Speicherprogrammierbare Steuerung

Eine speicherprogrammierbare Steuerung (SPS; englisch: programmable logic controller, PLC) ist ein Gerät, das zur Steuerung oder Regelung einer Maschine oder Anlage eingesetzt und auf digitaler Basis programmiert wird. Sie löst die „festverdrahtete“ verbindungsprogrammierte Steuerung in den meisten Bereichen ab.

Geschichte 
Richard E. Morley (Modicon) und Odo J. Struger (Allen-Bradley) kann man als die Väter der SPS bezeichnen. Morley stellte 1969 eine Modicon 084 als solid-state sequential logic solver (Halbleiter-basierendes sequentielles Logiksystem) vor.

Struger war unter anderem maßgeblich an der Formulierung der zugehörigen Instituts-Standards in den USA beteiligt.

Morley wehrte sich gegen die Bezeichnung „Computer“. Er sah hierdurch die Akzeptanz bei den bisher tätigen Steuerungsfachleuten gefährdet. Daher wurde das Ladder Diagram entwickelt, das einem Stromlaufplan ähnelt. Danach gab es eine Eins-zu-eins-Umsetzung von Öffnern, Schließern, Parallel- und Serienverschaltung auf das neue Konzept.

Funktion 

Eine speicherprogrammierbare Steuerung hat im einfachsten Fall Eingänge, Ausgänge, ein Betriebssystem (Firmware) und eine Schnittstelle, über die das Anwenderprogramm geladen werden kann. Das Anwenderprogramm legt fest, wie die Ausgänge in Abhängigkeit von den Eingängen geschaltet werden sollen.

Das Betriebssystem stellt sicher, dass dem Anwenderprogramm immer der aktuelle Zustand der Geber zur Verfügung steht. Anhand dieser Informationen kann das Anwenderprogramm die Ausgänge so schalten, dass die Maschine oder die Anlage in der gewünschten Weise funktioniert.

Die Anbindung der SPS an die Maschine bzw. Anlage erfolgt mit Sensoren und Aktoren. Hinzu kommen Statusanzeigen. Die Sensoren sind an die Eingänge der SPS geschaltet und vermitteln der SPS das Geschehen in der Maschine oder Anlage. Beispiele für Sensoren sind z. B. Taster, Lichtschranken, Inkrementalgeber, Endschalter, oder auch Temperaturfühler, Füllstandssensoren etc. Die Aktoren sind an den Ausgängen der SPS angeschlossen und bieten die Möglichkeit, die Maschine oder Anlage zu steuern. Beispiele für Aktoren sind Schütze zum Einschalten von Elektromotoren, elektrische Ventile für Hydraulik oder Druckluft, aber auch Module für Antriebssteuerungen (Motion Control, Drehzahlsteuerung mit kontrollierter Beschleunigung oder Verzögerung, Schrittmotorsteuerungen).

Eine SPS kann in sehr verschiedener Weise realisiert sein, z. B. als Einzelgerät („Baugruppe“), als PC-Einsteckkarte, als Softwareemulation etc. Weit verbreitet sind modulare Lösungen, bei denen die SPS aus einzelnen Steckmodulen (ebenfalls als Baugruppen bezeichnet) zusammengesetzt wird. Das Thema Antriebssteuerung (Motion Control, Drehzahlsteuerung mit kontrollierter Beschleunigung oder Verzögerung) wird zunehmend mit der SPS verbunden.

Einzelgeräte bieten Vorteile bei der Miniaturisierung und sind für kleinere Automatisierungsaufgaben preiswerter. Ein modularer Aufbau bietet die typischen Vorteile eines Baukastensystems: Hohe Flexibilität, Erweiterbarkeit, in größeren Anlagen Kostenersparnis durch die Verwendung vieler gleicher Module, die in großen Stückzahlen hergestellt werden können.

Auf vielen Gebieten hat die SPS die zuvor festverdrahtete Anordnung von Relais abgelöst (Verbindungsprogrammierte Steuerung). Preiswerte Baugruppen, Standardisierung der Steuerungsaufgabe und hohe Flexibilität sind kennzeichnend für das SPS-Konzept.

Derzeitige SPS-Baugruppen übernehmen neben der Kernaufgabe (Steuerung und Regelung) zunehmend auch weitere Aufgaben: Visualisierung (Gestaltung der Schnittstelle Mensch-Maschine), Alarmierung und Aufzeichnung aller Betriebsmeldungen (Data-Logging).

