Questo blocco funzione esegue la conversione dei valori di data-ora in un valore epoch time. Occorre fornire al FB la data e l'ora ed in uscita dal blocco funzione avremo un valore in epoch time.
Nota: La conversione della data viene eseguita ad ogni esecuzione del FB.
Function
CODESYS: eCDSS8CoreMng
LogicLab: eLLabS8CoreMng, eLLabXUnified12Lib
Year (UINT) Definire il valore di anno (Range da 1970 a 2099).
Month (USINT) Definire il valore di mese dell'anno (Range da 1 a 12).
Day (USINT) Definire il valore di giorno del mese (Range da 1 a 31).
Hour (USINT) Definire il valore di ora (Range da 0 a 23).
Minute (USINT) Definire il valore di minuti (Range da 0 a 59).
Second (USINT) Definire il valore di secondi (Range da 0 a 59).
Done (BOOL) Attivato per un loop di programma al termine della conversione.
Fault (BOOL) Errore di conversione, viene attivato in caso di errore nella conversione.
EpochTime (UDINT) Ritorna la data espressa in epoch time.
Errori
In caso di errore si attiva l'uscita Fault, eseguendo immediatamente dopo la funzione SysGetLastError è possibile rilevare il codice di errore. Fare riferimento alla tabella seguente per la descrizione.
Esempi
Come utilizzare gli esempi.
Nel seguente esempio viene convertito il valore di data ed ora in epoch time. Definendo il valore di data 9/4/2010 e ora 14:20:15 avremo in uscita il valore 1270822815.
PROGRAM ST_SysDateToETime VAR Year : UINT := 2010; (* Year *) Month : USINT := 4; (* Month *) Day : USINT := 9; (* Day *) Hour : USINT := 14; (* Hour *) Minute : USINT := 20; (* Minute *) Second : USINT := 15; (* Second *) EpochTime : UDINT; (* Epoch time *) DToETime : SysDateToETime; (* Date/Time to epoch conversion *) END_VAR // ***************************************************************************** // PROGRAM "ST_SysDateToETime" // ***************************************************************************** // Here FB SysDateToETime is executed and output value is copied. // ----------------------------------------------------------------------------- DToETime.Year:=Year; //Year value DToETime.Month:=Month; //Month value DToETime.Day:=Day; //Day value DToETime.Hour:=Hour; //Hour value DToETime.Minute:=Minute; //Minute value DToETime.Second:=Second; //Second value DToETime(); //Date/Time to epoch conversion EpochTime:=DToETime.EpochTime; //Epoch time // [End of file]
Ultimo aggiornamento: 28 Agosto 2020