Edge 专用节点
在调色板的 PlantPulse Edge 类别中可以使用以下节点。
node-red-contrib-plantpulse-edge 位于 image 中的 node/conf/plantpulse-edge-nodes/,
entrypoint 在每次启动时 node_modules/node-red-contrib-plantpulse-edge 创建绝对路径 symlink。
提供节点: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 个)。image upgrade 时自动更新。
1. 读取标签值 (pp-tag-read)
获取网关的一个标签值。内部调用 GET /api/v1/tag/{tagId}/value。
| 字段 | 说明 |
|---|---|
| 名称 | (可选) 节点名称 |
| Tag ID | 要读取的标签 (例如:TAG_TEST_00042)。留空时通过 msg.tag_id 动态指定 |
| Fresh | 勾选时直接读取 PLC (绕过缓存)。与 ?fresh=true 相同。平时请关闭 (PLC 负载) |
| Host / Port | 网关地址 (默认 127.0.0.1:80 — 若在同一机器则保持不变) |
| API Key | REST API 认证(edge.rest.api.auth)开启时,通过 X-API-Key 发送的值(edge.rest.api.key)。可通过 msg.api_key 覆盖 |
输入 (可选):
msg.tag_id— 动态覆盖节点设置的 Tag ID (使一个节点可重复用于多个标签)msg.fresh— boolean,动态指定绕过缓存
输出:
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
将节点设置的 Tag ID 留空,并通过 change 节点填充 msg.tag_id = "TAG_..." 的方式最为灵活。同一个 读取 节点可重复用于多个标签。
2. 写入标签值 (pp-tag-write)
向网关的一个标签写入值。内部使用 POST /api/v1/tag/{tagId}/value。
| 字段 | 说明 |
|---|---|
| 名称 | (可选) |
| Tag ID | 要写入的标签。可通过 msg.tag_id 动态指定 |
| Value | 固定值 (可选)。优先级顺序为:msg.value → msg.payload → 节点 Value |
| Host / Port | 网关地址 |
| API Key | 与读取节点相同 — edge.rest.api.key 值 |
输出:
msg.payload = {
result: "SUCCESS", // 또는 "ERROR"
opc_id: "OPC_LS_TEST",
plc_address: "D1000",
value: "9999", // 사용자가 보낸 값
actual_read: "9999", // 드라이버가 write 후 즉시 read 한 결과
msg: ""
}
msg.statusCode = 200
支持协议:HTTP / OPC-UA / Modbus TCP / MELSEC / S7 / LS XGT(XGI/XBC/XBM) / AB EtherNet/IP 均可。对于 EIP,根据 PLC 固件/补丁的不同,部分数据类型的写入可能会被拒绝,请在模拟器中验证后再应用于实际设备。
向实际 PLC 写入值可能会导致设备动作。请在 测试标签 或 模拟器 OPC 中充分验证后,再应用于实际设备标签。写入权限仅限用于与运营团队协商一致的标签。