转换:整数
该运算符将整数值转换为目标类型并返回类型转换后的值。如果要转换的数字超出范围限制,则忽略数字的前几个字节。
调用语法: <整数类型>_TO_<标准类型> ( <操作数> )
操作数 | 数据类型 | 描述 |
---|---|---|
变量,文字 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
转换为字符串
将值转换为字符串类型的运算符 STRING
或者 WSTRING
需要一个与目标数据类型匹配的操作数。
当较大的数据类型转换为较小的数据类型时,会截断更多的高位(前)字节。当较小的数据类型转换为较大的数据类型时,更多的高位字节用零填充。
FB_ConvertIntegersFromInt 的 ST 声明
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
FB_ConvertIntegersFromInt 在 ST 中的实现
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);
FB_ConvertIntegersToInt 的 ST 中的声明
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
FB_ConvertIntegersToInt 的 ST 实现
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();
执行

