Speicherprogrammierbare Steuerung (SPS) von Siemens

SPS Aufbau und Funktionsweise 


Christian Preis
zuletzt aktualisiert: 25. Mai 2024

Eine Speicherprogrammierbare Steuerung (SPS) wird zum automatisieren von Maschinen und Anlagen eingesetzt. Mit Ihrer Hilfe können komplexe Aufgaben der Automatisierung gesteuert werden. Anders als eine verbindungsprogrammierte Steuerung (VPS), wo die Verarbeitungslogik durch die Schaltung der Komponenten bestimmt wird, wird die Logik einer SPS in einem Programmiergerät (z.B. PC oder Laptop) programmiert und anschließend in die SPS geladen. Eine SPS-Steuerung kann über verschiedene Schnittstellen mit anderen IT Systemen kommunizieren und somit Informationen austauschen. Zudem kann eine Visualisierung angeschlossen werden. Diese ist dann die Schnittstelle zum Bediener. Man nennt die Visualisierung auch HMI (Human Machine Interface). 

SPS-Systeme sind zur Steuerung und Regelung von Maschinen und Anlagen der Automatisierungstechnik nicht mehr wegzudenken.

Definition Speicherprogrammierbare Steuerung (SPS)

Nach der Norm DIN EN 61131-1 definiert man eine speicherprogrammierbare Steuerung (SPS) wie folgt:

“Eine SPS ist ein digital arbeitendes elektronisches System für den Einsatz in industriellen Umgebungen mit einem programmierbaren Speicher zur internen Speicherung der anwenderorientierten Steuerungsanweisungen zur Implementierung spezifischer Funktionen wie z.B. Verknüpfungssteuerung, Ablaufsteuerung, Zeit-, Zähl- und arithmetische Funktionen, um durch digitale oder analoge Eingangs- und Ausgangssignale verschiedene Arten von Maschinen und Prozessen zu steuern.“

In eigenen vereinfachten Worten wiedergegeben ist eine SPS eine Steuerung von einer Anlage oder Maschine die in Abhängigkeit von den Eingängen entsprechend des Programmes, Ausgänge ansteuert. Eingänge können dabei Sensoren, Schalter oder Taster oder auch eine Anlagenvisualisierung sein. Beispiele für Ausgänge wären Leuchtmelder, Ventile oder Schütze zum Ansteuern von Motoren.

Zentraler und Dezentraler SPS Aufbau 

Eine SPS besteht grundsätzlich aus 4 verschiedenen Komponenten. Als erstes benötigt man eine Profilschiene oder Hutschiene, auf welcher die Baugruppen montiert werden. Ob Hutschiene oder Profilschiene hängt von der Steuerung ab. Für die S7-1500er Steuerungen müssen Profilschienen verwendet werden. 1200er Steuerungen können hingegen auf Hutschienen montiert werden. Danach benötigt man noch eine 24 VDC Stromversorgung. Diese kann direkt an der Steuerung platziert sein wie in Bild 1 unten oder es kann ein beliebiges anderes Netzteil verwendet werden. Früher wurde der Aufbau mit separater Stromversorgung direkt neben der CPU sehr häufig verwendet. Heutzutage ist das meist nicht mehr üblich. Als nächstes kommt dann die eigentliche SPS nämlich die CPU. Bei den meisten Siemens CPU‘s benötigt man zusätzlich noch eine SIMATIC Memory Card, die in die CPU gesteckt wird. Auf die Karte gehen wir später noch näher ein. Jetzt fehlen nur noch die Peripheriemodule. Peripheriemodule können digitale oder analoge Ein- und Ausgabebaugruppen sein. Es können aber auch Kommunikations- oder Technologiebaugruppen verwendet werden. Bei solch einem Aufbau wie in Bild 3 spricht man von einem zentralen Aufbau eines Steuerungssystems. Hierbei befinden sich alle Komponenten an einer zentralen Stelle in einem Schaltschrank. Demzufolge müssen alle Ein- und Ausgänge direkt vom Schaltschrank verdrahtet werden. Da dies in vielen Fällen aber sehr umständlich wäre, gibt es auch einen dezentralen Aufbau.

Zentraler SPS Aufbau

Bild 1: Zentraler Aufbau eines Steuerungssystems

Beim dezentralen Aufbau befinden sich die Peripheriemodule dezentral an einer anderen Stelle in der Anlage oder Maschine (s. Bild 2). Das hat den Vorteil, dass die Peripheriemodule direkt vor Ort sind. Man spart so Verkabelungsaufwand. Die Peripheriemodule sind dann über ein Bussystem mit der jeweiligen SPS verbunden. Dies ist ein modularer Aufbau. Man hat damit eine größere Flexibilität bei einer großen Maschine oder Anlage, als mit einem reinen zentralen Steuerungssystem. Das vorrangig eingesetzte Bussystem bei Siemens ist Profinet. Es können aber auch andere Bussysteme wie z.B. Profibus zum Einsatz kommen. Bei anderen Steuerungen können weitere Bussysteme hinzukommen. Natürlich kann man aber auch bei einem dezentralen Aufbau einen Teil der benötigten Peripheriemodule direkt neben der CPU platzieren.

Dezentraler SPS Aufbau

Bild 2: Dezentraler Aufbau eines Steuerungssystems

SIMATIC Memory Card

Die SIMATIC Micro Memory Card (MMC) (s. Bild 3) wird als Speichermodul verwendet. Die CPU’s der 1500 er Baureihe von Siemens benötigen die MMC Karte, da sie keinen internen Ladespeicher besitzen. Die SIMATIC Micro Memory Card kann für die folgenden Zwecke verwendet werden:

  • Ladespeicher
  • Speichern von Rezepturen und Data Logs
  • Backuperstellung und Wiederherstellung
  • Zusätzliche Dokumentation von Programmen
  • Firmware-Update-Karte
