从功能上来说,虚拟仪器与传统仪器一样,由3大部分构成:数据采集与控制、数据分析与处理及结果表达与输出,如图10.4所示。
从结构体系看,虚拟仪器系统主要由硬件和软件构建而成,如图10.5所示。硬件一般分为计算机硬件平台和测控仪器硬件。因此,一般虚拟仪器的系统由计算机、仪器硬件和应用软件三要素组成。计算机是共用平台,仪器硬件用于信号的输入/输出,应用软件决定仪器的功能和构成用户接口。
(1)虚拟仪器的硬件系统
虚拟仪器的硬件结构如图10.6所示。它包括计算机硬件平台和测控功能平台,主要完成被测信号的采集、传输、存储处理和输入/输出等工作。计算机硬件平台可以是各种类型的计算机,如PC计算机、便携式计算机、工作站、嵌入式计算机、工控机等,主要作用是管理虚拟仪器的硬、软件资源,是虚拟仪器的硬件基础。
图10.4 虚拟仪器功能结构图
图10.5 虚拟仪器体系结构
按照测控功能硬件的不同,虚拟仪器可分为PC总线的数据采集(DATA Acquisition,DAQ)、GPIB总线仪器、VXI总线仪器、PXI总线仪器、LXI总线仪器、串口总线仪器及现场总线仪器等标准总线仪器。下面简要对前4种主要的标准体系结构加以说明。
1)基于数据采集卡的虚拟仪器
基于数据采集卡的虚拟仪器系统是最基本的虚拟仪器系统。其结构如图10.7所示。这种系统采用计算机本身的PCI总线,将数据采集卡插入PCI总线插槽中,通过A/D转换,可采集模拟信号并输入计算机进行数据处理、分析及显示,根据需要可加入信号调理和实时数字信号处理等硬件模块,大大增加了测试系统的灵活性和扩展性。
图10.6 虚拟仪器的硬件结构
图10.7 基于数据采集卡的虚拟仪器结构图
仪器厂家生产了大量的DAQ功能模块可供用户选择,如示波器、数字万用表、串行数据分析仪、动态信号分析仪及任意波形发生器等。在计算机上挂接若干DAQ模块,配合相应的软件,就可构成一台具有若干功能的个人虚拟仪器。这种结构的虚拟仪器既可享用计算机的智能资源,具有高档仪器的测量品质,又能满足测量需求的多样性。对大多数用户来说,这种方案不但实用,而且具有很高的性价比,是一种特别适合于一般用户的虚拟仪器方案。
2)基于GPIB总线的虚拟仪器
通用接口总线(General Purpose Interface Bus,GPIB)技术是IEEE488标准的虚拟仪器早期的发展阶段,是由HP公司于1978年制订的。它的出现使电子测量独立的单台手工操作向大规模自动测试系统发展。目前,多数仪器都配置了遵循IEEE488标准的GPIB接口。典型的GPIB系统由一台计算机、一块GPIB接口卡和若干台GPIB仪器通过GPIB电缆连接而成。每台GPIB仪器有单独的地址,由计算机控制操作。系统中的仪器可以增加、减少或更换,只需对计算机的控制软件作相应改动。
GPIB总线测试仪器是通过GPIB接口和GPIB电缆相互连接而构成测试仪器系统的。一般来说,各GPIB仪器可单独使用,只有当它们配置了接口功能以后才能接入基于计算机控制的自动测试系统。各设备的接口部分都装有GPIB电缆插座,系统内所有器件的统一信号线全部并接在一起。GPIB电缆的每一端都是一个组合式插头座(又称GPIB接口),可把两个插座背靠背地叠装在一起,这样就可在连成系统时,把一个插头插在另一个插头座上,同时还留有插座供其他GPIB仪器使用。任何一个GPIB仪器,只要在它的GPIB插座上插上一条GPIB电缆,并把电缆的另一头插在系统中的任意一个插座上,这台仪器就接入测试系统了。一般情况下,系统中的GPIB电缆的总长度不应超过20 m,过长的传输距离会使信噪比下降,电缆中的电抗性分布参数也会对信号的波形和传输质量产生不利的影响。GPIB测试系统的结构和命令简单,主要应用于台式仪器,适合于精确度要求高的,但不要求对计算机高速传输状况时应用,因为GPIB的数据传输速度较慢,一般低于500 kbit/s,因此在应用上受到了一定程度的限制。
3)基于VXI总线的虚拟仪器
VXI(VMEbus Extension for Instrumentation)总线是一种高速计算机总线VME总线在仪器领域的扩展,它是在VME总线、Eurocard标准(机械结构标准)和IEEE488标准等基础上,由主要仪器制造商共同制订的开放性仪器总线标准。VXI系统最多可包含256个装置,主要由主机箱、零槽控制器、具有多种功能的模块仪器、驱动软件及系统应用软件等组成。系统中各功能模块可随意更换,即插即用组成新系统。由于它的标准开放、结构紧凑、数据吞吐能力强、定时和同步精确、模块可重复利用、众多仪器厂家支持的优点,因此,在组建大、中规模自动测量系统以及对速度、精度要求高的场合,有其他仪器无法比拟的优势。但是,组建VXI总线要求有机箱、零槽管理器及嵌入式控制器,造价比较高。
目前,VXI总线已在世界范围内得到广泛应用,我国在积极跟踪这一技术的基础上,已在航空航天、测控、国防、军事科研、气象、工业产品测试及标准计量等领域成功地建立了以VXI技术为主导的各种实用系统,并有迅速普及应用的趋势。
4)基于PXI总线的虚拟仪器
PXI(PCI Extension for Instrumention)总线方式是PCI总线内核技术增加了成熟的技术规范和要求形成的,包括多板同步触发总线技术,增加了用于相邻模块的高速通信的局域总线。PXI结构类似于PCI结构,但其设备成本更低、运行速度更快,体积更紧凑。目前,基于PCI总线的软硬件都可应用于PXI系统中,从而使PXI系统具有良好的兼容性。PXI还有高度的可扩展性,它具有8个扩展槽,而台式PCI系统只有3~4个扩展槽。PXI系统通过使用PCI—PCI桥接器,可扩展到256个扩展槽,并且PXI总线的传输速率很高。因此,基于PXI总线的仪器硬件将会得到越来越广泛的应用。
(2)虚拟仪器的软件系统
虚拟仪器技术的核心思想是利用计算机的软硬件资源,使本来需要硬件实现的技术软件化(虚拟化),以便最大限度地降低系统成本,增强系统的功能与灵活性。基于软件在虚拟仪器系统中的重要作用,NI公司提出了“软件即仪器”的口号。
1)虚拟仪器的软件框架
VPP(VXI PLUG&Play)系统联盟提出了系统框架、驱动程序、VISA(Virtul Instrumention Software Architecture)、软面板及部件知识库等一系列VPP软件标准,推动了软件标准化的进程。虚拟仪器的软件框架从底层到顶层包括3部分:VISA库、仪器驱动程序和应用软件。
①VISA虚拟仪器软件体系结构是标准的I/O函数库及其相关规范的总称,一般称这个I/O函数库为VISA库。它驻留于计算机系统中执行仪器总线的特殊功能,是计算机与仪器之间的软件层连接,以实现对仪器的程控。它对于仪器驱动程序开发者来说是一个个可调用的操作函数集。
②驱动程序是完成对某一特定仪器控制与通信的软件程序集。它是应用程序实现仪器控制的桥梁。每个仪器模块都有自己的仪器驱动程序,仪器厂商以源码的形式提供给用户。
③应用软件建立在仪器驱动程序之上,直接面对操作用户,通过提供直观友好的测控操作界面、丰富的数据分析和处理功能来完成自动测试任务。应用软件主要包括仪器面板控制软件和数据分析处理软件。仪器面板控制软件即测试管理层,是用户与仪器之间交流信息的纽带,利用计算机强大的图形化编程环境,使用可视化技术,从控制模块上选择所需要的对象,放在虚拟仪器的前面板上。数据分析处理软件利用计算机强大的计算能力和虚拟仪器开发软件功能强大的函数库,可极大提高虚拟仪器系统的数据分析处理能力。通过将两者结合,给用户提供操作仪器、显示数据的人机接口,以及实现数据采集、分析处理、显示和存储等功能。
2)虚拟仪器的软件开发系统
虚拟仪器的开发环境是设计虚拟仪器所必需的软件工具。目前的虚拟仪器软件开发工具主要有以下3类:一是文本式编程语言,如Visual C++,Visual Basic,LabWindows/CVI等;二是图形化编程语言,如LabVIEW,HPVEE等;三是零编程开发系统,具有代表性的是国内某大学开发的VMIDS框架协议系统。当前最流行的图形化编辑语言是LabVIEW和LabWindows/CVI,都是美国NI公司推出的面向计算机测控领域虚拟仪器的软件开发平台。文本式的编程语言具有编程灵活、运行速度快等特点,图形化的编程语言具有编程简单、直观、开发效率高的特点,VMIDS框架协议开发系统用户不需编程就能创建自己所需的仪器。
①文本式编程
过去,虚拟仪器的软件开发通常采用文本式编程语言。VB和VC作为可视化开发工具具有友好的界面、丰富的API应用程序接口函数,简单、易用、实用性强,并且与Microsoft Access,Word及Excel等软件可实现无缝连接,因而是一个良好的构筑虚拟仪器的平台。但是,由于这种编程对开发人员的编程能力和对仪器硬件的掌握要求很高,开发周期长,且软件移植和维护不容易,因此,这种编程方式逐步被可视化编程工具所代替。
②LabVIEW
LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench,实验室虚拟仪器集成环境)是一种图形化的编程语言,是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。LabVIEW尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,用图标代码代替编程语言创建应用程序,用数据流编程方法描述程序的执行,用图标和连线代替文本形式编写程序,为虚拟仪器设计者提供了便捷的设计环境。它简化了虚拟仪器系统的开发过程,让用户从烦琐的计算机代码编写中解放出来,并且图形化的界面使得编程及使用过程都生动有趣,设计者可以像搭积木一样,轻松组建一个测试系统以及构造自己的仪器面板,无须进行任何烦琐的程序代码编写。
LabVIEW集成了满足GPIB,VXI,RS⁃232和RS⁃485协议的硬件及数据采集卡通信的全部功能,还内置了便于应用TCP/IP,ActiveX等软件标准的库函数。在这种通用程序设计系统中,提供的应用程序有数百种之多,除具备其他语言所提供的常规函数功能和上述的生成图形界面的大量模板外,内部还包括许多特殊的功能库函数和开发工具库以及多种硬件设备驱动功能,从底层的I/O接口控制子程序到大量的仪器驱动程序,从基本的数学函数、字符串处理函数到高级分析库函数,从对TCP/IP协议、ActiveX标准控件的支持到具有硬件底层通信驱动以及调用其他语言的代码级模块等,供用户直接调用,可完成复杂的面向仪器编程,并可以进行诸如小波变换和联合时域分析、数字图像处理等的测试与分析。
利用LabVIEW,可产生独立运行的可执行文件,使用户的数据采集、测试和测量方案得以高速运行。同时,它是一个真正的32位编译器,能创建32位的编译程序,解决了其他按解释方式工作的图形编程环境速度慢的问题。
此外,LabVIEW像许多重要的软件一样,提供了Windows,UNIX,Linux,Macintosh的各种版本,并可把在不同平台上开发的应用程序直接进行移植,提供了大量的通过DLL(动态链接库)、DDE(共享库)等与外部代码或软件进行连接的机制,以及大量DDL(动态数据交换库)接口和对OLE的支持,扩展了ActiveX(COM)技术应用,并可与Mathworks公司的MATLAB及NI公司的HiQ的数学和分析软件进行无缝集成。
③VMIDS框架协议开发系统
VMIDS框架协议开发系统是由我国自行研制的虚拟仪器软件开发工具,利用这个框架协议开发系统,可实现多种形式和功能的测试仪器的开发,由功能软件模块库、控件软件模块库、开发系统、可复用智能虚拟控件库、仪器拼搭场、咨询系统等部分组成。具体构成如图10.8所示。
图10.8 框架协议开发系统组成图
A.功能软件模块库
将一批测试计量仪器(如零级电压表、一级毫安表、超低频示波器、多线高频记忆示波器、函数信号发生器、相位计、测温仪、流量计、噪声振动测试仪、扭矩仪、转速仪、FFT分析仪及实时倍频程分析仪等数十上百种电量、非电量测量仪及静态、动态测试测量仪)的功能、技术参数和精度指标以软件模块的形式有序、保真地存放在一起,形成一个测试功能软件库。(www.daowen.com)
B.控件软件模块库
存放着一大批以软件形成的形象逼真的仪器、仪表控制零件和元件,如量程开关、波段选择开关、按钮、旋钮、电位器、滑块及信号灯等,供框架协议系统构造虚拟仪器时调用。
C.开发系统
功能模块库和控件库是构成虚拟仪器的基本构件,开发系统模块则像一个设计所和实验室,它为形成仪器产品提供技术支持。利用开发系统的功能,调用功能模块库中的功能模块和控件库中的控件,按照仪器成品的技术要求和各种控制关系对产品进行软设计、软装配、软调试、软修改及软测试等软操作,直至形成虚拟仪器的成品,并输送至可复用控件成品库中。如图10.9所示为一个由开发系统开发完成的虚拟仪器的成品。
图10.9 虚拟式双通道FFT分析仪
D.可复用智能虚拟控件库
多个不同种类或功能的可复用控件构成可复用智能虚拟控件库。复用是虚拟仪器的一个基本特征,通过控件的复用,在虚拟仪器开发中充分利用已有开发成果,消除了在分析、设计、编码、测试等方面的许多重复劳动,提高虚拟仪器的开发效率;同时,通过复用高质量的控件避免了重新开发可能引入的错误,可提高虚拟仪器的质量。因此,可复用控件可大大降低虚拟仪器的开发费用,并显著提高生产率和虚拟仪器产品的质量。
E.仪器拼搭场
在开发系统中产生的控件成品,全部存放于可复用控件成品库中,用户可根据需要通过仪器拼搭场进行仪器拼搭。用户在拼搭场中将控件按自己的需要进行积木式组装,通过简单设置控件的静、动态属性就可完成仪器的拼搭,并立即可实现在线测试应用。零编程拼搭的机理是依据数据流结构体系确定零编程拼搭的目标函数,根据目标值、设计权值和功能要求构成优化准则,根据控件的内聚和耦合来设计隐式语法。
F.咨询系统
由于虚拟式测试仪器结构在框架协议系统中除去可利用功能模块库和控件库中已有的功能模块和控件进行设计、装配、调试,从而形成成品进入成品库外,还可利用系统中的咨询系统直接面向用户,并根据用户的要求,为设计构造新一类仪器提供咨询和相应的信息。
④LabVIEW系统与VMIDS框架协议开发系统的比较
图形化编程语言软件开发系统和VMIDS框架协议开发系统给用户提供了不同形式的产品,下面简单介绍一下两者之间的区别。
A.功能库形式
LabVIEW提供了可视控件库、基本信号处理库和硬件驱动程序库等。VMIDS系统提供了非智能虚拟控件库、仪器功能库系列、硬件驱动程序库和部分成品智能控件库。LabVIEW的控件库和VMIDS系统中的非智能虚拟控件库在很大程度上是相似的,特别是外观表现形式,只是非智能虚拟控件为了实现与功能融合和动态演化,提供了一系列特殊的接口。作为功能库,LabVIEW的算法函数和子VI库与VMIDS的仪器功能库有了显著的不同,LabVIEW的算法函数是对如C语言的基本运算(加、减、乘、除、幂、开方、积分、微分、数组和矩阵运算)以及信号处理中常见方法(如FFT,WVT,数字滤波、曲线拟合等)进行封装后形成符合图形化编程规范的单元;子VI库是LabVIEW系统或用户将频繁使用的仪器功能单元装配保存起来以供直接调用,如正弦函数发生器、噪声发生器等。它们都不针对特定的仪器,而是通用的基本算法,可在任意仪器或者非仪器的程序中调用。VMIDS的功能库是针对特定仪器设计的,这样才能保证数据的正确、快速高效交换。如FFT算法,就必须根据具体要求编写成幅值谱、相位谱等更为具体的功能。对于一个FFT频谱分析仪而言,提供了打开文件、单通道数据采集、概率密度、幅值谱、自功率谱、倒频谱、细化分析、对数幅值谱等20多项功能。从其中选择几个需要的测试功能,便可组建一台特定的FFT分析仪。
B.仪器组建模式
LabVIEW组建虚拟仪器的实质是在后台编程连线的同时,在系统中以解释语言的形式保存各单元的逻辑制约关系。程序运行时,根据用户交互输入和系统保存的逻辑关系计算数据和处理事务,得到相应的结果。通过以数据流驱动的图形化编程语言开发仪器,其过程为:了解测试任务、熟悉测试原理及分解到算法层面、用G语言开发各简单分支、连接各子VI组建完整的测试测量仪器。VMIDS系统的核心是虚拟智能控件,它是通过功能赋予、测试融合实现的。只需从功能库选取所需的功能赋予给特定的控件,在拼搭场合理摆放这些智能控件即完成。只要仪器功能库庞大,便可组建各种功能强大、显示简洁、操作简便的虚拟仪器系统。
C.用户对象
LabVIEW仍是一种高级图形化编程语言,与其他高级语言一样,具有long,int,float等数据结构,if,case,for,while等循环分支语法,以及数据流和各种复杂的逻辑,必须深入学习才能知道各个功能、语法的使用方法,以及它们的最优化使用方法。也就是说,LabVIEW是开发虚拟仪器和测控系统的中间平台,需要用户具有工程和编程等多方面的知识和技术才能成功使用它,适用于具备相当背景领域专家或用户。与LabVIEW相比,VMIDS系统没有复杂的编程思想和过程了。VMIDS更能体现仪器特征、更接近仪器思想的产品,以最接近最终产品的形式提供给用户。对于一般普通用户,无须掌握很深的测试工程的理论和编程相关知识也可以很容易调用。智能虚拟控件的零编程思想,测试用户只需理解测试任务便可通过控件库和功能组库快速组建测控仪器,应用于工程实践之中。
除功能库形式、仪器组建模式和用户对象等方面的区别,还在系统特点、适用范围等层面上有所差别。其各自特点见表10.2。
表10.2 LabVIEW和VMIDS两大系统的特点比较
⑤VMIDS系统的实际应用
由于VMIDS系统的突出特点,目前已在很多科研项目、工程实际中得到应用。
实例1:虚拟式数控机床在线检测。
对数控机床进行在线检测是一种较易实施、可行的、精度较高的检测方法,可实时了解数控机床的运行状态。目前,大多数的数控机床在线检测系统是将测头安装在主轴上,输入测量程序,机床带动测头测量,如图10.10所示。这种检测系统存在以下问题:一是需要频繁在机床控制面板上操作;二是采用的某些国外专业测量软件价格昂贵,只针对特定的模型测量。
利用VMIDS系统构建的虚拟仪器检测系统则可发挥计算机的强大功能,方便地集成各种信号处理技术,使在线检测变得容易实现。测试系统的结构如图10.11所示。
该在线检测系统能实现对数控机床实时运行参数的较为全面的检测与分析,其主要功能模块如图10.12所示。
图10.10 传统数控机床在线检测系统
图10.11 利用VMIDS系统开发的虚拟式在线数控机床测试系统
1—计算机和虚拟检测仪;2—子宏程序库;3—接收器;4—触发式测头;5—机床主体
图10.12 虚拟式在线数控机床测试系统功能模块
实例2:智能控件化振动筛动态特性检测仪。
对振动筛的动态特性检测需要实现以下功能:信号的采集、信号的各种分析(时域、频域、时延域、幅值域等)、对振动筛动态特性分析计算、信号及分析结果的显示、打印及保存等。为此,设计了智能控件化振动筛动态检测仪。其测试系统框图如图10.13所示。
图10.13 智能控件化振动筛动态检测仪系统框图
智能控件化振动筛动态检测仪的软件具有较丰富的功能,可对信号波形进行实时显示,能对信号进行时域及频域的在线分析或离线分析。时域分析包括计算最大值、最小值、平均值、均方差、曲线拟合及相关计算等。频域分析包括幅值谱计算、功率谱计算等。针对特定的测试对象——振动筛,系统还具有专门的振动筛动态特性检测功能,包括振幅、振型、固有频率、阻尼系数、隔振系数及应变应力校核等。系统还设计有一些辅助功能,如超限报警、光标跟踪读数等。为提高测量精度,减少噪声干扰,系统还设计了数字滤波程序。软件功能总体设计框图如图10.14所示。
图10.14 智能控件化振动筛动态特性检测仪的功能及测试软件
利用VMIDS开发系统,在仪器拼搭场中调用智能虚拟控件进行相应的拼搭便可组建出一台振动筛测试虚拟仪器——智能控件化振动筛动态检测仪。拼搭好的智能控件化振动筛动态检测仪的界面如图10.15所示。
图10.15 智能控件化振动筛动态特性检测仪界面
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。