CTU / CTUr

PLCopen motion icon

 Function Block - Up counter.

Inputs

Input

Data Type

Range

Unit

Default

Description

CU

BOOL

 

 

 

Enable counting.

Counter is increased on each call when CU is TRUE.

PV

DINT

 

 

 

Programmed maximum value.

RESET

BOOL

 

 

 

Reset command.

Counter is reset to 0 when called with RESET to TRUE.

Outputs

Output

Data Type

Range

Unit

Description

CV

DINT

 

 

Current value of the counter.

Q

BOOL

 

 

TRUE when counter is full (i.e., when CV = PV).

Remarks

  • The counter is empty (CV = 0) when the application starts.
  • The counter does not include a pulse detection for CU input.
  • Use the f_trig or r_trig function blocks for counting pulses of CU input signal.
  • CTDr, CTUr, and CTUDr function blocks operate exactly as other counters.
    • Exception: All Boolean inputs (CU, CD, RESET, LOAD) have an implicit rising edge detection included.

FBD Language Example

FFLD Language Example

  • In the FFLD Language, CU is the input rung.
    • The output rung is the Q output.

IL Language Example

(* MyCounter is a declared instance of CTU function block. *)
Op1: CAL    MyCounter (CU, RESET, PV)
FFLD     MyCounter.Q
ST     Q
FFLD     MyCounter.CV
ST     CV

ST Language Example

(* MyCounter is a declared instance of CTU function block. *)
MyCounter (CU, RESET, PV);
Q := MyCounter.Q;
CV := MyCounter.CV;

See Also