2

我正在尝试使用 pyVisa 控制 USB 仪器(Keithley 2450),但出现错误。我正在关注pyVisa 网站上的简单示例

发送“服务请求”后出现问题

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 的新手。

4

1 回答 1

4

我刚刚尝试了我的 Pyvisa,它也有同样的问题。我目前正在使用 Pyvisa 版本1.8

我认为是因为当你打开设备时,你使用了usb接口instead of thegpib` 接口。

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

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

所以可能你可以使用设置为的函数wait_for_srqevent_typeService Request没有从我这边尝试)。

需要注意的是SRQ(服务请求)是由 IEEE 488 标准定义的,它是少数几条专用于 GPIB 上的信令和控制的线路之一。这意味着SRQ仅在 GPIB 接口中可用,但在 USB 中不可用。

于 2016-06-01T18:10:31.140 回答