4. 异常检测与告警机制
厂内物流的异常恢复能力,首先取决于“异常能不能被及时、准确地发现”。如果检测环节漏报,人工接管就无从谈起;如果误报泛滥,调度员会被淹没在噪声里,真正严重的故障反而被忽略。因此,异常检测与告警机制要解决三个层次的问题:信号从哪里来、阈值怎么定、告警如何去噪。本节围绕传感器、PLC、调度系统、视觉系统四类信号源,讲清采集、判定与去噪的完整链路。
一、四类信号源的采集特点
厂内物流系统的异常信号并非来自单一设备,而是分布在从物理层到信息层的多个层级,各自的采集方式、数据形态和可靠性差异很大。
传感器层是最贴近物理世界的检测点,包括光电开关、接近开关、激光测距、称重、编码器等。它们通常输出开关量(0/1)或模拟量(4–20mA、0–10V)。例如输送线入口的光电开关被遮挡超过设定时间,说明可能有货物滞留或卡阻;AGV 驱动轮的编码器脉冲与指令速度偏差过大,说明可能打滑或受阻。传感器信号的特点是实时性强、语义简单,但容易受灰尘、反光、震动干扰,产生瞬时抖动。
PLC 层承担设备级的逻辑控制与状态汇总。PLC 采集各传感器的输入,执行联锁逻辑,并向上位系统输出设备状态字、故障码、运行/停止/急停等信号。PLC 的异常信号往往已经过一轮逻辑判断,例如“急停按下”“安全门打开”“电机过载”,语义比原始传感器更明确,但采样周期通常在 10–100ms 量级,需要关注扫描周期带来的延迟。
调度系统层关注的是任务与资源的宏观状态,包括任务超时、AGV 电量低、路径拥堵、任务分配失败、通信心跳丢失等。这类异常不是单个设备故障,而是系统级的不协调。调度系统的数据以事件和状态为主,采样频率低(秒级到分钟级),但影响范围大。
视觉系统层用于识别托盘位置、货物有无、条码、异物等。它输出的是结构化结果(识别成功/失败、坐标偏差、置信度)或图像。视觉异常包括识别置信度低于阈值、目标缺失、位置偏移超限。视觉信号信息量大,但受光照、遮挡影响明显,且处理耗时较长,需要与实时控制解耦。
二、阈值设定:从固定阈值到动态基线
阈值是异常判定的核心参数。设得太松会漏报,设得太紧会误报。实际工程中通常分三步走。
第一步,确定判定量。不是直接对原始信号设阈值,而是先构造有物理意义的判定量。例如光电开关不能只看“是否遮挡”,而要看“遮挡持续时间”;AGV 不能只看“速度”,而要看“指令速度与实际速度的偏差”;视觉系统不能只看“识别结果”,而要看“置信度与位置偏差的组合”。
第二步,选择阈值类型。常见有三类:
- 固定阈值:适用于物理边界明确的场景,如急停信号、安全门开关,触发即异常,无需延时。
- 时间阈值:适用于需要区分“瞬时抖动”和“真实滞留”的场景,如光电遮挡持续 3s 以上才判定为滞留。
- 动态基线:适用于随工况变化的量,如 AGV 速度偏差阈值随载重和坡度调整,或用电量下降速率判断电池老化。
第三步,用历史数据校准。以某输送线入口光电开关为例,假设正常运行时货物通过造成的遮挡时间为 0.3–0.8s,偶发抖动不超过 0.2s。若把阈值设为 1.5s,则正常通过不会误报,而真实卡阻(通常持续数秒以上)能可靠触发。这个 1.5s 不是拍脑袋定的,而是从一段正常运行数据中统计遮挡时长分布,取“正常上限的 1.5–2 倍”作为初始值,再根据现场误报/漏报情况微调。
示例:光电开关滞留判定
正常遮挡时长分布:0.3s ~ 0.8s
抖动上限:0.2s
初始阈值:1.5s(正常上限约 2 倍)
判定逻辑:
if 遮挡持续 >= 1.5s:
触发“入口滞留”告警
else:
忽略(视为正常通过或抖动)
对于模拟量信号,常用“均值 ± k 倍标准差”或“滑动窗口分位数”来设定动态阈值。例如 AGV 电流在平路空载时均值为 8A、标准差 0.5A,取 3σ 得 9.5A;当载重增加时,基线整体上移,阈值也应随载重档位调整,否则满载爬坡会被误判为过载。
三、告警去噪:让真正重要的异常浮出来
即使阈值合理,现场仍会产生大量告警。去噪的目标不是“减少告警数量”,而是提高告警的信噪比,让调度员一眼看到需要人工接管的异常。常用手段有以下几种。
延时确认(Debounce):信号持续超过设定时间才确认,滤掉瞬时抖动。例如光电开关抖动 0.1s 不告警,持续 1.5s 才告警。
迟滞(Hysteresis):设置触发阈值和恢复阈值不同,避免在临界点反复告警。例如温度超过 60℃ 触发,降到 55℃ 以下才恢复,防止在 60℃ 附近来回跳变。
告警抑制与屏蔽:当上游已知故障时,抑制下游连带告警。例如某段输送线停机后,其下游光电开关的“无货”告警应被抑制,否则会瞬间产生几十条无效告警。
告警聚合:把同一设备、同一根因的多个告警合并为一条。例如一台 AGV 同时报“通信超时”“任务失败”“电量低”,应聚合为“AGV-07 失联,疑似通信故障”,而不是三条独立告警。
分级与路由:按严重程度分为提示、警告、严重、紧急,分别路由到看板、短信、声光、自动停机。只有“需要人工接管”的级别才推送给调度员,其余进入日志或统计。
四、四类信号源的协同判定
单一信号源往往不足以确认异常。更可靠的做法是多源交叉验证。例如判断“AGV 在路口被阻挡”:
- 调度系统:任务超时,AGV 停留在同一坐标超过 20s;
- PLC/车载控制器:驱动电流升高,速度接近 0;
- 传感器:前方避障雷达持续检测到障碍物;
- 视觉系统(若路口有相机):识别到前方有托盘或人员。
当其中两个以上信号同时满足时,才判定为“真实阻挡”,触发人工接管流程;若只有调度超时而无其他证据,则先降级为“疑似拥堵”,继续观察。这种协同判定能显著降低误报,也能在单一传感器失效时提供冗余。
五、落地要点与常见问题
把上述机制落到现场,有几个容易踩的坑。第一,阈值不能只设一次。设备磨损、季节变化、货物类型变化都会让基线漂移,建议每季度用最近一个月的正常运行数据重新校准一次。第二,去噪规则要有版本和责任人。每条抑制、延时规则都应记录“为什么加、谁加的、什么时候复核”,否则规则会越积越多,最终没人敢删。第三,告警要能追溯到原始信号。调度员看到一条聚合告警时,应能一键展开查看底层传感器、PLC、调度、视觉的原始记录,否则无法判断是真实故障还是规则误判。第四,人工接管动作要回写。调度员确认“真实异常”或“误报”后,这个标签应反馈给阈值和去噪规则,形成闭环优化。
异常检测与告警机制的本质,是在“漏报”和“误报”之间找到可运营的平衡点。传感器、PLC、调度系统、视觉系统各自提供不同粒度和可靠性的证据,阈值把连续量变成离散判断,去噪把离散判断变成可行动的告警。三者配合得当,人工接管才能在最需要的时候被准确触发,而不是被噪声淹没。