您的位置:网站首页 > 机械制图 > 机械技巧

基于工控机的虚拟仪器软件设计方案

时间:2011-06-08 08:17:03 来源:未知
引 言

    系统以工控机为核心,辅以一定的外围简单电路,通过GPIB、USB以及串行通信口,把现有的测量仪器连接起来,并通过编程人员开发针对测量过程的控制软件。测量者只需要把仪器与设备正确地连接起来,向汁算机发出简单的操作指令就可以实现测量、数据分析、处理和记录的全过程。

    1、作为COM 组件的测量仪器

    在软件开发中,可以先将仪器设计成COM组件。仪器的功能在C()M组件设汁中要全部实现并给出相应的接口函数,在虚拟仪器软件中通过调用这些组件来实现对具体仪器的操作。这样,编程人员在开发虚拟仪器控制软件时可以把具体的仪器当成组件来对待,通过组件的各个函数来完成实际仪器的各个指令操作。这样做不但容易对硬件可能出现的问题进行排错,而且一旦硬件更新,开发人员只需要作针对C0M的升级维护即可。

    以某型频谱分析仪为例,设汁测量某信号在控压变化范围内的杂散值的过程:

    1) 首先调整频谱仪到对数坐标系,并根据该信号的变化范围设定频谱仪的中心频率及合适的带宽以保证频谱仪在控压变化范围内可以捕获信号.这样实现了测量杂散初始化的子过程;

    2) 在不同的控压点读取带宽内信号主瓣外的所有信号,以最大的旁瓣值作为杂散值。为了避免信号的白噪声影响杂散值的测量.采用同一控压点测量若干组信号用软件求平均的思路.平滑白噪声引起的信号起伏,取平滑后的杂散值作为测量结果,这样实现了测量当前信号杂散值的子过程。

图1 杂散值测量流程图

    该型频谱仪在连续测量若干组信号求平均的过程中,相邻两组数据测量之间有一个工控机与频谱仪通信的时间,这就削弱了信号的时间相关性,不利于平滑白噪声。为了提高测量的准确性,引入了可以作均值测量的频谱仪,工控机只需读取均值测量后主瓣外的所有信号最大值作为当前信号杂散值即可。按上述思路重新设计频谱仪COM组件,测量杂散值的过程还是按照上述的测量流程图,虚拟仪器软件调用更新后的组件,程序员甚至可以不用改虚拟仪器软件中的一句源代码。

    对同一信号改进前后软件测出的杂散值分别为-76.3dB和-78.2dB,而用标定设备测出的值为-78.51dB,改进后软件的测量值更加准确。

    2、采用Access数据库作实时测量存档

    在测量过程中,有时设备会因为突然断电、计算机病毒发作等一系列不可预期的故障导致测量过程意外中断,但此时用户测量可能还没有结束,也没有大提交测量报表,而在系统内存中的数据将会全部丢失,这对用户来说是非常不利的,所以必须对用户的所有测量结果做一个实时的数据库备份。

    对用户测量全过程进行监控的数据库采用全部内存变量存储的方式,包括用户的设定量、用户的测量结果、用户的操作步骤以及测量结果的自动评判,都在数据库中建立相应的字段。在用户进行虚拟仪器操作时。每新测量一个产品都会以用户填入的产品编号及测量时间新建一条测量记录,操作过程中实时地把用户的操作及结果同步提交到数据库中,只有当用户全部测量完毕并保存报表之后,该条记录才被删除,否则记录予以保留,留下来的某条记录即为某个非正常退出系统的实时测量存档,这就是系统实时测量存档的过程。当用户下一次打开虚拟仪器软件时,软件会自动加载该数据库,如果数据库存在数据记录,则在加载操作界面之后会提示用户有以前未完成的任务,让用户选择是继续未完成的任务还是删除某次不全的测试记录,如果选择继续则会给出未完成任务列表,让用户选择开始某一次未完成的任务,用户选择后会自动把数据库里对应的值恢复到虚拟仪器操作界面,恢复某一次意外状态前的结果,这样通过系统的问询及用户的选择,实现了加载测量存档的过程。当然,如果用户也可以选择删除某些不全但不想保留的测试记录,对存档数据库进行清理,同样也可以选择全新测量,开始新的操作。#p#分页标题#e#

    虚拟仪器软件的工作流程如图2所示。

图2 以数据库为核心的软件工作流程图

    3、系统性能评价

    采用本文的方案,使用VB.NET程序设计语言开发的虚拟仪器软件成功的应用在某产品的指标测量上。整套系统研发周期短、维护简单方便。而“实时测量存档”在软件内部异常保护的基础上又增加了一个抵御外部突发事件的能力,有效地保护了测量数据。每一个产品测量所需时间仅为原先人工用仪器测量的1/3~1/4(不包括后期的数据处理时间),极大地提高了生产效率。而整个系统的开发成本非常低,所有的测量仪器都是利用现有的设备,硬件的投入只是一台工控机和GPIB转接卡及一些电缆。