虚拟仪器是在计算机基础上通过增加相关硬件和软件构建而成的、具有可视化界面的仪器。
虚拟仪器彻底打破了传统仪器只能由生产厂家定义,用户无法改变的局面,从而使得任何一个用户都可以方便灵活地用鼠标或按键在计算机显示屏幕上操作虚拟仪器软面板的各种“旋钮”进行测试工作,并可以根据不同的测试要求通过窗口切换不同的虚拟仪器,或通过修改软件来改变、增减虚拟仪器系统的功能与规模。虚拟仪器具有的这种可开发性和可扩展性等优越特点使虚拟仪器具有强大的生命力和竞争力。
虚拟仪器技术由三大部分组成
一、高效的软件。软件是虚拟仪器技术中最重要的部分。使用正确的软件工具并通过设计或调用特定的程序模块,工程师们可以高效地创建自己的应用以及友好的人机交互界面。NI公司提供的行业标准图形化编程软件---LabVIEW,不仅能轻松方便地完成与各种软硬件的连接,更能提供强大的后续数据处理能力,设置数据处理、转换、存储的方式,并将结果显示给用户。此外,NI提供了更多交互式的测量工具和更高层的系统管理软件工具,满足客户对高性能应用的需求。
二、模块化的I/O硬件。面对如今日益复杂的测试测量应用,NI提供了全方位的软硬件的解决方案。无论用户是使用PCI、PXI、PCMCIA、USB或者是1394总线,NI都能提供相应的模块化的硬件产品,产品种类从数据采集、信号处理、声音和振动测量、视觉、运动、仪器控制、分布式I/O到CAN接口等工业通信,应有尽有。NI高性能的硬件产品结合灵活的开发软件,可以为负责测试和设计工作的工程师们创建完全自定义的测量系统,满足各种独特的应用要求。目前,NI已经达到了每两个工作日推出一款硬件产品的速度,大大拓宽了用户的选择面。
三、用于集成的软硬件平台。NI首先提出的专为测试任务设计的PXI硬件平台,已经成为当今测试、测量和自动化应用的标准平台,它的开放式构架、灵活性和PC技术的成本优势,为测量和自动化行业带来了一场翻天覆地的变革。由NI发起的PXI系统联盟现已吸引了68家厂商,联盟属下的产品数量也已激增至近千种。
1 硬件技术
1.1卡式仪器
传统仪器主要由控制面板和内部处理电路组成;而卡式仪器自身不带仪器面板,它必须借助计算机强大的图形环境,建立图形化的虚拟面板,完成对仪器的控制、数据分析和显示。以数据采集卡为例,它通常具有A/D转换、D/A转换、数字I/O和计数器/定时器等功能,有些还具有数字滤波和数字信号处理的功能。现在的多功能数据采集卡多采用了“虚拟硬件(VirtualHardware,简称VH)的技术,它的思想源于可编程器件,使用户通过程序能够方便地改变硬件的功能或性能参数,从而依靠硬件设备的柔性来增强其适用性和灵活性。目前市面上的VH,其采样率和精度都是可变的。
由于卡式仪器与计算机结合紧密,能够充分利用已有的计算机资源,较之传统仪器成本更低廉、使用更灵活、性能更强,因此它是一种极具潜力的仪器种类。
1.2总线技术
1.2.1仪器总线
GPIB总线(即IEEE?488总线)是一种数字式并行总线,主要用于连接测试仪器和计算机。
该总线最多可以连接15个设备(包括作为主控器的主机)。如果采用高速HS488交互握手协议,传输速率可高到8MBps。
VXI总线(即IEEE?1155总线)是一种高速计算机总线—VME总线在仪器领域的扩展。它是在1987年,由五家测试和仪器公司(Hewlett-Packard,Wavetek,Tektronix,ColoradoDataSystems,Racal-DanaInstruments)制订的仪器总线标准。VXI总线具有标准开放、结构紧凑、数据吞吐能力强,最高可达40MBps,定时和同步精确、模块可重复利用、众多仪器厂家支持的特点,因此得到了广泛的应用。不过,由于价格较高,推广应用受到一定限制,主要集中在航空、航天等国防军工领域。
PXI总线是以CompactPCI为基础的,由具有开放性的PCI总线扩展而来(NI公司于1997年提出)。PXI总线符合工业标准,在机械、电气和软件特性方面充分发挥了PCI总线的全部优点。PXI构造类似于VXI结构,但它的设备成本更低、运行速度更快,体积更紧凑。目前基于PCI总线的软硬件均可应用于PXI系统中,从而使PXI系统具有良好的兼容性。PXI还有高度的可扩展性,它有8个扩展槽,而台式PCI系统只有3~4个扩展槽。PXI系统通过使用PCI-PCI桥接器,可扩展到256个扩展槽。PXI总线的传输速率已经达到132Mbps(最高为500Mbps),是目前已经发布的最高传输速率。因此,基于PXI总线的仪器硬件将会得到越来越广泛的应用。
1.2.2计算机总线
ISA总线是一种8位或16位非同步数据总线,工作频率为8MHz,最高数据传输率在8位时为24MBps,16位时为48MBps。这种总线对于低速数据采样与处理来说是有效的,但对于基于高性能PC机的多任务操作系统和高速数据采集系统来说,ISA总线由于其带宽、位数等的限制,故不能满足系统工作的要求。新型主板和高版本操作系统已不再支持ISA总线。
PCI总线是一种同步的独立于CPU的32位或64位局部总线,时钟频率为33MHz,数据传输率高达132~264MBps,PCI总线技术的无限读写突发方式,可在一瞬间发送大量数据。PCI总线上的外围设备可与CPU并发工作,从而提高了整体性能。PCI总线还有自动配置功能,从而使所有与PCI兼容的设备实现真正的即插即用(plug&play)。PCI总线由于上述优点而得到了广泛应用,已成为PC工业的事实标准。
USB通用串行总线(Universalserialbus)和IEEE?1394总线(又叫Fireware总线)是被PC机广泛采用的两种总线,它们已被集成到计算机主板上。
USB总线能以雏菊链方式连接127个装置,需要一对信号线及电源线。USB2.0标准的数据传输率能达到480Mbps。该总线具有轻巧简便、价格便宜、连接方便快捷的特点,现在已被广泛用于宽带数字摄像机、扫描仪、打印机及存储设备。IEEE?1394总线是由苹果公司于1989年设计的高性能串口总线,目前传输速率为100、200、400Mbps,将来可达3.2Gbps。这种总线需要两对信号线和一对电源线,可以用任意方式连接63个装置,它是专为需要大数据量串行传送的数码相机、硬盘等设计的[1]。
USB及IEEE-1394总线均具有“即插即用”的能力,与并行总线相比,更适合于连接多外设的需要。
1.2.3工业现场总线
为了共享测试系统资源,越来越多的用户正在转向网络。工业现场总线是一个网络通讯标准,它使得不同厂家的产品通过通讯总线使用共同的协议进行通讯。现在,有很多现场总线标准,如ISA-SP50、ProfiBus、CAN、FieldBus和DeviceNet等,它们竞争非常激烈。通用现场总线的发展需要一段时间。
1.3虚拟仪器系统组建方案
虚拟仪器的突出成就是不仅可以利用PC机组建成为灵活的虚拟仪器,更重要的是它可以通过各种不同的接口总线,组建不同规模的自动测试系统。虚拟仪器系统按硬件构成方式,可有以下几种组建方案:
(1)GPIB仪器通过GPIB接口卡与计算机组成GPIB系统。
(2)VXI仪器与计算机组成VXI系统。
(3)PXI仪器组成PXI系统。
(4)以DAQ和信号调理部分为硬件组成PC-DAQ测试系统。
(5)并行总线仪器组成并行总线系统。
(6)串行总线仪器组成串行总线系统。
(7)现场总线设备组成现场总线系统。
一般来说,GPIB、VXI、PXI适合大型高精度集成测试系统;PC-DAQ、并行口式、串行口式(如USB式)系统适合普及型的廉价系统;现场总线系统主要用于大规模的网络测试。有时,可以根据不同需要组建不同规模的自动测试系统,也可以将上述几种方案结合起来组成混合测试系统。?
2软件技术
软件是虚拟仪器的关键,以下介绍虚拟仪器应用软件的开发平台、仪器驱动程序以及I/O接口软件。
2.1软件开发平台
虚拟仪器的开发环境主要有VisualC ,VisualBasic,以及HP公司的VEE和NI公司的LabVIEW、LabWindows/CVI等。VC、VB、LabWindows/CVI虽然是可视化的开发工具,但它们对开发人员的编程能力要求很高,而且开发周期较长。HP?VEE是一个基于图形的虚拟仪器编程环境,拥有较多的用户,缺点是其生成的应用程序是解释执行的,运行速度较慢。
LabVIEW是目前国际上唯一的基于数据流的编译型图形编程环境,它把复杂、烦琐、费时的语言编程简化成用简单或图标提示的方法选择功能(图形),并用线条把各种图形连接起来的简单图形编程方式,使得不熟悉编程的工程技术人员都可以按照测试要求和任务快速“画”出自己的程序,“画”出仪器面板,这大大提高了工作效率,减轻了科研和工程技术人员的工作量,因此,LabVIEW是一种优秀的虚拟仪器软件开发平台。
2.2仪器驱动程序
仪器驱动程序是测试系统中最重要的组成部分之一,用来实现仪器硬件的通信、控制功能。传统的仪器驱动程序由仪器硬件厂商随硬件提供,由于不同厂家仪器硬件的差异,使得在更换仪器硬件的同时不得不修改测试代码。为了能自由互换仪器硬件而无需修改测试程序,即解决仪器的互操作问题,VXIplug&play联盟开发了仪器驱动标准VISA。VISA用G语言(图形语言)或ANSIC语言写成,它可以用于多种虚拟仪器开发环境和多种操作系统。
1999年NI公司提出了可互换虚拟仪器标准IVI(InterchangeableVirtualInstruments),使程序的开发完全独立于硬件。IVI是建立在VXIplug&play驱动程序标准之上的,它解决了仪器的互操作问题。IVI驱动器通过一个通用的类驱动器实现对仪器的控制。类驱动器是仪器的功能和属性集,通过这些功能和属性集实现对一种仪器类(示波器、数字电压表、函数发生器等)中的仪器进行控制。应用程序调用类驱动器,类驱动器再通过专用的驱动器与物理的仪器通信。专用的仪器驱动器(和对应的物理仪器)可以被改变,但应用程序代码保持不变[2]。采用IVI技术,可以降低软件的维护费用,减少系统停运时间,提高测试代码的可重用性,使仪器编程更简单。
2.3I/O接口软件
I/O接口软件是虚拟仪器系统软件的基础,用于处理计算机与仪器硬件间连接的低层通信协议。当今优秀的虚拟仪器测试软件都建立在一个标准化I/O接口软件组件的通用内核之上,为用户提供一个一致的、跨计算机平台的应用编程接口(API),使用户的测试系统能够选择不同的计算机平台和仪器硬件[3]。
3发展趋势
随着计算机技术、仪器技术和网络通信技术的不断完善,虚拟仪器将向以下三个方向发展:
(1)外挂式虚拟仪器
PC-DAQ式虚拟仪器是现在比较流行的虚拟仪器系统,但是,由于基于PCI总线的虚拟仪器在插入DAQ时都需要打开机箱等,比较麻烦,而且,主机上的PCI插槽有限,再加上测试信号直接进入计算机,各种现场的被测信号对计算机的安全造成很大的威胁,同时,计算机内部的强电磁干扰对被测信号也会造成很大的影响,故以USB接口方式的外挂式虚拟仪器系统将成为今后廉价型虚拟仪器测试系统的主流。
(2)PXI型高精度集成虚拟仪器测试系统?
PXI系统高度的可扩展性和良好的兼容性,以及比VXI系统更高的性价比,将使它成为未来大型高精度集成测试系统的主流虚拟仪器平台。
(3)网络化虚拟仪器
尽管Internet技术最初并没有考虑如何将嵌入式智能仪器设备连接在一起,不过NI等公司已开发了通过Web浏览器观测这些嵌入式仪器设备的产品,使人们可以通过Internet操作仪器设备。根据虚拟仪器的特性,我们能够方便地将虚拟仪器组成计算机网络。
利用网络技术将分散在不同地理位置不同功能的测试设备联系在一起,使昂贵的硬件设备、软件在网络上得以共享,减少了设备重复投资。现在,有关MCN(MeasurementandControlNetworks)方面的标准正在积极进行,并取得了一定进展。由此可见,网络化虚拟仪器将具有广泛的应用前景。?
4虚拟仪器技术凸显四大优势
虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少以及出色的集成这四大优势。
4.1性能高
虚拟仪器技术是在PC技术的基础上发展起来的,所以完全继承了以现成即用的PC技术为主导的最新商业技术的优点,包括功能卓越的处理器和文件I/O,使用户在数据高速导入磁盘的同时,就能实时进行复杂的分析。此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现其更强大的优势。
4.2扩展性强
得益于NI软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件投资和极少的、甚至无需软件上的升级即可改进用户的整个系统。在利用最新科技的时候,用户还可以把它们集成到现有的测量设备,最终以较少的成本加快产品上市时间。
4.3开发时间少
在驱动和应用两个层面上,NI高效的软件构架能与计算机、仪器仪表和通信方面的最新技术结合在一起。NI设计这一软件架构的初衷就是为了方便用户的操作,同时还提供了灵活性和强大的功能,使用户轻松地配置、创建、发布、维护和修改高性能、低成本的测量和控制解决方案。
4.4集成
虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连接和集成这些不同设备总是要耗费大量的时间。NI的虚拟仪器软件平台为所有的I/O设备提供了标准的接口,帮助用户轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。