FP_NTP_SET_SERVER

NTP 서버 연결 설정

이 FP 명령은 시간 동기화 요청을 보낼 수 있는 대상 NTP 서버를 설정합니다.

입력

sNTPServer (STRING)

IP 어드레스 혹은 호스트명(필수 파라미터).

  • IP 어드레스

    IP 어드레스의 경우, 처음에 IPv4 또는 IPv6 키워드를 지정합니다.

    IPv4 구문: 예, 'IPv4=111.122.133.144'

    IPv6 구문: 예, 'IPv6=1111:122:2:1555:0:0:1888'

  • 호스트 명

    키워드: HOST

    구문: 예: 'HOST=ntp.pidsx.com'

출력

bError (BOOL)

실행 없이 연산이 비정상적으로 종료되는 경우(예: sys_bIsEthernetInitializingTRUE인 경우)에 TRUE로 설정합니다.

에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.

주석

  • 인터럽트 프로그램에서는 이 명령을 사용할 수 없습니다.

  • NTP 서버 어드레스는 sNTPServer에 따라 CPU 유닛(내장 ET-LAN)에서 설정됩니다.

  • 시스템 레지스터([이더넷] > [시간 동기화])에 이미 설정된 데이터가 유효하지 않으며, NTP 시간 동기화 요청이 이 명령에 의해 지정된 시간에 실행됩니다.

  • 다음과 같은 경우 PLC가 시스템 레지스터에서 설정으로 돌아갑니다.

    • 전원이 꺼져 있습니다.

    • [PROG 모드]에서 [RUN 모드]로 전환합니다.

    • 다른 프로젝트로 전환합니다.

  • FP_IPV4_SET_ADDRESS 명령을 실행해도 설정 데이터가 손실되지 않습니다.

  • 명령을 실행하기 전에 sys_bIsEthernetInitializingFALSE인지 확인하십시오. 명령이 실행되면 sys_bIsEthernetInitializingTRUE로 전환됩니다. sys_bIsEthernetInitializingTRUE일 때 명령을 실행하면 에러가 발생합니다.

  • 이 명령이 성공적으로 실행되면 시스템 변수 sys_bIsCarrysys_iEthernetConnectionErrorCode가 초기화됩니다.

  • 명령이 성공적으로 실행되지 않은 경우 FP_NTP_SYNCHRONIZE 명령의 출력 nResult에서 실행 결과 코드를 확인하십시오.

  • 에러가 발생하면 시스템 변수 sys_iEthernetConnectionErrorCode에서 에러 코드 번호를 확인하십시오.

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • 파라미터에 지정된 값이 허용 범위를 벗어난 경우.

  • 명령을 인터럽트 프로그램에서 실행한 경우.

  • 시스템이 NTP 서버와 시간을 동기화하는 경우.

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • 파라미터에 지정된 값이 허용 범위를 벗어난 경우.

  • 명령을 인터럽트 프로그램에서 실행한 경우.

  • 시스템이 NTP 서버와 시간을 동기화하는 경우.

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

이더넷 초기화 중에 명령이 실행되면 sys_iEthernetConnectionErrorCode가 "11: 이더넷이 초기화 중입니다"

POU 헤더

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

	VAR
		sNTPServer: STRING[32]:='IPv4=192.168.2.1';
		bIsError: BOOL:=FALSE;
		bEnable: BOOL:=FALSE;
			END_VAR

LD 본문

시스템 변수 sys_bIsEthernetInitializingFALSE이고 변수 bEnableTRUE로 설정되면 펑션이 실행됩니다.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        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_SERVER!,,22,0,33,4,,?DEN?DsNTPServer?AENO?AbError);
B(B_VARIN,,sNTPServer,20,2,22,4,);
B(B_VAROUT,,bIsError,33,2,35,4,);
L(1,0,1,5);
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

ST 본문

if NOT (sys_bIsEthernetInitializing) AND (bEnable) then
    FP_NTP_SET_SERVER(sNTPServer := sNTPServer,
    bError => bIsError);
end_if;

최종 수정일: 2024-03-07이 페이지에 대한 피드백Panasonic 직통 전화