Я пытаюсь импортировать visa
в Python и взаимодействовать с GPIB
для управления устройством. Название устройства, которое я использую, - "GPIB0::9::INSTR"
, и я думаю, что с этим не должно быть никаких проблем.Использование визы для взаимодействия с GPIB всегда дает мне VisaIOError
Я побежал следующий код в 2.7.3 Python Shell
>>> from visa import *
>>> a = instrument("GPIB0::9", timeout = 20)
>>> a.write("*IDN?")
>>> print a.read()
Traceback (most recent call last):
File "<pyshell#53>", line 1, in <module>
print a.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.
Выше ошибка система дала мне. На самом деле в начале я установил Timeout
равным 3, он показывает это errot. Но после того, как я изменил значение на 20, как показано выше, он все равно не работает.
Может кто-нибудь мне помочь?
Пробовал ли вы пропустить «тайм-аут» или установить «timeout = None»? Согласно http://pyvisa.sourceforge.net/pyvisa.html#sec-timeouts – jadkik94
@ jadkik94 Ну, после того, как я изменил 'timeout' как' None', как вы сказали, кажется, что система работает в бесконечном цикле .... Значит ли «таймаут» максимальное время, разрешенное для каждой инструкции? –
Думаю. Это то, что говорят документы в части Timeouts. Я не знаю, вот почему это просто комнент не ответ. – jadkik94