diff --git a/IOB-WIN-NEXT/DATA/CONF/PING.ini b/IOB-WIN-NEXT/DATA/CONF/PING.ini
index 454d25cf..de8135e3 100644
--- a/IOB-WIN-NEXT/DATA/CONF/PING.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/PING.ini
@@ -10,8 +10,8 @@ VENDOR=STEAMWARE
MODEL=WATCHDOG
[CNC]
-;IP=10.74.83.112
-IP=10.74.82.253
+IP=10.74.83.183
+;IP=10.74.82.253
PORT=0000
[SERVER]
diff --git a/IOB-WIN-NEXT/IobNet/Ping.cs b/IOB-WIN-NEXT/IobNet/Ping.cs
index 90be9780..322519c3 100644
--- a/IOB-WIN-NEXT/IobNet/Ping.cs
+++ b/IOB-WIN-NEXT/IobNet/Ping.cs
@@ -2,6 +2,7 @@
using MapoSDK;
using System;
using System.Net.NetworkInformation;
+using System.Threading;
namespace IOB_WIN_NEXT.IobNet
{
@@ -41,7 +42,7 @@ namespace IOB_WIN_NEXT.IobNet
//lastPING = adesso;
lastReadPLC = adesso;
lastDisconnCheck = adesso;
- // faccio un primo check
+ // faccio un primo check POST ritardo
tryConnect();
}
@@ -89,15 +90,18 @@ namespace IOB_WIN_NEXT.IobNet
{
connectionOk = true;
lastReadPLC = DateTime.Now;
+ lastWatchDog = DateTime.Now;
}
else
{
- connectionOk = false;
+ numFailMax = 10;
+ checkMaxPingFail();
}
if (connectionOk)
{
B_input = 1;
+ //numFailCurr = 0;
}
else
{
@@ -111,15 +115,38 @@ namespace IOB_WIN_NEXT.IobNet
{
currDispData.semIn = Semaforo.SR;
}
+ // attesa extra di 1 sec...
+ Thread.Sleep(1000);
}
+ private void checkMaxPingFail()
+ {
+ numFailCurr++;
+ if (numFailCurr >= numFailMax)
+ {
+ lgInfo($"PING: Reached numFailMax: {numFailMax}");
+ connectionOk = false;
+ numFailCurr = 0;
+ }
+ }
+
+ ///
+ /// Max num ping falliti prima di demordere
+ ///
+ protected int numFailMax = 3;
+ ///
+ /// Num ping falliti corrente
+ ///
+ protected int numFailCurr = 0;
+
+
///
/// Override connessione
///
public override void tryConnect()
{
bool doLog = (verboseLog || periodicLog);
- lgDebug("PING: tryConnect step 01");
+ lgDebug($"PING: tryConnect step 01 | connectionOk: {connectionOk}");
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
@@ -142,8 +169,9 @@ namespace IOB_WIN_NEXT.IobNet
else
{
// loggo no risposta ping ...
- connectionOk = false;
lgError("PING KO");
+ numFailMax = 2;
+ checkMaxPingFail();
}
}
}