S7-300 / Problem mit Adressbereich

maddin

Level-2
Beiträge
116
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe da ein Problem, wo ich so ziemlich auf dem Schlauch stehe.
Ich mußte an einer 300er den Ausgangsbereich eines Profibus Slaves um 4 Bits vergrößern (AB 11).
Nach dem Speichern/Übersetzen bekam ich folgende Fehlermeldung :
(siehe HW_2.bmp)

"Der Ausgangsadressbereich (Adresse 120, Länge 12
Bytes) muß entweder vollständig innerhalb oder
vollständig ausserhalb des Prozessabbildes liegen."


Diese gleiche Meldung erscheint auch für den Eingangsbereich.
Dieser E/A Bereich 120 gehört zu einer Roboter-Schnittstelle und beinhaltet Bereich 120-131 (12Bytes).

Um welches Problem handelt es sich hier ?
Dieser Roboter wurde vor ca. 3 Jahren integriert, seither läuft diese HW-Konfiguration auf der Steuerung....
Selbst wenn ich ein neues Projekt anlege und die CPU auslese,
bekomme ich beim Übersetzen diesen Fehler, auch ohne eine Änderung in der Hardware gemacht zu haben....

Die CPU : 315-2 DP / 6ES7 315-2AF01-0AB0

Weiß jemand von euch, wo hier der Hund begraben liegt ?

Gruß maddin
 

Anhänge

  • HW_2.bmp
    400,1 KB · Aufrufe: 41
hallo maddin,

es scheint, dass die Grenze des Prozessabbildes bei dieser CPU bei 127 und nicht bei 131 liegt. Habe es gerade mit einem neuen Projekt versucht. Dann würde die Fehlermeldung eigentlich auch Sinn machen.
Eigenartig, dass es damals geklappt hat!?

Gruß
Cosman
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich mich recht erinnere liegt es an der Step7-Version, ab V5.3 (glaub ich) geht das nicht mehr. Ich hab hier eine V5.2, die lässt sowas durchgehen.
Es gab hier auch schon mal einen Beitrag dazu, ich finde ihn nur auf die Schnelle nicht ...

Grüße von HaDi
 
Hallo zusammen,
ich habe da ein Problem, wo ich so ziemlich auf dem Schlauch stehe.
Ich mußte an einer 300er den Ausgangsbereich eines Profibus Slaves um 4 Bits vergrößern (AB 11).
Nach dem Speichern/Übersetzen bekam ich folgende Fehlermeldung :
(siehe HW_2.bmp)

"Der Ausgangsadressbereich (Adresse 120, Länge 12
Bytes) muß entweder vollständig innerhalb oder
vollständig ausserhalb des Prozessabbildes liegen."


Diese gleiche Meldung erscheint auch für den Eingangsbereich.
Dieser E/A Bereich 120 gehört zu einer Roboter-Schnittstelle und beinhaltet Bereich 120-131 (12Bytes).

Um welches Problem handelt es sich hier ?
Dieser Roboter wurde vor ca. 3 Jahren integriert, seither läuft diese HW-Konfiguration auf der Steuerung....
Selbst wenn ich ein neues Projekt anlege und die CPU auslese,
bekomme ich beim Übersetzen diesen Fehler, auch ohne eine Änderung in der Hardware gemacht zu haben....

Die CPU : 315-2 DP / 6ES7 315-2AF01-0AB0

Weiß jemand von euch, wo hier der Hund begraben liegt ?

Gruß maddin

Leider habe ich auf diesem Rechner kein S7, aber kann es sein, dass die CPU die du einsetzt ein Prozessabbild von 128 hat? Schau das doch mal nach.
Wenn das so ist, hat S7 recht. Du kannst nicht einen Teil der Schnittstelle im Prozessabbild, einen Teil ausserhalb legen.
Vergib für die Schnittstelle eine Anfangsadresse die entweder noch ins PAB passt oder ausserhalb liegt und versuch nochmal Speichern Übersetzen
 
Hallo,

vielen Dank für eure Antworten...

ich weiß leider nicht, wo ich den max. E/A Bereich einer CPU ablesen kann.

Ich habe aber versuchsweise mal den E/A Bereich des betroffenen DP-Slaves von 6 Word In/Out auf 4 Word In/Out abgeändert. So endet der E/A Bereich bei 127. Es funktionierte.

Andere Adressierungen, bei denen ein Teil der Adressen über 128 liegt, wurden von Step 7 nicht aktzeptiert. Wenn der E/A Bereich aber komplett außerhalb 128 liegt, meckert S7 wiederum nicht...

Die CPU wurde damals mit v5.2 oder älter programmiert.
Eigentlich wäre der Bereich außerhalb 128 von der CPU doch gar nicht angesprochen worden, oder ? Deshalb denke ich, daß der Bereich bis jetzt beim Roboter nicht verwendet wird. Ich werde das mal checken.
Dann könnte ich ja den DP-Slave von 6 Word In/Out auf 4 Word In/Out
reduzieren....

Wo kann ich denn das max. Prozessabbild einer CPU ablesen ?


Gruß maddin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich glaube, daß das bei "CPU" --> "Eigenschaften" zu finden ist.

Im Zweifelsfall sollte sowas aber im Handbuch stehen.
Für´s Handbuch mal beim großen S vorbeisurfen




MfG
 
Hab´s wiedergefunden:

Link

Da diese Schnittstelle am Profibus hängt und 12 Bytes E/A belegt wird sie vermutlich mit SFC14/15 bearbeitet und da ist es unerheblich, ob das im Prozessabbild liegt oder nicht, auch eine Überschneidung stört da wohl nicht.
Ansonsten könnte man ja
Code:
L ED120
T MD200  //nur so als Beispiel
L ED124
T MD204
L PED128
T MD208
tippseln und das macht aus Konsistenzgründen wohl keiner.
Wenn man aber sowieso alles mit PEB/PEW/PED liest dann kann man die Adressen auch gleich aus dem Prozessabbild rausschieben.
Es sollte dann also kein allzu großer Aufwand werden, die Adressen zu ändern und den SFC14/15-Aufruf bzw. die Lade-/Transferbefehle anzupassen.

Grüße von HaDi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich weiß leider nicht, wo ich den max. E/A Bereich einer CPU ablesen kann.
Es gibt einen maximalen Bereich, der ist oben beschrieben und einen in der CPU eingestellten, der ist in der Hardwarekonfig, Doppelklick auf CPU... und irgendeine Lasche dann.
 
Im Referenzhandbuch steht auf Seite 1-63, dass die 315-2DP einen Peripherieadressbereich von 1KB (0 - 1023) und ein Prozessabbild von 128 Bytes hat und dass diese 128 Bytes (0 - 127) nicht einstellbar sind.
Ich verstehe das so, dass die CPU mit 1024 Bytes E/A umgehen kann, aber nur die ersten 128 davon werden von der CPU über das Eingangs-/Ausgangsabbild aktualisiert.

Um dein Problem abzustellen musst du entweder eine ältere Step7-Version (<5.3) benutzen oder die Adressen und Aufrufe ändern.

Grüße von HaDi
 
Zurück
Oben