Skip to main content

Conversione del tempo

Gli operatori convertono i valori temporali (TIME o LIME) nei tipi di dati specificati e restituire questo valore convertito dal tipo.

Sintassi della chiamata: <TIME_TO<tipo di destinazione> ( <operando> ), <LTIME_TO<tipo di destinazione> ( <operando> )

Operando

Tipo di dati

Descrizione

Variabile o letterale

TIME, LTIME

Tipi di dati temporali

Tabella 15. Operatori di casting: TIME/LTIME_TO_<tipo di destinazione>

Operatore

Operatore

Esempio

Valore di ritorno

Descrizione

TIME_TO___UXINT

LTIME_TO___UXINT

__UXINT, __XINT, __XWORD

TIME_TO___XINT

LTIME_TO___XINT

__UXINT, __XINT, __XWORD

TIME_TO___XWORD

LTIME_TO___XWORD

__UXINT, __XINT, __XWORD

TIME_TO_BIT

LTIME_TO_BIT

BIT

TIME_TO_BOOL

LTIME_TO_BOOL

TIME_TO_BOOL(T#0MS);
TIME_TO_BOOL(T#59ms);
LTIME_TO_BOOL(T#0MS);
LTIME_TO_BOOL(T#59ms);

FALSE

TRUE

L'operatore ritorna FALSE se e solo se il valore dell'operando può essere interpretato come "0".

BOOL

TIME_TO_BYTE

LTIME_TO_BYTE

Integer

TIME_TO_DATE

LTIME_TO_DATE

LTIME_TO_DATE(LTIME#2us1ns);

D#1970-1-1

Sintassi: D#aaaa-MM-gg

Tipo di dati: DATE

TIME_TO_DINT

LTIME_TO_DINT

Integer

TIME_TO_DT

LTIME_TO_DT

TIME_TO_DT(T#5d4h3m2s1ms);
LTIME_TO_DT(LTIME#2us1ns);

D#1970-1-1-0:0:0.000000012

Sintassi: DT#aaaa-MM-gg-hh:mm:ss

Tipo di dati: DATE

TIME_TO_DWORD

LTIME_TO_DWORD

Integer

TIME_TO_INT

LTIME_TO_INT

LTIME_TO_INT(LTIME#2us1ns);

0

Integer

TIME_TO_LDATE

LTIME_TO_LDATE

Sintassi: LDATE#aaaa-MM-gg

Tipo di dati: DATE

TIME_TO_LDT

LTIME_TO_LDT

Sintassi: LDT#yyyy-MM-dd-hh:mm:ss.sss

Tipo di dati: DATE

TIME_TO_LINT

LTIME_TO_LINT

Integer

TIME_TO_LREAL

LTIME_TO_LREAL

TIME_TO_LREAL(T#5d4h3m2s1ms);

x.x

TIME_TO_LTIME

-

TIME_TO_LTOD

LTIME_TO_LTOD

Sintassi: LTOD#hh:mm:ss.sssssssss

Tipo di dati: DATE

TIME_TO_LWORD

LTIME_TO_LWORD

TIME_TO_LWORD(T#5d4h3m2s1ms);
LTIME_TO_LWORD(LTIME#2us1ns);

0

Integer

TIME_TO_REAL

LTIME_TO_REAL

TIME_TO_REAL(T#1d2h3m4s5ms);
LTIME_TO_REAL(LTIME#2us1ns);

9.28E+07

0.0

REAL, LREAL

TIME_TO_SINT

LTIME_TO_SINT

Integer

TIME_TO_STRING

LTIME_TO_STRING

TIME_TO_STRING(T#0MS);

'T#0MS'

Importante: il valore tipizzato è allineato a sinistra come una stringa di caratteri e troncato se è troppo lungo. Pertanto, dichiara la variabile di ritorno abbastanza lunga da avere abbastanza spazio nella stringa senza alcuna manipolazione.

STRING

-

LTIME_TO_TIME

LTIME_TO_TIME(LTIME#2us1ns);

T#0ms

Tipi di dati temporali

TIME_TO_TOD

LTIME_TO_TOD

TIME_TO_TOD(T#1d2h3m4s5ms);
LTIME_TO_TOD(LTIME#2us1ns);

TOD#2:3:4.005

TOD#0:0:0

Tipo di dati: DATE

TIME_TO_UDINT

LTIME_TO_UDINT

Integer

TIME_TO_UINT

LTIME_TO_UINT

Integer

TIME_TO_ULINT

LTIME_TO_ULINT

TIME_TO_ULINT(T#1d2h3m4s5ms);

93784005

Integer

TIME_TO_USINT

LTIME_TO_USINT

Integer

TIME_TO_WORD

LTIME_TO_WORD

Integer

TIME_TO_WSTRING

LTIME_TO_WSTRING

TIME_TO_WSTRING(T#1d2h3m4s5ms);
LTIME_TO_WSTRING(T#0US);

"T1d2h3m4s5ms"

"T#0US"

Il valore tipizzato è allineato a sinistra come una stringa di caratteri e troncato se è troppo lungo. Pertanto, dichiara la variabile di ritorno abbastanza lunga da avere abbastanza spazio nella stringa senza alcuna manipolazione.

WSTRING



Esempio 174. Linguaggio di implementazione ST

Dichiarazione in ST

FUNCTION_BLOCK FB_ConvertTimeAndDate
VAR
        ltReturn_1: LTIME;
        lwReturn_2: LWORD;
        rReturn_3: REAL;
        strReturn_4: STRING;
        timReturn_5: TIME;
        todReturn_6: TIME_OF_DAY;
        uliReurn_7: ULINT;
        wstrReturn_8: WSTRING;
        wstrReturn_80: WSTRING;
        uliReurn_70: ULINT;
        todReturn_60: TIME_OF_DAY;
        timReturn_50: TIME;
        strReturn_40: STRING;
        rReturn_30: REAL;
        lwReturn_20: LWORD;
        ltReturn_10: LTIME;
        ltReturn_11: LTIME;
        lwReturn_21: LWORD;
        rReturn_31: REAL;
        strReturn_41: STRING;
        timReturn_51: TIME;
        todRedurn_61: TIME_OF_DAY;
        uliReurn_71: ULINT;
        wstrReturn_81: WSTRING;
        ltReturn_12: LTIME;
        xReturn_9: BOOL;
        xReturn_90: BOOL;
        xReturn_91: BOOL;
        xReturn_92: BOOL;
        dateReturn_6: DATE;
        timReturn_60: TIME;
        wReturn_61: WORD;
        todReturn_61: TIME_OF_DAY;
END_VAR

Implementazione in ST

FUNCTION_BLOCK FB_ConvertTimeAndDate
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
        ltReturn_1: LTIME;
        lwReturn_2: LWORD;
        rReturn_3: REAL;
        strReturn_4: STRING;
        timReturn_5: TIME;
        todReturn_6: TIME_OF_DAY;
        uliReurn_7: ULINT;
        wstrReturn_8: WSTRING;
        wstrReturn_80: WSTRING;
        uliReurn_70: ULINT;
        todReturn_60: TIME_OF_DAY;
        timReturn_50: TIME;
        strReturn_40: STRING;
        rReturn_30: REAL;
        lwReturn_20: LWORD;
        ltReturn_10: LTIME;
        ltReturn_11: LTIME;
        lwReturn_21: LWORD;
        rReturn_31: REAL;
        strReturn_41: STRING;
        timReturn_51: TIME;
        todRedurn_61: TIME_OF_DAY;
        uliReurn_71: ULINT;
        wstrReturn_81: WSTRING;
        ltReturn_12: LTIME;
        xReturn_9: BOOL;
        xReturn_90: BOOL;
        xReturn_91: BOOL;
        xReturn_92: BOOL;
        dateReturn_6: DATE;
        timReturn_60: TIME;
        wReturn_61: WORD;
        todReturn_61: TIME_OF_DAY;
END_VAR

ltReturn_1 := DT_TO_LTIME(DT#2019-9-9-23:59:59);
ltReturn_10 := DT_TO_LTIME(DT#1970-1-1-0:0:0);
ltReturn_11 := DT_TO_LTIME(DT#1970-1-2-0:0:1);
ltReturn_12 := DT_TO_LTIME(DT#1970-1-3-12:30:30);

lwReturn_2 := TIME_TO_LWORD(T#5D4H2M3S2MS);
lwReturn_20 := TIME_TO_LWORD(T#0D0H0M0S0MS);

rReturn_3 := TIME_TO_REAL(T#5D4H2M3S2MS);
rReturn_30 := TIME_TO_REAL(T#0D0H0M0S0MS);

strREturn_4 := TIME_TO_STRING(T#5D4H2M3S2MS);
strREturn_40 := TIME_TO_STRING(T#0D0H0M0S0MS);

timReturn_5 := TOD_TO_TIME(TOD#23:59:59.999);
timReturn_50 := TOD_TO_TIME(TOD#0:0:0.000);
timReturn_51 := TOD_TO_TIME(TOD#0:0:0.001);

dateReturn_6 := TOD_TO_DATE(TOD#23:59:59.999);
timReturn_60 := TOD_TO_TIME(TOD#0:0:0.000);
wReturn_61 := TOD_TO_WORD(TOD#0:0:0.001);

uliReurn_7 := DATE_TO_ULINT(D#2019-9-9);
uliReurn_70 := DATE_TO_ULINT(D#1970-1-1);
uliReurn_71 := DATE_TO_ULINT(D#1970-1-2);

wstrReturn_8 := DATE_TO_WSTRING(D#2019-9-9);
wstrReturn_80 := DATE_TO_WSTRING(D#1970-1-1);
wstrReturn_81 := DATE_TO_WSTRING(D#1970-1-2);

xReturn_9 := DATE_TO_BOOL(D#2019-9-9);
xReturn_90 := DATE_TO_BOOL(D#1970-1-1);
xReturn_91 := DATE_TO_BOOL(D#1970-1-2);
xReturn_92 := DATE_TO_BOOL(D#1970-1-3);
_cds_img_conversions_from_time.png
_cds_img_conversions_from_long_time.png


Esempio 175. Linguaggio di implementazione FBD
_cds_img_fbd_convert_time.png