Speicherprogrammierbare Steuerung (SPS)

1.  Geschichte

Speicherprogrammierbare Steuerungen wurden Anfang der 1970er Jahre in den USA entwickelt. 1969 stellten die Ingenieure Richard E. Morley  (Modicon), und  Odo J. Struger  (Mitarbeiter von Allen-Bradley), die Modicon 084 vor. Die Modicon 084 war das erste bekannte halbleiterbasierte Logiksystem dieser Art.

Wenige Jahre später wurden die ersten SPS von den Firmen Klaschka und Pilz auf dem deutschen Markt eingeführt. Erst 1975 stellte Siemens seine erste SPS mit der Bezeichnung S3 vor.

In den ersten Jahren beschränkte sich die Anwendung der noch jungen SPS-Technologie auf große technische Anlagen wie Walzwerke mit komplexen Produktionsprozessen. Erst als kleinere Steuereinheiten in großer Stückzahl produziert wurden, wurden die SPS auch für weniger komplexe Maschinen wirtschaftlich anwendbar und ersetzten im Laufe der Zeit immer mehr die verbindungsprogrammierten (verdrahteten) Steuerungen. Anfang der 80er Jahre entsprach die Leistungsfähigkeit einer SPS  ungefähr einer verbindungsprogrammierten Steuerung mit 50 bis 250 Hilfsschützen.

Zu Beginn der Entwicklung führten SPS lediglich binäre Verknüpfungen auf dem Niveau von Schützsteuerungen aus. Heute führen SPS alle Operationen der höheren Mathematik aus, bis hin zu wortverarbeitender Arithmetik, Programmverzweigungen und Unterprogrammtechniken. Darüber hinaus ist es inzwischen Möglich mehrere SPS miteinander zu vernetzen und somit äußerst leistungsfähige und komplexe Automatisierungsstrukturen zu erschaffen.

Parallel dazu entwickelten sich die Programmiergeräte. Anfang der 1970er Jahre waren die Programmiergeräte einfache Spezialgeräte mit winzigen, teilweise einzeiligen, Displays und numerischer Benutzeroberfläche. Parallel zu der Entwicklung der Personal Computer folgten in den 90er notebookähnliche Spezialgeräte. In der Gegenwart kommen gewöhnliche, windowsbasierende Notebooks, mit entsprechender Software wzb. STEP 7 oder TIA (Siemens) zum Einsatz. Heutzutage liegt die technische Herausforderung darin,  veraltete Programmiersoftware auf aktuellen Betriebssystemen lauffähig zu halten, da Jahrzehnte alte Speicherprogrammierbare Steuerungen bis dato zuverlässig ihre Aufgabe erfüllen.

2. Aufbau einer SPS (Hardware)

Speicherprogrammierbare Steuerungen sind grundlegend aufgabenneutral aufgebaut. Dabei wird in zwei Varianten unterschieden. Bei Kompaktsteuerungen, z.B. der Siemens Logo!,  sind alle notwendigen Baugruppen in einem Gehäuse kompakter Bauart integriert. Kompaktsteuerungen sind nur für einfache Automatisierungslösungen geeignet und auch nur bedingt erweiterbar.  Die klassische SPS ist, von der Grundausstattung ausgehend, modular in verschiedene Baugruppen unterteilt, sodass  jede SPS-Einheit individuell auf den Verwendungszweck angepasst wird. Die mechanische Montage der Baugruppen erfolgt auf einer Profilschiene (Rack) und folgt festen Regeln. Von links nach rechts erfolgt der Aufbau Spannungsversorgung, CPU, Eingangskarten und schließlich die Ausgangskarten. Dabei sind die Montageplätze (Steckplätze) in aufsteigender Reihenfolge nummeriert.

2.1  Stromversorgungsbaugruppe (PS)

 Die Stromversorgungsbaugruppe (power supply) erzeugt aus den Netzspannungen AC 115V, AC 230V und DC 24V die Betriebsspannungen von 24 V für die SPS. Darüber hinaus werden Überwachungs- und Meldefunktionen erfüllt. In einigen Modellen können die Stromversorgung und die CPU in einer Baugruppe verbaut sein.

2.2   Zentralbaugruppe (CPU)

 

Zu den Systembereichen einer CPU gehören:

  • Adressregister
  • Akkumulator (Akku)
  • Merker
  • Rechenwerk
  • Speicher
  • Steuerwerk
  • Prozessabbild der Eingänge (PAE)
  • Prozessabbild der Ausgänge (PAA)
  • Zähler
  • Zeiten

