虚拟仪器技术
虚拟仪器(Virtual Intrument,简称VI)是20世纪90年代初期出现的一种新型仪器,它在计算机的显示屏上虚拟传统仪器面板,并尽可能多地将原来由硬件电路完成的信号调理和信号处理功能,用计算机程序来完成。这种硬件功能的软件化,是虚拟仪器的一大特征。操作人员在计算机显示屏上用鼠标和键盘控制虚拟仪器程序的运行,就像操作真实的仪器一样,从而完成测量和分析务。
虚拟仪器是计算机技术与仪器技术深层次结合产生的产物,是对传统仪器概念的重大突破,是仪器领域内的一次革命。虚拟仪器是继第一代仪器——模拟式仪表、第二代仪器——分立元件式仪表、第三代仪器——数字式仪器、第四代仪器——智能化仪器之后的新一代仪器,代表了当前测试仪器发展的方向之一。
虚拟仪器是计算机化仪器,由计算机、信号测量硬件模块和应用软件三大部分组成。根据虚拟仪器所采用的信号测量硬件模块的不同,虚拟仪器可以分为下面几种形式:
(1) PC-DAQ测试系统:以数据采集卡(DAQ卡)、计算机和虚拟仪器软件构成的测试系统。
(2) GPIB系统:以GPIB标准总线仪器、计算机和虚拟仪器软件构成的测试系统。
(3) VXI系统: 以VXI标准总线仪器、计算机和虚拟仪器软件构成的测试系统。
(4) 串口系统:以RS232标准串行总线仪器、计算机和虚拟仪器软件构成的测试系统。
(5) 现场总线系统:以现场总线仪器、计算机和虚拟仪器软件构成的测试系统。
其中PC-DAQ测试系统是最常用的构成计算机虚拟仪器系统的的形式。
。。目前针对不同的应用目的和环境,已设计了多种性能和用途的数据采集卡,包括低速采集板卡、高速采集卡、高速同步采集板卡、图象采集卡、运动控制卡等。
与传统仪器相比,虚拟仪器最大的特点是其功能由软件定义,可以由用户根据应用需要进行调整,用户选择不同的应用软件就可以形成不同的虚拟仪器。而传统仪器的功能是由厂商事先定义好的,其功能用户无法变更。当虚拟仪器用户需要改变仪器功能或需要构造新的仪器时,可以由用户自己改变应用软件来实现,而不必重新购买新的仪器。
7.2 虚拟仪器的组成
虚拟仪器主要由传感器,信号采集与控制板卡,信号分析软件和显示软件几部分组成,如下图所示。
7.2.1 硬件功能模块
根据虚拟仪器所采用的信号测量硬件模块的不同,虚拟仪器可以分为下面几类:
(1) PC-DAQ数据采集卡
通常,人们利用计算机扩展槽和外部接口,将信号测量硬件设计为计算机插卡或外部设备,直接插接在计算机上,再配上相应的应用软件,组成计算机虚拟仪器测试系统。这是目前应用得最为广泛的一种计算机虚拟仪器组成形式。按计算机总线的类型和接口形式,这类卡可分为ISA卡,EISA卡,VESA卡,PCI卡,PCMCIA卡,并口卡、串口卡和USB口卡等。按板卡的功能则可以分为A/D卡、D/A卡、数字I/O卡、信号调理卡、图象采集卡、运动控制卡等。
(2) GPIB总线仪器
GPIB(General Purpose Interface Bus)是测量仪器与计算机通讯的一个标准。通过GPIB接口总线,可以把具备GPIB总线接口的测量仪器与计算机连接起来,组成计算机虚拟仪器测试系统。GPIB总线接口有二十四线(IEEE-488标准)和二十五线(IEC-625标准)二种形式,其中以IEEE-488的二十四线GPIB总线接口应用最多。在我国的国家标准中确定采用24线的电缆及相应的插头插座,其接口的总线定义和机电特性如下图所示。
GPIB总线测试仪器通过GPIB接口和GPIB电缆与计算机相联,形成计算机测试仪器。与DAQ卡不同,GPIB仪器是独立的设备,能单独使用。GPIB设备可以串接在一起使用,但系统中GPIB电缆的总长度不应超过20m,过长的传输距离会使信噪比下降,对数据的传输质量有影响。
(3) VXI总线模块
VXI总线模块是另一种新型的基于板卡式相对独立的模块化仪器。从物理结构看,一个VXI总线系统由一个能为嵌入模块提供安装环境与背板连接的主机箱和插接的VXI板卡组成。与GPIB仪器一样,它需要通过VXI总线的硬件接口才能与计算机相连。
(4) RS232串行接口仪器
很多仪器带有RS232串行接口,通过连接电缆将仪器与计算机相连就可以构成计算机虚拟仪器测试系统,实现用计算机对仪器进行控制。
(5) 现场总线模块
现场总线仪器,是一种用于恶劣环境条件下的、抗干扰能力很强的总线仪器
模块。与上述的其它硬件功能模块相类似,在计算机中安装了现场总线接口卡后,通过现场总线专用连接电缆,就可以构成计算机虚拟仪器测试系统,实现用计算机对现场总线仪器进行控制。
7.2.2 驱动程序
任何一种硬件功能模块,要与计算机进行通讯,都需要在计算机中安装该硬件功能模块的驱动程序(就如同在计算机中安装声卡、显示卡和网卡一样),仪器硬件驱动程序使用户不必了解详细的硬件控制原理和了解GPIB、VXI、DAQ、RS232等通讯协议就可以实现对特定仪器硬件的使用、控制与通信。驱动程序通常由硬件功能模块的生产商提供随硬件功能模块一起提供。
。7.2.3 应用软件
。。“软件即仪器”,应用软件是虚拟仪器的核心。一般虚拟仪器硬件功能模块生产商会提供示波器、数字万用表、逻辑分析仪等常用虚拟仪器应用程序。对用户的特殊应用需求,则可以利用LabVIEW、Agilent VEE等虚拟仪器开发软件平台来开发。
7.3 虚拟仪器开发系统介绍
目前,市面上常用的虚拟仪器的应用软件开发平台有很多种,但常用的是Labview、Labwindows/CVI、Agilent VEE等,本节将对用得最多的Labview进行简单介绍。
Labview是为那些对诸如C、C++、Visual Basic、Delhi等编程语言不熟悉的测试领域的工作者开发的,它采用可视化的编程方式,设计者只需将虚拟仪器所需的显示窗口、按钮、数学运算方法等控件从Labview工具箱内用鼠标拖到面板上,布置好布局,然后在Diagram窗口将这些控件、工具按设计的虚拟仪器所需要的逻辑关系,用连线工具连接起来即可。
下图为用 Labview开发的温度测量仪的前面板图。
下图为温度测量仪的Diagram 连线图:
此外还有Dasylab Windows、DIRECTVIEW for WINDOWS、和Process Control Software for Windows等针对测控领域的虚拟仪器软件。
7.4 虚拟仪器典型单元模块
虚拟仪器的核心是软件,其软件模块主要由硬件板卡驱动模块,信号分析模块和仪器表头显示模块三类软件模块组成。
ActiveX基础上开发就可以了。目前PC-DAQ数据采集卡、GPIB总线仪器卡、RS232串行接口仪器卡、FieldBus现场总线模块卡等许多仪器板卡的驱动程序接口都已标准化,为减小因硬件设备驱动程序不兼容而带来的问题,国际上成立了可互换虚拟仪器驱动程序设计协会(Interchangeable Virtual Instrument),并制订了相应软件接口标准。
信号分析模块的功能主要是完成各种数学运算,在工程测试中常用的信号分析模块包括:
(1) 信号的时域波形分析和参数计算
(2) 信号的相关分析
(3) 信号的概率密度分析
(4) 信号的频谱分析
(5) 传递函数分析
(6) 信号滤波分析
(7) 三维谱阵分析
。。目前,LabVIEW、MATLAB等软件包中都提供了这些信号处理模块,另外在网上也能找到Basic语言和C语言的源代码,编程实现也不困难。例如,下面是用Signal VBScript设计的有效值计算模块的程序段:
Function RunCamera(RMS)
RMS=0
For i=0 To N-1
RMS=RMS+x(i)*x(i)
Next
RMS=sqrt(RMS)/N
End Function
仪器表头显示模块主要包括波形图、选钮、仪表头、推钮、温度计、棒图等仪表显示常用的软件仪表盘显示模块,如下图所示
。LabVIEW、HP VEE等虚拟仪器开发平台提供了大量的这类软件模块供选择,设计虚拟仪器程序时直接选用就可以了。但这些开发平台很昂贵,一般只在专业场合使用。
.
实际上表头等一些常用的虚拟仪器控件实现并不难,用Visual Basic、Visual 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
其运行后的显示效果如下图所示。
随便看看
- 2024-09-14安装橡胶履带板-挖掘机点检整备篇
- 2024-12-25机器人学的意义
- 2024-09-13启动发动机前的点检-挖掘机驾驶操作篇
- 2024-09-18常用电路元件-工程机械电器系统
- 2024-12-09静压支承的故障分析及排除