WATCH-Fenster: Sicherheitsbezogene Applikation überwachen/debuggen
Dieses Thema enthält die folgenden Abschnitte:
- Mehrere voneinander unabhängige Watch-Listen
- Variablen in das WATCH-Fenster einfügen
- Watch-Listen speichern und laden
- Inhalt einer Watch-Liste
- Befehle im WATCH-Fenster
- Anzeigemodus einstellen
![]() | Im WATCH-Fenster können Sie Variablen sammeln, um die Online-Werte während der Ausführung der Applikation zu überwachen. So müssen Sie die einzelnen Code-Arbeitsblätter mit den zu überwachenden Variablen nicht explizit öffnen.Für Variablen aus sicherheitsbezogenen POEs gilt:
|
Mehrere voneinander unabhängige Watch-Listen
Sie können im WATCH-Fenster bis zu 10 verschiedene Watch-Listen anlegen, wobei jede Liste in einem eigenen Tab geladen wird. Zum Anlegen einer Watch-Liste klicken Sie einfach auf das '+'-Symbol.
Die Watch-Listen werden getrennt voneinander behandelt, d.h. die Befehle in der Symbolleiste des Fensters und im Kontextmenü beziehen sich immer auf die aktuell aktive Watch-Liste (Tab). Dasselbe gilt, wenn Sie ein Element aus einer Variablentabelle oder einem Code-Arbeitsblatt über das Kontextmenü in eine Liste einfügen.
Sie können über das Kontextmenü im Listentab eine Watch-Liste umbenennen oder löschen. Durch Ziehen und Ablegen lässt sich die Reihenfolge der Listen ändern.
Der Inhalt einer Watch-Liste kann in eine Datei gespeichert und aus einer Datei geladen werden.
Die Watch-Listen werden mit dem PLCnext Engineer-Projekt gespeichert und wieder geladen, wenn Sie das Projekt öffnen.
Variablen in das WATCH-Fenster einfügen
Hinweis
Die in das WATCH-Fenster eingefügten Variablen und Ports werden mit dem PLCnext Engineer-Projekt gespeichert und wieder geladen, wenn Sie das Projekt öffnen. |
Variablen/Ports können nur in das WATCH-Fenster eingefügt werden, wenn der Monitoring-Modus oder Debug-Modus aktiv ist. Im Online-Modus können Variablen/Ports aus folgenden Editoren in das WATCH-Fenster eingefügt werden:
- Code-Arbeitsblätter
- Variablentabellen
- 'Datenliste' der sicherheitsbezogenen SPS
- Ziehen Sie eine Variable oder einen Port aus einem der genannten Online-Editoren in das WATCH-Fenster.Enthält das WATCH-Fenster mehrere Watch-Listen, können Sie das Element in eine aktive Liste ziehen oder auf dem Tab einer inaktiven Liste ablegen.
- Verwenden Sie aus dem Kontextmenü einer Variable den Befehl 'In WATCH-FENSTER einfügen'.Wenn das WATCH-Fenster mehrere Watch-Listen enthält, wird das Element in die aktuell ausgewählte Watch-Liste eingefügt (auch wenn das WATCH-Fenster geschlossen ist).
Jede Variable/jeder Port kann nur einmal in jede Watch-Liste eingefügt werden. Neu hinzugefügte Variablen/Ports werden immer am Ende einer Watch-Liste angehängt.
Elemente kopieren und in eine andere Watch-Liste einfügen
Der Inhalt des WATCH-Fensters wird beim Speichern des Projekts lokal auf Ihrem Computer gespeichert. Die Liste wird beim Öffnen des Projekts im WATCH-Fenster wiederhergestellt.
Jede Liste kann zusätzlich in eine Datei gespeichert und aus einer Datei geladen werden.
Elementbefehle in der Watch-Liste
Innerhalb einer Watch-Liste können Sie die folgenden Operationen für die Elemente der Liste (einzelne, mehrere oder alle Elemente) ausführen:- Variablen auf der laufenden Steuerung mit dem in der Spalte 'Wert' eingetragenen Wert überschreiben.
- Die aktuellen Online-Werte von der Steuerung lesen und als 'Sollwert' der Variablen in die Liste übernehmen.
- Den 'Sollwert' eines Elements manuell bearbeiten.
- Variablen auf der laufenden Steuerung mit dem 'Sollwert' der Variablen überschreiben.
Watch-Listen speichern und laden
Hinweis
Die Konfiguration des WATCH-Fensters (Variablenliste, Anzahl der Watch-Listen, usw.) wird mit dem aktuellen PLCnext Engineer-Projekt gespeichert und wieder geladen, wenn Sie das Projekt öffnen. |
Das Speichern des Inhalts einer Watch-Liste in eine Datei (*.wwr) bietet Ihnen die Möglichkeit, ein bestimmten Applikationsstatus zu sichern. Watch-Listendateien können auch in das WATCH-Fenster geladen werden.
Die *.wwr-Datei ist eine ASCII-Datei, in der jede Variable durch eine Zeile definiert ist. Sie können die Datei mit einem Standard Texteditor bearbeiten. Da jede Variablenzeile eine automatisch erzeugte ID (ergänzt durch den Instanzpfad der POE, in welcher die Variable verwendet wird) enthält, können manuell keine neuen Variablen in die Datei eingefügt werden.
Eine Watch-Liste in eine Datei speichern
Inhalt einer Watch-Liste
In jeder Watch-Liste (Tab) im WATCH-Fenster sind für jede eingefügte Variable die folgenden Informationen vorhanden:
Spalte | Bedeutung |
---|---|
Name | Variablen-/Portname: Im Fall eines Ein-/Ausgangs einer Funktion/eines FB, besteht der Name aus dem Funktions-/FB-Instanznamen und dem Namen des Ein-/Ausgangs, getrennt durch einen Punkt. Beispiel: P_GEN_1.Q. |
Wert | Aktueller Online-Wert des Elements. Diesen Wert besitzt das Element zwischen zwei Ausführungszyklen des Task.Sie können den Wert bearbeiten und den Wert auf der Steuerung mit dem Wert aus dem WATCH-Fenster forcen oder überschreiben (über den Kontextmenübefehl 'Überschreiben/Forcen' oder die Schaltfläche ![]() ![]() ![]() ![]() ![]() |
Sollwert | Die Werte in dieser Spalte können von der Steuerung gelesen und als vordefinierte Werte behalten werden. Mit der Schaltfläche ![]() ![]() |
Datentyp | Datentyp der Variablen. |
Instanz | Ort, an dem die Variable verwendet wird (einschließlich eindeutigem Instanzpfad). |
Befehle im WATCH-Fenster
Schaltfläche | Kontextmenübefehl | Tastenkombination | Beschreibung |
---|---|---|---|
![]() | - | - | Lädt eine gespeicherte *.wwr-Datei und fügt den Inhalt in eine neue Watch-Liste ein. |
![]() | Überschreiben/Forcen (in einer Liste) | <Strg> + <Alt> + <2> | Überschreibt oder forct das ausgewählte Element mit einem definierten Wert. Geforcte Werte werden mit Farbverlauf angezeigt (siehe Liste oben).Beachten Sie hierzu den Hinweis im Anschluss an diese Tabelle. |
![]() | Forcen der ausgewählten Variablen aufheben (in einer Liste) | <Strg> + <Alt> + <3> | Setzt den geforcten Wert wieder zurück auf den tatsächlichen Wert. Ist nur aktiv, wenn die Variable geforct ist.Beachten Sie hierzu den Hinweis im Anschluss an diese Tabelle. |
![]() | - | - | Lädt den aktuellen Wert aller Elemente in der Liste von der Steuerung und trägt diesen in die Spalte 'Sollwert' ein. |
- | Ausgewählte Sollwerte füllen (in einer Liste) | <Strg> + <Alt> + <4> | Lädt den aktuellen Wert der in der Liste ausgewählten Elemente von der Steuerung und trägt diesen in die Spalte 'Sollwert' ein. |
![]() | - | - | Überschreibt alle Elemente in der Liste auf der Steuerung mit dem jeweiligen Sollwert.Beachten Sie hierzu den Hinweis im Anschluss an diese Tabelle. |
- | Mit ausgewählten Sollwerten überschreiben (in einer Liste) | <Strg> + <Alt> + <5> | Überschreibt die in der Liste ausgewählten Elemente auf der Steuerung mit dem jeweiligen Sollwert.Beachten Sie hierzu den Hinweis im Anschluss an diese Tabelle. |
![]() | Watch-Liste speichern (auf Listentab) | - | Speichert die aktive Watch-Liste in eine *.wwr-Datei auf der Festplatte oder einem Netzwerklaufwerk. Siehe hierzu den Abschnitt "Watch-Listen speichern und laden". |
- | Watch-Liste laden (auf Listentab) | - | Lädt den Inhalt einer *.wwr-Datei in die aktive Watch-Liste. Siehe hierzu den Abschnitt "Watch-Listen speichern und laden". |
- | Umbenennen (auf Listentab) | - | Ermöglicht das Umbenennen der Watch-Liste. |
- | Löschen (auf Listentab) | - | Löscht die Watch-Liste. |
- | Alles markieren (in einer Liste) | <Strg> + <A> | Wählt alle Elemente in der Watch-Liste aus. |
- | Zusammenklappen (in einer Liste) | - | Für Variablen, die aus sicherheitsbezogenen POEs stammen, ist dieser Befehl inaktiv, da dort keine anwenderdefinierten Datentypen unterstützt werden, die erweitert/reduziert werden könnten. |
- | Löschen (in einer Liste) | <Entf> | Löscht das ausgewählte Element aus der Watch-Liste.Zur Mehrfachauswahl verwenden Sie den Kontextmenübefehl 'Alles markieren' oder halten Sie die <Strg>-Taste gedrückt, während Sie auf einzelne Variablen linksklicken. |
Hinweis
Für Variablen, die aus sicherheitsbezogenen POEs stammen, ist dieser Befehl nur verfügbar, wenn der Debug-Modus auf der sicherheitsbezogenen SPS aktiv ist. Während die sicherheitsbezogene SPS im Monitoring-Modus läuft, können keine Debug-Befehle auf ihre Variablen angewendet werden. Detaillierte Informationen zum Überschreiben eines Wertes im WATCH-Fenster finden Sie im Thema "Debuggen von sicherheitsbezogenem Code: Forcen/Überschreiben". |
Anzeigemodus einstellen
Einige Datentypen bieten mehrere Möglichkeiten zur Anzeige von Online-Werten. Um die Anzeige anzupassen, doppelklicken Sie auf den Wert der Variablen. (Alternativ rechtsklicken Sie auf die Variable und wählen 'Überschreiben/Forcen' aus dem Kontextmenü oder linksklicken die Tabellenzeile und drücken <Strg> + <Alt> + <2>.) Im Überschreiben/Forcen-Control klicken Sie rechts auf das Pfeilsymbol und wählen das gewünschte Format aus.
Hinweis
Unabhängig vom Anzeigemodus im WATCH-Fenster, kann über den Menüpunkt 'Extras > Optionen' das Anzeigeformat von Online-Variablen im im Debug-Modus eingestellt werden. Wählen Sie im Dialog 'Optionen' die Kategorie 'Optionen | Online-Werte' und geben Sie die Dezimalstellen an. |
Anzeigemodus | verfügbar für | Bedeutung |
---|---|---|
Text (True / False) | Boolesche Variablen | Zeigt die Werte TRUE oder FALSE mit unterschiedlichen Hintergrundfarben an. |
Bezeichner | Boolesche Variablen mit definiertem Pragma | Zeigt die Pragma-Bezeichner an, die für die Variablenwerte TRUE/FALSE definiert sind. |
Label hervorgehoben | Boolesche Variablen mit definiertem Pragma | Kombiniert die Anzeige des Pragma-Bezeichners für die Variablenwerte TRUE/FALSE mit den Hintergrundfarben für TRUE oder FALSE. |
LED | ANY_BIT-Variablen inklusive BOOL | Zeigt ein LED-Symbol statt des Wertes oder Bezeichners an: FALSE = ![]() ![]() Beispiel für eine BYTE-Variable: ![]() |
Hexadezimal | ANY_BIT-Variablen außer BOOL | Zeigt die ANY_BIT-Variable als Hexadezimalwert mit dem Präfix 16# an. |
Dezimal | ANY_BIT-Variablen außer BOOL und ANY_REAL | Zeigt die ANY_BIT-Variable als Dezimalwert. |
Binär | ANY_BIT-Variablen außer BOOL | Zeigt die ANY_BIT-Variable als Bitfolge mit dem Präfix 2# an. Beispiel für eine BYTE-Variable: ![]() |
Exponentiell | ANY_REAL-Variablen | Zeigt den Wert in exponentieller Darstellung an. Beispiel für eine LREAL-Variable: ![]() |
Der eingestellte Anzeigemodus wird zusammen mit der WATCH-Liste im Projekt gespeichert.