news 2026/6/10 2:06:07

SpringBoot工控告警分级推送实战:地铁ISCS/HMI状态栏闪烁+子窗体弹窗(第七篇)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SpringBoot工控告警分级推送实战:地铁ISCS/HMI状态栏闪烁+子窗体弹窗(第七篇)

标签:#SpringBoot #地铁ISCS #告警分级 #HMI界面联动 #综合监控

摘要:本文严格按照地铁综合监控ISCS行业HMI规范实现:一、二、三级告警全部在界面最下方状态栏闪烁;一级、二级告警同时弹出独立告警子窗体+声光提示;三级仅底部闪烁、无声光无弹窗。完全贴合地铁BAS/FAS/环控真实场景,无外网依赖,可直接用于项目验收。

一、前言

前两篇我们实现了告警判断 + 防抖滤波,本篇按照地铁综合监控 ISCS 标准 HMI 交互逻辑,实现告警与前端界面联动。

地铁真实 HMI 规范(你现场经验版):

  1. 一级、二级、三级告警 → 全部在 HMI 主界面最下方状态栏闪烁
  2. 一级、二级告警 → 额外弹出独立告警子窗体 + 声光提示
  3. 三级预警 → 只底部闪烁,无弹窗、无声光、不打扰操作员

本篇完全按地铁现场标准实现,无任何多余功能。

二、地铁 ISCS 告警分级 HMI 规则

一级告警(紧急)

底部状态栏闪烁 + 弹出告警子窗体 + 声光报警

二级告警(重要)

底部状态栏闪烁 + 弹出告警子窗体 + 声光提示

三级告警(预警/提示)

底部状态栏闪烁(仅此一项)
无弹窗、无声光、不影响操作

三、告警规则实体(地铁标准字段)

