DWORD_TO_STRING

DOUBLE WORD至STRING

函数DWORD_TO_STRING将数据类型DWORD的值转换为数据类型STRING的值。

以右对齐十进制表示法生成结果字符串,填充前导空格直到预定义的最大字符数。

参数

输入

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

输出

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

标注

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

示例

输入

输出定义为

结果

16#ABCDEFFE

STRING[2]

'FE'

STRING[4]

'EFFE'

STRING[6]

'CDEFFE'

STRING[8]

'ABCDEFFE'

STRING[10]

'00ABCDEFFE'

STRING[12]

'0000ABCDEFFE'

等等

示例

POU头

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

		VAR 
		DWORD_value: DWORD:=0;
			(*example value: 16#ABCDEFFE*)
		result_string: STRING[10]:='';
			(*result: '00ABCDEFFE'*)
		@'': @'';
	END_VAR

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

POU本体

数据类型DWORDDWORD_value转换为STRING[10]。转换值被写入result_string。当变量DWORD_value = 16#ABCDEFFE时,result_string显示'00ABCDEFFE'

LD本体

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,DWORD_TO_STRING!,Instance,9,1,20,3,,?D?C);
B(B_VARIN,,DWORD_value,7,1,9,3,);
B(B_VAROUT,,result_string,20,1,22,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

示例

POU头

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

此例说明如何从数据类型DWORD创建STRING[10],其中字符串'16#'的前导部分由字符串'0x'替换。

		VAR
		input_value: DWORD:=16#12345678;
		result_string: STRING[10]:='';
		@'': @'';
	END_VAR

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

POU本体

当执行有问题的操作时,标准函数REPLACE被添附到函数DWORD_TO_STRINGREPLACE替换字符串的一个部分为其他部分。

在示例中,DWORD_TO_STRING函数的输出字符串被添加到REPLACE函数的输入IN1。在输入IN2中,添加STRING常量'0x'作为替换STRING。在REPLACEL输入中,INT常量3确定要替换的STRING的长度。P输入确定替换开始的位置。在此例中为INT编号1。从变量input_value = 16#12345678中,在经过数据类型转换和REPLACE函数之后得出result_string = '0x12345678'。

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,DWORD_TO_STRING!,Instance,8,1,19,3,,?D?C);
B(B_VARIN,,input_value,6,1,8,3,);
B(B_VAROUT,,result_string,26,1,28,3,);
B(B_F,REPLACE!,Instance,20,0,26,6,,?DIN1?DIN2?DL?DP?C);
B(B_VARIN,,'0x',18,2,20,4,);
B(B_VARIN,,3,18,3,20,5,);
B(B_VARIN,,2,18,4,20,6,);
L(19,2,20,2);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

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