Ancor amodifica ocmportamento PING

This commit is contained in:
Samuele Locatelli
2023-09-06 15:35:12 +02:00
parent 5f5b89e445
commit 13c10dc0dc
2 changed files with 34 additions and 6 deletions
+2 -2
View File
@@ -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]
+32 -4
View File
@@ -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;
}
}
/// <summary>
/// Max num ping falliti prima di demordere
/// </summary>
protected int numFailMax = 3;
/// <summary>
/// Num ping falliti corrente
/// </summary>
protected int numFailCurr = 0;
/// <summary>
/// Override connessione
/// </summary>
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();
}
}
}