Skip to main content

Conversion de temps

Les opérateurs convertissent les valeurs de temps (TIME ou LIME) dans les types de données spécifiés et renvoient cette valeur convertie en type.

Syntaxe d'appel: <TIME_TO<type de cible> ( <opérande> ), <LTIME_TO<type de cible> ( <opérande> )

Opérande

Type de données

Description

Variable ou littéral

TIME, LTIME

Types de données de temps

Tableau 15. Opérateurs de casting : TIME/LTIME_TO_<type de cible>

Opérateur

Opérateur

Exemple

Valeur de retour

Description

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'opérateur revient FALSE si et seulement si la valeur de l'opérande peut être interprétée comme "0".

BOOL

TIME_TO_BYTE

LTIME_TO_BYTE

Integer

TIME_TO_DATE

LTIME_TO_DATE

LTIME_TO_DATE(LTIME#2us1ns);

D#1970-1-1

Syntaxe : D#aaaa-MM-jj

Type de données : 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

Syntaxe : DT#aaaa-MM-jj-hh:mm:ss

Type de données : 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

Syntaxe : LDATE#aaaa-MM-jj

Type de données : DATE

TIME_TO_LDT

LTIME_TO_LDT

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

Type de données : 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

Syntaxe: LTOD#hh:mm:ss.sssssssss

Type de données : 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'

Important : la valeur saisie est alignée à gauche en tant que chaîne de caractères et tronquée si elle est trop longue. Par conséquent, déclarez la variable de retour suffisamment longue pour que la chaîne ait suffisamment d'espace sans aucune manipulation.

STRING

-

LTIME_TO_TIME

LTIME_TO_TIME(LTIME#2us1ns);

T#0ms

Types de données de temps

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

Type de données : 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"

La valeur typée est alignée à gauche sous forme de chaîne de caractères et tronquée si elle est trop longue. Par conséquent, déclarez la variable de retour suffisamment longue pour que la chaîne ait suffisamment d'espace sans aucune manipulation.

WSTRING



Exemple 174. Langage d'implémentation ST

Déclaration 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

Implémentation 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


Exemple 175. Langage d'implémentation FBD
_cds_img_fbd_convert_time.png