FP_END_SCAN

조건부 종료

현재 프로그램 위치에서 프로그램 코드의 현재 스캔을 종료합니다.

파라미터

입력

EN (BOOL)

TRUE이면 명령 실행

출력

ENO (BOOL)

명령이 성공적으로 처리되면 TRUE로 설정

주석

  • 실행 조건이 TRUE로 전환되면 프로그램은 현재 스캔을 종료하고 I/O 처리를 시작합니다. 그런 다음 프로그램은 첫 번째 어드레스로 돌아갑니다.

  • 서브루틴 프로그램 또는 인터럽트 프로그램과 같은 하위 프로그램에서는 이 명령을 수행할 수 없습니다. 주 프로그램 영역에서만 FP_END_SCAN 명령을 사용합니다.

  • 주 프로그램 내에서 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-07이 페이지에 대한 피드백Panasonic 직통 전화