第1篇 入门篇

第1章 虚拟仪器概述

1.1 虚拟仪器的概念及结构

虚拟仪器是美国国家仪器公司(National Instruments Corp,NI)于1986年推出的概念,是现代计算机技术和仪器技术深层次结合的产物,是计算机辅助测试(Computer Assistant Test)领域的一项重要技术。虚拟仪器的出现是测量仪器领域的一个突破,它彻底改变了传统的仪器观,从根本上更新了测量仪器的概念,带给了人们一个全新的仪器观念。虚拟仪器(Virtual instrumentation)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓的智能化仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器的功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机,以通用的计算机硬件及操作系统为依托,实现各种仪器功能,虚拟仪器主要是指这种方式。图1-1所示为常见的虚拟仪器构成方案。

图1-1 虚拟仪器构成方案

虚拟仪器利用硬件系统完成信号的采集、测量与调理,利用计算机强大的软件功能实现信号数据的运算、分析和处理,利用计算机的显示器模拟传统仪器的控制面板,以多种形式输出检测结果,从而完成所需的各种测试功能。虚拟仪器中的“虚拟”有以下两个层面的含义。

(1)虚拟的控制面板

传统仪器通过设置在面板上的各种“控件”来完成一些操作和功能,如通过各种开关、按键、滑动调节件、显示器等实现仪器电源的“通”“断”,被测信号的“输入通道”“放大倍数”“滤波特性”等参数设置,测量结果的“数值显示”“波形显示”等。

传统仪器面板上的“控件”都是实物,而且是用手动和触摸两种方式进行操作的,而虚拟仪器面板上的各种“控件”,它们的外形是与实物和传统仪器“控件”相像的图标,实际功能通过相应的软件程序来实现。

(2)虚拟的测量测试与分析

传统的仪器是通过设计具体的模拟或数字电路实现仪器的测量测试及分析功能。而虚拟仪器是利用软件程序实现这些功能的。

可见,虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通信及图形用户界面的软件组成的测控系统,是一种由计算机操纵的模块化仪器系统。

虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。

虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。个人计算机(PC)出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。

利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh等操作系统的多种版本。

1.1.1 虚拟仪器的特点和优势

虚拟仪器技术利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足用户对同步和定时应用的需求。

与传统仪器相比,虚拟仪器具有以下4个特点。

(1)性能高

虚拟仪器技术是在PC技术的基础上发展起来的,因此完全“继承”了以现成即用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件I/O,使用户在数据高速导入磁盘的同时就能实时地进行复杂的分析。此外,不断发展的因特网和越来越快的计算机网络使得虚拟仪器技术展现出更强大的优势。

(2)扩展性强

目前日益发展的软硬件工具使得工程师和科学家们不再局限于当前的技术中。得益于虚拟仪器应用软件的灵活性,只需要更新计算机或测量硬件,就能以最少的硬件投资和极少的甚至无须软件上的升级即可改进整个系统。利用最新的科技,可以把它们集成到现有的测量设备中,最终以较少的成本加速产品上市。

(3)开发时间少

在驱动和应用两个层面上,目前高效的软件构架能与计算机、仪器仪表和通信方面的最新技术结合在一起。设计这一软件构架是为了方便用户的操作,同时还提供了灵活性和强大的功能,使得用户能轻松地配置、创建、分布、维护和修改高性能、低成本的测量和控制解决方案。

(4)无缝集成

虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连接和集成这些不同设备总是要耗费大量的时间。虚拟仪器软件平台为所有的I/O设备提供了标准的接口,帮助用户轻松地将多个测量设备集成到单个系统,减少了任务的复杂性。

1.1.2 虚拟仪器的结构

虚拟仪器可以由多种接口(如GPIB、VXI、PXI等)或具有这些接口的仪器,来连接构成被测控对象和计算机。虚拟仪器的结构如图1-2所示。

图1-2 虚拟仪器的结构

虚拟仪器系统包括仪器硬件和应用软件两大部分。仪器硬件是计算机的外围电路,与计算机一起构成了虚拟仪器系统的硬件环境,是应用软件的基础;应用软件则是虚拟仪器的核心,在基本硬件确定后,软件通过不同功能模块即软件模块的组合构成多种仪器,赋予系统特有的功能,以实现不同的测量功能。

