diff --git a/IOB-WIN/IobFanuc.cs b/IOB-WIN/IobFanuc.cs index 9b7bdf91..ac303e49 100644 --- a/IOB-WIN/IobFanuc.cs +++ b/IOB-WIN/IobFanuc.cs @@ -21,7 +21,7 @@ namespace IOB_WIN /// protected Int32 lastCount; protected byte[] MemBlockF = new byte[2]; - protected byte[] MemBlockG = new byte[64]; // provo ad allungare vediamo che recupera... + protected byte[] MemBlockG = new byte[48]; // provo ad allungare vediamo che recupera... protected byte[] MemBlockF_pre = new byte[2]; /// /// wrapper chiamata lettura/scrittura SINGOLO BYTE... @@ -502,31 +502,44 @@ namespace IOB_WIN try { inizio = DateTime.Now; + stopwatch.Restart(); // leggo tutto da 0 a 43... int memIndex = 0; // controllo modalità lettura memoria if (utils.CRB("MemAreaReadAll")) { FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlockG); + if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G-AREA", MemBlockG.Length), (long)stopwatch.Elapsed.TotalMilliseconds); + //if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G-AREA", MemBlockG.Length), DateTime.Now.Subtract(inizio).Ticks); } else { // loggo solo i blocchi che mi interessano poi copio... - byte[] MemBlock = new byte[1]; - memIndex = 12; + byte[] MemBlock = new byte[8]; + + memIndex = 8; + inizio = DateTime.Now; FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlock); // riporto! Buffer.BlockCopy(MemBlock, memIndex, MemBlockG, memIndex, 1); - memIndex = 30; + if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G-AREA", MemBlock.Length), (long)stopwatch.Elapsed.TotalMilliseconds); + + memIndex = 24; + stopwatch.Restart(); FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlock); // riporto! Buffer.BlockCopy(MemBlock, memIndex, MemBlockG, memIndex, 1); - memIndex = 43; + if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G-AREA", MemBlock.Length), (long)stopwatch.Elapsed.TotalMilliseconds); + + memIndex = 40; + stopwatch.Restart(); FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlock); // riporto! Buffer.BlockCopy(MemBlock, memIndex, MemBlockG, memIndex, 1); + if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G-AREA", MemBlock.Length), (long)stopwatch.Elapsed.TotalMilliseconds); + //if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G-AREA", MemBlock.Length), DateTime.Now.Subtract(inizio).Ticks); } - if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G-AREA", MemBlockG.Length), DateTime.Now.Subtract(inizio).Ticks); + stopwatch.Stop(); // verifico modo con valore corrente, se cambia aggiorno... CNC_MODE newMode = decodeG43(MemBlockG[43]); if (newMode != currMode) @@ -545,6 +558,7 @@ namespace IOB_WIN { lg.Error(exc, "Errore in process Mode G43"); connectionOk = false; + stopwatch.Stop(); } } } diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs index 4de6124e..346f7732 100644 --- a/IOB-WIN/IobGeneric.cs +++ b/IOB-WIN/IobGeneric.cs @@ -3,6 +3,7 @@ using NLog; using System; using System.Collections; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; using System.Net; @@ -254,10 +255,16 @@ namespace IOB_WIN /// Data/ora ultimo spegnimento adapter /// public DateTime dtStopAdp = DateTime.Now; +#if true /// /// vettore gestione cronometraggi /// - public DateTime inizio; + public DateTime inizio; +#endif + /// + /// Oggetto cronometro x campionamento durate chiamate + /// + public Stopwatch stopwatch = new Stopwatch(); /// /// Conteggio ATTUALE ore macchina ON /// @@ -285,8 +292,6 @@ namespace IOB_WIN /// Conf adapter corrente /// public IobConfiguration currIobConf; - - /// /// inizializzo l'oggetto sulla form SULLA BASE DEL FILE DI CONFIGURAZIONE letto ///