mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-05 14:05:12 +00:00
557 lines
15 KiB
JSON
557 lines
15 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "EvacuateRefillTestStation",
|
|
"name": "抽真空充气测试站",
|
|
"children": [
|
|
"transfer_pump_1",
|
|
"transfer_pump_2",
|
|
"multiway_valve_1",
|
|
"multiway_valve_2",
|
|
"flask_DMF",
|
|
"flask_ethyl_acetate",
|
|
"flask_methanol",
|
|
"flask_air",
|
|
"vacuum_pump_1",
|
|
"gas_source_nitrogen",
|
|
"gas_source_air",
|
|
"solenoid_valve_vacuum",
|
|
"solenoid_valve_gas",
|
|
"main_reactor",
|
|
"stirrer_1",
|
|
"waste_workup",
|
|
"collection_bottle_1"
|
|
],
|
|
"parent": null,
|
|
"type": "device",
|
|
"class": "workstation",
|
|
"position": {
|
|
"x": 500,
|
|
"y": 200,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"protocol_type": ["PumpTransferProtocol", "EvacuateAndRefillProtocol"]
|
|
},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "transfer_pump_1",
|
|
"name": "转移泵1",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_transfer_pump",
|
|
"position": {
|
|
"x": 300,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_PUMP1",
|
|
"max_volume": 25.0,
|
|
"transfer_rate": 5.0
|
|
},
|
|
"data": {
|
|
"position": 0.0,
|
|
"status": "Idle"
|
|
}
|
|
},
|
|
{
|
|
"id": "transfer_pump_2",
|
|
"name": "转移泵2",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_transfer_pump",
|
|
"position": {
|
|
"x": 700,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_PUMP2",
|
|
"max_volume": 25.0,
|
|
"transfer_rate": 5.0
|
|
},
|
|
"data": {
|
|
"position": 0.0,
|
|
"status": "Idle"
|
|
}
|
|
},
|
|
{
|
|
"id": "multiway_valve_1",
|
|
"name": "第一个八通阀",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_multiway_valve",
|
|
"position": {
|
|
"x": 300,
|
|
"y": 400,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_VALVE1",
|
|
"positions": 8
|
|
},
|
|
"data": {
|
|
"current_position": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "multiway_valve_2",
|
|
"name": "第二个八通阀",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_multiway_valve",
|
|
"position": {
|
|
"x": 700,
|
|
"y": 400,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_VALVE2",
|
|
"positions": 8
|
|
},
|
|
"data": {
|
|
"current_position": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_pump_1",
|
|
"name": "真空泵1",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_vacuum_pump",
|
|
"position": {
|
|
"x": 150,
|
|
"y": 200,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_VACUUM1",
|
|
"max_pressure": -0.9
|
|
},
|
|
"data": {
|
|
"status": "OFF",
|
|
"pressure": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "gas_source_nitrogen",
|
|
"name": "氮气源",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_gas_source",
|
|
"position": {
|
|
"x": 850,
|
|
"y": 200,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_GAS_N2",
|
|
"gas_type": "nitrogen",
|
|
"max_pressure": 5.0
|
|
},
|
|
"data": {
|
|
"status": "OFF",
|
|
"flow_rate": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "gas_source_air",
|
|
"name": "空气源",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_gas_source",
|
|
"position": {
|
|
"x": 950,
|
|
"y": 200,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_GAS_AIR",
|
|
"gas_type": "air",
|
|
"max_pressure": 3.0
|
|
},
|
|
"data": {
|
|
"status": "OFF",
|
|
"flow_rate": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "solenoid_valve_vacuum",
|
|
"name": "真空电磁阀",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_solenoid_valve",
|
|
"position": {
|
|
"x": 225,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_SOLENOID_VACUUM"
|
|
},
|
|
"data": {
|
|
"valve_position": "CLOSED"
|
|
}
|
|
},
|
|
{
|
|
"id": "solenoid_valve_gas",
|
|
"name": "气源电磁阀",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_solenoid_valve",
|
|
"position": {
|
|
"x": 775,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_SOLENOID_GAS"
|
|
},
|
|
"data": {
|
|
"valve_position": "CLOSED"
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_DMF",
|
|
"name": "DMF试剂瓶",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 100,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"liquid_type": "DMF",
|
|
"liquid_volume": 800.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_ethyl_acetate",
|
|
"name": "乙酸乙酯试剂瓶",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 200,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"liquid_type": "ethyl_acetate",
|
|
"liquid_volume": 800.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_methanol",
|
|
"name": "甲醇试剂瓶",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 300,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": [
|
|
{
|
|
"liquid_type": "methanol",
|
|
"liquid_volume": 800.0
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "flask_air",
|
|
"name": "空气瓶",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 400,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "main_reactor",
|
|
"name": "主反应器",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 600,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "stirrer_1",
|
|
"name": "搅拌器1",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "device",
|
|
"class": "virtual_stirrer",
|
|
"position": {
|
|
"x": 600,
|
|
"y": 450,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"port": "VIRTUAL_STIRRER1",
|
|
"max_speed": 1500.0
|
|
},
|
|
"data": {
|
|
"speed": 0.0,
|
|
"status": "OFF"
|
|
}
|
|
},
|
|
{
|
|
"id": "waste_workup",
|
|
"name": "废液处理瓶",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 700,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 2000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
},
|
|
{
|
|
"id": "collection_bottle_1",
|
|
"name": "收集瓶1",
|
|
"children": [],
|
|
"parent": "EvacuateRefillTestStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 800,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 1000.0
|
|
},
|
|
"data": {
|
|
"liquid": []
|
|
}
|
|
}
|
|
],
|
|
"links": [
|
|
{
|
|
"id": "link_pump1_valve1",
|
|
"source": "transfer_pump_1",
|
|
"target": "multiway_valve_1",
|
|
"type": "fluid",
|
|
"port": {
|
|
"transfer_pump_1": "transferpump",
|
|
"multiway_valve_1": "transferpump"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_pump2_valve2",
|
|
"source": "transfer_pump_2",
|
|
"target": "multiway_valve_2",
|
|
"type": "fluid",
|
|
"port": {
|
|
"transfer_pump_2": "transferpump",
|
|
"multiway_valve_2": "transferpump"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_valve2",
|
|
"source": "multiway_valve_1",
|
|
"target": "multiway_valve_2",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "8",
|
|
"multiway_valve_2": "1"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_vacuum_solenoid",
|
|
"source": "vacuum_pump_1",
|
|
"target": "solenoid_valve_vacuum",
|
|
"type": "fluid",
|
|
"port": {
|
|
"vacuum_pump_1": "outlet",
|
|
"solenoid_valve_vacuum": "inlet"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_solenoid_vacuum_valve1",
|
|
"source": "solenoid_valve_vacuum",
|
|
"target": "multiway_valve_1",
|
|
"type": "fluid",
|
|
"port": {
|
|
"solenoid_valve_vacuum": "outlet",
|
|
"multiway_valve_1": "7"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_gas_solenoid",
|
|
"source": "gas_source_nitrogen",
|
|
"target": "solenoid_valve_gas",
|
|
"type": "fluid",
|
|
"port": {
|
|
"gas_source_nitrogen": "outlet",
|
|
"solenoid_valve_gas": "inlet"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_solenoid_gas_valve2",
|
|
"source": "solenoid_valve_gas",
|
|
"target": "multiway_valve_2",
|
|
"type": "fluid",
|
|
"port": {
|
|
"solenoid_valve_gas": "outlet",
|
|
"multiway_valve_2": "8"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_air_source_valve2",
|
|
"source": "gas_source_air",
|
|
"target": "multiway_valve_2",
|
|
"type": "fluid",
|
|
"port": {
|
|
"gas_source_air": "outlet",
|
|
"multiway_valve_2": "2"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_air",
|
|
"source": "multiway_valve_1",
|
|
"target": "flask_air",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "1",
|
|
"flask_air": "top"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_DMF",
|
|
"source": "multiway_valve_1",
|
|
"target": "flask_DMF",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "2",
|
|
"flask_DMF": "outlet"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_ethyl_acetate",
|
|
"source": "multiway_valve_1",
|
|
"target": "flask_ethyl_acetate",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "3",
|
|
"flask_ethyl_acetate": "outlet"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_methanol",
|
|
"source": "multiway_valve_1",
|
|
"target": "flask_methanol",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "4",
|
|
"flask_methanol": "outlet"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve2_reactor",
|
|
"source": "multiway_valve_2",
|
|
"target": "main_reactor",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "5",
|
|
"main_reactor": "inlet"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve2_waste",
|
|
"source": "multiway_valve_2",
|
|
"target": "waste_workup",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "6",
|
|
"waste_workup": "inlet"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve2_collection",
|
|
"source": "multiway_valve_2",
|
|
"target": "collection_bottle_1",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "7",
|
|
"collection_bottle_1": "inlet"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_stirrer_reactor",
|
|
"source": "stirrer_1",
|
|
"target": "main_reactor",
|
|
"type": "mechanical",
|
|
"port": {
|
|
"stirrer_1": "stirrer",
|
|
"main_reactor": "stirrer"
|
|
}
|
|
}
|
|
]
|
|
} |