SPS: Speicherprogrammierbare Steuerung

Seit ungefähr 20 Jahren, und in letzter Zeit immer stärker, geistert ein Begriff durch unsere Industrie. „Speicherprogrammierbare Steuerung“ heißt dieses Zauberwort (im folgenden kurz „SPS“ genannt), das viele Menschen in Entzücken versetzt, manchen Leuten aber auch etwas Unsicherheit einfloßen kann. Dieser Artikel soll dazu dienen. Ihnen zu erklären, was SPS eigentlich ist, was man damit machen kann, worin die Vorteile liegen und schließlich: Wie kann ich mit meinem Atari-Computer die SPS-Programmierung kennenlernen? Der folgende Artikel und alle technischen Daten beziehen sich auf eine Siemens-STEP-5-SPS-Anlage, da diese doch sehr weit verbreitet und mittlerweile, besonders in der Ausbildung, zur Norm geworden sind.

Allgemeines

In unserer heutigen automatisierten Industrie setzt sich immer mehr die Elektronik zur Kontrolle von komplizierten Fertigungsvorgängen durch. Automatisierungsaufgaben werden dadurch mit immer kleineren, leistungsfähigeren und billigeren Anlagen gelöst. Wenn man bedenkt, mit was für einem Aufwand an Sicherungseinrichtungen (Schütz), Hilfsrelais und sonstigen Steuerungsbauteilen früher eine Steuerung aufgebaut wurde und daß sich diese Steuerung mit einer programmierbaren Steuerung komplett ersetzen läßt, so wird einem sehr schnell klar.daß diese Art der Steuerungstechnik Zukunft hat. Die SPS, was ja „speicherprogrammierbare Steuerung“ heißt, zeichnet sich durch sehr große Flexibilität und Erweiterbarkeit aus. Will man zum Beispiel den Prozeßablauf einer SPS-gesteuerten Bandstraße ändern, so steckt man das passende EPROM (löschbares, programmierbares ROM) in den Steckplatz - und die Bandstraße ist fertigungsbereit.

Doch nun ein wenig zur Entwicklungsgeschichte der SPS: Speicherprogrammierbare Steuerungen werden seit 1970 in der Technik verwendet. Die ersten Anlagen wurden in Amerika eingesetzt und schon bald danach kam der neue Trend auch zu uns nach Deutschland. Die ersten Anlagen hatten noch mit Kinderkrankheiten zu kämpfen, die aber in den folgenden sechs Jahren ausgemerzt wurden. Zu den größten Problemen zählten Erschütterung, Temperaturschwankungen, Störimpulse, Spannungsspitzen und vieles mehr; aber mit der Zeit bekam man dies alles in den Griff und entwickelte eine robuste und fehlerfrei arbeitende Hardware. Heute verwendete Steuerungen basieren auf dem neuesten Stand der Mikroprozessortechnik und sind damit dementsprechend leistungsfähig.

Was ist eine Steuerung?

Die Aufgabe einer elektrischen Steuerung liegt darin, Einzeloperationen im Arbeitsprozeß einer Maschine oder Anlage nach einem festgelegten Funktionsablauf in Abhängigkeit vom Maschinenzustand und dem Zustand der Befehlsgeber, zu leiten. Die Steuerungen kann man nach verschiedenen Kriterien unterscheiden:

Art der Signalverarbeitung

Art der Programmverwirklichung

Bild 2: Übersicht über den Grundaufbau eines SPS-Gerätes

Art der Aufbauorganisation

Vorteile der SPS gegenüber anderen Steuerungsmethoden

Die SPS zeichnet sich durch eine große Zahl an Vorteilen gegenüber der herkömmlichen Steuerungsmethode, der VPS. aus:

Es ist ganz offensichtlich, daß man mit der SPS eine wesentlich flexiblere und zeitsparendere Steuerungsmethode entwickelt hat. Des weiteren gilt es zu bedenken, daß der heutige Stand der Elektronik einige sehr wichtige Möglichkeiten für die Optimierung von Wartung, Produktion und Effektivität bieten kann: semiintelligente Systeme, die dem Monteur Fehleranalysen und Wartungsvorschläge machen (ich bin mir sicher, daß es irgendwann auch einmal Systeme gibt, die in beschränktem Umfang fähig sind, sich selbst zu warten), ergonomische Voraussagen treffen und somit zur Nutzung mit optimalem Wirkungsgrad beitragen und selbständig auf Notsituationen zum Schutz der Anlage und ihrer Bediener reagieren.

Aufbau einer SPS

Eine speicherprogrammierbare Steuerung besteht aus einem Automatisierungsgerät das die Mikroprozessortechnik zur Abarbeitung des SPS-Programmes enthält. Das Automatisierungsgerät (kurz: AG) verfügt über Eingänge, an denen die peripheren Signalgeber (Endschalter, Taster. Näherungsschalter) angeschlossen werden. Das AG verfügt auch über Ausgänge, an denen Stellgeräte (Lastschutzeinrichtungen, Magnetventile. Leuchten) angeschlossen werden. Ein AG besteht im wesentlichen aus einem Stromversorgungsnetzteil, Ein- und Ausgabegruppen und der Zentraleinheit mit Steuerwerk und Programmspeicher. Für die Realisierung von Zeitgliedem sind auch noch bestimmte Zeitbaugruppen integriert.

