Adressvergabe

qpec_hagen

Level-1
Beiträge
105
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Community,

ich bins mal wieder der Manuel :p
Wollte euch diesmal fragen, ob schon irgendwer das gleich Problem hatte wie ich. Und zwar kann ich wenn ich eine Analogkarte z.b. in der Hardware adressieren will nie einen Bereich wählen, welcher z.b. über die 127, 255, 1023 hinausgeht. Sprich ich beginne die Adresse einer Analogkarte mit 126 und er meckert, dass das nicht geht. Habe bewusst diese Adresse probiert, da es ja besondere Zahlen sind in der Branche. Aber kann es wahrhaftig sein, dass man diese einfach nicht übergreifend belegen darf? Und wenn ja wieso?

Lg Manu
 
So ganz schlau werde ich aus deiner Frage nicht ... aber :
- wie hoch deine höchste Adresse sein darf wird durch die CPU bestimmt.
- Adressbereiche dürfen sich nicht überschneiden.
- eine Analogkarte belegt immer Worte - im einfachsten Fall 1. Hier fängt deine Adresse z.B. mit 126 an und benutzt dann auch noch das Byte 127.
- Wort-Adressen werden immer ganzzahlig vergeben (also z.B. 254 - aber nicht 255)

Um es etwas präziser zu beantworten wäre es schön, zu wissen von welcher CPU wir hier reden und von welcher Analogkarte und welche Adressen sonst schon so vergeben sind ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und zwar kann ich wenn ich eine Analogkarte z.b. in der Hardware adressieren will nie einen Bereich wählen, welcher z.b. über die 127, 255, 1023 hinausgeht. Sprich ich beginne die Adresse einer Analogkarte mit 126 und er meckert, dass das nicht geht.
Ich kann es ... siehe Screenshot einer HW-Konfig ;)

Es kommt darauf an, welche CPU man einsetzt. Die Ursache für das "meckern" bei Dir ist wohl, daß der Adressbereich einer Baugruppe stets komplett innerhalb oder komplett außerhalb des Prozeßabbilds (OB1-PA oder Teil-PA) liegen muß. Bei vielen CPU ist die feste bzw. voreingestellte Größe des PA 128 Byte (Adresse 0 ... 127), so daß eine Baugruppe mit mehr als 2 Byte Adressbereich nicht bei Adresse 126 beginnen kann, weil dann die Baugruppe die Adressen 126 + 127 (innerhalb) und 128 ... x (außerhalb) belegen würde.

Beim manuellen Festlegen der Baugruppen-Anfangsadressen läßt HW-Konfig die Eingabe von PA-Grenz-überschreitenden Adressen ohne Angabe des Grundes gar nicht erst zu. Wird nachträglich die Größe des Prozeßabbildes geändert (bei CPU, die das unterstützen), so daß Baugruppen teilweise innerhalb und teilweise außerhalb des PA liegen würden, dann wird z.B. diese Fehlermeldung generiert:
Speichern und übersetzen (13:4919)

Der Eingangsadressbereich (Adresse 126, Länge 16
Bytes) muss entweder vollständig innerhalb oder
vollständig außerhalb des Prozessabbildes liegen.

Hilfreich: in dem Dialog/Register der Baugruppen-Adressfestlegung ruhig mal die Schaltfläche "Hilfe" klicken oder F1 drücken und die Hinweise zum Prozeßabbild lesen.

Prozeßabbild

Wenn die CPU eine parametrierbare Größe des Prozeßabbildes hat, dann können Sie das Prozeßabbild im Register "Zyklus/Taktmerker" des Eigenschaftsdialogs der CPU vergrößern, [...] Der Parameter heißt "Größe des Prozeßabbildes ...".

PS: In älteren Step7-Versionen (<= V5.1 ?) war eine PA-Grenz-überschreitende Adressvergabe möglich - es gibt durchaus Projekte mit heute unzulässiger HW-Konfig, die sich mit heutigen Step7-Versionen nicht mehr fehlerlos übersetzen lassen.

Harald
 

Anhänge

  • HW_Adresse_126.gif
    HW_Adresse_126.gif
    7,8 KB · Aufrufe: 26
