Startseite » Steuerungstechnik/IPC/SPS »

Was ist eine Speicherprogrammierbare Steuerung (SPS)?

Steuerungstechnik
Was ist eine Speicherprogrammierbare Steuerung (SPS) und ist sie noch zeitgemäß?

Die CPU (Central Processing Unit) einer speicherprogrammierbaren Steuerung (SPS oder engl. PLC – Programmable Logic Controller) ist Herz und Hirn eines Automatisierungssystems zugleich und daran wird sich grundsätzlich auch nichts ändern, ganz gleich in welcher Hard- und Softwareausprägung sie angeboten wird. Eine SPS hat nicht nur die Aufgabe, die einzelnen Anwenderprogramme zur Steuerung und Regelung eines technologischen Prozesses auszuführen. Sie dient auch zu dessen Überwachung, kommuniziert entweder direkt oder via Feldbus mit zahlreichen Komponenten und ist nicht zuletzt für die Überwachung des Automatisierungssystems insgesamt zuständig. Daher gehört die Auswahl der Steuerung und ihrer CPU zu den wichtigsten Aufgaben im Entwurfsprozess einer Automatisierungsanlage.

Prof. Dr.-Ing. Thomas Schmertosch (schmertosch.de/automatisierung) betreut seit 2014 an der HTWK Leipzig als Honorarprofessor die Fachgebiete ‚Komponenten der Automatisierung‘ sowie ‚Modulare Automatisierungssysteme‘. 1952 in Leipzig geboren, studierte und promovierte er als Kybernetiker und arbeitete bis zu seinem Ruhestand als Automatisierungsingenieur. Seit 2016 ist er freiberuflich als Fachautor und beratender Ingenieur rund um das Thema Automatisierungstechnik und Industrie 4.0 tätig.

Inhaltsverzeichnis
1. Welche Komponenten enthält eine SPS?
2. Das CPU-Mainboard: Fast identisch zum PC und doch ganz anders
3. Watchdog behält die Steuerung selbst im Blick
4. CPU-Bauarten einer Steuerung
5. Echtzeiteigenschaften werden durch das Betriebssystem bestimmt
6. Arbeitsweisen von SPSen
7. Zur Anwenderprogrammierung bedarf es eines Engineering-Werkzeugs
8. IEC 61131-3 – die Programmierung von Steuerungssoftware
9. Fazit

Welche Komponenten enthält eine SPS?

Eine SPS besteht prinzipiell aus einer CPU und einer nahezu beliebigen Anzahl von Ein-/ Ausgangskomponenten (I/Os). Dabei ist es gleichgültig, ob diese als singuläre Hardwarekomponente mit einem Echtzeitbetriebssystem (RTOS) oder als reine Softwarelösung in Gestalt einer Soft-SPS auf einem Industrie-PC existiert. In der Praxis wird die CPU zumeist gemeinsam mit mindestens einem Teil der I/O-Komponenten in einem Schaltschrank oder an geeigneter Stelle im Maschinenrumpf untergebracht. Zudem verfügen die meisten aktuellen CPUs über einen geeigneten Feldbus, über den sie mit dezentralen I/O-Systemen, Feldgeräten sowie Antriebs- und Bedienkomponenten kommunizieren. Ein weiteres Interface wird benötigt, um die CPU zu programmieren, zu konfigurieren und zu diagnostizieren.

Das CPU-Mainboard: Fast identisch zum PC und doch ganz anders

Eine singuläre CPU verfügt wie jeder PC über ein sogenanntes Mainboard, welches als wesentliche Komponenten den Prozessor, den Arbeitsspeicher und den Speicher für das BIOS enthält. Des Weiteren wird ein Interface für den Anwenderspeicher – das ist aktuell zumeist eine SD- oder CF-Karte – benötigt, sofern ein solcher Chip nicht auch direkt mit auf dem Mainboard integriert wird. Letzteres ist besonders bei eher kleinen CPUs der Fall und besonders dann, wenn geometrische oder wirtschaftliche Aspekte entscheidend sind.

