logische Basisadresse

Küffel

Level-1
Beiträge
137
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Was ist die "logische Basisadresse"?

Ich habe eine CPU318-2 und ein CP343-1 und möchte mit Hilfe des SFC51 einige Diagnose-Daten auslesen. Die Hilfe sagt, dass man zum Auslesen der Ethernet Details (IP-Adresse usw) die logische Basisadresse angeben muss. Wo bekomme ich die und wie muss ich sie eingeben? (W#16#.... ??)

Hab im Forum mal was über die SFC5 gelesen, die die Adresse liefern soll, aber dann ist meine Frage was der "Offset im Nutzdatenadreßraum" ist, denn den braucht man dafür.

Gibt es eigentlich mehrere logische Basisadressen, also für CPU, CP, etc einzeln, oder gibt es für den gesamten Verbund eine gemiensame Adresse?

Hab auch mal in Verbindung mit der logischen Basisadresse was von LADDR gelesen, die man ja bei der Projektierung von Verbindungen zu anderen Geräten angezeigt bekommt, aber diese Adresse klappt auch nicht.
 
Sfc51

Hi,
der Diagnose OB82 liefert die Informationen in seine Lokalvariablen.
So kann man auf Diagnoseereignisse reagieren:
Auszug aus Beispiel OB82:

Code:
//Ermitteln ob kommendes oder gehendes Ereignis 
//vorliegt
go:   L     #OB82_EV_CLASS; //Ereignisklasse und Kennungen
      L     B#16#39; 
      ==I   ; //kommendes Ereignis ?
      SPB   come; 
//Diagnoseinformation auslesen und abspeichern
      L     #OB82_MDL_ADDR;
      T     MW    30;
      CALL SFC   51 (//gehendes Ereignis
           REQ                      := TRUE,
           SZL_ID                   := W#16#B3,
           INDEX                    := MW    30,
           RET_VAL                  := MW   102,
           BUSY                     := M    101.7,
           SZL_HEADER               := #SZL_HEADER,
           DR                       := DB13.GO);
      BEA   ; 
come: L     #OB82_MDL_ADDR;
      T     MW    30;
      CALL SFC   51 (//kommendes Ereignis
           REQ                      := TRUE,
           SZL_ID                   := W#16#B3,
           INDEX                    := MW    30,
           RET_VAL                  := MW   102,
           BUSY                     := M    101.7,
           SZL_HEADER               := #SZL_HEADER,
           DR                       := DB13.COME);
      BEA   ;

Und genau #OB82_MDL_ADDR ist die logische Adresse.

Gruss: Vladi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antowrt, aber im OB82 bekomme ich nur die Basisadresse, wenn ein Fehler vorliegt. Mein System läuft aber Fehlerfrei und ich möchte trotzdem die Basisadresse angezeigt bekommen. Ober verstehe ich im Umgang mit dem OB82 was falsch?
 
Die Logische Basisadresse ist die Adresse des CP's im P-Bereich.

Also quasi die auf HEX umgerechnete EA-Adresse des CP's,
diese parametrierst du in der Hardwarekonfig.

Beispiel EA-Adresse des CP's 256 (dez) -> 16#100 (hex)

Mfg
Manuel
 
Danke für die Antowrt, aber im OB82 bekomme ich nur die Basisadresse, wenn ein Fehler vorliegt. Mein System läuft aber Fehlerfrei und ich möchte trotzdem die Basisadresse angezeigt bekommen. Ober verstehe ich im Umgang mit dem OB82 was falsch?

Ja,
der OB82 wird nur bei dem Eregnis "Diagnosealarm" einmal durchlaufen.
Kein Alarm - kein OB82-Durchlauf.

Gruß
raika
 
Zurück
Oben