Edge Category — Gateway-Specific Nodes
The following nodes are available in the 엣지 category of the palette.
node-red-contrib-plantpulse-edge resides at node/conf/plantpulse-edge-nodes/ inside the image, and the entrypoint creates an absolute-path symlink to node_modules/node-red-contrib-plantpulse-edge on every boot.
Provided 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 (7 total). Automatically updated on image upgrade.
1. Read Tag Value (pp-tag-read)
Retrieves a single tag value from the gateway. Internally calls GET /api/v1/tag/{tagId}/value.
| Field | Description |
|---|---|
| Name | (Optional) Node name |
| Tag ID | Tag to read (e.g. TAG_TEST_00042). Leave blank to specify dynamically via msg.tagId |
| Fresh | When checked, reads directly from the PLC (bypasses cache). Equivalent to ?fresh=true. Normally leave off (PLC load) |
| Host / Port | Gateway address (default 127.0.0.1:80 — leave as is on the same machine) |
Input (optional):
msg.tagId— dynamically overrides the node's Tag ID setting (reuse one node for multiple tags)msg.fresh— boolean, dynamically specifies cache bypass
Output:
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
Leaving the node's Tag ID blank and populating msg.tagId = "TAG_..." with a change node is the most flexible approach. The same read node can then be reused for multiple tags.
2. Write Tag Value (pp-tag-write)
Writes a value to a single tag on the gateway. Internally POST /api/v1/tag/{tagId}/value.
| Field | Description |
|---|---|
| Name | (Optional) |
| Tag ID | Tag to write. Can be specified dynamically via msg.tagId |
| Value | Fixed value (optional). Priority order: msg.value → msg.payload → node Value |
| Host / Port | Gateway address |
Output:
msg.payload = {
result: "SUCCESS", // 또는 "ERROR"
opc_id: "OPC_LS_TEST",
plc_address: "D1000",
value: "9999", // 사용자가 보낸 값
actual_read: "9999", // 드라이버가 write 후 즉시 read 한 결과
msg: ""
}
msg.statusCode = 200
Supported protocols: HTTP / OPC-UA / Modbus TCP / MELSEC / S7 / LS XGT(XGI/XBC/XBM) / AB EtherNet/IP are all supported. Depending on PLC firmware/patch level, EIP may reject writes for certain data types — verify on a simulator before applying to live equipment.
Writing a value to a live PLC can set equipment in motion. Verify thoroughly with a test tag or a simulator OPC before applying to a live equipment tag. Use write permissions only on tags agreed upon with the operations team.
3. Next Steps
- MQTT Nodes in Detail — integration with external SCADA / cloud IoT
- IIoT Example Collection — real-world patterns combining read/write