3. PLC报警数据采集与标签规划
报警分级与事件追溯能否真正落地,前提是PLC侧采集到的报警信号本身是“干净、可辨、可追溯”的。很多环保项目在调试阶段才发现:风机过载和接触器反馈接在同一路输入上,水泵故障与液位低共用一条报警位,加药装置的计量泵冲程异常根本没有接入PLC,在线监测仪的超标报警只停留在仪表本地屏幕。结果是上位机看到的报警既无法分级,也无法回溯到具体设备与时间点。本节要解决的就是从设备侧识别报警信号、规划PLC变量标签、确定数据类型与采集周期,并最终形成一份可用的报警点表。
一、从四类环保设备中识别报警信号
环保系统常见的被控对象可以归为四类,每类的报警信号来源和性质差异明显,识别时应按“设备本体故障—工艺参数越限—通信与仪表异常”三个层次逐项梳理。
风机类(曝气风机、引风机、除臭风机)的典型报警包括:电机过载(热继电器或马达保护器动作)、变频器故障、运行反馈丢失(启动指令发出但接触器/运行信号未返回)、轴承温度高、振动高、风压过低或过高。其中过载与变频器故障属于设备本体故障,风压越限属于工艺参数异常,运行反馈丢失则往往是控制回路问题,三者应占用不同的报警位。
水泵类(提升泵、回流泵、排泥泵)的典型报警包括:过载、缺相、干转/低液位保护、出口压力异常、运行反馈丢失、双泵切换失败。干转保护通常由液位开关或电流判据触发,属于工艺联锁型报警,需要与单纯的设备故障区分开。
加药装置(PAC、PAM、次氯酸钠、碳源加药)的典型报警包括:计量泵故障、药箱液位低、搅拌机过载、流量计无流量、加药量偏差超限、管路堵塞(以压力或流量判据间接反映)。加药系统报警往往直接影响出水水质,应给予较高等级。
在线监测仪(COD、氨氮、总磷、pH、流量计)的典型报警包括:仪表故障/自检异常、超标报警、量程超限、通信中断、标液不足、采样异常。这类报警多为仪表内部状态字或通信寄存器提供,采集方式与前两类由硬接线DI点不同,需要单独规划。
二、PLC变量标签命名规则
标签命名是报警点表可维护性的核心。推荐采用“区域—设备类型—设备编号—信号类型—功能描述”的分段结构,段间用下划线连接,全部大写,避免中文和空格。例如:
WTP1_FAN_01_RUN_FB 1号曝气风机运行反馈
WTP1_FAN_01_OL_ALM 1号曝气风机过载报警
WTP1_PMP_02_DRY_ALM 2号提升泵干转报警
WTP1_DOS_01_LVL_LO 1号加药装置药箱液位低
WTP1_AIA_03_COMM_ERR 3号在线监测仪通信中断
WTP1_AIA_03_COD_HI 3号在线监测仪COD超标
各段含义:区域码标识处理单元(如WTP1为一级处理),设备类型用三字母缩写(FAN风机、PMP水泵、DOS加药、AIA在线分析仪),设备编号两位数字,信号类型区分RUN_FB运行反馈、OL_ALM过载报警、ALM通用报警、ERR故障、HI/LO越限,最后可加功能描述。命名一旦确定,应在全项目内保持一致,PLC变量、上位机点表、报警记录数据库字段尽量同名,便于追溯时按标签直接检索。
三、数据类型与采集周期
报警信号的数据类型选择直接影响扫描开销和后续处理。纯开关量报警用BOOL;需要记录模拟量越限的(如温度、压力、浓度)用REAL并配合高低限比较;仪表通信状态字可用WORD按位解析;累计量(如加药累计流量)用DINT或REAL。采集周期方面,设备故障类DI点应每个扫描周期(通常10~50ms)刷新,保证不丢失短脉冲;工艺参数模拟量按100~500ms采集即可;在线监测仪数据受仪表本身响应限制,通常按1~5s或与仪表输出周期一致采集,通信中断检测可用心跳计数配合超时判断。
四、建立报警点表
报警点表是本节的核心交付物,它把设备、信号、标签、数据类型、采集周期和报警等级串成一条可执行链路。点表字段建议至少包含:标签名、设备与安装位置、信号来源(DI/AI/通信)、数据类型、采集周期、报警等级、触发条件、延时与复位方式、关联工艺参数、备注。下面给出一份可直接参考填写的示例片段(参数为教学示例,实际项目需按设备说明书与工艺要求核定):
| 标签名 | 设备/位置 | 信号来源 | 数据类型 | 采集周期 | 报警等级 | 触发条件 | 延时/复位 |
|---|---|---|---|---|---|---|---|
| WTP1_FAN_01_OL_ALM | 1号曝气风机 | 热继电器DI | BOOL | 20ms | 二级 | DI=1 | 2s/手动 |
| WTP1_FAN_01_RUN_FB | 1号曝气风机 | 接触器辅助DI | BOOL | 20ms | 二级 | 启动指令=1且反馈=0持续5s | 5s/自动 |
| WTP1_PMP_02_DRY_ALM | 2号提升泵 | 液位开关DI | BOOL | 20ms | 一级 | 运行中液位低=1 | 1s/手动 |
| WTP1_DOS_01_LVL_LO | 1号加药装置 | 药箱液位DI | BOOL | 50ms | 一级 | 液位低=1 | 3s/手动 |
| WTP1_AIA_03_COD_HI | 3号在线监测仪 | 通信寄存器 | REAL | 2s | 一级 | COD>设定上限 | 10s/手动 |
| WTP1_AIA_03_COMM_ERR | 3号在线监测仪 | 心跳计数 | WORD | 1s | 二级 | 心跳3个周期无变化 | 3s/自动 |
填写点表时有几个容易出错的细节值得强调。第一,运行反馈丢失类报警必须与启动指令做逻辑与判断,否则停机状态下会持续误报;第二,模拟量越限报警要同时设定上限、下限和回差(死区),例如COD上限设为50mg/L、回差2mg/L,避免数值在阈值附近反复触发;第三,通信类报警要用心跳计数或时间戳超时判断,不能仅凭单次读取失败就报警;第四,报警等级要与后续分级策略衔接,一级通常对应可能影响出水达标或造成设备损坏的信号,二级对应需要关注但不紧急的异常。
五、采集链路的验证
点表建立后应做一次采集链路验证:在PLC变量表中强制或模拟每个报警位,观察上位机是否在预期延时后收到对应标签的报警、标签名与点表是否一致、复位后是否能正常清除。对模拟量报警可用信号发生器在4-20mA回路中注入临界值,确认越限与回差动作正确。验证通过后,这份点表即可作为报警分级与事件追溯的数据基础,后续的分级规则、报警记录字段和追溯查询都直接引用其中的标签名与等级定义。