Ebenfalls erfolgt zunehmend die Verbindung der Sensoren und Aktoren mit der SPS über einen Feldbus und nicht mehr diskret. Hierdurch verringert sich der Verdrahtungsaufwand. Seit einiger Zeit werden auch nicht nur Sensoren und Aktoren, sondern Teile der SPS wie Eingangs- und Ausgangsbaugruppen über einen Bus und (Bus-)Interfacemodule an eine Zentralstation angebunden (dezentrale Peripherie). Die Bussysteme werden in modernen Anlagen von Netzwerken (Profinet) abgelöst oder durch diese ergänzt. Gegenüber Bussystemen sind Netzwerke (Ethernet) flexibler und schneller.

Schließlich erfolgt auch zunehmend eine Anbindung an die Verwaltungsrechner einer Firma (vertikale Integration). So stehen z. B. immer aktuelle Daten über Fertigungsstände, Lagerbestände etc. zur Verfügung („vernetzte Fabrik“).

So wird der Unterschied zwischen einer modernen SPS und einem Prozessleitsystem immer kleiner. Die weitere technische Entwicklung ist ähnlich stürmisch wie in der Computertechnik ganz allgemein.

Die verschiedenen Konzepte

Unterschiede nach Verarbeitungsablauf 
 Zyklusorientierte SPS
 Eine große Gruppe der SPS-Geräte arbeitet zyklusorientiert, also streng nach dem EVA-Prinzip. Das vom Hersteller fest eingespeicherte Betriebssystem kontrolliert diesen Zyklus. Nach Feststellung der Betriebsbereitschaft aller angeschlossenen Baugruppen wird das Prozessabbild aller Eingänge aktualisiert. Das bedeutet häufig den Status aller Eingangskarten abzufragen. Danach gibt das Betriebssystem die Kontrolle an das Anwenderprogramm ab. Dieses hat als Ergebnis das Prozessabbild der Ausgänge. Nun geht die Kontrolle an das Betriebssystem zurück. Das Prozessabbild der Ausgänge wird an die Peripherie übertragen. Das bedeutet häufig die Ansteuerung der Ausgangskarten. Und dann beginnt der Zyklus von vorne. Typische Zykluszeiten liegen zwischen einer und zehn Millisekunden. Bei leistungsstärkeren Modellen oder kleinen Programmen kann diese auch im Bereich von 100 µs liegen. Es gibt Ausführungen mit festem und solche mit asynchronem Zyklus. Das Anwenderprogramm kann Verzweigungen und bedingte Aufrufe beinhalten, was unterschiedliche Laufzeiten zur Folge hat.
 Zyklische SPS mit Unterbrechungsverarbeitung
Für Sonderfälle gibt es spezielle Eingangskarten, die beim Statuswechsel eines angeschlossenen Sensors an das Betriebssystem einen Alarm (Interrupt) melden. Dieses unterbricht das laufende Programm und ruft ein extra für diese Situation angepasstes Anwenderprogrammmodul (engl. ) auf und setzt danach das unterbrochene Programm fort. So können zeitkritische Aufgaben, die mit der Zykluszeit im Konflikt sind, bewältigt werden.
 Ereignisgesteuerte SPS
 Eine weitere Gruppe arbeitet ereignisgesteuert. Die meisten dieser Systeme sind zugleich auch objektorientiert. Das Betriebssystem listet alle „Ereignisse“ – Statuswechsel eines Sensors – auf und arbeitet in dieser Reihenfolge die entsprechenden Anwenderprogrammteile ab. Alle Sensoren werden berücksichtigt oder kein Sensor wird „verschlafen“. Vorteile hat dieses Konzept im Vergleich mit den zyklusorientierten Systemen in der Regel durch die zusätzliche Objektorientierung, was für die gleichzeitige Visualisierung genutzt werden kann.

Unterschiede nach Modularität 
 Modulare SPS
Die Steuerung besteht aus einzelnen Komponenten, die jeweils eine andere Aufgabe erfüllen. Das einfachste Beispiel wäre eine SPS, die aus einer zentralen Rechenbaugruppe (mit dem Hauptprozessor) und mindestens einer Eingabe und einer Ausgabebaugruppe besteht. Diese Systeme lassen sich durch Hinzufügen von Baugruppen erweitern, wenn etwa mehr Eingänge oder Ausgänge gewünscht werden. Mit spezialisierten Modulen, z. B. einem Modul mit einer seriellen Schnittstelle, lassen sich auch Komponenten wie z. B. Wetterstationen integrieren. Verarbeitung analoger Eingangssignale, komplexe Regelungsmodule und zahlreiche weitere Module können ergänzt werden.
 Kompakt-SPS
