Ancor amodifica ocmportamento PING
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user