diff --git a/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs b/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs index df6cea1..0bded35 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterFanuc.cs @@ -709,53 +709,88 @@ namespace MTC_Adapter /// /// Gestione lettura dati manutenzione /// - private void getMtzDataFromPlc() + public override bool getMtzDataFromPlc() { - // recupero i dati di manutenzione dall'area di memoria IN BLOCCO - int memIndex = 14000; - byte[] tabDatiMtzByte = new byte[4 * maintData.Length]; - uint[] tabDatiMtz = new uint[maintData.Length]; - inizio = DateTime.Now; - FanucMemRW(R, FANUC.MemType.R, memIndex, ref tabDatiMtzByte); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiMtz", tabDatiMtzByte.Length), DateTime.Now.Subtract(inizio).Ticks); - // copio byte --> word! - Buffer.BlockCopy(tabDatiMtzByte, 0, tabDatiMtz, 0, tabDatiMtzByte.Length); - // decodifico aree memoria secondo tab configurazione - processMaintData(tabDatiMtz, maintData); + bool fatto = false; + try + { + if (maintData.Length > 0) + { + + // recupero i dati di manutenzione dall'area di memoria IN BLOCCO + int memIndex = 14000; + byte[] tabDatiMtzByte = new byte[4 * maintData.Length]; + uint[] tabDatiMtz = new uint[maintData.Length]; + inizio = DateTime.Now; + FanucMemRW(R, FANUC.MemType.R, memIndex, ref tabDatiMtzByte); + if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiMtz", tabDatiMtzByte.Length), DateTime.Now.Subtract(inizio).Ticks); + // copio byte --> word! + Buffer.BlockCopy(tabDatiMtzByte, 0, tabDatiMtz, 0, tabDatiMtzByte.Length); + // decodifico aree memoria secondo tab configurazione + processMaintData(tabDatiMtz, maintData); + } + fatto = true; + } + catch + { } + return fatto; } /// /// Gestione lettura dati analogici /// - private void getAnalogDataFromPlc() + public override bool getAnalogDataFromPlc() { - // recupero i dati di manutenzione dall'area di memoria IN BLOCCO - int memIndex = 15000; - byte[] tabDatiAnalogByte = new byte[4 * analogData.Length]; - uint[] tabDatiAnalog = new uint[analogData.Length]; - inizio = DateTime.Now; - FanucMemRW(R, FANUC.MemType.R, memIndex, ref tabDatiAnalogByte); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiAnalog", tabDatiAnalogByte.Length * 4), DateTime.Now.Subtract(inizio).Ticks); - // copio byte --> word! - Buffer.BlockCopy(tabDatiAnalogByte, 0, tabDatiAnalog, 0, tabDatiAnalogByte.Length); - // decodifico aree memoria secondo tab configurazione - processAnalogData(tabDatiAnalog, analogData); + bool fatto = false; + try + { + if (analogData.Length > 0) + { + // recupero i dati di manutenzione dall'area di memoria IN BLOCCO + int memIndex = 15000; + byte[] tabDatiAnalogByte = new byte[4 * analogData.Length]; + uint[] tabDatiAnalog = new uint[analogData.Length]; + inizio = DateTime.Now; + FanucMemRW(R, FANUC.MemType.R, memIndex, ref tabDatiAnalogByte); + if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiAnalog", tabDatiAnalogByte.Length * 4), DateTime.Now.Subtract(inizio).Ticks); + // copio byte --> word! + Buffer.BlockCopy(tabDatiAnalogByte, 0, tabDatiAnalog, 0, tabDatiAnalogByte.Length); + // decodifico aree memoria secondo tab configurazione + processAnalogData(tabDatiAnalog, analogData); + } + fatto = true; + } + catch + { } + return fatto; + } /// /// Gestione lettura dati status da PLC /// - private void getStatusDataFromPlc() + public override bool getStatusDataFromPlc() { - // recupero i dati di manutenzione dall'area di memoria IN BLOCCO - int memIndex = 14512; - int numByte = 1 + (statusData.Length / 8); - byte[] tabDatiStatus = new byte[numByte]; - inizio = DateTime.Now; - FanucMemRW(R, FANUC.MemType.R, memIndex, ref tabDatiStatus); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiStatus", tabDatiStatus.Length), DateTime.Now.Subtract(inizio).Ticks); + bool fatto = false; + try + { + if (statusData.Length > 0) + { + // recupero i dati di manutenzione dall'area di memoria IN BLOCCO + int memIndex = 14512; + int numByte = 1 + (statusData.Length / 8); + byte[] tabDatiStatus = new byte[numByte]; + inizio = DateTime.Now; + FanucMemRW(R, FANUC.MemType.R, memIndex, ref tabDatiStatus); + if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiStatus", tabDatiStatus.Length), DateTime.Now.Subtract(inizio).Ticks); - // decodifico aree memoria secondo tab configurazione - processStatusData(tabDatiStatus, statusData); + // decodifico aree memoria secondo tab configurazione + processStatusData(tabDatiStatus, statusData); + } + fatto = true; + } + catch + { } + return fatto; } /// /// Leggo dati globali comuni (x path, assi...) diff --git a/MTC_Adapter/MTC_Adapter/App.config b/MTC_Adapter/MTC_Adapter/App.config index d79fdc7..caae0f3 100644 --- a/MTC_Adapter/MTC_Adapter/App.config +++ b/MTC_Adapter/MTC_Adapter/App.config @@ -36,9 +36,11 @@ - + + + diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/Adapter_ItemList.xml b/MTC_Adapter/MTC_Adapter/DATA/CONF/Adapter_ItemList.xml index 66f2df4..9bf8da6 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/Adapter_ItemList.xml +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/Adapter_ItemList.xml @@ -1,8 +1,8 @@ 1 - ADAPTER_SIEMENS - SIEMENS + ADAPTER_FANUC + FANUC 0 0 0 @@ -83,10 +83,6 @@ Path_01 - - Path_02 - - @@ -173,135 +169,5 @@ - - Axis_07 - - - Axis_07_Type - LINEAR - - - Axis_07_Grp - 00 - - - - - Axis_08 - - - Axis_08_Type - LINEAR - - - Axis_08_Grp - 00 - - - - - Axis_09 - - - Axis_09_Type - LINEAR - - - Axis_09_Grp - 00 - - - - - Axis_10 - - - Axis_10_Type - LINEAR - - - Axis_10_Grp - 00 - - - - - Axis_11 - - - Axis_11_Type - LINEAR - - - Axis_11_Grp - 00 - - - - - Axis_12 - - - Axis_12_Type - LINEAR - - - Axis_12_Grp - 00 - - - - - Axis_13 - - - Axis_13_Type - ROTARY - - - Axis_13_Grp - 00 - - - - - Axis_14 - - - Axis_14_Type - ROTARY - - - Axis_14_Grp - 00 - - - - - Axis_15 - - - Axis_15_Type - LINEAR - - - Axis_15_Grp - 00 - - - - - Axis_16 - - - Axis_16_Type - LINEAR - - - Axis_16_Grp - 00 - - - \ No newline at end of file diff --git a/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map b/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map index 6698345..c799ba6 100644 --- a/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map +++ b/MTC_Adapter/MTC_Adapter/DATA/CONF/AlarmList.map @@ -377,7 +377,7 @@ 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 +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 @@ -431,7 +431,7 @@ 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] - +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] - ...