SysETimeToDate, epoch time to date conversion

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

Questo blocco funzione esegue la conversione della data espressa in epoch time nei valori di Data/Ora. Fornendo al FB la data espressa nel formato epoch time avremo in uscita i valori di data espressi nel formato Giorno/Mese/Anno ed Ora:Minuti:Secondi.

Nota: La conversione della data viene eseguita ad ogni variazione del valore EpochTime in ingresso.

Function
CODESYS: eCDSS8CoreMng
LogicLab: eLLabS8CoreMng, eLLabXUnified12Lib

EpochTime (UDINT) Occorre specificare la data espressa in epoch time.

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.

Year (UINT) Ritorna il valore di anno (Range da 1970 a 2099).

Month (USINT) Ritorna il valore di mese dell'anno (Range da 1 a 12).

Day (USINT) Ritorna il valore di giorno del mese (Range da 1 a 31).

WeekDay (USINT) Ritorna il valore di giorno della settimana (Range da 0 a 6)
0: Domenica, 1:Lunedì, 2:Martedì, 3:Mercoledì, 4:Giovedì, 5:Venerdì, 6:Sabato.

Hour (USINT) Ritorna il valore di ora (Range da 0 a 23).

Minute (USINT) Ritorna il valore di minuti (Range da 0 a 59).

Second (USINT) Ritorna il valore di secondi (Range da 0 a 59).

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 un valore in epoch in data ed ora. Indicando il valore epoch 1270822815, avremo in uscita il valore di data 9/4/2010 e ora 14:20:15 e giorno settimanale 5 venerdì.

LogicLab (Ptp116)
PROGRAM ST_SysETimeToDate
VAR
    EpochTime : UDINT := 1270822815; (* Epoch time *)
    Year : UINT; (* Year *)
    Month : USINT; (* Month *)
    Day : USINT; (* Day *)
    WeekDay : USINT; (* WeekDay *)
    Hour : USINT; (* Hour *)
    Minute : USINT; (* Minute *)
    Second : USINT; (* Second *)
    EToDate : SysETimeToDate; (* Epoch time to date conversion *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_SysETimeToDate"
// *****************************************************************************
// Here FB SysETimeToDate is executed and output values are copied.
// -----------------------------------------------------------------------------

    EToDate.EpochTime:=EpochTime; //Epoch time
    EToDate(); //Epoch time to date conversion
    Year:=EToDate.Year; //Year
    Month:=EToDate.Month; //Month
    Day:=EToDate.Day; //Day
    WeekDay:=EToDate.WeekDay; //WeekDay
    Hour:=EToDate.Hour; //Hour
    Minute:=EToDate.Minute; //Minute
    Second:=EToDate.Second; //Second

// [End of file]

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 22 Agosto 2019