Im Gegensatz zum PC muss eine SPS resistent gegen plötzlichen Spannungsausfall sein und es gibt auch kein ‚Herunterfahren‘ vor dem Ausschalten. Dazu wird neben entsprechenden Vorkehrungen in der Stromversorgung zumeist ein batterieloser oder -gestützter remanenter Speicher vorgesehen. Dieser wird vom Anwenderprogramm für die Speicherung wichtiger Prozessdaten und -zustände verwendet, um nach der Spannungswiederkehr bzw. dem Wiedereinschalten eine reibungslose Fortsetzung des Produktionsprozesses zu ermöglichen.

Watchdog behält die Steuerung selbst im Blick

Wenn die CPU als zentrales Element des Automatisierungssystems versagt – das können sowohl Probleme in der Hardware, zumeist aber Fehler im Anwenderprogramm sein –, muss die gesamte Produktionsanlage unverzüglich abgeschaltet und in einen gefahrlosen Zustand gebracht werden. Die CPU muss daher über ein unabhängiges Bauelement verfügen, welches deren Zustand zuverlässig überwacht. Das übernimmt ein sogenannter Watchdog, der nach jedem ordnungsgemäßen Programmdurchlauf durch einen Impuls vom Betriebssystem neu getriggert wird. Bleibt dieser aus, so werden nach einer zumeist parametrierbaren Zeitspanne alle Ausgänge zurückgesetzt, Antriebe gestoppt und die CPU in einen Diagnosezustand versetzt, in dem kein Anwenderprogramm abgearbeitet wird.

CPU-Bauarten einer Steuerung

Um möglichst viele und unterschiedliche Konfigurationen eines Automatisierungssystems abdecken zu können, werden Steuerungs-CPUs von den Herstellern in unterschiedlichen Bauformen angeboten. Folgende CPU-Bauarten sind verbreitet:

  • Kompaktsteuerung:
    Für kleinste und kleine Automatisierungsaufgaben im untersten Preissegment.
  • Modulare Steuerung (CPU, Stromversorgung, IO-Module, Kommunikation etc.):
    Das ist die verbreitetste Bauform und nahezu für jeden Anwendungsfall geeignet.
  • Embedded Controller (Kombination aus HMI und SPS auf einer Hardware):
    Für Anwendungsfälle mit verhältnismäßig hohem technologisch bedingtem HMI-Anteil des Anwenderprogramms.
  • Slot-SPS (z.B. Einsteckkarte in einen PC oder Motion Controller):
    Verwendung ähnlich einem embedded Controller, jedoch liegt der Fokus noch stärker auf Datenverarbeitungs-, HMI- oder Antriebsfunktionalitäten.
  • Soft-SPS (z.B. virtuelle Steuerung in einem Office- oder Industrie-PC):
    Die komplette Steuerungsfunktionalität wird in einer PC-Applikation realisiert. Damit unterliegen die Eigenschaften einer Steuerungs-CPU denen eines PCs und es müssen alle vorgenannten CPU-Besonderheiten applikativ und zum Teil auch eigenständig implementiert werden, sofern diese für die technologische Aufgabe von Bedeutung sind. Zu beachten ist außerdem das Verhalten bei einem Absturz des PC-Betriebssystems und natürlich die geforderte Echtzeitfähigkeit.

Dazu gibt es Sonderbauformen, bei denen die Steuerungs-CPUs in Feldgeräten, eigenständigen Maschinen- und Anlagenmodulen und vor allem in kompakter Gerätetechnik, wie z.B. Druckern, Waschmaschinen oder Steuergeräten für Verbrennungsmotoren integriert ist. Die CPU kann aber auch ganz speziell und mit allen übrigen Steuerungskomponenten gemeinsam auf einer Leiterplatte oder einem FPGA-Chip (Field Programmable Gate Array) untergebracht sein.

So unterschiedlich die genannten Bauformen auch erscheinen: Die Arbeitsweise und die Basiskomponenten der CPU sind überall gleich.

