From b3e28196c665de6f0819543b4e48eb319091852d Mon Sep 17 00:00:00 2001 From: calvincao Date: Thu, 30 Oct 2025 11:22:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(battery):=20=E6=9B=B4=E6=96=B0=E7=94=B5?= =?UTF-8?q?=E6=B1=A0=E5=B7=A5=E4=BD=8D=E8=B5=84=E6=BA=90=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 coin_cell_deck 类型从 container 更改为 coin_cell_deck - 将 material_plate 类型从 container 更改为 material_plate - 将 material_hole 类型从 container 更改为 material_hole- 移除电极片容器结构,直接使用 electrode_sheet 类型 - 更新物料孔配置参数,包括直径、深度和最大片数 -重新组织料盘结构,明确父子节点关系 - 添加新的电极片定义并关联到对应的物料孔 - 调整所有物料孔坐标位置以匹配新布局 - 为 liaopan2 添加完整的子节点结构和排序规则 --- button_battery_station_resources_unilab.json | 1384 ++++++++--------- .../workstation/bioyond_studio/config.py | 2 +- ..._battery_station.py => YB_YH_materials.py} | 0 .../coin_cell_assembly/coin_cell_assembly.py | 68 +- .../coin_cell_assembly_a.csv | 25 +- .../coin_cell_assembly/new_cellconfig3c.json | 683 +------- 6 files changed, 759 insertions(+), 1403 deletions(-) rename unilabos/devices/workstation/coin_cell_assembly/{button_battery_station.py => YB_YH_materials.py} (100%) diff --git a/button_battery_station_resources_unilab.json b/button_battery_station_resources_unilab.json index 2d55750a..f60d1c79 100644 --- a/button_battery_station_resources_unilab.json +++ b/button_battery_station_resources_unilab.json @@ -10,7 +10,7 @@ "\u7535\u6c60\u6599\u76d8" ], "parent": null, - "type": "container", + "type": "coin_cell_deck", "class": "", "position": { "x": 0, @@ -56,7 +56,7 @@ "liaopan1_materialhole_3_3" ], "parent": "coin_cell_deck", - "type": "container", + "type": "material_plate", "class": "", "position": { "x": 0, @@ -102,11 +102,9 @@ "id": "liaopan1_materialhole_0_0", "name": "liaopan1_materialhole_0_0", "sample_id": null, - "children": [ - "jipian1_0" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -135,51 +133,13 @@ "info": null } }, - { - "id": "jipian1_0", - "name": "jipian1_0", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_0_0", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_0_1", "name": "liaopan1_materialhole_0_1", "sample_id": null, - "children": [ - "jipian1_1" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -208,51 +168,13 @@ "info": null } }, - { - "id": "jipian1_1", - "name": "jipian1_1", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_0_1", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_0_2", "name": "liaopan1_materialhole_0_2", "sample_id": null, - "children": [ - "jipian1_2" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -281,51 +203,13 @@ "info": null } }, - { - "id": "jipian1_2", - "name": "jipian1_2", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_0_2", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_0_3", "name": "liaopan1_materialhole_0_3", "sample_id": null, - "children": [ - "jipian1_3" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -354,51 +238,13 @@ "info": null } }, - { - "id": "jipian1_3", - "name": "jipian1_3", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_0_3", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_1_0", "name": "liaopan1_materialhole_1_0", "sample_id": null, - "children": [ - "jipian1_4" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -427,51 +273,13 @@ "info": null } }, - { - "id": "jipian1_4", - "name": "jipian1_4", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_1_0", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_1_1", "name": "liaopan1_materialhole_1_1", "sample_id": null, - "children": [ - "jipian1_5" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -500,51 +308,13 @@ "info": null } }, - { - "id": "jipian1_5", - "name": "jipian1_5", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_1_1", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_1_2", "name": "liaopan1_materialhole_1_2", "sample_id": null, - "children": [ - "jipian1_6" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -573,51 +343,13 @@ "info": null } }, - { - "id": "jipian1_6", - "name": "jipian1_6", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_1_2", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_1_3", "name": "liaopan1_materialhole_1_3", "sample_id": null, - "children": [ - "jipian1_7" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -646,51 +378,13 @@ "info": null } }, - { - "id": "jipian1_7", - "name": "jipian1_7", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_1_3", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_2_0", "name": "liaopan1_materialhole_2_0", "sample_id": null, - "children": [ - "jipian1_8" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -719,51 +413,13 @@ "info": null } }, - { - "id": "jipian1_8", - "name": "jipian1_8", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_2_0", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_2_1", "name": "liaopan1_materialhole_2_1", "sample_id": null, - "children": [ - "jipian1_9" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -792,51 +448,13 @@ "info": null } }, - { - "id": "jipian1_9", - "name": "jipian1_9", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_2_1", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_2_2", "name": "liaopan1_materialhole_2_2", "sample_id": null, - "children": [ - "jipian1_10" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -865,51 +483,13 @@ "info": null } }, - { - "id": "jipian1_10", - "name": "jipian1_10", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_2_2", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_2_3", "name": "liaopan1_materialhole_2_3", "sample_id": null, - "children": [ - "jipian1_11" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -938,51 +518,13 @@ "info": null } }, - { - "id": "jipian1_11", - "name": "jipian1_11", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_2_3", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_3_0", "name": "liaopan1_materialhole_3_0", "sample_id": null, - "children": [ - "jipian1_12" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -1011,51 +553,13 @@ "info": null } }, - { - "id": "jipian1_12", - "name": "jipian1_12", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_3_0", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_3_1", "name": "liaopan1_materialhole_3_1", "sample_id": null, - "children": [ - "jipian1_13" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -1084,51 +588,13 @@ "info": null } }, - { - "id": "jipian1_13", - "name": "jipian1_13", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_3_1", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_3_2", "name": "liaopan1_materialhole_3_2", "sample_id": null, - "children": [ - "jipian1_14" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -1157,51 +623,13 @@ "info": null } }, - { - "id": "jipian1_14", - "name": "jipian1_14", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_3_2", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan1_materialhole_3_3", "name": "liaopan1_materialhole_3_3", "sample_id": null, - "children": [ - "jipian1_15" - ], + "children": [], "parent": "liaopan1", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -1230,42 +658,6 @@ "info": null } }, - { - "id": "jipian1_15", - "name": "jipian1_15", - "sample_id": null, - "children": [], - "parent": "liaopan1_materialhole_3_3", - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "ElectrodeSheet", - "size_x": 12, - "size_y": 12, - "size_z": 0.1, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "electrode_sheet", - "model": null, - "barcode": null - }, - "data": { - "diameter": 14, - "thickness": 0.1, - "mass": 0.5, - "material_type": "copper", - "info": null - } - }, { "id": "liaopan2", "name": "liaopan2", @@ -1289,7 +681,7 @@ "liaopan2_materialhole_3_3" ], "parent": "coin_cell_deck", - "type": "container", + "type": "material_plate", "class": "", "position": { "x": 500, @@ -1335,9 +727,11 @@ "id": "liaopan2_materialhole_0_0", "name": "liaopan2_materialhole_0_0", "sample_id": null, - "children": [], + "children": [ + "jipian1_0" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -1366,13 +760,51 @@ "info": null } }, + { + "id": "jipian1_0", + "name": "jipian1_0", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_0_0", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_0_1", "name": "liaopan2_materialhole_0_1", "sample_id": null, - "children": [], + "children": [ + "jipian1_1" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -1401,13 +833,51 @@ "info": null } }, + { + "id": "jipian1_1", + "name": "jipian1_1", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_0_1", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_0_2", "name": "liaopan2_materialhole_0_2", "sample_id": null, - "children": [], + "children": [ + "jipian1_2" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -1436,13 +906,51 @@ "info": null } }, + { + "id": "jipian1_2", + "name": "jipian1_2", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_0_2", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_0_3", "name": "liaopan2_materialhole_0_3", "sample_id": null, - "children": [], + "children": [ + "jipian1_3" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -1471,13 +979,51 @@ "info": null } }, + { + "id": "jipian1_3", + "name": "jipian1_3", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_0_3", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_1_0", "name": "liaopan2_materialhole_1_0", "sample_id": null, - "children": [], + "children": [ + "jipian1_4" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -1506,13 +1052,51 @@ "info": null } }, + { + "id": "jipian1_4", + "name": "jipian1_4", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_1_0", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_1_1", "name": "liaopan2_materialhole_1_1", "sample_id": null, - "children": [], + "children": [ + "jipian1_5" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -1541,13 +1125,51 @@ "info": null } }, + { + "id": "jipian1_5", + "name": "jipian1_5", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_1_1", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_1_2", "name": "liaopan2_materialhole_1_2", "sample_id": null, - "children": [], + "children": [ + "jipian1_6" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -1576,13 +1198,51 @@ "info": null } }, + { + "id": "jipian1_6", + "name": "jipian1_6", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_1_2", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_1_3", "name": "liaopan2_materialhole_1_3", "sample_id": null, - "children": [], + "children": [ + "jipian1_7" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -1611,13 +1271,51 @@ "info": null } }, + { + "id": "jipian1_7", + "name": "jipian1_7", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_1_3", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_2_0", "name": "liaopan2_materialhole_2_0", "sample_id": null, - "children": [], + "children": [ + "jipian1_8" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -1646,13 +1344,51 @@ "info": null } }, + { + "id": "jipian1_8", + "name": "jipian1_8", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_2_0", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_2_1", "name": "liaopan2_materialhole_2_1", "sample_id": null, - "children": [], + "children": [ + "jipian1_9" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -1681,13 +1417,51 @@ "info": null } }, + { + "id": "jipian1_9", + "name": "jipian1_9", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_2_1", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_2_2", "name": "liaopan2_materialhole_2_2", "sample_id": null, - "children": [], + "children": [ + "jipian1_10" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -1716,13 +1490,51 @@ "info": null } }, + { + "id": "jipian1_10", + "name": "jipian1_10", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_2_2", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_2_3", "name": "liaopan2_materialhole_2_3", "sample_id": null, - "children": [], + "children": [ + "jipian1_11" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -1751,13 +1563,51 @@ "info": null } }, + { + "id": "jipian1_11", + "name": "jipian1_11", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_2_3", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_3_0", "name": "liaopan2_materialhole_3_0", "sample_id": null, - "children": [], + "children": [ + "jipian1_12" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -1786,13 +1636,51 @@ "info": null } }, + { + "id": "jipian1_12", + "name": "jipian1_12", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_3_0", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_3_1", "name": "liaopan2_materialhole_3_1", "sample_id": null, - "children": [], + "children": [ + "jipian1_13" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -1821,13 +1709,51 @@ "info": null } }, + { + "id": "jipian1_13", + "name": "jipian1_13", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_3_1", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_3_2", "name": "liaopan2_materialhole_3_2", "sample_id": null, - "children": [], + "children": [ + "jipian1_14" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -1856,13 +1782,51 @@ "info": null } }, + { + "id": "jipian1_14", + "name": "jipian1_14", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_3_2", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "liaopan2_materialhole_3_3", "name": "liaopan2_materialhole_3_3", "sample_id": null, - "children": [], + "children": [ + "jipian1_15" + ], "parent": "liaopan2", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -1891,6 +1855,42 @@ "info": null } }, + { + "id": "jipian1_15", + "name": "jipian1_15", + "sample_id": null, + "children": [], + "parent": "liaopan2_materialhole_3_3", + "type": "electrode_sheet", + "class": "", + "position": { + "x": 0, + "y": 0, + "z": 0 + }, + "config": { + "type": "ElectrodeSheet", + "size_x": 12, + "size_y": 12, + "size_z": 0.1, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "category": "electrode_sheet", + "model": null, + "barcode": null + }, + "data": { + "diameter": 14, + "thickness": 0.1, + "mass": 0.5, + "material_type": "copper", + "info": null + } + }, { "id": "\u7535\u6c60\u6599\u76d8", "name": "\u7535\u6c60\u6599\u76d8", @@ -1914,7 +1914,7 @@ "\u7535\u6c60\u6599\u76d8_materialhole_3_3" ], "parent": "coin_cell_deck", - "type": "container", + "type": "material_plate", "class": "", "position": { "x": 100, @@ -1962,7 +1962,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -1997,7 +1997,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -2032,7 +2032,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -2067,7 +2067,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 12.4, @@ -2102,7 +2102,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -2137,7 +2137,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -2172,7 +2172,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -2207,7 +2207,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 36.4, @@ -2242,7 +2242,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -2277,7 +2277,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -2312,7 +2312,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -2347,7 +2347,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 60.4, @@ -2382,7 +2382,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -2417,7 +2417,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -2452,7 +2452,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, @@ -2487,7 +2487,7 @@ "sample_id": null, "children": [], "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", + "type": "material_hole", "class": "", "position": { "x": 84.4, diff --git a/unilabos/devices/workstation/bioyond_studio/config.py b/unilabos/devices/workstation/bioyond_studio/config.py index 1141dfa4..504cf459 100644 --- a/unilabos/devices/workstation/bioyond_studio/config.py +++ b/unilabos/devices/workstation/bioyond_studio/config.py @@ -16,7 +16,7 @@ API_CONFIG = { "report_token": os.getenv("BIOYOND_REPORT_TOKEN", "CHANGE_ME_TOKEN"), # HTTP 服务配置 - "HTTP_host": os.getenv("BIOYOND_HTTP_HOST", "172.21.33.161"), # HTTP服务监听地址,监听计算机飞连ip地址 + "HTTP_host": os.getenv("BIOYOND_HTTP_HOST", "172.21.32.210"), # HTTP服务监听地址,监听计算机飞连ip地址 "HTTP_port": int(os.getenv("BIOYOND_HTTP_PORT", "8080")), "debug_mode": False,# 调试模式 } diff --git a/unilabos/devices/workstation/coin_cell_assembly/button_battery_station.py b/unilabos/devices/workstation/coin_cell_assembly/YB_YH_materials.py similarity index 100% rename from unilabos/devices/workstation/coin_cell_assembly/button_battery_station.py rename to unilabos/devices/workstation/coin_cell_assembly/YB_YH_materials.py diff --git a/unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly.py b/unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly.py index 966de336..7ca56278 100644 --- a/unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly.py +++ b/unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly.py @@ -15,10 +15,10 @@ from unilabos.device_comms.modbus_plc.client import ModbusTcpClient from unilabos.devices.workstation.workstation_base import WorkstationBase from unilabos.device_comms.modbus_plc.client import TCPClient, ModbusNode, PLCWorkflow, ModbusWorkflow, WorkflowAction, BaseClient from unilabos.device_comms.modbus_plc.modbus import DeviceType, Base as ModbusNodeBase, DataType, WorderOrder -from unilabos.devices.workstation.coin_cell_assembly.button_battery_station import * +from unilabos.devices.workstation.coin_cell_assembly.YB_YH_materials import * from unilabos.ros.nodes.base_device_node import ROS2DeviceNode, BaseROS2DeviceNode from unilabos.ros.nodes.presets.workstation import ROS2WorkstationNode -from unilabos.devices.workstation.coin_cell_assembly.button_battery_station import CoincellDeck +from unilabos.devices.workstation.coin_cell_assembly.YB_YH_materials import CoincellDeck from unilabos.resources.graphio import convert_resources_to_type from unilabos.utils.log import logger @@ -71,24 +71,24 @@ def _ensure_modbus_slave_kw_alias(modbus_client): setattr(modbus_client, name, types.MethodType(wrapped, modbus_client)) -def _coerce_station_resource_input(station_resource: Any) -> Optional[Deck]: - if station_resource is None: +def _coerce_deck_input(deck: Any) -> Optional[Deck]: + if deck is None: return None - if isinstance(station_resource, Deck): - return station_resource + if isinstance(deck, Deck): + return deck - if isinstance(station_resource, PLRResource): - return station_resource if isinstance(station_resource, Deck) else None + if isinstance(deck, PLRResource): + return deck if isinstance(deck, Deck) else None candidates = None - if isinstance(station_resource, dict): - if "nodes" in station_resource and isinstance(station_resource["nodes"], list): - candidates = station_resource["nodes"] + if isinstance(deck, dict): + if "nodes" in deck and isinstance(deck["nodes"], list): + candidates = deck["nodes"] else: - candidates = [station_resource] - elif isinstance(station_resource, list): - candidates = station_resource + candidates = [deck] + elif isinstance(deck, list): + candidates = deck if candidates is None: return None @@ -102,7 +102,7 @@ def _coerce_station_resource_input(station_resource: Any) -> Optional[Deck]: if isinstance(item, Deck): return item except Exception as exc: - logger.warning(f"station_resource 转换 Deck 失败: {exc}") + logger.warning(f"deck 转换 Deck 失败: {exc}") return None @@ -111,23 +111,22 @@ def _coerce_station_resource_input(station_resource: Any) -> Optional[Deck]: class CoinCellAssemblyWorkstation(WorkstationBase): def __init__( self, - station_resource: Optional[Any] = None, deck: Deck=None, - address: str = "172.21.32.20", + address: str = "172.21.32.111", port: str = "502", debug_mode: bool = False, *args, **kwargs, ): - if station_resource is None and "station_resource" in kwargs: - station_resource = kwargs.pop("station_resource") + if deck is None and "deck" in kwargs: + deck = kwargs.pop("deck") else: - kwargs.pop("station_resource", None) + kwargs.pop("deck", None) - normalized_station_resource = _coerce_station_resource_input(station_resource) + normalized_deck = _coerce_deck_input(deck) - if deck is None and isinstance(normalized_station_resource, Deck): - deck = normalized_station_resource + if deck is None and isinstance(normalized_deck, Deck): + deck = normalized_deck super().__init__( #桌子 @@ -137,11 +136,10 @@ class CoinCellAssemblyWorkstation(WorkstationBase): ) self.debug_mode = debug_mode - self.station_resource = normalized_station_resource if isinstance(normalized_station_resource, Deck) else None + self.deck = None if self.deck is None: self.deck = CoincellDeck(size_x=1000, size_y=1000, size_z=900) - self.station_resource = self.deck # 创建料盘1并添加极片 liaopan1 = MaterialPlate(name="liaopan1", size_x=120.8, size_y=120.5, size_z=10.0, fill=True) self.deck.assign_child_resource(liaopan1, Coordinate(x=0, y=0, z=0)) @@ -155,10 +153,10 @@ class CoinCellAssemblyWorkstation(WorkstationBase): liaopan3 = MaterialPlate(name="电池料盘", size_x=120.8, size_y=160.5, size_z=10.0, fill=True) self.deck.assign_child_resource(liaopan3, Coordinate(x=100, y=100, z=0)) else: - if self.station_resource is None: - self.station_resource = self.deck - elif self.deck is not self.station_resource: - self.deck = self.station_resource + if self.deck is None: + self.deck = self.deck + elif self.deck is not self.deck: + self.deck = self.deck """ 连接初始化 """ modbus_client = TCPClient(addr=address, port=port) @@ -831,7 +829,7 @@ class CoinCellAssemblyWorkstation(WorkstationBase): print("data_electrolyte_code", data_electrolyte_code) print("data_coin_cell_code", data_coin_cell_code) #接收完信息后,读取完毕标志位置True - liaopan3 = self.station_resource.get_resource("\u7535\u6c60\u6599\u76d8") + liaopan3 = self.deck.get_resource("\u7535\u6c60\u6599\u76d8") #把物料解绑后放到另一盘上 battery = ElectrodeSheet(name=f"battery_{self.coin_num_N}", size_x=14, size_y=14, size_z=2) battery._unilabos_state = { @@ -844,7 +842,7 @@ class CoinCellAssemblyWorkstation(WorkstationBase): liaopan3.children[self.coin_num_N].assign_child_resource(battery, location=None) #print(jipian2.parent) ROS2DeviceNode.run_async_func(self._ros_node.update_resource, True, **{ - "resources": [self.station_resource] + "resources": [self.deck] }) @@ -1015,7 +1013,7 @@ class CoinCellAssemblyWorkstation(WorkstationBase): def fun_wuliao_test(self) -> bool: #找到data_init中构建的2个物料盘 - liaopan3 = self.station_resource.get_resource("\u7535\u6c60\u6599\u76d8") + liaopan3 = self.deck.get_resource("\u7535\u6c60\u6599\u76d8") for i in range(16): battery = ElectrodeSheet(name=f"battery_{i}", size_x=16, size_y=16, size_z=2) battery._unilabos_state = { @@ -1028,7 +1026,7 @@ class CoinCellAssemblyWorkstation(WorkstationBase): liaopan3.children[i].assign_child_resource(battery, location=None) ROS2DeviceNode.run_async_func(self._ros_node.update_resource, True, **{ - "resources": [self.station_resource] + "resources": [self.deck] }) # for i in range(40): # print(f"fun_wuliao_test 运行结束{i}") @@ -1286,7 +1284,7 @@ if __name__ == "__main__": from unilabos.resources.graphio import resource_ulab_to_plr, convert_resources_to_type - #with open("./button_battery_station_resources_unilab.json", "r", encoding="utf-8") as f: + #with open("./button_battery_decks_unilab.json", "r", encoding="utf-8") as f: # bioyond_resources_unilab = json.load(f) #print(f"成功读取 JSON 文件,包含 {len(bioyond_resources_unilab)} 个资源") #ulab_resources = convert_resources_to_type(bioyond_resources_unilab, List[PLRResource]) @@ -1302,7 +1300,7 @@ if __name__ == "__main__": from unilabos.app.web.client import http_client resources = convert_resources_from_type([Coin_Cell.deck], [Resource]) - json.dump({"nodes": resources, "links": []}, open("button_battery_station_resources_unilab.json", "w"), indent=2) + json.dump({"nodes": resources, "links": []}, open("button_battery_decks_unilab.json", "w"), indent=2) #print(resources) http_client.remote_addr = "https://uni-lab.test.bohrium.com/api/v1" diff --git a/unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly_a.csv b/unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly_a.csv index 1805c23c..d8ece23c 100644 --- a/unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly_a.csv +++ b/unilabos/devices/workstation/coin_cell_assembly/coin_cell_assembly_a.csv @@ -43,10 +43,21 @@ REG_DATA_ELECTROLYTE_USE_NUM,INT16,,,,hold_register,10000, UNILAB_SEND_FINISHED_CMD,BOOL,,,,coil,8730, UNILAB_RECE_FINISHED_CMD,BOOL,,,,coil,8530, REG_DATA_ASSEMBLY_TYPE,INT16,,,,hold_register,10018,ASSEMBLY_TYPE7or8 -COIL_ALUMINUM_FOIL,BOOL,,ʹ��������,,coil,8340, -REG_MSG_NE_PLATE_MATRIX,INT16,,����Ƭ�����λ,,hold_register,440, -REG_MSG_SEPARATOR_PLATE_MATRIX,INT16,,��Ĥ�����λ,,hold_register,450, -REG_MSG_TIP_BOX_MATRIX,INT16,,��Һǹͷ�����λ,,hold_register,480, -REG_MSG_NE_PLATE_NUM,INT16,,����Ƭ����,,hold_register,443, -REG_MSG_SEPARATOR_PLATE_NUM,INT16,,��Ĥ����,,hold_register,453, -REG_MSG_PRESS_MODE,BOOL,,ѹ��ģʽ��false:ѹ�����ģʽ��True:����ģʽ��,,coil,8360,���ѹ��ģʽ +COIL_ALUMINUM_FOIL,BOOL,,,,coil,8340, +REG_MSG_NE_PLATE_MATRIX,INT16,,Ƭλ,,hold_register,440, +REG_MSG_SEPARATOR_PLATE_MATRIX,INT16,,Ĥλ,,hold_register,450, +REG_MSG_TIP_BOX_MATRIX,INT16,,Һǹͷλ,,hold_register,480, +REG_MSG_NE_PLATE_NUM,INT16,,Ƭ,,hold_register,443, +REG_MSG_SEPARATOR_PLATE_NUM,INT16,,Ĥ,,hold_register,453, +,,,,,,, +,BOOL,,Ӿλfalse:ʹãtrue:ԣ,,coil,8300,Ӿλ +,BOOL,,죨false:ʹãtrue:ԣ,,coil,8310,Ӿ +,BOOL,,_֣false:ʹãtrue:ԣ,,coil,8320, +,BOOL,,_Ҳ֣false:ʹãtrue:ԣ,,coil,8420,Ҳ +,BOOL,,ռ֪false:ʹãtrue:ԣ,,coil,8350,ռ֪ +,BOOL,,ѹģʽfalse:ѹģʽTrue:ģʽ,,coil,8360,ѹģʽ +,BOOL,,Һģʽfalse:εҺtrue:εҺ,,coil,8370,Һģʽ +,BOOL,,Ƭأfalse:ʹãtrue:ԣ,,coil,8380,Ƭ +,BOOL,,Ƭװʽfalse:װtrue:װ,,coil,8390,װ +,BOOL,,ѹࣨfalse:ʹãtrue:ԣ,,coil,8400,ѹ +,BOOL,,̷̰ʽfalse:ˮƽ̣true:ѵ̣,,coil,8410,Ƭ̷ʽ diff --git a/unilabos/devices/workstation/coin_cell_assembly/new_cellconfig3c.json b/unilabos/devices/workstation/coin_cell_assembly/new_cellconfig3c.json index 8efce63b..c96e6b2b 100644 --- a/unilabos/devices/workstation/coin_cell_assembly/new_cellconfig3c.json +++ b/unilabos/devices/workstation/coin_cell_assembly/new_cellconfig3c.json @@ -1,6 +1,20 @@ { "nodes": [ { + "id": "bioyond_cell_workstation", + "name": "配液分液工站", + "children": [ + ], + "parent": null, + "type": "device", + "class": "bioyond_cell", + "config": { + "protocol_type": [], + "station_resource": {} + }, + "data": {} + }, + { "id": "BatteryStation", "name": "扣电工作站", "children": [ @@ -16,674 +30,7 @@ }, "config": { "debug_mode": false, - "_comment": "protocol_type接外部工站固定写法字段,一般为空,station_resource写法也固定", - "protocol_type": [], - "station_resource": { - "data": { - "_resource_child_name": "coin_cell_deck", - "_resource_type": "unilabos.devices.workstation.coin_cell_assembly.button_battery_station:CoincellDeck" - } - }, - - "address": "172.21.32.20", - "port": 502 - }, - "data": {} - }, - { - "id": "coin_cell_deck", - "name": "coin_cell_deck", - "sample_id": null, - "children": [ - "\u7535\u6c60\u6599\u76d8" - ], - "parent": null, - "type": "container", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "CoincellDeck", - "size_x": 1000, - "size_y": 1000, - "size_z": 900, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "coin_cell_deck", - "barcode": null - }, - "data": {} - }, - { - "id": "\u7535\u6c60\u6599\u76d8", - "name": "\u7535\u6c60\u6599\u76d8", - "sample_id": null, - "children": [ - "\u7535\u6c60\u6599\u76d8_materialhole_0_0", - "\u7535\u6c60\u6599\u76d8_materialhole_0_1", - "\u7535\u6c60\u6599\u76d8_materialhole_0_2", - "\u7535\u6c60\u6599\u76d8_materialhole_0_3", - "\u7535\u6c60\u6599\u76d8_materialhole_1_0", - "\u7535\u6c60\u6599\u76d8_materialhole_1_1", - "\u7535\u6c60\u6599\u76d8_materialhole_1_2", - "\u7535\u6c60\u6599\u76d8_materialhole_1_3", - "\u7535\u6c60\u6599\u76d8_materialhole_2_0", - "\u7535\u6c60\u6599\u76d8_materialhole_2_1", - "\u7535\u6c60\u6599\u76d8_materialhole_2_2", - "\u7535\u6c60\u6599\u76d8_materialhole_2_3", - "\u7535\u6c60\u6599\u76d8_materialhole_3_0", - "\u7535\u6c60\u6599\u76d8_materialhole_3_1", - "\u7535\u6c60\u6599\u76d8_materialhole_3_2", - "\u7535\u6c60\u6599\u76d8_materialhole_3_3" - ], - "parent": "coin_cell_deck", - "type": "container", - "class": "", - "position": { - "x": 100, - "y": 100, - "z": 0 - }, - "config": { - "type": "MaterialPlate", - "size_x": 120.8, - "size_y": 160.5, - "size_z": 10.0, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_plate", - "model": null, - "barcode": null, - "ordering": { - "A1": "\u7535\u6c60\u6599\u76d8_materialhole_0_0", - "B1": "\u7535\u6c60\u6599\u76d8_materialhole_0_1", - "C1": "\u7535\u6c60\u6599\u76d8_materialhole_0_2", - "D1": "\u7535\u6c60\u6599\u76d8_materialhole_0_3", - "A2": "\u7535\u6c60\u6599\u76d8_materialhole_1_0", - "B2": "\u7535\u6c60\u6599\u76d8_materialhole_1_1", - "C2": "\u7535\u6c60\u6599\u76d8_materialhole_1_2", - "D2": "\u7535\u6c60\u6599\u76d8_materialhole_1_3", - "A3": "\u7535\u6c60\u6599\u76d8_materialhole_2_0", - "B3": "\u7535\u6c60\u6599\u76d8_materialhole_2_1", - "C3": "\u7535\u6c60\u6599\u76d8_materialhole_2_2", - "D3": "\u7535\u6c60\u6599\u76d8_materialhole_2_3", - "A4": "\u7535\u6c60\u6599\u76d8_materialhole_3_0", - "B4": "\u7535\u6c60\u6599\u76d8_materialhole_3_1", - "C4": "\u7535\u6c60\u6599\u76d8_materialhole_3_2", - "D4": "\u7535\u6c60\u6599\u76d8_materialhole_3_3" - } - }, - "data": {} - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_0_0", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_0_0", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 12.4, - "y": 104.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_0_1", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_0_1", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 12.4, - "y": 80.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_0_2", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_0_2", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 12.4, - "y": 56.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_0_3", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_0_3", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 12.4, - "y": 32.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_1_0", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_1_0", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 36.4, - "y": 104.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_1_1", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_1_1", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 36.4, - "y": 80.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_1_2", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_1_2", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 36.4, - "y": 56.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_1_3", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_1_3", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 36.4, - "y": 32.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_2_0", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_2_0", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 60.4, - "y": 104.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_2_1", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_2_1", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 60.4, - "y": 80.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_2_2", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_2_2", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 60.4, - "y": 56.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_2_3", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_2_3", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 60.4, - "y": 32.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_3_0", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_3_0", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 84.4, - "y": 104.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_3_1", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_3_1", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 84.4, - "y": 80.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_3_2", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_3_2", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 84.4, - "y": 56.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null - } - }, - { - "id": "\u7535\u6c60\u6599\u76d8_materialhole_3_3", - "name": "\u7535\u6c60\u6599\u76d8_materialhole_3_3", - "sample_id": null, - "children": [], - "parent": "\u7535\u6c60\u6599\u76d8", - "type": "container", - "class": "", - "position": { - "x": 84.4, - "y": 32.25, - "z": 10.0 - }, - "config": { - "type": "MaterialHole", - "size_x": 16, - "size_y": 16, - "size_z": 16, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "material_hole", - "model": null, - "barcode": null - }, - "data": { - "diameter": 20, - "depth": 10, - "max_sheets": 1, - "info": null + "protocol_type": [] } } ],