Speicherprogrammierbare Steuerung
Eine Speicherprogrammierbare Steuerung (SPS, engl. PLC Programmable Logic Controller) ist eine einem Computer ähnliche elektronische Baugruppe, die für Steuerungs- und Regelungsaufgaben in der Automatisierungstechnik eingesetzt wird.
Aufbau
Die klassische SPS besitzt eine feste interne Verdrahtung, unabhängig von der jeweiligen Steuerungsaufgabe. Die Anpassung an die zu steuernde Maschine oder Anlage erfolgt durch ein Programm, das den gewünschten Ablauf festlegt. Im Gegensatz hierzu gibt es verbindungsprogrammierte Steuerungen, die jedoch bei jeder Änderung im Steuerungsablauf Hardware-seitig umgebaut werden müssen.
Viele moderne SPSen sind allerdings klassische Computersysteme (Microcontroller, PC-basiert) mit einer Basissoftware. Die Basissoftware besteht aus einem Echtzeitbetriebssystem und SPS-spezifischen "Bausteinen", die SPS-Funktionen wie Addierer und sonstiger Verknüpfungsglieder nachbilden. Üblicherweise gehört auch noch Software zur Kommunikation mit einem Programmiergerät dazu.
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.
Im Unterschied zu 'herkömmlichen' Computern arbeitet die SPS zyklisch: Sie liest die Werte aller Eingänge am Anfang eines Zyklus ein (man spricht in diesem Zusammenhang auch vom "Einlesen des Prozessabbildes") , 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.
Zustandsänderungen der an den Eingängen angeschlossenen Sensoren die sich während des Zyklusdurchlaufs ereignen, werden nicht erkannt, sofern sie nicht 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.
Eingänge können digitale oder analoge Signale sein, aber auch komplexere Dinge wie z.B. eine serielle Schnittstelle. Beispiele für Sensoren sind: Drucksensoren, Temperaturfühler, Endschalter, Grenztaster, Drehzahlgeber etc..
Ausgänge steuern Motoren, Relais, Pneumatikventile, Hydraulikventile etc., werden aber auch zum digitalen Signalaustausch mit anderen Steuerungen genutzt. Viele weitere Schnittstellen zu diversen technischen Einrichtungen existieren.
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 Tätigkeit in der SPS-Programmierung.
Moderne Steuerungen verfügen auch über Multitasking-Möglichkeiten. Die besondere Schwierigkeit dabei ist, dass das Zeitverhalten vorhersehbar sein muss (Echtzeitverhalten); d.h. das selbe Ereignis an den Eingängen muss zu einem vorhersagbaren Zeitpunkt zum entsprechenden Zustand an den Ausgängen führen. Das ist auch der Grund, warum sich ein normaler PC mit einem Office-Betriebssystem nicht besonders für Steuerungsaufgaben eignet - das Betriebssystem reagiert auf verschiedenste Ereignisse (z.B. Mausbewegung, Tastatureingabe, ...) und verzögert dadurch ein eventuell parallel ablaufendes Steuerungsprogramm. Es gibt inzwischen auch (Industie-)PCs, die für Steuerungsaufgaben tauglich sind. Die wesentliche Idee dabei ist, einem besonderen Echzeit-Betriebssystem die Zeitsteuerung und die Kontrolle der PC-Hardware zu übertragen; dieses teilt priorisiert den Tasks des Steuerungssystems Rechenzeit zu. Ein PC hat selten die für Steuerungsaufgaben erforderlichen Schnittstellen. Diese müssen über Erweiterungskarten (meist am PCI-Bus; siehe Feldbus) nachgerüstet werden. Vor- und Nachteile des Einsatzes eines PCs oder SPS für Steuerungsaufgaben müssen gut überlegt werden, da Software- oder Hardwarefehler schwerwiegende Folgen haben können.
Der Einsatz speicherprogrammierbarer Steuerungen (Begriff im industriellen Sinn verwendet) bedeutet nicht zwingend, dass regelungstechnisch gesehen nur gesteuert wird, sie können durchaus Regelungsfunktionen übernehmen, d.h. Teile von Rückkopplungskreisen sein.
Programmiersprachen
Speicherprogrammierbare Steuerungen werden meist mit speziellen Programmiersprachen, die oft grafisch sind, programmiert. Früher waren Syntax und Umfang der Programmiersprache meist herstellerspezifisch. Heute hat sich ein genormter Standard nach IEC/EN etabliert.
Nach IEC 61131-3 (International Electrotechnical Commission), zwischenzeitlich übernommen in die Norm DIN EN 61131, sind fünf Sprachen spezifiziert:
- IL (Instruction List), im deutschen Sprachgebrauch AWL (Anweisungsliste)
- ST (Structured Text), (strukturierter Text, angelehnt an Hochsprachen)
- LD (Ladder Diagram), im deutschen Sprachgebrauch KOP (Kontaktplan)
- FBD (Function Block Diagram), im deutschen Sprachgebrauch FUP (Funktionsplan).
- SFC (Sequential Function Chart), im deutschen Sprachgebrauch AS (Ablaufsprache), eine Art Zustandsdiagramm
Die ersten beiden 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 wurde, oder vom SPS-Hersteller in Form von Software-Bibliotheken ohne Quelltext zur Verfügung gestellt werden.
Viele Programmierumgebungen bieten jedoch die Möglichkeit, weitere Sprachen, wie z.B. "C" zu verwenden.
Zu beachten ist auch, dass zwar die Hersteller diese "genormten" Sprachen unterstützen. Es gibt jedoch meist herstellerspezifischen Anpassungen oder Erweiterungen, die die versprochene Portabilität der Programme einschränken. Bei den Funktionen und Funktionsbausteinen aus den 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.
Ein Ansatz zur Überbrückung dieser Schwierigkeiten wird von der TC6 XML Workgroup der PLCopen erarbeitet. Bereits verfügbare Ansätze finden sich in der CoDeSys Automation Alliance (CAA). In dieser Vereinigung haben sich Steuerungshersteller zusammengeschlossen, deren Steuerungen über die Entwicklungsumgebung CoDeSys programmierbar sind. Durch die Verwendung ein und der selben Entwicklungsumgebung bieten sich innerhalb der CoDeSys-Familie sehr viele Möglichkeiten herstellerunabhängige Applikationen zu entwickeln.
SPS-Modelle
- AEG
- ABB 07KT51 und 07KT97 , Advant
- Allen Bradley (Rockwell Automation) (ControlLogix, CompactLogix, RS Logix, GuardPLC)
- Bachmann M1 Steuerungssysteme für anspruchsvolle Automatisierungen
- Beck IPC GmbH Internetfähige Steuerungen und Embedded-Controller
- Beckhoff SPS auf PC Basis
- BoschRexroth SPS-Systemfamilie IndraLogic
- Bernecker&Rainer (Systeme 2003, 2005 und 2010)
- Eckelmann
- ELAU AG PacDrive MAx-4 sowie C200, C400, C600 und P600
- Festo
- Foxboro DSC- Systeme IA-System, A2-System
- GE Fanuc 90-70, 90-30, VersaMax
- HAWE Hydraulik GmbH PLVC-Familie (Programmable Logic Valve Controller) -> Steuerungen für Hydraulik (Technik)
- HIMA A1, H41, H51
- Honeywell FSC
- Jetter AG Nano, JC24x, JC64x
- KEBA Kemro K2
- Lenze Dirve PLC Automatisierung in der Antriebstechnik
- Matsushita FP-Serie FP0/FP-Sigma/FP-M/FP1/FP2/FP10SH
- Mayr Systeme primo-motion control Serie
- Mitsubishi MELSEC F1, F2, FX1S, FX1N, FX2N, FX3U, AxN, AxS, AxSH, QnA, QnAS, System Q, Alpha XL +
- Modicon
- Moeller PS4, PS416, X-System, EASY-Serie
- OMRON SYSMAC, C200H, CPM1A, CPM2A, CPM2C, CQM1, CQM1H, CJ1-Serie, CS1-Serie
- Phoenix Contact RFC450/430 ETH, ILC 350 ETH, ILC 350 PN (Profinet), ILC 200-Serie, S-MAX
- SAMSON, TROVIS 5171
- SAIA-Burgess, PCDx
- Schneider Electric A-Line, Quantum, Premium, Compact, Momentum, Micro, Twido, Zelio
- Siemens SIMATIC S5 und S7 sowie die Siemens LOGO
- Telemecanique
- OpenPCS Automation Suite Lizenzfreie Programmiersoftware nach IEC 61131-3
- VIPA Art of Automation
- CoDeSys
- MULTIPROG
- IFM Electronik Serie Contoll E
- [1]
Siehe auch
- Feldbus
- Profibus
- CAN
- OpenPCS
- Prozessleitsystem
- Echtzeit-System
- Interbus
- PROFINET
- Drahtbruchsicherheit
- PLCopen
- STEP 7
- CoDeSys
Literatur
- Jens von Aspern: SPS Grundlagen, Aufbau - Programmierung (IEC61131, S7) - Simulation - Internet - Sicherheit, Hüthig, ISBN 3-7785-2921-8
- Jens von Aspern: SPS-Softwareentwicklung mit Petrinetzen, IEC-61131-codierte Hochgeschwindigkeitsnetze (Turbo-Netze), VDE VERLAG GMBH, ISBN 3-8007-2728-5
- Jens von Aspern: SPS-Softwareentwicklung mit IEC 61131, Hüthig, ISBN 3-7785-2681-2
- 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.
Weblinks
- Das deutschsprachige Wiki der Gebäudeautomation und MSR-Technik
- [2] SPS : Intelligente Steuerrelais