ADD

加算

入力変数"IN1 + IN2 +..."(最大28入力接点まで)を加算し、演算結果を出力変数に書き込みます。

パラメータ

入力

未定義入力 (INT, DINT, UINT, UDINT, REAL, LREAL)

入力1:被加算データ

未定義入力 (INT, DINT, UINT, UDINT, REAL, LREAL)

入力2:加算データ

出力

未定義出力 (INT, DINT, UINT, UDINT, REAL, LREAL)

出力: 合計値

解説

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

POUヘッダ

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

	VAR
		enable: BOOL:=FALSE;
		summand_1: INT:=0;
		summand_2: INT:=0;
		sum: INT:=0;
	END_VAR

この例では、入力変数(summand_1summand_2enable)が宣言されています。ファンクションの入力ピンに、定数を直接入力することもできます。

LDボディ

enableが設定(TRUE)されると、summand_1summand_2に加算されます。演算結果は、sumに書き込まれます。

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,E_ADD-2!,Instance,9,0,15,5,,?DEN?D?D?AENO?C);
B(B_VARIN,,summand_1,7,2,9,4,);
B(B_VARIN,,summand_2,7,3,9,5,);
B(B_VAROUT,,sum,15,2,17,4,);
B(B_CONTACT,,enable,4,1,6,3,);
L(1,2,4,2);
L(6,2,9,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ILボディ

LD

enable

E_ADD

summand_1, summand_2, sum

注記
  • このファンクションは、最大28入力接点まで拡張することができます。エレメントの修正も参照してください。
  • 3つ以上の加算が必要な場合は、必要に応じてILプログラムを修正してください。

    LD

    summand_1

    E_ADD

    summand_2, summand_3

    ST

    sum

    sumは、常に最終行に記述します。

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