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.
This commit is contained in:
edo-neo 2025-03-04 10:48:19 +01:00
parent 464bba989a
commit a953edb1ce
7 changed files with 55 additions and 35 deletions

View File

@ -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

View File

@ -80,6 +80,7 @@ modello_etichetta: EtichettaR5_Montaggio_1prova.prn
pid_pressure_correction: 105
istruzione_abilitata_extra:
tagliatubi:
slow_pid:
[autotest_leak]
enabled: true

View File

@ -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

View File

@ -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"],

View File

@ -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"]),

View File

@ -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,
})

View File

@ -85,20 +85,6 @@
<string>Riempimento</string>
</property>
<layout class="QGridLayout" name="gridLayout_7">
<item row="2" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>PR+ Pressione Max</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>T1: Riempimento</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_20">
<property name="text">
@ -106,6 +92,13 @@
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_25">
<property name="text">
<string>s</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="settling_pressure_min_percent_sb">
<property name="maximum">
@ -113,20 +106,6 @@
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="filling_time_sb">
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>PR- Pressione Min</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="settling_pressure_max_percent_sb">
<property name="maximum">
@ -141,10 +120,10 @@
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLabel" name="label_27">
<item row="3" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>%</string>
<string>PR- Pressione Min</string>
</property>
</widget>
</item>
@ -162,10 +141,45 @@
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_25">
<item row="2" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>s</string>
<string>PR+ Pressione Max</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>T1: Riempimento</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="filling_time_sb">
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLabel" name="label_27">
<property name="text">
<string>%</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>PID Lento</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="slow_pid_c">
<property name="text">
<string/>
</property>
</widget>
</item>