Continuo spostamento variabili DateTime in helper

This commit is contained in:
Samuele Locatelli
2026-05-23 21:24:55 +02:00
parent eaed03bb1f
commit 0e1575dd9a
33 changed files with 227 additions and 232 deletions
-30
View File
@@ -124,36 +124,6 @@ namespace IOB_UT_NEXT.Iob
/// </summary>
public IobConfTree IOBConfFull;
/// <summary>
/// dataOra ultima verifica CNC disconnesso...
/// </summary>
public DateTime lastDisconnCheck;
/// <summary>
/// Data/ora ultima volta che IOB è stato dichiarato online
/// </summary>
public DateTime lastIobOnline = DateTime.Now.AddHours(-1);
/// <summary>
/// Ultima verifica status IOB x forzare display status SRV
/// </summary>
public DateTime lastIobStatusDisplUpdate = DateTime.Now;
/// <summary>
/// dataOra ultimo log periodico...
/// </summary>
public DateTime lastPeriodicLog;
/// <summary>
/// dataOra ultimo PING inviato verso il PLC...
/// </summary>
public DateTime lastPING = DateTime.Now.AddHours(-1);
/// <summary>
/// DataOra ultima lettura da PLC
/// </summary>
public DateTime lastReadPLC;
/// <summary>
/// ULtimo valore inviato (in caso di disconnessione lo reinvia x garantire watchdog...)
/// </summary>
+34
View File
@@ -32,6 +32,40 @@ namespace IOB_UT_NEXT.Iob
/// </summary>
public DateTime VetoCheckSyncRecipe = DateTime.Now.AddHours(-1);
/// <summary>
/// dataOra ultima verifica CNC disconnesso...
/// </summary>
public DateTime lastDisconnCheck;
/// <summary>
/// Data/ora ultima volta che IOB è stato dichiarato online
/// </summary>
public DateTime lastIobOnline = DateTime.Now.AddHours(-1);
/// <summary>
/// Ultima verifica status IOB x forzare display status SRV
/// </summary>
public DateTime lastIobStatusDisplUpdate = DateTime.Now;
/// <summary>
/// dataOra ultimo log periodico...
/// </summary>
public DateTime lastPeriodicLog;
/// <summary>
/// dataOra ultimo PING inviato verso il PLC...
/// </summary>
public DateTime lastPING = DateTime.Now.AddHours(-1);
/// <summary>
/// Ultimo controllo ping x evitare ping flood...
/// </summary>
public DateTime lastPingConn = DateTime.Now.AddMinutes(-10);
/// <summary>
/// DataOra ultima lettura da PLC
/// </summary>
public DateTime lastReadPLC;
}
}
+2 -2
View File
@@ -1527,14 +1527,14 @@ namespace IOB_WIN_FANUC.Iob
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("FANUC: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// ora PING!!!
Ping pingSender = new Ping();
IPAddress address = IPAddress.Loopback;
+6 -6
View File
@@ -72,7 +72,7 @@ namespace IOB_WIN_FILE.IobFile
lgError($"Eccezione in IobFileSoitaab{Environment.NewLine}{exc}");
}
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
}
#endregion Public Constructors
@@ -89,7 +89,7 @@ namespace IOB_WIN_FILE.IobFile
DateTime adesso = DateTime.Now;
// NON fa nulla... anche se non dovrebbe richiamarlo
Dictionary<string, string> taskDone = new Dictionary<string, string>();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return taskDone;
}
@@ -103,7 +103,7 @@ namespace IOB_WIN_FILE.IobFile
Dictionary<string, string> outVal = new Dictionary<string, string>();
// processo ed accodo!
processFluxLogTable(adesso);
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return outVal;
}
@@ -145,14 +145,14 @@ namespace IOB_WIN_FILE.IobFile
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("FileSoitaab: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
@@ -175,7 +175,7 @@ namespace IOB_WIN_FILE.IobFile
if (adpRunning)
{
lgInfo($"Connessione OK alla folder {logDirPath}");
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
}
else
+2 -2
View File
@@ -2169,8 +2169,8 @@ namespace IOB_WIN_FORM
counterMAC = iobObj.contapezziPLC,
lastUpdate = lastIobStatus.lastUpdate > iobObj.lastWatchDog ? lastIobStatus.lastUpdate : iobObj.lastWatchDog,
online = utils.IOB_Online,
lastDataIn = iobObj.lastReadPLC,
lastDataOut = iobObj.lastIobOnline,
lastDataIn = iobObj.DtHelp.lastReadPLC,
lastDataOut = iobObj.DtHelp.lastIobOnline,
setupParams = setPar,
freeNotes = note
};
+20 -20
View File
@@ -272,10 +272,10 @@ namespace IOB_WIN_FORM.Iob
get
{
bool answ = false;
answ = (DateTime.Now.Subtract(lastPeriodicLog).TotalSeconds > utils.CRI("verboseLogTOut"));
answ = (DateTime.Now.Subtract(DtHelp.lastPeriodicLog).TotalSeconds > utils.CRI("verboseLogTOut"));
if (answ)
{
lastPeriodicLog = DateTime.Now;
DtHelp.lastPeriodicLog = DateTime.Now;
}
return answ;
@@ -2468,7 +2468,7 @@ namespace IOB_WIN_FORM.Iob
newDisplayData currDispData = new newDisplayData();
// controllo contatore invio "keepalive"... invio solo a scadenza
int disconnMaxSec = utils.CRI("disconMaxSec");
if (DateTime.Now.Subtract(lastDisconnCheck).TotalSeconds > disconnMaxSec)
if (DateTime.Now.Subtract(DtHelp.lastDisconnCheck).TotalSeconds > disconnMaxSec)
{
// resetto tutti i valori BYTE IN/PREV/OUT... così invio macchina spenta...
B_input = 0;
@@ -2476,7 +2476,7 @@ namespace IOB_WIN_FORM.Iob
B_previous = -1;
accodaSigIN(ref currDispData);
// update controllo
lastDisconnCheck = DateTime.Now;
DtHelp.lastDisconnCheck = DateTime.Now;
lgInfo($"Send 00 | disconMaxSec: {disconnMaxSec}");
}
raiseRefresh(currDispData);
@@ -2839,7 +2839,7 @@ namespace IOB_WIN_FORM.Iob
/// </summary>
public virtual void readSemafori(ref newDisplayData currDispData)
{
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
/// <summary>
@@ -3170,12 +3170,12 @@ namespace IOB_WIN_FORM.Iob
fatto = true;
currDispData.semOut = Semaforo.SV;
// se oltre 1 min NON era online --> check pezzi!
if (DateTime.Now.Subtract(lastIobOnline).TotalMinutes > 1 && !isMulti)
if (DateTime.Now.Subtract(DtHelp.lastIobOnline).TotalMinutes > 1 && !isMulti)
{
lgInfo($"sendDataBlock --> offline timeout ({lastIobOnline}) --> pzCntReload(true)");
lgInfo($"sendDataBlock --> offline timeout ({DtHelp.lastIobOnline}) --> pzCntReload(true)");
pzCntReload(true);
}
lastIobOnline = DateTime.Now;
DtHelp.lastIobOnline = DateTime.Now;
}
else
{
@@ -3252,9 +3252,9 @@ namespace IOB_WIN_FORM.Iob
// loggo!
lgDebug(string.Format("[SEND] {0} -> {1}", queueVal, answ));
// se oltre 1 min NON era online --> check pezzi!
if (DateTime.Now.Subtract(lastIobOnline).TotalMinutes > 1 && !isMulti)
if (DateTime.Now.Subtract(DtHelp.lastIobOnline).TotalMinutes > 1 && !isMulti)
{
lgInfo($"sendToMoonPro --> offline timeout ({lastIobOnline}) --> pzCntReload(true)");
lgInfo($"sendToMoonPro --> offline timeout ({DtHelp.lastIobOnline}) --> pzCntReload(true)");
pzCntReload(true);
}
// se richiesto effettuo refresh contapezzi
@@ -3263,7 +3263,7 @@ namespace IOB_WIN_FORM.Iob
pzCntReload(true);
needRefreshPzCount = false;
}
lastIobOnline = DateTime.Now;
DtHelp.lastIobOnline = DateTime.Now;
// se "OK" verde, altrimenti errore --> ROSSO
if (answ == "OK")
{
@@ -3362,9 +3362,9 @@ namespace IOB_WIN_FORM.Iob
adpRunning = true;
DtHelp.AvvioAdp = adesso;
lastWatchDog = scaduto;
lastPING = scaduto;
lastReadPLC = scaduto;
lastDisconnCheck = scaduto;
DtHelp.lastPING = scaduto;
DtHelp.lastReadPLC = scaduto;
DtHelp.lastDisconnCheck = scaduto;
TimingData.resetData();
// aggiungo altri defaults
setDefaults(resetQueue);
@@ -3486,8 +3486,8 @@ namespace IOB_WIN_FORM.Iob
// chiudo!
parentForm.displayTaskAndLog("Adapter Stopped.", true);
DateTime adesso = DateTime.Now;
lastReadPLC = adesso;
lastPING = adesso;
DtHelp.lastReadPLC = adesso;
DtHelp.lastPING = adesso;
parentForm.commPlcActive = false;
}
@@ -9138,7 +9138,7 @@ namespace IOB_WIN_FORM.Iob
}
// imposto contatori blink a zero...
i_counters = new int[32];
lastPeriodicLog = DateTime.Now;
DtHelp.lastPeriodicLog = DateTime.Now;
// fix parametri generali...
pzCountDelay = IOBConfFull.Device.PzCountDelay;
@@ -9433,14 +9433,14 @@ namespace IOB_WIN_FORM.Iob
{
// Log se lo stato è cambiato
DateTime adesso = DateTime.Now;
if (IobOnline != newStatus || adesso.Subtract(lastIobStatusDisplUpdate).TotalMilliseconds > (baseUtils.nextPauseSendMSec * 10))
if (IobOnline != newStatus || adesso.Subtract(DtHelp.lastIobStatusDisplUpdate).TotalMilliseconds > (baseUtils.nextPauseSendMSec * 10))
{
lgInfo(newStatus ? "IOB ONLINE for server MP/IO" : "IOB OFFLINE for server MP/IO");
IobOnline = newStatus;
lastIobStatusDisplUpdate = adesso;
DtHelp.lastIobStatusDisplUpdate = adesso;
if (newStatus)
{
lastIobOnline = adesso;
DtHelp.lastIobOnline = adesso;
parentForm.commSrvActive = 2; // Stato Online
}
else
+13 -13
View File
@@ -35,8 +35,8 @@ namespace IOB_WIN_FORM.Iob
lastWarnODL = adesso;
vetoCheckStatus = adesso;
// 2023.09.05 imposto anche primo ping e check disconnected...
lastPING = adesso;
lastDisconnCheck = adesso;
DtHelp.lastPING = adesso;
DtHelp.lastDisconnCheck = adesso;
PoweroffTimeoutSec = IOBConfFull.Device.PoweroffTimeOutSec;
// imposto i valori da inviare al controllo stato...
bInOff = IOBConfFull.Special.PingConf.B_PowerOff;
@@ -58,7 +58,7 @@ namespace IOB_WIN_FORM.Iob
{
// effettuo check ping!
DateTime adesso = DateTime.Now;
var lastCheck = lastPING < lastReadPLC ? lastReadPLC : lastReadPLC;
var lastCheck = DtHelp.lastPING < DtHelp.lastReadPLC ? DtHelp.lastReadPLC : DtHelp.lastReadPLC;
if (adesso.Subtract(lastCheck).TotalSeconds >= PoweroffTimeoutSec)
{
// gestione invio anche in caso di disconnessione
@@ -78,8 +78,8 @@ namespace IOB_WIN_FORM.Iob
{
accodaSigIN(ref currDispData);
// reset last ping...
lastPING = DateTime.Now;
lastReadPLC = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
}
}
@@ -99,19 +99,19 @@ namespace IOB_WIN_FORM.Iob
if (QueuePing.Count < maxQueuePing)
{
// in primis salvo data ping comunque...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// salvo esito ping
bool pingOK = testPingMachine == IPStatus.Success;
addTest(pingOK);
}
if (adesso.Subtract(lastPING).TotalSeconds >= vetoCheckSec)
if (adesso.Subtract(DtHelp.lastPING).TotalSeconds >= vetoCheckSec)
{
try
{
currDispData.semIn = Semaforo.SV;
// in primis salvo data ping comunque...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// salvo esito ping
bool pingOK = testPingMachine == IPStatus.Success;
addTest(pingOK);
@@ -120,7 +120,7 @@ namespace IOB_WIN_FORM.Iob
if (pingStatusOk())
{
connectionOk = true;
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
lastWatchDog = DateTime.Now;
}
else
@@ -158,8 +158,8 @@ namespace IOB_WIN_FORM.Iob
// 2023.09.05 imposto anche primo ping e check disconnected...
DateTime adesso = DateTime.Now;
lastWatchDog = adesso;
lastReadPLC = adesso;
lastDisconnCheck = adesso;
DtHelp.lastReadPLC = adesso;
DtHelp.lastDisconnCheck = adesso;
// faccio un primo check POST ritardo
tryConnect();
}
@@ -174,7 +174,7 @@ namespace IOB_WIN_FORM.Iob
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (doLog)
{
@@ -195,7 +195,7 @@ namespace IOB_WIN_FORM.Iob
if (pingStatusOk())
{
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
connectionOk = true;
queueInEnabCurr = true;
lgInfo("PING OK");
+3 -3
View File
@@ -522,7 +522,7 @@ namespace IOB_WIN_FORM.Iob
sendDataItemsList(demoItems);
// salvo lettura
lastReadPLC = adesso;
DtHelp.lastReadPLC = adesso;
lgInfo($"Completato processCustomTaskLF");
}
@@ -540,7 +540,7 @@ namespace IOB_WIN_FORM.Iob
var currOdl = CurrOdl();
// salvo lettura
lastReadPLC = adesso;
DtHelp.lastReadPLC = adesso;
lgInfo($"Completato processCustomTaskMF");
}
@@ -1025,7 +1025,7 @@ namespace IOB_WIN_FORM.Iob
string autoOdlRes = HttpService.CallUrl(urlFixDailyOdl);
// salvo lettura
lastReadPLC = adesso;
DtHelp.lastReadPLC = adesso;
lgInfo($"Completato processSlowDataRead");
return answ;
}
+11 -11
View File
@@ -43,8 +43,8 @@ namespace IOB_WIN_FTP.Iob
lastWarnODL = adesso;
vetoCheckStatus = adesso;
// 2023.09.05 imposto anche primo ping e check disconnected...
lastPING = adesso;
lastDisconnCheck = adesso;
DtHelp.lastPING = adesso;
DtHelp.lastDisconnCheck = adesso;
var VETO_PING_SEC = getOptPar("VETO_PING_SEC");
if (!string.IsNullOrEmpty(VETO_PING_SEC))
{
@@ -329,7 +329,7 @@ namespace IOB_WIN_FTP.Iob
}
}
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
/// <summary>
@@ -343,7 +343,7 @@ namespace IOB_WIN_FTP.Iob
if (ftpClientMan.IsConfigured)
{
// salto se fosse attivo il veto ping...
if (lastPING.AddSeconds(vetoPingSec) < adesso)
if (DtHelp.lastPING.AddSeconds(vetoPingSec) < adesso)
{
// lo stato è come ping machine, x ora puntato a IP unico (WiFi?)
byte[] MemBlock = new byte[2];
@@ -351,7 +351,7 @@ namespace IOB_WIN_FTP.Iob
{
currDispData.semIn = Semaforo.SV;
// in primis salvo data ping comunque...
lastPING = adesso;
DtHelp.lastPING = adesso;
// salvo esito ping
bool pingOK = testPingMachine == IPStatus.Success;
@@ -412,7 +412,7 @@ namespace IOB_WIN_FTP.Iob
connectionOk = true;
}
lastReadPLC = adesso;
DtHelp.lastReadPLC = adesso;
lastWatchDog = adesso;
}
else
@@ -445,9 +445,9 @@ namespace IOB_WIN_FTP.Iob
// 2023.09.05 imposto anche primo ping e check disconnected...
DateTime adesso = DateTime.Now;
lastWatchDog = adesso;
//lastPING = adesso;
lastReadPLC = adesso;
lastDisconnCheck = adesso;
//DtHelp.lastPING = adesso;
DtHelp.lastReadPLC = adesso;
DtHelp.lastDisconnCheck = adesso;
// faccio un primo check POST ritardo
tryConnect();
}
@@ -464,7 +464,7 @@ namespace IOB_WIN_FTP.Iob
//// resetto coda...
//QueuePing = new DataQueue("000", "QueuePing", false);
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > vetoPingSec)
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > vetoPingSec)
{
if (doLog)
{
@@ -481,7 +481,7 @@ namespace IOB_WIN_FTP.Iob
if (pingStatusOk())
{
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
connectionOk = true;
queueInEnabCurr = true;
lgInfo("FTP - ping OK");
+3 -3
View File
@@ -309,7 +309,7 @@ namespace IOB_WIN_KAWASAKI.Iob
// se trova ok thread o almeno kawasaki connesso --> aggiorno ultima lettura
if (threadOk || KAWASAKI_ref.IsConnected)
{
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
}
catch
@@ -366,14 +366,14 @@ namespace IOB_WIN_KAWASAKI.Iob
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("KAWASAKI: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
+11 -15
View File
@@ -296,7 +296,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
}
else
{
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
}
else
@@ -512,7 +512,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
lgInfo("ModBus TCP: tryConnect step 03");
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (doLog)
{
@@ -521,7 +521,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
lgInfo("ModBus TCP: tryConnect step 04");
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
@@ -600,7 +600,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
connectionOk = false;
queueInEnabCurr = false;
// resetto last ping...
lastPING = DateTime.Now.AddMinutes(-1);
DtHelp.lastPING = DateTime.Now.AddMinutes(-1);
}
/// <summary>
@@ -678,10 +678,6 @@ namespace IOB_WIN_MBUS.IobModbusTCP
/// </summary>
protected Dictionary<int, int[]> InputRegisterLUT = new Dictionary<int, int[]>();
/// <summary>
/// Ultimo controllo ping x evitare ping flood...
/// </summary>
protected DateTime lastPingConn = DateTime.Now.AddMinutes(-10);
/// <summary>
/// Esito ultimo ping
@@ -1182,7 +1178,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
if (!connectionOk)
{
// ora tento avvio PLC... SE PING OK...
lastPING = adesso;
DtHelp.lastPING = adesso;
IPStatus esitoPing = testPingMachine;
if (esitoPing == IPStatus.Success)
{
@@ -1379,7 +1375,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
{
// riduco i controlli ping.. li faccio solo ogni 5 ping period se precedente positivo...
DateTime adesso = DateTime.Now;
if (lastPingOk && adesso.Subtract(lastPingConn).TotalMilliseconds < 5 * parametri.pingMsTimeout)
if (lastPingOk && adesso.Subtract(DtHelp.lastPingConn).TotalMilliseconds < 5 * parametri.pingMsTimeout)
{
answ = lastPingOk;
}
@@ -1425,7 +1421,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
}
}
// salvo stato ping
lastPingConn = adesso;
DtHelp.lastPingConn = adesso;
}
lastPingOk = answ;
}
@@ -2011,7 +2007,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
lgTrace($"Lettura in blocco Colis | startAddr: {startAddr} | numReg {numReg} | rawData.lenght: {rawData.Length} | {sw.ElapsedMilliseconds}ms");
// salvo statistica...
trackReadData(rawData.Length / 8, sw.Elapsed.TotalMilliseconds / 1000);
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
// salvo in LUT i dati...
if (rawData.Length > 0)
{
@@ -2082,7 +2078,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
lgTrace($"Lettura in blocco DiscreteInput | startAddr: {startAddr} | numReg {numReg} | rawData.lenght: {rawData.Length} | {sw.ElapsedMilliseconds}ms");
// salvo statistica...
trackReadData(rawData.Length / 8, sw.Elapsed.TotalMilliseconds / 1000);
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
// salvo in LUT i dati...
if (rawData.Length > 0)
{
@@ -2154,7 +2150,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
lgTrace($"Lettura in blocco HoldingRegisters| startAddr: {startAddr} | numReg {numReg} | rawData.lenght: {rawData.Length} | {sw.Elapsed.TotalMilliseconds}ms");
// salvo statistica...
trackReadData(rawData.Length * 2, sw.Elapsed.TotalMilliseconds / 1000);
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
// se risposta troppo rapida (< minRespTimeMs, tipicamente 5 msse non impostato in OptPar) indico NON ok e errori...
if (sw.Elapsed.TotalMilliseconds < minRespTimeMs)
{
@@ -2245,7 +2241,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
lgTrace($"Lettura in blocco InputRegisters| startAddr: {startAddr} | numReg {numReg} | rawData.lenght: {rawData.Length} | {sw.ElapsedMilliseconds}ms");
// salvo statistica...
trackReadData(rawData.Length * 2, sw.Elapsed.TotalMilliseconds / 1000);
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
// salvo in LUT la versione ESPLOSA 2 byte alla volta...
if (rawData.Length > 0)
{
+2 -2
View File
@@ -76,7 +76,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
----------------------------------------------------- */
DateTime adesso = DateTime.Now;
// se ha risposto ad ultima chiamata --> ok
if (connectionOk && adesso.Subtract(lastReadPLC).TotalMinutes < 1)
if (connectionOk && adesso.Subtract(DtHelp.lastReadPLC).TotalMinutes < 1)
{
B_input = 3;
// aggiungo NON emergenza...
@@ -86,7 +86,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
{
B_input = 0;
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
lastWatchDog = adesso;
}
+2 -2
View File
@@ -885,14 +885,14 @@ namespace IOB_WIN_MITSUBISHI.Iob
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("MITSUBISHI: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// ora PING!!!
Ping pingSender = new Ping();
IPAddress address = IPAddress.Loopback;
+3 -3
View File
@@ -175,7 +175,7 @@ namespace IOB_WIN_MTC.Iob
public override void readSemafori(ref newDisplayData currDispData)
{
DateTime adesso = DateTime.Now;
lastReadPLC = adesso;
DtHelp.lastReadPLC = adesso;
// verifico non sia in veto invio iniziale...
if (queueInEnabCurr)
{
@@ -248,14 +248,14 @@ namespace IOB_WIN_MTC.Iob
// disattivo eventuali sottoscrizioni
DeactEvents();
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("MTC: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
+2 -2
View File
@@ -147,14 +147,14 @@ namespace IOB_WIN_OMRON.Iob
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("OMRON: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
+2 -2
View File
@@ -588,14 +588,14 @@ namespace IOB_WIN_OPC_UA.IobOpc
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("OpcUa: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success || opcUaParams.forcePingOk)
{
+2 -2
View File
@@ -434,7 +434,7 @@ namespace IOB_WIN_OSAI.Iob
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
@@ -449,7 +449,7 @@ namespace IOB_WIN_OSAI.Iob
if (needPing)
{
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// ora PING!!!
IPAddress address = IPAddress.Loopback;
IPAddress.TryParse(IOBConfFull.Device.Connect.PingIpAddr, out address);
+11 -11
View File
@@ -47,8 +47,8 @@ namespace IOB_WIN_SHELLY.Iob
lastWarnODL = adesso;
vetoCheckStatus = adesso;
// 2023.09.05 imposto anche primo ping e check disconnected...
lastPING = adesso;
lastDisconnCheck = adesso;
DtHelp.lastPING = adesso;
DtHelp.lastDisconnCheck = adesso;
var VETO_PING_SEC = getOptPar("VETO_PING_SEC");
if (!string.IsNullOrEmpty(VETO_PING_SEC))
{
@@ -86,14 +86,14 @@ namespace IOB_WIN_SHELLY.Iob
{
Dictionary<string, string> outData = new Dictionary<string, string>();
// verifico che non sia una chiamata troppo frequente, ogni 10 sec minimo...
if (DateTime.Now > lastReadPLC.AddSeconds(shellyCallDelay))
if (DateTime.Now > DtHelp.lastReadPLC.AddSeconds(shellyCallDelay))
{
// chiama lettura status completo e recupera info in memRead e le passa come DynData...
lastShellyResp = Task.Run(() => ((Shelly1PmClient)shellyCli).GetSwitchStatus(CancellationToken.None, 0)).Result;
// NB: da verificare tipo di chiamata in base al tipo di shelly... TDB ora è cablato x Shelly1PM
if (lastShellyResp.IsSuccess)
{
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
// recupero da conf memMap e ciclo
foreach (var item in IOBConfFull.Memory.mMapRead)
{
@@ -149,7 +149,7 @@ namespace IOB_WIN_SHELLY.Iob
{
DateTime adesso = DateTime.Now;
// se ha risposto ad ultima chiamata --> ok
if (connectionOk && adesso.Subtract(lastReadPLC).TotalMinutes < 1)
if (connectionOk && adesso.Subtract(DtHelp.lastReadPLC).TotalMinutes < 1)
{
B_input = 3;
// aggiungo NON emergenza...
@@ -159,7 +159,7 @@ namespace IOB_WIN_SHELLY.Iob
{
B_input = 0;
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
lastWatchDog = adesso;
}
@@ -169,9 +169,9 @@ namespace IOB_WIN_SHELLY.Iob
// 2023.09.05 imposto anche primo ping e check disconnected...
DateTime adesso = DateTime.Now;
lastWatchDog = adesso;
//lastPING = adesso;
lastReadPLC = adesso;
lastDisconnCheck = adesso;
//DtHelp.lastPING = adesso;
DtHelp.lastReadPLC = adesso;
DtHelp.lastDisconnCheck = adesso;
// faccio un primo check POST ritardo
tryConnect();
}
@@ -188,7 +188,7 @@ namespace IOB_WIN_SHELLY.Iob
//// resetto coda...
//QueuePing = new DataQueue("000", "QueuePing", false);
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > vetoPingSec)
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > vetoPingSec)
{
if (doLog)
{
@@ -205,7 +205,7 @@ namespace IOB_WIN_SHELLY.Iob
if (pingStatusOk() || pingOK)
{
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
connectionOk = true;
queueInEnabCurr = true;
lgInfo("Shelly - ping OK");
+12 -12
View File
@@ -48,8 +48,8 @@ namespace IOB_WIN_SHELLY.Iob
lastWarnODL = adesso;
vetoCheckStatus = adesso;
// 2023.09.05 imposto anche primo ping e check disconnected...
lastPING = adesso;
lastDisconnCheck = adesso;
DtHelp.lastPING = adesso;
DtHelp.lastDisconnCheck = adesso;
var VETO_PING_SEC = getOptPar("VETO_PING_SEC");
if (!string.IsNullOrEmpty(VETO_PING_SEC))
{
@@ -87,7 +87,7 @@ namespace IOB_WIN_SHELLY.Iob
{
Dictionary<string, string> outData = new Dictionary<string, string>();
// verifico che non sia una chiamata troppo frequente, ogni 10 sec minimo...
if (DateTime.Now > lastReadPLC.AddSeconds(shellyCallDelay))
if (DateTime.Now > DtHelp.lastReadPLC.AddSeconds(shellyCallDelay))
{
// chiama lettura status valor RT (Potenza, Corrente...)
lastShellyRespRT = Task.Run(() => ((ShellyPro3EmClient)shellyCli).GetEmStatus(CancellationToken.None, 0)).Result;
@@ -96,7 +96,7 @@ namespace IOB_WIN_SHELLY.Iob
// Salvo negli oggetti DynData x EnergyTotal
if (lastShellyRespEnergy.IsSuccess)
{
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
// recupero da conf memMap e ciclo
foreach (var item in IOBConfFull.Memory.mMapRead)
{
@@ -137,7 +137,7 @@ namespace IOB_WIN_SHELLY.Iob
// Salvo negli oggetti DynData x RT
if (lastShellyRespRT.IsSuccess)
{
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
// recupero da conf memMap e ciclo
foreach (var item in IOBConfFull.Memory.mMapRead)
{
@@ -224,7 +224,7 @@ namespace IOB_WIN_SHELLY.Iob
{
DateTime adesso = DateTime.Now;
// se ha risposto ad ultima chiamata --> ok
if (connectionOk && adesso.Subtract(lastReadPLC).TotalMinutes < 1)
if (connectionOk && adesso.Subtract(DtHelp.lastReadPLC).TotalMinutes < 1)
{
B_input = 3;
// aggiungo NON emergenza...
@@ -234,7 +234,7 @@ namespace IOB_WIN_SHELLY.Iob
{
B_input = 0;
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
lastWatchDog = adesso;
}
@@ -244,9 +244,9 @@ namespace IOB_WIN_SHELLY.Iob
// 2023.09.05 imposto anche primo ping e check disconnected...
DateTime adesso = DateTime.Now;
lastWatchDog = adesso;
//lastPING = adesso;
lastReadPLC = adesso;
lastDisconnCheck = adesso;
//DtHelp.lastPING = adesso;
DtHelp.lastReadPLC = adesso;
DtHelp.lastDisconnCheck = adesso;
// faccio un primo check POST ritardo
tryConnect();
}
@@ -263,7 +263,7 @@ namespace IOB_WIN_SHELLY.Iob
//// resetto coda...
//QueuePing = new DataQueue("000", "QueuePing", false);
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > vetoPingSec)
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > vetoPingSec)
{
if (doLog)
{
@@ -280,7 +280,7 @@ namespace IOB_WIN_SHELLY.Iob
if (pingStatusOk() || pingOK)
{
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
connectionOk = true;
queueInEnabCurr = true;
lgInfo("Shelly - ping OK");
@@ -372,14 +372,14 @@ namespace IOB_WIN
// reimporto parametri PLC se necessario...
setParamPlc();
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (doLog)
{
lgInfo("SIEMENS-TORRI: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPing() == IPStatus.Success)
{
+4 -9
View File
@@ -1021,7 +1021,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
lgInfoStartup("SIEMENS: tryConnect step 03");
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (doLog)
{
@@ -1030,7 +1030,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
lgInfoStartup("SIEMENS: tryConnect step 04");
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
@@ -1142,11 +1142,6 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// </summary>
protected Plc currPLC;
/// <summary>
/// Ultimo controllo ping x evitare ping flood...
/// </summary>
protected DateTime lastPingConn = DateTime.Now.AddMinutes(-10);
/// <summary>
/// Esito ultimo ping
/// </summary>
@@ -1596,7 +1591,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
bool answ = false;
// riduco i controlli ping.. li faccio solo ogni 5 ping period se precedente positivo...
DateTime adesso = DateTime.Now;
if (lastPingOk && adesso.Subtract(lastPingConn).TotalMilliseconds < 5 * parametri.pingMsTimeout)
if (lastPingOk && adesso.Subtract(DtHelp.lastPingConn).TotalMilliseconds < 5 * parametri.pingMsTimeout)
{
answ = lastPingOk;
}
@@ -1646,7 +1641,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
}
// salvo stato ping
lastPingOk = answ;
lastPingConn = adesso;
DtHelp.lastPingConn = adesso;
}
return answ;
+6 -6
View File
@@ -72,7 +72,7 @@ namespace IOB_WIN_SQL.IobFile
lgError($"Eccezione in IobFileSoitaab{Environment.NewLine}{exc}");
}
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
}
#endregion Public Constructors
@@ -89,7 +89,7 @@ namespace IOB_WIN_SQL.IobFile
DateTime adesso = DateTime.Now;
// NON fa nulla... anche se non dovrebbe richiamarlo
Dictionary<string, string> taskDone = new Dictionary<string, string>();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return taskDone;
}
@@ -103,7 +103,7 @@ namespace IOB_WIN_SQL.IobFile
Dictionary<string, string> outVal = new Dictionary<string, string>();
// processo ed accodo!
processFluxLogTable(adesso);
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return outVal;
}
@@ -145,14 +145,14 @@ namespace IOB_WIN_SQL.IobFile
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("FileSoitaab: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
@@ -175,7 +175,7 @@ namespace IOB_WIN_SQL.IobFile
if (adpRunning)
{
lgInfo($"Connessione OK alla folder {logDirPath}");
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
}
else
+8 -8
View File
@@ -54,7 +54,7 @@ namespace IOB_WIN_SQL.IobSql
// eccezione: NON TROVA EntityFramework 6.0.0 o successivo... why?!?
dbProxy = new DbProxy(connSyncState);
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
}
#endregion Public Constructors
@@ -103,7 +103,7 @@ namespace IOB_WIN_SQL.IobSql
}
}
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return taskDone;
}
@@ -131,7 +131,7 @@ namespace IOB_WIN_SQL.IobSql
saveValue(ref outVal, item.Topic, (double)item.CurrVal);
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return outVal;
}
@@ -145,7 +145,7 @@ namespace IOB_WIN_SQL.IobSql
lgInfo($"Richiesto processCustomTaskLF");
// effettua sync
refreshElencoStati();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
/// <summary>
@@ -182,14 +182,14 @@ namespace IOB_WIN_SQL.IobSql
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("IcoelSoap: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
@@ -215,7 +215,7 @@ namespace IOB_WIN_SQL.IobSql
if (adpRunning)
{
lgInfo("Connessione OK");
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
}
else
@@ -275,7 +275,7 @@ namespace IOB_WIN_SQL.IobSql
sw.Start();
elencoSyncState = dbProxy.DataController.SyncStateDoImportAll();
sw.Stop();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
lgInfo($"DB: esecuzione task dbProxy.DataController.SyncStateGetAll() in {sw.ElapsedMilliseconds} ms");
if (elencoSyncState != null)
+9 -9
View File
@@ -70,7 +70,7 @@ namespace IOB_WIN_SQL.IobSql
// avvio DB controller
dbProxy = new DbController(connSyncState);
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
}
#endregion Public Constructors
@@ -212,7 +212,7 @@ namespace IOB_WIN_SQL.IobSql
}
}
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return taskDone;
}
@@ -226,7 +226,7 @@ namespace IOB_WIN_SQL.IobSql
// dizionario vuoto / gestito da altro adapter file-based
Dictionary<string, string> outVal = new Dictionary<string, string>();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return outVal;
}
@@ -240,7 +240,7 @@ namespace IOB_WIN_SQL.IobSql
// effettua sync
execExportAll();
execImportAll();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
/// <summary>
@@ -287,14 +287,14 @@ namespace IOB_WIN_SQL.IobSql
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("SqlDb LANTEK: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
@@ -320,7 +320,7 @@ namespace IOB_WIN_SQL.IobSql
if (adpRunning)
{
lgInfo("Connessione OK");
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
}
else
@@ -393,7 +393,7 @@ namespace IOB_WIN_SQL.IobSql
elencoSyncState = dbProxy.SyncStateDoExportAll();
sw.Stop();
DateTime adesso = DateTime.Now;
lastReadPLC = adesso;
DtHelp.lastReadPLC = adesso;
lgInfo($"DB: esecuzione task dbProxy.SyncStateDoExportAll() in {sw.ElapsedMilliseconds} ms");
if (elencoSyncState != null)
@@ -440,7 +440,7 @@ namespace IOB_WIN_SQL.IobSql
sw.Start();
elencoSyncState = dbProxy.SyncStateDoImportAll();
sw.Stop();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
lgInfo($"DB: esecuzione task dbProxy.SyncStateDoImportAll() in {sw.ElapsedMilliseconds} ms");
if (elencoSyncState != null)
+9 -9
View File
@@ -68,7 +68,7 @@ namespace IOB_WIN_SQL.IobSql
// eccezione: NON TROVA EntityFramework 6.0.0 o successivo... why?!?
dbProxy = new DbController(connSyncState);
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
}
#endregion Public Constructors
@@ -210,7 +210,7 @@ namespace IOB_WIN_SQL.IobSql
}
}
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return taskDone;
}
@@ -227,7 +227,7 @@ namespace IOB_WIN_SQL.IobSql
// processo ed accodo!
processFluxLogTable(adesso);
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return outVal;
}
@@ -240,7 +240,7 @@ namespace IOB_WIN_SQL.IobSql
lgInfo($"Richiesto processCustomTaskLF");
// effettua sync
execImportAll();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
/// <summary>
@@ -289,14 +289,14 @@ namespace IOB_WIN_SQL.IobSql
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("SqlDb PAMA: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
@@ -322,7 +322,7 @@ namespace IOB_WIN_SQL.IobSql
if (adpRunning)
{
lgInfo("Connessione OK");
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
}
else
@@ -395,7 +395,7 @@ namespace IOB_WIN_SQL.IobSql
elencoSyncState = dbProxy.SyncStateDoExportAll();
sw.Stop();
DateTime adesso = DateTime.Now;
lastReadPLC = adesso;
DtHelp.lastReadPLC = adesso;
lgInfo($"DB: esecuzione task dbProxy.SyncStateDoExportAll() in {sw.ElapsedMilliseconds} ms");
if (elencoSyncState != null)
@@ -442,7 +442,7 @@ namespace IOB_WIN_SQL.IobSql
sw.Start();
elencoSyncState = dbProxy.SyncStateDoImportAll();
sw.Stop();
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
lgInfo($"DB: esecuzione task dbProxy.SyncStateDoImportAll() in {sw.ElapsedMilliseconds} ms");
if (elencoSyncState != null)
+4 -4
View File
@@ -30,9 +30,9 @@ namespace IOB_WIN_WS.IobWs
public Citizen(AdapterFormNext caller, IobConfTree IobConfFull) : base(caller, IobConfFull)
{
lgInfo($"Richiesto Adapter IobRest.RestCitizen con i parametri seguenti | ADDR: {IOBConfFull.Device.Connect.IpAddr} | PORT: {IOBConfFull.Device.Connect.Port}");
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
redKeyAlarm = redisMan.redHash($"IOB:Status:{IOBConfFull.General.CodIOB}:Alarm:LastRead");
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
// predispongo configurazione specifica Rest...
lgInfo("Rest - 01");
if (!string.IsNullOrEmpty(getOptPar("REST_CONF")))
@@ -278,14 +278,14 @@ namespace IOB_WIN_WS.IobWs
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("Rest: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
bool checkMachine = false;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
+4 -4
View File
@@ -33,9 +33,9 @@ namespace IOB_WIN_WS.IobWs
public EmmegiFPW(AdapterFormNext caller, IobConfTree IobConfFull) : base(caller, IobConfFull)
{
lgInfo($"Richiesto Adapter IobRest.EmmegiFPW con i parametri seguenti | ADDR: {IOBConfFull.Device.Connect.IpAddr} | PORT: {IOBConfFull.Device.Connect.Port}");
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
redKeyAlarm = redisMan.redHash($"IOB:Status:{IOBConfFull.General.CodIOB}:Alarm:LastRead");
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
// predispongo configurazione specifica Rest...
lgInfo("01 - Rest");
if (!string.IsNullOrEmpty(getOptPar("REST_CONF")))
@@ -221,14 +221,14 @@ namespace IOB_WIN_WS.IobWs
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("Rest: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
+4 -4
View File
@@ -31,7 +31,7 @@ namespace IOB_WIN_WS.IobWs
{
lgInfo($"Richiesto Adapter IobSoap.Gomba con i parametri seguenti | ADDR: {IOBConfFull.Device.Connect.IpAddr} | PORT: {IOBConfFull.Device.Connect.Port}");
redKeyPesate = redisMan.redHash($"IOB:Status:{IOBConfFull.General.CodIOB}:ListPesate");
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
// verifico se sia attiva gestione riduzione FluxLog...
if (!string.IsNullOrEmpty(getOptJsonKVP("numLastWeight")))
{
@@ -190,7 +190,7 @@ namespace IOB_WIN_WS.IobWs
lgInfo($"getDynData | SOAP: effettuata chiamata reqWeightList in {sw.Elapsed.TotalMilliseconds}ms | {dataFrom} --> {dataTo} | {listPesateCurr.Count} rec");
}
// indico esecuzione e proseguo
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return outVal;
}
@@ -234,14 +234,14 @@ namespace IOB_WIN_WS.IobWs
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("Gomba: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
+6 -6
View File
@@ -43,7 +43,7 @@ namespace IOB_WIN_WS.IobWs
*/
IcoelSizer = new Connector(IOBConfFull.Device.Connect.IpAddr, IOBConfFull.Device.Connect.Port);
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
}
#endregion Public Constructors
@@ -154,7 +154,7 @@ namespace IOB_WIN_WS.IobWs
saveValueString(ref outVal, item.Key, item.Value);
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return outVal;
}
@@ -188,7 +188,7 @@ namespace IOB_WIN_WS.IobWs
}
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
/// <summary>
@@ -258,14 +258,14 @@ namespace IOB_WIN_WS.IobWs
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("IcoelSoap: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
@@ -395,7 +395,7 @@ namespace IOB_WIN_WS.IobWs
lgTrace("SOAP: effettuata chiamata IcoelSizer.GetLayoutForVarietyList()");
}
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
#endregion Protected Methods
+5 -5
View File
@@ -30,7 +30,7 @@ namespace IOB_WIN_WS.IobWs
public RestBase(AdapterFormNext caller, IobConfTree IobConfFull) : base(caller, IobConfFull)
{
lgInfo($"Richiesto Adapter IobRest.Base con i parametri seguenti | ADDR: {IOBConfFull.Device.Connect.IpAddr} | PORT: {IOBConfFull.Device.Connect.Port}");
lastPING = DateTime.Now.AddHours(-1);
DtHelp.lastPING = DateTime.Now.AddHours(-1);
// predispongo configurazione specifica Rest...
if (!string.IsNullOrEmpty(getOptPar("REST_CONF")))
{
@@ -125,7 +125,7 @@ namespace IOB_WIN_WS.IobWs
// valore non presente in vers default... se gestito fare override
Dictionary<string, string> outVal = new Dictionary<string, string>();
// indico esecuzione e proseguo
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
return outVal;
}
@@ -136,7 +136,7 @@ namespace IOB_WIN_WS.IobWs
public override void readSemafori(ref newDisplayData currDispData)
{
DateTime adesso = DateTime.Now;
lastReadPLC = adesso;
DtHelp.lastReadPLC = adesso;
// verifico non sia in veto invio iniziale...
if (queueInEnabCurr)
{
@@ -171,14 +171,14 @@ namespace IOB_WIN_WS.IobWs
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
lgInfo("Rest: ConnKO - tryConnect");
}
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// se passa il ping faccio il resto...
if (testPingMachine == IPStatus.Success)
{
+1 -1
View File
@@ -1235,7 +1235,7 @@ namespace IOB_WIN
counterMAC = iobObj.contapezziPLC,
lastUpdate = lastIobStatus.lastUpdate,
online = utils.IOB_Online,
lastDataIn = iobObj.lastReadPLC
lastDataIn = iobObj.DtHelp.lastReadPLC
};
// se diverso SALVO!
if (lastIobStatus.online != currIobStatus.online || lastIobStatus.lastDataIn != currIobStatus.lastDataIn || lastIobStatus.counterIOB != currIobStatus.counterIOB || lastIobStatus.counterMAC != currIobStatus.counterMAC || lastIobStatus.queueEvLen != currIobStatus.queueEvLen || lastIobStatus.queueFlLen != currIobStatus.queueFlLen || lastIobStatus.queueAlLen != currIobStatus.queueAlLen || lastIobStatus.queueMsLen != currIobStatus.queueMsLen)
+22 -22
View File
@@ -222,27 +222,27 @@ namespace IOB_WIN
/// <summary>
/// dataOra ultima verifica CNC disconnesso...
/// </summary>
public DateTime lastDisconnCheck;
public DateTime DtHelp.lastDisconnCheck;
/// <summary>
/// Data/ora ultima volta che IOB è stato dichairato online
/// </summary>
public DateTime lastIobOnline = DateTime.Now.AddHours(-1);
public DateTime DtHelp.lastIobOnline = DateTime.Now.AddHours(-1);
/// <summary>
/// dataOra ultimo log periodico...
/// </summary>
public DateTime lastPeriodicLog;
public DateTime DtHelp.lastPeriodicLog;
/// <summary>
/// dataOra ultimo PING inviato verso il PLC...
/// </summary>
public DateTime lastPING;
public DateTime DtHelp.lastPING;
/// <summary>
/// DataOra ultima lettura da PLC
/// </summary>
public DateTime lastReadPLC;
public DateTime DtHelp.lastReadPLC;
/// <summary>
/// ULtimo valore inviato (in caso di disconnessione lo reinvia x garantire watchdog...)
@@ -464,7 +464,7 @@ namespace IOB_WIN
// se online imposto veto check a 5 x tempo reinvio...
if (answ)
{
lastIobOnline = DateTime.Now;
DtHelp.lastIobOnline = DateTime.Now;
}
DtHelp.VetoCheckIOB = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 5);
}
@@ -1044,10 +1044,10 @@ namespace IOB_WIN
get
{
bool answ = false;
answ = (DateTime.Now.Subtract(lastPeriodicLog).TotalSeconds > utils.CRI("verboseLogTOut"));
answ = (DateTime.Now.Subtract(DtHelp.lastPeriodicLog).TotalSeconds > utils.CRI("verboseLogTOut"));
if (answ)
{
lastPeriodicLog = DateTime.Now;
DtHelp.lastPeriodicLog = DateTime.Now;
}
return answ;
@@ -1786,7 +1786,7 @@ namespace IOB_WIN
}
// imposto contatori blink a zero...
i_counters = new int[32];
lastPeriodicLog = DateTime.Now;
DtHelp.lastPeriodicLog = DateTime.Now;
// fix parametri generali...
enablePrgName = true;
}
@@ -3852,7 +3852,7 @@ namespace IOB_WIN
// init obj display
newDisplayData currDispData = new newDisplayData();
// controllo contatore invio "keepalive"... invio solo a scadenza
if (DateTime.Now.Subtract(lastDisconnCheck).TotalSeconds > utils.CRI("disconMaxSec"))
if (DateTime.Now.Subtract(DtHelp.lastDisconnCheck).TotalSeconds > utils.CRI("disconMaxSec"))
{
// resetto tutti i vlaori BYTE IN/PREV/OUT... così invio macchina spenta...
B_input = 0;
@@ -3860,7 +3860,7 @@ namespace IOB_WIN
B_previous = 0;
accodaSigIN(ref currDispData);
// update controllo
lastDisconnCheck = DateTime.Now;
DtHelp.lastDisconnCheck = DateTime.Now;
}
raiseRefresh(currDispData);
}
@@ -4118,7 +4118,7 @@ namespace IOB_WIN
if (connectionOk)
{
readSemafori(ref currDispData);
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
else
{
@@ -4142,7 +4142,7 @@ namespace IOB_WIN
/// </summary>
public virtual void readSemafori(ref newDisplayData currDispData)
{
lastReadPLC = DateTime.Now;
DtHelp.lastReadPLC = DateTime.Now;
}
/// <summary>
@@ -4268,12 +4268,12 @@ namespace IOB_WIN
{
currDispData.semOut = Semaforo.SV;
// se oltre 1 min NON era online --> check pezzi!
if (DateTime.Now.Subtract(lastIobOnline).TotalMinutes > 1 && !isMulti)
if (DateTime.Now.Subtract(DtHelp.lastIobOnline).TotalMinutes > 1 && !isMulti)
{
lgInfo($"sendDataBlock --> offline timeout ({lastIobOnline}) --> pzCntReload(true)");
lgInfo($"sendDataBlock --> offline timeout ({DtHelp.lastIobOnline}) --> pzCntReload(true)");
pzCntReload(true);
}
lastIobOnline = DateTime.Now;
DtHelp.lastIobOnline = DateTime.Now;
}
else
{
@@ -4344,9 +4344,9 @@ namespace IOB_WIN
// loggo!
lgInfo(string.Format("[SEND] {0} -> {1}", queueVal, answ));
// se oltre 1 min NON era online --> check pezzi!
if (DateTime.Now.Subtract(lastIobOnline).TotalMinutes > 1 && !isMulti)
if (DateTime.Now.Subtract(DtHelp.lastIobOnline).TotalMinutes > 1 && !isMulti)
{
lgInfo($"sendToMoonPro --> offline timeaout ({lastIobOnline}) --> pzCntReload(true)");
lgInfo($"sendToMoonPro --> offline timeaout ({DtHelp.lastIobOnline}) --> pzCntReload(true)");
pzCntReload(true);
}
// se richiesto effettuo refresh contapezzi
@@ -4355,7 +4355,7 @@ namespace IOB_WIN
pzCntReload(true);
needRefreshPzCount = false;
}
lastIobOnline = DateTime.Now;
DtHelp.lastIobOnline = DateTime.Now;
// se "OK" verde, altrimenti errore --> ROSSO
if (answ == "OK")
{
@@ -4438,9 +4438,9 @@ namespace IOB_WIN
adpRunning = true;
DtHelp.AvvioAdp = DateTime.Now;
lastWatchDog = DtHelp.AvvioAdp;
lastPING = DtHelp.AvvioAdp;
lastReadPLC = DtHelp.AvvioAdp.AddMinutes(-1);
lastDisconnCheck = DtHelp.AvvioAdp;
DtHelp.lastPING = DtHelp.AvvioAdp;
DtHelp.lastReadPLC = DtHelp.AvvioAdp.AddMinutes(-1);
DtHelp.lastDisconnCheck = DtHelp.AvvioAdp;
TimingData.resetData();
// aggiungo altri defaults
setDefaults(resetQueue);
+2 -2
View File
@@ -632,7 +632,7 @@ namespace IOB_WIN
if (!connectionOk)
{
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
if (DateTime.Now.Subtract(DtHelp.lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
if (verboseLog || periodicLog)
{
@@ -647,7 +647,7 @@ namespace IOB_WIN
if (needPing)
{
// in primis salvo data ping...
lastPING = DateTime.Now;
DtHelp.lastPING = DateTime.Now;
// ora PING!!!
IPAddress address = IPAddress.Loopback;
IPAddress.TryParse(cIobConf.cncIpAddr, out address);