1.2 虚拟仪器的组成与构成方式
1.2.1 虚拟仪器的基本结构
虚拟仪器的基本结构由计算机硬件、仪器硬件和虚拟仪器软件三部分构成,如图1-1所示。
图1-1 虚拟仪器系统的组成框图
1.计算机硬件
计算机硬件平台可以是各种类型的计算机,如普通台式计算机、便携式计算机、工作站、嵌入式计算机等。计算机管理着虚拟仪器的硬件、软件资源,是虚拟仪器的硬件基础。
2.仪器硬件
仪器硬件根据不同的标准接口总线转换输入或输出信号,供其他系统使用。
仪器硬件部分可由数据采集卡、GPIB接口、串并行接口、VIX接口、LAN接口、现场总线接口等构成,它们的主要功能是完成对被测信号的采集、传输和显示测量结果。
3.虚拟仪器软件
虚拟仪器的软件是核心、关键部分,用于实现对仪器硬件通信和控制,对信号进行分析处理,对结果表达和输出。
虚拟仪器实质上是“软硬结合”“虚实结合”的产物,它充分利用最新的计算机技术来实现和扩展传统仪器的功能。它强调软件的作用,提出“软件就是仪器”的概念。
在虚拟仪器系统中,硬件仅仅解决信号的输入、输出和软件赖以生存、运行的物理环境,软件才是整个仪器系统的关键。用户可根据自己的需要通过编制不同的测试软件来构成各种功能的测试系统,其中许多硬件功能可直接由软件实现,系统具有极强的通用性和多功能性。任何使用者只要通过调整或修改仪器的软件,便可方便地改变和增减仪器的功能和规模,甚至仪器的性质。
虚拟仪器软件的开发又有着自身的特殊性,这种特殊性主要体现在虚拟仪器软件在某种程度上是传统硬件的“仿真”,其设计目的之一就是用软件来实现硬件的功能。
1.2.2 虚拟仪器的构成方式
虚拟仪器的硬件平台由计算机和其I/O接口设备两部分组成。I/O接口设备主要执行信号的输入、数据采集、放大、模/数转换等任务。
根据I/O接口设备总线类型的不同,虚拟仪器的构成方式主要有:基于PC的插卡式(PC-DAQ)、GPIB总线、VXI总线、PXI总线、串行接口总线、现场总线六种标准硬件体系结构,如图1-2所示。
1.基于PC的插卡式(PC-DAQ)虚拟仪器
通过在PC机内直接插入一块内插式多功能数据采集卡,将前端仪器(如传感器等)送来的模拟信号经A-D转换送到计算机,直接经过PCI总线,由CPU进行分析、处理,再通过显示器显示,外接打印机打印等。它更加充分地利用计算机的资源,大大增加了测试系统的灵活性和扩展性。
图1-2 虚拟仪器的构成方式
这种方式受PC机箱、总线限制,存在电源功率不足、机箱内噪声电平较高、无屏蔽、插槽数目不多、尺寸较小等缺点。但因个人计算机数量非常庞大,插卡式仪器价格便宜,因此其用途广泛,特别适合于工业测控现场、各种实验室和教学部门使用。
2.基于GPIB总线的虚拟仪器
GPIB(IEEE488标准)是计算机和仪器间的标准通信协议,也是最早的仪器总线。一个典型的GPIB测试系统由1台PC、1块GPIB接口卡和若干台GPIB仪器通过GPIB电缆连接而成。每台GPIB仪器有单独的地址,由计算机控制操作。GPIB接口板插入计算机的插槽中,建立起计算机与具有GPIB接口的仪器设备之间的通信桥梁。
利用GPIB技术,可以用计算机实现对仪器的操作和控制,替代传统的人工操作方式,可以方便地将多台仪器组合起来,形成较大的自动测试系统。系统中的仪器可以增加、减少或更换,只需对计算机的控制软件作相应改动,就可高效、灵活地完成各种不同规模的测试任务。
GPIB测试系统的结构和命令简单,造价较低,主要用于台式仪器,适用于精确度要求高,但对计算机速率和总线控制实时性要求不高的传输场合。
3.基于VXI总线的虚拟仪器
VXI总线是一种高速计算机总线在仪器领域的扩展。VXI系统由VXI标准机箱、零槽控制器、具有多种功能的模块仪器和驱动软件、系统应用软件等组成。
VXI总线标准具有标准开放、即插即用、结构紧凑、数据吞吐能力强、定时与同步精确、模块可重复利用、众多仪器生产厂商支持等优点,应用越来越广。VXI规范使得用户在组建VXI系统时可不必局限于一家厂商的产品,允许根据自己的要求自由选购各仪器厂商的仪器模块,从而使系统达到最优。
尤其在组建大中规模自动测量控制系统,以及对速度、精度要求非常高的场合,有其他仪器无法比拟的优点。另外,VXI总线的组建方案功能最为强大、组建的系统最为稳定,但VXI总线实现强大功能的同时,价格也十分昂贵。
4.基于PXI总线的虚拟仪器
PXI是一种新型模块化仪器系统,是在PCI总线内核技术上增加了成熟的技术规范和要求形成的,包括多板同步触发总线技术,增加了用于相邻模块的高速通信的局部总线,并具有高度的可扩展性等优点,适用于大型高精度集成系统。
5.基于串口总线的虚拟仪器
通过串行口可实现仪器与计算机、仪器与仪器之间的相互通信,从而组成由多台仪器构成的自动测试系统。RS-232总线是早期采用的PC机通用串行总线,适合于单台仪器与计算机的连接,但控制性能较差。当今PC已更多采用USB总线,基于USB总线的虚拟仪器开发已经受到重视。但是,USB总线目前只用于较简单的测试系统。在用虚拟仪器组建自动测试系统时,目前最有发展前景的是采用IEEE1394高速串行总线。
6.基于现场总线的虚拟仪器
现场总线是一种全数字化、串行、双向、多站的通信网络,现场总线系统以现场总线(FieldBus)为纽带,把多个分散的智能仪表、控制设备(包括智能传感器)连接成可以相互沟通信息、共同完成自控任务的网络与控制系统。用于现场总线系统的智能传感器、变送器、仪表等统称为现场总线仪表。各种现场总线仪表采用标准化的、开放式通信协议,这样不同厂商的产品可以方便地挂接在现场总线上,使系统具有可操作性。
1.2.3 构建虚拟仪器的步骤
在实验室里有各种各样的仪器与设备。如何提高它们的综合使用效率?如何对它们进行更有效的管理?最有效的方法是采用“虚拟仪器”技术,即充分利用计算机强大的管理与处理能力,以此为基础,将实验室相关设备搭配起来,构成一种全新的实验环境。实验室中的仪器与设备一般都是具有特定功能的单台设备,如果它们具有某种总线接口,就有可能进行虚拟仪器的构造。
构建虚拟仪器系统的步骤如下:
1.确定所用仪器或设备的接口形式
如果仪器设备具有RS-232串行总线接口,则不用进行处理,直接用连线将仪器设备与计算机的RS-232串行接口连接即可。
如果是GPIB或HP-IB接口,则需要额外配备一块GPIB接口板卡,将接口板卡插入计算机的ISA插槽,建立起计算机与仪器设备之间的通信渠道。
2.确定所选择的接口卡是否具有设备驱动程序
接口卡的设备驱动程序是控制各种硬件接口的驱动程序,是连接主控计算机与仪器设备的纽带。如果有设备驱动程序,看它适合于何种操作系统;如果没有,或者所带的设备驱动程序不符合用户所用的操作系统,用户就有必要针对所用接口卡,编写设备驱动程序。
3.确定应用程序的编程语言
如果用户有专业的图形化编程软件,如LabVIEW、LabWindows、CVI等,那么就可以采用专业的图形化编程软件进行编程了。若没有此类软件,则可以采用通用编程语言,如Microsoft公司的Visual Basic。
4.编写用户的应用程序
在硬件连接无误的情况下,编写用户的应用程序。可根据仪器的功能,确定应用程序所采用的算法、处理分析方法和显示方式。
同其他应用程序一样,虚拟仪器软件的设计也要经历需求分析、总体设计、模块设计、代码编写、总体测试等过程。
5.调试运行应用程序
用数据或仿真的方法,验证仪器功能的正确性,调试并运行仪器。