From 6594bf07b4f605edc4b92f903e9950ace811ce4b Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Fri, 12 May 2017 16:59:28 +0200 Subject: [PATCH] ulteriore pulizia, ora testo OSAI... --- MTC_Adapter/MTC_Adapter/AdapterGeneric.cs | 8 -- MTC_Adapter/MTC_Adapter/AdapterOsai.cs | 110 ---------------------- 2 files changed, 118 deletions(-) diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index 2c13520..fdfa9c0 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -2126,10 +2126,6 @@ namespace MTC_Adapter /// boolean: se si debba tornare ACK public virtual void refreshAlarmState(StFlag32 Alarm2Refresh, bool giveAck) { - // indici memorie allarmi: strobe ed ACK - //int memIndex = 19036; - //int memIndexAck = 19018; - // log bitmap se verboso attivo + ho allarmi da refreshare if ((Alarm2Refresh != StFlag32.NONE) && utils.CRB("verbose")) { @@ -2151,7 +2147,6 @@ namespace MTC_Adapter MemBlock = new uint[32]; // recupero tutti i 32 bit del blocco inizio = DateTime.Now; - //OsaiMemRW_DWord(R, OSAI.MemTypeWord.MW_CODE, memIndex, ref MemBlock); readAllAlarms(ref MemBlock); if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-STRB_DW0", MemBlock.Length * 4), DateTime.Now.Subtract(inizio).Ticks); if (AlarmFlags != null) @@ -2180,7 +2175,6 @@ namespace MTC_Adapter { // recupero tutti i 32 bit del blocco inizio = DateTime.Now; - //OsaiMemRW_DWord(R, OSAI.MemTypeWord.MW_CODE, memIndex + i * 2, ref MemBlock); readAlarmBlock(ref MemBlock, i); if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-STRB_DW0", MemBlock.Length * 4), DateTime.Now.Subtract(inizio).Ticks); try @@ -2205,7 +2199,6 @@ namespace MTC_Adapter { // scrivo update ad ack!!! inizio = DateTime.Now; - //OsaiMemRW_Byte(W, OSAI.MemTypeWord.MW_CODE, memIndexAck, 0, ref retACK_DW0); writeAlarmAck(ref retACK_DW0); if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-ACK_DW0", retACK_DW0.Length), DateTime.Now.Subtract(inizio).Ticks); ackReturned = true; @@ -2222,7 +2215,6 @@ namespace MTC_Adapter // invio INTERO set ACK_DW0 con bit abbassati... retACK_DW0 = BitConverter.GetBytes(Convert.ToUInt32(STRB_DW0 & ACK_DW0)); inizio = DateTime.Now; - //OsaiMemRW_Byte(W, OSAI.MemTypeWord.MW_CODE, memIndexAck, 0, ref retACK_DW0); writeAlarmAck(ref retACK_DW0); if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-ACK_DW0", retACK_DW0.Length), DateTime.Now.Subtract(inizio).Ticks); } diff --git a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs index b192086..4b71da0 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs @@ -559,117 +559,7 @@ namespace MTC_Adapter return answ; } -#if false - /// - /// recupera allarmi ed aggiorna strobe (privato) degli allarmi - /// - /// 32bit mask degli allarmi da aggiornare - /// boolean: se si debba tornare ACK - public override void refreshAlarmState(StFlag32 Alarm2Refresh, bool giveAck) - { - // indici memorie allarmi: strobe ed ACK - //int memIndex = 19036; - //int memIndexAck = 19018; - // log bitmap se verboso attivo + ho allarmi da refreshare - if ((Alarm2Refresh != StFlag32.NONE) && utils.CRB("verbose")) - { - lg.Info("Richiesto refresh allarmi x bitmask: {0}", utils.binaryForm((int)Alarm2Refresh)); - } - - bool ackReturned = false; - // byte di acknowledge... - byte[] retACK_DW0 = new byte[4]; - // inizio impostando una bitmap x ACK che abbia i bit abbassati se lo strobe è disattivo: AND logico tra STR e ACK - retACK_DW0 = BitConverter.GetBytes(Convert.ToUInt32(STRB_DW0 & ACK_DW0)); - - inizio = DateTime.Now; - uint[] MemBlock; - // controllo, SE devo leggere tutto uso un unico accesso ai 128byte, altrimenti leggo a blocchi di 32bit... - if (Alarm2Refresh == (StFlag32)unchecked((int)UInt32.MaxValue)) - { - // blocco memoria x lettura dati COMPLETO (4Byte*32 = 128Byte) - MemBlock = new uint[32]; - // recupero tutti i 32 bit del blocco - inizio = DateTime.Now; - //OsaiMemRW_DWord(R, OSAI.MemTypeWord.MW_CODE, memIndex, ref MemBlock); - readAllAlarms(ref MemBlock); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-STRB_DW0", MemBlock.Length * 4), DateTime.Now.Subtract(inizio).Ticks); - if (AlarmFlags != null) - { - try - { - // aggiorno vettore allarmi x intero! size del vettore di destinazione (in byte!!!!) - Buffer.BlockCopy(MemBlock, 0, AlarmFlags, 0, AlarmFlags.Length); - } - catch (Exception exc) - { - lg.Error(string.Format("Errore in BLOCKCOPY{0}{1}", Environment.NewLine, exc)); - } - } - } - else - { - if (Alarm2Refresh != StFlag32.NONE) - { - // blocco memoria x lettura dati - MemBlock = new uint[1]; - // verifico gli allarmi di tutti i bit alzati... - for (int i = 0; i < 32; i++) - { - if (Alarm2Refresh.HasFlag((StFlag32)Math.Pow(2, i))) - { - // recupero tutti i 32 bit del blocco - inizio = DateTime.Now; - //OsaiMemRW_DWord(R, OSAI.MemTypeWord.MW_CODE, memIndex + i * 2, ref MemBlock); - readAlarmBlock(ref MemBlock, i); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-STRB_DW0", MemBlock.Length * 4), DateTime.Now.Subtract(inizio).Ticks); - try - { - // aggiorno vettore allarmi x intero! - Buffer.BlockCopy(MemBlock, 0, AlarmFlags, i * 4, 4); - } - catch (Exception exc) - { - lg.Error(string.Format("Errore in BLOCKCOPY per indice i = {2},{0}{1}", Environment.NewLine, exc, i)); - } - if (utils.CRI("loglevel") > 5) - { - lg.Info("Bit {0}, MemBlock: {1}", i, MemBlock[0]); - } - // segnalo allarme letto! memorizzo allarme nel vettore ack.... - retACK_DW0 = utils.setBitOnStFlag(retACK_DW0, true, i); - } - } - // scrivo ack se richiesto!!! - if (giveAck) - { - // scrivo update ad ack!!! - inizio = DateTime.Now; - //OsaiMemRW_Byte(W, OSAI.MemTypeWord.MW_CODE, memIndexAck, 0, ref retACK_DW0); - writeAlarmAck(ref retACK_DW0); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-ACK_DW0", retACK_DW0.Length), DateTime.Now.Subtract(inizio).Ticks); - ackReturned = true; - } - } - } - - // SE non ho già tornato un ACK... - if (!ackReturned) - { - // se è diverso il vettori degli ACK in memoria da quello PLC... - if (ACK_DW0 != (StFlag32)BitConverter.ToUInt32(retACK_DW0, 0)) - { - // invio INTERO set ACK_DW0 con bit abbassati... - retACK_DW0 = BitConverter.GetBytes(Convert.ToUInt32(STRB_DW0 & ACK_DW0)); - inizio = DateTime.Now; - //OsaiMemRW_Byte(W, OSAI.MemTypeWord.MW_CODE, memIndexAck, 0, ref retACK_DW0); - writeAlarmAck(ref retACK_DW0); - if (utils.CRB("recTime")) TimingData.addResult(string.Format("W{0}-ACK_DW0", retACK_DW0.Length), DateTime.Now.Subtract(inizio).Ticks); - } - } - } -#endif /// /// Scrive vettore ACK degli allarmi ///