데이터 반전 및 이동
이 FP 명령은 트리거 EN이 TRUE이면 s에서 지정한 데이터 또는 해당 정수를 논리적으로 반전하고 d에서 지정한 데이터 영역에 전송합니다.
입력
반전할 소스 데이터
출력
대상 영역
변수 s와 d의 데이터 형식은 같아야 합니다.
해당 F 명령: 2019-08-01F2_MVN 중복 명령, F3_DMVN 중복 명령
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bStart: BOOL:=FALSE;
(*activates the function*)
wInput_value: DWORD:=16#00001234;
(*this value will be
inverted*)
wOutput_value: DWORD:=0;
(*result after a 0->1 leading
edge from start:
16#FFFFEDCB*)
END_VAR
변수 bStart가 TRUE로 설정되면 펑션이 실행됩니다.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,FP_MOVE_INVERT!,,17,0,27,4,,?DEN?D@'s'?AENO?Cd);
B(B_CONTACT,,bStart,6,1,8,3,);
B(B_VARIN,,wInput_value,15,2,17,4,);
B(B_VAROUT,,wOutput_value,27,2,29,4,);
L(8,2,17,2);
L(1,2,6,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bStart) then
FP_MOVE_INVERT(s := wInput_value, d => wOutput_value);
END_IF;