diff --git a/config/label_designs/IVECO ETA30x16/ETA30x16_203dpi.nlbl b/config/label_designs/IVECO ETA30x16/ETA30x16_203dpi.nlbl index 55d76a2..48f52ff 100644 Binary files a/config/label_designs/IVECO ETA30x16/ETA30x16_203dpi.nlbl and b/config/label_designs/IVECO ETA30x16/ETA30x16_203dpi.nlbl differ diff --git a/config/label_templates/ETA30x16_203dpi.prn b/config/label_templates/ETA30x16_203dpi.prn index fcbbc38..4612fb0 100644 --- a/config/label_templates/ETA30x16_203dpi.prn +++ b/config/label_templates/ETA30x16_203dpi.prn @@ -5,7 +5,7 @@ ^PW256 ^LL0144 ^LS0 -^FT160,125^BQN,2,3 +^FT148,125^BQN,2,4 ^FH\^FDLA,{PART}^FS ^FT19,40^A0N,23,21^FH\^FD{PART}^FS ^FT19,71^A0N,23,21^FH\^FDNum:{SN5}^FS diff --git a/config/machine_settings/defaults.ini b/config/machine_settings/defaults.ini index 1c2529d..532cd6c 100644 --- a/config/machine_settings/defaults.ini +++ b/config/machine_settings/defaults.ini @@ -124,7 +124,7 @@ percentuale_minima_pressione_assestamento: 5 percentuale_massima_pressione_assestamento: 5 tempo_di_test: 10 pressione_di_test_delta_minimo: 30 -pressione_di_test: 15000 +pressione_di_test: 1111 pressione_di_test_delta_massimo: 30 tempo_svuotamento: 1 pressione_svuotamento: 100 @@ -138,7 +138,7 @@ percentuale_minima_pressione_assestamento_2: 5 percentuale_massima_pressione_assestamento_2: 5 tempo_di_test_2: 5 pressione_di_test_delta_minimo_2: 200 -pressione_di_test_2: 1000 +pressione_di_test_2: 2222 pressione_di_test_delta_massimo_2: 200 tempo_svuotamento_2: 1 pressione_svuotamento_2: 100 diff --git a/config/machine_settings/st-ten-5.ini b/config/machine_settings/st-ten-5.ini index 26facc9..735d609 100644 --- a/config/machine_settings/st-ten-5.ini +++ b/config/machine_settings/st-ten-5.ini @@ -51,7 +51,7 @@ numero sensori presenza (sp):0 prova_tenuta_abilitata: x tempo_pre_riempimento: 0 -pressione_pre_riempimento: 1000 +pressione_pre_riempimento: 5000 tempo_riempimento: 5 tempo_assestamento: 10 percentuale_minima_pressione_assestamento: 5 diff --git a/config/machine_settings/st-ten-6.ini b/config/machine_settings/st-ten-6.ini index a2a6ee5..62fa940 100644 --- a/config/machine_settings/st-ten-6.ini +++ b/config/machine_settings/st-ten-6.ini @@ -2,7 +2,7 @@ description = ST-TEN-6 DOPPIA PROVA PRESSIONE 6/20 BAR [hardware_config] -archive_synchronizer: absent +archive_synchronizer: present ; galaxy_camera: present uvc_camera: present label_printer: present @@ -27,13 +27,19 @@ recipe_name_field: codice_ricetta part_number_field: codice_prodotto label_template_field: modello_etichetta description_field: descrizione + +[recipes_defaults] +dimensione_lotto_abilitata: tempo_pre_riempimento: 0 pressione_pre_riempimento: 1000 -tempo_riempimento: 10 -tempo_assestamento: 12 +#tempo_riempimento: 10 +#tempo_assestamento: 12 +#tempo_di_test: 10 +tempo_riempimento: 2 +tempo_assestamento: 3 +tempo_di_test: 4 percentuale_minima_pressione_assestamento: 5 percentuale_massima_pressione_assestamento: 5 -tempo_di_test: 10 pressione_di_test_delta_minimo: 30 pressione_di_test: 7000 pressione_di_test_delta_massimo: 30 @@ -43,11 +49,14 @@ config_elettrovalvole: 0 prova_tenuta_abilitata_2: x tempo_pre_riempimento_2: 0 pressione_pre_riempimento_2: 1000 -tempo_riempimento_2: 10 -tempo_assestamento_2: 12 +#tempo_riempimento_2: 10 +#tempo_assestamento_2: 12 +#tempo_di_test_2: 10 +tempo_riempimento_2: 5 +tempo_assestamento_2: 6 +tempo_di_test_2: 7 percentuale_minima_pressione_assestamento_2: 5 percentuale_massima_pressione_assestamento_2: 5 -tempo_di_test_2: 10 pressione_di_test_delta_minimo_2: 30 pressione_di_test_2: 15000 pressione_di_test_delta_massimo_2: 30 diff --git a/src/test/csv_import/test importazione iveco daily elettrico.csv b/src/test/csv_import/test importazione iveco daily elettrico.csv index 39a2cca..35d3fb9 100644 --- a/src/test/csv_import/test importazione iveco daily elettrico.csv +++ b/src/test/csv_import/test importazione iveco daily elettrico.csv @@ -81,7 +81,7 @@ ,5803034022,1,priorità 1,,,, ,5803034026,1,priorità 1,,,, ,5803034027,1,priorità 1,,,, -,5803034028,1,priorità 1,,,, +,5803034028,1,priorità 1,"MB2,RB2",,, ,5803034770,1,priorità 1,,,, ,5803034771,1,priorità 1,,,, ,5803034772,1,priorità 1,,,, diff --git a/src/test/csv_import/test_doppia_prova_tenuta.csv b/src/test/csv_import/test_doppia_prova_tenuta.csv index 643b1c3..7a7fa73 100644 --- a/src/test/csv_import/test_doppia_prova_tenuta.csv +++ b/src/test/csv_import/test_doppia_prova_tenuta.csv @@ -1,3 +1,3 @@ -codice_ricetta,codice_prodotto,cliente,descrizione,prova_tenuta_abilitata,prova_tenuta_abilitata_2,config_elettrovalvole,config_elettrovalvole_2 -5802820548,5802820548,IVECO,Tubo doppio,x,x,0,1 -5802820549,5802820549,IVECO,Tubo singolo,x,,0,1 +codice_ricetta,codice_prodotto,cliente,descrizione,prova_tenuta_abilitata,prova_tenuta_abilitata_2,config_elettrovalvole,config_elettrovalvole_2,modello_etichetta +5802820548,5802820548,IVECO,Tubo doppio,x,x,0,1,EtichettaR5_Montaggio_2prove.prn +5802820549,5802820549,IVECO,Tubo singolo,x,,0,1,EtichettaR5_Montaggio.prn diff --git a/src/ui/recipe_selection/recipe_selection.py b/src/ui/recipe_selection/recipe_selection.py index 7f1f1ea..6410378 100755 --- a/src/ui/recipe_selection/recipe_selection.py +++ b/src/ui/recipe_selection/recipe_selection.py @@ -91,8 +91,8 @@ class Recipe_Selection(Widget): "resistance": len(self.config.get("recipes_defaults", noner)["verifica_resistenza_connettore_abilitata"]) and "resistance" not in self.unsupported_steps, "screws": len(self.config.get("recipes_defaults", noner)["avvitatura_abilitata"]) and "screws" not in self.unsupported_steps, "instruction": len(self.config.get("recipes_defaults", noner)["istruzione_abilitata"]) and "instruction" not in self.unsupported_steps, - "leak_1": len(self.config.get("recipes_defaults", noner)["prova_tenuta_abilitata"]) and "leak" not in self.unsupported_steps, - "leak_2": len(self.config.get("recipes_defaults", noner)["prova_tenuta_abilitata_2"]) and "leak" not in self.unsupported_steps, + "leak_1": len(self.config.get("recipes_defaults", noner)["prova_tenuta_abilitata"]) and "leak_1" not in self.unsupported_steps, + "leak_2": len(self.config.get("recipes_defaults", noner)["prova_tenuta_abilitata_2"]) and "leak_2" not in self.unsupported_steps, "vision": len(self.config.get("recipes_defaults", noner)["test_visione_abilitato"]) and "vision" not in self.unsupported_steps, "print": len(self.config.get("recipes_defaults", noner)["stampa_etichetta_abilitata"]) and "print" not in self.unsupported_steps, "step_editors": step_defaults, @@ -297,7 +297,8 @@ class Recipe_Selection(Widget): recipe_is_new = True for step_name, step_spec in steps_specs.items(): step = steps[step_name] - step.type = re.sub(r"^(.*)_[0-9]+$", r"\1", step_name) + #step.type = re.sub(r"^(.*)_[0-9]+$", r"\1", step_name) + step.type = step_name step.spec = step_spec if recipe_is_new: step.save(force_insert=True) @@ -313,8 +314,8 @@ class Recipe_Selection(Widget): "resistance": len(row.get("verifica_resistenza_connettore_abilitata", defaults["verifica_resistenza_connettore_abilitata"])) and "resistance" not in self.unsupported_steps, "screws": len(row.get("avvitatura_abilitata", defaults["avvitatura_abilitata"])) and "screws" not in self.unsupported_steps, "instruction": len(row.get("istruzione_abilitata", defaults["istruzione_abilitata"])) and "instruction" not in self.unsupported_steps, - "leak_1": len(row.get("prova_tenuta_abilitata", defaults["prova_tenuta_abilitata"])) and "leak" not in self.unsupported_steps, - "leak_2": len(row.get("prova_tenuta_abilitata_2", defaults["prova_tenuta_abilitata_2"])) and "leak" not in self.unsupported_steps, + "leak_1": len(row.get("prova_tenuta_abilitata", defaults["prova_tenuta_abilitata"])) and "leak_1" not in self.unsupported_steps, + "leak_2": len(row.get("prova_tenuta_abilitata_2", defaults["prova_tenuta_abilitata_2"])) and "leak_2" not in self.unsupported_steps, "vision": len(row.get("test_visione_abilitato", defaults["test_visione_abilitato"])) and "vision" not in self.unsupported_steps, "print": len(row.get("stampa_etichetta_abilitata", defaults["stampa_etichetta_abilitata"])) and "print" not in self.unsupported_steps, "steps": [], # should be pks of the enabled steps diff --git a/src/ui/recipe_spec_and_step_editor/recipe_spec_and_step_editor.py b/src/ui/recipe_spec_and_step_editor/recipe_spec_and_step_editor.py index 70d08c8..bf30dac 100644 --- a/src/ui/recipe_spec_and_step_editor/recipe_spec_and_step_editor.py +++ b/src/ui/recipe_spec_and_step_editor/recipe_spec_and_step_editor.py @@ -59,14 +59,14 @@ class Recipe_Spec_And_Step_Editor(Editor): "tab": self.instruction_t, }, "leak_1": { - "type": "leak", + "type": "leak_1", "enable": self.leak_enabled_1_cb, "widget": "leak_editor_1_w", "editor": Leak_Step_Editor(), "tab": self.leak_1_t, }, "leak_2": { - "type": "leak", + "type": "leak_2", "enable": self.leak_enabled_2_cb, "widget": "leak_editor_2_w", "editor": Leak_Step_Editor(), diff --git a/src/ui/steps_management/steps_management.py b/src/ui/steps_management/steps_management.py index b5f3d2c..7a46c20 100644 --- a/src/ui/steps_management/steps_management.py +++ b/src/ui/steps_management/steps_management.py @@ -13,7 +13,8 @@ class Step_Spec_JEDECW(QPushButton, Cell): def __init__(self, action=None, readonly=True, autocomplete=None, field_name=None, field_alias=None, field=None, row_number=None, crud=None): self.editors = { "vision": Vision_Step_Editor(cell_widget=self), - "leak": Leak_Step_Editor(cell_widget=self), + "leak_1": Leak_Step_Editor(cell_widget=self), + "leak_2": Leak_Step_Editor(cell_widget=self), } self.editor = None self.editor_type = None @@ -75,7 +76,8 @@ class Steps_Management(Widget): fields_aliases=crud_aliases, autocomplete={ "type": [ - "leak", + "leak_1", + "leak_2", "vision", ], "spec": { diff --git a/src/ui/test/test.py b/src/ui/test/test.py index 2538cc1..ec25893 100755 --- a/src/ui/test/test.py +++ b/src/ui/test/test.py @@ -56,7 +56,8 @@ class Test(Widget): "instruction":{"digital_io"}, "screws": {"screwdriver", "tecna_t3", }, "resistance": {"multicomp", }, - "leak": {"tecna_t3", }, + "leak_1": {"tecna_t3", }, + "leak_2": {"tecna_t3", }, "vision": {("uvc_camera", "galaxy_camera", ), "vision", "vision_saver", }, # "neo_pixels", }, "print": {"label_printer", }, } @@ -84,7 +85,7 @@ class Test(Widget): "done": Test_Assembly(img_path=self.select_step_img("success"), text=u"COLLAUDO COMPLETATO", widget=None), "emergency": Test_Assembly(img_path=self.select_step_img("reset_emergency"), text=u"EMERGENZA INTERVENUTA - RIPRISTINARE PULSANTE E SELEZIONARE \"RESET EMERGENZA\" DAL MEN\u00d9 \"STRUMENTI\"", widget=None), "fail": Test_Assembly(img_path=self.select_step_img("fail"), text=u"CICLO INTERROTTO, PREMERE CONTINUA PER COMINCIARE UN NUOVO CICLO", widget=Test_Fail()), - "leak": Test_Assembly(img_path=None, text=None, widget=Test_Leak(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)), + "leak_1": Test_Assembly(img_path=None, text=None, widget=Test_Leak(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)), "leak_2": Test_Assembly(img_path=None, text=None, widget=Test_Leak(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)), "instruction": Test_Assembly(img_path=None, text=u"ESEGUIRE LE OPERAZIONI DI MONTAGGIO INDICATE IN FIGURA", widget=Test_Instructions(components=self.components, recipe=self.recipe,bench_name=self.config.machine_id, step=self.step,run_once=True)), "print": Test_Assembly(img_path=self.select_step_img("print"), text=u"STAMPA ETICHETTA IN CORSO", widget=None), @@ -357,7 +358,7 @@ class Test(Widget): }), ] if "resistance" not in self.unsupported_steps else []), *([ - Steps(type="leak", spec={ + Steps(type="leak_1", spec={ "pre_filling_time": 0, "pre_filling_pressure": 1000, "filling_time": 5, @@ -372,9 +373,9 @@ class Test(Widget): "flush_pressure": 100, "autotest": True, }), - ] if "leak" not in self.unsupported_steps else []), + ] if "leak_1" not in self.unsupported_steps else []), *([ - Steps(type="leak", spec={ + Steps(type="leak_1", spec={ "pre_filling_time": 0, "pre_filling_pressure": 1000, "filling_time": 5, @@ -389,7 +390,7 @@ class Test(Widget): "flush_pressure": 100, "autotest": False, }), - ] if "leak" not in self.unsupported_steps else []), + ] if "leak_1" not in self.unsupported_steps else []), Steps(type="done"), Steps(type="wait"), ] @@ -500,7 +501,7 @@ class Test(Widget): self.log.info("cycle printed already compiled label") # LABEL PRINT recipe = archived.test_data.get("recipe", {}) - leak_test_1 = archived.test_data.get("leak", {}).get("0", {}) + leak_test_1 = archived.test_data.get("leak_1", {}).get("0", {}) leak_test_1_step = leak_test_1.get("step", {}) leak_test_1_step_spec = leak_test_1_step.get("spec", {}) leak_test_1_results = leak_test_1.get("results", {}) @@ -595,8 +596,9 @@ class Test(Widget): # PRINT EXTRA LABELS IF NEEDED if "extra_label_printer" in self.components.keys(): - labels=printer_fields["extra_label"].split(",") - for label in labels: - self.components["extra_label_printer"].print_label(f"{label}.prn", context=context) + if len(printer_fields["extra_label"])>0: + labels=printer_fields["extra_label"].split(",") + for label in labels: + self.components["extra_label_printer"].print_label(f"{label}.prn", context=context) self.log.info(f"cycle printed: {context!r}") return compiled_label