Agilent PlateLoc#
Property |
Value |
|---|---|
Connection |
RS-232 serial, 19200 8N1 |
PLR extra |
|
The PlateLoc uses direct RS-232 control and does not require Agilent ActiveX, VWorks, or vendor server software. Install the optional serial dependency before connecting:
pip install "pylabrobot[serial]"
Create the driver#
Use the serial port connected to the PlateLoc.
from pylabrobot.agilent import PlateLoc
plateloc = PlateLoc(port="COM6")
Physical setup#
Connect a USB-to-RS-232 adapter and the correct DB9 cable, power on the PlateLoc, and confirm that the stage is clear before opening the connection.
Connect#
await plateloc.setup()
Set the sealing temperature#
The accepted range is 20–235 °C.
await plateloc.set_sealing_temperature(175)
Read status#
request_status() returns the last successfully written temperature target, the tracked stage position, and a live cycle-complete query. The direct protocol does not expose the actual block temperature.
status = await plateloc.request_status()
print(status.target_temperature, status.stage_position, status.cycle_complete)
Seal a plate#
Place the plate and sealing material as required by the instrument, then set the temperature and duration and wait for the cycle to finish.
await plateloc.seal(temperature=175, duration=1.5)
Open the stage#
Make sure the stage has room to move.
await plateloc.open()
Close the stage#
Remove or place the plate before closing the stage.
await plateloc.close()
Disconnect#
await plateloc.stop()
Serial command profile#
The default profile uses 19200 8N1 and carriage-return-terminated ASCII frames. Temperature and time payloads use the firmware fractional-setpoint convention: the digits after the decimal point are the integer controller value.
Operation |
Frame |
|---|---|
Set sealing temperature |
|
Set sealing time |
|
Start cycle |
|
Stop cycle |
|
Move stage out |
|
Move stage in |
|
Apply seal |
|
Clear error |
|
Check cycle complete |
|
For example, set_sealing_temperature(175) writes ST 0.175\r, and seal(temperature=175, duration=1.2) writes SS 0.12\r as part of the cycle setup. Negative acknowledgements have the form <code>NK(message) and raise PlateLocError.
Override serial settings and timing by passing a PlateLocSerialProfile.
from pylabrobot.agilent import PlateLoc, PlateLocSerialProfile
profile = PlateLocSerialProfile(
baudrate=19200,
stage_move_delay=6,
)
plateloc = PlateLoc(port="COM6", profile=profile)
Troubleshooting#
The PlateLoc RS-232 connector is not VGA and is not USB TTL. Use a USB-to-RS-232 adapter plus the correct DB9 cable for the instrument. If the port opens but every command times out, verify that the PlateLoc is powered, the rear serial cable is seated, and the wiring matches the instrument requirement. Some setups require a null-modem DB9 adapter rather than a straight-through cable.