FP_DIRECT_INPUT

직접 입력 리프레쉬

이 FP 명령은 IO 리프레쉬와 개별적으로 SlotOffset에서 지정한 직접 입력 메모리의 현재 값을 읽습니다.

파라미터

입력

Slot (WORD, INT, UINT)

슬롯 번호

Offset (WORD, INT, UINT)

오프셋

출력

Value (BOOL, WORD, DWORD)

직접 입력 값

에러 플래그

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

POU 헤더

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

	VAR
		bTestBool: BOOL:=FALSE;
		bTestWord: BOOL:=FALSE;
		bTestDWord: BOOL:=FALSE;
		iOffset27: INT:=27;
		iSlot1: INT:=1;
		iIndex3: INT:=3;
		arrValuesBool: ARRAY [0..15] of BOOL:=[3(FALSE),TRUE,12(FALSE)];
	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 := 6 ;
        NETWORK_BODY
B(B_VARIN,,iSlot1,23,2,25,4,);
B(B_VARIN,,iOffset27,23,3,25,5,);
B(B_CONTACT,,bTestBool,5,1,7,3,);
B(B_CONTACT,,bTestWord,11,1,13,3,N);
B(B_CONTACT,,bTestDWord,17,1,19,3,N);
B(B_F,E_FP_DIRECT_INPUT!,,25,0,35,5,,?DEN?DSlot?DOffset?AENO?CValue);
B(B_VAROUT,,arrValuesBool[iIndex3],35,2,37,4,);
L(1,2,5,2);
L(7,2,11,2);
L(13,2,17,2);
L(19,2,25,2);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF (bTestBool AND NOT bTestWord AND NOT bTestDWord) then
    arrValuesBool[iIndex3]:=FP_DIRECT_INPUT(iSlot1, iOffset27);
END_IF;

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