Intelligente Displays Java VM statt Betriebssystem

Die intelligenten Displays von Demmel kommen ohne Betriebssystem aus. Da der Mikrocontroller, der die Anzeige steuert, noch Reserven hat, rüstet Demmel jetzt eine Java-VM auf, mit der das Display auch einfache Steuerungsaufgaben übernehmen kann.

Der ursprüngliche Gedanke von Firmengründer Herbert Demmel war, dass ein einfaches Display eigentlich nicht viel mehr können muss, als eine Anzeige auf den Bildschirm zu bringen – und dafür ist kein an der Rückseite angeschraubter Industrie-PC nötig. Es reicht auch ein einfacher Mikrocontroller mit etwas Speicher, eingebaut ins Display-Gehäuse. Dazu hat Demmel eine kompakte Firmware entwickelt, die die vorab entworfenen Inhalte auf die Bildfläche projiziert. Der Mikrocontroller leistet also nicht viel mehr, als die im Flash-Speicher vorhandenen Bildinhalte in den Bildspeicher zu schieben. Die eigentliche Intelligenz steckt in der Entwicklungsumgebung: Sie heißt iLCD-Manager und wird von den Kunden kostenlos heruntergeladen. Hier entwirft der Entwickler die Anzeigeinhalte, wählt Schriften, Farben und Formen aus, speichert die Seiten und überträgt sie aufs Display. So lange keine aufwändigen Animationen oder Videos gezeigt werden, ist dies eine sehr effiziente Lösung.

Ganz so statisch, wie es sich anhört, müssen die Display-Inhalte aber nicht sein. Die Demmel-Displays können z.B. animierte GIFs darstellen und die Entwicklungsumgebung verfügt über eine Script-Sprache mit ca. 200 Befehlen, die steuern, wie die Inhalte auf dem Display dargestellt werden. Auf dem Display-Mikrocontroller läuft ein Script-Interpreter, sodass mit einfachen Mitteln schon recht komplexe Abfolgen möglich sind – etwa die animierte Darstellung des Stockwerkwechsels in einem Aufzug oder an- und abschwellende Balken einer gemessenen physikalischen Größe.

Das Display als Steuerung

Doch mit den Möglichkeiten wächst auch die Wunschliste der Anwender. Und ein Wunsch ist offenbar, auch eigene Programme auf dem Display-Con¬troller ablaufen zu lassen. Denn das Display verfügt über mehrere I/O-Kanäle, als da sind: USB, serielle Schnittstelle, I2C, TCP/IP und SPI. „Diese Eingänge konnten wir auch bisher schon abfragen, um eine physikalische Größe anzuzeigen“, sagt Herbert Demmel. Dann ist es nur noch ein kleiner Schritt zu einer Steuerfunktion. Oft sind es ganz einfache Dinge, die zu erledigen sind: etwa die Abfrage eines Temperatursensors und das Abstellen der Heizung, wenn die Solltemperatur erreicht ist. Es geht also darum, ein paar Speicherwerte auszulesen, ein bisschen IF, THEN, ELSE ... und fertig ist die Heizungssteuerung mit dem Display.

„Wir können natürlich nicht die C-Programme der Anwender auf dem Display ablaufen lassen, da ist die Absturzgefahr viel zu groß, wenn sich irgendwelche Pointer verirren. Da käme unser Support überhaupt nicht mehr hinterher“, sagt Demmel. Deshalb gibt es nun eine Java-VM, die auf dem Display-Controller läuft, zumal Java auch wesentlich einfacher zu programmieren ist. Sogar Bestandskunden, die ihr Display seit zwei Jahren in Betrieb haben, können diese Funktion denkbar einfach nachrüsten. Schaltzentrale für Installation und Entwicklung ist nach wie vor der iLCD-Manager, der einen zusätzlichen Java-Reiter erhalten hat (Bild). Den iLCD-Manager können alle Demmel-Kunden kostenlos herunterladen. Er aktualisiert nach Freigabe durch den Entwickler die Firmware des Display, womit auch die Java-VM installiert wird.

Die Entwicklung erfolgt im Java-Fenster des iLCD-Managers. Compiler und Debugger sind hier nahtlos integriert. Ein „Build“-Button setzt den Compile-Vorgang in Gang. Etwaige Warnungen und Fehlermeldungen werden im unteren Bereich des Fensters ausgegeben. Als Debug-Werkzeug stehen Breakpoints und der Einzelschrittbetrieb zur Verfügung. In einer „Watch List“ werden währenddessen die Inhalte von Variablen angezeigt. Eine eigene Debug-Verbindung ist nicht nötig – das Display wird über USB angesteuert. Technisch gesehen hat der Debugger einen eigenen USB-Kanal mit einem Debug Endpoint im Display. Aber auch wenn kein Display angeschlossen ist, können schon Software und Display-Inhalte entwickelt werden – mit dem integrierten Simulator, der das Display auf dem Entwicklungsrechner nachbildet.

Nach wie vor arbeiten die intelligenten Displays von Demmel ohne Betriebssystem. Dadurch sind sie in weniger als 1 s nach dem Einschalten betriebsbereit. Die Java-VM verlängert den Einschaltvorgang um nicht einmal 10 ms und belegt im Flash-Speicher nur 30 KB. Damit sind die Displays fit für einfache Steuerungsaufgaben in ihrem Umfeld.