Kommunikation Web-Connector für OPC

Bild: BASF
22.10.2014

Für internetbasierte Ferndiagnose, remotegesteuerte Scada-Systeme sowie für vernetzte Cyber-Physical-Systeme wird eine zuverlässige bidirektionale Prozessdatenübertragung zwischen einem Automatisierungsgerät und einer Webseite benötigt. Im FuE-Projekt WOAS wurde ein Web-Connector entwickelt, der OPC-Prozessdaten in weniger als 70 ms über das Internet überträgt.

Geräte und Sensoren werden in der Automatisierungstechnik mit einer Vielzahl von anwendungsspezifischen seriellen Protokollen an übergeordnete Auswertungs- und Leitsysteme angebunden. Diese Schnittstellen sind aus verschiedenen Gründen jedoch nicht dazu geeignet, die Geräte in globale beziehungsweise auch lokale IP-Netze (Internet) als CPS-Komponenten (Cyper Physical System) im Kontext von Industrie 4.0 einzubinden. Neue Standards zur Geräteintegration von CPS in IP-Netze und deren Verbindung mit Automatisierungsdiensten liegen nicht vor oder befinden sich noch in der Entwicklung.

Eine Aufgabe des FuE-Projekts „Architektur und Schnittstellen für ein Web-Orientiertes Automatisierungssystems (WOAS)“ war unter anderem, automatisierungstechnische Geräte wie Sensoren, Aktoren, Steuerungen – in WOAS auch als Feldsysteme bezeichnet – mit Automatisierungsdiensten wie Bedienelementen, Echtzeit-Trends, Visualisierungselementen, über eine Web-basierte Integrationsplattform, dem WOAS- Portal, zu verbinden. Dem Anwender sollten sie im Webbrowser als Funktionalsystem für die Bedienung von Maschinen und Anlagen – HMI-Panel, Leitsystem – zur Verfügung stehen. Eine wichtige Aufgabe dabei war die Entwicklung eines geeigneten Web-Connectors, der Prozessdaten aus beliebigen OPC-DA-Servern schnell und zuverlässig in einem Browser beziehungsweise im IP-Netz zur Verfügung stellen kann.

Bisherige Lösungen

Bisher ist eine Reihe von Lösungen bekannt, um Prozessdaten aus Automatisierungsgeräten (AG) für eine Webseite verfügbar zu machen. Häufig werden Lösungen genutzt, bei denen der Client (Webbrowser) über zyklische HTTP-Abfragen die Prozessdaten über eine Webanwendung zum Beispiel mittels PHP aus den Geräten liest oder auch schreibt. Diese requestbasierten Methoden sind für automatisierungstechnische Zwecke wenig geeignet, da nur relativ langsame Abfragen möglich sind und Ereignisse auf der Server-Seite, wie etwa Änderungen eines Prozessdatums, im Gerät nicht automatisch an den Client übertragen werden.

Dieser Nachteil wird mit Methoden beseitigt, die unter dem Sammelbegriff Comet bekannt sind. Mit Comet kann eine bidirektionale Kommunikation zwischen dem Client und einem Server aufgebaut werden. Damit ist dann auch eine eventbasierte Übertragung von Prozessdaten (Server-Push) vom Gerät zur Webseite möglich. Häufig eingesetzte Techniken sind hierbei Ajax (Asynchronous JavaScript and XML) sowie embedded Webobjekte beziehungsweise Plug-Ins auf Basis von Java, Flash oder ActiveX.

Ajax ist eigentlich kein Server-Push-Verfahren, sondern es wird ein „long polling“ genutzt, bei dem der Client die Verbindung zum Server herstellt und solange nicht beendet, bis ein Ereignis stattfindet. Wenn dieses stattfindet, dann wird der Client darüber benachrichtigt und stellt daraufhin gleich wieder die Verbindung her. Die Zeitperformance zum Übertragen von Prozessdaten ist deshalb auch eingeschränkt. Das Nutzen von Java-Applets, Flash oder ActiveX-Objekten war bei HTML4 deshalb die einzige Möglichkeit, um zwischen Brow­ser und AG einen bidirektionalen TCP-Kanal aufzubauen und darüber Prozessdaten auch hinreichend schnell zu übertragen. Ein Beispiel dazu ist das Web Access Kit (WAK), basierend auf Java-Applets.

