SysDateToETime, date to epoch time conversion

  1. Home
  2. Knowledge Base
  3. Manualistica
  4. Programmazione IEC 61131-3
  5. Gestione Data/Ora
  6. SysDateToETime, date to epoch time conversion

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.

LogicLab (Ptp116)
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]

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 22 Agosto 2019