Speicherprogrammierbare Steuerung SPS *

Was ist eine Speicherprogrammierbare Steuerung? *

Aufbau einer SPS *

Blockschaltbild eines SPS-Programmiergerätes - Automatisierungsgerät *

SPS-Programmierung mit STEP® 5 *

Darstellungsarten *

Funktionsplan *

Kontaktplan *

Anweisungsliste *

Kompatibilität zwischen den Darstellungsarten *

Lineare und Strukturierte Programmierung *

STEP® 5 Operationen *

Verknüpfungsoperationen *

Bearbeitung eines STEP® 5 Programms im Automatisierungsgerät *

Nachteile von SPS *

 

 

 

Speicherprogrammierbare Steuerung – SPS

Die SPS zählt zu den wichtigsten Komponenten vernetzter CIM Produktionssysteme. Ihre Automatisierungsgeräte und Anwendungen sind weit verbreitet und kommen vor allem beim rechnerintegrierten Betrieb von Maschinen, Vorrichtungen und Prozessen zum Einsatz. Bei der in der Elektronik üblichen Unterteilung in verbindungs- und speicherprogrammierte Steuerungen gehört die SPS in den Bereich der speicherprogrammierten Steuerungen.

Zu den verbindungsprogrammierten Steuerungen (VPS) gehören Relaissteuerung und Schützsteuerung. Eine VPS zeichnet sich durch ihre feste Verdrahtung aus, die erst dann vorgenommen werden kann, wenn feststeht welche Schaltung oder Funktion implementiert werden soll. Eine Änderung dieser Schaltungsfunktion bedingt eine Umverdrahtung der Steuerung.

Bei einer speicherprogrammierbaren Steuerung sind Aufbau des Automatisierungsgerätes und die Verdrahtung unabhängig von der spätereren Programmfunktion. Das Programm, nachdem das Automatisierungsgerät arbeiten soll, wird mit einem Programmiergerät bzw. einem PC in den Programmspeicher geschrieben. Das Programm bestimmt in welcher Reihenfolge die Eingänge gelesen und die Ausgänge ausgegeben werden sollen. Bei einer Programmänderung wird nicht die Verdrahtung, sondern nur das Programm im Programmspeicher geändert, was die SPS gegenüber der VPS auszeichnet.

Eine SPS hat folgende Leistungsmerkmale:

Was ist eine Speicherprogrammierbare Steuerung?

Eine SPS ist im Prinzip ein Steuerungscomputer, der mit bestimmten Schnittstellen ausgerüstet ist, um ein Gerät oder eine Anlage steuern zu können.

Der Steuerungscomputer wird meist als Automatisierungsgerät (AG) bezeichnet. Er wird mit einer bestimmten Programmiersprache programmiert. Das Programm wird mit einem Programmiergerät oder mit Hilfe einer Programmiersoftware vom PC aus zur SPS übertragen.

Eine SPS besteht im wesentlichen aus:

Die Eingangssignale werden auf die Eingabebaugruppen geschaltet und in der CPU entsprechend dem im Speicher stehenden Steuerungsprogramm zu Ausgangssignalen verarbeitet, die auf die Ausgänge der Ausgabebaugruppen geschaltet werden. Auf diese Weise bewirkt z.B. ein gedrückter Schalter am Eingang, daß am Ausgang ein bestimmtes Ventil angesteuert wird.

Der Programmspeicher enthält das Arbeitsprogramm, das in einer SPS - Programmiersprache vom Anwender erstellt wird. Die Programmabarbeitung erfolgt seriell und zyklisch. Das bedeutet:

Der Mikroprozessor in der CPU steuert nacheinander (seriell) alle Adressen im Programmspeicher an führt die darin gespeicherten Anweisungen aus. Ist die letzte Anweisung eines Programms ausgeführt, fängt die Abarbeitung wieder von Vorne an (zyklisch).

Aufbau einer SPS

Netzteil

Spannungsversorgung der SPS

CPU

Die CPU ist die Recheneinheit der SPS. Sie bearbeitet das SPS-Programm sequentiell (hintereinander) ab.

Eingabe-Baugruppen

Die Eingabe-Baugruppen können externe Signale (digital oder analog) verarbeiten. Diese Signale können dann vom SPS-Programm verarbeitet werden.

