虚拟仪器是全新概念的仪器,它是对传统仪器概念的重大突破,它的出现开始了仪器发展的全新时代,是仪器领域的一场革命。设计功能强大、高效、集成完美,应用于测试和测控领域的虚拟仪器系统是信息时代的需求。
1 虚拟仪器系统的构成
虚拟仪器由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。其中,硬件设备与接口可以是各种以PC为基础的内置功能插卡、通用接口总线接口卡、串行口、VXI总线仪器接口等设备,或者是其它各种可程控的外置测试设备,设备驱动软件是直接控制各种硬件接口的驱动程序,虚拟仪器通过底层设备驱动软件与真实的仪器系统进行通讯,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作元素相对应的各种控件。用户用鼠标操作虚拟仪器的面板就如同操作真实仪器一样真实与方便。
1.1 虚拟仪器系统的硬件构成
虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件。计算机硬件平台可以是各种类型的计算机,如台式计算机、便携式计算机、工作站、嵌入式计算机等。它管理着虚拟仪器的软件资源,是虚拟仪器的硬件基础。因此,计算机技术在显示、存储能力、处理器性能、网络、总线标准等方面的发展,导致了虚拟仪器系统的快速发展。
按照测控功能硬件的不同,VI可分为DAQ、GPIB、VXI、PXI和串口总线五种标准体系结构,它们主要完成被测输入信号的采集、放大、模/数转换。
1.2 虚拟仪器系统的软件构成
测试软件是虚拟仪器的主心骨。NI公司在提出虚拟仪器概念并推出第一批实用成果时,就用软件就是仪器来表达虚拟仪器的特征,强调软件在虚拟仪器中的重要位置。NI公司从一开始就推出丰富而又简洁的虚拟仪器开发软件。使用者可以根据不同的测试任务,在虚拟仪器开发软件的提示下编制不同的测试软件,来实现当代科学技术复杂的测试任务。在虚拟仪器系统中用灵活强大的计算机软件代替传统仪器的某些硬件,特别是系统中应用计算机直接参与测试信号的产生和测量特性的分析,使仪器中的一些硬件甚至整个仪器从系统中消失,而由计算机的软硬件资源来完成它们的功能。虚拟仪器测试系统的软件主要分为以下四部分。
1.2.1仪器面板控制软件
仪器面板控制软件即测试管理层,是用户与仪器之间交流信息的纽带。利用计算机强大的图形化编程环境,使用可视化的技术,从控制模块上选择你所需要的对象,放在虚拟仪器的前面板上。
1.2.2 数据分析处理软件
利用计算机强大的计算能力和虚拟仪器开发软件功能强大的函数库可以极大提高虚拟仪器系统的数据分析处理能力,节省开发时间。
1.2.3 仪器驱动软件
虚拟仪器驱动程序是处理与特定仪器进行控制通信的一种软件。仪器驱动器与通信接口及使用开发环境相联系,它提供一种高级的、抽象的仪器映像,它还能提供特定的使用开发环境信息。仪器驱动器是虚拟仪器的核心,是用户完成对仪器硬件控制的纽带和桥梁。虚拟仪器驱动程序的核心是驱动程序函数/VI集,函数/VI是指组成驱动的模块化子程序。驱动程序一般分为两层,底层是仪器的基本操作,如初始化仪器配置仪器输入参数、收发数据、查看仪器状态等。高层是应用函数/VI层,它根据具体测量要求调用底层的函数/VI。
1.2.4 通用I/O接口软件
在虚拟仪器系统中,I/O接口软件作为虚拟仪器系统软件结构中承上启下的一层,其模块化与标准化越来越重要。VXI总线即插即用联盟,为其制定了标准,提出了自底向上的I/O接口软件模型即VISA。作为通用I/O标准,VISA具有与仪器硬件接口无关性的特点, 即这种软件结构是面向器件功能而不是面向接口总线的。应用工程师为带GPIB接口仪器所写的软件,也可以于VXI系统或具有RS232接口的设备上,这样不但大大缩短了应用程序的开发周期,而且彻底改变了测试软件开发的方式和手段。
2 虚拟仪器系统软面板的设计标准
虚拟仪器软面板是用户用来操作仪器,与仪器进行通信,输入参数设置,输出结果显示的用户接口。其设计准则是:
(1) 按照VPP规范设计软面板,使面板具有标准化、开放性、可移植性。
(2) 根据测试要求确定仪器功能。根据测试任务确定仪器软面板具体测试、测量功能,开关、控制等设置要求。
(3) 用面向对象的设计方法设计软面板。按照面向对象的设计思想,一个虚拟仪器集成系统由多个虚拟仪器组成,每个虚拟仪器均由软面板控制。软面板由大量的虚拟控件组成。
3 虚拟仪器系统的组建方案
在虚拟仪器系统的组建方案,主要包括底层硬件、软硬件接口、应用程序以及驱动程序的设计与开发。
3.1 制定所设计仪器的接口形式
如果仪器设备具有RS-232串行接口,则直接用连线将仪器设备和计算机的RS-232串行口连接即可。如果是GPIB接口,需要额外配备一块GPIB-488接口板,将接口板插入计算机的ISA插槽,建立起计算机与仪器设备之间的通信桥梁。如果使用计算机来控制VXI总线设备,则需要配置一块GPIB接口卡,通过GPIB 总线与VXI主机箱零槽模块通信。零槽模块的GPIB-VXI翻译器将GPIB 的命令翻译成VXI命令并把各模块返回的数据以一定的格式传回主控计算机。DAQ数据采集卡是基于计算机标准总线的,因此可以将数据采集卡直接插到计算机的插槽上。
3.2 开发硬件采集卡
一种典型的数据采集卡组成包括,先用传感器把非电的物理量转变成模拟电量,采样/保持器可以保持信号,实现对瞬时信号进行采集,以便ADC进行数字转换,提高ADC转换器的转换精度。实现在测量中同时对多路模拟信号进行采样。多路模拟开关可以分时选通来自多个输入通道的某一路信号,这样在多路开关后的单元电路,只需一套即可,也可以采用计算机进行多路选择控制。当传感器输出的信号比较小,可以用放大器放大和缓冲输入信号,如果采用的是可编程增益放大器就可以通过计算机进行增益选择控制确定增益倍数。精度及性能是仪器系统的生命,而这完全依赖于提供基础数据的信号采集控制电路,因此在硬件采集电路的设计时,需根据所设计的虚拟仪器所要达到的性能指标和被测信号的特点,设计合理的系统结构。系统的结构合理与否,对系统的可靠性、性能价格比等有直接影响,在硬件和软件功能的设计上要尽量使虚拟仪器的结构简单,可靠性高,成本低廉,选用合适的单元器件,尽可能的提高采集卡采集的精度和速度。
3.3 确定设计采集卡的设备驱动程序方案
采集卡的设备驱动程序是控制各种硬件采集卡的驱动程序,是连接主控计算机与信号采集调理部件的纽带。驱动程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集,它是虚拟仪器核心软件之一。
3.4 确定虚拟仪器系统应用程序编程语言
虚拟仪器系统软件结构的设计在体现整个系统的性能和灵活性方面作用很大,因此在开发虚拟仪器系统的软件部分时,首先要根据所开发的虚拟仪器功能和性能,确定应用程序和软面板程序的模块结构和功能,画出各部分的流程图,采用合适的编程语言。在编制虚拟仪器软件中可采用两种编程方法。一种是采用面向对象的可视化的高级编程语言,如VC++、VB和Delphi等编写虚拟仪器的软件,这种方法实现的系统灵活性高,易于扩充和升级维护。另一种是采用图形化编程方法,如LabVIEW,HPVEE,采用图形化编程的优势是软件开发周期短、编程较简单,特别适合工程技术人员使用。总之在编写程序时,要尽可能的让每一模块都有一定的独立性,模块之间明确定义接口,模块之间可以采用数据传递的形式进行联系。
3.5 软件调试和运行
程序编写好以后要对各模块进行调试和运行,可以通过采集各种标准信号来验证虚拟仪器系统功能的正确性和性能的优良性。
4 结束语
本文研究了虚拟仪器系统的设计方案,主要包括了虚拟仪器系统的构成,虚拟仪器系统软面板的设计标准、以及虚拟仪器系统的组建方案,用虚拟仪器技术组建的系统,更加灵活、更紧凑、更经济、功能更强大。无论是测量、测试、计量或是工业过程控制和分析处理,还是其它更为广泛的测控领域,设计虚拟仪器系统都是理想的、高效率的解决方案。