SPS – Speicherprogrammierbare Steuerung
Abkürzung: SPS
Eine speicherprogrammierbare Steuerung ist ein Rechner, der Maschinen und Anlagen steuert. Sie liest Signale von Sensoren ein, verarbeitet sie nach einem gespeicherten Programm und schaltet daraufhin Ventile, Motoren und Aktoren. Im englischen Sprachraum heißt sie Programmable Logic Controller, kurz PLC.
Der Name beschreibt den entscheidenden Punkt: Die Funktion liegt in einem Programm im Speicher und nicht in der Verdrahtung. Ändert sich die Anforderung, wird das Programm geändert — nicht der Schaltschrank.
Was es vorher gab
Bis in die 1960er Jahre wurden Steuerungen aus Relais aufgebaut. Jede logische Bedingung entsprach einem Kontakt, jede Änderung einer Umverdrahtung. Eine Anlage mit einigen hundert Relais war unübersichtlich, wartungsintensiv und bei jeder Umstellung tagelang außer Betrieb. Diese Bauweise heißt heute rückblickend verbindungsprogrammierte Steuerung (VPS).
1968 schrieb General Motors eine Ausschreibung für einen Ersatz aus. Modicon lieferte 1969 das erste Gerät, den Modicon 084. Aus demselben Haus stammt zehn Jahre später Modbus, das Protokoll, über das solche Geräte miteinander sprachen.
Die Relaisherkunft prägt die SPS bis heute. Die verbreitetste Programmiersprache ist ein Schaltplan mit Kontakten und Spulen, und viele Begriffe der Branche stammen aus der Relaistechnik.
Der Zyklus
Eine SPS arbeitet nicht ereignisgesteuert, sondern in einer endlosen Schleife. Jeder Durchlauf besteht aus drei Schritten:
- Eingänge lesen. Alle Eingangssignale werden auf einmal eingelesen und in einen Speicherbereich kopiert, das Prozessabbild der Eingänge.
- Programm abarbeiten. Das Anwenderprogramm läuft von vorn bis hinten durch und rechnet ausschließlich mit diesem Abbild.
- Ausgänge schreiben. Die berechneten Ausgangswerte werden gemeinsam an die Baugruppen übergeben.
Die Dauer eines Durchlaufs ist die Zykluszeit und liegt je nach Gerät und Programmgröße bei wenigen Millisekunden. Sie ist die wichtigste Größe beim Entwurf, denn sie bestimmt, wie schnell die Steuerung auf etwas reagieren kann.
Das Prozessabbild hat einen Zweck: Es hält die Eingangswerte während eines Durchlaufs konstant. Ohne das könnte derselbe Eingang am Anfang und am Ende desselben Programms verschiedene Werte liefern, und die Logik würde sich widersprechen.
Daraus folgt aber die klassische Falle: Ein Signal, das kürzer ist als die Zykluszeit, wird nicht gesehen. Ein Taster, der 3 ms gedrückt wird, geht an einer Steuerung mit 10 ms Zykluszeit verloren, wenn er zwischen zwei Abtastzeitpunkten liegt. Für schnelle Signale gibt es deshalb Baugruppen mit eigenem Zähler oder Interrupt-Eingänge, die den Zyklus unterbrechen.
Überschreitet die Programmlaufzeit eine eingestellte Grenze, greift die Zykluszeitüberwachung und die Steuerung geht in den Stopp-Zustand. Eine Endlosschleife im Anwenderprogramm führt also zum Anlagenstillstand, nicht zu einem hängenden Rechner.
Aufbau
Eine modulare SPS besteht aus einem Baugruppenträger, in dem Module stecken und über eine Rückwandverbindung miteinander kommunizieren:
| Baugruppe | Aufgabe |
|---|---|
| Netzteil | Versorgung, meist 24 V |
| Zentraleinheit (CPU) | Programmabarbeitung, Speicher, Kommunikation |
| Digitale Eingänge | Schalter, Taster, Endlagen, Initiatoren |
| Digitale Ausgänge | Schütze, Ventile, Meldeleuchten |
| Analoge Eingänge | Temperatur, Druck, Durchfluss, Füllstand |
| Analoge Ausgänge | Stellsignale für Regelventile und Umrichter |
| Kommunikationsbaugruppen | Feldbus, Ethernet, serielle Schnittstellen |
Kleinsteuerungen fassen alles in einem Gehäuse zusammen und heißen Kompaktsteuerung. Am anderen Ende steht die Soft-SPS, bei der die Abarbeitung als Software auf einem Industrie-PC läuft, mit einer Echtzeiterweiterung des Betriebssystems.
Dezentrale Peripherie sitzt nicht im Schaltschrank, sondern an der Maschine, und wird über einen Feldbus angebunden. Das ersetzt lange Signalleitungen durch ein Buskabel — der ursprüngliche Grund, aus dem Feldbusse überhaupt entstanden sind.
Programmierung
Die Norm IEC 61131-3 beschreibt fünf Sprachen, die ein Gerät anbieten kann:
- Kontaktplan (KOP) — Schaltplanlogik mit Kontakten und Spulen. Die verbreitetste Form, weil sie dem Relaisschaltplan entspricht und für Elektrofachkräfte sofort lesbar ist.
- Funktionsplan (FUP) — logische Verknüpfungen als Blöcke mit Ein- und Ausgängen.
- Anweisungsliste (AWL) — textuelle Befehlsfolge, nahe am Maschinencode. In neueren Werkzeugen rückläufig.
- Strukturierter Text (ST) — Hochsprache mit Schleifen, Bedingungen und Funktionen, vergleichbar mit Pascal. Die Wahl für Berechnungen und Datenverarbeitung.
- Ablaufsprache (AS) — Schrittkette aus Zuständen und Übergangsbedingungen, passend für Abläufe mit festen Phasen.
Die Sprachen lassen sich innerhalb eines Projekts mischen: die Verriegelungslogik in KOP, die Rezeptverwaltung in ST.
Trotz der gemeinsamen Norm sind Programme zwischen Herstellern praktisch nicht austauschbar. Die Sprachen stimmen überein, der Umgang mit Hardware, Bausteinbibliotheken und Adressierung nicht. Ein Wechsel des Steuerungsherstellers bedeutet eine Neuprogrammierung.
Merker und remanente Daten
Neben Ein- und Ausgängen hat eine SPS internen Speicher, der traditionell in Bereiche geteilt ist: Merker für Zwischenergebnisse und Zustände, Zeiten für Verzögerungen, Zähler für Stückzahlen und Datenbausteine für strukturierte Daten.
Ein Teil dieses Speichers ist remanent: Er behält seinen Inhalt über einen Spannungsausfall hinweg, gepuffert durch Batterie oder nichtflüchtigen Speicher. Dort liegen Betriebsstundenzähler, Rezepte und Zustände, die nach dem Wiedereinschalten weitergelten müssen. Was nicht remanent ist, startet mit dem Anfangswert.
Welcher Zustand nach einem Netzausfall gelten soll, ist eine Entwurfsentscheidung und keine technische Vorgabe. Eine Anlage, die nach dem Einschalten dort weitermacht, wo sie aufgehört hat, kann gefährlich sein — deshalb verlangen viele Abläufe ein ausdrückliches Quittieren statt eines automatischen Wiederanlaufs.
Sicherheitstechnik
Eine gewöhnliche SPS darf keine Schutzfunktion übernehmen. Nothalt, Schutztürüberwachung und Lichtschranken laufen über eine Sicherheitssteuerung, deren Baugruppen zweikanalig aufgebaut sind, sich gegenseitig überwachen und bei einem Fehler in einen definierten Zustand gehen. Die Anforderungen dafür stehen in IEC 61508 und IEC 62061.
Üblich sind heute Geräte, die beides in einem Gehäuse vereinen: Standardlogik und Sicherheitslogik in getrennten, zertifizierten Programmteilen. Die Trennung bleibt bestehen, auch wenn die Hardware dieselbe ist.
Netzanbindung und Risiko
Ältere Steuerungen wurden für abgeschlossene Anlagennetze entworfen. Authentisierung war nicht vorgesehen: Wer die Steuerung über das Netz erreicht, kann in vielen Fällen das Programm lesen, verändern oder die Steuerung anhalten. Dieselbe Offenheit findet sich in den zugehörigen Protokollen, etwa bei Modbus TCP.
Daraus folgt die wichtigste Regel für den Betrieb: Steuerungen gehören in ein eigenes, abgetrenntes Netzsegment, erreichbar nur über eine kontrollierte Verbindung. Eine Fernwartung läuft über einen Zugang mit Authentisierung, nicht über eine ins Internet weitergeleitete Portfreigabe.
Neuere Geräte bringen Benutzerverwaltung, Schutz des Programms und verschlüsselte Verbindungen mit. In vorhandenen Anlagen ist das die Ausnahme, weil Steuerungen zwanzig Jahre und länger laufen.
Abgrenzung
Ein Mikrocontroller führt ebenfalls ein Programm aus, hat aber keine Baugruppen für Industriesignale, keine genormten Sprachen und keine Werkzeuge für Diagnose im laufenden Betrieb. Er ist ein Bauteil, die SPS ein Gerät.
Ein Industrie-PC ist die Hardware, auf der eine Soft-SPS laufen kann. Ohne Echtzeiterweiterung ist er keine Steuerung, weil die Zykluszeit nicht zugesichert ist.
Eine CNC-Steuerung bewegt Achsen nach Bahnvorgaben und rechnet dafür Interpolationen. Sie arbeitet oft neben einer SPS, die alles Übrige der Maschine übernimmt.
Normen
- IEC 61131-1 – Speicherprogrammierbare Steuerungen, Allgemeine Informationen
- IEC 61131-2 – Betriebsmittelanforderungen und Prüfungen
- IEC 61131-3 – Programmiersprachen
- IEC 61508 – Funktionale Sicherheit sicherheitsbezogener elektrischer Systeme
- IEC 62061 – Funktionale Sicherheit sicherheitsbezogener Steuerungssysteme an Maschinen