Frage zu OB86 - Ausfall DP Teilnehmer

Andy Latte

Level-1
Beiträge
84
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Freunde,

habe folgendes Problem. Ich möchte über den OB86 bei einem Ausfall eines Bus-Teilnehmers genau lokalisieren können, welcher Teilnehmer ausgefallen ist und daraufhin eine Meldung generieren.

Ein kommendes und gehendes Ereignis für einen generellen Fehler kriege ich hin:

L B#16#39
L #OB86_EV_CLASS
==I
S "m-ob86-pb-ko"


---------------------------------
L B#16#38
L #OB86_EV_CLASS
==I
R "m-ob86-pb-ko"


Wie kriege ich jetzt raus, welcher Teilnehmer sich verabschiedet?

Danke im Voraus
 
Hi Latte,
habs mal früher mit Simocode am Profibus gemacht:

Netzwerk 1:
CALL SFC 20 // Copy der Diagnoseadresse Zwischensp.
SRCBLK :=#OB86_RACKS_FLTD
RET_VAL:=#Ret_Va1
DSTBLK :=#RACKS_FLTD
L #RACKS_FLTD // in Bit 16-30 befindet sich die Diagadr
L DW#16#7FFFFFFF // Bit 31 ausblenden
UD
SRD 16 // Bit 0-15 ausblenden
T #DIAG_ADDR // Diag-Adr aus HW Konfig

Wenn dein DP-Slave eine Diagnoseadresse hat steht im Fehlerfall diese jetzt in DIAG_ADDR und du kannst jetzt feststellen welcher Slave ausgefallen ist.

Gruß
 
Danke für die zahlreichen Antworten. Ich habe leider nicht mehr so viel Platz auf der Steuerung. Es muss doch im OB86 eine Variable geben, die mir die Adresse des ausgefallenen Teilnehmer anzeigt?

Variable Datentyp
OB86_EV_CLASS BYTE
OB86_FLT_ID BYTE
OB86_PRIORITY BYTE
OB86_OB_NUMBR BYTE
OB86_RESERVED_1 BYTE
OB86_RESERVED_2 BYTE
OB86_MDL_ADDR WORD
OB86_Z23 DWORD
OB86_DATE_TIME DATE_AND_TIME


Eigentlich muss man nur die richtige Variable nehmen und kann dann den Binär-Code auswerten?
 
Hallo Andy,
diese Info ist im "OB86_Z23 DWORD" verschlüsselt. Sieh dir dazu mal die Step7-Hilfe zum OB86 an. Wenn du das Ganze aber sauber und sicher auswerten willst, dann würde ich dir dringend zum FC125 (oder sogar FB125) von Siemens raten. Dann klappt es auf jeden Fall. Die andere Geschichte bekommt nicht unbedingt jedes Ereignis mit ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Muss über ein Modem auf die Steuerung. Anlage steht beim Kunden. Wie kann ich denn die Variable "OB86_Z23 DWORD" auswerten. Sie taucht schon gar nicht in meiner Variablenliste im OB86 auf? Ich will diese Lokalisierungsgeschichte nur einmalig auf die Steuerung laden und dann wieder löschen.

???
 
... das ist die 2. Variante für den Bereich : "OB86_RACKS_FLTD"
Du kannst im Header entweder das Eine benutzen oder das Andere hineinschreiben. DWORD hat ja die gleiche Breite wie ARRAY[0..31] OF BOOL ...
 
Zurück
Oben