Zum Inhalt springen

Speicherprogrammierbare Steuerung

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. Juli 2005 um 15:15 Uhr durch 84.174.59.127 (Diskussion) (Kompatibilität und Interoperabilität). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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:

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.

Kompatibilität und Interoperabilität

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.

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 den man IEC 61131 Projekte ablegen soll. Damit wird der Austausch von Projektendaten zwischen verschiedenen Tools möglich.
Durch die Festlegung verschiedener Steuerungshersteller auf eine bestimmte Entwicklungsumgebung (CoDeSys) wird nicht nur der Austausch von Projektdaten unterstützt. Die Einhaltung der vereinbarten Konventionen für Bibliotheken stellt sicher, das Programme ohne Änderungen auf unterschiedlichen Hardwareplattformen laufen können.

Unter Interoperabiliät wird die Fähigkeit verstanden, daß Steuerungen von verschiedenen Herstellern in einem Gesamtsystem zusammenarbeiten können. Diese Zusammenarbeit 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.

SPS-Modelle


Siehe auch

Literatur