Zum Inhalt

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:
  2. Wenn LD TRUE ist, wird der Zähler auf den Wert von PV gesetzt
  3. Wenn CD TRUE ist und der aktuelle Wert (CV) größer als -2147483648 ist, wird CV um 1 verringert
  4. Das Ausgangssignal Q wird auf TRUE gesetzt, wenn CV kleiner oder gleich 0 ist
  5. 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.