From d5d4d654e8a9b28687d3ef53eb7c3bb109cd308e Mon Sep 17 00:00:00 2001 From: edo-neo Date: Thu, 13 Feb 2025 14:21:34 +0100 Subject: [PATCH 1/9] rfid tag write --- .../barcode_recipe_selection.py | 68 +---- .../barcode_recipe_selection.ui | 257 ++++++++++-------- 2 files changed, 159 insertions(+), 166 deletions(-) diff --git a/src/ui/barcode_recipe_selection/barcode_recipe_selection.py b/src/ui/barcode_recipe_selection/barcode_recipe_selection.py index 244a634..16540cb 100644 --- a/src/ui/barcode_recipe_selection/barcode_recipe_selection.py +++ b/src/ui/barcode_recipe_selection/barcode_recipe_selection.py @@ -16,41 +16,6 @@ from lib.db.models import Recipes , Users test_scan="xxx\nyyy\nzzz" -class TagWindow(QDialog): - def __init__(self, parent=None): - super().__init__(parent) - - self.setWindowTitle("Scrittura NFC") - self.setFixedSize(400, 300) - - layout = QVBoxLayout(self) - - - self.text_edit = QPlainTextEdit(self) - self.text_edit.setPlaceholderText("Scanerizza il QRcode della Dima") - self.text_edit.setFixedHeight(100) - - - layout.addWidget(self.text_edit) - button_layout = QHBoxLayout() - - - self.ok_button = QPushButton("Conferma Tag", self) - self.ok_button.clicked.connect(self.on_ok_clicked) - - # Create the Close button - self.close_button = QPushButton("Chiudi", self) - self.close_button.clicked.connect(self.close) - - button_layout.addWidget(self.ok_button) - button_layout.addWidget(self.close_button) - layout.addLayout(button_layout) - - def on_ok_clicked(self): - entered_text = self.text_edit.toPlainText() - print(f"Text Entered: {entered_text}") - self.accept() - class Barcode_Recipe_Selection(Test_Test): def __init__(self, parent): @@ -159,35 +124,24 @@ class Barcode_Recipe_Selection(Test_Test): self.parent_assembly_widget().set_text("SCANSIONARE BARCODE SELEZIONE RICETTA") + def open_tag_window(self): - - # Open the tag writing window - self.tag_window = TagWindow(self) - result = self.tag_window.exec_() # Get the result of the dialog (OK or Cancel) - if result != QDialog.Accepted: - return # If canceled, return - - entered_text = self.tag_window.text_edit.toPlainText().strip() - if not entered_text: - QMessageBox.warning( - self, - "Warning", - "The text is empty. Please enter text to write to the tag.", - ) + self.parent_assembly_widget().set_text( + "SCRITTURA TAG NFC ",bg_color=" yellow") + tag_data = self.barcode_input_l.toPlainText().strip() + if not tag_data: + QMessageBox.warning(self, "Warning", "Il campo di input è vuoto. Scansiona un QR code o un tag NFC per conTINUARE") return - # Check if the tag is empty if self.parent.components["fixture_id"].current_data: - # Tag already contains data, ask for confirmation to overwrite confirmation_result = QMessageBox.question( self, - "Tag Already Written", - "The tag already contains data. Do you want to overwrite it?", + "Tag già scritto", + "Il tag contiene già dei dati. Vuoi sovrascriverli?", QMessageBox.Yes | QMessageBox.No, ) if confirmation_result == QMessageBox.No: - return # User does not want to overwrite, so return without writing + return - # Write the entered text to the tag - self.parent.components["fixture_id"].write_tag(entered_text) - QMessageBox.information(self, "Success", "The tag has been successfully written.") + self.parent.components["fixture_id"].write_tag(tag_data) + QMessageBox.information(self, "Successo", "Il tag è stato scritto correttamente.") diff --git a/src/ui/barcode_recipe_selection/barcode_recipe_selection.ui b/src/ui/barcode_recipe_selection/barcode_recipe_selection.ui index 33b402b..85b0c3c 100644 --- a/src/ui/barcode_recipe_selection/barcode_recipe_selection.ui +++ b/src/ui/barcode_recipe_selection/barcode_recipe_selection.ui @@ -15,113 +15,139 @@ - - - - - - - Qt::Horizontal - - - - 308 - 20 - - - - - - - - - 20 - - - - TORNA ALLA TABELLA RICETTE - - - - - - - - 600 - 0 - - - - - 600 - 200 - - - - - 20 - - - - - - - - - - - Qt::Vertical - - - - 20 - 78 - - - - - - - - Qt::Horizontal - - - - 378 - 20 - - - - - - - - Qt::Vertical - - - - 20 - 78 - - - - - - - - Qt::Vertical - - - - 20 - 168 - - - - - + + + + + Qt::Horizontal + + + + 282 + 93 + + + - + + + + Qt::Horizontal + + + + 351 + 93 + + + + + + + + Qt::Vertical + + + + 20 + 78 + + + + + + + + Qt::Vertical + + + + 20 + 168 + + + + + + + + + 600 + 0 + + + + + 600 + 200 + + + + + 20 + + + + + + + + + + + Qt::Vertical + + + + 20 + 78 + + + + + + + + + 20 + + + + TORNA ALLA TABELLA RICETTE + + + + + + + + + + + Qt::Vertical + + + + 20 + 28 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + @@ -139,15 +165,28 @@ - - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + Qt::Vertical 20 - 28 + 40 From 58214b315ac79edf8dd8f58fe6135baec8998d3e Mon Sep 17 00:00:00 2001 From: edo-neo Date: Mon, 17 Feb 2025 10:01:56 +0100 Subject: [PATCH 2/9] added action for tag_write --- src/main.py | 6 ++++++ .../barcode_recipe_selection.py | 17 ++++------------- .../barcode_recipe_selection.ui | 18 ------------------ src/ui/main_window/main_window.ui | 12 ++++++++++++ 4 files changed, 22 insertions(+), 31 deletions(-) diff --git a/src/main.py b/src/main.py index cbd2a54..b400965 100644 --- a/src/main.py +++ b/src/main.py @@ -209,6 +209,7 @@ try: self.main_window.table_selection_a.triggered.connect(self.set_recipe_mode_table) self.main_window.barcode_selection_a.triggered.connect(self.set_recipe_mode_barcode) self.main_window.ristampa_etichetta_a.triggered.connect(self.reprint_label) + self.main_window.tag_a.triggered.connect(self.tag_write) self.main_window.diagnostics_a.triggered.connect( lambda checked, selfie=weakref.ref(self): selfie().main_window.open_dialog(Diagnostics(selfie()))) if "--users-management" in sys.argv: @@ -284,6 +285,11 @@ try: def reprint_label(self): self.main_window.centralWidget().reprint_label() + def tag_write(self): + if isinstance(self.main_window.centralWidget().centralWidget.widget, Barcode_Recipe_Selection): + barcode_data = self.main_window.centralWidget().centralWidget.widget.barcode_input_l.toPlainText().strip() + self.main_window.centralWidget().centralWidget.widget.tag_write(barcode_data) + @pyqtSlot(str) def load_recipe_from_rfid(self, data): self.tag_loaded_recipe = data diff --git a/src/ui/barcode_recipe_selection/barcode_recipe_selection.py b/src/ui/barcode_recipe_selection/barcode_recipe_selection.py index 16540cb..e209b25 100644 --- a/src/ui/barcode_recipe_selection/barcode_recipe_selection.py +++ b/src/ui/barcode_recipe_selection/barcode_recipe_selection.py @@ -37,7 +37,6 @@ class Barcode_Recipe_Selection(Test_Test): self.status_palettes["warning"].setColor(QPalette.Base, QColor(255, 165, 0)) self.status_palettes[""].setColor(QPalette.Base, QColor(255, 255, 0)) - self.tag_b.clicked.connect(self.open_tag_window) self.recipe_selection_b.clicked.connect(self.parent.set_recipe_mode_table) self.barcode_input_l.setFocus() @@ -54,12 +53,7 @@ class Barcode_Recipe_Selection(Test_Test): self.ok_timer.setSingleShot(True) self.ok_timer.timeout.connect(self.set_recipe) - session= Users.get_session() - if session.is_admin: - self.tag_b.setVisible(True) - else: - self.tag_b.setVisible(False) def start(self, recipe=None, step=None, pieces=None): @@ -123,14 +117,11 @@ class Barcode_Recipe_Selection(Test_Test): else: self.parent_assembly_widget().set_text("SCANSIONARE BARCODE SELEZIONE RICETTA") - - - def open_tag_window(self): - self.parent_assembly_widget().set_text( - "SCRITTURA TAG NFC ",bg_color=" yellow") - tag_data = self.barcode_input_l.toPlainText().strip() + def tag_write(self, data_to_write=None): + self.parent_assembly_widget().set_text("SCRITTURA TAG NFC ", bg_color=" yellow") + tag_data = data_to_write if data_to_write else self.barcode_input_l.toPlainText().strip() if not tag_data: - QMessageBox.warning(self, "Warning", "Il campo di input è vuoto. Scansiona un QR code o un tag NFC per conTINUARE") + QMessageBox.warning(self, "Warning", "Il campo di input è vuoto. Scansiona un QR code o un tag NFC per continuare") return if self.parent.components["fixture_id"].current_data: diff --git a/src/ui/barcode_recipe_selection/barcode_recipe_selection.ui b/src/ui/barcode_recipe_selection/barcode_recipe_selection.ui index 85b0c3c..83ba00c 100644 --- a/src/ui/barcode_recipe_selection/barcode_recipe_selection.ui +++ b/src/ui/barcode_recipe_selection/barcode_recipe_selection.ui @@ -147,24 +147,6 @@ - - - - - 0 - 0 - - - - - 11 - - - - SCRIVI TAG NFC - - - diff --git a/src/ui/main_window/main_window.ui b/src/ui/main_window/main_window.ui index b75df9a..6ffe546 100644 --- a/src/ui/main_window/main_window.ui +++ b/src/ui/main_window/main_window.ui @@ -67,6 +67,8 @@ + + @@ -146,6 +148,16 @@ Aggiornamento + + + Scrivi Tag nfc + + + + + Calibra Taglio + + From ee302b1e91248700201f49e026ab8d89f65e2562 Mon Sep 17 00:00:00 2001 From: edo-neo Date: Mon, 17 Feb 2025 10:37:01 +0100 Subject: [PATCH 3/9] Test for command pipe cutter --- src/test/modbus_read_data.py | 54 +++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 13 deletions(-) diff --git a/src/test/modbus_read_data.py b/src/test/modbus_read_data.py index 3f4dc8e..33629c3 100644 --- a/src/test/modbus_read_data.py +++ b/src/test/modbus_read_data.py @@ -4,33 +4,36 @@ import serial def read_register(client, register_address, count=1): - """ - Reads data from the Modbus server. - - :param client: An instance of ModbusClient - :param register_address: The address of the register to read - :param count: Number of registers to read - :return: List of register values or None if there was an error - """ + """Reads data from the Modbus server.""" try: result = client.read_holding_registers(register_address, count=count, slave=1) if result.isError(): print(f"Error reading register {register_address}") return None return result.registers - except ModbusIOException as modbus_error: - print(f"Modbus IO Exception while reading register {register_address}: {modbus_error}") - return None except Exception as e: print(f"Exception while reading register {register_address}: {e}") return None +def write_register(client, register_address, value): + """Writes data to the Modbus server.""" + try: + result = client.write_register(register_address, value, slave=1) + if result.isError(): + print(f"Error writing to register {register_address}") + return False + return True + except Exception as e: + print(f"Exception while writing to register {register_address}: {e}") + return False + + def main(): # Modbus client configuration client = ModbusClient( method="rtu", - port="COM4", # Change this to the appropriate port + port="COM4", stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, @@ -38,7 +41,6 @@ def main(): timeout=1, # Timeout in seconds ) - # Attempt to connect to the Modbus server if client.connect(): print("Modbus client connected successfully.") else: @@ -54,6 +56,32 @@ def main(): print(f"Register {register_address} value: {value[0]}") else: print(f"Failed to read register {register_address}.") + + # Read and write register 20 + print(f"Reading register 20...") + value = read_register(client, 20) + if value is not None: + print(f"Register 20 value: {value[0]}") + + print(f"Writing 1 to register 20...") + if write_register(client, 20, 1): + print("Successfully wrote to register 20.") + + # Verify the write by reading again + print(f"Reading register 20 again...") + value = read_register(client, 20) + if value is not None: + print(f"Register 20 new value: {value[0]}") + + + else: + print("Failed to write to register 20.") + + + + else: + print("Failed to read register 20 before writing.") + except Exception as e: print(f"Unexpected error occurred: {e}") finally: From f0b4bcfd9e0eb1f16d165142dbf06ec7451ec4e5 Mon Sep 17 00:00:00 2001 From: edo-neo Date: Mon, 17 Feb 2025 11:29:31 +0100 Subject: [PATCH 4/9] pipe cutter new devs tbt in production --- src/components/pipe_cutter_component.py | 8 +++++++ src/main.py | 7 +++++++ src/ui/main_window/main_window.ui | 4 ++-- src/ui/test/test.py | 4 ++++ src/ui/test_pipe_cutter/test_pipe_cutter.py | 23 +++++++++++++++------ 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/components/pipe_cutter_component.py b/src/components/pipe_cutter_component.py index 8413468..1698820 100644 --- a/src/components/pipe_cutter_component.py +++ b/src/components/pipe_cutter_component.py @@ -209,3 +209,11 @@ class PipeCutterComponent(ModbusComponent): except Exception as e: self.log.error(f"Failed to write value {value} to register 30: {e}") raise + + def set_machine_mode(self): + try: + self.write(register=20, data=1, data_type="16bit_uint") + self.log.info(f"Successfully set machine mode to single cycle).") + except Exception as e: + self.log.error(f"Failed to set machine mode to single cycle: {e}") + raise \ No newline at end of file diff --git a/src/main.py b/src/main.py index b400965..0daeb6e 100644 --- a/src/main.py +++ b/src/main.py @@ -210,6 +210,11 @@ try: self.main_window.barcode_selection_a.triggered.connect(self.set_recipe_mode_barcode) self.main_window.ristampa_etichetta_a.triggered.connect(self.reprint_label) self.main_window.tag_a.triggered.connect(self.tag_write) + if "pipe_cutter" in self.components.keys(): + self.main_window.cut_a.setVisible(True) + self.main_window.cut_a.triggered.connect(self.cut_tube) + else: + self.main_window.cut_a.setVisible(False) self.main_window.diagnostics_a.triggered.connect( lambda checked, selfie=weakref.ref(self): selfie().main_window.open_dialog(Diagnostics(selfie()))) if "--users-management" in sys.argv: @@ -289,6 +294,8 @@ try: if isinstance(self.main_window.centralWidget().centralWidget.widget, Barcode_Recipe_Selection): barcode_data = self.main_window.centralWidget().centralWidget.widget.barcode_input_l.toPlainText().strip() self.main_window.centralWidget().centralWidget.widget.tag_write(barcode_data) + def cut_tube(self): + self.main_window.centralWidget().cut_tube() @pyqtSlot(str) def load_recipe_from_rfid(self, data): diff --git a/src/ui/main_window/main_window.ui b/src/ui/main_window/main_window.ui index 6ffe546..e570c97 100644 --- a/src/ui/main_window/main_window.ui +++ b/src/ui/main_window/main_window.ui @@ -68,7 +68,7 @@ - + @@ -153,7 +153,7 @@ Scrivi Tag nfc - + Calibra Taglio diff --git a/src/ui/test/test.py b/src/ui/test/test.py index c2a55ba..6cd140d 100755 --- a/src/ui/test/test.py +++ b/src/ui/test/test.py @@ -249,6 +249,10 @@ class Test(Widget): self.recipe_selection_mode = "barcode" self.change_recipe() + def cut_tube(self): + self.components["pipe_cutter"].to_calibrate() + self.components["pipe_cutter"].start_cutting() + def reprint_label(self): self.print(self.last_label, self.print_step.spec.get("template", "EtichettaR5")) diff --git a/src/ui/test_pipe_cutter/test_pipe_cutter.py b/src/ui/test_pipe_cutter/test_pipe_cutter.py index 2e123d1..a04e52b 100644 --- a/src/ui/test_pipe_cutter/test_pipe_cutter.py +++ b/src/ui/test_pipe_cutter/test_pipe_cutter.py @@ -23,6 +23,7 @@ class Test_Pipe_Cutter(Test_Test): self.step=step self.current_cut_length = 0 self.get_connection = None + self.to_calibrate=False gif_path = "config/instruction_images/st-ten-10/pipe.gif" self.movie = QMovie(gif_path,QByteArray(), self) @@ -52,14 +53,20 @@ class Test_Pipe_Cutter(Test_Test): """ Perform the pipe cutting process when in the 'ready for operation' state (102). """ - self.length = self.step.spec["length"] - self.diameter = self.step.spec["diameter"] + self.components["pipe_cutter"].set_machine_mode() + + if self.to_calibrate: + self.length = 100 + self.diameter = 21 + self.to_calibrate=False # resetting flag + else: + self.length = self.step.spec["length"] + self.diameter = self.step.spec["diameter"] if self.current_status == 102: try: self.length = int(self.length)*100 self.diameter = int(self.diameter)*100 - print(self.length) self.components["pipe_cutter"].write_od_of_pipe(self.diameter) time.sleep(1) self.components["pipe_cutter"].write_od_of_pipe(self.diameter) @@ -107,8 +114,7 @@ class Test_Pipe_Cutter(Test_Test): self.previus_status = None self.current_status = self.components["pipe_cutter"].read(register=766) - print(self.current_status) - + #print(self.current_status) # Status: 102 (ready for operation) if self.current_status == 102: if self.previous_status == 103: @@ -116,6 +122,7 @@ class Test_Pipe_Cutter(Test_Test): self.stop_cutting() # Start cutting if machine is ready + self.start_cutting() # Status: 103 (running) @@ -166,4 +173,8 @@ class Test_Pipe_Cutter(Test_Test): self.parent_assembly_widget().set_text(text=text, bg_color=bg_color,text_color=text_color) QApplication.processEvents() time.sleep(0.3) - QApplication.processEvents() \ No newline at end of file + QApplication.processEvents() + + + def to_calibrate(self): + self.to_calibrate=True \ No newline at end of file From 071cc22127c37c7dd885243bf1111b07d495864b Mon Sep 17 00:00:00 2001 From: edo-neo Date: Mon, 17 Feb 2025 13:01:14 +0100 Subject: [PATCH 5/9] new label template visualisation during test leak --- src/ui/test/test.py | 1 + src/ui/test_leak/test_leak.py | 2 +- src/ui/test_leak/test_leak.ui | 42 +++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/ui/test/test.py b/src/ui/test/test.py index 6cd140d..1c20663 100755 --- a/src/ui/test/test.py +++ b/src/ui/test/test.py @@ -475,6 +475,7 @@ class Test(Widget): })) skip.add(i + 1) if step.step_type == "print": + self.print_template = step.spec.get("template", "EtichettaR5") # Store the template if print_found: continue steps.insert(i, Step(step_type="done")) diff --git a/src/ui/test_leak/test_leak.py b/src/ui/test_leak/test_leak.py index b83c073..7cc6d05 100644 --- a/src/ui/test_leak/test_leak.py +++ b/src/ui/test_leak/test_leak.py @@ -103,7 +103,7 @@ class Test_Leak(Test_Test): self.test_num_l.setText("2/2") else: self.test_num_l.setText("1/1") - + self.template_print_l.setText(f"{self.parent.print_template}") self.recipe_pressure_l.setText(f"{self.step.spec['test_pressure']}") self.leak_min_l.setText(f"{self.step.spec['test_pressure_qneg']}") self.leak_max_l.setText(f"{self.step.spec['test_pressure_qpos']}") diff --git a/src/ui/test_leak/test_leak.ui b/src/ui/test_leak/test_leak.ui index 9e4ac6b..f649d89 100644 --- a/src/ui/test_leak/test_leak.ui +++ b/src/ui/test_leak/test_leak.ui @@ -2254,6 +2254,48 @@ border: 1px solid black; + + + + + 16 + 50 + false + + + + background-color: rgb(255, 255, 255); +border: 1px solid black; + + + + QFrame::NoFrame + + + QFrame::Plain + + + - + + + + + + + + 16 + 50 + false + + + + Qt::LeftToRight + + + Etichetta Selezionata + + + From 82f6535048571a02a61775b320a446754380ce0d Mon Sep 17 00:00:00 2001 From: edo-neo Date: Mon, 17 Feb 2025 13:51:39 +0100 Subject: [PATCH 6/9] new ui for test --- src/ui/test/test.ui | 547 +++++++++++++++++++++++--------------------- 1 file changed, 283 insertions(+), 264 deletions(-) diff --git a/src/ui/test/test.ui b/src/ui/test/test.ui index c4f86fa..9ce8f13 100755 --- a/src/ui/test/test.ui +++ b/src/ui/test/test.ui @@ -6,28 +6,14 @@ 0 0 - 1192 - 120 + 1339 + 297 Test - - - - - 12 - 75 - true - - - - - - - @@ -52,56 +38,8 @@ 3 - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 200 - 40 - - - - - 12 - 75 - true - - - - CAMBIA DISEGNO - - - - - + + 12 @@ -117,8 +55,8 @@ - - + + 12 @@ -127,63 +65,12 @@ - 12345 - - - Qt::AlignCenter + - - - - - - 12 - 75 - true - - - - 12345 -567 - - - Qt::AlignCenter - - - - - - - - DejaVu Sans - 11 - 75 - true - - - - AZZERA -CONTATORE - - - - - - - - 12 - 75 - true - - - - OPERATORE: - - - - - + + Qt::Horizontal @@ -195,7 +82,7 @@ CONTATORE - + @@ -227,82 +114,23 @@ CONTATORE - - + + - 12 + DejaVu Sans + 11 75 true - - + AZZERA +CONTATORE - - - - - 12 - 75 - true - - - - PEZZI FATTI - - - Qt::AlignCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 16 - 75 - true - - - - TextLabel - - - - - - - - 12 - 75 - true - - - - - - - - Qt::AlignCenter - - - - + @@ -319,7 +147,187 @@ CONTATORE - + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 200 + 40 + + + + + 12 + 75 + true + + + + CAMBIA DISEGNO + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 20 + 20 + + + + + + + + + 12 + 75 + true + + + + 12345 +567 + + + Qt::AlignCenter + + + + + + + + 12 + 75 + true + + + + PEZZI FATTI + + + Qt::AlignCenter + + + + + + + + 12 + 75 + true + + + + - + + + Qt::AlignCenter + + + + + + + + 12 + 75 + true + + + + PROSSIMO AUTOTEST: + + + Qt::AlignCenter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 12 + 75 + true + + + + N. DISEGNO: + + + + + + + + 12 + 75 + true + + + + 12345 + + + Qt::AlignCenter + + + + @@ -345,61 +353,8 @@ CONTATORE - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 16 - 75 - true - - - - - - - - Qt::AlignCenter - - - - - - - - 12 - 75 - true - - - - PROSSIMO AUTOTEST: - - - Qt::AlignCenter - - - - - - - 0 - 0 - - + 12 @@ -408,32 +363,96 @@ CONTATORE - N. DISEGNO: - - - - - - - - 0 - 0 - - - - QFrame::NoFrame - - - - - - - Qt::MarkdownText + OPERATORE: + + + + + 12 + 75 + true + + + + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + 0 + + + Qt::Horizontal + + + 18 + + + true + + + + + 16 + 75 + true + + + + - + + + Qt::AlignCenter + + + + + + 0 + 0 + + + + QFrame::NoFrame + + + - + + + Qt::MarkdownText + + + + + + 16 + 75 + true + + + + TextLabel + + + + From 4708a011993ed3b379a0e79e632e947fa6d0850e Mon Sep 17 00:00:00 2001 From: edo-neo Date: Mon, 17 Feb 2025 16:31:30 +0100 Subject: [PATCH 7/9] dev tbt label 203 and 300 dpi selector --- .../{ => 203}/ERRECINQUE_flag_qr_only.prn | 0 config/machine_settings/defaults.ini | 1 + config/machine_settings/st-ten-1.ini | 2 +- src/ui/recipe_selection/recipe_selection.py | 9 +++++++-- 4 files changed, 9 insertions(+), 3 deletions(-) rename config/label_templates/{ => 203}/ERRECINQUE_flag_qr_only.prn (100%) diff --git a/config/label_templates/ERRECINQUE_flag_qr_only.prn b/config/label_templates/203/ERRECINQUE_flag_qr_only.prn similarity index 100% rename from config/label_templates/ERRECINQUE_flag_qr_only.prn rename to config/label_templates/203/ERRECINQUE_flag_qr_only.prn diff --git a/config/machine_settings/defaults.ini b/config/machine_settings/defaults.ini index 1a42de7..a2f17a8 100644 --- a/config/machine_settings/defaults.ini +++ b/config/machine_settings/defaults.ini @@ -74,6 +74,7 @@ hold_time: 10 [label_printer] platform: windows printer: ttp247 +risoluzione: 203 [tecna_t3] diff --git a/config/machine_settings/st-ten-1.ini b/config/machine_settings/st-ten-1.ini index fc7089c..d12fc24 100644 --- a/config/machine_settings/st-ten-1.ini +++ b/config/machine_settings/st-ten-1.ini @@ -47,7 +47,7 @@ description_field: descrizione [label_printer] platform: windows printer: zd420 - +risoluzione: 203 [recipes_defaults] tester_discharge_enable: yes codice_ricetta: specificare ricetta diff --git a/src/ui/recipe_selection/recipe_selection.py b/src/ui/recipe_selection/recipe_selection.py index 27f9556..8294633 100755 --- a/src/ui/recipe_selection/recipe_selection.py +++ b/src/ui/recipe_selection/recipe_selection.py @@ -59,8 +59,13 @@ class Recipe_Selection(Widget): } filters = {"archived": False} step_defaults = self.read_steps(self.config.get("recipes_defaults", noner), noner) - custom_label_folder = f"config/label_templates/{str(self.config.machine_id)}/" - standard_label_folder = f"config/label_templates/" + if self.config["label_printer"]["risoluzione"] == 300: + custom_label_folder = f"config/label_templates/{str(self.config.machine_id)}/300/" + standard_label_folder = f"config/label_templates/300/" + else: + custom_label_folder = f"config/label_templates/{str(self.config.machine_id)}/203/" + standard_label_folder = f"config/label_templates/203/" + if os.path.exists(custom_label_folder): label_folder = custom_label_folder else: From 0543345c0d88e71555ef84ec190cb60bb1068209 Mon Sep 17 00:00:00 2001 From: edo-neo Date: Mon, 17 Feb 2025 18:17:39 +0100 Subject: [PATCH 8/9] dev tbt label 203 and 300 dpi selector --- config/label_templates/{ => 203}/ETA30x16_203dpi.prn | 0 .../{ => 203}/EtichettaR5_Montaggio_1prova.prn | 0 .../{ => 203}/EtichettaR5_Montaggio_2prove.prn | 0 config/label_templates/{ => 203}/F164F169_203.prn | 0 config/label_templates/{ => 203}/MB1.prn | 0 config/label_templates/{ => 203}/MB2.prn | 0 config/label_templates/{ => 203}/MI1.prn | 0 config/label_templates/{ => 203}/MI2.prn | 0 config/label_templates/{ => 203}/RB1.prn | 0 config/label_templates/{ => 203}/RB2.prn | 0 config/label_templates/{ => 203}/RM1.prn | 0 config/label_templates/{ => 203}/RM2.prn | 0 config/label_templates/{ => 203}/aston_martin.prn | 0 config/label_templates/{ => 203}/ferrari_30x16_203.prn | 0 config/machine_settings/test-linux.ini | 1 + src/components/os_label_printer.py | 9 +++++++-- src/test/label_printer.py | 4 ++-- src/ui/recipe_selection/recipe_selection.py | 4 ++-- 18 files changed, 12 insertions(+), 6 deletions(-) rename config/label_templates/{ => 203}/ETA30x16_203dpi.prn (100%) rename config/label_templates/{ => 203}/EtichettaR5_Montaggio_1prova.prn (100%) rename config/label_templates/{ => 203}/EtichettaR5_Montaggio_2prove.prn (100%) rename config/label_templates/{ => 203}/F164F169_203.prn (100%) rename config/label_templates/{ => 203}/MB1.prn (100%) rename config/label_templates/{ => 203}/MB2.prn (100%) rename config/label_templates/{ => 203}/MI1.prn (100%) rename config/label_templates/{ => 203}/MI2.prn (100%) rename config/label_templates/{ => 203}/RB1.prn (100%) rename config/label_templates/{ => 203}/RB2.prn (100%) rename config/label_templates/{ => 203}/RM1.prn (100%) rename config/label_templates/{ => 203}/RM2.prn (100%) rename config/label_templates/{ => 203}/aston_martin.prn (100%) rename config/label_templates/{ => 203}/ferrari_30x16_203.prn (100%) diff --git a/config/label_templates/ETA30x16_203dpi.prn b/config/label_templates/203/ETA30x16_203dpi.prn similarity index 100% rename from config/label_templates/ETA30x16_203dpi.prn rename to config/label_templates/203/ETA30x16_203dpi.prn diff --git a/config/label_templates/EtichettaR5_Montaggio_1prova.prn b/config/label_templates/203/EtichettaR5_Montaggio_1prova.prn similarity index 100% rename from config/label_templates/EtichettaR5_Montaggio_1prova.prn rename to config/label_templates/203/EtichettaR5_Montaggio_1prova.prn diff --git a/config/label_templates/EtichettaR5_Montaggio_2prove.prn b/config/label_templates/203/EtichettaR5_Montaggio_2prove.prn similarity index 100% rename from config/label_templates/EtichettaR5_Montaggio_2prove.prn rename to config/label_templates/203/EtichettaR5_Montaggio_2prove.prn diff --git a/config/label_templates/F164F169_203.prn b/config/label_templates/203/F164F169_203.prn similarity index 100% rename from config/label_templates/F164F169_203.prn rename to config/label_templates/203/F164F169_203.prn diff --git a/config/label_templates/MB1.prn b/config/label_templates/203/MB1.prn similarity index 100% rename from config/label_templates/MB1.prn rename to config/label_templates/203/MB1.prn diff --git a/config/label_templates/MB2.prn b/config/label_templates/203/MB2.prn similarity index 100% rename from config/label_templates/MB2.prn rename to config/label_templates/203/MB2.prn diff --git a/config/label_templates/MI1.prn b/config/label_templates/203/MI1.prn similarity index 100% rename from config/label_templates/MI1.prn rename to config/label_templates/203/MI1.prn diff --git a/config/label_templates/MI2.prn b/config/label_templates/203/MI2.prn similarity index 100% rename from config/label_templates/MI2.prn rename to config/label_templates/203/MI2.prn diff --git a/config/label_templates/RB1.prn b/config/label_templates/203/RB1.prn similarity index 100% rename from config/label_templates/RB1.prn rename to config/label_templates/203/RB1.prn diff --git a/config/label_templates/RB2.prn b/config/label_templates/203/RB2.prn similarity index 100% rename from config/label_templates/RB2.prn rename to config/label_templates/203/RB2.prn diff --git a/config/label_templates/RM1.prn b/config/label_templates/203/RM1.prn similarity index 100% rename from config/label_templates/RM1.prn rename to config/label_templates/203/RM1.prn diff --git a/config/label_templates/RM2.prn b/config/label_templates/203/RM2.prn similarity index 100% rename from config/label_templates/RM2.prn rename to config/label_templates/203/RM2.prn diff --git a/config/label_templates/aston_martin.prn b/config/label_templates/203/aston_martin.prn similarity index 100% rename from config/label_templates/aston_martin.prn rename to config/label_templates/203/aston_martin.prn diff --git a/config/label_templates/ferrari_30x16_203.prn b/config/label_templates/203/ferrari_30x16_203.prn similarity index 100% rename from config/label_templates/ferrari_30x16_203.prn rename to config/label_templates/203/ferrari_30x16_203.prn diff --git a/config/machine_settings/test-linux.ini b/config/machine_settings/test-linux.ini index 8b6ff12..75be6ca 100644 --- a/config/machine_settings/test-linux.ini +++ b/config/machine_settings/test-linux.ini @@ -46,6 +46,7 @@ description_field: descrizione [label_printer] platform: linux printer: Zebra_Technologies_ZTC_ZD421-203dpi_ZPL +risoluzione: 203 [recipes_defaults] tester_discharge_enable: yes diff --git a/src/components/os_label_printer.py b/src/components/os_label_printer.py index 5e245de..fc1abd3 100644 --- a/src/components/os_label_printer.py +++ b/src/components/os_label_printer.py @@ -34,8 +34,13 @@ class Os_Label_Printer(Component): def print_label(self, template, context=None): if context is None: context = {} - custom_label_folder=f"config/label_templates/{str(self.config.machine_id)}/" - standard_label_folder=f"config/label_templates/" + if self.config["label_printer"]["risoluzione"] == "300": + custom_label_folder=f"config/label_templates/{str(self.config.machine_id)}/300/" + standard_label_folder=f"config/label_templates/300/" + elif self.config["label_printer"]["risoluzione"]== "203": + custom_label_folder = f"config/label_templates/{str(self.config.machine_id)}/203/" + standard_label_folder = f"config/label_templates/203/" + if os.path.exists(custom_label_folder): label_folder = custom_label_folder else: diff --git a/src/test/label_printer.py b/src/test/label_printer.py index f149fe0..0f89bd9 100644 --- a/src/test/label_printer.py +++ b/src/test/label_printer.py @@ -5,7 +5,7 @@ from PyQt5.QtWidgets import QApplication from src.components import Os_Label_Printer from src.lib.helpers import ConfigReader -config = ConfigReader(system_id="st-ten-15") +config = ConfigReader(system_id="test-linux") time =datetime.now() context = { # RECIPE DATA @@ -52,4 +52,4 @@ else: # TEST STANDARD PRINTER printer = Os_Label_Printer(config=config, name="label_printer") printer.config_changed() - printer.print_label("F164F169.prn", context=context) + printer.print_label("EtichettaR5_Montaggio_1prova.prn", context=context) diff --git a/src/ui/recipe_selection/recipe_selection.py b/src/ui/recipe_selection/recipe_selection.py index 8294633..30263a2 100755 --- a/src/ui/recipe_selection/recipe_selection.py +++ b/src/ui/recipe_selection/recipe_selection.py @@ -59,10 +59,10 @@ class Recipe_Selection(Widget): } filters = {"archived": False} step_defaults = self.read_steps(self.config.get("recipes_defaults", noner), noner) - if self.config["label_printer"]["risoluzione"] == 300: + if self.config["label_printer"]["risoluzione"] == "300": custom_label_folder = f"config/label_templates/{str(self.config.machine_id)}/300/" standard_label_folder = f"config/label_templates/300/" - else: + elif self.config["label_printer"]["risoluzione"] == "203": custom_label_folder = f"config/label_templates/{str(self.config.machine_id)}/203/" standard_label_folder = f"config/label_templates/203/" From dff59920be0bc5198a0b8415fa29d473afbcc6ae Mon Sep 17 00:00:00 2001 From: ST-TEN12 Date: Tue, 18 Feb 2025 12:28:16 +0100 Subject: [PATCH 9/9] read tecna recipes retry --- .../EXTRACTIONS/T3P stten12 10 02 2025.csv | 140 +++++++++--------- .../st-ten-12/{ => 203}/000952054.prn | 0 .../st-ten-12/203/ERRECINQUE_flag_qr_only.prn | 20 +++ .../st-ten-12/203/ETA30x16_203dpi.prn | 14 ++ config/machine_settings/st-ten-12.ini | 1 + 5 files changed, 105 insertions(+), 70 deletions(-) rename config/label_templates/st-ten-12/{ => 203}/000952054.prn (100%) create mode 100644 config/label_templates/st-ten-12/203/ERRECINQUE_flag_qr_only.prn create mode 100644 config/label_templates/st-ten-12/203/ETA30x16_203dpi.prn diff --git a/config/csv_import/EXTRACTIONS/T3P stten12 10 02 2025.csv b/config/csv_import/EXTRACTIONS/T3P stten12 10 02 2025.csv index 49335d5..c1bfa94 100644 --- a/config/csv_import/EXTRACTIONS/T3P stten12 10 02 2025.csv +++ b/config/csv_import/EXTRACTIONS/T3P stten12 10 02 2025.csv @@ -1,22 +1,22 @@ -codice_ricetta,part_number,tempo_pre_riempimento,pressione_pre_riempimento,tempo_riempimento,tempo_assestamento,percentuale_minima_pressione_assestamento,percentuale_massima_pressione_assestamento,tempo_di_test,pressione_di_test_delta_minimo,pressione_di_test,pressione_di_test_delta_massimo,tempo_svuotamento,pressione_svuotamento,template_di_stampa,campo1,campo2 -5803148256,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148256, -5803148257,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148257, -5803148261,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148261, -5803148263,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148263, -5803148264,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148264, -5803148265,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148265, -5803148266,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148266, -5803148267,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148267, -5803148268,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148268, -5803148269,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803148269, -5803166717,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803166717, -5803167128,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5803167128, -5802966801,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5802966801 R.01, -A68507016000,FUEL HOSE PUMP CPL,0,0,0,1,10,10,0,0,7200,0,0.1,0,4,A68507016000,KTM +codice_ricetta,codice_prodotto,tempo_pre_riempimento,pressione_pre_riempimento,tempo_riempimento,tempo_assestamento,percentuale_minima_pressione_assestamento,percentuale_massima_pressione_assestamento,tempo_di_test,pressione_di_test_delta_minimo,pressione_di_test,pressione_di_test_delta_massimo,tempo_svuotamento,pressione_svuotamento,modello_etichetta,descrizione,cliente +5803148256,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148256, +5803148257,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148257, +5803148261,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148261, +5803148263,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148263, +5803148264,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148264, +5803148265,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148265, +5803148266,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148266, +5803148267,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148267, +5803148268,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148268, +5803148269,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803148269, +5803166717,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803166717, +5803167128,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5803167128, +5802966801,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802966801 R.01, +A68507016000,FUEL HOSE PUMP CPL,0,0,0,1,10,10,0,0,7200,0,0.1,0,ERRECINQUE_flag_qr_only,A68507016000,KTM 16LA573CP REV01, HOSE-MCU-TO-MOTOR,0,0,0,0,20,20,2,0,3000,0,0.1,0,2, HOSE-MCU-TO-MO,P16 PIPE-IN-PRE-COOL,16LA372CP,0,0,0,0,20,20,3,0,3500,0,0.1,0,2,16LA372CP REV01,P16 -5803083561, TUBO ASPIRAZIONE,0,3000,0,1,20,20,2,0,3000,0,0.1,0,6,5803083561,IVECO -5803083634, TUBO ASPIRAZIONE,0,3000,0,1,20,20,2,0,2000,0,0.1,0,6,5803083634,IVECO +5803083561, TUBO ASPIRAZIONE,0,3000,0,1,20,20,2,0,3000,0,0.1,0,ETA30x16_203dpi,5803083561,IVECO +5803083634, TUBO ASPIRAZIONE,0,3000,0,1,20,20,2,0,2000,0,0.1,0,ETA30x16_203dpi,5803083634,IVECO 16LA642CP REV01,HOSE-WCACS LINK PIPE,0,0,0,0,20,20,3,0,3500,0,0.1,0,2,HOSE-WCACS LINK ,P16 16LA353CP REV02,HOSE-RH-HT-RADIATOR-TOP,0,2000,1,1,20,20,3,0,3500,0,0.1,0,2,HOSE-RH-HT-RADIA,P16 16LA336CP REV02,16LA336CP,0,0,0,1,20,20,3,0,3500,0,0.1,0,2, HOSE-E-MOTOR,P16 @@ -38,64 +38,64 @@ HOSE-IPU-OUTLET,16L0151CP,0,0,1,1,20,20,2,0,3000,0,0.1,0,2,16L0151CP REV03,P16 16L0046CP REV03,HOSE-LH-HT-RADIATOR-TOP-,0,2000,1,0,20,20,3,0,3500,0,0.1,0,2,HOSE-LH-HT-RADIA,P16 16L0075CP REV03,16L0075CP,0,0,0,1,20,20,3,0,2500,0,0.1,0,2,HOSE-HEADER-TANK,P16 16FC250CP REV01,16FB640CP,0,0,0,0,20,20,1,0,200,0,0.1,0,2,ASSY CCV - PCV,P16 -MY83-6B748-BA,ENGINE OIL ASY-OUTLET,0,0,1,1,10,10,3,0,7000,0,0.0,0,4,MY83-6B748-BA,AST0N MARTIN -6689099A1,ARGO TRACT,0,0,0,1,10,10,2,0,6000,0,0.0,0,4,6689099A1, -6689101A1,ARGO TRACT,0,0,0,1,10,10,2,0,6000,0,0.0,0,4,6689101A1, -6689098A1,ARGO TRACT,0,0,0,1,10,10,2,0,6000,0,0.0,0,4,6689098A1, -5803031876,OIL FILLER PIPE,0,0,1,1,10,10,1,0,500,0,0.0,0,4,5803031876,IVECO +MY83-6B748-BA,ENGINE OIL ASY-OUTLET,0,0,1,1,10,10,3,0,7000,0,0.0,0,ERRECINQUE_flag_qr_only,MY83-6B748-BA,AST0N MARTIN +6689099A1,ARGO TRACT,0,0,0,1,10,10,2,0,6000,0,0.0,0,ERRECINQUE_flag_qr_only,6689099A1, +6689101A1,ARGO TRACT,0,0,0,1,10,10,2,0,6000,0,0.0,0,ERRECINQUE_flag_qr_only,6689101A1, +6689098A1,ARGO TRACT,0,0,0,1,10,10,2,0,6000,0,0.0,0,ERRECINQUE_flag_qr_only,6689098A1, +5803031876,OIL FILLER PIPE,0,0,1,1,10,10,1,0,500,0,0.0,0,ERRECINQUE_flag_qr_only,5803031876,IVECO FUGA CALIBRATA,24003,0,7000,0,0,5,5,1,0,7000,0,0.1,0,5,24003 12MBAR,FUGA CALIBRATA -5801384842 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5801384842 REV 0,LANCIA BOLZANO -5802729983 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5802729983 REV 0,LANCIA BOLZANO -5802731910 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5802731910 REV 0,LANCIA BOLZANO -5801384841 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5801384841 REV0,LANCIA BOLZANO -5802915821,COMPL.MAN,0,0,0,1,15,15,1,0,5000,0,0.1,0,6,5802915821 R.02, -5802915822,COMPL.MAN,0,0,0,1,15,15,1,0,5000,0,0.1,0,6,5802915822 R.02, -504321532 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,504321532 REV 0,LANCIA BOLZANO -5801970063 REV0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5801970063 REV0,LANCIA BOLZANO -60192054 REV01,TUBO PER COMBUSTIBILE,0,0,1,1,10,10,1,0,8000,0,0.0,0,4,60192054 REV01,LANCIA BOLZANO -5801862227,TUBO PER COMBUSTIBILE,0,0,1,1,10,10,1,0,8000,0,0.0,0,4,5801862227 REV0,LANCIA BOLZANO -5801970064 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5801970064 REV 0,LANCIA BOLZANO -5801970066 REV 1,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5801970066 REV01,LANCIA BOLZANO -5801970065 REV0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5801970065 REV0,LANCIA BOLZANO -504321531 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,504321531 REV 0,LANCIA BOLZANO -5801384840 REV0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5801384840 REV0,LANCIA BOLZANO -5801384839 REV0,TUBO PER COMBUSTIBILE,0,0,1,1,10,10,1,0,8000,0,0.0,0,4,5801384839 REV0,LANCIA BOLZANO -12970-13-2382,TUBEASSY-CLUTCH COOLING,0,0,0,0,10,10,3,0,7000,0,0.0,0,4,12970-13-2382,MULTIMATIC -12970-13-2384,TUBEASSY-CLUTCH COOLING,0,0,0,0,10,10,3,0,7000,0,0.0,0,4,12970-13-2384,MULTIMATIC -12970-13-2386,TUBEASSY-CLUTCH COOLING,0,0,0,0,10,10,2,0,7000,0,0.0,0,4,12970-13-2386,MULTIMATIC -5801970067 REV0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,4,5801970067 REV0,LANCIA BOLZANO -61907016000 IN.D,FUEL HOSE PUMP CPL,0,0,0,1,10,10,0,0,7000,0,0.1,0,4,61907016000 IN.D,KTM -5802831451,TUBAZIONE RITORNO,0,0,0,1,10,10,1,0,5000,0,0.1,0,6,5802831451 R.03, -5802831453,TUBAZIONE MANDATA,0,0,0,1,10,10,1,0,5000,0,0.1,0,6,5802831453 R.03, -5802860939,TUBAZIONE TRAVERSA RADI,0,0,0,1,10,10,1,0,5000,0,0.1,0,6,5802860939 R.03, -5802831450,TUBAZIONE INTERMEDIE,0,0,0,1,10,10,1,0,5000,0,0.1,0,6,5802831450 R.03, -5802831452,TUBAZIONE INTERMEDIE,0,0,0,1,10,10,1,0,5000,0,0.1,0,6,5802831452 R.03, -5802860512,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,6,5802860512 R.03, -PY83-6B747-BA,ENGINE OIL ASSY-INLET,0,0,1,1,10,10,3,0,7000,0,0.0,0,4,PY83-6B747-BA,AST0N MARTIN -PY83-6B748-BA,ENGINE OIL ASY-OUTLET,0,0,1,1,10,10,3,0,7000,0,0.0,0,4,PY83-6B748-BA,AST0N MARTIN +5801384842 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801384842 REV 0,LANCIA BOLZANO +5802729983 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5802729983 REV 0,LANCIA BOLZANO +5802731910 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5802731910 REV 0,LANCIA BOLZANO +5801384841 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801384841 REV0,LANCIA BOLZANO +5802915821,COMPL.MAN,0,0,0,1,15,15,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802915821 R.02, +5802915822,COMPL.MAN,0,0,0,1,15,15,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802915822 R.02, +504321532 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,504321532 REV 0,LANCIA BOLZANO +5801970063 REV0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801970063 REV0,LANCIA BOLZANO +60192054 REV01,TUBO PER COMBUSTIBILE,0,0,1,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,60192054 REV01,LANCIA BOLZANO +5801862227,TUBO PER COMBUSTIBILE,0,0,1,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801862227 REV0,LANCIA BOLZANO +5801970064 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801970064 REV 0,LANCIA BOLZANO +5801970066 REV 1,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801970066 REV01,LANCIA BOLZANO +5801970065 REV0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801970065 REV0,LANCIA BOLZANO +504321531 REV 0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,504321531 REV 0,LANCIA BOLZANO +5801384840 REV0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801384840 REV0,LANCIA BOLZANO +5801384839 REV0,TUBO PER COMBUSTIBILE,0,0,1,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801384839 REV0,LANCIA BOLZANO +12970-13-2382,TUBEASSY-CLUTCH COOLING,0,0,0,0,10,10,3,0,7000,0,0.0,0,ERRECINQUE_flag_qr_only,12970-13-2382,MULTIMATIC +12970-13-2384,TUBEASSY-CLUTCH COOLING,0,0,0,0,10,10,3,0,7000,0,0.0,0,ERRECINQUE_flag_qr_only,12970-13-2384,MULTIMATIC +12970-13-2386,TUBEASSY-CLUTCH COOLING,0,0,0,0,10,10,2,0,7000,0,0.0,0,ERRECINQUE_flag_qr_only,12970-13-2386,MULTIMATIC +5801970067 REV0,TUBO PER COMBUSTIBILE,0,0,2,1,10,10,1,0,8000,0,0.0,0,ERRECINQUE_flag_qr_only,5801970067 REV0,LANCIA BOLZANO +61907016000 IN.D,FUEL HOSE PUMP CPL,0,0,0,1,10,10,0,0,7000,0,0.1,0,ERRECINQUE_flag_qr_only,61907016000 IN.D,KTM +5802831451,TUBAZIONE RITORNO,0,0,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802831451 R.03, +5802831453,TUBAZIONE MANDATA,0,0,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802831453 R.03, +5802860939,TUBAZIONE TRAVERSA RADI,0,0,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802860939 R.03, +5802831450,TUBAZIONE INTERMEDIE,0,0,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802831450 R.03, +5802831452,TUBAZIONE INTERMEDIE,0,0,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802831452 R.03, +5802860512,TUBAZIONE RITORNO RADIA,0,5000,0,1,10,10,1,0,5000,0,0.1,0,ETA30x16_203dpi,5802860512 R.03, +PY83-6B747-BA,ENGINE OIL ASSY-INLET,0,0,1,1,10,10,3,0,7000,0,0.0,0,ERRECINQUE_flag_qr_only,PY83-6B747-BA,AST0N MARTIN +PY83-6B748-BA,ENGINE OIL ASY-OUTLET,0,0,1,1,10,10,3,0,7000,0,0.0,0,ERRECINQUE_flag_qr_only,PY83-6B748-BA,AST0N MARTIN 5802908563,CONNECTION PIPE,0,0,1,2,20,20,1,0,2000,0,0.1,0,5,5802908563,FPT - 13535 -5802726236 REV02,OIL FILLER PIPE,0,0,1,1,10,10,1,0,500,0,0.1,0,4,5802726236 REV02,IVECO -5802726232 REV02,OIL FILLER PIPE,0,300,1,1,10,10,1,0,500,0,0.1,0,4,5802726232 REV02,IVECO -TBG-915988,TUBO PLASTICO SX,0,0,0,0,15,15,2,0,3100,0,0.0,0,4,TUBO PLASTICO SX,SAGOM TUBI -TBG-915989,TUBO PLASTICO DX,0,0,0,0,15,15,2,0,3100,0,0.0,0,4,TUBO PLASTICO DX,SAGOM TUBI +5802726236 REV02,OIL FILLER PIPE,0,0,1,1,10,10,1,0,500,0,0.1,0,ERRECINQUE_flag_qr_only,5802726236 REV02,IVECO +5802726232 REV02,OIL FILLER PIPE,0,300,1,1,10,10,1,0,500,0,0.1,0,ERRECINQUE_flag_qr_only,5802726232 REV02,IVECO +TBG-915988,TUBO PLASTICO SX,0,0,0,0,15,15,2,0,3100,0,0.0,0,ERRECINQUE_flag_qr_only,TUBO PLASTICO SX,SAGOM TUBI +TBG-915989,TUBO PLASTICO DX,0,0,0,0,15,15,2,0,3100,0,0.0,0,ERRECINQUE_flag_qr_only,TUBO PLASTICO DX,SAGOM TUBI TBG-919634,TUBO PLASTICO SX,0,0,1,1,15,15,2,0,3100,0,0.0,0,1,TUBO PLASTICO ,SAGOM TUBI 16EA019SP,,0,0,2,1,10,10,6,0,2000,0,0.0,0,2,P16 MCLAREN,HOSE 91752479,HOSE FUEL,0,0,0,0,10,10,5,0,2000,0,0.0,0,5,91752479 REV.A,CNH - BNJ31 91713309,HOSE FUEL,0,0,0,1,10,10,1,0,2000,0,0.0,0,5,91713309 REV.A,CNH - BNJ31 TBG-919635,TUBO PLASTICO SX,0,0,1,1,15,15,2,0,3100,0,0.1,0,1,TUBO PLASTICO ,SAGOM TUBI -5803030264,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,4,5803030264 REV.0,IVECO -5803030758,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,4,5803030758 REV.0,IVECO -5803030799,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,4,5803030799 REV.0,IVECO -5803030800,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,4,5803030800 REV.0,IVECO -5803030840,DELIVERY PIPE COMPLETE,0,0,0,1,10,10,1,0,4000,0,0.0,0,4,5803030840 REV.0,IVECO -5803030842,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,4,5803030842 REV.0,IVECO -5803030878,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,4,5803030878 REV.0,IVECO -5802878056,,0,0,0,1,10,10,1,0,5000,0,0.0,0,6,5802878056 , -5802831451,,0,0,0,1,10,10,1,0,5000,0,0.0,0,6,5802831451 R.03, -5802967436,,0,0,0,1,10,10,1,0,5000,0,0.0,0,6,5802967436 R.03, -5802860512,,0,0,0,1,10,10,1,0,5000,0,0.0,0,6,5802860512 R.03, -5802989226,FPT,0,0,0,2,10,10,1,0,2000,0,0.0,0,4,5802989226, -5803028303,FPT,0,0,0,1,10,10,2,0,2000,0,0.0,0,4,5803028303, -5802989036,FPT,0,0,0,1,10,10,2,0,2000,0,0.0,0,4,5802989036, -5802269836,FPT,0,0,0,1,10,10,2,0,3000,0,0.0,0,4,5802269836, +5803030264,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,ERRECINQUE_flag_qr_only,5803030264 REV.0,IVECO +5803030758,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,ERRECINQUE_flag_qr_only,5803030758 REV.0,IVECO +5803030799,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,ERRECINQUE_flag_qr_only,5803030799 REV.0,IVECO +5803030800,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,ERRECINQUE_flag_qr_only,5803030800 REV.0,IVECO +5803030840,DELIVERY PIPE COMPLETE,0,0,0,1,10,10,1,0,4000,0,0.0,0,ERRECINQUE_flag_qr_only,5803030840 REV.0,IVECO +5803030842,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,ERRECINQUE_flag_qr_only,5803030842 REV.0,IVECO +5803030878,DELIVERY PIPE COMPLETE,0,0,0,0,10,10,1,0,4000,0,0.0,0,ERRECINQUE_flag_qr_only,5803030878 REV.0,IVECO +5802878056,,0,0,0,1,10,10,1,0,5000,0,0.0,0,ETA30x16_203dpi,5802878056 , +5802831451,,0,0,0,1,10,10,1,0,5000,0,0.0,0,ETA30x16_203dpi,5802831451 R.03, +5802967436,,0,0,0,1,10,10,1,0,5000,0,0.0,0,ETA30x16_203dpi,5802967436 R.03, +5802860512,,0,0,0,1,10,10,1,0,5000,0,0.0,0,ETA30x16_203dpi,5802860512 R.03, +5802989226,FPT,0,0,0,2,10,10,1,0,2000,0,0.0,0,ERRECINQUE_flag_qr_only,5802989226, +5803028303,FPT,0,0,0,1,10,10,2,0,2000,0,0.0,0,ERRECINQUE_flag_qr_only,5803028303, +5802989036,FPT,0,0,0,1,10,10,2,0,2000,0,0.0,0,ERRECINQUE_flag_qr_only,5802989036, +5802269836,FPT,0,0,0,1,10,10,2,0,3000,0,0.0,0,ERRECINQUE_flag_qr_only,5802269836, 000952054,j000952054,0,2200,0,0,5,5,3,0,2200,0,0.0,100,1,000952054,LANCIA BOLZANO diff --git a/config/label_templates/st-ten-12/000952054.prn b/config/label_templates/st-ten-12/203/000952054.prn similarity index 100% rename from config/label_templates/st-ten-12/000952054.prn rename to config/label_templates/st-ten-12/203/000952054.prn diff --git a/config/label_templates/st-ten-12/203/ERRECINQUE_flag_qr_only.prn b/config/label_templates/st-ten-12/203/ERRECINQUE_flag_qr_only.prn new file mode 100644 index 0000000..0e9ea89 --- /dev/null +++ b/config/label_templates/st-ten-12/203/ERRECINQUE_flag_qr_only.prn @@ -0,0 +1,20 @@ +CT~~CD,~CC^~CT~ +^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD25^JUS^LRN^CI0^XZ +^XA +^MMT +^PW320 +^LL1039 +^LS0 +^FO32,128^GFA,06144,06144,00032,:Z64: +eJzt10Fr5DYUAGAZw+gSoj2mNKC/sF1f9lDQsX8jS6H9FyuHwM4lsNfCHvI39laXwOZimp+wDoXtsQ65qCD0+mTLHrl+stIuhbZEF8/4G9vvSU+Sh7Gn9i9opdl2nrl+x54lpPj9snq4/XDvdg/vPpSMA4D1p/EIw5OLyxcvW1694dXXwU1wF/zspD2u2HH1si2ZCF7Ofn/5rbltK3ZUPW93ay8eTr+/37dV4/147aw6/fRV3Vb26LvnrSPu//Dbr79ctWen4tOry/H6Prgdeubu529urk7OjuSbVz/smAw+5Tn2Qc3Y6QljJ0e0++8G/Qub9h4v/jLt//G2y7jYVM3kVT18KlZ1zMGV0AnoeS+vjQAGcNOrt52WQz+iW44Ihht0CXXw1wcXiPgrIy+MgmZyNbv0P3HcomvoBheNCy4Gl8Fx8AD2XeSssPInKy2g73vHe6b2nUbHIQ+uzq2yWjg1ea9Fh95NXlvlBr+3pXejRT97aby/VwLwQj/R1QUARs1EN8Zv/P2feefeNZz7LsOQZy+sZkp8/DF4icnErr1r8RGCY5eLtctbwCdyzB+D9ymPjpWPrka/M3gLnzyGxGQT4h/cyZvJ5egieK99ik7unbiz+IjRzXQ971+jXzt5ge5kx0DeWXU9OQ4zuh8idBy8a3D4RWHUMLnzbuS5k83gQ3JLx/pS3jVckM6h8yE2CnvWdy6WFEA9eufKvoBaMSsbYdCZNoWvk3qz6J/aqg2bCrYm4Tx4l3ARPLUZTu4yDjlPBCjGGxdhZVh7WPF1IkAeApOJAHkoKZEorTIEVqYCnJasVIDaLo9/bvKRAfJkgN3imAqQfXaAiSF8bIBFNsDEECq7PK4ChMcG2PzDASaGcApMJAIUmQDVdoDFPDs1OcR8fi1SZAJynp2C7GE1512SCR7mdkF5PDOoDoiz1oTHvabqtUu77SrqFNmsXXcZr7c9zkmsfdEnhJf285ybjPfbLmIn8htfif6+L04R45P1+JRe++ISor5iLyiPPlP1HTsn5kfskvC4pKkFxHs5bYLE/PXONzZJ7/MmWmc8d32XeX4i/uklg/r7FedP7XGL/s04OX51/LB624n6Wnqz8kX95eo754vJQpzKOf/rvpj/lJttL3Nut32x/uWcyH+5vhIejznpzeEztX6rbttl1AHU/hJvmkT94eQ5fKb2v+jNkqrveP+k5gfedD5LrT9+/4aN+Tvu/+n1J5r9iX8JxcEbyqMASN5cXhYR1gl/ak/t/9P+AGyhc1w=:83DC +^FT293,614^A0I,25,21^FH\^FD{DD}/{MO}/{YY}^FS +^FT145,614^A0I,25,21^FH\^FD{HH}:{MI}:{SS}^FS +^FT291,952^A0I,25,24^FH\^FDNumero Disegno^FS +^FT293,645^A0I,25,24^FH\^FDData/Ora Prova^FS +^FT293,691^A0I,25,24^FH\^FDN. Pezzo:^FS +^FT185,690^A0I,25,24^FH\^FD{SN5}^FS +^BY120,120^FT289,803^BXI,6,200,0,0,1,~ +^FH\^FD{PART}{MO}{YY}{SN5}^FS +^FT291,752^A0I,25,24^FH\^FD{PART}{MO}{YY}{SN5}^FS +^FT293,558^A0I,25,24^FH\^FDEsito : CONFORME^FS +^PQ1,0,1,Y^XZ diff --git a/config/label_templates/st-ten-12/203/ETA30x16_203dpi.prn b/config/label_templates/st-ten-12/203/ETA30x16_203dpi.prn new file mode 100644 index 0000000..29dd9f2 --- /dev/null +++ b/config/label_templates/st-ten-12/203/ETA30x16_203dpi.prn @@ -0,0 +1,14 @@ +CT~~CD,~CC^~CT~ +^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD20^JUS^LRN^CI0^XZ +^XA +^MMT +^PW256 +^LL0144 +^LS0 +^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 +^FT19,101^A0N,23,21^FH\^FD{DATE}^FS +^FT19,126^A0N,23,21^FH\^FD{TIME}^FS +^PQ1,0,1,Y^XZ diff --git a/config/machine_settings/st-ten-12.ini b/config/machine_settings/st-ten-12.ini index 3ed3092..0edafa1 100644 --- a/config/machine_settings/st-ten-12.ini +++ b/config/machine_settings/st-ten-12.ini @@ -27,6 +27,7 @@ model: t3p [label_printer] platform: windows printer: zd421 +risoluzione:203 [digital_io] # OUTPUT MAP FOR FIXTURE CONNECTOR