using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace IOB_UT { /// /// Classe gestione configurazione parametri di base x configuraizone estesa (es MTConnect, OPC-UA, ...) /// public class BaseParamConf { #region Public Properties /// /// Struttura dati x check condizione LAVORA / Green /// public List condWork { get; set; } = new List(); /// /// Elenco items FILTRATI da invio come dynData --> FluxLog (events o samples) /// public List fluxLogVeto { get; set; } = new List(); /// /// Array degli elementi di traduzione item /// public Dictionary itemTranslation { get; set; } = new Dictionary(); /// /// Nome variabile x EmergencyStop /// public string keyEStop { get; set; } = ""; /// /// Nome variabile x pezzi FATTI /// public string keyPartCount { get; set; } = ""; /// /// Nome variabile x Codice Articolo /// public string keyPartId { get; set; } = ""; /// /// Nome variabile x pezzi RICHIESTI /// public string keyPartReq { get; set; } = ""; /// /// Nome variabile x NOME PROGRAMMA /// public string keyProgName { get; set; } = ""; /// /// Nome variabile x RunMode /// public string keyRunMode { get; set; } = ""; /// /// Dictionary dei nomi da cercare come "endsWith" a cui applicare la soglia indicata /// public Dictionary paramsEndThresh { get; set; } = new Dictionary(); /// /// Indica se il ping sia un criterio valido x determinare powerON impianto /// public bool pingAsPowerOn { get; set; } = true; #endregion Public Properties } /// /// Classe per rappresentare oggetti chaive/valore target x controlo condizioni multiple /// public class diCheckCondition { #region Public Properties /// /// nome variabile /// public string keyName { get; set; } = ""; /// /// valore target per esito richeisto /// public string targetValue { get; set; } = ""; #endregion Public Properties } /// /// Classe gestione configurazione parametri specifici MTC da BaseParamConf /// public class MtcParamConf : BaseParamConf { #region Public Properties /// /// Struttura dati x check condizione PowerOn /// public diCheckCondition condPowerOn { get; set; } = new diCheckCondition(); #endregion Public Properties } /// /// Classe gestione configurazione parametri specifici OPC-UA da BaseParamConf /// public class OpcUaParamConf : BaseParamConf { #region Public Properties /// /// Indice NS da cui fare il browse dei file /// public ushort BrowseNSIndex { get; set; } = 4; /// /// ID del nodo da cui partire x il browse di identificazione nodi iniziale /// public uint BrowseValue { get; set; } = 5001; /// /// Struttura dati x check condizione Errore /// public List condError { get; set; } = new List(); /// /// Struttura dati x check condizione Emergenza /// public List condEStop { get; set; } = new List(); /// /// Struttura dati x check condizione PowerOn /// public List condPowerOn { get; set; } = new List(); /// /// Struttura dati x check condizione READY /// public List condReady { get; set; } = new List(); #endregion Public Properties } }