Speicherprogrammierbare Steuerung

Computer zur Steuerung oder Regelung einer Maschine oder Anlage
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 29. September 2006 um 12:16 Uhr durch 129.13.186.1 (Diskussion) (Programmiersprachen). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Eine Speicherprogrammierbare Steuerung (SPS, engl. Programmable Logic Controller, PLC) ist eine elektronische Baugruppe, die in der Automatisierungstechnik für Steuerungs- und Regelungsaufgaben eingesetzt wird.

Im Prinzip handelt es sich dabei um ein Gerät mit spezialisierten Eingabe- und Ausgabe-Schnittstellen. Über diese Sensoren und Aktoren kann sie Fertigungsprozesse steuern, überwachen und beeinflussen.

Einsatzgebiet

Die SPS steuert (mit ihren Ausgängen) die Eingangsdaten eines Industrie-Prozesses und ist zu diesem Zweck programmierbar. Die Programmierbarkeit erlaubt den Einsatz in verschiedensten Umgebungen, was die Flexibilität des Konzepts unterstreicht. Der Einsatz speicherprogrammierbarer Steuerungen (Begriff im industriellen Sinn) bedeutet nicht zwingend, dass regelungstechnisch gesehen nur gesteuert wird. Die SPS kann durchaus Regelungsfunktionen übernehmen, d. h. Teil von Rückkopplungen sein. Beispiele für Ein- und Ausgänge sind:

  • Digitale oder analoge Signale von Sensoren, aber auch komplexere Eingänge wie zum Beispiel eine serielle Schnittstelle sind möglich. Beispiele für Sensoren sind: Drucksensoren, Temperaturfühler, Endschalter, Grenztaster, Drehzahlgeber und Ähnliches. Zu genannten Eingangsdaten gehören auch Bedingungsdaten, so dass die Steuerung in vielen Anwendungen die Rolle der Überwachung (Regelung, s. o.) wahrnimmt. Dies schließt z. B. auch die Herbeiführung sicherer Zustände ein, falls Fehler in Prozessen auftreten und kein Mensch eingreifen kann.
  • Die Ausgangssignale der SPS sind die Eingangsdaten des Industrie-Prozesses; die SPS steuert in dieser Eigenschaft z. B. Relais, Pneumatikventile, Hydraulikventile. Die Ausgangssignale werden aber auch zum digitalen Signalaustausch mit anderen Steuerungen genutzt. Die Steuerung verfügt mindestens über Und/Oder/Nicht-Funktionen, Zähler, Merker und Timer. Weitere Möglichkeiten hängen von der verwendeten Sprache und vom internen Befehlsvorrat der verwendeten Steuerung ab. Die Programmierung von Timern für die Steuerung zeitlicher Abläufe ist eine häufige Anwendung der SPS-Programmierung.

Weitere Hardware-Schnittstellen existieren, z. B. zu Feldbus-Systemen für die dezentrale Ein-/Ausgabe von digitalen und analogen Signalen.

Sicherheitskritisches Umfeld

Sicherheit betrifft beispielsweise Atomenergie, Chemiewirtschaft und Ölraffinerien, Erdgasförderung, Fördertechnik allgemein, Pressen, Gebäudetechnik, Rohbau-Anlagen, Hochsee-Schifffahrt, Transport und Verkehr, Fahrgeschäfte aller Art. Sie bedeutet Schutz von Menschen, Schutz von Anlagen, Schutz der Umwelt. Die Aufgabe ist also die Reduzierung des Risikos bei vollem Erhalt der Funktionalität und Produktivität. Sicherheit setzt somit eine hohe Verfügbarkeit der Überwachungs- und Reaktionsmechanismen voraus. An besonders kritischen Stellen kann die Steuerung, oder Teile davon, redundant ausgeführt werden, so dass bei einem Fehler in der Steuerung die Sicherheit aufrecht erhalten bleibt. Dies ist eine Grundanforderung an die Personensicherheit. Normale, nicht redundant aufgebaute SPSen sind für Personen-sicherheitsrelevante Steuerungsfunktionen nicht zugelassen. Zu diesen Funktionen zählen beispielsweise Schutzüberwachungen, Lichtschrankenauswertung, Zweihandbedienung oder die Not-Aus-Funktion. Redundant aufgebaute und von unabhängigen Prüfstellen zertifizierte Steuerungen für den Einsatz zur Personensicherheit werden allgemein als Sicherheits-Steuerungen bezeichnet. Bekannte Hersteller von Sicherheits-Steuerungen sind beispielsweise HIMA, Fa. Pilz, Allen Bradley und Siemens.

Bei Prozessen mit hohen Anforderungen an die Verfügbarkeit kann außerdem gefordert sein, dass bei einem Steuerungsfehler eine unterbrechungsfreie Funktion der Anlage oder Maschine bis zur Reparatur gewährleistet bleibt. Auch während dem Austausch der Steuerung darf die Anlage nicht gestört werden. Für diese Zwecke werden dreifach redundante Systeme mit Mehrheitsentscheider (zwei Rechner überstimmen den dritten) eingesetzt.

