Aufbau einer SPS

Aufbauprinzip

Speicherprogrammierbare Steuerungen werden heutzutage in Serie ge­fertigt und sind nicht für eine bestimmte Aufgabe konzipiert. Der Maschinenhersteller (Konstrukteur) sucht für seine Aufgabenstellung die geeignete SPS und, falls notwendig, die geeigneten Baugruppen aus. Überhaupt unterscheiden sich die verschiedenen SPS-Steuerungen hauptsächlich durch die Anzahl der maximal möglichen Ein- und Aus­gänge, der Anzahl von Zeiten, Zähler und Merker und der Be­arbeitungs­geschwindigkeit. Natürlich gibt es noch weitere Kriterien für die Auswahl der richtigen SPS, doch dies ist abhängig von den umzusetzenden Funktionen und natürlich auch eine Kostenfrage.
Für eine kleinere Maschine oder Steuerungs­aufgabe reicht möglicher­weise eine kompakt auf­gebaute SPS, die mit einer fest vorgegebener Anzahl von Ein- und Ausgängen, Zeiten, Zähler, Merker und gegebenenfalls Sonderfunktionen ausgestattet ist. Für größere Steuerungs­aufgaben wird die SPS aus einzelnen Bau­gruppen in Modulbauweise individuell für den gewünschten Anwendungsfall zusammengestellt.

Aufbauprinzip einer SPS
Aufbauprinzip einer SPS

Eine SPS besteht im wesentlichen aus der Zentralbaugruppe mit Prozessor (auch CPU = Central Processing Unit genannt), Programm­speicher, und Bus­system (= System zum Daten­tranfer über einen gemeinsamen Übertragungs­weg), den Ein- und Aus­gabebaugruppen und einer Strom­versorgung.

Heutzutage sind die meisten SPS-Steuerungen bzw. Baugruppen plusschaltend (PNP). Der Pluspol der 24V Spannungs­versorgung wird über die End­schalter auf die Eingänge geschaltet und über die Ausgänge auf die Stellglieder oder Leucht­melder ausgegeben. Der Minuspol (0V) liegt direkt an den Verbrauchern an und wird nicht geschaltet.
Natürlich gibt es auch minus­schaltende Steuerungen (NPN). In der Vergangenheit waren sie relativ weit verbreitet. Heute sind sie jedoch nicht mehr so häufig anzutreffen. Der damalige Grund waren die Herstellungs­kosten. NPN-Bau­elemente waren seinerzeit einfacher und damit preiswerter zu fertigen. Im Laufe der Zeit änderte sich das und PNP setzte sich durch.

Funktionsprinzip
Prinzipielle Funktionsweise einer SPS
Prinzipielle Funktionsweise einer SPS

Das Anwendungsprogramm (SPS-Programm) wird in Form einer Liste mit Anweisungen im Programmspeicher der SPS gespeichert. Die Signalgeber werden auf der Eingabebaugruppe verdrahtet. Innerhalb der CPU bearbeitet der Prozessor das im Speicher stehende Programm und fragt ab, ob die einzelnen Eingänge den Signalzustand „0“ oder „1“ haben, also ob sie geschaltet oder nicht geschaltet sind.
Abhängig von diesen Eingangszuständen und von dem im Speicher stehenden SPS-Programm weist der Prozessor die Ausgabebaugruppe an, die entsprechenden Ausgänge zu schalten. Die an der Ausgabebaugruppe angeschlossenen Leuchtmelder oder Stellglieder werden jetzt ein- oder ausgeschaltet.
Das SPS-Programm bildet innerhalb der CPU einen Befehlsstapel (Stack). Ein Adressenzähler fragt diesen Befehlsstapel Anweisung für Anweisung nacheinander (seriell) ab und bewirkt die Übertragung der programmabhängigen Informationen zum Anweisungsregister.
Ein Register ist nichts anderes als ein Speicherbereich innerhalb der CPU.
Das Steuerwerk erhält seine Anweisungen vom Anweisungsregister. Während das Steuerwerk die aktuelle Anweisung bearbeitet, schiebt der Adressenzähler die nächste Anweisung in das Anweisungsregister. Der Status der Eingänge werden in das Prozessabbild der Eingänge (PAE) übertragen. Es folgt die interne Verknüpfung mit Merkern, Zeiten oder Zählern und das Verknüpfungsergebnis (VKE) wird in das Prozessabbild der Ausgänge (PAA) übertragen.