importlombok.Data;@DatapublicclassAlarmRule{// 点位信息privateStringpointId;privateStringdeviceId;privateStringpointName;privateStringsystemType;// 告警类型privateIntegeralarmType;// 阈值参数privateDoublemaxValue;privateDoubleminValue;privateDoublechangeThreshold;// 防抖次数privateintfilterCount=3;privateintrecoverFilterCount=3;// 告警等级 1 一级 2 二级 3 三级privateIntegeralarmLevel;}

四、HMI 推送 DTO(前端界面专用)

importlombok.Data;@DatapublicclassAlarmHmiDTO{// 告警基本信息privateStringpointName;privateStringsystemType;privateDoublevalue;privateStringalarmDesc;privateLongts;// 告警等级privateIntegeralarmLevel;}

五、地铁 HMI 告警推送核心代码

importorg.springframework.stereotype.Service;@ServicepublicclassAlarmHmiPushService{/** * 地铁 ISCS 标准告警推送入口 * 1、2、3 级 → 全部底部闪烁 * 1、2 级 → 额外弹窗 + 声光 * 3 级 → 仅闪烁 */publicvoidpushAlarmToHmi(AlarmHmiDTOhmiDTO){if(hmiDTO==null){return;}// ==============================================// 统一动作:所有等级告警 → HMI 底部状态栏闪烁// ==============================================pushToStatusBar(hmiDTO);// ==============================================// 一级、二级 → 弹出告警子窗体 + 声光// ==============================================if(hmiDTO.getAlarmLevel()==1||hmiDTO.getAlarmLevel()==2){pushToPopupWindow(hmiDTO);}}/** * 推送到底部状态栏(所有告警都执行) */privatevoidpushToStatusBar(AlarmHmiDTOdto){// WebSocket 推送 HMI 底部状态栏闪烁WebSocketUtil.sendToHmi("ALARM_STATUS_BAR",dto);}/** * 推送到弹窗子窗体 + 声光(仅 1、2 级) */privatevoidpushToPopupWindow(AlarmHmiDTOdto){// WebSocket 推送 → 弹出独立告警子窗体 + 声光WebSocketUtil.sendToHmi("ALARM_POPUP_WINDOW",dto);}}

六、业务层调用(完整链路)

// 1. 获取实时采集数据CollectDataDTOdata=collectService.getRealTimeData();// 2. 获取点位告警规则AlarmRulerule=alarmRuleService.getRuleByPointId(data.getPointId());// 3. 防抖告警校验booleanisAlarm=alarmEngine.checkWithFilter(data,rule);if(isAlarm){// 封装 HMI 推送对象AlarmHmiDTOhmiDTO=newAlarmHmiDTO();hmiDTO.setPointName(rule.getPointName());hmiDTO.setSystemType(rule.getSystemType());hmiDTO.setValue(data.getValue());hmiDTO.setAlarmLevel(rule.getAlarmLevel());// 推送到地铁 HMI 界面alarmHmiPushService.pushAlarmToHmi(hmiDTO);// 告警历史存入 TDenginetdEngineService.insertAlarmRecord(data,rule);}

七、地铁 HMI 界面行为说明(现场标准)

所有告警(1、2、3 级)

  • HMI 主界面最下方状态栏统一闪烁显示

一级、二级告警

  • 弹出独立告警子窗体
  • 伴随声光提示
  • 需要人工确认关闭

三级预警

  • 仅状态栏闪烁
  • 无弹窗、无声光
  • 不影响操作员监控

八、地铁项目规范要点(8 年轨交经验)

  • 地铁综合监控为内网封闭系统,无微信、公网推送。
  • 告警展示严格遵循 HMI 标准:全部底部闪烁,高等级弹窗。
  • 声光报警仅用于一级、二级,三级不允许声音提示。
  • 所有告警必须入库,支持历史查询、SOE 追忆、报表统计。

九、总结

本篇完全按照地铁 ISCS 综合监控真实 HMI 规范实现:

  • 一、二、三级告警 → 全部在界面最下方状态栏闪烁
  • 一、二级告警 → 弹出独立告警子窗体 + 声光
  • 三级预警 → 仅闪烁、无声光无弹窗

代码可直接用于地铁 BAS/FAS/环控项目开发与验收。

本专栏基于 8 年轨道交通现场开发经验,持续更新地铁 ISCS/SCADA 实战干货,所有代码均来自真实项目。

需要源码的读者评论区留言【源码】,关注持续更新。

下一篇:第八篇 —— 告警确认、告警屏蔽、告警静音(地铁运维必备功能)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 2:01:15

OpenSpec实战

许振楠~TERRY.XU 你有没有遇到过这样的场景:给 AI 写了一段很长的 prompt,结果生成的代码和想象中差了十万八千里?或者每次开新会话,都要重新跟 AI 解释一遍项目背景和约定? OpenSpec 就是为解决这个问题而生的。 什么…

作者头像 李华
网站建设 2026/6/10 1:58:22

A 股量化数据怎么获取?爬虫和 API 两条路的优劣分析

A 股量化数据怎么获取?爬虫和 API 两条路的优劣分析做 A 股量化,第一步都是"搞数据"。目前主流方案就两类:爬虫和 API。这篇文章不推荐具体产品,而是从技术角度分析两条路的优劣,帮你根据自己的阶段选择合适…

作者头像 李华
网站建设 2026/6/10 1:56:08

Path of Building终极指南:5步打造完美流放之路角色

Path of Building终极指南:5步打造完美流放之路角色 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building(简称PoB)是《流…

作者头像 李华
网站建设 2026/6/10 1:56:00

赛博朋克 2077 深度测评 —— 霓虹夜之城的荣光与遗憾

美术风格 黑暗奇幻史诗美学,箱庭地图与开放区域交融,场景恢弘、BOSS 设计极具张力,美术质感与氛围营造登顶同类游戏。 战斗系统 FromSoftware 经典魂系战斗,武器、战灰、法术、祷告构筑多元 Build;节奏紧凑、闪避格挡讲…

作者头像 李华
网站建设 2026/6/10 1:54:42

Rust写的终端文件管理器Joshuto,ranger的异步替代方案

文章目录Rust写的终端文件管理器Joshuto,ranger的异步替代方案键位完全兼容ranger异步IO解决卡顿配置与主题安装覆盖主流平台适用场景Rust写的终端文件管理器Joshuto,ranger的异步替代方案 终端文件管理器这个品类里,ranger 长期占据主流位置…

作者头像 李华
网站建设 2026/6/10 1:52:00

会话型AI智能体研发:客服、拓客双场景模块拆分思路

当前多数企业在研发会话型AI智能体时,普遍存在场景模块混写、业务逻辑耦合严重的问题。很多研发团队会将客服应答、拓客营销两类会话场景整合在同一套业务模块中,导致系统职责混乱、迭代成本高、场景适配性差。统一的会话底座无法区分被动服务与主动营销…

作者头像 李华