跳到主要内容

AI 驱动文档

您想了解什么?

Node-RED 基础

本页介绍在 OV20i 摄像头系统中实现的 Node-RED,解释可以帮助您创建高效检查工作流的关键概念和特性。

Node-RED 是什么?

Node-RED 是一种基于流程的编程工具,提供基于浏览器的编辑器,用于可视化连接硬件设备、API 与在线服务。最初由 IBM 开发,如今已成为一个开源项目,提供低代码的方法用于自动化和数据处理。

OV20i 摄像头将 Node-RED 作为其自动化平台,使您能够在最少编码知识的情况下创建复杂的检查工作流。通过一个简单的拖放界面,您可以快速开发复杂的逻辑,这在没有大量编程经验的情况下也能实现。

Node-RED 的关键概念

流(Flows)

流程是自动化过程的可视化表示。每个流程由通过线缆连接的节点组成,表示数据在系统中的传输方式。OV20i 摄像头使用流程来处理检查结果并与外部系统通信。

节点

节点是你流程的基本构件,每个代表一个特定的功能或能力:

  • 输入节点 - 接收数据(例如相机触发、HTTP 请求)
  • 处理节点 - 转换或分析数据(例如分类逻辑)
  • 输出节点 - 将数据发送到外部系统或触发操作(例如 PLC 通信)

消息

节点通过相互传递消息来通信。在 OV20i 系统中,这些消息通常包含:

  • 检查结果
  • 被检查对象的元数据
  • 给外部系统的指令
  • 触发信号

上下文存储

Node-RED 提供了一种在不同节点之间共享信息而无需通过流程传递消息的方法。

某个上下文值的“scope”决定了谁可以访问它:

作用域类型可见性使用场景
节点上下文仅对设置该值的节点可见存储节点特定的临时状态信息
流程上下文在同一流程(选项卡)上的所有节点可见在同一流程内的节点之间共享数据
全局上下文对所有流程中的所有节点可见应用范围的状态或配置

上下文存储的优点

  • 数据持久化 - 在消息流之间存储数据
  • 作用域灵活性 - 不同层级的数据共享
  • 状态管理 - 在节点之间维护应用状态

部署按钮

Node-RED 的部署按钮可将配置应用并推送到运行时环境。

部署选项:

  • 完全部署 - 更新所有节点和流程
  • 修改的节点 - 仅更新已修改的节点
  • 修改的流程 - 仅更新包含修改节点的流程

导入与导出

Node-RED 允许将流程配置导出和导入为 JSON 文件,便于:

  • 相机配置的备份
  • 在团队成员之间共享流程
  • 在不同摄像头之间移动配置

导出过程

  1. 打开相机的 Node-RED 编辑器
  2. 选择要导出的流程
  3. 点击菜单按钮并选择 "Export"
  4. 选择 JSON 格式

导入过程

  1. 打开相机的 Node-RED 编辑器
  2. 点击菜单按钮并选择 "Import"
  3. 粘贴 JSON 数据或上传 JSON 文件
  4. 点击 "Import" 以整合配置
  5. 部署以应用新的流程

调试

目的与功能

Debug 节点在 Node-RED 编辑器的 Debug 侧边栏显示消息,便于开发和排查检查流程中的问题。

主要特性

  • 在 Debug 侧边栏中以结构化方式查看消息
  • 关于消息时序和来源的详细信息
  • 能够在工作区定位源节点
  • 可开关调试输出

仪表板能力

Node-RED Dashboard 提供一个基于网页的界面,通过可自定义的 UI 对相机系统进行监控和控制。

关键组件

  • Layout Manager - 组织 UI 组件
  • UI Nodes - 添加特定界面元素
  • Theme Customization - 个性化外观

常见 UI 元素

  • Buttons - 触发类似配方变化的操作
  • Charts - 可视化随时间变化的检测指标
  • Gauges - 监控在某个区间内的数值
  • Text displays - 显示当前相机状态
  • Sliders - 实时调整参数

Steps to Create a Dashboard

  1. 将 UI Nodes 添加到 Flows - 从调色板拖放 UI 节点到你的 flows 中,以定义要在仪表板中包含的数据和控件
  2. Configure UI Nodes - 配置每个 UI 节点的属性,如标签、取值范围和数据源
  3. Arrange Components - 使用 Layout Manager 将 UI 组件在仪表板上排布,创建一个合乎逻辑、便于使用的布局
  4. Deploy and Access Dashboard - 部署你的 flows,并通过导航到相应的 URL(通常为 http://\{hostname\}/ui)来访问仪表板

在 OV20i 上使用 Node-RED

访问编辑器

OV20i 相机中的 Node-RED 编辑器可以通过 UI 访问。

默认 Flow

OV20i 附带一个预配置的默认 Flow,用于处理基本的检查操作。它作为自定义配置的起点,并演示了相机集成的最佳实践。

OV20i 自定义节点

相机通过专门为视觉应用设计的节点扩展了 Node-RED:

  • Classification Logic - 处理分类结果
  • PLC Format - 为工业控制器格式化数据
  • Final Pass/Fail - 确定检查结果

集成能力

OV20i 中的 Node-RED 环境支持与多种工业系统的集成:

  • PLCs via Ethernet/IP, Profinet, or Modbus
  • MQTT,用于物联网应用
  • HTTP/REST,用于 Web 服务
  • 数据库系统,用于数据记录
  • HMI 界面,用于操作员控制

最佳实践

流程组织

  • 按功能保持流程的有序性
  • 使用注释记录复杂逻辑
  • 清晰命名节点以指示其用途
  • 对重复模式使用 Subflows(子流程)

性能考量

  • 在生产环境中尽量减少调试节点数量
  • 考虑高频触发的影响
  • 高效使用上下文变量
  • 在部署前进行充分测试

备份策略

  • 定期导出并保存您的流程
  • 记录您的配置变更
  • 为团队环境考虑版本控制
  • 在将恢复的流程投入生产使用前进行测试
通过 AI 加速构建流程

The Integration Builder 可以从纯英文描述生成完整的 Node-RED 流程。与其逐个节点搭建流程,不如描述您想要的内容,并在几秒内获得可投入生产的流程。对于通知、数据记录和 PLC 通信等常见模式,效果极好。

🔗 参见