-

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:

WARNUNG
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.

Debug-Modus starten

Um den Debug-Modus einzuschalten, führen Sie folgende Befehle aus
  1. Wählen Sie den Befehl 'Verbinden/Trennen':

    Hinweis
    Zum Aktivieren des Debug-Modus kann der Monitoring-Modus aktiv sein.

    Noch nicht bei der Standard-Steuerung angemeldet? Falls die eingesetzte Steuerung (in der die sicherheitsbezogene SPS enthalten ist) ein Security-Konzept implementiert und Sie noch nicht bei der Steuerung angemeldet sind (schwarzes Schild neben dem Steuerungssymbol in der ANLAGE), erscheint beim Verbinden der Anmeldedialog. Geben Sie hier einen Benutzernamen der gewünschten und passenden Benutzerrolle mit dem entsprechenden Kennwort ein und drücken Sie <Eingabe>, um sich anzumelden. (Stellen Sie sicher, dass die verwendete Benutzerrolle das Recht zum Schreiben und Starten des sicherheitsbezogenen Projekts beinhaltet.)
    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:

  2. Wählen Sie, während die Verbindung besteht, den Befehl 'Debug-Modus':
  3. 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.

    Bestätigen Sie den Dialog mit 'Ja', um fortzufahren.
    Klicken Sie auf 'Nein', um die Aktivierung des Debug-Modus abzubrechen.

  4. 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.
Nachdem Sie den Debug-Modus wie beschrieben aktiviert haben, ...

Debug-Modus beenden

  1. Um den Debug-Modus zu beenden und in den Programmiermodus (Offline-Modus) zurückzuschalten, wählen Sie erneut den Befehl 'Debug-Modus'.

  2. 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.

    Bestätigen Sie den Dialog mit 'Ja', um fortzufahren.
    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'.

Wenn Sie im Monitoring-Modus den Befehl 'Verbinden/Trennen' aus dem Kontextmenü des 'Safety PLC'-Knotens in der ANLAGE oder im 'Cockpit Sichere SPS' (siehe Symbol links) wählen, wird PLCnext Engineer vom laufenden Applikationsprozess gelöst (Programmiermodus wird aktiv) und die Verbindung zur sicherheitsbezogenen SPS getrennt.

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).

    Beispiel

    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

Eine Variable in einer Online-'Variablen'-Tabelle oder in der Datenliste des 'PLC'- oder 'Safety PLC'-Knotens 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