Skip to main content

Conversión de tiempo

Los operadores convierten valores de tiempo (TIME o LIME) en los tipos de datos especificados y devolver este valor convertido al tipo.

Sintaxis de llamada: <TIME_TO<tipo de destino> ( <operando> ), <LTIME_TO<tipo de destino> ( <operando> )

Operando

Tipo de datos

Descripción

Variable o literal

TIME, LTIME

Tipo de dato: TIME, LTIME

tabla 15. Operadores de conversión: TIME/LTIME_TO_<tipo de destino>

Operador

Operador

Ejemplo

Valor de retorno

Descripción

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

El operador regresa FALSE si y sólo si el valor del operando puede interpretarse como "0".

BOOL

TIME_TO_BYTE

LTIME_TO_BYTE

Entero

TIME_TO_DATE

LTIME_TO_DATE

LTIME_TO_DATE(LTIME#2us1ns);

D#1970-1-1

Sintaxis: D#aaaa-MM-dd

Tipo de dato: DATE

TIME_TO_DINT

LTIME_TO_DINT

Entero

TIME_TO_DT

LTIME_TO_DT

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

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

Sintaxis: DT#aaaa-MM-dd-hh:mm:ss

Tipo de dato: DATE

TIME_TO_DWORD

LTIME_TO_DWORD

Entero

TIME_TO_INT

LTIME_TO_INT

LTIME_TO_INT(LTIME#2us1ns);

0

Entero

TIME_TO_LDATE

LTIME_TO_LDATE

Sintaxis: LDATE#aaaa-MM-dd

Tipo de dato: DATE

TIME_TO_LDT

LTIME_TO_LDT

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

Tipo de dato: DATE

TIME_TO_LINT

LTIME_TO_LINT

Entero

TIME_TO_LREAL

LTIME_TO_LREAL

TIME_TO_LREAL(T#5d4h3m2s1ms);

x.x

TIME_TO_LTIME

-

TIME_TO_LTOD

LTIME_TO_LTOD

Sintaxis: LTOD#hh:mm:ss.sssssssss

Tipo de dato: DATE

TIME_TO_LWORD

LTIME_TO_LWORD

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

0

Entero

TIME_TO_REAL

LTIME_TO_REAL

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

9.28E+07

0.0

REAL, REAL

TIME_TO_SINT

LTIME_TO_SINT

Entero

TIME_TO_STRING

LTIME_TO_STRING

TIME_TO_STRING(T#0MS);

'T#0MS'

Importante: el valor escrito se alinea a la izquierda como una cadena de caracteres y se trunca si es demasiado largo. Por lo tanto, declare la variable de retorno lo suficientemente larga como para que la cadena tenga suficiente espacio sin ninguna manipulación.

STRING

-

LTIME_TO_TIME

LTIME_TO_TIME(LTIME#2us1ns);

T#0ms

Tipo de dato: TIME, LTIME

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 de dato: DATE

TIME_TO_UDINT

LTIME_TO_UDINT

Entero

TIME_TO_UINT

LTIME_TO_UINT

Entero

TIME_TO_ULINT

LTIME_TO_ULINT

TIME_TO_ULINT(T#1d2h3m4s5ms);

93784005

Entero

TIME_TO_USINT

LTIME_TO_USINT

Entero

TIME_TO_WORD

LTIME_TO_WORD

Entero

TIME_TO_WSTRING

LTIME_TO_WSTRING

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

"T1d2h3m4s5ms"

"T#0US"

El valor tipificado se alinea a la izquierda como una cadena de caracteres y se trunca si es demasiado largo. Por lo tanto, declare la variable de retorno lo suficientemente larga como para que la cadena tenga suficiente espacio sin ninguna manipulación.

WSTRING



ejemplo 174. Lenguaje de implementación ST

Declaración en 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

Implementación en 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


ejemplo 175. Lenguaje de implementación FBD
_cds_img_fbd_convert_time.png