Skip to content

VISA timeout #1

@bartsn

Description

@bartsn

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

  1. pyvisa seems to have time out parameters (set/get), which seems to be the way out (see StackExchange)
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions