From 52268e633cc0e53b9a883cfa63b95466a3db1130 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Fri, 9 Sep 2022 15:17:07 +0200 Subject: [PATCH 1/4] Fix filtraggio valori BLINK - Baglietto (NONE) - FInassi (131, B0,B1,B7) --- IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini | 2 +- IOB-WIN-NEXT/DATA/CONF/FINASSI_OMP_01.ini | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini b/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini index 432f354f..4fd78ff6 100644 --- a/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini +++ b/IOB-WIN-NEXT/DATA/CONF/BAGLIETTO_CIMOLAI_01.ini @@ -41,8 +41,8 @@ MAX_COUNTER_BLINK = 15 ;bit5 = 0 ;bit6 = 0 ;bit7 = 0 -BLINK_FILT=0 ;BLINK_FILT=28 +BLINK_FILT=0 [OPTPAR] AUTO_CHANGE_ODL=false diff --git a/IOB-WIN-NEXT/DATA/CONF/FINASSI_OMP_01.ini b/IOB-WIN-NEXT/DATA/CONF/FINASSI_OMP_01.ini index 7dea2c94..633cab74 100644 --- a/IOB-WIN-NEXT/DATA/CONF/FINASSI_OMP_01.ini +++ b/IOB-WIN-NEXT/DATA/CONF/FINASSI_OMP_01.ini @@ -32,7 +32,7 @@ SIZE_WRITE=0 [BLINK] ;MAX_COUNTER_BLINK = 30 -MAX_COUNTER_BLINK = 15 +MAX_COUNTER_BLINK = 1 ;bit0 = 0 ;bit1 = 0 ;bit2 = 1 @@ -41,8 +41,8 @@ MAX_COUNTER_BLINK = 15 ;bit5 = 0 ;bit6 = 0 ;bit7 = 0 -BLINK_FILT=0 ;BLINK_FILT=28 +BLINK_FILT=131 [OPTPAR] AUTO_CHANGE_ODL=false From 864c71a79f47c1198bf0763414d1da463d4c7643 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 9 Sep 2022 15:32:12 +0200 Subject: [PATCH 2/4] Spostsamento script in folder specifica --- IOB-WIN-NEXT/script/script.py => UtilityScripts/alarmFormatter.py | 0 {IOB-WIN-NEXT/script => UtilityScripts}/alarms.csv | 0 {IOB-WIN-NEXT/script => UtilityScripts}/wiki.txt | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename IOB-WIN-NEXT/script/script.py => UtilityScripts/alarmFormatter.py (100%) rename {IOB-WIN-NEXT/script => UtilityScripts}/alarms.csv (100%) rename {IOB-WIN-NEXT/script => UtilityScripts}/wiki.txt (100%) diff --git a/IOB-WIN-NEXT/script/script.py b/UtilityScripts/alarmFormatter.py similarity index 100% rename from IOB-WIN-NEXT/script/script.py rename to UtilityScripts/alarmFormatter.py diff --git a/IOB-WIN-NEXT/script/alarms.csv b/UtilityScripts/alarms.csv similarity index 100% rename from IOB-WIN-NEXT/script/alarms.csv rename to UtilityScripts/alarms.csv diff --git a/IOB-WIN-NEXT/script/wiki.txt b/UtilityScripts/wiki.txt similarity index 100% rename from IOB-WIN-NEXT/script/wiki.txt rename to UtilityScripts/wiki.txt From de21437881facdb8e8ac2e26e1bb3b5400f9a6b0 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 9 Sep 2022 15:32:18 +0200 Subject: [PATCH 3/4] Readme iniziale --- UtilityScripts/README.md | 13 +++++++++++++ UtilityScripts/README.pdf | Bin 0 -> 39531 bytes 2 files changed, 13 insertions(+) create mode 100644 UtilityScripts/README.md create mode 100644 UtilityScripts/README.pdf diff --git a/UtilityScripts/README.md b/UtilityScripts/README.md new file mode 100644 index 00000000..c47bbd82 --- /dev/null +++ b/UtilityScripts/README.md @@ -0,0 +1,13 @@ +# Utility Scripts + +In questa cartella si trovano alcuni script di utility per al gestione dei vari sw IOB. + +## Gestione ALlarmi + +Per la gestione alalrmi sono necessari file **nome_macchina_alarm.json** la cui produzione manuale è onerosa. + +Zac piuttosto ceh farlo a mano si è quindi procurato uno script di conversione dal formato csv / excel al json richiesto. + + +**alarmFormatter.py** è uno script python3 che esegue questo compito partendo da un file alarm.csv che si trova nella stessa folder del file python stesso + diff --git a/UtilityScripts/README.pdf b/UtilityScripts/README.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2a3243db6ffe9c0742abf7e18447d52ab6a0f003 GIT binary patch literal 39531 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 A`~Uy| literal 0 HcmV?d00001 From acc0bf27342e9baa011a556b40bb1357335ce2d0 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 9 Sep 2022 15:50:59 +0200 Subject: [PATCH 4/4] UPdate readme + test export CIMOLAI --- .../Baglietto_CIMOLAI_01_alarm.json | 702 ++++++++++++++++++ UtilityScripts/README.md | 14 + UtilityScripts/README.pdf | Bin 39531 -> 51330 bytes 3 files changed, 716 insertions(+) create mode 100644 UtilityScripts/Baglietto_CIMOLAI_01_alarm.json diff --git a/UtilityScripts/Baglietto_CIMOLAI_01_alarm.json b/UtilityScripts/Baglietto_CIMOLAI_01_alarm.json new file mode 100644 index 00000000..85af7c1e --- /dev/null +++ b/UtilityScripts/Baglietto_CIMOLAI_01_alarm.json @@ -0,0 +1,702 @@ +[ +{ + "description": "profinet Byte_B0", + "tipoMem": "Byte", + "memAddr": "All_Byte_B0", + "index": 0, + "size": 1, + "messages": [ + "Allarme comunicazione profinet - I/O GT2", + "Allarme comunicazione profinet - Sistema di pesatura", + "Allarme comunicazione - Ricevente radiocomando", + "Allarme comunicazione CanOpen - Motore GT1", + "Allarme comunicazione CanOpen - Motore GT2", + "##", + "##", + "##" + ] +}, + +{ + "description": "profinet Byte_B1", + "tipoMem": "Byte", + "memAddr": "All_Byte_B1", + "index": 1, + "size": 1, + "messages": [ + "Allarme comunicazione profinet - Modulo IOlink 1(TU) {A190.1}", + "Allarme comunicazione profinet - Modulo IOlink 2(TU) {A190.2}", + "Allarme comunicazione profinet - Modulo IOlink 3(TU) {A190.3}", + "Allarme comunicazione profinet - Modulo IOlink 1(LB) {A206.1}", + "Allarme comunicazione profinet - Modulo IOlink 2(LB) {A206.2}", + "Allarme comunicazione profinet - Modulo IOlink 3(LB) {A206.3}", + "Allarme comunicazione profinet - Modulo IOlink 6(LB) {A206.6}", + "Allarme comunicazione profinet - Modulo IOlink 1(UB) {A231.1}" + ] +}, + +{ + "description": "profinet Byte_B2", + "tipoMem": "Byte", + "memAddr": "All_Byte_B2", + "index": 2, + "size": 1, + "messages": [ + "Allarme comunicazione profinet - Modulo IOlink 1.1(TU) {A690.1}", + "Allarme comunicazione profinet - Modulo IOlink 2.1(TU) {A690.2}", + "Allarme comunicazione profinet - Modulo IOlink 3.1(TU) {A690.3}", + "Allarme comunicazione profinet - Modulo IOlink 1.1(LB) {A706.1}", + "Allarme comunicazione profinet - Modulo IOlink 2.1(LB) {A706.2}", + "Allarme comunicazione profinet - Modulo IOlink 3.1(LB) {A706.3}", + "Allarme comunicazione profinet - Modulo IOlink 6.1(LB) {A706.6}", + "Allarme comunicazione profinet - Modulo IOlink 1.1(UB) {A731.1}" + ] +}, + +{ + "description": "profinet Byte_B3", + "tipoMem": "Byte", + "memAddr": "All_Byte_B3", + "index": 3, + "size": 1, + "messages": [ + "Allarme comunicazione profinet - Encoder ruota 1 sinistra", + "Allarme comunicazione profinet - Encoder ruota 2 sinistra", + "Allarme comunicazione profinet - Encoder ruota 3 sinistra", + "Allarme comunicazione profinet - Encoder ruota 4 sinistra", + "Allarme comunicazione profinet - Encoder ruota 5 sinistra", + "Allarme comunicazione profinet - Encoder ruota 6 sinistra", + "Allarme comunicazione profinet - Encoder ruota 7 sinistra", + "Allarme comunicazione profinet - Encoder ruota 8 sinistra" + ] +}, + +{ + "description": "profinet Byte_B4", + "tipoMem": "Byte", + "memAddr": "All_Byte_B4", + "index": 4, + "size": 1, + "messages": [ + "Allarme comunicazione profinet - Encoder ruota 1 destra", + "Allarme comunicazione profinet - Encoder ruota 2 destra", + "Allarme comunicazione profinet - Encoder ruota 3 destra", + "Allarme comunicazione profinet - Encoder ruota 4 destra", + "Allarme comunicazione profinet - Encoder ruota 5 destra", + "Allarme comunicazione profinet - Encoder ruota 6 destra", + "Allarme comunicazione profinet - Encoder ruota 7 destra", + "Allarme comunicazione profinet - Encoder ruota 8 destra" + ] +}, + +{ + "description": "profinet Byte_B5", + "tipoMem": "Byte", + "memAddr": "All_Byte_B5", + "index": 5, + "size": 1, + "messages": [ + "Allarme comunicazione profinet - encoder carrello 1", + "Allarme comunicazione profinet - encoder carrello 2", + "Allarme comunicazione profinet - encoder carrello 3", + "Allarme comunicazione profinet - encoder carrello 4", + "Allarme comunicazione profinet - encoder carrello 5", + "Allarme comunicazione profinet - encoder carrello 6", + "Allarme comunicazione profinet - encoder carrello 7", + "Allarme comunicazione profinet - encoder carrello 8" + ] +}, + +{ + "description": "profinet Byte_B6", + "tipoMem": "Byte", + "memAddr": "All_Byte_B6", + "index": 6, + "size": 1, + "messages": [ + "Allarme comunicazione profinet - encoder argano 1", + "Allarme comunicazione profinet - encoder argano 2", + "Allarme comunicazione profinet - encoder argano 3", + "Allarme comunicazione profinet - encoder argano 4", + "Allarme comunicazione profinet - encoder argano 5", + "Allarme comunicazione profinet - encoder argano 6", + "Allarme comunicazione profinet - encoder argano 7", + "Allarme comunicazione profinet - encoder argano 8" + ] +}, + +{ + "description": "message Byte_B7", + "tipoMem": "Byte", + "memAddr": "All_Byte_B7", + "index": 7, + "size": 1, + "messages": [ + "Pulsante emergenza premuto su ruota 1 SX", + "Pulsante emergenza premuto su ruota 2 SX", + "Pulsante emergenza premuto su ruota 3 SX", + "Pulsante emergenza premuto su ruota 4 SX", + "Pulsante emergenza premuto su ruota 5 SX", + "Pulsante emergenza premuto su ruota 6 SX", + "Pulsante emergenza premuto su ruota 7 SX", + "Pulsante emergenza premuto su ruota 8 SX" + ] +}, + +{ + "description": "message Byte_B8", + "tipoMem": "Byte", + "memAddr": "All_Byte_B8", + "index": 8, + "size": 1, + "messages": [ + "Pulsante emergenza premuto su ruota 1 DX", + "Pulsante emergenza premuto su ruota 2 DX", + "Pulsante emergenza premuto su ruota 3 DX", + "Pulsante emergenza premuto su ruota 4 DX", + "Pulsante emergenza premuto su ruota 5 DX", + "Pulsante emergenza premuto su ruota 6 DX", + "Pulsante emergenza premuto su ruota 7 DX", + "Pulsante emergenza premuto su ruota 8 DX" + ] +}, + +{ + "description": "message Byte_B9", + "tipoMem": "Byte", + "memAddr": "All_Byte_B9", + "index": 9, + "size": 1, + "messages": [ + "Pulsante emergenza premuto su QE GT1", + "Pulsante emergenza premuto su QE GT2", + "Radiocomando spento o fungo di emergenza premuto", + "##", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "hydraulic Byte_B10", + "tipoMem": "Byte", + "memAddr": "All_Byte_B10", + "index": 10, + "size": 1, + "messages": [ + "Filtro Intasato 1 - GT1", + "Filtro Intasato 2 - GT1", + "Filtro Intasato 3 - GT1", + "Filtro Intasato 4 - GT1", + "Filtro Intasato 5 - GT1", + "Filtro Intasato 6 - GT1", + "Massima temperatura olio - GT1", + "Livello minimo olio - GT1" + ] +}, + +{ + "description": "hydraulic Byte_B11", + "tipoMem": "Byte", + "memAddr": "All_Byte_B11", + "index": 11, + "size": 1, + "messages": [ + "Massima pressione sterzo - GT1", + "Allarme sensori di pressione su ralle", + "\"GT1 - Sensore livello olio - Massimo livello", + "##", + "Allarme Riserva diesel motore GT1", + "Anomalia motore diesel GT1", + "Timeout disattivazione frizione - inserimento pompe su GT1", + "##" + ] +}, + +{ + "description": "hydraulic Byte_B12", + "tipoMem": "Byte", + "memAddr": "All_Byte_B12", + "index": 12, + "size": 1, + "messages": [ + "GT1 - Sensore livello olio - Nessun segnale", + "GT1 - Sensore pressione freno - Nessun segnale", + "GT1 - Sensore pressione traslazione - Nessun segnale", + "GT1 - Sensore pressione PVG1 - Nessun segnale", + "GT1 - Sensore pressione PVG2 - Nessun segnale", + "GT1 - Sensore pressione PVG3 - Nessun segnale", + "GT1 - Sensore pressione PVG4 - Nessun segnale", + "GT1 - Sensore pressione PVG5 - Nessun segnale" + ] +}, + +{ + "description": "hydraulic Byte_B13", + "tipoMem": "Byte", + "memAddr": "All_Byte_B13", + "index": 13, + "size": 1, + "messages": [ + "##", + "##", + "##", + "##", + "##", + "GT1 - Sensore pressione pompa 2 - Nessun segnale", + "GT1 - Sensore pressione pompa 3 - Nessun segnale", + "GT1 - Sensore pressione pompa 4 - Nessun segnale" + ] +}, + +{ + "description": "hydraulic Byte_B14", + "tipoMem": "Byte", + "memAddr": "All_Byte_B14", + "index": 14, + "size": 1, + "messages": [ + "GT1 - Sensore pressione pompa 5 - Nessun segnale", + "##", + "##", + "##", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "hydraulic Byte_B15", + "tipoMem": "Byte", + "memAddr": "All_Byte_B15", + "index": 15, + "size": 1, + "messages": [ + "Filtro Intasato 1 - GT2", + "Filtro Intasato 2 - GT2", + "Filtro Intasato 3 - GT2", + "Filtro Intasato 4 - GT2", + "Filtro Intasato 5 - GT2", + "Filtro Intasato 6 - GT2", + "##", + "Livello minimo olio - GT2" + ] +}, + +{ + "description": "hydraulic Byte_B16", + "tipoMem": "Byte", + "memAddr": "All_Byte_B16", + "index": 16, + "size": 1, + "messages": [ + "Massima pressione sterzo - GT2", + "##", + "\"GT2 - Sensore livello olio - Massimo livello", + "##", + "Riserva diesel motore GT2", + "Anomalia motore diesel GT2", + "Timeout disattivazione frizione - inserimento pompe su GT2", + "##" + ] +}, + +{ + "description": "hydraulic Byte_B17", + "tipoMem": "Byte", + "memAddr": "All_Byte_B17", + "index": 17, + "size": 1, + "messages": [ + "GT2 - Sensore livello olio - Nessun segnale", + "GT2 - Sensore pressione freno - Nessun segnale", + "GT2 - Sensore pressione traslazione - Nessun segnale", + "GT2 - Sensore pressione PVG1 - Nessun segnale", + "GT2 - Sensore pressione PVG2 - Nessun segnale", + "GT2 - Sensore pressione PVG3 - Nessun segnale", + "GT2 - Sensore pressione PVG4 - Nessun segnale", + "GT2 - Sensore pressione PVG5 - Nessun segnale" + ] +}, + +{ + "description": "hydraulic Byte_B18", + "tipoMem": "Byte", + "memAddr": "All_Byte_B18", + "index": 18, + "size": 1, + "messages": [ + "##", + "##", + "##", + "##", + "##", + "GT2 - Sensore pressione pompa 2 - Nessun segnale", + "GT2 - Sensore pressione pompa 3 - Nessun segnale", + "GT2 - Sensore pressione pompa 4 - Nessun segnale" + ] +}, + +{ + "description": "hydraulic Byte_B19", + "tipoMem": "Byte", + "memAddr": "All_Byte_B19", + "index": 19, + "size": 1, + "messages": [ + "GT2 - Sensore pressione pompa 5 - Nessun segnale", + "##", + "##", + "##", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "positioning Byte_B20", + "tipoMem": "Byte", + "memAddr": "All_Byte_B20", + "index": 20, + "size": 1, + "messages": [ + "Ruota fuori finestra 1 SX", + "Ruota fuori finestra 2 SX", + "Ruota fuori finestra 3 SX", + "Ruota fuori finestra 4 SX", + "Ruota fuori finestra 5 SX", + "Ruota fuori finestra 6 SX", + "Ruota fuori finestra 7 SX", + "Ruota fuori finestra 8 SX" + ] +}, + +{ + "description": "positioning Byte_B21", + "tipoMem": "Byte", + "memAddr": "All_Byte_B21", + "index": 21, + "size": 1, + "messages": [ + "Ruota fuori finestra 1 DX", + "Ruota fuori finestra 2 DX", + "Ruota fuori finestra 3 DX", + "Ruota fuori finestra 4 DX", + "Ruota fuori finestra 5 DX", + "Ruota fuori finestra 6 DX", + "Ruota fuori finestra 7 DX", + "Ruota fuori finestra 8 DX" + ] +}, + +{ + "description": "positioning Byte_B22", + "tipoMem": "Byte", + "memAddr": "All_Byte_B22", + "index": 22, + "size": 1, + "messages": [ + "##", + "Allarme fuori finestra 5\u00b0", + "Allarme fuori finestra 10\u00b0", + "##", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "wind Byte_B23", + "tipoMem": "Byte", + "memAddr": "All_Byte_B23", + "index": 23, + "size": 1, + "messages": [ + "Allarme trasduttore velocit\u00e0 vento", + "Allarme anemometro soglia 1", + "Allarme anemometro soglia 2", + "Bypass inserito - Anemometro", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "positioning Byte_B24", + "tipoMem": "Byte", + "memAddr": "All_Byte_B24", + "index": 24, + "size": 1, + "messages": [ + "Posizione argano 1 fuori finestra", + "Posizione argano 2 fuori finestra", + "Posizione argano 3 fuori finestra", + "Posizione argano 4 fuori finestra", + "Posizione argano 5 fuori finestra", + "Posizione argano 6 fuori finestra", + "Posizione argano 7 fuori finestra", + "Posizione argano 8 fuori finestra" + ] +}, + +{ + "description": "positioning Byte_B25", + "tipoMem": "Byte", + "memAddr": "All_Byte_B25", + "index": 25, + "size": 1, + "messages": [ + "Posizione Carrello 1 fuori finestra", + "Posizione Carrello 2 fuori finestra", + "Posizione Carrello 3 fuori finestra", + "Posizione Carrello 4 fuori finestra", + "Posizione Carrello 5 fuori finestra", + "Posizione Carrello 6 fuori finestra", + "Posizione Carrello 7 fuori finestra", + "Posizione Carrello 8 fuori finestra" + ] +}, + +{ + "description": "Bypass Byte_B26", + "tipoMem": "Byte", + "memAddr": "All_Byte_B26", + "index": 26, + "size": 1, + "messages": [ + "Bypass inserito - encoder posizione - Argano 1", + "Bypass inserito - encoder posizione - Argano 2", + "Bypass inserito - encoder posizione - Argano 3", + "Bypass inserito - encoder posizione - Argano 4", + "Bypass inserito - encoder posizione - Argano 5", + "Bypass inserito - encoder posizione - Argano 6", + "Bypass inserito - encoder posizione - Argano 7", + "Bypass inserito - encoder posizione - Argano 8" + ] +}, + +{ + "description": "weighting Byte_B27", + "tipoMem": "Byte", + "memAddr": "All_Byte_B27", + "index": 27, + "size": 1, + "messages": [ + "Guasto celle canale 1", + "Guasto celle canale 2", + "Guasto celle canale 3", + "Guasto celle canale 4", + "Allarme sovraccarico argani 7-8", + "Allarme sovraccarico argani 5-6", + "Allarme sovraccarico argani 3-4", + "Allarme sovraccarico argani 1-2" + ] +}, + +{ + "description": "weighting Byte_B28", + "tipoMem": "Byte", + "memAddr": "All_Byte_B28", + "index": 28, + "size": 1, + "messages": [ + "Allarme sovraccarico somma totale", + "Stop sollevamento da controllo baricentro", + "##", + "##", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "## Byte_B29", + "tipoMem": "Byte", + "memAddr": "All_Byte_B29", + "index": 29, + "size": 1, + "messages": [ + "##", + "##", + "##", + "##", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "bypass Byte_B30", + "tipoMem": "Byte", + "memAddr": "All_Byte_B30", + "index": 30, + "size": 1, + "messages": [ + "Bypass inserito - sensore pressione - Ruota SX 1", + "Bypass inserito - sensore pressione - Ruota SX 2", + "Bypass inserito - sensore pressione - Ruota SX 3", + "Bypass inserito - sensore pressione - Ruota SX 4", + "Bypass inserito - sensore pressione - Ruota SX 5", + "Bypass inserito - sensore pressione - Ruota SX 6", + "Bypass inserito - sensore pressione - Ruota SX 7", + "Bypass inserito - sensore pressione - Ruota SX 8" + ] +}, + +{ + "description": "bypass Byte_B31", + "tipoMem": "Byte", + "memAddr": "All_Byte_B31", + "index": 31, + "size": 1, + "messages": [ + "Bypass inserito - sensore pressione - Ruota DX 1", + "Bypass inserito - sensore pressione - Ruota DX 2", + "Bypass inserito - sensore pressione - Ruota DX 3", + "Bypass inserito - sensore pressione - Ruota DX 4", + "Bypass inserito - sensore pressione - Ruota DX 5", + "Bypass inserito - sensore pressione - Ruota DX 6", + "Bypass inserito - sensore pressione - Ruota DX 7", + "Bypass inserito - sensore pressione - Ruota DX 8" + ] +}, + +{ + "description": "bypass Byte_B32", + "tipoMem": "Byte", + "memAddr": "All_Byte_B32", + "index": 32, + "size": 1, + "messages": [ + "Bypass inserito - sensore posizione - Carrello 1", + "Bypass inserito - sensore posizione - Carrello 2", + "Bypass inserito - sensore posizione - Carrello 3", + "Bypass inserito - sensore posizione - Carrello 4", + "Bypass inserito - sensore posizione - Carrello 5", + "Bypass inserito - sensore posizione - Carrello 6", + "Bypass inserito - sensore posizione - Carrello 7", + "Bypass inserito - sensore posizione - Carrello 8" + ] +}, + +{ + "description": "Bypass Byte_B33", + "tipoMem": "Byte", + "memAddr": "All_Byte_B33", + "index": 33, + "size": 1, + "messages": [ + "Bypass inserito - encoder posizione - Carrello 1", + "Bypass inserito - encoder posizione - Carrello 2", + "Bypass inserito - encoder posizione - Carrello 3", + "Bypass inserito - encoder posizione - Carrello 4", + "Bypass inserito - encoder posizione - Carrello 5", + "Bypass inserito - encoder posizione - Carrello 6", + "Bypass inserito - encoder posizione - Carrello 7", + "Bypass inserito - encoder posizione - Carrello 8" + ] +}, + +{ + "description": "bypass Byte_B34", + "tipoMem": "Byte", + "memAddr": "All_Byte_B34", + "index": 34, + "size": 1, + "messages": [ + "Bypass inserito - finecorsa posizione - Argano 1", + "Bypass inserito - finecorsa posizione - Argano 2", + "Bypass inserito - finecorsa posizione - Argano 3", + "Bypass inserito - finecorsa posizione - Argano 4", + "Bypass inserito - finecorsa posizione - Argano 5", + "Bypass inserito - finecorsa posizione - Argano 6", + "Bypass inserito - finecorsa posizione - Argano 7", + "Bypass inserito - finecorsa posizione - Argano 8" + ] +}, + +{ + "description": "bypass Byte_B35", + "tipoMem": "Byte", + "memAddr": "All_Byte_B35", + "index": 35, + "size": 1, + "messages": [ + "Bypass inserito - controllo posizione baricentro", + "##", + "##", + "##", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "## Byte_B36", + "tipoMem": "Byte", + "memAddr": "All_Byte_B36", + "index": 36, + "size": 1, + "messages": [ + "##", + "##", + "##", + "##", + "##", + "##", + "##", + "##" + ] +}, + +{ + "description": "## Byte_B37", + "tipoMem": "Byte", + "memAddr": "All_Byte_B37", + "index": 37, + "size": 1, + "messages": [ + "Richiesta manutenzione traslazione", + "Richiesta manutenzione sterzatura", + "Richiesta manutenzione motore GT1", + "Richiesta manutenzione motore GT2", + "Richiesta manutenzione argani", + "Richiesta manutenzione carrelli", + "##", + "##" + ] +}, + +{ + "description": "n/a Byte_B38", + "tipoMem": "Byte", + "memAddr": "n/a", + "index": 38, + "size": 1, + "messages": [ + "n/a", + "n/a", + "n/a", + "n/a", + "n/a", + "n/a", + "n/a" + ] +} +] \ No newline at end of file diff --git a/UtilityScripts/README.md b/UtilityScripts/README.md index c47bbd82..626a4898 100644 --- a/UtilityScripts/README.md +++ b/UtilityScripts/README.md @@ -11,3 +11,17 @@ Zac piuttosto ceh farlo a mano si è quindi procurato uno script di conversione **alarmFormatter.py** è uno script python3 che esegue questo compito partendo da un file alarm.csv che si trova nella stessa folder del file python stesso + +### Prerequisiti + +Per impiegare lo script è necessario l'ambiente python3 + una libreria specifica + +``` +choco install python3 +``` +e poi una volta installato python + +```python + pip install inquirer +``` +pacchetto per gestire la scelta del file di lettura diff --git a/UtilityScripts/README.pdf b/UtilityScripts/README.pdf index 2a3243db6ffe9c0742abf7e18447d52ab6a0f003..6723ba7998165e152b9a0f6b5c1900c32c3118e7 100644 GIT binary patch delta 25597 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 G4gEj7u~9w% delta 14118 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