SELENIS · Case Study OSB

Virtual-Terminal-GUI-Framework & Embedded-Target-Integration

Objektorientierte GUI-basierte Entwicklung für ISO 11783 / ISOBUS-Traktorterminals

Branche: Agrartechnik / Embedded Systems  ·  Projektkontext: OSB AG  ·  Rolle: Softwareentwickler, C++ / Embedded GUI

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.