mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 13:01:12 +00:00
- 在YB_bottles.py中添加8种瓶子类型(100ml液体、高粘液、5ml分液瓶、20ml分液瓶、配液瓶小、配液瓶大、枪头等) - 在YB_bottle_carriers.py中添加12个载架函数(包括新增的高粘液载架和100ml液体载架) - 更新config.py的MATERIAL_TYPE_MAPPINGS配置,添加16种物料类型映射 - 创建YB_bottle_carriers.yaml注册文件,包含所有载架和瓶子函数 - 创建YB_bottle.yaml注册文件,包含独立的瓶子函数配置 - 移除不存在的瓶子函数引用(YB_Solid_Vial等4个函数)
164 lines
3.7 KiB
Python
164 lines
3.7 KiB
Python
from unilabos.resources.itemized_carrier import Bottle, BottleCarrier
|
|
# 工厂函数
|
|
"""加样头(大)"""
|
|
def YB_jia_yang_tou_da(
|
|
name: str,
|
|
diameter: float = 20.0,
|
|
height: float = 100.0,
|
|
max_volume: float = 30000.0, # 30mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建粉末瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,# 未知
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Solid_Stock",
|
|
)
|
|
|
|
"""液1x1"""
|
|
def YB_ye_Bottle(
|
|
name: str,
|
|
diameter: float = 40.0,
|
|
height: float = 70.0,
|
|
max_volume: float = 50000.0, # 50mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建液体瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Liquid_Bottle",
|
|
)
|
|
|
|
"""100ml液体"""
|
|
def YB_ye_100ml_Bottle(
|
|
name: str,
|
|
diameter: float = 50.0,
|
|
height: float = 90.0,
|
|
max_volume: float = 100000.0, # 100mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建100ml液体瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Liquid_Bottle_100ml",
|
|
)
|
|
|
|
"""高粘液"""
|
|
def YB_gao_nian_ye_Bottle(
|
|
name: str,
|
|
diameter: float = 40.0,
|
|
height: float = 70.0,
|
|
max_volume: float = 50000.0, # 50mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建高粘液瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="High_Viscosity_Liquid",
|
|
)
|
|
|
|
"""5ml分液瓶"""
|
|
def YB_fen_ye_5ml_Bottle(
|
|
name: str,
|
|
diameter: float = 20.0,
|
|
height: float = 50.0,
|
|
max_volume: float = 5000.0, # 5mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建5ml分液瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Separation_Bottle_5ml",
|
|
)
|
|
|
|
"""20ml分液瓶"""
|
|
def YB_fen_ye_20ml_Bottle(
|
|
name: str,
|
|
diameter: float = 30.0,
|
|
height: float = 65.0,
|
|
max_volume: float = 20000.0, # 20mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建20ml分液瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Separation_Bottle_20ml",
|
|
)
|
|
|
|
"""配液瓶(小)"""
|
|
def YB_pei_ye_xiao_Bottle(
|
|
name: str,
|
|
diameter: float = 35.0,
|
|
height: float = 60.0,
|
|
max_volume: float = 30000.0, # 30mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建配液瓶(小)"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Mixing_Bottle_Small",
|
|
)
|
|
|
|
"""配液瓶(大)"""
|
|
def YB_pei_ye_da_Bottle(
|
|
name: str,
|
|
diameter: float = 55.0,
|
|
height: float = 100.0,
|
|
max_volume: float = 150000.0, # 150mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建配液瓶(大)"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Mixing_Bottle_Large",
|
|
)
|
|
|
|
"""枪头"""
|
|
def YB_Pipette_Tip(
|
|
name: str,
|
|
diameter: float = 10.0,
|
|
height: float = 50.0,
|
|
max_volume: float = 1000.0, # 1mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建枪头"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Pipette_Tip",
|
|
)
|