规则引擎
规则引擎用于通过可视化流程处理采集数据、内存变量和外部事件。用户可以把触发节点、判断节点、计算节点、推送节点等拖入画布,通过连线组织执行顺序,再保存并启用流程。
先看术语
| 术语 | 现场理解 |
|---|---|
| 规则流程 | 一套自动处理逻辑,例如“压力变化后判断是否报警,并把结果写入内存变量”。 |
| 节点 | 流程中的一个处理步骤,类似电气图中的一个功能块。 |
| 触发节点 | 决定流程什么时候开始执行,例如变量变化、定时触发或外部事件触发。 |
| 判断节点 / 计算节点 / 推送节点 | 分别用于判断条件、计算结果、把结果发给下游系统或其它节点。 |
| 画布 | 拖放节点、连线和调整布局的编辑区域。 |
| 连线 | 节点之间的数据传递关系。方向通常从上游输出端口连到下游输入端口。 |
| 输入 / 输出 / 输入输出参数 | 输入是节点接收的数据,输出是节点处理后的结果,输入输出参数可被节点修改后继续传递。 |
| 防抖 | 合并短时间内重复触发,避免同一个值快速波动时流程频繁执行。 |
| CSV | 单个流程画布的导入导出文件,适合备份节点、连线和布局。 |
功能入口
登录 GatewayRuntime Web 后,点击左侧菜单“开发配置 → 规则引擎”。

流程列表
规则引擎列表用于管理流程基本信息、启停状态和批量导入导出。
| 区域或列 | 说明 |
|---|---|
| 搜索名称 | 按流程名称查询列表。输入关键字后按回车或清空输入框会刷新结果。 |
| 新增规则 | 创建新的规则流程。页面会先要求输入流程名称,创建成功后自动打开流程编辑器。 |
| 导出 Excel | 按当前搜索条件导出规则流程配置,适合备份、迁移和批量维护。 |
| 导入 Excel | 从 Excel 文件导入规则流程。导入完成后页面会提示成功数量或失败原因。 |
| 批量删除 | 勾选流程后批量删除。删除前应先确认流程不再参与生产运行。 |
| 刷新 | 重新加载流程列表和可用自定义节点。 |
| 流程名称 | 规则流程名称。名称应能体现流程用途,便于日志排查。 |
| 描述 | 流程用途说明。为空时列表显示 -。 |
| 版本 | 流程版本号。新建流程默认从 v1 开始。 |
| 状态 | 显示“已启用”或“已禁用”。 |
| 操作 | “详情”进入流程编辑器;“更多”中可启用、禁用或删除流程。 |
新建流程
- 点击列表右上角“新增规则”。
- 在提示框中输入流程名称。
- 点击确认后,系统创建默认启用的
v1流程并进入流程编辑器。 - 在编辑器中维护流程描述、触发方式、节点、连线和参数。
- 点击右上角“保存”,保存成功后规则引擎会重新加载该流程。
流程编辑器
点击流程行的“详情”进入流程编辑器。