Echtzeiteigenschaften werden durch das Betriebssystem bestimmt

Da in Steuerungen grundsätzlich Echtzeitanforderungen dominieren, arbeiten die Zentraleinheiten im Gegensatz zu einem PC mit einem Echtzeitbetriebssystem (engl. Real-Time Operating System, RTOS). Dieses bildet eine Abstraktionsschicht zwischen den Anwenderprogrammen (engl. Application Software, AS) einerseits und der Hardware andererseits. Das bietet den Vorteil, dass beide Seiten eigene Lebenszyklen durchlaufen können und bei vielen Systemen die Anwendersoftware auf unterschiedlichen Hardwareplattformen mit den gleichen Echtzeiteigenschaften lauffähig ist. Das RTOS stellt dazu entsprechende Dienste für die Kommunikation mit I/Os und diversen Interfaces zur Verfügung, erledigt das Speichermanagement, sorgt für die zyklische Abarbeitung der Anwenderprogramme und steuert bzw. überwacht das Zeitmanagement.

Bei den meisten Automatisierungssystemen gehört das RTOS zu den Kernkompetenzen des Herstellers und ist somit untrennbar an dessen Hardware gebunden. Andererseits bieten Softwarehersteller und Open-Source-Plattformen unabhängige Lösungen an, die für beliebige Hardware konfiguriert werden können. Dadurch ist der Anwender nicht nur an einen Hersteller gebunden und kann die Auswahl der Hardware frei nach den Anforderungen des technologischen Prozesses vornehmen.

Arbeitsweisen von SPSen

Aktuelle Echtzeitbetriebssysteme arbeiten zumeist als Multitasksystem, in dem die einzelnen Hintergrundaufgaben, wie z.B. die Ressourcenverwaltung, die Bedienung der Interfaces sowie das Zeitmanagement erledigt werden. Der Anwendungsprogrammierer wird sich mit diesen Aufgaben in der Regel weniger befassen und kann sich auf erforderliche Parametrierungen beschränken. Sehr wohl interessiert aber, wie bestimmte Anwenderprogramme auf Ereignisse reagieren oder in welcher Zykluszeit und mit welcher Genauigkeit Regelungsprozesse arbeiten sollen. Aus dieser Perspektive existieren je nach Ausprägung des RTOS Unterschiede.

  • Sequenzielle Programmbearbeitung:
    Diese Art der Bearbeitung ist typisch für die Anfänge der SPS-Technik, lässt sich aber auch heute noch bei einfachen Systemen finden. Kennzeichnend ist die lineare Bearbeitung einzelner Anweisungen in einem Zyklus, wobei es unerheblich ist, ob dieser Ablauf nach dem letzten Befehl und den RTOS-Routinen unmittelbar, zeit- oder ereignisgesteuert neu gestartet wird.
  • Zyklische Programmbearbeitung:
    Diese Arbeitsweise ähnelt prinzipiell der sequenziellen Bearbeitung, jedoch mit dem Unterschied, dass nicht einzelne Anweisungen, sondern komplette (Teil-) Programme in einem kontinuierlichen zyklischen Betrieb abgearbeitet werden und durch Ereignisse unterbrechbar sind. Das können zeitgesteuerte Routinen genauso sein wie Reaktionen auf dedizierte Eingangssignale.
  • Multitasking von Anwenderprogrammen:
    Diese Variante ist besonders vorteilhaft, wenn für jeden einzelnen oder Gruppen von Tasks eigene Zykluszeiten parametriert werden können.

Zur Anwenderprogrammierung bedarf es eines Engineering-Werkzeugs

Im Gegensatz zu einem PC werden die Anwenderprogramme von Steuerungen mit Hilfe eines Programmiergerätes erstellt. Zwar werden in einigen Systemen vereinfachte Editoren über ein entsprechendes HMI angeboten, jedoch sind diese zumeist sehr eingeschränkt und nicht für die Softwareentwicklung der vollständigen Applikation geeignet. Auch einige Kleinsteuerungen können z.B. über ein integriertes Display oder ein Web-Interface direkt programmiert werden. Typische Vertreter dafür sind Smart-Home-Geräte, die ja auch nichts anderes als Automatisierungssysteme für die Gebäudeautomation darstellen.

