mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-15 13:44:39 +00:00
5795 lines
150 KiB
YAML
5795 lines
150 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
|