Die Signalgeber liefern ihr Zustandssignal an die Einbaugruppen. Diese Signale werden über den internen Systembus an die Zentralbaugruppe geliefert. In der Zentraleinheit bearbeitet das Steuerwerk das im Speicher stehende Programm und verknüpft dabei die logischen Zustände (HIGH/LOW) der Eingangsbaugruppen, indem es auf den Systembus zugreift. Abhängig von diesen logischen Zuständen und den im SPS-Programm erfolgten logischen Verknüpfungen erfolgen dann die Reaktionen an der Ausgangsbaugruppe, an die die Stellgeräte (Schutzeinrichtungen, Ventile) angeschlossen sind. Die Ausgangsbaugruppe bekommt ihre Zustände über den Systembus vom Steuerwerk zugewiesen. Die Stromversorgungsbaugruppe liefert die nötigen Betriebsspannungen für das AG (5 V TTL) und 24 V Schutzkleinspannung für die Geber und Stellgeräte. Geber und Stellgeräte werden meist mit 24 V oder 220 V betrieben und von einem separaten Netzteil oder Steuertransformator gespeist. Bild 2 soll eine klare Übersicht über den Grundaufbau eines SPS-Gerätes liefern.

Signaleingabe: Sie erfolgt durch jede Art von Signalgeber wie Taster, Endschalter, induktive/kapazitive Näherungsschalter. Die Signale können je nach Steuerung digital oder analog erfaßt werden.

Anpassung: Eine Anpassung wird benötigt, wenn der Spannungspegel oder die Signalart des Gebers nicht kompatibel zur Eingangsbaugruppe sind. Beispiele für eine Anpassung stellen Spannungswandler dar. Eine galvanische Trennung (Optokoppler) kann auch in der Anpassung erfolgen.

Verarbeitung: In diesem Teil der SPS-Anlage werden alle logischen Verknüpfungen und Verriegelungen, Zeitabläufe, Speicher und Zählfunktionen realisiert. Der Verarbeitungsteil ist das hauptsächliche Arbeitsgebiet der Steuerungsysteme. In der VPS kommen hier Hilfskontakte, Zeitrelais und Hilfsrelais, in der elektronischen Steuerungstechnik Schaltkreise (wie UND, ODER, NICHT usw. ), SPS oder Prozeßrechner zum Einsatz.

Verstärkung: Hier werden die Signale aus dem Verarbeitungsteil auf ein solches Leistungsniveau verstärkt, daß die Stellgeräte angesteuert werden können.

Ausgabe: Hier sind die Stellglieder angeordnet. die direkt den Prozeß beeinflussen (Thyristoren, Schutzeinrichtungen, Magnetventile).

Wie programmiere ich eine Steuerung auf einer SPS?

Zuerst ein kleiner Exkurs zu unserem ATARI ST. Wußten Sie, daß es einen SPS-Emulator in der Sonderdisksammlung der Firma MAXON Computer GmbH, Eschborn gibt? Für 25 DM ist es Ihnen möglich, Ihre ersten Schritte mit einer SPS zu erleben. Das Programm arbeitet auf Simulationsbasis, und um das System zu vervollkommnen, ist es noch möglich, über eine Weiterentwicklung des I/O-Ports (aus dem Heft 4/87 der Zeitschrift ST-Computer) eine Verbindung zur Außenwelt zu schaffen. Somit können Sie Ihren ATARI ST für Steuerungszwecke einsetzen.

Alle folgenden SPS-Programmierbeispiele können Sie mit diesem Programm nachvollziehen! Falls Sie also das Programm „SPS-Emulator“ der Sonderdiskette SD014 besitzen, so lesen Sie bitte die Bedienungsanleitung und starten Sie das Programm dann. Verzweigen Sie in den Editor und in den automatischen Eingabe-/Korrekturmodus, damit Sie programmierbereit sind!

Vorher aber noch eine Bemerkung, wie die Programmierung auf einer echten SPS erfolgt. Jedes Automatisierungsgerät besitzt eine Schnittstelle, an der ein Programmiergerät oder ein mit spezieller Software versehener Rechner angeschlossen werden kann. Bei den weitverbreiteten Siemens-STEP-5-Geräten handelt es sich hier um eine V24ATY-Schnittstelle. Das Programmiergerät oder der angeschlossene Rechner haben einen eigenen Arbeitsspeicher, in dem das SPS-Programm (d.h. die Anweisungsliste, kurz: AWL) geschrieben oder ediert wird. Das AG hat zwei Betriebszustände, einen STOP- und einen RUN-Betrieb. Der STOP-Betrieb dient dazu, mit dem Programmiergerät (kurz: PG) zu kommunizieren. Will man die aktuelle AWL, die im Arbeitsspeicher des AG liegt, verändern, muß das AG im STOP Betrieb sein. Durch einen Tastaturbefehl greift das PG auf den Speicher des AG zu und transferiert den Speicherinhalt in den Arbeitsspeicher des PG. Hier kann die AWL ediert und, falls gewünscht, wieder über einen Tastaturbefehl in den Arbeitsspeicher des AG gebracht werden. Hierbei wird die alte AWL überschrieben. Wenn man nun das neue SPS-Programm testen will, schaltet man das AG auf RUN. Der Prozessor arbeitet die AWL mehrere tausend Mal pro Sekunde seriell ab und setzt nach jedem AWL-Durchlauf die Ausgänge in Abhängigkeit von den Verknüpfungsergebnissen. Bevor man auf einer SPS eine AWL zu einer Steuerung erstellen kann, braucht man einen kleinen Überblick über die Grundbefehle und die Syntax.

