Wie wandelte sich der SPS-Programmierer im Laufe der Jahrzehnte vom „Digital-Elektriker“, der physische Schaltpläne in elektronischen Speicher übersetzte, zum Software-Ingenieur, der objektorientierte, verteilte und versionierte Architekturen entwirft? Eine Spurensuche in vier Phasen.
Die Pioniere der digitalen Relaislogik: Das Entwicklerteam um Richard „Dick“ Morley (im Bild ganz links) mit einem frühen Modell der Modicon 084. Ihre Entscheidung für den visuellen Kontaktplan sicherte der neuen Technologie die Akzeptanz in den Werkhallen.
(Bild: Schneider Electric)
In der industriellen Automatisierung der 1960er Jahre dominierten elektromechanische Relaissteuerungen. Diese erforderten bei Änderungen der Steuerungslogik eine komplette Neuverdrahtung, die gut und gerne Wochen dauerte. In der Automobilindustrie führte das bei Modellwechseln zu entsprechenden Produktionsausfällen. Daher definierte im Jahr 1968 General Motors Spezifikationen für ein elektronisches Steuerungssystem, das Relaissteuerungen ersetzen sollte, also flexibler aber genauso zuverlässig und robust sein sollte.
1. Die Pionierphase: Die Geburt der digitalen Relaislogik (1960er – 1970er)
Aus dem 84. Projekt des Ingenieurbüros Bedford Associates um Richard „Dick“ Morley ging 1969 das Unternehmen Modicon (Modular Digital Controller) und der Modicon 084 hervor. Dieses System gilt weithin als erste kommerziell erfolgreiche SPS. Modicon gehört mittlerweile zum französischen Automatisierungskonzern Schneider Electric.
Bildergalerie
Ein wesentliches Merkmal der Modicon 084 war die Software-Abstraktion. Das Team wählte den Kontaktplan (Ladder Logic), der auf existierenden Relais-Schaltplänen basierte, als Programmierparadigma und übertrug ihn in die Elektronik. Die Sprache simulierte visuell Strompfade zwischen spannungsführenden Schienen. Diese Darstellung hatte die Akzeptanz bei Industrieelektrikern in den Werkhallen erleichtert. Ihnen war die textbasierte Boolesche Algebra unvertraut, die in anderen Systemen bereits zum Einsatz kam.
Diese visuelle Logik etablierte ein Ausführungsmodell, das die Steuerungsarchitektur bis heute prägt: Den zyklischen Hauptzyklus (Scan Cycle). Dabei liest die Steuerung die Eingänge in ein Prozessabbild ein, arbeitet die Logik ab und schreibt die Ergebnisse in das Prozessabbild der Ausgänge. Auch wenn moderne Steuerungen dieses Modell durch Multitasking und ereignisgesteuerte Tasks erweitert haben, bleibt der deterministische Zyklus ein historisches Fundament der SPS.
Parallel zur grafischen Ladder Logic entwickelten europäische Hersteller hardwarenahe, textbasierte Ansätze. Siemens bot für Systeme wie die Simatic S5 die Programmierumgebung STEP 5 mit der Anweisungsliste (AWL) an. Diese Assembler-ähnliche Sprache nutzte Mnemoniks wie U (Und), UN (Und Nicht), L (Laden, z. B. der einzelnen Bytes eines Datenwortes) und T (Transferieren). Sie war speichereffizient, aber hardwareabhängig.
Viele frühe Laufzeitsysteme verzichteten auf eine dynamische Speicherallokation. Um Vorhersagbarkeit zu gewährleisten, nutzten diese Systeme überwiegend statisch reservierten Speicher. Auch wenn moderne Plattformen wie Codesys (etwa über Konstrukte wie __NEW) oder Twincat (mit Bibliotheken wie Tc3_DynamicMemory) heute dynamischen Speicher als Herstellererweiterung erlauben, wird dessen Einsatz in zeitkritischen Tasks in der Automatisierungspraxis oft eingeschränkt, um Jitter zu vermeiden.
In den 1980er Jahren fehlten standardisierte Datentypen und kompatible Architekturen zwischen den verschiedenen Steuerungsherstellern, was die Portabilität von Code erschwerte.
Die IEC-Gremien erarbeiteten daraufhin die internationale Norm IEC 61131, deren dritter Teil (IEC 61131-3) 1993 veröffentlicht wurde. Die 1992 gegründete Organisation PLCopen unterstützte fortan die Verbreitung der Norm. IEC 61131-3 definierte ein Softwaremodell basierend auf Program Organization Units (POUs). Diese Kapselung von Logik ermöglichte den Übergang zu modularer Software.
Die Norm etablierte Funktionen (ohne internen Zustand) und Funktionsbausteine (FB). Funktionsbausteine besitzen persistente Instanzdaten (internen Speicher) und kapseln Zustände über mehrere Ausführungszyklen hinweg – ein Konzept, das für Timer, Zähler oder Regler verwendet wird. Die IEC 61131-3 definierte formal vier Programmiersprachen (Kontaktplan, Funktionsbausteinsprache, Strukturierter Text und Anweisungsliste) sowie die Ablaufsprache (SFC) als satzstrukturierendes Element, das in der Praxis oft als fünfte Sprache gehandhabt wird.
Im Laufe der Zeit verlor die Anweisungsliste (AWL) an Bedeutung. Mit sinkenden Hardwarekosten und steigender Applikationskomplexität (Arrays, Mathematik, Datenverarbeitung) wurde zunehmend Strukturierter Text (ST) eingesetzt. Die Instruction List (IL) wurde schließlich in der dritten Edition der IEC 61131-3 (2013) offiziell als veraltet (deprecated) gekennzeichnet und in der vierten Edition von 2025 aus der Norm gestrichen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.
3. IT-OT-Konvergenz und Software-Engineering (2000er – 2010er)
Ab den 2000er Jahren näherten sich IT und OT (Operational Technology) weiter an. Die dritte Edition der IEC 61131-3 ergänzte im Jahr 2013 objektorientierte Sprachelemente (OOP). Klassen, Interfaces, Vererbung und Referenzen wurden in die Norm aufgenommen. Eigenschaften bzw. Properties waren zu dieser Zeit Herstellererweiterungen und wurden erst später mit Edition 4 normiert. Diese Werkzeuge ermöglichen es Entwicklungsteams, IT-Konzepte wie die SOLID-Prinzipien oder Design Patterns in der SPS-Programmierung anzuwenden, mit dem Ziel, den Code modularer und wartbarer zu gestalten.
Die Zeit nach der Jahrtausendwende wurde durch PC-basierte Steuerungstechnik geprägt. Werkzeuge wie Codesys entkoppelten das Engineering vom Laufzeitsystem. Beckhoff integrierte mit Twincat 3 das Engineering in Microsoft Visual Studio und ermöglicht die parallele Ausführung von IEC-61131-3-Code, C/C++-Modulen und Matlab/Simulink-Modellen. Parallel dazu professionalisierte sich die Software-Qualitätssicherung. Neben dem Testen an Hardware oder Anlagen-Simulationen etablierten sich automatisierte Unit-Tests. Open-Source-Frameworks wie TcUnit ermöglichen Test-Driven Development (TDD) in der Automatisierung und vereinfachen die systematische Überprüfung von Codebausteinen.
Die aktuelle Entwicklung ist geprägt von Digitalisierung, der Trennung von Hardware- und Software-Lebenszyklen sowie Cybersecurity-Anforderungen. Die vierte Edition der IEC 61131-3 (2025) normierte Properties, führte Mechanismen zur Synchronisation bei Multithreading (Mutex, Semaphore) ein und ergänzte native UTF-8-Unterstützung (USTRING).
Zusätzlich bietet der Standard IEC 61499 ein alternatives Ausführungsmodell. Er ist für dezentrale, ereignisgesteuerte (event-driven) Anlagen gedacht. Die Ausführung eines Basic Function Blocks (BFB) wird durch ein Execution Control Chart (ECC) gesteuert. Während IEC 61499 den Standard IEC 61131-3 in der industriellen Breite bislang nicht abgelöst hat, wird der Ansatz durch Initiativen wie UniversalAutomation.org und den Open Process Automation Standard (O-PAS) gefördert.
Die vier Editionen der SPS-Standards IEC 61131-3
Edition
Jahr
Wesentliche Änderungen und Neuerungen
Edition 1
1993
Grundlegende Standardisierung des Softwaremodells. Einführung von POUs (Funktionen, Funktionsbausteine, Programme) sowie der vier Programmiersprachen (KOP, FUP, ST, AWL) und der Ablaufsprache (SFC).
Edition 2
2003
Überarbeitung und Präzisierung der ersten Ausgabe (Fehlerbehebungen und Klarstellungen, jedoch keine fundamentalen neuen Programmierparadigmen).
Edition 3
2013
Einzug der Objektorientierung (OOP). Einführung von Klassen, Interfaces, Vererbung und Referenzen. Die Anweisungsliste (AWL/IL) wurde offiziell als „veraltet“ (deprecated) gekennzeichnet.
Edition 4
2025
Normierung von Properties (Eigenschaften), native UTF-8-Unterstützung (USTRING) und Mechanismen zur Multithreading-Synchronisation (Mutex, Semaphore). Die Anweisungsliste (AWL/IL) wurde endgültig aus der Norm gestrichen.
In der Automatisierungstechnik werden zunehmend Konzepte der sogenannten Software-Defined Automation beliebt. Damit ist gemeint, dass die SPS selbst nicht mehr eine dedizierte Hard- und Software-Einheit darstellt, sondern lediglich nur eine von vielen Anwendungen auf einem Edge-Controller oder Industrie-PC. Mehrere aktuelle Steuerungs- und Edge-Plattformen, wie Bosch Rexroth CtrlX OS, Phoenix Contact PLCnext, basieren auf echtzeitfähigem Linux und nutzen Containerisierung per OCI, Podman, Snaps oder Docker. In der Praxis verbleibt die harte Echtzeitlogik zum Schutz vor Jitter oft in dedizierten Laufzeiten, während Container Aufgaben wie IoT-Kommunikation, Edge-Analytics oder Node-RED übernehmen.
Ansätze wie Siemens Simatic AX etablieren DevOps-Workflows als Ergänzung zu Engineering-Tools wie dem TIA Portal. AX nutzt VS Code als Editor, verwaltet Pakete über Apax, führt Tests mit AxUnit aus und ermöglicht durch die rein textbasierte Ablage Git-Versionskontrolle. Hersteller integrieren zudem KI-gestützte Code-Generatoren in diese Umgebungen. Genauso wie LLMs die Software-Entwicklung auf den Kopf gestellt haben, werden auch SPS-Entwickler bereits von KI-Agenten beim Generieren von Algorithmen oder dem Refactoring unterstützt. Das macht den Programmierer bzw. Ingenieur aber noch lange nicht überflüssig. KI ist ein Tool, das Arbeit abnimmt, aber die Validierung und letztlich auch die Verantwortung bleibt beim Menschen.
Regulatorische Vorgaben beeinflussen die Softwareentwicklung, egal ob IT oder OT. Der Cyber Resilience Act (CRA) und die NIS2-Richtlinie fordern, gemeinsam mit Standards wie der IEC 62443, dass Änderungen, Zugriffsrechte und Softwarestände nachvollziehbar verwaltet werden. Versionsverwaltung, signierte Artefakte und kontrollierte Deployment-Prozesse werden von Experten empfohlen, um diese Vorgaben zur Nachvollziehbarkeit umzusetzen.
Noch ein Trend, der die IT-Konvergenz unterstreicht, ist die wachsende Open-Source-Bewegung. Laufzeitumgebungen und Editoren wie OpenPLC oder Beremiz ermöglichen hardwareunabhängiges Prototyping. Obwohl diese Projekte nicht offiziell PLCopen-zertifiziert sind, etablieren sie IT-typische Community-Konzepte zunehmend auch in der SPS-Welt.
Die Transformation zum Software-Ingenieur
Die Entwicklung der SPS-Programmierung zeigt eine stetige Adaption von IT-Paradigmen. Der moderne Automatisierer nutzt mittlerweile selbstverständlich Konzepte wie Objektorientierung, asynchrone Ereignisse und DevOps-Methoden. Und überall wo Code geschrieben wird, sind KI-Modelle nicht mehr wegzudenken.
Dennoch bestehen Unterschiede zur klassischen IT: Industrielle Automatisierung erfordert deterministisches Verhalten, funktionale Sicherheit und hohe Verfügbarkeit. Zeitkritische Echtzeitregelungen bleiben aufgrund von Latenzanforderungen auch künftig vorwiegend auf Edge-Geräten oder Industrie-PCs und wandern nicht unbedingt in die Cloud. (mc)