Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Azure IoT Edge und PLCnext

Azure IoT Edge ermöglicht es, Cloud-Analysen und Kundenlogik an „den Rand“ zu verlagern, in unserem Fall auf unser PLCnext-Gerät. Dies hat einige Vorteile, da es die verwendete Bandbreite und Latenz verringert. Mit Azure IoT Edge können Sie Ihre eigenen Anwendungen aus einer zentralen Cloud-Anwendung heraus entwickeln und bereitstellen. In diesem Blog erfahren Sie, wie Sie Azure IoT Edge einrichten und einige seiner Grundprinzipien.

Einführung

Es mag für einen Makersblog zu weit gehen, alle Vor- und Nachteile der Azure IoT Edge-Lösung zu erklären, aber lesen Sie sich unbedingt ein, bevor Sie mit diesem Blog fortfahren. Auf diesem Portal finden Sie alle Informationen, die Sie benötigen, um sich ein gutes Bild davon zu machen, was wir in diesem Blog tun. Lass uns gehen und die Laufzeitumgebung installieren.

Installation

Erstellen Sie einen Azure IoT Hub und erstellen Sie ein Gerät

Bevor wir anfangen, müssen wir zuerst etwas im Azure-Portal einrichten. Ich gehe davon aus, dass Sie bereits ein Azure-Konto eingerichtet haben.

Als erstes müssen wir eine Ressourcengruppe erstellen und ihr einen aussagekräftigen Namen geben. Klicken Sie auf Neue Ressourcengruppe erstellen. Wenn es nicht aufgeführt ist, können Sie auf die Schaltfläche „+“ klicken und nach einer neuen Ressourcengruppe suchen.

Erstellen Sie einen neuen IoT Hub-Dienst. Sie können 1 kostenlosen IoT Hub-Dienst haben, vielleicht möchten Sie den Typ von „Standard“ in „Kostenlos“ ändern! Belassen Sie andernfalls alles auf den Standardeinstellungen und fahren Sie mit der Bereitstellung des Dienstes fort. Unser letzter Schritt ist die Erstellung eines IoT-Geräts. Öffnen Sie den Dienst und suchen Sie im linken Bereich des Fensters nach IoT Edge. Klicken Sie darauf und erstellen Sie ein neues IoT Edge-Gerät. Geben Sie dem Gerät eine ID, alle anderen Einstellungen können auf den Standardwerten belassen werden.

Klicken Sie auf das neu erstellte Gerät und notieren Sie sich die „Primäre Verbindungszeichenfolge“, diese Zeichenfolge benötigen wir im nächsten Schritt, um unser Gerät bereitzustellen.

Installieren der Azure IoT Edge-Laufzeit

Führen Sie die folgenden Befehle der Reihe nach aus, eine aktuelle Version finden Sie immer hier.

git clone https://github.com/pxcbe/azure-iot-edge.git
cd azure-iot-edge/install
sudo passwd root
su
chmod +x SetupEdge.sh 
./SetupEdge.sh

Der nächste Schritt ist die Bereitstellung unseres Geräts. Dies ist halb- oder sogar vollautomatisiert möglich. Mehr Informationen dazu finden Sie hier im Infoportal. Geben Sie den nächsten Befehl in Ihre Shell ein und fügen Sie Ihre Verbindungszeichenfolge in Zeile 55 der Yaml-Datei ein. (Schließen mit Strg + S Strg + X)

nano /etc/iotedge/config.yaml

Starten Sie den Controller neu, damit die Änderungen wirksam werden.

reboot

Überprüfen der Installation

Führen Sie den nächsten Befehl als root aus:

iotedge check --verbose 

Wenn Sie keine Fehler erhalten, können wir fortfahren! Sie haben einen Fehler? Sehen Sie sich das GitHub-Repository an, vielleicht ist ein Fix verfügbar. Andernfalls steht es Ihnen frei, ein Problem zu erstellen!

Module bereitstellen

Nur die Laufzeit wird uns nicht gut tun. Beginnen wir mit der Bereitstellung einiger Module! Klicken Sie auf „Module festlegen“ und klicken Sie auf Laufzeiteinstellungen. Hier müssen wir den „Hostport“ ändern, um ihn vom NGINX-Server zu löschen, der auf dem PLCnext läuft. Fügen Sie schließlich ein Marktplatzmodul mit dem Namen „Simulierter Temperatursensor“ hinzu. Drücken Sie „review + create“ und stellen Sie das Modul auf dem PLCnext-Gerät bereit.

Die Einstellungen sollten wie folgt aussehen:

{
"HostConfig": {
"PortBindings": {
"443/tcp": [
{
"HostPort": "444"
}
],
"5671/tcp": [
{
"HostPort": "5671"
}
],
"8883/tcp": [
{
"HostPort": "8883"
}
]
}
}
}

Telemetrienachrichten ansehen

So überprüfen Sie, ob die Nachrichten eingehen. Befolgen Sie dieses Verfahren, um Azure IoT-Tools in Visual Studio Code zu installieren. (Sie müssen sich bei Azure anmelden, stellen Sie also sicher, dass sich Zertifikate, wenn Sie sie verwenden, auch auf Ihrem Entwicklungscomputer befinden).

PLCnext-Daten an IoT Hub abrufen

Der nächste Schritt wäre, unsere PLCnext Engineer-Daten in die Cloud zu bringen. Dazu gibt es mehrere Möglichkeiten. Sie könnten das Modbus-Modul verwenden und einen Modbus-Server in Ihrem PLCnext-Projekt erstellen. Sie können den REST-Service und GET-Anforderungen mit einem benutzerdefinierten Modul verwenden, wir finden auf dem Marketplace eines, das Ihren Anforderungen entspricht. Ich werde erklären, wie man den OPC Publisher einrichtet um Ihnen den Einstieg in die Veröffentlichung Ihrer Daten aus dem Embedded OPC UA Server der PLCnext zu erleichtern.

UPDATE:Es sieht so aus, als ob es derzeit einen Fehler mit dem OPC Publisher-Modul gibt, bitte versuchen Sie es vorerst mit einer anderen Methode.

Haftungsausschluss:Für diesen Blog werden wir die PLCnext-Sicherheitsfunktionen deaktivieren, bitte verwenden Sie diese nicht in der Produktion!

Deaktivieren Sie die Benutzerauthentifizierung im WBM Ihres PLCnext-Geräts, bevor Sie fortfahren.

Fügen Sie den OPCPublisher aus dem Marketplace auf die gleiche Weise hinzu, wie Sie es mit dem „Simulierten Temperatursensor“ getan haben. Klicken Sie auf das Modul und gehen Sie zu den Optionen zum Erstellen von Containern. Kopieren Sie die nächsten Einstellungen und fügen Sie sie in das Fenster unter Optionen zum Erstellen von Containern ein.

{
"Hostname": "publisher",
"Cmd": [
"publisher",
"--pf=/appdata/publishednodes.json",
"--di=60",
"--to",
"--aa",
"--si=10",
"--ms=262144"
],
"HostConfig": {
"Binds": [
"/iiotedge:/appdata"
],
"PortBindings": {
"62222/tcp": [
{
"HostPort": "62222"
}
]
},
"ExtraHosts": [
"localhost:127.0.0.1"
]
}
}

Passen Sie die nächste Konfiguration an Ihre Knoten-IDs an, erstellen Sie den Ordner /appdata und erstellen Sie eine Datei mit dem Namen „publishednodes.json“, die Ihre neue Konfiguration enthält.

[
{
"EndpointUrl": "opc.tcp://192.168.10.10:4840",
"UseSecurity": false,
"OpcNodes": [
{
"Id": "ns=3;s=Counter",
"OpcSamplingInterval": 2000,
"OpcPublishingInterval": 5000
},
{
"Id": "ns=3;s=Sinusoid",
"OpcSamplingInterval": 2000,
"OpcPublishingInterval": 5000
}
]
}
]


Wenn alles gut gelaufen ist, sollten Sie die Daten in Ihren Azure IoT-Tools für Visual Studio sehen!

Haben Sie immer noch Probleme?
Sie können den nächsten Befehl verwenden, um zu sehen, was vor sich geht.

iotedge logs -f "namemode"

Credits

Besonderen Dank an Oliver Warneke für seine Arbeit, auf der ich aufbauen konnte, und dafür, dass er sich die Zeit genommen hat, mich auf den neuesten Stand zu bringen!

Kontakt

Treten Probleme auf oder möchten Sie mehr wissen? Bitte wenden Sie sich an [email protected].

Referenzen

https://docs.microsoft.com/en-us/azure/iot-edge/about-iot-edge?view=iotedge-2018-06

Industrietechnik

  1. Warum Edge Computing für das IoT?
  2. MCUs zielen auf sichere IoT-Endpunkt- und Edge-Designs ab
  3. Nutzung von IoT-Daten vom Edge in die Cloud und zurück
  4. The Edge und IoT:Einblicke aus der IoT World 2019
  5. Sprint und Ericsson kooperieren bei Intelligenz am Netzwerkrand
  6. Leitfaden zu PCBs und IoT
  7. Gedanken zu neuen Technologien, Edge und IoT
  8. Design für den Edge- und IoT-Erfolg
  9. Die Beziehung zwischen IoT und Edge Computing
  10. Open Source fördert die Einführung von IoT und Edge Computing