Kompaktsteuerungen sind nicht oder nur eingeschränkt erweiterbar, jedoch entsprechend preiswerter und platzsparend. Sie bieten ansonsten dieselben Grundfunktionen wie modulare SPS.
Chip / Eingebettete -SPS
Für kleine Maschinen mit geringem oder mittlerem Volumen. PLCs, die PLC-Sprachen wie Kontaktplan, Flow-Chart/Grafcet,... ausführen können. Ähnlich wie herkömmliche SPS, aber ihre geringe Größe ermöglicht es Entwicklern, sie wie einen Mikrocontroller in kundenspezifische Leiterplatten einzubauen, ohne Programmierkenntnisse, aber mit einer Sprache, die einfach zu verwenden, zu ändern und zu warten ist. Sie liegen zwischen der klassischen SPS / Mikro-SPS und den Mikrocontrollern.

Sonderformen 
Für den Einsatz in mobilen Arbeitsmaschinen und deren hohen Ansprüchen sind seit 1980 Sonderformen auf dem Markt.
„Mobile Automation“: Diese Kompakt-SPS haben aufgrund der großen Umgebungseinflüsse ein geschlossenes Metall-Gehäuse.
Ein weiteres Merkmal ist die Fähigkeit, direkt hydraulische Ventile proportional anzusteuern.
Einsatzfelder sind: Baumaschinen, Kräne, Hebebühnen und Kommunalfahrzeuge.

Weitere Typen und Eigenschaften einer SPS 
Einige Beispiele für verschiedene Baugruppen eines modularen Systems:

 Zentralbaugruppe (Sitz des Hauptprozessors)
 Anschaltungen: Baugruppen zum Anbinden eines Feldbus-Systems
 Busmodule (Schraub- oder Crimpklemmen, Alarmierung)
 Digitale Eingangskarte (meist Potentialtrennung mittels Optokoppler)
 Digitale Ausgangskarte (offener Kollektor oder Relais)
 Analoge Eingangskarte
 Analoge Ausgangskarte

Im Gegensatz dazu gibt es auch integral aufgebaute Steuerungen, d. h. SPS-Systeme, die aus einer einzigen Komplett-Einheit bestehen. Es gibt auch Mischformen.

Eigensicherer oder nicht eigensicherer Aufbau: Eigensichere Anlagen sind elektrisch so ausgelegt, dass auch im Fehlerfall kein Funke entstehen kann, der ein zündfähiges Gemisch zur Explosion bringen könnte. Ein Merkmal solcher Geräte ist die Begrenzung von Ein- und Ausgangsströmen (0 bzw. 4–20 mA). Anwendungsgebiet für eigensichere Geräte sind z. B. Chemieanlagen.

Als Soft-SPS werden Softwarepakete bezeichnet, die auf einem PC lauffähig sind. In der Praxis werden häufig industrietaugliche PC-Ausführungen gewählt, obwohl dies auch mit handelsüblichen Personal Computern möglich ist. Die Peripherieanbindung (Sensoren und Aktoren) erfolgt entweder seriell über Bussysteme oder mit inzwischen handelsüblichen Ein- und Ausgangskarten. Diese Systeme arbeiten ohne einen speziellen Bitprozessor und erreichen derzeit manchmal noch nicht die notwendige Geschwindigkeit. Sie sind daher nur für nicht-zeitkritische Anwendungen geeignet. Als Slot-SPS wird eine Einbaukarte für den PC bezeichnet. Hierauf befinden sich in der Regel ein Bitprozessor und das SPS-Betriebssystem.

Ein weiteres Konzept ist Grundlage für die hochverfügbaren und die sicherheitsgerichteten Geräte. Neben der Ausfallgefahr durch hohe Temperaturen gibt es andere Gründe für den möglichen Ausfall einer Baugruppe. Diese kann man durch den Begriff „Alterung“ zusammenfassen. Dazu gehört auch das Thema Korrosion. Abhängig von der (finanziellen) Schadenshöhe, die durch einen Stillstand der Anlage im Fehlerfall verursacht wird, kann man nun mehrere SPS-Baugruppen einsetzen. Diese arbeiten gleichzeitig an derselben Steuerungsaufgabe (miteinander synchronisiert). Dies ist ein redundantes, mehrkanaliges System. Im Konfliktfall wird eine Alarmmeldung erzeugt und die Anlage läuft weiter. So wird Zeit gewonnen, um die schadhafte Baugruppe auszutauschen. In dem (statistisch) unwahrscheinlichen Fall, dass das Schwestersystem ebenfalls ausfällt, steht die Anlage.

