CTD / CTDr

PLCopen motion icon

 Function Block - Down counter.

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