mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-05 14:05:12 +00:00
修复了添加protocol前缀导致的不能启动的bug
This commit is contained in:
32
test/experiments/comprehensive_protocol/checklist.md
Normal file
32
test/experiments/comprehensive_protocol/checklist.md
Normal file
@@ -0,0 +1,32 @@
|
||||
1. 用到的仪器
|
||||
virtual_multiway_valve() 八通阀门
|
||||
virtual_transfer_pump() 转移泵
|
||||
virtual_centrifuge() 离心机
|
||||
virtual_rotavap() 旋蒸仪
|
||||
virtual_heatchill() 加热器
|
||||
virtual_stirrer() 搅拌器
|
||||
virtual_solenoid_valve() 电磁阀
|
||||
vacuum_pump() vacuum_pump.mock 真空泵
|
||||
gas_source() 气源
|
||||
virtual_filter() 过滤器
|
||||
virtual_column(√) 层析柱
|
||||
separator() homemade_grbl_conductivity 分液漏斗
|
||||
2. 用到的protocol
|
||||
AddProtocol()
|
||||
TransferProtocol() 应该用pump_protocol.py删掉transfer
|
||||
StartStirProtocol()
|
||||
StopStirProtocol()
|
||||
StirProtocol()
|
||||
RunColumnProtocol()
|
||||
CentrifugeProtocol()
|
||||
FilterProtocol()
|
||||
CleanVesselProtocol()
|
||||
DissolveProtocol()
|
||||
FilterThroughProtocol()
|
||||
WashSolidProtocol()
|
||||
SeparateProtocol(√)
|
||||
EvaporateProtocol(√)
|
||||
HeatChillProtocol()
|
||||
HeatChillStartProtocol()
|
||||
HeatChillStopProtocol()
|
||||
EvacuateAndRefillProtocol(√)
|
||||
@@ -0,0 +1,887 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -25,7 +25,7 @@
|
||||
"z": 0
|
||||
},
|
||||
"config": {
|
||||
"protocol_type": ["AddProtocol", "TransferProtocol", "StirProtocol", "StartStirProtocol", "StopStirProtocol"]
|
||||
"protocol_type": ["AddProtocol", "TransferProtocol", "StartStirProtocol", "StopStirProtocol"]
|
||||
},
|
||||
"data": {}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user