using IOB_UT_NEXT.Services.Files; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IOB_UT_NEXT.Iob { /// /// Classe helper di tutti gli oggetti DateTime impiegati /// ...da validare... /// public class DateTimeHelper { #region Public Fields /// /// DataOra ultimo avvio adapter x watchdog /// public DateTime adpStartRun; /// /// Data/ora ultimo avvio adapter /// public DateTime AvvioAdp = DateTime.Now; /// /// Veto x esecuzione task AutoDossier /// public DateTime dtVetoAutoDossier = DateTime.Now; /// /// Veto x lettura contapezzi (in caso di autoODL con attesa reset ad esempio...) /// public DateTime dtVetoReadPzCount = DateTime.Now; /// /// DataOra x veto all'invio dataItem /// public DateTime dtVetoSenDataItem = DateTime.Now; /// /// Veto x esecuzione Task2Exe troppo frequenti /// public DateTime dtVetoTask2Exe = DateTime.Now; /// /// indica che è richiesto forzatamente reset contapezzi /// public DateTime forcePzResetUntil = DateTime.Now.AddMinutes(-1); /// /// ultimo tentativo connessione... /// public DateTime lastConnectTry; /// /// dataOra ultima verifica CNC disconnesso... /// public DateTime lastDisconnCheck; /// /// ultimo controllo decremento eventi /// public DateTime lastEvCheck; /// /// Data/ora ultima volta che IOB è stato dichiarato online /// public DateTime lastIobOnline = DateTime.Now.AddHours(-1); /// /// Ultima verifica status IOB x forzare display status SRV /// public DateTime lastIobStatusDisplUpdate = DateTime.Now; /// /// Ultimo LOG registrazione avvio (x ridurre log notturni...) /// public DateTime lastLogStartup = DateTime.Today.AddHours(-1); /// /// dataOra ultimo log periodico... /// public DateTime lastPeriodicLog; /// /// dataOra ultimo PING inviato verso il PLC... /// public DateTime lastPING = DateTime.Now.AddHours(-1); /// /// Ultimo controllo ping x evitare ping flood... /// public DateTime lastPingConn = DateTime.Now.AddMinutes(-10); /// /// Ultimo invio contapezzi (x invio delayed) /// public DateTime lastPzCountSend; /// /// DataOra ultima lettura da PLC /// public DateTime lastReadPLC; /// /// Ultimo istante in cui sono stati ridotti dati simulazione duration /// public DateTime lastRedDuration; /// /// DateTime Ultimo valore simulazione generato /// public DateTime lastSim; /// /// Ultimo istante in cui sono stati generati dati di simulazione /// public DateTime lastSimData; /// /// Ultima registrazione warning x ODL mancante (x scrivere solo ogni 15 secondi) /// public DateTime lastWarnODL; /// /// dataOra ultimo segnale inviato al SERVER... /// public DateTime lastWatchDog; /// /// dataOra ultimo segnale inviato a macchina/PLC... /// public DateTime lastWatchDogPLC = DateTime.Now; /// /// ultima data-ora invio parametri write x ribadire status /// public DateTime lastWriteParamsUpsert = DateTime.Now; /// /// DataOra avvio Programma x check avvio /// public DateTime prgStarted = DateTime.Now; /// /// Data/ora ultimo spegnimento adapter /// public DateTime StopAdp = DateTime.Now; /// /// Indicazione VETO check status IOB x evitare loop troppo stretti... /// public DateTime VetoCheckIOB = DateTime.Now.AddDays(-1); /// /// Indicazione VETO check sync ricette x evitare loop troppo stretti... /// public DateTime VetoCheckSyncRecipe = DateTime.Now.AddHours(-1); /// /// Imposta veto lettura dati (es per DB a 2 sec) /// public DateTime vetoDataRead = DateTime.Now; /// /// Imposta veto SYNC dati (es per DB 2 DB a 10 sec) /// public DateTime vetoDataSync = DateTime.Now; /// /// Veto specifico per la gestione (svuotamento) coda contapezzi (es in fase di attrezzaggio e reset lenti) /// Tipicamente impostato a DelayReadPzCountSetup dopo attrezzaggio... /// public DateTime vetoQueuePzCount = DateTime.Now; /// /// Imposta veto chiamata split (durante chiamata, per 60 sec) /// public DateTime vetoSplit = DateTime.Now.AddMinutes(1); #endregion Public Fields } }