跳到主要内容

开始使用流 (Node-RED)

🎬 Build a data flow · 33초 · 2026.09 기준 화면

您可以通过 /ui/flow 菜单访问网关内置的 Node-RED 环境。 Node-RED 是一款低代码工具,通过拖拽并连接区块(节点)来创建数据流。它可以读取和写入网关的标签值,通过 MQTT/HTTP 与外部系统联动,并绘制报警、日志记录、计算等自动化流程。

2026.05+ 容器模式的 Node-RED

Node-RED 4.1.10 + Node.js 20(均在 image 内全局安装)。容器首次启动时,userDir.seed (node_modules + PlantPulse Edge / node-red-contrib-opcua 节点) 会自动复制到 /data1/pp-data/node-userdir/(从第二次启动起保留用户 flow)。 image 升级后用户 flow 依然保留。流标签页为空 — 示例流不放入镜像,而是从文档中获取(导入用示例流)。

PlantPulse 专用节点 (pp-tag-value-read / pp-tag-value-write / pp-opc-* / pp-tag-list) 通过绝对路径 symlink 连接到 image 的 node/conf/plantpulse-edge-nodes/ — 确保每次启动时 entrypoint 正常(预先防止了旧版 native 的相对路径 symlink 在容器中失效的问题)。

阅读本文前

请在完成 자주 하는 작업 → 새 PLC 연결 추가 / 태그 등록 且 至少有一个标签处于实时采集状态 时开始。Node-RED 将使用该标签值作为输入。


1. 访问​

在浏览器中访问网关后,点击左侧菜单 流 (Node-RED) 或直接前往 http://<gateway>/ui/flow。


2. 界面构成​

流编辑界面 — 数字为阅读顺序

数字区域说明
①左侧 调色板可用节点列表。按类别分组,PlantPulse Edge 类别中包含网关专用节点(pp-tag-value-read · pp-tag-value-write · pp-opc-* · pp-tag-list)
②流标签页将流分成多个页面。通过 + 创建新标签页
③中间 工作区拖放节点并使用连线将其连接
④右侧 侧边栏info 为所选节点的帮助,debug 为 debug 节点的输出日志
⑤右上角 Deploy必须点击后网关才会感知更改

3. 基础操作 — 常用快捷键​

动作方法
添加节点从调色板拖拽到工作区
节点设置双击节点 → 在右侧面板编辑 → Done
连接节点(连线)拖拽节点的输出点(右侧)并放置在另一个节点的输入点(左侧)
断开连线点击选择连线后 Delete
多选Shift 拖拽选择区域,或使用 Ctrl/Cmd + 클릭 追加选择
复制 / 粘贴Ctrl/Cmd + C / Ctrl/Cmd + V
搜索Ctrl/Cmd + F — 在调色板中搜索节点名称
导入流菜单 → 导入 → 粘贴 JSON (导入用示例流 可直接 import)
更改必须经过 Deploy 才能生效

即使添加/删除/修改了节点,在点击 Deploy 之前,网关也不会感知这些更改。标记有红点 (●) 的节点表示“有未保存的更改”。


4. 消息(msg) 的基本结构​

节点之间传输的数据始终是一个名为 msg 的 JavaScript 对象。最常用的字段如下:

字段含义
msg.payload正文(主要数据)。支持数字/字符/对象/Buffer
msg.topic主题(分类标签)。常用于 MQTT/Switch/Join 等
msg.timestamp时间戳 (必要时手动填充)
msg._msgidNode-RED 自动分配的唯一 ID — 用于追踪

大多数节点仅依靠 msg.payload 即可运行。


5. Edge 节点 — 概览 (网关专用)​

在调色板左侧 PlantPulse Edge 类别中,共有 7 个由网关自行注册的节点。首先看其中作为输入输出核心的两个节点,它们几乎是所有 IIoT 流的 输入/输出。

图标节点英文名动作调用的 REST
⬇标签值读取 (pp-tag-read)read tag value获取单个标签的 当前值 (从缓存或直接读取 PLC)GET /api/v1/tag/{tagId}/value
⬆标签值写入 (pp-tag-write)write tag value向单个标签 写入值 (立即反映到 PLC)POST /api/v1/tag/{tagId}/value
inject (1s) ──▶ 태그값 읽기 ──▶ 처리 (function/switch/...) ──▶ 태그값 쓰기 / mqtt out / debug / file ...

查找节点的方法 — 在调色板搜索框输入 read tag 或 PlantPulse → 仅筛选该节点。颜色为淡粉蓝色。

节点设置中经常留空的项动态填充方法
Tag ID在流中使用 msg.tag_id = 'TAG_...' 动态指定 (使一个节点可重复用于多个标签)
Value (写入节点)在流中使用 msg.value 或 msg.payload 填充
写入具有风险 — 先用测试标签验证

在对实际设备应用写入之前,请使用外部模拟器或 测试标签 进行充分验证。写入权限仅限与运营团队协商一致的标签。

详细字段 / 输入输出 / 所有协议支持表 → Edge 类别 (标签读取/写入)


6. 第一个流 — Hello World​

目标:每 5 秒读取一个标签并在 Debug 侧边栏输出。

  1. 从调色板拖拽 inject 节点 → 双击 → Repeat: interval every 5 seconds → Done
  2. 拖拽 PlantPulse Edge → 标签值读取 节点 → 在 Tag ID 中输入实际标签 (例如:TAG_TEST_00042) → Done
  3. 拖拽调色板中的 debug 节点
  4. 按 inject → 태그값 읽기 → debug 顺序使用连线连接这三个节点
  5. 点击右上角 Deploy
  6. 打开右侧侧边栏的 debug 标签页,确认每 5 秒是否打印数值

这种模式 (周期触发 → 读取 → 处理) 是所有 IIoT 流的基本形式。


7. 后续步骤​

请按左侧菜单顺序学习:

  1. 基础节点使用法 — IIoT 中常用的 14 个节点功能
  2. Edge 节点 (标签读取/写入) — 网关专用节点 (上述第 5 节概览的详细版本)
  3. MQTT 节点详解 — Broker 设置 / Pub / Sub / LWT / Birth
  4. OPC-UA 节点详解 — Endpoint / Item / Client / Subscribe / Browse
  5. Sparkplug B 节点详解 — Group / Edge / Birth-Death / 收发
  6. IIoT 示例集 — 现场常用的 12 种模式
  7. 导入用示例流 — 可直接粘贴运行的 6 套完整流
  8. 流问题排查 — 常见误区

8. 深入了解​

  • 在 OPC UA 服务器 (/ui/opcua) 中可以一目了然地查看当前网关拥有的所有标签/值/节点 ID。 → 使用 OPC UA 服务器
  • REST API 本身在 고급 / 통합 파트너용 → REST API 章节。Node-RED 的 pp-tag-read / pp-tag-write 是该 API 的轻量级封装。
  • Node-RED 官方手册: <https://nodered.org/docs/>