노드 상태 읽기
이 FP 명령은 s_NodeNumber에서 지정한 노드의 상태를 읽고 FP_ETHERNETIP_NODE_STATUS_DUT 형식의 출력 변수에 값을 저장합니다.
입력
노드 번호
출력
데이터가 기록되는 대상
판독 영역이 허용 범위를 벗어난 경우
명령을 인터럽트 프로그램에서 실행한 경우.
판독 영역이 허용 범위를 벗어난 경우
명령을 인터럽트 프로그램에서 실행한 경우.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bEnable: BOOL:=FALSE;
iNodeNumber: INT:=0;
dutNodeStatus: FP_ETHERNETIP_NODE_STATUS_DUT;
END_VAR
변수 sys_bIsEtherNetIPReady와 bEnable이 TRUE로 설정되면 기능이 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 8 ;
NETWORK_BODY
B(B_CONTACT,,bEnable,12,1,14,3,);
B(B_VARIN,,iNodeNumber,12,4,14,6,);
B(B_VAROUT,,dutNodeStatus,30,4,32,6,);
B(B_CONTACT,,sys_bIsEtherNetIPReady,5,1,7,3,);
B(B_F,FP_ETHERNETIP_GET_STATUS!,,14,2,30,6,,?DEN?Ds_NodeNumber?AENO?Cd1_dutNodeStatus);
L(1,2,5,2);
L(7,2,12,2);
L(14,2,14,4);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (sys_bIsEtherNetIPReady) AND (bEnable) then
FP_ETHERNETIP_GET_STATUS(s_NodeNumber := iNodeNumber, d1_dutNodeStatus => dutNodeStatus);
END_IF;