Python:具有 USB 连接的 PyVisa -> wait_for_srq() 还是 wait_on_event?

标签 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 接口(interface)与我的仪器进行远程通信? 希望你能帮我。我是 Python 和 SCPI 新手。

最佳答案

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

我认为这是因为当您打开设备时,您使用了usb接口(interface)而不是gpib`接口(interface)。

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

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

因此,您可能可以使用函数wait_for_srq,并将event_type设置为服务请求(我没有从我这边尝试) .

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

关于Python:具有 USB 连接的 PyVisa -> wait_for_srq() 还是 wait_on_event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37537927/

相关文章:

ios - 是否可以通过 Objective c 中的 USB 摄像头套件录制声音?

Python 仪器驱动程序

python - 带有 TF 后端的 Keras 指标与 tensorflow 指标

使用 httplib 发送 Python HTTPConnection 文件,检索进度

windows - 尝试使用 DeviceID 字段从 WMI 查询中唯一标识 USB 设备

python - 与 VISA 的设备通信在 Python 中有效,但在 C++ 中无效

python - 如何修复 Ubuntu 21.10 中的 QT 问题?

python - 为什么我的代码不适用于 python list rotate

Android USB - 了解controlTransfer方法