避免固定延迟的Python SCPI(同步问题)

2024-05-15 22:15:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是安捷伦4155C半导体参数分析仪。我遇到控制器/设备同步问题。我使用pythonpyvisa对其使用writeSCPI命令。我还使用PyVisa的query命令直接从机器读取数据。在

问题是,正如许多人所知,如果在系统完成所有操作之前向其发送查询命令,系统将发出超时/查询中断错误。对于的人来说,使用

下面的代码是我试图运行的代码的一部分。手册中提出的解决方案并没有成为问题,因为我也不能在不超时的情况下发送*ESR?查询命令。在

注意:超时错误会在instr.query("*ESR?")行弹出。在

...
instr.write(":FORM:DATA ASC")

instr.write("*CLS")
instr.write("*OPC")
ESRvalue = 0

while (ESRvalue & 1) == 0:
    instr.query("*ESR?")
    time.sleep(0.01)

I_unicode_data = instr.query(":DATA? 'ID' ")

V_unicode_data = instr.query(":DATA? 'VD' ")

I_raw_data = I_unicode_data.encode('utf-8')

V_raw_data = V_unicode_data.encode('utf-8')
...

Tags: 代码命令dataraw系统错误unicodequery