OB86 - logische Basisadresse S7-Slave

Gerri

Level-1
Beiträge
822
Reaktionspunkte
37
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, weiß jemand, wie diese 7 Bits aufgeschlüsselt sind?

Ich denke, die ersten Beiden sind klar:
- Nr. der DP Station = Byte
- DP Mastersystem ID = Byte
- logische Basisadresse bei einem S7-Slave ??? (Bit 16-30)
 
Fehlerinfos aus OB86 auslesen

Hallo Gerri,
Die TEMP-Variable "OB86_RACKS_FLTD" ist zwar ein Array von Bools, aber ich lese die Infos immer als Integerformat aus.
LW8 = Anfangsadresse Busteilnehmer und LW10 = Profibusadresse aus.

Anm.: Wenn Du eigene TEMP-Variablen in dem OB86 "eingefügt" hast, dann verschieben sich die Adressen natürlich...

:p Gruß Approx
 
Zuviel Werbung?
-> Hier kostenlos registrieren
für z.B. B#16#C4 stehen 8 Bits für die Nr. der DP Station (nicht LW8) und 15 Bits für die Slave Adresse (auch noch kein ganzes wort).

Zum einen verstehe ich nicht ob hier ein DWORD verwendet wird, zum anderen was ich mit 15 Bits machen soll.
 
Die Bausteinhilfe ist in diesem Fall nicht ausführlich genug. Das Auslesen mit LW8 und LW10 funzt aber. Die DP-Adresse maskiere ich noch mittels der Funktion WAND und einer 7F (hex) für die höchste Teilnehmeradresse 127.
Probiers doch mal aus. ;-)
Ich hab mir das ja auch nicht selber ausgedacht, sondern das war mal ne Aufgabe beim S7-Pro 2 -Lehrgang..

Appro
 
jetzt ergibt es Sinn! Du schneidest das zweite Byte weg! Daurch brauchst du auch des fehlende Bit nicht mehr auszuwerten.

|<-WAN->|
_________
xxxxxxxx x1111111
HighByte LowByte

Ich habe auf leider nix mit diesem WAN Befehl bis jetzt zu tun gehabt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
danke für die Info. Ich habe jetzt diese FUnktion oder Befehl oder was auch immer versucht zu finden. Ich finde aber in keiner Dok einen Hinweis.
Wo kann ich mir das ansehen?
 
Hallo,

also nochmal...

im OB86...

LAR1 P##OB86_RACKS_FLTD //DP-Adresse aus Lokaldaten holen
L DW#16#FF
UW //Profibus-Adresse extrahieren
T ..... //Adressee speichern, wohin du willst...
 
Zurück
Oben