FP_GET_IO_START_OFFSET

I/O 어드레스의 오프셋 가져오기

이 FP 명령은 s_Slot에서 지정한 슬롯의 I/O 어드레스 시작 오프셋을 가져와 d에 결과를 저장합니다.

파라미터

입력

s_Slot (WORD, INT, UINT)

슬롯 번호: 0~64

출력

d(DWORD, DINT, UDINT, DATE, TOD, DT)

최초 유효 I/O 어드레스 오프셋

주석

FP_GET_UNIT_OFFSETS1을 사용하여 유닛의 모든 관련 메모리에 액세스할 수 있는 표준화된 방식으로 DIX, DIYDI2의 모든 오프셋을 가져오는 것이 좋습니다.

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)
  • 인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.
sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)
  • 인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.

POU 헤더

이 펑션 프로그램 시 사용한 모든 입력과 출력 변수는 POU 헤더에서 선언되었습니다. 모든 프로그래밍 언어에 같은 POU 헤더를 사용합니다.

	VAR
		bStart: BOOL:=FALSE;
		diOffset: DINT:=0;
	END_VAR

LD 본문

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

ST 본문

IF (bStart) then
    FP_GET_IO_START_OFFSET(s_Slot :=4, d => diOffset);
END_IF;

최종 수정일: 2019-08-01이 페이지에 대한 피드백Panasonic 직통 전화