IoT in D365FO (Architektur) – Dynamics 365 Supply Chain Management Community

Im heutigen Artikel werden wir über IoT sprechen; von IoT verbunden mit D365FO und wie wir unserem ERP eine neue Funktionsebene geben, die es uns ermöglicht, alles zu steuern, zu überwachen und vorherzusagen, was mit unseren verbundenen Geräten in unserem Unternehmen zu tun hat.

Was ist der Zweck dieser Funktionalität?

Heutzutage hören wir eindeutig immer mehr über IoT (Internet of Things) und wie man Geräte aus der Cloud steuert, Echtzeitüberwachung hat und so weiter. Genau das beabsichtigt diese Funktionalität; in der Lage zu sein, eine Arbeitsumgebung mit einer Reihe von IoT-Geräten (Signale, Sensoren, Maschinen, Telemetriedaten …) zu haben, die diese Informationen an D365FO senden, und in der Lage zu sein, auf der Grundlage dieser Daten Aktionen auszuführen und Schlussfolgerungen zu ziehen.

Vor einiger Zeit haben wir den Start dieser Funktionalität unter dem Namen „IoT Intelligence“ gesehen. Nun wurde diese Funktionalität verbessert und wiederum in „Sensor Data Intelligence“ umbenannt.

Was können wir mit dieser Funktion machen?

Derzeit können wir mit dieser Funktion 5 verschiedene Szenarien analysieren, obwohl erwartet wird, dass die Anzahl davon erhöht wird. Bisher konnten wir nur 3 davon analysieren.

Sehen wir sie uns in der folgenden Tabelle an:

Anwendungsbeispiele:

  • Produktionssensor, der für das Wiegen der darüber laufenden Paletten verantwortlich ist. Wenn das Gewicht höher als erwartet ist, muss diese Palette zurückgewiesen werden.
  • Präsenzleser an einer Produktionslinie zur Kontrolle, ob die Produktion noch läuft. Bei Störungen auf der Leitung werden wir benachrichtigt.
  • Messen Sie die Nutzungszeit eines Geräts, um vorherzusagen, wann eine Wartung erforderlich ist

Bisher konnten wir sagen, dass wir alle nicht-technischen Informationen dieser Funktionalität haben. Von diesem Punkt an werden alle technischen Aspekte der Architektur und Konfiguration analysiert, um die Vor- und Nachteile des Systems zu verstehen.

Wie kann ich diese Funktion aktivieren?

Diese neue Version der Funktionalität bietet uns eine sehr wichtige Variation hinsichtlich ihrer Aktivierung und Erstkonfiguration. Während es in der vorherigen Version über ein Add-In aus dem LCS-Portal konfiguriert wurde; in der aktuellen Version tun wir dies direkt aus der D365FO-Umgebung.

Wir werden also die folgenden Aktionen ausführen:

  1. Gehen Sie zu Systemverwaltung > Arbeitsbereiche > Funktionsverwaltung.
  2. Verwenden Sie auf der Registerkarte Alle das Feld Filter, um nach der Funktion namens Sensor Data Intelligence zu suchen.
  3. Wenn die Sensor Data Intelligence-Funktion auf Ihrem System aktiviert ist, wählen Sie sie in der Liste aus und wählen Sie dann Deaktivieren, um sie zu deaktivieren. Sie können diese alte Version des Features nicht zusammen mit der neuen Version verwenden
  4. Verwenden Sie das Feld Filter, um nach der Funktion namens (Vorschau) Sensordatenintelligenz zu suchen.
  5. Wählen Sie die Funktion in der Liste aus und wählen Sie dann Jetzt aktivieren aus, um sie zu aktivieren.

Sobald die Funktionalität aktiviert ist, werden wir sie konfigurieren:

  • Wir melden uns bei D365FO mit einem Konto an, das über Administratorrechte verfügt.
  • Wir gehen zu Systemverwaltung > Konfiguration > Sensordatenintelligenz > Azure-Ressourcen bereitstellen und verbinden, um den Assistenten zu öffnen.
  • Auf der Seite IoT-Beispiellösung in Azure bereitstellen wählen wir Bereitstellen aus.
  • Es öffnet sich ein neues Fenster, das uns direkt zum Azure-Portal weiterleitet.
  • Auf der Seite Benutzerdefinierte Bereitstellung wählen wir im Feld Abonnement das Abonnement aus, das die Ressourcen hosten wird.
  • Wir erstellen eine neue Ressourcengruppe oder verwenden eine vorhandene wieder
  • Wir setzen die folgenden Felder: Supply Chain Management Environment URL und Vorhandenen Azure IoT Hub wiederverwenden deaktiviert.
  • Wir wählen Weiter: Überprüfen und erstellen.

Sobald die Ressourcen erstellt wurden, werden wir einige abschließende Konfigurationen in der D365FO-Umgebung vornehmen.

