Merge branch 'release/AddFrerModbus_09'

This commit is contained in:
Samuele Locatelli
2025-05-30 11:07:54 +02:00
5 changed files with 42 additions and 19 deletions
+12 -1
View File
@@ -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);
}
/// <summary>
/// Reset valori trackdata all'avvio dell'adapter IOB
/// </summary>
protected void trackReadDataReset()
{
// per prima cosa LEGGO il valore precedente
DateTime adesso = DateTime.Now;
string rKey = $"{redisMan.redIobTrackKey}:DataIn:{adesso:yyMMdd}";
redisMan.redDelKey(rKey);
}
/// <summary>
/// Effettua chiamata MP-IO per cheidere all'utente se vuole effettuare chiusura ODL
/// corrente della macchina
+2 -1
View File
@@ -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
+15 -5
View File
@@ -122,7 +122,9 @@
<Compile Include="..\VersGen\VersGen.cs">
<Link>VersGen.cs</Link>
</Compile>
<Compile Include="AdapterFormNext.cs" />
<Compile Include="AdapterFormNext.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="IobModbustTCP\ModbusTCP.cs" />
<Compile Include="IobModbustTCP\ModbusTCPCedax.cs" />
<Compile Include="IobModbustTCP\ModbusTCPCenterfrigo.cs" />
@@ -135,7 +137,9 @@
<Compile Include="IobModbustTCP\ModbusTCPSaim.cs" />
<Compile Include="IobModbustTCP\ModbusTCPZetapack.cs" />
<Compile Include="Iob\GenericNext.cs" />
<Compile Include="MainFormNext.cs" />
<Compile Include="MainFormNext.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="ILLink\ILLink.Descriptors.LibraryBuild.xml" />
@@ -250,9 +254,15 @@
<None Include="DATA\CONF\3029-ENR_MBlock.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\4001-ENR.ini" />
<None Include="DATA\CONF\4001-ENR.json" />
<None Include="DATA\CONF\4001-ENR_MBlock.json" />
<None Include="DATA\CONF\4001-ENR.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\4001-ENR.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\4001-ENR_MBlock.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\4002-ENR.ini" />
<None Include="DATA\CONF\4002-ENR.json" />
<None Include="DATA\CONF\4002-ENR_MBlock.json" />
+1
View File
@@ -13,6 +13,7 @@ namespace IOB_WIN_MBUS.Iob
/// <param name="IobConfFull">Configurazione (v 4.x)</param>
public GenericNext(AdapterFormNext caller, IobConfTree IobConfFull) : base((IOB_WIN_FORM.AdapterForm)caller, IobConfFull)
{
trackReadDataReset();
}
}
+12 -12
View File
@@ -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)