Zählerfunktionen in Funktionsplan FUP
In SPS-Programmen werden an verschiedenen Stellen Zählern eingesetzt. So kann man verschiedene Produktionsschritte an den aktuellen Zählerstand verknüpfen. In der CPU ist ein eigener Speicherbereich für die Zähler reserviert. Wieviele Zähler eingesetzt werden können, hängt somit von der eingesetzten CPU ab. Die maximale Zahl der einsetzbaren Zähler müssen aus den Referenzhandbüchern der Geräte entnommen werden.
In Step7 hat man grundsätzlich 2 Möglichkeiten, Zähler in SPS-Programmen zu benutzen. Einerseits kann man die Zähler CTU (Count-UP), CTD (Count-Down) und CTUD (Count-Up-Down) benutzen, die in der Programmiernorm 61131-3 als Standardzähler definiert wurden. Möchte man diese Zähler verwenden, muss man folgende Systemfunktionsbausteine einsetzen:
- SFB0: Für CTU
- SFB1: Für CTD
- SFB2: Für CTUD
Neben diesen 3 Systemfunktionsbausteinen werden in Step7 drei weitere Zähler zur Verfügung gestellt. Diese sind etwas einfacher im Handling. Es handelt sich dabei um folgende Zähler:
- Z_VORW: Vorwärtszähler
- Z_RUECK: Rückwärtszähler
- ZAEHLER: Vorwärts- und Rückwärtszähler
Der Vorwärtszähler kann nur vorwärts und der Rückwärtszähler nur rückwärts zählen. Der Zählerbaustein mit dem Namen ZAEHLER hat zwei Eingänge und kann somit in beide Richtungen zählen.
Die Ein- und Ausgänge der Zähler
Die Bedeutung der Ein- und Ausgänge wird ausführlich unter Zähler programmieren erläutert. Daher an dieser Stelle in Kurzform:
- Zx: Operand des Zählers, z.B. Z3, Z10 usw.
- ZV: Vorwärtszählen.
- ZR: Rückwärtszählen.
- S: Zähler setzen auf Zählwert (ZW).
- ZW: Zählwert.
- R: Rücksetzen.
- DUAL Zählerstand dualcodiert.
- DEZ: Zählerstand dezimalcodiert.
- Q: Zählerausgang.
Ausgang Q
Bei Zählerstand über 0 ist der Ausgang 1.
DUAL- und DEZ-Ausgang
Zählerstand wird über diese Ausgänge ausgelesen.
Setzeingang für Zähler
Zähler kann auf den Wert des Zählwerts gesetzt werden (ZW-Eingang).
Zählwert eingeben
Der Zählwert kann unterschiedlich eigegeben werden. Beispiele:
- C#222, Eingabe als Konstante
- W#16#222, Eingabe BCD-codiert
Auch mit dem Ladebefehl L kann ein Zählwert in den Akku 1 geladen werden, z.B. L C#222 oder L W#16#222. Ladebefehl ist auch benutzbar in Verbindung mit Eingangs-, Ausgangs-, Merker-, Lokaldaten- oder Datenwörtern.
Es kann nur ein Zählwert bis maximal 999 eingegeben werden, weil der Zählwert als BCD-Code eingegeben wird und hier nur 3 Tetraden zur Verfügung stehen.
Zähler rücksetzen
Mit Zähler rücksetzen wird der Zählerstand und Ausgang auf 0 rückgesetzt.
Vorwärts- und Rückwärtszählen
Über diese Eingänge werden die Impulse für das Vorwärts- und Rückwärtszählen übergeben.
Zählerbausteine ohne Parametrierung
Neben den drei Zählerbausteinen gibt es vereinfachte Bausteine für Zählfunktionen.
Die Bedeutung der Bausteine:
- SZ: Zähleranfangswert setzen
- ZV: Vorwärtszählen
- ZR: Rückwärtszählen