pylabrobot.agilent.benchcel.BenchCel4R#

class pylabrobot.agilent.benchcel.BenchCel4R(name: str, host: str, *, port: int = 7612, timeout: float = 30.0, read_poll_timeout: float = 0.25, loading_tray_teachpoint_id: int | None = None, source_ip: str | None = None, stacks: Sequence[ResourceStack] | None = None, labware: Plate | BenchCelLabwareSettings | dict | None = None, loading_tray_location: Coordinate | None = None, size_x: float = 0.0, size_y: float = 0.0, size_z: float = 0.0, rotation: Rotation | None = None, category: str | None = None, model: str | None = 'Agilent BenchCel 4R')#

Bases: Resource

Agilent BenchCel 4R microplate handler.

The BenchCel is a sequential (“stacking access”) storage device: each of its four stackers is a single-ended LIFO stack of plates. The device exposes downstack/upstack transfers and tracks the expected plate order in four ResourceStack objects.

The four ResourceStack stacks track the expected plate order/content of each stacker.

Attributes

name

Get the name of this resource.

stacks

The four configured stacks, ordered by human stacker number.

Methods

__init__(name, host, *[, port, timeout, ...])

assign_child_by_anchor(resource[, ...])

Assign a child resource by aligning anchor points.

assign_child_resource(resource, location[, ...])

Assign a child resource to this resource.

at(location)

Return a copy of this resource at the given location.

center([x, y, z])

Get the center of this resource.

centers([xn, yn, zn])

Get equally spaced points in the x, y, and z directions.

check_can_drop_resource_here(resource, *[, ...])

Validate whether resource may be dropped onto this resource.

close_robot_gripper(*[, timeout])

Fully close the robot gripper.

close_stacker_clamps(stack, *[, timeout])

Close one stacker's pneumatic clamps using command 0x67.

copy()

deregister_did_assign_resource_callback(callback)

Remove a callback that will be called after a resource is assigned to this resource.

deregister_did_unassign_resource_callback(...)

Remove a callback that will be called after a resource is unassigned from this resource.

deregister_state_update_callback(callback)

Remove a callback that will be called when the state of the resource changes.

deregister_will_assign_resource_callback(...)

Remove a callback that will be called before a resource is assigned to this resource.

deregister_will_unassign_resource_callback(...)

Remove a callback that will be called before a resource is unassigned from this resource.

deserialize(data[, allow_marshal])

Deserialize a resource from a dictionary.

downstack(stack, *[, timeout])

Move the accessible plate of stack to the loading teachpoint.

find_resource([fn, metadata, has_metadata, ...])

Find the first matching resource, or None if not found.

find_resources([fn, metadata, has_metadata, ...])

Find resources matching top-level attributes, metadata, and/or a predicate.

get_absolute_location([x, y, z])

Get the absolute location of this resource, probably within the pylabrobot.resources.Deck.

get_absolute_rotation()

Get the absolute rotation of this resource.

get_absolute_size_x()

Get the absolute size in the x direction.

get_absolute_size_y()

Get the absolute size in the y direction.

get_absolute_size_z()

Get the absolute size in the z direction.

get_all_children()

Recursively get all children of this resource.

get_anchor([x, y, z])

Get a relative location within the resource.

get_highest_known_point()

Recursively finds the highest known point in absolute space.

get_location_wrt(other[, x, y, z])

Get the location of this resource with respect to another resource.

get_resource(name)

Get a resource by name.

get_root()

Get the root of the resource tree.

get_size_x()

Local size in the x direction.

get_size_y()

Local size in the y direction.

get_size_z()

Local size in the z direction.

home(*[, timeout])

Home all BenchCel motors and reconnect when the device becomes responsive.

is_in_subtree_of(other)

Return True if self is in the subtree rooted at other.

load_all_state(state)

Load state for this resource and all children.

load_from_json_file(json_file)

Loads resources from a JSON file.

load_state(state)

Load state for this resource only.

load_state_from_file(fn)

Load the state of this resource and all children from a JSON file.

move_plate_between_stacks(source, destination, *)

Move the accessible plate between two configured stacks and update PLR state.

move_to_stacker(stack, *[, timeout])

Move the arm to one of this BenchCel's configured stacks.

move_to_teachpoint(teachpoint_id, *[, ...])

Move to a teachpoint target id using command 0x65.

named(name)

Return a copy of this resource with the given name.

open_robot_gripper(*[, timeout])

Fully open the robot gripper.

open_stacker_clamps(stack, *[, timeout])

Open one stacker's pneumatic clamps using command 0x67.

register_did_assign_resource_callback(callback)

Add a callback that will be called after a resource is assigned to this resource.

register_did_unassign_resource_callback(callback)

Add a callback that will be called after a resource is unassigned from this resource.

register_state_update_callback(callback)

Register a callback that will be called when the state of the resource changes.

register_will_assign_resource_callback(callback)

Add a callback that will be called before a resource is assigned to this resource.

register_will_unassign_resource_callback(...)

Add a callback that will be called before a resource is unassigned from this resource.

request_all_stacker_sensor_statuses(*[, ...])

Return sensor status keyed by human stacker number 1-4.

request_arm_pose(*[, timeout])

Return the decoded arm location, rotation, and robot-gripper position.

request_axis_limits(*[, timeout])

Return per-axis travel limits as {axis: (minimum, maximum)}.

request_stacker_sensor_status(stack, *[, ...])

Return the sensor status for one configured stack.

request_status(*[, timeout])

Send 87 00 00 and return decoded/raw general status.

request_status_snapshot(*[, ...])

Return all stacker sensors and the general status from one polling cycle.

rotate([x, y, z])

Rotate counter-clockwise by the given number of degrees.

rotated([x, y, z])

Return a copy of this resource rotated by the given number of degrees.

save(fn[, indent])

Save a resource to a JSON file.

save_state_to_file(fn[, indent])

Save the state of this resource and all children to a JSON file.

serialize()

serialize_all_state()

Serialize the state of this resource and all children.

serialize_state()

Serialize the state of this resource only.

set_labware(labware, *[, timeout])

Push labware geometry to the BenchCel using the 0x7d settings command.

set_teachpoint(teachpoint, *[, timeout])

Write a numeric teachpoint with command 0x73.

setup()

Open the TCP connection to the BenchCel.

stop()

Close the TCP connection.

unassign()

Unassign this resource from its parent.

unassign_child_resource(resource)

Unassign a child resource from this resource.

upstack(stack, *[, timeout])

Move a plate from the loading teachpoint onto stack.

Parameters: