INTEGER至STRING
函数INT_TO_STRING将数据类型INT的值转换为数据类型STRING的值。
以右对齐十进制表示法生成结果字符串,填充前导空格直到预定义的最大字符数。
输入
输出
当通过FP-e或FP0等小型PLC使用数据类型STRING时,确保结果字符串的长度等于或大于源字符串的长度。
使用的函数 |
String1定义为 |
结果 |
---|---|---|
String1:=INT_TO_STRING(-12345) |
STRING[1] |
'5' |
STRING[2] |
'45' |
|
STRING[3] |
'345' |
|
STRING[4] |
'2345' |
|
STRING[5] |
'12345' |
|
STRING[6] |
'-12345' |
|
STRING[7] |
||
STRING[8] |
||
等等 |
所有用于编程此函数的输入和输出变量已在POU头中声明。所有编程语言使用相同的POU头。
VAR
INT_value: INT:=-12345;
(*example value*)
result_string: STRING[8]:='';
(*result: here '-12345'*)
@'': @'';
END_VAR
数据类型INT的输入变量INT_value被值-12345初始化。result_string的输出变量为数据类型STRING[8]。其最多可以存储8个字符。可以将常量直接写入本体中函数的输入触点,代替使用变量INT_value。
数据类型INT的INT_value转换为STRING[8]。转换值被写入result_string。当变量INT_value = -12345时,result_string显示'-12345'。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,INT_TO_STRING!,Instance,9,2,18,4,,?D?C);
B(B_VARIN,,INT_value,7,2,9,4,);
B(B_VAROUT,,result_string,18,2,20,4,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
result_string:= INT_TO_STRING(input_value);
此例说明如何从数据类型INT创建右对齐显示的STRING[2]。
所有用于编程此函数的输入和输出变量已在POU头中声明。所有编程语言使用相同的POU头。
VAR
INT_value: INT:=12;
(*example value*)
result_string: STRING[2]:='';
(*result: here '12'*)
@'': @'';
@'': @'';
END_VAR
在此例中,数据类型INT的输入变量INT_value和数据类型STRING[2]的输出变量result_string均被声明。
当执行有问题的操作时,标准函数RIGHT被添附到函数INT_TO_STRING。RIGHT创建长度为L的右对齐字符串。
在示例中,变量INT_variable = 12通过INT_TO_STRING转换为虚拟字符串'12'。然后函数RIGHT创建result_string '12'。
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 9 ;
NETWORK_BODY
B(B_F,INT_TO_STRING!,Instance,8,1,17,3,,?D?C);
B(B_VARIN,,input_string,6,1,8,3,);
B(B_F,INSERT!,Instance,4,4,9,9,,?DIN1?DIN2?DP?C);
B(B_VARIN,,'~',2,6,4,8,);
B(B_VARIN,,8,2,7,4,9,);
B(B_F,INSERT!,Instance,12,4,17,9,,?DIN1?DIN2?DP?C);
B(B_F,INSERT!,Instance,19,4,24,9,,?DIN1?DIN2?DP?C);
B(B_VAROUT,,result_string,24,5,26,7,);
B(B_VARIN,,'~',10,6,12,8,);
B(B_VARIN,,5,10,7,12,9,);
B(B_VARIN,,'~',17,6,19,8,);
B(B_VARIN,,2,17,7,19,9,);
L(1,0,1,9);
L(9,6,12,6);
L(17,6,19,6);
L(17,2,19,2);
L(3,4,3,6);
L(3,6,4,6);
L(3,3,19,3);
L(3,3,3,4);
L(19,2,19,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
result_string:=RIGHT(IN:=INT_TO_STRING(input_value), L:=2);