stten6 final beta

This commit is contained in:
stten6 2023-10-05 18:39:09 +02:00
parent 70ad344351
commit 6645d333a0
6 changed files with 19 additions and 29 deletions

View File

@ -11,7 +11,7 @@ tecna_t3: present
vision_saver: absent vision_saver: absent
vision: absent vision: absent
screwdriver: absent screwdriver: absent
digital_io: present digital_io_flush_blow: present
second_leak_test: present second_leak_test: present
external_flush_blow: present # EXTERNAL BOX CONTROLLING MULTI-CHANNEL TEST (IF PRESENT), BLOW-CLEANING AND EXTERNAL FLUSH external_flush_blow: present # EXTERNAL BOX CONTROLLING MULTI-CHANNEL TEST (IF PRESENT), BLOW-CLEANING AND EXTERNAL FLUSH
dual_channel: present dual_channel: present
@ -27,8 +27,8 @@ port: COM5
platform: windows platform: windows
printer: zd421 printer: zd421
[digital_io] [digital_io_flush_blow]
id_flush_blow: USB-5860,BID#0 id: USB-5860,BID#0
# OUTPUT MAP FOR EXTERNAL FLUSH/BLOW UNIT # OUTPUT MAP FOR EXTERNAL FLUSH/BLOW UNIT
blow_on: 3 # INPUT VALVE TO SERVICE AIR blow_on: 3 # INPUT VALVE TO SERVICE AIR
out_channel_select: 2 # AIR OUT VALVE (0=CH1, 1=CH2) 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 pressione_di_test_delta_massimo: 30
tempo_svuotamento: 1 tempo_svuotamento: 1
pressione_svuotamento: 100 pressione_svuotamento: 100
canale_di_prova: 1 canale_di_prova: 0
prova_tenuta_abilitata_2: prova_tenuta_abilitata_2:
tempo_pre_riempimento_2: 0 tempo_pre_riempimento_2: 0
pressione_pre_riempimento_2: 1000 pressione_pre_riempimento_2: 1000
@ -74,7 +74,7 @@ pressione_di_test_2: 15000
pressione_di_test_delta_massimo_2: 30 pressione_di_test_delta_massimo_2: 30
tempo_svuotamento_2: 1 tempo_svuotamento_2: 1
pressione_svuotamento_2: 100 pressione_svuotamento_2: 100
canale_di_prova_2: 2 canale_di_prova_2: 1
modello_etichetta: EtichettaR5_Montaggio_1prova.prn modello_etichetta: EtichettaR5_Montaggio_1prova.prn
[autotest_leak] [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) test_pressure_tt_qneg: 5 # Q- Lower test leak limit (tube-tube)
flush_time: 1 flush_time: 1
flush_pressure: 100 flush_pressure: 100
relay_config: 1 chan_sel: 0

View File

@ -61,21 +61,7 @@ pressione_di_test_delta_massimo: 30
tempo_svuotamento: 1 tempo_svuotamento: 1
pressione_svuotamento: 100 pressione_svuotamento: 100
canale_di_prova: 1 canale_di_prova: 1
prova_tenuta_abilitata_2: modello_etichetta: satil_30x17.prn
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
[autotest_leak] [autotest_leak]
enabled: true enabled: true

View File

@ -43,7 +43,7 @@ class USB_586x(Component):
self.mutex = QMutex() self.mutex = QMutex()
self.simulate="--sim-io" in sys.argv self.simulate="--sim-io" in sys.argv
# DEVICE INFORMATION # DEVICE INFORMATION
self.id=config["digital_io"]["id"] self.id=config[name]["id"]
if "5860" in self.id: if "5860" in self.id:
self.type = "5860" self.type = "5860"
self.in_size = 1 self.in_size = 1

View File

@ -106,6 +106,7 @@ try:
"screwdriver": {"c": TecnaScrewdriver, "k": {"paused": True}}, "screwdriver": {"c": TecnaScrewdriver, "k": {"paused": True}},
"tecna_t3": {"c": TecnaMarpossProvasetT3, "k": {"paused": True}}, "tecna_t3": {"c": TecnaMarpossProvasetT3, "k": {"paused": True}},
"digital_io":{"c":USB_586x,"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}}, "fixture_id":{"c":RFID_PN532,"k":{"paused":False, "lazy":False}},
} }
# VISION COMPONENT IS OPTIONAL AND DISABLED BY DEFAULT # VISION COMPONENT IS OPTIONAL AND DISABLED BY DEFAULT

View File

@ -47,7 +47,7 @@ class Test_Leak(Test_Test):
self.parent.print_extra_labels() self.parent.print_extra_labels()
# SELECT TEST CHANNEL # 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": if self.parent.config["hardware_config"].get("dual_channel", None) == "present":
chan_sel = self.step.spec["chan_sel"] # 0=CH1, 1=CH2 chan_sel = self.step.spec["chan_sel"] # 0=CH1, 1=CH2
self.set_digital_out("out_channel_select", chan_sel) self.set_digital_out("out_channel_select", chan_sel)
@ -60,13 +60,12 @@ class Test_Leak(Test_Test):
else: else:
self.set_digital_out("ch2_led", True) self.set_digital_out("ch2_led", True)
if self.parent.config["hardware_config"].get("external_flush_blow",None)=="present":
self.blow_on=True self.blow_on=True
self.display_text("SOFFIAGGIO IN CORSO...") self.display_text("SOFFIAGGIO IN CORSO...")
self.set_digital_out("blow_led",True) self.set_digital_out("blow_led",True)
self.set_digital_out("blow_on",True) self.set_digital_out("blow_on",True)
self.set_digital_out("flush_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) self.set_digital_out("blow_led", True)
time.sleep(blow_time) time.sleep(blow_time)
self.set_digital_out("blow_led", False) self.set_digital_out("blow_led", False)
@ -105,6 +104,10 @@ class Test_Leak(Test_Test):
# SETUP TEST LOOP # SETUP TEST LOOP
if self.step.spec.get("autotest", False) != False: # IF AUTOTESTING UPLOAD RECIPE EVERY TIME if self.step.spec.get("autotest", False) != False: # IF AUTOTESTING UPLOAD RECIPE EVERY TIME
self.recipe_written = False 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: if not self.recipe_written:
self.components["tecna_t3"].write_recipe(self.recipe, self.step) self.components["tecna_t3"].write_recipe(self.recipe, self.step)
self.recipe_written=True 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_led", True)
self.set_digital_out("flush_on", True) self.set_digital_out("flush_on", True)
time.sleep(VALVE_TIME) 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) time.sleep(flush_time)
self.set_digital_out("flush_led", False) self.set_digital_out("flush_led", False)
#self.set_digital_out("flush_on", False) #self.set_digital_out("flush_on", False)
@ -273,10 +276,10 @@ class Test_Leak(Test_Test):
time.sleep(0.3) time.sleep(0.3)
QApplication.processEvents() 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: if self.io_ok:
bit = int(self.parent.config["digital_io"][name]) bit = int(self.parent.config[component_name][out_name])
ret = self.components["digital_io"].set_bit_verify(0,bit,state) ret = self.components[component_name].set_bit_verify(0,bit,state)
if not ret: if not ret:
QMessageBox.critical(None, "ERRORE", f"ERRORE I/O DIGITALE - VERIFICARE CONNESSIONE USB") QMessageBox.critical(None, "ERRORE", f"ERRORE I/O DIGITALE - VERIFICARE CONNESSIONE USB")
self.io_ok = False self.io_ok = False