Wie sieht dein Treiber aus ? Liest er einfach zyklisch den Zustand der BG über SFC51 RDSYSSTAT aus und verarbeitet die Diagnoseinformationen ? Wertet dein Treiber auch die Informationen aus den ALARM-OB aus ? Werden auch Diagnosealarme empfangen ? Werden Meldungen generiert ? Wenn deine BG ein Bus-Device ist, spricht also ein RACK und SUBMODULE hat - wie realisierst Du dann die Diagnose ? Getrennt für oder nur einmal für das gesamte Gerät ?
Ein Profibus-Teilenehmerausfall wird von PCS7 automatisch mit entsprechenden Meldetext gemeldet, auch wenn der Teilnehmer nicht PCS7-kompatibel ist. Der Teil ist auf jeden Fall immer erschlagen (solange du nicht beispielsweise Profinet in PCS7 v7 verwendest, was nicht freigegeben ist - alles schon gesehen).
Für meine eigenen Treiber habe ich schon verschiedene Varianten eingesetzt. Einmal einen eigenen globalen Diagnosebaustein der mir einen Teilnehmerausfall an einem Ausgang meldet, und den ich dann mit meinem eigenen Treiberbaustein manuell verschalten muss, oder wenn mein Treiber einen ganzen Bereich via DP_SEND/RECV liest, dann über den Rückgabewert der Funktionen.
Letzteres ist mehr Plug&Play, weil du nur den Baustein in deinen Plan ziehen musst und eine Startadresse z.B. des FUs im EA-Bereich angeben musst. Mit dem Nachteil, dass dieses dann nicht mehr in den Querverweisen auftritt.
Ich habe auch nicht hochkomplexe Antriebe, FUs nur mit U/f Kennlinie wo ich dann Strom / Istfrequenz über die Begleitwerte der APL-Bausteine komfortabel erschlagen kann.
Erweiterte Meldungen lassen sich auch über die externen Meldeobjekte mit Verbindung recht einfach an APL-Bausteine anbinden, sodass diese Meldungen dem Antrieb zugehörig (d.h. im Faceplate) gemeldet werden.
So eine Kombination an Bausteinen lässt sich auch als wiederverwendbares Plan-In-Plan Objekt erstellen, auch wenn ich das selber etwas unpraktisch finde.
Mit der Diagnose würde ich das nicht zu weit treiben, meiner Erfahrung nach interessiert das von den Bedienern eh keinen. Meldungen kannst du auch einen Begleitwert mitgeben, z.B. FU Störungsnummer.
Wirklich automatisch einen Baugruppentreiber erzeugen lassen wie das bei den Siemens-Baugruppen gemacht wird, ist bei eigenen Bausteinen soweit ich weiß nicht möglich.