Die Zentralbaugruppe beinhaltet die CPU und führt das Anwenderprogramm aus. Sie liest die Signalzustände ein, bearbeitet das Steuerprogramm und steuert die Ausgänge. Zusätzlich zu den allgemeinen Funktionen zur Programmbearbeitung stellt die Zentralbaugruppe Merker, Zeitgeber und Zähler zur Verfügung. Die CPU ist ein auf die Anforderung der der Steuerungstechnik zugeschnittenes Mikroprozessorsystem. Darüber hinaus gehören zur Zentralbaugruppe verschiedene Speicher. Weiterhin versorgt sie den Feldbus mit Spannung und ermöglicht den  Datenaustausch mit anderen Teilnehmern des Systems. Dabei kann die CPU DP- Master oder Slave in einem Feldbus-System sein. Die Zentralbaugruppe ist ausschlagend für die Leistung einer SPS. Je leistungsfähiger die CPU, desto kürzer die Zykluszeit zur Programmbearbeitung.

 

2.3 Speicher der SPS

Mit Hilfe des Programmiergeräts (PG) wird das auszuführende Programm der SPS erstellt. Dieses Programm enthält die auszuführenden Befehle und die Daten zur Hardwarekonfiguration. Diese Daten müssen vom Programmiergerät in die SPS übertragen werden. In der Programmverarbeitung durchlaufen die Informationen drei Speicherbereiche.

Der Ladespeicher wird in den internen und externen Ladespeicher untergliedert. Bei dem internen Speicher handelt es sich im einen gepufferten RAM-Speicher (Random Access Memory). Bei dem Speichertyp RAM handelt es sich um einen flüchtigen Speicher. Dies bedeutet, dass sämtliche Daten bei Spannungsverlust verloren gehen. Aus diesem Grund wird der SPS eine Pufferbatterie eingesetzt, die einen Datenverlust bei einem Stromausfall verhindert. Alternativ werden nichtflüchtige Speicher vom TYP EEPROM eingesetzt, welche allerdings nur geringe Datenmengen speichern können. Der Ladespeicher kann durch eine RAM Memory Card oder eine Flash Memory Card erweitert werden. Die Flash Memory Card ist dann der externe Ladespeicher und hat den Vorteil, dass auch bei Spannungsverlust, die Daten erhalten bleiben (Remanenz). Dieser Speichertyp ist nicht flüchtig. Im Ladespeicher sind das Betriebssystem, das Anwenderprogramm und die Konfigurationsdatei der Hardware abgespeichert.

Der Arbeitsspeicher ist ein in die CPU integrierter RAM-Speicher. Im Arbeitsspeicher befinden sich der Code des Anwenderprogramms und Anwenderdaten. Diese Daten werden vom Betriebssystem vom Ladespeicher in den Arbeitsspeicher kopiert. Die Programmbearbeitung erfolgt ausschließlich im Arbeitsspeicher und Systemspeicher.

Der Systemspeicher enthält die Operanden, die im aktuellen Programm aufgerufen werden. Die Operanden sind zu Gruppen (Operandenbereiche) zusammengefasst, dabei besitzt jede CPU eine spezifische Anzahl an Operanden. Operanden sind unter anderem Eingänge mit denen der Status von Tastern und Sensoren abgefragt werden oder Ausgänge mit denen Meldeleuchten gesteuert werden. Der Systemspeicher enthält die Operandenbereiche Merker, Zeiten, Zähler, die Prozeßabbilder der Eingänge (PAE = Prozeßabbild der Eingänge) und Ausgänge (PAA = Prozeßabbild der der Äusgänge), sowie die Lokaldaten. Bei Lokaldaten handelt es sich um temporäre Zwischenergebnisse bei der Programmbearbeitung. Der Vollständigkeit halber muss noch das Steuerwerk und Akkumulatoren erwähnt werden. Das Steuerwerk gibt nach Anlegen der Spannung einen Impuls ab, der die nicht-remanenten Operanden und Akkumulatoren löscht. Zur Programmbearbeitung geht das Steuerwerk eine Programmzeile nach der anderen ab. Akkumulatoren sind Datenregister für Rechenergebnisse der CPU. Der Systemspeicher ist nicht erweiterbar.

2.4   Signalbaugruppen (Signalmodule):

