WORD_TO_STRING

WORD型からSTRING型への変換

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

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

パラメータ

入力

未定義入力 (WORD)
入力データ型

出力

未定義出力 (STRING)
変換結果

解説

FP-eFP0のような小型PLCでSTRING型データを使用するとき、演算結果の文字列長が入力の文字列長以上の長さになるようにしてください。

入力

出力の宣言

変換結果

16#ABCD

STRING[1]

'D'

STRING[2]

'CD'

STRING[3]

'BCD'

STRING[4]

'ABCD'

STRING[5]

'0ABCD'

STRING[6]

'00ABCD'

(以下つづく)

POUヘッダ

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

	VAR
		input_value: WORD:=0;
		result_string: STRING;

WORD型の入力変数input_valueは、値16#ABCDで初期化されます。出力変数result_stringSTRING[6]型で、最大6文字を格納することができます。変数input_valueの代わりに、ファンクションの入力ピンに定数を直接記述することもできます。

POUボディ

WORD型のinput_valueは、STRING[6]に変換されます。変換結果はresult_stringに書き込まれます。変数input_valueが"16#ABCD"のとき、result_stringは"00ABCD"になります。

LDボディ

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 2 ;
        NETWORK_BODY
B(B_F,WORD_TO_STRING!,Instance,11,0,21,2,,?D?C);
B(B_VARIN,,input_value,9,0,11,2,);
B(B_VAROUT,,result_string,21,0,23,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

result_string:=WORD_TO_STRING(input_value);

ILボディ

POUヘッダ

この例は、WORD型の数値データから、先頭部分の文字列'16#'を切り捨てたSTRING[4]型のデータを作成する方法を示しています。

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。POUヘッダは全プログラム言語で使用できます。

	VAR
		input_value: WORD:=16#1234;
			(*example value*)
		result_string1: STRING[7]:='';
			(*result: here '0001234'*)
		result_string: STRING[4]:='';
			(*result: here '1234'*)
END_VAR

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

POUボディ

この例では、標準ファンクションのRIGHT命令をWORD_TO_STRING命令に続けて実行します。RIGHT命令は、長さLの右揃え文字列を作成します。

この例では、WORD_TO_STRING命令の出力文字列が、RIGHT命令に入力されます。RIGHT命令の入力値Lには置換文字列長として、INT定数4を指定しています。変数input_valueが0001234の場合、データ型変換とRIGHT命令を演算した結果、出力変数result_stringは"1234"になります。

LDボディ

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 2 ;
        NETWORK_BODY
B(B_F,WORD_TO_STRING!,Instance,11,0,21,2,,?D?C);
B(B_VARIN,,input_value,9,0,11,2,);
B(B_VAROUT,,result_string1,21,0,23,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,result_string1,10,2,12,4,);
B(B_VAROUT,,result_string,17,2,19,4,);
B(B_F,RIGHT!,Instance,12,1,17,5,,?DIN?DL?C);
B(B_VARIN,,4,10,3,12,5,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ILボディ

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