Web-Technik in der Automation: Web-Technologien in der Automatisierung

Web-Technik stellt im wahrsten Sinne des Wortes einen weltumspannenden Begriff dar. Entsprechend vielschichtig und umfangreich ist die Thematik und durchaus geeignet, ganze Bücher zu füllen. Es würde den Rahmen einer Artikelreihe sprengen, die komplexe Materie bis ins letzte Detail zu erläutern. Daher liegt der Schwerpunkt dieser Reihe besonders auf dem Einsatz der Web-Technik in Verbindung mit Automatisierungsprojekten. Es werden also auch mehr praxisorientierte HMI-Lösungen als modisches Web-Seiten-Design behandelt: -Teil 1: Web-Technologien und Automation -Teil 2: Web-basiertes Bedienen, Beobachten und Visualisieren -Teil 3: Softwareplattformen -Teil 4: Praxis IT hält Einzug Längst haben Web-Technologien auch den privaten Bereich erreicht. Man hat sich an E-Mails, Internet-Surfen und Online-Shops gewöhnt. Nicht nur am heimischen PC ist die Nutzung von Web-Diensten zur Selbstverständlichkeit geworden, selbst handliche Mobiltelefone bieten überall und jederzeit Zugang zum Web. Im Windschatten der informationstechnischen Revolution haben sich Methoden und Technologien aus dem IT-Sektor etabliert. Während zu Beginn noch Web-Surfen mit Analogmodem und Einwahl-Verbindungen vonstattenging, stellen heute (A)DSL-Router die Verbindung zum Internet her und Flat-Rates sind an der Tagesordnung. Mit so einem DSL-Router kommt bereits ein gutes Stück reale IT/Netzwerktechnik ins Haus. Noch vor Jahren war nicht daran zu denken, dass \’Otto Normalverbraucher\‘ Firewalls, LAN-Vernetzung und E-Mail-Konten einrichtet – heute jedoch Realität. Diese Entwicklung macht auch vor der Automatisierung nicht halt. Es ist so einfach geworden, Zugang zum Internet herzustellen; da will man die damit verbundenen Vorteile natürlich auch für Maschinen- und Anlagensteuerungen nutzen. Bedingt durch die Erfahrungen aus dem privaten Bereich steigen Nachfrage und Akzeptanz der Endanwender für Web-Funktionalität. Mehr noch, wer diesen Trend ignoriert sieht sich schnell mit Fragen konfrontiert wie: \“Meine 15Euro-Web-Cam kann ich per Handy abfragen, wieso kann ich nicht genauso einfach die Produktionsdaten einer 100.000Euro-Maschine einsehen?\“ Tatsächlich registrieren Anlagen- und Maschinenbauer eine Verschiebung der Gewichtung der einzelnen Aufgabenstellungen innerhalb von Automatisierungsprojekten. Stand vor etwa sieben Jahren noch eindeutig die reine Maschinen/Prozesssteuerung im Vordergrund, dominieren heute eine effiziente Bedienung (HMI) und Kommunikation. Auch die Anforderungen an moderne HMI-Lösungen und Kommunikationsfähigkeiten haben sich geändert: Während früher in der Regel nur ein lokales Bedienpanel direkt am Prozess oder an der Maschine ausreichend war, sind heute verteilte Bedienkonzepte gefragt, welche neben der lokalen Bedienung auch Zugriffsmöglichkeiten über Intra- bzw. Internet bieten. Kommunikation bedeutete früher Feldbussysteme, serielle Kopplungen und allenfalls noch eine Modemverbindung. Heute müssen sich Maschinen und Anlagen in hochentwickelte IT-Infrastrukturen einfügen. Ferndiagnose und -wartung sind tägliche Praxis und tragen kräftig zur Reduzierung der Servicekosten in einer globalisierten Welt bei. Daher ist es auch nicht verwunderlich, wenn Anlagen- und Maschinenbauer Wettbewerbsvorteile und zukünftiges Potential vor allem in der Nutzung von IT-Technologien sehen – und hierbei spielen Web-Technologien eine Schlüsselrolle. Was sind Web-Technologien? Es gibt wohl niemanden, der alle im Internet zum Einsatz kommenden Technologien aufzählen kann – geschweige denn bis ins letzte Detail kennt. An dieser Stelle sollen deshalb nur Technologien erläutert werden, die für Automatisierungsaufgaben interessant sind und hier bereits heute zur Anwendung kommen. In einem pragmatischen Ansatz können Web-Technologien in folgende Kategorien unterteilt werden: -Kommunikation -Architektur -Präsentation Kommunikation mit TCP/IP & Co. Das Fundament der Web-Technologien bildet die Kommunikation. Ungeachtet der physikalischen Schnittstelle ist TCP/IP der kleinste gemeinsame Nenner des gesamten Datenverkehrs im Internet. TCP/IP ist das grundlegende Protokoll und sorgt für eine korrekte Adressierung der Netz-Teilnehmer und einen reibungslosen Datenaustausch. Der Einsatz von TCP/IP ist mittlerweile nicht mehr nur auf reine Internet-Anwendungen beschränkt; auch lokale Netzwerke (LAN) verwenden heute fast ausschließlich das TCP/IP-Protokoll. Dadurch ist eine bemerkenswerte Durchgängigkeit zwischen lokalen LANs und dem Internet entstanden – da beide mit derselben Technik funktionieren. Man spricht daher in Analogie zum Internet zunehmend von einem Intranet wenn ein LAN gemeint ist. TCP/IP stellt den untersten Layer der Web-Kommunikation dar. Darauf bauen Dienste wie E-Mail, File Transfer (FTP) und World Wide Web (WWW). Jeder dieser Dienste kommuniziert über ein ihm eigenes Protokoll, das wiederum in TCP/IP eingebettet ist. Das einem E-Mail-Dienst zugrunde liegende Protokoll lautet z.B. SMTP, Dateien werden mit dem FTP-Protokoll übertragen und unter Zuhilfenahme des HTTP-Protokolls kommunizieren Browser mit Web-Servern (WWW-Dienst). Client/Server-Architektur Das Internet ist gemäß einer Client/Server-Architektur strukturiert. Ein Server ist ein Rechner bzw. Programm, der dem Netz Daten zur Verfügung stellt. Im Grundsatz verhält sich ein Server immer passiv und übermittelt Daten nur auf Anfrage. Es gibt auch Ausnahmen, wonach ein Server Daten von sich aus sendet (Server-Push) – aber das ist nicht die Regel. In der einfachsten Ausführung versenden Server lediglich die auf ihnen abgelegten Dateien. Web-Server sind mit entsprechender Zusatzsoftware jedoch auch in der Lage, angeforderte Dateien zu modifizieren bzw. gänzlich neue Web-Seiten zu generieren – aber dazu später mehr. Server kommunizieren mit Clients. Clients sind die aktiven Partner in der Kommunikation und fordern Daten von Servern an. Ein Web-Browser ist beispielsweise ein Client, der Web-Seiten von einem Web-Server anfordert. HTML Ein weites Feld nehmen die unterschiedlichen Präsentationsformen ein. Hierbei ist HTML an erster Stelle zu nennen. HTML ist die Beschreibungssprache für Web-Dokumente. Web-Seiten sind in HTML verfasst und Browser interpretieren HTML-Dateien. Mit HTML lassen sich Texte und Dokumente strukturieren und innerhalb gewisser Grenzen ansprechend gestalten. Wer mehr Gestaltungspielraum und die volle Kontrolle über das Layout einer Web-Seite haben möchte, greift auf die Style-Sprache CSS zurück. CSS erlaubt die exakte Definition der Formateigenschaften einzelner HTML-Elemente (z.B. Überschriften). Hierbei ersetzt CSS nicht einfach HTML, sondern erweitert lediglich dessen Funktionsumfang. Überhaupt ist es eine außerordentliche Stärke von HTML, unterschiedlichste Technologien wie z.B. JavaScript, PHP oder eben CSS einzubinden. Dadurch wird es zu einer äußerst flexiblen und leistungsfähigen Plattform in puncto Vermittlung unterschiedlichster Inhalte. Dynamisches HTML – Von CGI bis Java In seiner Urform ist HTML statisch; d.h. HTML-Seiten werden einmal erstellt und unverändert vom Server auf Anfrage versandt. In der Praxis will man aber auch aktuelle Daten wie z.B. die momentane Uhrzeit in ein HTML-Dokument einbinden. Unter dem Oberbegriff \’Dynamisches HTML\‘ werden mehrere Technologien zusammengefasst, die es erlauben, dynamische Daten auf einer Web-Seite anzuzeigen. Einen ersten Ansatz bietet die SSI-Technik (Sever-Side-Includes). Mit SSI werden spezielle Tags oder auch Anweisungen innerhalb der HTML-Seite platziert. Der Server ersetzt dann diese Platzhalter durch aktuelle Daten, bevor er die angeforderte Seite sendet. Generell ist zu unterscheiden, auf welche Art dynamische Web-Seiten generiert werden: auf dem Server oder durch den Client. SSI wird auf dem Server ausgeführt, d.h. der Browser bekommt die SSI-Anweisungen gar nicht zu sehen, sondern bekommt ein reines HTML-Dokument. Nach dem gleichen Prinzip arbeiten CGI und die Script-Sprachen Perl und PHP. Unter CGI (Common-Gateway-Interface) versteht man eine standardisierte Schnittstelle, die es erlaubt, Skripte oder andere ausführbare Dateien auf dem Server zu starten. CGI-Skripte werden häufig in der Skript-Sprache Perl geschrieben. Meist werden Skripte in dem vordefinierten Verzeichnis \’/cgi-bin/\‘ hinterlegt. Bei Zugriffen auf dieses Verzeichnis erkennt dann der Server, dass er nicht nur einfach eine Datei versenden soll, sondern eine ausführbare Datei starten muss. Als Ergebnis liefern CGI-Skripte eine Ausgabe in Form einer HTML-Seite, welche zum anfordernden Client übertragen und etwa in einem Browser dargestellt wird. Ähnlich arbeitet auch die Programmiersprache PHP, lediglich mit dem Unterschied, dass PHP-Anweisungen (also der eigentliche Skript) direkt in einer HTML-Seite notiert werden. Damit kann der statische Teil einer Web-Seite konventionell mit Standard-HTML-Elementen erstellt werden, während der dynamische Teil durch die eingebetteten PHP-Anweisungen erzeugt wird. Die bisher beschriebenen Methoden werden alle auf dem Server ausgeführt. Das hat den Vorteil, dass der Browser reinen HTML-Code geliefert bekommt und selbst keine Skripte oder Programme starten muss. Gerade unter Sicherheitsaspekten sind dynamische Inhalte, die auf dem Server erzeugt werden, unkritisch und funktionieren immer – auch dann, wenn Anwender ihren Browser sehr restriktiv eingestellt haben (z.B. JavaScript abgeschaltet). Ein Nachteil ist jedoch, dass aktuelle Daten nur dann an den Client gesendet werden, wenn dieser eine Web-Seite anfordert. Wer kontinuierlich aktuelle Daten in seinem Browser beobachten will, ist genötigt, immer wieder die Seite von Neuem zu laden (Refresh). Auch wenn HTML einen automatischen Refresh unterstützt, resultieren mit dieser Option doch ein unruhiges, flackerndes Bild und bescheidene Update-Raten. Ist eine stete und ruhige Aktualisierung der Werte notwendig oder sind gar animierte Elemente gefordert, muss diese Funktionalität auf der Client-Seite realisiert werden. Die Programmiersprache JavaScript ist speziell für diesen Einsatzfall konzipiert. JavaScript kann ähnlich wie PHP direkt in der HTML-Seite notiert werden, kann aber auch in separaten Dateien geschrieben sein. Moderne Browser verfügen neben einem HTML-Interpreter zusätzlich über einen JavaScript-Interpreter. JavaScript-Programme werden dann auf dem Client-Rechner im Browser selbst ausgeführt und lassen bezüglich Dynamik oder auch Animation keine Wünsche offen. Einen ähnlichen Ansatz verfolgen Java-Applets, also in sich geschlossene, in Java geschriebene Applikationen, die vom Server zur Ausführung an den Client übertragen werden. Hierzu muss allerdings auf dem Client eine virtuelle Java Machine installiert sein, welche die Laufzeitumgebung für Java-Programme bereitstellt. Bedingt durch die Virtualisierung mittels einer Java Machine sind Java-Applets plattformunabhängig und neben Windows auch auf McIntosh- oder Linux/Unix-Systemen lauffähig. ActiveX ist eine ähnliche Technik von Microsoft, allerdings auf Windows-Plattformen beschränkt. Durchgängig und offen automatisieren mit Web Welche Vorteile bergen nun die diversen Web-Technologien für die Automatisierung? Web-Technik bedeutet uneingeschränkte Kommunikation. Egal ob eine Steuerung mit einem lokal angeschlossenen Bedienfeld Daten austauscht, Produktionsdaten aus einer Maschine innerhalb eines Unternehmensnetzwerkes verfügbar gemacht werden sollen oder gar eine Fernwartung via Internet eingerichtet werden soll: immer kommt ein und derselbe Kommunikationsmechanismus zum tragen. Vorbei sind die Zeiten, in denen Bedien-Panel über herstellerspezifische Ankopplungen oder Feldbussysteme angeschlossen wurden, eine Integration in bestehende IT-Infrastrukturen nur über teure Co-Prozessoren vonstattenging und Fernzugriff lediglich über umständliche und wenig leistungsfähige Modem-Verbindungen möglich war. Der Steuerungsprogrammierer muss sich nicht mehr mit spezialisierten Software-Treibern oder OPC-Servern herumschlagen, nur um ein paar Daten aus der Steuerung auf einen PC zu bekommen. Das spart Engineering-Aufwand und senkt die Kosten. Herkömmliche Kommunikationswege innerhalb der Automatisierung sind meist beschränkt. Feldbusse unterstützen nur eine begrenzte Anzahl an Teilnehmern, Steuerungen können nur mit einer Handvoll Bedien-Panel betrieben werden, Bussysteme unterscheiden zwischen Master und Slaves, wobei die Anzahl Master wiederum begrenzt ist. Derartige Einschränkungen gibt es in der Web-Technik nicht: alle Teilnehmer sind gleichberechtigt und kennen auch keine Grenze bezüglich der Kommunikationsverbindungen. Theoretisch kann eine Steuerung mit 1.000 Bedien-Panel kommunizieren. Natürlich beschränkt in der Praxis die zur Verfügung stehende Bandbreite die Anzahl simultan zugreifender Panel auf die Steuerung (aber wenn nicht alle gleichzeitig wollen?). Auf jeden Fall gibt es keine künstlichen Systemgrenzen, die derlei Konstrukte verhindern bzw. komplizierte Gateway-Lösungen erzwingen – was schlussendlich die Projektierung wesentlich vereinfacht. Web-Technik wird mit Standard-IT-Komponenten realisiert; d.h. es können weitverbreitete und äußerst kostengünstige Netzwerk-Komponenten wie etwa Router, Switches oder WLAN-Access-Points eingesetzt werden. Damit lassen sich problemlos neben den klassischen Hardware-Plattformen Steuerung, Bedien-Panel und PC auch Organizer (PDAs), Smart-Phones oder einfach nur ein Mobiltelefon in eine Automatisierungslösung mit einbeziehen. Hinzu kommt, dass Web-Technologie von Haus aus plattformunabhängig ist und neben Windows-Plattformen auch in Verbindung mit Linux/Unix-Systemen oder McIntosh-Rechnern eingesetzt werden kann. Einen komplett neuen Weg beschreitet die Web-Technik in Bezug auf HMI und Visualisierung. Gemäß dem Client/Server-Prinzip beinhaltet eine web-fähige Steuerung nicht nur Steuerungsprogramm und Prozessdaten, sondern beherbergt auch die Bedienoberfläche. Als Bedien-Panel sind dann nur noch Plattformen mit einem Standard-Browser notwendig. Eine Konfiguration der Panel mit einem HMI-Projekt entfällt, da dieses sich die Visualisierung selbständig aus der Steuerung lädt. Genauso können auch PCs auf die Visualisierung zugreifen. Spezielle Visualisierungs-Software und Runtime-Lizenzen entfallen. So werden vernetzte Steuerungs- und Bedienphilosophien beherrsch- und bezahlbar. Insgesamt erleichtert Web-Technik die Integration von Anlagen/Maschinen in vorgegebene IT-Infrastrukturen ungemein. Als Beispiel seien nur FTP-Verbindungen genannt, die es übergeordneten Leitrechnern oder Produktionsplanungssystemen einfach machen, Prozessdaten in Form von Dateien aus der Steuerung zu laden. Web-fähige Steuerungsplattformen