REAL_TO_STRING

REAL至STRING

函数REAL_TO_STRING将来自数据类型REAL的值转换为数据类型STRING[15]的值,在小数点前后均有7个空格。结果字符串为右对齐,并在'-999999.0000000'至'9999999.0000000'的范围内。在正数范围内省略加号。前导零以空格填充(例如:-12.0之外是STRING '-12.0')。

参数

输入

未定义的输入 (REAL)
输入数据类型

输出

未定义的输出 (STRING)
转换结果STRING[15]

标注

  • 函数需要大约160步的程序内存。若要重复使用,应将其集成到仅在内存中存储一次的用户函数中。

  • 当通过FP-eFP0等小型PLC使用数据类型STRING时,确保结果字符串的长度等于或大于源字符串的长度。

示例

POU头

所有用于编程此函数的输入和输出变量已在POU头中声明。 所有编程语言使用相同的POU头。

VAR
		input_value: REAL:=-123.4560166;
		result_string: STRING[15]:='';
END_VAR	

数据类型REAL的输入变量input_value被值-123.4560166初始化。result_string的输出变量为数据类型STRING[15]。其最多可以存储15个字符。可以将常量直接写入本体中函数的输入触点,代替使用变量input_value

POU本体

数据类型REALinput_value转换为STRING[15]。转换值被写入result_string。当变量input_value = 123.4560166时,result_string显示' -123.4560165'。

LD本体

BODY
    WORKSPACE</p>
        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,REAL_TO_STRING!,Instance,7,1,17,3,,?D?C);
B(B_VARIN,,input_value,5,1,7,3,);
B(B_VAROUT,,result_string,17,1,19,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

IL本体

示例

POU头

此例说明如何从数据类型REAL创建小数点之前4位及之后2位的STRING[7]。

所有用于编程此函数的输入和输出变量已在POU头中声明。所有编程语言使用相同的POU头。

VAR
		input_value: REAL:=-123.4560166;
			(*example value*)
		result_string: STRING[15]:='';
			(*result: here ' -123.45'*)
	END_VAR

在此例中,数据类型REAL的输入变量input_value和数据类型STRING[7]的输出变量result_string均被声明。

POU本体

当执行有问题的操作时,标准函数MID被添附到函数REAL_TO_STRINGMID在字符串中从位置P(INT值)创建一个L(INT值)字符的中间部分。

在示例中,INT常量7输入到MIDL输入,确定结果字符串的长度。P输入的INT常量4确定中间部分开始的位置。从变量input_value = -123.4560166中,从数据类型转换得出STRING ' -123.4560166'。MID函数切断位置4的STRING并得出result_string '-123.45'。

LD本体

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_F,REAL_TO_STRING!,Instance,7,2,17,4,,?D?C);
B(B_VARIN,,input_value,5,2,7,4,);
B(B_VAROUT,,result_string,24,2,26,4,);
B(B_F,MID!,Instance,19,1,24,6,,?DIN?DL?DP?C);
B(B_VARIN,,7,17,3,19,5,);
B(B_VARIN,,4,17,4,19,6,);
L(17,3,19,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

IL本体

最后更新日期: 此页面上的反馈松下热线