Das Gros der Projekteure ist es gewohnt, die Visualisierung einer Maschine und Anlage mit vollgrafischen, leistungsfähigen Software- Tools zu erstellen. Dem trägt Saia-Burgess Rechnung und hat mit dem S-Web-Editor ein grafisches Werkzeug zur Erstellung von Web-Visualisierungen entwickelt. Damit können aus vorgefertigten Objekten (Eingabefelder, animierte Balken, Alarm und Trendfunktion …) Bedienoberflächen generiert werden. Der Editor erzeugt ein Java-Applet mit dazugehörigen Parameter-Dateien (Visualisierungsseiten) sowie eine HTML-Seite, in der das Applet aufgerufen wird. Diese Dateien liegen auf dem Web-Server der PCD-Steuerung von Saia-Burgess, auf die jeder Browser zugreifen und die HTML-Seite öffnen kann. Die Aktualisierung der SPS-Daten ist über die integrierte CGI-Schnittstelle realisiert. Applet und Parameter-Dateien lädt der Browser automatisch und startet die Visualisierung im Browser-Fenster. Der Vorteil: Die Visualisierung ist sofort auf jedem Zielsystem mit Java Virtual Machine lauffähig und erfordert keine speziellen Software-Installationen, Treiber oder kostenpflichtige Run-Time-Lizenzen.
Peter Steib ist Key Account Manager OEM bei Saia-Burgess Controls in Murten/Schweiz.
Den höchsten Freiheitsgrad bieten die Softwareplattformen Java und .NET. Microsofts .NET-Plattform bietet gleich mehrere Hochsprachen; darunter Visual-Basic und C#, die am Häufigsten genutzt werden. Mit wenig Aufwand lassen sich mit beiden Entwicklungswerkzeugen spezielle Visualisierungsanforderungen umsetzen. Zu einer mächtigen Softwareplattform gehören aber auch umfangreiche Funktionsbibliotheken (Klassen), welche selbst komplexe Vorgänge effizient und einfach beherrschbar machen. Sun Microsystems und Microsoft haben hier enorme Anstrengungen unternommen, um das Arbeiten mit Web-Inhalten zu vereinfachen. Beispielsweise können Web-Seiten mittels einer einzigen Programmzeile geladen werden. Dem Common Gateway Interface kommt hier eine Schlüsselrolle zu: Darüber kann ein Client auf dem Server ein Script oder auch eine Anwendung starten, die nach ihrer Ausführung in der Regel eine HTML-Datei an den Browser sendet.
Und hier kommt die Web-Technik in der Automation ins Spiel: Eine Web-Visualisierung kann auf sämtliche Daten jeder Steuerung zugreifen, die CGI unterstützt. Das heißt, es ist extrem einfach, aus Java- oder Visual-Basic-Anwendungen heraus SPS-Daten anzufordern: Das Kommando „http://192.168.10.60/cgi-bin/readVal.exe?PDP,,MB100,d“ bewirkt, dass die Steuerung mit der Web-/IP-Adresse 192.168.10.60 den aktuellen Wert des Merker-Bytes 100 als Dezimalzahl an den Browser sendet. Genauso lässt sich über die Standardklassen aus der Java- beziehungsweise .NET-Programmierumgebung auf die Daten einer SPS zugreifen. Dazu sind noch nicht einmal spezielle Treiber notwendig. Der Gestaltungsspielraum, den Java- beziehungsweise .NET-Anwendungen in Automatisierungsprojekten bieten, geht weit über eine reine Visualisierung hinaus. Damit lassen sich sämtliche Funktionen eines Windows-Systems mit der Steuerungsfunktion verbinden – beispielsweise das Abspielen eines Service-Videos mit Montagehinweisen oder komplexe Datenbankanwendungen.
Um aktuelle Werte permanent darstellen zu können, muss die Aktualisierung der Steuerungsdaten vom Server (SPS) auf den Client (Panel) verlagert werden. Eine Möglichkeit ist, Java-Script-Anweisungen in die HTML-Seiten einzubetten. Diese stellen dann die Verbindung zur Steuerung her und sorgen für den ständigen „Refresh“ der Daten. Allerdings ist das Programmieren in JavaScript komplex und der Mix aus HTML-Tags und JavaScript-Code führt schnell zu unübersichtlichen, schwer wartbaren Web-Seiten. JavaScript wurde vom Browser-Hersteller NetScape als LiveScript entwickelt, später aber als JavaScript vermarktet. Technisch hat JavaScript mit der Programmiersprache Java und deren Konzepten nichts gemein. Von Sun Microsystems als „Web-Sprache“ konzipiert, ist die Softwareplattform plattform-unabhängig: Java-Anwendungen laufen auf allen erdenklichen Hardware-Plattformen und Betriebssystemen. Einzige Voraussetzung ist eine installierte Java Virtual Machine, die für praktisch sämtliche gängigen Plattformen (zum Beispiel Windows, Linux, McIntosh) gratis zur Verfügung steht.
Java-Programme werden nicht direkt in den Maschinencode des Zielsystems übersetzt, sondern in einen plattform-unabhängigen Zwischencode. Dieser Programmcode wird von der Java Virtual Machine in den Maschinencode des Zielsystems konvertiert und zum Ablaufen gebracht. Java unterscheidet zwischen den zwei Programm-Arten Anwendung und Applet. Eine Java-Anwendung wird – wie jede andere normal ausführbare Datei (EXE) – auf dem Zielrechner installiert und ausgeführt. Java-Applets stellen eine Sonderform von EXE-Dateien dar, die zwar automatisch über den Browser geladen werden, dann aber in einer geschützten Umgebung laufen. Dies verhindert den unkontrollierten Zugriff des Applets auf jedwede Rechner-Ressourcen.
Java-Applets lassen sich in HTML-Seiten einbinden. Der Browser lädt beim Starten einer HTML-Seite das referenzierte Applet vom Server und übergibt es zur Ausführung an die auf dem Panel installierte Java Virtual Machine. Danach kann das Applet nur eine Verbindung zu dem Server herstellen, von dem es geladen wurde, bei einer Visualisierung ausschließlich zum Web-Server der Steuerung. Java überzeugt dabei mit guten Grafikfähigkeiten und eignet sich daher hervorragend für animierte Darstellungen. Der eigentliche Zugriff auf die Steuerungsdaten erfolgt über CGI-Kommandos. Das Common Gateway Interface (CGI) ist eine Standard-Technologie aus der Server-Technik.
Java-basierte Web-Visualisierungen werden interessant, wenn eine kontinuierliche Aktualisierung von Werten und eine professionelle Bedienoberfläche mit Animation notwendig ist, kurzum: Wenn simple HTML-Seiten nicht mehr ausreichen.
HTML ist der Klassiker für die Parametrierung und Konfiguration von Geräten: DSL-Modems, Router oder auch WLAN-Access-Points werden über HTML-Seiten und ein Web-Interface konfiguriert. Auf die gleiche Art kann eine Maschine eingerichtet und – im bescheidenen Maße – auch bedient werden. Die HTML-Seiten liegen dann auf dem Web-Server der Steuerung als gebrauchsfertige Bedienoberfläche vor.
Für die Erstellung von HTML-Seiten gibt es eine Vielzahl an Werkzeugen, angefangen von kostenloser – nicht minder leistungsfähiger – Freeware bis hin zum kommerziellen Profi-Werkzeug. Selbst mit Microsoft Word lassen sich HTML-Seiten kreieren.
Wie kommen nun aktuelle Steuerungsdaten in die HTMLSeite? Schließlich ist eine HTML-Seite statisch: Einmal erstellt, wird sie auf dem Server gespeichert und nur auf Anfrage an den Browser gesendet. SSI – Server Side Includes –heißt die Technik, mit der sich aktuelle Daten in HTML-Seiten einbetten lassen. Dazu werden in der HTML-Seite spezielle Tags platziert. Bevor der Web-Server die Seite an den Browser sendet, ersetzt er die Tags mit den aktuellen SPS-Daten. Der Browser erhält ein reines HTML-Dokument, jetzt aber mit aktuellem Inhalt. Auf diese Weise können SPS-Daten dargestellt oder auch verändert werden, beispielsweise HTML-Buttons oder Formulare.
HTML-Oberflächen leisten gute Dienste für einfache Parametrieraufgaben oder wenn Betriebsdaten für statistische Auswertungen tabellarisch dargestellt werden sollen. Für eine anspruchsvolle Maschinenbedienung sind sie ungeeignet, denn eine im Browser visualisierte HTML-Seite enthält nur dann aktuelle Werte, wenn sie geladen wird. Einmal im Browser dargestellt, ändern sich die Werte nicht mehr, da diese immer nur vom Web-Server auf Anforderung aktualisiert werden. Aktuelle Werte lassen sich zwar durch ein erneutes Laden (Refresh) anzeigen, für eine Maschinenvisualisierung ist dieser manuelle Bildaufbau – der zudem eine flackernde Darstellung verursacht –, indiskutabel.