0.4.1 虚拟仪器的软件结构

虚拟仪器的核心就是仪器功能的软件化,就是利用计算机的软件和硬件资源,使本来需要硬件或电路实现的技术软件化和虚拟化,最大限度地降低系统成本,增强系统的功能与灵活性。虚拟仪器的软件结构如图0-8所示。基于软件在虚拟仪器系统中的重要作用,从低层到顶层,虚拟仪器的软件系统框架包括三个部分:VISA库、仪器驱动程序、应用软件。

图0-8 虚拟仪器的软件结构

1.VISA库

即虚拟仪器软件体系结构,其实质就是标准的I/O函数库及其相关规范的总称。一般称这个I/O函数库为VISA库。它驻留于计算机系统之中,执行仪器总线的特殊功能,是计算机与仪器之间的软件层连接,以实现对仪器的程控。对仪器驱动程序开发者来说,VISA库是一个可调用的操作函数集。

作为标准化的I/O接口软件规范,VISA的主要作用有:

(1)为所有用户提供统一的软件编程基础,对驱动程序、应用程序不必考虑接口类型均可使用。

(2)仅规定为用户提供的标准函数,不对具体实现进行任何说明。

(3)用于编写符合VPP规范的仪器驱动程序,完成计算机与仪器之间的命令和数据传输,实现对仪器的控制。

(4)VISA库作为底层I/O接口软件,运行于计算机系统中。

2.仪器驱动程序

仪器驱动程序是完成对某一特定设备的控制与通信的软件程序集合,是应用程序实现设备控制的桥梁。每个设备都有自己的驱动程序,由仪器厂商以源码的形式提供给用户,用户在应用程序中调用仪器驱动程序。仪器驱动程序主要用来初始化虚拟仪器,设置特定的参数和工作方式,使虚拟仪器保持正常的工作状态。

每一种设备驱动程序都是为增加编程灵活性和提高数据吞吐量而设计的。每个设备驱动程序都具有一个共同的应用程序接口(API)。因此,不管虚拟仪器所使用的计算机或操作系统是什么,最终所编写的用户应用程序都是可移植的。

数据采集系统一个主要方面是驱动软件的使用。驱动软件是直接对数据采集硬件系统注册来进行设计的软件层,管理系统的操作及计算机资源的组合,如CPU中断、DMA传送、存储器等;驱动软件在保持高性能、让用户易于理解的同时,隐藏了复杂、详细的硬件级程序设计。越来越复杂的DAQ硬件、计算机、软件等,在实际上提高了驱动程序的重要性和价值。合适的驱动软件不但减少了组合DAQ系统的时间,而且是高性能和系统性的最佳组合。

对于市场上的大多数计算机内置插卡,厂家都配备了相应的设备驱动程序。用户在编制应用程序时,可以像调用系统函数那样直接调用设备驱动程序,进行设备操作。如果所用计算机内置插卡和外设插卡没有设备驱动程序,用户也可以采用高级语言自己编写。

3.应用程序

应用程序建立在仪器驱动程序之上,直接面对操作用户,并提供直观、友好的操作界面,以及丰富的数据分析与处理功能来完成自动测试任务。

应用程序包含两个方面的程序:

(1)实现虚拟面板功能的前面板软件程序。对于每个虚拟仪器模块来说,必须提供一个虚拟仪器面板。在系统集成初始化时,软面板既可用于实现仪器功能,又能帮助用户理解和熟悉仪器特性。软面板是一个可独立运行的Windows应用程序。

(2)定义测试功能的流程图软件程序。应用软件直接面对操作用户,通过提供直观、友好的操作界面,以及丰富的数据分析与处理功能来完成虚拟仪器的测试功能,它体现了虚拟仪器的优点和本质。用户可方便、直观地对应用程序进行后期开发。

虚拟仪器系统应用软件不仅包含系统内仪器模块的操作控制、数据的采集分析与显示,同时还必须具有良好的开放性与可扩展性。