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