Debugging und Online-Eigenschaften in CoDeSys
Das IEC 61131-3 Programmiersystem CoDeSys unterstützt Sie nicht nur beim Programmieren Ihrer
Steuerungsapplikation. Gerade für Fehlersuche (Debugging) und Inbetriebnahme, die meist einen
Großteil der Projekt- und Engineeringarbeit ausmachen, bietet Ihnen diese Automatisierungssoftware
viele hilfreiche Funktionen.
Sobald Sie sich auf der Steuerung einloggen, befinden Sie sich
im Online-Modus, in dem Ihnen alle unten beschriebenen Möglichkeiten zur Verfügung
stehen.
Monitoring / Schreiben / Zwangsschreiben von
Variablen
Zwangssetzen von Variablenwerten (Forcen)
Watch-Fenster
Haltepunkte (Breakpoints)
Sampling
Trace
Querverweis-Liste
Online Change
Hilfs- und Diagnose-Dienste auf
dem Gerät
Projekt vergleichen
Meldungsfenster
Simulation
Weitere Diagnose-Informationen
Download von Quellcode
Boot-Projekt
Visualisierung
Monitoring / Schreiben / Zwangsschreiben von Variablen
Im Online-Modus wird aus dem Deklarationsteil des geöffneten Editors sofort ein so genanntes
Watch-Fenster. Das bedeutet, dass die tatsächlichen Werte auf Ihrer Steuerung dargestellt werden,
ohne dass Sie die Variablen vorher für die Überwachung definieren müssen. Sie können die Werte im
Deklarationsteil sofort für eine Änderung vorbereiten, indem Sie den neuen Wert in die Spalte
„Vorbereiteter Wert“ eintragen. Bei booleschen Variablen genügt sogar ein Klick in diese Spalte, um
den Wert auf TRUE bzw. FALSE zu toggeln. Um die gleichzeitige Änderung mehrerer Variablen zu
ermöglichen, werden die neuen Werte nicht unmittelbar heruntergeladen - Sie müssen vielmehr den
Befehl „Online/Werte schreiben“ ausführen, oder Sie verwenden einfach den Hotkey STRG + F7.
Natürlich können Sie bereits vorbereitete Werte auch ändern, dazu öffnet sich dann ein einfaches
Dialog-Fenster.
Die verwendeten Variablen werden im Online-Modus auch im Quellcode der
Applikation sofort dargestellt, und zwar gleichgültig, ob es sich um einen grafischen oder
textuellen Editor handelt, in dem Sie programmiert haben.

Im Deklarationsteil bzw. dem automatisch erzeugten Watch-Fenster werden auch
strukturierte Daten komplett angezeigt, d.h. Sie können die Strukturen aufklappen und die Werte
innerhalb der Struktur überwachen, z.B. in Daten-Strukturen, Arrays, Funktionsblock-Instanzen,
Pointer auf Daten etc.
Zwangssetzen von Variablenwerten (Forcen)
Statt einen Wert nur einmalig auf die Steuerung zu schreiben, können Sie mit dem Befehl
„Online/Werte forcen“ bzw. dem Hotkey F7 veranlassen, dass CoDeSys den Wert bei jedem neuen
Steuerungszyklus auf die Steuerung schreibt. Diese Debugging-Methode nennt man 'Variablen Forcen'
bzw ‚Zwangssetzen‘. Sobald die Variablen einmal zwangsgesetzt sind, können sie alle auf einmal mit
dem entsprechenden Befehl oder mit dem „Online/Schreiben/Forcen-Dialog“ freigegeben
werden.
Welche Variablen zwangsgesetzt sind, können Sie sowohl im Watch-Fenster
(Deklarationsteil), als auch direkt im Code sofort erkennen.
Natürlich kann ein bereits geforcter Wert auch für eine Wertänderung vorbereitet werden,
so dass Sie dann eine Kombination aus beiden Anzeigen dargestellt bekommen. Dazu öffnet sich wieder
das entsprechende Dialog-Fenster.

