feat(bioyond): 优化调度器启动功能,添加异常处理并更新相关配置

This commit is contained in:
ZiWei
2025-11-26 16:32:10 +08:00
parent 7250995891
commit dbe129caab
5 changed files with 89 additions and 18 deletions

View File

@@ -1303,16 +1303,20 @@ class BioyondDispensingStation(BioyondWorkstation):
"""启动调度器 - 启动Bioyond工作站的任务调度器开始执行队列中的任务
Returns:
dict: 包含return_info的字典return_info为整型(1=成功, 0=失败)
dict: 包含return_info的字典return_info为整型(1=成功)
Raises:
BioyondException: 调度器启动失败时抛出异常
"""
try:
result = self.hardware_interface.scheduler_start()
self.hardware_interface._logger.info(f"调度器启动结果: {result}")
return {"return_info": result}
except Exception as e:
error_msg = f"启动调度器失败: {str(e)}"
result = self.hardware_interface.scheduler_start()
self.hardware_interface._logger.info(f"调度器启动结果: {result}")
if result != 1:
error_msg = "启动调度器失败: 有未处理错误调度无法启动。请检查Bioyond系统状态。"
self.hardware_interface._logger.error(error_msg)
return {"return_info": 0, "error": error_msg}
raise BioyondException(error_msg)
return {"return_info": result}
# 等待多个任务完成并获取实验报告
def wait_for_multiple_orders_and_get_reports(self,

View File

@@ -101,16 +101,22 @@ class BioyondReactionStation(BioyondWorkstation):
"""启动调度器 - 启动Bioyond工作站的任务调度器开始执行队列中的任务
Returns:
dict: 包含return_info的字典return_info为整型(1=成功, 0=失败)
dict: 包含return_info的字典return_info为整型(1=成功)
Raises:
BioyondException: 调度器启动失败时抛出异常
"""
try:
result = self.hardware_interface.scheduler_start()
self.hardware_interface._logger.info(f"调度器启动结果: {result}")
return {"return_info": result}
except Exception as e:
error_msg = f"启动调度器失败: {str(e)}"
from unilabos.devices.workstation.bioyond_studio.bioyond_rpc import BioyondException
result = self.hardware_interface.scheduler_start()
self.hardware_interface._logger.info(f"调度器启动结果: {result}")
if result != 1:
error_msg = "启动调度器失败: 有未处理错误调度无法启动。请检查Bioyond系统状态。"
self.hardware_interface._logger.error(error_msg)
return {"return_info": 0, "error": error_msg}
raise BioyondException(error_msg)
return {"return_info": result}
def reactor_taken_in(
self,

View File

@@ -519,6 +519,35 @@ bioyond_dispensing_station:
title: DispenStationSolnPrep
type: object
type: DispenStationSolnPrep
scheduler_start:
feedback: {}
goal: {}
goal_default: {}
handles: {}
result:
return_info: return_info
schema:
description: 启动调度器 - 启动Bioyond配液站的任务调度器开始执行队列中的任务
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
properties:
return_info:
description: 调度器启动结果成功返回1失败返回0
type: integer
required:
- return_info
title: scheduler_start结果
type: object
required:
- goal
title: scheduler_start参数
type: object
type: UniLabJsonCommand
transfer_materials_to_reaction_station:
feedback: {}
goal:

View File

@@ -471,6 +471,35 @@ reaction_station.bioyond:
title: reactor_taken_out参数
type: object
type: UniLabJsonCommand
scheduler_start:
feedback: {}
goal: {}
goal_default: {}
handles: {}
result:
return_info: return_info
schema:
description: 启动调度器 - 启动Bioyond工作站的任务调度器开始执行队列中的任务
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result:
properties:
return_info:
description: 调度器启动结果成功返回1失败返回0
type: integer
required:
- return_info
title: scheduler_start结果
type: object
required:
- goal
title: scheduler_start参数
type: object
type: UniLabJsonCommand
solid_feeding_vials:
feedback: {}
goal:

View File

@@ -16,7 +16,7 @@
"class": "reaction_station.bioyond",
"position": {
"x": 0,
"y": 0,
"y": 1100,
"z": 0
},
"config": {
@@ -74,6 +74,9 @@
"_resource_type": "unilabos.resources.bioyond.decks:BIOYOND_PolymerReactionStation_Deck"
}
},
"size_x": 2700.0,
"size_y": 1080.0,
"size_z": 2000.0,
"protocol_type": []
},
"data": {}
@@ -162,7 +165,7 @@
"class": "BIOYOND_PolymerReactionStation_Deck",
"position": {
"x": 0,
"y": 3800,
"y": 1100,
"z": 0
},
"config": {