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