FB_CTUD_DINT

FB_CTUD_DINT

Einleitung

Der FB_CTUD_DINT ist ein Funktionsblock, der als Aufwärts-/Abwärtszähler (Up Down Counter) mit DINT-Zählwert fungiert. Er ermÜglicht das Zählen in beide Richtungen sowie das Zurßcksetzen und Laden eines vordefinierten Wertes. Der Zähler ist besonders fßr Steuerungsanwendungen geeignet, bei denen eine flexible Zählfunktion benÜtigt wird.

FB_CTUD_DINT

Schnittstellenstruktur

Ereignis-Eingänge

  • REQ: Normaler AusfĂźhrungsanforderung (triggert die Zähloperation)

Ereignis-Ausgänge

  • CNF: AusfĂźhrungsbestätigung (wird nach Abschluss der Zähloperation ausgelĂśst)

Daten-Eingänge

  • CU (BOOL): Zählt hoch (Count up)

  • CD (BOOL): Zählt runter (Count down)

  • R (BOOL): Setzt den Zähler zurĂźck (Reset)

  • LD (BOOL): Lädt den Preset-Wert (Load)

  • PV (DINT): Preset-Wert (Preset value)

Daten-Ausgänge

  • QU (BOOL): Signalisiert, ob der Zählwert den Preset-Wert erreicht oder Ăźberschritten hat (Output up)

  • QD (BOOL): Signalisiert, ob der Zählwert 0 erreicht oder unterschritten hat (Output down)

  • CV (DINT): Aktueller Zählwert (Count value)

Adapter

Keine Adapter vorhanden.

Funktionsweise

Der Funktionsblock fĂźhrt folgende Operationen aus, wenn das REQ-Ereignis eintritt:

  1. Reset (R): Setzt den Zählwert (CV) auf 0, wenn R aktiv ist.

  2. Load (LD): Lädt den Preset-Wert (PV) in den Zählwert (CV), wenn LD aktiv ist.

  3. Zählen (CU/CD):

    • Wenn CU aktiv ist und der Zählwert nicht den Maximalwert (2147483647) erreicht hat, wird der Zählwert um 1 erhĂśht.

    • Wenn CD aktiv ist und der Zählwert nicht den Minimalwert (-2147483648) erreicht hat, wird der Zählwert um 1 verringert.

  4. Ausgänge setzen:

    • QU wird auf TRUE gesetzt, wenn der Zählwert den Preset-Wert erreicht oder Ăźberschreitet.

    • QD wird auf TRUE gesetzt, wenn der Zählwert 0 erreicht oder unterschreitet.

Technische Besonderheiten

  • Der Zählwert (CV) ist vom Typ DINT (32-Bit Ganzzahl mit Vorzeichen), was einen großen Zählbereich ermĂśglicht.

  • Der Funktionsblock verhindert ein Überlaufen des Zählwerts durch PrĂźfung der Grenzwerte.

  • Gleichzeitiges Aktivieren von CU und CD fĂźhrt zu keiner Änderung des Zählwerts.

Zustandsßbersicht

Der Funktionsblock hat keinen internen Zustand im Sinne eines Zustandsautomaten. Die Logik wird bei jedem REQ-Ereignis neu ausgefĂźhrt.

Anwendungsszenarien

  • Produktionszählung (z.B. StĂźckzählung auf einem Fließband)

  • Positionserfassung (z.B. in linearen Achsen)

  • Ereigniszählung mit MĂśglichkeit zur Richtungsumkehr

⚖️ Vergleich mit ähnlichen Bausteinen

  • Im Vergleich zu einfachen Zählern (z.B. CTU oder CTD) bietet dieser Baustein beide Zählrichtungen in einem Block.

  • GegenĂźber Zählern mit kleinerem Datentyp (z.B. INT) bietet der DINT-Typ einen größeren Zählbereich.

Fazit

Der FB_CTUD_DINT ist ein vielseitiger Zählbaustein für Anwendungen, die bidirektionale Zählfunktionen mit großem Zählbereich erfordern. Durch die integrierten Reset- und Load-Funktionen sowie die Statusausgänge QU und QD eignet er sich besonders für komplexe Steuerungsaufgaben.