Skip to main content

Schrittweises Abarbeiten eines Programms (Stepping)

Sie können eine Applikation Schritt für Schritt ausführen und dabei durch den Code navigieren. Das ist hilfreich, um den Status Ihres Codes zur Laufzeit zu ermitteln. Sie können dabei den Aufrufablauf untersuchen, Variablenwerte verfolgen oder Fehler ermitteln.

Dafür stehen Ihnen im Menü Debug Schrittbefehle zur Verfügung. Die Befehle werden verfügbar, wenn Sie während des Onlinebetriebs Haltepunkte setzen und dann die Ausführung an einem Haltepunkt anhält: Die Applikation ist im Zustand HALT AUF BP (Debugbetrieb). Während des Debugbetriebs wird die aktuelle Halteposition gelb hinterlegt und in den Texteditoren mit dem Symbol symbol_step_arrow.png gekennzeichnet.

Prozedur. In Debugbetrieb wechseln
  1. Laden Sie Ihre Applikation auf eine Steuerung.

    Die Applikation ist grün gekennzeichnet. CODESYS und die Editoren der Programmierbausteine sind im Onlinebetrieb.

    _cds_online_mode.png
  2. Setzen Sie in den Programmierbausteinen Haltepunkte an den Stellen im Code, die Sie untersuchen wollen.

    In der Ansicht Haltepunkte sind alle aufgelistet.

  3. Starten Sie die Applikation.

    Die Applikation startet, der Code wird abgearbeitet bis zum ersten Haltepunkt.

    Die Applikation ist nun im Debugbetrieb. Im Gerätebaum ist die Applikation mit [Stop an Haltepunkt] gekennzeichnet. Die Statuszeile informiert über den Betriebszustand:

    _cds_debug_mode.png

    Der Editor mit der aktuelle Halteposition wurde geöffnet. Die Codezeile mit aktivem Haltepunkt, an der die Programmausführung angehalten wurde, ist gelb hinterlegt und mit dem Symbol symbol_step_arrow.png gekennzeichnet. Diese gelb gekennzeichnete Anweisung wurde noch nicht ausgeführt.

    _cds_pou_in_debug_mode.png

    Nun können Sie die verschiedenen Schrittbefehle wählen oder sich den Aufrufbaum anzeigen lassen.

Tipp

Alternativ können Sie erst die Applikation starten und dann einen Haltepunkt setzen.

Verhalten der Schrittbefehle des Menüs Debug

. Verhalten der Schrittbefehle des Menüs Debug
  • Befehl icon_step_over.png Prozedurschritt („Step Over“)

    Die Anweisung an der Halteposition wird ausgeführt. Vor der nächsten Anweisung im Programmierbaustein wird angehalten.

    Wenn in der Anweisung ein Aufruf ist (von einem Programm, einer Funktionsbaustein-Instanz, einer Funktion, einer Methode oder einer Aktion), wird der untergeordnete Programmierbaustein in einem Schritt vollständig durchlaufen.

  • Befehl icon_step_into.png Einzelschritt („Step Into“)

    Die Anweisung an der Halteposition wird ausgeführt. Vor der nächsten Anweisung wird angehalten.

    Wenn in der Anweisung ein Aufruf ist (von einem Programm, einer Funktionsbaustein-Instanz, einer Funktion, einer Methode oder einer Aktion), wird in diesen untergeordneten Programmierbaustein gesprungen. Die erste Anweisung dort wird ausgeführt und vor der nächsten Anweisung wird angehalten. Die neue aktuelle Halteposition ist dann im aufgerufenen Programmierbaustein.

  • Befehl icon_step_out.png Ausführen bis Rücksprung („Step Out“)

    Der Befehl führt den Programmierbaustein von der aktuellen Halteposition bis zum Bausteinende aus und springt dann zurück in den aufrufenden Programmierbaustein. An der Aufrufstelle (in der Zeile mit dem Aufruf) wird angehalten.

    Wenn die aktuelle Halteposition im Hauptprogramm ist, wird der Programmierbaustein bis zum Ende durchlaufen. Dann wird zurück an den Anfang (an den Programmstart an die erste Codezeile im Programmierbaustein) gesprungen und dort angehalten.

  • Befehl icon_run_to_cursor.png Ausführen bis Cursor („Run to Cursor“)

    Setzen Sie zunächst den Cursor an eine beliebige Codezeile und wählen Sie dann den Befehl. Das Programm wird ab der aktuellen Halteposition ausgeführt und hält an der aktuellen Cursorposition an, ohne den Code dieser Zeile auszuführen.

  • Befehl icon_set_next_statement.png Nächste Anweisung festlegen („Set Next Statement“)

    Setzen Sie zunächst den Cursor an eine beliebige Codezeile (auch vor der aktuellen Halteposition) und wählen Sie dann den Befehl. Die mit dem Cursor gekennzeichnete Anweisung wird als nächstes ausgeführt. Alle Anweisungen dazwischen werden ignoriert und übersprungen.

  • Befehl icon_show_current_statement.png Nächste Anweisung anzeigen („Show Next Statement“)

    Wenn Sie die aktuelle Halteposition nicht sehen, wählen Sie den Befehl. Dann wird das Fenster mit der aktuellen Halteposition aktiv und die Halteposition sichtbar.

Wählen Sie den Befehl Ansicht → Aufrufliste, um für die aktuell in der Programmabarbeitung erreichte Halteposition der bisherige Aufrufbaum vollständig anzuzeigen.

Tipp

Die Ansicht Aufrufliste zeigt jederzeit, also schon vor dem Kompilieren (Übersetzen) der Applikation, wo sich der Baustein in der Aufrufstruktur des Programms befindet.