From 04b578a68be1bf8a63fbbab2d49384f5eb993e19 Mon Sep 17 00:00:00 2001 From: dijkstra402 Date: Mon, 10 Nov 2025 18:57:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0YB=5FDeck=E5=A0=86?= =?UTF-8?q?=E6=A0=88=E5=9D=90=E6=A0=87=E4=BD=8D=E7=BD=AE=EF=BC=8C=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=9B=BE=E7=89=87=E5=83=8F=E7=B4=A0=E5=9D=90=E6=A0=87?= =?UTF-8?q?=E6=98=A0=E5=B0=84=E5=88=B0=E5=AE=9E=E9=99=85=E5=B0=BA=E5=AF=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- unilabos/resources/bioyond/decks.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/unilabos/resources/bioyond/decks.py b/unilabos/resources/bioyond/decks.py index 98970a1c..bfed3d7d 100644 --- a/unilabos/resources/bioyond/decks.py +++ b/unilabos/resources/bioyond/decks.py @@ -95,13 +95,13 @@ class BIOYOND_YB_Deck(Deck): } # warehouse 的位置 self.warehouse_locations = { - "自动堆栈-左": Coordinate(-300.0, 158.0, 0.0), - "自动堆栈-右": Coordinate(4160.0, 158.0, 0.0), - "手动堆栈-左": Coordinate(-400.0, 877.0, 0.0), - "手动堆栈-右": Coordinate(4160.0, 877.0, 0.0), + "自动堆栈-左": Coordinate(-100.3, 171.5, 0.0), + "自动堆栈-右": Coordinate(3960.1, 155.9, 0.0), + "手动堆栈-左": Coordinate(-213.3, 804.4, 0.0), + "手动堆栈-右": Coordinate(3960.1, 807.6, 0.0), "粉末加样头堆栈": Coordinate(415.0, 1301.0, 0.0), - "配液站内试剂仓库": Coordinate(2162.0, 337.0, 0.0), - "试剂替换仓库": Coordinate(1173.0, 702.0, 0.0), + "配液站内试剂仓库": Coordinate(2162.0, 437.0, 0.0), + "试剂替换仓库": Coordinate(1173.0, 802.0, 0.0), } for warehouse_name, warehouse in self.warehouses.items(): From b97be6a5d4861e9a0e3e66adaa12c3c12921de08 Mon Sep 17 00:00:00 2001 From: calvincao Date: Mon, 10 Nov 2025 21:40:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(battery):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=94=B5=E6=B1=A0=E5=B7=A5=E4=BD=9C=E7=AB=99=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=8E=E7=89=A9=E6=96=99=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改弹夹尺寸默认值,确保非空时使用实际值 - 调整new_cellconfig3c.json中设备位置和尺寸配置 - 更新CoinCellDeck的尺寸和原点坐标 -重新分配所有物料和弹夹的位置坐标 - 调整电解液缓存位和回收位坐标 - 更新物料板和tip box的布局位置 --- new_cellconfig3c.json | 23 ++++++------ .../coin_cell_assembly/YB_YH_materials.py | 35 +++++++++---------- unilabos/resources/battery/magazine.py | 6 ++-- 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/new_cellconfig3c.json b/new_cellconfig3c.json index 2a5d6ebc..d963f63e 100644 --- a/new_cellconfig3c.json +++ b/new_cellconfig3c.json @@ -1,3 +1,4 @@ + { "nodes": [ { @@ -53,11 +54,6 @@ ], "type": "device", "class":"coincellassemblyworkstation_device", - "position": { - "x": -600, - "y": -400, - "z": 0 - }, "config": { "deck": { "data": { @@ -66,6 +62,14 @@ } }, "protocol_type": [] + }, + "position": { + "size": {"height": 1450, "width": 1450, "depth": 2100}, + "position": { + "x": -1500, + "y": 0, + "z": 0 + } } }, { @@ -75,11 +79,6 @@ "parent": "BatteryStation", "type": "deck", "class": "CoincellDeck", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, "config": { "type": "CoincellDeck", "setup": true, @@ -94,4 +93,6 @@ } ], "links": [] -} \ No newline at end of file +} + + \ No newline at end of file diff --git a/unilabos/devices/workstation/coin_cell_assembly/YB_YH_materials.py b/unilabos/devices/workstation/coin_cell_assembly/YB_YH_materials.py index a39b817f..bc8dc4f0 100644 --- a/unilabos/devices/workstation/coin_cell_assembly/YB_YH_materials.py +++ b/unilabos/devices/workstation/coin_cell_assembly/YB_YH_materials.py @@ -540,10 +540,10 @@ class CoincellDeck(Deck): def __init__( self, name: str = "coin_cell_deck", - size_x: float = 3650.0, # 1m - size_y: float = 1550.0, # 1m - size_z: float = 2100.0, # 0.9m - origin: Coordinate = Coordinate(-4000, 2000, 0), + size_x: float = 1450.0, # 1m + size_y: float = 1450.0, # 1m + size_z: float = 100.0, # 0.9m + origin: Coordinate = Coordinate(-2200, 0, 0), category: str = "coin_cell_deck", setup: bool = False, # 是否自动执行 setup ): @@ -560,11 +560,10 @@ class CoincellDeck(Deck): """ super().__init__( name=name, - size_x=size_x, - size_y=size_y, - size_z=size_z, + size_x=1450.0, + size_y=1450.0, + size_z=100.0, origin=origin, - category=category, ) if setup: self.setup() @@ -575,32 +574,32 @@ class CoincellDeck(Deck): # 正极片(4个洞位,2x2布局) zhengji_zip = MagazineHolder_4_Cathode("正极&铝箔弹夹") - self.assign_child_resource(zhengji_zip, Coordinate(x=2799.0, y=356.0, z=0)) + self.assign_child_resource(zhengji_zip, Coordinate(x=402.0, y=830.0, z=0)) # 正极壳、平垫片(6个洞位,2x2+2布局) zhengjike_zip = MagazineHolder_6_Cathode("正极壳&平垫片弹夹") - self.assign_child_resource(zhengjike_zip, Coordinate(x=2586.0, y=1143.0, z=0)) + self.assign_child_resource(zhengjike_zip, Coordinate(x=566.0, y=272.0, z=0)) # 负极壳、弹垫片(6个洞位,2x2+2布局) fujike_zip = MagazineHolder_6_Anode("负极壳&弹垫片弹夹") - self.assign_child_resource(fujike_zip, Coordinate(x=2492.0, y=1144.0, z=0)) + self.assign_child_resource(fujike_zip, Coordinate(x=474.0, y=276.0, z=0)) # 成品弹夹(6个洞位,3x2布局) chengpindanjia_zip = MagazineHolder_6_Battery("成品弹夹") - self.assign_child_resource(chengpindanjia_zip, Coordinate(x=3112.0, y=1295.0, z=0)) + self.assign_child_resource(chengpindanjia_zip, Coordinate(x=260.0, y=156.0, z=0)) # ====================================== 物料板 ============================================ # 创建物料板(料盘carrier)- 4x4布局 # 负极料盘 fujiliaopan = MaterialPlate(name="负极料盘", size_x=120, size_y=100, size_z=10.0, fill=True) - self.assign_child_resource(fujiliaopan, Coordinate(x=2107.0, y=304.0, z=0)) + self.assign_child_resource(fujiliaopan, Coordinate(x=708.0, y=794.0, z=0)) # for i in range(16): # fujipian = ElectrodeSheet(name=f"{fujiliaopan.name}_jipian_{i}", size_x=12, size_y=12, size_z=0.1) # fujiliaopan.children[i].assign_child_resource(fujipian, location=None) # 隔膜料盘 gemoliaopan = MaterialPlate(name="隔膜料盘", size_x=120, size_y=100, size_z=10.0, fill=True) - self.assign_child_resource(gemoliaopan, Coordinate(x=2107.0, y=146.0, z=0)) + self.assign_child_resource(gemoliaopan, Coordinate(x=718.0, y=918.0, z=0)) # for i in range(16): # gemopian = ElectrodeSheet(name=f"{gemoliaopan.name}_jipian_{i}", size_x=12, size_y=12, size_z=0.1) # gemoliaopan.children[i].assign_child_resource(gemopian, location=None) @@ -623,16 +622,16 @@ class CoincellDeck(Deck): # 电解液缓存位 - 6x2布局 bottle_rack_6x2 = YIHUA_Electrolyte_12VialCarrier(name="bottle_rack_6x2") - self.assign_child_resource(bottle_rack_6x2, Coordinate(x=300, y=300, z=0)) + self.assign_child_resource(bottle_rack_6x2, Coordinate(x=1050.0, y=358.0, z=0)) # 电解液回收位6x2 bottle_rack_6x2_2 = YIHUA_Electrolyte_12VialCarrier(name="bottle_rack_6x2_2") - self.assign_child_resource(bottle_rack_6x2_2, Coordinate(x=1765.0, y=869.0, z=0)) + self.assign_child_resource(bottle_rack_6x2_2, Coordinate(x=914.0, y=358.0, z=0)) tip_box = TipBox64(name="tip_box_64") - self.assign_child_resource(tip_box, Coordinate(x=1938.0, y=743.0, z=0)) + self.assign_child_resource(tip_box, Coordinate(x=782.0, y=514.0, z=0)) waste_tip_box = WasteTipBox(name="waste_tip_box") - self.assign_child_resource(waste_tip_box, Coordinate(x=1960.0, y=639.0, z=0)) + self.assign_child_resource(waste_tip_box, Coordinate(x=778.0, y=622.0, z=0)) if __name__ == "__main__": diff --git a/unilabos/resources/battery/magazine.py b/unilabos/resources/battery/magazine.py index d3ffcd82..04328a40 100644 --- a/unilabos/resources/battery/magazine.py +++ b/unilabos/resources/battery/magazine.py @@ -55,9 +55,9 @@ class Magazine(ResourceStack): def serialize(self) -> dict: return { **super().serialize(), - "size_x": self.size_x, - "size_y": self.size_y, - "size_z": self.size_z, + "size_x": self.size_x or 10.0, + "size_y": self.size_y or 10.0, + "size_z": self.size_z or 10.0, "max_sheets": self.max_sheets, }