随着微电子技术、计算机技术、软件技术、网络技术的高度发展及其在电子测量技术与仪器上的应用,新的测试理论、新的测试方法、新的测试领域以及新的仪器结构不断出现,在许多方面已经突破传统仪器的概念,电子测量仪器的功能和作用已经发生了质的变化。在这种背景下,美国国家仪器公司(National Instruments Corporation,简称NI)在20世纪80年代*早提出虚拟仪器(Virtual Instrument,简称VI)的概念。虚拟仪器这种计算机操纵的模块化仪器系统在世界范围内得到了广泛的认同和应用,国内近几年的应用需求急剧高涨。因此,虚拟仪器的产生是测控领域的一次**。 一、什么是虚拟仪器 所谓虚拟仪器,就是在以通用计算机为核心的硬件平台上,由用户设计定义、具有虚拟前面板、测试功能由测试软件实现的一种计算机仪器系统。其基本思想就是在测试系统或仪器设计中尽可能地用软件代替硬件,即“软件就是仪器”。简而言之VI系统是由计算机、应用软件和仪器硬件组成的。用户可以通过友好的图形界面(这里称作虚拟前面板)操作计算机,如同操作功能相同的单台传统仪器一样。 与传统非数字化仪器相比,虚拟仪器技术的优势在于用户自定义仪器功能、结构等,且构建容易,转换灵活以及其开放性。 虚拟仪器的基本构成包括计算机、虚拟仪器软件、硬件接口模块等。其中,硬件接口模块可以包括插入式数据采集卡(DAQ)、串/并口、IEEE488接口(GPIB)卡、VXI控制器以及其它接口卡。目前较为常用的虚拟仪器系统是数据采集卡系统、GPIB仪器控制系统、VXI仪器系统以及这三者之间的任意组合。在这里,硬件仅仅是为了解决信号的输入输出,软件才是整个系统的关键。 二、虚拟仪器的硬件构成 虚拟仪器的硬件构成有多种方案,通常采用以下几种: ·基于数据采集的虚拟仪器系统 这种方式借助于插入计算机内的数据采集卡与专用的软件如LabVIEW(或LabWindowsCVI)相结合,通过AD变换将模拟、数字信号采集到计算机进行分析、处理、显示等,并可通过DA转换实现反馈控制。根据需要还可加入信号调理和实时DSP等硬件模块。 ·基于通用接口总线GPIB接口的仪器系统 GPIB(General Purpose Interface Bus)仪器系统的构成是迈向虚拟仪器的**步,即利用GPIB接口卡将若干GPIB仪器连接起来,用计算机增强传统仪器的功能,组织大型柔性自动测试系统,技术易于升级,维护方便,仪器功能和面板自定义,开发和使用容易。它可高效灵活地完成各种不同规模的测试测量任务。利用GPIB技术,可由计算机实现对仪器的操作和控制,替代传统的人工操作方式,排除人为因素造成的测试测量误差。同时,由于可预先编制好测试程序,实现自动测试,提高了测试效率。 ·利用VXI总线仪器实现虚拟仪器系统 VXI(VMEbus ExtensionforInstrumentation)总线为虚拟仪器系统提供了一个更为广阔的发展空间。VXI总线是一种高速计算机总线——VME(VersaModule Eurocard)总线在仪器领域的扩展。由于其标准开放、传输速率高、数据吞吐能力强、定时和同步**、模块化设计、结构紧凑、使用方便灵活,已越来越受到重视。它便于组织大规模、集成化系统,是仪器发展的一个方向。 ·基于串行口或其它工业标准总线的系统 将某些串行口仪器和工业控制模块连接起来,组成实时监控系统。将带有RS-232总线接口的仪器作为IO接口设备通过RS-232串口总线与PC计算机组成虚拟仪器系统,目前仍然是虚拟仪器的构成方式之一。当今,PC计算机已更多地采用了USB总线和IEEE1394总线。 三、虚拟仪器的软件体系构成 构成一个虚拟仪器系统,基本硬件确定以后,就可通过不同的软件实现不同的功能。软件是虚拟仪器系统的关键。没有一个优良的控制分析软件,很难构成一台理想的虚拟仪器系统。根据VPP(VXIPlug&Play)系统规范的定义,虚拟仪器系统的软件结构应包含3部分: ·IO接口软件 IO接口软件存在于仪器(即IO接口设备)与仪器驱动程序之间,是一个完成对仪器寄存器单元进行直接存取数据操作,并为仪器与仪器驱动程序提供信息传递的底层软件,是实现开放的、统一的虚拟仪器系统的基础与核心。在VPP系统规范中,详细规范了虚拟仪器的IO接口软件的特点、组成、内部结构与实现规范,并将符合VPP规范的虚拟仪器IO接口软件定义为VISA软件。 ·仪器驱动程序 每个仪器模块均有自己的仪器驱动程序。仪器驱动程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集。对于应用程序来说,它对仪器的操作是通过仪器驱动程序来实现的;仪器驱动程序对于仪器的操作与管理,又是通过IO软件所提供的统一基础与格式的函数库(VISA)的调用来实现的。对于应用程序设计人员来说,一旦有了仪器驱动程序,在不是十分了解仪器内部操作过程的情况下,也可以进行虚拟仪器系统的设计工作。虚拟仪器驱动程序是连接上层应用程序与底层IO接口软件的纽带和桥梁。 ·应用软件开发环境 应用软件开发环境的选择,可因开发人员的喜好不同而不同,但*终都必须提供给用户一个界面友好、功能强大的应用程序。 四、虚拟仪器的关键技术 虚拟仪器的发展领域非常广阔,开发虚拟仪器既要拥有计算机技术,又要拥有信息处理技术。总线技术是VI的一个关键问题,VI需要利用计算机的扩展槽、PCI插槽或ISA插槽,所以开发VI的仪器硬件,首先要确定应采用哪一种总线标准,PCI总线是一种*新的计算机总线规范,它兼容性强,功能全,传输率高,工作时钟频率33MHz,结构与处理器独立,适合于未来的计算机。1997年9月,美国NI公司发布了一项PXI总线标准,PXI(PCI Extention For Instrument)是PCI在仪器领域的扩展。开发VI可以考虑采用PXI标准,因为数据处理工作量大,VI的仪器硬件部分要尽量做得功能强大,否则,采用软件会影响仪器处理速度。目前,虚拟仪器已具备时域分析和频率域分析的功能,速度都非常快。 图形化的编程环境是VI技术的又一关键因素。1986年,NI公司推出了LabVIEW软件包,它简单直观、效率高、速度快、具有优化的图形编译机制,独特快捷的查错、调试方法,极大地提高了运行速度,采用LabVIEW可以数倍地提高系统开发速度。近年来基于Windows95和WindowsNT的开发平台成为后起之秀,可以使用Visual C++、Visual Basic、BorlandC++等功能强大的编程软件编写专用应用软件。 五、虚拟仪器的整体设计 在科学研究与工程实验室里,有各种各样的仪器与设备。如何提高它们的综合使用效率?如何对它们进行更有效的管理?是仪器用户值得考虑的问题。目前,*有效的方法是采用“虚拟仪器”技术。即充分利用计算机强大的管理与处理能力,以此为基础,将实验室相关设备搭配起来,构成一种全新的实验环境。实验室中的仪器与设备一般都是具有特定功能的单台设备。如果它们具有某种总线接口,就有可能进行虚拟仪器的构造。步骤如下: ·确定所用仪器或设备的接口形式 如果仪器设备具有RS-232串行总线接口,则不用进行处理,直接用连线将仪器设备与计算机的RS-232串行接口连接即可;如果是GPIB或HP-IB接口,则需要额外配备一块GPIB-488接口板,将接口板插入计算机的ISA插槽,建立起计算机与仪器设备之间的通讯渠道;如果使用计算机来控制VXI总线设备,也需要配备一块GPIB接口卡,通过GPIB总线与VXI主机箱零槽模块通信,零槽模块的GPIB-VXI翻译器将GPIB的命令翻译成VXI命令并把各模块返回的数据以一定的格式传回主控计算机。由于计算机的RS-232串行接口有限,若仪器设备比较多,必要时必须扩展计算机的RS-232接口。 ·确定所选择的接口卡是否具有设备驱动程序 接口卡的设备驱动程序是控制各种硬件接口的驱动程序,是连接主控计算机与仪器设备的纽带;如果有设备驱动程序,它适合于何种操作系统?如果没有,或者所带的设备驱动程序不符合用户所用的操作系统,用户就有必要针对所用接口卡,编写设备驱动程序。 ·确定应用管理程序的编程语言 如果用户有专业的图形化编程软件,如LabVIEW、HPVEE,那么就可以采用专业的图形化编程软件进行编程。如果没有此类软件,则可以采用通用编程语言,如Visual C++、Visual Basic或者Delphi。由于它们易于使用、功能强大而倍受测控人员的青睐。 六、结束语 虚拟仪器技术使现代测控系统更灵活、更紧凑、更经济、功能更强。而图形编程方式使系统软件开发更省时、更省力、更容易。无论是测量、测试、计量,或是工业过程控制和分析处理,还是其它更为广泛的测控领域,虚拟仪器都是理想的高效率的解决方案。随着计算机技术的不断发展,虚拟仪器技术也会在各领域中发挥其重要作用,并表现出强大的生命力,它必然会对科技发展和工业生产产生不可估量的影响。