Debuggen von sicherheitsbezogenem Code: Forcen/Überschreiben
Diese Thema enthält folgende Abschnitte:Zur Unterstützung beim Funktionstest der sicherheitsbezogenen Applikation stellt der Editor im Debug-Modus Befehle zum Debuggen bereit. Statt beispielsweise an der Anlage einen Taster zu drücken, können Sie im Code-Editor die entsprechende Eingangsvariable forcen und dann die Reaktion der Applikation verifizieren.
Hinweis
Im Gegensatz zum Monitoring-Modus (der Nur-Lese-Zugriff auf die sicherheitsbezogene SPS erlaubt), ist im Debug-Modus zusätzlich Schreibzugriff auf die sicherheitsbezogene SPS möglich, indem Debug-Befehle zum Forcen/Überschreiben von Variablen und Ausführen von Einzelzyklus-Befehlen ausgeführt werden. Da die Ausführung der Applikation durch Debug-Befehle beeinflusst werden kann, wird der Debug-Modus als nicht-sicherheitsbezogener Modus betrachtet. |
Da der Debug-Modus Schreibzugriff auf die sicherheitsbezogene SPS erfordert, müssen Sie bei der sicherheitsbezogenen SPS angemeldet sein. Sie müssen jedoch nicht beim sicherheitsbezogenen Bereich angemeldet sein, solange Sie keine sicherheitsbezogenen Projektdaten (Code, Variablen, Parametrisierung, etc.) verändern möchten.
Im Debug-Modus bietet das System folgende Möglichkeiten:- Ändern des Betriebsstatus der sicherheitsbezogenen SPS (Starten/Stoppen der Programmausführung).
- Überschreiben von lokalen und globalen Variablen ohne zugewiesenes Prozessdaten-Element (Merkervariablen).
- Forcen von globalen Variablen, die mit einem Prozessdaten-Element verbunden sind (I/O-Variablen).
Hinweis
Je nach verwendetem Steuerungstyp, wird das Forcen in der aktuellen Version ggf. nicht unterstützt. - Einzelzyklus-Operationen ausführen.
WARNUNG
|
Unbeabsichtigter Betriebszustand des Geräts
|
Debug-Modus starten
Um den Debug-Modus einzuschalten, führen Sie folgende Befehle aus- im 'Cockpit Sichere SPS' der sicherheitsbezogenen SPS, oder
- aus dem Kontextmenü des 'Safety PLC'-Knotens in der ANLAGE, oder
- aus dem Kontextmenü des 'Safety PLC'-Knotens im ONLINE-STATUS-Fenster (im Cross-Funktionen-Bereich am unteren Bildschirmrand).
- Wählen Sie den Befehl 'Verbinden/Trennen':
Hinweis
Zum Aktivieren des Debug-Modus kann der Monitoring-Modus aktiv sein.
Wenn bei der Authentifizierung während des Verbindungsaufbaus ein Fehler auftrat (wegen eines abgelehnten oder unbekannten Steuerungszertifikats), erscheint ein Dialog, in dem Sie PLCnext Engineer anweisen können, trotzdem eine nicht gesicherte Verbindung herzustellen.Solange Sie bei der Steuerung angemeldet sind, ist das Schild neben dem Steuerungssymbol in der ANLAGE grün dargestellt. Wenn Sie die Maus über das Steuerungssymbol bewegen, erscheint ein Tooltip mit den Anmeldeinformationen. Wenn Sie eine nicht gesicherte Verbindung akzeptiert haben, wird folgendes Schildsymbol angezeigt:
- Wählen Sie, während die Verbindung besteht, den Befehl 'Debug-Modus':
- Eine Warnmeldung informiert Sie nun darüber, dass durch Aktivieren des Debug-Modus der sichere Betriebsmodus verlassen wird.WARNUNG
Unbeabsichtigter Betriebszustand des Geräts - Stellen Sie sicher, dass durch beabsichtige oder unbeabsichtigte Operationen der sicherheitsbezogenen SPS keine Gefährdung entstehen kann.
- Beachten Sie auch den Warnhinweis am Anfang dieses Themas.
Klicken Sie auf 'Nein', um die Aktivierung des Debug-Modus abzubrechen. - Wenn Sie noch nicht bei der sicherheitsbezogenen SPS angemeldet sind, erscheint der Dialog zur Authentifizierung. Geben Sie das Kennwort für die sicherheitsbezogene SPS ein und klicken Sie anschließend auf 'OK'. Weitere Informationen finden Sie im Thema "Kennwortschutz für die sicherheitsbezogene SPS".
Wenn Sie die Authentifizierung abbrechen, wird der Debug-Modus nicht aktiviert.
- erscheint das Symbol 'Debug-Modus' im Cockpit der sicherheitsbezogenen SPS gedrückt.
- zeigt die Statuszeile neben dem Eintrag 'Sicherheitsbezogene SPS: Debug-Modus aktiv' einen roten Punkt
.
- werden bereits geöffnete Online-Arbeitsblätter automatisch in den Debug-Modus geschaltet (es muss nicht noch einmal eine Instanz gewählt werden).
- können Sie POE-Instanzen auf dieselbe Weise wählen und öffnen, wie im Monitoring-Modus.
- werden in Online-Arbeitsblättern Online-Werte angezeigt.
- stellt das Cockpit der sicherheitsbezogenen SPS Befehle zum Umschalten des Betriebszustands der sicherheitsbezogenen SPS bereit (Stopp, Kaltstart etc.).
- lassen sich in Arbeitsblättern und im WATCH-Fenster Debug-Befehle ausführen.
Debug-Modus beenden
- Um den Debug-Modus zu beenden und in den Programmiermodus (Offline-Modus) zurückzuschalten, wählen Sie erneut den Befehl 'Debug-Modus'.
- Eine Warnmeldung informiert Sie nun darüber, dass das Beenden des Debug-Modus das Rücksetzen der Force-Liste bedeutet, und dass alle Variablen reinitialisiert werden, falls die sicherheitsbezogene SPS im Zustand Debug/Läuft ist.WARNUNG
Unbeabsichtigter Betriebszustand des Geräts - Stellen Sie sicher, dass durch das Rücksetzen der Force-Liste und die Reinitialisierung der Variablen keine Gefährdung entstehen kann.
- Beachten Sie auch den Warnhinweis am Anfang dieses Themas.
Klicken Sie auf 'Nein', um die Deaktivierung des Debug-Modus abzubrechen.
Nach dem Lösen vom Prozess ist PLCnext Engineer nach wie vor mit der sicherheitsbezogenen SPS verbunden (der 'Safety PLC'-Knoten in der ANLAGE zeigt noch den Status an) und es ist der Monitoring-Modus aktiv, d.h. es werden Online-Werte von der sicherheitsbezogenen SPS gelesen. Um sich wieder an den Applikationsprozess anzuhängen, wählen Sie erneut den Befehl 'Debug-Modus'.
Hinweis
Ist beim Trennen der Verbindung der Debug-Modus aktiv, erscheint eine Meldung mit den folgenden Informationen: Der Fehlerzustand wird eingenommen, wenn die sicherheitsbezogene SPS im Debug-Modus erkennt, dass sie länger als 10 Minuten von PLCnext Engineer getrennt ist, oder wenn durch andere Umstände in der sicherheitsbezogenen SPS die weitere Ausführung des Programms nicht mehr möglich ist. |
Weitere Infos
Weitere Informationen finden Sie im Thema "Verbinden contra Monitoring-Modus contra Debug-Modus". |
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.
Was möchten Sie tun?
Variablen in einem Online-Code-Arbeitsblatt forcen/überschreiben
Forcen/Überschreiben einer Variablen im WATCH-Fenster
Forcen einer geforcten Variablen aufheben
Status Debug/Halt der sicherheitsbezogenen SPS umschalten und Einzelzyklus-Betrieb der SPS ausführen