- Beiträge
- 25.075
- Reaktionspunkte
- 8.064
-> Hier kostenlos registrieren
Bei HMI/Visu hat man immer wieder die Aufgabe, den Ausfall der HMI-Verbindungen auffällig zu signalisieren. Eine auf allen HMI-Geräten gut funktionierende einsatzfertige Systemfunktion gibt es leider nicht. Es gibt von Siemens einen FAQ
Wie lässt sich an einem WinCC flexible Bediengerät der aktuelle Status der CPU visualisieren?
der zeigt verschiedene Möglichkeiten, wie man den "aktuellen Status einer CPU visualisieren und zuverlässig am Panel anzeigen" kann. Da wird auch gezeigt, wie man den Ausfall von HMI-Verbindungen signalisieren kann mithilfe
• Bereichszeiger "Koordinierung" und Aufgabenplaner "Zyklus_1Minute"
• Systemmeldung 140000 "Verbindung aufgebaut: %1 ..."
• Systemmeldung 140001 "Verbindung abgebaut: %1 ..."
Diese Möglichkeiten brauchen sehr lange oder funktionieren bei mehreren HMI-Verbindungen nur unzureichend. Manche Kommunikationstreiber unterstützen den Bereichszeiger nicht, bei Basic Panels gibt es keine Ereignisse von Systemmeldungen, ...
Hier eine verbesserte Lösung, wie man in wenigen Sekunden für jede HMI-Verbindung separat Ereignisse "Verbindung xyz ausgefallen oder PLC in STOP" erzeugen und den Verbindungs/CPU-Status anzeigen kann. Die Lösung funktioniert mit allen HMI-Geräten (Basic, Comfort, Mobile, Advanced) mit jedem Kommunikationstreiber und jeder PLC.
Die Lösung unterscheidet nicht, ob die HMI-Verbindung tatsächlich abgebaut ist oder ob die PLC-CPU in STOP ist. Die normalerweise extrem seltenen Male, wo die PLC-CPU in STOP ist, kann man vermutlich mit einer nicht ganz korrekten Meldung leben (oder den Meldetext entsprechend formulieren "Verbindung xyz ausgefallen oder CPU in STOP"). (*)
Wenn man das trotzdem im Detail unterscheiden will: für S7-1200/S7-1500 gibt es für die Abfrage des CPU-Status RUN/STOP/... die Systemfunktion
Wie kann über ein HMI-Bediengerät der CPU-Zustand "RUN / STOP" ausgewertet werden? (S7-1200/S7-1500)
Will man auch sehen, ob womöglich die Runtime auf dem HMI-Gerät "eingefroren" ist, dann kann man einen simplen Fortschrittsbalken oder Drehzeiger verwenden.
Details der hier vorgestellten Lösung
(Bild T2) Anstatt mit dem Aufgabenplaner einen langsamen 1-Minuten-Zyklus zum Erhöhen des Watchdog-Zählers zu nutzen, wird ein 1-Sekunden-Zyklus mithilfe der Systemfunktion
(Bild T3) Der 1-Sekunden-Zyklus erhöht je Verbindung einen Watchdog-Zähler ConnWatch_x, und eine sich zyklisch ändernde Variable der PLC setzt den Zähler wieder zurück auf 0. Wenn die HMI-Verbindung ausfällt oder die CPU in STOP geht, dann ändert sich die Variable von der PLC nicht mehr und der Watchdog-Zähler kann sich weiter erhöhen und wird nach einigen Sekunden größer als ein Grenzwert. Dann wird das Ereignis "Verbindung xyz ausgefallen oder PLC in STOP" ausgelöst.
(Bild T1) Weil HMI-interne Variablen bei Wertzuweisungen keine Ereignisse auslösen (Loop Breaker), wird für die 1-Sekunden-Zähler-Variable Count_1s (die zyklisch Wertänderung-Ereignisse auslösen soll) eine zusätzliche Offline-HMI-Verbindung "AUX" projektiert. Dabei ist der Kommunikationstreiber egal, Hauptsache er bietet die Zugriffsart <Absoluter Zugriff>. Die Adresse der Variable ist egal.
(Bild T1) Die je Verbindung separaten Watchdog-Zähler-Variablen ConnWatch_x werden mit dem Datentyp Real projektiert, damit sie nie einen Überlauf haben.
(Bild T1) Die eine von der PLC kommende HMI-Variable, die den Watchdog-Zähler rücksetzt, muss auf Erfassungsart "Zyklisch fortlaufend" eingestellt werden (oder in einem immer angezeigten Bildbereich verwendet werden).
(Bild T4) Das Ereignis "Verbindung xyz ausgefallen oder PLC in STOP" wird mit einer Analogmeldung erzeugt. Dort bei "Grenzwert" festlegen, nach wieviel Sekunden nach Ausfall der Wertänderungen der Variable der PLC das Ereignis ausgelöst werden soll, z.B. 2 (Sekunden). (Die Systemmeldung 140001 "Verbindung abgebaut" kommt nach ca 20...25 Sekunden.)
Analogmeldungen haben zwei Ereignisse "Gekommen" und "Gegangen", die werden zum Setzen und Rücksetzen der Animationsvariable ConnErr_x verwendet. Da kann man auch Bildwechsel projektieren (
Die Analogmeldungen kann man in Meldeanzeigen und Meldefenstern anzeigen, da wird dann bei Gekommen (K) und Gegangen (G) jeweils der gleiche Meldetext angezeigt. Wenn man verschiedene Texte haben will, dann kann man in den Meldetext "Dynamische Parameter" einfügen.
(Bild RT) Im Beispiel-Projekt ist dem Hauptbild/Grundbild/Home-Bild noch ein Info/Startbild vorgeschaltet, wo auf den Aufbau einer HMI-Verbindung gewartet wird und dann zum Hauptbild gewechselt wird. Das wird mit einer AlwaysTRUE-Variable der PLC realisiert. Die Wertänderung der Variable (von 0 zu 1) passiert nur einmal nach Start der WinCC Runtime beim ersten Verbindungs-Aufbau. Wenn die Runtime in diesem Info/Startbild festhängt und den blinkenden Text "... warten auf Verbindung zu PLC1 ..." dauerhaft anzeigt, dann ist mit der HMI-Verbindung oder der PLC was nicht in Ordnung.
(*) Im Beispiel-Projekt werden der Einfachheit halber die Texte "Verbindung abgebaut und aufgebaut" verwendet. ausgefallen und OK wären treffender
Im Anhang: TIA V16 Projekt Beispiel mit einem HMI-Panel KTP400 Basic und einer S7-1200 CPU (nur für Simulation).
Wie lässt sich an einem WinCC flexible Bediengerät der aktuelle Status der CPU visualisieren?
der zeigt verschiedene Möglichkeiten, wie man den "aktuellen Status einer CPU visualisieren und zuverlässig am Panel anzeigen" kann. Da wird auch gezeigt, wie man den Ausfall von HMI-Verbindungen signalisieren kann mithilfe
• Bereichszeiger "Koordinierung" und Aufgabenplaner "Zyklus_1Minute"
• Systemmeldung 140000 "Verbindung aufgebaut: %1 ..."
• Systemmeldung 140001 "Verbindung abgebaut: %1 ..."
Diese Möglichkeiten brauchen sehr lange oder funktionieren bei mehreren HMI-Verbindungen nur unzureichend. Manche Kommunikationstreiber unterstützen den Bereichszeiger nicht, bei Basic Panels gibt es keine Ereignisse von Systemmeldungen, ...
Hier eine verbesserte Lösung, wie man in wenigen Sekunden für jede HMI-Verbindung separat Ereignisse "Verbindung xyz ausgefallen oder PLC in STOP" erzeugen und den Verbindungs/CPU-Status anzeigen kann. Die Lösung funktioniert mit allen HMI-Geräten (Basic, Comfort, Mobile, Advanced) mit jedem Kommunikationstreiber und jeder PLC.
Die Lösung unterscheidet nicht, ob die HMI-Verbindung tatsächlich abgebaut ist oder ob die PLC-CPU in STOP ist. Die normalerweise extrem seltenen Male, wo die PLC-CPU in STOP ist, kann man vermutlich mit einer nicht ganz korrekten Meldung leben (oder den Meldetext entsprechend formulieren "Verbindung xyz ausgefallen oder CPU in STOP"). (*)
Wenn man das trotzdem im Detail unterscheiden will: für S7-1200/S7-1500 gibt es für die Abfrage des CPU-Status RUN/STOP/... die Systemfunktion
LesePLCModusWie kann über ein HMI-Bediengerät der CPU-Zustand "RUN / STOP" ausgewertet werden? (S7-1200/S7-1500)
Will man auch sehen, ob womöglich die Runtime auf dem HMI-Gerät "eingefroren" ist, dann kann man einen simplen Fortschrittsbalken oder Drehzeiger verwenden.
Details der hier vorgestellten Lösung
(Bild T2) Anstatt mit dem Aufgabenplaner einen langsamen 1-Minuten-Zyklus zum Erhöhen des Watchdog-Zählers zu nutzen, wird ein 1-Sekunden-Zyklus mithilfe der Systemfunktion
SimuliereVariable erzeugt - der Nachteil dabei: SimuliereVariable muss in jedem Bild separat wieder angetriggert werden (beim Ereignis "Aufgebaut"). Für den Fall, dass man das in einem Bild vergisst, kann man noch zusätzlich das Erhöhen des Watchdog-Zählers im 1-Minuten-Zyklus des Aufgabenplaners projektieren.(Bild T3) Der 1-Sekunden-Zyklus erhöht je Verbindung einen Watchdog-Zähler ConnWatch_x, und eine sich zyklisch ändernde Variable der PLC setzt den Zähler wieder zurück auf 0. Wenn die HMI-Verbindung ausfällt oder die CPU in STOP geht, dann ändert sich die Variable von der PLC nicht mehr und der Watchdog-Zähler kann sich weiter erhöhen und wird nach einigen Sekunden größer als ein Grenzwert. Dann wird das Ereignis "Verbindung xyz ausgefallen oder PLC in STOP" ausgelöst.
(Bild T1) Weil HMI-interne Variablen bei Wertzuweisungen keine Ereignisse auslösen (Loop Breaker), wird für die 1-Sekunden-Zähler-Variable Count_1s (die zyklisch Wertänderung-Ereignisse auslösen soll) eine zusätzliche Offline-HMI-Verbindung "AUX" projektiert. Dabei ist der Kommunikationstreiber egal, Hauptsache er bietet die Zugriffsart <Absoluter Zugriff>. Die Adresse der Variable ist egal.
(Bild T1) Die je Verbindung separaten Watchdog-Zähler-Variablen ConnWatch_x werden mit dem Datentyp Real projektiert, damit sie nie einen Überlauf haben.
(Bild T1) Die eine von der PLC kommende HMI-Variable, die den Watchdog-Zähler rücksetzt, muss auf Erfassungsart "Zyklisch fortlaufend" eingestellt werden (oder in einem immer angezeigten Bildbereich verwendet werden).
(Bild T4) Das Ereignis "Verbindung xyz ausgefallen oder PLC in STOP" wird mit einer Analogmeldung erzeugt. Dort bei "Grenzwert" festlegen, nach wieviel Sekunden nach Ausfall der Wertänderungen der Variable der PLC das Ereignis ausgelöst werden soll, z.B. 2 (Sekunden). (Die Systemmeldung 140001 "Verbindung abgebaut" kommt nach ca 20...25 Sekunden.)
Analogmeldungen haben zwei Ereignisse "Gekommen" und "Gegangen", die werden zum Setzen und Rücksetzen der Animationsvariable ConnErr_x verwendet. Da kann man auch Bildwechsel projektieren (
AktiviereBild, AktiviereBildMitNummer).Die Analogmeldungen kann man in Meldeanzeigen und Meldefenstern anzeigen, da wird dann bei Gekommen (K) und Gegangen (G) jeweils der gleiche Meldetext angezeigt. Wenn man verschiedene Texte haben will, dann kann man in den Meldetext "Dynamische Parameter" einfügen.
(Bild RT) Im Beispiel-Projekt ist dem Hauptbild/Grundbild/Home-Bild noch ein Info/Startbild vorgeschaltet, wo auf den Aufbau einer HMI-Verbindung gewartet wird und dann zum Hauptbild gewechselt wird. Das wird mit einer AlwaysTRUE-Variable der PLC realisiert. Die Wertänderung der Variable (von 0 zu 1) passiert nur einmal nach Start der WinCC Runtime beim ersten Verbindungs-Aufbau. Wenn die Runtime in diesem Info/Startbild festhängt und den blinkenden Text "... warten auf Verbindung zu PLC1 ..." dauerhaft anzeigt, dann ist mit der HMI-Verbindung oder der PLC was nicht in Ordnung.
(*) Im Beispiel-Projekt werden der Einfachheit halber die Texte "Verbindung abgebaut und aufgebaut" verwendet. ausgefallen und OK wären treffender
Im Anhang: TIA V16 Projekt Beispiel mit einem HMI-Panel KTP400 Basic und einer S7-1200 CPU (nur für Simulation).