Sicherheitsgerichtete Geräte sind ähnlich aufgebaut. Allerdings führt hier der Konfliktfall dazu, dass die Anlage so schnell wie möglich in den „sicheren“ Zustand gebracht wird. Eine damit verbundene Schadenshöhe ist ohne Belang. Sicherheitsgerichtete Geräte werden z. T. auch als sicherheitsgerichtete speicherprogrammierbare Steuerungen bezeichnet und folglich mit SSPS abgekürzt. Diese Steuerungen werden auch Sicherheits-SPS genannt.

Die Möglichkeiten zur Erstellung des Anwenderprogramms kann man auch unterscheiden. Neben den hierfür vorhandenen Normen ergibt sich die Art und Weise der Programmdarstellung: grafisch oder (nur) als Anweisungsliste. Grafisch unterstützte Darstellungen können einem Stromlaufplan (Kontaktplan) oder einem Logikplan (Funktionsplan) ähneln. Der Kontaktplan wird von den meisten Elektrikern verstanden, auch wenn diese mit Computern oder mit SPS-Geräten noch nicht vertraut sind. Dies hat die Einführung der SPS in die technische Welt erheblich beschleunigt.

Eine Kaufentscheidung berücksichtigt häufig die Wiederverwendbarkeit bereits bewährter Anwendersoftware. Neue Konzepte verlangen häufig auch ein zusätzliches Training beim Fachpersonal.

Grenzen der Einsatzfähigkeit 
Seit die SPS auch analoge Signale (über DA/AD-Umsetzer) verarbeiten kann, hat sie auch das Gebiet der Regelungstechnik erobert. Für nahezu jede Regelungsaufgabe gibt es standardisierte Lösungen (z. B. als Funktionsbausteine). Insofern entspricht die Bezeichnung „Steuerung“ nicht mehr den strengen Definitionen von Steuerungen und Regelungen (engl. ).

Eine technische Grenze sind die explosionsgefährdeten Bereiche. Hier arbeitet man entweder mit pneumatischen Signalen oder mit eigensicheren Stromkreisen. Man kann eine handelsübliche SPS den Vorschriften entsprechend druckfest kapseln. Natürlich ist sie dann während des Betriebs nicht zugänglich. Ferner muss eine Lösung für die Anbindung der Sensoren und Aktoren gefunden werden (z. B. druckfeste Schottverschraubungen). Generell kann man sagen: In explosionsgefährdeten Bereichen wird eine SPS selten eingesetzt. Inzwischen gibt es Ein- und Ausgangskarten, an die eigensichere Stromkreise angeschlossen werden können. Ferner gibt es eigensichere Datenbusse. Die SPS selbst befindet sich dann in einem Schaltraum außerhalb des gefährdeten Bereichs.

Wenig sinnvoll ist auch der Einsatz einer SPS bei Steuerungsaufgaben mit sehr wenigen Ein- und Ausgängen. Beispiel: Stern-Dreieckanlauf eines Motors. Hier gibt es spezielle (auch elektronische) Bausteine.

Weiterhin gibt es Maschinen, die sehr zeitkritische Aufgaben zu bewältigen haben. Solche Maschinen haben in der Regel sehr seltene und hoch spezialisierte Sensoren. Beispiel: die Erkennung eines Fadenbruchs in einer Hochleistungswebmaschine. Der Einsatz einer SPS würde hier teure Feldversuche voraussetzen.

Die SPS hat enorme Vorteile bezogen auf die Flexibilität. Genau deswegen ist sie für „manipulationssichere“ Steuerungen wenig geeignet. Dies hat nichts mit Sicherheit im Sinne von Gefahrenvermeidung für Mensch und Umwelt zu tun, wohl aber mit dem Fernhalten von nicht autorisierten Personen. Beispiele: Erkennung der Zugangsberechtigung, Automaten mit Geldverkehr.

Im Juli 2010 wurde der erste Computerwurm entdeckt (mit dem Namen Stuxnet), der sich speziell gegen Industriesysteme richtet und diese nicht nur ausspionieren, sondern auch deren Funktionsweise manipulieren kann.

SPS und Sicherheit 
Als Steuerungen noch mit einer Ansammlung von Relais und Schützen erstellt wurden, war das Thema Sicherheit leichter zu berücksichtigen als mit dem neuen Konzept einer SPS. Die Eins-zu-eins-Umsetzung der in der Schaltung (Verriegelung) niedergelegten Logik auf das SPS-Konzept musste zwangsläufig mit einzelnen vorher sicheren Schaltkreisen in Konflikt kommen. Hinzu kam die mangelnde Erfahrung.

Beispiel: Erst wenn das Schutzgitter geschlossen ist, darf sich der Stempel bewegen. Damit im Fehlerfall nichts passiert, wurden beide Schließer des Endlagenschalters in Reihe geschaltet und mit der Freigabe des Stempels verknüpft – Berücksichtigung des Ruhestromprinzips und des möglichen Festschweißens eines Kontaktes.

