Pyvisa IOerror设备:Korad K3005d电源

2024-09-23 16:27:29 发布

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

在我进一步解释我遇到的问题之前,这是我的代码

import pyvisa_py
import pyvisa
import time
import serial
import usb
from time import sleep


rm = pyvisa.ResourceManager()
rm.list_resources()
#('ASRL1::INSTR', 'ASRL2::INSTR', 'ASRL3::INSTR', 'GPIB0::12::INSTR')

#inst = rm.open_resource('ASRL3::INSTR')

#print(inst.query("OUT0"))

K3005 = rm.open_resource('ASRL3::INSTR')
K3005.query_delay = 1.0
K3005.send_end = False
K3005.end_input = pyvisa.constants.SerialTermination.none
K3005.write_termination = None
K3005.read_termination = None

"""
K3005.write("OUT1")
time.sleep(0.5)
K3005.write("OUT0")
time.sleep(0.5)
K3005.write("ISET1:0.800")
time.sleep(0.5)
K3005.write("ISET1?")
time.sleep(0.5)
K3005.write("VSET1:23.5")
time.sleep(0.5)
K3005.write("VOUT1?")
time.sleep(0.5)
K3005.write("OUT1")
"""
print(K3005.query("*IDN?"))
K3005.write("*IDN?")
time.sleep(0.5)
data, status = K3005.visalib.read(K3005.session, K3005.bytes_in_buffer)
print(data)

我是一名初级python程序员,我刚刚使用pyvisa模块创建了一个命令行工具来控制设备。 然而,我不断地得到这个错误:

pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed. 当我取消注释这个print(K3005.query("*IDN?")) 让这个块运行:

K3005.write("*IDN?")
time.sleep(0.5)
data, status = K3005.visalib.read(K3005.session, K3005.bytes_in_buffer)
print(data) 

然后我得到这个错误 VisaIOWarning: VI_SUCCESS_MAX_CNT (1073676294): The number of bytes transferred is equal to the requested input count. More data may be available. return data, self.handle_return_value(session, status_code)

这是设备的问题还是引发此错误的原因?有没有人经历过或遇到过这样的事情? 非常感谢您的帮助

多谢各位