NTP 서버용 재시도 설정
이 FP 명령은 NTP 서버 시간 동기화 요청에 대한 재시도 설정을 설정합니다.
입력
타임아웃(초)
값: 30-300초
재시도 횟수
값: 0-3
재시도 간격(초)
값: 10-86400초
출력
실행 없이 연산이 비정상적으로 종료되는 경우(예: sys_bIsEthernetInitializing 이 TRUE인 경우)에 TRUE로 설정합니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.
NTP 서버용 시간 동기화 요청의 재시도 설정이 nTimeout, nNumberOfRetries 및 nRetryInterval에 따라 설정되었습니다.
시스템 레지스터( )에 이미 설정된 데이터가 유효하지 않으며, NTP 시간 동기화 요청이 이 명령에 의해 지정된 시간에 실행됩니다.
다음과 같은 경우 PLC가 시스템 레지스터에서 설정으로 돌아갑니다.
전원이 꺼져 있습니다.
[PROG 모드]에서 [RUN 모드]로 전환합니다.
다른 프로젝트로 전환합니다.
FP_IPV4_SET_ADDRESS 명령을 실행해도 설정 데이터가 손실되지 않습니다.
명령을 실행하기 전에 sys_bIsEthernetInitializing이 FALSE인지 확인하십시오. 명령이 실행되면 sys_bIsEthernetInitializing이 TRUE로 전환됩니다. sys_bIsEthernetInitializing이 TRUE일 때 명령을 실행하면 에러가 발생합니다.
이 명령이 성공적으로 실행되면 시스템 변수 sys_bIsCarry 및 sys_iEthernetConnectionErrorCode가 초기화됩니다.
에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
시스템이 NTP 서버와 시간을 동기화하는 경우.
파라미터에 지정된 값이 허용 범위를 벗어난 경우.
명령을 인터럽트 프로그램에서 실행한 경우.
시스템이 NTP 서버와 시간을 동기화하는 경우.
이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다.모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bEnable: BOOL:=FALSE;
bError: BOOL:=FALSE;
iTimeout: INT:=60;
iNumberOfRetries: INT:=3;
diRetryInterval: DINT:=600;
END_VAR
시스템 변수 sys_bIsEthernetInitializing이 FALSE이고 변수 bEnable이 TRUE로 설정되면 펑션이 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_CONTACT,,sys_bIsEthernetInitializing,6,1,8,3,N);
B(B_CONTACT,,bEnable,14,1,16,3,);
B(B_F,FP_NTP_SET_RETRY_SETTINGS!,,22,0,37,6,,?DEN?DnTimeout?DnNumberOfRetries?DnRetryInterval?AENO?AbError);
B(B_VARIN,,iTimeout,20,2,22,4,);
B(B_VAROUT,,bError,37,2,39,4,);
B(B_VARIN,,iNumberOfRetries,20,3,22,5,);
B(B_VARIN,,diRetryInterval,20,4,22,6,);
L(1,0,1,6);
L(1,2,6,2);
L(8,2,14,2);
L(16,2,22,2);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if NOT (sys_bIsEthernetInitializing) AND (bEnable) then
FP_NTP_SET_RETRY_SETTINGS(nTimeout := iTimeout,
nNumberOfRetries := iNumberOfRetries,
nRetryInterval := diRetryInterval,
bError => bError);
end_if;