PING 전송 요청
이 FP 명령은 sPort에서 지정한 연결의 대상 IP 어드레스로 PING을 전송합니다. PING을 보내는 횟수는 n_Requests에서 지정됩니다. 아래의 프로젝트 네비게이터에서도 적절한 파라미터를 설정해야 합니다.
입력
CPU의 이더넷 포트(FP7 E 유형):
SYS_ETHERNET_USER_CONNECTION_1–SYS_ETHERNET_USER_CONNECTION_216
PING을 전송할 횟수
값: 1-10
출력
PING 결과를 DUT FP_ETHERNET_PING_DUT에 저장합니다.
이 명령은 ET-LAN 전용입니다.
PING 응답 1개에 대한 타임아웃 시간은 1초(고정)입니다.
전송/수신 데이터의 크기는 56바이트(고정)입니다.
대상 IP 어드레스를 지정하지 않으면 에러가 발생합니다.
명령 FP_IPV4_GET_CONNECTION FP_IPV6_GET_CONNECTION을 사용하여 PING을 위한 대상 IP 어드레스를 확인합니다.
PING을 전송하는 동안 이더넷이 초기화될 때 FP_ETHERNET_PING_DUT의 모든 요소가 0이 됩니다.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bEnable: BOOL:=FALSE;
iRequest: INT:=0;
dutEthernet: FP_ETHERNET_PING_DUT;
END_VAR
변수 bEnable이 TRUE로 설정되면 함수가 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 10 ;
NETWORK_BODY
B(B_F,FP_ETHERNET_PING!,,19,2,30,7,,?DEN?Ds_Port?Dn_Requests?AENO?Cd);
B(B_VARIN,,SYS_ETHERNET_USER_CONNECTION_10,17,4,19,6,);
B(B_VARIN,,iRequest,17,5,19,7,);
B(B_VAROUT,,dutEthernet,30,4,32,6,);
B(B_CONTACT,,bEnable,3,1,5,3,);
L(1,2,3,2);
L(5,2,5,4);
L(5,4,19,4);
L(1,0,1,10);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if(bEnable) then
FP_ETHERNET_PING(sPort := SYS_ETHERNET_USER_CONNECTION_10,
n_Requests := iRequest,
d => dutEthernet);
END_IF;