TIA Watchdog

Zuviel Werbung?
-> Hier kostenlos registrieren
siehe Beitrag #16 :
Im Aufgabenplaner alle 1 Minute ein Skript aufrufen, was den Wert der Variable von der CPU liest und mit einem gespeicherten Wert vergleicht. Dann den Wert speichern. Wenn der Wert sich nicht geändert hat, dann eine interne HMI-Variable auf 1 setzen, was dann irgendwo angezeigt wird, z.B. einen Text sichtbar und ggf blinkend macht.
Das funktioniert definitiv - habe ich selbst auch schon oft so gemacht. Der Haken dabei ist, dass das HMI im Aufgabenplaner nicht unter 1 Minute Zyklus kommt. Da du ja willst, dass das HMI erkennt wann keine Verbindung mehr besteht muss die zyklische Abfrage vom HMI ausgehen und nicht von der CPU ...
 
Das war jetzt auch nicht für dich, Harald ... sondern für den OP, der ja mit seinem letzten Beitrag signalisiert hat, dass er das wohl NICHT verstanden hatte ...
doch, habe das schon verstanden, und ich habe auch nicht gesagt, dass ich das nicht will... dass das eine bis zwei Minuten dauert ist mir egal, ich möchte nur sicherstellen, dass die Meldung generiert wird, auch wenn die CPU nichts mehr sendet.

Aber danke an euch und schönes Wochenende :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Oder jetzt auch gerne dreimal.

Den Zähler im Aufgabenplaner hochzählen, nicht in der SPS. Bei Wertänderung des Togglebits aus der Steuerung, den Zähler zurücksetzen. Bleibt diese Wertänderung aus, läuft der Zähler am HMI hoch. Bei Wertüberschreitung eine Analogmeldung generieren. Einfacher geht's nicht.
 
Zuletzt bearbeitet:
Warum alles so kompliziert machen? Bits setzen, an anderer Stelle rücksetzen, oder im Aufgabenplaner hochzählen ... Wenn sich der Zählwert von der SPS nicht mehr ändert, dann ist die Verbindung weg oder die CPU in STOP. Und wenn man den Zählwert noch irgendwo anzeigt, dann sieht man auch schon eher, ob die Verbindung noch/wieder funktioniert oder vielleicht "stottert"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bleibt diese Wertänderung aus, läuft der Zähler am HMI hoch. Bei Wertüberschreitung eine Analogmeldung generieren. Einfach geht's nicht.
Geht das überhaupt im HMI, einer Variable einen Wert zuzuweisen, der größer als der Max-Wert ist? Und kommt da nicht eine Meldung wegen Wertüberschreitung?
Oder kann man bei Analogmeldungen bei einem beliebigen Grenzwert eine Meldung mit selbst festgelegtem Text zu erzeugen? (die Möglichkeiten von Analogmeldungen sind mir grad nicht geläufig)
 
... Oder kann man bei Analogmeldungen bei einem beliebigen Grenzwert eine Meldung mit selbst festgelegtem Text zu erzeugen? (die Möglichkeiten von Analogmeldungen sind mir grad nicht geläufig)
Man kann in WinCCflexible/TIA eine Meldung generieren, wenn ein Wert überschritten wird. Frei nach dem Motto "if Zähler > 3" then Meldung "Ausfall der Steuerung". Das nennt sich "Analogmeldung". Das gab es schon ewig in WinCCflexible und das gibt es auch im TIA-Portal. Es wird wahrscheinlich nur wenig genutzt. Ich selber habe es bisher auch nur zu solchen Überwachungszwecken verwendet, die man auch nicht in der SPS realisieren kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Geht das überhaupt im HMI, einer Variable einen Wert zuzuweisen, der größer als der Max-Wert ist? Und kommt da nicht eine Meldung wegen Wertüberschreitung?
Das geht nicht. Es kommt die Systemmeldung "190008 Variable Count_intern: Grenzwertverletzung." Die versuchte Zuweisung des zu hohen Wertes an die Variable wird nicht ausgeführt, d.h. der zu hohe Wert wird nicht in die Variable übernommen. Logisch.

