FB_CTU_UDINT¶
Einleitung¶
Der Funktionsblock FB_CTU_UDINT ist ein Aufwärtszähler (Counter Up) für den Datentyp UDINT (unsigned double integer). Er zählt bei jedem Ereignis REQ hoch, solange der Eingang CU aktiv ist, und kann über den Eingang R zurückgesetzt werden. Der Zähler vergleicht den aktuellen Zählerstand mit einem vorgegebenen Sollwert (PV) und gibt über den Ausgang Q ein Signal aus, wenn dieser erreicht oder überschritten wird.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
- REQ: Startet die Ausführung des Funktionsblocks. Wird mit den Daten-Eingängen
CUundRverknüpft.
Ereignis-Ausgänge¶
- CNF: Bestätigt die Ausführung des Funktionsblocks. Wird mit den Daten-Ausgängen
QundCVverknüpft.
Daten-Eingänge¶
- CU (
BOOL): Signal zum Hochzählen. BeiTRUEwird der Zählerstand erhöht. - R (
BOOL): Signal zum Zurücksetzen des Zählers. BeiTRUEwird der Zählerstand auf0gesetzt. - PV (
UDINT): Sollwert (Preset Value), mit dem der aktuelle Zählerstand verglichen wird.
Daten-Ausgänge¶
- Q (
BOOL): Signal, dasTRUEwird, wenn der Zählerstand (CV) den Sollwert (PV) erreicht oder überschreitet. - CV (
UDINT): Aktueller Zählerstand (Count Value).
Funktionsweise¶
Der Funktionsblock führt bei jedem REQ-Ereignis folgende Schritte aus:
1. Wenn R aktiv ist (TRUE), wird der Zählerstand (CV) auf 0 zurückgesetzt.
2. Wenn CU aktiv ist (TRUE) und der Zählerstand (CV) kleiner als der Maximalwert (4294967295) ist, wird der Zählerstand um 1 erhöht.
3. Der Ausgang Q wird auf TRUE gesetzt, wenn der Zählerstand (CV) den Sollwert (PV) erreicht oder überschreitet.
Technische Besonderheiten¶
- Der Zählerstand (
CV) ist vom TypUDINTund kann Werte zwischen0und4294967295annehmen. - Der Funktionsblock ist deterministisch und führt die Zähloperation bei jedem
REQ-Ereignis aus.
Zustandsübersicht¶
Der Funktionsblock hat keine internen Zustände außer dem aktuellen Zählerstand (CV). Die Logik wird bei jedem REQ-Ereignis neu ausgewertet.
Anwendungsszenarien¶
- Zählen von Ereignissen in Steuerungsanwendungen (z. B. Produktionszähler).
- Überwachung von Prozessen, bei denen eine bestimmte Anzahl von Schritten erreicht werden muss.
- Als Teil einer größeren Steuerungslogik, die auf Zählerstände reagiert.
⚖️ Vergleich mit ähnlichen Bausteinen¶
- Im Vergleich zu anderen Zählern (z. B.
FB_CTU_INT) arbeitet dieser Funktionsblock mit dem DatentypUDINT, was einen größeren Wertebereich ermöglicht. - Ähnliche Funktionsblöcke könnten zusätzliche Funktionen wie Abwärtszählen oder eine kombinierte Auf-/Abwärtszählung bieten.
Fazit¶
Der FB_CTU_UDINT ist ein einfacher und effizienter Aufwärtszähler für Anwendungen, die einen großen Wertebereich benötigen. Seine klare Schnittstelle und deterministische Funktionsweise machen ihn zu einem zuverlässigen Baustein in Steuerungsanwendungen.