In Industrieanlagen arbeitet eine Siemens-SPS selten als „Einzelprogramm“. Sie ist Teil eines Systems: Sie verfügt über konfigurierte Hardware, ein Netzwerk, E/A-Module und Kommunikation mit Antrieben und HMI-Panels und soll zudem Diagnosen, vorhersehbare Reaktionszeiten und einen stabilen Betrieb über Jahre hinweg gewährleisten. Deshalb enden die Grundlagen von Siemens-SPSen nicht damit, dass man die Kontaktplanlogik beherrscht. Es beginnt damit, zu verstehen, wie die CPU funktioniert, wie das TIA Portal die Konfiguration zusammenführt und wie ein Projekt aufgebaut ist, damit man es nach der Inbetriebnahme warten kann.
Viele Anfänger tappen schnell in die Falle eines „schön aussehenden Programms“, das auf dem Desktop funktioniert, aber bei der Inbetriebnahme vor Ort Probleme bereitet. Meistens liegt das Problem nicht in der Logik selbst, sondern in den Details: dem CPU-Zyklus, der Echtzeit-Signalverarbeitung, der Adressierung, der PROFINET-Kommunikation, den Datenstrukturen, Fehlern bei der E/A-Konfiguration oder fehlenden Diagnosemöglichkeiten. Wenn Sie professionell in die Welt der Automatisierung einsteigen wollen, müssen Sie die Grundlagen als eine Reihe von Inbetriebnahmefähigkeiten betrachten und nicht nur als Wissen über eine einzelne Programmiersprache.
Was bedeutet „Siemens-SPS“ eigentlich in einer Fabrikumgebung?
Unter „Siemens-SPS“ versteht man in der Regel das SIMATIC-Ökosystem und die TIA-Portal-Umgebung. Bei Neuinstallationen dominieren die Baureihen S7-1200 und S7-1500, da sie ein einheitliches Bedienkonzept und einen einfachen Skalierungsweg von kleinen Maschinen bis hin zu größeren Produktionslinien bieten. Das TIA-Portal fungiert als Projektzentrale: Hier konfigurieren Sie die CPU, die Erweiterungsmodule, das PROFINET-Netzwerk, die Tags, die Programmblöcke und oft auch die HMI – alles an einem Ort. Aus Sicht der Wartung und Integration ist dies ein enormer Vorteil, erfordert aber auch das Verständnis, dass das „Programm“ nur eine Ebene darstellt.
In einer Fabrikumgebung trifft man meist auf ein System, bei dem die SPS für die Ablauflogik, die Sicherheit und die Verriegelungen, die Kommunikation mit den Antrieben sowie die Erfassung von Statusdaten für die Visualisierung zuständig ist. Selbst eine einfache Maschine verfügt heutzutage über einen Frequenzumrichter, Sensoren, eine Ventilinsel, ein Bedienfeld und eine Form der Kommunikation mit einem übergeordneten System. Deshalb müssen die Grundlagen nicht nur die Programmierung abdecken, sondern auch das, was „rund um das Programm“ geschieht.
Wie führt eine SPS ein Programm aus, und warum hat das Auswirkungen auf alles?
Eine SPS arbeitet zyklisch. Sie liest Eingänge aus, führt Logikbefehle aus, aktualisiert Ausgänge und übernimmt die Kommunikation sowie die Diagnose. Dieses Betriebsmodell beeinflusst die Reaktion des Systems auf Signale, die Implementierung von Filtern und Verzögerungen sowie die Funktionsweise der Flankenerkennung. Sobald Sie den Zyklus verstanden haben, vermeiden Sie häufige Fehler, wie das wiederholte „Erfassen“ eines Ereignisses innerhalb eines einzelnen Zyklus, Fehlberechnungen der Zeit oder eine instabile Steuerung, die darauf zurückzuführen ist, dass es im Programm keinen klaren Punkt gibt, an dem Sie eine Entscheidung treffen.
Bei Siemens gibt es zudem die sogenannten Organisationsblöcke (OBs). Diese bilden den Rahmen für die Programmausführung. OB1 übernimmt in der Regel den Hauptzyklus, doch das System verfügt auch über andere OBs, die ereignisgesteuert sind. Dies ist im praktischen Betrieb wichtig, da bestimmte Aufgaben besser in den entsprechenden Blöcken ausgeführt werden, anstatt „überall gleichzeitig“. Wenn man dazu noch Diagnosen, Interrupts und zeitgesteuerte Aufgaben hinzufügt, beginnt man, ein Programm zu erstellen, das sich vorhersehbar verhält, anstatt nur „irgendwie“.
Projektstruktur bei Siemens: OB, FB, FC und DB als Grundlage der Instandhaltung
Bei Siemens basiert ein gut konzipiertes Projekt von Anfang an auf Blöcken und Daten. Ein OB dient als Einstiegspunkt des Programms und organisiert dessen Ausführung. Ein FC ist eine Funktion ohne Zustandsspeicher, die sich daher gut für Berechnungen, Datentransformationen und einfache Operationen eignet. Ein FB ist ein Funktionsblock mit Zustandsspeicher, der auf einer DB-Instanz arbeitet, sodass Sie Module erstellen können, die Geräte und deren Verhalten abbilden.
Eine Datenbank ist eine Datensammlung. Darin können Sie Parameter, Zustände, Zähler, Rezepturen und alles andere speichern, was über den Programmzyklus hinweg erhalten bleiben soll. In der Praxis bieten eine gut konzipierte Datenbank und eine konsistente Blockstruktur zwei Vorteile. Erstens wird das Projekt übersichtlicher, da die Gerätelogik in speziellen Modulen zusammengefasst ist und nicht über einen einzigen Hauptblock verstreut ist. Zweitens lässt sich das Projekt sicherer warten, da eine Änderung in einem einzelnen Funktionsblock (FB) weniger wahrscheinlich Nebenwirkungen in der gesamten Anwendung nach sich zieht.
Wenn man mit einem „großen OB1“ beginnt, verliert man schnell den Überblick über die gegenseitigen Abhängigkeiten. Das mag beim Start vielleicht noch funktionieren, aber sobald es zu einem Ausfall kommt, ein Upgrade durchgeführt oder eine neue Funktion hinzugefügt wird, bricht Chaos aus. Grundsätzlich ist die Fähigkeit, eine Anwendung in Funktionsblöcke (FB) für Geräte und Funktionen zu zerlegen, wichtiger als die Frage, ob jemand ein ansprechendes Kontaktlayout in LAD erstellt.
Programmiersprachen: LAD, FBD und SCL
In der diskreten Logik wird man nach wie vor sehr häufig auf LAD stoßen. Wartungstechniker bevorzugen LAD, da sich damit Verriegelungen, Sperren und Startbedingungen leicht ablesen lassen. Dies ist besonders bei Maschinen sinnvoll, bei denen eine schnelle logische Diagnose erforderlich ist. FBD kann für einfache Funktions- und Signalschaltungen nützlich sein.
SCL, oder „Structured Text“ bei Siemens, bietet Vorteile beim Umgang mit Daten, Arrays, Rezepten, Berechnungen und Skalierungen. In der industriellen Praxis ist SCL äußerst nützlich, da es das Schreiben von klarem und wiederverwendbarem Code ermöglicht und zudem die Erstellung von Bibliotheken erleichtert. Wenn Sie eine Karriere in der Automatisierungstechnik anstreben, sollten Sie sich nicht auf eine einzige Sprache beschränken. Ein grundlegendes Verständnis von Siemens-SPSen bedeutet zu wissen, wann LAD die Wartung erleichtert und wann SCL den Entwicklungsprozess verkürzt und die Fehlerquote senkt.
PROFINET und E/A: Ohne sie geht es nicht
In Neuinstallationen ist PROFINET der Standard. Die CPU fungiert in der Regel als E/A-Controller, während Feldgeräte als E/A-Geräte dienen. Ein- und Ausgänge befinden sich häufig auf E/A-Inseln im Schaltschrank oder in dezentralen Modulen. Antriebe, Ventilinseln, Lesegeräte, Waagen und andere Geräte kommunizieren über PROFINET. Das bedeutet, dass eine „SPS-Programmierung“ ohne Verständnis des Netzwerks dazu führt, dass das Projekt nur im Labor umgesetzt werden kann.
Zu den Grundlagen in diesem Bereich gehören die Fähigkeit, Geräte im TIA Portal zu konfigurieren, PROFINET-Namen zu vergeben, die Adressierung einzurichten und Gerätebeschreibungen zu laden. In der Praxis treten bei der Inbetriebnahme häufig Probleme wie falsche Gerätenamen, Adresskonflikte, Module, die nicht mit der Konfiguration übereinstimmen, oder Topologieprobleme auf. Ohne Online-Diagnose kann es leicht passieren, dass man stundenlang nach einem Fehler sucht, der auf einen einzigen Parameter zurückzuführen ist.
Man sollte auch bedenken, dass es bei der Ein-/Ausgabe nicht nur um das „Zuweisen von Bits“ geht. Entscheidend sind Filterzeiten, Kontaktprellen, Signalgeschwindigkeiten und – in analogen Systemen – Skalierung, Filterung und Fehlererkennung. Grundsätzlich muss man das Signal so konfigurieren können, dass es keine falschen Ereignisse erzeugt oder Abläufe stört.
Diagnose und Inbetriebnahme: Hier findet der Großteil der Arbeit statt
In einem Sprint gewinnt in der Regel nicht derjenige, der am schnellsten Code schreibt. Der Gewinner ist derjenige, der am schnellsten diagnostizieren und verstehen kann, was das System in jedem beliebigen Moment tut. Deshalb müssen Online-Tools zu den Grundlagen gehören: Tag-Überwachung, Beobachtungslisten, Modulzustandsprüfungen, Zykluszeitanalyse und der umsichtige Einsatz von Forcing. Forcing ist ein mächtiges und gefährliches Werkzeug, daher erfordert es Disziplin. Es wird verwendet, um Bedingungen nachzustellen und die Reaktion des Programms zu überprüfen, nicht nur, um „es zum Laufen zu bringen“.
Es hat sich bewährt, dass das Programm anzeigt, was gerade geschieht. Wenn das Gerät nicht startet, sollten der Bediener und der Wartungstechniker erkennen können, ob der Start durch einen Fehler, eine fehlende Quittierung, die Nichtbereitschaft des Antriebs, einen Druckmangel oder einen anderen Zustand blockiert wird. Das bedeutet, dass Sie von Grund auf Statusbits, Diagnosesignale und einfache Mechanismen zur Erkennung der Ursache für Fehlfunktionen einplanen müssen. Ohne diese Maßnahmen wird jeder Start zu einer Suche nach einem einzigen Bit unter mehreren hundert Tags.
Der Mindeststandard für eine Erstinstallation, der in einer Fabrik sinnvoll ist
Wenn Sie Ihre erste Anwendung in Siemens so erstellen möchten, dass sie dem realen Betrieb entspricht, sollten Sie sie als kleinen Teil einer Maschine konzipieren. Erstellen Sie eine Struktur mit einem Funktionsblock (FB) für die Funktion, fügen Sie einen Datenblock (DB) für Parameter und Zustände hinzu und organisieren Sie die Logik so, dass sie diagnostiziert werden kann. Ein praktisches Beispiel ist die Antriebssteuerung mit einer Start- und Stoppsequenz, Verriegelungen, Bestätigungen, Zeitgebern und Fehlerbehandlung.
In dieser Anwendung lernen Sie den gesamten Prozess kennen: von der E/A-Konfiguration über die Logik bis hin zur Online-Diagnose. Außerdem lernen Sie den Umgang mit Zuständen, da Sie bei dieser Abfolge den aktuellen Schritt im Blick behalten und diesen korrekt zurücksetzen müssen. Genau diese Fähigkeiten sind vom ersten Tag an in einer Leitwarte oder bei einem Systemintegrator von Nutzen.
Wie kann man lernen, ohne schon bei den Grundlagen ins Stocken zu geraten?
Die häufigste Falle besteht darin, einzelne Befehle auswendig zu lernen, ohne den betrieblichen Kontext zu verstehen. In einer Fabrik interessiert es niemanden, ob man fünfzig Funktionsblöcke kennt. Was zählt, ist, ob man die Maschine in Betrieb nehmen, die Ursache eines Stillstands ermitteln, den Ablauf korrigieren und sicherstellen kann, dass die Prozesssicherheit nicht beeinträchtigt wird.
Deshalb sollte ein sinnvoller Lernpfad einer Reihe von Aufgaben folgen: diskrete Steuerung, analoge Steuerung, Kommunikation und einfache Visualisierung. Bei jeder Aufgabe solltest du dich in der Fehlersuche üben und darauf achten, dass dein Code leicht lesbar ist. Wenn du dir von Anfang an angewöhnst, Module, Statusanzeigen und klare Blockbedingungen zu erstellen, wird es dir später leichter fallen, größere Projekte in Angriff zu nehmen.
Zusammenfassung – Grundlagen zu Siemens-SPSen
Die Grundlagen der Siemens-SPSen umfassen eine Reihe von Kenntnissen, die eine zuverlässige Inbetriebnahme und Wartung gewährleisten – es geht also um mehr als nur um „funktionierenden Code“. Sie müssen den CPU-Zyklus, die Struktur von OB-/FB-/FC-/DB-Blöcken, den Datenumgang und die Online-Diagnose verstehen. Außerdem müssen Sie sich mit PROFINET und der E/A-Konfiguration auskennen, da diese das Rückgrat der meisten Anlagen bilden.
Sobald Sie diese Grundlagen beherrschen, wird die Programmiersprache zu einem Werkzeug und nicht mehr zum Selbstzweck. Dann arbeiten LAD, FBD und SCL für Sie und nicht mehr gegen Sie. Und dann wird Ihre erste Anwendung kein „Übungsprojekt“ mehr sein, sondern etwas, das tatsächlich dem entspricht, was in der Praxis geschieht.






