Wird von der Standardbibliothek bereitgestellt.
Funktionsblock Dekrementierer:
Die Eingangsvariablen CD und LOAD sowie die Ausgangsvariable Q sind vom Typ BOOL, die Eingangsvariable PV und die Ausgangsvariable CV sind vom Typ WORD.
Wenn LOAD_ TRUE ist, wird die Zählervariable CV mit dem oberen Grenzwert PV initialisiert. Wenn CD eine steigende Flanke von FALSE nach TRUE hat, wird CV um 1 verringert, vorausgesetzt, CV ist größer als 0 (d. h. der Wert fällt nicht unter 0).
Q gibt TRUE zurück, wenn CV gleich 0 ist.
Beispiel für eine Erklärung
CTDInst : CTD ;
Beispiel im Funktionsblockdiagramm

Beispiel in strukturiertem Text
CTDInst(CD:= VarBOOL1, LOAD:=VarBOOL2 , PV:= VarINT1);
VarBOOL3 := CTDInst.Q ;
VarINT2 := CTDInst.CV;