Umgang mit Programmierfehler OB 121, SFC 36, 37, 38

iLink

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

ich möchte gerne einen nicht näher spezifizierten Programmierfehler in meinem Programm auswerten.

Ich habe eine vergleichbare Auswertung mit dem OB86 (Baugruppenträgerausfall) bereits programmiert.
Da frage ich im OB86 die TEMP-Variable #OB86_EV_CLASS auf ein kommendes Ereignis B#16#39 ab und setzte damit ein Merkerbit.
Mit B#16#38 frage ich ein gegangenes Ereignis ab und setzte damit das Merkerbit zurück.

Wenn ich die Beschreibung des OB121 durchlese, gibt es da kein gehendes/kommendes Ereignis.
Letztlich könnte ich da die TEMP-Variable #OB121_SW_FLT auf B#16#22 oder B#16#23 abfragen, um damit ein Merkerbit zu setzen. Aber wie lösche ich das Merkerbit wieder? Es gibt ja kein gehendes Ereignis?! Könnte am Ende meines OB1-Durchlaufs, das Merkerbit grundsätzlich Rücksetzen, aber elegant ist das irgendwie nicht.

Und was hat es mit den SFC36, 37 und 38 in dem Zusammenhang auf sich? Wofür brauche ich die?

Danke schon mal für Eure Hilfe.
 
Mit den sfc36 bzw. Sfc 37 unterbrichst du den aufruf vom ob in deinem Programm. Mit dem sfc 38 kannst du dann den Programmierfehler auswerten. Ist eine sehr aufwändige methode.

tschö dentech
 
Ist eine sehr aufwändige methode.
Am besten gar keine Programmierfehler machen ... ;)

Da, wo man aufwändig extra die SFC3x ausprogrammiert, treten bestimmt keine Programmierfehler mehr auf bzw. sind die möglichen Programmierfehler-Ereignisse einfacher durch andere Prüfungen zu vermeiden.

Harald
 
Zurück
Oben