NI-​VISA​概述

概览

本文​档​主要​介绍​NI​的​一​款​虚拟​仪器​软件​架构​API​——​NI-​VISA。


​NI-​VISA​提供​了​一个​编​程​接口​来​控制​NI​应用​开发​环境​(如​LabVIEW、​LabVIEW NXG、​LabWindows/​CVI​和​Measurement Studio)​中的​以太​网/​LXI、​GPIB、​串​行、​USB、​PXI​和​VXI​仪器。​该​API​通过​NI-​VISA​驱动​进行​安装。

 

内容

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​功能​的​函数​不受​总​线​限制。​最​常用​的​仪器​功能​只需​通过​简洁​的​命令​集​实现,​因此​用户​不需要​学习​多种​总​线​类型​的​底层​通信​协议。

VISA​术语

在​开始​使用​NI-​VISA​之前,​学习​一些​开发​过程​中​常用​的​术语​会​有所​帮助。

VISA​资源

VISA​资源​就是​系统​中​仪器。​如果有​多个​仪器​连接​至​一个​上位​机,​每​个​仪器​都可以​认为​是​一个​VISA​资源。​资源​就是​仪器​所有​功能​的​完整​描述。

​VISA​的​资源​类型​取决​于​仪器。​资源​类型​包括:​INSTR、​SOCKET、​RAW等

VISA​资源​名称​(仪器​描述​符)

VISA​资源​名称​就是​VISA​资源​的​确切​名称,​用于​指定​仪器​接口​类型、​仪器​地址​和​VISA​会话​类型。​VISA​资源​名称​控制​用于​与​开发​环境​中的​仪器​进行​通信。​该​信息​可​帮助​您​确认​仪器​是否​被​程序​正确​识别​和​寻​址。

VISA​会话​句柄

VISA​会话​句柄​是​与​VISA​资源​的​通信​路径。​使用​viOpen ()​操作,​即可​打开​会话​句柄。​想要​与​仪器​进行​VISA​通信​时,​必须​随时​打开​VISA​会话​句柄。

VISA​别名

VISA​别名​是​VISA​资源​的​别称。​别名​提供​了​一种​友好​的​方式​来​快速​识别​仪器。 

典型​的​VISA​应用​程序

典型​的​VISA​应用​程序​应​执行​以下​步骤:

  1. 打开​指定​VISA​资源​的​会话​句柄。
  2. 对​该​资源​进行​配置​(设置波特率终止​字符等)。
  3. 对​设备​执行​写​入​和​读​取。
  4. 关闭​资源​的​会话​句柄。
  5. 处理​可能​发生​的​任何​错误。

如果​仪器​采用​的是​串​行、​USB、​以太​网​或​VISA​支持​的​任何​其他​接口​类型,​则​将​完全​遵循​这些​步骤。​而​我们​只需要​做的​就是​将“ VISA​资源​名称”连接​到“ VISA​打开”的​输入。

LabVIEW​范例

该​LabVIEW​应用​程序​打开​与​GPIB​仪器​的​会话,​执行​* IDN?​\ n​的​写​入​操作,​并从​设备​读​取​指定​数量​的​字​节。​如需​查看​每​个​VISA​功能​的​说明,​请​参见VISA VI​和​功能

Visual C​+​+范例

 

Visual Basic​范例

NI-​VISA​下载

对于​Windows​和​Mac​操作​系统,​NI-​VISA​有​单独​的​下载​程序​包。​而​对于​Linux​操作​系统,​NI-​VISA​与​其他​NI​设备​驱动​程序​捆绑​在一起,​称为“ NI Linux​设备​驱动​程序”。

有关​操作​系统​兼容​性的​更多​信息,​请​参阅​以下​内容:

仪器​控制​教程

请​参阅​以下​不同​仪器​接口​类型​对应​的​仪器​控制​教程,​这些​教程​逐步​介绍​了​如何​实现​与​仪器​的​通信。

仪器​控制​论坛

NI​还​通过“ 仪器​控制​论坛”提供​更多​支持。​用户​可以​通过​发布​问题​和​共享​信息​来​与​来自​全球​各地​的​同行​互动。