Low-Code IoT-Apps mit PLCnext Controllern erstellen
PLCnext-Controller unterstützen mehrere Möglichkeiten, sich mit einem Cloud-Dienst zu verbinden. Sie könnten IEC-Funktionsbausteine aus der IoT-Bibliothek verwenden, Ihre eigene .NET-Anwendung erstellen, ein Python-Skript schreiben oder einen Connector in GoLang kompilieren. Wenn Sie Code schreiben wollen, haben Sie viele Optionen. Aber was, wenn Sie aus irgendeinem Grund keinen Code schreiben wollen? Vielleicht ist es Ihr erstes Projekt, oder es ist eine Weile her? In diesem Blog zeige ich, wie man eine IoT-Webanwendung erstellt, ohne eine einzige Zeile Code zu schreiben!
Okay, als ich sagte, wir würden keine einzige Zeile Code schreiben, war das vielleicht etwas übertrieben. Natürlich brauchen wir eine Möglichkeit, unserem PLCnext-Controller und Cloud-Dienst mitzuteilen, was wir wollen. Dafür werden wir nur grafische Oberflächen verwenden, also denke ich, ich bin technisch korrekt, wenn ich sage, wir schreiben keine einzige Zeile Code? Jedenfalls gilt der Ansatz als „Low Code“.
Zuerst stelle ich die verschiedenen Elemente oder Dienste vor, die wir in diesem Blog verwenden werden.
Einführung
PLCnext Controller – den muss ich wohl nicht weiter vorstellen. Wenn Sie sich noch unsicher über seine Fähigkeiten sind, besuchen Sie unbedingt das PLCnext Infocenter.
Node-RED – die offizielle Node-RED-Website beschreibt Node-RED als:
In früheren Maker's Blogs wird Node-RED mehrmals erwähnt. Unsicher, wie man Node-RED startet? Ich empfehle, diesen Artikel zu lesen.
Azure IoT Central – ist eine SAAS-Lösung (Software as a Service) in der Azure-Cloud, um codelose IoT-Lösungen zu erstellen. Wir erstellen ein Gerätetemplate mit einer definierten Schnittstelle, und die Visualisierung wird aus dem erstellten Template abgeleitet.
In diesem Template können wir drei „Arten von Variablen“ definieren: Telemetrie, Eigenschaften und Befehle. Ich werde die verschiedenen Arten im Template verwenden, hoffe, die Unterscheidung zwischen Eigenschaften und Telemetrie wird nach der Verwendung klar. Falls es noch etwas unklar ist, lesen Sie darüber in den Artikeln, die im Weiterführende-Literatur-Abschnitt verlinkt sind.
Zur Vereinfachung beschränken wir unser Beispiel auf einen sehr einfachen Pumpencontroller. Wir können die Pumpe in einen anderen Modus versetzen und einen Sollwert vorgeben.
Anwendung erstellen
Controller vorbereiten
Beginnen Sie mit der Aktualisierung Ihres Controllers auf die neueste verfügbare Firmware und installieren Sie die Balena-Engine für OCI-Container. Die Anweisungen zur Installation von Balena finden Sie hier. Wenn die Balena Engine erfolgreich installiert wurde, führen Sie den nächsten Befehl aus (dies dauert eine Weile).
balena-engine run -it -p 1880:1880 --name nodered --restart always pxcbe/node-red:azureiot
Azure IoT Central Service erstellen
Melden Sie sich in Ihrem Azure-Konto an und erstellen Sie eine Ressourcengruppe. In dieser Ressourcengruppe können Sie nun eine neue Azure IoT Central-Anwendung erstellen. Achten Sie darauf, die verschiedenen Tarife vor der Auswahl zu prüfen.
Gehen Sie zu Ihrem neu erstellten Azure IoT Central Service und wenn alles klappt, sollten Sie aufgefordert werden, ein neues Gerätetemplate zu erstellen. Wählen Sie die Erstellung eines neuen benutzerdefinierten Templates als IoT-Gerät. Führen Sie die folgenden Schritte aus, um das korrekte Template für diese Übung zu erstellen.
Gerätetemplate erstellen
- Dem Gerätetemplate den Namen „pump“ zuweisen
- Ein benutzerdefiniertes Modell erstellen
- „Fähigkeit hinzufügen“ drücken
- Eigenschaft „Pumpenstatus“ erstellen
- Telemetrie „Durchflussrate“ erstellen
- Befehl „Modus ändern“ erstellen
- Befehl „Leistung setzen“ erstellen
- Neu erstellte Fähigkeiten speichern
- Zu Ansichten gehen und „Standardansichten generieren“ auswählen (Sie können die Ansichten später ändern)
- Ihr Gerätetemplate veröffentlichen.
(Probleme? Fühlen Sie sich frei, das Template aus dem Repository zu importieren)
Neues Gerät erstellen
Ein Gerät basierend auf dem neu erstellten Template erstellen. Auf „Verbinden“ klicken und „ID-Bereich“, „Geräte-ID“ und „Primärschlüssel“ für die spätere Verwendung in Node-RED notieren.
PLCnext Engineer
Wir brauchen etwas Logik, um unsere Pumpe zu steuern. Ich habe ein PLCnext Engineer-Projekt im Repository bereitgestellt, das Sie verwenden können. Fühlen Sie sich frei, dieses Projekt zu erweitern, um unserer Pumpe neue Funktionen zu geben!
Node-RED
In der Zwischenzeit wurde Ihr Container erstellt und Ihre Node-RED-Umgebung sollte laufen. Importieren Sie die flow.json aus dem Repository. Klicken Sie auf den „Gerät“-Knoten und setzen Sie Ihre „Geräte-ID“, „Bereichs-ID“ und wählen Sie „Gerätebereitstellungsdienst“ und fügen Sie Ihren Primärschlüssel ein.
Legen Sie Ihren OPC UA-Server fest, indem Sie auf die READ- oder WRITE-Knoten klicken und die Einstellungen an Ihren Controller anpassen, und beenden Sie die Anwendung, indem Sie die Knoten deployen.
Anwendung testen
Wir sind bereit, die Anwendung zu testen. Sie sollten in der Lage sein, die Pumpe zu steuern, indem Sie ihren Status ändern und einen neuen Sollwert festlegen. Die Anwendung wurde bewusst so einfach wie möglich gehalten. Ich ermutige Sie, darauf aufzubauen, um ein gutes Verständnis für all die verschiedenen Einstellungen zu bekommen, die Sie bei der Einrichtung Ihrer Schnittstelle vornehmen können. Sie können sogar eine Karte erstellen, um anzuzeigen, wo Ihre Pumpen sind!
Weiterführende Literatur
Node-RED
Azure IoT Central
Industrietechnik
- ADLINK & Google Cloud kooperieren für nahtlose IoT-Lösungen
- Selbstbalancierenden Segway mit Raspberry Pi bauen
- Feuerwehr revolutionieren: Wie IoT Safety, Response und Rescue verbessert
- Städtische Überschwemmungen bekämpfen mit IoT-Netzwerklösungen
- Next-Gen IoT-Lösungen engineering, die Grenzen überschreiten und operative Exzellenz treiben
- IoT für HVAC Big Data nutzen: Energie, Komfort und Luftqualität optimieren – Teil 2
- ABB führt intuitives IoT-Dashboard für effiziente mittelständische Gebäudeautomation ein
- Rockwell Automation und Accenture starten Industry X.0 Digital Platform für industrielle Transformation
- Industrial IoT Security: Herausforderungen meistern und robuste Lösungen implementieren
- Automobilproduktion revolutionieren: Fertigungsherausforderungen mit IoT-Lösungen meistern