{ "nodes": [ { "id": "YugongStation", "name": "愚公常量合成工作站", "children": [ "serial_pump", "pump_reagents", "flask_CH2Cl2", "flask_acetone", "flask_NH4Cl", "flask_grignard", "flask_THF", "reactor", "pump_workup", "waste_workup", "separator_controller", "flask_separator", "flask_holding", "flask_H2O", "flask_NaHCO3", "pump_column", "rotavap", "flask_rv", "column", "flask_column", "flask_air", "dry_column", "flask_dry_column", "pump_ext", "stirrer" ], "parent": null, "type": "device", "class": "workstation", "position": { "x": 620.6111111111111, "y": 171, "z": 0 }, "config": { "protocol_type": ["PumpTransferProtocol", "CleanProtocol", "SeparateProtocol", "EvaporateProtocol"] }, "data": { } }, { "id": "serial_pump", "name": "serial_pump", "children": [], "parent": "YugongStation", "type": "device", "class": "serial", "position": { "x": 620.6111111111111, "y": 171, "z": 0 }, "config": { "port": "COM7", "baudrate": 9600 }, "data": { } }, { "id": "pump_reagents", "name": "pump_reagents", "children": [], "parent": "YugongStation", "type": "device", "class": "syringepump.runze", "position": { "x": 620.6111111111111, "y": 171, "z": 0 }, "config": { "port": "/devices/PumpBackbone/Serial/serialwrite", "address": "1", "max_volume": 25.0 }, "data": { "max_velocity": 1.0, "position": 0.0, "status": "Idle", "valve_position": "0" } }, { "id": "flask_CH2Cl2", "name": "flask_CH2Cl2", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 430.4087301587302, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "liquid_type": "CH2Cl2", "liquid_volume": 1500.0 } ] } }, { "id": "flask_acetone", "name": "flask_acetone", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 295.36944444444447, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "liquid_type": "acetone", "liquid_volume": 1500.0 } ] } }, { "id": "flask_NH4Cl", "name": "flask_NH4Cl", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 165.36944444444444, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "liquid_type": "NH4Cl", "liquid_volume": 1500.0 } ] } }, { "id": "flask_grignard", "name": "flask_grignard", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 165.36944444444444, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "liquid_type": "grignard", "liquid_volume": 1500.0 } ] } }, { "id": "flask_THF", "name": "flask_THF", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 35, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "liquid_type": "THF", "liquid_volume": 1500.0 } ] } }, { "id": "reactor", "name": "reactor", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 698.1111111111111, "y": 428, "z": 0 }, "config": { "max_volume": 5000.0 }, "data": { "liquid": [ ] } }, { "id": "stirrer", "name": "stirrer", "children": [], "parent": "YugongStation", "type": "device", "class": "heaterstirrer.dalong", "position": { "x": 698.1111111111111, "y": 478, "z": 0 }, "config": { "port": "COM43", "temp_warning": 60.0 }, "data": { "status": "Idle", "temp": 0.0, "stir_speed": 0.0 } }, { "id": "pump_workup", "name": "pump_workup", "children": [], "parent": "YugongStation", "type": "device", "class": "syringepump.runze", "position": { "x": 1195.611507936508, "y": 686, "z": 0 }, "config": { "port": "/devices/PumpBackbone/Serial/serialwrite", "address": "2", "max_volume": 25.0 }, "data": { "max_velocity": 1.0, "position": 0.0, "status": "Idle", "valve_position": "0" } }, { "id": "waste_workup", "name": "waste_workup", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 1587.703373015873, "y": 1172.5, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ ] } }, { "id": "separator_controller", "name": "separator_controller", "children": [], "parent": "YugongStation", "type": "device", "class": "separator_controller", "position": { "x": 1624.4027777777778, "y": 665.5, "z": 0 }, "config": { "port_executor": "COM41", "port_sensor": "COM40" }, "data": { "sensordata": 0.0, "status": "Idle" } }, { "id": "flask_separator", "name": "flask_separator", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 1614.404365079365, "y": 948, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ ] } }, { "id": "flask_holding", "name": "flask_holding", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 1915.7035714285714, "y": 665.5, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ ] } }, { "id": "flask_H2O", "name": "flask_H2O", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 1785.7035714285714, "y": 665.5, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "liquid_type": "H2O", "liquid_volume": 1500.0 } ] } }, { "id": "flask_NaHCO3", "name": "flask_NaHCO3", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 2054.0650793650793, "y": 665.5, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "liquid_type": "NaHCO3", "liquid_volume": 1500.0 } ] } }, { "id": "pump_column", "name": "pump_column", "children": [], "parent": "YugongStation", "type": "device", "class": "syringepump.runze", "position": { "x": 1630.6527777777778, "y": 448.5, "z": 0 }, "config": { "port": "/devices/PumpBackbone/Serial/serialwrite", "address": "3", "max_volume": 25.0 }, "data": { "max_velocity": 1.0, "position": 0.0, "status": "Idle", "valve_position": "0" } }, { "id": "rotavap", "name": "rotavap", "children": [], "parent": "YugongStation", "type": "device", "class": "rotavap", "position": { "x": 1339.7031746031746, "y": 968.5, "z": 0 }, "config": { "port": "COM15" }, "data": { "temperature": 0.0, "rotate_time": 0.0, "status": "Idle" } }, { "id": "flask_rv", "name": "flask_rv", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 1339.7031746031746, "y": 1152, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ ] } }, { "id": "column", "name": "column", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 909.722619047619, "y": 948, "z": 0 }, "config": { "max_volume": 200.0 }, "data": { "liquid": [ ] } }, { "id": "flask_column", "name": "flask_column", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 867.972619047619, "y": 1152, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ ] } }, { "id": "flask_air", "name": "flask_air", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 742.722619047619, "y": 948, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ ] } }, { "id": "dry_column", "name": "dry_column", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 1206.722619047619, "y": 948, "z": 0 }, "config": { "max_volume": 200.0 }, "data": { "liquid": [ ] } }, { "id": "flask_dry_column", "name": "flask_dry_column", "children": [], "parent": "YugongStation", "type": "container", "class": null, "position": { "x": 1148.222619047619, "y": 1152, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ ] } }, { "id": "pump_ext", "name": "pump_ext", "children": [], "parent": "YugongStation", "type": "device", "class": "syringepump.runze", "position": { "x": 1469.7031746031746, "y": 968.5, "z": 0 }, "config": { "port": "/devices/PumpBackbone/Serial/serialwrite", "address": "4", "max_volume": 25.0 }, "data": { "max_velocity": 1.0, "position": 0.0, "status": "Idle", "valve_position": "0" } }, { "id": "AGV", "name": "AGV", "children": ["zhixing_agv", "zhixing_ur_arm"], "parent": null, "type": "device", "class": "workstation", "position": { "x": 698.1111111111111, "y": 478, "z": 0 }, "config": { "protocol_type": ["AGVTransferProtocol"] }, "data": { } }, { "id": "zhixing_agv", "name": "zhixing_agv", "children": [], "parent": "AGV", "type": "device", "class": "zhixing_agv", "position": { "x": 698.1111111111111, "y": 478, "z": 0 }, "config": { "host": "192.168.1.42" }, "data": { } }, { "id": "zhixing_ur_arm", "name": "zhixing_ur_arm", "children": [], "parent": "AGV", "type": "device", "class": "zhixing_ur_arm", "position": { "x": 698.1111111111111, "y": 478, "z": 0 }, "config": { "host": "192.168.1.178" }, "data": { } } ], "links": [ { "source": "pump_reagents", "target": "serial_pump", "type": "communication", "port": { "pump_reagents": "port", "serial_pump": "port" } }, { "source": "pump_workup", "target": "serial_pump", "type": "communication", "port": { "pump_reagents": "port", "serial_pump": "port" } }, { "source": "pump_column", "target": "serial_pump", "type": "communication", "port": { "pump_reagents": "port", "serial_pump": "port" } }, { "source": "pump_ext", "target": "serial_pump", "type": "communication", "port": { "pump_reagents": "port", "serial_pump": "port" } }, { "source": "reactor", "target": "pump_reagents", "type": "physical", "port": { "reactor": "top", "pump_reagents": "5" } }, { "source": "rotavap", "target": "flask_rv", "type": "physical", "port": { "rotavap": "bottom", "flask_rv": "top" } }, { "source": "separator_controller", "target": "flask_separator", "type": "physical", "port": { "separator_controller": "bottom", "flask_separator": "top" } }, { "source": "column", "target": "flask_column", "type": "physical", "port": { "column": "bottom", "flask_column": "top" } }, { "source": "dry_column", "target": "flask_dry_column", "type": "physical", "port": { "dry_column": "bottom", "flask_dry_column": "top" } }, { "source": "pump_ext", "target": "pump_column", "type": "physical", "port": { "pump_ext": "8", "pump_column": "1" } }, { "source": "pump_ext", "target": "waste_workup", "type": "physical", "port": { "pump_ext": "2", "waste_workup": "-1" } }, { "source": "pump_reagents", "target": "flask_THF", "type": "physical", "port": { "pump_reagents": "7", "flask_THF": "top" } }, { "source": "pump_reagents", "target": "flask_NH4Cl", "type": "physical", "port": { "pump_reagents": "4", "flask_NH4Cl": "top" } }, { "source": "pump_reagents", "target": "flask_CH2Cl2", "type": "physical", "port": { "pump_reagents": "2", "flask_CH2Cl2": "top" } }, { "source": "pump_reagents", "target": "flask_acetone", "type": "physical", "port": { "pump_reagents": "3", "flask_acetone": "top" } }, { "source": "pump_reagents", "target": "pump_workup", "type": "physical", "port": { "pump_reagents": "1", "pump_workup": "8" } }, { "source": "pump_reagents", "target": "flask_grignard", "type": "physical", "port": { "pump_reagents": "6", "flask_grignard": "top" } }, { "source": "pump_reagents", "target": "reactor", "type": "physical", "port": { "pump_reagents": "5", "reactor": "top" } }, { "source": "pump_reagents", "target": "flask_air", "type": "physical", "port": { "pump_reagents": "8", "flask_air": "-1" } }, { "source": "pump_workup", "target": "waste_workup", "type": "physical", "port": { "pump_workup": "2", "waste_workup": "-1" } }, { "source": "pump_workup", "target": "flask_H2O", "type": "physical", "port": { "pump_workup": "7", "flask_H2O": "top" } }, { "source": "pump_workup", "target": "flask_NaHCO3", "type": "physical", "port": { "pump_workup": "6", "flask_NaHCO3": "top" } }, { "source": "pump_workup", "target": "pump_reagents", "type": "physical", "port": { "pump_workup": "8", "pump_reagents": "1" } }, { "source": "pump_workup", "target": "flask_holding", "type": "physical", "port": { "pump_workup": "5", "flask_holding": "top" } }, { "source": "pump_workup", "target": "separator_controller", "type": "physical", "port": { "pump_workup": "4", "separator_controller": "top" } }, { "source": "pump_workup", "target": "flask_separator", "type": "physical", "port": { "pump_workup": "3", "flask_separator": "top" } }, { "source": "pump_workup", "target": "pump_column", "type": "physical", "port": { "pump_workup": "1", "pump_column": "8" } }, { "source": "pump_column", "target": "column", "type": "physical", "port": { "pump_column": "4", "column": "top" } }, { "source": "pump_column", "target": "flask_column", "type": "physical", "port": { "pump_column": "3", "flask_column": "top" } }, { "source": "pump_column", "target": "rotavap", "type": "physical", "port": { "pump_column": "2", "rotavap": "-1" } }, { "source": "pump_column", "target": "pump_workup", "type": "physical", "port": { "pump_column": "8", "pump_workup": "1" } }, { "source": "pump_column", "target": "flask_air", "type": "physical", "port": { "pump_column": "5", "flask_air": "-1" } }, { "source": "pump_column", "target": "dry_column", "type": "physical", "port": { "pump_column": "7", "dry_column": "top" } }, { "source": "pump_column", "target": "flask_dry_column", "type": "physical", "port": { "pump_column": "6", "flask_dry_column": "top" } }, { "source": "pump_column", "target": "pump_ext", "type": "physical", "port": { "pump_column": "1", "pump_ext": "8" } } ] }