diff --git a/MapoSDK/Enums.cs b/MapoSDK/Enums.cs index 6869c215..539e83f5 100644 --- a/MapoSDK/Enums.cs +++ b/MapoSDK/Enums.cs @@ -1,6 +1,55 @@ namespace MapoSDK { + /// + /// Tipologia di elaborazione/funzione da applicare a VC + /// + public enum VC_func + { + /// + /// Valore puntuale + /// + POINT = 0, + /// + /// Valore medio del periodo + /// + AVG, + /// + /// Valore massimo del periodo + /// + MAX, + /// + /// Valore minimo del periodo + /// + MIN + } + /// + /// Elenco dei tipi di valore gestiti da PLC (inizialmente SIEMENS) + /// + public enum plcDataType + { + /// + /// Tipo boolean + /// + Boolean, + /// + /// Tipo intero 16bit + /// + Int, + /// + /// Tipo intero 32bit + /// + DInt, + /// + /// Tipo REAL 32 bit + /// + Real, + /// + /// Tipo stringa + /// + String + } + /// /// Elenco task ammessi (x IOB-WIN da eseguire...) /// diff --git a/MapoSDK/MapoSDK.csproj b/MapoSDK/MapoSDK.csproj index 6b43bfa7..cb0bbc3c 100644 --- a/MapoSDK/MapoSDK.csproj +++ b/MapoSDK/MapoSDK.csproj @@ -47,7 +47,6 @@ MoonPro.cs - diff --git a/MapoSDK/Objects.cs b/MapoSDK/Objects.cs index 7a7d23e6..deeedb74 100644 --- a/MapoSDK/Objects.cs +++ b/MapoSDK/Objects.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; namespace MapoSDK { - - #region oggetti per scambio dati IO - IOB public class fileEmbed @@ -78,6 +78,66 @@ namespace MapoSDK public bool CNC_Counter; } + + /// + /// Struttura conf tipo dati + /// + public class dataConf + { + /// + /// NOME parametro + /// + public string name { get; set; } = "none"; + /// + /// Tipo di dato + /// + [JsonConverter(typeof(StringEnumConverter))] + public plcDataType tipoMem { get; set; } = plcDataType.Int; + /// + /// Indice nell'area di memoria (da valore iniziale = 0) + /// + public int index { get; set; } = 0; + /// + /// Nome "assoluto" della posizione nell'area di memoria (anche diverso da indice) + /// + public string memAddr { get; set; } = ""; + /// + /// Size in byte + /// + public int size { get; set; } = 0; + /// + /// Fattore per eventuale divisione (es leggo 1234 --> 12,34 con factor=100) + /// + public int factor { get; set; } = 1; + /// + /// Valore parametro (come stringa, decimali con ",") + /// + public string value { get; set; } = "0"; + /// + /// Valore minimo ammesso (ove usato, es simulazione) + /// + public int minVal { get; set; } = 0; + /// + /// Valore massimo ammesso (ove usato, es simulazione) + /// + public int maxVal { get; set; } = 9999; + } + /// + /// Struttura conf tipo dati + /// + public class dataConfTSVC : dataConf + { + /// + /// Tipo di funzione da applicare al dato + /// + [JsonConverter(typeof(StringEnumConverter))] + public VC_func func { get; set; } = VC_func.MAX; + /// + /// Periodo campionamento + /// + public int period { get; set; } = 60; + } + #endregion