Die Grundbausteine der SPS-Programmiersprache

Eingänge: Bezeichnung für die Anschlußstellen der Eingangsbaugruppe. An den Eingängen werden die Steuergeber angeschlossen. Ein Eingang kann auf sein logisches Spannungspotential, HIGH = Eingangsspannung (24 V) = „1“ / LOW = 0 V = „0“, hin abgefragt werden.

Ausgänge: Bezeichnung für die Anschlußstellen der Ausgangsbaugruppe. An den Ausgängen werden die Stellglieder angeschlossen. Ein Ausgang kann auf HIGH = „1“ oder LOW = „0“ liegen. Ist ein Ausgang auf HIGH, wird der Steuerstromkreis zu dem an diesem Ausgang angeschlossenen Stellglied geschlossen, womit dieses Stellglied aktiviert wird.

Merker: Ein Merker ist eine einzelne Speicherzelle, die den logischen Zustand „1“ oder „0“ haben kann. Merker werden in der SPS als Hilfsvariablen zur Speicherung von Verknüpfungsergebnissen oder zu Verriegelungen verwendet.

Zähler: Ein Zähler kann in der SPS mit einem bestimmten Wert geladen werden und dann abhängig von einem Verknüpfungsergebnis auf- oder abwärtszählen. Zähler finden Anwendung, um Mengen, Zyklendurchläufe oder Stückzahlen zu erfassen. Ein Zähler kann auf seinen Zählerstand und seinen logischen Zustand hin abgefragt werden. Ein Zähler, der mit einem Zählwert geladen wurde, liefert bei einer Abfrage seines logischen Zustandes den Wert „1“. Wenn ein Zählerden Wert 0 erreicht, so ist sein logischer Zustand „0“. Ein Zähler kann maximal mit dem Zählerwert 999 geladen werden.

Timer: Ein Timer ist ein programmierbares Zeitglied, das man mit einem bestimmten Zeitwert laden kann. Ein Timer läßt sich auf fünf verschiedene Zeitablaufbedingungen voreinstellen:

Ist die Zeit eines gestarteten Timers abgelaufen, wird bei seiner Abfrage der Wert „1“ ausgegeben. Einen Timer kann man auf logischen Zustand und nach abgelaufener Zeit abfragen. Er ist von 10 Millisekunden bis 9990 Sekunden zu laden.

Eingänge, Ausgänge und Merker bezeichnet man auf den Siemensanlagen mit einem 8-Bit-System:

Eingänge:
Ex.0, Ex.1, Ex.2, ..., Ex.7, E(x+1).0, E(x+1).1
...

Ausgänge:
Ay.0, Ay.1, Ay.2, ..., Ay.7, A(y+1).0, A(y+1).1
...

Merker:
M0.0, M0.1, M0.2, ..., M0.7, M1.0, M1.1 ...

x und y sind Zuordnungszahlen, die beschreiben, wie die Reihenfolge der auf dem Systembus nacheinander aufgesteckten Eingangs- bzw. Ausgangsmodule ist. Timer und Zähler werden dezimal durchnumeriert:

Zähler:
Z01, Z02, Z03, Z04, Z05..Z16

Timer:
T01, T02, T03, T04, T05 ... T16

Falls Sie den SPS Emulator für Ihren ATARI besitzen, werden Sie feststellen, daß hier auch die Ein-/Ausgänge und Merker dezimal durchnumeriert sind (01-20). In der neuesten Version (größer 4.7) ist es selbstverständlich möglich, auf die Adressierung der STEP-5-Geräte umzuschalten, und es sind optional 40 Eingänge und Merker möglich!

Die Grundbefehle

Ein SPS-Programm macht eigentlich nichts anderes, als Spannungszustände vom Eingangs- oder Ausgangsbaustein einzulesen und laut der AWL logisch zu verknüpfen. Doch nun sollen Ihnen die vier ersten Befehle zur Programmierung vorgestellt werden:

Der Begriff „Eingänge“ steht hier für alle auf einen logischen Zustand abfragbaren Bausteine wie Eingänge, Ausgänge, Mer ker, Zähler, Timer usw.

Die UND-Verknüpfung:
Eine UND-Verknüpfung fragt einen oder mehrere Eingänge auf den logischen Spannungspegel HIGH = 1 ab. Sind alle abgefragten Eingänge auf HIGH, wird das Verknüpfungsergebnis auf HIGH wechseln, ansonsten auf LOW.

