mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-05 14:05:12 +00:00
887 lines
25 KiB
JSON
887 lines
25 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "ComprehensiveProtocolStation",
|
|
"name": "综合协议测试工作站",
|
|
"children": [
|
|
"multiway_valve_1",
|
|
"multiway_valve_2",
|
|
"transfer_pump_1",
|
|
"transfer_pump_2",
|
|
"reagent_bottle_1",
|
|
"reagent_bottle_2",
|
|
"reagent_bottle_3",
|
|
"reagent_bottle_4",
|
|
"reagent_bottle_5",
|
|
"centrifuge_1",
|
|
"rotavap_1",
|
|
"main_reactor",
|
|
"heater_1",
|
|
"stirrer_1",
|
|
"stirrer_2",
|
|
"waste_bottle_1",
|
|
"waste_bottle_2",
|
|
"solenoid_valve_1",
|
|
"solenoid_valve_2",
|
|
"vacuum_pump_1",
|
|
"gas_source_1",
|
|
"filter_1",
|
|
"column_1",
|
|
"separator_1",
|
|
"collection_bottle_1",
|
|
"collection_bottle_2",
|
|
"collection_bottle_3"
|
|
],
|
|
"parent": null,
|
|
"type": "device",
|
|
"class": "workstation",
|
|
"position": {
|
|
"x": 600,
|
|
"y": 400,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"protocol_type": [
|
|
"AddProtocol",
|
|
"TransferProtocol",
|
|
"StartStirProtocol",
|
|
"StopStirProtocol",
|
|
"StirProtocol",
|
|
"RunColumnProtocol",
|
|
"CentrifugeProtocol",
|
|
"FilterProtocol",
|
|
"CleanVesselProtocol",
|
|
"DissolveProtocol",
|
|
"FilterThroughProtocol",
|
|
"WashSolidProtocol",
|
|
"SeparateProtocol",
|
|
"EvaporateProtocol",
|
|
"HeatChillProtocol",
|
|
"HeatChillStartProtocol",
|
|
"HeatChillStopProtocol",
|
|
"EvacuateAndRefillProtocol"
|
|
]
|
|
},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "multiway_valve_1",
|
|
"name": "八通阀门1",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_multiway_valve",
|
|
"position": {
|
|
"x": 400,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"positions": 8,
|
|
"current_position": 1
|
|
},
|
|
"data": {
|
|
"valve_state": "Ready",
|
|
"current_position": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "multiway_valve_2",
|
|
"name": "八通阀门2",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_multiway_valve",
|
|
"position": {
|
|
"x": 800,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"positions": 8,
|
|
"current_position": 1
|
|
},
|
|
"data": {
|
|
"valve_state": "Ready",
|
|
"current_position": 1
|
|
}
|
|
},
|
|
{
|
|
"id": "transfer_pump_1",
|
|
"name": "转移泵1",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_transfer_pump",
|
|
"position": {
|
|
"x": 350,
|
|
"y": 250,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 25.0,
|
|
"transfer_rate": 10.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"current_volume": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "transfer_pump_2",
|
|
"name": "转移泵2",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_transfer_pump",
|
|
"position": {
|
|
"x": 850,
|
|
"y": 250,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_volume": 25.0,
|
|
"transfer_rate": 10.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"current_volume": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "reagent_bottle_1",
|
|
"name": "试剂瓶1-DMF",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 200,
|
|
"y": 150,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 1000.0,
|
|
"reagent": "DMF"
|
|
},
|
|
"data": {
|
|
"current_volume": 1000.0,
|
|
"reagent_name": "DMF"
|
|
}
|
|
},
|
|
{
|
|
"id": "reagent_bottle_2",
|
|
"name": "试剂瓶2-乙酸乙酯",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 250,
|
|
"y": 150,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 1000.0,
|
|
"reagent": "ethyl_acetate"
|
|
},
|
|
"data": {
|
|
"current_volume": 1000.0,
|
|
"reagent_name": "ethyl_acetate"
|
|
}
|
|
},
|
|
{
|
|
"id": "reagent_bottle_3",
|
|
"name": "试剂瓶3-己烷",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 300,
|
|
"y": 150,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 1000.0,
|
|
"reagent": "hexane"
|
|
},
|
|
"data": {
|
|
"current_volume": 1000.0,
|
|
"reagent_name": "hexane"
|
|
}
|
|
},
|
|
{
|
|
"id": "reagent_bottle_4",
|
|
"name": "试剂瓶4-甲醇",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 900,
|
|
"y": 150,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 1000.0,
|
|
"reagent": "methanol"
|
|
},
|
|
"data": {
|
|
"current_volume": 1000.0,
|
|
"reagent_name": "methanol"
|
|
}
|
|
},
|
|
{
|
|
"id": "reagent_bottle_5",
|
|
"name": "试剂瓶5-水",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 950,
|
|
"y": 150,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 1000.0,
|
|
"reagent": "water"
|
|
},
|
|
"data": {
|
|
"current_volume": 1000.0,
|
|
"reagent_name": "water"
|
|
}
|
|
},
|
|
{
|
|
"id": "centrifuge_1",
|
|
"name": "离心机",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_centrifuge",
|
|
"position": {
|
|
"x": 200,
|
|
"y": 400,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_speed": 15000.0,
|
|
"max_temp": 40.0,
|
|
"min_temp": 4.0
|
|
},
|
|
"data": {
|
|
"current_speed": 0.0,
|
|
"status": "Idle"
|
|
}
|
|
},
|
|
{
|
|
"id": "rotavap_1",
|
|
"name": "旋转蒸发仪",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_rotavap",
|
|
"position": {
|
|
"x": 300,
|
|
"y": 400,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_temp": 180.0,
|
|
"max_rotation_speed": 280.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"current_temp": 25.0,
|
|
"rotation_speed": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "main_reactor",
|
|
"name": "主反应器",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 400,
|
|
"y": 450,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 500.0,
|
|
"max_temp": 200.0,
|
|
"min_temp": -20.0,
|
|
"has_stirrer": true,
|
|
"has_heater": true
|
|
},
|
|
"data": {
|
|
"current_volume": 0.0,
|
|
"current_temp": 25.0
|
|
}
|
|
},
|
|
{
|
|
"id": "heater_1",
|
|
"name": "加热器",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_heatchill",
|
|
"position": {
|
|
"x": 450,
|
|
"y": 450,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_temp": 200.0,
|
|
"min_temp": -20.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"current_temp": 25.0
|
|
}
|
|
},
|
|
{
|
|
"id": "stirrer_1",
|
|
"name": "搅拌器1",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_stirrer",
|
|
"position": {
|
|
"x": 350,
|
|
"y": 450,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_speed": 2000.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"current_speed": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "stirrer_2",
|
|
"name": "搅拌器2",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_stirrer",
|
|
"position": {
|
|
"x": 351,
|
|
"y": 451,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_speed": 2000.0
|
|
},
|
|
"data": {
|
|
"status": "Idle",
|
|
"current_speed": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "waste_bottle_1",
|
|
"name": "废液瓶1",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 500,
|
|
"y": 400,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 2000.0
|
|
},
|
|
"data": {
|
|
"current_volume": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "waste_bottle_2",
|
|
"name": "废液瓶2",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 1100,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 2000.0
|
|
},
|
|
"data": {
|
|
"current_volume": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "solenoid_valve_1",
|
|
"name": "电磁阀1",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_solenoid_valve",
|
|
"position": {
|
|
"x": 700,
|
|
"y": 200,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"voltage": 12.0,
|
|
"response_time": 0.1
|
|
},
|
|
"data": {
|
|
"valve_state": "Closed",
|
|
"is_open": false
|
|
}
|
|
},
|
|
{
|
|
"id": "solenoid_valve_2",
|
|
"name": "电磁阀2",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_solenoid_valve",
|
|
"position": {
|
|
"x": 700,
|
|
"y": 150,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"voltage": 12.0,
|
|
"response_time": 0.1
|
|
},
|
|
"data": {
|
|
"valve_state": "Closed",
|
|
"is_open": false
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_pump_1",
|
|
"name": "真空泵",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_vacuum_pump",
|
|
"position": {
|
|
"x": 650,
|
|
"y": 200,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"max_vacuum": 0.1,
|
|
"pump_rate": 50.0
|
|
},
|
|
"data": {
|
|
"status": "Off",
|
|
"current_vacuum": 1.0
|
|
}
|
|
},
|
|
{
|
|
"id": "gas_source_1",
|
|
"name": "气源",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "gas_source.mock",
|
|
"position": {
|
|
"x": 650,
|
|
"y": 150,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"gas_type": "nitrogen",
|
|
"max_pressure": 5.0
|
|
},
|
|
"data": {
|
|
"status": "Off",
|
|
"current_pressure": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "filter_1",
|
|
"name": "过滤器",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_filter",
|
|
"position": {
|
|
"x": 900,
|
|
"y": 400,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"filter_type": "membrane",
|
|
"max_pressure": 5.0
|
|
},
|
|
"data": {
|
|
"status": "Ready",
|
|
"pressure": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "column_1",
|
|
"name": "洗脱柱",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_column",
|
|
"position": {
|
|
"x": 950,
|
|
"y": 400,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"column_type": "silica_gel",
|
|
"length": 30.0,
|
|
"diameter": 2.5
|
|
},
|
|
"data": {
|
|
"status": "Ready",
|
|
"loaded": false
|
|
}
|
|
},
|
|
{
|
|
"id": "separator_1",
|
|
"name": "分液器",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "device",
|
|
"class": "virtual_separator",
|
|
"position": {
|
|
"x": 1000,
|
|
"y": 450,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 250.0,
|
|
"has_phases": true
|
|
},
|
|
"data": {
|
|
"status": "Ready",
|
|
"phase_separation": false
|
|
}
|
|
},
|
|
{
|
|
"id": "collection_bottle_1",
|
|
"name": "接收瓶1",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 900,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 250.0
|
|
},
|
|
"data": {
|
|
"current_volume": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "collection_bottle_2",
|
|
"name": "接收瓶2",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 950,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 250.0
|
|
},
|
|
"data": {
|
|
"current_volume": 0.0
|
|
}
|
|
},
|
|
{
|
|
"id": "collection_bottle_3",
|
|
"name": "接收瓶3",
|
|
"children": [],
|
|
"parent": "ComprehensiveProtocolStation",
|
|
"type": "container",
|
|
"class": null,
|
|
"position": {
|
|
"x": 1050,
|
|
"y": 500,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"volume": 250.0
|
|
},
|
|
"data": {
|
|
"current_volume": 0.0
|
|
}
|
|
}
|
|
],
|
|
"links": [
|
|
{
|
|
"id": "link_valve1_pump1",
|
|
"source": "multiway_valve_1",
|
|
"target": "transfer_pump_1",
|
|
"source_port": "port_0",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_0"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_reagent1",
|
|
"source": "multiway_valve_1",
|
|
"target": "reagent_bottle_1",
|
|
"source_port": "port_1",
|
|
"target_port": "outlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_1"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_reagent2",
|
|
"source": "multiway_valve_1",
|
|
"target": "reagent_bottle_2",
|
|
"source_port": "port_2",
|
|
"target_port": "outlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_2"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_reagent3",
|
|
"source": "multiway_valve_1",
|
|
"target": "reagent_bottle_3",
|
|
"source_port": "port_3",
|
|
"target_port": "outlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_3"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_centrifuge",
|
|
"source": "multiway_valve_1",
|
|
"target": "centrifuge_1",
|
|
"source_port": "port_4",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_4"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_rotavap",
|
|
"source": "multiway_valve_1",
|
|
"target": "rotavap_1",
|
|
"source_port": "port_5",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_5"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_reactor",
|
|
"source": "multiway_valve_1",
|
|
"target": "main_reactor",
|
|
"source_port": "port_6",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_6"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_waste1",
|
|
"source": "multiway_valve_1",
|
|
"target": "waste_bottle_1",
|
|
"source_port": "port_7",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_7"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve1_valve2",
|
|
"source": "multiway_valve_1",
|
|
"target": "multiway_valve_2",
|
|
"source_port": "port_8",
|
|
"target_port": "port_1",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_1": "port_8",
|
|
"multiway_valve_2": "port_1"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve2_pump2",
|
|
"source": "multiway_valve_2",
|
|
"target": "transfer_pump_2",
|
|
"source_port": "port_0",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "port_0"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve2_solenoid1",
|
|
"source": "multiway_valve_2",
|
|
"target": "solenoid_valve_1",
|
|
"source_port": "port_2",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "port_2"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_solenoid1_vacuum",
|
|
"source": "solenoid_valve_1",
|
|
"target": "vacuum_pump_1",
|
|
"source_port": "outlet",
|
|
"target_port": "inlet",
|
|
"type": "fluid"
|
|
},
|
|
{
|
|
"id": "link_valve2_solenoid2",
|
|
"source": "multiway_valve_2",
|
|
"target": "solenoid_valve_2",
|
|
"source_port": "port_3",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "port_3"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_solenoid2_gas",
|
|
"source": "solenoid_valve_2",
|
|
"target": "gas_source_1",
|
|
"source_port": "outlet",
|
|
"target_port": "outlet",
|
|
"type": "fluid"
|
|
},
|
|
{
|
|
"id": "link_valve2_filter",
|
|
"source": "multiway_valve_2",
|
|
"target": "filter_1",
|
|
"source_port": "port_4",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "port_4"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_filter_collection1",
|
|
"source": "filter_1",
|
|
"target": "collection_bottle_1",
|
|
"source_port": "filtrate_outlet",
|
|
"target_port": "inlet",
|
|
"type": "fluid"
|
|
},
|
|
{
|
|
"id": "link_valve2_column",
|
|
"source": "multiway_valve_2",
|
|
"target": "column_1",
|
|
"source_port": "port_5",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "port_5"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_column_collection2",
|
|
"source": "column_1",
|
|
"target": "collection_bottle_2",
|
|
"source_port": "outlet",
|
|
"target_port": "inlet",
|
|
"type": "fluid"
|
|
},
|
|
{
|
|
"id": "link_valve2_separator",
|
|
"source": "multiway_valve_2",
|
|
"target": "separator_1",
|
|
"source_port": "port_6",
|
|
"target_port": "inlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "port_6"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_separator_collection3",
|
|
"source": "separator_1",
|
|
"target": "collection_bottle_3",
|
|
"source_port": "top_outlet",
|
|
"target_port": "inlet",
|
|
"type": "fluid"
|
|
},
|
|
{
|
|
"id": "link_separator_stirrer_2",
|
|
"source": "separator_1",
|
|
"target": "stirrer_2",
|
|
"source_port": "top_outlet",
|
|
"target_port": "inlet",
|
|
"type": "fluid"
|
|
},
|
|
{
|
|
"id": "link_separator_waste2",
|
|
"source": "separator_1",
|
|
"target": "waste_bottle_2",
|
|
"source_port": "bottom_outlet",
|
|
"target_port": "inlet",
|
|
"type": "fluid"
|
|
},
|
|
{
|
|
"id": "link_valve2_reagent4",
|
|
"source": "multiway_valve_2",
|
|
"target": "reagent_bottle_4",
|
|
"source_port": "port_7",
|
|
"target_port": "outlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "port_7"
|
|
}
|
|
},
|
|
{
|
|
"id": "link_valve2_reagent5",
|
|
"source": "multiway_valve_2",
|
|
"target": "reagent_bottle_5",
|
|
"source_port": "port_8",
|
|
"target_port": "outlet",
|
|
"type": "fluid",
|
|
"port": {
|
|
"multiway_valve_2": "port_8"
|
|
}
|
|
},
|
|
{
|
|
"id": "mech_stirrer_reactor",
|
|
"source": "stirrer_1",
|
|
"target": "main_reactor",
|
|
"type": "fluid"
|
|
},
|
|
{
|
|
"id": "thermal_heater_reactor",
|
|
"source": "heater_1",
|
|
"target": "main_reactor",
|
|
"type": "fluid"
|
|
}
|
|
]
|
|
} |