Wer programmiert, macht Fehler – nur mit viel Übung und Erfahrung gelingt es, ein (komplexeres) Programm auf Anhieb fehlerfrei zu schreiben. Zwar ist es immer empfehlenswert, erst nachzudenken und den Programmablauf auf Papier zu skizzieren, bevor man sich an die Tastatur setzt – dennoch ist es oft unvermeidlich, Fehler im Programm aufzustöbern (zu „debuggen“).
Grundsätzlich gibt es mehrere Methoden zur Fehlersuche, wie z. B.
- Anzeigen an der Benutzerschnittstelle vorsehen (Werte, Lämpchen, …)
- Ausgabe von Zwischenergebnissen (CSV-Datei, Datenliste, …)
- Setzen von „Breakpoints“, an denen das Programm anhält (z.B. Warten auf Tastendruck)
Diese Methoden werden oft durch Mechanismen der Entwicklungsumgebung unterstützt. ROBO Pro bietet drei wichtige Debugging-Funktionen im Online-Mode:
- den Interface-Monitor,
- die Anzeige von Variablenwerten und
- den Single-Step-Modus.
Der Interface-Monitor wird über das Menu-Icon „Interface testen“ gestartet (siehe auch Warum ROBO Pro eine tolle Entwicklungsumgebung ist (Teil 2: Koppelung, Simulator)).

In diesem Monitor können zur Laufzeit alle an den Eingängen eingestellten Sensortypen und anliegenden Werte abgelesen werden, ebenso die Einstellungen an den Motor- und Lampenausgängen sowie die Zählerstände – und das bei kaskadierten TX Controllern nicht nur vom Master, sondern auch von allen bis zu acht Slaves.
Die Inhalte aller (globalen) Variablen werden während des Programmablaufs angezeigt und müssen daher nicht separat ausgegeben werden; die Inhalte von Listenvariablen erhält man, wenn man während des Programmlaufs mit der rechten Maustaste auf die jeweilige Listenvariable klickt. Ist die Analyse der Zwischenwerte komplizierter, kann man die Daten auch in eine CSV-Datei auslagern und mit einem Tabellenkalkulationsprogramm auswerten (siehe auch Wieso ROBO Pro eine tolle Entwicklungsumgebung ist (Teil 3: Anzeige- und Steuerelemente)).
Der Single-Step-Modus ermöglicht eine komfortable Schritt-für-Schritt-Analyse des ROBO Pro-Programms: Ein Klick auf den gelben Pfeil mit Strich in der oberen Menuleiste führt einen einzelen Programmschritt aus. Wenn man kurz vor „kritischen“ Stellen im Programm, die man analysieren möchte, eine Tasterabfrage einbaut, kann man das Programm auch zunächst mit dem gelben Pfeil starten und, wenn es an der Tasterabfrage anhält, mit einem Klick auf das gelbe Pause-Symbol anhalten und erst dann die Single-Step-Analyse starten.
Manche Fehler, insbesondere Timing-Probleme, treten allerdings nur im Offline-Mode auf – und da helfen weder Interface-Monitor noch Variablenanzeige, und auch der Single-Step-Debugger funktioniert nicht. In solchen Fällen kommt man nur mit Breakpoints und der Ausgabe relevanter Daten auf dem TX-Display zum Ziel.
(Weiter zu Teil 7: Endliche Automaten)
kommentieren