{ "nodes": [ { "id": "RunColumnTestStation", "name": "柱层析测试工作站", "children": [ "transfer_pump_1", "column_1", "flask_sample", "flask_hexane", "flask_ethyl_acetate", "flask_methanol", "collection_flask_1", "collection_flask_2", "collection_flask_3", "waste_flask", "reactor" ], "parent": null, "type": "device", "class": "workstation", "position": { "x": 620.6111111111111, "y": 171, "z": 0 }, "config": { "protocol_type": ["RunColumnProtocol", "TransferProtocol"] }, "data": {} }, { "id": "transfer_pump_1", "name": "转移泵", "children": [], "parent": "RunColumnTestStation", "type": "device", "class": "virtual_transfer_pump", "position": { "x": 520.6111111111111, "y": 300, "z": 0 }, "config": { "port": "VIRTUAL", "max_volume": 50.0, "transfer_rate": 10.0 }, "data": { "status": "Idle", "current_volume": 0.0, "max_volume": 50.0, "transfer_rate": 10.0, "from_vessel": "", "to_vessel": "", "progress": 0.0, "transferred_volume": 0.0, "current_status": "Ready" } }, { "id": "column_1", "name": "柱层析设备", "children": [], "parent": "RunColumnTestStation", "type": "device", "class": "virtual_column", "position": { "x": 650.1111111111111, "y": 478, "z": 0 }, "config": { "port": "VIRTUAL", "max_flow_rate": 5.0, "column_length": 30.0, "column_diameter": 2.5 }, "data": { "status": "Idle", "column_state": "Ready", "current_flow_rate": 0.0, "max_flow_rate": 5.0, "column_length": 30.0, "column_diameter": 2.5, "processed_volume": 0.0, "progress": 0.0, "current_status": "Ready" } }, { "id": "flask_sample", "name": "样品瓶", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 100, "y": 428, "z": 0 }, "config": { "max_volume": 500.0 }, "data": { "liquid": [ { "name": "crude_mixture", "volume": 200.0, "concentration": 70.0 } ] } }, { "id": "flask_hexane", "name": "正己烷洗脱剂", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 250, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "name": "hexane", "volume": 1500.0, "concentration": 99.8 } ] } }, { "id": "flask_ethyl_acetate", "name": "乙酸乙酯洗脱剂", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 400, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [ { "name": "ethyl_acetate", "volume": 1500.0, "concentration": 99.5 } ] } }, { "id": "flask_methanol", "name": "甲醇洗脱剂", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 550, "y": 428, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [ { "name": "methanol", "volume": 800.0, "concentration": 99.9 } ] } }, { "id": "collection_flask_1", "name": "收集瓶1", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 750, "y": 428, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [] } }, { "id": "collection_flask_2", "name": "收集瓶2", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 900, "y": 428, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [] } }, { "id": "collection_flask_3", "name": "收集瓶3", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 1050, "y": 428, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [] } }, { "id": "waste_flask", "name": "废液瓶", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 1200, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [] } }, { "id": "reactor", "name": "反应器", "children": [], "parent": "RunColumnTestStation", "type": "container", "class": null, "position": { "x": 698.1111111111111, "y": 300, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [ { "name": "reaction_mixture", "volume": 300.0, "concentration": 85.0 } ] } } ], "links": [ { "source": "transfer_pump_1", "target": "flask_sample", "type": "physical", "port": { "transfer_pump_1": "1", "flask_sample": "top" } }, { "source": "transfer_pump_1", "target": "flask_hexane", "type": "physical", "port": { "transfer_pump_1": "2", "flask_hexane": "top" } }, { "source": "transfer_pump_1", "target": "flask_ethyl_acetate", "type": "physical", "port": { "transfer_pump_1": "3", "flask_ethyl_acetate": "top" } }, { "source": "transfer_pump_1", "target": "flask_methanol", "type": "physical", "port": { "transfer_pump_1": "4", "flask_methanol": "top" } }, { "source": "transfer_pump_1", "target": "column_1", "type": "physical", "port": { "transfer_pump_1": "5", "column_1": "inlet" } }, { "source": "transfer_pump_1", "target": "collection_flask_1", "type": "physical", "port": { "transfer_pump_1": "6", "collection_flask_1": "top" } }, { "source": "transfer_pump_1", "target": "collection_flask_2", "type": "physical", "port": { "transfer_pump_1": "7", "collection_flask_2": "top" } }, { "source": "transfer_pump_1", "target": "collection_flask_3", "type": "physical", "port": { "transfer_pump_1": "8", "collection_flask_3": "top" } }, { "source": "transfer_pump_1", "target": "waste_flask", "type": "physical", "port": { "transfer_pump_1": "9", "waste_flask": "top" } }, { "source": "transfer_pump_1", "target": "reactor", "type": "physical", "port": { "transfer_pump_1": "10", "reactor": "top" } }, { "source": "column_1", "target": "collection_flask_1", "type": "physical", "port": { "column_1": "outlet", "collection_flask_1": "top" } }, { "source": "column_1", "target": "collection_flask_2", "type": "physical", "port": { "column_1": "outlet", "collection_flask_2": "top" } }, { "source": "column_1", "target": "collection_flask_3", "type": "physical", "port": { "column_1": "outlet", "collection_flask_3": "top" } } ] }