Code debuggen: Forcen/Überschreiben
Dieses Thema enthält die folgenden Abschnitte:
Hinweis
Dieses Thema bezieht sich nur auf die (nicht-sicherheitsbezogene) Standard-Steuerung. Die entsprechenden Schritte für die sicherheitsbezogene SPS finden Sie im Hilfekapitel "Sicherheitsbezogene SPS-Inbetriebnahme: Von Kompilieren bis Debuggen ![]() ×‣ Verbinden contra Monitoring-Modus contra Debug-Modus ×‣ Sicherheitsbezogene Applikation aus dem Sicherheitscockpit steuern ×‣ Steuerungsdiagnose aus dem Cockpit der sicherheitsbezogenen SPS ×‣ Sicherheitssteuerung überwachen/debuggen ×‣ Monitoring-Modus: Online-Werte anzeigen ×‣ Debuggen von sicherheitsbezogenem Code: Forcen/Überschreiben ×‣ WATCH-Fenster: Sicherheitsbezogene Applikation überwachen/debuggen ×‣ Simulation der sicherheitsbezogenen SPS ×". |
Zu Ihrer Unterstützung beim Funktionstest stellen die Editoren im Debug-Modus mehrere Debug-Funktionen zur Verfügung. Statt beispielsweise an der Anlage einen Taster zu drücken, können Sie im grafischen Editor die entsprechende Eingangsvariable/den Port forcen. So können Sie die Reaktion der Applikation überwachen.
Die Debug-Funktionen sind nur verfügbar, während PLCnext Engineer an den Applikationsprozess angehängt ist, d.h. sich im Debug-Modus befindet.
Im Debug-Modus bietet das System folgende Möglichkeiten:- Überschreiben von lokalen und globalen Variablen ohne zugewiesenes Prozessdaten-Element (Merkervariablen) und Ports (auch in nicht-IEC 61131-3-Programmen).
- Forcen folgender Datenelemente:
- globale IEC Variablen, die mit einem Prozessdaten-Element verbunden sind (I/O-Variablen).
- Instanzbezogene 'Programm'-Variablen.
Solche Variablen entstehen aus programmglobalen Variablen, für die eine Datenrichtung 'I/Q' eingestellt wurde. - Ports in IEC 61131-3-Programmen und in extern entwickelten, instanziierten nicht-IEC 61131-3-Programmen.
Hinweis
Je nach verwendetem Steuerungstyp, wird das Forcen in der aktuellen Version ggf. nicht unterstützt. - Setzen von Breakpoints.
WARNUNG
|
Unbeabsichtigter Betriebszustand des Geräts
|
Variablen im Debug-Modus forcen und überschreiben
Forcen und Überschreiben bedeutet, einer Variablen einen neuen Wert zuzuweisen. Beide Operationen sind nur möglich, solange der Debug-Modus aktiv ist.
Was ist der Unterschied zwischen Forcen und Überschreiben?
- Überschreiben ist möglich für lokale und globale Variablen (Merkervariablen ohne zugeordnetes Prozessdatum) sowie für I/O-Variablen (verbunden mit einem Prozessdatum). Der betreffende Wert wird einmalig zu Beginn eines Task-Zyklus überschrieben (gesetzt). Danach wird die Variable normal verarbeitet. Der neue Wert der Variablen wird daher solange beibehalten, bis wieder ein Schreibzugriff stattfindet. Ein Schreibzugriff kann durch eine programmierte Speicheroperation erfolgen oder durch einen Remote-Zugriff (beispielsweise durch den OPC-Server) oder durch Initialisieren der Variablen im Fall eines Kaltstarts der Steuerung.
-
Forcen ist bei Variablen und Ports möglich, die mit Prozessdaten-Elementen verbunden sind (I/O-Variablen/Ports). Beim Forcen wird eine I/O-Variable bzw. Port solange dauerhaft auf den Forcewert gesetzt, bis der Anwender das Forcen wieder zurück nimmt.Das Forcen findet am Anfang und am Ende eines Programmzyklus statt. Innerhalb des Zyklus kann die Applikation den Variablenwert durch einen Schreibzugriff ändern. In diesem Fall wird die Variable am Ende des Zyklus wieder auf den Forcewert gesetzt (solange das Forcen nicht aufgehoben wird).
Hinweis
Je nach verwendetem Steuerungstyp, wird das Forcen in der aktuellen Version ggf. nicht unterstützt.
Forcen/Überschreiben kann in Online-Code-Arbeitsblättern, Online-Variablentabellen/Datenlisten/Portlisten und im WATCHES-FENSTER durchgeführt werden.
Um einen Forcewert zu ändern oder das Forcen aufzuheben, kann auch das FORCELISTE-Fenster verwendet werden.
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 aus Kontextmenü den Befehl 'Überschreiben/Forcen...'.) Im Control klicken Sie rechts auf das Pfeilsymbol und wählen das gewünschte Format aus.
Anzeigemodus | verfügbar für | Bedeutung |
---|---|---|
Text (True / False) | Boolesche Variablen | Zeigt die Werte TRUE oder FALSE mit unterschiedlichen Hintergrundfarben an. |
Label | 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: ![]() |
Hinweis
Sie können alle individuell eingestellten Anzeigeformate für die Online-Variablen im Projekt im Dialog 'Extras > Optionen' zurücksetzen. Drücken Sie dazu in der Kategorie 'Online | Online-Werte' unter 'Alle Formatierungen im aktuellen Projekt zurücksetzen' die Schaltfläche 'Zurücksetzen'. |
Was möchten Sie tun?
Hinweis
Um anwenderdefinierte Funktionen/Methoden debuggen zu können und/oder Execution Values (tatsächliche Werte an der Codestelle) in Online-Arbeitsblättern anzeigen zu können, müssen Sie im Steuerungs-Cockpit die entsprechende erweiterte Debug-Funktion auswählen. Lesen Sie hierzu die Abschnitte "Erweitertes Debuggen: Execution Values vs. "normale" Online-Werte" und "Erweitertes Debuggen anwenderdefinierter Funktionen, Methoden und AS-Aktionen/Transitionen". |
Variablen in einem Online-Code-Arbeitsblatt forcen/überschreiben
Variable in einer Online-Variablentabelle oder Datenliste forcen/überschreiben
Variable im WATCH-Fenster forcen/überschreiben
Forcen einer Variablen/Forcewert aufheben im Fenster FORCELISTE