Bei umfangreichen Inbetriebnahmen oder Applikationstests kann man schon einmal den
Überblick verlieren, in welchen Programmbausteinen Variablen geforct wurden. Diesen Überblick
können Sie ganz leicht wieder zurückgewinnen, wenn Sie mit „Ansicht/Überwachen/Alle Forces
betrachten“ das entsprechende Fenster öffnen.
Damit Sie bei umfangreicheren Tests und Inbetriebnahmen die geforcten Variablen nicht
immer wieder neu anlegen müssen, bleiben diese auch beim Ausloggen und neuerlichen Einloggen
geforct. Andersherum können Sie auch alle geforcten Werte im Fenster „Alle Forces betrachten“ mit
einem einzigen Kommando wieder aufheben. Dabei haben Sie die Wahl, ob der aktuelle Wert der
geforcten Variable erhalten bleibt oder CoDeSys den bzw. die ursprünglichen Werte wieder herstellt.
Watch-Fenster
Auch wenn im Online-Modus aus dem Deklarationsteil automatisch ein Watch-Fenster wird, ist es für
Sie sinnvoll, sich auch eigene Watch-Fenster und -Listen definieren zu können. Im Unterschied zum
automatisch angelegten Watch-Fenster auf Basis der Variablen-Deklaration eines Bausteins können Sie
sich hier Variablen aus beliebigen Bausteinen einer Applikation, aber auch aus beliebigen
Applikationen und sogar beliebigen Geräten innerhalb eines Projekts zusammenstellen. Insbesondere
bei Test und Inbetriebnahme haben Sie somit in einem einzigen Fenster den Überblick über alle
relevanten Variablen Ihrer Maschine oder Anlage. Bei der Darstellung von numerischen Werten können
Sie zwischen Dezimal-, Hexadezimal- und Binäranzeige umschalten. Die Option befindet sich im
Kontext-Menü des Watch-Fensters, ist aber natürlich auch über „Online/Darstellung“ zu
erreichen.
Haltepunkte (Breakpoints)
Mit CoDeSys können Sie Haltepunkte in Ihrer Applikation setzen, ohne dass Sie dafür eine
zusätzliche Software (wie z.B. Debugger, Emulator) benötigen. Das heißt, dass der in Echtzeit
durchlaufene Applikationscode genau an der Stelle anhält, an dem Sie solch einen Haltepunkt gesetzt
haben.
Die Verwaltung der Haltepunkte können Sie in einem eigenen Fenster innerhalb der
CoDeSys-Oberfläche vornehmen, das Sie sich mit „Ansicht/Haltepunkte“ aufschalten können.
Typischerweise wird man dieses Fenster zusammen mit den Fenstern „Überwachen“ und „Alle Forces
betrachten“ unten in der Oberfläche positionieren, und zwar als Registerkarte in das
Meldungsfenster.
Zum Setzen, Aktivieren/Deaktivieren und Löschen von einem oder mehreren Haltepunkten
gleichzeitig finden Sie in diesem Fenster entsprechende Funktionsbuttons. Sie können die
Haltepunkte auch speziell konfigurieren, sie beispielsweise einem speziellen Instanzpfad oder einer
Task zuweisen oder Bedingungen für das Halten anlegen. Wenn Sie einen Haltepunkt angewählt und
damit markiert haben, können Sie vom Fenster aus direkt zum Quellcode des Haltepunkts
springen.
Wenn Sie im Quellcode einen Haltepunkt anlegen möchten, so können Sie das auch
über das Menü „Online/Neuer Haltepunkt“ oder mit dem Hotkey F9 veranlassen.
Die Haltepunkte
bleiben auch nach dem Ausloggen aus der Steuerung erhalten, so dass Sie beim neuerlichen Einloggen
sofort alle oder einzelne Haltepunkte wieder aktivieren können.
Steht die Applikation einmal
an einem Haltepunkt, können Sie diese natürlich wieder komplett starten. Darüber hinaus können Sie
die Applikation zeilen- bzw. netzwerkweise abarbeiten („Online/Einzelschritt“ bzw.
„Online/Prozedurschritt“). Oder aber Sie markieren eine Programmzeile bzw ein Netzwerk und führen
Ihre Applikation bis dorthin aus. Benutzen Sie dazu den Befehl „Online/Ausführen bis Cursor“. Dazu
müssen Sie keinen weiteren Haltepunkt anlegen.
Sampling Trace
Gerade beim Fehlersuchen und Inbetriebnehmen einer Maschine oder Anlage muss man oft auch den
Verlauf eines Variablenwerts berücksichtigen. Mit dem Sampling Trace hat CoDeSys eine Art
integriertes digitales Speicher-Oszilloskop (DSO) bzw. einen Logik-Analyzer auf Variablen-Ebene
integriert. Das heißt, dass CoDeSys in verschiedenen Kanälen die Variablen der Applikation abtasten
(„samplen“) und die gemessenen Werte dann in einen Ringpuffer abspeichern kann. Als Anwender können
Sie dabei die Konfiguration frei vornehmen: Kanäle und deren Zuordnung zu den Tasks der
Applikation, die Triggerung (z.B. auf eine positive oder negative Flanke), die Position der
Aufzeichnung innerhalb des Ringpuffers (um die Aufzeichnung des Werte-Verlaufs vor und nach dem
Trigger-Ereignis festzulegen), die Puffer-Größe und natürlich die Trigger-Variable sowie das
zugehörige Ereignis. Und pro Kanal können Sie dann die zu sampelnden Variablen und deren
Erscheinungsbild im Trace-Fenster definieren.
Haben Sie die Trace-Konfiguration vorgenommen, so können Sie diese Konfiguration auf die
Steuerung laden und dort ausführen lassen. Das heißt, dass die Aufzeichnung nach erfolgter
Konfiguration vollkommen autark auf dem Gerät erfolgt, ohne dass Sie dazu ständig mit dem
Programmiersystem eine Online-Verbindung halten müssen. Ist das Trigger-Ereignis eingetreten, so
hält die Aufzeichnung an, und Sie können beim nächsten Einloggen bequem die Werte um das
Trigger-Ereignis betrachten. Diese Funktion ist insbesondere für das Eingrenzen und Finden
sporadischer Fehler sehr hilfreich.
Selbstverständlich bietet es sich bei Test und
Inbetriebnahme auch an, die Variablenwerte sofort zu überwachen, um den Verlauf zu kontrollieren.
Dafür können Sie im Trace-Fenster alle oder auch nur einzelne der definierten Kanäle anzeigen
lassen, die Anzeigen scrollen, skalieren etc. Nachdem die aufgezeichneten Werte numerisch zur
Verfügung stehen, kann man diese auch abspeichern und in anderen Tools, wie z.B. MS Excel,
weiterverarbeiten.
Querverweis-Liste
Mit „Ansicht/Querverweisliste“ können Sie sich die Querverweisliste als eigenes Fenster öffnen. In
diesem Fenster können Sie nach Variablen innerhalb des Projekts suchen und sich deren IEC-Adresse,
Datentyp sowie Verwendungsstellen und -arten anzeigen lassen.
Die geöffnete Querverweisliste zeigt alle Variablen an, die Sie im Quelltext anwählen.
Wenn Sie auf die Fundstellen im Fenster doppelklicken, wird der zugehörige Quelltext angezeigt. Sie
können sämtliche Fundstellen per Button in das Meldungsfenster kopieren und dort weiterverarbeiten,
oder die Querverweisliste direkt ausdrucken.
Online Change
Haben Sie bereits einmalig einen Programm-Download durchgeführt, so können Sie Änderungen an dem
ablaufenden Code durchführen, ohne dass die Steuerung angehalten wird. Diese Eigenschaft nennt sich
Online Change.
Damit Sie den ablaufenden Code ändern können, müssen Sie sich zunächst ausloggen. Wenn
Sie sich nach erfolgter Änderung des Quellcodes dann wieder auf dieselbe Steuerung einloggen, fragt
Sie CoDeSys zunächst, wie Sie sich auf die Steuerung einloggen möchten. Wenn Sie „Mit Online Change
einloggen“ auswählen, dann werden alle Änderungen übersetzt und nur diese auf die Steuerung
geladen. Dabei sind auch Änderungen an mehreren Bausteinen sowie an Variablen und Datentypen
möglich, ohne dass die Steuerung angehalten wird oder Variablenwerte verloren gehen.
Natürlich
können Sie auch einen kompletten Download durchführen oder sich ganz ohne Berücksichtigung der
Änderungen auf der Steuerung einloggen.
Hilfs- und Diagnose-Dienste auf dem Gerät
Über den Gateway-Dialog haben Sie Zugriff auf eine Reihe von Hilfs- und Diagnosediensten auf der
Steuerung. Sie erreichen diesen Dialog durch einen Doppelklick auf das entsprechende Gerät im
Gerätebaum, z.B. auf PLCWinNT (CoDeSys SP WinV3) im Beispiel.
Im Gateway-Dialog öffnet sich die Registerkarte für die Kommunikationseinstellungen, in
der Sie das Netzwerk nach den verfügbaren CoDeSys-Steuerungen durchsuchen können. Wählen Sie den
gewünschten Teilnehmer aus und setzen Sie den aktiven Pfad darauf.
Sobald die Verbindung zum Gerät aufgebaut ist, haben Sie über die weiteren Registerkarten
des Gateway-Dialogs die Möglichkeit, Hilfs- und Diagnosefunktionen abzurufen. In der Registerkarte
„Applikationen“ können Sie sich z.B. die derzeit auf dem Gerät verfügbaren, sprich
heruntergeladenen Applikationen anzeigen lassen und diese verwalten.
Weitere verfügbare Dienste: Ablegen und Verwalten von Dateien auf der Steuerung, Anzeige
der aufgezeichneten Systemmeldungen vom Laufzeitsystem der Steuerung, SPS-Einstellungen, Festlegung
von Benutzer und Benutzergruppen sowie von Zugriffsrechten, Anzeigen von Statusmeldungen und
Informationen über die Steuerung.


