Konvertierung Integer
Die Operatoren konvertieren einen ganzzahligen Wert in den Zieltyp und geben einen typkonvertierten Wert zurück. Wenn die zu konvertierende Zahl die Bereichsgrenze überschreitet, werden die ersten Bytes der Zahl ignoriert.
Aufrufsyntax: <Integertyp>_TO_<Standardtyp> ( <Operand> )
Operand | Datentyp | Beschreibung |
---|---|---|
Variable, Literal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
In einen String konvertieren
Die Operatoren, die einen Wert in eine Zeichenfolgen des Typs STRING
oder WSTRING
konvertieren, benötigen einen Operanden, der zum Zieldatentyp passt.
Wenn ein größerer in einen kleineren Datentypen konvertiert wird, werden die höherwertigen (vorderen) Bytes abgeschnitten. Wenn ein kleinerer in einen größeren Datentypen konvertiert wird, werden die höherwertigen Bytes mit Nullen aufgefüllt.
Deklaration in ST von 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
Implementierung in ST von 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);
Deklaration in ST von 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
Implementierung in ST von 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();
Ausführung

