虚拟仪器发展趋势及其对军用测试技术的影响
LabVIEW开发环境分为前面板(front panel)和流程图(block diagram)两部分,前者是用于人机交互的程序图形用户接口(GUI),集成了旋钮、开关等用户输入(控制)对象;后者是程序的图形化源代码,它包括函数(functions)、结构(structures)、代表前面板上控制对象和显示对象的端子(terminals)以及连线等。编辑模块的功能就是用于进行前面板和流程图的编程工作,而图形化元素库则用于编辑、调试前面板和流程图上对象的工具(tools) 。前面板中使用的控制与显示对象和流程图使用的函数与功能模块(如算术运算、仪器I/O、文件I/O和数据采集等操作)、运行模块即程序的引擎。调试模块包括"加亮执行"、"设置断点"、"探针"和"单步执行"等调试工具,其中最具特色的是"加亮执行"和"探针"。"探针"(probe)用于在程序运行过程中在线显示变量值,而"加亮执行"(execution hi ghlighting)用于跟踪程序运行过程中的数据流。仪器接口模块包括VISA库、GPIB库、串口库、DAQ库和VXI库等。仪器驱动程序库中的程序是NI及其系统联盟成员或硬件厂商提供用于控制特定仪器的应用程序源代码,以简化应用工程师的程序开发过程。高级分析库用于增加程序的数据处理能力,包括信号产生、DSP、测量、数字滤波、加窗、曲线拟合、概率与统计、线性代数、矩阵运算和各种附加的数值方法等模块。
3.2 零编程开发环境的体系结构
G开发环境利用科学家和工程师所熟悉的术语、图标和概念,使用图形化的符号而不是文本式的指令代码来描述程序的行为,因此,为人们提供了实现仪器编程与数据采集系统的便捷途径。即使如此,在工业自动化领域,由于存在诸如OPC(OLR for Process Control),F oundation FieldBus等开放标准,而且应用工程师需要开发具有很多共性特征的人机接口( man-machine interface,MMI)或监控与数采(supervisory control and data acquisition, SCADA)程序,为缩短程序开发周期,提高程序质量,NI推出了既有G开发环境特点,又有零编程(no programming)特点的软件开发环境--Bridge VIEW。
图3 Bridge VIEW 的体系结构
如图3所示,Bridge VIEW是由MMI/SCADA、引擎(Engine)和设备服务器(Device Server) 三部分组成的客户-服务器体系结构。MMI/SCADA是用户开发的应用程序,包括GUI、监控程序、数据分析与可视化以及过程实时控制等。MMI/SCADA的开发既可以用前面介绍的G语言完成,也可用所谓的Tag标记完成。通过Tag标记配置您所需接入的I/O点、参数、历史数据记录和报警事件等Tag属性而无需编程即可完成程序设计。应用程序通过与引擎共享实时数据库交换数据。设备服务器实时收集Tag值和状态信息并将其传入引擎。需要指出的是,应用程序、引擎和设备服务器三者在BridgeVIEW中是分别运行的,因此可获得很高的运行速度。
4 可互换虚拟仪器
多少年来,若更换操作系统或仪器硬件就得重新修改测试程序。象前文所述的LabVIEW 和Lab Windows/CVI等跨平台开发环境虽然保证了改变操作系统无需修改测试程序,但如果更换硬件设备(如将HP的DMM换成Fluke 的DMM)则需要修改测试程序。这个问题是由于不同硬件厂商的设备驱动程序之间缺乏统一标准而引起的。IVI基金会的宗旨就是致力于制订新的仪器编程标准,使应用程序完全独立于硬件设备。
IVI规范的核心是IVI设备驱动程序库。该程序库将所有设备的驱动程序分成示波器、万用表、信号源、开关和电源五大类驱动程序(five class drivers),它规定了与每一类仪器通讯的标准编程接口。而每一类中的所有仪器不可能具有完全相同的功能或能力。因此规定一个唯一的标准接口保证所有同类中的仪器都能正常工作是不现实的。IVI规范将每类仪器驱动程序分为基本能力(fundamental capabilitices)和扩能属性(extensions)两部分。前者定义了同类仪器中95%以上的仪器设备所共有的能力与属性;后者则定义了每种仪器类的许多特殊的功能与属性。
标准的仪器类驱动程序是按"虚拟"方式工作的。例如,应用程序调用IviDmm-Configu re而不是直接调用FL 45-configure或者HP34401-Configure。这样,当系统中使用的是FL 4 5DMM时,程序在运行中会动态地自动装载到FL 45-Configure。如果以后将测试系统中的FL 45DMM换成了HP 34401 DMM,IviDMM驱动程序会自动定向到调用HP34401-Configure。按照这种"虚拟"方式(如图4所示)把同一类仪器中的不同仪器的特性差异"屏蔽"起来,保证应用程序完全独立于硬件设备,也就是保证了仪器设备的可互换性(interchangeab ility)。
图4 IVI类驱动程序保证在不修改程序的条件下更换系统中的仪器设备
IVI标准给用户带来的好处主要体现在以下四个方面:
1)降低应用程序的长期维护费用;
2)减少系统停机时间,保证生产不受影响;
3)提高应用程序的复用性(reusability);
4)提高编程效率和程序运行速度。