Code debuggen: Forcen/Überschreiben
Hinweis
Dieses Thema bezieht sich nur auf die (nicht-sicherheitsbezogene) Standard-Steuerung. Die entsprechenden Schritte für die sicherheitsbezogene SPS finden Sie im Hilfekapitel "". |
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:
Hinweis
Je nach verwendetem Steuerungstyp, wird das Forcen in der aktuellen Version ggf. nicht unterstützt. |
- Setzen von Breakpoints.
Unbeabsichtigter Betriebszustand des Geräts
- Stellen Sie vor dem Forcen/Überschreiben von Variablen sicher, dass geeignete organisatorische Maßnahmen (gemäß zutreffender Sektornormen) getroffen wurden, um Gefährdungen im Falle einer ungewollten oder falschen Funktion der Anwendungslogik zu vermeiden.
- Verifizieren Sie, wie sich das Forcen oder Überschreiben von Variablen auswirkt.
- Betreten Sie den Betriebsbereich nicht, während die Maschine in Betrieb ist.
- Stellen Sie sicher, dass keine anderen Personen den Betriebsbereich betreten können, während die Maschine in Betrieb ist.
- Beachten Sie die vorgegebenen Richtlinien in relevanten Sektornormen, wenn die Maschine in einer anderen Betriebsart als "in Betrieb" läuft.
- Verwenden Sie geeignete Sicherheitsverriegelungen, wenn eine Gefahr für Personen und/oder Ausrüstung besteht.
|
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).
Beispiel
Die Variable xForce1 ist auf TRUE geforct. Während des Programmzyklus schreibt die Applikation den Wert FALSE auf die Variable. Im Online-Arbeitsblatt gibt die AND-Funktion den Wert FALSE zurück, obwohl beide Eingänge den Wert TRUE anzeigen.
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.
Was möchten Sie tun?
Variablen in einem Online-Code-Arbeitsblatt forcen/überschreiben
- Aktivieren Sie den Debug-Modus, indem Sie PLCnext Engineer an den laufenden Applikationsprozess anhängen.Wählen Sie die POE-Instanz, in der eine Variable geforct/überschrieben werden soll ('In den Instanzeditor wechseln' oder Doppelklick auf das Instanzsymbol in der ANLAGE) und öffnen Sie das gewünschte Arbeitsblatt.
- Im grafischen Code: Linksklicken Sie auf den Namen der Variablen, die geforct/überschrieben werden soll und klicken Sie die Direktschaltfläche 'Forcen':

