Files
Mapo-IOB-WIN/IOB-UT-NEXT/Iob/DateTimeHelper.cs
T
2026-05-23 22:32:21 +02:00

186 lines
5.7 KiB
C#

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