diff --git a/config/csv_import/importazione da banco montaggio.csv b/config/csv_import/ST-TEN-6.csv similarity index 100% rename from config/csv_import/importazione da banco montaggio.csv rename to config/csv_import/ST-TEN-6.csv diff --git a/config/machine_settings/st-ten-6.ini b/config/machine_settings/st-ten-6.ini index 43d725e..21d794d 100644 --- a/config/machine_settings/st-ten-6.ini +++ b/config/machine_settings/st-ten-6.ini @@ -11,7 +11,7 @@ tecna_t3: present vision_saver: absent vision: absent screwdriver: absent -digital_io: present +digital_io_flush_blow: present second_leak_test: present external_flush_blow: present # EXTERNAL BOX CONTROLLING MULTI-CHANNEL TEST (IF PRESENT), BLOW-CLEANING AND EXTERNAL FLUSH dual_channel: present @@ -27,8 +27,8 @@ port: COM5 platform: windows printer: zd421 -[digital_io] -id_flush_blow: USB-5860,BID#0 +[digital_io_flush_blow] +id: USB-5860,BID#0 # OUTPUT MAP FOR EXTERNAL FLUSH/BLOW UNIT blow_on: 3 # INPUT VALVE TO SERVICE AIR out_channel_select: 2 # AIR OUT VALVE (0=CH1, 1=CH2) @@ -60,7 +60,7 @@ pressione_di_test: 7000 pressione_di_test_delta_massimo: 30 tempo_svuotamento: 1 pressione_svuotamento: 100 -canale_di_prova: 1 +canale_di_prova: 0 prova_tenuta_abilitata_2: tempo_pre_riempimento_2: 0 pressione_pre_riempimento_2: 1000 @@ -74,7 +74,7 @@ pressione_di_test_2: 15000 pressione_di_test_delta_massimo_2: 30 tempo_svuotamento_2: 1 pressione_svuotamento_2: 100 -canale_di_prova_2: 2 +canale_di_prova_2: 1 modello_etichetta: EtichettaR5_Montaggio_1prova.prn [autotest_leak] @@ -93,4 +93,4 @@ test_pressure_tt_qpos: 1 # Q+ Upper test leak limit (tube-tube) test_pressure_tt_qneg: 5 # Q- Lower test leak limit (tube-tube) flush_time: 1 flush_pressure: 100 -relay_config: 1 \ No newline at end of file +chan_sel: 0 \ No newline at end of file diff --git a/config/machine_settings/st-ten-9.ini b/config/machine_settings/st-ten-9.ini index 377d333..c15f052 100644 --- a/config/machine_settings/st-ten-9.ini +++ b/config/machine_settings/st-ten-9.ini @@ -61,21 +61,7 @@ pressione_di_test_delta_massimo: 30 tempo_svuotamento: 1 pressione_svuotamento: 100 canale_di_prova: 1 -prova_tenuta_abilitata_2: -tempo_pre_riempimento_2: 0 -pressione_pre_riempimento_2: 1000 -tempo_riempimento_2: 20 -tempo_assestamento_2: 20 -tempo_di_test_2: 10 -percentuale_minima_pressione_assestamento_2: 5 -percentuale_massima_pressione_assestamento_2: 5 -pressione_di_test_delta_minimo_2: 30 -pressione_di_test_2: 15000 -pressione_di_test_delta_massimo_2: 30 -tempo_svuotamento_2: 1 -pressione_svuotamento_2: 100 -canale_di_prova_2: 2 -modello_etichetta: EtichettaR5_Montaggio_1prova.prn +modello_etichetta: satil_30x17.prn [autotest_leak] enabled: true diff --git a/src/components/usb_586x.py b/src/components/usb_586x.py index b87b98d..a9072a2 100644 --- a/src/components/usb_586x.py +++ b/src/components/usb_586x.py @@ -43,7 +43,7 @@ class USB_586x(Component): self.mutex = QMutex() self.simulate="--sim-io" in sys.argv # DEVICE INFORMATION - self.id=config["digital_io"]["id"] + self.id=config[name]["id"] if "5860" in self.id: self.type = "5860" self.in_size = 1 diff --git a/src/main.py b/src/main.py index a95ce6b..b1c475c 100644 --- a/src/main.py +++ b/src/main.py @@ -106,6 +106,7 @@ try: "screwdriver": {"c": TecnaScrewdriver, "k": {"paused": True}}, "tecna_t3": {"c": TecnaMarpossProvasetT3, "k": {"paused": True}}, "digital_io":{"c":USB_586x,"k":{"paused":True}}, + "digital_io_flush_blow":{"c":USB_586x,"k":{"paused":True}}, "fixture_id":{"c":RFID_PN532,"k":{"paused":False, "lazy":False}}, } # VISION COMPONENT IS OPTIONAL AND DISABLED BY DEFAULT diff --git a/src/ui/test_leak/test_leak.py b/src/ui/test_leak/test_leak.py index c216f2c..b62bdfd 100644 --- a/src/ui/test_leak/test_leak.py +++ b/src/ui/test_leak/test_leak.py @@ -47,7 +47,7 @@ class Test_Leak(Test_Test): self.parent.print_extra_labels() # SELECT TEST CHANNEL - if "digital_io" in self.components.keys(): + if self.parent.config["hardware_config"].get("external_flush_blow", None) == "present": if self.parent.config["hardware_config"].get("dual_channel", None) == "present": chan_sel = self.step.spec["chan_sel"] # 0=CH1, 1=CH2 self.set_digital_out("out_channel_select", chan_sel) @@ -60,13 +60,12 @@ class Test_Leak(Test_Test): else: self.set_digital_out("ch2_led", True) - if self.parent.config["hardware_config"].get("external_flush_blow",None)=="present": self.blow_on=True self.display_text("SOFFIAGGIO IN CORSO...") self.set_digital_out("blow_led",True) self.set_digital_out("blow_on",True) self.set_digital_out("flush_on", True) - blow_time=int(self.step.spec['ext_blow_time']) + blow_time=int(self.step.spec.get('ext_blow_time',3)) self.set_digital_out("blow_led", True) time.sleep(blow_time) self.set_digital_out("blow_led", False) @@ -105,6 +104,10 @@ class Test_Leak(Test_Test): # SETUP TEST LOOP if self.step.spec.get("autotest", False) != False: # IF AUTOTESTING UPLOAD RECIPE EVERY TIME self.recipe_written = False + + if self.parent.config["hardware_config"].get("second_leak_test", None) != False: # IF SECOND LEAK TEST ENABLED UPLOAD RECIPE EVERY TIME + self.recipe_written = False + if not self.recipe_written: self.components["tecna_t3"].write_recipe(self.recipe, self.step) self.recipe_written=True @@ -198,7 +201,7 @@ class Test_Leak(Test_Test): self.set_digital_out("flush_led", True) self.set_digital_out("flush_on", True) time.sleep(VALVE_TIME) - flush_time = int(self.step.spec['ext_flush_time']) + flush_time = int(self.step.spec.get('ext_flush_time',3)) time.sleep(flush_time) self.set_digital_out("flush_led", False) #self.set_digital_out("flush_on", False) @@ -273,10 +276,10 @@ class Test_Leak(Test_Test): time.sleep(0.3) QApplication.processEvents() - def set_digital_out(self,name=None,state=1): + def set_digital_out(self,out_name=None,state=1,component_name="digital_io_flush_blow"): if self.io_ok: - bit = int(self.parent.config["digital_io"][name]) - ret = self.components["digital_io"].set_bit_verify(0,bit,state) + bit = int(self.parent.config[component_name][out_name]) + ret = self.components[component_name].set_bit_verify(0,bit,state) if not ret: QMessageBox.critical(None, "ERRORE", f"ERRORE I/O DIGITALE - VERIFICARE CONNESSIONE USB") self.io_ok = False