虚拟仪器系统及其开发程序LabVIEW介绍
引言
虚拟仪器是将仪器装入计算机,通过计算机的开发软件来实现仪器的功能的一种仪器测试测量系统。目前开发虚拟仪器的软件程序为LabVIEW,用户只需通过软件技术和相应数值算法,就能实时、直接地对测试数据进行各种分析与处理,透明地操作仪器硬件,方便地构建出模块化仪器。从目前虚拟仪器的发展方向和广泛应用来看,不久的将来,虚拟仪器将广泛应用在气象观测和气象科普中,因此有必要对该系统作一番介绍。
一、电子测量仪器的发展
电子测量仪器发展至今,大体可分为四代:模拟仪器、数字化仪器、智能仪器和虚拟仪器.第一代模拟仪器,如指针式万用表、晶体管电压表等。第二代数字化仪器,这类仪器目前相当普及,如数字电压表、数字频率计等。这类仪器将模拟信号的测量转化为数字信号测量,并以数字方式输出最终结果,适用于快速响应和较高准确度的测量。第三代智能仪器,这类仪器内置微处理器,既能进行自动测试又具有一定的数据处理能力,可取代部分脑力劳动,习惯上称为
智能仪器。它的功能块全部都是以硬件(或固化的软件)的形式存在,相对虚拟仪器而言,无论是开发还是应用,都缺乏灵活性。第四代虚拟仪器,它是现代计算机技术、通信技术和测量技术相结合的产物,是传统仪器观念的一次巨大变革,是将来仪器产业发展一个重要方向。
二、虚拟仪器概述及其特点
虚拟仪器(virtual instrumention)是基于计算机的仪器,是美国国家仪器公司(National Instruments Corp. 简称NI)于1986年提出的。计算机和仪器的密切结合是
目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪 器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式,它是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通讯及图形用户界面的软件组成的测控系统。虚拟仪器技术的出现彻底打破了传统仪器由厂家定义,用户无法改变的模式,给用户一个充分发挥自己才能、想象力的空间。用户可以根据自己的要求,设计自己的仪器系统,满足多样的应用需求。
与传统仪器相比,虚拟仪器有以下优点:
(1)突破了传统仪器在数据处理、显示、存储等方面的限制,大大增强了传统仪器的功能。高性能处理器高分辨率显示器、大容量硬盘等已成为虚拟仪器的 标准配置.
(2)利用了计算机丰富的软件资源,实现了部分仪器硬件的软件化,节省了物质资源,增加了系统灵活性;通过软件技术和相应数值算法,实时、直接地对测试数据进行各种分析与处理:通过图形用户界面(GUI)技术,真正做到界面友好、人机交互。
(3)基于计算机总线和模块化仪器总线,仪器硬件实现了模块化、系列化,大大缩小系统尺寸,可方便地构建模块化仪器(1nstrument on a Card)。
(4)基于计算机网络技术和接口技术,VI系统具有方便、灵活的互联(connectivity),广泛支持如FieldBus等各种工业总线标准.因此,利用VI技术可方便地构建自动测试系统(ATS,Automatic Test System),实现测量、控制过程的网络化.
(5)基于计算机的开放式标准体系结构。虚拟仪器的硬、软件都具有开放性模块化、可重复使用及互换性等特点.因此,用户可根据自己的需要,选用不同厂家的产品,使仪器系统的
开发更为灵活、效率更高,缩短了系统组建时间.
三、虚拟仪器的硬件系统
虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件.按照测控功能硬件的不同,VI可分为GPIB、VXI、PX工和DAQ四种标准体系结构:
(1)GPIB(General Purpose Interface Bus)通用接口总线,是计算机和仪器间的标准通讯协议。GPIB的硬件规格和软件协议已纳入国际工业标准棗工EEE 488.1和工EEE488。2.它是最早的仪器总线。典型的GPIB测试系统包括一台计算机、一块GPIB接口卡和若干台GPIB仪器。
(2)VXI(VMEbus extension for Instrumentation)即VME总线在仪器领域的扩展,是1987年山主要仪器制造商共同制订的开放性仪器总线标准。VXI体系结构综合了GPIB和VEM总线的优点,它集成的系统硬件集成度高、数据传输率快、便携性好,是当今倍受业界关注的体系结构.
(3)PXI(PCI extension for Instrumentation)PCI在仪器领域的扩展,是NI公司于1997年发
布的一种新的开放性、模块化仪器总线规范。其核心是Compact PCI 结构Microsoft Windows软件。PXI 是在PCI内核技术上增加了成熟的技术规范和要求形成的。由于其总线吞吐率高、硬件的价格较低被业内人士认为是符合国情的一种体系结构.
(4)DAQ(Dara AcQuisition)数据采集,指的是基于计算机标准总线(如ISA、PCI、PC/104等)的内置功能插卡。它更加充分地利用计算机的资源,大大增加了测试系统的灵活性和扩展性。利用DAQ可方便快速地组建基于计算机的仪器(Computer—BasedInstruments),实现“一机多型"和“一机多用”。在PC计算机上挂接若干DAQ功能模块,配合相应的软件,就可以构成一台具有若干功能的PC仪器。
虚拟仪器中各种标准仪器的互连及与计算机的连接目前多使用IEEE 488或GPIB协议。未来的仪器也应当是网络化的。
四、虚拟仪器的软件系统
公司介绍源码虚拟仪器技术最核心的思想,就是利用计算机的硬、软件资源,使本来需要硬件实现的技术软件化(虚拟化)。基于软件在VI系统中的重要作用,NI提出了“软件就是仪器(The software iS the inStrument)"的口号。
虚拟仪器的软件框架从低层到顶层,包括三部分:VISA库、仪器驱动程序、应用软件.VISA(Virtual 1nstrumentation software Architecture)虚拟仪器软件体系结构,实质就是标准的I/O函数库及其相关规范的总称。一般称这个I/0函数库为VISA库。它驻留于计算机系统之中执行仪器总线的特殊功能,是计算机与仪器之间的软件层连接,以实现对仪器的程控。它对于仪器驱动程序开发者来说是一个个可调用的操作函数集。仪器驱动程序是完成对某一特定仪器控制与通信的软件程序集。它是应用程序实现仪器控制的桥梁。每个仪器模块都有自己的仪器驱动程序,仪器厂商以源码的形式提供给用户。应用软件建立在仪器驱动程序之上,直接面对操作用户,通过提供直观友好的测控操作界面、丰富的数据分析与处理功能,来完成自动测试任务。
虚拟仪器应用软件的编写,大致可分为两种方式:
用通用编程软件进行编写。主要有Microsoft公司的Visual Basic与VisualC++、Borland公司的Delphi、Sybase公司的PowerBuilder。
用专业图形化编程软件进行开发.如HP公司的VEE、 NI公司的LabVIEW和Lab windows/CVI等.图形化软件开发系统是用工程人员所熟悉的术语和图形化符号代替常规的文
本语言编程,界面友好,操作简便,可大大缩短系统开发周期,深受专业人员的青睐。
应用软件还包括通用数字处理软件。通用数字处理软件包括用于数字信号处理的各种功能函数,如频域分析的功率谱估计、FFT、逆FFT等:时域分析的相关分析、卷积运算、反卷运算、均方根估计、差分积分运算和排序等。以及数字滤波等等。这些功能函数为用户进一步扩展虚拟仪器的功能提供了基础。
五、LabVIEW的简介
LabVIEW(Laboratory Virtual Instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足GPIB、VXI、RS—232和RS—485协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、Acvex等软件标准的库函数。这是一个功能强大且灵活的软件.利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代
之的是流程图或流程图.它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的3 2位编译器.像许多重要的软件一样,LabVIEW 提供了Windows、UNIX、Linux、Macintosh 的多种版本。与其他常见的编程语言相比,它最大的特点就在于它是一种图形化编程语言(G语言).也就是说,我们在用LabVIEW编程时,面对的不是高度抽象的文本语言,而是图形化的方式。而文本语言和图形化语言也就相当于DOS系统和Windows系统.
六、LabVIEW的特点
  (l)直观、易学易用 
与Visual C++、Visual Basic等计算机编程语言相比,图形化编程工具LABVIEW有一个重要的不同点:不采用基于文本的语言产生代码行,而使用图形化编程语言G编写程序;产生的程序是框图的形式,用框图代替了传统的程序代码。 
(2)通用编程系统 
LABVIEW的功能并没有因图形化编程而受到限制,依然具有通用编程系统的特点。LABVIEW有一个可完成任何编程任务的庞大的函数库。该函数库包括数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。 
LABVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其通过程序的结果、单步执行等,便于程序的调试。LABVIEW的动态连续跟踪方式,可以连续、动态地观察程序中的数据及其变化情况,比其他语言的开发环境更方便、更有效. 
(3)模块化
LABVIEW中使用的基本节点和函数等就是一个个小的模块,可以直接使用;另外,由LABVIEW编写的程序—-即虚拟仪器模块(Virtrual INSTRUMENT,VI),除了作为独立程序运行外,还可作为另一个虚拟仪器模块的子模块(即子VI)供其他模块程序使用.
七、LabVIEW的应用领域 
测试测量:LABVIEW最初就是为测试测量而设计的,至今大多数主流的测试仪器、数据采集设备都拥有专门的LabVIEW驱动程序,使用LabVIEW可以十分方便地到各种适用于测试测
量领域的LabVIEW工具包。有时甚至于只需简单地调用几个工具包中的函数,就可以组成一个完整的测试测量应用程序。 
控制:LabVIEW拥有专门用于控制领域的模块——LabVIEW  DSC.除此之外,工业控制领域常用的设备、数据线等通常也有相应的LabVIEW驱动程序。使用LabVIEW可以非常方便地编调各种控制程序。 
仿真:LabVIEW包含了多种多样的数学运算函数,特别适合进行模拟、仿真、原型设计等工作.