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ü HALT AUF BP (Debugbetrieb). Während des Debugbetriebs wird die aktuelle Halteposition gelb hinterlegt und in den Texteditoren mit dem Symbol gekennzeichnet.
Laden Sie Ihre Applikation auf eine Steuerung.
Die Applikation ist grün gekennzeichnet. CODESYS und die Editoren der Programmierbausteine sind im Onlinebetrieb.
Setzen Sie in den Programmierbausteinen Haltepunkte an den Stellen im Code, die Sie untersuchen wollen.
In der Ansicht Haltepunkte sind alle aufgelistet.
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:
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
gekennzeichnet. Diese gelb gekennzeichnete Anweisung wurde noch nicht ausgeführt.
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
Befehl
(„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
(„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
(„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
(„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
(„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
(„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
, 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.