跳到主要内容

报警查询

打开“数据与告警 → 报警查询”。看当前报警选“实时报警”,查以前保存的记录选“历史报警”。

ManualValue 超过高限后显示报警值 101、限值 100 和确认入口

查看和确认当前报警

  1. 选择“实时报警”,在“设备名/变量名”中搜索;需要时再筛选报警等级。点击右侧刷新图标获取最新记录。
  2. 找到记录,核对设备、变量、报警值、限值和发生时间。
  3. 点击“详情”,查看完整内容、恢复时间和确认信息。
  4. 对尚未确认的报警,点击“确认”,在弹窗填写确认说明(可选),点击“确定”。
  5. 再次打开“详情”,查看确认说明和确认时间;需要持续查看时,在列表设置自动刷新间隔。

确认只表示已经知晓,不会让设备恢复正常,也不会直接消除报警条件。 恢复状态由变量实际值和报警配置决定。

历史报警

查询前必须已经配置并运行历史报警转发目标。实时报警里有记录,不代表历史数据库里一定有。

  1. 切换到“历史报警”。
  2. 选择保存这些报警的“转发目标”。
  3. 在时间框选择开始、结束日期和时间,点击时间面板的“确定”,再点击右侧刷新图标。
  4. 在“设备名/变量名”输入名称后按回车,例如 ManualValue。需要筛选等级时,在“报警等级”填写最低等级;填 2 会包含等级 2 及以上,清空则不限制等级。
  5. 核对列表中的变量、事件类型和事件时间,点击记录右侧“详情”查看报警、恢复及确认时间。

时间范围按“事件时间”筛选。查一次报警及后续的恢复、确认过程时,范围要覆盖整个过程,而不只是报警产生的那一刻。

查当天记录时,可在日历依次选择当天和次日,时间都设为 00:00:00,然后点击日期面板右下角“确定”。不要只选同一天却让开始、结束时间都停在零点。

历史报警查询:选择一天的时间范围后,显示 ManualValue 的报警与恢复记录

上图在“列设置”中只保留常用列。列太多看不全时,可隐藏记录 ID 等暂时不用的列;完整内容仍可在“详情”中查看。

导出历史报警

  1. 按上面的步骤选好目标和筛选条件,确认列表已显示需要的记录。
  2. 在底部分页栏选择每页条数和页码,点击右上角下载图标(“导出”)。
  3. 打开下载的 Excel,核对变量和事件时间。一次导出当前页,不是整个时间范围内的全部记录;还有其他页时,切换页码后分别导出。

“列设置”只改变页面显示,不会删掉导出文件中的其他字段。Excel 的事件类型中,Alarm 表示报警产生,Finish 表示恢复。

给一个变量设置高限报警

练习时使用内存计算中新建的 ManualValue,不用修改 PLC 的值。实际采集变量则从“采集配置”进入编辑,后面的报警设置相同。

  1. 进入“开发配置 → 内存计算”,找到 ManualValue,点击“编辑”。
  2. 切换到“报警配置”,找到“高限报警”,开启这一组的“使能”。其他报警组保持关闭。
  3. 在高限报警组的“报警码”填写 100。这里填写的是比较限值,报警查询中显示为“限值”。报警文本填“演示值偏高”,报警等级填 1
  4. 报警延时保持 0,抑制表达式留空,点击“确定”。

高限报警开启,报警码填 100,报警文本和等级已填写

  1. ManualValue 行点击“写入”,输入 101 并写入。
  2. 打开“数据与告警 → 报警查询”,选择“实时报警”,点击刷新图标。找到 Memory / ManualValue:报警值为 101,限值为 100,内容为“演示值偏高”。
  3. 完成确认练习后,将这个演示变量写为 99,再刷新报警列表。若启用了恢复后移除,这条记录会移出实时列表。

不要为试报警修改正在生产的设备值。实际项目的高限应按设备允许范围填写,不要直接套用本例的 100

多级限值同时启用时,按“高高 > 高 > 低 > 低低”填写。布尔变量使用开报警或关报警。完整字段见采集配置 → 报警配置

报警确认

在未确认记录旁点击“确认”,填写说明后点击“确定”。已确认记录的按钮会不可用。再次查看详情,可以核对确认时间和说明;变量仍超过限值时,确认后记录仍会保留。

确认报警弹窗中填写说明并点击确定

