Python Keithley 2410和PyVISA-VI_错误\u TMO:操作完成前超时

Python Keithley 2410和PyVISA-VI_错误\u TMO:操作完成前超时,python,linux,visa,data-acquisition,pyvisa,Python,Linux,Visa,Data Acquisition,Pyvisa,我试图在x86_64 linux机器(CentOS 7)上通过python控制Keithley 2410。我正在使用python 2.7.5、NI-VISA 16和PyVISA 1.8。Keithley通过RS232至USB电缆连接到计算机,并配置为RS232通信(参数:波特率57600,位8,奇偶校验无,终止符,流量控制无)。当我试图查询Keithley时,我得到一个超时错误,如下所示: >>> import visa >>> rm = visa.Resou

我试图在x86_64 linux机器(CentOS 7)上通过python控制Keithley 2410。我正在使用python 2.7.5、NI-VISA 16和PyVISA 1.8。Keithley通过RS232至USB电缆连接到计算机,并配置为RS232通信(参数:波特率57600,位8,奇偶校验无,终止符,流量控制无)。当我试图查询Keithley时,我得到一个超时错误,如下所示:

>>> import visa
>>> rm = visa.ResourceManager()
>>> print(rm.list_resources())
(u'ASRL1::INSTR', u'ASRL2::INSTR')
>>> keithley = rm.open_resource("ASRL2::INSTR")
>>> print(keithley.query('*IDN?'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/pyvisa/resources/messagebased.py", line 407, in query
return self.read()
File "/usr/lib/python2.7/site-packages/pyvisa/resources/messagebased.py", line 332, in read
message = self.read_raw().decode(enco)
File "/usr/lib/python2.7/site-packages/pyvisa/resources/messagebased.py", line 306, in read_raw
chunk, status = self.visalib.read(self.session, size)
File "/usr/lib/python2.7/site-packages/pyvisa/ctwrapper/functions.py", line 1582, in read
ret = library.viRead(session, buffer, count, byref(return_count))
File "/usr/lib/python2.7/site-packages/pyvisa/ctwrapper/highlevel.py", line 188, in _return_handler
raise errors.VisaIOError(ret_value)
pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.
>>进口签证
>>>rm=visa.ResourceManager()
>>>打印(rm.list_resources())
(u'ASRL1::INSTR',u'ASRL2::INSTR')
>>>keithley=rm.open_资源(“ASRL2::INSTR”)
>>>打印(keithley.query('*IDN?'))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/lib/python2.7/site packages/pyvisa/resources/messagebase.py”,第407行,在查询中
返回self.read()
文件“/usr/lib/python2.7/site packages/pyvisa/resources/messagebase.py”,第332行,已读
message=self.read_raw().decode(enco)
文件“/usr/lib/python2.7/site packages/pyvisa/resources/messagebase.py”,第306行,以只读形式
chunk,status=self.visalib.read(self.session,size)
文件“/usr/lib/python2.7/site packages/pyvisa/ctwrapper/functions.py”,第1582行,已读
ret=library.viRead(会话、缓冲区、计数、byref(返回计数))
文件“/usr/lib/python2.7/site packages/pyvisa/ctwrapper/highlevel.py”,第188行,在返回处理程序中
引发错误。VisaIOError(返回值)
pyvisa.errors.VisaIOError:VI_ERROR_TMO(-1073807339):操作完成前超时。

PyVISA 1.8应默认为串行的“\r”行终止,因此您的2410可能没有接收到启动命令所需的“\n”


就在您的
打开\u resource()
调用之后

PyVISA 1.8应默认为串行的“\r”行终止,因此您的2410可能没有收到启动命令所需的“\n”


就在您的
打开\u resource()
调用之后

谢谢你的建议,但似乎我需要明确设置波特率

rm = visa.ResourceManager()
smu = rm.open_resource("ASRL2::INSTR")
smu.baud_rate = 57600

谢谢你的建议,但似乎我需要明确设置波特率

rm = visa.ResourceManager()
smu = rm.open_resource("ASRL2::INSTR")
smu.baud_rate = 57600