虚拟仪器概论<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
.
虚拟仪器是上世纪90年代初期出现的一种新型仪器,它将许多以前由硬件完成的信号处理工作,交由计算机软件进行处理,这种测试仪器的硬件功能软件化,给测试仪器带来了深刻的变化,因此虚拟仪器代表了当前测试仪器发展的方向之一。
虚拟仪器(Virtual Intrument,简称VI)是计算机技术与仪器技术深层次结合产生的全新概念的仪器,是对传组仪器概念的重大突破,是仪器领域内的一次革命。虚拟仪器是继第一代仪器——模拟式、仪表器二代仪器——分立元件式仪表、第三代仪器——数字式仪器、第四代仪器——智能化仪器之后的新一代仪器。
虚拟仪器是在计算机的显示屏上虚拟了传统仪器面板的计算机化仪器,它尽可能多的将原来由硬件电路完成的信号调理和信号处理的功能,代替为计算机的程序来完成。这种硬件功能软件化,是虚拟仪器的一大特征。操作人员在计算机的屏幕上利用指点设备操作虚拟的仪器,就象操作真实的仪器一样,完成对被测量的采集、显示、分析、处理、存储及数据生成。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
虚拟仪器是计算机化的仪器,由计算机、模块化功能硬件和应用软件三大部分组成。一般而言,虚拟仪器所用的计算机是通用的计算机,虚拟仪器根据其模块化功能硬件的不同,而有多种构成方式。
1. PC-DAQ测试系统:是以数据采集卡、信调理电路及计算机为仪器硬件平台组成的测试系统。
2. GPIB系统:是以GPIB标准总线仪器与计算机为硬件平台组成的测试系统。
3. VXI系统:是以VXI标准总线仪器为计算机为硬件平台组成的测试系统。
4. 串口系统:是以RS232标准串行总线仪器与计算机为硬件平台组成的测试系统。
5. 现场总线系统:是以FieldBus标准总线仪器与计算机为硬件平台组成的测试系统。
无论上述哪种形式的虚拟仪器系统,都是通过应用软件将仪器的模块化功能硬件与各类计算机相结,其中PC-DAQ测试系统是构虚拟仪器VI的最常用的最基本的方式,因为一般而言,这种类型的虚拟仪器成本比较低,它能充分利用计算机的计算能力。
目前为不同的应用目的和环境,已设计了多种性能和用途的数据采集板卡,从低速采集板卡到高速同步采集板卡,直至图象采集卡都有成熟的产品,为虚拟仪器系统的建立提供了物质基础。
虚拟仪器的特点:
在通用硬件平台确定后,可由软件而不是硬件来决定仪器的功能。
仪器的功能是用户根据需要由应用软件来定义的,而不是事先由厂家定义好了的。因比用户不必购买多台不同功能的传统仪器,也不必购买的昂贵的多种功能的传统仪器,因为在这种仪器中常常只有有一种或几种功能是常用的,而其他功能却都是不需要的。
为提高仪器性能或需要构造新的仪器功能时,可由用户自己改变软件来实现,而不必重新购买新的仪器。
虚拟仪器灵活、开放,故可与计算机同步发展,可与网络及其他周边设备互联。
决定虚拟仪器具有b述传统仪器人可能具备的特点的根本原因在于“虚拟仪器的关键是软件——软件即仪器”。
7.2 虚拟仪器的组成 |
虚拟仪器主要由传感器,也就是信号转换装置,数据采集和控制板卡,分析软件和显示软件组成:
一、硬件功能模块
根据仪器的总线及安装方式的不同,虚拟仪器硬件功能模块可分为以下几类:
1. PC-DAQ数据采集卡、信号调理卡
2. GPIB总线仪器
3. VXI总线模块
4. RS232串行接口仪器
5. FieldBus现场总线模块
在一般的情况下,利用插在通用计算机插槽内的DAQ(Data Acquisition)卡,配上相应的软件组成虚拟测试仪器的方法,目前应用得最为广泛。因为一块DAQ卡配上D/A转换功能后,能满足绝大多数情况的工程测试要求。按计算机的总线和类型,这类插卡可分为ISA,EISA,VESA,PCI,PCMCIA,SBus和Macintosh NuBus几种。一般说来,这类卡具有多通道模入、模出,多通道数字IO,时间测量,外触发,DMA传送,程控放大等功能。有的还带有程控滤波,电流输入,电荷放大等功能。其采样频率一般都在40kHz以上。
DAQ卡与计算机及软件组成虚拟测试仪器的一般方式如下图所示:
自计算机产生以来,人们就期望着能将测试仪器与计算机相互联接,以实现二者的功能互补并为此作出了不懈的努力。1965年,Hewlett-Packard公司为了将本公司的可程控仪器与计算机相连,以实现二者之间的通信,设计出了Hewlett-Packard接口总线HPIB(Hewlett-Packard Interface Bus)。由于HPIB接口总线的信号传输速度快,因而很快就被推广开来,并于1975年被美国电气及电子工程师学会接纳为IEEE488-1975标准。又经过十余年的改进补充后被确定为国际标准,即ANSI/IEEE488-1987;经再次改进后被确定为ANSI/IEEE488.2-1987标准,该标准进一步明确地规定了如何与仪器进行通讯。1990年,SCPI(Standard Commands for Programable Instruments)将这个标准确定为IEEE488.2标准,按照该标准,对于所有的SCPI仪器,每一个命令的功能,其格式都是唯一确定的。
此后IEEE488总线的使用范围扩展到非HP公司生产的仪器上,使这种总线的使用可以在所有的计算机上都能使用,因而以很快的速度推广开来。同时这种总线技术也被称为GPIB(General Purpose Interface Bus)。现在GPIB的用户已超过HPIB,若无特殊的说明,现在所说的IEEE488总线实际上就是指GPIB总线。
通过GPIB接口总线,可以把所有具备GPIB总线接口的可编程仪器与计算机紧密地结合起来。在此基础上,工程测试技术的发展又向前迈进了一大步,通过GPIB接口电缆将GPIB总线的测试仪器和计算机系统联接起来,组成虚拟测试仪器系统,使工程测试由独立的手工操作的单台测试仪器向大规模综合自动测试系统的转变成为了现实。
为了达到实际工程应用对测试系统实时性的要求,人们对基于GPIB总线的虚拟测试仪器系统的瓶颈棗GPIB接口的信号传输速度进行了不断的改善与提高,现在高速的GPIB接口电缆(如NI.HS488)的传输速度可达8Mbyte/s。
GPIB设备之间的通讯是通过接口系统发送设备选通信号和接口消息,(interface message)来进行的。GPIB总线接口有二十四线(IEEE-488标准)和二十五线(IEC-625标准)二种形式,其中以IEEE-488的二十四线GPIB总线接口应用最多,在我国的国家标准中也是确定采用24线的电缆及相应的插头插座,其接口的总线定义和机电特性如上图所示。
各GPIB总线测试仪器是通过GPIB接口和GPIB电缆相互联接而成测试仪器系统的。一般而言,各GPIB仪器都能单独使用,但只有当它们配置了接口功能以后才能接入基于计算机控制的自动测试系统。各设备的接口部分都装有GPIB电缆插座,系统内所有器件的同一信号线全部并接在一起,此外,GPIB电缆的每一端都是一个组合式插头座(又称GPIB联接口),可把一个插头和一个插座背靠背地叠装在一起,这样就可以在联成系统时,把一个插头插在另一个插头座之上,同时还留有插座供其它GPIB仪器使用(如下图(a)、图(b)所示),任何一个GPIB仪器,只要在它的GPIB插座上插上一条GPIB电缆,并把电缆的另一头插在系统中的任意一个插座上,这台仪器就被接入了测试系统。在一般的情况下,系统中的GPIB电缆的总长度不应超过20m,过长的传输距离会使信噪比下降,电缆中的电抗性分布参数,也会对信号的波形和传输质量产生不利的影响。
利用GPIB设备与计算机组成的虚拟仪器系统一般有串行联接(如下图(a)所示)、星型联接(如下图(b)所示)和混合联接三种方法。
(a) GPIB设备的串行连接 |
(b) GPIB设备的并行连接 |
VXI是另一种新型的基于板卡式相对独立的模块化仪器。由于将仪器制成了板卡的形式,因此减少了虚拟测试仪器系统的体积,使用方便,并提高了其性能,与GPIB仪器一样,它需要通过VXI总线的硬件接口才能与计算机相连。
VXIbus系统是一种在世界范围内完全开放的,适用于多供货厂商的模块化仪器总线系统。它集中了智能仪器,PC仪器和GPIB系统的很多特长,利用了VME计算机总线数据传输快的特点,具有小型、便携、数据传输率高、组建及使用方便,能充分发挥计算机的作用,便于与计算机网和通信网结合等优点。正是由于这些优点,使得这种原先被称为未来仪器或二十一世纪仪器的总线系统,在目前就得到了迅速的发展和推广,成为公认的测试仪器系统的优秀平台。1993年9月成立的VXI即插即用(plug & play)联盟对VXI仪器的机箱和面板、硬件、驱动程控接口、虚拟仪器软件结构,安装磁盘、快速数据通道、TCP/IP-VXI、组建数据库以及VXI plug & play 的标识和注册等方面都制定了标准规范,并还将不断有新的标准规范出台。这些标准规范加速了VXI总线仪器的发展,使之成为测试仪器系统的发展方向。
用VXIbus仪器组建虚拟测试仪器系统的灵活性很大,既可以构造一个单纯VXI系统使用,也可以将VXI引入已有的测试系统与其他的GPIB总线仪器和DAQ卡并列使用。
RS232串行接口仪器
很多仪器带有RS232串行接口,通过电缆,将仪器的RS232串行接口与计算机的RS232串行接口连接起来,安装好驱动程序,就可以实现仪器与计算机的通讯。
FieldBus现场总线模块
现场总线(Field Bus)仪器,是一种用于恶劣环境条件下的、抗干扰能力很强的一种总线仪器模块。与上述的其它硬件功能模块相类似,在计算机中安装了Field Bus接口卡后,通过Field Bus专用连接电缆,可以实现Field Bus仪器与计算机的通讯。
二、驱动程序
任何一种硬件功能模块,要与计算机进行通讯,都需要在计算机中安装该硬件功能模块的驱动程序(就如我们在计算机中安装声卡、显示卡和网卡一样),仪器硬件驱动程序使用户可以通过透明方式操作虚拟仪器的硬件功能模块。这样,用户就不必成为GPIB、VXI、DAQ、RS232或Field Bus方面的专家,就可以实现对特定仪器硬件的使用、控制与通信。一般地,驱动程序是由硬件功能模块的生产商提供的。
三、应用软件
“软件即仪器”,应用软件是虚拟仪器的核心。虚拟仪器的应用软件往往需要用户根据自己的需要,自行开发(这主要是指硬件功能模块的生产商不提供的应用软件),当然,你可以委托别人替你专门设计开发。
如果选用的硬件功能模块提供Labview或HPVE等虚拟仪器软件开发平台的驱动程序,我们可以直接在这些开发平台上开发虚拟仪器的应用软件,否则,只有采用诸如C,C++,VB,Delhi等高级语言来开发了。
7.3虚拟仪器开发系统介绍 |
目前,市面上常用的虚拟仪器的应用软件开发平台有很多种,但常用的是Labview、Labwindows/CVI、HP VEE等,本节将对用得最多的Labview进行介绍。
Labview是为那些对诸如C、C++、Visual Basic、Delhi等编程语言不熟悉得测试领域的工作者开发的,它采用可视化的编程方式,设计者只需将虚拟仪器所需的显示窗口、按钮、数学运算方法等控件从Labview工具箱内用鼠标拖到面板上,布置好布局,然后在Diagram窗口将这些控件,工具所设计的虚拟仪器所需要的逻辑关系,用连线工具将这些控件连接起来即可。
下图为用 Labview开发的温度测量仪的前面板图。
下图为温度测量仪的Diagram 连线图:
若要得到更详细的设计信息,请访问:www.natinst.com 或 www.nichina.com
此外还有Dasylab Windows、DIRECT VIEW for WINDOWS、和Process Control Software for Windows等针对测控领域的虚拟仪器软件。
<?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" /> |
国内深圳蓝津信息技术股份有限公司采用软件总线和软件芯片技术开发了一个积木拼装式的虚拟仪器开发平台,若要得到更详细的设计信息,请访问:www.landims.com.
|
7.4虚拟仪器典型单元模块 |
虚拟仪器的核心是软件,其软件模块主要由硬件板卡驱动模块,信号分析模块和仪器表头显示模块三类软件模块组成。
硬件板卡驱动模块通常由硬件板卡制造商提供,直接在其提供的DLL或ActiveX基础上开发就可以了。目前PC-DAQ数据采集卡、GPIB总线仪器卡、RS232串行接口仪器卡、FieldBus现场总线模块卡等许多仪器板卡的驱动程序接口都已标准化,为减小因硬件设备驱动程序不兼容而带来的问题,国际上成立了可互换虚拟仪器驱动程序设计协会(Interchangeable Virtual Instrument),并制订了相应软件接口标准。
信号分析模块的功能主要是完成各种数学运算,在工程测试中常用的信号分析模块我们前面章节中介绍过的各种方法包括:
1.信号的时域波形分析和参数计算
2.信号的相关分析
3.信号的概率密度分析
4.信号的频谱分析
5.传递函数分析
6.信号滤波分析
7.三维谱阵分析
目前,LabVIEW、MATLAB等软件包中都提供了这些信号处理模块,另外在网上也能找到Basic、C语言的源代码,自己编程实现也不困难。
仪器表头显示模块主要包括波形图、选钮、仪表头、推钮、温度计、棒图等仪表显示常用的软件仪表盘显示模块,如下图所示:
LabVIEW、HP VEE等虚拟仪器开发平台提供了大量的这类软件模块供选择,设计虚拟仪器程序时直接选用就可以了。但这些开发平台很昂贵,一般只在专业场合使用。
实际上许多虚拟仪器控件实现并不难,在自己用Basic、C语言编程时完全可以在标准Windows控件的基础上修改其Draw属性,自己编制虚拟仪器控件,并在程序中使用。例如,下面是用Signal VBScript编制的一个绘制温度计的子函数。
Function RunCamera(x,y)
Fillbar x,y,140,120,10904646
Textout x+30,y+70,15,"-50"
Textout x+90,y+70,15,"50"
Textout x+35,y+100,15,"数字电压表"
Arc x+70,y+100-15,80,45,135,14
Line x+70,y+100-10,x+14,y+27,14
Line x+70,y+100-10,x+127,y+27,14
Line x+70,y+5,x+70,y+15,14
Line x,y,x+140,y,15
Line x,y,x,y+120,15
Line x+140,y,x+140,y+120,8
Line x,y+120,x+140,y+120,8
Line x+70,y+100-10,x+100,y+20,12
Line x+71,y+100-10,x+100,y+20,12
Line x+69,y+100-10,x+100,y+20,12
Fillcircle x+70,y+90,4,14
End Function
文章评论(0条评论)
登录后参与讨论