Virtual-Terminal-GUI-Framework & Embedded-Target-Integration
Objektorientierte GUI-basierte Entwicklung für ISO 11783 / ISOBUS-Traktorterminals
1) Projektkontext
In diesem Projekt ging es um die Erweiterung eines objektorientierten VTServer-/VTClient-Softwaresystems, das das Konzept des ISO 11783 Virtual Terminal umsetzt. Die Software wurde bei Traktoren als Bedien- und Anzeigeterminal zur Steuerung verteilter Embedded-Systeme eingesetzt.
Die Aufgabe verband Embedded-Target-Software, Desktop-GUI-Tooling, CAN-basierte Kommunikation, XML-Persistenz sowie einen grafischen Editor zur Definition und zum Testen von Virtual-Terminal-Masken.
Einfach gesagt: Mit dem System konnten grafische Bedienmasken für Traktorterminals erstellt, bearbeitet, gespeichert, getestet und zwischen einem PC-basierten Tool und Embedded-Target-Hardware verwendet werden.
2) Die Herausforderung
Das bestehende VTServer-/VTClient-System musste gleichzeitig auf mehreren Ebenen erweitert werden:
- Unterstützung einer Embedded-Target-Hardware auf Basis von Infineon C167
- Erweiterung des VTServers für einen grafischen VT-GUI-Editor
- Integration neuer Maskenkomponenten und Bedienelemente
- Synchronisierung zwischen Editor-Datenmodellen, Tree Views und grafischen Views
- Target-spezifische Darstellung und Bedienlogik auf dem Traktorterminal-Display
- Test und Debugging auf realer Embedded-Target-Hardware
3) Architektonische Kernidee
Die Software folgte einer objektorientierten Document/View-Architektur in C++. GUI-Editor, Datenmodell, Target-Repräsentation und Embedded-Kommunikationslogik mussten synchron bleiben und gleichzeitig unterschiedliche Laufzeitumgebungen unterstützen.
Leitprinzip: ein strukturiertes Modell · mehrere grafische Views · target-spezifische Ausführung.
4) Hauptaufgaben
- Erweiterung des VTServers für die Embedded-Target-Plattform Infineon C167
- Erweiterung des VTServers für den VT-GUI-Editor
- Implementierung von Mechanismen zum Einfügen von Maskenkomponenten und Bedienelementen in die VTServer-Logik und View-Schicht
- Aktualisierung von Dokumentkomponenten, VTServer-View-Elementen und wxWidgets-basierten GUI-Komponenten
- Anpassung des VTServers mit Tasking EDE, um die Lauffähigkeit auf dem Target zu erreichen
- Implementierung target-spezifischer View-Layer-Funktionalität einschließlich Fokusbehandlung, Aktivierung und Zugriff auf das Target Interface
5) GUI-basierte Maskenentwicklung
Ein wesentlicher Teil der Arbeit war die Weiterentwicklung grafischer Werkzeuge für Virtual-Terminal-Masken. Das System unterstützte Bearbeitung, Validierung, Navigation und Persistenz komplexer Maskenstrukturen.
- Generische Mechanismen zum Speichern und Laden von VTClient-Masken-Steuerelementen im XML-Format
- Schnittstellen zur Synchronisierung der Selektion zwischen Masken-Steuerelementen und neuen Fensterkomponenten
- Grafische Komponenten auf Basis von wxWidgets 2.6 – 2.8 zur Darstellung und Bearbeitung von Masken
- Tree-Control-Fenster zur Navigation zwischen Steuerelementen und mehreren Datenmasken
- Property-Grid-Control zur Darstellung, Eingabe und Validierung von Maskenattributen
- Menüs und Toolbars für Load/Save-Operationen sowie Import-/Export-Workflows
6) Embedded-Target-Integration
Das Projekt war nicht auf Desktop-Tooling beschränkt. Die grafischen Konzepte mussten auf reale Embedded-Hardware abgebildet werden.
- Implementierung von Target Interfaces mit Zugriff auf Low-Level-Hardware-/BIOS-Primitives
- Darstellung grafischer Elemente auf dem Target-LCD-Display
- Implementierung einer Target-Instanz zur Überwachung von Ein- und Ausgängen sowie der Systemkonfiguration
- Portierung des Produktprototyps auf Windows OS für Entwicklung und Test
- Test der Software mit dem Lauterbach Debugger
7) Kommunikation & Testunterstützung
Zur Validierung des GUI-Editors und des Terminalverhaltens wurden auch VTClient-Komponenten entwickelt und als CAN Server zu Testzwecken eingesetzt. Dadurch konnten grafisches Maskenverhalten und Kommunikationsabläufe vor bzw. parallel zur Ausführung auf dem Embedded Target getestet werden.
8) Technologien & Methoden
- C++, objektorientiertes Design
- Document/View-Architekturmuster
- wxWidgets GUI-Framework
- ISO 11783 / ISOBUS Virtual-Terminal-Konzepte
- CAN-Kommunikation
- XML-Persistenz für Maskendaten
- Infineon C167 Embedded-Target-Plattform
- Tasking EDE, Lauterbach Debugger
9) Engineering Outcome
- Erweiterte GUI-basierte Toolchain für die Entwicklung von Virtual-Terminal-Masken
- Verbesserte Bearbeitung, Navigation, Validierung und Persistenz grafischer Terminalmasken
- Integration target-spezifischer Darstellungs- und Bedienlogik
- Unterstützung von Entwicklung und Test über PC-basiertes Tooling und Embedded-Target-Hardware hinweg
- Stärkung der Brücke zwischen grafischer Applikationsentwicklung und Embedded Machine Control
Dieses Projekt verband Desktop-GUI-Engineering mit Embedded-Target-Integration — eine Kombination, die später in meiner Arbeit an industrieller, automotiver und embedded Softwarearchitektur immer wieder eine zentrale Rolle spielte.