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.

Zählerfunktionen in FUP

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.

Zählerbausteine ohne Parametrierung

Die Bedeutung der Bausteine:

  • SZ: Zähleranfangswert setzen
  • ZV: Vorwärtszählen
  • ZR: Rückwärtszählen