Beispiel für einen digitalen Eingang: Ist ein Schalter gedrückt Ja/Nein?

Beispiel für einen analogen Eingang: Temperaturerfassung.

Ausgabe-Baugruppen

Mit Ausgabe-Baugruppen können digitale oder analoge Signale nach außen gegeben werden.

Es kann z.B. ein Ventil angesteuert (digitaler Ausgang) oder die Drehzahl eines Motors eingestellt werden (analoger Ausgang).

Sonder-Baugruppen

Es gibt noch eine Vielzahl anderer Baugruppen, die spezielle Aufgaben übernehmen.

Beispiel: Kommunikationsbaugruppen, Regelbaugruppen, Zählbaugruppen, Positionierbaugruppen.

Bus-System

Das Bus-System ermöglicht den Datenaustausch zwischen den einzelnen Baugruppen und der CPU.

Der Bus besteht aus einem Adressbus, mit dem die Adressen der einzelnen Baugruppen angesprochen werden, einen Datenbus, mit dem Daten z.B. vom Eingabe- zum Ausgabegerät übertragen werden, und einen Steuerbus, mit dem Signale zur Steuerung innerhalb des Automatisierungsgerätes übertragen werden.



SPS-Programmierung mit STEP® 5

 

Darstellungsarten

Bei speicherprogrammierbaren Steuerungen (SPS) werden Automatisierungsaufgaben in Form von Steuerungsprogrammen formuliert. Hier legt der Anwender in einer Reihe von Anweisungen fest wie das Automatisierungsgerät (AG) die Anlage steuern oder regeln soll. Damit das AG das Programm "verstehen" kann, muß es in einer ganz bestimmten Sprache, der Programmiersprache, nach festgelegten Regeln geschrieben sein. Bei der Baureihe SIMANTIC® S5 von SIEMENS ist die Programmiersprache STEP® 5 entwickelt worden. Eine solche SPS-Programmiersprache kennt für die Programmanweisungen zur Steuerung der Ablaufschritte entsprechend DIN 19 239 drei verschiedene Darstellungsarten:

Darüber hinaus können Anweisungen als mathematische Gleichung der Schaltfunktion geschrieben werden.

Funktionsplan

FUP ist eine graphische Darstellungsart; Sie verwendet für die Anweisungen Symbole die in DIN 40 700 festgelegt sind. Die Funktionsbausteine werden durch Rechtecke in einem Netzwerk dargestellt und durch Signallinien verbunden. An der linken Seite eines Funktionsbausteins sind die Eingänge angeordnet, rechts sind die Ausgänge oder das Funktionsergebnis plaziert.

Kontaktplan

KOP ist ebenfalls eine graphische Darstellungsart. Die Symbole (DIN 40 700) werden in einem Netzwerk, ähnlich den Strompfaden eines Relaiskontaktplans, dargestellt. Der Kontaktplan ist horizontal aufgebaut. Eingänge werden mit Hilfe von eckigen Klammern dargestellt, Ausgänge durch runde Klammern.

(Die Symbole sind in den USA gebräuchlich.)

Anweisungsliste

Die Anweisungsliste AWL- ist die leistungsfähigste aller Darstellungsarten. Mit ihr kann der gesamte Befehlsvorrat einer SPS geschrieben werden. Mit Hilfe der Programmiersoftware läßt sich dann auch die AWL als FUP oder KOP darstellen. Allerdings setzt das Programmiergerät den Funktionsplan und den Kontaktplan in eine Anweisungsliste um. Im Speicher des Automatisierungsgeräts wird das erstellte Programm im Maschinencode MC 5 hinterlegt.

Eine AWL-Zeile für eine Steuerungsanweisung im SPS-Programm besteht aus Speicheradresse, Operation und Operand.

Der Operand besteht aus der Operandenkennzeichnung gefolgt von der Byte-Nummer und der Bit-Nummer. Operanden werden angesprochen, indem man ihre Kennzeichung bei der Operation angibt.

Wichtige Operanden der AWL sind vom Typ E für Eingänge, A für Ausgänge, M für Merker, T für Zeitfunktionen (Timer) und Z für Zähler.

Eine SPS-Programmiersprache gibt meist zwei Möglichkeiten des Programmaufbaus: lineare Programmierung bei kleineren, unverzweigten Programmen und strukturierte Programmierung bei größeren, komplexeren Programmen.


