Files
Uni-Lab-OS/unilabos/registry/devices/virtual_device.yaml
Xuwznln 9aeffebde1 0.10.7 Update (#101)
* Cleanup registry to be easy-understanding (#76)

* delete deprecated mock devices

* rename categories

* combine chromatographic devices

* rename rviz simulation nodes

* organic virtual devices

* parse vessel_id

* run registry completion before merge

---------

Co-authored-by: Xuwznln <18435084+Xuwznln@users.noreply.github.com>

* fix: workstation handlers and vessel_id parsing

* fix: working dir error when input config path
feat: report publish topic when error

* modify default discovery_interval to 15s

* feat: add trace log level

* feat: 添加ChinWe设备控制类,支持串口通信和电机控制功能 (#79)

* fix: drop_tips not using auto resource select

* fix: discard_tips error

* fix: discard_tips

* fix: prcxi_res

* add: prcxi res
fix: startup slow

* feat: workstation example

* fix pumps and liquid_handler handle

* feat: 优化protocol node节点运行日志

* fix all protocol_compilers and remove deprecated devices

* feat: 新增use_remote_resource参数

* fix and remove redundant info

* bugfixes on organic protocols

* fix filter protocol

* fix protocol node

* 临时兼容错误的driver写法

* fix: prcxi import error

* use call_async in all service to avoid deadlock

* fix: figure_resource

* Update recipe.yaml

* add workstation template and battery example

* feat: add sk & ak

* update workstation base

* Create workstation_architecture.md

* refactor: workstation_base 重构为仅含业务逻辑,通信和子设备管理交给 ProtocolNode

* refactor: ProtocolNode→WorkstationNode

* Add:msgs.action (#83)

* update: Workstation dev 将版本号从 0.10.3 更新为 0.10.4 (#84)

* Add:msgs.action

* update: 将版本号从 0.10.3 更新为 0.10.4

* simplify resource system

* uncompleted refactor

* example for use WorkstationBase

* feat: websocket

* feat: websocket test

* feat: workstation example

* feat: action status

* fix: station自己的方法注册错误

* fix: 还原protocol node处理方法

* fix: build

* fix: missing job_id key

* ws test version 1

* ws test version 2

* ws protocol

* 增加物料关系上传日志

* 增加物料关系上传日志

* 修正物料关系上传

* 修复工站的tracker实例追踪失效问题

* 增加handle检测,增加material edge关系上传

* 修复event loop错误

* 修复edge上报错误

* 修复async错误

* 更新schema的title字段

* 主机节点信息等支持自动刷新

* 注册表编辑器

* 修复status密集发送时,消息出错

* 增加addr参数

* fix: addr param

* fix: addr param

* 取消labid 和 强制config输入

* Add action definitions for LiquidHandlerSetGroup and LiquidHandlerTransferGroup

- Created LiquidHandlerSetGroup.action with fields for group name, wells, and volumes.
- Created LiquidHandlerTransferGroup.action with fields for source and target group names and unit volume.
- Both actions include response fields for return information and success status.

* Add LiquidHandlerSetGroup and LiquidHandlerTransferGroup actions to CMakeLists

* Add set_group and transfer_group methods to PRCXI9300Handler and update liquid_handler.yaml

* result_info改为字典类型

* 新增uat的地址替换

* runze multiple pump support

(cherry picked from commit 49354fcf39)

* remove runze multiple software obtainer

(cherry picked from commit 8bcc92a394)

* support multiple backbone

(cherry picked from commit 4771ff2347)

* Update runze pump format

* Correct runze multiple backbone

* Update runze_multiple_backbone

* Correct runze pump multiple receive method.

* Correct runze pump multiple receive method.

* 对于PRCXI9320的transfer_group,一对多和多对多

* 移除MQTT,更新launch文档,提供注册表示例文件,更新到0.10.5

* fix import error

* fix dupe upload registry

* refactor ws client

* add server timeout

* Fix: run-column with correct vessel id (#86)

* fix run_column

* Update run_column_protocol.py

(cherry picked from commit e5aa4d940a)

* resource_update use resource_add

* 新增版位推荐功能

* 重新规定了版位推荐的入参

* update registry with nested obj

* fix protocol node log_message, added create_resource return value

* fix protocol node log_message, added create_resource return value

* try fix add protocol

* fix resource_add

* 修复移液站错误的aspirate注册表

* Feature/xprbalance-zhida (#80)

* feat(devices): add Zhida GC/MS pretreatment automation workstation

* feat(devices): add mettler_toledo xpr balance

* balance

* 重新补全zhida注册表

* PRCXI9320 json

* PRCXI9320 json

* PRCXI9320 json

* fix resource download

* remove class for resource

* bump version to 0.10.6

* 更新所有注册表

* 修复protocolnode的兼容性

* 修复protocolnode的兼容性

* Update install md

* Add Defaultlayout

* 更新物料接口

* fix dict to tree/nested-dict converter

* coin_cell_station draft

* refactor: rename "station_resource" to "deck"

* add standardized BIOYOND resources: bottle_carrier, bottle

* refactor and add BIOYOND resources tests

* add BIOYOND deck assignment and pass all tests

* fix: update resource with correct structure; remove deprecated liquid_handler set_group action

* feat: 将新威电池测试系统驱动与配置文件并入 workstation_dev_YB2 (#92)

* feat: 新威电池测试系统驱动与注册文件

* feat: bring neware driver & battery.json into workstation_dev_YB2

* add bioyond studio draft

* bioyond station with communication init and resource sync

* fix bioyond station and registry

* fix: update resource with correct structure; remove deprecated liquid_handler set_group action

* frontend_docs

* create/update resources with POST/PUT for big amount/ small amount data

* create/update resources with POST/PUT for big amount/ small amount data

* refactor: add itemized_carrier instead of carrier consists of ResourceHolder

* create warehouse by factory func

* update bioyond launch json

* add child_size for itemized_carrier

* fix bioyond resource io

* Workstation templates: Resources and its CRUD, and workstation tasks (#95)

* coin_cell_station draft

* refactor: rename "station_resource" to "deck"

* add standardized BIOYOND resources: bottle_carrier, bottle

* refactor and add BIOYOND resources tests

* add BIOYOND deck assignment and pass all tests

* fix: update resource with correct structure; remove deprecated liquid_handler set_group action

* feat: 将新威电池测试系统驱动与配置文件并入 workstation_dev_YB2 (#92)

* feat: 新威电池测试系统驱动与注册文件

* feat: bring neware driver & battery.json into workstation_dev_YB2

* add bioyond studio draft

* bioyond station with communication init and resource sync

* fix bioyond station and registry

* create/update resources with POST/PUT for big amount/ small amount data

* refactor: add itemized_carrier instead of carrier consists of ResourceHolder

* create warehouse by factory func

* update bioyond launch json

* add child_size for itemized_carrier

* fix bioyond resource io

---------

Co-authored-by: h840473807 <47357934+h840473807@users.noreply.github.com>
Co-authored-by: Xie Qiming <97236197+Andy6M@users.noreply.github.com>

* 更新物料接口

* Workstation dev yb2 (#100)

* Refactor and extend reaction station action messages

* Refactor dispensing station tasks to enhance parameter clarity and add batch processing capabilities

- Updated `create_90_10_vial_feeding_task` to include detailed parameters for 90%/10% vial feeding, improving clarity and usability.
- Introduced `create_batch_90_10_vial_feeding_task` for batch processing of 90%/10% vial feeding tasks with JSON formatted input.
- Added `create_batch_diamine_solution_task` for batch preparation of diamine solution, also utilizing JSON formatted input.
- Refined `create_diamine_solution_task` to include additional parameters for better task configuration.
- Enhanced schema descriptions and default values for improved user guidance.

* 修复to_plr_resources

* add update remove

* 支持选择器注册表自动生成
支持转运物料

* 修复资源添加

* 修复transfer_resource_to_another生成

* 更新transfer_resource_to_another参数,支持spot入参

* 新增test_resource动作

* fix host_node error

* fix host_node test_resource error

* fix host_node test_resource error

* 过滤本地动作

* 移动内部action以兼容host node

* 修复同步任务报错不显示的bug

* feat: 允许返回非本节点物料,后面可以通过decoration进行区分,就不进行warning了

* update todo

* modify bioyond/plr converter, bioyond resource registry, and tests

* pass the tests

* update todo

* add conda-pack-build.yml

* add auto install script for conda-pack-build.yml

(cherry picked from commit 172599adcf)

* update conda-pack-build.yml

* update conda-pack-build.yml

* update conda-pack-build.yml

* update conda-pack-build.yml

* update conda-pack-build.yml

* Add version in __init__.py
Update conda-pack-build.yml
Add create_zip_archive.py

* Update conda-pack-build.yml

* Update conda-pack-build.yml (with mamba)

* Update conda-pack-build.yml

* Fix FileNotFoundError

* Try fix 'charmap' codec can't encode characters in position 16-23: character maps to <undefined>

* Fix unilabos msgs search error

* Fix environment_check.py

* Update recipe.yaml

* Update registry. Update uuid loop figure method. Update install docs.

* Fix nested conda pack

* Fix one-key installation path error

* Bump version to 0.10.7

* Workshop bj (#99)

* Add LaiYu Liquid device integration and tests

Introduce LaiYu Liquid device implementation, including backend, controllers, drivers, configuration, and resource files. Add hardware connection, tip pickup, and simplified test scripts, as well as experiment and registry configuration for LaiYu Liquid. Documentation and .gitignore for the device are also included.

* feat(LaiYu_Liquid): 重构设备模块结构并添加硬件文档

refactor: 重新组织LaiYu_Liquid模块目录结构
docs: 添加SOPA移液器和步进电机控制指令文档
fix: 修正设备配置中的最大体积默认值
test: 新增工作台配置测试用例
chore: 删除过时的测试脚本和配置文件

* add

* 重构: 将 LaiYu_Liquid.py 重命名为 laiyu_liquid_main.py 并更新所有导入引用

- 使用 git mv 将 LaiYu_Liquid.py 重命名为 laiyu_liquid_main.py
- 更新所有相关文件中的导入引用
- 保持代码功能不变,仅改善命名一致性
- 测试确认所有导入正常工作

* 修复: 在 core/__init__.py 中添加 LaiYuLiquidBackend 导出

- 添加 LaiYuLiquidBackend 到导入列表
- 添加 LaiYuLiquidBackend 到 __all__ 导出列表
- 确保所有主要类都可以正确导入

* 修复大小写文件夹名字

* 电池装配工站二次开发教程(带目录)上传至dev (#94)

* 电池装配工站二次开发教程

* Update intro.md

* 物料教程

* 更新物料教程,json格式注释

* Update prcxi driver & fix transfer_liquid mix_times (#90)

* Update prcxi driver & fix transfer_liquid mix_times

* fix: correct mix_times type

* Update liquid_handler registry

* test: prcxi.py

* Update registry from pr

* fix ony-key script not exist

* clean files

---------

Co-authored-by: Junhan Chang <changjh@dp.tech>
Co-authored-by: ZiWei <131428629+ZiWei09@users.noreply.github.com>
Co-authored-by: Guangxin Zhang <guangxin.zhang.bio@gmail.com>
Co-authored-by: Xie Qiming <97236197+Andy6M@users.noreply.github.com>
Co-authored-by: h840473807 <47357934+h840473807@users.noreply.github.com>
Co-authored-by: LccLink <1951855008@qq.com>
Co-authored-by: lixinyu1011 <61094742+lixinyu1011@users.noreply.github.com>
Co-authored-by: shiyubo0410 <shiyubo@dp.tech>
2025-10-12 23:34:26 +08:00

5545 lines
144 KiB
YAML

virtual_centrifuge:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
centrifuge:
feedback:
current_speed: current_speed
current_status: status
current_temp: current_temp
progress: progress
goal:
speed: speed
temp: temp
time: time
vessel: vessel
goal_default:
speed: 0.0
temp: 0.0
time: 0.0
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
message: message
success: success
schema:
description: ''
properties:
feedback:
properties:
current_speed:
type: number
current_status:
type: string
current_temp:
type: number
progress:
type: number
required:
- progress
- current_speed
- current_temp
- current_status
title: Centrifuge_Feedback
type: object
goal:
properties:
speed:
type: number
temp:
type: number
time:
type: number
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
required:
- vessel
- speed
- time
- temp
title: Centrifuge_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: Centrifuge_Result
type: object
required:
- goal
title: Centrifuge
type: object
type: Centrifuge
module: unilabos.devices.virtual.virtual_centrifuge:VirtualCentrifuge
status_types:
centrifuge_state: str
current_speed: float
current_temp: float
max_speed: float
max_temp: float
message: str
min_temp: float
progress: float
status: str
target_speed: float
target_temp: float
time_remaining: float
type: python
config_info: []
description: Virtual Centrifuge for CentrifugeProtocol Testing
handles:
- data_key: vessel
data_source: handle
data_type: transport
description: 需要离心的样品容器
handler_key: centrifuge
io_type: target
label: centrifuge
side: NORTH
icon: ''
init_param_schema:
config:
properties:
config:
type: string
device_id:
type: string
required: []
type: object
data:
properties:
centrifuge_state:
type: string
current_speed:
type: number
current_temp:
type: number
max_speed:
type: number
max_temp:
type: number
message:
type: string
min_temp:
type: number
progress:
type: number
status:
type: string
target_speed:
type: number
target_temp:
type: number
time_remaining:
type: number
required:
- status
- centrifuge_state
- current_speed
- target_speed
- current_temp
- target_temp
- max_speed
- max_temp
- min_temp
- time_remaining
- progress
- message
type: object
version: 1.0.0
virtual_column:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
run_column:
feedback:
current_status: current_status
processed_volume: processed_volume
progress: progress
goal:
column: column
from_vessel: from_vessel
to_vessel: to_vessel
goal_default:
column: ''
from_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
pct1: ''
pct2: ''
ratio: ''
rf: ''
solvent1: ''
solvent2: ''
to_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
message: current_status
return_info: current_status
success: success
schema:
description: ''
properties:
feedback:
properties:
progress:
type: number
status:
type: string
required:
- status
- progress
title: RunColumn_Feedback
type: object
goal:
properties:
column:
type: string
from_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: from_vessel
type: object
pct1:
type: string
pct2:
type: string
ratio:
type: string
rf:
type: string
solvent1:
type: string
solvent2:
type: string
to_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: to_vessel
type: object
required:
- from_vessel
- to_vessel
- column
- rf
- pct1
- pct2
- solvent1
- solvent2
- ratio
title: RunColumn_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: RunColumn_Result
type: object
required:
- goal
title: RunColumn
type: object
type: RunColumn
module: unilabos.devices.virtual.virtual_column:VirtualColumn
status_types:
column_diameter: float
column_length: float
column_state: str
current_flow_rate: float
current_phase: str
current_status: str
final_volume: float
max_flow_rate: float
processed_volume: float
progress: float
status: str
type: python
config_info: []
description: Virtual Column Chromatography Device for RunColumn Protocol Testing
handles:
- data_key: from_vessel
data_source: handle
data_type: transport
description: 样品输入口
handler_key: columnin
io_type: target
label: columnin
side: WEST
- data_key: to_vessel
data_source: handle
data_type: transport
description: 产物输出口
handler_key: columnout
io_type: source
label: columnout
side: EAST
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
column_diameter:
type: number
column_length:
type: number
column_state:
type: string
current_flow_rate:
type: number
current_phase:
type: string
current_status:
type: string
final_volume:
type: number
max_flow_rate:
type: number
processed_volume:
type: number
progress:
type: number
status:
type: string
required:
- status
- column_state
- current_flow_rate
- max_flow_rate
- column_length
- column_diameter
- processed_volume
- progress
- current_status
- current_phase
- final_volume
type: object
version: 1.0.0
virtual_filter:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
filter:
feedback:
current_status: current_status
current_temp: current_temp
filtered_volume: filtered_volume
progress: progress
goal:
continue_heatchill: continue_heatchill
filtrate_vessel: filtrate_vessel
stir: stir
stir_speed: stir_speed
temp: temp
vessel: vessel
volume: volume
goal_default:
continue_heatchill: false
filtrate_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
stir: false
stir_speed: 0.0
temp: 0.0
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
volume: 0.0
handles: {}
result:
message: message
return_info: message
success: success
schema:
description: ''
properties:
feedback:
properties:
current_status:
type: string
current_temp:
type: number
filtered_volume:
type: number
progress:
type: number
required:
- progress
- current_temp
- filtered_volume
- current_status
title: Filter_Feedback
type: object
goal:
properties:
continue_heatchill:
type: boolean
filtrate_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: filtrate_vessel
type: object
stir:
type: boolean
stir_speed:
type: number
temp:
type: number
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
volume:
type: number
required:
- vessel
- filtrate_vessel
- stir
- stir_speed
- temp
- continue_heatchill
- volume
title: Filter_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: Filter_Result
type: object
required:
- goal
title: Filter
type: object
type: Filter
module: unilabos.devices.virtual.virtual_filter:VirtualFilter
status_types:
current_status: str
current_temp: float
filtered_volume: float
max_stir_speed: float
max_temp: float
max_volume: float
message: str
progress: float
status: str
type: python
config_info: []
description: Virtual Filter for FilterProtocol Testing
handles:
- data_key: vessel_in
data_source: handle
data_type: transport
description: 需要过滤的样品容器
handler_key: filterin
io_type: target
label: filter_in
side: NORTH
- data_key: filtrate_out
data_source: handle
data_type: transport
description: 滤液出口
handler_key: filtrateout
io_type: source
label: filtrate_out
side: SOUTH
- data_key: retentate_out
data_source: handle
data_type: transport
description: 滤渣/固体出口
handler_key: retentateout
io_type: source
label: retentate_out
side: EAST
icon: ''
init_param_schema:
config:
properties:
config:
type: string
device_id:
type: string
required: []
type: object
data:
properties:
current_status:
type: string
current_temp:
type: number
filtered_volume:
type: number
max_stir_speed:
type: number
max_temp:
type: number
max_volume:
type: number
message:
type: string
progress:
type: number
status:
type: string
required:
- status
- progress
- current_temp
- current_status
- filtered_volume
- message
- max_temp
- max_stir_speed
- max_volume
type: object
version: 1.0.0
virtual_gas_source:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-is_closed:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_closed的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-is_open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_open的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_open参数
type: object
type: UniLabJsonCommand
close:
feedback: {}
goal: {}
goal_default: {}
handles: {}
result: {}
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
properties:
return_info:
type: string
required:
- return_info
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
result: {}
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
properties:
return_info:
type: string
required:
- return_info
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
set_status:
feedback: {}
goal:
string: string
goal_default:
string: ''
handles: {}
result: {}
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: StrSingleInput_Feedback
type: object
goal:
properties:
string:
type: string
required:
- string
title: StrSingleInput_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: StrSingleInput_Result
type: object
required:
- goal
title: StrSingleInput
type: object
type: StrSingleInput
module: unilabos.devices.virtual.virtual_gas_source:VirtualGasSource
status_types:
status: str
type: python
config_info: []
description: Virtual gas source
handles:
- data_key: fluid_out
data_source: executor
data_type: fluid
description: 气源出气口
handler_key: gassource
io_type: source
label: gassource
side: SOUTH
icon: ''
init_param_schema:
config:
properties:
config:
type: string
device_id:
type: string
required: []
type: object
data:
properties:
status:
type: string
required:
- status
type: object
version: 1.0.0
virtual_heatchill:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
heat_chill:
feedback:
status: status
goal:
purpose: purpose
stir: stir
stir_speed: stir_speed
temp: temp
time: time
vessel: vessel
goal_default:
pressure: ''
purpose: ''
reflux_solvent: ''
stir: false
stir_speed: 0.0
temp: 0.0
temp_spec: ''
time: ''
time_spec: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties:
status:
type: string
required:
- status
title: HeatChill_Feedback
type: object
goal:
properties:
pressure:
type: string
purpose:
type: string
reflux_solvent:
type: string
stir:
type: boolean
stir_speed:
type: number
temp:
type: number
temp_spec:
type: string
time:
type: string
time_spec:
type: string
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
required:
- vessel
- temp
- time
- temp_spec
- time_spec
- pressure
- reflux_solvent
- stir
- stir_speed
- purpose
title: HeatChill_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: HeatChill_Result
type: object
required:
- goal
title: HeatChill
type: object
type: HeatChill
heat_chill_start:
feedback:
status: status
goal:
purpose: purpose
temp: temp
vessel: vessel
goal_default:
purpose: ''
temp: 0.0
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties:
status:
type: string
required:
- status
title: HeatChillStart_Feedback
type: object
goal:
properties:
purpose:
type: string
temp:
type: number
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
required:
- vessel
- temp
- purpose
title: HeatChillStart_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: HeatChillStart_Result
type: object
required:
- goal
title: HeatChillStart
type: object
type: HeatChillStart
heat_chill_stop:
feedback:
status: status
goal:
vessel: vessel
goal_default:
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties:
status:
type: string
required:
- status
title: HeatChillStop_Feedback
type: object
goal:
properties:
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
required:
- vessel
title: HeatChillStop_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: HeatChillStop_Result
type: object
required:
- goal
title: HeatChillStop
type: object
type: HeatChillStop
module: unilabos.devices.virtual.virtual_heatchill:VirtualHeatChill
status_types:
is_stirring: bool
max_stir_speed: float
max_temp: float
min_temp: float
operation_mode: str
progress: float
remaining_time: float
status: str
stir_speed: float
type: python
config_info: []
description: Virtual HeatChill for HeatChillProtocol Testing
handles:
- data_key: vessel
data_source: handle
data_type: mechanical
description: 加热/冷却器的物理连接口
handler_key: heatchill
io_type: source
label: heatchill
side: NORTH
icon: Heater.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
is_stirring:
type: boolean
max_stir_speed:
type: number
max_temp:
type: number
min_temp:
type: number
operation_mode:
type: string
progress:
type: number
remaining_time:
type: number
status:
type: string
stir_speed:
type: number
required:
- status
- operation_mode
- is_stirring
- stir_speed
- remaining_time
- progress
- max_temp
- min_temp
- max_stir_speed
type: object
version: 1.0.0
virtual_multiway_valve:
category:
- virtual_device
class:
action_value_mappings:
auto-close:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: close的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: close参数
type: object
type: UniLabJsonCommand
auto-is_at_port:
feedback: {}
goal: {}
goal_default:
port_number: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_at_port的参数schema
properties:
feedback: {}
goal:
properties:
port_number:
type: integer
required:
- port_number
type: object
result: {}
required:
- goal
title: is_at_port参数
type: object
type: UniLabJsonCommand
auto-is_at_position:
feedback: {}
goal: {}
goal_default:
position: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_at_position的参数schema
properties:
feedback: {}
goal:
properties:
position:
type: integer
required:
- position
type: object
result: {}
required:
- goal
title: is_at_position参数
type: object
type: UniLabJsonCommand
auto-is_at_pump_position:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_at_pump_position的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_at_pump_position参数
type: object
type: UniLabJsonCommand
auto-open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: open参数
type: object
type: UniLabJsonCommand
auto-reset:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: reset的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: reset参数
type: object
type: UniLabJsonCommand
auto-set_to_port:
feedback: {}
goal: {}
goal_default:
port_number: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: set_to_port的参数schema
properties:
feedback: {}
goal:
properties:
port_number:
type: integer
required:
- port_number
type: object
result: {}
required:
- goal
title: set_to_port参数
type: object
type: UniLabJsonCommand
auto-set_to_pump_position:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: set_to_pump_position的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: set_to_pump_position参数
type: object
type: UniLabJsonCommand
auto-switch_between_pump_and_port:
feedback: {}
goal: {}
goal_default:
port_number: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: switch_between_pump_and_port的参数schema
properties:
feedback: {}
goal:
properties:
port_number:
type: integer
required:
- port_number
type: object
result: {}
required:
- goal
title: switch_between_pump_and_port参数
type: object
type: UniLabJsonCommand
set_position:
feedback: {}
goal:
command: command
goal_default:
command: ''
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties:
status:
type: string
required:
- status
title: SendCmd_Feedback
type: object
goal:
properties:
command:
type: string
required:
- command
title: SendCmd_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: SendCmd_Result
type: object
required:
- goal
title: SendCmd
type: object
type: SendCmd
set_valve_position:
feedback: {}
goal:
command: command
goal_default:
command: ''
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties:
status:
type: string
required:
- status
title: SendCmd_Feedback
type: object
goal:
properties:
command:
type: string
required:
- command
title: SendCmd_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: SendCmd_Result
type: object
required:
- goal
title: SendCmd
type: object
type: SendCmd
module: unilabos.devices.virtual.virtual_multiway_valve:VirtualMultiwayValve
status_types:
current_port: str
current_position: int
flow_path: str
status: str
target_position: int
valve_position: int
valve_state: str
type: python
config_info: []
description: Virtual 8-Way Valve for flow direction control
handles:
- data_key: fluid_in
data_source: handle
data_type: fluid
description: 八通阀门进液口
handler_key: transferpump
io_type: target
label: transferpump
side: NORTH
- data_key: fluid_port_1
data_source: executor
data_type: fluid
description: 八通阀门端口1
handler_key: '1'
io_type: source
label: '1'
side: NORTH
- data_key: fluid_port_2
data_source: executor
data_type: fluid
description: 八通阀门端口2
handler_key: '2'
io_type: source
label: '2'
side: EAST
- data_key: fluid_port_3
data_source: executor
data_type: fluid
description: 八通阀门端口3
handler_key: '3'
io_type: source
label: '3'
side: EAST
- data_key: fluid_port_4
data_source: executor
data_type: fluid
description: 八通阀门端口4
handler_key: '4'
io_type: source
label: '4'
side: SOUTH
- data_key: fluid_port_5
data_source: executor
data_type: fluid
description: 八通阀门端口5
handler_key: '5'
io_type: source
label: '5'
side: SOUTH
- data_key: fluid_port_6
data_source: executor
data_type: fluid
description: 八通阀门端口6
handler_key: '6'
io_type: source
label: '6'
side: WEST
- data_key: fluid_port_7
data_source: executor
data_type: fluid
description: 八通阀门端口7
handler_key: '7'
io_type: source
label: '7'
side: WEST
- data_key: fluid_port_8
data_source: executor
data_type: fluid
description: 八通阀门端口8-特殊输入
handler_key: '8'
io_type: target
label: '8'
side: WEST
- data_key: fluid_port_8
data_source: executor
data_type: fluid
description: 八通阀门端口8
handler_key: '8'
io_type: source
label: '8'
side: NORTH
icon: EightPipeline.webp
init_param_schema:
config:
properties:
port:
default: VIRTUAL
type: string
positions:
default: 8
type: integer
required: []
type: object
data:
properties:
current_port:
type: string
current_position:
type: integer
flow_path:
type: string
status:
type: string
target_position:
type: integer
valve_position:
type: integer
valve_state:
type: string
required:
- status
- valve_state
- current_position
- target_position
- current_port
- valve_position
- flow_path
type: object
version: 1.0.0
virtual_rotavap:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
evaporate:
feedback:
current_device: current_device
status: status
goal:
pressure: pressure
stir_speed: stir_speed
temp: temp
time: time
vessel: vessel
goal_default:
pressure: 0.0
solvent: ''
stir_speed: 0.0
temp: 0.0
time: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
message: message
success: success
schema:
description: ''
properties:
feedback:
properties:
current_device:
type: string
status:
type: string
time_remaining:
properties:
nanosec:
maximum: 4294967295
minimum: 0
type: integer
sec:
maximum: 2147483647
minimum: -2147483648
type: integer
required:
- sec
- nanosec
title: time_remaining
type: object
time_spent:
properties:
nanosec:
maximum: 4294967295
minimum: 0
type: integer
sec:
maximum: 2147483647
minimum: -2147483648
type: integer
required:
- sec
- nanosec
title: time_spent
type: object
required:
- status
- current_device
- time_spent
- time_remaining
title: Evaporate_Feedback
type: object
goal:
properties:
pressure:
type: number
solvent:
type: string
stir_speed:
type: number
temp:
type: number
time:
type: string
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
required:
- vessel
- pressure
- temp
- time
- stir_speed
- solvent
title: Evaporate_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: Evaporate_Result
type: object
required:
- goal
title: Evaporate
type: object
type: Evaporate
module: unilabos.devices.virtual.virtual_rotavap:VirtualRotavap
status_types:
current_temp: float
evaporated_volume: float
max_rotation_speed: float
max_temp: float
message: str
progress: float
remaining_time: float
rotation_speed: float
rotavap_state: str
status: str
vacuum_pressure: float
type: python
config_info: []
description: Virtual Rotary Evaporator for EvaporateProtocol Testing
handles:
- data_key: vessel_in
data_source: handle
data_type: fluid
description: 样品连接口
handler_key: samplein
io_type: target
label: sample_in
side: NORTH
- data_key: product_out
data_source: handle
data_type: fluid
description: 浓缩产物出口
handler_key: productout
io_type: source
label: product_out
side: SOUTH
- data_key: solvent_out
data_source: handle
data_type: fluid
description: 冷凝溶剂出口
handler_key: solventout
io_type: source
label: solvent_out
side: EAST
icon: Rotaryevaporator.webp
init_param_schema:
config:
properties:
config:
type: string
device_id:
type: string
required: []
type: object
data:
properties:
current_temp:
type: number
evaporated_volume:
type: number
max_rotation_speed:
type: number
max_temp:
type: number
message:
type: string
progress:
type: number
remaining_time:
type: number
rotation_speed:
type: number
rotavap_state:
type: string
status:
type: string
vacuum_pressure:
type: number
required:
- status
- rotavap_state
- current_temp
- rotation_speed
- vacuum_pressure
- evaporated_volume
- progress
- message
- max_temp
- max_rotation_speed
- remaining_time
type: object
version: 1.0.0
virtual_separator:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
separate:
feedback:
current_status: status
progress: progress
goal:
from_vessel: from_vessel
product_phase: product_phase
purpose: purpose
repeats: repeats
separation_vessel: separation_vessel
settling_time: settling_time
solvent: solvent
solvent_volume: solvent_volume
stir_speed: stir_speed
stir_time: stir_time
through: through
to_vessel: to_vessel
waste_phase_to_vessel: waste_phase_to_vessel
goal_default:
from_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
product_phase: ''
product_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
purpose: ''
repeats: 0
separation_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
settling_time: 0.0
solvent: ''
solvent_volume: ''
stir_speed: 0.0
stir_time: 0.0
through: ''
to_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
volume: ''
waste_phase_to_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
waste_vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
message: message
success: success
schema:
description: ''
properties:
feedback:
properties:
progress:
type: number
status:
type: string
required:
- status
- progress
title: Separate_Feedback
type: object
goal:
properties:
from_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: from_vessel
type: object
product_phase:
type: string
product_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: product_vessel
type: object
purpose:
type: string
repeats:
maximum: 2147483647
minimum: -2147483648
type: integer
separation_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: separation_vessel
type: object
settling_time:
type: number
solvent:
type: string
solvent_volume:
type: string
stir_speed:
type: number
stir_time:
type: number
through:
type: string
to_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: to_vessel
type: object
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
volume:
type: string
waste_phase_to_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: waste_phase_to_vessel
type: object
waste_vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: waste_vessel
type: object
required:
- vessel
- purpose
- product_phase
- from_vessel
- separation_vessel
- to_vessel
- waste_phase_to_vessel
- product_vessel
- waste_vessel
- solvent
- solvent_volume
- volume
- through
- repeats
- stir_time
- stir_speed
- settling_time
title: Separate_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: Separate_Result
type: object
required:
- goal
title: Separate
type: object
type: Separate
module: unilabos.devices.virtual.virtual_separator:VirtualSeparator
status_types:
has_phases: bool
message: str
phase_separation: bool
progress: float
separator_state: str
settling_time: float
status: str
stir_speed: float
volume: float
type: python
config_info: []
description: Virtual Separator for SeparateProtocol Testing
handles:
- data_key: from_vessel
data_source: handle
data_type: fluid
description: 需要分离的混合液体输入口
handler_key: separatorin
io_type: target
label: separator_in
side: NORTH
- data_key: bottom_outlet
data_source: executor
data_type: fluid
description: 下相(重相)液体输出口
handler_key: bottomphaseout
io_type: source
label: bottom_phase_out
side: SOUTH
- data_key: mechanical_port
data_source: handle
data_type: mechanical
description: 用于连接搅拌器等机械设备的接口
handler_key: bind
io_type: target
label: bind
side: WEST
icon: Separator.webp
init_param_schema:
config:
properties:
config:
type: string
device_id:
type: string
required: []
type: object
data:
properties:
has_phases:
type: boolean
message:
type: string
phase_separation:
type: boolean
progress:
type: number
separator_state:
type: string
settling_time:
type: number
status:
type: string
stir_speed:
type: number
volume:
type: number
required:
- status
- separator_state
- volume
- has_phases
- phase_separation
- stir_speed
- settling_time
- progress
- message
type: object
version: 1.0.0
virtual_solenoid_valve:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-is_closed:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_closed的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-reset:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: reset的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: reset参数
type: object
type: UniLabJsonCommandAsync
auto-toggle:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: toggle的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: toggle参数
type: object
type: UniLabJsonCommand
close:
feedback: {}
goal:
command: CLOSED
goal_default: {}
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
properties:
return_info:
type: string
required:
- return_info
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
result: {}
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
properties:
return_info:
type: string
required:
- return_info
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
set_status:
feedback: {}
goal:
string: string
goal_default:
string: ''
handles: {}
result: {}
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: StrSingleInput_Feedback
type: object
goal:
properties:
string:
type: string
required:
- string
title: StrSingleInput_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: StrSingleInput_Result
type: object
required:
- goal
title: StrSingleInput
type: object
type: StrSingleInput
set_valve_position:
feedback: {}
goal:
command: command
goal_default:
command: ''
handles: {}
result:
message: message
success: success
valve_position: valve_position
schema:
description: ''
properties:
feedback:
properties:
status:
type: string
required:
- status
title: SendCmd_Feedback
type: object
goal:
properties:
command:
type: string
required:
- command
title: SendCmd_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: SendCmd_Result
type: object
required:
- goal
title: SendCmd
type: object
type: SendCmd
module: unilabos.devices.virtual.virtual_solenoid_valve:VirtualSolenoidValve
status_types:
is_open: bool
status: str
valve_position: str
valve_state: str
type: python
config_info: []
description: Virtual Solenoid Valve for simple on/off flow control
handles:
- data_key: fluid_port_in
data_source: handle
data_type: fluid
description: 电磁阀的进液口
handler_key: in
io_type: target
label: in
side: NORTH
- data_key: fluid_port_out
data_source: handle
data_type: fluid
description: 电磁阀的出液口
handler_key: out
io_type: source
label: out
side: SOUTH
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
is_open:
type: boolean
status:
type: string
valve_position:
type: string
valve_state:
type: string
required:
- status
- valve_state
- is_open
- valve_position
type: object
version: 1.0.0
virtual_solid_dispenser:
category:
- virtual_device
class:
action_value_mappings:
add_solid:
feedback:
current_status: status
progress: progress
goal:
equiv: equiv
event: event
mass: mass
mol: mol
purpose: purpose
rate_spec: rate_spec
ratio: ratio
reagent: reagent
vessel: vessel
goal_default:
amount: ''
equiv: ''
event: ''
mass: ''
mol: ''
purpose: ''
rate_spec: ''
ratio: ''
reagent: ''
stir: false
stir_speed: 0.0
time: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
viscous: false
volume: ''
handles: {}
result:
message: message
return_info: return_info
success: success
schema:
description: ''
properties:
feedback:
properties:
current_status:
type: string
progress:
type: number
required:
- progress
- current_status
title: Add_Feedback
type: object
goal:
properties:
amount:
type: string
equiv:
type: string
event:
type: string
mass:
type: string
mol:
type: string
purpose:
type: string
rate_spec:
type: string
ratio:
type: string
reagent:
type: string
stir:
type: boolean
stir_speed:
type: number
time:
type: string
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
viscous:
type: boolean
volume:
type: string
required:
- vessel
- reagent
- volume
- mass
- amount
- time
- stir
- stir_speed
- viscous
- purpose
- event
- mol
- rate_spec
- equiv
- ratio
title: Add_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: Add_Result
type: object
required:
- goal
title: Add
type: object
type: Add
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-find_solid_reagent_bottle:
feedback: {}
goal: {}
goal_default:
reagent_name: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
reagent_name:
type: string
required:
- reagent_name
type: object
result: {}
required:
- goal
title: find_solid_reagent_bottle参数
type: object
type: UniLabJsonCommand
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-parse_mass_string:
feedback: {}
goal: {}
goal_default:
mass_str: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
mass_str:
type: string
required:
- mass_str
type: object
result: {}
required:
- goal
title: parse_mass_string参数
type: object
type: UniLabJsonCommand
auto-parse_mol_string:
feedback: {}
goal: {}
goal_default:
mol_str: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: ''
properties:
feedback: {}
goal:
properties:
mol_str:
type: string
required:
- mol_str
type: object
result: {}
required:
- goal
title: parse_mol_string参数
type: object
type: UniLabJsonCommand
module: unilabos.devices.virtual.virtual_solid_dispenser:VirtualSolidDispenser
status_types:
current_reagent: str
dispensed_amount: float
status: str
total_operations: int
type: python
config_info: []
description: Virtual Solid Dispenser for Add Protocol Testing - supports mass and
molar additions
handles:
- data_key: solid_out
data_source: executor
data_type: resource
description: 固体试剂输出口
handler_key: SolidOut
io_type: source
label: SolidOut
side: SOUTH
- data_key: solid_in
data_source: handle
data_type: resource
description: 固体试剂输入口(连接试剂瓶)
handler_key: SolidIn
io_type: target
label: SolidIn
side: NORTH
icon: ''
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
current_reagent:
type: string
dispensed_amount:
type: number
status:
type: string
total_operations:
type: integer
required:
- status
- current_reagent
- dispensed_amount
- total_operations
type: object
version: 1.0.0
virtual_stirrer:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
start_stir:
feedback:
status: status
goal:
purpose: purpose
stir_speed: stir_speed
vessel: vessel
goal_default:
purpose: ''
stir_speed: 0.0
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties:
current_speed:
type: number
current_status:
type: string
progress:
type: number
required:
- progress
- current_speed
- current_status
title: StartStir_Feedback
type: object
goal:
properties:
purpose:
type: string
stir_speed:
type: number
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
required:
- vessel
- stir_speed
- purpose
title: StartStir_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: StartStir_Result
type: object
required:
- goal
title: StartStir
type: object
type: StartStir
stir:
feedback:
status: status
goal:
settling_time: settling_time
stir_speed: stir_speed
stir_time: stir_time
goal_default:
event: ''
settling_time: ''
stir_speed: 0.0
stir_time: 0.0
time: ''
time_spec: ''
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties:
status:
type: string
required:
- status
title: Stir_Feedback
type: object
goal:
properties:
event:
type: string
settling_time:
type: string
stir_speed:
type: number
stir_time:
type: number
time:
type: string
time_spec:
type: string
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
required:
- vessel
- time
- event
- time_spec
- stir_time
- stir_speed
- settling_time
title: Stir_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: Stir_Result
type: object
required:
- goal
title: Stir
type: object
type: Stir
stop_stir:
feedback:
status: status
goal:
vessel: vessel
goal_default:
vessel:
category: ''
children: []
config: ''
data: ''
id: ''
name: ''
parent: ''
pose:
orientation:
w: 1.0
x: 0.0
y: 0.0
z: 0.0
position:
x: 0.0
y: 0.0
z: 0.0
sample_id: ''
type: ''
handles: {}
result:
success: success
schema:
description: ''
properties:
feedback:
properties:
current_status:
type: string
progress:
type: number
required:
- progress
- current_status
title: StopStir_Feedback
type: object
goal:
properties:
vessel:
properties:
category:
type: string
children:
items:
type: string
type: array
config:
type: string
data:
type: string
id:
type: string
name:
type: string
parent:
type: string
pose:
properties:
orientation:
properties:
w:
type: number
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
- w
title: orientation
type: object
position:
properties:
x:
type: number
y:
type: number
z:
type: number
required:
- x
- y
- z
title: position
type: object
required:
- position
- orientation
title: pose
type: object
sample_id:
type: string
type:
type: string
required:
- id
- name
- sample_id
- children
- parent
- type
- category
- pose
- config
- data
title: vessel
type: object
required:
- vessel
title: StopStir_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: StopStir_Result
type: object
required:
- goal
title: StopStir
type: object
type: StopStir
module: unilabos.devices.virtual.virtual_stirrer:VirtualStirrer
status_types:
current_speed: float
current_vessel: str
device_info: dict
is_stirring: bool
max_speed: float
min_speed: float
operation_mode: str
remaining_time: float
status: str
type: python
config_info: []
description: Virtual Stirrer for StirProtocol Testing
handles:
- data_key: vessel
data_source: handle
data_type: mechanical
description: 搅拌器的机械连接口
handler_key: stirrer
io_type: source
label: stirrer
side: NORTH
icon: Stirrer.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
current_speed:
type: number
current_vessel:
type: string
device_info:
type: object
is_stirring:
type: boolean
max_speed:
type: number
min_speed:
type: number
operation_mode:
type: string
remaining_time:
type: number
status:
type: string
required:
- status
- operation_mode
- current_vessel
- current_speed
- is_stirring
- remaining_time
- max_speed
- min_speed
- device_info
type: object
version: 1.0.0
virtual_transfer_pump:
category:
- virtual_device
class:
action_value_mappings:
auto-aspirate:
feedback: {}
goal: {}
goal_default:
velocity: null
volume: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: aspirate的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
volume:
type: number
required:
- volume
type: object
result: {}
required:
- goal
title: aspirate参数
type: object
type: UniLabJsonCommandAsync
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-dispense:
feedback: {}
goal: {}
goal_default:
velocity: null
volume: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: dispense的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
volume:
type: number
required:
- volume
type: object
result: {}
required:
- goal
title: dispense参数
type: object
type: UniLabJsonCommandAsync
auto-empty_syringe:
feedback: {}
goal: {}
goal_default:
velocity: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: empty_syringe的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
required: []
type: object
result: {}
required:
- goal
title: empty_syringe参数
type: object
type: UniLabJsonCommandAsync
auto-fill_syringe:
feedback: {}
goal: {}
goal_default:
velocity: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: fill_syringe的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
required: []
type: object
result: {}
required:
- goal
title: fill_syringe参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-is_empty:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_empty的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_empty参数
type: object
type: UniLabJsonCommand
auto-is_full:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_full的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_full参数
type: object
type: UniLabJsonCommand
auto-pull_plunger:
feedback: {}
goal: {}
goal_default:
velocity: null
volume: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: pull_plunger的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
volume:
type: number
required:
- volume
type: object
result: {}
required:
- goal
title: pull_plunger参数
type: object
type: UniLabJsonCommandAsync
auto-push_plunger:
feedback: {}
goal: {}
goal_default:
velocity: null
volume: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: push_plunger的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
volume:
type: number
required:
- volume
type: object
result: {}
required:
- goal
title: push_plunger参数
type: object
type: UniLabJsonCommandAsync
auto-set_max_velocity:
feedback: {}
goal: {}
goal_default:
velocity: null
handles: {}
placeholder_keys: {}
result: {}
schema:
description: set_max_velocity的参数schema
properties:
feedback: {}
goal:
properties:
velocity:
type: number
required:
- velocity
type: object
result: {}
required:
- goal
title: set_max_velocity参数
type: object
type: UniLabJsonCommand
auto-stop_operation:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: stop_operation的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: stop_operation参数
type: object
type: UniLabJsonCommandAsync
set_position:
feedback:
current_position: current_position
progress: progress
status: status
goal:
max_velocity: max_velocity
position: position
goal_default:
max_velocity: 0.0
position: 0.0
handles: {}
result:
message: message
success: success
schema:
description: ''
properties:
feedback:
properties:
current_position:
type: number
progress:
type: number
status:
type: string
required:
- status
- current_position
- progress
title: SetPumpPosition_Feedback
type: object
goal:
properties:
max_velocity:
type: number
position:
type: number
required:
- position
- max_velocity
title: SetPumpPosition_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
- message
title: SetPumpPosition_Result
type: object
required:
- goal
title: SetPumpPosition
type: object
type: SetPumpPosition
transfer:
feedback:
current_status: current_status
progress: progress
transferred_volume: transferred_volume
goal:
amount: amount
from_vessel: from_vessel
rinsing_repeats: rinsing_repeats
rinsing_solvent: rinsing_solvent
rinsing_volume: rinsing_volume
solid: solid
time: time
to_vessel: to_vessel
viscous: viscous
volume: volume
goal_default:
amount: ''
from_vessel: ''
rinsing_repeats: 0
rinsing_solvent: ''
rinsing_volume: 0.0
solid: false
time: 0.0
to_vessel: ''
viscous: false
volume: 0.0
handles: {}
result:
message: message
success: success
schema:
description: ''
properties:
feedback:
properties:
current_status:
type: string
progress:
type: number
transferred_volume:
type: number
required:
- progress
- transferred_volume
- current_status
title: Transfer_Feedback
type: object
goal:
properties:
amount:
type: string
from_vessel:
type: string
rinsing_repeats:
maximum: 2147483647
minimum: -2147483648
type: integer
rinsing_solvent:
type: string
rinsing_volume:
type: number
solid:
type: boolean
time:
type: number
to_vessel:
type: string
viscous:
type: boolean
volume:
type: number
required:
- from_vessel
- to_vessel
- volume
- amount
- time
- viscous
- rinsing_solvent
- rinsing_volume
- rinsing_repeats
- solid
title: Transfer_Goal
type: object
result:
properties:
message:
type: string
return_info:
type: string
success:
type: boolean
required:
- success
- message
- return_info
title: Transfer_Result
type: object
required:
- goal
title: Transfer
type: object
type: Transfer
module: unilabos.devices.virtual.virtual_transferpump:VirtualTransferPump
status_types:
current_volume: float
max_velocity: float
position: float
remaining_capacity: float
status: str
transfer_rate: float
type: python
config_info: []
description: Virtual Transfer Pump for TransferProtocol Testing (Syringe-style)
handles:
- data_key: fluid_port
data_source: handle
data_type: fluid
description: 注射器式转移泵的连接口
handler_key: transferpump
io_type: source
label: transferpump
side: SOUTH
icon: Pump.webp
init_param_schema:
config:
properties:
config:
type: object
device_id:
type: string
required: []
type: object
data:
properties:
current_volume:
type: number
max_velocity:
type: number
position:
type: number
remaining_capacity:
type: number
status:
type: string
transfer_rate:
type: number
required:
- status
- position
- current_volume
- max_velocity
- transfer_rate
- remaining_capacity
type: object
version: 1.0.0
virtual_vacuum_pump:
category:
- virtual_device
class:
action_value_mappings:
auto-cleanup:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: cleanup的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: cleanup参数
type: object
type: UniLabJsonCommandAsync
auto-initialize:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: initialize的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: initialize参数
type: object
type: UniLabJsonCommandAsync
auto-is_closed:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_closed的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_closed参数
type: object
type: UniLabJsonCommand
auto-is_open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
placeholder_keys: {}
result: {}
schema:
description: is_open的参数schema
properties:
feedback: {}
goal:
properties: {}
required: []
type: object
result: {}
required:
- goal
title: is_open参数
type: object
type: UniLabJsonCommand
close:
feedback: {}
goal: {}
goal_default: {}
handles: {}
result: {}
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
properties:
return_info:
type: string
required:
- return_info
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
open:
feedback: {}
goal: {}
goal_default: {}
handles: {}
result: {}
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: EmptyIn_Feedback
type: object
goal:
properties: {}
required: []
title: EmptyIn_Goal
type: object
result:
properties:
return_info:
type: string
required:
- return_info
title: EmptyIn_Result
type: object
required:
- goal
title: EmptyIn
type: object
type: EmptyIn
set_status:
feedback: {}
goal:
string: string
goal_default:
string: ''
handles: {}
result: {}
schema:
description: ''
properties:
feedback:
properties: {}
required: []
title: StrSingleInput_Feedback
type: object
goal:
properties:
string:
type: string
required:
- string
title: StrSingleInput_Goal
type: object
result:
properties:
return_info:
type: string
success:
type: boolean
required:
- return_info
- success
title: StrSingleInput_Result
type: object
required:
- goal
title: StrSingleInput
type: object
type: StrSingleInput
module: unilabos.devices.virtual.virtual_vacuum_pump:VirtualVacuumPump
status_types:
status: str
type: python
config_info: []
description: Virtual vacuum pump
handles:
- data_key: fluid_in
data_source: handle
data_type: fluid
description: 真空泵进气口
handler_key: vacuumpump
io_type: source
label: vacuumpump
side: SOUTH
icon: Vacuum.webp
init_param_schema:
config:
properties:
config:
type: string
device_id:
type: string
required: []
type: object
data:
properties:
status:
type: string
required:
- status
type: object
version: 1.0.0