Im Zeitalter der mobilen Bediengeräte – Tablets, Smartphones – und einem Mix von Betriebssystemen sind die oben genannten Objekte wegen einer Vielzahl von Einschränkungen und Abhängigkeiten zukünftig kaum noch sinnvoll einzusetzen. Mit der Einführung von HTML5 und Websockets gibt es nun aber standardisierte Verfahren, die auch für die Übertragung von Prozessdaten von Geräten (CPS-Komponenten) in ein IP-Netz ein hohes Zukunftspotenzial besitzen. Bestrebungen zum Anwenden in der Automatisierungstechnik sind weltweit spürbar, wenn auch gegenwärtig noch keine Werkzeuge dazu auf dem Markt angeboten werden.

Zugriff per Websockets

Die Internet Engineering Task Force hat das Websocket-Protokoll und das World Wide Web Consortium die Websocket API als Internetstandard veröffentlicht. Mit Websocket können Server bidirektional mit Clients kommunizieren. Ein Websocket-Client kann per Java-Script einfach mit wenigen Zeilen Code erstellt werden. Das Websocket-Protokoll sieht zum Eröffnen der Kommunikation einen Handshake vor, dem einfache, über TCP abgewickelte Nachrichten folgen, so dass der HTTP-Overhead entfällt. Der Client muss dabei die Verbindung öffnen, anschließend kann aber der Server jederzeit neue Daten an den Client schicken. Die Verbindung entspricht somit einer herkömmlichen full-duplex TCP-Verbindung. Da die Kommunikation auch über den Port 80 funktioniert, ist ein Firewall-Tunneling nicht notwendig.

Im WOAS-Projekt wurde zum Anbinden von AGs an ein IP-Netz auf Basis von Websocket ein Gateway-Server in Java entwickelt, der einen Zugang zu OPC-DA-Servern ermöglicht. Zum Übertragen der Prozessdaten über den Websocket-Kanal wird ein einfaches und pragmatisches Anwendungsprotokoll basierend auf JSON-Strings genutzt, das WOAS Device Protocol. Der Gateway-Server wird auch als WOAS Protocol Gateway (WPG) bezeichnet. Neben dem Websocket-Interface ­besitzt das WPG noch ein Rest-basiertes Interface (Rest: Representational State Transfer), über welches die ­Konfigurations- und Sicherheitsdaten per HTTP verwaltet werden können.

Will ein Anwender nun aus einer Webseite heraus auf ein OPC-Datum zugreifen, muss sich auf der Webseite ein geeigneter Websocket-Client, zum Beispiel in Java-Script (JS), befinden, der ein entsprechendes Web-API bereitstellt. Im WOAS-Projekt wird dieser Websocket-Client als Virtual Device (VD) bezeichnet.

Das VD bildet das reale Automatisierungsgerät in der Web-Welt virtuell ab und bietet für alle AGs einen einheitlichen Zugang über ein schlankes JS-Objektinterface. Das VD bildet gemeinsam mit dem WPG den Web-Connector, der einen einheitlichen Zugang zu den OPC-DA-Prozessdaten schafft. Das Zusammenwirken von Virtual Device und WPG im Web-Connector veranschaulicht das Bild oben rechts.

Anwendung und Zeitperformance

Die Anwendung des Web-Connectors erfolgt in den folgenden Schritten:

  • editieren der Konfigurationsdatei,

  • Start des WPG auf einem PC oder IPC,

  • Einbinden des VD in eine Funktions-Webseite, zum Beispiel für ein Operator-Panel,

  • Speicherung der Webseite auf einem beliebigen Webserver,

  • Aufruf der Webseite in einem beliebigen Browser.

