添加了两个protocol的检索功能 (#51)

* 添加了两个protocol的检索liquid type功能

* fix workstation registry

* 修复了没连接的几个仪器的link,添加了container的icon

* 修改了json和注册表,现在大图全部的device都链接上了

* 修复了小图的json图,线全部连上了

* add work_station protocol handles (ports)

* fix workstation action handle

---------

Co-authored-by: Xuwznln <18435084+Xuwznln@users.noreply.github.com>
Co-authored-by: Junhan Chang <changjh@dp.tech>
This commit is contained in:
Kongchang Feng
2025-06-22 18:30:09 +08:00
committed by GitHub
parent 06b7962ef9
commit 96e9c76709
7 changed files with 1171 additions and 326 deletions

View File

@@ -301,9 +301,9 @@
}
}
],
"links": [
"links": [
{
"id": "link_pump1_valve1",
"id": "link_pump1_to_valve1",
"source": "transfer_pump_1",
"target": "multiway_valve_1",
"type": "fluid",
@@ -313,7 +313,7 @@
}
},
{
"id": "link_pump2_valve2",
"id": "link_pump2_to_valve2",
"source": "transfer_pump_2",
"target": "multiway_valve_2",
"type": "fluid",
@@ -323,17 +323,7 @@
}
},
{
"id": "link_valve1_air",
"source": "multiway_valve_1",
"target": "flask_air",
"type": "fluid",
"port": {
"multiway_valve_1": "6",
"flask_air": "top"
}
},
{
"id": "link_valve1_water",
"id": "link_valve1_to_water",
"source": "multiway_valve_1",
"target": "flask_water",
"type": "fluid",
@@ -343,7 +333,7 @@
}
},
{
"id": "link_valve1_acetone",
"id": "link_valve1_to_acetone",
"source": "multiway_valve_1",
"target": "flask_acetone",
"type": "fluid",
@@ -353,7 +343,7 @@
}
},
{
"id": "link_valve1_ethanol",
"id": "link_valve1_to_ethanol",
"source": "multiway_valve_1",
"target": "flask_ethanol",
"type": "fluid",
@@ -363,17 +353,27 @@
}
},
{
"id": "link_valve1_valve2",
"id": "link_valve1_to_air",
"source": "multiway_valve_1",
"target": "flask_air",
"type": "fluid",
"port": {
"multiway_valve_1": "6",
"flask_air": "top"
}
},
{
"id": "link_valve1_to_valve2_for_cleaning",
"source": "multiway_valve_1",
"target": "multiway_valve_2",
"type": "fluid",
"port": {
"multiway_valve_1": "5",
"multiway_valve_2": "1"
"multiway_valve_1": "1",
"multiway_valve_2": "8"
}
},
{
"id": "link_valve2_main_reactor",
"id": "link_valve2_to_main_reactor_in",
"source": "multiway_valve_2",
"target": "main_reactor",
"type": "fluid",
@@ -383,7 +383,7 @@
}
},
{
"id": "link_valve2_secondary_reactor",
"id": "link_valve2_to_secondary_reactor_in",
"source": "multiway_valve_2",
"target": "secondary_reactor",
"type": "fluid",
@@ -393,7 +393,27 @@
}
},
{
"id": "link_valve2_waste",
"id": "link_main_reactor_out_to_valve2",
"source": "main_reactor",
"target": "multiway_valve_2",
"type": "fluid",
"port": {
"main_reactor": "bottom",
"multiway_valve_2": "6"
}
},
{
"id": "link_secondary_reactor_out_to_valve2",
"source": "secondary_reactor",
"target": "multiway_valve_2",
"type": "fluid",
"port": {
"secondary_reactor": "bottom",
"multiway_valve_2": "7"
}
},
{
"id": "link_valve2_to_waste",
"source": "multiway_valve_2",
"target": "waste_workup",
"type": "fluid",
@@ -403,17 +423,7 @@
}
},
{
"id": "link_valve2_air_return",
"source": "multiway_valve_2",
"target": "flask_air",
"type": "fluid",
"port": {
"multiway_valve_2": "5",
"flask_air": "top"
}
},
{
"id": "link_heatchill1_main_reactor",
"id": "link_heatchill1_to_main_reactor",
"source": "heatchill_1",
"target": "main_reactor",
"type": "mechanical",
@@ -421,6 +431,16 @@
"heatchill_1": "heatchill",
"main_reactor": "bind"
}
},
{
"id": "link_heatchill1_to_secondary_reactor",
"source": "heatchill_1",
"target": "secondary_reactor",
"type": "mechanical",
"port": {
"heatchill_1": "heatchill",
"secondary_reactor": "bind"
}
}
]
}

View File