Mittels getakteter Signale können Querschlüsse erkannt werden.

Bald lautete eine Regel: „Mit der SPS darf keine sicherheitsgerichtete Schaltung erstellt werden“. Der Blick von Berufsgenossenschaften und anderen Institutionen wurde nun auf dieses Problem gelenkt. Insgesamt begann eine neue Diskussion zum Thema Sicherheit in technischen Anlagen.

Sicherheit wurde definiert mit einer Risikoabschätzung der Gefahr für Mensch und Umwelt. Zusammen mit den Herstellern wurden Konzepte erarbeitet, wie auch mit einer SPS die notwendige und vorgeschriebene Sicherheit erreicht werden kann. Ein wesentlicher Kernpunkt war: Die Anwenderprogramme in einer sicherheitsgerichteten SPS sind prüfpflichtig. Jeder Änderungswunsch muss erst neu geprüft werden. Beim Übertragen einer neuen Anwenderprogrammversion ist die Anlage stillzusetzen. Das sind erhebliche Einschränkungen der bei der SPS sonst so vorteilhaften Flexibilität. Die Prüfung ist auch mit erheblichen Kosten verbunden.

Bei der Risikoabschätzung geht es um zwei Themenkreise.

 Wie hoch ist das Risiko und um welche Art von Risiko handelt es sich (materieller Schaden, Personenschäden, Umweltschäden)? Hierbei wird nur die Maschine oder Anlage betrachtet. Die technische Ausführung der Verriegelung ist ohne Belang. Abhängig von der Beantwortung dieser Fragen (in einer Norm festgelegt) ergeben sich Anforderungen an die Steuerung.
 Welche Fehler sind in einer SPS möglich oder denkbar? Hierbei geht man soweit, eine nicht gewollte Änderung im Programmspeicher anzunehmen (Diffusion im Halbleiterkristall). Der zufällig dort gespeicherte Befehl könnte statt „Ausschalten“ nun „Einschalten“ bedeuten. Man kann annehmen, dass ein solcher Extremfehler nicht gleichzeitig im Schwestersystem passiert. In einer sicherheitsgerichteten SPS arbeiten deshalb zwei Prozessoren das gleiche Programm ab und kontrollieren sich gegenseitig. Im Übrigen waren diese mehrkanaligen Systeme schon zur Erhöhung der Zuverlässigkeit entwickelt worden.

Alle sicherheitsgerichteten SPS-Ausführungen haben zum Ziel, im Zweifel die Anlage möglichst schnell in einen sicheren Zustand zu versetzen. Dieses Ziel steht zwangsläufig in Konflikt mit dem Wunsch nach einer Erhöhung der Verfügbarkeit der Anlage (= Zuverlässigkeit).

Vor-/Nachteile von SPS gegenüber VPS (Verbindungsprogrammierte Steuerung)

Vorteile 
 flexibler
 kleiner
 zuverlässiger
 oft langfristig kostengünstiger
 mit anderen IT-Anlagen vernetzbar
 schnelle Fehleranalyse
 Fernwartbarkeit
 Steuerungslogik oft auch über das Internet veränderbar
 geringerer Stromverbrauch
 in der Regel geringerer Aufwand bei Umverdrahtung bzw. Funktionswechsel gegenüber der VPS
 für komplexere Aufgaben besser zu gebrauchen

Nachteile 
 zusätzliche Infrastruktur notwendig (Programmiergeräte bzw. Software, Datensicherung etc.)
 höher qualifiziertes Personal notwendig
 aufwendiges Sicherheitskonzept zur Absicherung undefinierter möglicher Anlagenzustände
 teilweise zusätzliches oder eigenes unabhängiges hardwarebasiertes Sicherheitskonzept erforderlich
 Fehlersuche nur mit Programmiergerät
 Anfälliger bei Störungen in der Stromversorgung

Auf Grund der Gefahr von Manipulationen (siehe Stuxnet-Wurm) geht man bei der Entwicklung neuer Systeme nun wieder andere Wege. Sofern es die Architektur eines Systems zulässt, verlagert man dazu das Betriebssystem und das Programm in einen Festwertspeicher (ROM). Damit können diese empfindlichen Bereiche künftig nicht mehr überschrieben oder manipuliert werden.

