简单* IDN?查询导致“操作完成前超时”

时间:2017-03-09 06:26:25

标签: python visa pyvisa

我尝试通过以下方式对我的LAB仪器进行简单查询:

>>> import visa
>>> rm = visa.ResourceManager()
>>> viavi = rm.open_resource("TCPIP0::10.0.2.76::5001::SOCKET")
>>> print(viavi.query("*IDN?"))

结果是:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\Python35\lib\site-packages\pyvisa\resources\messagebase
d.py", line 407, in query
    return self.read()
  File "C:\Program Files\Python35\lib\site-packages\pyvisa\resources\messagebase
d.py", line 332, in read
    message = self.read_raw().decode(enco)
  File "C:\Program Files\Python35\lib\site-packages\pyvisa\resources\messagebase
d.py", line 306, in read_raw
    chunk, status = self.visalib.read(self.session, size)
  File "C:\Program Files\Python35\lib\site-packages\pyvisa\ctwrapper\functions.p
y", line 1582, in read
    ret = library.viRead(session, buffer, count, byref(return_count))
  File "C:\Program Files\Python35\lib\site-packages\pyvisa\ctwrapper\highlevel.p
y", line 188, in _return_handler
    raise errors.VisaIOError(ret_value)
pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before op
eration completed.

根据我迄今所学到的东西(来自他人的经验)。此超时错误以某种方式与行终止(“\ n”)相关。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我发现它与read_termination有关。我的LAB仪器只是通过'\ n'终止其响应。 虽然我的剧本一直在寻找'\ r'。

相关问题