Peripherieadressbereich vs Prozessabbild

Mcool

Level-2
Beiträge
37
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen

ich habe schon viel in diesem Forum gelesen und und auch schon den einen oder anderen nützlichen Tip mitnehmen können.

so nun zu meinem Problem:

ich habe eine 6ES7315-6FF01-0AB0 CPU315F, 192KB

und die hat einen Peripherieadressbereich von 2k aber nur ein Prozessabbild von 384 byte

ich programmiere nun schon einige zeit aber den unterschied konnte mir bis jetzt keine klarmachen
ich hab jetzt auch schon bei anderen steuerungen nachgesehen, bei denen ist Peripherieadressbereich und das Prozessabbild gleich.

nun stellt sich mir die frage kann ich trotzdem meine F-eingänge und F-Ausgänge auf dem Reck und in der Peripherie höher als die 384 Byte parametrieren oder führt das zu problemen??

im Vorraus schon mal danke

gruß Mcool
 
Hallo,

ich hatte mal eine ähnliche Situation.

Die CPU hatte einen großen Ein-/Ausgangs-Adressbereich, konnte aber nur einen kleines Prozessabbild bearbeiten.

Ich interpretierte das so, dass die CPU über PEB/PAB den gesamten Adressbereich berabeiten konnte, jedoch waren die Ein-/Ausgänge nur über die Prozessabbildsadressen zu erreichen. Das heist, vor Aufruf von OB1 wird das Eingangs-Prozessabbild (=Teil von Eingangsadressbereich) gelesen und nach Ende OB1 wird das Ausgangs-Prozessabbild (=Teil von Ausgangs-Adressbereich) geschrieben. Die übrigen Ein/Ausgangsadressen kann man über Peripheribefehle (z.B. PEB/PAB) erreichen.

Damit man "ordentlich" arbeiten kann, schuf ich mir damals über Merker ein eigenes Prozessabbild: Bei Beginn von OB1 schieb ich
L PEB ...
T MB n
L PEB ....
T MB m

im Programm benzute ich die "Eingangsmerker" wie folgt:
U M n.0
oder U M m.1
oder U ..
oder U ..

die "Ausgangsmerker":
= M q.0
oder = M r.0
oder =..
oder =..

am Ende von OB1 Programmierte ich die Ausgänge:
L MB q
T PAB .....
L MB r
T PAB .......

Somit konnte ich während des Programms auf ein eigens "Prozessabbild" zugreifen; die Merkersymbole habe ich den Ein/Ausgängen anbgepasst.

Ich hoffe, Dir weitergeholfen zu haben.

PS.: Ich glaube, dass es CPU's gibt, wo man in der Hardwarekofig die Größe des Prozessabbildes einstellen kann (317er??).


Gruß
S7-Programmer
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hm, dass ich die pew und paw auf MW oder in einen DB schieben kann war mir klar!

mir ist eigentlich wichtig bei dieser speziellen konstelation mit dieser CPU zu wissen ob ich den EA bereich des Prozessabbildes überschreiten kann oder nicht, wenn ich et200s module anparametriere oder direkte EA karten am reck nehme.

in der Hardwarekonfig frist er das der einzige unterschied ist:

Siehe bilder

Roter Kringel

aber trotzdem Danke S7_Programmer für deine schnelle antwort
 

Anhänge

  • Bild_1.JPG
    Bild_1.JPG
    36,4 KB · Aufrufe: 162
  • Bild_2.JPG
    Bild_2.JPG
    34,4 KB · Aufrufe: 132
Was übers OB1-PA (OB1-Prozessabbild) gehandled wird läuft automatisch.
Diese Adressen müssen nicht im S7-Programm auf die Peripherie geschrieben werden. Peripherie lesen/schreiben macht die CPU vor/nach dem OB1.
Hast Du aber eine z.B. Ausgangsbaugruppe ausserhalb des OB1-PA Bereichs adressiert, musst Du den Peripheriezugriff selbst regeln.

Beispiel (CPU hat 128 Bytes im Prozessabbild Ausgänge 0-127)

Code:
U M 1.0
= A 5.0   <----- Ausgabe auf Baugruppe erfolgt automatisch übers PAA
 
-----------------
 
U M 1.1
= A 150.0   <---- hier gibt es kein PAA
                    = keine automatische Ausgabe an die A-Baugruppe
 
//Deshalb zusätzlich
L AB 150
T PAB 150

Es gibt aber auch noch viele andere Baugruppen, die den Peripherieadressbereich nutzen (z.B. CP's).
 
und die hat einen Peripherieadressbereich von 2k aber nur ein Prozessabbild von 384 byte

Die Größe des Prozessabbilds kannst du erweitern in der Hardwareconfig. Doppelklick auf die CPU, Reiter "Zyklus/Taktmerker" Dort kannst du einen größeren Bereich einstellen.

nun stellt sich mir die frage kann ich trotzdem meine F-eingänge und F-Ausgänge auf dem Reck und in der Peripherie höher als die 384 Byte parametrieren oder führt das zu problemen??

Geht nicht. Meckert er beim generieren. Muss in deinem Prozessabbild liegen

Gruß Dr.M
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Mcool:
Das ist m.E. schon fast ein bißchen philosophisch.
Ob etwas im Prozess-Abbild (außer in der Perepherie) besser aufgehoben ist liegt hier vielleicht auch an der Art und Weise, wie es weiterhin gehandhabt werden soll.

Beispiel:
Du hast eine Temperatur-Regelung gebaut, wo du den Messwert nur jede Sekunde einmal brauchst. Hast du ihn im Prozess-Abbild, dann wird er jeden Zykölus aktualisiert - brauchen würdest du ein Aktualisierung (bei einer Zykluszeit von z.B. 10 ms) nur jeden 100sten Zyklus.
Das Übertragen der Perepherie ins Prozess-Abbild kostet Zyklus-Leistung - egal, ob du es mit L PEW xyz machst oder ob es die CPU im Hintergrund für dich tut.
Im genannten Beispiel ist das Ganze natürlich so lange egal, wie du das Prozess-Abbild mit "normalen" Ein- und Ausgänge sowieso nicht ausfüllst. Ist dem aber so, dann wäre der genannte Sensor in der Perepherie viel besser aufgehoben, weil du in dem Fall ja den aktuellen Wert nur lädst, wenn du ihn brauchst.
Gleiches würde für einen Sensor gelten, dessen Messwert du häufiger als den Zyklustakt benötigen würdest (weil vielleicht der OB35 über einen schnellen Takt etwas erstmal aufzeichnet).

Vielleicht hilft dir diese Sicht ja weiter ...

Gruß
LL
 
@Dr.M

übersetzen hab ich probiert und es geht Tatsächlich nicht (aber nur bei den et200S modulen und bei F-Ausgängen auf dem Zentralreck)
Beim Zentralreck kann ich F-Eingangsbaugruppen Parametrieren under nimmt sie an und übersetzt sie

weiterhin kann man leider bei der Angegebenen CPZ das Prozessabbild nicht erweitern. (schade eigentlich)

so ich denke damit ist mir erst mal weitergeholfen.

danke an der Stelle erst mal an alle für die Schnellen Antworten.
 
Zurück
Oben