EcoStruxure Machine Expert Version 1.1 unterstützt nicht die Controller M258, LMC058 und LMC078.

Debugging

Überblick

Um mögliche Programmierfehler zu überprüfen, können Sie die Debugging-Funktion verwenden.

Zu Testzwecken kann eine Anwendung auch in der Simulation laufen und benötigt keine Verknüpfung zu einem tatsächlichen Zielgerät. Zwar ist es bei einer Simulation nicht notwendig, eine Verbindung mit Hardware herzustellen, doch gibt es Beschränkungen, die eventuell ein Online-Debugging erforderlich machen.

Haltepunkte zum Forcieren von Ausführungsstopps

Ein Haltepunkt, der in einem Anwendungsprogramm festgelegt wurde, stoppt die Programmaus­führung. Die Variablenwerte können dann am aktuellen Ausführungspunkt gesehen werden. Die aktuelle Position kann unter Verwendung der Aufrufreihenfolge genauer bestimmt werden.

Nur der Debug-Task, der den Haltepunkt erreicht hat, wird gestoppt. Die anderen Tasks werden weiterhin ausgeführt. Die möglichen Haltepunktepositionen sind vom entsprechenden Programmeditor abhängig. In jedem Fall befindet sich ein Haltepunkt am Ende einer POU.

HINWEIS: Die Eingänge/Ausgänge die von der Debug-Task behandelt werden, werden bei einem Stopp am Haltepunkt nicht aktualisiert. Dies gilt auch, wenn die Option E/As aktualisieren im Stop auf der Registerkarte SPS-Einstellungen des Geräteeditors aktiviert ist.

Im Kapitel Haltepunkt-Befehle finden Sie Erläuterungen zu Befehlen, die Haltepunkte betreffen. Das Dialogfeld Haltepunkte gibt einen Überblick über alle Haltepunkte und ermöglicht das Hinzufügen, Entfernen und Bearbeiten von Haltepunkten.

Bedingte Haltepunkte

Der Stopp am Haltepunkt kann von den folgenden Bedingungen abhängen:

oZu diesem Zeitpunkt ist ein bestimmter Boolean-Ausdruck TRUE.

oWelche Zyklusnummer läuft.

oWelche Task ausgeführt wird.

oWann der Wert einer Variablen geändert wird (Datenhaltepunkt).

Das Deklarieren eines bestimmten Debug-Tasks kann verhindern, dass verschiedene Tasks von der Fehlerprüfung betroffen sind (siehe Haltepunkte und schrittweises Ausführen in Anwendungen mit multiplen Tasks (Abschnitt))

Ausführungspunkte

Im Online-Modus ermöglicht das DialogfeldHaltepunkte die Änderung eines Haltepunkts und Datenhaltepunkts, sodass dieser ein Ausführungspunkt wird. Das Programm stoppt dann nicht an dieser Position, sondern die Codeverarbeitung wird initiiert.

Symbole

Symbol

Beschreibung

G-SE-0027508.1.gif-high.gif

 

 

Haltepunkt aktiviert.

G-SE-0027507.1.gif-high.gif

 

 

Haltepunkt deaktiviert.

G-SE-0061272.1.gif-high.gif

 

 

Der Haltepunkt wurde auf eine andere Instanz des Funktionsbausteins gesetzt, der im Editor geöffnet ist.

G-SE-0027505.1.gif-high.gif

 

 

Stopp bei Haltepunkt.

G-SE-0061274.1.gif-high.gif

 

 

Bedingter Haltepunkt ist aktiviert.

G-SE-0061273.1.gif-high.gif

 

 

Bedingter Haltepunkt ist deaktiviert.

G-SE-0043248.1.gif-high.gif

 

 

Ausführungspunkt aktiviert.

G-SE-0043249.1.gif-high.gif

 

 

Ausführungspunkt deaktiviert.

G-SE-0061276.1.gif-high.gif

 

 

Bedingter Ausführungspunkt ist aktiviert.

G-SE-0061275.1.gif-high.gif

 

 

Bedingter Ausführungspunkt ist deaktiviert.

G-SE-0027506.1.gif-high.gif

 

 

Aktuelle Schrittposition.

Durch einen gelben Pfeil vor der entsprechenden Zeile und einem gelben Schatten hinter der betroffenen Operation angezeigt.

G-SE-0068752.1.gif-high.gif

 

 

Datenhaltepunkt ist aktiviert.

G-SE-0068751.1.gif-high.gif

 

 

Datenhaltepunkt ist deaktiviert.

G-SE-0068755.1.gif-high.gif

 

 

Stopp bei Datenhaltepunkt.

G-SE-0068754.1.gif-high.gif

 

 

Datenausführungspunkt ist aktiviert.

G-SE-0068753.1.gif-high.gif

 

 

Datenausführungspunkt ist deaktiviert.

G-SE-0068756.1.gif-high.gif

 

 

Stopp bei Datenausführungspunkt.

G-SE-0068750.1.gif-high.gif

 

 

Bedingter Datenausführungspunkt ist aktiviert.

G-SE-0068749.1.gif-high.gif

 

 

Bedingter Datenhaltepunkt ist aktiviert.

Schrittweises Ausführen des Programms

