Vacuubrand CVC3000
PyLabware driver for Vacuubrand CVC3000 vacuum pump controller.
- class PyLabware.devices.vacuubrand_cvc_3000.CVC3000VacuumPump(device_name, connection_mode, address, port)[source]
Bases:
AbstractPressureController
This provides a Python class for the Vacuubrand CVC3000 vacuum controller based on the the original operation manual 20901228_EN_ONLINE
Default constructor.
- Parameters:
device_name (str) –
connection_mode (str) –
address (str | None) –
port (int | str) –
- check_errors()[source]
Get the error string from the device and it translates it into a readable string. As long as the error string can contain only 1 and 0, unlike configuration and status strings, it can be treated as a bit field.
- get_configuration(verbose=False)[source]
Gets device configuration and returns it as a list of integers or as a human-readable dictionary
- Parameters:
verbose (bool) –
- get_pressure()[source]
Returns the current pressure. In simulation returns atmospheric pressure.
- Return type:
float
- get_status(verbose=False)[source]
Gets device status and returns it as a list of integers or as a human-readable dictionary
- Parameters:
verbose (bool) –
- initialize_device()[source]
Sets the following parameters: echo ‘on’ for all SET_x commands, to check if the command was interpreted correctly remote control active otherwise the device cannot accept any settings, set the controller to CVC 3000 which is the most comprehensive set the mode to vacuum control
- is_connected()[source]
Checks if the correct device is connected by asking the name.
- Return type:
bool
- set_echo(value)[source]
Toggle echo mode of the device on/off. When echo mode is on, pump replies with command argument for each command correctly recognized. If echo mode is on, but the command is wrong/unrecognized - the pump replies nothing.
- Parameters:
value (bool) –
- set_end_pressure(pressure)[source]
Sets the the end pressure for auto mode and pump down mode. After this pressure is reached or the timeout has elapsed (whichever happens first), the pump switches off.
- Parameters:
pressure (int) –
- set_end_timeout(timeout)[source]
Sets end time for pump down and auto mode. After this time has elapsed or switch-off pressure is reached (whichever happens first), the pump switches off.
- Parameters:
timeout (int) – Vacuum pump timeout time in seconds.
- Exceptions:
- Raises PLDeviceCommandError if the timeout value is not within the range from 1 s
to 86400 s.
- set_mode(mode)[source]
Sets pump operation mode. When set to extended auto modes (30, 31, 32), the controller would always read back mode 3.
- set_pressure(pressure)[source]
Sets the pressure to be reached, in millibar. Takes pressure as a float to comply w/ AbstractPressureController, but the device only understands mbar (int).
- Parameters:
pressure (float) –
- set_pump_speed(speed)[source]
Sets the maximum speed (1 - 100 %) the pump will reach.
- Parameters:
speed (int) –
- set_remote(value)[source]
Toggle the remote control of the device on/off. After the pump is disconnected it will remain in remote control state not allowing manual actions on the front panel.
- Parameters:
value (bool) –
- property unit
Get pressure unit that the device is currently operating with.
- Returns:
Pressure unit that the device is currently operating with. One of ‘mbar’, ‘Torr’ or ‘hPa’. If :py:attr`initialize_device` has not been called then return
None
.- Return type:
str
- class PyLabware.devices.vacuubrand_cvc_3000.CVC3000VacuumPumpCommands(*args, **kwargs)[source]
Bases:
LabDeviceCommands
Collection of command definitions for CVC3000 vacuum controller.
This class shouldn’t be instantiated
- CONFIGURATIONS = {'acoustic_signal': {0: 'ACOUSTIC SIGNAL OFF', 1: 'ACOUSTIC SIGNAL ON'}, 'active_sensor': {1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}, 'autostart': {0: 'AUTOSTART OFF', 1: 'AUTOSTART ON'}, 'coolant_valve_connected': {0: 'NO COOLANT VALVE', 1: 'COOLANT VALVE CONNECTED'}, 'fault_indicator_connected': {0: 'NO FAULT INDICATOR', 1: 'FAULT INDICATOR CONNECTED'}, 'inline_valve_connected': {0: 'NO IN-LINE VALVE', 1: 'IN-LINE VALVE CONNECTED'}, 'language': {0: 'GERMAN', 1: 'ENGLISH', 2: 'FRENCH', 3: 'ITALIAN', 4: 'SPANISH', 5: 'TURKISH', 6: 'KOREAN', 7: 'CHINESE', 8: 'PORTUGUESE', 9: 'RUSSIAN', 10: 'POLISH', 11: 'DUTCH', 12: 'JAPANESE', 13: 'FINNISH'}, 'level_sensor_connected': {0: 'NO LEVEL SENSOR', 1: 'LEVEL SENSOR CONNECTED'}, 'mode': {0: 'VACU LAN mode.', 1: 'Pumping down mode.', 2: 'Vac control mode.', 3: 'Auto mode.', 4: 'Program mode.', 5: 'Gauge.'}, 'remote_control': {0: 'REMOTE OFF', 1: 'REMOTE ON'}, 'remote_module_connected': {0: 'NO REMOTE MODULE', 1: 'REMOTE MODULE CONNECTED'}, 'total_sensors': {1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}, 'unit': {0: 'mbar', 1: 'Torr', 2: 'hPa'}, 'vario_pump_connected': {0: 'NO VARIO PUMP', 1: 'VARIO PUMP CONNECTED'}, 'vent_valve_connected': {0: 'NO VENT VALVE', 1: 'VENT VALVE CONNECTED'}, 'vms_connected': {0: 'NO VMS', 1: 'VMS CONNECTED'}}
- DEFAULT_NAME = 'CVC 3000'
- ERRORS = {0: 'Last command incorrect!', 1: 'Catch pot full error!', 2: 'External error!', 3: 'Vacuum sensor error!', 4: 'Overpressure error!', 5: 'Vent valve error!', 6: 'Coolant valve error!', 7: 'In-line valve error!', 8: 'Pump error!'}
- EXAMPLE_CONFIG = '3100010001000111'
- EXAMPLE_STATUS = '000020'
- GET_CONFIG = {'name': 'IN_CFG', 'reply': {'type': <class 'str'>}}
- GET_DELAY_TIME = {'name': 'IN_SP_4', 'reply': {'type': <class 'str'>}}
- GET_ERRORS = {'name': 'IN_ERR', 'reply': {'type': <class 'str'>}}
- GET_NAME = {'name': 'IN_VER', 'reply': {'args': [0, 8], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_OFF_PRESSURE = {'name': 'IN_SP_5', 'reply': {'args': [None, 4], 'parser': <function slicer>, 'type': <class 'int'>}}
- GET_PRESSURE = {'name': 'IN_PV_1', 'reply': {'args': [0, 6], 'parser': <function slicer>, 'type': <class 'float'>}}
- GET_PRESSURE_SET = {'name': 'IN_SP_1', 'reply': {'args': [0, 4], 'parser': <function slicer>, 'type': <class 'int'>}}
- GET_PUMP_SPEED = {'name': 'IN_PV_2', 'reply': {'args': [3], 'parser': <function slicer>, 'type': <class 'int'>}}
- GET_PUMP_SPEED_SET = {'name': 'IN_SP_2', 'reply': {'args': [3], 'parser': <function slicer>, 'type': <class 'int'>}}
- GET_RUNTIME = {'name': 'IN_PV_3', 'reply': {'type': <class 'str'>}}
- GET_STARTUP_PRESSURE = {'name': 'IN_SP_3', 'reply': {'type': <class 'int'>}}
- GET_STATUS = {'name': 'IN_STAT', 'reply': {'type': <class 'str'>}}
- GET_TIMER = {'name': 'IN_SP_6', 'reply': {'args': [None, 5], 'parser': <function slicer>, 'type': <class 'str'>}}
- GET_UPTIME = {'name': 'IN_PV_T', 'reply': {'type': <class 'str'>}}
- GET_VERSION = {'name': 'IN_VER', 'reply': {'args': [11, 15], 'parser': <function slicer>, 'type': <class 'float'>}}
- LANGUAGES = {0: 'GERMAN', 1: 'ENGLISH', 2: 'FRENCH', 3: 'ITALIAN', 4: 'SPANISH', 5: 'TURKISH', 6: 'KOREAN', 7: 'CHINESE', 8: 'PORTUGUESE', 9: 'RUSSIAN', 10: 'POLISH', 11: 'DUTCH', 12: 'JAPANESE', 13: 'FINNISH'}
- OPERATION_MODES = {0: 'VACUU_LAN', 1: 'PUMP_DOWN', 2: 'VAC_CONTROL', 3: 'AUTO', 4: 'PROGRAM', 30: 'AUTO_LOW_SENS', 31: 'AUTO_NORMAL_SENS', 32: 'AUTO_HIGH_SENS'}
- SET_CONFIG = {'name': 'OUT_CFG', 'type': <class 'str'>}
- SET_CVC_2000 = {'name': 'CVC 2000', 'reply': {'type': <class 'int'>}, 'type': <class 'str'>}
- SET_CVC_3000 = {'name': 'CVC 3000', 'reply': {'type': <class 'int'>}, 'type': <class 'str'>}
- SET_DELAY_TIME = {'check': {'max': 300, 'min': 1}, 'name': 'OUT_SP_4', 'reply': {'type': <class 'str'>}, 'type': <class 'int'>}
- SET_ECHO = {'check': {'values': [0, 1]}, 'name': 'ECHO', 'reply': {'type': <class 'bool'>}, 'type': <class 'int'>}
- SET_MODE = {'check': {'values': {0: 'VACUU_LAN', 1: 'PUMP_DOWN', 2: 'VAC_CONTROL', 3: 'AUTO', 4: 'PROGRAM', 30: 'AUTO_LOW_SENS', 31: 'AUTO_NORMAL_SENS', 32: 'AUTO_HIGH_SENS'}}, 'name': 'OUT_MODE', 'reply': {'type': <class 'int'>}, 'type': <class 'int'>}
- SET_OFF_PRESSURE = {'check': {'max': 1060, 'min': 0}, 'name': 'OUT_SP_5', 'reply': {'type': <class 'int'>}, 'type': <class 'int'>}
- SET_PRESSURE = {'check': {'max': 1060, 'min': 0}, 'name': 'OUT_SP_1', 'reply': {'type': <class 'int'>}, 'type': <class 'int'>}
- SET_PRESSURE_WITH_VENT = {'check': {'max': 1060, 'min': 0}, 'name': 'OUT_SP_V', 'reply': {'type': <class 'int'>}, 'type': <class 'int'>}
- SET_PUMP_SPEED = {'check': {'max': 100, 'min': 0}, 'name': 'OUT_SP_2', 'reply': {'type': <class 'int'>}, 'type': <class 'int'>}
- SET_REMOTE = {'check': {'values': [0, 1]}, 'name': 'REMOTE', 'reply': {'type': <class 'bool'>}, 'type': <class 'int'>}
- SET_STARTUP_PRESSURE = {'check': {'max': 1060, 'min': 0}, 'name': 'OUT_SP_3', 'reply': {'type': <class 'int'>}, 'type': <class 'int'>}
- SET_TIMER = {'name': 'OUT_SP_6', 'reply': {'args': [None, 5], 'parser': <function slicer>, 'type': <class 'str'>}, 'type': <class 'str'>}
- START = {'name': 'START 1', 'reply': {'type': <class 'int'>}}
- STATUSES = {'control_state': {0: 'Control off.', 1: 'Reaching set point/boiling point', 2: 'Set point reached/boiling point found.', 3: 'Below set point/auto switch-off.'}, 'coolant_valve': {0: 'Coolant valve closed.', 1: 'Coolant valve open.'}, 'inline_valve': {0: 'In-line valve closed.', 1: 'In-line valve open.'}, 'mode': {0: 'VACU LAN mode.', 1: 'Pumping down mode.', 2: 'Vac control mode.', 3: 'Auto mode.', 4: 'Program mode.', 5: 'Gauge.'}, 'motor_state': {0: 'Pump off.', 1: 'Pump on.'}, 'vent_valve': {0: 'Vent valve closed.', 1: 'Vent valve open.'}}
- STOP = {'name': 'STOP 1', 'reply': {'type': <class 'int'>}}
- VENT_AUTO = 2
- VENT_CLOSED = 0
- VENT_OFF = {'name': 'OUT_VENT 0', 'reply': {'type': <class 'int'>}}
- VENT_ON = {'name': 'OUT_VENT 1', 'reply': {'type': <class 'int'>}}
- VENT_ON_TO_ATM = {'name': 'OUT_VENT 2', 'reply': {'type': <class 'int'>}}
- VENT_OPEN = 1