diff --git a/IOB-WIN/DATA/CONF/EM63.ini b/IOB-WIN/DATA/CONF/EM63.ini
index 52254098..78c2e172 100644
--- a/IOB-WIN/DATA/CONF/EM63.ini
+++ b/IOB-WIN/DATA/CONF/EM63.ini
@@ -58,9 +58,11 @@ PZCOUNT_MODE=NONE
DISABLE_PZCOUNT=TRUE
ENABLE_DYN_DATA=TRUE
FORCE_DYN_DATA=TRUE
-;ENABLE_SEND_PZC_BLOCK=TRUE
-;MIN_SEND_PZC_BLOCK=0
-;MAX_SEND_PZC_BLOCK=100
+ENABLE_SEND_PZC_BLOCK=TRUE
+MIN_SEND_PZC_BLOCK=0
+MAX_SEND_PZC_BLOCK=1200
+MAX_DELAY_SEC=15
+CACHE_MULT=8
; CONF variabili da recuperare in WebPage (stato macchina, contatori, variabili, ...)
LUT_CONF=EM63.json
timerIntMs=10
diff --git a/IOB-WIN/IobFileEurom63.cs b/IOB-WIN/IobFileEurom63.cs
index 541b9f1c..e17ba235 100644
--- a/IOB-WIN/IobFileEurom63.cs
+++ b/IOB-WIN/IobFileEurom63.cs
@@ -27,6 +27,11 @@ namespace IOB_WIN
///
protected string appPath = Directory.GetCurrentDirectory();
+ ///
+ /// Moltiplicatore durata cache
+ ///
+ protected int cacheMult = 4;
+
///
/// Oggetti decodificati da pagina
///
@@ -60,6 +65,12 @@ namespace IOB_WIN
{
lgInfo("INIT IobFileEurom63");
appPath = Path.GetDirectoryName(Application.ExecutablePath);
+
+ string MAX_DELAY_SEC = getOptPar("MAX_DELAY_SEC");
+ string CACHE_MULT = getOptPar("CACHE_MULT");
+ int.TryParse(MAX_DELAY_SEC, out maxDelaySec);
+ int.TryParse(CACHE_MULT, out cacheMult);
+
#if DEBUG
maxDelaySec = 60 * 60 * 24;
#endif
@@ -87,6 +98,7 @@ namespace IOB_WIN
// imposto livellotornando indietro di 1 alla volta... senza andare in negativoS
actLevel = actLevel - 1;
actLevel = actLevel > 0 ? actLevel : 0;
+ lgInfo($"Sessione inattiva, {actLevel + 1} --> {actLevel}");
}
}
}
@@ -699,7 +711,7 @@ namespace IOB_WIN
}
// salvo in cache!
Last_CurrStatus.Value = currStatus;
- Last_CurrStatus.ValidUntil = DateTime.Now.AddSeconds(maxDelaySec * 4);
+ Last_CurrStatus.ValidUntil = DateTime.Now.AddSeconds(maxDelaySec * cacheMult);
// ora verifico SE siano validi anche le dataora dei valori letti (< 20 sec ritardo da ora...)
string data = statusData[0].Trim();
@@ -775,7 +787,7 @@ namespace IOB_WIN
}
// salvo B_Input in cache!
Last_B_Input.Value = B_input;
- Last_B_Input.ValidUntil = DateTime.Now.AddSeconds(maxDelaySec * 4);
+ Last_B_Input.ValidUntil = DateTime.Now.AddSeconds(maxDelaySec * cacheMult);
}
// se disponibile riporto B_Input precedente
else