mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-04 13:25:13 +00:00
update registry
This commit is contained in:
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 117 KiB |
@@ -174,6 +174,35 @@ bioyond_dispensing_station:
|
|||||||
title: query_resource_by_name参数
|
title: query_resource_by_name参数
|
||||||
type: object
|
type: object
|
||||||
type: UniLabJsonCommand
|
type: UniLabJsonCommand
|
||||||
|
auto-transfer_materials_to_reaction_station:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default:
|
||||||
|
target_device_id: null
|
||||||
|
transfer_groups: null
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties:
|
||||||
|
target_device_id:
|
||||||
|
type: string
|
||||||
|
transfer_groups:
|
||||||
|
type: array
|
||||||
|
required:
|
||||||
|
- target_device_id
|
||||||
|
- transfer_groups
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: transfer_materials_to_reaction_station参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
auto-workflow_sample_locations:
|
auto-workflow_sample_locations:
|
||||||
feedback: {}
|
feedback: {}
|
||||||
goal: {}
|
goal: {}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ cameracontroller_device:
|
|||||||
goal_default:
|
goal_default:
|
||||||
config: null
|
config: null
|
||||||
handles: {}
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
result: {}
|
result: {}
|
||||||
schema:
|
schema:
|
||||||
description: ''
|
description: ''
|
||||||
@@ -31,6 +32,7 @@ cameracontroller_device:
|
|||||||
goal: {}
|
goal: {}
|
||||||
goal_default: {}
|
goal_default: {}
|
||||||
handles: {}
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
result: {}
|
result: {}
|
||||||
schema:
|
schema:
|
||||||
description: ''
|
description: ''
|
||||||
|
|||||||
@@ -4,6 +4,73 @@ separator.chinwe:
|
|||||||
- chinwe
|
- chinwe
|
||||||
class:
|
class:
|
||||||
action_value_mappings:
|
action_value_mappings:
|
||||||
|
auto-connect:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default: {}
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties: {}
|
||||||
|
required: []
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: connect参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
|
auto-disconnect:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default: {}
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties: {}
|
||||||
|
required: []
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: disconnect参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
|
auto-execute_command_from_outer:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default:
|
||||||
|
command_dict: null
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties:
|
||||||
|
command_dict:
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- command_dict
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: execute_command_from_outer参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
motor_rotate_quarter:
|
motor_rotate_quarter:
|
||||||
goal:
|
goal:
|
||||||
direction: 顺时针
|
direction: 顺时针
|
||||||
@@ -303,42 +370,44 @@ separator.chinwe:
|
|||||||
handles: []
|
handles: []
|
||||||
icon: ''
|
icon: ''
|
||||||
init_param_schema:
|
init_param_schema:
|
||||||
goal:
|
config:
|
||||||
baudrate:
|
properties:
|
||||||
default: 9600
|
baudrate:
|
||||||
description: 串口波特率
|
default: 9600
|
||||||
type: integer
|
|
||||||
motor_ids:
|
|
||||||
default:
|
|
||||||
- 4
|
|
||||||
- 5
|
|
||||||
description: 步进电机ID列表
|
|
||||||
items:
|
|
||||||
type: integer
|
type: integer
|
||||||
type: array
|
motor_ids:
|
||||||
port:
|
items:
|
||||||
default: 192.168.1.200:8899
|
type: integer
|
||||||
description: 串口号或 IP:Port
|
type: array
|
||||||
type: string
|
port:
|
||||||
pump_ids:
|
default: 192.168.1.200:8899
|
||||||
default:
|
type: string
|
||||||
- 1
|
pump_ids:
|
||||||
- 2
|
items:
|
||||||
- 3
|
type: integer
|
||||||
description: 注射泵ID列表
|
type: array
|
||||||
items:
|
sensor_id:
|
||||||
|
default: 6
|
||||||
type: integer
|
type: integer
|
||||||
type: array
|
sensor_threshold:
|
||||||
sensor_id:
|
default: 300
|
||||||
default: 6
|
type: integer
|
||||||
description: XKC传感器ID
|
timeout:
|
||||||
type: integer
|
default: 10.0
|
||||||
sensor_threshold:
|
type: number
|
||||||
default: 300
|
required: []
|
||||||
description: 传感器液位判定阈值
|
type: object
|
||||||
type: integer
|
data:
|
||||||
timeout:
|
properties:
|
||||||
default: 10
|
is_connected:
|
||||||
description: 通信超时时间 (秒)
|
type: boolean
|
||||||
type: integer
|
sensor_level:
|
||||||
|
type: boolean
|
||||||
|
sensor_rssi:
|
||||||
|
type: integer
|
||||||
|
required:
|
||||||
|
- sensor_level
|
||||||
|
- sensor_rssi
|
||||||
|
- is_connected
|
||||||
|
type: object
|
||||||
version: 2.1.0
|
version: 2.1.0
|
||||||
|
|||||||
@@ -5,6 +5,73 @@ neware_battery_test_system:
|
|||||||
- battery_test
|
- battery_test
|
||||||
class:
|
class:
|
||||||
action_value_mappings:
|
action_value_mappings:
|
||||||
|
auto-post_init:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default:
|
||||||
|
ros_node: null
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties:
|
||||||
|
ros_node:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- ros_node
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: post_init参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
|
auto-print_status_summary:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default: {}
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties: {}
|
||||||
|
required: []
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: print_status_summary参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
|
auto-test_connection:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default: {}
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties: {}
|
||||||
|
required: []
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: test_connection参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
debug_resource_names:
|
debug_resource_names:
|
||||||
feedback: {}
|
feedback: {}
|
||||||
goal: {}
|
goal: {}
|
||||||
@@ -407,6 +474,8 @@ neware_battery_test_system:
|
|||||||
status_types:
|
status_types:
|
||||||
channel_status: dict
|
channel_status: dict
|
||||||
connection_info: dict
|
connection_info: dict
|
||||||
|
device_summary: dict
|
||||||
|
plate_status: dict
|
||||||
status: str
|
status: str
|
||||||
total_channels: int
|
total_channels: int
|
||||||
type: python
|
type: python
|
||||||
@@ -418,36 +487,30 @@ neware_battery_test_system:
|
|||||||
config:
|
config:
|
||||||
properties:
|
properties:
|
||||||
devtype:
|
devtype:
|
||||||
default: '27'
|
|
||||||
type: string
|
type: string
|
||||||
ip:
|
ip:
|
||||||
default: 127.0.0.1
|
|
||||||
type: string
|
type: string
|
||||||
machine_id:
|
machine_id:
|
||||||
default: 1
|
default: 1
|
||||||
type: integer
|
type: integer
|
||||||
oss_prefix:
|
oss_prefix:
|
||||||
default: neware_backup
|
default: neware_backup
|
||||||
description: OSS对象路径前缀
|
|
||||||
type: string
|
type: string
|
||||||
oss_upload_enabled:
|
oss_upload_enabled:
|
||||||
default: false
|
default: false
|
||||||
description: 是否启用OSS上传功能
|
|
||||||
type: boolean
|
type: boolean
|
||||||
port:
|
port:
|
||||||
default: 502
|
|
||||||
type: integer
|
type: integer
|
||||||
size_x:
|
size_x:
|
||||||
default: 500.0
|
default: 50
|
||||||
type: number
|
type: number
|
||||||
size_y:
|
size_y:
|
||||||
default: 500.0
|
default: 50
|
||||||
type: number
|
type: number
|
||||||
size_z:
|
size_z:
|
||||||
default: 2000.0
|
default: 20
|
||||||
type: number
|
type: number
|
||||||
timeout:
|
timeout:
|
||||||
default: 20
|
|
||||||
type: integer
|
type: integer
|
||||||
required: []
|
required: []
|
||||||
type: object
|
type: object
|
||||||
@@ -459,6 +522,8 @@ neware_battery_test_system:
|
|||||||
type: object
|
type: object
|
||||||
device_summary:
|
device_summary:
|
||||||
type: object
|
type: object
|
||||||
|
plate_status:
|
||||||
|
type: object
|
||||||
status:
|
status:
|
||||||
type: string
|
type: string
|
||||||
total_channels:
|
total_channels:
|
||||||
@@ -468,6 +533,7 @@ neware_battery_test_system:
|
|||||||
- channel_status
|
- channel_status
|
||||||
- connection_info
|
- connection_info
|
||||||
- total_channels
|
- total_channels
|
||||||
|
- plate_status
|
||||||
- device_summary
|
- device_summary
|
||||||
type: object
|
type: object
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
|||||||
@@ -49,7 +49,32 @@ opcua_example:
|
|||||||
title: load_config参数
|
title: load_config参数
|
||||||
type: object
|
type: object
|
||||||
type: UniLabJsonCommand
|
type: UniLabJsonCommand
|
||||||
auto-refresh_node_values:
|
auto-post_init:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default:
|
||||||
|
ros_node: null
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties:
|
||||||
|
ros_node:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- ros_node
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: post_init参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
|
auto-print_cache_stats:
|
||||||
feedback: {}
|
feedback: {}
|
||||||
goal: {}
|
goal: {}
|
||||||
goal_default: {}
|
goal_default: {}
|
||||||
@@ -67,7 +92,32 @@ opcua_example:
|
|||||||
result: {}
|
result: {}
|
||||||
required:
|
required:
|
||||||
- goal
|
- goal
|
||||||
title: refresh_node_values参数
|
title: print_cache_stats参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
|
auto-read_node:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default:
|
||||||
|
node_name: null
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties:
|
||||||
|
node_name:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- node_name
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: read_node参数
|
||||||
type: object
|
type: object
|
||||||
type: UniLabJsonCommand
|
type: UniLabJsonCommand
|
||||||
auto-set_node_value:
|
auto-set_node_value:
|
||||||
@@ -99,50 +149,9 @@ opcua_example:
|
|||||||
title: set_node_value参数
|
title: set_node_value参数
|
||||||
type: object
|
type: object
|
||||||
type: UniLabJsonCommand
|
type: UniLabJsonCommand
|
||||||
auto-start_node_refresh:
|
|
||||||
feedback: {}
|
|
||||||
goal: {}
|
|
||||||
goal_default: {}
|
|
||||||
handles: {}
|
|
||||||
placeholder_keys: {}
|
|
||||||
result: {}
|
|
||||||
schema:
|
|
||||||
description: ''
|
|
||||||
properties:
|
|
||||||
feedback: {}
|
|
||||||
goal:
|
|
||||||
properties: {}
|
|
||||||
required: []
|
|
||||||
type: object
|
|
||||||
result: {}
|
|
||||||
required:
|
|
||||||
- goal
|
|
||||||
title: start_node_refresh参数
|
|
||||||
type: object
|
|
||||||
type: UniLabJsonCommand
|
|
||||||
auto-stop_node_refresh:
|
|
||||||
feedback: {}
|
|
||||||
goal: {}
|
|
||||||
goal_default: {}
|
|
||||||
handles: {}
|
|
||||||
placeholder_keys: {}
|
|
||||||
result: {}
|
|
||||||
schema:
|
|
||||||
description: ''
|
|
||||||
properties:
|
|
||||||
feedback: {}
|
|
||||||
goal:
|
|
||||||
properties: {}
|
|
||||||
required: []
|
|
||||||
type: object
|
|
||||||
result: {}
|
|
||||||
required:
|
|
||||||
- goal
|
|
||||||
title: stop_node_refresh参数
|
|
||||||
type: object
|
|
||||||
type: UniLabJsonCommand
|
|
||||||
module: unilabos.device_comms.opcua_client.client:OpcUaClient
|
module: unilabos.device_comms.opcua_client.client:OpcUaClient
|
||||||
status_types:
|
status_types:
|
||||||
|
cache_stats: dict
|
||||||
node_value: String
|
node_value: String
|
||||||
type: python
|
type: python
|
||||||
config_info: []
|
config_info: []
|
||||||
@@ -152,15 +161,23 @@ opcua_example:
|
|||||||
init_param_schema:
|
init_param_schema:
|
||||||
config:
|
config:
|
||||||
properties:
|
properties:
|
||||||
|
cache_timeout:
|
||||||
|
default: 5.0
|
||||||
|
type: number
|
||||||
config_path:
|
config_path:
|
||||||
type: string
|
type: string
|
||||||
|
deck:
|
||||||
|
type: string
|
||||||
password:
|
password:
|
||||||
type: string
|
type: string
|
||||||
refresh_interval:
|
subscription_interval:
|
||||||
default: 1.0
|
default: 500
|
||||||
type: number
|
type: integer
|
||||||
url:
|
url:
|
||||||
type: string
|
type: string
|
||||||
|
use_subscription:
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
username:
|
username:
|
||||||
type: string
|
type: string
|
||||||
required:
|
required:
|
||||||
@@ -168,9 +185,12 @@ opcua_example:
|
|||||||
type: object
|
type: object
|
||||||
data:
|
data:
|
||||||
properties:
|
properties:
|
||||||
|
cache_stats:
|
||||||
|
type: object
|
||||||
node_value:
|
node_value:
|
||||||
type: string
|
type: string
|
||||||
required:
|
required:
|
||||||
- node_value
|
- node_value
|
||||||
|
- cache_stats
|
||||||
type: object
|
type: object
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
|||||||
@@ -3,6 +3,106 @@ post_process_station:
|
|||||||
- post_process_station
|
- post_process_station
|
||||||
class:
|
class:
|
||||||
action_value_mappings:
|
action_value_mappings:
|
||||||
|
auto-load_config:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default:
|
||||||
|
config_path: null
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties:
|
||||||
|
config_path:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- config_path
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: load_config参数
|
||||||
|
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: string
|
||||||
|
required:
|
||||||
|
- ros_node
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: post_init参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
|
auto-print_cache_stats:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default: {}
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties: {}
|
||||||
|
required: []
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: print_cache_stats参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
|
auto-set_node_value:
|
||||||
|
feedback: {}
|
||||||
|
goal: {}
|
||||||
|
goal_default:
|
||||||
|
name: null
|
||||||
|
value: null
|
||||||
|
handles: {}
|
||||||
|
placeholder_keys: {}
|
||||||
|
result: {}
|
||||||
|
schema:
|
||||||
|
description: ''
|
||||||
|
properties:
|
||||||
|
feedback: {}
|
||||||
|
goal:
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
- value
|
||||||
|
type: object
|
||||||
|
result: {}
|
||||||
|
required:
|
||||||
|
- goal
|
||||||
|
title: set_node_value参数
|
||||||
|
type: object
|
||||||
|
type: UniLabJsonCommand
|
||||||
disconnect:
|
disconnect:
|
||||||
feedback: {}
|
feedback: {}
|
||||||
goal:
|
goal:
|
||||||
@@ -602,29 +702,46 @@ post_process_station:
|
|||||||
type: SendCmd
|
type: SendCmd
|
||||||
module: unilabos.devices.workstation.post_process.post_process:OpcUaClient
|
module: unilabos.devices.workstation.post_process.post_process:OpcUaClient
|
||||||
status_types:
|
status_types:
|
||||||
acetone_tank_empty_alarm: Bool
|
cache_stats: dict
|
||||||
atomization_fast_speed: Float64
|
node_value: String
|
||||||
atomization_pressure_kpa: Int32
|
|
||||||
cleaning_complete: Bool
|
|
||||||
device_ready: Bool
|
|
||||||
door_open_alarm: Bool
|
|
||||||
grab_complete: Bool
|
|
||||||
grab_trigger: Bool
|
|
||||||
injection_pump_push_speed: Int32
|
|
||||||
injection_pump_suction_speed: Int32
|
|
||||||
nmp_tank_empty_alarm: Bool
|
|
||||||
post_process_complete: Bool
|
|
||||||
post_process_trigger: Bool
|
|
||||||
raw_tank_number: Int32
|
|
||||||
reaction_tank_number: Int32
|
|
||||||
remote_mode: Bool
|
|
||||||
wash_slow_speed: Float64
|
|
||||||
waste_tank_full_alarm: Bool
|
|
||||||
water_tank_empty_alarm: Bool
|
|
||||||
type: python
|
type: python
|
||||||
config_info: []
|
config_info: []
|
||||||
description: 后处理站
|
description: 后处理站
|
||||||
handles: []
|
handles: []
|
||||||
icon: post_process_station.webp
|
icon: post_process_station.webp
|
||||||
init_param_schema: {}
|
init_param_schema:
|
||||||
|
config:
|
||||||
|
properties:
|
||||||
|
cache_timeout:
|
||||||
|
default: 5.0
|
||||||
|
type: number
|
||||||
|
config_path:
|
||||||
|
type: string
|
||||||
|
deck:
|
||||||
|
type: string
|
||||||
|
password:
|
||||||
|
type: string
|
||||||
|
subscription_interval:
|
||||||
|
default: 500
|
||||||
|
type: integer
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
use_subscription:
|
||||||
|
default: true
|
||||||
|
type: boolean
|
||||||
|
username:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- url
|
||||||
|
type: object
|
||||||
|
data:
|
||||||
|
properties:
|
||||||
|
cache_stats:
|
||||||
|
type: object
|
||||||
|
node_value:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- node_value
|
||||||
|
- cache_stats
|
||||||
|
type: object
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ POST_PROCESS_Raw_1BottleCarrier:
|
|||||||
init_param_schema: {}
|
init_param_schema: {}
|
||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
|
||||||
POST_PROCESS_Reaction_1BottleCarrier:
|
POST_PROCESS_Reaction_1BottleCarrier:
|
||||||
category:
|
category:
|
||||||
- bottle_carriers
|
- bottle_carriers
|
||||||
|
|||||||
@@ -8,4 +8,3 @@ POST_PROCESS_PolymerStation_Reagent_Bottle:
|
|||||||
icon: ''
|
icon: ''
|
||||||
init_param_schema: {}
|
init_param_schema: {}
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
post_process_deck:
|
post_process_deck:
|
||||||
category:
|
category:
|
||||||
- post_process_deck
|
- post_process_deck
|
||||||
|
- deck
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.workstation.post_process.decks:post_process_deck
|
module: unilabos.devices.workstation.post_process.decks:post_process_deck
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
PRCXI_30mm_Adapter:
|
PRCXI_30mm_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_30mm_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_30mm_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -11,8 +12,9 @@ PRCXI_30mm_Adapter:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_Adapter:
|
PRCXI_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -23,8 +25,9 @@ PRCXI_Adapter:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_Deep10_Adapter:
|
PRCXI_Deep10_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Deep10_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Deep10_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -35,8 +38,9 @@ PRCXI_Deep10_Adapter:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_Deep300_Adapter:
|
PRCXI_Deep300_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Deep300_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Deep300_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -47,8 +51,9 @@ PRCXI_Deep300_Adapter:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_PCR_Adapter:
|
PRCXI_PCR_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -59,8 +64,9 @@ PRCXI_PCR_Adapter:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_Reservoir_Adapter:
|
PRCXI_Reservoir_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Reservoir_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Reservoir_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -73,6 +79,7 @@ PRCXI_Reservoir_Adapter:
|
|||||||
PRCXI_Tip10_Adapter:
|
PRCXI_Tip10_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip10_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip10_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -85,6 +92,7 @@ PRCXI_Tip10_Adapter:
|
|||||||
PRCXI_Tip1250_Adapter:
|
PRCXI_Tip1250_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip1250_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip1250_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -97,6 +105,7 @@ PRCXI_Tip1250_Adapter:
|
|||||||
PRCXI_Tip300_Adapter:
|
PRCXI_Tip300_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plate_adapters
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip300_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_Tip300_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
PRCXI_48_DeepWell:
|
PRCXI_48_DeepWell:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_48_DeepWell
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_48_DeepWell
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -11,8 +12,9 @@ PRCXI_48_DeepWell:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_96_DeepWell:
|
PRCXI_96_DeepWell:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_96_DeepWell
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_96_DeepWell
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -23,8 +25,9 @@ PRCXI_96_DeepWell:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_AGenBio_4_troughplate:
|
PRCXI_AGenBio_4_troughplate:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_AGenBio_4_troughplate
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_AGenBio_4_troughplate
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -35,8 +38,9 @@ PRCXI_AGenBio_4_troughplate:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_BioER_96_wellplate:
|
PRCXI_BioER_96_wellplate:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_BioER_96_wellplate
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_BioER_96_wellplate
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -47,8 +51,9 @@ PRCXI_BioER_96_wellplate:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_BioRad_384_wellplate:
|
PRCXI_BioRad_384_wellplate:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_BioRad_384_wellplate
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_BioRad_384_wellplate
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -59,8 +64,9 @@ PRCXI_BioRad_384_wellplate:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_CellTreat_96_wellplate:
|
PRCXI_CellTreat_96_wellplate:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_CellTreat_96_wellplate
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_CellTreat_96_wellplate
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -71,8 +77,9 @@ PRCXI_CellTreat_96_wellplate:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_PCR_Plate_200uL_nonskirted:
|
PRCXI_PCR_Plate_200uL_nonskirted:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_nonskirted
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_nonskirted
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -83,8 +90,9 @@ PRCXI_PCR_Plate_200uL_nonskirted:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_PCR_Plate_200uL_semiskirted:
|
PRCXI_PCR_Plate_200uL_semiskirted:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_semiskirted
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_semiskirted
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -95,8 +103,9 @@ PRCXI_PCR_Plate_200uL_semiskirted:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_PCR_Plate_200uL_skirted:
|
PRCXI_PCR_Plate_200uL_skirted:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_skirted
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_PCR_Plate_200uL_skirted
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -107,8 +116,9 @@ PRCXI_PCR_Plate_200uL_skirted:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_nest_12_troughplate:
|
PRCXI_nest_12_troughplate:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_nest_12_troughplate
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_nest_12_troughplate
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -119,8 +129,9 @@ PRCXI_nest_12_troughplate:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_nest_1_troughplate:
|
PRCXI_nest_1_troughplate:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- plates
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_nest_1_troughplate
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_nest_1_troughplate
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
PRCXI_1000uL_Tips:
|
PRCXI_1000uL_Tips:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- tip_racks
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_1000uL_Tips
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_1000uL_Tips
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -11,8 +12,9 @@ PRCXI_1000uL_Tips:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_10uL_Tips:
|
PRCXI_10uL_Tips:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- tip_racks
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_10uL_Tips
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_10uL_Tips
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -23,8 +25,9 @@ PRCXI_10uL_Tips:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_10ul_eTips:
|
PRCXI_10ul_eTips:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- tip_racks
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_10ul_eTips
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_10ul_eTips
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -35,8 +38,9 @@ PRCXI_10ul_eTips:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_1250uL_Tips:
|
PRCXI_1250uL_Tips:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- tip_racks
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_1250uL_Tips
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_1250uL_Tips
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -47,8 +51,9 @@ PRCXI_1250uL_Tips:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_200uL_Tips:
|
PRCXI_200uL_Tips:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- tip_racks
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_200uL_Tips
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_200uL_Tips
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
@@ -59,8 +64,9 @@ PRCXI_200uL_Tips:
|
|||||||
registry_type: resource
|
registry_type: resource
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
PRCXI_300ul_Tips:
|
PRCXI_300ul_Tips:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- tip_racks
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_300ul_Tips
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_300ul_Tips
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
PRCXI_trash:
|
PRCXI_trash:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- trash
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_trash
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_trash
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
PRCXI_EP_Adapter:
|
PRCXI_EP_Adapter:
|
||||||
category:
|
category:
|
||||||
- prcxi
|
- prcxi
|
||||||
|
- tube_racks
|
||||||
class:
|
class:
|
||||||
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_EP_Adapter
|
module: unilabos.devices.liquid_handling.prcxi.prcxi_labware:PRCXI_EP_Adapter
|
||||||
type: pylabrobot
|
type: pylabrobot
|
||||||
|
|||||||
@@ -448,7 +448,7 @@ class ResourceTreeSet(object):
|
|||||||
from pylabrobot.utils.object_parsing import find_subclass
|
from pylabrobot.utils.object_parsing import find_subclass
|
||||||
|
|
||||||
# 类型映射
|
# 类型映射
|
||||||
TYPE_MAP = {"plate": "Plate", "well": "Well", "deck": "Deck", "container": "RegularContainer"}
|
TYPE_MAP = {"plate": "Plate", "well": "Well", "deck": "Deck", "container": "RegularContainer", "tip_spot": "TipSpot"}
|
||||||
|
|
||||||
def collect_node_data(node: ResourceDictInstance, name_to_uuid: dict, all_states: dict, name_to_extra: dict):
|
def collect_node_data(node: ResourceDictInstance, name_to_uuid: dict, all_states: dict, name_to_extra: dict):
|
||||||
"""一次遍历收集 name_to_uuid, all_states 和 name_to_extra"""
|
"""一次遍历收集 name_to_uuid, all_states 和 name_to_extra"""
|
||||||
|
|||||||
40429
unilabos/test/experiments/deprecated/prcxi_9320_with_res.json
Normal file
40429
unilabos/test/experiments/deprecated/prcxi_9320_with_res.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user