# Fehlerauswertung im OB121



## Bensen83 (15 Februar 2010)

Hallo, wie kann ich denn eine Fehlerauswertung im OB121 machen? 
Also wie erkenne ich dann um welchen Fehler es sich handelt? 
Ich habe bereits im OB122 (MOD ERROR) den FB 125 aufgerufen. DP DIAG.

Aber wenn ich jertzt nen Busfehler oder sonstige vorkommnisse habe, wie kann ich das denn rausfinden? kann man da ein kleines auswerteprogramm schreiben?


----------



## Paule (15 Februar 2010)

Den FB125 musst Du doch im OB82 und im OB86 aufrufen.


----------



## Paule (15 Februar 2010)

Ach ja, im OB1 den FB125 auch nochmal aufrufen.
Die Abfrage habe ich schon einmal so gemacht:


```
L DB125.DBD 1240 // AFFECT_SLAVES[1]
   L DW#16#20000 // Adresse 10
   UD
   L L#0
   <>D
   = #Fehler
```


----------



## Larry Laffer (15 Februar 2010)

Hallo,
ich rufe den FB125 (bei mir richtiger den FC125) nur im OB1 auf - das reicht vollkommen. In den jeweiligen Fehler-OB's setze ich nur ein Trigger-Bit, dass ich im OB1 nach dem Aufruf des FB's wieder lösche ...

Gruß
LL


----------



## Paule (15 Februar 2010)

Larry Laffer schrieb:


> Hallo,
> ich rufe den FB125 (bei mir richtiger den FC125) nur im OB1 auf - das reicht vollkommen. In den jeweiligen Fehler-OB's setze ich nur ein Trigger-Bit, dass ich im OB1 nach dem Aufruf des *FB's* wieder lösche ...
> 
> Gruß
> LL


Hi Larry,
was macht das Trigger-Bit? 
Wird der FB bedingt aufgerufen?


----------



## Larry Laffer (17 Februar 2010)

Hallo Paule,
hab Dank für deine PN, die mich wieder auf diesen Thread zurück gebracht hat. Deine Anfrage muß mir da irgendwie untergegangen sein ... 

Wie schon geschrieben verwende ich den FC125. Der hat einen Eingang "Check_Aktiv". Auf den schalte ich das in den Fehler-OB's (bei mir 82, 86, 122 und außerdem 100) gesetzte Trigger-Bit drauf.
Der Baustein selbst wird absolut aufgerufen ... (im OB1).

Gruß
LL


----------



## Paule (17 Februar 2010)

Larry Laffer schrieb:


> Hallo Paule,
> hab Dank für deine PN, die mich wieder auf diesen Thread zurück gebracht hat. Deine Anfrage muß mir da irgendwie untergegangen sein ...


Kein Problem.
Ja bei den vielen Antworten die Du schreibst kann da schon mal was verloren gehen. 
Ich nehme immer den FB125 aber der ist schon sehr groß.
Ich muss mir das ganze noch mal anschauen, meistens kopiert man sich halt die laufenden Sachen ins nächste Projekt.
Das mit dem Eingang "Check_Aktive" kannte ich nicht. 
Danke Dir!


----------



## PN/DP (17 Februar 2010)

*Programmierfehler-OB (OB 121) auswerten?*

Mal auf das Thema des Threads kommen:


Bensen83 schrieb:


> Hallo, wie kann ich denn eine Fehlerauswertung im OB121 machen?


In der Thread-Überschrift und Frage von Bensen83 geht es um den *Programmierfehler-OB (OB 121)*.
Der OB121 hat nichts mit Hardwarefehlern zu tun. (Ob Bensen83 auch tatsächlich den OB121 gemeint hat?)

Also ich würde speziell im OB121 keine Fehlerauswertung machen, sondern nur ein Alarmbit setzen.
Für die Auswertung des Fehlergrundes muß man sich sowieso mit dem PG den Diagnosepuffer ansehen 
und höchstwahrscheinlich das Programm ändern. Ist ja schließlich ein Programmierfehler.

Nach der Inbetriebnahme sollte es eigentlich NIE mehr vorkommen, daß der OB121 aufgerufen wird.
Eine detaillierte Auswertung zu programmieren lohnt nicht. Alle Informationen, die der OB121 liefert,
stehen auch im Diagnosepuffer. Von da aus kann man sogar zur betreffenden Programmstelle springen.
In sehr kniffligen Fällen würde ich den OB121 in der CPU löschen und die CPU in Stop gehen lassen,
dann kann man auch die Stacks auswerten.

Allgemein:
Wie man Fehler-OB auswertet findet man in der Step7-Onlinehilfe detailliert beschrieben.
Entweder: Simatic Manager > Hilfe > Hilfethemen > Index > OB
oder einen im Projekt vorhandenen OB markieren und dann F1 drücken
oder Systemhandbuch "STEP 7 - System- und Standardfuntionen für S7-300 und S7-400" Kapitel 1 lesen
oder ... (viele Wege führen nach Rom)

@Bensen83
Wenn Du noch an der Beantwortung Deiner Frage interessiert bist, dann melde Dich doch nochmal mit 
ein paar mehr Details. Oder falls das hier ein Missverständnis ist, kläre das doch bitte auf.

Gruß
Harald


----------



## DaMeista (18 Februar 2010)

PN/DP schrieb:


> ... In sehr kniffligen Fällen würde ich den OB121 in der CPU löschen und die CPU in Stop gehen lassen,
> dann kann man auch die Stacks auswerten.
> ...



*ACK* @ PN/DP

Moin!

Also ich kann diese Vorgehensweise nur empfehlen! Der OB121 fliegt nach erfolgter Inbetriebnahme raus! Sollte dann tatsächlich nochmal ein Zustand auftreten der die CPU veranlasst den Dienst zu quittieren, hat man zumindest gleich die Chance dem ursächlichen Problem auf den Grund zu gehen. 
Wird der OB121 aufgerufen macht die CPU munter weiter, der Bediener merkt unter Umständen nichts von der Fehlfunktion und der Diagnosepuffer wird vollgeballert.


----------



## R.Blum (18 Februar 2010)

DaMeista schrieb:


> *ACK* @ PN/DP
> 
> Moin!
> 
> ...


 

Alternativ den OB121 drin lassen, ein Alarmbit setzen und anschließend den SFC46 aufrufen, der die CPU stoppt. Damit gibt es einen Eintrag im Fehlerspeicher der VISU und sieht trotzdem wo der Fehler ist.

Gruß Rolf


----------



## Paule (18 Februar 2010)

PN/DP schrieb:


> Mal auf das Thema des Threads kommen:
> 
> In der Thread-Überschrift und Frage von Bensen83 geht es um den *Programmierfehler-OB (OB 121)*.
> Der OB121 hat nichts mit Hardwarefehlern zu tun. (Ob Bensen83 auch tatsächlich den OB121 gemeint hat?)


Natürlich hast Du Recht Harald!


Bensen83 schrieb:


> Ich habe bereits im OB122 (MOD ERROR) den FB 125 aufgerufen. DP DIAG.


Ich dachte nur es geht um die Profibusauswertung mit dem FB125.
Habe nicht richtig gelesen.

Meistens fliegt bei mir der OB121 auch nach der IBN wieder raus.


----------

