无法与GPIB仪器通信

更新 Sep 21, 2023

适用于

硬件

  • GPIB Cable

软件

  • LabVIEW

驱动

  • NI-VISA
  • NI-488.2

问题详述

当我尝试与GPIB仪器通信时,它没有响应。

解决方案

请按照以下步骤解决此问题:

确认您的GPIB电缆正常工作,并且您可以向仪器写入命令。

确认您已安装相应的软件来与GPIB设备进行通信。确保您具有兼容版本的NI-VISA驱动程序NI 488.2驱动程序

Measurement and Automation Explorer(MAX)提供Scan for Instruments功能,可快速测试GPIB设置。Scan for Instruments通过发送*IDN?识别仪器并进行一个读的操作。请注意,如果您的仪器不支持*IDN?命令,它不会被识别。

按照步骤3,如何在MAX中为仪器创建VISA资源,在GPIB仪器控制教程Scan for Instruments,以便在NI MAX中查看仪器,如下图所示。

虽然并非所有设备都会响应*IDN?,大多数是通过最初的FindLstn()测试来获取。如果未检测到您的设备,请检查以下内容:
  1. 检查您的布线是否符合以下严格要求:
    • 连接到GPIB网络的GPIB设备不超过15个
    • 任何2个相邻仪器之间的电缆不超过4米
    • 总线上所有仪器之间电缆长度平均不超过2米
  2. 检查您是否写入了正确的GPIB地址。
  3. 确保电缆牢连接到仪器和控制器板上。如果一台仪器工作但另一台仪器不工作,请尝试更换电缆。
  4. 如果连接了多台仪器,请保留一台仪器,断开除它之外的所有仪器。具有损坏的GPIB接口的仪器可能会导致总线上其他正常的仪器进行通信。
  5. 检查仪器的地址,确保它们与控制器不同。 GPIB地址0通常保留给控制器(通常是计算机中的NI GPIB卡)。您需要在前面板上或通过仪器上某处拨码开关设置仪器的地址。
  6. 有时,某些仪器对Scan for Instruments命令的响应速度不够快。您可以使用VISA测试面板或LabVIEW应用程序将命令发送到仪器并查看通信是否成功。
如果您仍然无法在NI MAX中查看仪器,请按照GPIB仪器控制教程中步骤3中的故障排除步骤进行操作。

如果写入没有返回错误,则表示已成功发送和接收。

检查是否能够从仪器中读取数据。

现在执行读取操作来看仪器的响应。如果您在读取时收到错误,则很可能是由于超时而导致的EABO。如果遇到此错误,请检查以下内容:
  1. 验证您发送的命令对该仪器是否有效。大多数仪器根本不响应无效命令。有关有效命令的列表,请参阅仪器的用户手册或联系其制造商。
    • 许多仪器会对*IDN?ID做出回应,但不是全部。
  2. 验证写入字符串使用的终止方式。消息终止有两种类型:
    • 在GPIB上使用EOI行(结束或识别)作为传输的最后一个字节。这是National Instruments GPIB驱动程序默认的操作。通过进行驱动程序调用(请参阅IBCONFIG)或GPIB配置实用程序(Windows中的MAX,其他操作系统上的GPIB Explorer)更改EOI设置。
    • 在末尾发送EOS(字符串结尾)字符(回车符(\r)或换行符(\n))。要发送EOS,请将其添加到写入仪器的字符串末尾。

相关信息

GPIB仪器的大多数问题都是由于物理设置(无法检测设备)或发送命令(读/写)导致。

单击MAX中的Scan for Instruments按钮将对所有0-30GPIB地址进行FindLstn()测试,以在总线上找到响应。然后它会通过发送*IDN?来尝试识别这些仪器并执行读操作。