Den Zähler im Aufgabenplaner hochzählen, nicht in der SPS. Bei Wertänderung des Togglebits aus der Steuerung, den Zähler zurücksetzen. Bleibt diese Wertänderung aus, läuft der Zähler am HMI hoch. Bei Wertüberschreitung eine Analogmeldung generieren. Einfach geht's nicht.
Man muss noch dafür sorgen, dass bei Ausfall der Wertänderung des Togglebits der Zähler im Aufgabenplaner nicht endlos über den festgelegten Grenzwert weiterzählt und irgendwann überläuft/wieder auf 0 geht.
 
Man muss noch dafür sorgen, dass bei Ausfall der Wertänderung des Togglebits der Zähler im Aufgabenplaner nicht endlos über den festgelegten Grenzwert weiterzählt und irgendwann überläuft/wieder auf 0 geht.
Wen es stört dass an einem steuerungslosen Bedienteil nach drei Wochen diese Meldung erneut angezeigt wird, der schält vermutlich auch seine Erdbeeren :LOL: .
 
Naja ... in meinen Augen ist diese Diskussion fruchtlos - alleine deswegen weil sich beide Varianten an den Aufgabenplaner klammern. Ich kann darin auch keinen wesentlichen Unterschied erkennen - wenngleich ich es tatsächlich auch immer so gemacht habe wie von Harald vorgeschlagen ... (das war für mich logischer)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Man muss noch dafür sorgen, dass bei Ausfall der Wertänderung des Togglebits der Zähler im Aufgabenplaner nicht endlos über den festgelegten Grenzwert weiterzählt und irgendwann überläuft/wieder auf 0 geht.
Wen es stört dass an einem steuerungslosen Bedienteil nach drei Wochen diese Meldung erneut angezeigt wird, der schält vermutlich auch seine Erdbeeren :LOL: .
Es gibt eine ganz einfache Lösung: eine interne Real-Variable als Zählvariable nehmen, da funktioniert das Hochzählen irgendwann nicht weiter (ohne irgendeine Systemfehlermeldung) :cool: Wem diese Lösung zu unverständlich ist, der sollte wenigstens eine DInt-Variable nehmen.

Eine Int-Variable ist ungeeignet, obwohl es doch nicht zu einem Überlauf kommt. Es kommt die Systemmeldung 70024 "Fehler in Systemfunktion 'ErhoeheWert': Variablen-Wertebereich überschritten". Bei einem Hochzählen mit einer Berechnung (wie z.B. "Lineare Skalierung" oder in einem Skript) kommt die Systemmeldung 190009 "Variable Count_intern: Maximaler Wertebereich überschritten." Und das dann jede Minute wieder.
 
Hier im Thema wurden 3 Varianten genannt, wie man diese oft wiederkehrende Thematik "Ausfall der HMI-Verbindung signalisieren" lösen kann.
Ich fasse mal zusammen.

Variante Systemmeldungen 140000 + 140001 auswerten #19
Meldet Ausfall und Wiederkehr sofort, funktioniert aber nur richtig, wenn genau eine HMI-Verbindung aktiv ist
  • Systemmeldung 140001 "Verbindung abgebaut" --> Gekommen: interne Variable auf 1
  • Systemmeldung 140000 "Verbindung aufgebaut" --> Gekommen: interne Variable auf 0
  • interne Variable --> Analogmeldung "Verbindung ausgefallen"

Variante von Onkel Dagobert #26 "Einfacher geht's nicht"
Meldet Ausfall nach 2 bis 3 Minuten, Wiederkehr sofort
  • Aufgabenplaner 1 Minute --> interne Real-Zählvariable hochzählen
  • PLC Toggle-Variable --> Wertänderung: Reset interne Zählvariable
  • interne Zählvariable --> Analogmeldung "Verbindung ausgefallen oder CPU in Stop"

Variante von PN/DP #14
Meldet Ausfall nach 1 bis 2 Minuten, Wiederkehr nach 1 Minute
  • Aufgabenplaner 1 Minute --> Vergleich/Differenz PLC-Zählvariable Jetzt/Vorher, Ergebnis in interne Variable
  • interne Variable --> Analogmeldung "Verbindung ausgefallen oder CPU in Stop"

Die interne Variable kann man per Analogmeldung zu einer Meldung machen, aber auch als Animations-Variable nutzen.
 
Zuletzt bearbeitet:
Zurück
Oben