diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs
index b51587db..8b72109c 100644
--- a/IOB-WIN-NEXT/IobGeneric.cs
+++ b/IOB-WIN-NEXT/IobGeneric.cs
@@ -1906,7 +1906,7 @@ namespace IOB_WIN_NEXT
idx++;
}
// combino string
- valTransl= string.Join(",", descAttivi);
+ valTransl = string.Join(",", descAttivi);
return valTransl;
}
@@ -3013,12 +3013,25 @@ namespace IOB_WIN_NEXT
///
public virtual void saveValueString(ref Dictionary outVal, string valore, string chiave)
{
+ DateTime adesso = DateTime.Now;
//check obj preliminare
if (outVal == null)
{
outVal = new Dictionary();
}
- outVal.Add(chiave, valore);
+ // cerco VC...
+ if (TSVC_Data.ContainsKey(chiave))
+ {
+ // verifico se sia scaduto OVVERO variato rispetto a prima oppure oltre tempo massimo (default 1 minuti
+ bool scaduto = (LastTSSSend[chiave].AddSeconds(TSVC_Data[chiave].Period) < adesso);
+ bool cambiato = !LastTSS[chiave].Equals(valore);
+ if (scaduto || cambiato)
+ {
+ outVal.Add(chiave, valore);
+ LastTSS[chiave] = valore;
+ LastTSSSend[chiave] = adesso;
+ }
+ }
}
///
@@ -3786,6 +3799,15 @@ namespace IOB_WIN_NEXT
///
protected Dictionary LastTSVC = new Dictionary();
+ ///
+ /// Dizionario ultimi valori (string) delle TSS
+ ///
+ protected Dictionary LastTSS = new Dictionary();
+ ///
+ /// Dizionario ultimi valori (string) delle TSS
+ ///
+ protected Dictionary LastTSSSend = new Dictionary();
+
///
/// Ultima registrazione warning x ODL mancante (x scrivere solo ogni 15 secondi)
///