Wenn du den ersten Teil des Kurses bereits gesehen hast, dann weißt du bereits grob, was eine SPS ist, aber was steckt eigentlich in so einer Steuerung drin?
Genau das möchte ich dir in den nächsten paar Minuten in einer leicht verständlichen Form zeigen.
Übersicht der Prozesse
Das Kernstück einer SPS ist die CPU (zentrale Rechen- und Steuereinheit eines Computers) und innerhalb dieser CPU laufen verschiedenste Prozesse ab.
Im Bild siehst du in leicht vereinfachter Form den schematischen Aufbau der wichtigsten Systembereiche einer CPU.
Dieser Aufbau beinhaltet das Steuer- und Rechenwerk, den Speicher, Merker, Zeiten, Zähler, Akku Funktionen, Adressregister und die Prozessabbilder der Ein- und Ausgänge.
Speicherbereiche und PG/PC Interface
Beim Programmieren einer SPS entstehen Konfigurationsdaten, wie die verwendete Hardware und natürlich das Anwenderprogramm.
Damit auch die CPU diese Informationen bekommt, werden diese Daten über ein sogenanntes PG/PC Interface (Programmiergerät - PC Schnittstelle) vom Laptop in den Ladespeicher der SPS übertragen.
Der Ladespeicher einer SPS
Der Ladespeicher einer SPS ist nichts weiter als eine Siemens Memory Card (MMC).
Ein Vorteil dieser Speicherkarte ist, dass nach einem Spannungsausfall die Daten im Speicher erhalten bleiben.
Auf einen weiteren Vorteil gehe ich noch im Laufe der Lektion ein.
Achtung:
Auch wenn die MMC wie jede handelsübliche Speicherkarte aussieht, ist sie vom Hersteller speziell vorformatiert und darf nicht in einen Windows Rechner gesteckt werden.
SPS Betriebssystem
Das Betriebssystem einer speicherprogrammierbaren Steuerung liegt natürlich in einem nicht veränderbaren Speicherbereich (ROM-Speicher).
Eine Hauptaufgabe des Betriebssystems ist, den relevanten Programmcode vom Ladespeicher (MMC) in den Arbeitsspeicher zu kopieren.
Warum wird der Programmcode vom Ladespeicher in den Arbeitsspeicher kopiert?
Zum einen können die Daten aus dem Arbeitsspeicher schneller abgerufen werden, was den CPU Zyklus viel dynamischer werden lässt, und zum anderen können dadurch Programmänderungen im laufenden Betrieb vorgenommen werden, weil die Änderungen zuerst in den Ladespeicher eingehen und erst von da aus in den Arbeitsspeicher kopiert werden.
System und Remanenzspeicher
Systemspeicher
Im sogenannten Systemspeicher liegen die im Programm verwendeten Operanden.
Zu den Operanden Zählen Ein- und Ausgänge sowie auch Merker, Zeiten und Zähler
Remanenzspeicher
Der nächste wichtige Speicherbereich ist der Remanenzspeicher, wobei Remanenz bzw. remanent bleibend oder zurückbleibend bedeutet.
Für uns heißt es, dass Merker, Zeiten, Zählerfunktionen und Datenvariablen über einen Spannungsausfall hinweg ihren Wert behalten können.
Merker - Zeiten - Zähler
Merker
Merker sind kleine Speicherplätze, in denen Zwischenergebnisse gespeichert werden können.
Dabei kann ein Merker als Bit, Byte, Word oder DWord schreibend und lesend verwendet werden, ohne direkten Einflüssen von außen zu unterstehen.
Auch ist es möglich, Merker remanent zu setzten, damit diese ihren gespeicherten Wert auch bei einem Neuanlauf behalten.
Zeiten und Zähler
Bei Zeiten und Zählern wird wie der Namen schon vermuten lässt ein Zeitwert oder ein Zählwert gespeichert, auf den auch schreibend und lesend zugegriffen werden kann.
Akkumulatoren oder Akkus
Ein SPS Akku oder Akkumulator ist ein Zwischenspeicher für Rechenoperationen und auch Lade- und Transferoperationen.
Der eigentliche Rechenvorgang an sich wird aber in einem eigenen Rechenwerk, auch ALU genannt, durchgeführt.
Ohne diese Akkumulatoren wäre es notwendig, jedes einzelne Ergebnis einer Berechnung (logische Grundverknüpfung, Additionen, Divisionen etc.) im Hauptspeicher abzulegen und von da aus wieder in die CPU zu laden, was einen sehr langsamen Zugriff bedeuten würde.
Die gängigsten SPSen besitzen 2 Akkus, aber es gibt auch CPU Typen mit 4 Akkus.
Adressregister
Die Adressregister einer SPS sind Speicherbereiche mit deren Hilfe Operanden (Eingänge, Ausgänge, Merker, Datenbaustein Variablen usw.) zur Laufzeit verändert werden können.
Mit zur Laufzeit ist gemeint, dass z.B. die Adresse eines Eingangs ohne Programmiergerät im SPS Programm verändert werden kann.
Die Adressregister waren besonders in den Zeiten vor dem TIA Portal und den 1200er/1500er CPUs wichtig, weil sie zu diesem Zeitpunkt eine der wenigen Möglichkeiten waren, Adressbereiche indirekt zu adressieren.
Das Steuerwerk
Das Steuerwerk regelt den ganzen Ablauf einer CPU.
Das bedeutet, dass das Steuerwerk für den internen Datentransport mittels eines Bussystems und für die Verarbeitung einzelner Operation verantwortlich ist.
Sprich, jede einzelne Zeile des Programms, wird aus dem Arbeitsspeicher gelesen -> entschlüsselt und entsprechend verarbeitet.
Ein SPS Zyklus
Auch wenn das Thema SPS Zyklus schon im ersten Teil erläutert wurde, möchte ich hier trotzdem nochmal darauf eingehen.
Zu Beginn werden die aktuell anliegenden Zustände der Eingänge in das PAE (Peripherie Abbild der Eingänge) geladen.
Im Anschluss wird unter Berücksichtigung von Merkern, Zeiten, Zählern usw. das SPS Anwenderprogramm abgearbeitet.
Je nachdem was programmiert wurde, wird im Anschluss das PAA (Peripherie Abbild der Ausgänge) auf die tatsächlichen Ausgänge kopiert und der Zyklus beginnt von vorne.
So nun weißt du, was in so einer SPS drin steckt, und ich freue mich schon dich im nächsten Teil wiederzusehen
12 Comments
Moin.
Was Bedeutet Indirekte Adressierung?
Grüß dich,
dazu muss ich ein klein wenig ausholen.
Nehmen wir an das du eine Lichtschranke mit der Adresse E10.7 im SPS Programm verwendest wobei das E für einen Eingang steht, die 10 für die Byte Adresse und die 7 für die Bit Adresse.
Das wäre eine direkte Adresse da diese nicht verändert wird.
(Sollte dir, das noch nichts sagen findest du hier ein kleines Video von mir Bit – Byte – Word – Dword – Adressierungen)
Bei einer der vielen Möglichkeiten der indirekten Adressierung wäre es so das die Zahl 10 und 7 durch Variablen ausgetauscht (E[ByteVariable].[BitVariable] werden, sodass diese im Programm verändert werden können.
Zum Beispiel könntest du mit einer Wiederholfunktion so die einzelnen Bits in einem Byte hoch zählen, wenn diese ein 1 Signal haben.
Da es aber zig Möglichkeiten gibt, wie indirekt adressiert werden kann mach ich dazu eine eigene kleine Serie.
Ich hoffe, dass es bis dahin aber trotzdem halbwegs verständlich herübergekommen ist ;).
mit freundlichen Grüßen
Rene
Hi, wie weit werden meine Kenntnise, wenn ich alle deine Kurse lerne? Lg, Monika
Schönen guten Morgen Monika,
mit den aktuellen Kursen vermittle ich die Grundlagen der SPS Programmierung. Das heißt, dass du danach einfache Aufgaben lösen und programmieren kannst.
Klar gibt es danach immer noch sehr viel zu lernen, aber der erste Schritt ist immer der Anfang des ganzen :).
Nach sehr vielen Jahren in der Programmierung lerne auch ich noch dazu ;).
Lg René
Guten Tag,
die SPS hat ja Kanäle und jeder Kanal hat eine Adresse. Wozu dienen diese Adressen genau ?
MfG
Orkun
Hallo Orkun,
danke für deine Frage.
Genau dafür habe ich auch ein eigenes Video erstellt :).
https://www.sps-tutorial.com/adressierung/
mit freundlichen Grüßen
Rene
Hallo,
ich würde gerne wissen, wie/ob man zu einer sich im laufenden Betrieb befindlichen SPS die Daten paralell auch noch einmal abgreifen und für andere Anwendungen wie z.B. Analysen bereitstellen könnte.
Danke und schöne Grüße,
Markus
Hallo Markus,
ja da gibt einige Möglichkeiten. Ich hab mir deine Idee für ein neues Video aufgeschrieben 🙂
mit freundlichen Grüßen
Rene
Hallo, ich bin in der Ausbildung tätig und möchte meinen Schülern möglichst einfach erklären was der unterschied zwischen Bit,Byte, Word und DoppelWord ist.
Ein bit ist ja einfach zu verstehen also 1 oder 0 signal, aber wenn ich ein beispiel für Byte Word DW suche fällt mir nichts einfaches ein,
kann ich da sagen das sobald ein grösserer Wert, wie analogwert ein byte word DW notwendig ist abhängig davon welche Informationen gespeichert werden?
Ich hoffe es ist verstanden was ich meine 😅
Vlt können sie mir auch ein beispiel zum verständnis geben.
Danke schonmal und schöne Grüße
Stefan
Grüß dich Stefan,
ich glaub ich weiß was du meinst :).
Habe ich auch bereits ein Video dazu erstellt.
bit-byte-word-dword/
mit freundlichen Grüßen
Rene
Hallo,
die Darstellung als blass weiße Schrift auf schwarzem Hintergrund ist sehr anstrengend zu lesen, außer man stellt die Bildschirmhelligkeit so hoch, dass dann weiße Flächen blenden.
Grüße
Florian
Hallo Florian,
danke für dein konstruktives Feedback.
mit freundlichen Grüßen
Rene