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