本文档主要介绍NI的一款虚拟仪器软件架构API——NI-VISA。
NI-VISA提供了一个编程接口来控制NI应用开发环境(如LabVIEW、LabWindows/CVI和Measurement Studio)中的以太网/LXI、GPIB、串行、USB、PXI和VXI仪器。该API通过NI-VISA驱动进行安装。
NI-VISA具有以下三个优势。
1. 接口独立性
无论是哪种类型的接口,NI-VISA均采用相同的操作来与仪器进行通信。这意味着接口是可以随意切换的,而且要与不同的仪器通信,只需使用一种编程语言即可。举例来说,无论仪器采用的是串行、GPIB还是USB接口,如果要将ASCII字符串写入基于消息的仪器,VISA命令都是相同的。
2. 平台可移植性
在NI-VISA中,使用VISA函数调用编写的程序可以在平台之间移动。VISA通过定义自己的数据类型来实现这一点。这样可以确保在不同平台上应用的性能始终如一。因此,使用LabVIEW编写的VISA应用程序可以轻易地移植到支持LabVIEW的任意平台上。NI-VISA支持多种操作系统,包括Windows操作系统、MAC OS操作系统和Linux操作系统。
3. 易用性
NI-VISA是一个极其简单的API,非常容易上手,其自身大部分I/O功能的函数不受总线限制。最常用的仪器功能只需通过简洁的命令集实现,因此用户不需要学习多种总线类型的底层通信协议。
在开始使用NI-VISA之前,学习一些开发过程中常用的术语会有所帮助。
VISA资源
VISA资源就是系统中仪器。如果有多个仪器连接至一个上位机,每个仪器都可以认为是一个VISA资源。资源就是仪器所有功能的完整描述。
VISA的资源类型取决于仪器。资源类型包括:INSTR、SOCKET、RAW等
VISA资源名称(仪器描述符)
VISA资源名称就是VISA资源的确切名称,用于指定仪器接口类型、仪器地址和VISA会话类型。VISA资源名称控制用于与开发环境中的仪器进行通信。该信息可帮助您确认仪器是否被程序正确识别和寻址。
VISA会话句柄
VISA会话句柄是与VISA资源的通信路径。使用viOpen ()操作,即可打开会话句柄。想要与仪器进行VISA通信时,必须随时打开VISA会话句柄。
VISA别名
VISA别名是VISA资源的别称。别名提供了一种友好的方式来快速识别仪器。
典型的VISA应用程序应执行以下步骤:
如果仪器采用的是串行、USB、以太网或VISA支持的任何其他接口类型,则将完全遵循这些步骤。而我们只需要做的就是将“ VISA资源名称”连接到“ VISA打开”的输入。
LabVIEW范例
该LabVIEW应用程序打开与GPIB仪器的会话,执行* IDN?\ n的写入操作,并从设备读取指定数量的字节。如需查看每个VISA功能的说明,请参见VISA VI和功能。
Visual C++范例
Visual Basic范例
对于Windows和Mac操作系统,NI-VISA有单独的下载程序包。而对于Linux操作系统,NI-VISA与其他NI设备驱动程序捆绑在一起,称为“ NI Linux设备驱动程序”。
有关操作系统兼容性的更多信息,请参阅以下内容:
请参阅以下不同仪器接口类型对应的仪器控制教程,这些教程逐步介绍了如何实现与仪器的通信。
NI还通过“仪器控制论坛”提供更多支持。用户可以通过发布问题和共享信息与全球各地的同行互动。