MMC Karte

Bild 3: SIMATIC Memory Card

Speicherbereiche einer CPU am Bsp. S7-1500

Der Code- und Datenarbeitsspeicher ist ein flüchtiger Speicher. Er enthält ablaufrelevante Teile des Programmcodes. Nach einem Neustart der CPU oder nach Wechsel des Betriebszustandes von STOP nach RUN werden die Werte in den Datenbausteinen auf ihre Initialwerte zurückgesetzt. Sprich initialisiert.

Der Remanenzspeicher ist ein nichtflüchtiger Speicher. Hier werden alle als remanent definierten Variablen und Datenbereiche gespeichert. D.h. die Programmvariablen behalten auch nach einem Neustart bzw. nach einem Übergang der CPU von STOP nach RUN ihre Werte. Die Werte Im Remanenzspeicher werden durch Urlöschen oder durch ein Rücksetzen der CPU auf Werkseinstellungen initialisiert. Ein Beispiel für Variablen, welche remanent sein sollten, sind Einstellwerte oder Anlagenparameter. Aber auch diese Werte sind in jedem Fall zu sichern, damit die Werte auch nach einem Urlöschen wieder eingestellt werden können.

Der Ladespeicher für Codebausteine, Datenbausteine, Hardwarekonfiguration und Technologieobjekte befindet sich auf der MMC-Karte. Dieser Speicher ist ebenfalls nichtflüchtig.

Speicherbereiche CPU

Bild 4: Speicherbereiche einer SPS

Arbeitsweise einer S7-CPU

In die CPU werden die Eingänge wie z.B. Sensoren oder Bedienelemente eingelesen und in das Prozessabbild der Eingänge (PAE) geschrieben. Danach werden die Eingangszustände entsprechend der Programmlogik in einem SPS Zyklus verarbeitet. Nach der Verarbeitung werden die Ausgangszustände wie z.B. Aktoren ausgegeben. Anschließend beginnt der Prozess wieder von vorne. Demzufolge wird in der speicherprogrammierbaren Steuerung das Anwenderprogramm zyklisch abgearbeitet. Die Arbeitsweise nennt man auch EVA-Prinzip. EVA steht für Eingabe, Verarbeitung und Ausgabe (s Bild 5).

Arbeitsweise einer SPS, EVA-Prinzip

Bild 5: Arbeitsweise einer SPS mit Sensoren und Aktoren

Zyklische Programmabarbeitung bedeutet auch, dass beim Beschreiben einer Variablen immer das letzte Ergebnis ausgegeben bzw. weiterverarbeitet wird. Demzufolge muss man darauf achten, dass man Variablen nur einmal schreibt. Im Bild unten ist die zyklische Programmabarbeitung einer SPS nochmal anders dargestellt.

Zyklische Programmabarbeitung einer SPS

Bild 6: Zyklische Programmabarbeitung

Wenn man nun die Programmabarbeitung auf das Betriebssystem der CPU und die im SPS-Programm enthaltenen Bausteine aufteilt, ist die Programmabarbeitung wie in Bild 7 unten abgebildet. Das Betriebssystem ist in jeder CPU enthalten und organisiert alle Funktionen und Abläufe der CPU, die nicht mit einer spezifischen Steuerungsaufgabe verbunden sind. Das Betriebssystem ist Bestandteil der CPU und ist bei der Auslieferung bereits auf dieser enthalten. Aufgaben des Betriebssystems:

  • Abwickeln Neustart
  • Aktualisierung PAE und PAA
  • Aufruf des Anwenderprogramms
  • Erfassen von Alarmen (Alarm OB)
Bausteinstruktureiner Siemens SPS

Bild 7: Zyklische Programmabarbeitung mit Bausteinstruktur

SPS Programmierung

Das SPS-Programm der Anwender, kann in verschiedenen Bausteinen programmiert werden. Es gibt die folgenden Bausteine in einer Siemens SPS:

  • Organisationsbaustein (OB)
  • Funktionsbaustein (FB)
  • Funktion (FC)
  • Datenbaustein (DB) 

Der OB1 ist dabei immer in einer SPS enthalten. Es ist der "Main" Baustein, von welchem aus alle anderen Bausteine oder Programmcode aufgerufen wird (vgl. Bild 7). Einzig die andere OB Typen werden nicht aus dem OB1 aufgerufen.   

Programmiersprachen

Für die Programmierung der oben genannten Bausteine, mit Ausnahme eines DB, können folgende Programmiersprachen verwendet werden:

  • Funktionsplan (FUP)
  • Kontaktplan (KOP)
  • SCL (Structured Control Language)
  • Anweisungsliste (AWL)
  • Schrittketten (Graph; nur in FB's)

FUP, KOP und Graph sind grafische Programmiersprachen. SCL und AWL sind hingegen Textbasiert. Die Programmiersprache kann generell frei gewählt werden. In der Praxis ist es aber häufig so, dass in sich geschlossene Bausteine, welche eine bestimmte und wiederkehrende Verwendung in einem SPS-Programm haben, mit SCL programmiert werden. SCL ist gut geeignet, wenn die Programmierung komplex ist. Für die Bausteinaufrufe und einfachere Programmierung und vor allem für die Programmierung von Sicherheitsbausteinen sollte die Programmiersprache grafisch sein, als FUP oder KOP. Bei Sicherheitsbausteinen muss dies sogar so sein. Die Benutzung von SCL ist an dieser Stelle nicht möglich.

Christian Preis

Christian Preis
Gründer edcon-academy seit 15 Jahren in der Automatisierungstechnik.


Beitrag teilen!

>