IDEX mxII

PyLabware driver for IDEX MX II series six-port sample injection valve.

class PyLabware.devices.idex_mxii.IDEXMXIIValve(device_name, connection_mode, address, port)[source]

Bases: AbstractDistributionValve

Two-position IDEX MX Series II HPLC valve.

Default constructor.

Parameters:
  • device_name (str) –

  • connection_mode (str) –

  • address (str | None) –

  • port (str | int) –

check_errors()[source]

Check device for errors & raises PLDeviceInternalError with appropriate error message.

clear_errors()[source]

Not supported on this device.

get_status()[source]

Returns device status.

get_valve_position()[source]

Gets current valve position.

initialize_device()[source]

Not supported on this device.

is_connected()[source]

Checks if device is connected.

Return type:

bool

is_idle()[source]

Checks whether device is idle.

move_home()[source]

Move valve to home position.

sample(seconds)[source]

Move valve to position 2 for seconds, then switch back to 1.

Parameters:

seconds (int) – Number of seconds to stay in position 2.

set_valve_position(position)[source]

Move value to specified position. Position 1 corresponds to the home position, i.e. injected sample goes to the loop and eluent to waste. Position 2 corresponds usually represents the beginning of acquisition where sample in the loop goes to analysis.

Parameters:

position (int) –

start()[source]

Not supported on this device.

stop()[source]

Not supported on this device.

class PyLabware.devices.idex_mxii.IDEXMXIIValveCommands(*args, **kwargs)[source]

Bases: LabDeviceCommands

Collection of command definitions for for IDEX valve controller USB protocol.

This class shouldn’t be instantiated

COMMAND_MODES = {1: 'Level logic', 2: 'Single pulse logic', 3: 'BCD logic', 4: 'Inverted BCD logic', 5: 'Dual pulse logic'}
GET_CMD_MODE = {'name': 'D', 'reply': {'type': <class 'int'>}, 'type': <class 'int'>}
GET_ERROR = {'name': 'E', 'reply': {'type': <class 'int'>}}
GET_FW_REV = {'name': 'R', 'reply': {'type': <class 'int'>}}
GET_STATUS = {'name': 'S', 'reply': {'type': <class 'str'>}}
GET_VALVE_PROFILE = {'name': 'Q', 'reply': {'type': <class 'int'>}}
MOVE_HOME = {'name': 'M', 'reply': {'type': <class 'str'>}}
MOVE_TO_POSITION = {'name': 'P', 'reply': {'type': <class 'str'>}, 'type': <class 'str'>}
SET_BAUDRATE = {'check': {'values': {1: 9600, 2: 19200, 3: 38400, 4: 57600}}, 'name': 'X', 'type': <class 'int'>}
SET_CMD_MODE = {'check': {'values': {1: 'Level logic', 2: 'Single pulse logic', 3: 'BCD logic', 4: 'Inverted BCD logic', 5: 'Dual pulse logic'}}, 'name': 'F', 'type': <class 'int'>}
SET_I2C_ADDRESS = {'check': {'max': 254, 'min': 14}, 'name': 'N', 'type': <class 'int'>}
SET_VALVE_PROFILE = {'check': {'max': 255, 'min': 0}, 'name': 'O', 'type': <class 'int'>}
STATUS_BUSY = '*'
STATUS_CODES = {'*': 'Busy', '44': 'Data CRC error.', '55': 'Data integrity error.', '66': 'Valve positioning error.', '77': 'Valve configuration error or command error.', '88': 'Non-volatile memory error.', '99': 'Valve cannot be homed.'}
UART_BAUDRATES = {1: 9600, 2: 19200, 3: 38400, 4: 57600}