CTD / CTDrPLCopen motion icon

FunctionClosed A function calculates a result according to the current value of its inputs. A function has no internal data and is not linked to declared instances. Block - Down counter.

Inputs

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

Q : BOOL      TRUE when counter is empty, i.e. when CV = 0
CV : DINT     Current value of the counter

Remarks

The counter is empty (CV = 0) when the application starts. The counter does not include a pulse detection for CD input. Use R_TRIG or F_TRIG function block for counting pulses of CD input signal. In FFLD language, CD is the input rung. The output rung is the Q output.

CTUr, CTDr, CTUDr function blocks operate exactly as other counters, except that all Boolean inputs (CU, CD, RESET, LOAD) have an implicit rising edgeClosed A rising edge is the transition of a digital signal from low to high. It is also called positive edge detection included.

ST Language

(* MyCounter is a declared instance of CTD function block *)
MyCounter (CD, LOAD, PV);
Q := MyCounter.Q;
CV := MyCounter.CV;

FBD Language

CtdFbd.gif (1361 octets)

FFLD Language

CtdLd.gif (1478 octets)

IL Language:

(* 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

See also

CTU   CTUD