mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-05 14:05:12 +00:00
* Add post process station and related resources - Created JSON configuration for post_process_station and its child post_process_deck. - Added YAML definitions for post_process_station, bottle carriers, bottles, and deck resources. - Implemented Python classes for bottle carriers, bottles, decks, and warehouses to manage resources in the post process. - Established a factory method for creating warehouses with customizable dimensions and layouts. - Defined the structure and behavior of the post_process_deck and its associated warehouses. * feat(post_process): add post_process_station and related warehouse functionality - Introduced post_process_station.json to define the post-processing station structure. - Implemented post_process_warehouse.py to create warehouse configurations with customizable layouts. - Added warehouses.py for specific warehouse configurations (4x3x1). - Updated post_process_station.yaml to reflect new module paths for OpcUaClient. - Refactored bottle carriers and bottles YAML files to point to the new module paths. - Adjusted deck.yaml to align with the new organizational structure for post_process_deck.
158 lines
8.6 KiB
JSON
158 lines
8.6 KiB
JSON
{
|
|
"register_node_list_from_csv_path": {
|
|
"path": "opcua_nodes_huairou.csv"
|
|
},
|
|
"create_flow": [
|
|
{
|
|
"name": "trigger_grab_action",
|
|
"description": "触发反应罐及原料罐抓取动作",
|
|
"parameters": ["reaction_tank_number", "raw_tank_number"],
|
|
"action": [
|
|
{
|
|
"init_function": {
|
|
"func_name": "init_grab_params",
|
|
"write_nodes": ["reaction_tank_number", "raw_tank_number"]
|
|
},
|
|
"start_function": {
|
|
"func_name": "start_grab",
|
|
"write_nodes": {"grab_trigger": true},
|
|
"condition_nodes": ["grab_complete"],
|
|
"stop_condition_expression": "grab_complete == True",
|
|
"timeout_seconds": 999999.0
|
|
},
|
|
"stop_function": {
|
|
"func_name": "stop_grab",
|
|
"write_nodes": {"grab_trigger": false}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "trigger_post_processing",
|
|
"description": "触发后处理动作",
|
|
"parameters": ["atomization_fast_speed", "wash_slow_speed","injection_pump_suction_speed",
|
|
"injection_pump_push_speed","raw_liquid_suction_count","first_wash_water_amount",
|
|
"second_wash_water_amount","first_powder_mixing_time","second_powder_mixing_time",
|
|
"first_powder_wash_count","second_powder_wash_count","initial_water_amount",
|
|
"pre_filtration_mixing_time","atomization_pressure_kpa"],
|
|
"action": [
|
|
{
|
|
"init_function": {
|
|
"func_name": "init_post_processing_params",
|
|
"write_nodes": ["atomization_fast_speed", "wash_slow_speed","injection_pump_suction_speed",
|
|
"injection_pump_push_speed","raw_liquid_suction_count","first_wash_water_amount",
|
|
"second_wash_water_amount","first_powder_mixing_time","second_powder_mixing_time",
|
|
"first_powder_wash_count","second_powder_wash_count","initial_water_amount",
|
|
"pre_filtration_mixing_time","atomization_pressure_kpa"]
|
|
},
|
|
"start_function": {
|
|
"func_name": "start_post_processing",
|
|
"write_nodes": {"post_process_trigger": true},
|
|
"condition_nodes": ["post_process_complete"],
|
|
"stop_condition_expression": "post_process_complete == True",
|
|
"timeout_seconds": 999999.0
|
|
},
|
|
"stop_function": {
|
|
"func_name": "stop_post_processing",
|
|
"write_nodes": {"post_process_trigger": false}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "trigger_cleaning_action",
|
|
"description": "触发清洗及管路吹气动作",
|
|
"parameters": ["nmp_outer_wall_cleaning_injection", "nmp_outer_wall_cleaning_count","nmp_outer_wall_cleaning_wait_time",
|
|
"nmp_outer_wall_cleaning_waste_time","nmp_inner_wall_cleaning_injection","nmp_inner_wall_cleaning_count",
|
|
"nmp_pump_cleaning_suction_count",
|
|
"nmp_inner_wall_cleaning_waste_time",
|
|
"nmp_stirrer_cleaning_injection",
|
|
"nmp_stirrer_cleaning_count",
|
|
"nmp_stirrer_cleaning_wait_time",
|
|
"nmp_stirrer_cleaning_waste_time",
|
|
"water_outer_wall_cleaning_injection",
|
|
"water_outer_wall_cleaning_count",
|
|
"water_outer_wall_cleaning_wait_time",
|
|
"water_outer_wall_cleaning_waste_time",
|
|
"water_inner_wall_cleaning_injection",
|
|
"water_inner_wall_cleaning_count",
|
|
"water_pump_cleaning_suction_count",
|
|
"water_inner_wall_cleaning_waste_time",
|
|
"water_stirrer_cleaning_injection",
|
|
"water_stirrer_cleaning_count",
|
|
"water_stirrer_cleaning_wait_time",
|
|
"water_stirrer_cleaning_waste_time",
|
|
"acetone_outer_wall_cleaning_injection",
|
|
"acetone_outer_wall_cleaning_count",
|
|
"acetone_outer_wall_cleaning_wait_time",
|
|
"acetone_outer_wall_cleaning_waste_time",
|
|
"acetone_inner_wall_cleaning_injection",
|
|
"acetone_inner_wall_cleaning_count",
|
|
"acetone_pump_cleaning_suction_count",
|
|
"acetone_inner_wall_cleaning_waste_time",
|
|
"acetone_stirrer_cleaning_injection",
|
|
"acetone_stirrer_cleaning_count",
|
|
"acetone_stirrer_cleaning_wait_time",
|
|
"acetone_stirrer_cleaning_waste_time",
|
|
"pipe_blowing_time",
|
|
"injection_pump_forward_empty_suction_count",
|
|
"injection_pump_reverse_empty_suction_count",
|
|
"filtration_liquid_selection"],
|
|
"action": [
|
|
{
|
|
"init_function": {
|
|
"func_name": "init_cleaning_params",
|
|
"write_nodes": ["nmp_outer_wall_cleaning_injection", "nmp_outer_wall_cleaning_count","nmp_outer_wall_cleaning_wait_time",
|
|
"nmp_outer_wall_cleaning_waste_time","nmp_inner_wall_cleaning_injection","nmp_inner_wall_cleaning_count",
|
|
"nmp_pump_cleaning_suction_count",
|
|
"nmp_inner_wall_cleaning_waste_time",
|
|
"nmp_stirrer_cleaning_injection",
|
|
"nmp_stirrer_cleaning_count",
|
|
"nmp_stirrer_cleaning_wait_time",
|
|
"nmp_stirrer_cleaning_waste_time",
|
|
"water_outer_wall_cleaning_injection",
|
|
"water_outer_wall_cleaning_count",
|
|
"water_outer_wall_cleaning_wait_time",
|
|
"water_outer_wall_cleaning_waste_time",
|
|
"water_inner_wall_cleaning_injection",
|
|
"water_inner_wall_cleaning_count",
|
|
"water_pump_cleaning_suction_count",
|
|
"water_inner_wall_cleaning_waste_time",
|
|
"water_stirrer_cleaning_injection",
|
|
"water_stirrer_cleaning_count",
|
|
"water_stirrer_cleaning_wait_time",
|
|
"water_stirrer_cleaning_waste_time",
|
|
"acetone_outer_wall_cleaning_injection",
|
|
"acetone_outer_wall_cleaning_count",
|
|
"acetone_outer_wall_cleaning_wait_time",
|
|
"acetone_outer_wall_cleaning_waste_time",
|
|
"acetone_inner_wall_cleaning_injection",
|
|
"acetone_inner_wall_cleaning_count",
|
|
"acetone_pump_cleaning_suction_count",
|
|
"acetone_inner_wall_cleaning_waste_time",
|
|
"acetone_stirrer_cleaning_injection",
|
|
"acetone_stirrer_cleaning_count",
|
|
"acetone_stirrer_cleaning_wait_time",
|
|
"acetone_stirrer_cleaning_waste_time",
|
|
"pipe_blowing_time",
|
|
"injection_pump_forward_empty_suction_count",
|
|
"injection_pump_reverse_empty_suction_count",
|
|
"filtration_liquid_selection"]
|
|
},
|
|
"start_function": {
|
|
"func_name": "start_cleaning",
|
|
"write_nodes": {"cleaning_and_pipe_blowing_trigger": true},
|
|
"condition_nodes": ["cleaning_complete"],
|
|
"stop_condition_expression": "cleaning_complete == True",
|
|
"timeout_seconds": 999999.0
|
|
},
|
|
"stop_function": {
|
|
"func_name": "stop_cleaning",
|
|
"write_nodes": {"cleaning_and_pipe_blowing_trigger": false}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|