Aufbau und Programmierung 
Die klassische SPS hat eine Prozessor-Architektur, die im Wesentlichen für die Bit-, Byte-, Wort- oder Doppelwort-Verknüpfung optimiert ist. Siemens-Steuerungen werden beispielsweise Byte-weise adressiert, Omron-Steuerungen adressieren dagegen 16 Bit. Die unterschiedliche Adressierung ist dann besonders zu beachten, wenn unterschiedliche Steuerungen über Feldbus, z. B. Profibus, miteinander verknüpft werden. Unter Umständen müssen Oktetts innerhalb eines Worts paarweise getauscht werden, um die richtige Information abzubilden (siehe Byte-Reihenfolge). Die Anpassung der Bit-, Byte- bzw. Wort-Verarbeitung an die zu steuernde Maschine oder Anlage erfolgt durch ein Programm, das den gewünschten Ablauf festlegt und im Speicher abgelegt wird.

Üblicherweise wird bei der SPS auch Software zur Kommunikation des Programmiergerätes mit der Steuerung mitgeliefert. Die Programmierung geschieht über dieses Programmiergerät, zum Beispiel eine Anwendung unter Microsoft Windows oder Linux auf einem PC oder ein zugeschnittenes System. Die hier bereitgestellte, so genannte „Konfiguration“ wird beim Programmieren auf die Steuerung geladen. Sie bleibt dort solange im Speicher, bis sie vom Benutzer gelöscht oder überschrieben wird.

Moderne SPSen sind klassische Mikrocontroller mit eigener CPU und einer Basis-Software, die ebenfalls die wortweise Verknüpfung von E/A-Signalen erlaubt. Die Basis-Software besteht aus einem Echtzeitbetriebssystem und SPS-spezifischen „Bausteinen“, die SPS-Funktionen wie Zeitfunktionen und Schnittstellen zu Erweiterungsboards realisieren. Neuere Systeme gehen hier noch einen Schritt weiter. Diese vereinen die Annehmlichkeiten und Vorzüge von SPS, IPC zu PAC-Systemen (engl. ) und ermöglichen durch ihre einfache Programmierweise neben erhöhtem Anwenderkomfort eine bessere und schnellere Anbindung an ihrem Einsatzort.

In den letzten Jahren wurden auf Druck der Anwender die Steuerungen in Hinsicht auf minimalen Platzbedarf im Schaltschrank optimiert. Für diese miniaturisierten Steuerungskomponenten wird von manchen Firmen der Begriff der Busklemme verwendet, wobei es für diesen Begriff keine eindeutige Definition gibt. Eine Busklemme ist eine intelligente Reihenklemme, welche die unterschiedlichsten analogen und digitalen Eingangs- und Ausgangssignale verarbeiten kann. Sie wird so einfach und kompakt wie eine konventionelle Reihenklemme untergebracht und verdrahtet, verfügt aber, im Gegensatz zur Reihenklemme, über eine intelligente Elektronik.

Der Kopf dieser elektronischen Reihenklemme ist der Buskoppler. Er verfügt in der Regel über eine Schnittstelle für einen Feldbus. Buskoppler mit eigener Intelligenz werden als Busklemmen-Controller bezeichnet. Sie verfügen oftmals bereits über SPS-Funktionalität.

Programmiersprachen 
 Übersicht der Sprachen in: IEC 61131/EN 61131

Speicherprogrammierbare Steuerungen werden meist mit speziellen (oft grafischen) Programmiersprachen programmiert. Als Reaktion auf die Forderung der amerikanischen Automobilindustrie wurde eine elektronische Steuerung mit einer Bildschirmdarstellung entwickelt, die an die Darstellung in der elektrischen Steuerungstechnik angelehnt ist. Diese Darstellung/Sprache (Ladder Diagram) war die erste grafisch unterstützte Programmierung elektronischer Steuerungen. Mehrere Firmen (Texas Instruments, Modicon, ISSC, Allen-Bradley (später Rockwell)) haben diese Sprache in den 1970er Jahren in ihren Systemen weiterentwickelt. Erster deutscher Hersteller war 1975 die Firma Klaschka mit den SECON-Steuerungen. Bereits Anfang der 1980er Jahre boten diese Steuerungen Bit-, Byte- und Wortverarbeitung sowohl für die E/A-Ebene als auch für die Merker-Ebene sowie Sonderfunktionen wie Sequenzer (Schrittschaltwerke), Analogwertverarbeitung, PID-Regler und grafische Bedienschnittstellen.

Neben speziell angepassten Hochsprachen, welche die Programmierung von hochkomplexen Abläufen in der Automatisierung erlauben, hat sich heute ein genormter Standard etabliert: In DIN EN 61131-3 (Näheres siehe dort) sind fünf Programmiersprachen spezifiziert.

Operanden 
Jede Programmiersprache befasst sich mit Operanden, die miteinander verknüpft oder verändert werden.

