05. März 2021
4 Min.

Azure IoT mit OPC UA - Der Weg von der Maschine in die Cloud

In der Kommunikation zwischen Maschinen und Endanwendungen verdienen mehrere Protokolle und Standards einen Platz in der ersten Reihe. So auch der OPC UA Standard, der immer weiter vorangetrieben wird. Deshalb ist es nicht verwunderlich, dass auch große Cloudanbieter wie AWS und Azure diesen Standard ihren Kunden anbieten und die Verbindung zwischen Maschine und der Cloud herstellen wollen. Der Nutzen, der sich aus dieser Möglichkeit ergibt, ist meiner Meinung nach riesig.
Maschine Novatec IoT

Maschinen, die zuvor nicht vernetzt waren und somit nur Informationen direkt bei der Maschine anzeigten, können nun ihre Sensordaten und Informationen weiter geben. Eine zentrale Sammelstelle wie der OPC UA Server oder die Cloud erhält alle Daten, sodass eine ortsunabhängige Auswertung möglich ist. Dank dieser Vernetzung können gesamte Fabrikhallen überwacht werden, was zu einer effizienteren Produktion führt. Zudem kann so bei möglichen Störungen frühzeitig reagiert werden.

Azure bietet hierzu ihre eigene Lösung an, die teils On Premise sowie auch Cloud Komponenten verwendet, um die Brücke von der Maschine zur Cloud speziell für OPC UA zu ermöglichen. Wie genau das funktioniert zeige ich in diesem Beitrag.

Der OPC UA Standard

OPC UA Open Platform Communications Unified Architekture ist ein Datenaustauschstandard für die industrielle Kommunikation. Dieser Standard ist unabhängig gegenüber Herstellern oder Systemlieferanten der Anwendung. Des Weiteren ist er Multiplattformfähig und unabhängig von der Programmiersprache.

Ein Unterschied zur Vorgängerversion liegt darin, dass die Maschinendaten nicht nur transportiert werden können, sondern auch lesbar semantisch beschrieben sind. Um Daten auszutauschen, bietet OPC UA zwei Mechanismen an. Zum einen das Client-Server-Modell wie man es schon kennt und zum anderen das Publisher-Subscriber-Modell. Beide Varianten bieten dem Anwender unterschiedliche Einsatzmöglichkeiten.

Übersicht OPC UA Standard

Eine Beschreibung von OPC UA, sowie eine generelle Übersicht von verwendeten Transportprotokollen finden Sie hier auf unserer Novatec Webseite, sowie einen weiteren interessanten Blogbeitrag zum Thema.

Übersicht der verwendeten Architektur

Für den im Blog dargestellten Anwendungsfall des Condition Monitoring, wurde die Architektur entwickelt, welche auch Komponenten für die visuelle Darstellung und der Datenspeicherung beinhaltet.

Ziel ist hier eine Verbindung zwischen Maschine und Cloud herzustellen, damit die gewonnen Daten der Sensoren und Statusinformationen der Maschine visuell mit einem in der Cloud liegenden Dashboard (Grafana) dargestellt werden können. Dabei werden zum einen On Premise Komponenten sowie Clouddienste benötigt.

Architektur eines Condition Monitoring

Architektur eines Condition Monitoring

In diesem Teil der Blogreihe konzentrieren wir uns auf den On Premise Bereich, der links in der Abbildung dargestellt ist. Hier gibt es drei Parteien die eine Rollen spielen. Die Produktionsmaschine, die an ein Netzwerk angeschlossen ist und die Daten zu einem OPC UA Server sendet. Der OPC UA Server, der die Anlaufstelle bildet und der Verbindungspunkt zu den Azure IoT Edge Services ist. Diese werden für die Übertragung der Daten in die Cloud und speziell zum IoTHub benötigt. Der Cloud Anteil bei dieser Architektur wird in dem zweiten Teil der Blogreihe näher betrachtet.

Einrichten von Azure

Das Ziel ist die Kommunikation mit der Azure Cloud und dem damit verbundenen IoTHub. Dieser muss erst einmal aufgesetzt werden und bietet anschließend eine ganze Reihe an Funktionen, um mit den gewonnenen Daten Analysen, Weiterleitungen oder sogar Machine Learning zu betreiben.

Konfiguration eines Azure IoT Hubs

Konfiguration eines Azure IoT Hubs

Nach der Bereitstellung des IoTHubs benötigt man nun den internen Endpunkt des IoTHubs, um eine Verbindung mit dem On Premise Teil herzustellen und so die Daten zu übertragen. Diese Einstellungen findet man im IoTHub im linken Rand unter integrierte Endpunkte. Dieser String beinhaltet alle wichtigen Informationen zum SharedAccessKey und zum EntityPath, um nun ein IoT-Edge Geräte mit dem IoTHub zu verbinden und einen Datenaustausch anzustoßen.

Einrichten Azure Edge On Premise

Um Maschinen Daten von dem OPC UA Server zu erhalten, benötigt es eine Installation direkt vor Ort im eigenen Netzwerk. Hierzu kann man ein HMI (Human-Machine Interface) oder einen Industrie-PC verwenden, der die Verarbeitung übernimmt.

Microsoft hat hierzu für Windows IoT Systeme einen simplen Installer entwickelt, der die Installation direkt übernimmt, für Linux Systeme liegt jedoch eine Installations-Anleitung bei. Während der Installation wird das IoT Edge Gerät im Azure IoTHub registriert und gemeldet. Im On Premise Bereich erfolgt die Installation von zwei Containern in Docker.

Azure IoT Edge On Premise Installation

Azure IoT Edge On Premise Installation

Nach erfolgreicher Installation und Registrierung werden automatisch der edgeHub und edgeAgent Docker-Container erzeugt. Diese sind für die Kommunikation zwischen angelegtem Azure Device und realem Device zuständig. So können Updates in der Konfiguration über die Azure Cloud ausgeführt und standortunabhängig auf das reale Device übertragen werden. Damit ist es nicht länger notwendig jedes Mal vor Ort das Gerät zu updaten. Somit können Zeit und Geld gespart werden.

Docker Container von Azure IoT Edge und OPCPublisher

Docker Container von Azure IoT Edge und OPCPublisher

Verbindung von OPC UA Publisher zu IoTHub

Zuletzt wird der Container OPCPublisher als Modul zum Device hinzugefügt. Dieser übernimmt die Kommunikation zwischen OPCUA Server und IotHub. Die übertragenen Daten landen dann im IoTHub und können zur weiteren Verarbeitung an eine Datenbank gesendet werden. Von dort aus können die Daten auf einem Dashboard visualisiert oder für weitere Analysen an ein Deep Learning Netzwerk angeschlossen werden.

Es gibt also wirklich viele Möglichkeiten, der Weg von der Maschine in die Cloud ist gut machbar und bietet aus meiner Sicht nur Vorteile.

CTA_IOT

Artikel kommentieren