mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-06 23:15:10 +00:00
update
This commit is contained in:
@@ -16,13 +16,13 @@
|
|||||||
"_resource_child_name": "PRCXI_Deck",
|
"_resource_child_name": "PRCXI_Deck",
|
||||||
"_resource_type": "unilabos.devices.liquid_handling.prcxi.prcxi:PRCXI9300Deck"
|
"_resource_type": "unilabos.devices.liquid_handling.prcxi.prcxi:PRCXI9300Deck"
|
||||||
},
|
},
|
||||||
"host": "192.168.3.9",
|
"host": "10.181.102.13",
|
||||||
"port": 9999,
|
"port": 9999,
|
||||||
"timeout": 10.0,
|
"timeout": 10.0,
|
||||||
"axis": "Right",
|
"axis": "Right",
|
||||||
"channel_num": 1,
|
"channel_num": 1,
|
||||||
"setup": false,
|
"setup": false,
|
||||||
"debug": true,
|
"debug": false,
|
||||||
"simulator": false,
|
"simulator": false,
|
||||||
"matrix_id": "fd383e6d-2d0e-40b5-9c01-1b2870b1f1b1"
|
"matrix_id": "fd383e6d-2d0e-40b5-9c01-1b2870b1f1b1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,9 +5,18 @@
|
|||||||
"sample_id": null,
|
"sample_id": null,
|
||||||
"children": [
|
"children": [
|
||||||
"HPLCPlateT1",
|
"HPLCPlateT1",
|
||||||
|
"container_for_nothing1",
|
||||||
|
"container_for_nothing2",
|
||||||
"trash",
|
"trash",
|
||||||
|
"container_for_nothing3",
|
||||||
|
"container_for_nothing",
|
||||||
|
"container_for_nothing4",
|
||||||
"RackT8",
|
"RackT8",
|
||||||
"PlateT11"
|
"container_for_nothing5",
|
||||||
|
"container_for_nothing6",
|
||||||
|
"PlateT11",
|
||||||
|
"container_for_nothing7",
|
||||||
|
"container_for_nothing8"
|
||||||
],
|
],
|
||||||
"parent": "lh_PRCXI_Deck",
|
"parent": "lh_PRCXI_Deck",
|
||||||
"type": "deck",
|
"type": "deck",
|
||||||
@@ -4007,6 +4016,68 @@
|
|||||||
"liquid_history": []
|
"liquid_history": []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing1",
|
||||||
|
"name": "container_for_nothing1",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing2",
|
||||||
|
"name": "container_for_nothing2",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "trash",
|
"id": "trash",
|
||||||
"name": "trash",
|
"name": "trash",
|
||||||
@@ -4048,6 +4119,99 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing3",
|
||||||
|
"name": "container_for_nothing3",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing",
|
||||||
|
"name": "container_for_nothing",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing4",
|
||||||
|
"name": "container_for_nothing4",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "RackT8",
|
"id": "RackT8",
|
||||||
"name": "RackT8",
|
"name": "RackT8",
|
||||||
@@ -8118,6 +8282,68 @@
|
|||||||
"pending_tip": null
|
"pending_tip": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing5",
|
||||||
|
"name": "container_for_nothing5",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing6",
|
||||||
|
"name": "container_for_nothing6",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "PlateT11",
|
"id": "PlateT11",
|
||||||
"name": "PlateT11",
|
"name": "PlateT11",
|
||||||
@@ -13241,5 +13467,67 @@
|
|||||||
null
|
null
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing7",
|
||||||
|
"name": "container_for_nothing7",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "container_for_nothing8",
|
||||||
|
"name": "container_for_nothing8",
|
||||||
|
"sample_id": null,
|
||||||
|
"children": [],
|
||||||
|
"parent": "PRCXI_Deck",
|
||||||
|
"type": "plate",
|
||||||
|
"class": "",
|
||||||
|
"position": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"type": "PRCXI9300Container",
|
||||||
|
"size_x": 50,
|
||||||
|
"size_y": 50,
|
||||||
|
"size_z": 10,
|
||||||
|
"rotation": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"z": 0,
|
||||||
|
"type": "Rotation"
|
||||||
|
},
|
||||||
|
"category": "plate",
|
||||||
|
"model": null,
|
||||||
|
"barcode": null,
|
||||||
|
"ordering": {}
|
||||||
|
},
|
||||||
|
"data": {}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -464,7 +464,7 @@ class PRCXI9300Backend(LiquidHandlerBackend):
|
|||||||
|
|
||||||
# 检查trash #
|
# 检查trash #
|
||||||
if ops[0].resource.name == "trash":
|
if ops[0].resource.name == "trash":
|
||||||
|
|
||||||
PlateNo = ops[0].resource.parent.children.index(ops[0].resource) + 1
|
PlateNo = ops[0].resource.parent.children.index(ops[0].resource) + 1
|
||||||
|
|
||||||
step = self.api_client.UnLoad(
|
step = self.api_client.UnLoad(
|
||||||
@@ -1225,24 +1225,24 @@ if __name__ == "__main__":
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
container_for_nothing = PRCXI9300Container(name="container_for_nothing", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict())
|
# container_for_nothing = PRCXI9300Container(name="container_for_nothing", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict())
|
||||||
|
|
||||||
deck.assign_child_resource(plate1, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(plate1, location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing1", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing2", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(trash, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(trash, location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing3", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing4", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(plate8, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(plate8, location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing5", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing6", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(plate11, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(plate11, location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing7", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
deck.assign_child_resource(container_for_nothing, location=Coordinate(0, 0, 0))
|
deck.assign_child_resource(PRCXI9300Container(name="container_for_nothing8", size_x=50, size_y=50, size_z=10, category="plate", ordering=collections.OrderedDict()), location=Coordinate(0, 0, 0))
|
||||||
|
|
||||||
handler = PRCXI9300Handler(deck=deck, host="10.181.102.13", port=9999,
|
handler = PRCXI9300Handler(deck=deck, host="10.181.102.13", port=9999,
|
||||||
timeout=10.0, setup=False, debug=True,
|
timeout=10.0, setup=False, debug=False,
|
||||||
matrix_id="fd383e6d-2d0e-40b5-9c01-1b2870b1f1b1",
|
matrix_id="fd383e6d-2d0e-40b5-9c01-1b2870b1f1b1",
|
||||||
channel_num=1)
|
channel_num=1)
|
||||||
|
|
||||||
@@ -1262,6 +1262,7 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
print(plate11.get_well(0).tracker.get_used_volume())
|
print(plate11.get_well(0).tracker.get_used_volume())
|
||||||
asyncio.run(handler.create_protocol(protocol_name="Test Protocol")) # Initialize the backend and setup the connection
|
asyncio.run(handler.create_protocol(protocol_name="Test Protocol")) # Initialize the backend and setup the connection
|
||||||
|
print(plate8.children[3])
|
||||||
asyncio.run(handler.pick_up_tips([plate8.children[3]],[0]))
|
asyncio.run(handler.pick_up_tips([plate8.children[3]],[0]))
|
||||||
asyncio.run(handler.aspirate([plate11.children[0]],[10], [0]))
|
asyncio.run(handler.aspirate([plate11.children[0]],[10], [0]))
|
||||||
asyncio.run(handler.dispense([plate1.children[3]],[10],[0]))
|
asyncio.run(handler.dispense([plate1.children[3]],[10],[0]))
|
||||||
|
|||||||
Reference in New Issue
Block a user