namespace MP.MONO.Core { public class Enums { #region Public Enums /// /// Modalità verifica condizioni booleane /// public enum boolCheckMode { /// /// AND: tutte vere -> true /// AND = 0, /// /// OR: almeno una vera /// OR } /// /// Tipo di dati salvato in DataLog /// public enum DataLogType { ND = 0, Parameter = 1, Tools } /// /// Categoria dataItem /// public enum DataItemCategory { CONDITION = 0, EVENT = 1, SAMPLE = 2 } /// /// Modalità pubblicazione allarmi da ADAPTER /// public enum AlarmReportingMode { ND = 0, /// /// MOdalità report per bank di memoria + bitmap degli allarmi attivi nel bank /// BankBit, /// /// Modalità di invio di un elenco di allarmi attivi in un dato istante /// RawList, /// /// Modalità di invio di un elenco di allarmi attivi in un dato istante con BLINK ogni 10 sec (come amcchina multiax) /// RawListBlink } /// /// ENUM degli stati (es path OPC-UA) /// public enum MachExeStatus { UNDEFINED = 0, EXE, READY, HOLD, FEED_HOLD, OPTIONAL_STOP, PROGRAM_STOPPED, DONE } /// /// Modalità gestione setup macchina /// public enum MachineSetupMode { ND = 0, // Modalità come Mecolpress (se variato stato --> porto a 1 la variabile di controllo) BitHighOnSetup = 1 } /// /// ENUM dei MODE (es path OPC-UA) /// public enum MachRunMode { UNDEFINED = 0, AUTOMATIC, EDIT, SEMIAUTOMATIC, MANUAL_JOG } /// /// Elenco dei tipi di valore gestiti da PLC (inizialmente OSAI) /// public enum plcDataType { /// /// Tipo boolean /// Boolean, /// /// Tipo Int16 intero 16bit /// Int, /// /// Tipo Int32 intero 32bit /// DInt, /// /// Tipo UInt16, intero 16bit /// Word, /// /// Tipo UInt32, intero Unsigned 32bit /// DWord, /// /// Tipo REAL 32 bit /// Real, /// /// Tipo stringa /// String } /// /// Elenco task ammessi (x IOB-WIN da eseguire...) /// public enum taskType { /// /// Task nullo / fake /// nihil, /// /// Rimanda a PLC eventuale segnale NON in setup (MA NON RESETTA) /// fixStopSetup, /// /// Indica al PLC di forzare il reset del contapezzi /// forceResetPzCount, /// /// Indica al PLC di forzare il NUOVO valore di contapezzi (impostato come value) /// forceSetPzCount, /// /// Imposta Articolo su PLC /// setArt, /// /// Imposta Commessa su PLC /// setComm, /// /// Set di un PARAMETRO su PLC (in value avremo un JSON object) /// setParameter, /// /// Set Programma CNC su PLC /// setProg, /// /// Indica al PLC di impostare il numero di pezzi da produrre per la commessa (impostato /// come value) /// setPzComm, /// /// Indica al PLC iniziato setup (e secondo casi ferma contapezzi /resetta) /// startSetup, /// /// Indica al PLC finito setup (e secondo casi ferma contapezzi /resetta) /// stopSetup, /// /// Richiesta invio watchdog a PLC /// sendWatchDogMes2Plc, /// /// Indica che è FINITA la produzione (e quindi cancello dati backup) /// endProd, /// /// Richiesta esecuzione di un sync dei dati DB di frontiera /// syncDbData } #if false /// /// Elenco task ammessi (x IOB-WIN da eseguire...) /// public enum taskType { /// /// Task nullo / fake /// nihil, /// /// Rimanda a PLC eventuale segnale NON in setup (MA NON RESETTA) /// fixStopSetup, /// /// Indica al PLC di forzare il reset del contapezzi /// forceResetPzCount, /// /// Indica al PLC di forzare il NUOVO valore di contapezzi (impostato come value) /// forceSetPzCount, /// /// Imposta Articolo su PLC /// setArt, /// /// Imposta Commessa su PLC /// setComm, /// /// Set di un PARAMETRO su PLC (in value avremo un JSON object) /// setParameter, /// /// Set Programma CNC su PLC /// setProg, /// /// Indica al PLC di impostare il numero di pezzi da produrre per la commessa (impostato /// come value) /// setPzComm, /// /// Indica al PLC iniziato setup (e secondo casi ferma contapezzi /resetta) /// startSetup, /// /// Indica al PLC finito setup (e secondo casi ferma contapezzi /resetta) /// stopSetup, /// /// Richiesta invio watchdog a PLC /// sendWatchDogMes2Plc, /// /// Indica che è FINITA la produzione (e quindi cancello dati backup) /// endProd, } #endif #if false /// /// Tipologia di driverer x il calcolo scadenza task di Preventive Maintenance /// public enum PMTaskDriver { ND = 0, /// /// Cronologico puro (data poi periodo temporale) /// TimeOnly = 1, /// /// Basato su valore di soglia un counter rilevato /// CountLevel = 2, /// /// Basato su un evento specifico (valore esatto di un counter) /// Event = 3 } /// /// Intervallo temporale x schedulazioni /// public enum PMTimeInterval { ND = 0, Minute = 1, Hour = 2, Day = 3, Week = 4, Month = 5, Year = 6 } #endif public enum UserLevel { ND = 0, SuperAdmin = 1, Admin = 2, User = 3, UserExt = 4 } /// /// Tipologia di elaborazione/funzione da applicare a VC /// public enum VC_func { /// /// Valore puntuale /// POINT = 0, /// /// Valore medio del periodo /// AVG, /// /// Calcolo MEDIANA /// MEDIAN, /// /// Valore minimo del periodo /// MIN, /// /// Valore massimo del periodo /// MAX } #endregion Public Enums } }