mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-03 21:05:09 +00:00
Workbench example, adjust log level, and ci check (#220) * TestLatency Return Value Example & gitignore update * Adjust log level & Add workbench virtual example & Add not action decorator & Add check_mode & * Add CI Check Fix/workstation yb revision (#217) * Revert log change & update registry * Revert opcua client & move electrolyte node Workstation yb merge dev ready 260113 (#216) * feat(bioyond): 添加计算实验设计功能,支持化合物配比和滴定比例参数 * feat(bioyond): 添加测量小瓶功能,支持基本参数配置 * feat(bioyond): 添加测量小瓶配置,支持新设备参数 * feat(bioyond): 更新仓库布局和尺寸,支持竖向排列的测量小瓶和试剂存放堆栈 * feat(bioyond): 优化任务创建流程,确保无论成功与否都清理任务队列以避免重复累积 * feat(bioyond): 添加设置反应器温度功能,支持温度范围和异常处理 * feat(bioyond): 调整反应器位置配置,统一坐标格式 * feat(bioyond): 添加调度器启动功能,支持任务队列执行并处理异常 * feat(bioyond): 优化调度器启动功能,添加异常处理并更新相关配置 * feat(opcua): 增强节点ID解析兼容性和数据类型处理 改进节点ID解析逻辑以支持多种格式,包括字符串和数字标识符 添加数据类型转换处理,确保写入值时类型匹配 优化错误提示信息,便于调试节点连接问题 * feat(registry): 新增后处理站的设备配置文件 添加后处理站的YAML配置文件,包含动作映射、状态类型和设备描述 * 添加调度器启动功能,合并物料参数配置,优化物料参数处理逻辑 * 添加从 Bioyond 系统自动同步工作流序列的功能,并更新相关配置 * fix:兼容 BioyondReactionStation 中 workflow_sequence 被重写为 property * fix:同步工作流序列 * feat: remove commented workflow synchronization from `reaction_station.py`. * 添加时间约束功能及相关配置 * fix:自动更新物料缓存功能,添加物料时更新缓存并在删除时移除缓存项 * fix:在添加物料时处理字符串和字典返回值,确保正确更新缓存 * fix:更新奔曜错误处理报送为物料变更报送,调整日志记录和响应消息 * feat:添加实验报告简化功能,去除冗余信息并保留关键信息 * feat: 添加任务状态事件发布功能,监控并报告任务运行、超时、完成和错误状态 * fix: 修复添加物料时数据格式错误 * Refactor bioyond_dispensing_station and reaction_station_bioyond YAML configurations - Removed redundant action value mappings from bioyond_dispensing_station. - Updated goal properties in bioyond_dispensing_station to use enums for target_stack and other parameters. - Changed data types for end_point and start_point in reaction_station_bioyond to use string enums (Start, End). - Simplified descriptions and updated measurement units from μL to mL where applicable. - Removed unused commands from reaction_station_bioyond to streamline the configuration. * fix:Change the material unit from μL to mL * fix:refresh_material_cache * feat: 动态获取工作流步骤ID,优化工作流配置 * feat: 添加清空服务端所有非核心工作流功能 * fix:修复Bottle类的序列化和反序列化方法 * feat:增强材料缓存更新逻辑,支持处理返回数据中的详细信息 * Add debug log * feat(workstation): update bioyond config migration and coin cell material search logic - Migrate bioyond_cell config to JSON structure and remove global variable dependencies - Implement material search confirmation dialog auto-handling - Add documentation: 20260113_物料搜寻确认弹窗自动处理功能.md and 20260113_配置迁移修改总结.md * Refactor module paths for Bioyond devices in YAML configuration files - Updated the module path for BioyondDispensingStation in bioyond_dispensing_station.yaml to reflect the new directory structure. - Updated the module path for BioyondReactionStation and BioyondReactor in reaction_station_bioyond.yaml to align with the revised organization of the codebase. * fix: WareHouse 的不可哈希类型错误,优化父节点去重逻辑 * refactor: Move config from module to instance initialization * fix: 修正 reaction_station 目录名拼写错误 * feat: Integrate material search logic and cleanup deprecated files - Update coin_cell_assembly.py with material search dialog handling - Update YB_warehouses.py with latest warehouse configurations - Remove outdated documentation and test data files * Refactor: Use instance attributes for action names and workflow step IDs * refactor: Split tipbox storage into left and right warehouses * refactor: Merge tipbox storage left and right into single warehouse --------- Co-authored-by: ZiWei <131428629+ZiWei09@users.noreply.github.com> Co-authored-by: Andy6M <xieqiming1132@qq.com> fix: WareHouse 的不可哈希类型错误,优化父节点去重逻辑 fix parent_uuid fetch when bind_parent_id == node_name 物料更新也是用父节点进行报送 Add None conversion for tube rack etc. Add set_liquid example. Add create_resource and test_resource example. Add restart. Temp allow action message. Add no_update_feedback option. Create session_id by edge. bump version to 0.10.15 temp cancel update req
313 lines
12 KiB
JSON
313 lines
12 KiB
JSON
{
|
|
"nodes": [
|
|
{
|
|
"id": "reaction_station_bioyond",
|
|
"name": "reaction_station_bioyond",
|
|
"parent": null,
|
|
"children": [
|
|
"Bioyond_Deck",
|
|
"reactor_1",
|
|
"reactor_2",
|
|
"reactor_3",
|
|
"reactor_4",
|
|
"reactor_5"
|
|
],
|
|
"type": "device",
|
|
"class": "reaction_station.bioyond",
|
|
"position": {
|
|
"x": 0,
|
|
"y": 1100,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"api_key": "YOUR_API_KEY",
|
|
"api_host": "http://your-api-host:port",
|
|
"workflow_mappings": {
|
|
"reactor_taken_out": "workflow-uuid-reactor-out",
|
|
"reactor_taken_in": "workflow-uuid-reactor-in",
|
|
"Solid_feeding_vials": "workflow-uuid-solid-vials",
|
|
"Liquid_feeding_vials(non-titration)": "workflow-uuid-liquid-vials",
|
|
"Liquid_feeding_solvents": "workflow-uuid-solvents",
|
|
"Liquid_feeding(titration)": "workflow-uuid-titration",
|
|
"liquid_feeding_beaker": "workflow-uuid-beaker",
|
|
"Drip_back": "workflow-uuid-drip-back"
|
|
},
|
|
"material_type_mappings": {
|
|
"BIOYOND_PolymerStation_Reactor": [
|
|
"反应器",
|
|
"uuid-placeholder-reactor"
|
|
],
|
|
"BIOYOND_PolymerStation_1BottleCarrier": [
|
|
"试剂瓶",
|
|
"uuid-placeholder-bottle"
|
|
],
|
|
"BIOYOND_PolymerStation_1FlaskCarrier": [
|
|
"烧杯",
|
|
"uuid-placeholder-beaker"
|
|
],
|
|
"BIOYOND_PolymerStation_6StockCarrier": [
|
|
"样品板",
|
|
"uuid-placeholder-sample-plate"
|
|
],
|
|
"BIOYOND_PolymerStation_Solid_Vial": [
|
|
"90%分装小瓶",
|
|
"uuid-placeholder-solid-vial"
|
|
],
|
|
"BIOYOND_PolymerStation_Liquid_Vial": [
|
|
"10%分装小瓶",
|
|
"uuid-placeholder-liquid-vial"
|
|
],
|
|
"BIOYOND_PolymerStation_TipBox": [
|
|
"枪头盒",
|
|
"uuid-placeholder-tipbox"
|
|
],
|
|
"BIOYOND_PolymerStation_Measurement_Vial": [
|
|
"测量小瓶",
|
|
"uuid-placeholder-measure-vial"
|
|
]
|
|
},
|
|
"warehouse_mapping": {
|
|
"堆栈1左": {
|
|
"uuid": "uuid-placeholder-stack1-left",
|
|
"site_uuids": {
|
|
"A01": "uuid-placeholder-site-A01",
|
|
"A02": "uuid-placeholder-site-A02",
|
|
"A03": "uuid-placeholder-site-A03",
|
|
"A04": "uuid-placeholder-site-A04",
|
|
"B01": "uuid-placeholder-site-B01",
|
|
"B02": "uuid-placeholder-site-B02",
|
|
"B03": "uuid-placeholder-site-B03",
|
|
"B04": "uuid-placeholder-site-B04",
|
|
"C01": "uuid-placeholder-site-C01",
|
|
"C02": "uuid-placeholder-site-C02",
|
|
"C03": "uuid-placeholder-site-C03",
|
|
"C04": "uuid-placeholder-site-C04",
|
|
"D01": "uuid-placeholder-site-D01",
|
|
"D02": "uuid-placeholder-site-D02",
|
|
"D03": "uuid-placeholder-site-D03",
|
|
"D04": "uuid-placeholder-site-D04"
|
|
}
|
|
},
|
|
"堆栈1右": {
|
|
"uuid": "uuid-placeholder-stack1-right",
|
|
"site_uuids": {
|
|
"A05": "uuid-placeholder-site-A05",
|
|
"A06": "uuid-placeholder-site-A06",
|
|
"A07": "uuid-placeholder-site-A07",
|
|
"A08": "uuid-placeholder-site-A08",
|
|
"B05": "uuid-placeholder-site-B05",
|
|
"B06": "uuid-placeholder-site-B06",
|
|
"B07": "uuid-placeholder-site-B07",
|
|
"B08": "uuid-placeholder-site-B08",
|
|
"C05": "uuid-placeholder-site-C05",
|
|
"C06": "uuid-placeholder-site-C06",
|
|
"C07": "uuid-placeholder-site-C07",
|
|
"C08": "uuid-placeholder-site-C08",
|
|
"D05": "uuid-placeholder-site-D05",
|
|
"D06": "uuid-placeholder-site-D06",
|
|
"D07": "uuid-placeholder-site-D07",
|
|
"D08": "uuid-placeholder-site-D08"
|
|
}
|
|
},
|
|
"站内试剂存放堆栈": {
|
|
"uuid": "uuid-placeholder-reagent-stack",
|
|
"site_uuids": {
|
|
"A01": "uuid-placeholder-reagent-A01",
|
|
"A02": "uuid-placeholder-reagent-A02"
|
|
}
|
|
},
|
|
"测量小瓶仓库(测密度)": {
|
|
"uuid": "uuid-placeholder-density-stack",
|
|
"site_uuids": {
|
|
"A01": "uuid-placeholder-density-A01",
|
|
"A02": "uuid-placeholder-density-A02",
|
|
"A03": "uuid-placeholder-density-A03",
|
|
"B01": "uuid-placeholder-density-B01",
|
|
"B02": "uuid-placeholder-density-B02",
|
|
"B03": "uuid-placeholder-density-B03"
|
|
}
|
|
},
|
|
"站内Tip盒堆栈(左)": {
|
|
"uuid": "uuid-placeholder-tipstack-left",
|
|
"site_uuids": {
|
|
"A02": "uuid-placeholder-tip-A02",
|
|
"A03": "uuid-placeholder-tip-A03",
|
|
"B02": "uuid-placeholder-tip-B02",
|
|
"B03": "uuid-placeholder-tip-B03"
|
|
}
|
|
},
|
|
"站内Tip盒堆栈(右)": {
|
|
"uuid": "uuid-placeholder-tipstack-right",
|
|
"site_uuids": {
|
|
"A01": "uuid-placeholder-tip-A01",
|
|
"B01": "uuid-placeholder-tip-B01"
|
|
}
|
|
}
|
|
},
|
|
"workflow_to_section_map": {
|
|
"reactor_taken_in": "反应器放入",
|
|
"reactor_taken_out": "反应器取出",
|
|
"Solid_feeding_vials": "固体投料-小瓶",
|
|
"Liquid_feeding_vials(non-titration)": "液体投料-小瓶(非滴定)",
|
|
"Liquid_feeding_solvents": "液体投料-溶剂",
|
|
"Liquid_feeding(titration)": "液体投料-滴定",
|
|
"liquid_feeding_beaker": "液体投料-烧杯",
|
|
"Drip_back": "液体回滴"
|
|
},
|
|
"action_names": {
|
|
"reactor_taken_in": {
|
|
"config": "通量-配置",
|
|
"stirring": "反应模块-开始搅拌"
|
|
},
|
|
"solid_feeding_vials": {
|
|
"feeding": "粉末加样模块-投料",
|
|
"observe": "反应模块-观察搅拌结果"
|
|
},
|
|
"liquid_feeding_vials_non_titration": {
|
|
"liquid": "稀释液瓶加液位-液体投料",
|
|
"observe": "反应模块-滴定结果观察"
|
|
},
|
|
"liquid_feeding_solvents": {
|
|
"liquid": "试剂AB放置位-试剂吸液分液",
|
|
"observe": "反应模块-观察搅拌结果"
|
|
},
|
|
"liquid_feeding_titration": {
|
|
"liquid": "稀释液瓶加液位-稀释液吸液分液",
|
|
"observe": "反应模块-滴定结果观察"
|
|
},
|
|
"liquid_feeding_beaker": {
|
|
"liquid": "烧杯溶液放置位-烧杯吸液分液",
|
|
"observe": "反应模块-观察搅拌结果"
|
|
},
|
|
"drip_back": {
|
|
"liquid": "试剂AB放置位-试剂吸液分液",
|
|
"observe": "反应模块-向下滴定结果观察"
|
|
}
|
|
},
|
|
"http_service_config": {
|
|
"http_service_host": "127.0.0.1",
|
|
"http_service_port": 8080
|
|
},
|
|
"material_default_parameters": {
|
|
"NMP": {
|
|
"unit": "毫升",
|
|
"density": "1.03",
|
|
"densityUnit": "g/mL",
|
|
"description": "N-甲基吡咯烷酮 (N-Methyl-2-pyrrolidone)"
|
|
}
|
|
},
|
|
"material_type_parameters": {}
|
|
},
|
|
"deck": {
|
|
"data": {
|
|
"_resource_child_name": "Bioyond_Deck",
|
|
"_resource_type": "unilabos.resources.bioyond.decks:BIOYOND_PolymerReactionStation_Deck"
|
|
}
|
|
},
|
|
"size_x": 2700.0,
|
|
"size_y": 1080.0,
|
|
"size_z": 2500.0,
|
|
"protocol_type": [],
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "reactor_1",
|
|
"name": "reactor_1",
|
|
"children": [],
|
|
"parent": "reaction_station_bioyond",
|
|
"type": "device",
|
|
"class": "reaction_station.reactor",
|
|
"position": {
|
|
"x": 1150,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "reactor_2",
|
|
"name": "reactor_2",
|
|
"children": [],
|
|
"parent": "reaction_station_bioyond",
|
|
"type": "device",
|
|
"class": "reaction_station.reactor",
|
|
"position": {
|
|
"x": 1365,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "reactor_3",
|
|
"name": "reactor_3",
|
|
"children": [],
|
|
"parent": "reaction_station_bioyond",
|
|
"type": "device",
|
|
"class": "reaction_station.reactor",
|
|
"position": {
|
|
"x": 1580,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "reactor_4",
|
|
"name": "reactor_4",
|
|
"children": [],
|
|
"parent": "reaction_station_bioyond",
|
|
"type": "device",
|
|
"class": "reaction_station.reactor",
|
|
"position": {
|
|
"x": 1790,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "reactor_5",
|
|
"name": "reactor_5",
|
|
"children": [],
|
|
"parent": "reaction_station_bioyond",
|
|
"type": "device",
|
|
"class": "reaction_station.reactor",
|
|
"position": {
|
|
"x": 2010,
|
|
"y": 300,
|
|
"z": 0
|
|
},
|
|
"config": {},
|
|
"data": {}
|
|
},
|
|
{
|
|
"id": "Bioyond_Deck",
|
|
"name": "Bioyond_Deck",
|
|
"children": [],
|
|
"parent": "reaction_station_bioyond",
|
|
"type": "deck",
|
|
"class": "BIOYOND_PolymerReactionStation_Deck",
|
|
"position": {
|
|
"x": 0,
|
|
"y": 1100,
|
|
"z": 0
|
|
},
|
|
"config": {
|
|
"type": "BIOYOND_PolymerReactionStation_Deck",
|
|
"setup": true,
|
|
"rotation": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"type": "Rotation"
|
|
}
|
|
},
|
|
"data": {}
|
|
}
|
|
]
|
|
} |