# funktion SPS



## SheepLord (17 Dezember 2010)

Bin der Ausbildung zum Elektroniker und bin da der SPS das erste Mal begegnet. Hab mich damit ein bisschen beschäftigt im beruflichen Rahmen und finde das ganz ziemlich interessant und eigentlich ein nettes „Spielzeug“. 

  Nun will ich jedoch innerhalb meiner Berufsschule ein Referat über das Thema halten, finde jedoch nicht befriedigendes zu der Funktion der SPS allgemein(allso wie ist das genau mit den ROM und RAM wann kommt wer zum Arbeiten) da dachte ich mir ich frag mal die Profis.

  Hab hier mal ne Grafik gefunden die ich für Präsentationsunfähig  halte jedoch euch zeigt um was es mir genau geht. Wo ich einig Erläuterungen bräuchte.

http://www.rudolphis.de/bilder/funktion_sps.gif


  Hoff mir kann jem helfen.


----------



## winnman (17 Dezember 2010)

Was willst du eigentlich Wissen?

ne SPS ist eine 
"Speicher Programmierbare Steuerung"
Der Name sagt schon ziehmlich viel.

Steuerungs- Automatisierungsaufgaben werden damit gelöst.

Schreib mal Details die du wissen willst.


----------



## Corosop15 (17 Dezember 2010)

Schau doch mal hier....

http://de.wikipedia.org/wiki/Speicherprogrammierbare_Steuerung


----------



## SheepLord (17 Dezember 2010)

wiki und ander seiten hab ich natürlich schon gefunden, ging mir drum wo wird mein programm gespeichert wann wird es wohin geschrieben wann wird es wo gelessen.

Im grund geht es mir um den zusammenhang von

Mikroprozzesor
ROM/RAM
EIN/Ausgängen
Schnittstelle


----------



## winnman (17 Dezember 2010)

Dann schreib das bitte gleich.

