diff --git a/MapoSDK/Enums.cs b/MapoSDK/Enums.cs
index 350927ef..97f46058 100644
--- a/MapoSDK/Enums.cs
+++ b/MapoSDK/Enums.cs
@@ -49,6 +49,16 @@
///
String
}
+ ///
+ /// Finestra temporale di aggregazione dati VC
+ ///
+ public enum timeWindow
+ {
+ hour,
+ day,
+ week,
+ month
+ }
///
/// Elenco task ammessi (x IOB-WIN da eseguire...)
diff --git a/MapoSDK/Objects.cs b/MapoSDK/Objects.cs
index f10e7a6d..10d3b753 100644
--- a/MapoSDK/Objects.cs
+++ b/MapoSDK/Objects.cs
@@ -215,6 +215,100 @@ namespace MapoSDK
public Dictionary mMapRead = new Dictionary();
}
+
+
+ ///
+ /// Classe oggetto base TimeSeries
+ ///
+ public class tsData
+ {
+ ///
+ /// Nome della Var Casuale
+ ///
+ public string vcName { get; set; } = "";
+ ///
+ /// Data-Ora riferimento campione
+ ///
+ public DateTime timeStamp { get; set; } = DateTime.Now;
+ ///
+ /// Tipo di valore gestito
+ ///
+ [JsonConverter(typeof(StringEnumConverter))]
+ public plcDataType vcType { get; set; } = plcDataType.Int;
+ ///
+ /// Valore in formato stringa (che può venire customizzato)
+ ///
+ public string strValue { get; set; } = "";
+ ///
+ /// In base al tipo di oggetto restituisce il valore cona deguata conversione......
+ ///
+ public object actValue
+ {
+ get
+ {
+ object answ = null;
+ bool currBool = false;
+ int currInt = 0;
+ double currDouble = 0;
+ switch (vcType)
+ {
+ case plcDataType.Boolean:
+ bool.TryParse(strValue, out currBool);
+ answ = currBool;
+ break;
+ case plcDataType.Int:
+ case plcDataType.DInt:
+ int.TryParse(strValue, out currInt);
+ answ = currInt;
+ break;
+ case plcDataType.Real:
+ double.TryParse(strValue, out currDouble);
+ answ = currDouble;
+ break;
+ case plcDataType.String:
+ default:
+ answ = strValue;
+ break;
+ }
+ return answ;
+ }
+ }
+ ///
+ /// Valore intero
+ ///
+ public int intVal { get; set; } = 0;
+ ///
+ /// Valore float
+ ///
+ public float floatVal { get; set; } = 0;
+ }
+ ///
+ /// Aggregazione dati VC
+ ///
+ public class tsGrouped
+ {
+ ///
+ /// Nome della Var Casuale
+ ///
+ public string vcName { get; set; } = "";
+ ///
+ /// Data-Ora riferimento campione
+ ///
+ public DateTime timeStamp { get; set; } = DateTime.Now;
+ ///
+ /// Valore medio (NON definito)
+ ///
+ public object avgValue { get; set; } = null;
+ ///
+ /// Periodo di aggregazione di riferimento
+ ///
+ public timeWindow period { get; set; } = timeWindow.hour;
+ ///
+ /// Campioni effettivi nel periodo
+ ///
+ public List samples { get; set; }
+ }
+
#endregion