-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Description
pyVISA frequently reports time out errors when querying the DMM during the excecution of transistor curve measurements. Unwanted, because an error will stop execution of the script. See output in case of time out.
Traceback (most recent call last):
File "c:\github\labcontrol\src\main.py", line 37, in
dmmtest.testDMM()
File "c:\github\labcontrol\src\tests\testSiglent.py", line 21, in testDMM
print(dmm.get_voltage())
^^^^^^^^^^^^^^^^^
File "c:\github\labcontrol\src\devices\siglent\sdm\DigitalMultiMeter.py", line 135, in get_voltage
return float(self._inst.query(f"MEAS:VOLT:{meastype}?", delay=self._query_delay))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\temp\testenv\Lib\site-packages\pyvisa\resources\messagebased.py", line 647, in query
return self.read()
^^^^^^^^^^^
File "C:\temp\testenv\Lib\site-packages\pyvisa\resources\messagebased.py", line 485, in read
message = self._read_raw().decode(enco)
^^^^^^^^^^^^^^^^
File "C:\temp\testenv\Lib\site-packages\pyvisa\resources\messagebased.py", line 441, in _read_raw
chunk, status = self.visalib.read(self.session, size)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\temp\testenv\Lib\site-packages\pyvisa\ctwrapper\functions.py", line 2336, in read
ret = library.viRead(session, buffer, count, byref(return_count))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\temp\testenv\Lib\site-packages\pyvisa\ctwrapper\highlevel.py", line 226, in _return_handler
return self.handle_return_value(session, ret_value) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\temp\testenv\Lib\site-packages\pyvisa\highlevel.py", line 251, in handle_return_value
raise errors.VisaIOError(rv)
pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.
Suggested options
- pyvisa seems to have time out parameters (set/get), which seems to be the way out (see StackExchange)
- catching time out errors and retry the query after a settable wait time.
None.
Definition of Done
*When measurements scripts involving the dmm won't stop due to time out of dmm query