I/O 어드레스의 오프셋 가져오기
이 FP 명령은 s_Slot에서 지정한 슬롯의 I/O 어드레스 시작 오프셋을 가져와 d에 결과를 저장합니다.
입력
슬롯 번호: 0~64
출력
최초 유효 I/O 어드레스 오프셋
FP_GET_UNIT_OFFSETS1을 사용하여 유닛의 모든 관련 메모리에 액세스할 수 있는 표준화된 방식으로 DIX, DIY 및 DI2의 모든 오프셋을 가져오는 것이 좋습니다.
이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.
VAR
bStart: BOOL:=FALSE;
diOffset: DINT:=0;
END_VAR
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_GET_IO_START_OFFSET!,,8,1,22,5,,?DEN?Ds_Slot?AENO?Cd);
B(B_VARIN,,4,6,3,8,5,);
B(B_VAROUT,,diOffset,22,3,24,5,);
B(B_CONTACT,,bStart,3,2,5,4,);
L(1,3,3,3);
L(5,3,8,3);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF (bStart) then
FP_GET_IO_START_OFFSET(s_Slot :=4, d => diOffset);
END_IF;