⚖️ 丁丁选型对比系列 · 第9篇

工业报警系统怎么搭?
PLC + 上位机 + 远程通知

💡 报警在 PLC 做还是上位机做?Grafana 告警够不够?报警风暴怎么治?一次说清。

报警是每个工控项目都绕不开的刚需,但很少有人系统讲过怎么分层设计。这篇把PLC 硬接线报警、上位机弹窗报警、远程手机通知三层放在一起比,告诉你每层管什么、不能替代谁,以及怎么避免"一晚上几十条报警刷屏"。

对比对象PLC · 上位机 · 远程告警
对比维度10 项
核心原则安全报警不依赖网络
一句话三层组合,不二选一
🎯 丁丁一句话结论

报警不是三选一,是三层组合:安全相关、急停、硬保护必须在 PLC 里做硬接线(灯柱、急停回路),这是底线,不依赖网络和上位机;车间日常报警在上位机弹窗、确认、记历史;远程/无人值守用 Grafana Alerting + 钉钉/企微推手机。安全报警永远不能只放在上位机或云上——上位机死机、网络断了,现场灯还是得亮。

01 先搞清楚:三层报警各管什么

报警系统设计的第一原则:安全相关的报警不能依赖网络和上位机。基于这个原则,工业报警自然分成三层:

  • 第一层 PLC 报警(安全底线):硬接线输出,灯柱、蜂鸣器、急停回路、安全继电器。PLC 不停就有效,上位机死了也亮。
  • 第二层上位机报警(车间操作):画面弹窗、设备变色、报警列表、确认和处理记录。给操作员看,记历史。
  • 第三层远程告警(手机通知):Grafana/EMQX 规则触发,钉钉/企微/短信推手机。给维修和管理层,不适合现场急停。

下面 10 个维度,把三层放在一起比。

02 10 个维度逐项对比

对比维度 PLC 硬接线报警 上位机报警 远程告警(Grafana+钉钉)
实时性 最快,PLC 程序周期内响应,毫秒级,急停直接硬接线 快,和上位机通讯周期同步,1~2 秒内弹窗 慢,3~10 秒(采集+规则+推送+手机),不适合现场急停
响应方式 现场灯柱、蜂鸣器、硬接线输出,工人听到看到 画面弹窗、设备变色、报警列表、声光提示 手机钉钉/企微/短信推送,远程知道出问题了
确认/处理 硬件复位按钮,不确认不能开机 操作员在画面上确认、填写处理记录 手机点已读,或远程派单
历史记录 基本不存,靠 PLC 程序记录报警发生位 完整存报警时间、级别、确认人、恢复时间、处理备注 Grafana/时序库存告警历史,可做统计分析
通知范围 只有现场旁边的人知道 车间现场和控制室知道 手机、总部、维修人员、管理层都能收到
报警分级 简单,按输出点分几级灯色 可分紧急/重要/提示,不同级别不同弹窗方式 可按级别路由不同人(紧急打钉钉电话,提示发群消息)
成本 灯柱+硬接线,几百到几千元 上位机软件自带报警功能,零额外成本 Grafana 开源免费,钉钉机器人免费,主要是配置时间
可靠性 最高,不依赖网络和上位机,PLC 不停就有效 上位机死机/通讯断就失效,不能作为唯一报警 依赖网络和云,现场断网就收不到,不能作为唯一报警
维护 改报警条件要改 PLC 程序,下载 改报警阈值和文案在上位机配置里,快 改规则在 Grafana/EMQX 里配,最快
典型用途 安全相关、急停、设备故障硬保护 车间日常报警、操作提示、工艺参数超限 无人值守、夜间值班、多工厂远程监控、管理层通知

03 按项目规模对号入座

项目规模 特点 关键诉求 报警方案 历史存储 建议路线
单机小设备 1~3 台机 有人值守 PLC + 灯柱 上位机弹窗即可 两层够用
产线 / 车间 多台设备 要报警历史 PLC + 上位机 报警历史存库 两层完整
无人值守 / 夜间 要远程通知 维修要手机收 三层全上 Grafana + 钉钉 三层体系
正式数字化项目 要报警分析 MTBF/MTTR 统计 三层 + 分析 报警历史存时序库 三层 + 分析

04 报警分级:别让操作员被报警淹没

很多项目的报警系统最后没人看,不是因为没报警,而是因为什么都报警。温度高 0.1 度报、气压低 0.01 报、换料提醒也弹窗——操作员很快就麻木了。建议分三级:

  • 🔴 紧急(红色):设备可能损坏、有安全风险、产品批量报废。必须立即处理。响应:现场灯柱+上位机强制弹窗+声光+钉钉电话。
  • 🟡 重要(黄色):工艺参数超限、可能影响质量但不紧急。响应:上位机弹窗+群消息,操作员有空处理。
  • 🔵 提示(蓝色):换料提醒、保养到期、普通状态变化。响应:只在报警列表记录,不主动弹窗不推送。

