Files
Uni-Lab-OS/unilabos/registry/devices/virtual_device.yaml

388 lines
9.1 KiB
YAML

virtual_pump:
description: Virtual Pump for PumpTransferProtocol Testing
class:
module: unilabos.devices.virtual.virtual_pump:VirtualPump
type: python
status_types:
status: String
position: Float64
valve_position: Int32 # 修复:使用 Int32 而不是 String
max_volume: Float64
current_volume: Float64
action_value_mappings:
transfer:
type: PumpTransfer
goal:
from_vessel: from_vessel
to_vessel: to_vessel
volume: volume
amount: amount
time: time
viscous: viscous
rinsing_solvent: rinsing_solvent
rinsing_volume: rinsing_volume
rinsing_repeats: rinsing_repeats
solid: solid
feedback:
status: status
result:
success: success
set_valve_position:
type: FloatSingleInput
goal:
Int32: Int32
feedback:
status: status
result:
success: success
schema:
type: object
properties:
port:
type: string
default: "VIRTUAL"
max_volume:
type: number
default: 25.0
additionalProperties: false
virtual_stirrer:
description: Virtual Stirrer for StirProtocol Testing
class:
module: unilabos.devices.virtual.virtual_stirrer:VirtualStirrer
type: python
status_types:
status: String
action_value_mappings:
stir:
type: Stir
goal:
stir_time: stir_time
stir_speed: stir_speed
settling_time: settling_time
feedback:
status: status
result:
success: success
start_stir:
type: StartStir
goal:
vessel: vessel
stir_speed: stir_speed
purpose: purpose
feedback:
status: status
result:
success: success
stop_stir:
type: StopStir
goal:
vessel: vessel
feedback:
status: status
result:
success: success
schema:
type: object
properties:
port:
type: string
default: "VIRTUAL"
max_temp:
type: number
default: 100.0
max_speed:
type: number
default: 1000.0
additionalProperties: false
virtual_valve:
description: Virtual Valve for AddProtocol Testing
class:
module: unilabos.devices.virtual.virtual_valve:VirtualValve
type: python
status_types:
status: String
valve_state: String
current_position: Int32
target_position: Int32
max_positions: Int32
action_value_mappings:
set_position:
type: SendCmd
goal:
command: position
feedback: {}
result:
success: success
open:
type: EmptyIn
goal: {}
feedback: {}
result:
success: success
close:
type: EmptyIn
goal: {}
feedback: {}
result:
success: success
schema:
type: object
properties:
port:
type: string
default: "VIRTUAL"
positions:
type: integer
default: 6
additionalProperties: false
virtual_centrifuge:
description: Virtual Centrifuge for CentrifugeProtocol Testing
class:
module: unilabos.devices.virtual.virtual_centrifuge:VirtualCentrifuge
type: python
status_types:
status: String
current_speed: Float64
target_speed: Float64
current_temp: Float64
target_temp: Float64
max_speed: Float64
max_temp: Float64
min_temp: Float64
centrifuge_state: String
time_remaining: Float64
action_value_mappings:
centrifuge:
type: Centrifuge
goal:
vessel: vessel
speed: speed
time: time
temp: temp
feedback:
progress: progress
current_speed: current_speed
current_temp: current_temp
current_status: status
result:
success: success
message: message
schema:
type: object
properties:
port:
type: string
default: "VIRTUAL"
max_speed:
type: number
default: 15000.0
max_temp:
type: number
default: 40.0
min_temp:
type: number
default: 4.0
additionalProperties: false
virtual_filter:
description: Virtual Filter for FilterProtocol Testing
class:
module: unilabos.devices.virtual.virtual_filter:VirtualFilter
type: python
status_types:
status: String
filter_state: String
current_temp: Float64
target_temp: Float64
max_temp: Float64
stir_speed: Float64
max_stir_speed: Float64
filtered_volume: Float64
progress: Float64
message: String
action_value_mappings:
filter_sample:
type: Filter
goal:
vessel: vessel
filtrate_vessel: filtrate_vessel
stir: stir
stir_speed: stir_speed
temp: temp
continue_heatchill: continue_heatchill
volume: volume
feedback:
progress: progress
current_temp: current_temp
filtered_volume: filtered_volume
current_status: status
result:
success: success
message: message
schema:
type: object
properties:
port:
type: string
default: "VIRTUAL"
max_temp:
type: number
default: 100.0
max_stir_speed:
type: number
default: 1000.0
additionalProperties: false
virtual_heatchill:
description: Virtual HeatChill for HeatChillProtocol Testing
class:
module: unilabos.devices.virtual.virtual_heatchill:VirtualHeatChill
type: python
status_types:
status: String
action_value_mappings:
heat_chill:
type: HeatChill
goal:
vessel: vessel
temp: temp
time: time
stir: stir
stir_speed: stir_speed
purpose: purpose
feedback:
status: status
result:
success: success
heat_chill_start:
type: HeatChillStart
goal:
vessel: vessel
temp: temp
purpose: purpose
feedback:
status: status
result:
success: success
heat_chill_stop:
type: HeatChillStop
goal:
vessel: vessel
feedback:
status: status
result:
success: success
schema:
type: object
properties:
port:
type: string
default: "VIRTUAL"
max_temp:
type: number
default: 200.0
min_temp:
type: number
default: -80.0
max_stir_speed:
type: number
default: 1000.0
additionalProperties: false
virtual_transfer_pump:
description: Virtual Transfer Pump for TransferProtocol Testing
class:
module: unilabos.devices.virtual.virtual_transferpump:VirtualTransferPump
type: python
status_types:
status: String
current_volume: Float64
max_volume: Float64
transfer_rate: Float64
from_vessel: String
to_vessel: String
progress: Float64
transferred_volume: Float64
current_status: String
action_value_mappings:
transfer:
type: Transfer
goal:
from_vessel: from_vessel
to_vessel: to_vessel
volume: volume
amount: amount
time: time
viscous: viscous
rinsing_solvent: rinsing_solvent
rinsing_volume: rinsing_volume
rinsing_repeats: rinsing_repeats
solid: solid
feedback:
progress: progress
transferred_volume: transferred_volume
current_status: current_status
result:
success: success
message: message
schema:
type: object
properties:
port:
type: string
default: "VIRTUAL"
max_volume:
type: number
default: 50.0
transfer_rate:
type: number
default: 5.0
additionalProperties: false
virtual_column:
description: Virtual Column for RunColumn Protocol Testing
class:
module: unilabos.devices.virtual.virtual_column:VirtualColumn
type: python
status_types:
status: String
column_state: String
current_flow_rate: Float64
max_flow_rate: Float64
column_length: Float64
column_diameter: Float64
processed_volume: Float64
progress: Float64
current_status: String
action_value_mappings:
run_column:
type: RunColumn
goal:
from_vessel: from_vessel
to_vessel: to_vessel
column: column
feedback:
status: current_status
progress: progress
result:
success: success
message: message
schema:
type: object
properties:
port:
type: string
default: "VIRTUAL"
max_flow_rate:
type: number
default: 10.0
column_length:
type: number
default: 25.0
column_diameter:
type: number
default: 2.0
additionalProperties: false