| 区域 | 说明 |
|---|---|
| 顶部信息区 | 显示流程名称、流程描述、版本号和触发方式。流程名称、描述可以直接编辑。 |
| 保存按钮 | 保存当前流程名称、描述、触发方式、画布节点、连线和节点参数。 |
| 返回按钮 | 返回规则流程列表。离开前应确认当前修改已经保存。 |
| 防抖 / 无限制触发 | “防抖”会合并短时间内的重复变化;“无限制触发”会在每次变化时直接触发下游节点。 |
| 导出 CSV | 导出当前编辑器画布中的节点、连线、位置和节点属性,适合单个流程结构备份。 |
| 导入 CSV | 从 CSV 文件恢复当前流程画布。导入后应检查节点类型、连线和参数再保存。 |
| 自动布局 | 根据当前节点和连线重新排列画布。节点较多或连线交叉时使用。 |
| 删除选中 | 删除当前选中的节点或连线。 |
| 左侧节点面板 | 按分类展示可用节点,支持按节点名称搜索和按分类筛选。 |
| 中间画布 | 拖拽节点、连接端口、调整布局、选择节点或连线。 |
| 右侧属性面板 | 选中节点后显示,用于编辑节点名称、查看节点类型、填写输入参数和输入输出参数。 |
| 运行日志面板 | 查看规则引擎运行日志,支持按级别、时间范围和关键字筛选,可导出当前页或全部日志。 |
节点面板
节点面板中的节点来自已加载的内置节点和自定义节点。常见分类包括保持、比较运算、边沿检测、变量 RPC、常量、触发器、定时器、计数器、类型转换、逻辑运算、数据统计、数据推送、数学运算、条件判断和字符串处理。
| 操作 | 说明 |
|---|---|
| 搜索节点 | 在“搜索节点”输入节点名称或标识关键字,快速定位节点。 |
| 分类筛选 | 在“全部分类”下拉框选择分类,仅显示该分类下的节点。 |
| 展开/折叠分组 | 点击分类标题展开或折叠节点组。 |
| 添加节点 | 将节点从左侧面板拖入画布。拖入后应选中节点,在属性面板中检查参数。 |
如果节点没有出现在列表中,先确认对应脚本或自定义节点已经编译成功,再刷新规则引擎页面。
画布操作
| 操作 | 步骤 |
|---|---|
| 添加节点 | 从左侧节点面板拖拽节点到画布。 |
| 连接节点 | 从一个节点端口拖到另一个节点端口,建立数据传递关系。连接方向应从上游输出端口指向下游输入端口。 |
| 配置节点 | 选中节点,在右侧属性面板修改节点名称、输入参数和输入输出参数。 |
| 重命名节点 | 双击画布中的节点,输入新的节点显示名称。 |
| 删除节点或连线 | 选中节点或连线后点击“删除选中”。 |
| 自动布局 | 点击“自动布局”,让系统按当前连线关系重新排列节点。 |
| 保存流程 | 点击右上角“保存”,保存当前画布和参数。 |
节点参数
节点参数由节点类型决定。不同节点会显示不同的输入、输出和输入输出参数。
| 参数类型 | 说明 |
|---|---|
| 输入参数 | 从上游节点接收数据,也可以在属性面板中填写初始值。 |
| 输出参数 | 节点处理后的输出值,可连接到下游节点。 |
| 输入输出参数 | 既可接收上游数据,也可在节点处理后继续输出。 |
| 自定义初始输入参数 | 部分节点支持在属性面板中填写初始输入值,用于无上游输入或默认值场景。 |
| 实时参数值 | 流程启用并运行后,属性面板和节点端口可显示当前节点的输入、输出和输入输出值。 |
配置参数时,应确认数据类型、变量名称、设备名称和上下游节点匹配。连接失败或运行结果异常时,优先检查端口方向、参数名称、参数类型和流程启用状态。
触发方式
| 配置 | 使用建议 |
|---|---|
| 防抖 | 适合温度、压力、液位等高频变化数据,可减少短时间内的重复执行。 |
| 无限制触发 | 适合计数、累加、事件记录等要求每次变化都处理的场景。 |
注意
启用“无限制触发”可能增加运行负载。生产环境使用前,应先评估变量变化频率、流程复杂度和下游系统承载能力。
导入导出
规则引擎有两类导入导出入口,作用范围不同。
| 入口 | 位置 | 用途 |
|---|---|---|
| 导出 Excel | 流程列表工具栏 | 导出流程列表配置,适合批量备份和迁移多个流程。 |
| 导入 Excel | 流程列表工具栏 | 从 Excel 批量导入流程。导入后应打开详情检查每个流程。 |
| 导出 CSV | 流程编辑器工具栏 | 导出当前流程画布节点、连线、位置和节点属性。 |
| 导入 CSV | 流程编辑器工具栏 | 恢复当前流程画布结构。导入后应检查节点、连线和参数。 |
| 导出日志 | 运行日志面板 | 导出当前页或全部规则运行日志,用于排查和归档。 |
导入前建议先导出现有流程作为备份。导入后不要立即启用到生产,应先打开流程编辑器检查节点类型、连线方向、参数值和运行日志。
运行日志
规则流程运行后,可在编辑器底部查看运行日志。
| 功能 | 说明 |
|---|---|
| 日志级别 | 按日志级别筛选,例如 Trace、Debug、Info、Warning、Error。 |
| 时间范围 | 按开始时间和结束时间筛选日志。 |
| 关键字 | 按日志内容关键字搜索。 |
| 导出 | 导出当前页或全部匹配日志。 |
| 刷新 | 立即重新加载日志。流程启用时,日志面板会按固定间隔自动刷新。 |
| 最大化 / 还原 | 扩大日志面板,便于查看长日志。 |
| 折叠 / 展开 | 临时收起日志面板,给画布留出更多空间。 |
| 详情 | 打开日志详情抽屉,查看日志内容和异常信息。 |
常见流程设计
| 场景 | 设计方式 |
|---|---|
| 单一路径处理 | 触发节点或输入节点 → 处理节点 → 输出节点。 |
| 分支处理 | 一个处理节点连接多个下游节点,同时执行报警判断、数据记录或消息推送。 |
| 多条件综合判断 | 多个输入或处理节点连接到同一个判断节点,由判断节点输出结果。 |
| 周期任务 | 使用定时器类节点触发周期计算或周期推送。 |
| 外部推送 | 使用 Webhook、MQTT、邮件等数据推送节点,将处理结果发送到外部系统。 |
| 循环关系 | 避免让节点形成闭环连接。需要状态记忆时,优先使用保持、计数器、内存变量或专门处理节点。 |
使用注意
| 场景 | 建议 |
|---|---|
| 生产修改流程 | 修改前先导出流程,保存后观察运行日志。 |
| 节点找不到 | 确认自定义节点已编译成功,必要时刷新页面。 |
| 流程不执行 | 检查流程是否启用、触发节点是否收到数据、连线方向是否正确。 |
| 节点参数为空 | 选中节点后检查属性面板,确认输入参数、输入输出参数和默认值已配置。 |
| 结果不符合预期 | 查看节点实时参数值,从上游到下游逐段定位。 |
| 日志为空 | 确认流程已启用并实际触发;再检查日志级别和时间范围筛选条件。 |
| 系统负载升高 | 检查高频触发流程、复杂计算节点、外部推送节点和“无限制触发”配置。 |
故障处理
| 现象 | 处理建议 |
|---|---|
| 保存失败 | 检查流程名称是否为空、节点参数是否有效,并查看页面错误提示。 |
| 导入 CSV 后节点异常 | 检查导入文件是否来自同版本流程编辑器,确认自定义节点名称仍然存在。 |
| 端口无法连接 | 确认连接方向和参数类型匹配,避免输出端口连接输出端口或输入端口连接输入端口。 |
| 实时参数值不显示 | 确认流程已启用并触发运行;未运行的流程不会产生节点实时值。 |
| 日志持续报错 | 打开日志详情查看异常信息,再回到对应节点检查参数、脚本和外部连接。 |