Huber Petite Fleur
PyLabware driver for Huber Petite Fleur chiller.
- class PyLabware.devices.huber_petite_fleur.PetiteFleurChiller(device_name, connection_mode, address, port)[source]
Bases:
AbstractTemperatureController
This provides a Python class for the Huber Petite Fleur chiller based on the the original operation manual V1.8.0en/06.10.17
Default constructor.
- Parameters:
device_name (str) –
connection_mode (str) –
address (str | None) –
port (str | int) –
- get_pump_pressure()[source]
Returns the pump pressure (can be used as measure of the pump activity).
- Return type:
int
- get_ramp_details()[source]
Get remaining time and target temperature for the ramp.
- Return type:
Tuple[int, float]
- get_temperature(sensor=0)[source]
Reads the current temperature of the bath
- Parameters:
sensor (int) – Specify which temperature probe the setpoint applies to. This device has one common setpoint temperature shared by the external and internal probe. Thus, the sensor variable has no effect here.
- Return type:
float
- get_temperature_setpoint(sensor=0)[source]
Reads the current temperature setpoint.
- Parameters:
sensor (int) – Specify which temperature probe the setpoint applies to. This device has one common setpoint temperature shared by the external and internal probe. Thus, the sensor variable has no effect here.
- Return type:
float
- interpret_status(status_string)[source]
Interprets the status string to return human-readable status
- Parameters:
status_string (str) –
- Return type:
str
- is_connected()[source]
Tries to get chiller status & compares it to the template value.
- Return type:
bool
- is_idle()[source]
Checks whether the chiller is running. #TODO Probably rather has to be done by checking device status.
- Return type:
bool
- ramp_temperature(end_temperature, time)[source]
Sets the duration for a temperature ramp in seconds. Range is -32767…32767s where negative values cancel the ramp. Maximum ramp is a tad over 9 hours.
- Parameters:
end_temperature (float) –
time (int) –
- set_circulator_control(pump_mode)[source]
Sets the compressor control mode.
- Parameters:
pump_mode (int) –
- set_temperature(temperature, sensor=0)[source]
Sets the target temperature of the chiller.
- Parameters:
temperature (float) – Temperature setpoint in °C.
sensor (int) – Specify which temperature probe the setpoint applies to. This device has one common setpoint temperature shared by the external and internal probe. Thus, the sensor variable has no effect here.
- class PyLabware.devices.huber_petite_fleur.PetiteFleurChillerCommands(*args, **kwargs)[source]
Bases:
LabDeviceCommands
Collection of command definitions for Huber PetiteFleur chiller.
This class shouldn’t be instantiated
- COMMAND_PREFIX = '{M'
- DEFAULT_NAME = 'Huber device'
- GET_ERRORS = {'name': '{M05****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_PROCESS_TEMP = {'name': '{M07****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_PUMP_PRESSURE = {'name': '{M03****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_RAMP_TEMP = {'name': '{M5A****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_RAMP_TIME = {'name': '{M59****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_STATUS = {'name': '{M0A****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_TEMP_BATH = {'name': '{M01****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_TEMP_SP = {'name': '{M00****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_WARNINGS = {'name': '{M06****', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- KEY_LOCK = {'name': '{M17', 'reply': {'type': <class 'str'>}, 'type': <class 'str'>}
- SET_PUMP_MODE = {'name': '{M15', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}, 'type': <class 'str'>}
- SET_RAMP_DURATION = {'name': '{M59', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}, 'type': <class 'str'>}
- SET_TEMP_SP = {'name': '{M00', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}, 'type': <class 'str'>}
- START_CIRCULATOR = {'name': '{M160001', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- START_RAMP = {'name': '{M5A', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}, 'type': <class 'str'>}
- START_TEMPERATURE_CTRL = {'name': '{M58', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}, 'type': <class 'str'>}
- START_TEMP_CONTROL = {'name': '{M140001', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- STATUSES = ['Temperature control operating mode: ', 'Circulation operating mode: ', 'Refrigerator compressor mode: ', 'Temperature control mode: ', 'Circulating Pump: ', 'Cooling power available: ', 'KeyLock: ', 'PID parameter set: ', 'Error detected: ', 'Warning message detected: ', 'Mode for setting the internal temperature(0X08): ', 'Mode for setting the external temperature(0X09): ', 'DV E-grade: ', 'Power failure: ', 'Freeze protection: ']
- STOP_CIRCULATOR = {'name': '{M160000', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- STOP_TEMP_CONTROL = {'name': '{M140000', 'reply': {'args': [4, 8], 'parser': <function slicer>, 'type': <class 'str'>}}