Bezogen auf die SPS lauten die wesentlichen Operanden:

 Eingang (engl. ) Ist mit dem zugehörigen Geber in der Anlage verbunden.
 Ausgang (engl. ) Ist mit dem zugehörigen Stellglied in der Anlage verbunden.
 VariableDarin ist ein „Zwischenergebnis“ festgelegt, dessen jeweilige Bedeutung vom Programmierer festgelegt wird. Wird der Variablen jedoch kein Wert zugeordnet, gilt diese als "undefiniert".
 Funktionsblock (engl. ) Von einem Funktionsblock (FB) können mehrere Instanzen erstellt werden. Die Instanz eines Funktionsblocks kann im Programm aufgerufen werden.
 Funktion (engl. ) Beim Aufruf einer Funktion werden alle internen Variablen neu initialisiert. Dies hat den Vorteil, dass ein Funktionsaufruf mit gleichen Werten der Eingangsvariablen, das gleiche Ergebnis liefert.
 Programm(engl. ) Die Variablen eines Programms werden nur beim ersten Aufruf initialisiert. Ein Aufruf eines Programms mit identischen Eingangsvariablen kann deshalb zu verschiedenen Ergebnissen führen.

Merker, Zähler und Zeitglieder können bei Bedarf remanent ausgelegt sein, der Wert bleibt bei Spannungsausfall erhalten. Eine Pufferbatterie oder ein spezieller Kondensator versorgt den zugehörigen Speicherbereich für den Fall, dass die angeschlossene Netzenergie ausfällt, oder die Zustände werden in einem Eeprom gespeichert. Ebenso können interne Zustände auch so gesichert werden, dass sie auch bei Programmänderungen oder nach einem Kaltstart erhalten bleiben. Der Programmierer muss von Fall zu Fall entscheiden, ob die so gesicherte Information für das Wiederanfahren der Anlage nach einem Neustart hilfreich ist, insbesondere, weil in besonderen Fällen auch unerwünschte oder gefährliche Folgen möglich sind.

Kompatibilität und Interoperabilität 
Viele Hersteller unterstützen diese „genormten“ Sprachen. Dennoch ist die versprochene Portabilität der Anwenderprogramme eingeschränkt, weil es oft herstellerspezifische Anpassungen oder Erweiterungen gibt. Bei den Bestandteilen der Software-Bibliotheken sind die Unterschiede besonders groß. Außerdem unterstützt nicht jeder Hersteller Schnittstellen, über welche die Programme in einem auch für andere Hersteller verarbeitbaren Format ausgegeben oder eingelesen werden können. Es ist nur theoretisch möglich, ein Programm zu schreiben und dieses auf Steuerungen unterschiedlicher Hersteller ohne Änderungen ablaufen zu lassen – praktisch scheitert das meist an den Eigenheiten der verschiedenen Fabrikate.

Mit Ansätzen zur Überbrückung dieser Schwierigkeiten beschäftigen sich z. B. folgende Gremien/Organisationen:
 TC6 XML Workgroup der PLCopen
 In den Dokumenten dieses Arbeitskreises wird ein XML Format festgelegt, in dem man der IEC 61131 genügende Projekte ablegen soll. Damit wird der Austausch von Projektdaten zwischen verschiedenen Werkzeugen möglich.

Interoperabilität einer SPS ist ihre Fähigkeit, mit Steuerungen verschiedener Hersteller in einem Gesamtsystem zusammenzuarbeiten. Dies wird in der Regel durch mehrere herstellerunabhängige Standards sichergestellt. Dazu gehören zum Beispiel Vereinbarungen über den Zugriff auf symbolische Informationen und den Austausch von Variablen über Feldbusse und Netzwerke.

Arbeitsweise 
Wie jeder andere Computer arbeitet die SPS nach dem EVA-Prinzip, sie besitzt also einen Eingabe-, einen Verarbeitungs- und einen Ausgabeteil. Die E/A-Geräte (die an die Eingänge/Ausgänge, engl. , angeschlossenen Geräte) sind mit der SPS verdrahtet. Das Peripherieabbild der Eingänge wird am Anfang eines Zyklus eingelesen, dann erfolgt die Verarbeitung des Programms und die Übergabe der Ausgänge in das Peripherieabbild der Ausgänge. Bei früheren Speicherprogrammierbaren Steuerungen wurde das Peripherieabbild der Eingänge auf Merker gespiegelt und diese im Programm abgefragt, weil die Abfragezeit auf Eingänge deutlich höher lag.

