1.3 虚拟仪器的架构
虚拟仪器组成架构如图1-4所示。
组成架构中主要包括硬件、软件两部分。硬件部分的基本功能是准确地获取被测信号,并将其转变为可供软件处理的数据。软件部分的功能是对系统中的模块化仪器/分立仪器进行配置(通过驱动程序完成)和控制,使其按照预期的方式完成数据采集和输出;对通过总线获取的原始数据进行信号处理等计算操作;实现用户交互、数据存储等。
图1-4 虚拟仪器组成架构
1.3.1 虚拟仪器的硬件平台
虚拟仪器硬件平台由计算机和模块化I/O组成。
计算机是硬件平台的核心,一般为一台计算机或者工作站。模块化I/O主要完成被测信号的采集、放大、调理、A/D转换等。可根据实际情况采用不同的I/O接口模块。两部分之间利用数据传输总线互连,并根据需要协调各单元的工作。
虚拟仪器根据其所选用的硬件不同,大致分为以下3种。
(1)数据采集型虚拟仪器
数据采集型虚拟仪器的主要硬件构成是计算机和数据采集卡。早期这种类型的虚拟仪器是将数据采集卡直接插到计算机的PCI槽上。采集卡将前端仪器(如传感器)送来的模拟信号采集到计算机,由CPU进行分析、处理,再将测量结果在显示器上显示出来。目前更常见的是通过USB接口使计算机与数据采集卡相连,如图1-5所示。这种类型的虚拟仪器系统的优点是简单、硬件通用性强,因此成本较低,但技术性能指标不高且电磁兼容性差,并发性能弱。
(2)仪器控制型虚拟仪器
仪器控制型虚拟仪器如图1-6所示。仪器控制是指将实际存在的仪器设备与计算机连接起来,通过计算机软件来控制仪器。仪器与计算机相连的总线有多种类型,如GPIB、串口(Serial)、USB、Firewire、Ethernet。仪器控制型虚拟仪器系统的优点是通过自动化流程大幅提高测试效率,并由一个平台集中管理多个子任务动作,把一些相关联的控制要素在一个操控界面中显示,更易于用户使用。
图1-5 数据采集型虚拟仪器
图1-6 仪器控制型虚拟仪器
1)GPIB。通用功能接口总线(General Purpose Interface Bus, GPIB)是并行总线,用于计算机与仪器之间的通信。GPIB以字节为单位传输数据(1字节=8位),所以传输的数据通常是ASCII编码形式的字符串。GPIB是工程控制用的协议,最初是由HP公司提出,后来电气和电子工程师协会(IEEE)对GPIB进行了标准化,使其成为国际标准,遵守的协议为IEEE488.2,实现计算机对仪器的控制。
典型的GPIB仪器系统由计算机、GPIB接口板和若干台GPIB仪器组成,所有设备通过GPIB电缆连接,如图1-7所示。具备GPIB接口的仪器间通过标准GPIB通信协议实现信息交互,具有很强的扩展性。但一般情况下,系统中GPIB电缆的总长度不应超过20m,设备间的最大距离不得超过4m且设备间的平均距离不得超过2m,设备个数不超过15个。
一个GPIB可以连接多台仪器和计算机。每个设备包括计算机接口板,都有一个唯一的0~30之间的GPIB地址,因此通过该地址就能指定数据源和目标。一般将地址0分配给GPIB接口板,连接到总线的仪器可以使用1~30之间的地址。GPIB需要一个控制器,通常是计算机,用来控制总线管理功能。计算机可以通过“写”命令和“读”数据的方式,实现对多台仪器的控制和操作,使多台仪器协同配合,这使测量由手动操作单台仪器过渡到大规模的自动化测试阶段,降低了人为因素造成的误差,提高了测试质量和测试速度。
图1-7 GPIB仪器的构成示意图
GPIB测量系统的结构和命令简单,主要应用于台式仪器,适合精确度要求高但计算机传输速度要求不高的情况。一般计算机不带有GPIB,用户可以使用一个插卡(如PCI-GPIB)或一个外部转换器(如GPIB-USB)在自己的计算机上增加GPIB仪器控制功能,同时还需要在计算机上安装GPIB驱动软件。
2)串口。串口通信是一条信息的各位数据被逐位按顺序传送的通信方式。它是计算机和外设之间通信的另一种常用的数据传输方法,这种方式的特点是数据按位传送,只需一根传输线即可完成,成本低但传输速度慢。串口通信RS-422最大传输距离可达1200m。根据信息的传送方向,串口通信可以进一步分为单工、半双工和全双工3种。
串口虚拟仪器是通过串口实现仪器与计算机、仪器与仪器之间的相互通信,从而组成多台仪器构成的自动测试系统。
使用串口通信时需要设定4个参数:传送的波特率、对字符编码的数据位数、可选奇偶校验位的奇偶性和停止位数。
串口通信协议有RS-232、RS-422和RS-485。LabVIEW能够执行串口通信中这3个常用的标准。
RS-232标准是IBM-PC及其兼容机上的串行连接标准,是串口通信中最为常见的规范,在鼠标、打印机或者调制解调器等常用的民用设备中应用,也应用于工业仪器中。与GPIB不同的是,一个RS-232串行口只能实现与一个设备进行通信的点对点连接方式,最远距离是15m。大多数计算机都有一个或两个内置的RS-232串口,如果计算机没有内置的串口,可以购买一个USB与RS-232的串口转换器,实现串行通信。
RS-422标准使用的是一个差分电信号,差分传输使用两根线同时传输和接收信号。相比RS-232,它能更好地抗噪声,有更远的传输距离。
RS-485是RS-422的改进,因为它增加了设备的个数。RS-485是RS-422的超集,因此所有的RS-422设备可以被RS-485控制。RS-485可以用超过1200m的线进行串行通信。计算机上不带RS-485的接口,需要通过485-232或485-USB的转换器才能接入。
虽然现在大部分的计算机都有内置的USB接口(通用串行总线),但是USB总线目前只用于较简单的测试系统。串口通信(RS-232、RS-422、RS-485)仍然广泛应用于许多工业设备中。LabVIEW串行函数库包含可用的针对串口操作的函数。
(3)模块化的虚拟仪器
模块化的虚拟仪器系统中,常用的硬件模块有PXI、VXI和LXI等模块。
PXI(PCI Extension for Instrumentation)定义了一个基于英特尔x86处理器(PC体系结构)和CompactPCI总线的模块化硬件平台。典型的配置包含一个PXI机箱(见图1-8)。PXI机箱集成高速数据传输总线及定时同步总线的机箱背板,集成高性能CPU的系统控制器,可运行各种软件程序,可通过编程自定义系统功能。PXI机箱内可以根据需要插入各种类型的测量模块,如模拟输入、运动控制、语音、GPIB和VXI接口等,系统紧凑、耐用、便于维护和升级。
图1-9所示为PXI系统的应用实例,最上方的计算机屏幕是用户界面,用来实现各种仪器模块的功能操控和输入-输出显示。
VXI(VMEbus Extension for Instrumentation)是板上仪器系统的另一个仪器标准。VXI系统包括主机箱,主机箱拥有多个插槽可以插入模块化仪器模块,结构紧凑可靠。VXI总线的组建方案功能十分强大,系统比较稳定,但价格昂贵。它适用于组建中大规模的自动化测试系统以及对速度和精度要求非常高的场合,在传统的测试和测量及ATE自动测试设备应用中有着广泛的应用,在要求测量通道数多(数百或数千个)的研究和工业控制数据采集和分析领域也很流行。
随着数字化、智能化测量技术的不断发展以及实际测量与测控需求的不断扩展,在实际的测控系统内,是多种总线和平台共存。
图1-8 安装有控制器及各种I/O卡的PXI机箱
图1-9 PXI系统的应用实例
1.3.2 虚拟仪器的软件结构
虚拟仪器中的软件包括VISA、仪器驱动程序和应用软件。虚拟仪器系统通过软件对系统中的模块化仪器/分立仪器进行配置(通过驱动程序完成),对通过总线获取的原始数据进行信号处理等计算操作,编写用户界面,实现数据存储等。
(1)VISA
VISA(Virtual Instrument Software Architecture)是输入(I)/输出(O)接口软件标准及其相关规范的总称。VISA提供用于仪器编程的标准I/O函数库,称为VISA库。VISA库驻留在计算机系统内,是计算机与仪器的标准软件通信接口,计算机通过它来控制仪器。通过高层次的API调用底层驱动,可以控制基于GPIB、串口、USB、VXI以及其他总线的仪器,针对不同的仪器选择所调用的底层驱动(如串口驱动或GPIB驱动),使应用层用户不需要关心具体的与仪器相关的接口控制过程,简化了仪器控制。VISA是实现虚拟仪器系统开放性和互操作性的关键。
(2)仪器驱动程序
仪器驱动程序是连接上层应用软件和低层I/O软件的纽带,是对仪器实行控制和通信的软件集合。每个计算机外设、仪器都有自己的驱动程序,由仪器厂商提供。
(3)应用软件
一般在仪器硬件厂商提供的I/O接口软件和仪器驱动程序基础上进行应用软件开发。应用软件包含两方面功能的程序:实现虚拟面板功能的软件程序和定义测试功能的流程图软件程序。虚拟仪器面对用户,提供友好界面和数据分析处理功能,以完成自动测试任务。