pylab_ml.thermostreamer.mpi_ta5k.MPI_TA5K

class MPI_TA5K(addr=None, interface=None, backend=None, identify=True, instName=None)[source]

Bases: create_attributes, Base_Thermostreamer

Interface to the Thermostreamer MPI_TA5000.

Date:

June 16, 2026

Author:

Semi-ATE <info@Semi-ATE.org>

static/mpi_ta5000.jpg
__init__(addr=None, interface=None, backend=None, identify=True, instName=None)[source]

Initialise the Thermostreamer.

Parameters:
  • (int) (addr) – Interface address

  • (dev_interface.Instrument) (interface) – GPIB, USBSerial

  • (str) (backend) – Backend for the interface, e.g. ‘pyvisa’, ‘pyvisa-py’, ‘python-gpib’, ‘pyserial-asyncio’

  • (bool) (identify) – Query IDN after initialization

  • (string) (instName) – Instance Name from parent.

Raises:
  • TimeoutError: – Timeout after set temp.

  • InvalidInstrumentConnection: – Something is wrong with the connection.

Examples

>>> # Initialization
>>> thermo = Thermo(addr=1)   # GPIB address
More detailed examples:

Common for MPI_TA5k.py: examples/thermostreamer/mpi_ta5k

Methods

__init__([addr, interface, backend, ...])

Initialise the Thermostreamer.

clear()

Clear error status.

close()

Close connection to Thermostreamer.

createattributes(dictionary[, parent, ...])

Create attributes or methods from a dictionary.

error_list()

List of outstanding errors.

find_names()

find_names() returns list of identifiers strings, lhs of = assignments

get_id()

Get identification from Thermostreamer.

get_state()

Get actual state and configuration.

help()

Print the docstring of the instrument class.

identify([showInstName])

Identify message.

init([identify])

Optional init for interlock startup after identification.

local()

Switch back to local instrument control.

message([message])

Message display to Python console.

mqtt_add(client, instrument[, liste, qos])

Add the instrument to mqtt.

mqtt_disconnect()

Remove the instrument from mqtt.

publish(topic, value)

Publish topic as type='cmd' with payload=value.

publish_get(function_name, value)

Publish function_name as type='get' with paylad=value.

publish_set(function_name, value)

Publish function_name as type='set' with paylad=value.

read()

Read the instance.

reset()

Reset the instrument.

setdefault()

Set for default values.

setup_inst()

Set for instrument settings.

write(msg)

Write the instance with msg.

Attributes

Temp

Get/set the currently selected setpoint temperatur.

airtemp

Current air temperture.

command

compressor

Set/get compressor on/off.

dutmode

Set/get dut mode.

dutsensortype

Set/get dut sensortype.

duttemp

Get current dut temperture.

flow

Set/get flow.

flowrate

Set/get air flow rate.

head

Set/get head.

headlock

Set/get head lock.

id

Query IDN.

interchoices

llim

Set/get lower limit.

mqtt_enable

mqtt_list

mqtt_status

Getter for the mqtt_status.

ramp

Set/get ramp rate for the currently selected setpoint.

setn

Set/get setpoint.

setupfile

Set/get filename for setup file.

soak

Set/get soak time for a given setpoint.

state

Get temperature status register.

temp

Set/get DUT sensor or air temperature.

ulim

Set/get upper limit.

window

set/get setpoint temperature window.

ATTR_ERROR

if something wrong with your called methode, than set the result to self.ATTR_ERROR

attrLast

last set/get attribute name.

attrLastvalue

last set attribute value.

ATTR_ERROR

if something wrong with your called methode, than set the result to self.ATTR_ERROR

class Compressor(value)[source]

Bases: Enum

Enum for Compressor control.

class Flow(value)[source]

Bases: Enum

Enum for Flow control.

off = 0

value for flow off

on = 1

value for flow on

class Head(value)[source]

Bases: Enum

Enum for Head control.

down = 1

value for head down

up = 0

value for head up

class Headlock(value)[source]

Bases: Enum

Enum for Headlock control.

property Temp

Get/set the currently selected setpoint temperatur.

property airtemp

Current air temperture.

attrLast

last set/get attribute name.

attrLastvalue

last set attribute value.

clear()

Clear error status.

close()

Close connection to Thermostreamer.

property compressor

Set/get compressor on/off.

‘off’(=0, Compressor.off).
‘on’(=1, Compressor.on)
createattributes(dictionary, parent=None, child=None, childname='')

Create attributes or methods from a dictionary.

Syntax from the dictionary see example in the class documentation.

