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_VARImplementierung 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

