
Аргументы:
CD BOO вход для счета (считать вниз когда CD равно TRUE)
(счет вниз если CD равно TRUE)
LOAD BOO команда загрузить (доминанта)
(CV = PV если LOAD равно TRUE)
PV INT планируемое максимальное значение
Q BOO переполнение: TRUE если CV = 0
CV INT результат счета
Предупреждение:
Блок CTD не определяет передний и задний фронты входа (CD). Для того чтобы создать импульсный счетчик, его нужно связать с блоками “R_TRIG” или “F_TRIG”.
Описание:
Считает от заданного значения вниз до 0 по 1.
(*FBD пример блоков CTD*)

(* ST Эквивалент: Мы предполагаем, что R_TRIG1 - это экземпляр блока R_TRIG и CTD1 - это экземпляр блока CTD *)
CTD1(F_TRIG1(command),load_cmd,100);
underflow := CTD1.Q;
result := CTD1.CV;
(* IL Эквивалент: *)
LD command
ST F_TRIG1.clk
CAL F_TRIG1
LD F_TRIG1.Q
ST CTD1.cd
LD load_cmd
ST CTD1.load
LD 100
ST CTD1.pv
CAL CTD1
LD CTD1.Q
ST underflow
LD CTD1.cv
ST result