KBiosystems Ultraseal XT Pro#

The Ultraseal XT Pro is an inline, pneumatically driven heat sealer for microplates from KBiosystems, controlled over an RS-232 serial interface. It advances and cuts its own film internally and has no foil-length, force, or distance parameters. It requires a compressed air supply.

Property

Value

OEM link

Communication

Serial / RS-232, ASCII command protocol

Serial settings

9600 baud, 8 data bits, no parity, 1 stop bit, no handshake

Terminator

CR (\r)

Temperature

25-199 °C

Sealing time

0.5-9.9 s

Warning

This driver has NOT been tested against hardware in PyLabRobot. If you verify it on a sealer, please open a PR to remove the not-tested warning.

Physical setup#

Connect the sealer’s RS-232 port to your computer, typically through a USB-to-serial adapter, and connect the compressed air supply. Make sure the sealer’s serial parameters match the driver defaults (9600 baud, 8 data bits, no parity, 1 stop bit, no handshake).

Connect#

setup() opens the serial port, waits for the device to be ready, and pre-heats to the preheating temperature. It also logs the not-tested warning.

from pylabrobot.kbiosystems import KBiosystemsUltrasealXTPro

sealer = KBiosystemsUltrasealXTPro(port="/dev/ttyUSB0")  # replace with your port
await sealer.setup()

Present and retract a plate#

The XT Pro seals a plate held on its shuttle. Move the shuttle out to let a mover place a plate, then move it back in before sealing.

await sealer.move_shuttle_out()  # present the nest for loading
# ... a mover places a plate ...
await sealer.move_shuttle_in()   # retract for sealing

Seal a plate#

seal() applies the time and temperature, waits for the heater to reach the setpoint, seals the plate, then returns to the idle temperature. Sealing time is 0.5-9.9 s; temperature is 25-199 °C.

await sealer.seal(temperature=170, duration=2.5)

Temperature#

Set the sealing temperature setpoint and read the current heater temperature.

await sealer.set_temperature(160)
print("Current temperature:", await sealer.request_temperature(), "C")

Status#

Read the status byte as a set of flags. On the XT Pro this includes LowAir, which indicates the compressed air supply is insufficient.

print("Status:", await sealer.request_status())

Teardown#

await sealer.stop()