DWORD_TO_STRING

DWORD型からSTRING型への変換

DWORD_TO_STRING命令は、DWORD型の値をSTRING型の値に変換します。

変換結果の文字列は、右揃えの10進数表示で生成されます。また宣言された最大文字数まで、ゼロが埋められます。

パラメータ

入力

未定義入力 (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_stringSTRING[10]型で、最大10文字を格納することができます。変数DWORD_valueの代わりに、ファンクションの入力ピンに定数を直接記述することもできます。

POUボディ

DWORD型のDWORD_valueは、STRING[10]に変換されます。変換結果はresult_stringに書き込まれます。変数DWORD_value16#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型の数値データから、先頭部分の文字列"16#"を文字列"0x"に置換したSTRING[10]型のデータを作成する方法を示しています。

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

この例では、DWORD型の入力変数input_valueSTRING[10]型の出力変数result_stringが宣言されています。

POUボディ

この例では、標準ファンクションのREPLACE命令をDWORD_TO_STRING命令に続けて実行します。REPLACE命令は文字列の一部を別の文字列に置き換えます。

この例では、DWORD_TO_STRING命令の出力文字列が、REPLACE命令の入力文字列IN1に入力されます。入力文字列IN2には、STRING定数"0x"を置換用のSTRINGとして入力します。REPLACE命令の入力値LINT 3は置換STRING長を示します。入力値Pは、置換を開始する位置を示します。この例では、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

最終修正日: 2019-08-01このページに関するフィードバックお問い合わせ窓口