Aktuelle Programmiergeräte unterscheiden sich kaum noch von ganz normalen PCs. Zumeist werden handelsübliche Notebooks verwendet, denn für die Kommunikation mit einer SPS genügt heute ein Ethernet-Anschluss, WiFi, USB oder auch Bluetooth. Bei der Auswahl dieser Geräte ist allerdings deren Einsatzfähigkeit in einer Industrieumgebung zu prüfen. Dafür werden von einigen Herstellern besonders robuste Geräte angeboten, die auch in rauer Industrieumgebung mit Stößen und Vibrationen, aber auch elektromagnetischen Störungen zurechtkommen.

Grundsätzlich muss bei der Auswahl einer Programmierumgebung zwischen geschlossenen Konzepten – Hard- und Software wird vom gleichen Hersteller entwickelt und nur in Kombination angeboten – und offenen Systemen entschieden werden. Letztere haben den Vorteil, dass einmal erstellte Software prinzipiell auf verschiedenen Geräteplattformen angewendet werden kann. Dieser Sachverhalt ist besonders für Produktionssysteme interessant, bei denen der Hersteller häufig mit Vorgaben für bestimmte Steuerungssysteme konfrontiert ist.

IEC 61131-3 – die Programmierung von Steuerungssoftware

Für die Softwareerstellung der einzelnen Steuerungsfunktionen wurde in den Anfängen der SPS-Technik aus Gründen der Akzeptanz mit dem Kontaktplan (engl. Ladder Diagram, LD) eine spezielle Programmiersprache entwickelt, die sich sehr stark an der bis dahin üblichen verdrahtungsorientierten Relaistechnik orientierte. So konnten auch ‚einfache‘ Elektriker ein Steuerungsprogramm lesen und ohne Informatikkenntnisse verstehen. Später wurde diese Sprachform immer mehr erweitert und ist seit 1993 neben der Anweisungsliste, Strukturiertem Text, Funktionsplan und Ablaufsprache in der weltweit gültigen Norm für Programmiersprachen IEC 61131-3 gelistet.

Somit ist der Anwender in der Lage, für den jeweiligen technologischen (Teil-)Prozess die dafür geeignete Sprache zu wählen. So wird für einfache Logikschaltungen weiterhin gerne der Kontaktplan angewandt, während für zustands- und objektorientierte Programmierung eher die Ablaufsprache oder der strukturierte Text geeignet ist. In neuerer Zeit bieten einige Hersteller auch noch die ergänzenden und nicht in der Norm erfassten Sprachen ANSI C und C++ an und der Anwender kann zumeist auch auf ganze Technologiepakete wie beispielsweise für die Steuerung von Robotik-, Pressen- u.v.a. Anwendungen zugreifen. Zu allen Sprachen existieren zahlreiche Publikationen und sie sind überall auch Bestandteil der Lehre.

Fazit

Eine SPS ist nicht nur zeitgemäß, sondern in jedem Automatisierungssystem auch eine wichtige Kernkomponente, die uns – in welcher Erscheinungsform auch immer – noch sehr lange begleiten wird.

Video

So war das mit den Messen vor dem Auftauchen des Coronavirus: Blicken Sie mit uns zurück auf die SPS in Nürnberg...

Aktuelle Ausgabe
Titelbild elektro AUTOMATION 6
Ausgabe
6.2021
LESEN
ABO
Newsletter

Jetzt unseren Newsletter abonnieren

Webinare & Webcasts

Technisches Wissen aus erster Hand

Whitepaper

Hier finden Sie aktuelle Whitepaper

Videos

Hier finden Sie alle aktuellen Videos

Automation Award
Anzeige

Industrie.de Infoservice
Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de