mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-14 13:14:39 +00:00
362 lines
9.7 KiB
JSON
362 lines
9.7 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "CleanVesselTestStation",
|
|
"name": "容器清洗测试工作站",
|
|
"children": [
|
|
"transfer_pump_cleaner",
|
|
"heatchill_1",
|
|
"flask_water",
|
|
"flask_ethanol",
|
|
"flask_acetone",
|
|
"flask_waste",
|
|
"reactor",
|
|
"flask_buffer",
|
|
"flask_sample",
|
|
"flask_air"
|
|
],
|
|
"parent": null,
|
|
"type": "device",
|
|
"class": "workstation",
|
|
"position": {
|
|
"x": 620.6111111111111,
|
|
"y": 171,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"protocol_type": ["CleanVesselProtocol", "TransferProtocol", "AddProtocol"]
|
|
},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "transfer_pump_cleaner",
|
|
"name": "清洗转移泵",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"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": "heatchill_1",
|
|
"name": "加热冷却器",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "device",
|
|
"class": "virtual_heatchill",
|
|
"position": {
|
|
"x": 650.1111111111111,
|
|
"y": 478,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL",
|
|
"max_temp": 150.0,
|
|
"min_temp": -20.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"current_temp": 25.0,
|
|
"target_temp": 25.0,
|
|
"vessel": "",
|
|
"purpose": "",
|
|
"progress": 0.0,
|
|
"current_status": "Ready"
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_water",
|
|
"name": "水溶剂瓶",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 100,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "water",
|
|
"volume": 1500.0,
|
|
"concentration": 100.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_ethanol",
|
|
"name": "乙醇溶剂瓶",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 250,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "ethanol",
|
|
"volume": 1500.0,
|
|
"concentration": 99.5
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_acetone",
|
|
"name": "丙酮溶剂瓶",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 400,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "acetone",
|
|
"volume": 1800.0,
|
|
"concentration": 99.9
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_waste",
|
|
"name": "废液瓶",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 550,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 5000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "reactor",
|
|
"name": "反应器",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 698.1111111111111,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "residue",
|
|
"volume": 50.0,
|
|
"concentration": 100.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_buffer",
|
|
"name": "缓冲液瓶",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 850,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "buffer",
|
|
"volume": 1000.0,
|
|
"concentration": 10.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_sample",
|
|
"name": "样品瓶",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 1000,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 500.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_air",
|
|
"name": "空气瓶",
|
|
"children": [],
|
|
"parent": "CleanVesselTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 950,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
}
|
|
],
|
|
"links": [
|
|
{
|
|
"source": "transfer_pump_cleaner",
|
|
"target": "flask_water",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_cleaner": "1",
|
|
"flask_water": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_cleaner",
|
|
"target": "flask_ethanol",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_cleaner": "2",
|
|
"flask_ethanol": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_cleaner",
|
|
"target": "flask_acetone",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_cleaner": "3",
|
|
"flask_acetone": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_cleaner",
|
|
"target": "flask_waste",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_cleaner": "4",
|
|
"flask_waste": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_cleaner",
|
|
"target": "reactor",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_cleaner": "5",
|
|
"reactor": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_cleaner",
|
|
"target": "flask_buffer",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_cleaner": "6",
|
|
"flask_buffer": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_cleaner",
|
|
"target": "flask_sample",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_cleaner": "7",
|
|
"flask_sample": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_cleaner",
|
|
"target": "flask_air",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_cleaner": "8",
|
|
"flask_air": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "heatchill_1",
|
|
"target": "reactor",
|
|
"type": "physical",
|
|
"port": {
|
|
"heatchill_1": "heating_element",
|
|
"reactor": "bottom"
|
|
}
|
|
},
|
|
{
|
|
"source": "heatchill_1",
|
|
"target": "flask_sample",
|
|
"type": "physical",
|
|
"port": {
|
|
"heatchill_1": "heating_element",
|
|
"flask_sample": "bottom"
|
|
}
|
|
}
|
|
]
|
|
} |