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()