using IOB_UT_NEXT; using System; using System.Collections.Generic; namespace IOB_UT_NEXT { /// /// Classe principale di configurazione di base per IOB, da cui derivano configurazioni + articolate x singoli IOB /// [Serializable] public class IobConfiguration { #region Public Constructors /// /// Avvio configurazione DUMMY /// public IobConfiguration() { } /// /// Avvio configurazione da file di conf /// /// File di conf json/yaml valido public IobConfiguration(string pathConfFile) { } #endregion Public Constructors #region Public Properties /// /// Valore intero corrispondente ai BIT da filtrare x blinking /// public int BLINK_FILT { get; set; } = 0; /// /// Indirizzo Ip del CNC Controllato /// public string cncIpAddr { get; set; } = "127.0.0.1"; /// /// Indirizzo Ip per PING dell'impianto (se NON valorizzato usa cncIpAddr x ping) /// public string cncPingAddr { get; set; } = ""; /// /// Porta del CNC Controllato /// public string cncPort { get; set; } = "0"; /// /// Codice univoco IOB /// public string codIOB { get; set; } = "ND"; /// /// TipoCPU (es: Siemens) /// public string cpuType { get; set; } = ""; /// /// Indica che sono disabilitati i Task2Exe (tipicamente gestione scrittura verso PLC) /// public bool disableExeTask { get; set; } = false; /// /// Indica che sono disabilitate le fasi controllo stato/semafori (tipicamente x impianti /// con PLC "suddivisi", PLC + HMI) /// public bool disableStateCh { get; set; } = false; /// /// Indica se le code vadano gestite su redis o meno /// public bool EnableRedisQueue { get; set; } = false; /// /// Nome del file IOB di avvio (REDIS - MAN) /// public string filenameIOB { get; set; } = "ND"; /// /// Nome file di INI /// public string iniFileName { get; set; } = ""; /// /// Array degli elementi di traduzione item /// public Dictionary itemTranslation { get; set; } = new Dictionary(); /// /// Valore MAX per countdown segnali blinking /// public int MAX_COUNTER_BLINK { get; set; } = 10; /// /// Minimo delta in sec x considerare variazioni info /// public int minDeltaSec { get; set; } = 2; /// /// Modello della macchina /// public string model { get; set; } = "ND"; /// /// Dizionario dei parametri opzionali /// public Dictionary optPar { get; set; } = new Dictionary(); /// /// Timeout test PING /// public int pingMsTimeout { get; set; } = 500; /// /// Rack (Siemens S7) /// public short rack { get; set; } = 0; #if false /// /// Dati di conf del server MoonPro cui comunicare /// public serverMapo serverData { get; set; } = new serverMapo("127.0.0.1", "/", "/IOB/input/", "/IOB/flog/", "/IOB/ulog/", "/IOB", "/IOB/enabled/", "/sendReboot.aspx?idxMacchina=", "/IOB/getCurrOdlStart/", "SteamWare", "/IOB/forceSplitOdlFull", "/IOB/getIdlePeriod", "/IOB/rawTransfJson"); #endif /// /// Slot (Siemens S7) /// public short slot { get; set; } = 0; /// /// Fattore lambda (innovazione) per calcolo EWMA valore TCiclo corrente /// public double TCLambda { get; set; } = 0.4; /// /// Fattore massimo ammesso di delay x il TCiclo /// public double TCMaxDelayFactor { get; set; } = 1.2; /// /// Incremento amssimo pezzi per cui fare calcolo del tempociclo attuale /// public double TCMaxIncrPz { get; set; } = 2; /// /// Tipologia dell'adapter/CNC Controllato /// public tipoAdapter tipoIob { get; set; } = tipoAdapter.SIMULA; /// /// Vendor della macchina /// public string vendor { get; set; } = "ND"; /// /// Versione IOB /// public string versIOB { get; set; } = "0"; /// /// Attesa riconnessione standard /// public int waitRecMSec { get; set; } = 59000; #endregion Public Properties } }