diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index 73fb1ea6..ea38b7f2 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -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