pylabrobot.azenta.fluidx.intellixcap96.FluidXIntelliXcap96#
- class pylabrobot.azenta.fluidx.intellixcap96.FluidXIntelliXcap96(port: str, timeout: float = 5.0, command_delay: float = 0.3, frame_gap: float = 0.5, poll_interval: float = 1.0, auto_recover: bool = True, recover_timeout: float = 30.0)#
Bases:
objectFluidX IntelliXcap 96 automated screw-cap decapper.
A benchtop instrument that decaps and recaps a 96-format rack of screw-cap tubes in a single stroke. It holds one nest; a plate mover loads the rack, the decapper unscrews all 96 caps (
decap), holds them, and screws them back on (recap). Held caps can also be released into a separately positioned cap carrier (waste), and the loading tray opened and closed.wastedoes not verify that a carrier is present: remove the tube rack and position the correct carrier before using it. If the rack is left beneath the head, the released caps can fall back onto the tubes without being properly recapped.- Serial settings:
9600 baud, 8 data bits, no parity, 1 stop bit, no handshake. Replies are framed between STX (0x02) and ETX (0x03).
The instrument only speaks this protocol once setpoint 86 is set to 2 (“IntelliXcap mode”), which is done at the instrument touchscreen; there is no serial command for it.
Tube type and volume are not sent over the serial protocol. The installed IntelliCartridge and its firmware profile define the supported tube/cap geometry and motion settings. Fit and configure the cartridge specified for the exact tube family; volume alone (for example, 0.5 mL) is not sufficient to select a compatible cartridge.
- Single-character commands, each written followed by ETX:
a request status b release held caps into a carrier c eject the cartridge onto the tray d dry-run mode on D dry-run mode off e extended status bitmask E cartridge profile settings f open the tray g close the tray h start decapping i start recapping j enter standby k leave standby (ready) l light curtain detection off L light curtain detection on N cartridge profile/cycles/serial Q force a decap retry s step the tray out by S88 S step the tray in by S88 V firmware versions X reset the cartridge cycle counter Z home all axes z initialize keeping caps on pins + safety door on - safety door off 5 eject held caps (manual mode) 6 home the cap head (manual mode) 7 open the safety door (manual mode) 8 latched error code
A command is answered with an ACK frame (0x06), a
<cmd>OKecho frame, and a result frame. The status word, in the priority the firmware reports it, isStatusMANUAL(halted, needs inspection),StatusERROR(error code latched),StatusSLEEP(standby),StatusBUSY(motion running),StatusRECAP(decapped, caps held on the pins) orStatusOK(idle). Cartridge ejection reportsStatusCAREJECT. A refused or no-op command answers withCommandIgnore. Motions complete when the status word returns fromStatusBUSYto the operation’s terminal state.Which state a failure lands in depends on the error code: 113/114 for decap, 117/118 for recap, 142 for cartridge eject and 143/144 for cartridge load latch
StatusERROR, and the command list says anything else halts those four commands inStatusMANUAL. It does not document the mapping for the other commands.request_error_code()reads the latched code, and every raisedFluidXErrorcarries it inerror_codewhen the instrument reported one.Homing clears a
StatusError. Withauto_recoverenabled (the default), an operation issued while the device is latched in error homes to recover and then proceeds.Newer firmware documents
t/Tcommands for absolute tray travel between S3 and S127. Unit firmware V49 ignored both commands completely, soextend_tray()andretract_tray()raiseNotImplementedErrorwithout writing to the instrument.Verified against hardware: connection, queries, tray open/close, home, standby/ready, settings, cartridge eject/load, the decap error/recovery path, forced decap retry, and decap/recap with a loaded 0.5 mL rack, including release of held caps with
waste. Unit firmware V49 did not acknowledge the four tray travel commands. The cartridge counter reset and manual recovery commands have not been exercised on an instrument.See the Azenta IntelliXcap user manual for the required carrier and physical setup: https://web.azenta.com/hubfs/azenta-files/resources/manuals-guides/319430-IXC-User-Manual.pdf
Methods
__init__(port[, timeout, command_delay, ...])Whether caps are currently held on the ejector pins.
close_tray([timeout])Close the loading tray, moving it to the decap/recap position.
decap([timeout])Unscrew and hold all 96 caps.
eject_caps([timeout])Home the cap head, dropping any caps held on the cap drivers.
eject_cartridge([timeout])Eject the installed IntelliCartridge onto the tray.
extend_tray([timeout])Move the tray from the load position (S3) out to the extended position (S127).
head_up([timeout])Home the Z axis, keeping any held caps on the pins.
home([timeout])Home all axes.
initialize_keeping_caps_on_pins([timeout])Clear the error state and home without dropping caps held on the pins.
load_cartridge([timeout])Pick up the cartridge resting on the tray.
open_safety_door([timeout])Open the safety door to reach into the instrument.
open_tray([timeout])Open the loading tray.
ready([timeout])Wake the decapper from standby if it is asleep.
recap([timeout])Screw the held caps back on.
Read the installed cartridge's profile, cycle count and serial.
Read the error code the instrument has latched, or None if there is none.
Read the extended status bitmask.
Read the unit, touchscreen and light curtain firmware versions.
Read the active profile number and its decap/recap retry limits.
Poll the device and return its status word (e.g.
StatusOK).Reset the installed cartridge's cycle counter to zero.
reset_error([timeout])Recover from
StatusErrororStatusMANUALby homing all axes.retract_tray([timeout])Move the tray from the extended position (S127) back to the load position (S3).
retry_decap([timeout])Force one more decap stroke on tubes that a completed decap left capped.
send_command(command)Send a raw command and collect every reply frame until the reply goes quiet.
set_dry_run_enabled(enabled)Turn dry-run mode on or off.
set_error_detection_enabled(enabled)Turn light curtain error detection during decap and recap on or off.
set_safety_door_enabled(enabled)Turn safety door operation on or off.
setup()standby([timeout])Put the decapper into low-power standby (sleep) mode.
step_tray_in([timeout])Move the tray back in by the step distance in setpoint 88.
step_tray_out([timeout])Move the tray further out by the step distance in setpoint 88.
stop()Close the serial connection.
waste([timeout])Release the currently held caps into a separately positioned cap carrier.