我试图使用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的新手。
答案 0 :(得分:4)
我刚刚尝试使用我的Pyvisa,它也有同样的问题。我目前正在使用Pyvisa版本1.8
。
我认为这是因为当您打开设备时,您使用了usb
接口instead of the
gpib`接口。
如果你去pyvisa的wait_for_srq
来源,你可以看到它只属于GPIBInstrument
。
与wait_on_event
不同,它直接包含在NI-VISA C库中,这意味着此方法适用于所有类型的工具(GPIBInstrument
,USBInstrument
)。
所以你可以使用wait_for_srq
函数event_type
设置为Service Request
(我没有尝试过)。
值得注意的是,SRQ
(服务请求)由IEEE 488标准定义,它是专门用于GPIB信令和控制的少数几行之一。这意味着SRQ
仅在GPIB interace中可用,但不能在USB中使用。