hier eins der Details:
Eingänge werden ins S7 Sps am anfang des Zykluses in das sogenannte PEW = (Periferie Eingangs Wort) eingelesen und steht während des gesamten Zyklus zur Verfügung.
Grundprinzig ist die Zyklische Bearbeitung des Programms (sollte / kann nicht für For-Next-Schleifen Angehalten werden, . . .
Im Programm wird alles schritt für Schritt abgearbeitet.
Wenn die 1. Funktion eine Variable beschreibt, dann kann die Nächste Funktion darüberschreiben, . . .

Am Ende des Zyklus wird das PAW = (Periferie Ausgangs Wort) auf die Ausgänge geschrieben.

für deine restlichen Fragedetails stehen dir noch andere Spezialisten zur Verfügung, musst aber sicher noch detailiierter nachfragen was du benötigst.


----------



## Gerhard Bäurle (17 Dezember 2010)

SheepLord schrieb:


> Hoff mir kann jem helfen.



Hallo,

meine Vorschlag ist: Mit einer Suchmaschine Deiner Wahl nach 
"sps grundlagen" suchen.

So findest Du z. B.:

http://www.brix.de/elektrik/sps/sps-grundlagen.html

http://www.sps-lehrgang.de/sps-grundlagen

Dann kannst Du Dich mal ins Thema einlesen und konkrete
Fragen hier stellen.

Das schlage ich vor, da wir hier kaum abschätzen können,
wo wir Dich "abholen" sollen, d. h. was Dein aktueller Kenntnisstand
ist.


----------



## Gerhard Bäurle (17 Dezember 2010)

SheepLord schrieb:


> ...
> Im grund geht es mir um den zusammenhang von
> 
> Mikroprozzesor
> ...



Mit dem Mikroprozessor bzw. Mikrocontroller direkt hast Du
im SPS-Bereich in der Regel nichts zu tun. Was Du siehst 
ist eine sogenannte *Laufzeitumgebung*, in der die SPS-
Programme ausgeführt werden.


----------



## SheepLord (19 Dezember 2010)

okay,

also probier ich es noch mal anderes 

http://www.brix.de/elektrik/sps/sps-grundlagen.html

http://www.sps-lehrgang.de/sps-grundlagen

die Seiten konnte mir leider an und für sich nicht weiter helfen da sie sich Hauptsächlich mit der Programmierung der SPS befassen. Mein aktueller Stand sollte da  jedoch für das referat ausreichen, was ich brauch ist eher Hardware mäßig

wenn ich mein Programm über die Schnittstelle einspiel wo wird das dann gespeichert im RAM-Speicher  oder im ROM-Speicher für was ist dann der andere speicher, Wo liegt das Betriebssystem: und welche Aufgaben übernimmt dies überhaupt.  Wie läuft  ein Zyklus ab ( Setzen der Eingänge, verarbeiten im Prozessor setzen der Ausgänge?).    Batteriebuffer zum Beispiel ist der nur zum erhalten von dem Programm da oder für noch mehr? Und wie erhält sich das Betriebssystem?


----------



## Gerhard Bäurle (19 Dezember 2010)

SheepLord schrieb:


> wenn ich mein Programm über die Schnittstelle einspiel wo wird das dann gespeichert im RAM-Speicher  oder im ROM-Speicher



Angenommen, Dein Programm würde in ein ROM gespeichert, 
was würde dann bei der ersten Programmändrungen passieren?



SheepLord schrieb:


> Wo liegt das Betriebssystem: und welche Aufgaben übernimmt dies überhaupt.



Das ist je nach Hersteller unterschiedlich. Bei der weit verbreiteten 
Simatic von Siemens siehst Du nur das Laufzeitsystem. Diese 
Software wird allgemein auch als *Firmware* bezeichnet. Die Firmware
kann in einem ROM liegen, aber meistens soll die Firmware aktualisiert
werden können (Fehlerbehebungen und zusätzliche Funktionen), so
dass hier EEPROMs oder Flashspeicher zum Einsatz kommen.



SheepLord schrieb:


> Wie läuft  ein Zyklus ab ( Setzen der Eingänge, verarbeiten im Prozessor setzen der Ausgänge?).



http://www.sps-programm.info/zyklus



SheepLord schrieb:


> Batteriebuffer zum Beispiel ist der nur zum erhalten von dem Programm da oder für noch mehr? Und wie erhält sich das Betriebssystem?



Bezüglich Batteriepuffer ... Die Forums-Suche gibt Dir dazu einiges.


----------



## SheepLord (19 Dezember 2010)

Okay mal schauen ob ich jetzt richtig liege.

  Über die Schnittstelle wird die Firmware und das Anwendungsprogramm geladen beides in wiederbeschreibbare Speicher. Je nach Herstelle ist die Firmware Betriebssystem oder nur Laufzeitzyklus. Laufzeitzyklus ist die Schnittstelle/Kommunikationshilfe  zwischen Betriebssystem und Anwendungsprogramm. 

  Innerhalb eines Laufzeitzyklus werden die Eingänge gelesen in einem Speicher gesetzt, anschließend werden sie verarbeitet was über das Anwendungsprogramm definierte ist. Das Ergebnis wird aus dem Speicher gelesen und entsprechend die Ausgänge gesetzt. Wenn ein Zyklus zu lang schaltet sich die SPS aus Sicherheitsgründen auf STOP. 

  Die Pufferbatterie dient zum Datenerhalt (hab über die Forumhilfe nicht wirklich was Hilfreiches gefunden unter entweder ich wird mit Beiträgen überflutet oder hab außer meinem beitrag gar kein vielleicht bin ich auch einfach nur zu blond ein passend Suchbegriff zu finden.)

  [FONT=&quot]Zitat:[/FONT]
          [FONT=&quot]Zitat von *SheepLord* [/FONT]
_[FONT=&quot]wenn ich   mein Programm über die Schnittstelle einspiel wo wird das dann gespeichert im   RAM-Speicher oder im ROM-Speicher [/FONT]_

        [FONT=&quot]Angenommen, Dein Programm würde in ein ROM gespeichert, 
was würde dann bei der ersten Programmändrungen passieren?[/FONT]

  Ein  Programmänderung währ bei einem ROM nicht möglich oder?


  Für was braucht das Anwendungsprogramm eigentlich die Kommunikation mit dem Betriebssystem??


----------



## godi (19 Dezember 2010)

winnman schrieb:


> Dann schreib das bitte gleich.
> 
> hier eins der Details:
> Eingänge werden ins S7 Sps am anfang des Zykluses in das sogenannte PEW = (Periferie Eingangs Wort) eingelesen und steht während des gesamten Zyklus zur Verfügung.
> ...



Da muss ich dich leider Korrigieren.
Ganz am Anfang wird das Prozessabbild der Ausgänge geschrieben. Also die Ausgänge werden gesetzt.
Dann wird das Prozessabbild der Eingänge geschrieben. Also die Eingänge werden eingelesen.

Das PEW und PAW ist wieder was anderes. Damit umgeht man das Prozessabbild der Eingänge bzw Ausgänge und kann direkt aus dem Programm heraus auf die Eingänge bzw Ausgänge zugreifen.

@SheepLord
Hier noch ein PDF:
http://support.automation.siemens.c...ib.csFetch&nodeid=12963439&forcedownload=true

Kapitel 5 und 6 könnten interessant sein. Kannst ja mal durchschmökern. 

godi


----------



## SheepLord (19 Dezember 2010)

Also innerhalb eines Laufzyklus werden zuerst die Ausgänge geschrieben dann die Eingänge Anschließen das ganze verarbeitet und wieder von neuem. 

  Wie werden sie dann ganz am Anfang gesetzt also praktisch beim ersten Start wenn noch nichts Berechnet wurde??

  Ist der Rest dann soweit richtig??

  Und das mit dem Betriebssystem hab ich auch noch offen :-(


----------



## Gerhard Bäurle (19 Dezember 2010)

SheepLord schrieb:


> Innerhalb eines Laufzeitzyklus werden die Eingänge gelesen in einem Speicher gesetzt, anschließend werden sie verarbeitet was über das Anwendungsprogramm definierte ist. Das Ergebnis wird aus dem Speicher gelesen und entsprechend die Ausgänge gesetzt. Wenn ein Zyklus zu lang schaltet sich die SPS aus Sicherheitsgründen auf STOP.



Oben hast Du geschrieben, das Dir brix.de nicht weiterhilft.

Dort ist die zyklische Bearbeitung aber sehr gut erklärt:

http://www.brix.de/elektrik/sps/sps-grundlagen.html#seriell_zyklisch

Leider habe ich den Eindruck, dass Du als Fragesteller/in Dir
nicht halb so viel Mühe gibst wie die Antwortenden.

Bevor mir mein gute Laune abhanden kommt, steige ich 
hier jetzt mal aus.


----------



## godi (19 Dezember 2010)

Lese dir mal das Kapitel 5 und 6 in dem pdf durch wo ich den Downloadlink im vorigen Beitrag hinzugefügt habe.
Damit lassen sich schon viele Fragen beantworten und du lernst noch einiges sehr brauchbares (überhaupt für einen Neuling) dazu.

Die Ausgänge werden ganz am Anfang auf "0" gesetzt eben damit nicht gleich ein Antrieb losläuft.

godi


----------



## MSB (19 Dezember 2010)

Was willst du jetzt eigentlich wissen?
SPS Allgemein oder speziell Siemens?

Das beschriebene Prozessabbild gibt es nämlich nicht bei allen SPS-Herstellern,
als populärste Ausnahme von dieser Regel muss hier Rockwell alias Allen Bradley herhalten.

SPS Programmierer haben Jahrzehntelang ihre Programme in ROMs gespeichert,
ganz früher in Lochkarten, später dann in EPROM, noch später dann in EEPROM,
mittlerweile sind wir bei dynamisch beschreibbaren ROM, besser bekannt unter Flash-Speicher.

Die Pufferbatterie ist übrigens bei vielen modernen SPSen zu gunsten von Goldcap, Kurzzeit-USVs und ähnlichem verschwunden.

Zu Betriebssystem vs. Anwenderprogramm:
Das Anwenderprogramm ist letzten Endes das was der jute Programmierer erstellt,
alles was er dafür benötigt an Programmierbefehlen, um bei Siemens zu bleiben beim
Und/Oder angefangen bis hin zu mehr oder weniger komplexen SFC/SFB, wird vom Betriebssystem interpretiert und entsprechend Abgearbeitet.

Mfg
Manuel


----------



## Gerhard Bäurle (19 Dezember 2010)

godi schrieb:


> Ganz am Anfang wird das Prozessabbild der Ausgänge geschrieben. Also die Ausgänge werden gesetzt.



In der Literatur wird überwiegend behauptet, die Ausgänge werden 
erst am Ende des Zyklus transferiert. 

Wie ist es jetzt den tatsächlich?


----------



## godi (19 Dezember 2010)

Gerhard Bäurle schrieb:


> In der Literatur wird überwiegend behauptet, die Ausgänge werden
> erst am Ende des Zyklus transferiert.
> 
> Wie ist es jetzt den tatsächlich?



Ich glaube im Oktober 1997 ist das umgestellt worden (Ich finde nur nicht mehr das Dokument wo das drinnsteht) Ich glaube da müsste man in einem Handbuch von einer CPU nachlesen die kurz nach dem Termin veröffentlicht wurde.
Also davor war als erstes das PEA und am Schluss das PAA.
Für Heute siehe Anhang:


----------



## SheepLord (19 Dezember 2010)

Tut mir Leid wenn es den eindruckt erweckt hat das ich geringe Interesse zeige.

  Wenn jem. Mal bitte drüber schauen könnt was ich bisher geschrieben hab und ob ich das so lassen kann ohne Stuss zu erzählen. Ich interessier mich eigentlich im allgemein für SPS und weniger für Siemens spezifisch hab auch im Betrieb nur selten mit Siemens Steuerung zu tun eher mit SAIA



Wieso SPS?
  Vor der speicherprogrammierbaren Programmierung musste jegliche Logik mit Hilfe von Verdrahtung gelöst werden, heute genannt VPS (Verbindungsprogrammierte Steuerung). Mit Hilfe einer SPS kann man einen Großteil des Verdrahtungsaufwandes verringern und auch die Kosten für größere Mengen an Bauteilen senken. Auch die Fehlersuche gestaltet sich als einfach, als bei einer VPS. Hier sieht man auch gleich den Punkt, ob und ab wann eine SPS Sinn macht, nämlich sobald die Kosten der Verdrahtung und der Bauteile, die Kosten der SPS und deren Aufbau überschreiten. Auf Grund der vielen Elektronik sind SPS jedoch teuer, weshalb kleinere Schaltungen immer noch mit VPS realisiert werden. Als weitere Vorteile der SPS wären Kommunikationen mit Fremdsystemen, automatische Dokumentation und mathematische Funktionen zu nennen.


Grundaufbau einer SPS
  Eine SPS hat immer einen CPU, mehrere Speicher, eine Schnittstelle, eine Batterie(oder ein Kondensator) und Ein- und Ausgangsmodule, welche in der Regel austauschbar sind. 


Grundfunktion einer SPS
  Der CPU verarbeitet die Daten. Ein RAM Speicher oder ein EEPROM Speicher beinhalten das Betriebssystem und das Anwendungsprogramm. Das Abbild der Ein- und Ausgänge wird in einem Speicher im CPU festgehalten. Der CPU geht nach folgendem Zyklus vor: Schreiben der Ausgänge nach dem Ausgangsspeicher, Lesen der Eingänge und schreiben der Informationen in den Eingangsspeicher. Anschließend werden die neuen Informationen  für den Ausgangsspeicher mit Hilfe des Eingangspeichers und dem Anwendungsprogrammes berechnet. Dieser Zyklus wiederholt sich fortlaufend. Wenn eine maximale Zykluszeit überschritten wird, geht der CPU meist in den STOP Modus.


Heutiges Können
  Kommunikation über Internet vieler Stationen mit Hilfe von ISDN oder GSM/GPRS. Aufzeichnen von Werten und Zwischenspeichern auf Flash-Karten. 
  W-Lan Verbindungen.


----------



## Oberchefe (19 Dezember 2010)

> Das beschriebene Prozessabbild gibt es nämlich nicht bei allen SPS-Herstellern,
> als populärste Ausnahme von dieser Regel muss hier Rockwell alias Allen Bradley herhalten.



Das würde ich so nicht sehen. Zumindest bei den PLC5 ist das Verhalten vergleichbar, zumindest wenn man die Forcetabelle außer acht läßt. Es nennt sich halt nicht Prozessabbild sondern Datentafel (File Null bzw. Eins). Die Controllogix hat aber auch die Ein- und Ausgänge im Speicher liegen, nur was das Update derselben angeht ist die etwas anders, wie auch schon damals die PLC3 asynchron war.


----------



## SheepLord (19 Dezember 2010)

hatt jem das bedürfniss mir  das geschriebe troz grober gramtikalisch schnitz vom fachlichen kurz abzunicken?


----------

