자체 진단 에러 설정/재설정
n에서 지정한 에러 번호는 해당 특수 데이터 레지스터를 읽는 시스템 변수 sys_iSelfDiagnosticErrorCode에 복사됩니다.
입력
정수이어야 함
자체 진단 에러 코드 번호, 범위: 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는 계속 작동함
n이 제한을 초과하는 경우.
n이 제한을 초과하는 경우.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bStart: BOOL:=FALSE;
(*activates the function*)
END_VAR
변수 bStart가 TRUE로 설정되면 펑션이 실행됩니다.
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
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;