CTD / CTDr
Inputs
Input |
Data Type |
Range |
Unit |
Default |
Description |
---|---|---|---|---|---|
CD |
BOOL |
|
|
|
Enable counting. Counter is decreased on each call when CD is TRUE. |
LOAD |
BOOL |
|
|
|
Re-load command. Counter is set to PV when called with LOAD to TRUE. |
PV |
DINT |
|
|
|
Programmed maximum value. |
Outputs
Output |
Data Type |
Range |
Unit |
Description |
---|---|---|---|---|
CV |
DINT |
|
|
Current value of the counter. |
Q |
BOOL |
|
|
TRUE when counter is empty (i.e., when CV = 0). |
Remarks
- The counter is empty (CV = 0) when the application starts.
- The counter does not include a pulse detection for CD input.
- Use the f_trig or r_trig function blocks for counting pulses of CD 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
- The CD is the input rung.
- The output rung is the Q output.
IL Language Example
(* MyCounter is a declared instance of CTD function block. *)
Op1: CAL MyCounter (CD, LOAD, PV)
FFLD MyCounter.Q
ST Q
FFLD MyCounter.CV
ST CV
ST Language Example
(* MyCounter is a declared instance of CTD function block. *)
MyCounter (CD, LOAD, PV);
Q := MyCounter.Q;
CV := MyCounter.CV;
See Also