mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-04 13:25:13 +00:00
6173 lines
161 KiB
YAML
6173 lines
161 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
|
||
auto-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
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
|
||
auto-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
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
|
||
auto-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
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
|
||
auto-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
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
|
||
auto-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
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
|
||
auto-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
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-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
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
|
||
auto-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
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
|
||
auto-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
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-post_init:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
ros_node: null
|
||
handles: {}
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: ''
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
ros_node:
|
||
type: object
|
||
required:
|
||
- ros_node
|
||
type: object
|
||
result: {}
|
||
required:
|
||
- goal
|
||
title: post_init参数
|
||
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
|
||
virtual_workbench:
|
||
category:
|
||
- virtual_device
|
||
class:
|
||
action_value_mappings:
|
||
auto-move_to_heating_station:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
material_number: null
|
||
handles:
|
||
input:
|
||
- data_key: material_number
|
||
data_source: handle
|
||
data_type: workbench_material
|
||
handler_key: material_input
|
||
label: 物料编号
|
||
output:
|
||
- data_key: station_id
|
||
data_source: executor
|
||
data_type: workbench_station
|
||
handler_key: heating_station_output
|
||
label: 加热台ID
|
||
- data_key: material_number
|
||
data_source: executor
|
||
data_type: workbench_material
|
||
handler_key: material_number_output
|
||
label: 物料编号
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 将物料从An位置移动到空闲加热台,返回分配的加热台ID
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
material_number:
|
||
description: 物料编号,1-5,物料ID自动生成为A{n}
|
||
type: integer
|
||
required:
|
||
- material_number
|
||
type: object
|
||
result:
|
||
description: move_to_heating_station 返回类型
|
||
properties:
|
||
material_id:
|
||
title: Material Id
|
||
type: string
|
||
material_number:
|
||
title: Material Number
|
||
type: integer
|
||
message:
|
||
title: Message
|
||
type: string
|
||
station_id:
|
||
description: 分配的加热台ID
|
||
title: Station Id
|
||
type: integer
|
||
success:
|
||
title: Success
|
||
type: boolean
|
||
required:
|
||
- success
|
||
- station_id
|
||
- material_id
|
||
- material_number
|
||
- message
|
||
title: MoveToHeatingStationResult
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: move_to_heating_station参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
auto-move_to_output:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
material_number: null
|
||
station_id: null
|
||
handles:
|
||
input:
|
||
- data_key: station_id
|
||
data_source: handle
|
||
data_type: workbench_station
|
||
handler_key: output_station_input
|
||
label: 加热台ID
|
||
- data_key: material_number
|
||
data_source: handle
|
||
data_type: workbench_material
|
||
handler_key: output_material_input
|
||
label: 物料编号
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 将物料从加热台移动到输出位置Cn
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
material_number:
|
||
description: 物料编号,用于确定输出位置Cn
|
||
type: integer
|
||
station_id:
|
||
description: 加热台ID,1-3,从上一节点传入
|
||
type: integer
|
||
required:
|
||
- station_id
|
||
- material_number
|
||
type: object
|
||
result:
|
||
description: move_to_output 返回类型
|
||
properties:
|
||
material_id:
|
||
title: Material Id
|
||
type: string
|
||
station_id:
|
||
title: Station Id
|
||
type: integer
|
||
success:
|
||
title: Success
|
||
type: boolean
|
||
required:
|
||
- success
|
||
- station_id
|
||
- material_id
|
||
title: MoveToOutputResult
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: move_to_output参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
auto-prepare_materials:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
count: 5
|
||
handles:
|
||
output:
|
||
- data_key: material_1
|
||
data_source: executor
|
||
data_type: workbench_material
|
||
handler_key: channel_1
|
||
label: 实验1
|
||
- data_key: material_2
|
||
data_source: executor
|
||
data_type: workbench_material
|
||
handler_key: channel_2
|
||
label: 实验2
|
||
- data_key: material_3
|
||
data_source: executor
|
||
data_type: workbench_material
|
||
handler_key: channel_3
|
||
label: 实验3
|
||
- data_key: material_4
|
||
data_source: executor
|
||
data_type: workbench_material
|
||
handler_key: channel_4
|
||
label: 实验4
|
||
- data_key: material_5
|
||
data_source: executor
|
||
data_type: workbench_material
|
||
handler_key: channel_5
|
||
label: 实验5
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 批量准备物料 - 虚拟起始节点,生成A1-A5物料,输出5个handle供后续节点使用
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
count:
|
||
default: 5
|
||
description: 待生成的物料数量,默认5 (生成 A1-A5)
|
||
type: integer
|
||
required: []
|
||
type: object
|
||
result:
|
||
description: prepare_materials 返回类型 - 批量准备物料
|
||
properties:
|
||
count:
|
||
title: Count
|
||
type: integer
|
||
material_1:
|
||
title: Material 1
|
||
type: integer
|
||
material_2:
|
||
title: Material 2
|
||
type: integer
|
||
material_3:
|
||
title: Material 3
|
||
type: integer
|
||
material_4:
|
||
title: Material 4
|
||
type: integer
|
||
material_5:
|
||
title: Material 5
|
||
type: integer
|
||
message:
|
||
title: Message
|
||
type: string
|
||
success:
|
||
title: Success
|
||
type: boolean
|
||
required:
|
||
- success
|
||
- count
|
||
- material_1
|
||
- material_2
|
||
- material_3
|
||
- material_4
|
||
- material_5
|
||
- message
|
||
title: PrepareMaterialsResult
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: prepare_materials参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
auto-start_heating:
|
||
feedback: {}
|
||
goal: {}
|
||
goal_default:
|
||
material_number: null
|
||
station_id: null
|
||
handles:
|
||
input:
|
||
- data_key: station_id
|
||
data_source: handle
|
||
data_type: workbench_station
|
||
handler_key: station_id_input
|
||
label: 加热台ID
|
||
- data_key: material_number
|
||
data_source: handle
|
||
data_type: workbench_material
|
||
handler_key: material_number_input
|
||
label: 物料编号
|
||
output:
|
||
- data_key: station_id
|
||
data_source: executor
|
||
data_type: workbench_station
|
||
handler_key: heating_done_station
|
||
label: 加热完成-加热台ID
|
||
- data_key: material_number
|
||
data_source: executor
|
||
data_type: workbench_material
|
||
handler_key: heating_done_material
|
||
label: 加热完成-物料编号
|
||
placeholder_keys: {}
|
||
result: {}
|
||
schema:
|
||
description: 启动指定加热台的加热程序
|
||
properties:
|
||
feedback: {}
|
||
goal:
|
||
properties:
|
||
material_number:
|
||
description: 物料编号,从上一节点传入
|
||
type: integer
|
||
station_id:
|
||
description: 加热台ID,1-3,从上一节点传入
|
||
type: integer
|
||
required:
|
||
- station_id
|
||
- material_number
|
||
type: object
|
||
result:
|
||
description: start_heating 返回类型
|
||
properties:
|
||
material_id:
|
||
title: Material Id
|
||
type: string
|
||
material_number:
|
||
title: Material Number
|
||
type: integer
|
||
message:
|
||
title: Message
|
||
type: string
|
||
station_id:
|
||
title: Station Id
|
||
type: integer
|
||
success:
|
||
title: Success
|
||
type: boolean
|
||
required:
|
||
- success
|
||
- station_id
|
||
- material_id
|
||
- material_number
|
||
- message
|
||
title: StartHeatingResult
|
||
type: object
|
||
required:
|
||
- goal
|
||
title: start_heating参数
|
||
type: object
|
||
type: UniLabJsonCommand
|
||
module: unilabos.devices.virtual.workbench:VirtualWorkbench
|
||
status_types:
|
||
active_tasks_count: int
|
||
arm_current_task: str
|
||
arm_state: str
|
||
heating_station_1_material: str
|
||
heating_station_1_progress: float
|
||
heating_station_1_state: str
|
||
heating_station_2_material: str
|
||
heating_station_2_progress: float
|
||
heating_station_2_state: str
|
||
heating_station_3_material: str
|
||
heating_station_3_progress: float
|
||
heating_station_3_state: str
|
||
message: str
|
||
status: str
|
||
type: python
|
||
config_info: []
|
||
description: Virtual Workbench with 1 robotic arm and 3 heating stations for concurrent
|
||
material processing
|
||
handles: []
|
||
icon: ''
|
||
init_param_schema:
|
||
config:
|
||
properties:
|
||
config:
|
||
type: string
|
||
device_id:
|
||
type: string
|
||
required: []
|
||
type: object
|
||
data:
|
||
properties:
|
||
active_tasks_count:
|
||
type: integer
|
||
arm_current_task:
|
||
type: string
|
||
arm_state:
|
||
type: string
|
||
heating_station_1_material:
|
||
type: string
|
||
heating_station_1_progress:
|
||
type: number
|
||
heating_station_1_state:
|
||
type: string
|
||
heating_station_2_material:
|
||
type: string
|
||
heating_station_2_progress:
|
||
type: number
|
||
heating_station_2_state:
|
||
type: string
|
||
heating_station_3_material:
|
||
type: string
|
||
heating_station_3_progress:
|
||
type: number
|
||
heating_station_3_state:
|
||
type: string
|
||
message:
|
||
type: string
|
||
status:
|
||
type: string
|
||
required:
|
||
- status
|
||
- arm_state
|
||
- arm_current_task
|
||
- heating_station_1_state
|
||
- heating_station_1_material
|
||
- heating_station_1_progress
|
||
- heating_station_2_state
|
||
- heating_station_2_material
|
||
- heating_station_2_progress
|
||
- heating_station_3_state
|
||
- heating_station_3_material
|
||
- heating_station_3_progress
|
||
- active_tasks_count
|
||
- message
|
||
type: object
|
||
version: 1.0.0
|