Schrittweises Abarbeiten eines Programms (Stepping)
Sie können ein SPS-Projekt 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 das Programm an einem definierten Programmschritt steht (Debugbetrieb). Während des Debugbetriebs wird die aktuelle Halteposition gelb hinterlegt und in den Texteditoren mit dem Symbol gekennzeichnet.
In den Debugbetrieb wechseln
- Das SPS-Projekt ist im Onlinebetrieb.
- 1. Setzen Sie in den POUs Haltepunkte an den Stellen im Code, die Sie untersuchen wollen.
- 2. Starten Sie das Programm.
- Das Programm startet, der Code wird bis zum ersten Haltepunkt abgearbeitet. Das Projekt ist nun im Debugbetrieb.
- Der Editor mit der aktuellen Halteposition ist geöffnet. Die Codezeile mit aktivem Haltepunkt, an der die Programmausführung angehalten wurde, ist gelb hinterlegt und mit dem Symbol (Stopp an Haltepunkt) gekennzeichnet. Die Anweisung wurde noch nicht ausgeführt.
- Sie können die verschiedenen Schrittbefehle wählen oder sich die Aufrufliste anzeigen lassen.
Verhalten der Schrittbefehle
- Befehl 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 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 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 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 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 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 PLC > Fenster > Aufrufliste, um für die aktuell in der Programmabarbeitung erreichte Halteposition der bisherige Aufrufbaum vollständig anzuzeigen.
Die Ansicht Aufrufbaum zeigt jederzeit, auch schon vor dem Kompilieren (Übersetzen) des SPS-Projekts, wo sich der Baustein in der Aufrufstruktur des Programms befindet. |