LEN

文字列の長さ

LEN命令は、入力文字列の長さを計算して、演算結果を出力変数に書き込みます。

パラメータ

入力

未定義入力 (STRING)

入力データ型

出力

未定義出力 (INT)

文字列の長さ

解説

  • この命令をUTF-8文字列で使用する場合は、データ型STRINGのUTF-8文字列についての注意事項をご参照ください。

  • 文字列が宣言されたフィールド「タイプ(ファンクション、ファンクションブロック、または演算子別)」の入力変数(IN1IN2)として定義された長さよりも長い場合、エラーが発生します(エラー処理についてはsys_bIsCarryをご参照ください)。

エラーフラグ

sys_bIsOperationErrorHold (TRUEになり、TRUEを保持)

入力または出力に適用される文字列が無効な文字列のとき

sys_bIsOperationErrorNonHold (1回のスキャンに対してTRUE)

入力または出力に適用される文字列が無効な文字列のとき

POUヘッダ

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

	VAR
		input_string: STRING[12]:='Panasonic';
			(*sample string*)
		output_value: INT:=0;
			(*result: here 9*)
	END_VAR

この例では、入力変数(input_string)が宣言されています。ファンクションに文字列(例: 'Panasonic')を直接入力することもできます。POUヘッダ、ボディとも、文字列には引用符をつけてください。

POUボディ

入力変数input_string ('Panasonic’)の長さ(9)は、output_valueに書き込まれます。

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,LEN!,Instance,9,0,14,2,,?DIN?C);
B(B_VARIN,,input_string,7,0,9,2,);
B(B_VAROUT,,output_value,14,0,16,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

output_value:=LEN(input_value);

ILボディ

LD

input_value

LEN

ST

output_value

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