Wird das Bausteinende (BE) des SPS-Programmes erkannt, wird der jeweilige Status aus dem Prozessabbild der Ausgänge (PAA) an die Ausgänge übertragen. Der Peripheriebus dient hier zum Datenaustausch zwischen der Zentralbaugruppe (CPU) und den einzelnen Baugruppen.
Nachdem der Status des PAA an die Ausgänge übertragen wurde beginnt der Adressenzähler wieder von vorne. Das Programm wird zyklisch immer wieder von der ersten Anweisung bis hin zur letzten Anweisung, dem Bausteinende (BE) durchlaufen. Die Zeit für einen Durchlauf ist die Zykluszeit.

Das Bussystem

Der Signalaustausch zwischen der SPS-CPU und den Ein- und Ausgabebaugruppen erfolgt über ein Bussystem (Prozessbussystem). Dieses Bussystem ist quasi eine elektrische Sammelleitung zur Übertragung von verschiedenen Signalen.

Das Bussystem

  Der Adressbus spricht die Adressen der einzelnen Baugruppen an.
  Der Datenbus überträgt z.B. Daten von Eingabe- nach Ausgabebaugruppen.
  Der Steuerbus überwacht die Signale zur Steuerung und den Funktionsablauf innerhalb der SPS.

Das Bussystem überträgt nur Signale! Die eigentliche Spannungsversorgung für die Eingänge und Schaltspannung für die Ausgänge, die ja letztendlich das Ventil oder das Schütz schalten, erfolgt über eine separate Stromversorgung.

Stromversorgung
Sitop Netzteil PSU8200
Sitop PSU8200[1]
Phoenix Contact Quint Power Netzteil
Phoenix Quint Power[2]
Murr Elektronik Netzgerät 85353
Murrelektronik 85353[3]

Eine Strom­versorgungs­baugruppe, auch Netzteil genannt, erzeugt aus der Netz­spannung die erforderliche Spannung für die elektronischen Bau­gruppen der SPS. Aus einer AC Wechsel­spannung (AC = Alternating Current ) wird eine DC Gleich­spannung (DC = Direct Current) erzeugt. Die Höhe dieser Spannung beträgt in der Regel 24 Volt. Signalgeber, Stell­geräte oder Leuchtmelder können ebenfalls mit diesem oder auch mit einem separaten Netzteil mit Spannung versorgt werden. Netzteile gibt es von zig Herstellern mit unter­schiedlicher Leistung oder Genauig­keit.

Speicher

Speicher sind elektrische (Halbleiter-) Bauelemente, in denen Informationen hinterlegt werden. Es ist in etwa so etwas wie unser Erinnerungsvermögen. Binäre Signale werden dort abgelegt (gespeichert) und bei Bedarf von dort abgerufen. Eine Speicherzelle entspricht einem Binärsignal und kann jeweils nur den Signalzustand „0“ oder „1“ annehmen.

EPROM
Simatic S5 EPROM-ModulSimatic S5 EPROM-Modul

Ein EPROM (Erasable Programmable Read-Only Memory) ist ein lösch- und programmierbarer Lesespeicher, der die gespeicherten Werte auch bei Spannungsausfall nicht verliert.
Nur mit UV-Licht kann der Speicher­inhalt wieder gelöscht werden.

RAM
Simatic S5 RAM-ModulSimatic S5 RAM-Modul

Ein RAM (Random-Access Memory) ist ein Schreib-/Lesespeicher, der die gespeicherten Werte im Gegensatz zum EPROM bei Spannungsausfall verliert. Um Datenverlust zu vermeiden muss ein RAM (z.B. mit einer Batterie) gepuffert werden.

Flash-EPROM
Simatic S7 Flash-EPROMSimatic S7 Flash-EPROM