@Larry:
also es geht konkret um eine ET200M als Slave bei der ich eine Analogkarte (331-1KF02-0AA0) eingesetzt habe. Dort hatte ich jetzt zufällig die Adresse 124 zu vergeben und siehe da es ging nicht. Dann habe ich ein wenig rumprobiert und festgestellt, dass er dies eben an bestimmten Punkten macht (s.o.). Und 127 überschreitend kann ich eben nichts adressieren auch keine andere Karte solange dessen Adresse dann 127+ X ist.

@PN/DP
Also so ganz stellt mich das noch nicht zufrieden. Warum trifft das denn nur auf bestimmte CPU's dann zu, dass man das PA nicht überschreitend adressieren kann?!
Ich mein zu sagen das geht halt deswegen nicht ist immer so ne Sache. Und auch das es mit älteren Step7 Versionen möglich war irritiert mich dabei.
Und viel wichtiger: WIESO KANN MIR SOWAS NICHT DER SIEMENS SUPPORT BEANTWORTEN???? :-x
 
@Larry:
also es geht konkret um eine ET200M als Slave bei der ich eine Analogkarte (331-1KF02-0AA0) eingesetzt habe. Dort hatte ich jetzt zufällig die Adresse 124 zu vergeben und siehe da es ging nicht. Dann habe ich ein wenig rumprobiert und festgestellt, dass er dies eben an bestimmten Punkten macht (s.o.). Und 127 überschreitend kann ich eben nichts adressieren auch keine andere Karte solange dessen Adresse dann 127+ X ist.

@PN/DP
Also so ganz stellt mich das noch nicht zufrieden. Warum trifft das denn nur auf bestimmte CPU's dann zu, dass man das PA nicht überschreitend adressieren kann?!
Ich mein zu sagen das geht halt deswegen nicht ist immer so ne Sache. Und auch das es mit älteren Step7 Versionen möglich war irritiert mich dabei.
Und viel wichtiger: WIESO KANN MIR SOWAS NICHT DER SIEMENS SUPPORT BEANTWORTEN???? :-x

Es gibt eben Regeln, wie was parametriert werden kann.
Verschiedene CPU haben verschiedenes Verhalten. Das ist gut so, sonst kann man ja immer die selbe einsetzen, was nicht immer sinnvoll ist.

Was und wie hast du bei Siemens gefragt?
Wenn die Frage so wie du hier geschrieben hast, gestellt wurde, dann kann ich keine Antwort gut verstehen.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@bike
habe bei Siemens den genauen Aufbau geschildert bzw. ich habe die Hardwareconfig mitgeschickt und da gehe ich von aus, dass man mir dann eine Antwort geben kann darauf.
 
@PN/DP
Also so ganz stellt mich das noch nicht zufrieden. Warum trifft das denn nur auf bestimmte CPU's dann zu, dass man das PA nicht überschreitend adressieren kann?!
Ich mein zu sagen das geht halt deswegen nicht ist immer so ne Sache. Und auch das es mit älteren Step7 Versionen möglich war irritiert mich dabei.
Und viel wichtiger: WIESO KANN MIR SOWAS NICHT DER SIEMENS SUPPORT BEANTWORTEN???? :-x

Du kannst (heute) nie PA-Übergreifend adressieren, egal bei welcher CPU, das es vor >10 Jahren mal ging, ist in dem Fall unerheblich.
Dabei ist es auch egal ob du eine 312 oder eine 417 vor dir hast.

Im übrigen ist das gar nicht so schlecht, das es so nicht mehr funktioniert, da es imho eher zu Problemen denn zu einem echten Nutzen führt.
Beim CAD-Zeichnen ist das ändern der Adresse ein klacks, gute Zeichner wissen um die Systemeigenschaften ohnehin,
bei heutigen CPU sind die möglichen Prozessabbildgrößen auch ausreichend dimensioniert...

Und nun noch der Trick von Harald, bei manchen CPU's, eigentlich bei den meisten neueren, kann man die größe des Prozessabbildes in der HW-Konfig einstellen.

P.S. Zum Siemens-Support:
Solange man den genauen Wortlaut deiner Anfrage nich kennt, sollte man sich darüber besser nicht äußern.

Mfg
Manuel
 
@MSB
schade aber hab ne ET200 bei der ich die Größe des PA nicht ändern kann. Aber ihr habt mir wirklich weitergeholfen. Hatte vorher nie das Vergnügen, dass ich ausgerechnet das PA überschritten habe.
Ja und zu den Zeichnern sage ich mal besser nichts :D ist mit Sicherheit ausversehen da hingekommen die
 
Zurück
Oben