首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >崩溃后继续获取VisaIOErrors,除非设备和ipython重启

崩溃后继续获取VisaIOErrors,除非设备和ipython重启
EN

Stack Overflow用户
提问于 2021-01-15 18:31:32
回答 1查看 69关注 0票数 0

我们正在使用pyVisa库控制一个Keithley DMM6500。在我们的设置中,我们保持一个iPython内核运行(通过Spyder)。

我们遇到的问题如下:每当与数字万用表交互的函数遇到未处理的异常(如KeyboardInterrupt)时,对数字万用表的任何后续调用都会导致错误VI_ERROR_SYSTEM_ERROR (-1073807360): Unknown system error (miscellaneous error).

为了解决这个问题,我们尝试调用device.clear()device.close() / device.open(),但这似乎不起作用。即使重新启动设备也不起作用。唯一能解决这个问题的,似乎是完全重启我们的iPython内核。

有没有办法以编程方式恢复与设备的通信,这样我们就可以避免重启ipython内核?

EN

回答 1

Stack Overflow用户

发布于 2021-01-19 20:15:04

你的一些问题不清楚,所以我的回答可能没有帮助,但是,听起来像是终端锁定了连接,而你正在丢失引用。

我过去使用的两种方法如下:

  1. 在与设备对话时打开连接,完成后关闭连接。如果您的连接不稳定,但打开和关闭连接所需的时间稍长一些,则此选项非常有用。

2)在你的程序中,你应该尝试/例外来处理到仪器的连接,当程序出错时,你需要关闭连接,这样它就不会被锁定。

示例:

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65734465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档