3. FactoryTalk View SE 报警与事件配置
报警对象与触发条件设计
在 FactoryTalk View SE 中,报警不是直接绑定到画面对象上的,而是先建立报警与事件模型,再由画面中的报警摘要/历史报警对象去订阅这些模型。数字量报警和模拟量越限报警共用同一套报警服务器,但触发条件不同:数字量报警由布尔标签的 0→1 或 1→0 跳变触发;模拟量越限报警由标签值穿越阈值(含死区)触发。
本例在 SE 单机应用中定义两个报警标签:Line1_Fault(BOOL,设备故障)和 Tank1_Level(REAL,罐体液位)。报警触发条件如下表,其中死区用于防止值在阈值附近抖动导致报警反复刷屏。
| 报警标签 | 数据类型 | 触发类型 | 阈值/条件 | 死区 | 报警消息 |
|---|---|---|---|---|---|
| Line1_Fault | BOOL | 数字量 | =1 触发,=0 复位 | — | 1号线设备故障 |
| Tank1_Level | REAL | 模拟量高限 | >85.0 触发 | 2.0 | 1号罐液位高 |
| Tank1_Level | REAL | 模拟量高高限 | >95.0 触发 | 1.0 | 1号罐液位高高 |
报警摘要与历史报警显示配置
报警模型建立后,需要在画面中放置两个显示对象:报警摘要用于运行时查看当前活动报警并执行确认操作;历史报警用于按时间范围回查报警记录。两者都通过报警服务器获取数据,但查询方式不同。
- 报警摘要:在画面中插入 Alarm and Event Summary 对象,设置显示列为时间、标签名、消息、优先级、状态。运行时活动报警按优先级排序,未确认报警以闪烁或高亮提示。
- 历史报警:插入 Alarm and Event History 对象,配置查询条件为时间范围(如最近 8 小时)和报警标签过滤。历史记录包含触发、确认、复位三类事件。
- 确认操作:在摘要对象上启用确认按钮,操作员点击后报警状态由“未确认”变为“已确认”,但报警是否消失取决于触发条件是否仍成立。
触发条件验证与状态判读
配置完成后进入运行时验证。验证时按以下顺序操作,并观察报警摘要与历史报警的变化:
- 将
Line1_Fault强制为 1,观察报警摘要中是否出现“1号线设备故障”,状态为“活动/未确认”。 - 点击确认按钮,观察状态是否变为“活动/已确认”,报警条目是否仍保留在摘要中。
- 将
Line1_Fault恢复为 0,观察报警摘要中该条目是否消失,历史报警中是否新增一条复位记录。 - 将
Tank1_Level写入 86.0,观察高限报警是否触发;再写入 84.0,观察报警是否因死区 2.0 而保持到低于 83.0 才复位。 - 将
Tank1_Level写入 96.0,观察高高限报警是否触发,并与高限报警同时出现在摘要中。
验证时建议先使用标签强制功能模拟触发条件,避免直接修改控制器逻辑。强制前确认该标签未被其他逻辑占用,验证完成后及时取消强制。
模拟量报警的死区设置过小会导致报警频繁抖动,过大则可能延迟复位。本例中高限死区 2.0 表示:触发后需降到 83.0 以下才复位;高高限死区 1.0 表示需降到 94.0 以下才复位。实际项目中应根据工艺波动范围调整。
报警状态判读速查
| 摘要中状态 | 含义 | 操作 |
|---|---|---|
| 活动 / 未确认 | 触发条件成立,操作员尚未确认 | 点击确认 |
| 活动 / 已确认 | 触发条件仍成立,已确认 | 等待条件恢复 |
| 已复位 / 未确认 | 条件已恢复,但未确认 | 点击确认清除 |
| 已复位 / 已确认 | 报警已结束并确认 | 从摘要中移除 |
历史报警中每条记录包含时间戳、标签名、消息、事件类型(触发/确认/复位)和操作员信息。通过对比触发时间与复位时间,可以判断报警持续时间;通过确认时间与触发时间的差值,可以评估操作员响应速度。