mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-14 13:14:39 +00:00
494 lines
13 KiB
JSON
494 lines
13 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "WashSolidTestStation",
|
|
"name": "固体清洗测试工作站",
|
|
"children": [
|
|
"transfer_pump_1",
|
|
"heatchill_1",
|
|
"stirrer_1",
|
|
"filter_1",
|
|
"flask_ethanol",
|
|
"flask_water",
|
|
"flask_acetone",
|
|
"flask_methanol",
|
|
"reactor",
|
|
"collection_flask",
|
|
"waste_flask",
|
|
"flask_sample",
|
|
"filtrate_flask"
|
|
],
|
|
"parent": null,
|
|
"type": "device",
|
|
"class": "workstation",
|
|
"position": {
|
|
"x": 620.6111111111111,
|
|
"y": 171,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"protocol_type": ["WashSolidProtocol", "TransferProtocol", "FilterProtocol", "HeatChillProtocol", "StirProtocol"]
|
|
},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "transfer_pump_1",
|
|
"name": "转移泵",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"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": "WashSolidTestStation",
|
|
"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": "stirrer_1",
|
|
"name": "搅拌器",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "device",
|
|
"class": "virtual_stirrer",
|
|
"position": {
|
|
"x": 750.1111111111111,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL",
|
|
"max_speed": 1000.0
|
|
},
|
|
"data": {
|
|
"status": "Idle"
|
|
}
|
|
},
|
|
{
|
|
"id": "filter_1",
|
|
"name": "过滤器",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "device",
|
|
"class": "virtual_filter",
|
|
"position": {
|
|
"x": 850.1111111111111,
|
|
"y": 478,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL",
|
|
"max_temp": 100.0,
|
|
"max_stir_speed": 1000.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"filter_state": "Ready",
|
|
"current_temp": 25.0,
|
|
"target_temp": 25.0,
|
|
"max_temp": 100.0,
|
|
"stir_speed": 0.0,
|
|
"max_stir_speed": 1000.0,
|
|
"filtered_volume": 0.0,
|
|
"progress": 0.0,
|
|
"message": ""
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_ethanol",
|
|
"name": "乙醇清洗剂",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 100,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "ethanol",
|
|
"volume": 1500.0,
|
|
"concentration": 99.5
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_water",
|
|
"name": "水清洗剂",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 250,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "water",
|
|
"volume": 1800.0,
|
|
"concentration": 100.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_acetone",
|
|
"name": "丙酮清洗剂",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 400,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "acetone",
|
|
"volume": 800.0,
|
|
"concentration": 99.8
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_methanol",
|
|
"name": "甲醇清洗剂",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"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": "reactor",
|
|
"name": "反应器",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 698.1111111111111,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "solid_product",
|
|
"volume": 50.0,
|
|
"concentration": 100.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "collection_flask",
|
|
"name": "收集瓶",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 850,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "waste_flask",
|
|
"name": "废液瓶",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 1000,
|
|
"y": 428,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_sample",
|
|
"name": "样品瓶",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 1150,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 500.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"name": "crude_solid",
|
|
"volume": 30.0,
|
|
"concentration": 80.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "filtrate_flask",
|
|
"name": "滤液收集瓶",
|
|
"children": [],
|
|
"parent": "WashSolidTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 1000,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1500.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
}
|
|
],
|
|
"links": [
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_ethanol",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "1",
|
|
"flask_ethanol": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_water",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "2",
|
|
"flask_water": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_acetone",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "3",
|
|
"flask_acetone": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_methanol",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "4",
|
|
"flask_methanol": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "reactor",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "5",
|
|
"reactor": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "collection_flask",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "6",
|
|
"collection_flask": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "waste_flask",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "7",
|
|
"waste_flask": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "flask_sample",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "8",
|
|
"flask_sample": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "transfer_pump_1",
|
|
"target": "filtrate_flask",
|
|
"type": "physical",
|
|
"port": {
|
|
"transfer_pump_1": "9",
|
|
"filtrate_flask": "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"
|
|
}
|
|
},
|
|
{
|
|
"source": "stirrer_1",
|
|
"target": "reactor",
|
|
"type": "physical",
|
|
"port": {
|
|
"stirrer_1": "stir_rod",
|
|
"reactor": "center"
|
|
}
|
|
},
|
|
{
|
|
"source": "stirrer_1",
|
|
"target": "flask_sample",
|
|
"type": "physical",
|
|
"port": {
|
|
"stirrer_1": "stir_rod",
|
|
"flask_sample": "center"
|
|
}
|
|
},
|
|
{
|
|
"source": "filter_1",
|
|
"target": "reactor",
|
|
"type": "physical",
|
|
"port": {
|
|
"filter_1": "filter_element",
|
|
"reactor": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "filter_1",
|
|
"target": "flask_sample",
|
|
"type": "physical",
|
|
"port": {
|
|
"filter_1": "filter_element",
|
|
"flask_sample": "top"
|
|
}
|
|
},
|
|
{
|
|
"source": "filter_1",
|
|
"target": "filtrate_flask",
|
|
"type": "physical",
|
|
"port": {
|
|
"filter_1": "filter_element",
|
|
"filtrate_flask": "top"
|
|
}
|
|
}
|
|
]
|
|
} |