报警详情

详情显示设备与变量、触发值与限值、报警类型、报警/恢复事件以及各个时间。需要判断“还在报警还是已经恢复”时,看事件类型与恢复时间,不要只看是否已确认。

查不到或看不懂报警时

现象先检查
实时列表没有预期报警变量是否正常采集、报警是否启用、是否达到限值和延时、是否有抑制条件
已确认但仍在列表确认不等于恢复;检查当前值和恢复后的移除设置
历史列表为空是否选对历史报警目标和时间范围,该目标是否在报警发生时已运行
没有确认按钮记录是否已确认,以及当前账号是否有确认权限
想恢复后自动移出实时列表到“系统设置 → 报警配置”查看恢复后移除设置

报警配置与邮件通知

邮件通知由变量报警和规则引擎共同完成,处理链路如下:

“系统设置 → 报警配置”只控制报警恢复后是否从实时报警列表移除,不配置 SMTP 服务器,也不会自动发送邮件。

第一步:为变量启用报警

  1. 点击左侧菜单“开发配置 → 采集配置”,在常驻变量列表中选择目标变量。
  2. 找到需要监控的变量,点击“编辑”,再切换到“报警配置”页签。
  3. 按变量数据类型启用布尔报警、限值报警或自定义报警,填写报警文本、报警等级、报警延迟和抑制表达式。
  4. 保存变量,并确认变量、所属设备和采集通道均已启用。

变量配置弹窗中的报警配置入口

配置项说明
布尔开报警 / 布尔关报警布尔变量变为打开或关闭状态时产生报警。
高、高高、低、低低报警数值变量越过对应限值时产生报警;多个限值同时启用时应满足“高高 > 高 > 低 > 低低”。
自定义报警使用表达式判断报警条件,适合状态码或组合条件。
报警文本邮件中的 AlarmText,建议写明对象、异常条件和处理方向。
报警等级取值范围为 0 到 10,数值越大表示越严重;可用于邮件通知规则筛选。
报警延迟报警条件持续达到该时间后才产生报警,单位为毫秒;用于过滤瞬时抖动。
抑制表达式表达式成立时不产生对应报警,适合检修、停机或联锁场景。

变量报警字段的详细说明参见采集配置中的报警配置

第二步:创建邮件通知规则流

  1. 点击左侧菜单“开发配置 → 规则引擎”,新建规则流或打开已有规则流。
  2. 从左侧节点面板的“触发器”分类拖入“告警通知规则”节点。
  3. 从“数据推送”分类拖入“邮件推送”节点。
  4. 将“告警通知规则”的 FilteredAlarmData 输出连接到“邮件推送”的 Data 输入。
  5. 分别选中两个节点,填写筛选条件和 SMTP 参数。
  6. 保存规则流,并确认规则流和两个节点均已启用。

规则流编辑器界面

连线要点

“告警通知规则”会主动订阅报警变化事件,不需要再连接变量输入节点。只有通过筛选的报警数据才会从 FilteredAlarmData 输出,并触发后面的邮件推送。

告警通知规则参数

参数说明
最低告警级别只转发大于或等于该等级的报警。填 0 表示不按等级过滤。
设备名称精确匹配设备名称;多个名称使用英文逗号分隔,留空表示全部设备。
事件类型多个类型使用英文逗号分隔。只发送报警产生邮件时填 Alarm;同时发送恢复邮件时填 Alarm,Finish。留空会匹配全部报警生命周期事件。
报警类型可填写 OpenCloseHHHLLLCustom,多个类型使用英文逗号分隔;留空表示全部类型。
防抖间隔同一设备和变量在该时间内只通知一次,单位为毫秒;填 0 表示不防抖。
启用关闭后节点不再输出报警数据。
避免重复邮件

生产环境建议至少填写“事件类型”。若只希望在报警产生时通知,请填写 Alarm;不需要恢复和确认邮件时,不要留空。对可能频繁抖动的点位,还应配置变量报警延迟或节点防抖间隔。

邮件推送参数

