AND

論理積演算

アキュムレータの内容と、オペランドフィールドで定義されたオペランドとのAND演算を行います。演算結果は、アキュムレータに転送されます。

パラメータ

入力

未定義入力 (BOOL, WORD, DWORD)

入力1:AND演算の要素1

未定義入力 (BOOL, WORD, DWORD)

入力2: 入力1との比較する要素

出力

未定義出力 (BOOL, WORD, DWORD)

出力: 演算結果

解説

  • オペランドはすべて同じデータ型にしてください。
  • このファンクションは、最大28入力接点まで拡張することができます。エレメントの修正も参照してください。

真理値表:

入力1

入力2

出力

信号

0

0

0

0

1

0

1

0

0

1

1

1

POUヘッダ

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

	VAR
		bvar_1: BOOL:=FALSE;
			(*Input 1*)
		bvar_2: BOOL:=FALSE;
			(*Input 2*)
		bvar_3: BOOL:=FALSE;
			(*Output*)
	END_VAR

POUボディ

bvar_1bvar_2と論理積演算されます。演算結果は、出力変数bvar_3に書き込まれます。

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,@AND-2!,Instance,5,1,10,4,,?D?D?C);
B(B_VARIN,,bvar_1,3,1,5,3,);
B(B_VARIN,,bvar_2,3,2,5,4,);
B(B_VAROUT,,bvar_3,10,1,12,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

STボディ

bvar_3:= bvar_1&bvar_2;

ILボディ

LD

bvar_1

(* bvar_1の内容をアキュムレータにロード *)

AND

bvar_2

(* bvar_2の内容とアキュムレータの内容の論理積を求めた後、アキュムレータに格納 *)

ST

bvar_3

(* bvar_3にアキュムレータの内容を格納 *)

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