FP_END_SCAN

条件付きエンド

現在のプログラム位置で、プログラムコードのスキャンを終了します。

パラメータ

入力

EN (BOOL)

TRUEの場合、命令が実行されます

出力

ENO (BOOL)

命令が正常に実行されると、TRUEがセットされます。

解説

  • 実行条件がTRUEになると、プログラムは現在のスキャンを終了し、I/O処理を開始します。プログラムは、先頭アドレスへ戻ります。

  • この命令は、サブルーチンプログラムや割り込みプログラムのような、副プログラム内で実行することはできません。主プログラム内でのみ FP_END_SCAN 命令を使用してください。

  • 主プログラム内で、2つ以上の FP_END_SCAN 命令を使用することができます。

  • 以下の命令は、実行条件(トリガ)の立ち上がりエッジを検出することによって実行されますので注意してください。

    • DF(立ち上がりエッジ検出(微分))

    • カウンタ入力 CT (カウンタ)用

    • カウンタ入力 F118_UDC (アップダウンカウンタ)用

    • シフト入力 SR (シフトレジスタ)用

    • シフト入力 F119_LRSR (左右シフトレジスタ)用

    • P 命令の立ち上がり実行 (P と番号によって指定, 例 P20_ADD)

タスクプール

POUヘッダCopy code to clipboard

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

	VAR
		bEndCurrentScan: BOOL:=FALSE;
		iCounterExecuted: INT:=0;
		iCounterNotExecuted: INT:=0;
	END_VAR

LDボディCopy code to clipboard

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_F,FP_INC!,,20,0,26,4,,?DEN?Dd?Ad?AENO);
B(B_VARIN,,iCounterExecuted,18,2,20,4,);
L(1,2,20,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 3 ;
        NETWORK_BODY
B(B_F,FP_END_SCAN!,,19,0,27,3,,?DEN?AENO);
B(B_CONTACT,,bEndCurrentScan,6,1,8,3,);
L(1,2,6,2);
L(8,2,19,2);
L(1,0,1,3);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 4 ;
        NETWORK_BODY
B(B_F,FP_INC!,,20,0,26,4,,?DEN?Dd?Ad?AENO);
B(B_VARIN,,iCounterNotExecuted,18,2,20,4,);
L(1,2,20,2);
L(1,0,1,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

 Program_2

STボディCopy code to clipboard

FP_INC(d := iCounterExecuted);
If (bEndCurrentScan) then
    FP_END_SCAN();
End_if;
FP_INC(d := iCounterNotExecuted);

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