Edge-Kategorie — Gateway-spezifische Nodes
In der Kategorie 엣지 der Palette stehen die folgenden Nodes zur Verfügung.
node-red-contrib-plantpulse-edge liegt innerhalb des Image unter node/conf/plantpulse-edge-nodes/,
und der Entrypoint legt bei jedem Boot per node_modules/node-red-contrib-plantpulse-edge einen Symlink mit absolutem Pfad an.
Mitgelieferte Nodes: pp-tag-value-read / pp-tag-value-write / pp-tag-values-read / pp-tag-list /
pp-opc-get / pp-opc-start / pp-opc-stop (insgesamt 7). Wird beim Image-Upgrade automatisch aktualisiert.
1. Tag-Wert lesen (pp-tag-read)
Liest einen Tag-Wert vom Gateway. Intern wird GET /api/v1/tag/{tagId}/value aufgerufen.
| Feld | Beschreibung |
|---|---|
| Name | (optional) Node-Name |
| Tag ID | Zu lesender Tag (z. B. TAG_TEST_00042). Bleibt das Feld leer, erfolgt die dynamische Angabe über msg.tagId |
| Fresh | Wenn aktiviert, direkter Read aus der PLC (Cache wird umgangen). Identisch zu ?fresh=true. Im Normalbetrieb deaktiviert lassen (PLC-Last) |
| Host / Port | Gateway-Adresse (Standard 127.0.0.1:80 — auf derselben Maschine unverändert lassen) |
Eingang (optional):
msg.tagId— überschreibt die Tag ID aus der Node-Konfiguration dynamisch (ein Node für mehrere Tags wiederverwendbar)msg.fresh— boolean, dynamische Angabe zur Cache-Umgehung
Ausgang:
msg.payload = {
tag_id: "TAG_TEST_00042",
value: "1234",
value_time: "2026-05-08 03:01:19.001",
value_read_status: "OK",
...
}
msg.statusCode = 200
msg.tagId = "TAG_TEST_00042" // 실제 사용된 ID
Am flexibelsten ist es, die Tag ID in der Node-Konfiguration leer zu lassen und msg.tagId = "TAG_..." über einen change-Node zu setzen. So lässt sich derselbe Lese-Node für mehrere Tags wiederverwenden.
2. Tag-Wert schreiben (pp-tag-write)
Schreibt einen Wert in einen Tag des Gateways. Intern POST /api/v1/tag/{tagId}/value.
| Feld | Beschreibung |
|---|---|
| Name | (optional) |
| Tag ID | Zu schreibender Tag. Dynamische Angabe über msg.tagId möglich |
| Value | Fester Wert (optional). Vorrang in der Reihenfolge msg.value → msg.payload → Node-Value |
| Host / Port | Gateway-Adresse |
Ausgang:
msg.payload = {
result: "SUCCESS", // 또는 "ERROR"
opc_id: "OPC_LS_TEST",
plc_address: "D1000",
value: "9999", // 사용자가 보낸 값
actual_read: "9999", // 드라이버가 write 후 즉시 read 한 결과
msg: ""
}
msg.statusCode = 200
Unterstützte Protokolle: HTTP / OPC-UA / Modbus TCP / MELSEC / S7 / LS XGT(XGI/XBC/XBM) / AB EtherNet/IP — alle möglich. Bei EIP kann der Write bestimmter Datentypen je nach PLC-Firmware/Patch abgelehnt werden; prüfen Sie dies daher zuerst im Simulator, bevor Sie es an der realen Anlage einsetzen.
Das Schreiben von Werten in eine reale PLC kann Anlagen in Bewegung setzen. Prüfen Sie ausreichend mit einem Test-Tag oder einem Simulator-OPC, bevor Sie auf Tags realer Anlagen zugreifen. Schreibrechte nur für Tags verwenden, die mit dem Betriebsteam abgestimmt sind.
3. Nächste Schritte
- MQTT-Nodes im Detail — Anbindung an externe SCADA-/Cloud-IoT-Systeme
- IIoT-Beispielsammlung — reale Muster aus der Kombination von Read/Write