虚拟仪器软件结构(VISA)简介
1、背景
虚拟仪器软件结构(Virtual Instrument Software Architecture, VISA)是 VXI Plug & Play
联盟制定的 VXI 总线虚拟仪器标准化 I/O 控制软件,是通用的仪器驱动标准,很多大型的
仪器厂商的产品都遵循这个标准。NI-VISA 就是使用这个标准开发出的一套软件,或者称
为驱动。
NI-VISA(以下简称为"VISA")是美国国家仪器 NI(National Instrument)公司开发的一种用
来与各种仪器总线进行通信的高级应用编程接口驱动软件。VISA 总线 I/O 软件是一个综合
软件包,不受平台、总线和环境的限制,可用来对 USB、GPIB、串口、VXI、PXI 和以太
网系统进行配置、编程和调试。也就是说,无论使用 LabVIEW 编程在一台运行 Windows
2000 的机器上与 USB 设备进行通信,还是使用 C 编程在一台运行 Mac OS X 的机器上与
GPIB 设备进行通信,都可以使用同样的接口(API)。VISA 是虚拟仪器系统 I/O 接口软件,
提 供 了 硬 件 与 NI LabVIEW 、 LabWindows/CVI 和 Measurement Studio ( 用 于 Microsoft
Visual Studio)等应用开发环境之间的编程界面。基于自底向上结构模型的 VISA 创造了一
个统一形式的 I/O 控制函数集。一方面,对初学者或是简单任务的设计者来说,VISA 提供
了简单易用的控制函数集,在应用形式上相当简单;另一方面,对复杂系统的组建者来说
VISA 提供了非常强大的仪器控制功能与资源管理功能。
2、VISA 简介
使用 VISA 软件编写 PXI 仪器驱动器是 PXI 系统联盟建议采用的一种方式,为此
VPP(VXI Plug&Play)系统联盟专门成立了仪器驱动器技术组,将现有的一些成熟的仪器驱
动器的技术与新的指导原则相结合,制定了完善的 VPP 仪器驱动器标准,它将各种仪器的
底层细节都封装在高级功能函数中,用户可以在高层的应用程序中直接使用这些函数用来
控制仪器。VPP 仪器驱动器具有以下特点:
(1)全部仪器功能的控制;
(2)以原代码与预编译的形式提供驱动程序;
(3)模块化的分层结构;
(4)设计与实现的一致性;
(5)兼容性与开放性。
VPP 联盟在 VISA 的基础上建立了完整的仪器驱动程序开发规范,简化了仪器驱动的
开发流程,使得同一个仪器驱动能够为不同的开发平台服务。
VISA 的实质就是标准的 I/O 函数库及其相关规范的总称。一般称这个 I/O 函数库为
VISA 库。它驻留于计算机系统之中,用来执行仪器总线的特殊功能,是计算机与仪器之间
的软件层连接,以实现对仪器的程序控制。它对于仪器驱动程序开发者来说是一个可调用
的操作函数集。由于 VISA 为虚拟仪器提供了标准化的 I/O 接口软件规范,这样便可以在同
一个应用软件下面控制多台不同总线的仪器,实现仪器之间的通信、同步与测量。VISA 是
采用面向对象的编程思想来实现的,在 VISA 标准下的仪器驱动器的内部结构分为 5 个层
次 : 资 源 管 理 层 (Resource Manage) , I/O 资 源 层 (I/O Level Resources) , 仪 器 资 源 层
(Instrument Level Resources),用户定义资源层(User Defined Resources),用户应用程序接口
(User Application-User Interfaces)。如图 1 所示。