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)