Python VISA в Matlab 2015. Не умеет читать

Я пытаюсь связаться с TTI PL303QMT-P (тройной источник питания), используя python VISA 1.8 в сочетании с Matlab 2015b.

Мой код отлично работает и работает на python, но чтобы он заработал, я должен установить read_termination в \ r \ n. Если я пытаюсь сделать то же самое в Matlab, я могу записать на устройство, но чтение не работает.

Мой код в Python:

>>> import visa
>>> rm = visa.ResourceManager()
>>> sup = rm.open_resource("TCPIP::sup6.xxxxxxx::9221::SOCKET")
>>> sup.query("*IDN?")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\pyvisa-1.8-py2.7.egg\pyvisa\resources\messagebased.py", line 407, in query
  return self.read()
  File "C:\Python27\lib\site-packages\pyvisa-1.8-py2.7.egg\pyvisa\resources\messagebased.py", line 332, in read
  message = self.read_raw().decode(enco)
  File "C:\Python27\lib\site-packages\pyvisa-1.8-py2.7.egg\pyvisa\resources\messagebased.py", line 306, in read_raw
  chunk, status = self.visalib.read(self.session, size)
  File "C:\Python27\lib\site-packages\pyvisa-1.8-py2.7.egg\pyvisa\ctwrapper\functions.py", line 1582, in read
  ret = library.viRead(session, buffer, count, byref(return_count))
  File "C:\Python27\lib\site-packages\pyvisa-1.8-py2.7.egg\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.
>>> sup.read_termination = '\r\n'
>>> sup.query("*IDN?")
u'THURLBY THANDAR, PL303QMT-P,  406793, 3.02 - 1.00 - 1.02'

В Matlab я пробую следующее:

py.importlib.import_module('visa');
   rm = py.visa.ResourceManager();
   TCPIP = 'TCPIP::sup6.xxxx::9221::SOCKET';
   sup = rm.open_resource(TCPIP);

   sup.read_termination = '\r\n';
   sup.query('*IDN?')

и получить вывод:

Error using highlevel>_return_handler (line 188)
Python Error: VisaIOError: VI_ERROR_TMO (-1073807339): Timeout
expired before operation completed.

Error in functions>read (line 1582)
    ret = library.viRead(session, buffer, count,
    byref(return_count))

Error in messagebased>read_raw (line 306)
                    chunk, status =
                    self.visalib.read(self.session, size)

Error in messagebased>read (line 332)
            message = self.read_raw().decode(enco)

Error in messagebased>query (line 407)
        return self.read()

Любая помощь приветствуется!:-)

Br,

Hans

0 ответов

Другие вопросы по тегам