FP_ROL_CARRY

데이터를 캐리 플래그를 포함하여 왼쪽으로 회전

이 FP 명령은 트리거 ENTRUE이면 d에서 지정한 데이터 비트를 캐리 플래그를 포함하여 n_Bits에서 지정한 비트 수만큼 왼쪽(상위 비트 위치)으로 회전합니다.

파라미터

입력

n_Bits (WORD, INT, UINT)

비트 수

값: 0–255

입력/출력

d (WORD, DWORD)

회전할 데이터

에러 플래그

sys_bIsOperationErrorHold(TRUE로 전환되어 TRUE로 유지됨)

인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.

sys_bIsOperationErrorNonHold(스캔 1회에 대해 TRUE로 전환)

인덱스 한정자를 사용하여 지정한 영역이 제한을 초과하는 경우.

sys_bIsCarry(스캔 1회에 대해 TRUE로 전환)
  • d= 16비트 데이터이고 n_Bits0 또는 17의 배수라면, 회전이 일어나지 않으며 캐리 플래그는 변경되지 않고 그대로 유지됩니다.

  • d= 32비트 데이터이고 n_Bits0 또는 33의 배수라면, 회전이 일어나지 않으며 캐리 플래그는 변경되지 않고 그대로 유지됩니다.

POU 헤더

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

	VAR
		bStart: BOOL:=FALSE;
			(*activates the function*)
		wRotate_value: WORD:=16#1234;
	END_VAR

LD 본문

변수 bStartTRUE로 설정되면 펑션이 실행됩니다.

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_F,FP_ROL_CARRY!,,11,1,20,6,,?DEN?Dn_Bits?Dd?Ad?AENO);
B(B_CONTACT,,bStart,3,2,5,4,);
B(B_VARIN,,4,9,3,11,5,);
B(B_VARIN,,wRotate_value,9,4,11,6,);
L(1,3,3,3);
L(5,3,11,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

IF DF(start) then
    FP_ROL_CARRY(n_Bits := 4, d := wRotate_value);
END_IF;

최종 수정일: 2022-09-19이 페이지에 대한 피드백Panasonic 직통 전화