Zur Benutz- und Einsetzbarkeit einer SPS im industriellen Umfeld gehören auch geeignete Diagnose-Schnittstellen, die den Anwender über den Systemzustand informieren und eventuelle Fehler melden.

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

Vorteile

  • viel flexibler
  • kleiner
  • zuverlässiger
  • langfristig kostengünstiger
  • mit anderen IT-Anlagen vernetzbar
  • schnelle Fehleranalyse
  • Anlage aus der Ferne veränderbar (Internet)
  • weniger Stromverbrauch

Nachteile

  • zusätzliche Infrastruktur notwendig (Programmiergeräte, Datensicherung etc.)
  • relativ hoch qualifiziertes Personal notwendig
  • für weniger komplexe Anlagen/Programmabläufe zu teuer

Aufbau und Programmierung

Die klassische SPS hat eine Prozessor-Architektur, die im Wesentlichen für die Bit- (oder Wort-)Verknüpfung optimiert ist. Die Anpassung der Bit,Byte,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 (kurz: PG) mit der Steuerung, mitgeliefert. Die Programmierung geschieht über dieses Programmiergerät, zum Beispiel eine Anwendung unter Windows/Linux auf einem PC oder ein zugeschnittenes System. Die hier bereitgestellte, sogenannte 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 Microcontroller 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.

Baugruppenbezogene Abgrenzung

Technisches Gegenstück ist die Verbindungsprogrammierte Steuerung (VPS) oder festverdrahtete Logik, d. h. Schaltungen vorwiegend aus Relais, Zeitrelais und Überwachungsrelais, was allerdings platzaufwändiger und unflexibler ist. Derartige verbindungsprogrammierte Steuerungen müssen bei jeder Änderung im Steuerungsablauf hardwareseitig umgebaut werden. Es gibt aber kritische Prozesse oder Sicherheit bedingte Fälle, die diese Festverdrahtung verlangen und bei denen es sogar verboten ist (Not-Aus-Schalter), sie per Standard-SPS zu steuern. Für solche Zwecke können auf Sicherheitsaufgaben spezialisierte SPS verwendet werden.

Programmiersprachen

Speicherprogrammierbare Steuerungen werden meist mit speziellen (oft grafischen) Programmiersprachen programmiert. Die amerikanische Automobilindustrie hatte die Steuerungssystementwickler aufgefordert eine elektronische Steuerung mit einer, an der in der elektrischen Steuerungstechnik (Amerika) üblichen Darstellungsart angelehnten Bildschirmdarstellung, zu entwickeln. Diese Darstellung/Sprache (Ladder Diagram) war die erste grafische Programmierung elektronischer Steuerungen. Mehrere Firmen (Texas Instruments, Modicon, ISSC, Allen-Bradley (später Rockwell)) haben diese Sprache in den 70ern in ihren Systemen weiterentwickelt. Erster deutscher Hersteller war 1975 die Firma Klaschka mit den SECON-Steuerungen. Bereits Anfang der 80er 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.

Heute hat sich ein genormter Standard nach IEC/EN etabliert.

Nach IEC 61131-3 (International Electrotechnical Commission), zwischenzeitlich übernommen in die DIN EN 61131, sind fünf Sprachen spezifiziert:

Die Sprachen IL und ST sind textbasiert, die anderen drei Sprachen (LD, FBD und SFC) grafisch. In allen Sprachen können Funktionen und Funktionsblöcke verwendet werden, die in einer der Sprachen geschrieben oder vom SPS-Hersteller in Form von Software-Bibliotheken ohne Quelltext zur Verfügung gestellt werden.

Je nach Leistungsfähigkeit der SPS bzw. des Programmiergeräts müssen nicht alle Sprachen zur Verfügung stehen. Die Umwandlung zwischen Sprachen ist herstellerabhängig nicht oder nur mit Einschränkungen möglich. Viele Programmierumgebungen bieten auch die Möglichkeit, weitere Sprachen wie z. B. C zu verwenden.

Hersteller

Weltmarktführer nach der Menge auf dem Gebiet der Entwicklung und Produktion von SPS-Systemen ist heute Siemens. Die aktuelle Baureihe des Konzerns, die SIMATIC S7, ist die in der Steuerungs- und Automatisierungstechnik wohl am häufigsten anzutreffende SPS. Die S7 ist, verglichen mit anderen Fabrikaten, auch die kostspieligste SPS, dann kommt mit einem etwas größerem Abstand der Bosch-Konzern, der mit der CL150/151 eine kostengünstige Lösung für weniger komplexe Anlagen geschaffen hat. Andere Hersteller, wie etwa Klöckner-Moeller (Moeller), Lenord+Bauer oder Baumüller, liefern beispielsweise die Programmier-Software kostenlos, während bei Siemens eine Lizenz erworben werden muss. Jedoch sind die Produkte dieser Firmen kaum verbreitet, und so lohnt sich eine Anschaffung oft nicht, da die verschiedenen Fabrikate auch nicht kompatibel sind. Weitere Hersteller sind ABB, Bernecker&Rainer (B&R), Sigmatek GmbH & Co KG, Rockwell Automation (Allen Bradley), Klaschka, Mitsubishi Electric, Panasonic Electric Works, Phoenix Contact,Unitronics, Omron und Toyota.

