1 引言
从1986年NI公司提出VI概念到现在,经过十几年的发展,不仅VI技术本身的内涵不断丰富,外延不断扩展,在军事和民用领域均得到了广泛的应用,而且对现代测控技术产生了深远的影响。例如,VI原来最核心的思想是利用计算机的强大资源使本来需要硬件实现的技术软件化,以便最大限度地降低系统成本,增强系统功能与灵活性。由IT产业特征决定了VI技术也必须走标准化、开放性这条技术路线,目前VI已发展成具有GPIB、PC-DAQ、VXI和PXI四种标准体系结构的开放技术。1998年NI又发布了虚拟硬件(Virtual Hardware)和可互换虚拟仪器(Interchangeable Virtual Instruments)的概念,按照VH概念设计的产品已经面市,如(NI5911、NI5912),而IVI基金会已于1998年8月在美国正式成立,并发布了相应的IVI技术规范。基于IVI技术开发的应用程序完全独立于硬件,提高了程序代码的复用性,大大降低了应用系统的维护费用,必将成为测控技术的主要基础技术之一。
就VI的外延而言,由于VI技术本身以计算机为平台,具有方便、灵活的互联能力(conne ctivity),因而广泛支持诸如CAN、DeviceNet、FieldBus、PROFIBUS等各种工业总线标准,并有大量适于工业现场应用的分布式I/O(Distributed I/O)产品面市。尽管Internet技术最初并没有考虑如何将嵌入式智能设备连接在一起,不过NI等公司已开发了通过Web浏览器观测这些嵌入式设备的产品,使人们可以通过Internet操作仪器设备,进而形成遍布家庭、办公室和工业现场的分布式测控网络。而且有关MCN(Measurement and Control Networks)方面的标准正在积极进行,并取得了一定进展。随着测量、控制过程的进一步网络化,一个真正虚拟化的测控时代即将到来。
2 虚拟硬件
虚拟硬件(VH)的思想源于可编程器件,使用户通过程序能够方便地改变硬件的功能或性能参数,从而依靠硬件设备的柔性(Flexibility)来增强其适用性和灵活性。例如,NI5911/ 5912就是按这种思想设计的高速(100MS/s)、高精度(8~21-bit)、柔性数采设备,其采样率和精度都是可变的。由于一般的ADC都是用户可变采样率的,下边主要介绍NI5911/5912中采用的柔性精度技术(flexible resolution technology)。
所谓柔性精度技术由一个专门的数字滤波器、高速ADC、DAC和用于抽取与线性化的DSP 组成(如图1所示)。对4~100MHz带宽的信号,该系统可以使用常规方式按8-bit精度工作于100MS/s的实时采样速率;当被测信号的带宽在4MHz以下时,使用柔性精度方式,可以使有效垂直精度达到21-bit。在柔性精度模式下,采样信号中的宽带量化噪声由噪声形成电路滤除,然后数据送入DSP进行线性化处理,并由DSP中的抗混叠滤波器进一步滤除高频噪声,最后用抽取技术按较低速率重构波形,使有效垂直精度达到8~21bit。需要指出的是,所有信号处理是在100MHz的数据流上实时完成的,这样可以保证采集与处理过程中不会丢失数据。
图1 NI 5911/5912方框图
3 图形化与零编程开发环境
VI系统的快速组建和测试流程的在线更新正在世界范围内形成潮流。仪器总线的标准化和系列化为快速组建ATE系统创造了良好的硬件条件,而问题的另一个方面是如何实现测试软件的快速在线编程,以适应千变万化的测试要求。图形化与零编程开发环境正是为满足这一需求应运而生的。
3.1 图形化开发环境的体系结构
图形化开发环境亦称为G开发环境或G语言(Graphical Language),日益为越来越多的测试工程师所熟悉并使用。下面以NI公司的LabVIEW为例,介绍图形化开发环境的体系结构。
如图2所示,一个完整的G开发环境(Full Development System)包括基本模块(BasePack age)和扩展模块(Extention Package)两部分。引擎部分是整个图形化开发环境的核心,它包括编辑模块、运行模块和调试模块。
图2 图形化开发环境的体系结构
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)提高编程效率和程序运行速度。
5 虚拟仪器对军用测试技术的影响
在冷战时期,最先进的ATE技术首先服务于军事目的,随后经过商业化发展逐渐转为民用。冷战结束后,经济和科技都发生了重大变革,美国国防部的战略也随之发生了变化-- 既要确保武器装备的卓越性能,又要考虑经济承受能力,即"少花钱多办事"。例如,为了实现一台(套)设备能同时完成Forward、Intermediate和Depot三级维护测试任务的目标,美国国防部要求三军广泛采用现成的商用和通用软、硬件产品,以期实现军用自动测试系统的标准化和通用化。由此可见军民两用测试技术的发展经历了一个完整的周期--首先应用于军事的技术(如VXI),经过商业开发进一步降低成本,变成先进的民用技术,最后又卖给部队使用。
世界军用ATE的发展趋势研究表明,设计验证,生产检测和诊断维修一体化、标准化将成为军用ATE的基本要求,而建立在VXI、PXI总线标准上的ATE将是今后发展的基本方向。同时,军用ATE系统的寿命一般要求为20~30年,在很多时候,仪器硬件不是过时就是需要更新。因此,还需要一种无需改动程序代码就可用新的仪器硬件改进系统的方法-IVI。军用测试软件工具和标准化需要巨额投资,但随着技术的更新,这些软件和标准的维护费用昂贵且非常难以升级。IVI为军用软件测试规范(如ATLAS)和商用技术工具之间建立一种桥梁机制奠定了基础。