【发布时间】:2015-11-03 13:07:51
【问题描述】:
我编写了一个数据采集程序/脚本,可与我们合作开发的设备配合使用。问题是我只能从这个设备上读取。无法写入,因此无法使用串行“?IDN*”命令知道这是什么设备。
唯一定义此设备的是它的“型号”,可以在 Windows 控制面板的“设备和打印机”中看到。如下图所示:
设计该设备的人能够创建一个 labview 简单程序,该程序通过 NI-VISA 通过称为“Intf Inst Name”的东西从设备中提取此名称,该名称称为“接口信息:接口描述”。
如果我获得此型号名称并将其与 pyvisa 设备名称进行比较,我将能够自动检测我们设备的存在,这是非常重要的,以防 USB 断开连接。这是因为 VISA 通过一个在每台计算机上可能不同的名称打开设备,但这个名称“GPS DATA LOGGER”在任何地方始终都是相同的。
我需要这个解决方案是跨平台的。这就是为什么我需要使用 pyvisa 或 pyserial。尽管任何跨平台替代方案都可以。
所以我的问题很简单:如何使用 pyvisa/pyserial 找到与设备型号对应的型号名称(在我的情况下为“GPS DATA LOGGER”)?
请询问您可能需要的任何其他信息。
更新
我了解到有一个名为“VI_ATTR_INTF_INST_NAME”的“属性”pyvisa 可以获得这个名称,但我不知道如何使用它。有谁知道如何读取这些属性?
【问题讨论】:
-
@KobiK 是的!这是一个 USB 设备。
-
你可以试试pyusb 或infi device manager mapper,真的很简单,而且可以映射设备管理器
-
@KobiK 谢谢。我会试试的。
-
@KobiK 不幸的是,无法使用 pyusb 或 infi 设备管理器映射器读取 VISA 名称...
标签: python serial-port usb visa data-acquisition