Technologische Neuigkeiten, Bewertungen und Tipps!

IoT-Echtzeitanalysen – WAGO PLC mit Databricks Auto Loader – Auf dem Weg zur KI

Hinweis: Der folgende Artikel hilft Ihnen dabei: IoT-Echtzeitanalysen – WAGO PLC mit Databricks Auto Loader – Auf dem Weg zur KI

Ursprünglich veröffentlicht auf Towards AI, dem weltweit führenden Nachrichten- und Medienunternehmen für KI und Technologie. Wenn Sie ein KI-bezogenes Produkt oder eine KI-bezogene Dienstleistung entwickeln, laden wir Sie ein, darüber nachzudenken, KI-Sponsor zu werden. Bei Towards AI helfen wir bei der Skalierung von KI- und Technologie-Startups. Wir helfen Ihnen dabei, Ihre Technologie der breiten Masse zugänglich zu machen.

IoT-Echtzeitanalysen – WAGO PLC mit Databricks Auto Loader

Moderne Unternehmen verfügen über eine überwältigende Menge an Daten aus einer Vielzahl von IoT-Geräten und -Anwendungen in zahlreichen und unterschiedlichen Dateiformaten. Die Erfassung und Umwandlung dieser Daten in ein lesbares, nützliches Format kann äußerst zeitaufwändig und komplex sein. Auto Loader ist ein erstaunliches Tool von Databricks, das die Lösung vereinfacht, eine vollständige Automatisierung des Prozesses gewährleistet und eine Entscheidungsfindung in Echtzeit ermöglicht.

Databricks ist eine skalierbare Big-Data-Analyseplattform, die fĂĽr Data Science und Data Engineering sowie fĂĽr die Integration mit wichtigen Cloud-Plattformen entwickelt wurde Amazon Webdienste, Microsoft Azure und Google Cloud Platform.

Auto Loader ist eine Funktion von Databricks, um Millionen von Dateien pro Stunde aus einem Data Lake zu streamen oder inkrementell aufzunehmen und umzuwandeln und neu ankommende Dateien zu lesen. Für eine ausführliche Erläuterung des Databricks Auto Loader klicken Sie hier.

Data Mastery hat kürzlich eine Auto-Loader-Lösung bei einem OEM in der Bergbauindustrie implementiert, um Telemetriedaten von WAGO-SPS-Geräten zu erfassen und in das IoT umzuwandeln Hub. Zuvor lud der OEM die Datendateien manuell vor Ort herunter und wandelte die Datendatei dann manuell mit Excel um, um einen lesbaren Bericht zu erstellen. Auto Loader automatisiert diesen Prozess vollständig und liefert automatisch einen lesbaren Bericht, wodurch eine Arbeitsstunde manueller Datenverarbeitung pro Schicht entfällt und über 21 Arbeitsstunden pro Woche und Standort (24-Stunden-Betrieb) eingespart werden. Es versteht sich von selbst, dass unser Kunde mit dem Ergebnis zufrieden war!

So erfassen und transformieren Sie WAGO-SPS-Gerätedaten

In diesem Artikel erkläre ich, was wir getan haben, um eine Streaming-Lösung zur Aufnahme und Umwandlung von WAGO-SPS-Daten zu entwickeln, die von mehreren Standorten und Geräten an den IoT-Hub gesendet werden.

Die Daten beginnen in 1000x 16-Bit-Unicode-Registern. Dies wird fĂĽr Berechnungen in der ARM-Assemblersprache verwendet, die von der MRA und in der SPS verwendet wird.

In diesem Fall ist die Codierung innerhalb der Binärregister unterteilt, um mehr als eine Information zu übertragen. Ein Beispiel ist die Codierung von Datum und Uhrzeit, bei der Sekunden und Minuten im selben 16-Bit-Register codiert werden.

Während die Daten auf dem WAGO-SPS-Gerät als 16-Bit-Register gespeichert werden, werden sie als 2000 x 8-Bit-Unicode-Register an den IoT-Hub gesendet, um die gesendeten Paketgrößen zu reduzieren. Daher muss es im Rahmen der Umwandlung in ein lesbares Format von 8-Bit-Registern zurück in 16-Bit-Register umgewandelt werden.

Lösung

Die verwendete Lösung folgt den folgenden allgemeinen Schritten:

  1. WAGO-SPS-Nachrichten werden an Azure IoT gesendet Hubwobei diese Nachrichten basierend auf ihrer DeviceId im JSON-Format an bestimmte Azure Storage-Container weitergeleitet werden.
  2. Wenn die Datei im Speichercontainer landet, erstellt ein von Event Grid erstellter Abonnent eine Nachricht in einer Azure Storage-Warteschlange mit dem Speicherort und Namen der neuen Datei.
  3. Databricks Auto Loader ĂĽberprĂĽft die Speicherwarteschlange auf neue Nachrichten und liest den Dateistream bei ihrem Eintreffen in einen Datenrahmen.
  1. Der Eingabedatenrahmen wird dann von 2000 x 8-Bit-Unicode-Registern zurĂĽck in 1000 x 16-Bit-Unicode-Register und anschlieĂźend in die gewĂĽnschten Formate umgewandelt, z. B. Tonnage pro Stunde, Tag, Monat, Jahr usw.
  2. Der transformierte Datenrahmen wird dann an eine Delta-Tabelle für den Power BI-Verbrauch angehängt.