Signalbaugruppen sind Schnittstellen zwischen ein- und ausgehenden Signalen. Folglich wir den grundsätzlich zwischen Eingangsbaugruppe und Ausgangsbaugruppe unterschieden.  Damit die SPS Signale aus der Anlage registrieren kann, ist die Eingangsbaugruppe notwendig, in die alle eingehenden Signale gehen. Dazu zählen zum Beispiel Schalter und Sensoren. Je nach Anforderung können mehrere Eingangsbaugruppen zu einer SPS gehören. Alles was die SPS regelt und steuert, also Befehle an andere Geräte,  wird mit der Ausgangssignalgruppe verbunden. Dazu zählen zum Beispiel Relais und Leistungsschütze, welche wiederum Motoren, Aktoren und Meldeleuchten steuern. Auch die Ausgangsbaugruppen können je nach Anforderung mehrfach verbaut werden.

2.5  Sonderbaugruppen

Neben der oben aufgezeigten Grundausstattung einer SPS gibt es für spezielle Anforderungen Sonderbaugruppen.

Funktionsbaugruppen:

Funktionsbaugruppen verarbeiten zeitkritische und speicherintensive Aufgaben. Diese kommen zum Einsatz bei zum Beispiel besonders zeitkritischen Regelungsaufgaben oder beim schnellen Positionieren.

Kommunikationsprozessor (CP):

 Der Kommunikationsprozessor wird dann eingesetzt, wenn die Kommunikation nach besonderen Kriterien erfolgen muss. Dies tritt dann ein,  wenn sonst nicht unterstützte Schnittstellen und damit verbundene Netzwerkprotokolle benötigt werden. Auch sicherheitsrelevante Aufgaben in Form von Datenverschlüsselung und einer Firewall übernimmt der Kommunikationsprozessor. Weiterhin stellt diese Baugruppe eine fortlaufende Uhrzeitsynchronisation zur Verfügung.

 Anschaltungsbaugruppe:

 Die  Anschaltbaugruppe ist ein Verbindungsstück für komplexe Speicherprogrammierbare Steuerungen, die aufgrund der Anzahl der Baugruppen, mehr als eine Zeile aufweisen.

 3.  Programmbearbeitung

Unter dem Aspekt des Verarbeitungsablaufs existieren drei verschiedene SPS-Typen:

Zyklusorientierte Verarbeitungsablauf:

 Die Zyklusorientierte SPS sind die am häufigsten verwendeten Speicherprogrammierbaren Steuerungen. Zyklusorientierte SPS arbeiten nach dem EVA-Prinzip). Das EVA-Prinzip ist das Grundschema der Datenverarbeitung: Eingabe, Verarbeitung, Ausgabe. Folgende Verarbeitung erfolgt dabei zyklisch:

1. Eingabe: Mit Beginn des Zyklus fragt das fest installierte Betriebssystem die Zustände der Eingänge (PAE = Prozessabbild der Eingänge)) ab. Während der Programmbearbeitung bleiben diese für diesen Zyklus fest bestehen.

2. Verarbeitung: Die CPU arbeitet nun Schritt für Schritt alle Befehle des Programmspeichers ab.

3. Ausgabe: Das Ergebnis der abgearbeiteten Befehle wird an die Ausgänge (PAA = Prozessabbild)  weitergegen. Sobald die letzte Anweisung ausgeführt, das Ergebnis an die Ausgabeebene und an die Peripherie weiter gegen wurde, beginnt der Zyklus erneut. Zykluszeiten, also die Dauer bis der Programmzyklus einmal vollständig durchlaufen wurde, liegen ca. zwischen einer und zehn Millisekunden.

 

 

Zyklischer Verarbeitungsablauf mit Unterbrechungsverarbeitung:
Der zyklische Verarbeitungsablauf mit Unterbrechungsverarbeitung arbeitet grundsätzlich wie die Zyklus orientierte SPS nach dem EVA-Prinzip. Beide Verfahren unterscheiden sich dadurch, dass ein Ereignis zur Unterbrechung des Programms führt und ein alternativer Programmcode aufgerufen wird. Sobald dieser Ausgeführt wurde, kehrt der Ablauf an den Punkt der Unterbrechung zurück und das ursprüngliche Programm läuft weiter. Ein zyklischer Verarbeitungsablauf mit Unterbrechungsverarbeitung ist dann sinnvoll, wenn es sich zeitkritische Aufgaben handelt, die mit der Zykluszeit in Konflikt stehen.

Ereignisgesteuerter zyklischer Verarbeitungsablauf:
Ein weiterer Typ ist die ereignisgesteuerte Programmierung, welche alle eintretenden Ereignisse auflistet und entsprechende Programmteile aufruft. Dieser SPS-Typ arbeitet zyklisch, ereignisorientiert und auch objektorientiert. In diesem Prioritäten gesteuerten Betriebssystem lassen sich mehrere Programmteile parallel (Multitasking) ausführen.