Fix gestione contatore errori ModBus + condizione disconnect (NON entrava in catch)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user