Questa funzione imposta la Data/Ora di sistema in UTC nel Real Time Clock. Nei sistemi operativi Unix-like il tempo viene rappresentato come offset in secondi rispetto alla mezzanotte (UTC) del 1º gennaio 1970 (detta epoca). Questo tipo di rappresentazione, oltre che a essere compatta, è indipendente dai fusi orari, ed è quindi direttamente confrontabile anche tra systemi situati in posizioni geografiche diverse.
Function
CODESYS: Non disponibile
LogicLab: eLLabXUnified12Lib
UTCDateTime (UDINT) Valore Data/Ora di sistema in UTC, il valore è espresso in Epoch Time.
La funzione ritorna una variabile (BOOL) FALSE: Errore esecuzione, TRUE: Esecuzione Ok.
Esempi
Come utilizzare gli esempi.
Nel seguente esempio è possibile eseguire l'aggiornamento del Real Time Clock con valori impostabili da debug. Le operazioni da eseguire sono:
- Attivare la variabile Read per eseguire lettura del valore Data/Ora attuale e convertirlo in valori leggibili.
- Modificare i valori per impostare i valori desiderati
- Attivare la variabile Update per convertire i valori in Epoch Time ed impostarli nel Real Time Clock.
PROGRAM ST_SysSetUTCDateTime VAR Read : BOOL; (* Read command *) Update : BOOL; (* Update command *) SSts : BOOL; (* Set status *) DToETime : SysDateToETime; (* Date/Time to epoch conversion *) EToDate : SysETimeToDate; (* Epoch time to date conversion *) END_VAR // ***************************************************************************** // PROGRAM "ST_SysSetUTCDateTime" // ***************************************************************************** // The Real Time Clock can be updated by using a Date/Time values. // ----------------------------------------------------------------------------- // On Read command, the RTC value has been read. IF (Read) THEN Read:=FALSE; //Read command EToDate.EpochTime:=SysGetUTCDateTime(TRUE); //Epoch time EToDate(); //Epoch time to date conversion END_IF; // On Update command, the RTC value has been updated. IF (Update) THEN Update:=FALSE; //Update command DToETime.Year:=EToDate.Year; //Year value DToETime.Month:=EToDate.Month; //Month value DToETime.Day:=EToDate.Day; //Day value DToETime.Hour:=EToDate.Hour; //Hour value DToETime.Minute:=EToDate.Minute; //Minute value DToETime.Second:=EToDate.Second; //Second value DToETime(); //Date/Time to epoch conversion SSts:=SysSetUTCDateTime(DToETime.EpochTime); //Set status END_IF; // [End of file]
Ultimo aggiornamento: 23 Marzo 2020