{ "nodes": [ { "id": "TransferTestStation", "name": "液体转移测试工作站", "children": [ "transfer_pump", "flask_source1", "flask_source2", "flask_target1", "flask_target2", "reactor", "flask_waste", "flask_rinsing" ], "parent": null, "type": "device", "class": "workstation", "position": { "x": 620.6111111111111, "y": 171, "z": 0 }, "config": { "protocol_type": ["TransferProtocol"] }, "data": {} }, { "id": "transfer_pump", "name": "转移泵", "children": [], "parent": "TransferTestStation", "type": "device", "class": "virtual_transfer_pump", "position": { "x": 520.6111111111111, "y": 300, "z": 0 }, "config": { "port": "VIRTUAL", "max_volume": 50.0, "transfer_rate": 5.0 }, "data": { "status": "Idle" } }, { "id": "flask_source1", "name": "源容器1", "children": [], "parent": "TransferTestStation", "type": "container", "class": null, "position": { "x": 100, "y": 428, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [] } }, { "id": "flask_source2", "name": "源容器2", "children": [], "parent": "TransferTestStation", "type": "container", "class": null, "position": { "x": 250, "y": 428, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [] } }, { "id": "flask_target1", "name": "目标容器1", "children": [], "parent": "TransferTestStation", "type": "container", "class": null, "position": { "x": 400, "y": 428, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [] } }, { "id": "flask_target2", "name": "目标容器2", "children": [], "parent": "TransferTestStation", "type": "container", "class": null, "position": { "x": 550, "y": 428, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [] } }, { "id": "reactor", "name": "反应器", "children": [], "parent": "TransferTestStation", "type": "container", "class": null, "position": { "x": 698.1111111111111, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [] } }, { "id": "flask_waste", "name": "废液瓶", "children": [], "parent": "TransferTestStation", "type": "container", "class": null, "position": { "x": 850, "y": 428, "z": 0 }, "config": { "max_volume": 2000.0 }, "data": { "liquid": [] } }, { "id": "flask_rinsing", "name": "冲洗液瓶", "children": [], "parent": "TransferTestStation", "type": "container", "class": null, "position": { "x": 950, "y": 300, "z": 0 }, "config": { "max_volume": 1000.0 }, "data": { "liquid": [] } } ], "links": [ { "source": "transfer_pump", "target": "flask_source1", "type": "physical", "port": { "transfer_pump": "inlet", "flask_source1": "top" } }, { "source": "transfer_pump", "target": "flask_source2", "type": "physical", "port": { "transfer_pump": "inlet", "flask_source2": "top" } }, { "source": "transfer_pump", "target": "flask_target1", "type": "physical", "port": { "transfer_pump": "outlet", "flask_target1": "top" } }, { "source": "transfer_pump", "target": "flask_target2", "type": "physical", "port": { "transfer_pump": "outlet", "flask_target2": "top" } }, { "source": "transfer_pump", "target": "reactor", "type": "physical", "port": { "transfer_pump": "outlet", "reactor": "top" } }, { "source": "transfer_pump", "target": "flask_waste", "type": "physical", "port": { "transfer_pump": "outlet", "flask_waste": "top" } }, { "source": "transfer_pump", "target": "flask_rinsing", "type": "physical", "port": { "transfer_pump": "inlet", "flask_rinsing": "top" } } ] }