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
}
}