Flows (Node-RED) — Erste Schritte
Über das Menü /ui/flow gelangen Sie zur Node-RED-Umgebung, die im Gateway integriert ist.
Node-RED ist ein Low-Code-Werkzeug, bei dem Sie Bausteine (Nodes) per Drag-and-drop verbinden und so Datenflüsse aufbauen. Sie können Tag-Werte des Gateways lesen und schreiben, über MQTT/HTTP an externe Systeme anbinden und Automatisierungen wie Alarme, Logging oder Berechnungen abbilden.
Node-RED 4.1.10 + Node.js 20 (beides global im Image installiert). Beim ersten Start des Containers wird userDir.seed
(im Image enthaltene Standard-Flows + node_modules + plantpulse-edge / node-red-contrib-opcua Nodes)
automatisch nach /data1/pp-data/node-userdir/ kopiert (ab dem zweiten Start bleiben die Benutzer-Flows erhalten).
Auch nach einem Image-Upgrade bleiben die Benutzer-Flows unverändert.
Die PlantPulse-eigenen Nodes (pp-tag-value-read / pp-tag-value-write / pp-opc-* / pp-tag-list)
werden per absolutem Symlink auf node/conf/plantpulse-edge-nodes/ im Image verknüpft — der Entrypoint stellt dies bei jedem
Start sicher (damit tritt das Problem der früheren nativen Symlinks mit relativem Pfad, die im Container brechen, gar nicht erst auf).
Schließen Sie zunächst 자주 하는 작업 → 새 PLC 연결 추가 / 태그 등록 ab und beginnen Sie erst, wenn mindestens ein Tag in Echtzeit erfasst wird. Node-RED verwendet diese Tag-Werte als Eingang.
1. Zugriff
Rufen Sie das Gateway im Browser auf und wählen Sie im linken Menü Flows (Node-RED) oder navigieren Sie direkt zu http://<gateway>/ui/flow.
2. Aufbau der Oberfläche
| Bereich | Beschreibung |
|---|---|
| Links: Palette | Liste der verfügbaren Nodes, nach Kategorien sortiert. Die Kategorie 엣지 enthält die Gateway-spezifischen Nodes. |
| Mitte: Workspace | Nodes per Drag-and-drop platzieren und mit Wires verbinden. Eine Aufteilung in Tabs (mehrere Flows) ist möglich. |
| Rechts: Sidebar | Im Tab info die Hilfe zum ausgewählten Node, im Tab debug die Ausgabeprotokolle der debug-Nodes. |
| Oben rechts: Deploy | Damit Änderungen tatsächlich wirksam werden, müssen Sie zwingend die Schaltfläche Deploy betätigen. |
3. Grundlegende Bedienung — nützliche Tastenkürzel
| Aktion | Vorgehen |
|---|---|
| Node hinzufügen | Aus der Palette in den Workspace ziehen |
| Node konfigurieren | Doppelklick auf den Node → im rechten Panel bearbeiten → Done |
| Nodes verbinden (Wire) | Ausgangspunkt (rechts) eines Nodes auf den Eingangspunkt (links) eines anderen Nodes ziehen |
| Wire trennen | Wire anklicken, um ihn auszuwählen, dann Delete |
| Mehrfachauswahl | Bereich mit Shift aufziehen oder mit Ctrl/Cmd + 클릭 zusätzlich auswählen |
| Kopieren / Einfügen | Ctrl/Cmd + C / Ctrl/Cmd + V |
| Suchen | Ctrl/Cmd + F — Node-Namen in der Palette suchen |
| Flow importieren | Menü → Import → JSON einfügen (die Beispiele aus diesem Dokument lassen sich direkt importieren) |
Auch wenn Sie Nodes hinzufügen, löschen oder ändern: Solange Sie nicht Deploy drücken, weiß das Gateway nichts davon. Ein Node mit rotem Punkt (●) bedeutet „nicht gespeicherte Änderungen vorhanden".
4. Grundstruktur einer Nachricht (msg)
Die Daten, die zwischen den Nodes fließen, sind stets ein JavaScript-Objekt namens msg. Die am häufigsten verwendeten Felder:
| Feld | Bedeutung |
|---|---|
msg.payload | Nutzdaten (Hauptinhalt). Zahl, Zeichenkette, Objekt oder Buffer möglich |
msg.topic | Topic (Klassifizierungslabel). Häufig bei MQTT/Switch/Join verwendet |
msg.timestamp | Zeitstempel (bei Bedarf selbst zu befüllen) |
msg._msgid | Von Node-RED automatisch vergebene eindeutige ID — für die Nachverfolgung |
Die meisten Nodes arbeiten allein mit msg.payload.
5. Edge-Nodes — auf einen Blick (Gateway-spezifisch)
In der Kategorie 엣지 links in der Palette befinden sich zwei vom Gateway selbst registrierte Nodes. Sie bilden in nahezu jedem IIoT-Flow den Eingang bzw. Ausgang.
| Symbol | Node | Englische Bezeichnung | Funktion | Aufgerufene REST |
|---|---|---|---|---|
| ⬇ | Tag-Wert lesen (pp-tag-read) | read tag value | Aktuellen Wert eines Tags abrufen (aus dem Cache oder direkt per Read von der PLC) | GET /api/v1/tag/{tagId}/value |
| ⬆ | Tag-Wert schreiben (pp-tag-write) | write tag value | Wert in ein Tag schreiben (wird sofort in der PLC wirksam) | POST /api/v1/tag/{tagId}/value |
inject (1s) ──▶ 태그값 읽기 ──▶ 처리 (function/switch/...) ──▶ 태그값 쓰기 / mqtt out / debug / file ...
So finden Sie die Nodes — im Suchfeld der Palette read tag oder 엣지 eingeben → es werden nur diese beiden Nodes angezeigt. Sie sind in hellem Pastellblau gehalten.
| Häufig leer gelassene Felder in der Node-Konfiguration | Dynamische Befüllung |
|---|---|
| Tag ID | Im Flow dynamisch über msg.tagId = 'TAG_...' setzen (ein Node lässt sich so für mehrere Tags wiederverwenden) |
| Value (Schreib-Node) | Im Flow über msg.value oder msg.payload befüllen |
Prüfen Sie Schreibvorgänge ausgiebig mit einem externen Simulator oder einem Test-Tag, bevor Sie sie an einer realen Anlage einsetzen. Schreibrechte nur für Tags, die mit dem Betriebsteam abgestimmt sind.
Ausführliche Felder / Ein- und Ausgänge / Übersicht aller unterstützten Protokolle → Kategorie Edge (Tag lesen/schreiben)
6. Der erste Flow — Hello World
Ziel: alle 5 Sekunden ein Tag lesen und in der Debug-Sidebar ausgeben.
inject-Node aus der Palette ziehen → Doppelklick →Repeat: intervalevery 5 seconds→ Done- Node
엣지→태그값 읽기ziehen → unter Tag ID ein reales Tag eintragen (z. B.TAG_TEST_00042) → Done debug-Node aus der Palette ziehen- Die drei Nodes in der Reihenfolge
inject → 태그값 읽기 → debugper Wire verbinden - Oben rechts auf Deploy klicken
- Den Tab debug in der rechten Sidebar öffnen und prüfen, ob alle 5 Sekunden ein Wert ausgegeben wird
Dieses Muster (zyklischer Trigger → Lesen → Verarbeiten) ist die Grundform jedes IIoT-Flows.
7. Nächste Schritte
In der Reihenfolge des linken Menüs:
- Grundlegende Nodes — Funktionsweise der 14 im IIoT-Umfeld häufigsten Nodes
- Edge-Nodes (Tag lesen/schreiben) — Gateway-spezifische Nodes (ausführliche Fassung der Übersicht aus Abschnitt 5)
- MQTT-Nodes im Detail — Broker-Konfiguration / Pub / Sub / LWT / Birth
- OPC-UA-Nodes im Detail — Endpoint / Item / Client / Subscribe / Browse
- Sparkplug B-Nodes im Detail — Group / Edge / Birth-Death / Senden und Empfangen
- IIoT-Beispielsammlung — 12 Muster, die Vor-Ort häufig umgesetzt werden
- Troubleshooting — häufige Stolperfallen
8. Weiterführende Informationen
- Im OPC-UA Node-Viewer (
/ui/opcua) sehen Sie alle aktuell im Gateway vorhandenen Tags/Werte/Node-IDs auf einen Blick. → OPC-UA Node-Viewer verwenden - Die REST API selbst ist im Kapitel
고급 / 통합 파트너용 → REST APIbeschrieben.pp-tag-read/pp-tag-writein Node-RED sind lediglich dünne Wrapper um diese API. - Offizielles Node-RED-Handbuch:
<https://nodered.org/docs/>