Parameters:
  • dictionary (dict) – The dictionary with the syntax: {attribute/methode name : (Device command for read/write) , range, call functions}.

  • parent (create_attributes, optional) – If you want to create a child, than you have to set the parent, otherwise None, by default None.

  • child (str, optional) – The name of the child, by default None.

  • childname (str, optional) – The name of the child, by default ‘’.

Return type:

None.

property dutmode

Set/get dut mode.

0: off (air control)
1: on (dut control)
2: TC Meter mode
property dutsensortype

Set/get dut sensortype.

0: no dut sensor
1: type T thermocouple
2: type K thermocouple
3: RTD
property duttemp

Get current dut temperture.

error_list()

List of outstanding errors.

find_names()

find_names() returns list of identifiers strings, lhs of = assignments

Returns:

obj_names – List of identifier strings

Return type:

list of str

property flow

Set/get flow.

‘off’(=0, Flow.off).
‘on’(=1, FLow.on).
property flowrate

Set/get air flow rate.

get_id()[source]

Get identification from Thermostreamer.

Returns:

Identification string from Thermostreamer.

Return type:

str

get_state()[source]

Get actual state and configuration.

property head

Set/get head.

‘up’(=0, Head.up)
‘down’(=1, Head.down)
property headlock

Set/get head lock.

‘off’ (=0, Headlock.off) -> unlock
‘on’ (=1, Headlock.on) -> lock
help()

Print the docstring of the instrument class.

property id

Query IDN.

identify(showInstName=False)

Identify message.

init(identify=False)

Optional init for interlock startup after identification.

json = <module 'json' from '/home/runner/miniconda3/envs/test/lib/python3.9/json/__init__.py'>
property llim

Set/get lower limit.

local()

Switch back to local instrument control.

message(message=None)

Message display to Python console.

mqtt_add(client, instrument, liste='#', qos=0)

Add the instrument to mqtt. Calling from base_instrument, after the instrument (device) has been create. Normally you have not to use this function, only base_instrument use it.

Parameters:
  • client (mqtt_init) – The MQTT client instance to which the instrument should be added.

  • instrument (object) – The instrument to be added to the MQTT client.

  • liste (list or str) – A list of attributes for which MQTT messages should be sent. If set to “#”, all attributes will be included (default: “#”).

  • qos (int) – The Quality of Service level for MQTT messages (default: 0).

Return type:

None

mqtt_disconnect()

Remove the instrument from mqtt. Calling from base_instrument, if the instrument are closing. Normally you have not to use this function, only base_instrument use it.

property mqtt_status

Getter for the mqtt_status.

publish(topic, value)

Publish topic as type=’cmd’ with payload=value.

Parameters:
  • topic (str) – The name of the topic to publish.

  • value (any) – The value to be published.

Return type:

None

publish_get(function_name, value)

Publish function_name as type=’get’ with paylad=value.

Parameters:
  • function_name (str) – The name of the function to be published as a ‘get’ command.

  • value (any) – The value to be published as the payload of the ‘get’ command.

Return type:

None

publish_set(function_name, value)

Publish function_name as type=’set’ with paylad=value.

Parameters:
  • function_name (str) – The name of the function to be published as a ‘set’ command.

  • value (any) – The value to be published as the payload of the ‘set’ command.

Return type:

None

property ramp

Set/get ramp rate for the currently selected setpoint.

read()

Read the instance.

reset()

Reset the instrument.

setdefault()[source]

Set for default values.

property setn

Set/get setpoint.

set: select a setpoint to the current setpoint
get: read the current setpoint number
setup_inst()[source]

Set for instrument settings.

property setupfile

Set/get filename for setup file.

get the filename,
set = load the test setup file with the filename
property soak

Set/get soak time for a given setpoint.

property state

Get temperature status register.

property temp

Set/get DUT sensor or air temperature.

  • get temperature

  • or set the currently selected setpoint temperatur and wait until temperture is reached.

Parameters:

value (float or tuple) –

if float: set temperature and use default timeout of 600s
if tuple: (temperature, timeout) -> set temperature and wait until temperture is reached or timeout is elapsed

Returns:

  • in Air mode: get main air temperature

  • in Dut mode: get DUT sensor temperatur

  • in TC Meter mode: siehe TEMP? in Manual.

Return type:

float

Example

>>> thermo.temp = -10, 100   # -> set temperatur=-10 and timeout to 100s (default 600s)
>>> thermo.temp = 80         # -> set temperatur=80 and timeout is default = 600s
>>> print(thermo.temp)      # get temperature
property ulim

Set/get upper limit.

property window

set/get setpoint temperature window.

write(msg)

Write the instance with msg.