Edge 类别 — 网关专用节点
在面板的 엣지 类别中可以使用以下节点。
2026.05+ 节点包
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 升级时自动更新。
1. 读取标签值 (pp-tag-read)
获取网关中某个标签的值。内部调用 GET /api/v1/tag/{tagId}/value。
| 字段 | 说明 |
|---|---|
| 名称 | (可选)节点名称 |
| Tag ID | 要读取的标签(例如:TAG_TEST_00042)。留空则通过 msg.tagId 动态指定 |
| Fresh | 勾选时直接从 PLC 读取(绕过缓存)。与 ?fresh=true 相同。平时请关闭(会增加 PLC 负荷) |
| Host / Port | 网关地址(默认 127.0.0.1:80 — 同一台机器保持默认即可) |
输入(可选):
msg.tagId— 动态覆盖节点设置中的 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.tagId = "TAG_TEST_00042" // 실제 사용된 ID
动态 Tag ID 模式 — 推荐
将节点设置中的 Tag ID 留空,改用 change 节点填充 msg.tagId = "TAG_..." 的方式最为灵活。同一个读取节点可复用于多个标签。
2. 写入标签值 (pp-tag-write)
向网关中的某个标签写入值。内部调用 POST /api/v1/tag/{tagId}/value。
| 字段 | 说明 |
|---|---|
| 名称 | (可选) |
| Tag ID | 要写入的标签。可通过 msg.tagId 动态指定 |
| Value | 固定值(可选)。按 msg.value → msg.payload → 节点 Value 的顺序优先生效 |
| Host / Port | 网关地址 |
输出:
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 固件/补丁版本不同而拒绝某些数据类型的 write,请先在模拟器中验证后再应用到实际设备。
写入操作存在风险
向实际 PLC 写入值可能会使设备动作。请先用测试标签或模拟器 OPC 充分验证后,再应用到实际设备标签。write 权限仅用于与运维团队达成一致的标签。