using IOB_UT_NEXT.Config.Special; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IOB_UT_NEXT.Config.Base { /// /// Dati espliciti relativi al device di riferimento /// public class DeviceDto { /// /// Costruttore /// public string Vendor { get; set; } = "ACME"; /// /// Codice modello /// public string Model { get; set; } = "NONE"; /// /// Indica se sia multi pallet /// public bool IsMulti { get; set; } = false; /// /// Codice dei vari codici aggiuntivi IOB multi x funzioni slave (es autoOdl) /// public string MultiIobListRaw { get; set; } = ""; /// /// Lista dei vari IOB multi x funzioni slave (es autoOdl) /// public List MultiIobList { get; set; } /// /// Dati configurazione CNC /// public ConnectionDto Connect { get; set; } = new ConnectionDto(); /// /// Indica che sono disabilitati i Task2Exe (tipicamente gestione scrittura verso PLC) /// public bool DisabExeTask { get; set; } = false; /// /// Disabilitazione ping al Device /// public bool DisabPing { get; set; } = false; /// /// Disabilitazione SignalIn dal Device /// public bool DisabSigIn { get; set; } = false; /// /// Indica che sono disabilitati i resend alla scadenza del periodo di controllo anche in mancanza di variazione (tipicametne x gli adapter secondari come PING) /// public bool DisabResendScaduto { get; set; } = false; /// /// Indica che sono disabilitate le fasi controllo stato/semafori (tipicamente x impianti /// con PLC "suddivisi", PLC + HMI) /// public bool DisabStateCh { get; set; } = false; /// /// Abilita riscrittura memoria se trova differenze lettura/richiesti /// public bool EnabMemRewrite { get; set; } = true; /// /// Disabilitazione controlli dipendenti da check su exe mode (es Cimolai) /// public bool ExeModeCheckBypass { get; set; } = false; /// /// Abilitazione gestione contatori /// public bool EnabPzCount { get; set; } = true; /// /// Indica se si voglia recuperare il PROG NAME dal CNC /// public bool EnabProgName { get; set; } = false; /// /// Tempo minimo di refresh ammesso (es: per current da MTConnect) /// public int MinRefreshPeriodSec { get; set; } = 20; /// /// Tempo minimo ammissibile di risposta (es x errori ModBus che risponde troppo in fretta) in millisec /// public int MinRespTimeMs { get; set; } = 5; /// /// Indica se usare la parte numerica di un articolo come codice INT /// public bool NumArtCharTrim { get; set; } = false; /// /// Conf x scritttura NumArticolo /// public string NumArtMode { get; set; } = ""; /// /// Conf x scritttura NumOdl /// public string NumOdlMode { get; set; } = ""; /// /// Timeout in sec x dichiarare Poweroff (tipicamente IOB PING) /// public int PoweroffTimeOutSec { get; set; } = 100; /// /// Modalità gestione lettura cadenza /// public string PzCadMode { get; set; } = ""; /// /// Delay prima di iniziare a gestire il contapezzi, per evitare falsi zeri in inizializzazione sw /// public int PzCountDelay { get; set; } = 2000; /// /// Modalità gestione contapezzi /// public string PzCountMode { get; set; } = ""; /// /// Definizione Memoria x pezzi richiesti /// public string PzReqMode { get; set; } = ""; /// /// Definizione Memoria x pezzi totali (NON ressettabile) /// public string PzTotMode { get; set; } = ""; /// /// Durata in secondi del divieto accodamento segnali IN alla fase di startup /// public int StartupVetoQueueIN { get; set; } = 5; /// /// Numero massimo errori lettura prima di disconnettere /// public int ReadErrorMax { get; set; } = 10; /// /// Tempo attesa prima id rivalutare errori lettura /// public int ReadErrorSleepTime { get; set; } = 15000; /// /// Configurazione SigLUT con regole decodifica valori (es FANUC/Siemens con BIT0...BIT7...) /// public Dictionary SigLUT { get; set; } = new Dictionary(); } }