Die Zähler in der SIMATIC S7-300/400
In der SIMATIC S7 der 300/400 Serie sind verschieden Zähler Darstellungen vorhanden.
Allgemeines zum Zähler
Die Zählerfunktionen sind alle recht ähnlich, da nur der aktuelle Zählerwert um 1 erhöht oder vermindert wird. So werden unterschiedliche Darstellungen verwendet, für die entsprechenden Anwendungen. Die Zähler der SPS-Serie SIMATIC S7 der 300/400 CPUs haben einen Wertebereich von 0 bis 999, die durch entsprechende positive Flanken an den Eingängen verändert werden. Die Zähler nach IEC haben einen Zählerbereich von -32.768 bis 32667. Die IEC-Zähler wurden die in Siemens SPS-Steuerungen als SFBs umgesetzt. In einigen Programmen oder Hardwarebaugruppen sind Zähler vorhanden, die den Zählerbereich -2.147.473.678 bis 2.147.473.677 und höher umfassen.
Darstellung des Zählers in FBS
Es folgt ein kleines Programm mit einem Zähler, der kompl. Beschaltet ist.

Weitere Informationen zum Zähler
Dieser S7-Zähler wurde aus der SIMTIC S5 übernommen, mit einer leicht veränderten Darstellung. Der Zähler besitzt fünf Bit-Beschaltungsmöglichkeiten, den Vorwärtszähler ‚ZV', den Rückwärtszähler ‚ZR', den Setzeingang ‚S', den Rücksetzeingang ‚R', sowie den Ausgang ‚Q'. In den Programmiersprachen FBS & KOP, können an den Bit Ein-/Ausgänge weitere Beschaltungen mit Bit-Verknüpfungen durchgeführt werden.
Durch eine positive Flanke (Signalwechsel von 0 nach 1) an den Eingängen ZV, ZR oder S wird der Zählerwert geändert. Beim ZV wird der Zählerwert um 1 erhöht, und beim ZR-Eingang wird der Zählerwert um eins vermindert. Beim erreichen der Zählergrenze (Zählerbreich 0 bis 999), bleibt der Zählerwert auf dem Min-/Maximum stehen. Beim ansteuern vom Setzeingang, wird der Zählerwert vom Eingang ‚ZW' übernommen (‚ZW' wird weiter unten beschrieben). Wichtig dabei ist, dass nur die positiven Flanken an den Eingängen ZV, ZR & S ausgewertet werden.
Der Ausgang ‚Q' wird auf True-Signal gesetzt, sobald der Zähler ungleich Null ist. Dies könnte mit ein Grund dafür sein, dass häufig Rückwärtszähler verwendet werden, oder Vergleichoperation zur Anwendung kommen.
Der Rücksetzeingang ‚R' setzt bei einen True-Signal den Zählerwert auf Null, wodurch entsprechend die Ausgabewerte/-signal angesteuert werden. Solange der Rücksetzeingang am Zähler mit True-Signal angesteuert wird, kann der aktuelle Zählerwert Null nicht durch die Eingänge von ZV, ZR oder S geändert werden. Erst wenn der Rücksetzeingang wieder auf False ist, wird es möglich sein, durch eine positive Flanke an den ZV, ZR & S Eingang, den Zählerwert zu ändern.
Die Ausgänge ‚DUAL' & ‚DEZ' geben den aktuellen Zählerwert aus. Die beiden Ausgänge sollten bevorzugt mit Wörtern beschaltet werden. Das Kürzel ‚DUAL' seht für die Duale (Binäre) Darstellung, während ‚DEZ' für eine Dezimales Format steht. Diese beiden Formate sind weiter unten beschrieben. Der Programmierer kann sich für eine weitere Auswertung, das entsprechen Format aussuchen, und dies z.B. mit Vergleichsoperationen weiter verarbeiten.
Anmerkungen zum programmieren von Zähler
Häufig werden Signale verwendet, dessen Signaldauer mindesten 500ms anstehen. Bei heutigen SPS-Zykluszeiten von 1 bis 65ms sind keine Schwierigkeiten zu erwarten. Sollten Signale benutzt werden, dessen Signaldauer nur 250ms und weniger lang sind, empfiehlt es sich die Zeiten genauere zu betrachten. Dabei muss die max. SPS-Zykluszeit ermittelt werden, die durch entsprechende Kommunikation sich erhöhen kann, oder das durch Programm (Schleifen & Sprünge) unterschiedliche Zykluszeiten entstehen.
Wenn z.B. für die Ermittelung des Wasserverbrauchs eine Wasseruhr mit einem Impulsgeber installiert wird, der pro 100 Liter Wasser, ein Impuls ausgibt, der für ca. 10 Liter auf True ist. Es wird eine maximaler Wasserverbrauch von 225 m³/h angenommen. Dabei kann alle 1,6 Sekunden ein Impuls erzeugt werden, der 160ms lang ist. Diese Zeitdauer scheint auf den ersten Blick ausreichend zu sein. Was ist wenn die ersten 110m³ innerhalb von 10 Minuten abgeführt werden? Für die verschiedenen Aufgabe sind entsprechende Toleranz und Verhalten zu berücksichtigen.
Darstellung des Zählers in den verschieden Programmiersprachen
Es folgen verschiedene Darstellungen vom Zähler, in den Verschiedenen Programmiersprachen.
FBS

KOP

AWL

Aus der AWL-Darstellung kann die Funktionsweise vom Zähler entnommen werden. Die unteren Anweisung sind wichtiger, wie die Anweisung ‚R Z1', die zwischen Zähler Veränderung & Zählerwertausgabe platziert ist.
Es folgt ein Beispielprogramm, in dem der Zähler Z2 aufgeteilt wurde.

Beim austesten von diesen Programmbeispiel, werden Sie feststellen, das die beiden aufgeteilten Zähler wie ein Gemeinsamer Zähler arbeitet. Dabei wird der M0.1 als VKE-1 (dauernd auf True) eingesetzt.
Der Zähler in seine Grundbestandteile einzeln dargestellt.

Die STEP-7 Software von der Firma Siemens stellt die einzelnen Zählerfunktionen auch einzeln zu Verfügung. Das obige Beispiel zeigt einen nachprogrammierten Zähler mit den einzelnen Programmelementen. Die MOVE-Anweisung überträgt den aktuellen Zählerwert in das Merkerwort MW222 in DUAL-Form. Aus diesen einzelnen Anweisungen ist möglich, den Zählvorgang an mehreren stellen vom Programm durchzuführen, das manchmal Vorteile hat. Der Merker M0.1 wird als VKE-1 (dauernd auf True) eingesetzt.
Aufschlüsselung des ‚KZ' Zeitformats
Die folgen Darstellungen zeigen, wie der Zählerwert als festen Wert oder als Variable (z.B. MW100) übergeben werden kann.
Erklärung zur ‚Konstante des Zählers'

Aufbau des Zählerwertes in ein Merker Wort.

Aufschlüsselung des ‚DU' Zeitformats
In dem obigen Beispiel wurde das MW102 verwendet, in dem der aktuelle Zähler in Dual (Binären) Zahlenformat abgelegt wird. In den Programm oder in Variabeln Tabellen, kann der aktuelle Zählerwert direkt als Dezimalwert angezeigt werden.
Aufschlüsselung des ‚DE' Zeitformats
Es folge eine Tabelle zur Erläuterung des Zählerformates ‚DE'.

- Die Zähler nach der IEC-Norm
- SPS-Programmierung
- SPS-Automatisierung
- SPS
- SPS Steuerung
- SPS Industrie