diff --git a/IOB-WIN-FORM/Iob/Generic.Protected.cs b/IOB-WIN-FORM/Iob/Generic.Protected.cs
index 46c4d5bf..589797c3 100644
--- a/IOB-WIN-FORM/Iob/Generic.Protected.cs
+++ b/IOB-WIN-FORM/Iob/Generic.Protected.cs
@@ -3551,7 +3551,7 @@ namespace IOB_WIN_FORM.Iob
double dVal = 0;
if (actData.ContainsKey("KbRead"))
{
- double.TryParse(actData["kbRead"], NumberStyles.Float, cultInv, out dVal);
+ double.TryParse(actData["KbRead"], NumberStyles.Float, cultInv, out dVal);
}
dVal += kbRead;
string sDouble = dVal.ToString("F3", cultInv);
@@ -3593,6 +3593,17 @@ namespace IOB_WIN_FORM.Iob
redisMan.redSaveHashDict(rKey, actData);
}
+ ///
+ /// Reset valori trackdata all'avvio dell'adapter IOB
+ ///
+ protected void trackReadDataReset()
+ {
+ // per prima cosa LEGGO il valore precedente
+ DateTime adesso = DateTime.Now;
+ string rKey = $"{redisMan.redIobTrackKey}:DataIn:{adesso:yyMMdd}";
+ redisMan.redDelKey(rKey);
+ }
+
///
/// Effettua chiamata MP-IO per cheidere all'utente se vuole effettuare chiusura ODL
/// corrente della macchina
diff --git a/IOB-WIN-MBUS/DATA/CONF/MAIN.ini b/IOB-WIN-MBUS/DATA/CONF/MAIN.ini
index 301ab960..a1cd3a6d 100644
--- a/IOB-WIN-MBUS/DATA/CONF/MAIN.ini
+++ b/IOB-WIN-MBUS/DATA/CONF/MAIN.ini
@@ -24,7 +24,8 @@ CLI_INST=SteamWareSim
;STARTLIST=WPS
;STARTLIST=Tend_FIMAT_01
;STARTLIST=PIZ04
-STARTLIST=3029-ENR
+STARTLIST=4001-ENR
+;STARTLIST=3029-ENR
MAXCNC=10
\ No newline at end of file
diff --git a/IOB-WIN-MBUS/IOB-WIN-MBUS.csproj b/IOB-WIN-MBUS/IOB-WIN-MBUS.csproj
index c8199a70..6bf32919 100644
--- a/IOB-WIN-MBUS/IOB-WIN-MBUS.csproj
+++ b/IOB-WIN-MBUS/IOB-WIN-MBUS.csproj
@@ -122,7 +122,9 @@
VersGen.cs
-
+
+ Form
+
@@ -135,7 +137,9 @@
-
+
+ Form
+
@@ -250,9 +254,15 @@
PreserveNewest
-
-
-
+
+ Always
+
+
+ Always
+
+
+ Always
+
diff --git a/IOB-WIN-MBUS/Iob/GenericNext.cs b/IOB-WIN-MBUS/Iob/GenericNext.cs
index fdcb0c5c..a82725f3 100644
--- a/IOB-WIN-MBUS/Iob/GenericNext.cs
+++ b/IOB-WIN-MBUS/Iob/GenericNext.cs
@@ -13,6 +13,7 @@ namespace IOB_WIN_MBUS.Iob
/// Configurazione (v 4.x)
public GenericNext(AdapterFormNext caller, IobConfTree IobConfFull) : base((IOB_WIN_FORM.AdapterForm)caller, IobConfFull)
{
+ trackReadDataReset();
}
}
diff --git a/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs b/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs
index 9580367d..8f5ccd13 100644
--- a/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs
+++ b/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs
@@ -351,7 +351,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
if (currPLC.Connected)
{
answ = currPLC.ReadCoils(startAddr, qty);
- trackReadData(qty / 8, sw.ElapsedMilliseconds / 1000);
+ trackReadData(qty / 8, sw.Elapsed.TotalMilliseconds / 1000);
}
}
catch (Exception exc)
@@ -375,7 +375,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
if (currPLC.Connected)
{
answ = currPLC.ReadDiscreteInputs(startAddr, qty);
- trackReadData(qty / 8, sw.ElapsedMilliseconds / 1000);
+ trackReadData(qty / 8, sw.Elapsed.TotalMilliseconds / 1000);
}
}
catch (Exception exc)
@@ -399,7 +399,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
if (currPLC.Connected)
{
answ = currPLC.ReadHoldingRegisters(startAddr, qty);
- trackReadData(qty * 2, sw.ElapsedMilliseconds / 1000);
+ trackReadData(qty * 2, sw.Elapsed.TotalMilliseconds / 1000);
}
}
catch (Exception exc)
@@ -423,7 +423,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
if (currPLC.Connected)
{
answ = currPLC.ReadInputRegisters(startAddr, qty);
- trackReadData(qty * 2, sw.ElapsedMilliseconds / 1000);
+ trackReadData(qty * 2, sw.Elapsed.TotalMilliseconds / 1000);
}
}
catch (Exception exc)
@@ -1288,22 +1288,22 @@ namespace IOB_WIN_MBUS.IobModbusTCP
{
case modbusMemType.Coil:
readTestBool = currPLC.ReadCoils(baseAddr - baseHold, numVals);
- trackReadData(numVals / 8, sw.ElapsedMilliseconds / 1000);
+ trackReadData(numVals / 8, sw.Elapsed.TotalMilliseconds / 1000);
break;
case modbusMemType.DiscreteInput:
readTestBool = currPLC.ReadDiscreteInputs(baseAddr - 1 * baseMult + baseHold, numVals);
- trackReadData(numVals / 8, sw.ElapsedMilliseconds / 1000);
+ trackReadData(numVals / 8, sw.Elapsed.TotalMilliseconds / 1000);
break;
case modbusMemType.InputRegister:
readTestInt = currPLC.ReadInputRegisters(baseAddr - 3 * baseMult + baseHold, numVals);
- trackReadData(numVals * 2, sw.ElapsedMilliseconds / 1000);
+ trackReadData(numVals * 2, sw.Elapsed.TotalMilliseconds / 1000);
break;
case modbusMemType.HoldingRegister:
readTestInt = currPLC.ReadHoldingRegisters(baseAddr - 4 * baseMult + baseHold, numVals);
- trackReadData(numVals * 2, sw.ElapsedMilliseconds / 1000);
+ trackReadData(numVals * 2, sw.Elapsed.TotalMilliseconds / 1000);
break;
case modbusMemType.NotDefined:
@@ -1988,7 +1988,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
sw.Stop();
lgTrace($"Lettura in blocco Colis | startAddr: {startAddr} | numReg {numReg} | rawData.lenght: {rawData.Length} | {sw.ElapsedMilliseconds}ms");
// salvo statistica...
- trackReadData(rawData.Length / 8, sw.ElapsedMilliseconds / 1000);
+ trackReadData(rawData.Length / 8, sw.Elapsed.TotalMilliseconds / 1000);
lastReadPLC = DateTime.Now;
// salvo in LUT i dati...
if (rawData.Length > 0)
@@ -2059,7 +2059,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
sw.Stop();
lgTrace($"Lettura in blocco DiscreteInput | startAddr: {startAddr} | numReg {numReg} | rawData.lenght: {rawData.Length} | {sw.ElapsedMilliseconds}ms");
// salvo statistica...
- trackReadData(rawData.Length / 8, sw.ElapsedMilliseconds / 1000);
+ trackReadData(rawData.Length / 8, sw.Elapsed.TotalMilliseconds / 1000);
lastReadPLC = DateTime.Now;
// salvo in LUT i dati...
if (rawData.Length > 0)
@@ -2131,7 +2131,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
sw.Stop();
lgTrace($"Lettura in blocco HoldingRegisters| startAddr: {startAddr} | numReg {numReg} | rawData.lenght: {rawData.Length} | {sw.Elapsed.TotalMilliseconds}ms");
// salvo statistica...
- trackReadData(rawData.Length * 2, sw.ElapsedMilliseconds / 1000);
+ trackReadData(rawData.Length * 2, sw.Elapsed.TotalMilliseconds / 1000);
lastReadPLC = DateTime.Now;
// se risposta troppo rapida (< minRespTimeMs, tipicamente 5 msse non impostato in OptPar) indico NON ok e errori...
if (sw.Elapsed.TotalMilliseconds < minRespTimeMs)
@@ -2225,7 +2225,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
sw.Stop();
lgTrace($"Lettura in blocco InputRegisters| startAddr: {startAddr} | numReg {numReg} | rawData.lenght: {rawData.Length} | {sw.ElapsedMilliseconds}ms");
// salvo statistica...
- trackReadData(rawData.Length * 2, sw.ElapsedMilliseconds / 1000);
+ trackReadData(rawData.Length * 2, sw.Elapsed.TotalMilliseconds / 1000);
lastReadPLC = DateTime.Now;
// salvo in LUT la versione ESPLOSA 2 byte alla volta...
if (rawData.Length > 0)