using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace MP.Data.Objects
{
public class Enums
{
#region Public Enums
///
/// Intervallo dati (es per definizione quanti dati FluxLog tenere x intervallo
///
public enum DataInterval
{
minute,
hour,
day
}
public enum DataItemCategory
{
CONDITION = 0,
EVENT = 1,
SAMPLE = 2
}
///
/// Tipo di esito (generico)
///
public enum esitoExec
{
undone,
ok,
error
}
///
/// Tipo di IOB
///
public enum IobType
{
///
/// Non definito
///
ND,
///
/// IOB rPI
///
rPi,
///
/// IOB Windows
///
WIN
}
public enum modBusAddrType
{
///
/// ModBus Coil 0xxxxx (booleano) - OUT R/W
///
Coil = 0,
///
/// ModBus Input discreto 1xxxxx (booleano) - IN R
///
DiscreteInput = 1,
///
/// ModBus Input Register 3xxxxx (int[] convertibile a vari int/real) - IN R
///
InputRegister = 3,
///
/// ModBus Holding Register 4xxxxx (int[] convertibile a vari int/real) - OUT R/W
///
HoldingRegister = 4
}
///
/// Elenco dei tipi di valore gestiti da PLC (inizialmente SIEMENS)
///
public enum plcDataType
{
///
/// Tipo boolean
///
Boolean,
///
/// Tipo Int16 intero 16bit
///
Int,
///
/// Tipo UInt16 reversed LowHigh
///
IntLH,
///
/// Tipo Int32 intero 32bit
///
DInt,
///
/// Tipo UInt32 reversed LowHigh
///
DIntLH,
///
/// Tipo UInt16, intero 16bit
///
Word,
///
/// Tipo UInt32, intero Unsigned 32bit
///
DWord,
///
/// Tipo REAL 32 bit
///
Real,
///
/// Tipo REAL 32 bit standard (HighLow) - sinonimo di Real, creato x simmetria con caso LH
///
RealHL,
///
/// Tipo REAL 32 bit con swap byte (LowHigh) al posto del normale caso HL (HighLow)
///
RealLH,
///
/// Tipo stringa
///
String,
///
/// Timpo intero da High/Low Bit positivo (high bit va moltiplicato x 32768 = Uint16Max/2)
///
HLPInt,
///
/// Tipo FLOAT 32 bit con endiannes standard (es modbus)
/// https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ Float
/// - Big Endian (ABCD)
///
FloatABCD,
///
/// Tipo FLOAT 32 bit con endiannes NON standard (es modbus)
/// https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ Float
/// - Mid-Big Endian (BADC)
///
FloatBADC,
///
/// Tipo FLOAT 32 bit con endiannes NON standard (es modbus)
/// https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ Float
/// - Mid-Little Endian (CDAB)
///
FloatCDAB,
///
/// Tipo FLOAT 32 bit con endiannes NON standard (es modbus)
/// https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ Float
/// - Little Endian (DCBA)
///
FloatDCBA,
///
/// Valore bitmap, inteso come array di bit ognuno da trattare come uno stato on/off
/// indipendente e sommabile (es allarmi)
///
BitMap,
///
/// Tipo Byte 8 bit equivalente a BitMap
///
Byte,
///
/// Tipo UInt16 intero senza segno 16bit
///
UInt,
///
/// Tipo UInt32 intero senza segno 32bit
///
UDInt
}
///
/// Tipologia dato Raw Transfer
///
/// serializzazione Native [JsonConverter(typeof(JsonStringEnumConverter))] serializzazione
/// Newtonsoft json [JsonConverter(typeof(StringEnumConverter))]
[JsonConverter(typeof(StringEnumConverter))]
public enum rawTransfType
{
ND = 0,
///
/// Icoel: Batch info
///
IcoelBatch,
///
/// Icoel: Variety + layout info relative
///
IcoelVarInfo,
///
/// Info tipo tabella RegGiacenze (MAG)
///
RegGiacenze
}
///
/// Enumerazione tipi di semaforo
///
public enum Semaforo
{
///
/// Stato non definito
///
ND,
///
/// Verde
///
SV,
///
/// Giallo
///
SG,
///
/// Rosso
///
SR,
///
/// Grigio/Spento
///
SS
}
///
/// 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,
///
/// Imposta Fornitore (es grower x ICOEL)
///
setSupplier,
///
/// Effettua processing other info (es ritorno consumi x ricette FIMAT)
///
processOtherInfo
}
///
/// Finestra temporale di aggregazione dati VC
///
public enum timeWindow
{
free,
hour,
day,
week,
month
}
public enum tipoBarcode
{
///
/// tipo non riconosciuto
///
nd,
///
/// identifica una matricola operatore nel formato OPxxxxx (xxxxx è un intero che
/// rappresenta la matricola, std fino a 8 cifre)
///
matrOperatore,
///
/// identifica un cartellino di tipo CodArticolo
///
codArticolo,
///
/// identifica un codice per le attività di inizio/fine attrezzaggio e inizio/fine produzione
///
attrezzaggio,
///
/// identifica un codice per le attività di conferma produzione/fermi
///
confermaProduzione,
///
/// identifica un cartellino di dichiarazione fermata nel formato FExxxx dove xxxx è
/// idxEvento dichiarato...
///
dichiaraFermata,
///
/// indentifica un codice di modifica turno
///
modificaTurno
}
///
/// tipologia di evento (generico) segnalato
///
public enum tipoEvento
{
///
/// evento di reset
///
reset,
///
/// richiesta editing
///
edit,
///
/// nuova selezione
///
selection,
///
/// eliminazione record(s)
///
delete
}
///
/// tipologia evento inviato
///
public enum tipoInputEvento
{
barcode,
hw,
commento
}
///
/// Tipologia di selettore
///
public enum tipoSelettore
{
articoli
}
///
/// Trasformazione VC da effettuare
///
public enum ValSelection
{
///
/// Selezione PRIMO valore del set
///
First,
///
/// Selezione Moda (norma) = elemento centrale
///
Center,
///
/// Selezione ULTIMO valore del set
///
Last
}
///
/// Tipologia di elaborazione/funzione da applicare a VC
///
public enum VC_func
{
///
/// Valore puntuale
///
POINT = 0,
///
/// Valore medio del periodo
///
AVG,
///
/// Valore massimo del periodo
///
MAX,
///
/// Valore minimo del periodo
///
MIN,
///
/// Calcolo della mediana del periodo
///
MEDIAN
}
#endregion Public Enums
}
}