IoT (und mehr) mit Azure Digital Twins

Im Zuge der Weiterentwicklung der Industrie 4.0-Konzepte werden wir uns mit der Azure-Ausgabe der Digital Twins (digitale Zwillinge) befassen. Die Definition von digitalen Zwillingen geht von der digitalen Darstellung der Eigenschaften von realen Dingen (oder Menschen) aus, entweder in Echtzeit (zur Steuerung und vorausschauenden Wartung) oder in Simulationen, um Verhaltensweisen vor dem tatsächlichen Einsatz zu erfassen und zu testen. Als solche sind Azure Digital Twins eng mit den Azure IoT-Diensten verwandt; sie könnten jedoch noch etwas mehr leisten, wie wir im Folgenden sehen werden.

Symbolbild: Ein Ingenieur und eine Ingenieurin stehen in einer modernen Fabrik, während der Ingenieur ein Tablet bedient, mit dem er eine Maschine in der Produktionslinie steuert.

Wie werden Modelle erstellt und eingesetzt ?

Azure Digital Twins stützt sich auf die Digital Twins Definition Language (DTDL), die der JavaScript Object Notation for Linked Data (JSON-LD) folgt, wodurch sie sprachenagnostisch und mit bestimmten Ontologie-Standards verbunden ist. Die Root-Struktur wird als Schnittstelle deklariert, die Eigenschaften, Beziehungen und Komponenten enthalten kann. Eigenschaften können Telemetriedaten (ereignisbasiert, wie z. B. Temperaturmessungen) oder Werte (z. B. Name oder Gesamtverbrauch) enthalten, Beziehungen beschreiben die Verbindung zwischen Zwillingen (z. B. Etage enthält Raum), und schließlich sind Komponenten auch Modelle, die in der Schnittstelle per Id referenziert werden (z. B. Telefon hat Kamera-Komponente).

Modelle unterstützen Vererbung, daher kann man sich diese Modelle bereits als serverlose (POCOs) Klassen vorstellen. In der Tat werden aus diesen Modellen Instanzen erstellt, die in Azure Digital Twins leben. Es stellt sich die logische Frage: Wenn es sich um Klassen handelt, was ist dann mit Methoden? Hier kommen die serverlosen Azure Functions sehr gut zum Einsatz, da alle Ereignisse von Digital Twins mit Azure Functions abgefangen und verarbeitet werden können. Somit schaffen Azure Digital Twins, gepaart mit Azure Functions, eine leistungsstarke serverlose Infrastruktur, die sehr komplexe ereignisgesteuerte Szenarien implementieren kann, indem sie die bereitgestellte REST-API für die Modell- und Datenmanipulation nutzt. Der Preis für diese Flexibilität ist eine ziemlich steile Lernkurve und man muss Funktionen für die Dateneingabe und -ausgabe von Grund auf neu schreiben.

Json-Modelle können manuell erstellt werden, oder noch einfacher, Microsoft stellt Beispiel-Ontologien (vorgefertigte Domänenmodelle) in Excel zur Verfügung, die erweitert oder angepasst werden können. Mit dem Digital Twins Explorer (derzeit in der Vorschau im Azure-Portal) können diese Modelle in Azure hochgeladen werden, wobei die Erstellung von Instanzen und Beziehungen bereits automatisiert ist. Unter dem Azure Digital Twins Explorer befindet sich eine REST API, sodass man diese auch programmieren kann.

In unserer Beispielimplementierung eines intelligenten Gebäudes (siehe Abbildung 1) haben wir Modelle (links) und Instanzen mit Beziehungen (rechts) erstellt und hochgeladen. Es gibt eine Unternehmensmodellinstanz für ZEISS Digital Innovation (ZDI), die zwei Gebäude in Dresden und München hat, die jeweils Stockwerke, Räume und Aufzüge enthalten.

Screenshot aus einem Programm zur Modellierung von Azure Digital Twins
Abbildung 1: Modellierung

Wie kommen die Daten in das System?

In unserer Smart-Building-Implementierung (siehe Abbildung 2) verwenden wir den IoT-Hub, um Sensordaten aus Räumen (Temperatur, Energieverbrauch, Anzahl der Personen in den Räumen, usw.), sowie OPC-UA-konvertierte Daten aus Aufzügen, zu sammeln.