Wenn wir den Assistenten nicht geschlossen haben, erscheinen im nächsten Schritt diese Felder:

Wenn wir den Assistenten geschlossen haben, müssen wir nur zur Systemverwaltungsroute > Konfigurieren > Sensordatenintelligenz > Sensordatenintelligenzparameter navigieren, in dem wir ein Formular sehen, in dem wir dieselben Felder konfigurieren können.

Wir benötigen 2 Informationsstrings, um diese Felder ausfüllen zu können. Wir gehen zum Azure-Portal und suchen in den erstellten Ressourcen nach 2 davon:

Client-ID (verwaltete Identität)
Redis-Cache

Wir kopieren diese Werte und fügen sie an der entsprechenden Stelle ein.

Sobald diese Schritte abgeschlossen sind, haben wir das Tool bereits richtig konfiguriert und können es verwenden. Aber wir werden nicht hier bleiben; Wir werden analysieren, was bei diesem Installationsprozess passiert ist und welche Elemente daran beteiligt sind.

Azure-Architektur

Im folgenden Bild sehen wir die Architektur, die in Azure vorhanden sein wird, sobald wir die oben genannten Ressourcen implementiert haben:

IoT-Sensoren

An erster Stelle (links im Bild) haben wir die physischen Sensoren, die dafür verantwortlich sind, die Informationen ihrer Messwerte an einen IoT-Hub zu senden. Diese Messwerte müssen in einem bestimmten Format an Azure gesendet werden und müssen immer ein „Sensor-Wert“-Paar sein.

Das Format ist JSON und hat eine Struktur wie die folgende:

{
    "value": 50,
    "sensorId": "Machine1"
}

Auf diese Weise ist der IoT Hub in der Lage, die empfangenen Nachrichten auf alle erstellten Geräte zu verteilen.

IoT-Hub

Diese Ressource ist für die Speicherung und Organisation aller IoT-Geräte zuständig, die wir haben. Konzeptionell sollte es so viele IoT-Geräte hosten wie echte Geräte, die wir angeschlossen haben.

Dazu gehen wir auf die Registerkarte “Geräte” und erstellen so viele wie wir wollen:

Der Unterschied zwischen ihnen besteht darin, dass jeder seine eigene Verbindungszeichenfolge hat, die wir verwenden müssen, um das Senden der Signale konfigurieren zu können.

Azure Stream Analytics

Diese Stream Analytics-Ressourcen sind für die Ausführung der folgenden Prozesse verantwortlich:

1. Die Verbindung zwischen dem IoT Hub (wo sich Gerätesignale befinden) und dem Ziel dieser Signale. Diese Informationen haben insbesondere zwei Ziele:

Somit können wir eine Stream Analytics-Ressource für jeden oben beschriebenen Szenariotyp finden.

Wenn wir eine davon eingeben, werden wir sehen, dass es Ein- und Ausgänge für diese Funktionen gibt, die allen gemeinsam sind.

  • Eintrittskarten
    • IoT-Signale
    • D365FO-Konfigurationsinformationen
  • Abflüge
    • Metrics to Redis Cache (um die Signale in D365FO visualisieren zu können)
    • Nachrichten an Service Bus (um mögliche Benachrichtigungen zu verwalten)
Azure-Funktion

Diese Ressource ist die einfachste von allen, aber die notwendigste. Es ist für die eigentliche Übertragung der Informationen zwischen Quelle und Ziel verantwortlich. Es ist der Kanal, über den unsere Signale von Stream Analytics zu Redis Cache wandern.

Redis-Cache

Azure Cache for Redis ist ein vollständig verwalteter In-Memory-Cache, der leistungsstarke und skalierbare Architekturen ermöglicht. Verwenden Sie es, um Cloud- oder Hybridbereitstellungen zu erstellen, die Millionen von Anfragen pro Sekunde mit einer Latenz von weniger als einer Millisekunde verarbeiten, und das alles mit den Konfigurations-, Sicherheits- und Verfügbarkeitsvorteilen eines verwalteten Dienstes. Daher ist es äußerst nützlich, wenn wir über die Übertragung einfacher Daten mit sehr hoher Frequenz und mit der Notwendigkeit von Echtzeit sprechen.

Wir können in dieser Ressource die Größe dieses Caches und die Lebensdauer der darin enthaltenen Daten konfigurieren. Es handelt sich um ein einfaches “SQL” mit automatischer Löschung.

Somit bietet es uns auch eine große Vielfalt an Skalierbarkeit, wie Sie im folgenden Bild sehen können:

Obwohl es sich offensichtlich später auf die Kosten der Ressource auswirkt.

In dieser Ressource werden unsere IoT-Daten gespeichert, damit D365FO auf sie zugreifen kann. Tatsächlich sendet D365FO regelmäßig Anfragen an Redis Cache, um die Daten abzurufen und die Diagramme zu erstellen.

