From a953edb1cea59cd027ef360c446f2696ecd55323 Mon Sep 17 00:00:00 2001 From: edo-neo Date: Tue, 4 Mar 2025 10:48:19 +0100 Subject: [PATCH] Add support for "slow_pid" configuration and UI integration Implemented a new "slow_pid" parameter across configuration files, UI components, and backend logic. Updated machine settings, Leak Test editor, and recipe manager to handle this parameter. Adjusted related layout and logic to ensure seamless integration. --- config/machine_settings/defaults.ini | 1 + config/machine_settings/st-ten-11.ini | 1 + config/machine_settings/st-ten-15.ini | 1 + src/components/tecna_marposs_provaset_t3.py | 2 +- src/lib/helpers/recipe_manager.py | 2 + src/ui/leak_step_editor/leak_step_editor.py | 1 + src/ui/leak_step_editor/leak_step_editor.ui | 82 ++++++++++++--------- 7 files changed, 55 insertions(+), 35 deletions(-) diff --git a/config/machine_settings/defaults.ini b/config/machine_settings/defaults.ini index d223355..5ad13cc 100644 --- a/config/machine_settings/defaults.ini +++ b/config/machine_settings/defaults.ini @@ -147,6 +147,7 @@ pid_level: 1 pid_speed: 1 tester_discharge_enable: no pid_pressure_correction: 100 +slow_pid: tempo_pre_riempimento: 0 pressione_pre_riempimento: 1000 diff --git a/config/machine_settings/st-ten-11.ini b/config/machine_settings/st-ten-11.ini index 2fbb3f8..e0e1c93 100644 --- a/config/machine_settings/st-ten-11.ini +++ b/config/machine_settings/st-ten-11.ini @@ -80,6 +80,7 @@ modello_etichetta: EtichettaR5_Montaggio_1prova.prn pid_pressure_correction: 105 istruzione_abilitata_extra: tagliatubi: +slow_pid: [autotest_leak] enabled: true diff --git a/config/machine_settings/st-ten-15.ini b/config/machine_settings/st-ten-15.ini index c70e3b8..35d462b 100644 --- a/config/machine_settings/st-ten-15.ini +++ b/config/machine_settings/st-ten-15.ini @@ -77,6 +77,7 @@ canale_di_prova_2: 2 modello_etichetta: EtichettaR5_Montaggio_1prova.prn pid_pressure_correction: 100 istruzione_abilitata_extra: +slow_pid: [autotest_leak] enabled: true diff --git a/src/components/tecna_marposs_provaset_t3.py b/src/components/tecna_marposs_provaset_t3.py index acddb01..7cee34b 100644 --- a/src/components/tecna_marposs_provaset_t3.py +++ b/src/components/tecna_marposs_provaset_t3.py @@ -314,7 +314,7 @@ class TecnaMarpossProvasetT3(ModbusComponent): # **{769 - 1 + i: (recipe_name[i * 2 + 1] << 8) + recipe_name[i * 2] for i in range(8)}, # print field 2 "Print options": 0b0000000000000000 | self.saver_label_count << 12 | self.saver_print_on_fail << 8 | self.saver_label_template, "Test type": "Leak Test", - "Test flags": test_flags, + "Test flags": test_flags | (2 << 4) if step.spec.get("slow_pid") is True else test_flags, "T0 - Pre-filling time": step.spec["pre_filling_time"], "P0 - Pre-filling pressure": step.spec["pre_filling_pressure"], "T1 - Filling time": step.spec["filling_time"], diff --git a/src/lib/helpers/recipe_manager.py b/src/lib/helpers/recipe_manager.py index 5aec9bd..dd9a863 100644 --- a/src/lib/helpers/recipe_manager.py +++ b/src/lib/helpers/recipe_manager.py @@ -103,6 +103,7 @@ def read_steps(row, config, defaults=None, unsupported_steps=None): "ext_blow_time": safe_parse(row.get("tempo_soffiaggio_esterno", defaults["tempo_soffiaggio_esterno"])), "pid_pressure_correction": safe_parse( row.get("pid_pressure_correction", defaults["pid_pressure_correction"])), + "slow_pid": safe_parse(row.get("slow_pid", defaults["slow_pid"])), }, "leak_2": { "pre_filling_time": safe_parse(row.get("tempo_pre_riempimento_2", defaults["tempo_pre_riempimento_2"])), @@ -130,6 +131,7 @@ def read_steps(row, config, defaults=None, unsupported_steps=None): "ext_flush_time": safe_parse(row.get("tempo_svuotamento_esterno_2", defaults["tempo_svuotamento_esterno"])), "ext_blow_time": safe_parse(row.get("tempo_soffiaggio_esterno_2", defaults["tempo_soffiaggio_esterno"])), "pid_pressure_correction": safe_parse(row.get("pid_pressure_correction", defaults["pid_pressure_correction_2"])), + "slow_pid": safe_parse(row.get("slow_pid", defaults["slow_pid"])), }, "vision": { "recipe": row.get("ricetta_visione", defaults["ricetta_visione"]), diff --git a/src/ui/leak_step_editor/leak_step_editor.py b/src/ui/leak_step_editor/leak_step_editor.py index 75173fb..614753e 100644 --- a/src/ui/leak_step_editor/leak_step_editor.py +++ b/src/ui/leak_step_editor/leak_step_editor.py @@ -28,4 +28,5 @@ class Leak_Step_Editor(Editor): "ext_flush_time": self.ext_flush_time_sb, #PID "pid_pressure_correction": self.test_pid_correction_sb, + "slow_pid": self.slow_pid_c, }) diff --git a/src/ui/leak_step_editor/leak_step_editor.ui b/src/ui/leak_step_editor/leak_step_editor.ui index 4e3f326..fca6640 100644 --- a/src/ui/leak_step_editor/leak_step_editor.ui +++ b/src/ui/leak_step_editor/leak_step_editor.ui @@ -85,20 +85,6 @@ Riempimento - - - - PR+ Pressione Max - - - - - - - T1: Riempimento - - - @@ -106,6 +92,13 @@ + + + + s + + + @@ -113,20 +106,6 @@ - - - - 9999 - - - - - - - PR- Pressione Min - - - @@ -141,10 +120,10 @@ - - + + - % + PR- Pressione Min @@ -162,10 +141,45 @@ - - + + - s + PR+ Pressione Max + + + + + + + T1: Riempimento + + + + + + + 9999 + + + + + + + % + + + + + + + PID Lento + + + + + + +