Ein Flash-EPROM ist ebenfalls ein lösch- und programmierbarer Lesespeicher wie das EPROM. Der große Unterschied besteht in der Löschmethode. Das Flash-EPROM kann nur elektrisch mit einer Spannung gelöscht (geflasht) werden.

MMC-Card
Simatic S7 Memory CardSimatic S7 Memory Card[4]

Die MMC-Card (Micro Memory Card) ist im Prinzip eine SD-Karte (Secure Digital). Sie ist jedoch Siemens-spezifisch formatiert und kann nicht von einem „normalen“ PC gelesen werden. Einmal mit FAT32 formatiert ist die Karte nicht mehr für S7 einsetzbar.

Bei den neueren und neuen Siemens-CPUs (S7-300, S7-1200, S7-1500) werden nur noch steckbare Micro Memory Cards (MMC) als Ladespeicher eingesetzt. Hier werden neben den Programmcode- und Daten­bausteinen auch Systemdaten (Konfigurations­daten, Baugruppen­parameter, Bus­verbindungen usw.) gespeichert. Zusätzlich können auch die kompletten Projektierungs­daten einer Anlage oder Maschine auf der MMC abgelegt werden. Die MMCs gibt es mit unterschiedlicher Speicherkapazität.
Eine MMC mit entsprechenden Daten muss in der CPU gesteckt sein, da die CPU sonst nicht lauffähig ist. Nach dem Einschalten der SPS werden alle relevanten Code- und Daten­bausteine von der MMC (Ladespeicher) in den Arbeits­speicher der CPU geladen. Die Programm­bearbeitung erfolgt aus­schließlich vom Arbeits­speicher. Der Arbeitsspeicher ist nicht bei allen CPUs gleich. Zum einen kann die Speichergröße unterschiedlich sein und zum anderen ist bei einigen Typen ein Teil des Arbeits­speichers remanent, ein anderer Teil ist nicht remanent. Im remanenten Bereich können Daten­bausteine gespeichert werden, da die Werte auch bei einem Spannungs­ausfall oder Neustart erhalten bleiben. Der remanente Teil des Arbeits­speichers ist wartungsfrei und benötigt keine Puffer­batterie für den Betrieb.

Programmbearbeitung
Lineare Programmbearbeitung
Lineare Programmbearbeitung

Es gibt zwei verschiedene Möglichkeiten der Programmverarbeitung, die abhängig von der verwendenten SPS bzw. CPU und der Art der Programmierung sind.
Die Bearbeitung jeder einzelnen Anweisung benötigt eine bestimmte Zeit, die im Mikro­bereich einer Sekunde liegt.

Lineare Programmbearbeitung

Bei einer linearen Pro­grammierung werden die Anweisungen von der SPS in der Reihenfolge abgearbeitet, in der sie auch im Programm­speicher hinterlegt sind. Ist das Programmende (BE) erreicht, beginnt die Programm­bearbeitung wieder von vorne.
Solch eine lineare Programm­bearbeitung reicht in der Regel nur für einfache, relativ nicht so komplizierte und umfang­reiche Anlagen aus und kann in einem einzigen Baustein, dem OB1 realisiert werden.

Strukturierte Programmbearbeitung

Bei umfangreichen Steuerungsaufgaben wird das Programm in relativ kleine und dadurch besser überschaubare Bausteine gepackt. Der Vorteil dieser Art der Programmierung ist ganz klar die Möglichkeit zum Testen des einzelnen Bausteins, da er nur eine Baugruppe oder einzelne Funktion der gesamten Anlage umfasst.
Die Programmbausteine werden über einen Programmbefehl aus dem jeweiligen Baustein aufgerufen. Wird das Bausteinende (BE) in dem aufgerufenen Baustein erreicht, wird das Programm im aufrufenden Baustein direkt nach der Aufrufanweisung fortgesetzt. Der Aufruf eines Bausteins erfolgt mit den Programmbefehlen Call xx, UC xx oder CC x.
Die Unterschiede der Befehle Call und UC (unconditioned Call = be­dingungsloser Aufruf) oder CC (Conditioned Call = bedingter Aufruf) werden in einem anderen Kapitel erklärt.

Strukturierte Programmbearbeitung
Strukturierte Programmbearbeitung