Inosoft
JavaScript UI-Frameworks in HMIs
JavaScript UI-Frameworks gibt es wie Sand am Meer. Welche gibt es und wie passen sie zu industriellen HMI-Anwendungen? Können Mitarbeiter*innen sie technisch betreuen? Und warum sollten Anwender darauf achten, wer hinter den Frameworks steckt?
Bild 1: HTML5-basierte Benutzerschnittstelle zum Bedienen und Beobachten einer industriellen Fertigungsanlage.
© InosoftDie wachsende Digitalisierung von Prozessen führt dazu, dass IT und OT ihre Grenzen überwinden und zusammenwachsen. Technologien, die im IT-Umfeld bereits seit vielen Jahren etabliert sind, ziehen hierdurch auch in die OT-Welt ein. Der Vormarsch von Ethernet-Netzwerken und TCP-basierten Kommunikationsprotokollen oder auch die Nutzung von Industrie-PCs als Automatisierungsplattform sind nur einige Beispiele hierfür. Vor allem die Einbeziehung des Internets sorgt dafür, dass weitere, in der IT seit Jahren etablierte Technologien auch in industriellen Anwendungen einziehen. Ein gutes Beispiel hierfür sind HTML5-basierte Benutzerschnittstellen (Bild 1) – diese können ohne weitere Installation mit nahezu beliebigen Endgeräten völlig ortsunabhängig mit einem Webbrowser genutzt werden. Die offensichtlichen Vorteile dieser Technologie haben viele Maschinenbauer dazu veranlasst, auch das lokale HMI einer Maschine auf diese Technologie aufzusetzen.
Frameworks erleichtern die Arbeit
Nur mit Hilfe von HTML allein lässt sich allerdings noch keine moderne Benutzerschnittstelle (User Intefaces, UI) gestalten, wie der Anwender sie erwartet. Hierfür sind weitere Technologien wie die Programmiersprache JavaScript und die Gestaltungs- und Formatierungssprache CSS notwendig. Da quasi alle modernen Webbrowser sowohl JavaScript als auch CSS unterstützen, stellt das kein Problem dar. Die Herausforderung liegt eher im Aufwand, der bei der Umsetzung anfällt. Aus diesem Grund entstehen hierfür immer wieder neue UI-Frameworks auf Basis von JavaScript und CSS. Diese nehmen dem Programmierer viel Arbeit ab, indem sie ein Rahmengerüst und vorgefertigte Komponenten und Funktionen zur Ausgestaltung einer grafischen Benutzeroberfläche bereitstellen. Dazu gehören UI-Elemente wie Schaltflächen oder Ein- und Ausgabefelder aber auch komplexe Layout-Vorlagen und Navigationsfunktionen. Über verschiedene Entwurfsmuster bieten sie bewährte Lösungsschablonen für die Architektur und Entwicklung einer modernen Web-App. Die Liste der verfügbaren JavaScript UI-Frameworks ist lang und wächst stetig. Tabelle 1 gibt einen kleinen Überblick über aktuell populäre Frameworks. Darüber hinaus gibt es neben den vollständigen UI-Frameworks viele weitere Bibliotheken, die sich auf einzelne Funktionen spezialisiert haben (Tabelle 2).
Die Frameworks und Bibliotheken werden in der Regel im Rahmen von Open-Source-Projekten entwickelt. Teilweise stehen große, US-amerikanische Softwarekonzerne wie Google (Angular) oder Meta (React) dahinter, sie setzen die Frameworks auch in eigenen Apps und Plattformen wie Google Gmail oder Facebook ein.
Anforderungen des Maschinenbauers
Die Vorteile bei der Verwendung eines Frameworks liegen also auf der Hand. Die Konzepte und auch der Funktionsumfang weichen bei den verschiedenen Frameworks allerdings stark voneinander ab. Für den Maschinenbauer stellt sich somit die Frage, ob die Verwendung eines solchen Frameworks für das lokale HMI ebenfalls sinnvoll ist und für welches er sich entscheiden sollte.
In diesem Artikel soll es dabei allerdings weniger um technische Details gehen. Bei der Entscheidung für oder gegen eine Technologie, ein Tool oder Framework spielen viele weitere, nicht-technische Faktoren eine Rolle. Folgende Fragen sollten sich Entscheider dabei grundsätzlichen Stellen:
- Welche Unternehmen stecken dahinter und welche Interessen verfolgen sie?
- Aus welchen Anwendungsbereichen und Branchen kommt der Ansatz und was sind dort die Hauptanforderungen?
- Sind meine Mitarbeiter*innen in der Lage, den Ansatz technisch zu betreuen?
- Hat der Ansatz eine Chance auf eine langfristige Verbreitung oder handelt es sich um einen kurzfristigen Trend?
Vor allem der letzten Frage kommt im industriellen Umfeld eine große Bedeutung zu. Webseiten wie beispielsweise ein Unternehmensauftritt oder ein Webshop werden häufig aktualisiert. Der Wechsel auf ein neues Framework stellt hierbei kein Problem dar, da solche Webseiten zentral auf einem Webserver im Internet administriert werden. Anders sieht es bei einem Maschinen-HMI aus. Die Maschinen werden häufig über einen sehr langen Zeitraum vor Ort in einer Fabrik betrieben und müssen auch dort gewartet werden. Wenn die ursprüngliche Entwickler-Community aber nach Jahren die Pflege des Frameworks zugunsten neuer Entwicklungen einstellt, steht der Maschinenbauer vor großen Herausforderungen.
Es stellt sich also auch die Frage nach dem Lebenszyklus eines Frameworks. In einem Blog-Beitrag auf Stack Overflow, einem beliebtem Entwicklernetzwerk, ist dazu folgende Aussage zu lesen: „JavaScript-Frameworks arbeiten in Zyklen. Etwa alle sechs Monate taucht ein neues auf und behauptet, es habe die UI-Entwicklung revolutioniert. Tausende von Entwicklern übernehmen es in ihre neuen Projekte, Blogbeiträge werden geschrieben, Stack Overflow-Fragen werden gestellt und beantwortet, und dann taucht ein neueres (und noch revolutionäreres) Framework auf, um den Thron an sich zu reißen.“ (Quelle: Ian Allen)
Bild 2: Prozentuale Verteilung der Fragen zu verschiedenen JavaScript UI-Frameworks bei Stack Overflow.
© insights.stackoverflow.com/trendsMit Stack Overflow Trends kann man untersuchen, wie nach jeder dieser Technologien im Laufe der Zeit gefragt wurde. Bild 2 zeigt, wie sich das Interesse an einigen der großen Frameworks über die Zeit verändert hat.
Ein weiterer wichtiger Punkt ist die Komplexität und somit Anwendbarkeit eines Frameworks im eigenen Unternehmen. Die aktuell populären Frameworks richten sich an Softwareentwickler, die mit der Anwendung der zugrundeliegenden Technologien JavaScript, CSS und HTML gut vertraut sind. Für solche Anwender stellen die Frameworks eine immense Erleichterung dar und erhöhen die Effizienz bei der Entwicklung eines HMI deutlich.
Eine einfache Tool-Unterstützung in Form eines grafischen Designers gibt es für die Frameworks in der Regel aber nicht. Im Maschinenbau müssen aber auch Automatisierungstechniker mit eher breit aufgestelltem Knowhow in der Lage sein, ein Maschinen-HMI zu erstellen. Hier sind eher Tools mit Low-Code- oder No-Code-Ansätzen gefordert.
Die frei verfügbaren Frameworks sind somit durch ihren großen Funktionsumfang und ihre starke Verbreitung sehr verlockend, stellen den Maschinenbauer aber vor andere, große Herausforderungen.
Alternative Ansätze
Eine Alternative können hier JavaScript Frameworks eines HMI-Herstellers aus der Automatisierungsbranche darstellen. Die Firma Inosoft stellt im Rahmen von VisiWin 7 Web UI beispielsweise das Framework VisiWinJS zur Verfügung. VisiWinJS basiert genau wie die bereits genannten Frameworks rein auf JavaScript und kann auch in HTML-basierten Anwendungen eingesetzt werden. Auch der Funktionsumfang ist vergleichbar. Enthalten sind vorgefertigte, style-bare UI-Elemente sowie verschiedene, anpassbare Layout-Vorlagen und Navigationsfunktionen. Eine Anbindung an die Daten der Maschine, z.B. aktuelle Prozesswerte oder Störmeldungen, ist dabei ebenfalls integriert. Überdies werden aber auch die spezifischen Anforderungen eines Maschinenbauers berücksichtigt. Dazu gehören eine einfache Anwendbarkeit ohne Programmierkenntnisse mit Hilfe eines grafischen Designers und eine langfristig garantierte Unterstützung der Anwender durch den Hersteller. Wie Bild 3 zeigt, hat das Framework zudem eine offene, modulare Architektur, die eigene Erweiterungen und die Zusammenarbeit mit anderen JavaScript Frameworks und Bibliotheken ermöglicht.
Die Wahl des Frameworks
Durch den Einzug des Internets fließen neue Technologien in die Automatisierungstechnik ein. HTML5, JavaScript und CSS bieten dabei eine gute Möglichkeit für Plattform-, Geräte- und ortsunabhängige HMI-Lösungen. Mit Hilfe von leistungsstarken JavaScript Frameworks kann die Entwicklung dabei effizient gestaltet werden. Bei der Auswahl des richtigen Frameworks müssen aber vielschichtige, nicht nur technische Anforderungen berücksichtigt werden.
Die allgemein verfügbaren Frameworks wie Angular oder React bieten hierbei vor allem für Unternehmen mit ausreichend Software-Know-how im eigenen Haus eine gute Basis. Maschinenbauer sind diesbezüglich aber oft anders aufgestellt. Für sie bietet Inosoft mit VisiWin einen auf die Anforderungen des Maschinenbauers spezialisierten Ansatz.



















