Merge remote-tracking branch 'origin/master'

This commit is contained in:
neo-dl 2023-02-17 18:41:53 +01:00
commit b3e48493a3
11 changed files with 48 additions and 34 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

1 codice_ricetta Priorità descrizione etichette_supplementari Numero nastri (N) Numero sensori anello (SA) Numero sensori presenza (SP)
81 5803034022 1 priorità 1
82 5803034026 1 priorità 1
83 5803034027 1 priorità 1
84 5803034028 1 priorità 1 MB2,RB2
85 5803034770 1 priorità 1
86 5803034771 1 priorità 1
87 5803034772 1 priorità 1

View File

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

1 codice_ricetta codice_prodotto cliente descrizione prova_tenuta_abilitata prova_tenuta_abilitata_2 config_elettrovalvole config_elettrovalvole_2 modello_etichetta
2 5802820548 5802820548 IVECO Tubo doppio x x 0 1 EtichettaR5_Montaggio_2prove.prn
3 5802820549 5802820549 IVECO Tubo singolo x 0 1 EtichettaR5_Montaggio.prn

View File

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

View File

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

View File

@ -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": {

View File

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