Neben den beschriebenen Hardware-SPS existieren am Markt Software-SPS. Dazu gehört das SPS-laufzeitsystem ProConOS der KW-Software, das dazu dient, Standard-CPU-Plattformen (z.B. PCs) als klassische SPS-Systeme verwenden zu können. Sie sind damit gemäß IEC 61131-3 mit MULTIPROG programmierbar.

Neben den oben genannten Herstellern hat sich in den letzten Jahren eine hardwareunabhängige Programmiersoftware CoDeSys, eine Entwicklungsumgebung für die IEC 61131-3-Programmiersprachen, am Markt etabliert, die von verschiedenen Herstellern auf unterschiedlichen Hardwareplattformen und Betriebssystemen genutzt wird (CoDeSys Automation Alliance).

Kompatibilität und Interoperabilität

Zu beachten ist, dass zwar die Hersteller diese "genormten" Sprachen unterstützen. Es gibt jedoch meist herstellerspezifische Anpassungen oder Erweiterungen, die die versprochene Portabilität der Programme einschränken. 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:

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, englisch Input/Output, angeschlossenen Geräte) sind mit der SPS verdrahtet.

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.

Diese sind nicht mit den für die SPS bestehenden Möglichkeiten AUS und AN der globalen Stromversorgung zu verwechseln.

Im STOP kann eine neue Konfiguration vom Programmiergerät geladen werden. Im START führt die SPS ihre eigentliche Arbeit durch. Beim Übergang STOP -> START werden eine Initialisierungs- und anschließend eine Zyklusphase durchlaufen, und diese wird wiederholt, bis zum Übergang zurück START -> STOP. Die Arbeitsweise lässt sich also schematisch darstellen: die einmalige Startprozedur und der periodisch wiederholte SPS-Zyklus ergeben folgenden Ablauf in wohldefinierter Reihenfolge.

System-Neustart
Komplette System-Diagnose (System-Eigentest)
System-Initialisierung (ggf. Daten-Transfer)
Zyklus System-Teil:
kurzer System-Test
ggf. Daten-Transfer
Lesen der Eingänge
Anwender-Teil:
Abarbeitung des Anwenderprogramms nach dem EVA-Prinzip (Eingabe, Verarbeitung, Ausgabe)
System-Teil:
Schreiben der Ausgänge

Ein Abarbeitungszyklus enthält einen System-Teil, der den Anwender-Teil umschließt. Dieser beginnt synchron erst dann, wenn alle Eingangsdaten stabil anliegen. Der Abarbeitungszyklus beginnt mitten im System-Teil; die SPS muss dafür sorgen, dass der letzte Zyklus auch definiert genau dort wiederum endet, wenn der Übergang START -> STOP erfolgt. Sobald dies der Fall ist, werden die Eingänge nicht weiter verarbeitet und die Ausgänge stromlos geschaltet; die globale Stromversorgung der SPS kann unabhängig davon weiterhin bestehen.

Es gibt demgegenüber auch Steuerungen, bei denen eine Änderung / Programmierung direkt möglich ist. Hierzu ist es nicht notwendig, die SPS über STOP anzuhalten. Diese SPSen können durch Terminal-Emulation über eine serielle Schnittstelle oder Ethernet direkt bearbeitet werden. Jegliche Änderung wirkt sich dann sofort auf die SPS aus, ohne dass diese explizit angehalten und wieder gestartet werden muss. z. B. : Timer oder Counter

Siehe auch

Literatur

  • Werner Braun: Speicherprogrammierbare Steuerungen in der Praxis. Programmiersprachen von STEP 7. Aufgaben und Lösungen. VIEWEG Studium Technik, ISBN 3528138580
  • Bliesener et al. (Festo): Speicherprogrammierbare Steuerungen, Lehrbuch Grundstufe; Springer-Verlag Berlin, 1997
  • Heinrich Lepers: SPS-Programmierung nach IEC 61131-3. Mit Beispielen für CoDeSys und STEP 7. Franzis Verlag, 2005 , ISBN 3-7723-5801-2
  • Karl-Heinz John, Michael Tiegelkamp: SPS-Programmierung mit IEC 61131-3, m. CD-ROM (inkl. OpenPCS, Step7). Umfassendes IEC 61131- Lehr- und Anwendungshandbuch, 3. Auflage, ISBN 3-5406-6445-9
  • Karl-Heinz John, Michael Tiegelkamp: IEC 61131-3: Programming Industrial Automation System, w. CD-ROM (inkl. OpenPCS, Step7). Umfassendes IEC 61131- Lehr- und Anwendungshandbuch (englisch), ISBN 3-5406-7752-6
  • 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 - Von den Grundlagen der Programmierung bis zur vertikalen Integration, ISBN 3-446-22174-3, Hanser Fachbuchverlag Leipzig, 2003.