我们正在使用pyVisa库控制一个Keithley DMM6500。在我们的设置中,我们保持一个iPython内核运行(通过Spyder)。
我们遇到的问题如下:每当与数字万用表交互的函数遇到未处理的异常(如KeyboardInterrupt
)时,对数字万用表的任何后续调用都会导致错误VI_ERROR_SYSTEM_ERROR (-1073807360): Unknown system error (miscellaneous error).
为了解决这个问题,我们尝试调用device.clear()
和device.close()
/ device.open()
,但这似乎不起作用。即使重新启动设备也不起作用。唯一能解决这个问题的,似乎是完全重启我们的iPython内核。
有没有办法以编程方式恢复与设备的通信,这样我们就可以避免重启ipython内核?
发布于 2021-01-19 20:15:04
你的一些问题不清楚,所以我的回答可能没有帮助,但是,听起来像是终端锁定了连接,而你正在丢失引用。
我过去使用的两种方法如下:
2)在你的程序中,你应该尝试/例外来处理到仪器的连接,当程序出错时,你需要关闭连接,这样它就不会被锁定。
示例:
try:
run_program()
except:
close_connection_to_all devices() # build a function to clear connection to all devices
dump_any_unsaved_data() # maybe you want to dump some of the variable to see what the data was when it errored for debug
https://stackoverflow.com/questions/65734465
复制相似问题