Die SPS arbeitet zyklisch: Sie liest die Werte aller Eingänge am Anfang eines Zyklus ein (man spricht in diesem Zusammenhang auch vom „Einlesen des Prozessabbildes“) – sollte sich ein Befehl wiederholen, dann gilt die letzte Anweisung (Dominant Setzen oder Rücksetzen) – führt dann die gespeicherten Programme (auch Bausteine oder Netzwerke genannt) aus und setzt am Ende die Ausgänge. Dann startet der Zyklus von Neuem – ein Programmende gibt es nicht. Ereignisorientierte Verarbeitung wird meistens nur durch sogenannte High-End-Steuerungen unterstützt.

SPS-Zustände 

Zustandsänderungen, die sich an den Eingängen angeschlossenen Sensoren während des Zyklusdurchlaufs ereignen, werden nur erkannt, wenn sie mit speziellen Befehlen unmittelbar vor der Bearbeitung geladen werden. Abhängig von deren Werten werden die an ihren Ausgängen angeschlossenen Aktoren gemäß eingebautem Programm angesteuert. Dies geschieht einmal am Ende des Zyklus.

In den meisten SPS-Konzepten unterscheidet die SPS zwischen den Betriebszuständen
 STOP,
 START (engl. ).
Diese sind nicht mit den für die SPS bestehenden Möglichkeiten AUS und AN der globalen Stromversorgung zu verwechseln.

Sobald auf STOP geschaltet ist, ruft das Systemprogramm das Anwenderprogramm nicht mehr auf. Ferner werden die Prozessabbilder nicht mehr aktualisiert. Die restliche zyklische Bearbeitung bleibt. Dazu gehört auch die Aktualisierung der Anwenderprogrammbausteinliste. Alle Ausgänge werden abgeschaltet, wobei das Prozessabbild erhalten bleibt.

Nach dem START beginnt wieder die gesamte zyklische Bearbeitung. Nur die erste Abarbeitung des Anwenderprogramms kann das Prozessabbild der Ausgänge verändern. Ein Teil des Prozessabbildes kann danach den Zustand vor dem Neustart beibehalten. Häufig ist ein solches Verhalten unerwünscht. Dann ist ein RESET vor dem Neustart erforderlich, wodurch das Prozessabbild der Ausgänge gelöscht wird.

Verwandte Themen 
 Industrial Ethernet – Ethernetkommunikation in der Steuerungs- und Regeltechnik

Literatur 
 Bliesener et al. (Festo): Speicherprogrammierbare Steuerungen, Lehrbuch Grundstufe. Springer-Verlag, Berlin 1997.
 Eaton-Schaltungsbuch (früher: Moeller-Schaltungsbuch) (Download).
 Manfred Ochs: SPS für die handwerkliche Ausbildung Grundlagen und Praxis. 4. völlig neu bearbeitete Auflage, Hüthig Verlag, Heidelberg 2001, ISBN 3-7785-2825-4.
 Matthias Seitz: Speicherprogrammierbare Steuerungen in der Industrie 4.0 - Objektorientierter System- und Programmentwurf, Motion Control, Sicherheit, Industrial IoT. 5. Auflage, Hanser-Verlag, München 2021, ISBN 978-3-446-46579-4 (mit einer SPS-Lern-und-Übungsseite).
 Günter Wellenreuter, Dieter Zastrow: Automatisieren mit SPS – Theorie und Praxis, 5., korrigierte und erweiterte Auflage, Vieweg + Teubner, Wiesbaden 2011, ISBN 978-3-8348-1504-0 (Buchinfo und Download).
 Günter Wellenreuter, Dieter Zastrow: Automatisieren mit SPS – Übersichten und Übungsaufgaben. 4., überarb. und erg. Auflage, Vieweg + Teubner, Wiesbaden 2008, ISBN 978-3-8348-0561-4 (Buchinfo und Download).
 
 Tilo Heimbold: Einführung in die Automatisierungstechnik. Automatisierungssysteme, Komponenten, Projektierung und Planung. Fachbuchverlag im Carl Hanser Verlag, Leipzig; München 2015, ISBN 978-3-446-42675-7, ISBN 978-3-446-43135-5 (E-Book).
 Hans-Joachim Zander: Steuerung ereignisdiskreter Prozesse. Neuartige Methoden zur Prozessbeschreibung und zum Entwurf von Steuerungsalgorithmen. Springer Vieweg Verlag, Wiesbaden 2015, ISBN 978-3-658-01381-3, ISBN 978-3-658-01382-0 (E-Book).
 Horst Völz: Speicher als Grundlage für Alles. Shaker Verlag, Düren 2019, ISBN 978-3-8440-6964-8.

Weblinks

Einzelnachweise