Fix gestione contatore errori ModBus + condizione disconnect (NON entrava in catch)

This commit is contained in:
Samuele Locatelli
2021-11-08 15:59:11 +01:00
parent 3c21298f62
commit 479a4f964b
+14 -12
View File
@@ -451,24 +451,13 @@ namespace IOB_WIN_NEXT
{
currReadErrors++;
lgError($"Impossibile copiare dati, array di origine troppo corto: rawData.lenght: {rawData.Length} | base addr richiesto i*2: {i * 2} | errori currReadErrors: {currReadErrors}");
// se > 3 errori --> disconnetto
if (currReadErrors > maxReadErrors)
{
lgInfo("Superato limite errori Read --> tryDisconnect");
currReadErrors = 0;
tryDisconnect();
}
else
{
// altrimenti pausa forzata
Thread.Sleep(200);
}
}
}
}
}
catch (Exception exc)
{
currReadErrors++;
lgError($"Eccezione in readBlockHoldingReg{Environment.NewLine}{exc}");
}
}
@@ -477,6 +466,19 @@ namespace IOB_WIN_NEXT
lgError("Attenzione, plc disconnesso...");
tryDisconnect();
}
// se > max errori --> disconnetto
if (currReadErrors > maxReadErrors)
{
lgInfo("Superato limite errori Read --> tryDisconnect");
currReadErrors = 0;
tryDisconnect();
}
else
{
// altrimenti pausa forzata
Thread.Sleep(200);
}
}
#endregion Private Methods