This commit is contained in:
Samuele E. Locatelli (W11-AI)
2026-05-19 17:05:19 +02:00
5 changed files with 93 additions and 29 deletions
-17
View File
@@ -858,23 +858,6 @@ namespace IOB_WIN_FORM.Iob
}
else
{
//// anche se NON connesso alcuni task di bassa freq li eseguo...
//if (ciclo == gatherCycle.LF)
//{
// // verifico se devo gestire cambio ODL in modo automatico
// await ProcessAutoOdlAsync();
// // verifico se devo gestire auto generazione dossier quotidiana
// ProcessAutoDossier();
// // effettua gestione import file se configurato...
// await ProcessFileImportAsync();
// // effettua process ritorno ricette
// await ProcessRecipeFileRetAsync();
//}
//else if (ciclo == gatherCycle.VLF)
//{
// processRecipeSyncArch();
//}
// provo a riconnettere SE abilitato tryRestart...
if (adpTryRestart && !connectionOk)
{
+22 -8
View File
@@ -55,17 +55,28 @@ namespace IOB_WIN_FORM.Iob
{
// effettuo check ping!
DateTime adesso = DateTime.Now;
if (adesso.Subtract(lastPING).TotalSeconds >= PoweroffTimeoutSec)
var lastCheck = lastPING < lastReadPLC ? lastReadPLC : lastReadPLC;
if (adesso.Subtract(lastCheck).TotalSeconds >= PoweroffTimeoutSec)
{
// gestione invio anche in caso di disconnessione
// invio poweroff!
newDisplayData currDispData = new newDisplayData();
readSemafori(ref currDispData);
try
{
readSemafori(ref currDispData);
}
catch (Exception exc)
{
lgError($"Eccezione in processDisconnectedTask{Environment.NewLine}{exc}");
}
lgDebug($"processDisconnectedTask | B_output: {B_output}");
// SOLO SE ho poweroff da inviare...
if (B_output == 0)
{
accodaSigIN(ref currDispData);
// reset last ping...
lastPING = DateTime.Now;
lastReadPLC = DateTime.Now;
}
}
}
@@ -133,7 +144,9 @@ namespace IOB_WIN_FORM.Iob
}
sw.Stop();
// fermo per una quota del tempo di attesa previsto
Task.Delay(vetoCheckSec - (int)sw.ElapsedMilliseconds + 20);
int nextWait = vetoCheckSec * 1000 - (int)sw.ElapsedMilliseconds + 20;
nextWait = nextWait < 0 ? 10 : nextWait;
Task.Delay(nextWait);
}
public override void startAdapter(bool resetQueue)
@@ -142,7 +155,6 @@ namespace IOB_WIN_FORM.Iob
// 2023.09.05 imposto anche primo ping e check disconnected...
DateTime adesso = DateTime.Now;
lastWatchDog = adesso;
//lastPING = adesso;
lastReadPLC = adesso;
lastDisconnCheck = adesso;
// faccio un primo check POST ritardo
@@ -158,8 +170,6 @@ namespace IOB_WIN_FORM.Iob
lgDebug($"PING: tryConnect step 01 | connectionOk: {connectionOk}");
if (!connectionOk)
{
//// resetto coda...
//QueuePing = new DataQueue("000", "QueuePing", false);
// controllo che il ping sia stato tentato almeno pingTestSec fa...
if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec"))
{
@@ -191,6 +201,10 @@ namespace IOB_WIN_FORM.Iob
{
// loggo no risposta ping ...
lgError("PING KO");
// 2026.05.19 aggiunta esecuzione disconnect
queueInEnabCurr = true;
processDisconnectedTask();
queueInEnabCurr = false;
}
}
}
@@ -227,7 +241,7 @@ namespace IOB_WIN_FORM.Iob
// controllo: se era spenta e risulta ping ok --> reset coda!
if (B_input == 0 && pingOk)
{
B_input = 1;
B_input = bInOn;
QueuePing = new DataQueue(IOBConfFull.General.FilenameIOB, "QueuePing", false, redisMan);
lgTrace($"QueuePing resetted on addTest");
}
@@ -255,7 +269,7 @@ namespace IOB_WIN_FORM.Iob
long numOk = listaValori.Where(x => x == "1").Count();
long numKo = numVal - numOk;
answ = numOk >= numKo;
lgTrace($"PING ok per: {numOk} > {numKo}");
lgTrace($"PING | numOK:{numOk} | numKO: {numKo}");
}
else
{
+6 -2
View File
@@ -10,14 +10,16 @@ MODEL=WATCHDOG
[CNC]
IP=192.168.1.151
;IP=192.168.1.7
;IP=192.168.1.8
PORT=0000
[SERVER]
MPIP=http://192.168.1.7
MPURL=/MP/IO
MPURL=/MP/RIOC/api
APICLASS=IOB
CMDBASE=/IOB/input/
CMDFLOG=/IOB/flog/
CMDULOG=/IOB/ulog/
CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
@@ -30,6 +32,7 @@ MAX_COUNTER_BLINK = 15
BLINK_FILT=0
[OPTPAR]
MAX_ERR_CHECK=10
timerIntMs=300
VETO_QUEUE_IN=15
AUTO_CHANGE_ODL=false
@@ -57,3 +60,4 @@ Customer=JETCO
HostOS=WIN
HostName=IOB-WIN-09
HostAddr=192.168.1.133
+2 -2
View File
@@ -15,8 +15,8 @@ CLI_INST=SteamWareSim
;STARTLIST=PING
;STARTLIST=SIMUL_01
;STARTLIST=FTP-PING
STARTLIST=SIMUL_08
;STARTLIST=3024-PING
;STARTLIST=3023-PING,3024-PING
;STARTLIST=SIMUL_08
STARTLIST=3023-PING
MAXCNC=10
+63
View File
@@ -0,0 +1,63 @@
;Configurazione IOB-WIN
[IOB]
CNCTYPE=PingWatchdog
PING_MS_TIMEOUT=500
IOB_NAME=3023
[MACHINE]
VENDOR=STEAMWARE
MODEL=WATCHDOG
[CNC]
;IP=192.168.1.151
IP=192.168.1.8
PORT=0000
[SERVER]
MPIP=http://192.168.1.7
MPURL=/MP/RIOC/api
APICLASS=IOB
CMDBASE=/IOB/input/
CMDFLOG=/IOB/flog/
CMDULOG=/IOB/ulog/
CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
CMDREBO=/sendReboot.aspx?idxMacchina=
[MEMORY]
[BLINK]
MAX_COUNTER_BLINK = 15
BLINK_FILT=0
[OPTPAR]
MAX_ERR_CHECK=10
timerIntMs=300
VETO_QUEUE_IN=15
AUTO_CHANGE_ODL=false
POWEROFF_TIMEOUT_SEC=60
DISABLE_PZCOUNT=TRUE
;; gestioni PING
;MAX_TRY_PING=3
;VETO_QUEUE_IN=4
;VETO_PING_SEC=4
;VETO_CHECKDIR_SEC=10
;MAX_ELAPSED_TIME_SEC=60
;VETO_SEND_SNAPSHOT=3
VETO_SIG_IN=false
B_IN_OFF=0
B_IN_ON=129
VETO_PING_SEC=6
VETO_SCADUTO=TRUE
[BRANCH]
NAME=master
; Tags manuali
[TAGS]
Customer=JETCO
HostOS=WIN
HostName=IOB-WIN-09
HostAddr=192.168.1.133