我在与 Anritsu MG69377B 微波发生器通信时遇到问题。
我进入远程模式并识别仪器没有问题,但是任何其他返回值的命令都会超时,并且仪器似乎确实响应了任何写入命令。我正在使用PyVISA与仪器通信。
>>>import visa
>>> x = visa.connect('GPIB::5') #Address the instrument
>>> x.ask('*IDN?') # Works Fine
>>>'ANRITSU,69377B,010918,2.35'
>>>
>>> x.ask('*STB?')
Traceback (most recent call last):
File "<pyshell#37>", line 1, in <module>
x.ask('*STB?')
File "C:\Python27\lib\site-packages\pyvisa\visa.py", line 502, in ask
return self.read()
File "C:\Python27\lib\site-packages\pyvisa\visa.py", line 433, in read
return self._strip_term_chars(self.read_raw())
File "C:\Python27\lib\site-packages\pyvisa\visa.py", line 407, in read_raw
chunk = vpp43.read(self.vi, self.chunk_size)
File "C:\Python27\lib\site-packages\pyvisa\vpp43.py", line 840, in read
visa_library().viRead(vi, buffer, count, byref(return_count))
File "C:\Python27\lib\site-packages\pyvisa\vpp43.py", line 398, in check_status
raise visa_exceptions.VisaIOError, status
VisaIOError: VI_ERROR_TMO: Timeout expired before operation completed.
*机顶盒?是一个标准的 IEEE 命令,应该适用于任何遵循该标准的仪器(基本上就是全部)。我查看了手册,似乎也找不到其他代码的语法有任何问题。使用 PyVISA 远程连接时,该仪器似乎无法正常工作。(不确定这是 PyVISA 问题还是我的仪器问题)。