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: 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
chan_sel: 0

View File

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

View File

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

View File

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

View File

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