diff --git a/IOB-UT-NEXT/Config/Base/DeviceDto.cs b/IOB-UT-NEXT/Config/Base/DeviceDto.cs
index 862a75a3..3c3fe305 100644
--- a/IOB-UT-NEXT/Config/Base/DeviceDto.cs
+++ b/IOB-UT-NEXT/Config/Base/DeviceDto.cs
@@ -47,6 +47,11 @@ namespace IOB_UT_NEXT.Config.Base
///
public bool DisabSigIn { get; set; } = false;
+ ///
+ /// Indica che sono disabilitati i resend alla scadenza del periodo di controllo anche in mancanza di variazione (tipicametne x gli adapter secondari come PING)
+ ///
+ public bool DisabResendScaduto { get; set; } = false;
+
///
/// Indica che sono disabilitate le fasi controllo stato/semafori (tipicamente x impianti
/// con PLC "suddivisi", PLC + HMI)
diff --git a/IOB-UT-NEXT/Config/IobConfTree.cs b/IOB-UT-NEXT/Config/IobConfTree.cs
index 910e39ba..9dbc8920 100644
--- a/IOB-UT-NEXT/Config/IobConfTree.cs
+++ b/IOB-UT-NEXT/Config/IobConfTree.cs
@@ -250,6 +250,7 @@ namespace IOB_UT_NEXT.Config
DisabPing = bool.Parse(fIni.ReadString("OPTPAR", "NO_PING", "false")),
DisabStateCh = bool.Parse(fIni.ReadString("IOB", "DIS_STATE_CH", "false")),
DisabSigIn = bool.Parse(fIni.ReadString("OPTPAR", "VETO_SIG_IN", "false")),
+ DisabResendScaduto = bool.Parse(fIni.ReadString("OPTPAR", "VETO_SCADUTO", "false")),
EnabMemRewrite = bool.Parse(fIni.ReadString("OPTPAR", "ENABLE_MEM_REWRITE", "true")),
EnabProgName = bool.Parse(fIni.ReadString("CNC", "GETPRGNAME", "true")),
EnabPzCount = utils.CRB("enableContapezzi"),
@@ -295,6 +296,7 @@ namespace IOB_UT_NEXT.Config
exclOptPar.Add("SET_NUM_COM");
exclOptPar.Add("VETO_QUEUE_IN");
exclOptPar.Add("VETO_SIG_IN");
+ exclOptPar.Add("VETO_SCADUTO");
// multi...
if (!string.IsNullOrEmpty(fIni.ReadString("OPTPAR", "IS_MULTI", "false")))
diff --git a/IOB-WIN-FORM/Iob/Generic.Protected.cs b/IOB-WIN-FORM/Iob/Generic.Protected.cs
index 300f2867..b6c9a60d 100644
--- a/IOB-WIN-FORM/Iob/Generic.Protected.cs
+++ b/IOB-WIN-FORM/Iob/Generic.Protected.cs
@@ -1,5 +1,6 @@
using EgwProxy.Ftp;
using IOB_UT_NEXT;
+using IOB_UT_NEXT.Config;
using MapoSDK;
using Newtonsoft.Json;
using NLog;
@@ -4548,7 +4549,7 @@ namespace IOB_WIN_FORM.Iob
// + di un timeout di controllo...
DateTime adesso = DateTime.Now;
bool scaduto = Math.Abs(adesso.Subtract(lastSigVarSent).TotalSeconds) > lastSigVarVeto;
- if (B_output != B_previous || scaduto)
+ if (B_output != B_previous || (scaduto && !IOBConfFull.Device.DisabResendScaduto))
{
lgDebug($"processAllMemory | B_output: {B_output} | B_previous: {B_previous}");
accodaSigIN(ref currDispData);
diff --git a/IOB-WIN-PING/DATA/CONF/3024-PING.ini b/IOB-WIN-PING/DATA/CONF/3024-PING.ini
index bfec19d2..b7fa6505 100644
--- a/IOB-WIN-PING/DATA/CONF/3024-PING.ini
+++ b/IOB-WIN-PING/DATA/CONF/3024-PING.ini
@@ -49,6 +49,7 @@ VETO_SIG_IN=false
B_IN_OFF=0
B_IN_ON=129
VETO_PING_SEC=6
+VETO_SCADUTO=TRUE
[BRANCH]
NAME=master
diff --git a/IOB-WIN-PING/DATA/CONF/FTP-PING.ini b/IOB-WIN-PING/DATA/CONF/FTP-PING.ini
index f0816111..c435924c 100644
--- a/IOB-WIN-PING/DATA/CONF/FTP-PING.ini
+++ b/IOB-WIN-PING/DATA/CONF/FTP-PING.ini
@@ -51,6 +51,7 @@ VETO_SIG_IN=false
B_IN_OFF=0
B_IN_ON=1
VETO_PING_SEC=6
+VETO_SCADUTO=TRUE
;abbasso freq di base gestione
timerIntMs=250
diff --git a/IOB-WIN-PING/DATA/CONF/PING.ini b/IOB-WIN-PING/DATA/CONF/PING.ini
index 9dc25f5c..41973b1c 100644
--- a/IOB-WIN-PING/DATA/CONF/PING.ini
+++ b/IOB-WIN-PING/DATA/CONF/PING.ini
@@ -49,6 +49,7 @@ VETO_SIG_IN=false
B_IN_OFF=0
B_IN_ON=1
VETO_PING_SEC=6
+VETO_SCADUTO=TRUE
[BRANCH]