Skip to main content

Edge Exclusive Nodes

The following nodes are available in the PlantPulse Edge category of the palette.

2026.05+ Node Package

node-red-contrib-plantpulse-edge is located within the image node/conf/plantpulse-edge-nodes/, and the entrypoint creates an absolute path symlink during every boot node_modules/node-red-contrib-plantpulse-edge. 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 (Total 7). Automatically updated during image upgrade.


1. Read Tag Value (pp-tag-read)​

Retrieves the value of a single tag from the gateway. Internally calls GET /api/v1/tag/{tagId}/value.

FieldDescription
Name(Optional) Node name
Tag IDTag to read (e.g., TAG_TEST_00042). If left blank, dynamically specified via msg.tag_id
FreshIf checked, reads directly from PLC (bypasses cache). Same as ?fresh=true. Keep off during normal operation to reduce PLC load
Host / PortGateway address (Default 127.0.0.1:80 — leave as is if on the same machine)
API KeyValue sent as X-API-Key when REST API authentication (edge.rest.api.auth) is enabled (edge.rest.api.key). Can be overwritten by msg.api_key

Inputs (Optional):

  • msg.tag_id — Dynamically overwrite the Tag ID in node settings (allows one node to be reused for multiple tags)
  • msg.fresh — Boolean, dynamically specify 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.tag_id = "TAG_TEST_00042" // 실제 사용된 ID
Dynamic Tag ID Pattern — Recommended

The most flexible method is to leave the Tag ID in the node settings blank and fill msg.tag_id = "TAG_..." using the change node. This allows the same Read node to be reused across multiple tags.


2. Write Tag Value (pp-tag-write)​

Writes a value to a single tag in the gateway. Internally uses POST /api/v1/tag/{tagId}/value.

FieldDescription
Name(Optional)
Tag IDTag to write. Can be dynamically specified via msg.tag_id
ValueFixed value (Optional). Priority order: msg.value → msg.payload → Node Value
Host / PortGateway address
API KeySame as Read node — edge.rest.api.key value

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. For EtherNet/IP, write requests for certain data types may be rejected depending on PLC firmware/patches; verify in a simulator before applying to actual equipment.

Write Operations are Hazardous

Writing values to an actual PLC can cause equipment to move. Thoroughly verify using test tags or a simulator OPC before applying to actual equipment tags. Only use write permissions for tags agreed upon with the operations team.


3. Next Steps​