FB_CTD_DINT¶
Einleitung¶
Der Funktionsblock FB_CTD_DINT ist ein Abwärtszähler (Down Counter) für 32-Bit Ganzzahlen (DINT). Er wird verwendet, um einen Wert schrittweise zu verringern und bei Erreichen eines bestimmten Schwellwerts ein Signal auszugeben.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
REQ: Normaler Ausführungsanforderung (Trigger für den Zählvorgang)
Ereignis-Ausgänge¶
CNF: Ausführungsbestätigung (wird nach Abschluss des Zählvorgangs ausgelöst)
Daten-Eingänge¶
CD(BOOL): Zählbefehl nach unten (Count Down)LD(BOOL): Ladebefehl (Load)PV(DINT): Voreingestellter Wert (Preset Value)
Daten-Ausgänge¶
Q(BOOL): Ausgangssignal (wird TRUE, wenn CV ≤ 0)CV(DINT): Aktueller Zählwert (Count Value)
Funktionsweise¶
- Bei Aktivierung des
REQ-Ereignisses wird der Algorithmus ausgeführt: - Wenn
LDTRUE ist, wird der Zähler auf den Wert vonPVgesetzt - Wenn
CDTRUE ist und der aktuelle Wert (CV) größer als -2147483648 ist, wirdCVum 1 verringert - Das Ausgangssignal
Qwird auf TRUE gesetzt, wennCVkleiner oder gleich 0 ist - Nach Abschluss wird das
CNF-Ereignis ausgelöst
Technische Besonderheiten¶
- Verwendet 32-Bit Ganzzahlen (DINT) mit einem Wertebereich von -2147483648 bis 2147483647
- Der Zähler stoppt bei Erreichen des minimalen DINT-Werts (-2147483648)
- Der Block ist in der IEC 61131-3 Standardbibliothek unter
iec61131::countersenthalten
Zustandsübersicht¶
Der Funktionsblock hat keine expliziten Zustände, sondern arbeitet ereignisgesteuert:
1. Wartet auf REQ-Ereignis
2. Führt Zähloperation durch
3. Sendet CNF-Ereignis
Anwendungsszenarien¶
- Abwärtszählung in Produktionsprozessen
- Zeitsteuerungen mit Countdown-Funktion
- Überwachung von Restmengen oder verbleibenden Schritten
⚖️ Vergleich mit ähnlichen Bausteinen¶
- Im Gegensatz zu Aufwärtszählern (CTU) verringert dieser Block den Zählerwert
- Im Vergleich zu 16-Bit Zählern (INT) bietet dieser Block einen größeren Wertebereich
- Ähnlich wie Timer, aber für allgemeine Zählzwecke ohne Zeitbezug
Fazit¶
Der FB_CTD_DINT ist ein robuster und einfach zu verwendender Abwärtszähler für 32-Bit Werte. Seine klare Schnittstelle und deterministische Funktionsweise machen ihn ideal für Steuerungsaufgaben, bei denen eine zuverlässige Abwärtszählung benötigt wird.