Conversion : Entier
Les opérateurs convertissent une valeur entière dans le type cible et renvoient une valeur convertie en type. Si le nombre à convertir dépasse la limite de plage, les premiers octets du nombre sont ignorés.
Syntaxe d'appel: <type entier>_TO_<type standard> ( <opérande> )
Opérande | Type de données | Description |
---|---|---|
Variable, littéral |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Conversion en chaîne
Les opérateurs qui convertissent une valeur en une chaîne de type STRING
ou WSTRING
nécessitent un opérande qui correspond au type de données cible.
Lorsqu'un type de données plus grand est converti en un type de données plus petit, les octets de poids fort (de premier plan) sont tronqués. Lorsqu'un type de données plus petit est converti en un type de données plus grand, les octets de poids fort remplis de zéros sont plus nombreux.
Déclaration en ST de FB_ConvertIntegersFromInt
FUNCTION_BLOCK FB_ConvertIntegersFromInt VAR uxiReturn: __UXINT; xiReturn: __XINT; xwReturn: __XWORD; bitReturn: BIT; xReturn: BOOL; bReturn: BYTE; dateReturn: DATE; diReturn: DINT; dtReturn: DATE_AND_TIME; dwReturn: DWORD; liReturn: LINT; lrReturn: LREAL; lwReturn: LWORD; siReturn: SINT; sReturn: STRING; timReturn: TIME; todReturn: TIME_OF_DAY; udiReturn: UDINT; uiReturn: UINT; usiReturn: USINT; wReturn: WORD; wsReturn: WSTRING; uliReturn: ULINT; END_VAR
Implémentation dans ST de FB_ConvertIntegersFromInt
uxiReturn := INT_TO___UXINT(127); xiReturn := INT_TO___XINT(127); xwReturn := INT_TO___XWORD(127); bitReturn := INT_TO_BIT(127); xReturn := INT_TO_BOOL(127); bReturn := INT_TO_BYTE(127); dateReturn := INT_TO_DATE(127); diReturn := INT_TO_DINT(127); dtReturn := INT_TO_DT(127); dwReturn := INT_TO_DWORD(127); liReturn := INT_TO_LINT(127); lrReturn := INT_TO_LREAL(127); lwReturn := INT_TO_LWORD(127); siReturn := INT_TO_SINT(127); sReturn := INT_TO_STRING(127); timReturn := INT_TO_TIME(127); todReturn := INT_TO_TOD(127); udiReturn := INT_TO_UDINT(127); uiReturn := INT_TO_UINT(127); uliReturn := INT_TO_ULINT(127); usiReturn := INT_TO_USINT(127); wReturn := INT_TO_WORD(127); wsReturn := INT_TO_WSTRING(127);
Déclaration en ST de FB_ConvertIntegersToInt
FUNCTION_BLOCK FB_ConvertIntegersToInt VAR iReturn_uxi: INT; iReturn_xi: INT; iReturn_xw: INT; iReturn_bit: INT; iReturn_bool: INT; iReturn_b: INT; iReturn_d: INT; iReturn_di: INT; iReturn_dt: INT; iReturn_dw: INT; iReturn_li: INT; iReturn_lr: INT; iReturn_lw: INT; iReturn_r: INT; iReturn_si: INT; iReturn_s: INT; iReturn_tim: INT; iReturn_tod: INT; iReturn_tod_0: INT; iReturn_udi: INT; iReturn_ui: INT; iReturn_uli: INT; iReturn_usi: INT; iReturn_w: INT; iReturn_ws: INT; END_VAR
Implémentation dans ST de FB_ConvertIntegersToInt
FUNCTION_BLOCK FB_ConvertIntegersFromInt VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR uxiReturn: __UXINT; xiReturn: __XINT; xwReturn: __XWORD; bitReturn: BIT; xReturn: BOOL; bReturn: BYTE; dateReturn: DATE; diReturn: DINT; dtReturn: DATE_AND_TIME; dwReturn: DWORD; liReturn: LINT; lrReturn: LREAL; lwReturn: LWORD; siReturn: SINT; sReturn: STRING; timReturn: TIME; todReturn: TIME_OF_DAY; udiReturn: UDINT; uiReturn: UINT; usiReturn: USINT; wReturn: WORD; wsReturn: WSTRING; uliReturn: ULINT; END_VAR uxiReturn := INT_TO___UXINT(127); xiReturn := INT_TO___XINT(127); xwReturn := INT_TO___XWORD(127); bitReturn := INT_TO_BIT(127); xReturn := INT_TO_BOOL(127); bReturn := INT_TO_BYTE(127); dateReturn := INT_TO_DATE(127); diReturn := INT_TO_DINT(127); dtReturn := INT_TO_DT(127); dwReturn := INT_TO_DWORD(127); liReturn := INT_TO_LINT(127); lrReturn := INT_TO_LREAL(127); lwReturn := INT_TO_LWORD(127); siReturn := INT_TO_SINT(127); sReturn := INT_TO_STRING(127); timReturn := INT_TO_TIME(127); todReturn := INT_TO_TOD(127); udiReturn := INT_TO_UDINT(127); uiReturn := INT_TO_UINT(127); uliReturn := INT_TO_ULINT(127); usiReturn := INT_TO_USINT(127); wReturn := INT_TO_WORD(127); wsReturn := INT_TO_WSTRING(127); FUNCTION_BLOCK FB_ConvertIntegersToInt VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR iReturn_uxi: INT; iReturn_xi: INT; iReturn_xw: INT; iReturn_bit: INT; iReturn_bool: INT; iReturn_b: INT; iReturn_d: INT; iReturn_di: INT; iReturn_dt: INT; iReturn_dw: INT; iReturn_li: INT; iReturn_lr: INT; iReturn_lw: INT; iReturn_r: INT; iReturn_si: INT; iReturn_s: INT; iReturn_tim: INT; iReturn_tod: INT; iReturn_tod_0: INT; iReturn_udi: INT; iReturn_ui: INT; iReturn_uli: INT; iReturn_usi: INT; iReturn_w: INT; iReturn_ws: INT; END_VAR iReturn_uxi := __UXINT_TO_INT(18446744073709551615); iReturn_xi := __XINT_TO_INT(9223372036854775807); iReturn_xw := __XWORD_TO_INT(16#FFFF_FFFF_FFFF_FFFF); iReturn_bit := BIT_TO_INT(1); iReturn_bool := BOOL_TO_INT(TRUE); iReturn_b := BYTE_TO_INT(2#1111_0000); iReturn_d := DATE_TO_INT(DATE#2019-9-13); iReturn_di := DINT_TO_INT(2147483647); iReturn_dt := DT_TO_INT(DT#1979-1-1-00:00:00); iReturn_dw := DWORD_TO_INT(16#FFFF_FFFF); // iReturn_i := INT_TO_<>(iData_12); iReturn_li := LINT_TO_INT(9223372036854775807); iReturn_lr := LREAL_TO_INT(1.7976931348623157E+30); iReturn_lw := LWORD_TO_INT(16#FFFF_FFFF_FFFF_FFFF); iReturn_r := REAL_TO_INT(3.402823E+38); iReturn_si := SINT_TO_INT(127); iReturn_s := STRING_TO_INT('127'); iReturn_tim := TIME_TO_INT(T#49D17H2M47S295MS); iReturn_tod := TOD_TO_INT(TOD#23:59:59.999); iReturn_tod_0 := TOD_TO_INT(TOD#1:1:1.001); iReturn_udi := UDINT_TO_INT(4294967295); iReturn_ui := UINT_TO_INT(65535); iReturn_uli := ULINT_TO_INT(18446744073709551615); iReturn_usi := USINT_TO_INT(255); iReturn_w := WORD_TO_INT(16#FFFF); iReturn_ws := WSTRING_TO_INT("1234567890"); PROGRAM PLC_PRG VAR fbConvertIntegersFromInt : FB_ConvertIntegersFromInt; fbConvertIntegersToInt : FB_ConvertIntegersToInt; END_VAR fbConvertIntegersFromInt(); fbConvertIntegersToInt();
Exécution

