FB_CTD_DINT

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.

FB_CTD_DINT

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

  1. Bei Aktivierung des REQ-Ereignisses wird der Algorithmus ausgeführt:

    • Wenn LD TRUE ist, wird der Zähler auf den Wert von PV gesetzt

    • Wenn CD TRUE ist und der aktuelle Wert (CV) größer als -2147483648 ist, wird CV um 1 verringert

  2. Das Ausgangssignal Q wird auf TRUE gesetzt, wenn CV kleiner oder gleich 0 ist

  3. 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::counters enthalten

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.