Die Einzelschrittausführung ermöglicht das kontrollierte Ausführen eines Anwendungsprogramm für Debugging-Zwecke. Bevor Sie Einzelschrittbefehle verwenden können, muss das Programm an einem vorgegebenen Programmschritt, beispielsweise beim Einstellen eines Haltepunkts, angehalten werden. Im Wesentlichen werden Anweisungen dabei schrittweise ausgeführt: per Einzelschritt, Prozedurschritt oder Ausführen bis Rücksprung. Im Kapitel Haltepunktbezogene Befehle finden Sie Erläuterungen zu den Einzelschrittbefehlen.

EcoStruxure Machine Expert bietet die folgenden Einzelschrittfunktionen:

oEinzelschritt Befehl: Ausführung eines einzelnen Schritts; dies gilt auch für die POUs, die in einem Schritt aufgerufen werden.

oProzedurschritt Befehl: Ausführung eines einzelnen Schritts; die POUs werden komplett innerhalb eines Schritts ausgeführt.

oAusführen bis Rücksprung Befehl: Wenn das Anwendungsprogramm keine Aufrufe enthält, springt das Programm mithilfe dieses Befehls zurück zum Start der Anwendung.

oAusführen bis Cursor Befehl: Ausführung des Programms bis zu einer temporär definierbaren Position.

oNächste Anweisung festlegen Befehl: Definition der nächsten auszuführenden Anweisung.

oNächste Anweisung anzeigen Befehl: Sprung zu der Anweisung, die im nächsten Schritt ausgeführt werden soll.

oAufrufliste Ansicht: Diese Ansicht zeigt die aktuell erreichte Schrittposition mit ihrem kompletten Aufrufpfad.

Die möglichen Stopp-Positionen bei der schrittweisen Ausführung eines Anwendungsprogramms sind vom Editor-Typ abhängig. Die aktuelle Position ist mit einem gelben Pfeil gekennzeichnet.

Die Ansicht Aufrufbaum zeigt die Position des Funktionsbausteins im Aufrufbaum des Anwendungsprogramms, noch bevor die Anwendung kompiliert wird.

Beispiel für eine Einzelschrittoperation

Ab dem Haltepunkt können Sie jede einzelne Befehlszeile mit dem Einzelschrittbefehl ausführen.

Einzelschritt, Beispiel

G-SE-0027225.1.gif-high.gif

 

 

Datenhaltepunkte

Datenhaltepunkte ermöglichen Ihnen den Stopp der Programmausführung bei der Änderung eines Variablenwerts.

Diese Funktion ist nicht für alle unterstützten Steuerungen verfügbar. Weitere Informationen finden Sie im Programmierhandbuch Ihrer Steuerung..

Die Anzahl der Datenhaltepunkte, die Sie festlegen können, ist von der Anzahl der in der verwendeten Steuerung verfügbaren Register abhängig. Wenn Sie versuchen, einen Datenhal­tepunkt festzulegen, obwohl die maximal zulässige Anzahl bereits erreicht wurde, wird eine entsprechende Meldung ausgegeben.

Für Datenhaltepunkte stehen wie für herkömmliche Haltepunkte folgende Optionen zur Verfügung:

oVerknüpfung des Stopps am Datenhaltepunkt mit einer zusätzlichen Bedingung (siehe Bedingte Haltepunkte.

oNeudefinition eines Datenhaltepunkts als Datenausführungspunkt, an dem das Programm nicht stoppt, sondern spezifischen Code verarbeitet (siehe Ausführungspunkte).

Haltepunkte und Einzelschrittausführung in Anwendungen mit mehreren Tasks

Es kann nicht für mehrere Tasks gleichzeitig ein Debugging durchgeführt werden. Während Sie mit einer Tasks mit Haltepunkten oder Einzelschrittausführung arbeiten, werden die Haltepunkte in anderen Tasks ignoriert.

Wenn ein Haltepunkt von mehreren Tasks erreicht werden kann, da die POU von mehreren Tasks verwendet wird, wird nur die zuerst ausgeführte Task angehalten. Berücksichtigen Sie dies bei der Einzelschrittausführung oder beim Fortsetzen des Debugging nach einem Halt. Wenn nur eine bestimmte Task (Debug-Task) betroffen sein soll, können Sie dies in den Eigenschaften der Haltepunktbedingung angeben (Dialogfeld Haltepunkte > Neuer Haltepunkt, Registerkarte Bedingung).

Ablaufsteuerung für das Anzeigen exakter Werte bei der Verarbeitung

Sie können die Ablaufsteuerung aktivieren, um Teile der Anwendung, die bereits abgelaufen sind, nachzuverfolgen. Im Gegensatz zur Standardüberwachung, die nur den Variablenwert zwischen zwei Zyklen anzeigt, enthält die Ablaufsteuerung den Wert für jeden Verarbeitungsschritt zum Zeitpunkt seiner Wiedergabe. Siehe die Beschreibung zur Ablaufsteuerung in der Onlinehilfe zu Menübefehlen.

Variablenwerte beim Ausführungsstopp

Bei jedem Ausführungsstopp zeigt EcoStruxure Machine Expert die Variablenwerte des aktuellen Zyklus (Überwachung) an. Um die aktuelle Position zu bestimmen, können Sie die Aufrufrei­henfolge als Variable wiedergeben. Siehe die Beschreibung zur Aufrufreihenfolge in der Onlinehilfe zu Menübefehlen.