Speicherblob

Diese Ressource ist nichts anderes als ein Speicherkonto, in dem wir von einer Logik-App aus die D365FO-Konfigurationen speichern, damit der Stream Analytics-Dienst später die echten Daten mit den Konfigurationen vergleichen und Warnungen generieren kann.

Der Inhalt des Speicherkontos ist wie folgt:

Wie Sie in jedem Ordner sehen können, werden die Informationen jedes Szenarios mit der Absicht gespeichert, dass Azure über diese Daten verfügt.

Wenn wir beispielsweise das Produktqualitätsszenario konfigurieren, haben wir eine ähnliche Datei wie diese mit den Informationen dieser Konfiguration:

Der Inhalt einer dieser Dateien ist wie folgt:

[

{

“@odata.etag”: “W/”JzEsNTYzNzE0NjA4MTsxLDY4NzE5NDc2NzYyJw==””,

“SensorId”: “MachineStatus1”,

“JobId”: “005863”,

“JobDataAreaId”: “usmf”,

“ItemNumber”: “P0111”,

“MaximumAttributeTolerance”: 30,

“OptimalAttributeValue”: 25,

“JobRegistrationStartDateTime”: “2022-09-22T02:50:40Z”,

“OrderId”: “B000052”,

“IsJobCompleted”: “No”,

“MinimumAttributeTolerance”: 10,

“JobRegistrationStopDateTime”: “1900-01-01T00:00:00Z”,

“AttributeName”: “Concentration”

}

]

Darin sehen wir den Namen des Sensors, die Firma, den Artikel, die Toleranzgrenzen, den zugehörigen Produktionsauftrag, das Attribut, das wir messen werden …

Mit diesen Informationen ist es nur notwendig, einen Vergleich mit dem vom Sensor erhaltenen Wert anzustellen, um zu wissen, ob er außerhalb oder innerhalb der Toleranzen liegt.

Logik-App (Streaming von Daten von D365FO zu Azure)

Diese Ressource ist am komplexesten zu analysieren, obwohl ihre Funktion vielleicht recht einfach zu verstehen ist. Diese Logik-App ist dafür verantwortlich, Konfigurationen von D365FO zu übernehmen und sie in den oben genannten Speicher zu übertragen. Wie es funktioniert? Man muss sich nur das folgende Schaubild anschauen, um die Komplexität der Materie zu erkennen.

Es ist unmöglich, irgendetwas in diesem Bild zu erkennen, also machen wir einen Spoiler: Es gibt einen Zweig für jedes Szenario. Konzentrieren wir uns also einfach auf eines und dann können wir es mental für die anderen wiederholen.

Nehmen wir das Beispiel des Szenarios Produktqualität.

Zunächst einmal haben wir eine Reihe von Anfragen, um auf D365FO zuzugreifen und die Liste der aktiven und konfigurierten Szenarien zurückzugeben.

Einmal erhalten (gemeinsamer Schritt für alle), führt der Ablauf seine eigenen Aktionen für jedes Szenario durch; im Fall der Produktqualitätsbewertung:

Ohne zu sehr ins Detail zu gehen, vergleicht dieser Ablauf die Konfigurationen, die im Speicher vorhanden sind, und erstellt diejenigen, die erforderlich sind, damit die Konfiguration aktuell ist. Standardmäßig beträgt die Verzögerung zwischen Konfigurationsaktualisierungen 2 Minuten, obwohl wir sie leicht ändern können.

Linienbus

Dieser Dienst ist dafür zuständig, alle von Stream Analytics erkannten Benachrichtigungen in eine Warteschlange einzureihen, die der Reihe nach an D365FO gesendet werden müssen.

Logik-App (Benachrichtigungen)

Sobald wir die Benachrichtigungen im Service Bus haben, brauchen wir etwas, um diese Warnungen an D365FO zu übertragen. Diese Logik-App kümmert sich darum.

Durch einen Post auf D365FO zeigt es uns die Warnungen und markiert die Nachrichten als abgeschlossen, sodass die Warteschlange geleert und die Nachricht nicht erneut gesendet wird.

Könnte ich mit diesem Wissen bereits IoT mit D365FO nutzen?

Natürlich ist die Antwort ja. Aber in diesem Artikel haben wir weder seine Funktionsweise noch seine Konfiguration gesehen. Dazu laden wir Sie ein, den folgenden Beitrag zu sehen, in dem es zusätzlich Überraschungen geben wird.

Im nächsten Beitrag werden wir Szenarien konfigurieren, sehen, wie die Ergebnisse in D365FO angezeigt werden, und auch sehen, wie wir mit externen Tools eine bessere Visualisierungsebene hinzufügen können. Schließlich, was gesagt wurde, wird eine Überraschung erscheinen.

.

Author: admin

Leave a Reply

Your email address will not be published. Required fields are marked *