@@ -1,8 +1,8 @@
{
"nodes": [
{
"id": "ComprehensiveProtocolStation",
"name": "综合协议测试工作站",
"id": "OrganicSynthesisStation",
"name": "有机化学流程综合测试工作站",
"children": [
"multiway_valve_1",
"multiway_valve_2",
@@ -69,7 +69,7 @@
"id": "multiway_valve_1",
"name": "八通阀门1",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_multiway_valve",
"position": {
@@ -89,7 +89,7 @@
"id": "multiway_valve_2",
"name": "八通阀门2",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_multiway_valve",
"position": {
@@ -109,7 +109,7 @@
"id": "transfer_pump_1",
"name": "转移泵1",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_transfer_pump",
"position": {
@@ -130,7 +130,7 @@
"id": "transfer_pump_2",
"name": "转移泵2",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_transfer_pump",
"position": {
@@ -151,7 +151,7 @@
"id": "reagent_bottle_1",
"name": "试剂瓶1-DMF",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -172,7 +172,7 @@
"id": "reagent_bottle_2",
"name": "试剂瓶2-乙酸乙酯",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -193,7 +193,7 @@
"id": "reagent_bottle_3",
"name": "试剂瓶3-己烷",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -214,7 +214,7 @@
"id": "reagent_bottle_4",
"name": "试剂瓶4-甲醇",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -235,7 +235,7 @@
"id": "reagent_bottle_5",
"name": "试剂瓶5-水",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -256,7 +256,7 @@
"id": "centrifuge_1",
"name": "离心机",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_centrifuge",
"position": {
@@ -278,7 +278,7 @@
"id": "rotavap_1",
"name": "旋转蒸发仪",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_rotavap",
"position": {
@@ -300,7 +300,7 @@
"id": "main_reactor",
"name": "主反应器",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -324,7 +324,7 @@
"id": "heater_1",
"name": "加热器",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_heatchill",
"position": {
@@ -345,7 +345,7 @@
"id": "stirrer_1",
"name": "搅拌器1",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_stirrer",
"position": {
@@ -365,7 +365,7 @@
"id": "stirrer_2",
"name": "搅拌器2",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_stirrer",
"position": {
@@ -385,7 +385,7 @@
"id": "waste_bottle_1",
"name": "废液瓶1",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -404,7 +404,7 @@
"id": "waste_bottle_2",
"name": "废液瓶2",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -423,7 +423,7 @@
"id": "solenoid_valve_1",
"name": "电磁阀1",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_solenoid_valve",
"position": {
@@ -444,7 +444,7 @@
"id": "solenoid_valve_2",
"name": "电磁阀2",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_solenoid_valve",
"position": {
@@ -465,7 +465,7 @@
"id": "vacuum_pump_1",
"name": "真空泵",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_vacuum_pump",
"position": {
@@ -486,7 +486,7 @@
"id": "gas_source_1",
"name": "气源",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_gas_source",
"position": {
@@ -504,7 +504,7 @@
"id": "filter_1",
"name": "过滤器",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_filter",
"position": {
@@ -525,7 +525,7 @@
"id": "column_1",
"name": "洗脱柱",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_column",
"position": {
@@ -547,7 +547,7 @@
"id": "separator_1",
"name": "分液器",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "device",
"class": "virtual_separator",
"position": {
@@ -568,7 +568,7 @@
"id": "collection_bottle_1",
"name": "接收瓶1",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -587,7 +587,7 @@
"id": "collection_bottle_2",
"name": "接收瓶2",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -606,7 +606,7 @@
"id": "collection_bottle_3",
"name": "接收瓶3",
"children": [],
"parent": "ComprehensiveProtocolStation",
"parent": "OrganicSynthesisStation",
"type": "container",
"class": "container",
"position": {
@@ -852,6 +852,46 @@
"heater_1": "heatchill",
"main_reactor": "bind"
}
},
{
"id": "link_separator_waste2",
"source": "separator_1",
"target": "waste_bottle_2",
"type": "fluid",
"port": {
"separator_1": "top_phase_out",
"waste_bottle_2": "top"
}
},
{
"id": "mech_stirrer2_separator",
"source": "stirrer_2",
"target": "separator_1",
"type": "mechanical",
"port": {
"stirrer_2": "stirrer",
"separator_1": "bind"
}
},
{
"id": "link_filter_filtrate_to_collection1",
"source": "filter_1",
"target": "collection_bottle_1",
"type": "transport",
"port": {
"filter_1": "filtrate_out",
"collection_bottle_1": "top"
}
},
{
"id": "link_filter_retentate_to_waste1",
"source": "filter_1",
"target": "waste_bottle_1",
"type": "transport",
"port": {
"filter_1": "retentate_out",
"waste_bottle_1": "top"
}
}
]
}