Das hat sich nun geändert: Eine integrierte Java Virtual Machine ermöglicht es, kompilierten Java-Code direkt auf dem Panel auszuführen. Damit wird das intelligente Display zu einer aktiven, in einer objektorientierten Hochsprache programmierbaren Komponente, die nicht mehr unbedingt von einer externen Geräteapplikation angesteuert werden muss. Diese »Internalisierung« zuvor externer Funktionalitäten führt zu einem deutlich vereinfachten Aufbau der Hardware.
Für die Programmierung stehen die üblichen Java-Packages java/lang, java/io, java/util zur Verfügung. In einem spezifischen, auf die intelligenten Displays zugeschnittenen Package sind alle Funktionen, die bisher in High-Level-Kommandos realisiert sind, auch in Java verfügbar.
Java ist die am weitesten verbreitete Programmiersprache, viele Entwickler lernen sie bereits während der Ausbildung. Ein großes Plus ist die gute Verfügbarkeit von frei zugänglichen Algorithmen und Datenstrukturen, die in Entwicklungsprojekten wiederverwendet werden können.
Java VM benötigt keine zusätzliche oder neue Hardware, sondern lässt sich durch ein Firmware-Update auch auf älteren iLCD Panels installieren. Bei bestehenden Projekten, die erweitert oder erneuert werden sollen, können neue Teile in Java realisiert werden. Java VM kann innerhalb von 20 ms von Script weg (d.h. aus einem »klassischen« Makro heraus) gestartet werden. Klassische Kommandos und Java können gemischt werden.
Eine vollständige Java-Entwicklungsumgebung ist im Projektierungstool integriert. Ein Editor mit Syntax-Highlighting ist ebenso enthalten wie ein Compiler. Für die Projektentwicklung von besonderer Bedeutung ist der Debugger, mit dem ein Remote-Debugging der erzeugten Java-Applikation über die vorhandene USB-Schnittstelle direkt auf dem angeschlossenen Display und virtuell im Simulator durchgeführt werden kann. Alle üblichen Features wie Breakpoints und Variablen-Inspektion sind enthalten.
Beim Programmieren von Java-Applikationen für intelligente Displays können die typischen Eigenschaften der Sprache verwendet werden. Dazu zählen Multi-Threading und Floating-Point-Operationen, die ohne darunterliegendem Betriebssystem zur Verfügung stehen. Ein Event-Dispatcher für Touch-Felder und Keyboard (Observer Pattern) unterstützt das Event-Handling.
Sensoren wie solche für Temperatur, Druck oder Distanz werden üblicherweise per I2C angebunden. Mit einer Java-Applikation können solche Sensoren auf einfache Art und Weise aktiv angesprochen werden. Das gleiche gilt für Aktoren, die oftmals über SPI oder wiederum I2C angesteuert werden. Das Aufsetzen der gesamten Entwicklungs- und Debug-Umgebung geschieht innerhalb weniger Minuten per Installation oder Update der frei verfügbaren Management-Software. Auch hier ist keine zusätzliche Soft- oder Hardware nötig.
Ein wesentlicher Bestandteil der Integration von Display-Modulen ist die Unterstützung durch eine intuitive Entwicklungsumgebung. Die Software – im aktuellen Windows-Layout gestaltet – bildet zusammen mit den Panels einen ganzheitlichen Ansatz zur Entwicklung moderner Benutzerschnittstellen. Sie erfüllt unterschiedlichste Aufgaben in einem Entwicklungsprojekt: Projekt-Set-up, Konfiguration, Management und Programmierung der Displays, Applikations-Entwicklung, Debugging und Simulation.
Grundsätzlich werden in der Entwicklungsumgebung die Ressourcen definiert, die im Betrieb zur Verfügung stehen. Dazu zählen beispielsweise Schriftarten, formatierte Texte und Grafiken oder die Festlegung von Aktionen bei Betätigen eines Touchfeldes. Die Hardwareeinstellungen der Panels wie die IP-Konfiguration, Verwendung der I/Os und Display-Orientierung sind über entsprechende Einstellungen definierbar. Diese Einstellungen sind letztlich Bestandteil der Projektdatei, die im Flash-Speicher des intelligenten Displays abgelegt wird.
Um Java-Applikationen zu entwickeln, die auf der oben beschriebenen Java VM laufen, ist eine vollständige Java-Entwicklungsumgebung mit Editor, Compiler und Debugger implementiert. Features wie Syntax-Highlighting im Editor und Breakpoints und Variablen-Inspektion beim Debugger sind enthalten. Diese Leistungsmerkmale sind wie alle anderen hier beschriebenen Funktionen der Management-Software in einer einzigen IDE (Integrated Development Environment) integriert.
Aus der Management-Software lässt sich ein Simulator starten, mit dem die Projekte ohne ein physisch vorhandenes Panel getestet werden können (Bild 3). Ein Projekt kann sowohl Java-Code als auch die üblichen Kontrollkommandos enthalten. Die Simulation verhält sich genauso wie ein physisch vorhandenes Panel mit all seinen Schnittstellen. Die Touchfelder werden mit der Maus betätigt. Für die Simulation sind keinerlei Vorkehrungen zu treffen. Ein Projekt, das im Simulator läuft, kann unverändert in die Hardware geladen werden und umgekehrt.
Die Möglichkeit der frühzeitigen Simulation trägt dazu bei, den Entwicklungsprozess weiter zu verkürzen. Anwender können jede verfügbare Zwischenversion testen, ihr Feedback in die Entwicklung einfließen lassen und so mithelfen, kostspielige Fehlentwicklungen zu vermeiden. Der Simulator ist optimal für Projekte mit vielen Projektbeteiligten, wenn an unterschiedlichen Standorten entwickelt wird oder wenn viele Änderungswünsche vorliegen.
Für alle Display-Modelle stehen Evaluations- oder Starter-Kits zur Verfügung. Diese beinhalten alle nötigen Hard- und Softwarekomponenten; innerhalb weniger Minuten kann mit dem Programmieren und Testen begonnen werden.
Die Funktionalitäten eines intelligenten Displays sind in einer stabilen Firmware realisiert, die auf einem Controller läuft. Der Verzicht auf ein Betriebssystem schließt Overhead und mögliche Fehlerquellen sowohl im Gesamtsystem als auch in der Entwicklung aus.
Die daraus resultierende Robustheit wird kritischen Anforderungen aus der Medizintechnik wie auch aus der Industrie gerecht. Ebenso wie bei heiklen Produktionsprozessen darf eine Benutzerschnittstelle beispielsweise bei lebenserhaltenden Maßnahmen nicht abstürzen. Der Einsatz eines intelligenten Displays trägt wesentlich zur unterbrechungslosen Bedienbarkeit und somit zur funktionellen Sicherheit der Anwendung bei.
Eine grafische Benutzerschnittstelle visualisiert Zustände und bietet die Möglichkeit, aktiv in Prozesse einzugreifen. Diese Interaktion ist bei intelligenten Displays mittels resistivem oder kapazitivem Multitouch-Panel möglich.
Varianten mit der kapazitiven Touch-Technologie (PCAP, Projected Capacitive Technology) sind überall dort interessant, wo raue Umgebungsbedingungen herrschen oder häufiges Reinigen und Desinfizieren erforderlich ist. Sie arbeiten mit Kapazitätsänderungen und können daher hinter Glas verbaut werden. Die Displaykomponenten können mit Hilfe von Optical Bonding fix verklebt werden. Neben den sehr guten optischen Eigenschaften ermöglicht das Optical Bonding extrem robuste Konstruktionen für Anwendungen auch im öffentlichen oder halböffentlichen (d.h. geschützten) Outdoor-Bereich.
Resistive Touchpanels sind relativ günstig und langlebig, sofern sie nicht mit spitzen oder scharfen Gegenständen in Berührung kommen. Da sie auf physischen Druck reagieren, können sie ebenso wie dafür geeignete kapazitive Touchpanels mit Handschuhen bedient werden. Resistive Touchpanels sind im industriellen Umfeld langjährig erprobt und weit verbreitet.
Am Markt sind viele Visualisierungs- und Steuerungslösungen erhältlich. Bei der Auswahl für den industriellen Einsatz sind Kriterien wie Langzeitverfügbarkeit, Temperaturbereich, mechanische Robustheit, Zuverlässigkeit oder Lebensdauer zu berücksichtigen, die den Kreis der Möglichkeiten einschränken.
Typische Anwendungsgebiete für intelligente Displays sind der Maschinenbau, die Medizintechnik (Bild 4), die Elektrotechnik oder der Automotive-Bereich. Zu finden sind sie unter anderem in Fabriken, Labors, Intensivstationen, Auto-Ladestationen, Zutrittssystemen, Bussen, Montageschiffen oder auf Ölbohrplattformen.
Wolfgang Aichberger hat Elektrotechnik und Wirtschaftsingenieurwesen in Wien und Mittweida studiert. Nach verschiedenen Positionen im Telekom- und Energiebereich ist er seit 2013 bei Demmel Products für das Marketing und den Vertrieb
zuständig.