Die Syntax des UND-Befehles:

U E 0.0 -> Eingang 0.0 auf „1“ abfragen
U M 0.1 -> Merker 0.1 auf „1“ abfragen
U A 2.1 -> Ausgang 2.1 auf „1“ abfragen
U Z 01 -> Zähler 01 auf „1“ abfragen
U T 05 -> Timer 05 auf „1“ abfragen

Die ODER-Verknüpfung:
Die ODER-Verknüpfung fragt einen oder mehrere Eingänge auf den logischen Spannungspegel HIGH = „1“ ab, und falls einer der abgefragten Eingänge auf HIGH liegt, wird das Verknüpfungsergebnis auf HIGH wechseln. Nur dann, wenn alle abgefragten Eingänge LOW sind, ist das Verknüpfungsergebnis auch LOW.

O E 0.0 -> Eingang 0.0 auf mV abfragen
O M 0.1 -> Merker 0.1 auf „1“ abfragen
O A 2.1 -> Ausgang 2.1 auf „1“ abfragen
O Z 01 -> Zähler 01 auf „1“ abfragen
O T 05 -> Timer 05 auf „1“ abfragen

Die NICHT-Verknüpfung:
Die NICHT-Verknüpfung arbeitet als Negation und kann aus einer UND- eine NAND-Abfrage und aus einer ODER- eine NOR-Abfrage machen. Somit lassen sich einzelne Ein-/Ausgänge negieren und erneut verknüpfen.

UN E 0.0 -> Eingang 0.0 auf „0“ abfragen
UN M 0.1 -> Merker 0.1 auf „0“ abfragen
UN A 2.1 -> Ausgang 2.1 auf „0“ abfragen
ON Z 01 -> Zähler 01 auf „0“ abfragen
ON T 05 -> Timer 05 auf „0“ abfragen

Der GLEICH-Befehl:
Dieser Befehl wird nach einer logischen Verknüpfung gesetzt und nur ausgeführt, solange das Verknüpfungsergebnis „1“ ist. Mit diesem Befehl kann man Ausgänge und Merker, abhängig von der Erfüllung der vorangegangenen Verknüpfung, solange auf „1“ halten, bis das Verknüpfungsergebnis wieder „0“ ist.

U E 0.0 -> Eingang 0.0 auf „1“ abfragen
U E 0.1 -> Eingang 0.1 auf „1“ abfragen
O E 0.2 -> Eingang 0.2 auf „1“ abfragen
= A 0.0 -> wenn Bedingung erfüllt, Ausgang 0.0 auf „1“ setzen

Ausgang A 0.0 ist aktiv, wenn Eingang E 0.0 und Eingang E 0.1 HIGH sind, oder wenn Eingang E 0.2 HIGH ist. Man kann auch schreiben:

A 0.0 = 1, wenn gilt (E 0.0 = 1 und E 0.1 = 1) oder E 0.2 = 1

Beispiele:
Ab jetzt wird davon ausgegangen, daß Sie das Emulatorprogramm für den ATARI besitzen und die Programmierbeispiele simultan zum Text eingeben und ausprobieren.

Was sind Öffner und Schließer?

Es gibt zwei verschiedene Ausführungen eines Schaltkontaktes, den Öffner und den Schließer. In einem Schaltplan werden alle Kontakte, falls nicht extra markiert, in Ruhestellung gezeichnet. Wenn man sich nun einen Schaltplan anschaut, fallt einem auf, daß manche Kontakte geschlossen und manche geöffnet gezeichnet sind (siehe Bild 3). Einen Kontakt, der in Ruhestellung keine Spannung und bei Betätigung Spannung durchschaltet, nennt man Schließer, denn er schließt sich bei Betätigung. Ein Öffner schließt in der Ruhestellung den Stromkreis und öffnet diesen bei Betätigung.

Was ist Drahtbruchsicherung?

Sehr (lebens)wichtige Steuerkontakte werden mit einem Öffner realisiert und liefern bei Nichtbetätigung ständig ein HIGH-Potential an die Eingangsbuchse. Wird nun der Stromkreis durch den Schalter oder einen Defekt am Schalter/Leitung unterbrochen, so geht die Anlage in den Störbetrieb. Dieses System findet auch bei Alarmanlagen in den Sicherungsschleifen Verwendung.

