# Ausfallerkennung von Profinet-Teilnehmern



## Ludewig (18 Dezember 2018)

Gegebn ist eine kleinere Anlage, in der drei FUs über PN an eine 1512 angebunden wurden. Die Anlage muss auch beim Ausfall einzelner Teilnehmer weiterlaufen:

Ich versuche zusammenzufassen, was ich bisher verstanden habe:

1. OB86 muss eingebunden werden, damit die CPU weitermacht. 
Frage dazu: Er liefert bei der 1500 immer nur einen einzelnen Teilnehmer? Oder wird er beim Ausfall von 2 Teilnehmern zum gleichen Zeitpunkt zweimal aufgerufen und liefert dann beide Adressen?

2. Besser ist es, den OB 86 leer zu lassen und DeviceStates mit Mode = 4 aufzurufen. Dann bekommt man alle vorhandenen Teilnehmer, egal ob kaputt oder in Ordnung.
Frage 1 hierzu: Was bedeutet in diesem Kontext "vorhanden" im Unterschied zu "verfügbar"(Teilergebnis von Mode 5).
Frage 2: Man kann DeviceStates offenbar zyklisch aufrufen, in der Hilfe steht "per Weckalarm". Vorteil/Nachteil

Anmerkung: Die Teilnehmer werden innerhalb der Kommunikation auf Fehler abgefragt, daher ist eine Diagnose auf PN-Ebene im Augenblick nicht das Ziel. Es sollte nur kein Informationsloch entstehen, also entweder liefert DeviceStates vorhanden und der FU selbst sagt "gesund" oder "krank", oder das Gerät ist nicht vorhanden.
Frage: Kann es hier doch Lücken geben, so dass ich zusätzlich GET_DIAG einbinden sollte?


----------



## ChristophD (18 Dezember 2018)

Hi,

bei einer 1500 muss OB86 nicht eingebunden werden um Weiterzumachen!
Bei einer 300er muss der OB86 eiingebunden werden wenn die CPU bei Fehler nicht in Stop gehen soll.
Das ist bei der 1500 mit neuern (V2.x) nicht mehr der Fall, da geht die CPU auch ohne FehlerOB nicht in Stop.

Gruß
Christoph


----------



## PN/DP (18 Dezember 2018)

Der OB86 wird für jedes einzelne Ereignis einmal aufgerufen. Wenn 2 Teilnehmer gleichzeitig ausfallen dann wird der OB86 2x nacheinander aufgerufen, einmal mit den Infos für den einen und einmal für den anderen Teilnehmer.

Meine Erfahrung (mit S7-300/400): Nur Auswertung in Weckalarmen funktioniert nicht sicher (z.B. wenn sich der Teilnehmerstatus im Stop der CPU ändert, dann wird OB86 nicht aufgerufen und auch nicht nachgereicht). Es scheint auch noch andere Ursachen für nicht-Aufruf von OB86 zu geben, bei an uns gelieferten Anlagen mit nur OB86-Auswertung musste ich regelmäßig/mehrmals jährlich die Ausgefallen-Listen manuell korrigieren bis ich dann eine zyklische Auswertung nachprogrammiert habe. Ich empfehle die zyklische Auswertung mit DeviceStates. Die ist "selbstheilend", falls mal ein Ereignis verpasst wird. Und passt auch besser zur bewährten zyklischen Arbeitsweise von SPS.

Harald


----------



## funkey (19 Dezember 2018)

Ich habe diese Bausteine für meine Zwecke verwendet:
https://support.industry.siemens.co...m-anwenderprogramm-mit-s7-1500?dti=0&lc=de-DE


----------

