Yokogawa - VI_ERROR_TMO (-1073807339): истекло время ожидания до завершения операции - PullRequest
0 голосов
/ 04 марта 2019

У меня возникают некоторые проблемы со следующим кодом: Всякий раз, когда я отправляю оба "querii_ascii_values", я получаю следующее сообщение:

Traceback (most recent call last):
  File "osci_connect.py", line 11, in <module>
    values = my_osci.query_ascii_values(':WAVEFORM:END 20')
  File "C:\Python37\lib\site-packages\pyvisa\resources\messagebased.py", line 629, in query_ascii_values
    delay)
  File "C:\Python37\lib\site-packages\pyvisa\resources\messagebased.py", line 447, in read_ascii_values
    block = self.read()
  File "C:\Python37\lib\site-packages\pyvisa\resources\messagebased.py", line 413, in read
    message = self._read_raw().decode(enco)
  File "C:\Python37\lib\site-packages\pyvisa\resources\messagebased.py", line 386, in _read_raw
    chunk, status = self.visalib.read(self.session, size)
  File "C:\Python37\lib\site-packages\pyvisa\ctwrapper\functions.py", line 1584, in read
    ret = library.viRead(session, buffer, count, byref(return_count))
  File "C:\Python37\lib\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

Но даже если выдается ошибка, для точки END устанавливается значениеЯ хочу (в нашем случае 20), и если я прокомментирую первый запрос и снова запустю скрипт, в следующий раз я буду запрашивать значения, я получу 20 значений.Я попытался установить для write_termination и read_termination значения "\ r", "\ n", "\ r \ n", "\ f", и это не поможет.Прибор представляет собой осциллограф YOKOGAWA.КОД НИЖЕ:

import visa
import numpy as np

rm = visa.ResourceManager()
#rm = visa.ResourceManager('C:\WINDOWS\system32\visa32.dll')
my_osci = rm.open_resource("TCPIP::172.20.113.189::INSTR",write_termination='\n',read_termination='\n')
print("Hello, I am:" + my_osci.query("*IDN?"))
my_osci.timeout = 1000
#my_values = list(range(100))
print("Send ':WAVEFORM:END 1' ")
values = my_osci.query_ascii_values(':WAVEFORM:END 20')
values1 = my_osci.query_ascii_values(':WAVEFORM:SEND? 0')
#values = np.array(my_osci.query_ascii_values('CURV?'))
print("Received values:")
print( values1)
#print(values1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...