TIA Fehlermeldungen von Steuerung auf Comfort-Panel

Staubsauger

Level-2
Beiträge
36
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich bin recht neu in der Programmierung mit SPSen und mir stellen sich mehrere Fragen zur Anzeige von Fehlermeldungen.
Für ein Studienprojekt verwende ich eine 1512SP-PN CPU mit einem TP700-Comfort Panel. Programmiert wird mit TIA V16.

Ich möchte gerne Fehlermeldungen anzeigen. Diese sind allesamt Bitfehler. Anzeigen möchte ich einen Zeitstempel, Fehlernummer, Fehlertext und nach Möglichkeit den DB, von welchem aus der Fehler aufgerufen wurde.

Wenn ich das richtig verstanden habe, kann ich zwischen Bitfehlern an der HMI und Programmfehlern an der SPS wählen. Beides habe ich testweise einmal probiert und hat auch funktioniert. An den Bitfehlern stört mich jedoch, dass ich sie als Word übertragen muss, sie doppelt deklarieren muss und den aufrufenden DB nicht kenne.

Ich würde gerne die Programmfehler verwenden. Deren Nachteile spielen für mich wohl nur eine untergeordnete Rolle:
--> keine Unterschiedlichen Programmierer für HMI und PLC
--> SPS für mein Projekt eh überdimensioniert und Performanceverlust verkraftbar.
--> HMI wird nicht geändert

Ein großer Vorteil für mich wäre der kleinere Aufwand bei Änderungen am Programm (so denke ich zumindest). Ich habe festgestellt, dass ich doch relativ viel wieder ändere. Da fehlt es mir einfach etwas an Erfahrung manche Dinge vorherzusehen.



Jetzt stellt sich für mich mehrere Fragen:

Bin ich mit dieser Entscheidung auf dem Holzweg?
Wie bekomme ich es hin, dass ich den Namen oder die Nummer des aufrufenden DB´s in der Fehlermeldung erhalte?


Alternative wäre die Fehler in ein Array of Bool zu packen.
Dann könnte ich wahlweise eine Funktion nutzen, welche mir die Fehler als Bitvariable in mehrere WORDS schreibt oder eben eine Funktion nutzen, welche das Array durchläuft und für jede gesetzte Variable einen Programm_Alarm aufruft.
Vorteil wäre hier, dass ein wechsel zwischen den Fehlerarten mit relativ wenig Aufwand verbunden wäre. Der Aufruf-DB wäre allerdings immer gleich.



EDIT: Die durchgestrichene Frage erledigt sich, wenn man die Dokumentation richtig liest. :eek:



BTW: Dafür möchte ich keinen extra Thread aufmachen.

Ich habe bei der Suche hier im Forum einen Thread gefunden indem jemand den den String an einem Eingang des "Programm_Alarm" Bausteins als Meldetext verwendet hat. Das hat er mit dem Platzhalter @1%s@ getan. Ich verstehe allerdings nicht wirklich was das bedeutet.
Kann mir das jemand erklären oder zumindest ein passendes Stichwort liefern nach was ich denn eigentlich suche?
 
Zuletzt bearbeitet:
Zurück
Oben