순환 통신 중지 요청
이 FP 명령은 중지 요청이 수행되는 노드를 중지하고 결과를 출력 변수d_Result에 기록합니다. 노드 번호 테이블은 FP_ETHERNETIP_STATE_TABLE_DUT에서 지정합니다.
입력
중지 요청에 대한 노드 번호 테이블
최대 노드 수(1-256) 또는 정수를 저장하는 메모리 영역 어드레스입니다.
출력
데이터가 기록되는 대상
0: 지정된 노드 중지가 완료되었습니다.
1: 지정된 노드 중지 처리가 진행 중입니다.
2: 지정된 노드를 중지하지 못했습니다.
3: FP_ETHERNETIP_STOP가 여러 번 시작되었습니다.
판독 영역이 허용 범위를 벗어난 경우
명령을 인터럽트 프로그램에서 실행한 경우.
판독 영역이 허용 범위를 벗어난 경우
명령을 인터럽트 프로그램에서 실행한 경우.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bEnable: BOOL:=FALSE;
wResult: WORD:=0;
dutNodes_NodeTableStop: FP_ETHERNETIP_STATE_TABLE_DUT;
END_VAR
변수 sys_bIsEtherNetIPStartStopControllable와 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_VARIN,,dutNodes_NodeTableStop,14,5,16,7,);
B(B_VAROUT,,wResult,28,5,30,7,);
B(B_CONTACT,,bEnable,12,4,14,6,);
B(B_CONTACT,,sys_bIsEtherNetIPStartStopControllable,8,1,10,3,);
B(B_F,FP_ETHERNETIP_STOP!,,16,3,28,7,,?DEN?Dd_dutStateTable?AENO?Cd_Result);
L(1,2,8,2);
L(10,2,10,5);
L(10,5,12,5);
L(14,5,16,5);
L(1,0,1,8);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (sys_bIsEtherNetIPStartStopControllable) AND (bEnable) then
FP_ETHERNETIP_STOP(d_dutStateTable := dutNodes_NodeTableStart,
d_Result => wResult)
END_IF;