mirror of
https://github.com/deepmodeling/Uni-Lab-OS
synced 2026-03-24 09:39:17 +00:00
fast registry load minor fix on skill & registry stripe ros2 schema desc add create-device-skill new registry system backwards to yaml remove not exist resource new registry sys exp. support with add device add ai conventions correct raise create resource error ret info fix revert ret info fix fix prcxi check add create_resource schema re signal host ready event add websocket connection timeout and improve reconnection logic add open_timeout parameter to websocket connection add TimeoutError and InvalidStatus exception handling implement exponential backoff for reconnection attempts simplify reconnection logic flow add gzip change pose extra to any add isFlapY
710 lines
24 KiB
YAML
710 lines
24 KiB
YAML
bioyond_dispensing_station:
|
||
category:
|
||
- workstation
|
||
- bioyond
|
||
- bioyond_dispensing_station
|
||
class:
|
||
action_value_mappings:
|
||
auto-brief_step_parameters:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
data: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
data:
|
||
type: object
|
||
required:
|
||
- data
|
||
type: object
|
||
result:
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: brief_step_parameters参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
auto-process_order_finish_report:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
report_request: null
|
||
used_materials: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
report_request:
|
||
type: string
|
||
used_materials:
|
||
type: string
|
||
required:
|
||
- report_request
|
||
- used_materials
|
||
type: object
|
||
result:
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: process_order_finish_report参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
auto-project_order_report:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
order_id: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
order_id:
|
||
type: string
|
||
required:
|
||
- order_id
|
||
type: object
|
||
result:
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: project_order_report参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
auto-query_resource_by_name:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
material_name: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
material_name:
|
||
type: string
|
||
required:
|
||
- material_name
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: query_resource_by_name参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
auto-workflow_sample_locations:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
workflow_id: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
workflow_id:
|
||
type: string
|
||
required:
|
||
- workflow_id
|
||
type: object
|
||
result:
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: workflow_sample_locations参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
batch_create_90_10_vial_feeding_tasks:
|
||
feedback: {}
|
||
goal:
|
||
delay_time: delay_time
|
||
hold_m_name: hold_m_name
|
||
liquid_material_name: liquid_material_name
|
||
speed: speed
|
||
temperature: temperature
|
||
titration: titration
|
||
goal_default:
|
||
delay_time: null
|
||
hold_m_name: null
|
||
liquid_material_name: NMP
|
||
speed: null
|
||
temperature: null
|
||
titration: null
|
||
handles:
|
||
input:
|
||
- data_key: titration
|
||
data_source: handle
|
||
data_type: object
|
||
handler_key: titration
|
||
io_type: source
|
||
label: Titration Data From Calculation Node
|
||
output:
|
||
- data_key: return_info
|
||
data_source: executor
|
||
data_type: string
|
||
handler_key: BATCH_CREATE_RESULT
|
||
io_type: sink
|
||
label: Complete Batch Create Result JSON (contains order_codes and order_ids)
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 批量创建90%10%小瓶投料任务。从计算节点接收titration数据,包含物料名称、主称固体质量、滴定固体质量和滴定溶剂体积。返回的return_info中包含order_codes和order_ids列表。
|
||
properties:
|
||
feedback:
|
||
title: BatchCreate9010VialFeedingTasks_Feedback
|
||
goal:
|
||
properties:
|
||
delay_time:
|
||
description: 延迟时间(秒),默认600
|
||
type: string
|
||
hold_m_name:
|
||
description: 库位名称,如"C01",必填参数
|
||
type: string
|
||
liquid_material_name:
|
||
default: NMP
|
||
description: 10%物料的液体物料名称,默认为"NMP"
|
||
type: string
|
||
speed:
|
||
description: 搅拌速度,默认400
|
||
type: string
|
||
temperature:
|
||
description: 温度(℃),默认40
|
||
type: string
|
||
titration:
|
||
description: '滴定信息对象,包含: name(物料名称), main_portion(主称固体质量g), titration_portion(滴定固体质量g),
|
||
titration_solvent(滴定溶液体积mL)'
|
||
type: string
|
||
required:
|
||
- titration
|
||
title: BatchCreate9010VialFeedingTasks_Goal
|
||
type: object
|
||
result:
|
||
title: BatchCreate9010VialFeedingTasks_Result
|
||
type: string
|
||
required:
|
||
- goal
|
||
title: batch_create_90_10_vial_feeding_tasks参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
batch_create_diamine_solution_tasks:
|
||
feedback: {}
|
||
goal:
|
||
delay_time: delay_time
|
||
liquid_material_name: liquid_material_name
|
||
solutions: solutions
|
||
speed: speed
|
||
temperature: temperature
|
||
goal_default:
|
||
delay_time: null
|
||
liquid_material_name: NMP
|
||
solutions: null
|
||
speed: null
|
||
temperature: null
|
||
handles:
|
||
input:
|
||
- data_key: solutions
|
||
data_source: handle
|
||
data_type: array
|
||
handler_key: solutions
|
||
io_type: source
|
||
label: Solution Data From Python
|
||
output:
|
||
- data_key: return_info
|
||
data_source: executor
|
||
data_type: string
|
||
handler_key: BATCH_CREATE_RESULT
|
||
io_type: sink
|
||
label: Complete Batch Create Result JSON (contains order_codes and order_ids)
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 批量创建二胺溶液配置任务。自动为多个二胺样品创建溶液配置任务,每个任务包含固体物料称量、溶剂添加、搅拌混合等步骤。返回的return_info中包含order_codes和order_ids列表。
|
||
properties:
|
||
feedback:
|
||
title: BatchCreateDiamineSolutionTasks_Feedback
|
||
goal:
|
||
properties:
|
||
delay_time:
|
||
description: 溶液配置完成后的延迟时间(秒),用于充分混合和溶解,默认600秒
|
||
type: string
|
||
liquid_material_name:
|
||
default: NMP
|
||
description: 液体溶剂名称,用于溶解固体物料,默认为NMP(N-甲基吡咯烷酮)
|
||
type: string
|
||
solutions:
|
||
description: '溶液列表,JSON数组格式,每个元素包含: name(物料名称), order(序号), solid_mass(固体质量g),
|
||
solvent_volume(溶剂体积mL)。示例: [{"name": "MDA", "order": 0, "solid_mass":
|
||
5.0, "solvent_volume": 20}, {"name": "MPDA", "order": 1, "solid_mass":
|
||
4.5, "solvent_volume": 18}]'
|
||
type: string
|
||
speed:
|
||
description: 搅拌速度(rpm),用于混合溶液,默认400转/分钟
|
||
type: string
|
||
temperature:
|
||
description: 配置温度(℃),溶液配置过程的目标温度,默认20℃(室温)
|
||
type: string
|
||
required:
|
||
- solutions
|
||
title: BatchCreateDiamineSolutionTasks_Goal
|
||
type: object
|
||
result:
|
||
title: BatchCreateDiamineSolutionTasks_Result
|
||
type: string
|
||
required:
|
||
- goal
|
||
title: batch_create_diamine_solution_tasks参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
compute_experiment_design:
|
||
feedback: {}
|
||
goal:
|
||
m_tot: m_tot
|
||
ratio: ratio
|
||
titration_percent: titration_percent
|
||
wt_percent: wt_percent
|
||
goal_default:
|
||
m_tot: '70'
|
||
ratio: null
|
||
titration_percent: '0.03'
|
||
wt_percent: '0.25'
|
||
handles:
|
||
output:
|
||
- data_key: solutions
|
||
data_source: executor
|
||
data_type: array
|
||
handler_key: solutions
|
||
io_type: sink
|
||
label: Solution Data From Python
|
||
- data_key: titration
|
||
data_source: executor
|
||
data_type: object
|
||
handler_key: titration
|
||
io_type: sink
|
||
label: Titration Data From Calculation Node
|
||
- data_key: solvents
|
||
data_source: executor
|
||
data_type: object
|
||
handler_key: solvents
|
||
io_type: sink
|
||
label: Solvents Data From Calculation Node
|
||
- data_key: feeding_order
|
||
data_source: executor
|
||
data_type: array
|
||
handler_key: feeding_order
|
||
io_type: sink
|
||
label: Feeding Order Data From Calculation Node
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 计算实验设计,输出solutions/titration/solvents/feeding_order用于后续节点。
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
m_tot:
|
||
default: '70'
|
||
description: 总质量(g)
|
||
type: string
|
||
ratio:
|
||
description: 组分摩尔比的对象,保持输入顺序,如{"MDA":1,"BTDA":1}
|
||
type: object
|
||
titration_percent:
|
||
default: '0.03'
|
||
description: 滴定比例(10%部分)
|
||
type: string
|
||
wt_percent:
|
||
default: '0.25'
|
||
description: 目标固含质量分数
|
||
type: string
|
||
required:
|
||
- ratio
|
||
type: object
|
||
result:
|
||
properties:
|
||
feeding_order:
|
||
items: {}
|
||
title: Feeding Order
|
||
type: array
|
||
return_info:
|
||
title: Return Info
|
||
type: string
|
||
solutions:
|
||
items: {}
|
||
title: Solutions
|
||
type: array
|
||
solvents:
|
||
additionalProperties: true
|
||
title: Solvents
|
||
type: object
|
||
titration:
|
||
additionalProperties: true
|
||
title: Titration
|
||
type: object
|
||
required:
|
||
- solutions
|
||
- titration
|
||
- solvents
|
||
- feeding_order
|
||
- return_info
|
||
title: ComputeExperimentDesignReturn
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: compute_experiment_design参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
create_90_10_vial_feeding_task:
|
||
feedback: {}
|
||
goal:
|
||
delay_time: delay_time
|
||
hold_m_name: hold_m_name
|
||
order_name: order_name
|
||
percent_10_1_assign_material_name: percent_10_1_assign_material_name
|
||
percent_10_1_liquid_material_name: percent_10_1_liquid_material_name
|
||
percent_10_1_target_weigh: percent_10_1_target_weigh
|
||
percent_10_1_volume: percent_10_1_volume
|
||
percent_10_2_assign_material_name: percent_10_2_assign_material_name
|
||
percent_10_2_liquid_material_name: percent_10_2_liquid_material_name
|
||
percent_10_2_target_weigh: percent_10_2_target_weigh
|
||
percent_10_2_volume: percent_10_2_volume
|
||
percent_10_3_assign_material_name: percent_10_3_assign_material_name
|
||
percent_10_3_liquid_material_name: percent_10_3_liquid_material_name
|
||
percent_10_3_target_weigh: percent_10_3_target_weigh
|
||
percent_10_3_volume: percent_10_3_volume
|
||
percent_90_1_assign_material_name: percent_90_1_assign_material_name
|
||
percent_90_1_target_weigh: percent_90_1_target_weigh
|
||
percent_90_2_assign_material_name: percent_90_2_assign_material_name
|
||
percent_90_2_target_weigh: percent_90_2_target_weigh
|
||
percent_90_3_assign_material_name: percent_90_3_assign_material_name
|
||
percent_90_3_target_weigh: percent_90_3_target_weigh
|
||
speed: speed
|
||
temperature: temperature
|
||
goal_default:
|
||
delay_time: ''
|
||
hold_m_name: ''
|
||
order_name: ''
|
||
percent_10_1_assign_material_name: ''
|
||
percent_10_1_liquid_material_name: ''
|
||
percent_10_1_target_weigh: ''
|
||
percent_10_1_volume: ''
|
||
percent_10_2_assign_material_name: ''
|
||
percent_10_2_liquid_material_name: ''
|
||
percent_10_2_target_weigh: ''
|
||
percent_10_2_volume: ''
|
||
percent_10_3_assign_material_name: ''
|
||
percent_10_3_liquid_material_name: ''
|
||
percent_10_3_target_weigh: ''
|
||
percent_10_3_volume: ''
|
||
percent_90_1_assign_material_name: ''
|
||
percent_90_1_target_weigh: ''
|
||
percent_90_2_assign_material_name: ''
|
||
percent_90_2_target_weigh: ''
|
||
percent_90_3_assign_material_name: ''
|
||
percent_90_3_target_weigh: ''
|
||
speed: ''
|
||
temperature: ''
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result:
|
||
return_info: return_info
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback:
|
||
additionalProperties: true
|
||
title: DispenStationVialFeed_Feedback
|
||
type: object
|
||
goal:
|
||
additionalProperties: false
|
||
properties:
|
||
delay_time:
|
||
type: string
|
||
hold_m_name:
|
||
type: string
|
||
order_name:
|
||
type: string
|
||
percent_10_1_assign_material_name:
|
||
type: string
|
||
percent_10_1_liquid_material_name:
|
||
type: string
|
||
percent_10_1_target_weigh:
|
||
type: string
|
||
percent_10_1_volume:
|
||
type: string
|
||
percent_10_2_assign_material_name:
|
||
type: string
|
||
percent_10_2_liquid_material_name:
|
||
type: string
|
||
percent_10_2_target_weigh:
|
||
type: string
|
||
percent_10_2_volume:
|
||
type: string
|
||
percent_10_3_assign_material_name:
|
||
type: string
|
||
percent_10_3_liquid_material_name:
|
||
type: string
|
||
percent_10_3_target_weigh:
|
||
type: string
|
||
percent_10_3_volume:
|
||
type: string
|
||
percent_90_1_assign_material_name:
|
||
type: string
|
||
percent_90_1_target_weigh:
|
||
type: string
|
||
percent_90_2_assign_material_name:
|
||
type: string
|
||
percent_90_2_target_weigh:
|
||
type: string
|
||
percent_90_3_assign_material_name:
|
||
type: string
|
||
percent_90_3_target_weigh:
|
||
type: string
|
||
speed:
|
||
type: string
|
||
temperature:
|
||
type: string
|
||
title: DispenStationVialFeed_Goal
|
||
type: object
|
||
result:
|
||
additionalProperties: false
|
||
properties:
|
||
return_info:
|
||
type: string
|
||
title: DispenStationVialFeed_Result
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: DispenStationVialFeed
|
||
type: object
|
||
type: DispenStationVialFeed
|
||
create_diamine_solution_task:
|
||
feedback: {}
|
||
goal:
|
||
delay_time: delay_time
|
||
hold_m_name: hold_m_name
|
||
liquid_material_name: liquid_material_name
|
||
material_name: material_name
|
||
order_name: order_name
|
||
speed: speed
|
||
target_weigh: target_weigh
|
||
temperature: temperature
|
||
volume: volume
|
||
goal_default:
|
||
delay_time: ''
|
||
hold_m_name: ''
|
||
liquid_material_name: ''
|
||
material_name: ''
|
||
order_name: ''
|
||
speed: ''
|
||
target_weigh: ''
|
||
temperature: ''
|
||
volume: ''
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result:
|
||
return_info: return_info
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback:
|
||
additionalProperties: true
|
||
title: DispenStationSolnPrep_Feedback
|
||
type: object
|
||
goal:
|
||
additionalProperties: false
|
||
properties:
|
||
delay_time:
|
||
type: string
|
||
hold_m_name:
|
||
type: string
|
||
liquid_material_name:
|
||
type: string
|
||
material_name:
|
||
type: string
|
||
order_name:
|
||
type: string
|
||
speed:
|
||
type: string
|
||
target_weigh:
|
||
type: string
|
||
temperature:
|
||
type: string
|
||
volume:
|
||
type: string
|
||
title: DispenStationSolnPrep_Goal
|
||
type: object
|
||
result:
|
||
additionalProperties: false
|
||
properties:
|
||
return_info:
|
||
type: string
|
||
title: DispenStationSolnPrep_Result
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: DispenStationSolnPrep
|
||
type: object
|
||
type: DispenStationSolnPrep
|
||
scheduler_start:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default: {}
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 启动调度器 - 启动Bioyond配液站的任务调度器,开始执行队列中的任务
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties: {}
|
||
required: []
|
||
type: object
|
||
result:
|
||
title: scheduler_start结果
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: scheduler_start参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
transfer_materials_to_reaction_station:
|
||
feedback: {}
|
||
goal:
|
||
target_device_id: target_device_id
|
||
transfer_groups: transfer_groups
|
||
goal_default:
|
||
target_device_id: null
|
||
transfer_groups: null
|
||
handles: {}
|
||
placeholder_keys:
|
||
target_device_id: unilabos_devices
|
||
result: {}
|
||
schema:
|
||
description: 将配液站完成的物料(溶液、样品等)转移到指定反应站的堆栈库位。支持配置多组转移任务,每组包含物料名称、目标堆栈和目标库位。
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
target_device_id:
|
||
description: 目标反应站设备ID(从设备列表中选择,所有转移组都使用同一个目标设备)
|
||
type: string
|
||
transfer_groups:
|
||
description: 转移任务组列表,每组包含物料名称、目标堆栈和目标库位,可以添加多组
|
||
type: array
|
||
required:
|
||
- target_device_id
|
||
- transfer_groups
|
||
type: object
|
||
result:
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: transfer_materials_to_reaction_station参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
wait_for_multiple_orders_and_get_reports:
|
||
feedback: {}
|
||
goal:
|
||
batch_create_result: batch_create_result
|
||
check_interval: check_interval
|
||
timeout: timeout
|
||
goal_default:
|
||
batch_create_result: null
|
||
check_interval: 10
|
||
timeout: 7200
|
||
handles:
|
||
input:
|
||
- data_key: batch_create_result
|
||
data_source: handle
|
||
data_type: string
|
||
handler_key: BATCH_CREATE_RESULT
|
||
io_type: source
|
||
label: Batch Task Creation Result From Previous Step
|
||
output:
|
||
- data_key: return_info
|
||
data_source: handle
|
||
data_type: string
|
||
handler_key: batch_reports_result
|
||
io_type: sink
|
||
label: Batch Order Completion Reports
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 同时等待多个任务完成并获取所有实验报告。从上游batch_create任务接收包含order_codes和order_ids的结果对象,并行监控所有任务状态并返回每个任务的报告。
|
||
properties:
|
||
feedback:
|
||
title: WaitForMultipleOrdersAndGetReports_Feedback
|
||
goal:
|
||
properties:
|
||
batch_create_result:
|
||
description: 批量创建任务的返回结果对象,包含order_codes和order_ids数组。从上游batch_create节点通过handle传递
|
||
type: string
|
||
check_interval:
|
||
default: 10
|
||
description: 检查任务状态的时间间隔(秒),默认每10秒检查一次所有待完成任务
|
||
type: integer
|
||
timeout:
|
||
default: 7200
|
||
description: 等待超时时间(秒),默认7200秒(2小时)。超过此时间未完成的任务将标记为timeout
|
||
type: integer
|
||
required: []
|
||
title: WaitForMultipleOrdersAndGetReports_Goal
|
||
type: object
|
||
result:
|
||
title: WaitForMultipleOrdersAndGetReports_Result
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: wait_for_multiple_orders_and_get_reports参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
module: unilabos.devices.workstation.bioyond_studio.dispensing_station.dispensing_station:BioyondDispensingStation
|
||
status_types: {}
|
||
type: python
|
||
config_info: []
|
||
description: ''
|
||
handles: []
|
||
icon: preparation_station.webp
|
||
init_param_schema:
|
||
config:
|
||
properties:
|
||
config:
|
||
type: object
|
||
deck:
|
||
type: string
|
||
protocol_type:
|
||
type: string
|
||
required: []
|
||
type: object
|
||
data:
|
||
properties: {}
|
||
required: []
|
||
type: object
|
||
model: {}
|
||
version: 1.0.0
|