Unsere Standard-Bedienmodule ermöglichen eine einfache Ausstattung bestehender oder neu zu entwickelnder Geräte mit einer ergonomischen, graphischen Bedienoberfläche.
Ein Farb-TFT-LCD in Kombination mit einem resistivem oder kapazitivem Touchglas bietet dem Gerätebediener die Möglichkeit, die Anwendung intuitiv zu bedienen (weil das Display ein zentrales Element des Bedienmoduls ist, nennen wir das im folgenden oft auch "Displaymodul" oder einfach nur "Modul".)
Die Module lassen sich von fast jeder Hardware aus ansteuern. Auch leistungsschwächere 8-Bit-Microcontroller reichen dafür aus.
Steuerung der Module durch die Anwendung
Grundsätzlich funktioniert die Ansteuerung so:
- die Elektronik der Anwendung teilt dem Modul mit, was sie möchte (z. B. eine Variable anzeigen)
- das Bedienmodul führt diese Anforderung aus und sendet eine Antwort.
Deswegen bezeichnen wir im Zusammenhang mit der Kommunikation
- die Anwendungselektronik auch als "Controller". Sie stellt wie ein Kunde die Anforderungen und steuert die gesamte Anwendung
- und das Displaymodul als "Device". Dieses ist abhängig von den Informationen des Controllers und führt seine Anweisungen aus
Schematisch sieht das folgendermaßen aus:
Einfache Gestaltung der Benutzeroberfläche mit dem GUI‑Designer
Damit auf der Seite des Client nicht viel Entwicklungsaufwand für den Betrieb einer attraktiven Benutzeroberfläche erforderlich ist, haben wir dafür ein Werkzeug, den GUI‑Designer (siehe ) entwickelt. Damit kann die Benutzeroberfläche grafisch gestaltet werden. Der Client sendet dann einfach die relevanten Daten zu veränderlichen Variablen der Anwendung an das Displaymodul, wo sie automatisch angezeigt, und auch vom Bediener eingestellt und geändert werden können.
Der GUI‑Designer ermöglicht, das Design der Benutzeroberfläche ohne eigene Programmierung vorzunehmen und so eine logische Trennung von Gestaltung und der reinen Funktionalität zu erhalten. So kann man arbeitsteilig vorgehen und die Softwareentwickler werden entlastet. Entwicklungszeiten und -kosten werden dadurch reduziert.
Die zahlreichen Funktionen des GUI‑Designers, ausführliche Details und Anleitungen finden Sie hier:
Die Objekte, die mit dem GUI‑Designer erstellt werden, sind neben gestalterischen Elementen vor allem Repräsentationen von Variablen der Anwendung ("Systemvariablen"). Diese werden mit dem GUI‑Designer definiert, so dass es später ausreicht, wenn ihre Werte von der Anwendungselektronik übermittelt bzw. gelesen werden.
Deshalb kommt die Kommunikation der Anwendungselektronik mit dem Displaymodul mit einigen wenigen Funktionen aus, die der Übertragung der Werte der Systemvariablen dienen.
Für diese Kommunikations-Funktionen, die ja in der Anwendungselektronik benötigt werden, stellen wir eine fertige Bibliothek ("GUI-Master-LIB") in ANSI-C zur Verfügung, so dass die Implementation auf der Seite der Anwendungselektronik einfach ist.
Insgesamt ist die Verwendung des GUI‑Designers also die bevorzugte Methode, um mit geringem Aufwand eine attraktive Bedienoberfläche zu erstellen und in einer Anwendung zum Leben zu erwecken. Die Verwendung von Systemvariablen und ihr separate Definition und die Gestaltung ihrer Repräsentation im GUI‑Designer ist hier das zentrale zugrundliegende Konzept.
Interaktion über Grafikbefehle: Direktes Ansteuern des GUI-Interpreters
Die Firmware der Displaymodule heißt "GUI-Interpreter". Ihre Funktion besteht hautpsächlich darin, die Befehle des "Controllers" zu empfangen und auf dem Displaymodul auszuführen. Wenn man besondere Funktionen, wie z. B. eigene Typen von Grafikelementen implementieren möchte, stehen die zahlreichen Grafikfunktionen im GUI-Interpreter auch direkt zur Verfügung. Sie können auch unabhängig von den Funktionen des Systemvariablen-Konzepts verwendet werden.
Dies war auch der Ansatz, um komplette Anwendungen zu realisieren, bevor der GUI‑Designer verfügbar war. Es ist daher möglich, die Systemvariablen und den GUI‑Designer zu nutzen und zusätzlich die direkten Grafikfunktionen des GUI-Interpreters zu nutzen.
Die Gesamtzusammenhänge sind in folgender Abbildung schematisch dargestellt: