AI 驱动文档
您想了解什么?
Node-RED 基础
本页面介绍 OV10i 相机系统中实现的 Node-RED,阐述帮助您创建强大检查工作流的关键概念和功能。
用简洁的英文描述您的需求,Auto-Integration Builder 将在几秒钟内为您生成完整的、可用于生产环境的 Node-RED 流程。
什么是 Node-RED?
Node-RED 是一款基于流的编程工具,提供基于浏览器的编辑器,用于可视化地连接硬件设备、API 和在线服务。它最初由 IBM 开发,现已成为一个开源项目,为自动化和数据处理提供了低代码的方式。
OV10i 相机采用 Node-RED 作为其自动化平台,让您在无需太多编程知识的情况下创建复杂的检查工作流。通过简单的拖放界面,您可以快速开发出原本需要丰富编程专业知识才能实现的复杂逻辑。
Node-RED 的关键概念
流程(Flows)
流程是您自动化过程的可视化呈现。每个流程由通过连线连接的节点组成,连线表示数据在系统中的流动方式。OV10i 相机使用流程来处理检查结果并与外部系统通信。
节点(Nodes)
节点是流程的构建单元,每个节点代表特定的功能或能力:
- 输入节点 - 接收数据(例如相机触发、HTTP 请求)
- 处理节点 - 转换或分析数据(例如分类逻辑)
- 输出节点 - 将数据发送到外部系统或触发操作(例如 PLC 通信)
消息(Messages)
节点之间通过传递消息进行通信。在 OV10i 系统中,这些消息通常包含:
- 检查结果
- 被检对象的元数据
- 外部系统的命令
- 触发信号
上下文存储(Context Storage)
Node-RED 提供了一种用于存储信息的方法,可以在不同节点之间共享信息,而无需依赖流经流程的消息。
特定上下文值的"作用域"决定了谁可以访问它:
| 作用域类型 | 可见性 | 使用场景 |
|---|---|---|
| 节点上下文(Node Context) | 仅对设置该值的节点可见 | 存储节点专属的临时状态信息 |
| 流程上下文(Flow Context) | 对同一流程(标签页)中的所有节点可见 | 在同一流程内的节点之间共享数据 |
| 全局上下文(Global Context) | 对所有流程中的所有节点可见 | 应用程序范围的状态或配置 |
上下文存储的优势
- 数据持久化 - 在消息流之间存储数据
- 作用域灵活性 - 不同级别的数据共享
- 状态管理 - 跨节点维护应用程序状态
部署按钮(Deploy Button)
Node-RED 中的部署按钮让您能够将配置应用并推送到运行时环境。
部署选项:
- 完整部署(Full Deploy) - 更新所有节点和流程
- 已修改节点(Modified Nodes) - 仅更新已更改的节点
- 已修改流程(Modified Flows) - 仅更新包含已修改节点的流程
导入与导出
Node-RED 允许将流程配置导出和导入为 JSON 文件,从而实现:
- 备份摄像头配置
- 在团队成员之间共享流程
- 在不同摄像头之间迁移配置
导出流程
- 打开摄像头的 Node-RED 编辑器
- 选择要导出的流程
- 点击菜单按钮并选择 "Export"
- 选择 JSON 格式
导入流程
- 打开摄像头的 Node-RED 编辑器
- 点击菜单按钮并选择 "Import"
- 粘贴 JSON 数据或上传 JSON 文件
- 点击 "Import" 以集成该配置
- 部署以应用新流程
Debug
用途与功能
Debug 节点在 Node-RED 编辑器的 Debug 侧边栏中显示消息,方便检查流程的开发和故障排除。
主要功能
- 在 Debug 侧边栏中以结构化方式查看消息
- 提供消息时间和来源的详细信息
- 能够在工作区中定位源节点
- 支持启用/禁用调试输出的切换功能
仪表板功能
Node-RED 仪表板通过可自定义的 UI 提供一个基于 Web 的界面,用于监控和控制摄像头系统。
主要组件
- Layout Manager - 组织 UI 组件
- UI Nodes - 添加特定界面元素
- Theme Customization - 个性化外观
常见 UI 元素
- 按钮 - 触发操作(如切换程序)
- 图表 - 可视化一段时间内的检查指标
- 仪表 - 监控处于特定范围内的数值
- 文本显示 - 显示当前摄像头状态
- 滑块 - 实时调整参数
创建仪表板的步骤
- 将 UI 节点添加到流程中 - 从调色板中将 UI 节点拖放到流程中,以定义要包含在仪表板中的数据和控件
- 配置 UI 节点 - 配置每个 UI 节点的属性,例如标签、范围和数据源
- 排列组件 - 使用 Layout Manager 在仪表板上排列 UI 组件,创建逻辑清晰、用户友好的布局
- 部署并访问仪表板 - 部署流程并通过相应的 URL(通常为
http://\{hostname\}/ui)访问仪表板
在 OV10i 中使用 Node-RED
访问编辑器
OV10i 摄像头中的 Node-RED 编辑器可通过 UI 访问。
默认流程
OV10i 附带一个预配置的默认流程,用于处理基本的检查操作。它可作为自定义配置的起点,并展示了摄像头集成的最佳实践。
OV10i 自定义节点
该摄像头通过专为视觉应用设计的专用节点扩展了 Node-RED:
- Classification Logic - 处理分类结果
- PLC Format - 为工业控制器格式化数据
- Final Pass/Fail - 确定检查结果
集成能力
OV10i 中的 Node-RED 环境支持与各类工业系统集成:
- 通过 Ethernet/IP、Profinet 或 Modbus 连接 PLC
- 用于 IoT 应用的 MQTT
- 用于 Web 服务的 HTTP/REST
- 用于数据记录的数据库系统
- 用于操作员控制的 HMI 界面
最佳实践
流程组织
- 按功能组织流程
- 使用注释记录复杂逻辑
- 清晰命名节点以表明其用途
- 对重复模式使用子流程
性能考虑
- 在生产环境中尽量减少调试节点的数量
- 考虑高频触发器的影响
- 高效使用上下文变量
- 部署前充分测试
备份策略
- 定期导出并保存流程
- 记录配置变更
- 在团队环境中考虑使用版本控制
- 在生产使用前测试已恢复的流程
Integration Builder 可以根据简单的英文描述生成完整的 Node-RED 流程。无需逐个节点构建流程,只需描述您想要的内容,即可在几秒钟内获得生产就绪的流程。非常适合通知、数据记录和 PLC 通信等常见模式。