INT_TO_STRING

INT型からSTRING型への変換

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

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

パラメータ

入力

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

出力

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

解説

FP-eFP0のような小型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ヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。POUヘッダは全プログラム言語で使用できます。

	VAR
		INT_value: INT:=-12345;
			(*example value*)
		result_string: STRING[8]:='';
			(*result: here '-12345'*)
		@'': @'';
	END_VAR

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

POUボディ

INT型のINT_valueは、STRING[8]に変換されます。変換結果はresult_stringに書き込まれます。変数INT_valueが"-12345"のとき、result_stringは"-12345"になります。

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,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

STボディ

result_string:= INT_TO_STRING(input_value);

ILボディ

POUヘッダ

この例は、INT型の数値データから、右揃えの文字列STRING[2]を作成する方法を示しています。

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

	VAR
		INT_value: INT:=12;
			(*example value*)
		result_string: STRING[2]:='';
			(*result: here '12'*)
		@'': @'';
		@'': @'';
	END_VAR

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

POUボディ

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

この例では、変数INT_variable = 12 が、INT_TO_STRING命令によってダミー文字列"12"に変換されます。RIGHT命令は、result_string"12"を生成します。

LDボディ

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

STボディ

result_string:=RIGHT(IN:=INT_TO_STRING(input_value), L:=2);

ILボディ

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