BOOL_TO_STRING

BOOL型からSTRING型への変換

BOOL_TO_STRING命令は、BOOL型の値をSTRING[2]型の値に変換します。変換結果の文字列は、"0"または"1"になります。

パラメータ

入力

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

出力

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

解説

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

例 結果文字列 = '0'または'1’

POUヘッダ

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

	VAR
		input_value: BOOL:=FALSE;
		result_string: STRING;
	END_VAR

BOOL型の入力変数input_valueの初期値は、TRUEです。出力変数result_stringSTRING[2]型で、最大2文字を格納することができます。STRING[5]のように複数の文字列を宣言することもできます。この場合、5文字のうちの2文字だけを使用します。

変数input_valueを使用せず、ボディのファンクション入力にTRUEまたはFALSEを直接記述することもできます。

POUボディ

BOOL型のinput_valueは、STRING[2]に変換されます。変換結果は、result_stringに書き込まれます。変数input_valueがTRUEのとき、result_stringは"1"になります。

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,BOOL_TO_STRING!,Instance,9,1,19,3,,?D?C);
B(B_VARIN,,input_value,7,1,9,3,);
B(B_VAROUT,,result_string,19,1,21,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

IF Boolean_value then
    output_value:=BOOL_TO_STRING(input_value);
END_IF;

ILボディ

例 結果文字列 = 'TRUE'または'FALSE'

POUヘッダ

"0"または"1"の代わりに、'TRUE'または'FALSE'で結果を取得したい場合、BOOL_TO_STRING命令を使用することはできません。以下の例は、BOOL型の入力値から'TRUE'または'FALSE'の文字列を含むSTRING[5]型への変換方法を示しています。POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。 POUヘッダは全プログラム言語で使用できます。

	VAR
		input_value: BOOL:=TRUE;
			(*example value*)
		result_string: STRING[5]:='';
			(*result: here TRUE*)
		@'': @'';
		@'': @'';
	END_VAR	

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

POUボディ

この操作の実行には、標準ファンクションMOVEを使います。MOVEは、入力値を変更せずに出力へ代入します。入力には、STRING定数'TRUE'または'FALSE'が設定されています。イネーブル入力(EN) input_variable がONになると、入力STRING定数が出力されます。その結果、BOOL型からSTRING型への変換が実行されます。

LDボディ

BODY
    WOKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORRKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,input_value,3,1,5,3,);
B(B_F,E_MOVE!,Instanz,11,0,17,4,,?DEN?D?AENO?C);
B(B_VARIN,,'TRUE',9,2,11,4,);
B(B_VAROUT,,result_string,17,2,19,4,);
B(B_F,E_MOVE!,Instanz,11,4,17,8,N,?DEN?D?AENO?C);
B(B_VARIN,,'FALSE',9,6,11,8,);
B(B_VAROUT,,result_string,17,6,19,8,);
L(1,2,3,2);
L(5,2,11,2);
L(1,0,1,8);
L(6,2,6,6);
L(6,6,11,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ILボディ

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