Die eigentliche Aufgabe einer SPS ist es, die Eingänge zu lesen, sie logisch zu verknüpfen und daraus den Zustand der Ausgänge zu ermitteln. Einfachstes Beispiel: Eine Warnungshupe (A4.1) soll ertönen,
wenn entweder auf einen der Taster Hupe1 (E0.3) oder Hupe2 (E0.4) gedrückt wird. Das Programm in FUP würde dann so aussehen:
E 0.3 THupe1 Taster Hupe drinnen
E 0.4 THupe2 Taster Hupe draußen
A 4.1 Hupe Warnungshupe
Nicht immer aber sind SPS-Programme so einfach. Häufig gibt es die Notwendigkeit, Zustände zu speichern, zumindest ist es nützlich. Dazu gibt es die Merker, das sind Zellen im Speicher der SPS, in denen Informationen abgelegt und später wieder ausgelesen werden können. Ein einzelner Merker kann nur “0” oder “1” speichern. Merker werden benannt wie die Ein- und Ausgänge: Zunächst kommt die Bezeichnung des Speicherbereiches, in diesem Fall ein M, dann die Byte-Nummer und schließlich, getrennt durch einen Punkt, die Bit-Nummer. Beispiele für Merkerbezeichnungen sind:
M 0.0
M 22.6
M 29.3
Die Speicherung von Zuständen kann, wie oben bereits angemerkt, notwendig oder nützlich sein.
Notwendig ist eine Speicherung, wenn z.B. ein Tor sich nur dann öffnen soll, wenn zunächst auf einen Taster und danach auf einen Weiteren gedrückt wird. In diesem Fall muss gespeichert werden, dass bereits auf den ersten Taster gedrückt wurde. Das Programm für diesen Fall könnte so aussehen:
E 0.5 Taster1 Taster 1
M 4.2 Taster1OK Merker Es ist auf Taster 1 gedrückt worden
A 0.3 TorAuf Motor Tor öffnen
M 4.2 Taster1OK Merker Es ist auf Taster 1 gedrückt worden
E 0.6 Taster2 Taster 2
A 0.3 TorAuf Motor Tor öffnen
E 0.7 ESTorAuf Endschalter Tor offen
Im ersten Netzwerk wird gespeichert, dass auf den Taster1 gedrückt worden ist. Wenn das Tor geöffnet wird, ist diese Information nicht mehr wichtig und wird daher gelöscht. Im zweiten Netzwerk wird das Öffnen des Tores durch den Taster2 gestartet, aber nur dann, wenn vorher Taster1 gedrückt wurde.
Nützlich ist die Verwendung von Merkern dann, wenn es dadurch gelingt, das SPS-Programm übersichtlicher darzustellen. Denken Sie sich eine Maschine, bei der sehr viele Aktionen nur stattfinden sollen, wenn 1.) Keine Störung vorliegt und 2.) Die Automatik aktiv ist ODER getasteter Handbetrieb vorliegt. Als FUP sieht diese Bedingung so aus:
E 1.0 Stoerung Sammelstörung
E 1.1 Auto Schalter Automatik
E 1.3 HandTast Taster Getasteter Handbetriebe
Ohne Merker müssten Sie diese Bedingung zig-mal im Programm schreiben. Das ist erstens nervig und zweitens unübersichtlich. Unter Verwendung von Merkern schreiben Sie einmal:
E 1.0 Stoerung Sammelstörung
E 1.1 Auto Schalter Automatik
E 1.3 HandTast Taster Getasteter Handbetriebe
M 3.0 Betrieb Keine Störung UND Auto oder Hand getastet
Im ganzen weiteren Programm können Sie dann den Merker M3.0 anstelle dieser Bedingung verwenden.
Anmerkung: In STEP®7 sind temporäre und statische Variablen für diese Aufgaben häufig viel besser geeignet als Merker, die Idee ist aber die Gleiche und mit Merkern einfacher zu erläutern, da diese immer vorhanden sindund nicht extra deklariert werden müssen.
Mit dem Button “Zurück” kommen Sie an die Stelle zurück, an der Sie zu diesem Thema gewechselt haben.