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 Breakpoints. Setzen Sie einen Breakpoint und starten Sie das Script erneut: es wird nur bis zum ersten gesetzten Breakpoint abgearbeitet. Mit "Fortsetzen" können Sie anschließend das Skript Schritt für Schritt ablaufen lassen. Um alle gesetzten Breakpoints eines Scriptes zu sehen, aktualisieren Sie die Baumansicht auf der Registerkarte "Breakpoints". Um Threads zu debuggen, setzen Sie einen Breakpoint für die Callback-Funktion eines Scriptes. 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 Breakpoint für das Script 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 UI_1 (oder einen anderen Manager, abhängig vom Manager den Sie verwenden) über die WinCC OA-Konsole oder über den grafischen Editor.

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

  4. Setzen Sie einen Breakpoint 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 Breakpoint um den Breakpoint 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 F8 für Single Step.

Lokale Variablen

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

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

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

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

    Abbildung 4. Script mit einem Delay und einem Breakpoint

Thread

Im folgenden Beispiel wird ein Thread debuggt.

  1. Erstellen Sie im grafischen Editor das folgende Script. Fügen Sie den Code z.B. zu einem "Clicked"-Ereignis einer Schaltfläche.:

    Abbildung 5. Script 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 Script wird ausgeführt.

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