0

我是一名远程控制我的实验室的研究人员。我使用 python 连接到我所有的仪器,每个仪器都是一个类的实例,例如:

Class Motor():

   def setup():
       establish connection with this guy

   def move(x):
       move this guy

   def close():
      close this guy

My_motor = Motor()

我的问题是,我经常失去与远程 PC 的连接,不小心重新运行代码或忘记关闭仪器,导致我的仪器实例丢失,这意味着我无法重新建立连接。

到目前为止,我的解决方案是在设备管理器中禁用-启用设备,尽管我经常需要重新启动计算机才能这样做^^。

有没有人有办法解决吗?更复杂的情况是,我的大学 IT 人员对可以安装什么软件极为严格,因此可能会排除 USBDEVIEW 等可能的路径。

一个更具体的例子:我连接到位于 ASRL2 的资源

import pyvisa
rm = pyvisa.ResourceManager()
inst = rm.open_resource('ASRL2::INSTR')

我的终端死机,计算机重新启动或我覆盖了我的实例 inst:

inst = 'Random thing'

现在我无法关闭原始连接或重新建立新连接。在 pyvisa 中,这将给出 VisaIOError:

VisaIOError: VI_ERROR_RSRC_BUSY (-1073807246): The resource is valid, but VISA cannot currently access it.
4

0 回答 0