CTU

업 카운터

펑션블록 CTU(업 카운트)는 카운팅 절차의 프로그래밍을 지원합니다.

최대 값 32767에 도달할 때까지 카운트 업은 0에서 시작합니다. 카운트 업 CU에서 각 상승 엣지는 현재 값 CV에서 값을 1만큼 증가시킵니다.

파라미터

입력

CU (BOOL)

카운트 업

CU에서 각 상승 엣지에 대해 값 1이 CV에 추가됩니다. 단, R가 설정된 경우는 제외합니다.

R (BOOL)

리셋(R)

R에서 상승 엣지는 현재 값 CV를 0과 카운팅 스탑으로 리셋합니다. 출력 QFALSE로 설정됩니다.

R의 다음 하강 엣지가 카운팅을 다시 시작합니다.

PV (INT)

프리셋값

CVPV와 같거나 그보다 크면, QTRUE로 설정됩니다.

프리셋 값이 없거나 프리셋 값이 0인 경우, 카운팅이 시작한 직후 출력 QTRUE로 설정됩니다.

출력

Q (BOOL)

신호 출력

CVPV와 같거나 이보다 큰 경우 TRUE로 설정됩니다.

상승 엣지가 R에서 감지된 경우 FALSE로 설정됩니다.

CV (INT)

현재 값

  • 추가 결과 포함

  • CV가 프리셋 값 PV에 도달하면, 출력 QTRUE로 설정되지만, 최대 한도 32767에 도달할 때까지 카운팅이 계속됩니다.

  • 계산 연산 중에 프로그래밍 에디터에서 변수를 쓰면 값이 변경될 수 있습니다.

시간 차트

POU 헤더

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

	VAR
		CTU1: CTU;
		bReset: BOOL:=FALSE;
			(*sets CV to zero if TRUE*)
		iPresetValue: INT:=3;
			(*if CV reaches this value,
output Q is set*)
		bUpCounting_PV_reached: BOOL:=FALSE;
			(*is set, if CV reaches PV*)
		iCurrentValue: INT:=0;
			(*contains the current value*)
	END_VAR

POU 본문

bReset이 설정된 경우(상태 = TRUE), iCurrentValue(CV)가 리셋됩니다. CU에서 상승 엣지가 감지되면 값 1이 iCurrentValue에 추가됩니다. CU에서 상승 엣지가 감지되면, iCurrentValueiPresetValue와 같거나 이보다 커질 때까지 이 절차가 반복됩니다. 그러면 bUpCounting_PV_reachedTRUE로 설정됩니다.

LD 본문

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,sys_bPulse1s,5,2,7,4,);
B(B_FB,CTU!,CTU1,12,1,17,6,,?BCU?BR?BPV?AQ?ACV);
B(B_COIL,,bUpCounting_PV_reached,23,2,25,4,);
B(B_CONTACT,,bReset,5,4,7,6,);
B(B_VAROUT,,iCurrentValue,18,4,20,6,);
B(B_VARIN,,iPresetValue,7,6,9,8,);
L(1,0,1,8);
L(1,3,5,3);
L(7,3,12,3);
L(17,3,23,3);
L(9,4,12,4);
L(9,4,9,5);
L(17,4,17,5);
L(1,5,5,5);
L(7,5,9,5);
L(10,5,12,5);
L(17,5,18,5);
L(10,5,10,7);
L(9,7,10,7);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST 본문

CTU1(CU := sys_bPulse1s, R := bReset, PV := iPresetValue,
     Q => bUpCounting_PV_reached, 
	 CV => iCurrentValue);

IL 본문

최종 수정일: 2020-02-21이 페이지에 대한 피드백Panasonic 직통 전화