Programmierbeispiel:
Eine Signalleuchte soll dann leuchten, wenn der Taster S1 (ein Schließen betätigt und der Taster S2 (ein Öffner) nicht betätigt ist (siehe Bild 3). Die erste Darstellung zeigt die Lösung der Steuerung in der VPS. Die Abbildung daneben zeigt, wie die Geber und das Stellglied an der SPS angeschlossen werden und welche Ein- bzw. Ausgänge den Gebern und dem Stellglied zugeordnet wurden. Es folgt die Schilderung des Wegs der Umsetzung in die AWL. Zuerst stellt man eine Funktionstabelle auf, in der in den vorderen Spalten alle Geber und in den hinteren alle Stellglieder eingetragen sind. Man benötigt so viele Zeilen, wie es mögliche verschiedene Zustände der einzelnen Geber gibt. In unserem Fall sind es zwei Geber und somit 2^2 mögliche Zustände. Zwecks der Übersicht trägt man die einzelnen Zustandsmöglichkeiten im Binär-System ein, wobei eine „1“ für Spannung an der Klemme des AG und „0“ für keine Spannung steht: Bei dieser Steuerung also 0-0/0-1/1-0/ 1-1. Dies sind alle Kombinationen, wie man die zwei Taster drücken kann und wie sich die Spannungspegel am Eingangsbaustein des AG ändern. Nun wertet man anhand der Verknüpfungsvorschrift aus der Aufgabenstellung aus. wann die Leuchte leuchten darf und wann nicht. Beginnen wir also in der ersten Zeile: Hier sind beide Spannungspegel auf „0“. und somit sind der Schließer SI nicht und der Öffner S2 betätigt. Dies entspricht nicht der Verknüpfungsvorschrift, also wird in diese Zeile unter dem Stellglied eine „0“ eingetragen. In der nächsten Zeile sind S1 und S2 nicht betätigt also wird ebenfalls eine „0“ eingetragen. Bei der folgenden Zeile sind S1 und S2 betätigt, somit wird ebenfalls eine „0“ eingetragen. In der letzten Zeile trifft die Schalterstellung genau auf die Aufgabenstellung zu. somit ist eine „1“ einzutragen.

Bild 3: Umsetzung Stromlaufplan/AWL

In der Funktionstabelle existiert eine Zeile, die die Spannungspegel der Eingänge E 0.0 (S1) und E 0.1 (S2) angibt, damit der Ausgang A 0.0 (E1) Spannung führen darf. Mit dieser Zeile kann man die schaltalgebraische Formel der Steuerung aufstellen. In dieser Formelschreibweise werden drei Symbole verwendet, die eventuell einer Erklärung bedürfen: das Zeichen, das wie ein Dach (A) aussieht und nach UNTEN geöffnet ist, ist das Zeichen für „UND“. Ist das Dach nach OBEN geöffnet, steht das Zeichen für „ODER“. Ist eine Eingangskennzeichnung (hier ist es S2) überstrichen, steht dies für S2 „NICHT“.

Nun können wir die Formel aufstellen! Ausgang A 0.0 soll HIGH sein, wenn E0.0 = „1“ UND wenn E 0.1 = „1“. Wenn Sie die Formel auf Bild 3 betrachten, sehen Sie diese Bedingung mit den oben erklärten Zeichen aufgeschrieben. Diese Methode der Formelschreibweise ermöglicht es, sehr komplexe Verknüpfungen einfach aufzugliedern, und ein weiterer Vorteil ist, daß man aus dieser Formel die spätere AWL sehr leicht herauslesen kann. Die AWL zu dieser Steuerung steht auf der rechten Seite von Bild 3. Daneben wurde ein sogenannter Funktionsplan zur AWL erstellt. Mit dem Funktionsplan werden die Verknüpfungen der AWL mit Hilfe von logischen Gattern (UND. ODER. NICHT ...) dargestellt. Ein geübter SPS-Programmierer kann in beide Richtungen, also von der AWL, zum FUP und umgekehrt, programmieren.

Der SPS-Emulator bietet Ihnen die Möglichkeit, zu einer sich im Arbeitsspeicher befindenden AWL den Funktionsplan zu erstellen und auf Wunsch auszudrucken.

Geben Sie die AWL mit Hilfe des Editors ein (falls Sie die Emulatorversion kleiner als 4.8 besitzen, müssen Sie für E 0.0 = E01 für E 0.1 = E 02 und für A 0.0 = A 01 eingeben), verlassen Sie den Editor und bringen den Emulator in RUN-Betrieb. Ändern Sie die Spannungszustände von E 01 und E 02 (Version kleiner als 4.8) und beobachten Sie die Reaktion des Ausganges A 01. Soeben haben Sie Ihre erste SPS-Steuerung eingegeben und getestet!

Dies war natürlich eine sehr simple Steuerung, bei der sich ein Einsatz einer SPS niemals gelohnt hätte. Deshalb ist das nächste Beispiel (Bilder4 und 5) das technische Problem einer Stanzensteuerung. Die Stanze verfügt über die Hydraulikpumpe P1, die das Öl durch das Ventil V1 in den Zylinder preßt und diesen damit nach unten drückt. Um den Stanztisch ist ein Schutzgitter angebracht, das bei geöffnetem Zustand den Endschalter S3 betätigt. An dem Stanztisch ist der NOT-AUS-Schalter S4 installiert, und unter der Arbeitsplatte. in großem Abstand, sind die zwei Bedienknöpfe (S1+S2) des Stanzarbeiters, womit dieser den Stanzvorgang einleiten kann. Es wurden zwei Bedienknöpfe eingebaut. um sicherzustellen, daß der Arbeiter während des Stanzens beide Hände außerhalb des Gefahrenbereichs hat. Wenn der Kolben des Zylinders seinen Maximalweg zurückgelegt hat. betätigt er den Endschalter S5.

Bild 5: Erstellung der AWL zu dieser Steuerung
Bild 4: Steuerung einer Stanzmaschine

Nun die Bedingungen der Steuerung: Die Pumpe P1 darf nur aktiv sein, wenn das Schutzgitter geschlossen, sowie der NOT-AUS- und Endschalter S5 nicht betätigt und beide Starttasten S1 und S2 gedrückt sind. Das Ventil VI muß sich offen, solange die Pumpe in Betrieb ist. In Bild 4 sehen Sie eine schematische Skizze der Maschine. In Bild 5 wurden die schaltalgebraische Formel und schließlich die AWL erstellt. Die Schalter S3 und S4 wurden aus Gründen der Drahtbruchsicherheit als Öffner eingebaut und müssen deshalb auf den Zustand „1“ abgefragt werden.

Geben Sie diese AWL ebenfalls ein und testen Sie auf Funktion. Um die Funktion der Drahtbruchsicherheit zu begreifen, fragen Sie doch mal S3 und S4 mit „UN“ ab, gehen Sie in den RUN-Betrieb und simulieren Sie einen Drahtbruch (S3 und S4 können niemals Spannung an die Eingangsklemme liefern), und nun versuchen Sie einmal, die Anlage in einem Notfall zu stoppen!

Mit dem „UND“-, „ODER“- und „NICHT“-Befehl können Sie nun schon sehr viele Steuerungsprobleme lösen und in die Programmiersprache der SPS Umsätzen. Wie sehr es auf die Reihenfolge der Verknüpfungen in der AWL ankommt, sollen die zwei Abbildungen in der oberen Hälfte von Bild 6 zeigen: Erfolgt eine UND- vor einer ODER-Verknüpfung, wird das Verknüpfungsergebnis der UND- mit dem der ODER-Verknüpfung ODER-verknüpft. Folgt eine UND- auf eine ODER-Verknüpfung, so wird das Verknüpfungsergebnis der ODER-Verknüpfung mit dem der UND-Verknüpfung UND-verknüpft. Somit ergeben sich je nach Anordnung der einzelnen AWL-Zeilen verschiedene Funktionsabläufe, was bei der Programmerstellung beachtet und auch gezielt ausgenutzt wird.

Es gilt allerdings noch eine Besonderheit der Verknüpfung von UND- und ODER-Abfragen zu beachten (Bild 6 unten). Man spricht hier von UND-vor-ODER bzw. ODER-vor-UND: Durch die folgenden zwei neuen Befehle „U(„ und „O“ bietet die Programmiersprache STEP-5 noch die Möglichkeit, Klammem zu setzen. Es gibt eine UND-Verknüpfungsklammer und eine ODER-Verknüpfungsklammer. Beim UND-Klammertyp werden ganze Verknüpfungsblöcke in Klammem eingeschlossen und mit der folgenden Klammer UND-verknüpft. Bei der ODER-Klammer werden die Verknüpfungsblöcke durch den „0“-Befehl getrennt und dann ODER-verknüpft (siehe Bild 6).

Die ODER vor-UND-Verknüpfung:
u( <- Klammerebene einleiten
O E 0.0 <- 1. Verknüpfungsblock
ON E 0.1
O E 0.2
) <- Ende der ersten Klammer
U( <- Klammerebene einleiten
O E 0.3 <- 2. Verknüpfungsblock
U E 0.4 U E 0.5 ) <- Ende der zweiten Klammer
= A 0.0

Der Ausgang 0.0 wird nur dann auf HIGH gesetzt, wenn beide Klammern das Ver knüpfungsergebnis „1“ liefern, da sie ja UND-verknüpft werden.

Die UND-vor-ODER-Verknüpfung:

U E 0.0 <-1. Verknüpfungsblock
UN E 0.1
U E 0.2
O
U E 0.3 <- 2. Verknüpfungsblock
U E 0.4
U E 0.5
= A0.0

Der Ausgang 0.0 wird nur dann auf HIGH gesetzt, wenn einer oder beide Verknüpfungsblöcke das Verknüpfungsergebnis „1“ liefert.

Alle Versionen des SPS-Emulators, die eine größere Versionsnummer als 4.7 haben, verfügen über diese zwei Befehle.

Es ist jetzt an der Zeit, Ihnen die zwei nächsten und ebenfalls sehr wichtigen Befehle der SPS-Programmiersprache vorzustellen. Bei diesen beiden Befehlen handelt es sich um den „SETZE“- und den „RÜCKSETZE“ Befehl. Mit dem Setze-Befehl können Sie einen Ausgang, Merker dauerhaft und unabhängig von weiteren Verknüpfungsergebnissen, in den logischen Zustand „1“ versetzen. Dieser Zustand wird beibehalten, bis er mit dem Rücksetze-Befehl wieder auf „0“ gelegt wird. Diese programmierte Funktion ist mit dem J/K-Flip-Flop in der Elektronik vergleichbar. Die beiden Befehle sind sehr wichtig für die Registrierung von kurzen Tasterimpulsen, Verriegelungen usw. Die Funktion des SETZE- und RÜCKSETZE-Befehls soll Ihnen an folgendem Beispiel, einer Wendeschaltung mit zwei Sicherungsvorrichtungen (Schütze) demonstriert werden:

Syntax des Setze-Befehles:

S M 0.0 = setze Merker 0.0 auf „1“
S A 0.1 = setze Ausgang 0.1 auf „1“

Syntax des Rücksetze-Befehls:

R M 2.1 = rücksetze Merker 2.1 auf „0“
R A 02 = rücksetze Ausgang 0.2 auf „0“

Beispiel: (Wendeschaltung eines Motors)
Ein Motor verfügt über zwei Drehrichtungen. Die Steuerung soll so angelegt werden, daß über den Taster S2 die rechte (Schütz an Ausgang 0.0) und über die Taste S3 in die linke Drehrichtung (Schütz an A 0.1) gewählt werden können. Der Taster S1 soll als NOT-AUS dienen und ist aus Gründen der Drahtbruchsicherheit als Öffner anzuschließen! Die Umschaltung von einer Drehrichtung in die andere soll vollautomatisch erfolgen, d. h. daß von einer Drehrichtung direkt in die andere geschaltet werden kann. Desweiteren ist ein gleichzeitiges Anziehen der zwei Motorschütze aus Kurzschlußsicherheitsgründen mittels einer Verriegelung zu verhindern.

Zuweisungsliste:

S1 (Öffner) NOT-AUS = E 0.0 (bzw. E01)
S2 (Schließer) Rechtslauf = E 0.1 (bzw. E02)
S3 (Schließer) Linkslauf = E 0.2 (bzw. E03)
Schütz Rechtslauf = A 0.0 (bzw. A01)
Schütz Linkslauf = A 0.1 (bzw. A02)

AWL:
U E 0 0 (NOT-AUS nicht betätigt?)
U E 0.1 (Taster für Rechtslauf betätigt?) UN E 0.2 (Taster für Linkslauf nicht gedrückt?)
R A 0.1 (Schütz Linkslauf in Ruhestellung!)
S A 0.0 (Motor Rechtslauf!)
U E 0.0 (NOT-AUS nicht betätigt?)
U E 0.2 (Taster für Linkslauf betätigt?)
UN E 0.1 (Taster für Rechtslauf nicht gedrückt?)
R A 0.0 (Schütz Rechtslauf in Ruhestellung!)
S A 0.1 (Motor Linkslauf!)
UN E 0.0 (NOT-AUS gedrückt oder Drahtbruch?)
R A 0.0 (Motorstillstand durch Rücksetzen beider)
R A 0.1 (Motorschütze)

Bild 6: Logische Verknüpfung bei der SPS-Programmierung

Geben Sie die AWL ein, bringen Sie den Emulator in den RUN-Betrieb, betätigen Sie E0.0/E01 und dann tasten Sie abwechselnd E0.1/E02 und E0.2/E03. Die Ausgänge A0.0/A01 und A0.1/A02 müssen nun abwechselnd HIGH sein. Wenn Sie E0.0/E01 unbetätigt lassen, so darf keiner der beiden Ausgänge auf „1“ gesetzt werden. Nun wollen wir noch genauer die Verwendung von Merkern studieren. Wie oben schon gesagt wird ein Merker als Speichervariable, die den Zustand „1“ oder „0“ haben kann, verwendet. Merker verwendet man, um Verknüpfungsergebnisse zwischenzuspeichern. Das folgende Beispiel soll ein typisches Anwendungsbeispiel für einen Merker liefern: Die Signalleuchte E1 soll aufleuchten, wenn der Taster S1 betätigt wird und soll so lange leuchten, bis der Taster S2 betätigt wird. Bei diesem Beispiel handelt es sich um eine sogenannte Selbsthaltung. Diese Schaltungstechnik wird sehr oft zur Steuerung von Motoren verwendet (EIN/AUS-TASTER) Bei einer Selbsthaltung kann das Stellglied mit einem Tasterdruck eingeschaltet werden und es bleibt auch bei Nichtbetätigung des Starttasters in Funktion, man sagt es hält sich selbst. Erst durch Betätigung der Stoptaste fällt das Stellglied in die Ruhelage zurück.

Zuweisungsliste:
S1 (Schließer) EIN = E 0.0 / E01
S2 (Schließer) AUS = E0.1/E02
Anlagenzustand = M 0.0 / M01
Signalleuchte E1 = A0.0/A01

AWL:
U E 0.0 (Anlage EIN betätigt?)
SM 0.0 (Merker für Anlagenzustand auf „1“!)
U E 0.1 (Anlage AUS betätigt?)
R M 0.0 (Merker für Anlagenzustand auf „0“!) UM 0.0 (Anlagenzustand „1“?)
= A0.0 (Signalleuchte E1 leuchtet1)

Wenn Sie dieses Programm slarten und E 0.0/E01 betätigen, geht Ausgang A 0.0/A01 auf „1“ und bleibt in diesem Zustand, auch wenn Sie E0.0/E01 nicht mehr betätigen, bis Sie E0.1/E02 betätigen. Die Krönung einer Selbsthallungssteuerung ist eine Steuerung, bei der das Ein- und Ausschalten der Anlage über den gleichen Taster erfolgt. Der Ein- und Ausschaltbefehl wird alternierend, mit jeder Betätigung des Tasters, gegeben.

Zuweisungsliste:
S1 (Schließer) EIN/AUS - E0.0/E01
Anlagenzustand = M 0.0/M01
Hilfsmerker = M 0.1/M02
Verriegelungsmerker = M 0.2/M03
Signalleuchte E1 = A 0.0/A01

AWL:
U E 0.0 (Taster gedrückt?)
UN M 0.0 (Merker für Anlagenzustand auf „0“?)
UN M 0.2 (Verriegelungsmerker auf „0“?)
SM 0.1 (Hilfsmerker auf „1“!)
U E 0.0 (Taster gedrückt?)
UM 0.0 (Merker für Anlagenzustand auf „1“?)
UN M 0.2 (Verriegelungsmerker auf „0“?)
R M 0.1 (Hilfsmerker auf „0“!)
U M 0.1 (Hilfsmerker auf „1“?)
SM 0.0 (Merker für Anlagenzustand auf „1“!)
UN M 0.1 (Hilfsmerker auf „0“?)
R M 0.0 (Merker für Anlagenzustand auf „0“!)
U E 0.0 (Taster betätigt?)
SM 0.2 (Verriegelung EIN!)
UN E 0.0 (Taster nicht betätigt?)
R M 0.2 (Verriegelung AUS!)
UM 0.0 (Merker für Anlagenzustand auf „1“?)
=A 0.0 (Signalleuchte EIN!)

Vielleicht stellt sich Ihnen nun die Frage, wozu die einzelnen Merker des Programmes dienen?

M 0.0: in diesem Merker wird der Betriebszustand der Anlage gespeichert „1“ = Anlage EIN / „0“ = Anlage AUS

M 0.1: dieser Hilfsmerker wird in allen Verknüpfungen anstatt M 0.0 eingesetzt, da sonst durch die serielle Abarbeitung der AWL. in den aufeinanderfolgenden Verknüpfungen von M0.0, dieser Merker nie den EIN-Zustand erreichen würde (ausprobieren! Ersetzen Sie M 0.1 durch M 0.0 und lassen sie das Programm ablaufen). M0.2: ist ein Verriegelungsmerker der bewirkt. daß ein Betriebszustandswechsel nur dann erfolgt, wenn der Taster S1 zwischen einem EIN- bzw. AUS-Befehl einmal unbetätigt war. Wenn Sie diesen Merker aus dem Programm entfernen, so wechselt die Steuerung (bei betätigtem EIN/AUS-Taster)bei jedem Programmzyklus den Betriebszustand.

Dieser Abschnitt sollte eine kleine Einführung in die Programmierung einer SPS sein und Ihnen zeigen, wie einfach und schnell ein Steuerungsproblem mittels der SPS gelöst werden kann. Mit diesen wenigen Befehlen der Programmiersprache Step 5 können Sie schon einige Steuerungsprobleme lösen. Weitere Befehle, die die Flexibilität einer SPS-Steuerung noch erhöhen sind Zähler und Timer, damit auch zeitkritische Abfragen in einer Steuerung beachtet werden können. Die Anbieter der SPS-Steuerungen erweitern das Angebot für ihre Automatisierungsgeräte ständig, um alle eventuellen Steuerungsprobleme lösen zu können. So werden zum Beispiel Analogbausteine angeboten, die einen Analogeingang mit wahlweise 0... 20 mA (Dreileitertechnik), 4 ... 20mA (Zweileitertechnik) oder 0 ... 30 V bieten und dieses Analogsignal digital umwandeln, damit die SPS den aktuellen Wert erfassen kann. Somit kann man zum Beispiel einen P-Transmitter, ein Gerät das in eine Druckluftleitung eingebaut wird und abhängig vom Druck einen Ausgangsstrom von 0 ... 20/4 ... 20 mA oder eine Ausgangsspannung von 0 ... 30 V liefert, direkt an der SPS anschließen. Die CPUs der SPS-AGs werden immer schneller und komfortabler, damit sie auch arithmetisch komplexe Berechnungen durchführen können. Der Trend läuft eindeutig zu komfortablen Mikroprozessorrechnern mit graphischer Benutzeroberfläche und entsprechender Perepherie, die ein Arbeiten mit diesen Systemen noch leichter und schneller machen.

Dieses Steuerungssystem, das den technischen Bereich von Ablaufsteuerungen schon revolutioniert hat und noch weiter revolutionieren wird, ist ein absolutes Muß für jeden, der in diesem Sektor in den nächsten Jahren bestehen will.

In der Ausbildung von vielen Berufen ist das Fach „SPS“ schon zu einem Pflicht und Prüfungsfach geworden und es ist jedem, der irgendwann einmal mit Steuerungsproblemen in Kontakt kommen kann, zu raten, daß er sich mit dem Thema SPS intensiv auseinandersetzt und sich immer auf dem neuesten Stand hält.

Thomas Doll



Aus: ST-Computer 01 / 1991, Seite 51

Links

Copyright-Bestimmungen: siehe Über diese Seite