参数说明
SMTP 服务器地址邮件服务商提供的 SMTP 主机名,例如企业邮箱的 SMTP 地址。不要填写 Web 邮箱登录网址。
SMTP 服务器端口按邮件服务商要求填写,启用 STARTTLS 时常用 587。防火墙必须允许网关访问该端口。
启用 SSL邮件服务器要求加密连接时开启;必须与服务器端口和服务商要求一致。
SMTP 用户名SMTP 认证账号,通常为完整邮箱地址。
SMTP 密码邮件服务商提供的 SMTP 授权码或专用密码,不一定是网页登录密码。
发件人地址邮件显示的发件地址。多数服务商要求它与 SMTP 认证账号一致。
发件人名称收件人看到的发件人名称,例如 ThingsGateway 或现场名称。
收件人地址多个地址使用英文逗号分隔。保存前检查是否存在空地址或中文逗号。
邮件主题模板支持 {{属性名}} 占位符,例如 [{{EventType}}] {{DeviceName}} - {{Name}}
邮件正文模板支持相同占位符;正文以 < 开头时按 HTML 邮件发送,否则按纯文本发送。
启用关闭后不发送邮件,但仍可保留节点参数。
推送数据连接“告警通知规则”的 FilteredAlarmData 输出,不需要手工填写。

常用模板变量如下。变量名称对应 {{Name}},不要写成 {{VariableName}};不存在的属性会被替换为空字符串。

模板变量内容
{{DeviceName}}设备名称。
{{Name}}变量名称。
{{Description}}变量描述。
{{AlarmLevel}}报警等级。
{{EventType}}事件类型,例如 AlarmFinishConfirm
{{AlarmType}}报警类型,例如 HHHOpenCustom
{{AlarmText}}变量报警配置中的报警文本。
{{AlarmCode}}触发报警时的变量值。
{{AlarmLimit}}报警限值或自定义报警条件。
{{AlarmTime}}报警产生时间。
{{EventTime}}当前报警生命周期事件的发生时间。
{{FinishTime}}报警恢复时间。
{{ConfirmTime}}报警确认时间。
{{ConfirmText}}报警确认说明。
{{Remark1}}{{Remark5}}变量的自定义备注字段。

主题模板示例:

[{{EventType}}] {{DeviceName}} - {{Name}} - 等级{{AlarmLevel}}

纯文本正文模板示例:

设备:{{DeviceName}}
变量:{{Name}}
事件:{{EventType}}
类型:{{AlarmType}}
等级:{{AlarmLevel}}
报警值:{{AlarmCode}}
限值:{{AlarmLimit}}
内容:{{AlarmText}}
报警时间:{{AlarmTime}}

验证邮件通知

正式投入使用前,应在测试变量或安全的调试环境中完成一次完整验证。

  1. 保存并启用规则流,确认规则流页面没有配置错误。
  2. 让测试变量越过报警条件,并保持到超过变量的报警延迟。
  3. 在“数据与告警 → 报警查询 → 实时报警”确认已产生对应报警。
  4. 返回规则流,选中“告警通知规则”,确认 FilteredAlarmData 已输出报警数据。
  5. 选中“邮件推送”,检查 SuccessErrorMessageLastPushTimeSuccesstrue 表示 SMTP 服务器已接受本次发送。
  6. 到收件箱确认主题、正文和时间正确,并同时检查垃圾邮件目录。
  7. 若配置了恢复通知,让变量恢复正常,确认只产生预期的 Finish 邮件。
安全说明

不要在文档、截图、运行日志或问题反馈中暴露 SMTP 授权码。截图前应遮盖“SMTP 密码”,生产环境应使用专用发件账号,并限制该账号的权限和收件范围。

常见问题

现象排查方法
没有产生报警检查变量、设备和通道是否启用,报警条件、报警延迟和抑制表达式是否满足。
FilteredAlarmData 没有输出检查最低告警级别、设备名称、事件类型和报警类型;名称匹配区分实际字符串,多个值必须使用英文逗号。
SMTP 认证失败确认已在邮箱后台开启 SMTP 服务,并使用授权码或专用密码;核对用户名和发件人地址。
连接超时或 TLS 失败检查 DNS、网关到 SMTP 主机的网络和防火墙端口,并确认端口与“启用 SSL”设置匹配。
发件人被拒绝将发件人地址改为 SMTP 账号允许的地址,或在邮件服务后台配置代发权限。
收到多封重复邮件将事件类型限制为 Alarm,并设置报警延迟或防抖间隔;同时确认没有多个已启用规则流处理同一报警。
Successtrue 但收件箱没有邮件检查垃圾邮件、邮件网关策略、收件人地址和服务商投递日志。

相关链接