再配合报警聚合(同一设备 1 分钟内同类报警合并)和死区(阈值附近抖动不重复报),好的报警系统是让操作员"听到一次就知道出事了",而不是被几十条报警刷屏。

05 丁丁的实战建议

第一,安全报警永远走 PLC 硬接线。不管上位机多先进、云告警多方便,急停、安全门、超温超压这些安全相关的信号,必须硬接线到安全继电器和灯柱。上位机死机、网线被碰掉、交换机故障,现场灯还是得亮。这是底线,不能省。

第二,远程告警是补充不是替代。Grafana + 钉钉机器人配起来很快,但别指望它替代现场报警。它的价值是"没人在现场的时候,维修人员手机上能收到消息"——夜间、周末、无人值守车间。白天有人看着,钉钉告警反而是噪音。

第三,报警历史要能做分析。报警记下来不是为了存着,是为了回答"哪台设备最常出问题""哪个报警最频繁""平均处理多久"。简单项目存 SQLite 就行,正经数字化项目报警流水进时序库,配 Grafana 做报警频次排行,这才是报警系统的长期价值。

常见问题 FAQ(选型时最常被问)

Q:报警到底在 PLC 里做还是上位机做?

A:不是二选一,是分层做。安全相关、急停、设备硬保护必须在 PLC 里做(硬接线、灯柱、急停回路),这是底线,上位机死了报警也有效。工艺参数超限、操作提示、需要记录和确认的报警在上位机做。远程通知、手机收消息在第三层做。三层各管一摊,不要把安全报警只放在上位机里。

Q:Grafana 告警能不能替代上位机报警?

A:不能,只能作为补充。Grafana 告警依赖网络、采集链路、时序库,任何一环断了告警就失效,而且是 3~10 秒延迟,不适合现场急停和操作员即时响应。它的定位是"远程通知"——让维修和管理层在手机上知道出问题了,不是替代车间现场的弹窗和灯柱。现场报警必须有独立于网络的硬手段。

Q:报警历史存在哪里?

A:分两种:①需要确认人、处理记录、工单联动的报警,存 MySQL/SQLite(关系库),因为要写、要改、要关联用户;②纯事件流水(报警发生时间、点位、值)可以存时序库,方便做趋势和统计。简单项目全存 SQLite/MySQL 就行,别为了报警专门上时序库。

Q:钉钉/企业微信报警通知怎么做?

A:最简单的做法:Grafana Alerting 配好规则,通知渠道选 Webhook,指向钉钉/企微机器人的 webhook 地址。报警触发自动发消息到群里,带设备名、报警值、时间。如果要更复杂(分级路由、@到人、恢复通知),可以用 EMQX 规则引擎或 Node-RED 转发。整个过程不用写代码,配置半小时搞定。

Q:报警风暴怎么办?一晚上几十条报警

A:这是报警系统设计最常见的坑。三招:①分级——紧急报警才弹窗+声光+钉钉,普通提示只在列表里记一条,不打扰;②聚合——同一设备 1 分钟内同类报警合并成一条,不要刷屏;③死区——温度在阈值附近抖动的,加 ±5% 死区,不要超一点就报。好的报警系统是让操作员"听到一次就知道出事了",而不是被几十条报警淹没。

Q:报警要分级吗?分几级?

A:建议分三级:①紧急(红色)——设备可能损坏、有安全风险,必须立即处理,弹窗+声光+钉钉电话;②重要(黄色)——工艺参数超限、产品可能不合格,画面弹窗+群消息;③提示(蓝色)——换料、保养提醒、普通状态变化,只在报警列表记录,不主动弹窗。分级后操作员不会被低级报警骚扰,真正紧急的事也不会被淹没。

Q:上位机死机了,报警是不是就失效了?

A:是的,所以上位机报警不能作为唯一手段。安全相关的报警必须在 PLC 里做硬接线输出(灯柱、急停回路、安全继电器),即使上位机断电、网络断了,现场灯还是会亮、蜂鸣器还是会响。上位机报警是"锦上添花"的记录和通知,不是"安全兜底"。这是设计报警系统的第一原则。

Q:小项目能不能就用 PLC 报警灯柱,不做上位机报警?

A:能,单机小设备、有人值守、出问题工人就在旁边,PLC 灯柱+蜂鸣器足够。但要注意:灯柱只能"现在出问题了",不能告诉你"什么时候开始的、谁确认的、处理了多久"。当你要做报警历史、要统计故障频次、要远程通知的时候,再加上位机和远程告警就行,不用一开始就全上。

报警系统设计纠结怎么分层?

把你的项目规模、值守情况、要通知的人告诉我,丁丁帮你搭一套不刷屏、不丢报警、不依赖单点故障的三层报警体系。

联系丁丁选型咨询 →

可视化怎么做 → 返回全部评测