Projekt vergleichen
Ob im Online- oder im Offline-Betrieb: In CoDeSys können Sie das aktuell geöffnete Projekt
komfortabel mit einem Projekt auf der Festplatte vergleichen. Dabei werden zunächst im Objektbaum
alle veränderten Projekte bzw. Veränderungen in der Projektstruktur gegenübergestellt. 
Mit Klick auf ein geändertes Objekt können Sie es öffnen und sich die
Unterschiede im Quellcode anzeigen lassen. Per Mausklick können Sie einzelne Passagen oder auch
ganze Blöcke vom Projekt auf der Festplatte in Ihr aktuelles Projekt übernehmen.
Meldungsfenster
Treten beim Übersetzen der Applikation in den Maschinencode der Steuerung Fehler auf, so meldet
CoDeSys dies im Meldungsfenster. Auch Warnungen und Systemmeldungen, z.B. ausgehend vom Linken und
Downloaden der Applikation, werden hier angezeigt. Sie können die angezeigten Meldungen auf Fehler,
Warnungen und Systemmeldungen filtern.
Mit der F4-Taste können Sie die Liste der auftretenden Fehler (optional auch Warnungen)
von oben nach unten abarbeiten. Dabei wird auch sofort die Fundstelle des Fehlers im Quellcode
angezeigt.
Darüber hinaus zeigt CoDeSys bereits während des Editierens des Quellcodes Fehler
und Warnungen unterhalb der Meldungen an.
Simulation
Zum Testen des Codes ohne angeschlossene Steuerung enthält CoDeSys einen Simulationsbetrieb für den
Online-Modus. Zum Aktivieren der Simulation müssen Sie lediglich die Option „Online/Simulation“
aktivieren.
In
der Fußzeile des Programmiersystems wird Ihnen rot angezeigt, dass CoDeSys sich im Simulationsmodus
befindet. Gerade zum Testen von geräteunabhängigem Applikationscode bietet es sich an, mit der
Simulation zu arbeiten.
Weitere Diagnose-Informationen
In der Fußleiste und im Objektbaum werden Ihnen Statusmeldungen im Online-Betrieb angezeigt.
Beispielsweise sehen Sie einen roten Hinweis dargestellt, wenn die Steuerung im Stopp ist und
einen grünen, wenn Sie läuft. Darüber hinaus können Sie in der Fußleiste erkennen, ob ein Programm
geladen ist und ob es verändert wurde.
Geräte, die Sie im Gerätebaum eingebunden haben,
zeigen im Online-Modus ihren Status an. Dies geschieht durch eine grüne Markierung des Geräts, aber
auch der laufenden Applikation(en). Sind Feldbus-Geräte eingebunden, so zeigt ein Piktogramm vor
dem Gerät dessen Status an. Somit haben Sie erste Diagnose-Informationen über Ihre Geräte sofort im
Blick.
Download von Quellcode
CoDeSys übersetzt den von Ihnen erstellten Quellcode in nativen Maschinencode. Damit ist dieser
Binärcode nicht mehr rückübersetzbar.
Für eine Reihe von Anwendungen ist es sinnvoll, den
Binärcode sowie den Quellcode auf der Steuerung zu haben, um bei Wartungseinsätzen sofort auf den
richtigen Quellcode zugreifen zu können. CoDeSys unterstützt diese Anforderung, sofern vom Gerät
entsprechende Ressourcen bereitgestellt werden. Mit „Online/Quellcode auf die verbundene Steuerung
schreiben“ können Sie einen Sourcecode-Download sofort durchführen. Im Menü „Datei“ steht Ihnen
dasselbe Kommando zur Verfügung, wobei Sie sogar auswählen können, auf welche Steuerung im Netzwerk
der Quellcode-Download erfolgen soll. Natürlich können Sie den heruntergeladenen Quellcode auch
wieder öffnen, das entsprechende Kommando finden Sie ebenfalls im Menü „Datei“.
Boot-Projekt
Wenn Sie einen Programm-Download des übersetzten Applikationscodes durchführen, wird dieser normalerweise in den Arbeitsspeicher (RAM) der Steuerung geladen. Somit stehen Ihnen alle beschriebenen Online- und Debugging-Möglichkeiten zur Verfügung. Damit die Steuerung nach dem Einschalten diese Applikation automatisch lädt und ausführt, können Sie mit dem Kommando „Online/Bootapplikation erzeugen“ diesen Code im Flash-Speicher der Steuerung so ablegen, dass dieser nach dem Starten der Steuerung in den Arbeitsspeicher geladen und automatisch gestartet wird.
Visualisierung
Hilfreich bei der Fehlersuche und Diagnose der Applikation ist auch die in CoDeSys integrierte
Visualisierung. Damit können Sie sich ganz einfach z.B. numerische Werte in Balkendiagrammen
darstellen lassen, Zustände mit Farbwechseln anzeigen oder sogar Bitmaps verwenden, um verschiedene
Variablenwerte oder Zustände der Steuerung grafisch sofort kenntlich zu machen.
Der große
Vorteil der integrierten Visualisierung: Sie können sich die erzeugten Masken für Test und
Inbetriebnahme sofort innerhalb von CoDeSys anzeigen lassen, ohne dazu ein zusätzliches Tool zu
verwenden. Bei einer großen Anzahl von Geräten können Sie diese Masken aber auch als Basis für die
Visualisierung der Maschine oder Anlage verwenden: Mit den optionalen Produkten CoDeSys HMI,
CoDeSys TargetView und CoDeSys WebView stehen Ihnen drei unterschiedliche Ablaufvarianten zur
Verfügung.
Was suchen sie?
Produktübersicht



