3. 报警生命周期与ISA 18.2标准映射
报警不是一条“出现—消失”的简单消息,而是一个具有明确状态迁移的生命周期对象。ISA 18.2《Management of Alarm Systems for the Process Industries》把报警从产生到最终归档的全过程定义为若干可辨识状态,并规定了状态之间的迁移条件。理解这套状态机,是后续做报警抑制、搁置、泛滥分析和KPI统计的基础。本节先讲清标准状态定义,再对照Schneider(EcoStruxure Process Expert / Citect SCADA 及 AVEVA 体系下的报警引擎)的实际实现,说明标准条款如何落到工程配置上。
一、ISA 18.2 的报警状态模型
ISA 18.2 将报警生命周期抽象为几个核心状态:Normal(正常)、Unacknowledged(未确认)、Acknowledged(已确认)、Returned-to-Normal(已恢复正常)、Suppressed(抑制)、Shelved(搁置)、Out-of-Service(停用)。它们并非线性排列,而是由“报警条件是否成立”和“操作员是否确认”两个布尔维度共同决定。
关键区分点在于:确认(Acknowledge)是操作员对报警的认知动作,消失(Return to Normal)是过程条件恢复的物理事实,两者相互独立。因此会出现四种组合:未确认且条件仍成立(最紧急)、已确认但条件仍成立(操作员已知晓,正在处理)、未确认但条件已恢复(瞬时报警,仍需确认)、已确认且已恢复(可归档)。ISA 18.2 要求系统必须能区分这四种状态,否则无法正确统计“报警响应时间”和“报警泛滥”。
抑制(Suppression)与搁置(Shelving)常被混淆,标准对二者有明确界定:抑制通常由系统或设计逻辑自动施加,例如设备停机时自动屏蔽其相关报警,属于“设计层面的临时禁用”;搁置是操作员主动、限时地把某条报警暂时移出操作员视野,到期必须自动恢复,且搁置行为本身应被记录和审计。ISA 18.2 明确要求搁置必须有时间限制,禁止无限期搁置。
二、状态迁移关系
下图给出报警生命周期的状态迁移关系,节点为状态,箭头为迁移条件。注意“确认”和“恢复”是两个独立触发源,抑制与搁置是叠加在正常迁移路径上的旁路状态。
三、Schneider 实现与标准条款的对应
在 Schneider 的报警引擎中,每条报警对象都带有若干属性位,直接对应 ISA 18.2 的状态。以 EcoStruxure Process Expert 的报警定义为例,典型属性包括:AlarmState(当前状态)、AckState(确认状态)、SuppressState(抑制状态)、ShelveState(搁置状态)、Priority(优先级)、TimeStamp(时间戳)。这些属性共同构成状态机的输入。
标准条款与实现的映射关系可归纳如下:
| ISA 18.2 条款/状态 | Schneider 实现要点 | 工程配置位置 |
|---|---|---|
| 报警产生(Alarm Condition) | 由 Alarm Condition 表达式触发,支持数字量、模拟量阈值、偏差、速率等类型 | 报警定义属性页 / 逻辑组态 |
| 确认(Acknowledge) | AckState 置位,记录确认人与时间戳,支持单条/组确认 | 操作员画面 / 报警摘要 |
| 消失(Return to Normal) | 条件表达式恢复为假,AlarmState 迁移至 RTN 分支 | 报警引擎自动处理 |
| 复位(Reset / Clear) | 已确认且已恢复的报警从活动列表移入历史库,Reset 动作可手动或自动 | 报警归档配置 |
| 抑制(Suppression) | SuppressState 由设备状态、模式或逻辑条件驱动,支持按组抑制 | 设备状态联动 / 抑制组 |
| 搁置(Shelving) | ShelveState 由操作员触发,必须设置搁置时长,到期自动恢复并记录审计 | 操作员搁置对话框 / 审计日志 |
| 停用(Out-of-Service) | 报警对象被标记为停用,不参与活动报警统计,但保留配置 | 报警维护模式 |
需要特别注意的是,Schneider 的“抑制”与“搁置”在实现上共享同一套状态位机制,但触发源和审计要求不同。抑制通常由设备模式(如“手动”“维护”)自动带入,操作员无需干预;搁置则必须由操作员在报警摘要中显式选择,并输入搁置时长。ISA 18.2 第 9 条要求搁置行为可审计,因此 Schneider 的搁置记录会写入审计追踪,包含操作员、时间、报警标识和搁置时长。
四、工程配置中的关键判断
在实际组态时,最容易出错的是“确认”与“复位”的混淆。确认是操作员动作,复位是系统归档动作。一条报警被确认后,如果条件仍未恢复,它仍应留在活动报警列表中,只是状态变为“已确认”。只有当条件恢复且已确认,系统才允许复位归档。若把复位配置成“确认即复位”,会导致操作员确认后报警立即从列表消失,但过程条件实际仍处于异常,形成安全隐患。
另一个关键点是搁置时长的设置。ISA 18.2 建议搁置时长应尽可能短,通常以分钟到小时为单位,禁止超过一个班次。在 Schneider 中,搁置时长可在报警类属性中设置默认值,也可由操作员在搁置时覆盖。工程实践中,建议对高优先级报警禁用搁置,或设置更短的搁置上限,防止操作员用搁置规避关键报警。
最后,状态迁移的时间戳是计算报警KPI的基础。ISA 18.2 定义的“报警响应时间”是从报警产生到操作员确认的时间差,“报警持续时间”是从产生到条件恢复的时间差。Schneider 的报警历史库会记录每个状态迁移的时间戳,工程上应确保这些时间戳来自同一时钟源,避免因控制器与SCADA时钟不同步导致KPI计算偏差。