Funzioni ed FB per gestione Data/Ora¶
SysETimeT oDate, epoch time to date conversion¶
Type | Library |
---|---|
FB | XTarget_07_0 |
Questo blocco funzione esegue la conversione della data espressa in epoch time. Occorre fornire al blocco funzione la data espressa nel formato epoch ime come presente nella variabile di sistema SysDateTime, in uscita dal blocco funzione avremo i valori di data espressi nel formato Giorno/Mese/Anno ed Ora:Minuti:Secondi.
EpochTime (UDINT) | Occorre specificare la data espressa in epoch time. |
Done (BOOL) | Attivato 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) |
Codici di errore
In caso di errore si attiva l’uscita Fault, con SysGetLastError è possibile rilevare il codice di errore.
9986050 | Errore allocazione blocco funzione. |
9986060 | Errore versione blocco funzione. |
Esempi¶
Viene convertito il valore di data ed ora espresso in epoch time dalla variabile SysDateTime e viene ritornato il valore di anno, mese e giorno nelle tre variabili definite.
Definizione variabili |
![]() |
Esempio LD (PTP116A100, LD_SysETimeToDate)
Esempio IL (PTP116A100, IL_SysETimeToDate)
(\* Transfer system date e time to FB input variable. \*)
LD SysDateTime
ST FB_SysETimeToDate.EpochTime
CAL FB_SysETimeToDate (\* Call the SysETimeToDate function block \*)
(\* Transfer the FB output variables to program variables. \*)
LD FB_SysETimeToDate.Year
ST Year
LD FB_SysETimeToDate.Month
ST Month
LD FB_SysETimeToDate.Day
ST Day
Esempio ST (PTP116A100, ST_SysETimeToDate)
(\* Here FB SysETimeToDate is executed and variables copied. \*)
FB_SysETimeToDate.EpochTime:=SysDateTime;
FB_SysETimeToDate();
Year:=FB_SysETimeToDate.Year; (\* Year \*)
Month:=FB_SysETimeToDate.Month; (\* Month \*)
Day:=FB_SysETimeToDate.Day; (\* Day \*)
SysDateTo ETime, date to epoch time conversion¶
Type | Library |
---|---|
FB | XTarget_07_0 |
Questo blocco funzione esegue la conversione della data-ora in epoch time. Occorre fornire al blocco funzione la data e l’ora ed in uscita dal blocco funzione avremo un valore in epoch time.
Year (UINT) | Definisce il valore di anno (Range da 1970 a 2099) |
Month (USINT) | Definisce il valore di mese dell’anno (Range da 1 a 12) |
Day (USINT) | Definisce il valore di giorno del mese (Range da 1 a 31) |
Hour (USINT) | Definisce il valore di ora (Range da 0 a 23) |
Minute (USINT) | Definisce il valore di minuti (Range da 0 a 59) |
Second (USINT) | Definisce il valore di secondi (Range da 0 a 59) |
Done (BOOL) | Attivato al termine della conversione. |
Fault (BOOL) | Errore di conversione, viene attivato in caso di errore nella conversione. |
EpochTime (UDINT) | Ritorna data espressa in epoch time. |
Codici di errore
In caso di errore si attiva l’uscita Fault, con SysGetLastError è possibile rilevare il codice di errore.
9987050 | Errore allocazione blocco funzione. |
9987060 | Errore versione blocco funzione. |
9987200 | Errore durante l’esecuzione del blocco funzione. |
Esempi¶
Viene convertito il valore di data ed ora in epoch time. Esempio definendo il valore di data 9/4/2010 e ora 14:20:15 avremo in uscita il valore 1270822815.
Definizione variabili |
![]() |
Esempio LD (PTP116A100, LD_SysDateToETime)
Esempio IL (PTP116A100, IL_SysDateToETime)
(\* Transfer date e time to FB input variable. \*)
LD Year
ST FB_SysDateToEtime.Year
LD Month
ST FB_SysDateToEtime.Month
LD Day
ST FB_SysDateToEtime.Day
CAL FB_SysDateToEtime (\* Call the SysDateToEtime function block \*)
(\* Transfer the FB output variables to program variables. \*)
LD FB_SysDateToEtime.EpochTime
ST EpochTime
Esempio ST (PTP116A100, ST_SysDateToETime)
(\* Here FB SysDateToETime is executed and variables copied. \*)
FB_SysDateToEtime.Year:=Year;
FB_SysDateToEtime.Month:=Month;
FB_SysDateToEtime.Day:=Day;
FB_SysDateToEtime(); (\* Call the SysDateToEtime function block \*)
EpochTime:=FB_SysDateToEtime.EpochTime; (\* Epoch time \*)