{ "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" } } ] }