Kompatibilität zwischen den Darstellungsarten

Jede Darstellungsart besitzt besondere Eigenschaften. Ein Programmbaustein, der in der AWL programmiert wurde, kann deshalb nicht ohne weiteres in FUP oder KOP ausgegeben werden. Auch die graphischen Darstellungsarten sind untereinander nicht kompatibel. Programme in FUP oder KOP können jedoch immer in AWL übersetzt werden. Das folgende Bild stellt diese Aussage in einem Mengendiagramm dar.


Lineare und Strukturierte Programmierung

Bei linearer Programmierung wird das Programm nur in einen einzigen Baustein geschrieben, der keine Verzweigung zu weiteren Bausteinen enthält. Bei strukturierter Programmierung wird das SPS-Programm in kleine in sich abgeschlossene Bausteine zerlegt.

Die strukturierte Programmierung erspart Zeit und Kosten bei der Programmierung, denn es können mehrere Programmierer gleichzeitig an einem Projekt arbeiten. Ausserdem erleichtert ein strukturiertes Programm die Fehlersuche bei Inbetriebnahme und Wartung. Zur Strukturierung werden vier Strukturelemente eingesetzt:

Organistationsbaustein (OB): Er legt die Reihenfolge der Bearbeitung für das Programm fest und enthält die Aufrufe der untergeordneten Bausteine (Unterprogramme). Vom OB aus wird in die benötigten Bausteine verzweigt. Nach dem Abarbeiten des aufgerufenen Bausteins springt das Programm zum OB zurück und wird dort fortgesetzt. Die Bausteinaufrufe werden mit Sprungbefehlen programmiert. Ist der OB abgearbeitet beginnt der Prozessor des AG wieder mit dem ersten OB-Befehl.

Programmbausteine (PB): Sie enthalten technologisch zusammengehörende Programmteile, z.B. den Ablauf einer Schrittkette, und sie können andere Bausteine aufrufen.

Funktionsbausteine (FB): Sie enthalten häufig verwendete, komplexe Funktionen für wichtige Anwendungen, z.B. Sprungfunktionen, Schiebefunktionen und Umwandlungsfunktionen. Dem FB können beim Aufruf aktuelle Operanden und/oder Konstanten, Parameter genannt, übergeben werden.

Datenbausteine (DB): Sie dienen zum Zwischenspeichern von festen und variablen Daten und zum Hinterlegen von Texten, die von anderen Bausteinen bearbeitet werden.

Zum Aufruf von Bausteinen sowie zum Rücksprung in den aufrufenden Baustein dienen verschiedene Sprungbefehle und Rücksprungbefehle. In STEP 5 z.B. werden die nachfolgenden Anweisungen eingesetzt:

 

STEP® 5 Operationen

Die Programmiersprache STEP 5 unterscheidet drei Arten von Operationen:

Programmiersprache STEP® 5

 

Grundoperationen

Ergänzende Operationen

Systemoperationen

Anwendungsbereich

In allen Bausteinen

Nur in Funktions-bausteinenen

Nur in Funktions-bausteinen

Darstellungsarten

AWL, FUP, KOP

AWL

AWL

Besonderheiten

   

Für Anwender mit guten Systemkenntnissen

 

Verknüpfungsoperationen

Verknüpfungsoperationen sind Binäroperationen für Bit-Operanden, z.B. für Eingangs- und Ausgangsoperanden und Merker, sie legen die Bedingungen fest, unter denen ein Steuerungsschritt ablaufen soll.

Benennung

Operation

AWL

Verbal

UND-Verknüpfung

U

U E 0.0

U E 0.1

= A 0.0

BE

Wenn E 0.0 UND E 0.1 "1" ist, dann A 0.0 auf "1" schalten.

ODER-Verknüpfung

O

O E 0.0

O E 0.1

= A 0.0

BE

Wenn E 0.0 ODER E 0.1 "1" ist, dann A 0.0 auf "1" schalten.

UND-NICHT-Verknüpfung

UN

UN E 0.0

UN E 0.1

= A 0.0

BE

Wenn E 0.0 UND E 0.1 "0" ist, dann A 0.0 auf "1" schalten.

UND-NICHT-Verknüpfung