Voraussetzungen

  • Konfigurieren Sie WAGO-SPS-Geräte zum Senden von Nachrichten an Azure IoT Hub
  • Registrieren Sie einen Azure-Dienstprinzipal – wird fĂĽr die automatische Erstellung von Event Grid/Abonnement und Speicherwarteschlange verwendet. Alternativ können Sie die Dienste auch manuell erstellen, wenn Sie möchten
  • Generieren Sie eine Shared-Access-Signatur fĂĽr die Speicherwarteschlange mit den folgenden Berechtigungen
  • Erstellen Sie die folgenden Azure Key Vault-Geheimnisse fĂĽr SubscriptionId, TenantId, Bronze-Queue-ConnectionString (oben erstellt), Service Principal ClientId und ClientSecret (oben erstellt).

Um die Auto Loader-Streaming-Lösung zu erstellen, müssen die folgenden Schritte ausgeführt werden.

  1. Konfigurieren Sie WAGO-SPS-Geräte zum Senden von Nachrichten an Azure IoT Hub
  2. Leiten Sie eingehendes IoT weiter Hub Nachrichten an bestimmte Speichercontainer durch Filterung nach DeviceId
  3. Erstellen Sie eine PySpark-Funktion, um die strukturierten Spark-Stream-Quell-cloudFiles zum Lesen aus dem ADLS Gen2-Eingabespeichercontainer zu verwenden
  4. Erstellen Sie eine PySpark-Funktion, um den Eingabedateistream in die gewĂĽnschten Ausgabespalten umzuwandeln
  5. Schreiben Sie den Stream- oder Batch-Datenrahmen in eine Databricks-Delta-Tabelle
  6. Testen 🙂

Detaillierte Schritt-fĂĽr-Schritt-Anleitung:

  1. Konfigurieren Sie die WAGO-SPS so, dass sie Nachrichten an den Azure IoT Hub sendet
  2. Leiten Sie eingehendes IoT weiter Hub Nachrichten an bestimmte Speichercontainer abhängig von DeviceId

2.1. Erstellen Sie einen benutzerdefinierten Endpunkt fĂĽr einen ADLS Gen2-Speichercontainer

IoT Hub ? Nachrichtenweiterleitung? Benutzerdefinierte Endpunkte? HinzufĂĽgen

2.2. Erstellen Sie eine Route und fĂĽgen Sie eine Abfrage zum Filtern nach DeviceId hinzu

IoT Hub ? Nachrichtenweiterleitung? Routen? HinzufĂĽgen

3. Erstellen Sie eine PySpark-Funktion, um neu ankommende Dateien in der Speicherwarteschlange zu lesen

4. Erstellen Sie eine PySpark-Funktion, um den Datenrahmen des Eingabedatei-Streams in die gewĂĽnschten Ausgabespalten umzuwandeln.

HINWEIS: Aufgrund der groĂźen Anzahl an Transformationen habe ich nur eine Beispieltransformation hinzugefĂĽgt

6. Testen 🙂

FĂĽhren Sie den Prozess durchgehend aus, um zu ĂĽberprĂĽfen, ob die Daten in die Tabelle eingefĂĽgt wurden.

Abschluss

Auto Loader ist ein hervorragendes Tool, das in jedem Unternehmen und in jeder Branche eingesetzt werden kann, um die Vorteile einer einfachen, zeiteffizienten Lösung und Echtzeitdaten zu nutzen.

Ich hoffe, dass Sie dies hilfreich fanden und Ihrem Unternehmen beim Einstieg in Databricks Auto Loader Geld und Zeit sparen werden, und ich hoffe, dass es dabei hilft, Erkenntnisse zu gewinnen, die Ihrem Unternehmen einen Mehrwert verleihen.

Wenn Sie eine Kopie meines Codes wĂĽnschen, schreiben Sie mir bitte eine Nachricht auf LinkedIn, oder wenn Ihnen das Lesen genauso viel SpaĂź gemacht hat wie mir das Schreiben, teilen Sie es bitte mit Ihren Freunden.


IoT Real Time Analytics – WAGO PLC mit Databricks Auto Loader wurde ursprünglich in Towards AI auf Medium veröffentlicht, wo die Leute das Gespräch fortsetzen, indem sie diese Geschichte hervorheben und darauf antworten.

Veröffentlicht über Towards AI

Table of Contents

Toggle

Your Header Sidebar area is currently empty. Hurry up and add some widgets.