extra labels printed before leak test TBT

This commit is contained in:
neo-dl 2023-03-29 19:05:17 +02:00
parent 284fef45d7
commit 5a823d0564
3 changed files with 19 additions and 41 deletions

View File

@ -7,12 +7,6 @@ from .modbus_component import ModbusComponent
from .tecna_marposs_provaset_t3l_registers import registers as t3l_registers
from .tecna_marposs_provaset_t3p_registers import registers as t3p_registers
# from pymodbus.client.sync import ModbusSerialClient as ModbusClient
# import serial
# client = ModbusClient(method="rtu", port="COM3", stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, baudrate=115200, timeout=1, strict=False)
# client.connect()
# client.read_holding_registers(1, count=1)
class TecnaMarpossProvasetT3(ModbusComponent):
_store_recipes_signal = pyqtSignal(object)
@ -21,21 +15,9 @@ class TecnaMarpossProvasetT3(ModbusComponent):
def __init__(self, config=None, name=None, period=1, lazy=True, paused=False, threaded=True):
super().__init__(config=config, name=name, period=period, lazy=lazy, paused=paused, threaded=threaded, registers=None)
# pin_registers = {
# "admin_pin": "PASSWORD: Administration", # was 1909
# "modify_pin": "PASSWORD: Modify program", # was 0
# "select_pin": "PASSWORD: Select program", # was 0
# }
def config_changed(self):
super().config_changed()
self._store_recipes_signal.connect(self._store_recipes)
# self.pins = {
# "admin_pin": self.config.get("admin_pin", None),
# "modify_pin": self.config.get("modify_pin", None),
# "select_pin": self.config.get("select_pin", None),
# }
# self.unlock_tecna()
self.model = self.config[self.name]["model"].lower()
if self.model == "t3p":
self.registers = t3p_registers
@ -52,14 +34,6 @@ class TecnaMarpossProvasetT3(ModbusComponent):
self.model = self.config[self.name]["model"].lower()
self.log.info(f"units: {self.units}")
# def unlock_tecna(self, **kwargs):
# pins = self.pins.copy()
# pins.update(kwargs)
# for pin_name, register in self.pin_registers.items():
# pin = pins[pin_name]
# if pin is not None:
# self.write(register, pin)
_pressure_units = {"mH2O": 0, "mbar": 1, "kPa": 2, "mmHg": 3, "inH2O": 4, "psi": 5, "mmH2O": 6, } # (se fondoscala <=6 bar)
_leak_units = {"mmH2O": 0, "mbar": 1, "Pa": 2, "mmHg": 3, "inH2O": 4, "psi": 5, }
_leak_flow_units = {"cm3/min": 0, "cm3/h": 1, }

View File

@ -106,6 +106,7 @@ class Test(Widget):
}
self.cycle_steps = None
self.cycle_index = -1
self.print_step = None
# SETUP AUTOTEST
self.autotest_request = False
self.autotesting = False
@ -259,6 +260,15 @@ class Test(Widget):
# goto next step in cycle_steps
self.cycle_index = (self.cycle_index + 1) % len(self.cycle_steps)
self.step = self.cycle_steps[self.cycle_index]
if self.step.type == "leak_1":
# PRINT EXTRA LABELS IF NEEDED (BEFORE LEAK TEST)
if "extra_label_printer" in self.components.keys() and self.print_step is not None:
printer_fields = self.print_step.spec
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=None)
else:
self.cycle_index = -1
self.step = Steps(type=None)
@ -335,6 +345,7 @@ class Test(Widget):
if step.type == "print":
steps.insert(i, Steps(type="done"))
print_found = True
self.print_step=step
skip.add(i + 1)
if count_found:
steps.insert(i + 2, Steps(type="count_end"))
@ -627,12 +638,5 @@ class Test(Widget):
# PRINT MAIN PRODUCT LABEL
compiled_label = self.components["label_printer"].print_label(label, context=context)
# PRINT EXTRA LABELS IF NEEDED
if "extra_label_printer" in self.components.keys():
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}")
self.log.info(f"Main label printed: {context!r}")
return compiled_label

View File

@ -37,6 +37,8 @@ class Test_Leak(Test_Test):
if "relay_config" in step.spec.keys():
relay_config = step.spec["relay_config"]
bits = [0, 0]
if relay_config == 0:
bits = [0,0]
if relay_config == 1:
bits = [0,1]
if relay_config == 2:
@ -66,11 +68,8 @@ class Test_Leak(Test_Test):
self.start_b.setEnabled(False)
self.stop_b.setEnabled(False)
# def reset(self):
# super().reset()
def get(self, data=None, override=False):
if self.done: # avoid proccessing if completed
if self.done: # avoid processing if completed
return
if data is None or data[-1] is None:
super().get(None, override=override)
@ -95,9 +94,10 @@ class Test_Leak(Test_Test):
else:
ok = type(result) is str and "failed" in result.lower()
# RESET RELAYS
ret = self.components["digital_io"].set_bit_verify(0, 0, 0)
ret = self.components["digital_io"].set_bit_verify(0, 1, 0)
if "digital_io" in self.components.keys():
# RESET RELAYS
ret = self.components["digital_io"].set_bit_verify(0, 0, 0)
ret = self.components["digital_io"].set_bit_verify(0, 1, 0)
else:
result = None