Hinweis
Anstatt auf die Direktschaltfläche zu klicken, können Sie auch auf die Variable doppelklicken oder den Kontextmenübefehl auswählen. |
Es werden nun die verfügbaren Debug-Befehle angezeigt (abhängig vom Variablentyp).
In textuellem Code: Linksklicken Sie auf den Wert (statt auf den Namen), den Sie forcen/überschreiben wollen.
- Im Fall eines Booleschen Wertes, klicken Sie auf den gewünschten Wert (TRUE/FALSE), den die Variable annehmen soll. Bei anderen Datentypen tippen Sie den gewünschten Wert ein.
- Klicken Sie auf
, um die Variable zu überschreiben und auf
, um zu forcen.Falls der Befehl 'Forcen' nicht verfügbar ist, ist der betreffenden Variablen kein Prozessdatum zugeordnet (Merkervariable) und sie kann deshalb nur überschrieben werden.In Online-Arbeitsblättern werden geforcte Variablen mit einem Farbverlauf als Hintergrund angezeigt. Beispiele:
Kontakt mit Forcewert TRUE: |  |
Kontakt mit Forcewert FALSE: |  |
Boolesche Variable in ST mit Forcewert TRUE: |  |
Boolesche Variable in ST mit Forcewert FALSE: |  |
Geforcte Variablen werden in das Fenster FORCELISTE im Cross-Funktionen-Bereich eingefügt (siehe unten).
- Um den Force-Wert zu ändern, doppelklicken Sie (in grafischem Code) auf die Variable bzw. klicken (in textuellem Code) auf den Wert, ändern dann den Force-Wert und klicken abschließend auf das Symbol 'Erneut Forcen':
Forcen/Überschreiben einer Variablen in einer Online-Variablentabelle oder Datenliste
Die folgenden Schritte sind durchzuführen während der Debug-Modus aktiv ist.
- Öffnen Sie die gewünschte Tabelle.
- Datenliste: Doppelklicken Sie in der ANLAGE auf den entsprechenden Knoten und öffnen Sie die Datenliste.Oder
- Lokale Variablentabelle: Wählen Sie die POE-Instanz, in der eine Variable geforct/überschrieben werden soll ('In den Instanzeditor wechseln' oder Doppelklick auf das Instanzsymbol in der ANLAGE) und öffnen Sie die Variablentabelle.
- Doppelklicken Sie in der Tabelle auf den Wert der Variablen, den Sie forcen/überschreiben wollen. Es werden nun die verfügbaren Debug-Befehle angezeigt (abhängig vom Variablentyp).
- Im Fall eines Booleschen Wertes, klicken Sie auf den gewünschten Wert, den die Variable annehmen soll. Bei anderen Datentypen tippen Sie den gewünschten Wert ein.
- Klicken Sie auf
, um die Variable zu überschreiben und auf
, um zu forcen.Falls der Befehl 'Forcen' nicht verfügbar ist, ist der betreffenden Variablen kein Prozessdatum zugeordnet (Merkervariable) und sie kann deshalb nur überschrieben werden.Der Wert einer geforcten Variablen wird mit einem Farbverlauf als Hintergrund angezeigt, sodass das Forcing auf einen Blick sichtbar ist. Beispiele:
oder
- Um den Force-Wert zu ändern, doppelklicken Sie erneut auf den Wert, ändern diesen und klicken dann auf 'Erneut Forcen':
Geforcte Variablen werden in das Fenster FORCELISTE im Cross-Funktionen-Bereich eingefügt (siehe unten).
Forcen/Überschreiben einer Variablen im WATCH-Fenster
Die folgenden Schritte sind durchzuführen während der Debug-Modus aktiv ist.
- Fügen Sie Variablen aus Online-Code-Arbeitsblättern oder Variablentabellen in das WATCH-Fenster ein (z.B. per Drag & Drop).
- Doppelklicken Sie im WATCH-Fenster auf den 'Wert' der Variablen, den Sie forcen/überschreiben wollen.
Alternativ rechtsklicken Sie auf die Tabellenzeile und wählen 'Forcen/Überschreiben' aus dem Kontextmenübefehl oder linksklicken die Tabellenzeile und drücken <Strg> + <Alt> + <2>.Es werden nun die verfügbaren Debug-Befehle angezeigt (abhängig vom Variablentyp).
- Im Fall eines Booleschen Wertes, klicken Sie auf den gewünschten Wert, den die Variable annehmen soll. Bei anderen Datentypen tippen Sie den gewünschten Wert ein.
- Klicken Sie auf
, um die Variable zu überschreiben und auf
, um zu forcen.Falls der Befehl 'Forcen' nicht verfügbar ist, ist der betreffenden Variablen kein Prozessdatum zugeordnet (Merkervariable) und sie kann deshalb nur überschrieben werden.Der Wert einer geforcten Variablen wird mit einem Farbverlauf als Hintergrund angezeigt, sodass das Forcing auf einen Blick sichtbar ist. Beispiele:
oder
- Um den Force-Wert zu ändern, doppelklicken Sie erneut auf den Wert, ändern ihn ab und klicken dann auf 'Erneut Forcen':
Geforcte Variablen werden in das Fenster FORCELISTE im Cross-Funktionen-Bereich eingefügt (siehe unten).
Forcen einer Variablen/Forcewert aufheben im Fenster FORCELISTE.
Geforcte Variablen werden in das Fenster FORCELISTE im Cross-Funktionen-Bereich am unteren Bildschirmrand eingefügt. Auf diese Weise werden alle geforcten Variablen in einer Liste gesammelt und können zentral bearbeitet werden.
Die FORCELISTE bietet Befehle zum Ändern und Aufheben von Forcewerten.
 | Forcen der aktuell gewählten Variablen auf einen neuen Wert. |
 | Force-Wert der aktuell gewählten Variablen aufheben. Nach dem Rücksetzen der Variablen auf ihren "normalen" Wert, wird diese aus der FORCLISTE entfernt. |
 | Forcen aller Variablen aufheben. Nach dem Rücksetzen der Variablen auf ihren "normalen" Wert, werden diese aus der FORCLISTE entfernt. |
Forcen einer geforcten Variablen aufheben
Um das Forcen aller Variablen aufzuheben, öffnen Sie im Cross-Funktionen-Bereich am unteren Bildschirmrand die FORCELISTE und klicken auf dort in der Symbolleiste auf 'Forcen aller Variablen aufheben'.
Um das Forcen einer bestimmten geforcten I/O-Variablen aufzuheben,
- öffnen Sie das FORCELISTE-Fenster im Cross-Funktionen-Bereich am unteren Bildschirmrand und markieren dort die betreffende Variable, oder
- doppelklicken Sie auf die Variable in grafischem Code oder
- linksklicken Sie auf den Wert in textuellem Code oder
- doppelklicken Sie auf den Wert in der Variablentabelle oder
- rechtsklicken Sie auf den Wert im WATCH-Fenster
und wählen Sie den Befehl 'Forcen aufheben':
Hinweis
Für diejenigen Variablen, die vor der Ausführung des Befehls 'Projektänderungen schreiben und starten' geforct wurden, wird das Forcen automatisch aufgehoben (die Force-Liste wird zurückgesetzt und es wird eine entsprechende Desktop-Benachrichtigung ausgegeben). |