FP_SET_ERROR

자체 진단 에러 설정/재설정

n에서 지정한 에러 번호는 해당 특수 데이터 레지스터를 읽는 시스템 변수 sys_iSelfDiagnosticErrorCode에 복사됩니다.

파라미터

입력

n (INT)

정수이어야 함

  • 자체 진단 에러 코드 번호, 범위: 0, 100~299

  • FP7의 경우: 0! 및 1000~2999 범위

주석

시스템 변수 sys_iSelfDiagnosticErrorCode의 내용과 오류 번호를 Control FPWIN Pro [모니터] > [특수 플래그 · 레지스터] > [기본 에러 메세지]를 이용하여 읽고 점검할 수 있습니다.

에러 번호 영역:

  • n=0이면 43보다 큰 모든 에러 번호는 지워지고 에러 LED가 꺼집니다.

  • n=100~199이면 동작이 중지됩니다.

  • n=200~299이면 동작이 계속 실행됩니다.

FP7의 경우:

  • n = 0!인 경우, 에러 없음

  • n < 1000인 경우, 연산 에러 발생

  • 1000 < n < 1999인 경우, PLC 정지

  • 2000 < n < 2999인 경우, 에러가 발생하지만 PLC는 계속 작동함

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)

n이 제한을 초과하는 경우.

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)

n이 제한을 초과하는 경우.

POU 헤더

이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

	VAR
		bStart: BOOL:=FALSE;
			(*activates the function*)
	END_VAR

POU 본문

변수 bStartTRUE로 설정되면 펑션이 실행됩니다.

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,FP_SET_ERROR!,,13,1,22,5,,?DEN?Dn?AENO);
B(B_CONTACT,,bStart,6,2,8,4,);
B(B_VARIN,,100,11,3,13,5,);
L(1,3,6,3);
L(8,3,13,3);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF bStart then
    (* Sets the self-diagnostic error 100 *)
    (* The ERROR/ALARM LED of the PLC is on,
    and operation stops. *)
    FP_SET_ERROR(100);
END_IF;

최종 수정일: 2022-09-19이 페이지에 대한 피드백Panasonic 직통 전화