Debuggen

TwinCAT C++ bietet verschiedene Mechanismen für das Debuggen der unter Echtzeitbedingungen laufenden TwinCAT C++ Module.
Die meisten von ihnen entsprechen denjenigen, die von der normalen C++ Entwicklungsumgebung bekannt sind. Die Automatisierungswelt benötigt zusätzliche, leicht abweichende Debugging-Mechanismen, die hier dokumentiert sind.

Zusätzlich gibt es eine Übersicht der Visual Studio Werkzeuge, welche in TwinCAT 3 genutzt werden können. Diese wurden erweitert, sodass Daten aus dem Zielsystem angezeigt werden.

Das Debugging muss freigegeben sein.

Dies konfigurieren Sie über den C++ Knoten der Solution:

1. Doppelklicken Sie auf den C++ Knoten und wechseln Sie zum C++ Debugger-Reiter, um auf das Prüfkästchen zuzugreifen.
Debuggen 1:
2. Für jegliches Debuggen in TwinCAT C++ verbinden Sie das TwinCAT Engineering mit dem Laufzeitsystem (XAR) über die TwinCAT Debugger-Schaltfläche.
3. Debuggen 2:

Haltepunkte und schrittweise Ausführung

In den meisten Fällen werden beim Debuggen eines C++ Programms Haltepunkte festgelegt und dann der Code schrittweise abgearbeitet, wobei die Variablen, Zeiger, usw. beobachtet werden.

TwinCAT bietet im Rahmen der Visual Studio Debugging Umgebung Möglichkeiten, um einen in Echtzeit ausgeführten Code schrittweise abzuarbeiten. Zum Festlegen eines Haltepunkts kann man durch den Code navigieren und entweder auf die graue Spalte links neben dem Code klicken oder den Hotkey (normalerweise F9) benutzen.

WARNUNG

Anlagen- und Personenschäden durch unerwartetes Verhalten der Maschine / Anlage

Haltepunkte verändern das Verhalten der Maschine bzw. Anlage. Abhängig von der gesteuerten Maschine können Schäden an Maschine und Werkstücken entstehen oder Gesundheit und Leben von Personen gefährdet werden.

Stellen Sie sicher, dass das veränderte Verhalten des gesteuerten Systems keine Schäden verursacht und beachten Sie unbedingt die Anlagendokumentation.

Debuggen 3:

Beim Erreichen des Haltepunkts (wird mit Pfeil angezeigt) wird die Ausführung des Codes angehalten.

Debuggen 4:

Durch Drücken auf Step Over (Debug-Menü, Toolbar oder Hotkey F10) wird der Code schrittweise ausgeführt. Auch stehen die von Visual Studio bekannten Step in (F11) und Step out (Shift+F11) zur Verfügung.

Bedingte Haltepunkte

Eine fortschrittlichere Technologie erlaubt das Setzen von bedingten Haltepunkten - die Ausführung des Codes auf Höhe eines Haltepunktes wird nur dann angehalten, wenn eine Bedingung erfüllt ist.

TwinCAT bietet die Implementierung eines bedingten Haltepunktes als Teil der Visual Studio Integration. Zum Festlegen einer Bedingung, setzen Sie zunächst einen normalen Haltepunkt und klicken anschließend mit der rechten Maustaste auf den roten Punkt in der Haltepunkt-Spalte.

WARNUNG

Anlagen- und Personenschäden durch unerwartetes Verhalten der Maschine / Anlage

Haltepunkte verändern das Verhalten der Maschine bzw. Anlage. Abhängig von der gesteuerten Maschine können Schäden an Maschine und Werkstücken entstehen oder Gesundheit und Leben von Personen gefährdet werden.

Stellen Sie sicher, dass das veränderte Verhalten des gesteuerten Systems keine Schäden verursacht und beachten Sie unbedingt die Anlagendokumentation.

Debuggen 5:

Wählen Sie Condition… um das Bedingungsfenster zu öffnen:

Debuggen 6:

Einzelheiten zu den Bedingungen und wie diese zu formulieren sind, finden Sie hier.

Live Watch

Bei dem Engineering und der Entwicklung von Maschinen ist es nicht immer ratsam, das System über einen Haltepunkt anzuhalten, weil dies sich auf das Verhalten auswirken wird.
Die TwinCAT-SPS-Projekte bieten eine online-Ansicht und -Handhabung der Variablen im RUN-Zustand, ohne die Echtzeit unterbrechen zu müssen.

TwinCAT C++ Projekte bieten ein ähnliches Verhalten für C++ Code über das Live Watch-Fenster.

Das Live Watch-Fenster kann über Debug->Windows->TwinCAT Live Watch geöffnet werden.
Um das Fenster zu öffnen, stellen Sie zunächst eine Verbindung mit dem Echtzeitsystem her (drücken der TwinCAT Debugger-Schaltfläche), woraufhin Visual Studio zur Debug-Ansicht wechselt, ansonsten können keine Daten bereitgestellt werden.

Debuggen 7:

Das TwinCAT Live Watch Fenster ist in zwei Bereiche unterteilt.

Im oberen Bereich können alle Member-Variablen erkundet werden. Durch Doppelklick auf diesen, werden sie dem unteren Bereich hinzugefügt, wo dann der aktuelle Wert angezeigt wird.

Sie können diese Werte durch Klicken auf den Wert im Value-Feld bearbeiten. Der neue Wert wird rot markiert. Um den Wert nun zu schreiben, drücken Sie auf das Symbol oben links (1).

Mithilfe der Import- und Export-Symbole unter (2) können die selektierten Member-Variablen abgespeichert und später wiederhergestellt werden.