1.1.3 虚拟仪器的硬件

随着测试测量应用的日益复杂,目前市场上提供的模块化硬件产品也非常丰富,比如,总线类型支持PCI、PXI、PCMCIA、USB和1394总线等,产品种类从数据采集、信号调理、声音和振动测量、视觉、运动、仪器控制、分布式I/O到CAN接口等工业通信等领域。

按照硬件接口的不同,虚拟仪器可分为基于PC总线、GPIB总线、VXI总线和PXI总线共4种标准体系结构。

(1)基于PC总线的虚拟仪器

由于个人计算机的用户量大、通用性强,基于PC总线的虚拟仪器成为人们的首选。这种硬件一般采用基于PC总线的通用DAQ(Data Acquisition,数据采集卡),主要的PC总线有ISA、PCI、PC/104等。这类虚拟仪器充分利用了计算机的资源,大大增加了测试系统的灵活性和扩展性。利用通用型DAQ可方便快捷地组建基于计算机的仪器,易于实现一机多型和一机多用。随着A/D转换技术、精密放大技术、滤波技术与数字信号调理技术等的迅速发展,DAQ的采样速率已达到2Gbit/s,精度高达24位,通道数高达64个,并能任意组合数字I/O、模拟I/O、计数器/定时器等通道,大大扩展了仪器的功能。

(2)基于GPIB通用接口总线的虚拟仪器

已有的专业仪器多数配有GPIB(General Purpose Interface Bus,通用接口总线),所以利用此类仪器构建基于计算机的虚拟仪器一般通过GPIB实现。基于GPIB的虚拟仪器充分利用了现有条件来实现测量、检测等功能。但其数据传输速度一般低于500kbit/s,不适合对系统速度要求较高的应用。

(3)基于VXI总线的虚拟仪器

VXI系统最多可包含256个装置,主要由主机箱、控制器、具有多种功能的模块仪器和驱动软件、系统应用软件等组成,具有即插即用的特性,所以系统中各功能模块可随意更换构成新系统。基于VXI总线的虚拟仪器具有模块化、系列化、通用化以及VXI仪器的互换性和互操作性等特征,VXI的价格相对较高,适用于尖端的测试领域。

(4)基于PXI总线的虚拟仪器

PXI(PCI Extension for Instrumentation,面向仪器系统的PCI扩展)总线整合了台式计算机的高速PCI总线的优势,借鉴了VXI总线中先进的仪器技术,如同步触发、板间总线、星形触发总线、板载时钟等特性,兼容Compact PCI机械规范,并增加了主动冷却、环境测试(温度、湿度、振动和冲击试验)等要求。

1.1.4 虚拟仪器的软件

虚拟仪器软件框架从底层到顶层,由VISA(Virtual Instrumentation Software Architecture,虚拟仪器软件结构)库、仪器驱动程序、应用软件三部分组成。

(1)VISA库

所谓VISA库,即虚拟仪器软件结构库,实质上就是标准I/O函数库及相关规范的总称,一般将该I/O函数库称为VISA库。VISA库驻留于计算机系统中,执行仪器总线的特殊功能,起着连接计算机与仪器的作用,以实现对仪器的程序控制。

(2)仪器驱动程序

所谓仪器驱动程序是指能实现某一仪器系统控制与通信的软件程序集,是应用程序实现仪器控制的桥梁。仪器的驱动程序由仪器生产商以源码形式提供给用户使用,每个仪器模块都有自己的仪器驱动程序。

常用的虚拟仪器设计软件集成了大量常用仪器的驱动程序,以方便编程者使用。经常使用的测试仪器有几十大类、上万种型号,各种仪器的驱动程序都不相同,为使同类功能的仪器可以互换而不修改测试软件,即实现仪器的可互换性,世界各大仪器公司都为在仪器驱动程序研究和制定统一的标准和规范。

(3)应用软件

应用软件是直接面向操作用户的程序,该软件建立在仪器驱动程序之上,通过提供的测控操作界面、丰富的数据分析与处理功能等完成自动测试任务。尤其是应用软件的通用数字处理软件,集中体现了虚拟仪器的优点。