CTU / CTUr
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