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

时间:2016-05-31 06:03:43

标签: python usb visa

我试图使用pyVisa控制USB乐器(Keithley 2450)但我收到错误。我跟随pyVisa website

上的简单示例

发送"服务请求"

后,我遇到了问题
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的新手。

1 个答案:

答案 0 :(得分:4)

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

我认为这是因为当您打开设备时,您使用了usb接口instead of the gpib`接口。

如果你去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 interace中可用,但不能在USB中使用。