CTRL-Debugger Skript Debugging Beispiele

Normalerweise laufen Skripts in Bruchteilen von Sekunden ab. Bei Skripts, die auf Klick ablaufen, ist es oft nicht möglich, so rasch zu stoppen. Um die Ausführung eines Skripts an einer bestimmten Stelle zu unterbrechen, setzen Sie Haltepunkte. Setzen Sie einen Haltepunkt und starten Sie das Skript erneut: es wird nur bis zum ersten gesetzten Haltepunkt abgearbeitet. Mit "Fortsetzen" können Sie anschließend das Skript Schritt für Schritt ablaufen lassen. Um alle gesetzten Haltepunkte eines Skriptes zu sehen, aktualisieren Sie die Baumansicht auf der Registerkarte "Haltepunkte". Um Threads zu debuggen, setzen Sie einen Haltepunkt für die Callback-Funktion eines Skriptes. Auf diese Weise kann auch ein Thread debuggt werden.

Trend

Im folgenden Beispiel wird das zyklische Skript des Beispielpanels WinCC_OA_path/panels/examples/trend verwendet und ein Haltepunkt für das Skript gesetzt.

  1. Öffnen Sie das Panel im Modul Vision und klicken Sie auf Start. Es werden Zufallszahlen auf den Datenpunkt ExampleDP_Trend1 verschickt und als Trend dargestellt (siehe Abbildung unterhalb).

    Abbildung 1. Trend
  2. Öffnen Sie den CTRL-Debugger für den Manager, in dem Sie ein Skript debuggen möchten (in unserem Beispiel UI_1) über die WinCC OA-Konsole oder über den grafischen Editor.

    Abbildung 2. Managerauswahl
  3. Klicken Sie auf das "Clicked" Event des Panels "trend" in der Baumansicht des Debuggers.

  4. Setzen Sie einen Haltepunkt auf die Zeile 28 (dpSet). Die Ausführung des Skripts wird unterbrochen. Der Trend setzt sich als gerade Linie fort.

    Abbildung 3. Ein Breakpoint auf der Zeile 28
  5. Klicken Sie danach auf bzw. F5 um mit der Ausführung fortzufahren. Der Trend erhält wieder unterschiedliche Werte und zeichnet entsprechende Kurven.

  6. Klicken Sie auf den Haltepunkt um den Haltepunkt zu löschen und um mit der Ausführung fortzufahren. Der Trend erhält wieder unterschiedliche Werte und zeichnet entsprechende Kurven.

  7. Klicken Sie auf um das Skript zu stoppen und auf um mit der Ausführung fortzufahren. Verwenden Sie F10 (Step over) für Single Step.

Lokale Variablen

Das folgende Beispiel zeigt ein kleines Skript mit einer lokalen Variable.

  1. Erstellen Sie ein Skript wie in der Abbildung unterhalb dargestellt, im grafischen Editor.

  2. Setzen Sie für dieses Skript einen Haltepunkt auf die Zeile 5. Beim Haltepunkt werden keine Werte ausgegeben, da das Skript gestoppt wird.

  3. Klicken Sie auf bzw. F5 um das Skript fortzuführen - es werden wieder Werte ausgegeben.

    Abbildung 4. Skript mit einer Verzögerung (Delay) und einem Haltepunkt

Thread

Im folgenden Beispiel wird ein Thread debuggt.

  1. Erstellen Sie im grafischen Editor das folgende Skript. Verwenden Sie den Code z.B. bei einem "Clicked"-Ereignis einer Schaltfläche.

    Abbildung 5. Skript mit einer Callback-Funktion (Thread). Der Pfeil zeigt an, dass das Ereignis ausgeführt wird
  2. Öffnen Sie das Panel im Modul VISION. Klicken Sie auf die Schaltfläche mit dem Code. Das Skript wird ausgeführt.

  3. Öffnen Sie den CTRL-Debugger und setzen Sie einen Haltepunkt auf die Zeile 9. Klicken Sie noch einmal auf die Schaltfläche im Modul VISION. Die Funktion "myFunction" wird gestoppt, weil der Haltepunkt gesetzt wurde. Klicken Sie auf um das Skript fortzusetzen.