mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-14 13:14:39 +00:00
412 lines
11 KiB
JSON
412 lines
11 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "RunColumnTestStation",
|
|
"name": "柱层析测试工作站",
|
|
"children": [
|
|
"transfer_pump_1",
|
|
"column_1",
|
|
"flask_sample",
|
|
"flask_hexane",
|
|
"flask_ethyl_acetate",
|
|
"flask_methanol",
|
|
"collection_flask_1",
|
|
"collection_flask_2",
|
|
"collection_flask_3",
|
|
"waste_flask",
|
|
"reactor"
|
|
],
|
|
"parent": null,
|
|
"type": "device",
|
|
"class": "workstation",
|
|
"position": {
|
|
"x": 620.6111111111111,
|
|
"y": 171,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"protocol_type": ["RunColumnProtocol", "TransferProtocol"]
|
|
},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "transfer_pump_1",
|
|
"name": "转移泵",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "device",
|
|
"class": "virtual_transfer_pump",
|
|
"position": {
|
|
"x": 520.6111111111111,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL",
|
|
"max_volume": 50.0,
|
|
"transfer_rate": 10.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"current_volume": 0.0,
|
|
"max_volume": 50.0,
|
|
"transfer_rate": 10.0,
|
|
"from_vessel": "",
|
|
"to_vessel": "",
|
|
"progress": 0.0,
|
|
"transferred_volume": 0.0,
|
|
"current_status": "Ready"
|
|
}
|
|
},
|
|
{
|
|
"id": "column_1",
|
|
"name": "柱层析设备",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "device",
|
|
"class": "virtual_column",
|
|
"position": {
|
|
"x": 650.1111111111111,
|
|
"y": 478,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL",
|
|
"max_flow_rate": 5.0,
|
|
"column_length": 30.0,
|
|
"column_diameter": 2.5
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"column_state": "Ready",
|
|
"current_flow_rate": 0.0,
|
|
"max_flow_rate": 5.0,
|
|
"column_length": 30.0,
|
|
"column_diameter": 2.5,
|
|
"processed_volume": 0.0,
|
|
"progress": 0.0,
|
|
"current_status": "Ready"
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_sample",
|
|
"name": "样品瓶",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 100,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 500.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "crude_mixture",
|
|
"volume": 200.0,
|
|
"concentration": 70.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_hexane",
|
|
"name": "正己烷洗脱剂",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 250,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "hexane",
|
|
"volume": 1500.0,
|
|
"concentration": 99.8
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_ethyl_acetate",
|
|
"name": "乙酸乙酯洗脱剂",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 400,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "ethyl_acetate",
|
|
"volume": 1500.0,
|
|
"concentration": 99.5
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_methanol",
|
|
"name": "甲醇洗脱剂",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 550,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "methanol",
|
|
"volume": 800.0,
|
|
"concentration": 99.9
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "collection_flask_1",
|
|
"name": "收集瓶1",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 750,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "collection_flask_2",
|
|
"name": "收集瓶2",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 900,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "collection_flask_3",
|
|
"name": "收集瓶3",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 1050,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "waste_flask",
|
|
"name": "废液瓶",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 1200,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "reactor",
|
|
"name": "反应器",
|
|
"children": [],
|
|
"parent": "RunColumnTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 698.1111111111111,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "reaction_mixture",
|
|
"volume": 300.0,
|
|
"concentration": 85.0
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"links": [
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_sample",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "1",
|
|
"flask_sample": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_hexane",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "2",
|
|
"flask_hexane": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_ethyl_acetate",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "3",
|
|
"flask_ethyl_acetate": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_methanol",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "4",
|
|
"flask_methanol": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "column_1",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "5",
|
|
"column_1": "inlet"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "collection_flask_1",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "6",
|
|
"collection_flask_1": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "collection_flask_2",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "7",
|
|
"collection_flask_2": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "collection_flask_3",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "8",
|
|
"collection_flask_3": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "waste_flask",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "9",
|
|
"waste_flask": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "reactor",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "10",
|
|
"reactor": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "column_1",
|
|
"target": "collection_flask_1",
|
|
"type": "physical",
|
|
"port": {
|
|
"column_1": "outlet",
|
|
"collection_flask_1": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "column_1",
|
|
"target": "collection_flask_2",
|
|
"type": "physical",
|
|
"port": {
|
|
"column_1": "outlet",
|
|
"collection_flask_2": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "column_1",
|
|
"target": "collection_flask_3",
|
|
"type": "physical",
|
|
"port": {
|
|
"column_1": "outlet",
|
|
"collection_flask_3": "top"
|
|
}
|
|
}
|
|
]
|
|
} |