Python:带 USB 连接的 PyVisa -> wait_for_srq() 或 wait_on_event?

Python: PyVisa with USB connection - > wait_for_srq() or wait_on_event?

我正在尝试使用 pyVisa 控制 USB 仪器 (Keithley 2450),但出现错误。我正在关注 pyVisa website

上的简单示例

发送 "service request"

后出现问题
keithley.wait_for_srq()

并抛出错误

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'USBInstrument' object has no attribute 'wait_for_srq'

似乎用那个命令我无法通过 USB 通信。如何通过 USB 接口与我的仪器进行远程通信? 希望你能帮上忙。我是 Python 和 SCPI 的新手。

我刚才用我的 Pyvisa 试了一下,它也有同样的问题。我目前使用的是 Pyvisa 版本 1.8

我想是因为你打开设备的时候使用了usb接口instead of thegpib`接口。

如果你去pyvisa中wait_for_srq的源码,你可以看到它只属于GPIBInstrument

wait_on_event不同,它直接包裹在NI-VISA C库中,这意味着这种方法适用于所有类型的仪器(GPIBInstrumentUSBInstrument)。

所以您可能可以使用函数 wait_for_srq 并将 event_type 设置为 Service Request(我没有尝试过)。

需要注意的是,SRQ(服务请求)由 IEEE 488 标准定义,它是 GPIB 上为数不多的专用于信令和控制的线路之一。这意味着 SRQ 仅适用于 GPIB 接口而非 USB。