2. PCS 7报警系统架构与组件
在PCS 7中,报警不是单一软件的功能,而是一条从现场信号产生、经控制器判断、由OS服务器分发、最终在操作员站呈现并归档的完整链路。理解这条链路上每个组件的职责边界,是后续设计报警分级、抑制策略和归档方案的前提。本节围绕五个核心组件展开:OS服务器、报警记录、报警控件、报警归档和消息系统,重点说明它们各自"管什么、不管什么",以及数据在它们之间如何流动。
一、五个组件的职责边界
先给出一个整体定位,避免把功能混在一起:
- OS服务器:报警运行时的"中枢"。它从AS(自动化系统)接收报警消息,维护当前报警状态,向连接的OS客户端分发,并负责报警的确认、锁定、隐藏等运行时操作。它不负责长期存储,也不负责画面上的具体显示样式。
- 报警记录(Alarm Logging):报警的"记录者"。它把报警的发生、到达、确认、消失等状态变化按时间顺序写入归档,形成可追溯的历史记录。它关注的是"什么时候发生了什么",而不是"现在屏幕上显示什么"。
- 报警控件(Alarm Control):报警的"呈现者"。它是WinCC画面中的一个ActiveX控件,负责把OS服务器上的报警以列表、行、颜色、闪烁等形式展示给操作员,并接收操作员的确认、锁定等操作。它不产生报警,也不存储报警。
- 报警归档(Alarm Archiving):报警的"长期仓库"。它把报警记录写入归档数据库,支持按时间、类型、优先级等条件查询历史报警,是事故分析和审计的依据。
- 消息系统(Message System):报警的"产生与传输机制"。它定义了报警如何从AS产生、以什么格式、通过什么通道传到OS,包括消息类别、消息类型、消息块和消息优先级等配置。
这五个组件的关系可以用一句话概括:消息系统产生报警,OS服务器运行报警,报警控件显示报警,报警记录记录报警,报警归档保存报警。
二、OS服务器:报警运行时的中枢
OS服务器在报警链路中承担三个关键动作。第一是接收:它通过S7连接或工业以太网从AS接收报警消息,消息的格式由消息系统预先定义。第二是状态维护:每条报警在OS服务器上都有明确的状态,包括"到达未确认""到达已确认""消失未确认""消失已确认"等。第三是分发:所有连接到该服务器的OS客户端都会收到当前报警状态,保证多操作员站看到一致的报警画面。
需要特别注意的是,OS服务器本身不负责长期存储。如果服务器重启,当前报警状态会重新从AS同步,但历史报警记录必须依赖报警归档。因此在实际项目中,OS服务器通常采用冗余配置,而报警归档则单独规划存储路径和容量。
三、报警记录与报警归档:从"事件"到"历史"
报警记录和报警归档经常被混为一谈,但它们的定位不同。报警记录关注的是状态变化的时序:一条报警从产生到消失,中间经历了哪些状态、每个状态发生在什么时刻、由谁确认。这些信息按时间顺序写入,形成一条完整的事件链。
报警归档则关注长期可查。它把报警记录写入归档数据库,支持按时间段、报警类别、优先级、确认状态等条件检索。在事故分析时,工程师通常先通过报警归档定位到某段时间的报警列表,再结合趋势和操作记录还原事件过程。
一个常见的配置示例是:报警记录写入短期归档(例如保留7天),报警归档写入长期归档(例如保留1年)。具体保留周期取决于工厂的审计要求和存储容量,需要在项目初期明确。
四、报警控件:操作员看到的那一层
报警控件是WinCC画面中的ActiveX控件,它决定了操作员"看到什么"和"能做什么"。它从OS服务器读取当前报警状态,并以列表形式呈现。每条报警通常包含以下字段:
| 字段 | 含义 | 示例 |
|---|---|---|
| 时间 | 报警到达或状态变化的时间 | 2024-06-15 14:23:07 |
| 消息文本 | 报警的描述信息 | 反应器R-101温度高 |
| 优先级 | 报警的紧急程度 | 高 / 中 / 低 |
| 状态 | 当前报警状态 | 到达未确认 |
| 确认状态 | 是否已被操作员确认 | 未确认 / 已确认 |
报警控件还负责颜色和闪烁逻辑。例如,未确认的到达报警通常显示为红色闪烁,确认后变为红色常亮,消失后变为蓝色或灰色。这些视觉规则需要在画面组态时统一设计,避免不同操作员站显示不一致。
五、消息系统:报警的"出生地"
消息系统是报警产生的源头。在AS中,报警通过消息块(如ALARM_8P、NOTIFY_8P等)触发,消息块中定义了报警的文本、优先级、消息类别等属性。消息类别决定了报警的归属,例如"过程报警""系统报警""操作员消息"等。
消息系统的配置直接影响后续所有环节。如果消息文本定义不清,操作员在报警控件中看到的就是模糊信息;如果优先级设置不合理,高优先级报警会被淹没在大量低优先级报警中。因此,消息系统的设计应该与报警分级策略同步进行,而不是等到画面组态时才考虑。
六、组件之间的协作关系
把五个组件放在一起看,它们形成了一条清晰的数据流:AS检测到异常,通过消息系统产生报警消息;OS服务器接收并维护报警状态;报警控件从OS服务器读取状态并显示给操作员;操作员的确认操作通过报警控件回传到OS服务器;同时,报警记录把状态变化写入归档,报警归档负责长期保存。
理解这条链路的关键在于:每个组件只做自己该做的事。报警控件不产生报警,报警归档不参与运行时显示,OS服务器不负责长期存储。只有明确边界,才能在出现问题时快速定位——例如操作员看不到报警,可能是报警控件组态问题;报警历史查不到,可能是报警归档路径或保留周期问题;报警根本不产生,则要回到消息系统检查消息块和触发条件。