You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyVisa可列出以太网设备但打开资源时报错[Python3.11]

解决TTI QPX1200SP电源以太网VISA连接报错VI_ERROR_RSRC_NFOUND

可能的原因及修复步骤

1. 修正VISA资源字符串格式

TTI QPX系列电源的SOCKET连接通常需要调整资源字符串后缀,尝试将::SOCKET替换为::INSTR:

ttipsu = 'TCPIP0::10.10.0.27::9221::INSTR'

若仍无效,可尝试省略端口后的标识,让VISA自动适配:

ttipsu = 'TCPIP0::10.10.0.27::INSTR'

2. 切换至pyvisa-py纯Python后端

如果NI-VISA的visa64.dll存在兼容性问题,可改用无需依赖NI库的pyvisa-py后端:
先安装依赖:

pip install pyvisa-py

再修改初始化代码:

import pyvisa as visa
rm = visa.ResourceManager('@py')  # 指定使用pyvisa-py后端
print(rm.list_resources(query='TCP?*'))
ttipsu = 'TCPIP0::10.10.0.27::9221::SOCKET'
psu = rm.open_resource(ttipsu)

3. 检查电源网络通信设置

  • 确认QPX1200SP的以太网菜单中VISA/TCP服务已启用,且端口号设置为9221(默认端口为9221,可在设备菜单验证)。
  • 检查设备是否限制了IP访问,确保你的主机IP在允许连接的范围内。

4. 增加连接超时参数

连接超时可能触发资源未找到的错误,尝试设置更长的超时时间:

psu = rm.open_resource(ttipsu, open_timeout=5000)  # 设置5秒连接超时

5. 验证NI-VISA配置(若使用NI后端)

打开NI MAX(Measurement & Automation Explorer):

  • 手动将TCPIP0::10.10.0.27::9221::INSTR添加到设备列表,完成后再尝试代码连接。
  • 确认NI-VISA版本与Python的32/64位位数匹配,避免位数不兼容导致的资源识别失败。

内容的提问来源于stack exchange,提问作者smajli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 10:41:14