GPIB仪器控制教程

更新 Apr 23, 2021

环境

硬件

  • GPIB Instrument Control Device

本教程向您展示如何设置NI硬件和软件以与LabVIEW中的GPIB仪器通信。

先决条件

请查阅GPIB仪器的引脚或文档,并确保您具有正确的电缆和GPIB仪器控制设备以将仪器连接至计算机。

电缆线

GPIB仪器控制装置

安装NI软件和驱动程序

安装LabVIEW的最新兼容版本, NI-VISA驱动程序和NI-488.2驱动程序。有关兼容性信息,请参阅以下内容。

安装GPIB控制器

如果使用NI GPIB控制器,请参阅《 GPIB硬件安装指南》以安装硬件。

如果使用NI GPIB-ENET设备,请参见为GPIB-ENET设备设置以太网配置,以了解将接口添加到系统的其他步骤。

在MAX中配置硬件

在Measurement and Automation Explorer(MAX)中,NI-VISA检测仪器并创建用于与仪器通信的VISA资源。

  1. 从“开始”菜单中打开MAX。
  2. 展开设备和接口。您应该看到NI GPIB控制器的VISA资源名称列为GPIB <controller> :: INSTR,其中<controller>是控制器编号。如果未指定,则控制器编号默认为0。

如果看不到控制器,请参见MAX中的无法检测NI GPIB-USB HS设备

  1. 成功识别控制器后,通过GPIB电缆将GPIB仪器牢固地连接到控制器并打开电源。
  2. 在MAX中,选择GPIB控制器,然后选择扫描仪器。 NI-VISA将通过执行FindLstn()测试和* IDN来尝试识别连接的GPIB仪器?查询。仪器的VISA资源名称应在GPIB控制器资源下显示为GPIB :: <主地址> :: INSTR

注意:如果您的仪器不符合SCPI,它将不会出现在MAX中。查看仪器的用户手册以获取受支持的命令,然后继续下面的“测试通讯”部分。

如果缺少“扫描仪器” ,请参阅《 NI MAX GPIB扫描仪器缺失》

如果您遇到“扫描仪器”问题,请参阅《 在MAX中使用扫描仪器无法看到GPIB仪器》

图1.在MAX中扫描仪器
 
  1. 成功识别仪器后,在MAX中选择仪器,然后在窗口底部选择“ VISA属性”选项卡。您可以配置仪器的“ VISA别名”,以便于识别。

测试交流

设置和配置后,使用交互式控件来验证与仪器的通信并测试不同的仪器命令。

如果您的设备符合SCPI,请选择其VISA资源,然后选择与仪器通信

  1. NI-488.2 Communicator应该启动。
  2. 发送字符串字段中键入受支持的命令。有关有效命令的列表,请参考制造商文档。
  3. 选择以下之一:

查询–将命令写入仪器并读回响应。

写入–将命令写入仪器。

读取–读取仪器的响应。

如果您的设备不符合SCPI,请使用GPIB交互式控件(IBIC)进行更高级的通信。

  1. 在MAX中,导航至工具选项卡>> NI-488.2 >>交互式控制
  2. 输入帮助以启动IBIC帮助文档,并参阅仪器的手册以获取受支持的命令。

如果您能够使用IBIC与仪器通讯,那么您还应该能够通过任何其他编程语言(例如G代码或C)与仪器通讯。

安装仪器驱动程序

完成配置并验证与仪器的通信后,您需要一种从交互模式转换为编程模式的简便方法。实现此目的的最佳方法是使用仪器驱动程序。

请参阅在LabVIEW中选择与控制仪器的正确接口,以确定哪种仪器驱动程序类型最适合您的应用程序。请按照文档中的链接安装和使用仪器驱动程序。

运行一个例子

仪器驱动程序,NI-488.2和NI-VISA驱动程序将安装示例以及与仪器通信所需的API。将这些示例用作编程参考,以及一种轻松使用仪器的简便方法。有关是否使用NI-488.2或NI-VISA API的更多信息,请参见NI-VISA帮助:GPIB摘要

注意:开始运行LabVIEW示例之前,关闭MAX。打开MAX测试面板并同时运行LabVIEW示例将导致访问资源错误。

仪器驱动程序示例

如果安装了仪器驱动程序,请参考以下示例:

NI-488.2或NI-VISA驱动程序示例

如果使用NI-488.2或NI-VISA,请参见发货示例SimpleGPIB.vi。或具有VISA Functions.vi的GPIB。

  1. 要查找示例,请打开LabVIEW并导航至帮助选项卡>>查找示例>>硬件输入和输出>> GPIB
  2. 确保选择了正确的VISA资源名称。
  3. 运行VI。

有关NI-488.2函数的更多信息,请参见LabVIEW帮助:GPIB函数

有关NI-VISA函数的更多信息,请参考LabVIEW帮助:VISA函数和VI

关于NI-488.2和NI-VISA功能的比较,请参考NI-VISA帮助:NI-VISA和NI-488.2 API之间的比较