Nach Erzeugen einer neuen VD-Instanz laufen alle sich ändernden OPC-Prozessdaten, die durch das VD abonniert wurden, im Event-Listener myVD_onDataChanged ein und können dort für ein Operator-Panel, eine Prozessvisualisierung und so weiter verwendet werden. Auf einer Webseite können beliebig viele VD-Instanzen genutzt werden, die über die zugehörigen Web-Connectoren auch auf verschieden OPC-Server zugreifen können.

Für den OPC-Web-Connector wurden umfangreiche Zeitmessungen, sowohl serverseitig wie auch clientseitig, durchgeführt. Für das clientseitige Ermitteln des Zeitverhaltens erzeugt eine HTML-Seite eine Pulsfrequenz, die an einen SPS-Ausgang geschickt wird. Dieser Ausgang ist hardwaremäßig mit einem SPS-Eingang verbunden, der seinen Wert wieder zurück auf die HTML-Seite liefert. Dort erfolgt dann eine Zeitdifferenzmessung und Aufzeichnung in einem Histogramm. Mit dieser Messmethode erhält der Anwender die Zeitcharakteristik der Prozessdatenübertragung über einen längeren Zeitraum und erfasst auch die Streubreite der ­Messungen. Die rechte Zeitcharakteristik im Bild oben zeigt deutlich eine verlängerte Laufzeit und ein erheblich größeres Rauschen – höhere Wahrscheinlichkeit einer Streuung der Laufzeiten – offensichtlich verursacht durch den qualitativ schlechteren WLAN-Zugang.

Die Messungen ergaben, dass sich mit dem Web-Connector über das Internet eine Prozessdatenübertragung mit einer Reaktionszeit von 35 bis 65 ms – one-way-Betrachtung – bei einer Wahrscheinlichkeit von zirka 90 Prozent erreichen lässt.

Zugang zu OPC DA-Daten

Mit dem Web-Connector wurde ein schneller und zuverlässiger Zugang zu OPC-DA-Daten entwickelt, der in beliebigen Webseiten einfach einzusetzen ist. Aktuell wird der Web-Connector im CCAD in einem WOAS-Demonstrator, einer Montageanlage für Modellautos, für den Zugriff auf unterschiedliche SPS-Steuerungen – Siemens, Phoenix Contact – eingesetzt. Interessierte Nutzer können den Web-Connector, nachdem sie sich im Düsseldorfer Telelabor (DT) www.telelabor.de registriert haben, testen und die Software für nichtkommerzielle Zwecke kostenfrei herunterladen.

Andere Arbeiten zum Web-Connector beschäftigen sich mit weiteren WPG-Implementierungen, zum Beispiel zur direkten Anbindung an Modbus TCP sowie zum Zugriff auf Steuerungen mittels eines IEC 61131-Bausteins als WPG ohne Nutzung eines OPC-Servers.

Bildergalerie

  • Der Gateway-Server WOAS Protocol Gateway, dargestellt mit seinen Komponenten

    Der Gateway-Server WOAS Protocol Gateway, dargestellt mit seinen Komponenten

    Bild: Fachhochschule Düsseldorf

  • Die Darstellung zeigt den Web-Connector als Kombination von Gateway-Server (WPG) und Virtual Device (VD).

    Die Darstellung zeigt den Web-Connector als Kombination von Gateway-Server (WPG) und Virtual Device (VD).

    Bild: Fachhochschule Düsseldorf

  • Die Zeitcharakteristik des Web-Connectors für die Übertragung eines Prozessdatums über das Internet während einer Zeitdauer von 30 Minuten zeigt in der rechten Grafik eine verlängerte Laufzeit und ein größeres Rauschen.

    Die Zeitcharakteristik des Web-Connectors für die Übertragung eines Prozessdatums über das Internet während einer Zeitdauer von 30 Minuten zeigt in der rechten Grafik eine verlängerte Laufzeit und ein größeres Rauschen.

    Bild: Fachhochschule Düsseldorf

Verwandte Artikel