mit Merker

U

UN

U E 0.0

U E 0.1

= M 5.0

UN M 5.0

= A 0.0

BE

Das Ergebnis der UND-Verknüpfung wird einem Merker zugewiesen, der dann negiert dem Ausgang A 0.0 zugewiesen wird.

ODER-NICHT-Verknüpfung

mit Merker

O

UN

O E 0.0

O E 0.1

= M 5.0

UN M 5.0

= A 0.0

BE

Das Ergebnis der ODER-Verknüpfung wird einem Merker zugewiesen, der dann negiert dem Ausgang A 0.0 zugewiesen wird.

UND- vor

ODER-

Verknüpfung

U

O

U E 0.0

U E 0.1

O E 0.2

= A 0.0

BE

Das Ergebnis der UND-Verknüpfung führt auf eine ODER-Verknüpfung.

ODER- vor

UND-

Verknüpfung

O

U

O E 0.0

O E 0.1

U E 0.2

= A 0.0

BE

Das Ergebnis der ODER-Verknüpfung führt auf eine UND-Verknüpfung.

Setzen und

Rücksetzen

S

R

U E 0.0

S A 0.0

U E 0.1

R A 0.0

BE

Wenn E 0.0 "1" ist, wird A 0.0 auf "1" gesetzt. A 0.0 bleibt "1", wenn E 0.0 wieder "0" wird. Erst wenn E 0.1 "1", wird A0.0 auf "0" rückgesetzt.

Soll der Ausgang gesetzt werden, wenn beide Eingänge "1" sind, muß der Setzbefehl nach dem Rücksetzbefehl stehen (Setzdominanz). Soll der Ausgang rückgesetzt werden, wenn beide Eingänge "1" sind muß der Rücksetzbefehl nach dem Setzbefehl stehen (Rücksetzdominanz).

 

Bearbeitung eines STEP® 5 Programms im Automatisierungsgerät

Bislang wurde schon mehrfach auf die Programmbearbeitung eines SPS- Programms eingegangen. Allerdings wurden dabei nicht die zusätzlichen Aufgaben des Prozessors während eines Programmzykluses berücksichtigt. Dieser muß innerhalb eines Zykluses noch andere Dinge abarbeiten, als die normale Programmbearbeitung erfordern würde. Hierzu zählen unter anderem die alarm- bzw. zeitgesteuerte Programmbearbeitung.
Vor der Bearbeitung des Anwenderprogramms muß der Prozessor zunächst eine Betriebssystemroutine durchlaufen, in der auf Anfragen vom Programmiergerät geprüft wird. Falls eine Anfrage vorliegt, werden Daten über die Schnittstelle gesendet. Danach beginnt die eigentliche Programmbearbeitung.
Hierbei wird zunächst eine Zyklusüberwachungszeit angestoßen, die überwacht in welcher Zeit das SPS-Programm bearbeitet wird.
Wird hierbei eine bestimmte Zeit (meistens 200ms) überschritten, so geht das Automatisierungsgerät in den STOP-Zustand und unterbricht die Programmbearbeitung, so daß das Programmieren einer Endlosschleife verhindert wird.
Anschließend wird vom Prozessor das sogenannte Prozeßabbild der Eingänge (PAE) aus den Eingangsbaugruppen geladen, in dem der Zustand eines Eingangs hinterlegt ist. Dieser Zustand "1" oder "0" gilt für den gesamten Programmdurchlauf, unabhängig von zeitgleichen Änderungen an den Eingängen.
Danach wird das eigentliche Anwenderprogramm (Anweisungen im OB1) durchlaufen. Von diesem kann über die bereits erwähnten Sprungbefehle in Programmblöcke verzweigt werden.
Während der Abarbeitung des Anwenderprogramms werden die Zustände der Ausgänge im Prozeßabbild der Ausgänge (PAA), und die Merkerzustände im Systembereich für Merker abgelegt.
Wenn nun der Prozessor auf die Anweisung "BE" im OB1 trifft, werden die Zustände der Ausgänge, sprich der Inhalt des PAA, an die Ausgangsbaugruppen gesandt.
Danach ist der Zyklus beendet und der Prozessor beginnt von neuem.

Nachteile von SPS

An dieser Beschreibung sind die Nachteile einer SPS zu erkennen: