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

PLCnext mit Azure IoT Edge optimieren: Edge Analytics & Cloud-Integration

Azure IoT Edge ermöglicht es, Cloud-Analysen und benutzerdefinierte Logik an den „Edge“ zu verlagern – in unseren Fall auf das PLCnext-Gerät. Das reduziert Bandbreitenverbrauch und Latenz. Mit Azure IoT Edge können Sie eigene Anwendungen von einer zentralen Cloud-Anwendung entwickeln und bereitstellen. In diesem Blog lernen Sie, Azure IoT Edge einzurichten und seine Grundprinzipien zu verstehen.

Einführung

Alle Details von Azure IoT Edge hier zu erklären, würde den Rahmen sprengen. Lesen Sie sich vorab auf diesem Portal ein. Dann installieren wir die Runtime.

PLCnext mit Azure IoT Edge optimieren: Edge Analytics & Cloud-Integration

Installation

Azure IoT Hub und Gerät erstellen

Voraussetzung: Azure-Konto existiert. Zuerst eine Ressourcengruppe mit sprechendem Namen erstellen („+“-Button → „Resource Group“). Dann einen IoT Hub Service anlegen – den Typ von „Standard“ auf „Free“ ändern, sonst Standardwerte belassen und bereitstellen. Schließlich ein IoT Edge Device erstellen: Im linken Panel auf „IoT Edge“ klicken, neues Gerät anlegen, ID vergeben, Rest auf Standard.

PLCnext mit Azure IoT Edge optimieren: Edge Analytics & Cloud-Integration PLCnext mit Azure IoT Edge optimieren: Edge Analytics & Cloud-Integration

Auf das neu erstellte Gerät klicken und den „Primary Connection String“ notieren – er wird für die Provisionierung benötigt.

PLCnext mit Azure IoT Edge optimieren: Edge Analytics & Cloud-Integration

Azure IoT Edge Runtime installieren

Befehle in Reihenfolge ausführen (aktuelle Version 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

Gerät provisionieren: nano /etc/iotedge/config.yaml und Connection String in Zeile 55 einfügen (Speichern: Strg+S, Beenden: Strg+X). Dann Neustart: reboot.

Installation prüfen

Als root ausführen: iotedge check --verbose. Keine Fehler? Weiter! Fehler? GitHub-Repository prüfen oder Issue erstellen.

Module bereitstellen

Nur die Runtime nützt wenig. Module deployen! „Set modules“ → „Runtime settings“ → „Hostport“ ändern, um Konflikt mit NGINX auf dem PLCnext zu vermeiden. Marketplace-Modul „Simulated Temperature Sensor“ hinzufügen, „Review + create“ → deployen.

PLCnext mit Azure IoT Edge optimieren: Edge Analytics & Cloud-Integration PLCnext mit Azure IoT Edge optimieren: Edge Analytics & Cloud-Integration

Einstellungen sollten so aussehen:

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

PLCnext mit Azure IoT Edge optimieren: Edge Analytics & Cloud-Integration

Telemetrie-Nachrichten überwachen

Zur Verifikation: Azure IoT Tools in VS Code installieren (Anleitung). Azure-Anmeldung erforderlich; Zertifikate ggf. auf Entwicklungsmaschine kopieren.

PLCnext-Daten an IoT Hub senden

Nächster Schritt: PLCnext Engineer-Daten in die Cloud. Mehrere Wege: Modbus-Modul mit Modbus-Server im PLCnext-Projekt, REST-Service mit GET-Requests und Custom-Modul, oder Marketplace-Module. Hier: OPC Publisher einrichten, um Daten vom eingebetteten OPC UA Server des PLCnext zu publizieren.

UPDATE: Aktuell Fehler im OPC Publisher Modul – bitte andere Methode nutzen.

Hinweis: Für diesen Blog PLCnext-Sicherheitsfeatures deaktiviert – nicht in Produktion nutzen!

Benutzerauthentifizierung im WBM des PLCnext deaktivieren. OPC Publisher aus Marketplace hinzufügen (wie „Simulated Temperature Sensor“). Container Create Options:

{
  "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"]
  }
}

Konfiguration anpassen (Node IDs), Ordner /appdata erstellen, Datei publishednodes.json anlegen:

[
  {
    "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}
    ]
  }
]

Bei Erfolg: Daten in Azure IoT Tools für VS Code sichtbar. Probleme? iotedge logs -f "namemode" hilft bei der Fehlersuche.

Credits & Kontakt

Danke an Oliver Warneke für die Vorarbeit. Probleme oder Fragen: axsupport@phoenixcontact.be.

Referenzen

Azure IoT Edge Dokumentation

Industrietechnik

  1. Warum Edge Computing für IoT-Erfolg essenziell ist
  2. Renesas stellt sichere RA MCU Serie für Industrial IoT und Edge Applikationen vor
  3. Vom Edge zur Cloud: IoT Data Pipelines meistern
  4. Edge Computing & IoT-Strategie: Insights vom IoT World 2019
  5. Sprint und Ericsson starten 5G-fähige IoT-Edge-Intelligence-Plattform
  6. PCB-Design für das Internet der Dinge meistern: Ein umfassender Leitfaden
  7. Edge Computing für IoT, KI und neue Technologien nutzen
  8. Edge & IoT: Daten harmonisieren für digitalen Erfolg
  9. Wie IoT und Edge Computing sich gegenseitig ergänzen
  10. Open Source treibt den Aufstieg von IoT und Edge Computing voran