Schematische Darstellung der Architektur einer Smart-Building-Implementierung
Abbildung 2: Architektur

Normalerweise lässt sich IoT Hub mit ein paar Klicks problemlos in Insight Time Series integrieren, aber es sind einige Funktionen erforderlich, um diese Daten mit Digital Twins abzufangen. Die erste Funktion reagiert auf Änderungen im IoT Hub Event Grid und gibt Aktualisierungen an Digital Twins weiter, die dann andere Funktionen auslösen können, z. B. die Berechnung und Aktualisierung des Gesamtenergieverbrauchs im Raum und die Weitergabe an alle Eltern. Alle diese Änderungen in den Digital Twins werden in einem Update-Patch-Format an den Event Hub weitergeleitet, das von Insight Time Series nicht gelesen werden kann. Hier kommt eine weitere Funktion ins Spiel, die diese Patch-Änderungen umwandelt und sie an einen anderen Event Hub weiterleitet, den Insight Time Series abonnieren und die Daten speichern kann. Klingt über-technisch? Ist es auch! Wie bereits erwähnt, muss eine Menge Arbeit von Grund auf geleistet werden, aber wenn man sich erst einmal mit den Konzepten vertraut gemacht hat, ist der Preis die Flexibilität bei der Implementierung fast aller Szenarien. Von vertikalen Hierarchien mit Datenvermehrung (z. B. Aggregationen des Wärmeverbrauchs) bis hin zu horizontalen Interaktionen zwischen Zwillingen auf der Grundlage von Beziehungen (z. B. wenn ein Aufzug spricht und die Leistung der anderen Aufzüge im selben Gebäude auf der Grundlage eines KI-Modells beeinflusst) kann alles implementiert werden.

Eine weitere leistungsstarke Funktion besteht darin, dass wir Daten aus praktisch jeder Quelle in Digital Twins streamen und mischen können, um ihre Nutzung für Business Intelligence zu erweitern. Von ERP- und Buchhaltungssystemen bis hin zu Sensoren und OPC-UA-Servern können Daten in Echtzeit eingespeist und mit Querverweisen versehen werden, um nützliche Informationsströme zu erzeugen – von Teebeuteln, die an einem verschneiten Wintertag in der Küche ausgehen, bis hin zu der Frage, ob der monetäre Aufwand für die Aufzugswartung proportional zur Anzahl der Fahrten im Jahr ist.

Wie werden die Daten analysiert und berichtet?

In vielen industriellen Systemen und dank der immer preiswerteren Speicherung landen alle Telemetriedaten in der Regel in einer Zeitreihe zur Analyse und Archivierung.

Datenalarme, Durchschnittswerte und Aggregationen können jedoch ein echter Gewinn für die Berichterstattung in Echtzeit sein. Digitale Zwillinge bieten eine vollständige REST-API, über die Zwillinge auf der Grundlage von Beziehungen, Hierarchien oder Werten abgefragt werden können. Diese APIs können auch komponiert und in API Management Services für Echtzeitaufrufe an Dritte weitergegeben werden.

Eine andere Möglichkeit ist die Nutzung von Time Series Insights für eine umfassende Analyse kompletter Datensätze oder die Verwendung von Abfragen aus Time Series zur Erstellung interaktiver Berichte mit Power BI.

Sowohl Echtzeit- als auch historische Berichte haben ihre Berechtigung, und die optimale Nutzung sollte auf der Grundlage konkreter Szenarien bestimmt werden.

Zusammenfassung

Azure Digital Twins bieten eine sprachenagnostische Modellierung, die eine Vielzahl von Datentypen akzeptieren und verschiedene Ontologien unterstützen kann. In Verbindung mit serverlosen Funktionen können sehr komplexe und leistungsstarke interaktive Lösungen erstellt werden. Diese Flexibilität ist jedoch mit hohen Kosten für die manuelle Implementierung in den Datenfluss mittels Events und Funktionen verbunden. Aus diesem Grund ist zu erwarten, dass Microsoft (oder ein Open-Source-Anbieter) in Zukunft Middleware mit generischen Funktionen und Bibliotheken für Standarddatenflüsse bereitstellen wird.

Dieser Beitrag wurde verfasst von: