diff --git a/MTC_Adapter/MTC_Adapter/AdapterESA.cs b/MTC_Adapter/MTC_Adapter/AdapterESA.cs index c375853..a5a1d04 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterESA.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterESA.cs @@ -32,7 +32,7 @@ namespace MTC_Adapter /// public otherData[] mapIOT_String; /// - /// variabile globale x usare IOT MEMORI (!!! da eliminare alla fine dei test) + /// variabile globale x usare IOT MEMORY (!!! da eliminare alla fine dei test) /// protected bool useIotMem = true; @@ -231,6 +231,183 @@ namespace MTC_Adapter } } + /// + /// Carica ed acquisisce dati del buffer Byte (8 bit) di memoria + /// + protected void getIotMem_Byte() + { + // HARD CODE: forzo path 1 (indice 0...) + int idxPath = 0; + // accodo dati path in DataMonitor...... + StringBuilder sb = new StringBuilder(); + + if (connectionOk) + { + // leggo TUTTO il blocco di memoria + inizio = DateTime.Now; + ncDevice.ReadBufferByte(); + if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-PLC_IOT-Byte", ncDevice.PLC_MemoryAreaIOT_Byte.Length), DateTime.Now.Subtract(inizio).Ticks); + } + else + { + lg.Error("Errore connessione mancante in getIotMem_Byte"); + } + // Processing area BYTE + int numero = 0; + string status = ""; + int bitNum = 0; + int byteNum = 0; + byte currByte; + for (int i = 0; i < mapIOT_Byte.Length; i++) + { + // gestisco in primis le variabili BIT + if (mapIOT_Byte[i].dataType == "BIT") + { + string[] memIdx = mapIOT_Byte[i].memAddr.Split('.'); + // calcolo bit e byte number... + int.TryParse(memIdx[0], out byteNum); + if (memIdx.Length > 1) + { + int.TryParse(memIdx[1], out bitNum); + } + // leggo byte... + currByte = ncDevice.PLC_MemoryAreaIOT_Byte[byteNum]; + if (mapIOT_Byte[i].varName == "IOT_EXEC") + { + if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) + { + vettPath[idxPath].mPathExeMode.Value = "RUN"; + // !!!FARE per ora prendo ANCHE poweron... + mPower.Value = "ON"; + } + else + { + vettPath[idxPath].mPathExeMode.Value = "READY"; + // !!!FARE per ora prendo ANCHE poweron... + mPower.Value = "OFF"; + } + } + else if (mapIOT_Byte[i].varName == "IOT_HOLD") + { + if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) //(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] != 0) + { + vettPath[idxPath].mPathExeMode.Value = "FEED_HOLD"; //"FEEDHOLD"; + } + } + else if (mapIOT_Byte[i].varName == "IOT_EMG") + { + // 2017.03.07 controllo bit emergenza... + if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) //(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] != 0) + { + mEStop.Value = "TRIGGERED"; + } + else + { + mEStop.Value = "ARMED"; + } + } + else if (mapIOT_Byte[i].varName == "IOT_ALRM") + { + if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) //(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] != 0) + { + // carico IN BLOCCO memoria allarmi... + // FARE!!! + } + } + } + // vado poi a gestire le variabili BYTE + else if (mapIOT_Byte[i].dataType == "BYTE") + { + int.TryParse(mapIOT_Byte[i].memAddr, out byteNum); + if (mapIOT_Byte[i].varName == "IOT_OVRF") + { + // ------------------------------------------- + // recupero dati FeedOverride + // FeedOver: 100% = 213 (il pannello è 0-120 --> 0-255, quindi 100% è 100/120*255=213) + FeedRateOver = Convert.ToInt16((decimal)(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] * 100) / 213); + sb.AppendLine(string.Format("FeedRateOver: {0} %", FeedRateOver)); + } + else if (mapIOT_Byte[i].varName == "IOT_OVRS") + { + // ------------------------------------------- + // recupero dati SpeedOverride + // SpeedOver: 50% = 128 + SpeedRateOver = Convert.ToInt16((decimal)(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] * 100) / 255); + sb.AppendLine(string.Format("SpeedRateOver: {0} %", SpeedRateOver)); + } + else if (mapIOT_Byte[i].varName.StartsWith("IOT_LUB_")) + { + // recupero NUMERO + try + { + numero = Convert.ToInt32(mapIOT_Byte[i].varName.Replace("IOT_LUB_", "").Replace("_Status", "")); + } + catch + { + // se non trovo --> 1! + numero = 1; + } + if (mapIOT_Byte[i].varName.EndsWith("_STA")) + { + if (ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] != 0) + { + status = "EMPTY"; + } + else + { + status = "OK"; + } + vettLubro[numero - 1].mLubroStatus.Value = status; + } + else if (mapIOT_Byte[i].varName.EndsWith("_CNT")) + { + vettLubro[numero - 1].mLubroNum.Value = ncDevice.PLC_MemoryAreaIOT_Byte[i]; + } + } + else if (mapIOT_Byte[i].varName.StartsWith("IOT_I_MD_")) + { + // recupero NUMERO + try + { + numero = Convert.ToInt32(mapIOT_Byte[i].varName.Replace("IOT_I_MD_", "")); + } + catch + { + // se non trovo --> 1! + numero = 1; + } + // salvo in vettore carico mandrini + try + { + vettUnOp[numero - 1].mUnOpLoad.Value = ncDevice.PLC_MemoryAreaIOT_Byte[i]; + } + catch + { } + } + else if (mapIOT_Byte[i].varName.StartsWith("IOT_PGMR_A_")) + { + // recupero NUMERO + try + { + numero = Convert.ToInt32(mapIOT_Byte[i].varName.Replace("IOT_I_MD_", "")); + } + catch + { + // se non trovo --> 1! + numero = 1; + } + //// salvo in vettore carico mandrini + //try + //{ + // vettUnOp[numero - 1].mUnOpLoad.Value = ncDevice.PLC_MemoryAreaIOT_Byte[i]; + //} + //catch + //{ } + } + } + } + parentForm.dataMonitor += sb.ToString(); + } /// /// Carica ed acquisisce dati del buffer WORD (16 bit) di memoria /// @@ -415,8 +592,8 @@ namespace MTC_Adapter try { numero = Convert.ToInt32(mapIOT_DWord[i].varName.Replace("IOT_PLC_MSG_", "")); - // !!! FARE Copia aree allarmi!!!! - + // copio allarmi in vettore generale AlarmFlags (dove lo gestisce) 4 byte alla volta + Buffer.BlockCopy(BitConverter.GetBytes(ncDevice.PLC_MemoryAreaIOT_DWord[byteNum]), 0, AlarmFlags, numero * 4, 4); } catch { @@ -449,19 +626,15 @@ namespace MTC_Adapter { base.getGlobalData(); - // accodo dati path in DataMonitor...... - StringBuilder sb = new StringBuilder(); - // 2017.03.07 IN BLOCCO processo TUTTI i valori della memoria WORD/DWORD... if (useIotMem) { - getIotMem_Word(); - getIotMem_DWord(); - // processo assi! - getAxis(); + processAllMemory(); } else { + // accodo dati path in DataMonitor...... + StringBuilder sb = new StringBuilder(); if (connectionOk) { // leggo TUTTO il blocco di memoria @@ -564,10 +737,9 @@ namespace MTC_Adapter // copio allarmi in vettore generale AlarFlags (dove lo gestisce)... Buffer.BlockCopy(ncDevice.PLC_MemoryAreaAllarmi, 0, AlarmFlags, 0, ncDevice.PLC_MemoryAreaAllarmi.Length); - //Buffer.BlockCopy(ncDevice.PLC_MemAreaAlarm_tmp, 0, AlarmFlags, 0, ncDevice.PLC_MemAreaAlarm_tmp.Length); + parentForm.dataMonitor = sb.ToString(); } - parentForm.dataMonitor = sb.ToString(); } /// /// Path percorso file prod @@ -714,6 +886,28 @@ namespace MTC_Adapter } } } + + public override void processAllMemory() + { + // inizializzo data monitor su FORM + parentForm.dataMonitor = ""; + + // recupero le varie memorie + getIotMem_Byte(); + getIotMem_Word(); + getIotMem_DWord(); + //getIotMem_String(); + + // processo componenti specifici x info... + //getUnOp(); + //getPath(); + getAxis(); + + getConfigParam(); + ///acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) + getSlowChangingData(); + } + /// /// Processo stti macchina... /// @@ -728,164 +922,7 @@ namespace MTC_Adapter // 2017.03.07 IN BLOCCO processo TUTTI i valori della memoria BYTE... if (useIotMem) { - inizio = DateTime.Now; - ncDevice.ReadBufferByte(); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-PLC_IOT-Byte", ncDevice.PLC_MemoryAreaIOT_Byte.Length), DateTime.Now.Subtract(inizio).Ticks); - // uno ad uno vado a inserirli nella mappa dei dati dell'adapter... - int numero = 0; - string status = ""; - int bitNum = 0; - int byteNum = 0; - byte currByte; - for (int i = 0; i < mapIOT_Byte.Length; i++) - { - // gestisco in primis le variabili BIT - if (mapIOT_Byte[i].dataType == "BIT") - { - string[] memIdx = mapIOT_Byte[i].memAddr.Split('.'); - // calcolo bit e byte number... - int.TryParse(memIdx[0], out byteNum); - if (memIdx.Length > 1) - { - int.TryParse(memIdx[1], out bitNum); - } - // leggo byte... - currByte = ncDevice.PLC_MemoryAreaIOT_Byte[byteNum]; - if (mapIOT_Byte[i].varName == "IOT_EXEC") - { - if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) - { - vettPath[idxPath].mPathExeMode.Value = "RUN"; - // !!!FARE per ora prendo ANCHE poweron... - mPower.Value = "ON"; - } - else - { - vettPath[idxPath].mPathExeMode.Value = "READY"; - // !!!FARE per ora prendo ANCHE poweron... - mPower.Value = "OFF"; - } - } - else if (mapIOT_Byte[i].varName == "IOT_HOLD") - { - if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) //(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] != 0) - { - vettPath[idxPath].mPathExeMode.Value = "FEED_HOLD"; //"FEEDHOLD"; - } - } - else if (mapIOT_Byte[i].varName == "IOT_EMG") - { - // 2017.03.07 controllo bit emergenza... - if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) //(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] != 0) - { - mEStop.Value = "TRIGGERED"; - } - else - { - mEStop.Value = "ARMED"; - } - } - else if (mapIOT_Byte[i].varName == "IOT_ALRM") - { - if (((StFlag8)currByte).HasFlag((StFlag8)Math.Pow(2, bitNum))) //(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] != 0) - { - // carico IN BLOCCO memoria allarmi... - // FARE!!! - } - } - } - // vado poi a gestire le variabili BYTE - else if (mapIOT_Byte[i].dataType == "BYTE") - { - int.TryParse(mapIOT_Byte[i].memAddr, out byteNum); - if (mapIOT_Byte[i].varName == "IOT_OVRF") - { - // ------------------------------------------- - // recupero dati FeedOverride - // FeedOver: 100% = 213 (il pannello è 0-120 --> 0-255, quindi 100% è 100/120*255=213) - FeedRateOver = Convert.ToInt16((decimal)(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] * 100) / 213); - sb.AppendLine(string.Format("FeedRateOver: {0} %", FeedRateOver)); - } - else if (mapIOT_Byte[i].varName == "IOT_OVRS") - { - // ------------------------------------------- - // recupero dati SpeedOverride - // SpeedOver: 50% = 128 - SpeedRateOver = Convert.ToInt16((decimal)(ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] * 100) / 255); - sb.AppendLine(string.Format("SpeedRateOver: {0} %", SpeedRateOver)); - } - else if (mapIOT_Byte[i].varName.StartsWith("IOT_LUB_")) - { - // recupero NUMERO - try - { - numero = Convert.ToInt32(mapIOT_Byte[i].varName.Replace("IOT_LUB_", "").Replace("_Status", "")); - } - catch - { - // se non trovo --> 1! - numero = 1; - } - if (mapIOT_Byte[i].varName.EndsWith("_STA")) - { - if (ncDevice.PLC_MemoryAreaIOT_Byte[byteNum] != 0) - { - status = "EMPTY"; - } - else - { - status = "OK"; - } - vettLubro[numero - 1].mLubroStatus.Value = status; - } - else if (mapIOT_Byte[i].varName.EndsWith("_CNT")) - { - vettLubro[numero - 1].mLubroNum.Value = ncDevice.PLC_MemoryAreaIOT_Byte[i]; - } - } - else if (mapIOT_Byte[i].varName.StartsWith("IOT_I_MD_")) - { - // recupero NUMERO - try - { - numero = Convert.ToInt32(mapIOT_Byte[i].varName.Replace("IOT_I_MD_", "")); - } - catch - { - // se non trovo --> 1! - numero = 1; - } - // salvo in vettore carico mandrini - try - { - vettUnOp[numero - 1].mUnOpLoad.Value = ncDevice.PLC_MemoryAreaIOT_Byte[i]; - } - catch - { } - } - else if (mapIOT_Byte[i].varName.StartsWith("IOT_PGMR_A_")) - { - // recupero NUMERO - try - { - numero = Convert.ToInt32(mapIOT_Byte[i].varName.Replace("IOT_I_MD_", "")); - } - catch - { - // se non trovo --> 1! - numero = 1; - } - //// salvo in vettore carico mandrini - //try - //{ - // vettUnOp[numero - 1].mUnOpLoad.Value = ncDevice.PLC_MemoryAreaIOT_Byte[i]; - //} - //catch - //{ } - } - } - - } + processAllMemory(); } else { @@ -973,9 +1010,11 @@ namespace MTC_Adapter break; } } - parentForm.dataMonitor += sb.ToString(); + //parentForm.dataMonitor = sb.ToString(); } - + /// + /// Recupera la speed override x i mandrini (UnOp) + /// public override void getUnOp() { // cicl su UnOp @@ -985,11 +1024,9 @@ namespace MTC_Adapter } } - public override void getPath() - { - base.getPath(); - } - + /// + /// Carica info accessorie assi (direzione, feed, ...) + /// public override void getAxis() { // mostro assi in DataMonitor...... @@ -1056,6 +1093,7 @@ namespace MTC_Adapter parentForm.dataMonitor += sb.ToString(); } +#if false public override void processAlarm() { base.processAlarm(); @@ -1083,6 +1121,7 @@ namespace MTC_Adapter } } } - } + } +#endif } } diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index 38a97b8..dda3294 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -575,6 +575,10 @@ namespace MTC_Adapter /// public bool adpTryRestart; /// + /// Determina se utilizzare blocchi di memoria IOT contigui (e quindi processing "monoblocco" semplificato"= + /// + public bool procIotMem = false; + /// /// porta x adapter (x restart) /// protected int adpPortNum; @@ -968,6 +972,7 @@ namespace MTC_Adapter lg = LogManager.GetCurrentClassLogger(); lg.Info("Avvio AdapterGeneric"); + procIotMem = utils.CRB("procIotMem"); currAdpConf = adpConf; @@ -1192,7 +1197,7 @@ namespace MTC_Adapter // 2016.07.20: dimensione AlarmFlags è la MAX tra quella del numero allarmi ed il numero allarmi standard dalla memoria... if (numByte < 32) numByte = 32; AlarmFlags = new byte[numByte]; - if (utils.CRB("verbose")) lg.Info("Fine caricamento vettore allarmi"); + if (utils.CRB("verbose")) lg.Info(string.Format("Fine caricamento vettore allarmi: {0} allarmi caricati!", rumRiga)); } /// /// Caricamento altri file necessari epr adapter all'avvio @@ -1557,45 +1562,65 @@ namespace MTC_Adapter // processing degli strobes di allarme (da ULTIMA rappresentazione vettore dell'ADP) processAlarm(); - - // ciclo HF: recupero update status & strobes vari - if (ciclo == gatherCycle.HF) + // verifico se processare tutto "in un colpo solo" + if (procIotMem) { - // parte che eseguo SEMPRE: RECUPERO stato di tutti gli strobe/status e degli ack attualmente noti - getStrobeAndAckStatus(); - - // faccio refresh degli allarmi segnalati (da strobe su vettore locale) - refreshAlarmState(STRB_DW0, true); - // acquisizione degli status - processStatus(); - // processing degli strobes - processStrobe(); + processAllMemory(); + if (ciclo == gatherCycle.LF) + { + // eventuale log! + if (utils.CRB("recTime")) logTimeResults(); + } + // ciclo lentissimo + else if (ciclo == gatherCycle.VLF) + { + lg.Info("Richiesta lettura completa allarmi attivi"); + // faccio comunque rilettura completa allarmi... + forceAlarmCheck(); + } } - else if (ciclo == gatherCycle.MF) + // oppure in "modalità classica" con multistep... + else { - // leggo parametri a media freq (dati globali, path, assi, Unità Operatrice) - getGlobalData(); - getUnOp(); - getPath(); - getAxis(); - } - // ciclo lento - else if (ciclo == gatherCycle.LF) - { - // leggo EVENTUALI parametri da config file - getConfigParam(); - ///acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) - getSlowChangingData(); + // ciclo HF: recupero update status & strobes vari + if (ciclo == gatherCycle.HF) + { + // parte che eseguo SEMPRE: RECUPERO stato di tutti gli strobe/status e degli ack attualmente noti + getStrobeAndAckStatus(); - // eventuale log! - if (utils.CRB("recTime")) logTimeResults(); - } - // ciclo lentissimo - else if (ciclo == gatherCycle.VLF) - { - lg.Info("Richiesta lettura completa allarmi attivi"); - // faccio comunque rilettura completa allarmi... - forceAlarmCheck(); + // faccio refresh degli allarmi segnalati (da strobe su vettore locale) + refreshAlarmState(STRB_DW0, true); + // acquisizione degli status + processStatus(); + // processing degli strobes + processStrobe(); + } + else if (ciclo == gatherCycle.MF) + { + // leggo parametri a media freq (dati globali, path, assi, Unità Operatrice) + getGlobalData(); + getUnOp(); + getPath(); + getAxis(); + } + // ciclo lento + else if (ciclo == gatherCycle.LF) + { + // leggo EVENTUALI parametri da config file + getConfigParam(); + ///acquisisco dati su programma in esecuzione e dati generali (stato, orologio, power...) + getSlowChangingData(); + + // eventuale log! + if (utils.CRB("recTime")) logTimeResults(); + } + // ciclo lentissimo + else if (ciclo == gatherCycle.VLF) + { + lg.Info("Richiesta lettura completa allarmi attivi"); + // faccio comunque rilettura completa allarmi... + forceAlarmCheck(); + } } // processo e svuoto eventuali code di invio per Codici M/S/T @@ -1865,7 +1890,11 @@ namespace MTC_Adapter } } } - + /// + /// Classe fittizia in caso di processing GLOBALE di tutto in 1 solo colpo... + /// + public virtual void processAllMemory() + { } /// /// metodo di recupero dei dati di identificativo macchina - DA CONF!!! /// diff --git a/MTC_Adapter/MTC_Adapter/App.CMS-FANUC.config b/MTC_Adapter/MTC_Adapter/App.CMS-FANUC.config index d750312..3a6d44e 100644 --- a/MTC_Adapter/MTC_Adapter/App.CMS-FANUC.config +++ b/MTC_Adapter/MTC_Adapter/App.CMS-FANUC.config @@ -4,6 +4,7 @@ + diff --git a/MTC_Adapter/MTC_Adapter/App.CMS-SIEMENS.config b/MTC_Adapter/MTC_Adapter/App.CMS-SIEMENS.config index 0d1692c..7a93800 100644 --- a/MTC_Adapter/MTC_Adapter/App.CMS-SIEMENS.config +++ b/MTC_Adapter/MTC_Adapter/App.CMS-SIEMENS.config @@ -4,6 +4,7 @@ + diff --git a/MTC_Adapter/MTC_Adapter/App.SCM-ESA.config b/MTC_Adapter/MTC_Adapter/App.SCM-ESA.config index a0920a8..5eaa87c 100644 --- a/MTC_Adapter/MTC_Adapter/App.SCM-ESA.config +++ b/MTC_Adapter/MTC_Adapter/App.SCM-ESA.config @@ -4,10 +4,11 @@ + - + diff --git a/MTC_Adapter/MTC_Adapter/App.config b/MTC_Adapter/MTC_Adapter/App.config index 3c5226e..f9af073 100644 --- a/MTC_Adapter/MTC_Adapter/App.config +++ b/MTC_Adapter/MTC_Adapter/App.config @@ -60,6 +60,8 @@ + + diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map b/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map index c799ba6..b86b64a 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map @@ -1,58 +1,58 @@ # Commenti con "#", elenco tipo COD_NUM|GRUPPO|LEVEL|DESCRIZIONE completa -000001|PLC|FAULT|[COD 001000] - 334 ERRORE COMUNICAZIONE PROFIBUS -000002|PLC|FAULT|[COD 001001] - 700 TABELLE IN MODIFICA -000003|PLC|FAULT|[COD 001002] - 404 BILANCIAMENTO ASSE Z INSUFFICIENTE -000004|PLC|FAULT|[COD 001003] - 403 SURRISCALDAMENTO ARMADIO ELETTRICO -000005|PLC|FAULT|[COD 001004] - 173 CAMBIARE LA BATTERIA -000006|PLC|FAULT|[COD 001005] - 407 UNO O PIU ASSI IN EXTRA CORSA -000007|PLC|FAULT|[COD 001006] - 406 PULSANTI DI EMERGENZA -000008|PLC|FAULT|[COD 001007] - ... -000009|PLC|FAULT|[COD 001008] - 583 MACCHINA SPENTA -000010|PLC|FAULT|[COD 001009] - 782 RICHIESTA ESECUZIONE TEST DI SICUREZZA -000011|PLC|FAULT|[COD 001010] - 783 INCONSISTENZA SEGNALI DUALCHEK (PARATIA) -000012|PLC|FAULT|[COD 001011] - 784 SOVRACORRENTE MODULI I/O LINK -000013|PLC|FAULT|[COD 001012] - 667 CIRCUITO DI SICUREZZA GUASTO -000014|PLC|FAULT|[COD 001013] - 404 BILANCIAMENTO ASSE W INSUFFICIENTE -000015|PLC|FAULT|[COD 001014] - 584 PORTA DI SICUREZZA AUSILIARIA 1 NON CHIUSA -000016|PLC|FAULT|[COD 001015] - 584 PORTA DI SICUREZZA AUSILIARIA 2 NON CHIUSA -000017|PLC|FAULT|[COD 001016] - 001 HAI VERIFICATO TABELLE UTENSILI ? PREMERE SOFTKEY SI -000018|PLC|FAULT|[COD 001017] - 002 SEI SICURO ? PREMERE SOFTKEY SI -000019|PLC|FAULT|[COD 001018] - 666 MODULO CONTROLLO MANDRINO FERMO NON OK -000020|PLC|FAULT|[COD 001019] - 666 DISPOSITIVO DI SICUREZZA GUASTO -000021|PLC|FAULT|[COD 001020] - 689 STATUS UTENSILE NON OK -000022|PLC|FAULT|[COD 001021] - 688 ERRORE TOOLTABLE - SINCRONISMO DATI -000023|PLC|FAULT|[COD 001022] - 688 ERRORE TOOLTABLE - UTENSILE NON TROVATO -000024|PLC|FAULT|[COD 001023] - 688 ERRORE TOOLTABLE - PASTIGLIA NON TROVATA -000025|PLC|FAULT|[COD 001024] - 688 ERRORE TOOLTABLE - FAMIGLIA NON TROVATA -000026|PLC|FAULT|[COD 001025] - 688 ERRORE TOOLTABLE - MAGAZZINO/POSTO NON TROVATO -000027|PLC|FAULT|[COD 001026] - 688 ERRORE TOOLTABLE - VITA UT. ESAURITA PER FAMIGLIA -000028|PLC|FAULT|[COD 001027] - 688 ERRORE TOOLTABLE - POSTO MAGAZZINO NON TROVATO -000029|PLC|FAULT|[COD 001028] - ... -000030|PLC|FAULT|[COD 001029] - ... -000031|PLC|FAULT|[COD 001030] - ... -000032|PLC|FAULT|[COD 001031] - 146 FIELDBUS KO (375) -000033|PLC|FAULT|[COD 001032] - -000034|PLC|FAULT|[COD 001033] - -000035|PLC|FAULT|[COD 001034] - -000036|PLC|FAULT|[COD 001035] - -000037|PLC|FAULT|[COD 001036] - -000038|PLC|FAULT|[COD 001037] - -000039|PLC|FAULT|[COD 001038] - -000040|PLC|FAULT|[COD 001039] - -000041|PLC|FAULT|[COD 001040] - -000042|PLC|FAULT|[COD 001041] - -000043|PLC|FAULT|[COD 001042] - -000044|PLC|FAULT|[COD 001043] - -000045|PLC|FAULT|[COD 001044] - -000046|PLC|FAULT|[COD 001045] - -000047|PLC|FAULT|[COD 001046] - -000048|PLC|FAULT|[COD 001047] - -000049|PLC|FAULT|[COD 001048] - -000050|PLC|FAULT|[COD 001049] - -000051|PLC|FAULT|[COD 001050] - -000052|PLC|FAULT|[COD 001051] - -000053|PLC|FAULT|[COD 001052] - -000054|PLC|FAULT|[COD 001053] - +000001|PLC|FAULT|[COD 001000] - +000002|PLC|FAULT|[COD 001001] - +000003|PLC|FAULT|[COD 001002] - +000004|PLC|FAULT|[COD 001003] - +000005|PLC|FAULT|[COD 001004] - +000006|PLC|FAULT|[COD 001005] - +000007|PLC|FAULT|[COD 001006] - +000008|PLC|FAULT|[COD 001007] - +000009|PLC|FAULT|[COD 001008] - +000010|PLC|FAULT|[COD 001009] - +000011|PLC|FAULT|[COD 001010] - +000012|PLC|FAULT|[COD 001011] - +000013|PLC|FAULT|[COD 001012] - +000014|PLC|FAULT|[COD 001013] - +000015|PLC|FAULT|[COD 001014] - +000016|PLC|FAULT|[COD 001015] - +000017|PLC|FAULT|[COD 001016] - +000018|PLC|FAULT|[COD 001017] - +000019|PLC|FAULT|[COD 001018] - +000020|PLC|FAULT|[COD 001019] - +000021|PLC|FAULT|[COD 001020] - +000022|PLC|FAULT|[COD 001021] - +000023|PLC|FAULT|[COD 001022] - +000024|PLC|FAULT|[COD 001023] - +000025|PLC|FAULT|[COD 001024] - +000026|PLC|FAULT|[COD 001025] - +000027|PLC|FAULT|[COD 001026] - +000028|PLC|FAULT|[COD 001027] - +000029|PLC|FAULT|[COD 001028] - +000030|PLC|FAULT|[COD 001029] - +000031|PLC|FAULT|[COD 001030] - +000032|PLC|FAULT|[COD 001031] - +000033|PLC|FAULT|[COD 001032] - +000034|PLC|FAULT|[COD 001033] - +000035|PLC|FAULT|[COD 001034] - +000036|PLC|FAULT|[COD 001035] - +000037|PLC|FAULT|[COD 001036] - +000038|PLC|FAULT|[COD 001037] - +000039|PLC|FAULT|[COD 001038] - +000040|PLC|FAULT|[COD 001039] - +000041|PLC|FAULT|[COD 001040] - +000042|PLC|FAULT|[COD 001041] - +000043|PLC|FAULT|[COD 001042] - +000044|PLC|FAULT|[COD 001043] - +000045|PLC|FAULT|[COD 001044] - +000046|PLC|FAULT|[COD 001045] - +000047|PLC|FAULT|[COD 001046] - +000048|PLC|FAULT|[COD 001047] - +000049|PLC|FAULT|[COD 001048] - +000050|PLC|FAULT|[COD 001049] - +000051|PLC|FAULT|[COD 001050] - +000052|PLC|FAULT|[COD 001051] - +000053|PLC|FAULT|[COD 001052] - +000054|PLC|FAULT|[COD 001053] - 000055|PLC|FAULT|[COD 001054] - 000056|PLC|FAULT|[COD 001055] - 000057|PLC|FAULT|[COD 001056] - @@ -255,109 +255,109 @@ 000254|PLC|FAULT|[COD 001253] - 000255|PLC|FAULT|[COD 001254] - 000256|PLC|FAULT|[COD 001255] - -000257|PLC|FAULT|[COD 002000] - 444 PRESSIONE LIQUIDO DI RAFFREDDAMENTO INSUFFICIENTE -000258|PLC|FAULT|[COD 002001] - 441 MALFUNZIONAMENTO RAFFREDDAMENTO MANDRINI -000259|PLC|FAULT|[COD 002002] - 276 LIMITI SOFTWARE ASSE X NON ATTUALI -000260|PLC|FAULT|[COD 002003] - 512 CAMBIO ZONA INTERROTTO -000261|PLC|FAULT|[COD 002004] - 346 PARATIA NON IN POSIZIONE -000262|PLC|FAULT|[COD 002005] - 607 PREMERE PRENOTAZIONE CAMBIO ZONA -000263|PLC|FAULT|[COD 002006] - 150 AZIONAMENTI NON ABILITATI -000264|PLC|FAULT|[COD 002007] - 161 COMUNICAZIONE INVERTER IN ERRORE -000265|PLC|FAULT|[COD 002008] - 162 FATAL ERROR INVERTER -000266|PLC|FAULT|[COD 002009] - 398 PRESSIONE ARIA INSUFFICIENTE -000267|PLC|FAULT|[COD 002010] - 400 LUBRIFICAZIONE INEFFICIENTE -000268|PLC|FAULT|[COD 002011] - 460 ASSE B BLOCCATO -000269|PLC|FAULT|[COD 002012] - 458 ASSE B NON BLOCCATO -000270|PLC|FAULT|[COD 002013] - 460 ASSE C BLOCCATO -000271|PLC|FAULT|[COD 002014] - 458 ASSE C NON BLOCCATO -000272|PLC|FAULT|[COD 002015] - 105 MACCHINA IN HOLD -000273|PLC|FAULT|[COD 002016] - 614 PREMERE LA SOFTKEY RIPRISTINO ACCOPPIAMENTO Z-W -000274|PLC|FAULT|[COD 002017] - 593 PROTEZIONI DI SICUREZZA -000275|PLC|FAULT|[COD 002018] - 362 MONTANTE CENTRALE NON IN POSIZIONE -000276|PLC|FAULT|[COD 002019] - 157 SICUREZZE ANTICADUTA ASSE Z NON OK -000277|PLC|FAULT|[COD 002020] - 158 PIOLO ANTICADUTA ASSE Z NON IN POSIZIONE -000278|PLC|FAULT|[COD 002021] - 115 CONTROLLO VELOCITA MANDRINO -000279|PLC|FAULT|[COD 002022] - 135 CONVERTITORE IN BLOCCO -000280|PLC|FAULT|[COD 002023] - 514 PROTEZIONE SUPPORTO LASER NON IN POSIZIONE -000281|PLC|FAULT|[COD 002024] - 561 LASER NON IN POSIZIONE -000282|PLC|FAULT|[COD 002025] - 230 RELE TERMICO POMPA VUOTO 1 -000283|PLC|FAULT|[COD 002026] - 230 RELE TERMICO POMPA VUOTO 2 -000284|PLC|FAULT|[COD 002027] - 200 RELE TERMICO MANDRINO -000285|PLC|FAULT|[COD 002028] - 168 CONVERTITORE NON ABILITATO -000286|PLC|FAULT|[COD 002029] - 333 COMUNICAZIONE VOLANTINO IN ERRORE -000287|PLC|FAULT|[COD 002030] - 390 FUNZIONE T NON PERMESSA -000288|PLC|FAULT|[COD 002031] - 429 UTENSILE IN MANDRINO NON OK -000289|PLC|FAULT|[COD 002032] - 245 PROTEZIONE TERMICA ASSE A -000290|PLC|FAULT|[COD 002033] - 245 PROTEZIONE TERMICA ASSE C -000291|PLC|FAULT|[COD 002034] - 004 VUOI ATTIVARE IL PROGRAMMA? PREMERE LA SOFTKEY SI OPPURE RESET -000292|PLC|FAULT|[COD 002035] - 490 VERIFICA POSIZIONE UTENSILI -000293|PLC|FAULT|[COD 002036] - 522 NUMERO DI GIRI TROPPO ELEVATI -000294|PLC|FAULT|[COD 002037] - 498 CARICO MASSIMO SUL MANDRINO -000295|PLC|FAULT|[COD 002038] - 397 CIRCUITO REFRIGERANTE UTENSILE NON OK -000296|PLC|FAULT|[COD 002039] - 465 UTENSILE ROTTO -000297|PLC|FAULT|[COD 002040] - 559 LASER/TASTATORE IN MANDRINO -000298|PLC|FAULT|[COD 002041] - 572 TASTATORE NON PRONTO -000299|PLC|FAULT|[COD 002042] - 514 PROTEZIONE SUPPORTO TASTATORE NON IN POSIZIONE -000300|PLC|FAULT|[COD 002043] - 561 TASTATORE NON IN POSIZIONE -000301|PLC|FAULT|[COD 002044] - 163 FRENO CONVERTITORE NON OK -000302|PLC|FAULT|[COD 002045] - 572 RADIO PROBE - BATTERIA SCARICA -000303|PLC|FAULT|[COD 002046] - 640 TAVOLE NON IN POSIZIONE CORRETTA -000304|PLC|FAULT|[COD 002047] - 673 ASSE Z NON OK PER CAMBIO TAVOLA -000305|PLC|FAULT|[COD 002048] - 641 CAMBIO TAVOLA INTERROTTO -000306|PLC|FAULT|[COD 002049] - 130 PROBE DEVICE NON OK - DISATTIVARE DRY RUN -000307|PLC|FAULT|[COD 002050] - 276 LIMITI SOFTWARE ASSE C NON ATTUALI -000308|PLC|FAULT|[COD 002051] - 495 AZZERAMENTO ASSI CON UTENSILE NON CONSENTITO -000309|PLC|FAULT|[COD 002052] - 479 PORTELLE ASPIRAZIONE DESTRA NON IN POSIZIONE -000310|PLC|FAULT|[COD 002053] - 479 PORTELLE ASPIRAZIONE SINISTRA NON IN POSIZIONE -000311|PLC|FAULT|[COD 002054] - ... -000312|PLC|FAULT|[COD 002055] - ... -000313|PLC|FAULT|[COD 002056] - ... -000314|PLC|FAULT|[COD 002057] - ... -000315|PLC|FAULT|[COD 002058] - 444 PRESSIONE LIQUIDO DI RAFFREDDAMENTO MOTORI TORQUE INSUFFICIENTE(TORQUE) -000316|PLC|FAULT|[COD 002059] - 672 CIRCUITO LIQUIDO DI RAFFREDDAMENTO MOTORI TORQUE NON OK -000317|PLC|FAULT|[COD 002060] - 265 ASSE X NON IN POSIZIONE PER AZZERAMENTO -000318|PLC|FAULT|[COD 002061] - 265 ASSE Y NON IN POSIZIONE PER AZZERAMENTO -000319|PLC|FAULT|[COD 002062] - 265 ASSE Z NON IN POSIZIONE PER AZZERAMENTO -000320|PLC|FAULT|[COD 002063] - ... -000321|PLC|FAULT|[COD 002064] - 551 CONDIZIONI NON OK PER GRUPPO A FORARE -000322|PLC|FAULT|[COD 002065] - 265 ASSE B NON IN POSIZIONE PER AZZERAMENTO -000323|PLC|FAULT|[COD 002066] - 265 ASSE C NON IN POSIZIONE PER AZZERAMENTO -000324|PLC|FAULT|[COD 002067] - 270 RELE TERMICO GRUPPO DI FORATURA -000325|PLC|FAULT|[COD 002068] - ... -000326|PLC|FAULT|[COD 002069] - ... -000327|PLC|FAULT|[COD 002070] - 105 STOP DA DISPOSITIVO DI MONITORAGGIO -000328|PLC|FAULT|[COD 002071] - ... -000329|PLC|FAULT|[COD 002072] - 551 CONDIZIONI NON OK PER GRUPPO A FORARE -000330|PLC|FAULT|[COD 002073] - 265 ASSE B NON IN POSIZIONE PER AZZERAMENTO -000331|PLC|FAULT|[COD 002074] - 265 ASSE C NON IN POSIZIONE PER AZZERAMENTO -000332|PLC|FAULT|[COD 002075] - 270 RELE TERMICO GRUPPO DI FORATURA -000333|PLC|FAULT|[COD 002076] - ... -000334|PLC|FAULT|[COD 002077] - ... -000335|PLC|FAULT|[COD 002078] - 105 STOP DA DISPOSITIVO DI MONITORAGGIO -000336|PLC|FAULT|[COD 002079] - ... -000337|PLC|FAULT|[COD 002080] - -000338|PLC|FAULT|[COD 002081] - -000339|PLC|FAULT|[COD 002082] - -000340|PLC|FAULT|[COD 002083] - -000341|PLC|FAULT|[COD 002084] - -000342|PLC|FAULT|[COD 002085] - -000343|PLC|FAULT|[COD 002086] - -000344|PLC|FAULT|[COD 002087] - -000345|PLC|FAULT|[COD 002088] - -000346|PLC|FAULT|[COD 002089] - -000347|PLC|FAULT|[COD 002090] - -000348|PLC|FAULT|[COD 002091] - -000349|PLC|FAULT|[COD 002092] - -000350|PLC|FAULT|[COD 002093] - -000351|PLC|FAULT|[COD 002094] - -000352|PLC|FAULT|[COD 002095] - -000353|PLC|FAULT|[COD 002096] - -000354|PLC|FAULT|[COD 000000] - -000355|PLC|FAULT|[COD 000000] - -000356|PLC|FAULT|[COD 000000] - -000357|PLC|FAULT|[COD 000000] - -000358|PLC|FAULT|[COD 000000] - -000359|PLC|FAULT|[COD 000000] - +000257|PLC|FAULT|[COD 002000] - +000258|PLC|FAULT|[COD 002001] - +000259|PLC|FAULT|[COD 002002] - +000260|PLC|FAULT|[COD 002003] - +000261|PLC|FAULT|[COD 002004] - +000262|PLC|FAULT|[COD 002005] - +000263|PLC|FAULT|[COD 002006] - +000264|PLC|FAULT|[COD 002007] - +000265|PLC|FAULT|[COD 002008] - +000266|PLC|FAULT|[COD 002009] - +000267|PLC|FAULT|[COD 002010] - +000268|PLC|FAULT|[COD 002011] - +000269|PLC|FAULT|[COD 002012] - +000270|PLC|FAULT|[COD 002013] - +000271|PLC|FAULT|[COD 002014] - +000272|PLC|FAULT|[COD 002015] - +000273|PLC|FAULT|[COD 002016] - +000274|PLC|FAULT|[COD 002017] - +000275|PLC|FAULT|[COD 002018] - +000276|PLC|FAULT|[COD 002019] - +000277|PLC|FAULT|[COD 002020] - +000278|PLC|FAULT|[COD 002021] - +000279|PLC|FAULT|[COD 002022] - +000280|PLC|FAULT|[COD 002023] - +000281|PLC|FAULT|[COD 002024] - +000282|PLC|FAULT|[COD 002025] - +000283|PLC|FAULT|[COD 002026] - +000284|PLC|FAULT|[COD 002027] - +000285|PLC|FAULT|[COD 002028] - +000286|PLC|FAULT|[COD 002029] - +000287|PLC|FAULT|[COD 002030] - +000288|PLC|FAULT|[COD 002031] - +000289|PLC|FAULT|[COD 002032] - +000290|PLC|FAULT|[COD 002033] - +000291|PLC|FAULT|[COD 002034] - +000292|PLC|FAULT|[COD 002035] - +000293|PLC|FAULT|[COD 002036] - +000294|PLC|FAULT|[COD 002037] - +000295|PLC|FAULT|[COD 002038] - +000296|PLC|FAULT|[COD 002039] - +000297|PLC|FAULT|[COD 002040] - +000298|PLC|FAULT|[COD 002041] - +000299|PLC|FAULT|[COD 002042] - +000300|PLC|FAULT|[COD 002043] - +000301|PLC|FAULT|[COD 002044] - +000302|PLC|FAULT|[COD 002045] - +000303|PLC|FAULT|[COD 002046] - +000304|PLC|FAULT|[COD 002047] - +000305|PLC|FAULT|[COD 002048] - +000306|PLC|FAULT|[COD 002049] - +000307|PLC|FAULT|[COD 002050] - +000308|PLC|FAULT|[COD 002051] - +000309|PLC|FAULT|[COD 002052] - +000310|PLC|FAULT|[COD 002053] - +000311|PLC|FAULT|[COD 002054] - +000312|PLC|FAULT|[COD 002055] - +000313|PLC|FAULT|[COD 002056] - +000314|PLC|FAULT|[COD 002057] - +000315|PLC|FAULT|[COD 002058] - +000316|PLC|FAULT|[COD 002059] - +000317|PLC|FAULT|[COD 002060] - +000318|PLC|FAULT|[COD 002061] - +000319|PLC|FAULT|[COD 002062] - +000320|PLC|FAULT|[COD 002063] - +000321|PLC|FAULT|[COD 002064] - +000322|PLC|FAULT|[COD 002065] - +000323|PLC|FAULT|[COD 002066] - +000324|PLC|FAULT|[COD 002067] - +000325|PLC|FAULT|[COD 002068] - +000326|PLC|FAULT|[COD 002069] - +000327|PLC|FAULT|[COD 002070] - +000328|PLC|FAULT|[COD 002071] - +000329|PLC|FAULT|[COD 002072] - +000330|PLC|FAULT|[COD 002073] - +000331|PLC|FAULT|[COD 002074] - +000332|PLC|FAULT|[COD 002075] - +000333|PLC|FAULT|[COD 002076] - +000334|PLC|FAULT|[COD 002077] - +000335|PLC|FAULT|[COD 002078] - +000336|PLC|FAULT|[COD 002079] - +000337|PLC|FAULT|[COD 002080] - +000338|PLC|FAULT|[COD 002081] - +000339|PLC|FAULT|[COD 002082] - +000340|PLC|FAULT|[COD 002083] - +000341|PLC|FAULT|[COD 002084] - +000342|PLC|FAULT|[COD 002085] - +000343|PLC|FAULT|[COD 002086] - +000344|PLC|FAULT|[COD 002087] - +000345|PLC|FAULT|[COD 002088] - +000346|PLC|FAULT|[COD 002089] - +000347|PLC|FAULT|[COD 002090] - +000348|PLC|FAULT|[COD 002091] - +000349|PLC|FAULT|[COD 002092] - +000350|PLC|FAULT|[COD 002093] - +000351|PLC|FAULT|[COD 002094] - +000352|PLC|FAULT|[COD 002095] - +000353|PLC|FAULT|[COD 002096] - +000354|PLC|FAULT|[COD 000000] - +000355|PLC|FAULT|[COD 000000] - +000356|PLC|FAULT|[COD 000000] - +000357|PLC|FAULT|[COD 000000] - +000358|PLC|FAULT|[COD 000000] - +000359|PLC|FAULT|[COD 000000] - 000360|PLC|FAULT|[COD 000000] - 000361|PLC|FAULT|[COD 000000] - 000362|PLC|FAULT|[COD 000000] - @@ -367,119 +367,119 @@ 000366|PLC|FAULT|[COD 000000] - 000367|PLC|FAULT|[COD 000000] - 000368|PLC|FAULT|[COD 000000] - -000369|PLC|FAULT|[COD 002100] - 503 CAMBIO UTENSILE IN CORSO -000370|PLC|FAULT|[COD 002101] - 781 UNO O PIU ASSI SENZA RIFERIMENTO -000371|PLC|FAULT|[COD 002102] - 674 MACCHINA NON IN ZONA DI LAVORO -000372|PLC|FAULT|[COD 002103] - 785 CONSENSO APERTURA PORTE NEGATO -000373|PLC|FAULT|[COD 002104] - 520 FUNZIONE STALL MODE ATTIVA -000374|PLC|FAULT|[COD 002105] - 450 UTENSILE MANDRINO NON BLOCCATO -000375|PLC|FAULT|[COD 002106] - 780 STAZIONE OCCUPATA MAGAZZINO -000376|PLC|FAULT|[COD 002107] - 530 PULSANTIERA ESTERNA ABILITATA -000377|PLC|FAULT|[COD 002108] - 504 CAMBIO UTENSILE INTERROTTO -000378|PLC|FAULT|[COD 002109] - 363 MONTANTE CENTRALE ALTO -000379|PLC|FAULT|[COD 002110] - --- PREALLARME TERMICO TORQUE A -000380|PLC|FAULT|[COD 002111] - 498 CARICO MASSIMO SUL MANDRINO SUPERATO SOGLIA S1 -000381|PLC|FAULT|[COD 002112] - --- PREALLARME TERMICO TORQUE C -000382|PLC|FAULT|[COD 002113] - 432 UTENSILE NON SGANCIATO -000383|PLC|FAULT|[COD 002114] - 475 CUFFIA ASPIRAZIONE NON IN POSIZIONE -000384|PLC|FAULT|[COD 002115] - 498 CARICO MASSIMO SUL MANDRINO SUPERATO SOGLIA S6 -000385|PLC|FAULT|[COD 002116] - 505 MOVIMENTO CONSENTITO Z+ -000386|PLC|FAULT|[COD 002117] - 545 ASSE Z NON IN POSIZIONE -000387|PLC|FAULT|[COD 002118] - 528 MODALITA PROVA PROGRAMMA ATTIVA -000388|PLC|FAULT|[COD 002119] - 351 MESSAGGI PLC INVIATO SMS -000389|PLC|FAULT|[COD 002120] - 603 INDICARE IL NOME DELL OPERATORE E CAUSA ARRESTO MACCHINA -000390|PLC|FAULT|[COD 002121] - 538 TAVOLA NON POSIZIONATA -000391|PLC|FAULT|[COD 002122] - 595 BARRIERE DI SICUREZZA -000392|PLC|FAULT|[COD 002123] - 689 AVVISO TOOLTABLE - T INTERPRETATA COME MANINA -000393|PLC|FAULT|[COD 002124] - 689 AVVISO TOOLTABLE - T INTERPRETATA COME ID UTENSILE -000394|PLC|FAULT|[COD 002125] - 260 REGOLAZIONE AUTOMATICA FEED OVERRIDE IN CORSO -000395|PLC|FAULT|[COD 002126] - 464 VITA UTENSILE ESAURITA -000396|PLC|FAULT|[COD 002127] - 003 SEI SICURO DI VOLER CAMBIARE ORIGINE ? PREMERE SOFTKEY SI O RESET -000397|PLC|FAULT|[COD 002128] - 305 BLOCCAGGIO A DEPRESSIONE 1 INEFFICIENTE -000398|PLC|FAULT|[COD 002129] - 305 BLOCCAGGIO A DEPRESSIONE 2 INEFFICIENTE -000399|PLC|FAULT|[COD 002130] - 300 BLOCCAGGIO A PRESSIONE 1 INEFFICIENTE -000400|PLC|FAULT|[COD 002131] - 300 BLOCCAGGIO A PRESSIONE 2 INEFFICIENTE -000401|PLC|FAULT|[COD 002132] - 305 BLOCCAGGIO A DEPRESSIONE SUPPLEMENTARE 1 INEFFICIENTE -000402|PLC|FAULT|[COD 002133] - 305 BLOCCAGGIO A DEPRESSIONE SUPPLEMENTARE 2 INEFFICIENTE -000403|PLC|FAULT|[COD 002134] - 584 PORTE DI SICUREZZA 1 NON CHIUSE -000404|PLC|FAULT|[COD 002135] - 584 PORTE DI SICUREZZA 2 NON CHIUSE -000405|PLC|FAULT|[COD 002136] - 406 PULSANTE POWER-OFF PREMUTO -000406|PLC|FAULT|[COD 002137] - 412 AZZERAMENTO AUTOMATICO ASSI IN CORSO -000407|PLC|FAULT|[COD 002138] - 689 AVVISO TOOLTABLE - RICHIESTA CONFERMA ATTREZZAGGIO -000408|PLC|FAULT|[COD 002139] - 700 TABELLE IN MODIFICA -000409|PLC|FAULT|[COD 002140] - 442 MAGAZZINO DISCO MOBILE NON IN POSIZIONE -000410|PLC|FAULT|[COD 002141] - 442 MAGAZZINO PICK-UP 1 NON IN POSIZIONE -000411|PLC|FAULT|[COD 002142] - 442 MAGAZZINO PICK-UP 2 NON IN POSIZIONE -000412|PLC|FAULT|[COD 002143] - 442 MAGAZINO LATERALE 1 NON IN POSIZIONE -000413|PLC|FAULT|[COD 002144] - 442 MAGAZINO LATERALE 2 NON IN POSIZIONE -000414|PLC|FAULT|[COD 002145] - 514 PROTEZIONE MAGAZZINO PICK-UP 1 NON IN POSIZIONE -000415|PLC|FAULT|[COD 002146] - 514 PROTEZIONE MAGAZZINO PICK-UP 2 NON IN POSIZIONE -000416|PLC|FAULT|[COD 002147] - 514 PROTEZIONE MAGAZZINO LATERALE 1 NON IN POSIZIONE -000417|PLC|FAULT|[COD 002148] - 514 PROTEZIONE MAGAZZINO LATERALE 2 NON IN POSIZIONE -000418|PLC|FAULT|[COD 002149] - 334 ERRORE COMUNICAZIONE CANBUS -000419|PLC|FAULT|[COD 002150] - 147 CAMBIO UTENSILE 1 IN ALLARME -000420|PLC|FAULT|[COD 002151] - 160 AZIONAMENTO CAMBIO UTENSILE 1 NON PRONTO -000421|PLC|FAULT|[COD 002152] - 151 AZIONAMENTO CAMBIO UTENSILE 1 NON ALIMENTATO -000422|PLC|FAULT|[COD 002153] - 442 MAGAZZINO UTENSILI DISCO 1 NON IN POSIZIONE -000423|PLC|FAULT|[COD 002154] - 289 ATTREZZAGGIO CAMBIO UTENSILE 1 IN CORSO -000424|PLC|FAULT|[COD 002155] - 584 PORTA DI SICUREZZA MAGAZZINO DISCO 1 NON CHIUSA -000425|PLC|FAULT|[COD 002156] - 514 PROTEZIONE MAGAZZINO DISCO 1 NON IN POSIZIONE -000426|PLC|FAULT|[COD 002157] - 147 CAMBIO UTENSILE 2 IN ALLARME -000427|PLC|FAULT|[COD 002158] - 160 AZIONAMENTO CAMBIO UTENSILE 2 NON PRONTO -000428|PLC|FAULT|[COD 002159] - 151 AZIONAMENTO CAMBIO UTENSILE 2 NON ALIMENTATO -000429|PLC|FAULT|[COD 002160] - 442 MAGAZZINO UTENSILI DISCO 2 NON IN POSIZIONE -000430|PLC|FAULT|[COD 002161] - 289 ATTREZZAGGIO CAMBIO UTENSILE 2 IN CORSO -000431|PLC|FAULT|[COD 002162] - 584 PORTA DI SICUREZZA MAGAZZINO DISCO 2 NON CHIUSA -000432|PLC|FAULT|[COD 002163] - 514 PROTEZIONE MAGAZZINO DISCO 2 NON IN POSIZIONE -000433|PLC|FAULT|[COD 002164] - ... -000434|PLC|FAULT|[COD 002165] - 550 GRUPPO DI FORATURA NON IN POSIZIONE -000435|PLC|FAULT|[COD 002166] - ... -000436|PLC|FAULT|[COD 002167] - ... -000437|PLC|FAULT|[COD 002168] - ... -000438|PLC|FAULT|[COD 002169] - ... -000439|PLC|FAULT|[COD 002170] - 250 CICLO DI ATTREZZAGGIO AUTOMATICO IN CORSO -000440|PLC|FAULT|[COD 002171] - 251 CICLO DI ATTREZZAGGIO AUTOMATICO INTERROTTO -000441|PLC|FAULT|[COD 002172] - 605 DISPOSITIVO DI REGISTRAZIONE DATI UTENSILI NON IN POSIZIONE -000442|PLC|FAULT|[COD 002173] - ... -000443|PLC|FAULT|[COD 002174] - ... -000444|PLC|FAULT|[COD 002175] - ... -000445|PLC|FAULT|[COD 002176] - 130 DISPOSITIVO MONITORAGGIO NON PRONTO -000446|PLC|FAULT|[COD 002177] - 773 LIMITE 1 MONITORAGGIO NON OK -000447|PLC|FAULT|[COD 002178] - 773 LIMITE 2 MONITORAGGIO NON OK -000448|PLC|FAULT|[COD 002179] - 773 LIMITE 3 MONITORAGGIO NON OK -000449|PLC|FAULT|[COD 002180] - ... -000450|PLC|FAULT|[COD 002181] - -000451|PLC|FAULT|[COD 002182] - -000452|PLC|FAULT|[COD 002183] - -000453|PLC|FAULT|[COD 002184] - -000454|PLC|FAULT|[COD 002185] - -000455|PLC|FAULT|[COD 002186] - -000456|PLC|FAULT|[COD 002187] - -000457|PLC|FAULT|[COD 002188] - -000458|PLC|FAULT|[COD 002189] - -000459|PLC|FAULT|[COD 002190] - -000460|PLC|FAULT|[COD 002191] - -000461|PLC|FAULT|[COD 002192] - -000462|PLC|FAULT|[COD 002193] - -000463|PLC|FAULT|[COD 002194] - -000464|PLC|FAULT|[COD 002195] - -000465|PLC|FAULT|[COD 000000] - -000466|PLC|FAULT|[COD 000000] - -000467|PLC|FAULT|[COD 000000] - -000468|PLC|FAULT|[COD 000000] - -000469|PLC|FAULT|[COD 000000] - -000470|PLC|FAULT|[COD 000000] - -000471|PLC|FAULT|[COD 000000] - -000472|PLC|FAULT|[COD 000000] - -000473|PLC|FAULT|[COD 000000] - -000474|PLC|FAULT|[COD 000000] - -000475|PLC|FAULT|[COD 000000] - -000476|PLC|FAULT|[COD 000000] - -000477|PLC|FAULT|[COD 000000] - -000478|PLC|FAULT|[COD 000000] - -000479|PLC|FAULT|[COD 000000] - -000480|PLC|FAULT|[COD 000000] - -000481|PLC|FAULT|[COD 000000] - +000369|PLC|FAULT|[COD 002100] - +000370|PLC|FAULT|[COD 002101] - +000371|PLC|FAULT|[COD 002102] - +000372|PLC|FAULT|[COD 002103] - +000373|PLC|FAULT|[COD 002104] - +000374|PLC|FAULT|[COD 002105] - +000375|PLC|FAULT|[COD 002106] - +000376|PLC|FAULT|[COD 002107] - +000377|PLC|FAULT|[COD 002108] - +000378|PLC|FAULT|[COD 002109] - +000379|PLC|FAULT|[COD 002110] - +000380|PLC|FAULT|[COD 002111] - +000381|PLC|FAULT|[COD 002112] - +000382|PLC|FAULT|[COD 002113] - +000383|PLC|FAULT|[COD 002114] - +000384|PLC|FAULT|[COD 002115] - +000385|PLC|FAULT|[COD 002116] - +000386|PLC|FAULT|[COD 002117] - +000387|PLC|FAULT|[COD 002118] - +000388|PLC|FAULT|[COD 002119] - +000389|PLC|FAULT|[COD 002120] - +000390|PLC|FAULT|[COD 002121] - +000391|PLC|FAULT|[COD 002122] - +000392|PLC|FAULT|[COD 002123] - +000393|PLC|FAULT|[COD 002124] - +000394|PLC|FAULT|[COD 002125] - +000395|PLC|FAULT|[COD 002126] - +000396|PLC|FAULT|[COD 002127] - +000397|PLC|FAULT|[COD 002128] - +000398|PLC|FAULT|[COD 002129] - +000399|PLC|FAULT|[COD 002130] - +000400|PLC|FAULT|[COD 002131] - +000401|PLC|FAULT|[COD 002132] - +000402|PLC|FAULT|[COD 002133] - +000403|PLC|FAULT|[COD 002134] - +000404|PLC|FAULT|[COD 002135] - +000405|PLC|FAULT|[COD 002136] - +000406|PLC|FAULT|[COD 002137] - +000407|PLC|FAULT|[COD 002138] - +000408|PLC|FAULT|[COD 002139] - +000409|PLC|FAULT|[COD 002140] - +000410|PLC|FAULT|[COD 002141] - +000411|PLC|FAULT|[COD 002142] - +000412|PLC|FAULT|[COD 002143] - +000413|PLC|FAULT|[COD 002144] - +000414|PLC|FAULT|[COD 002145] - +000415|PLC|FAULT|[COD 002146] - +000416|PLC|FAULT|[COD 002147] - +000417|PLC|FAULT|[COD 002148] - +000418|PLC|FAULT|[COD 002149] - +000419|PLC|FAULT|[COD 002150] - +000420|PLC|FAULT|[COD 002151] - +000421|PLC|FAULT|[COD 002152] - +000422|PLC|FAULT|[COD 002153] - +000423|PLC|FAULT|[COD 002154] - +000424|PLC|FAULT|[COD 002155] - +000425|PLC|FAULT|[COD 002156] - +000426|PLC|FAULT|[COD 002157] - +000427|PLC|FAULT|[COD 002158] - +000428|PLC|FAULT|[COD 002159] - +000429|PLC|FAULT|[COD 002160] - +000430|PLC|FAULT|[COD 002161] - +000431|PLC|FAULT|[COD 002162] - +000432|PLC|FAULT|[COD 002163] - +000433|PLC|FAULT|[COD 002164] - +000434|PLC|FAULT|[COD 002165] - +000435|PLC|FAULT|[COD 002166] - +000436|PLC|FAULT|[COD 002167] - +000437|PLC|FAULT|[COD 002168] - +000438|PLC|FAULT|[COD 002169] - +000439|PLC|FAULT|[COD 002170] - +000440|PLC|FAULT|[COD 002171] - +000441|PLC|FAULT|[COD 002172] - +000442|PLC|FAULT|[COD 002173] - +000443|PLC|FAULT|[COD 002174] - +000444|PLC|FAULT|[COD 002175] - +000445|PLC|FAULT|[COD 002176] - +000446|PLC|FAULT|[COD 002177] - +000447|PLC|FAULT|[COD 002178] - +000448|PLC|FAULT|[COD 002179] - +000449|PLC|FAULT|[COD 002180] - +000450|PLC|FAULT|[COD 002181] - +000451|PLC|FAULT|[COD 002182] - +000452|PLC|FAULT|[COD 002183] - +000453|PLC|FAULT|[COD 002184] - +000454|PLC|FAULT|[COD 002185] - +000455|PLC|FAULT|[COD 002186] - +000456|PLC|FAULT|[COD 002187] - +000457|PLC|FAULT|[COD 002188] - +000458|PLC|FAULT|[COD 002189] - +000459|PLC|FAULT|[COD 002190] - +000460|PLC|FAULT|[COD 002191] - +000461|PLC|FAULT|[COD 002192] - +000462|PLC|FAULT|[COD 002193] - +000463|PLC|FAULT|[COD 002194] - +000464|PLC|FAULT|[COD 002195] - +000465|PLC|FAULT|[COD 000000] - +000466|PLC|FAULT|[COD 000000] - +000467|PLC|FAULT|[COD 000000] - +000468|PLC|FAULT|[COD 000000] - +000469|PLC|FAULT|[COD 000000] - +000470|PLC|FAULT|[COD 000000] - +000471|PLC|FAULT|[COD 000000] - +000472|PLC|FAULT|[COD 000000] - +000473|PLC|FAULT|[COD 000000] - +000474|PLC|FAULT|[COD 000000] - +000475|PLC|FAULT|[COD 000000] - +000476|PLC|FAULT|[COD 000000] - +000477|PLC|FAULT|[COD 000000] - +000478|PLC|FAULT|[COD 000000] - +000479|PLC|FAULT|[COD 000000] - +000480|PLC|FAULT|[COD 000000] - +000481|PLC|FAULT|[COD 000000] - 000482|PLC|FAULT|[COD 000000] - 000483|PLC|FAULT|[COD 000000] - 000484|PLC|FAULT|[COD 000000] - diff --git a/MTC_Adapter/MTC_Adapter/Resources/SCM/Appunti SCM.txt b/MTC_Adapter/MTC_Adapter/Resources/SCM/Appunti SCM.txt index 389ec88..d92d314 100644 --- a/MTC_Adapter/MTC_Adapter/Resources/SCM/Appunti SCM.txt +++ b/MTC_Adapter/MTC_Adapter/Resources/SCM/Appunti SCM.txt @@ -12,7 +12,7 @@ TODO - inizializzazione dell'oggetto NC da thdNcEsaGvKvara con NUOVE aree di memoria - attenzione a decodeBitData / decodeOtherData - - lettura aree allarmi!!! + - errore x continuo tentativo lettura file prod: "ERROR ATTENZIONE! file dati produzione..." - completare le aree IOT-STRING - verifica lettura GLOBALE di getGlobalData()