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

Python控制RIGOL DS2302A示波器遇VI_ERROR_TMO超时错误求助

解决RIGOL DS2302A示波器PyVisa读取超时问题

你遇到的错误是:

pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.

延长超时参数无效,可从以下几个方面排查修复:

1. 修正SCPI命令终止符

RIGOL示波器默认的SCPI命令终止符是\r\n,你的代码中设置的write_termination = '\r'不匹配,会导致命令无法被正确识别,进而引发超时。修改为:

scope.read_termination = '\r\n'
scope.write_termination = '\r\n'

2. 用PyVisa内置方法读取二进制数据

手动解析CURVE?的二进制表头容易出错,改用query_binary_values可以自动处理RIGOL的二进制格式,避免手动处理表头的问题,同时更稳定:
替换原代码中scope.write('CURVE?')到ADC_wave = np.array(...)的部分为:

# 直接读取并解析二进制曲线数据
ADC_wave = scope.query_binary_values('CURVE?', datatype='B', container=np.array)

3. 限制采集数据点数量

示波器默认采集的点数可能过多,导致数据传输超时,可提前设置数据点数量:

# 在设置DATA相关参数后添加
scope.write('DATA:POINTS 1000')  # 可根据需求调整点数,比如2000、5000等

4. 检查网络连接稳定性

  • 确认电脑与示波器在同一局域网,IP地址169.254.94.149正确且能ping通
  • 关闭电脑防火墙,或添加PyVisa相关进程的网络例外
  • 尝试重启示波器和电脑的网络连接

修改后的完整代码

import pyvisa
import numpy as np
import pylab

rm = pyvisa.ResourceManager() 
print(rm.list_resources())
scope = rm.open_resource('TCPIP::169.254.94.149::INSTR') # oscilloscope IP
 
scope.timeout = 10000 # ms 
scope.encoding = 'latin_1'
# 修正终止符
scope.read_termination = '\r\n'
scope.write_termination = '\r\n'

print(scope.query('*IDN?'))

scope.write('DATA:SOU CH1') 
scope.write('DATA:WIDTH 1') 
scope.write('DATA:ENC RPB')
# 限制数据点数量
scope.write('DATA:POINTS 1000')

ymult = float(scope.query('WFMPRE:YMULT?')) # y-axis least count
yzero = float(scope.query('WFMPRE:YZERO?')) # y-axis zero error
yoff = float(scope.query('WFMPRE:YOFF?')) # y-axis offset
xincr = float(scope.query('WFMPRE:XINCR?')) # x-axis least count

# 改用query_binary_values读取数据
ADC_wave = scope.query_binary_values('CURVE?', datatype='B', container=np.array)

Volts = (ADC_wave - yoff) * ymult + yzero
Time = np.arange(0, xincr * len(Volts), xincr)

# 绘制波形
pylab.plot(Time, Volts) 
pylab.show()

内容的提问来源于stack exchange,提问作者f.cerkesli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:35:17