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
///