日期:2026-07-31
我们服务的一家制造企业,设备维护长期是"坏了再修"。关键产线一台设备非计划停机,整条线跟着停,一次损失够喝一壶。其实设备早就接了传感器,温度、振动、电流数据一直在采,但全躺在时序库里没人看,故障不可期。维修工单是另一套系统,和設備状态完全脱节—— often 等报修了才发现备件没货,临时调货又拖几天。我们做的事,就是把沉睡的传感器数据用起来,让大模型融合时序做故障预测,并直接驱动维护工单和备件。
我们在私有化底座上搭了"预测—工单—备件"闭环。传感器数据经流式接入做清洗和特征工程,大模型融合多维时序和历史维修记录,输出故障预测(哪台设备、什么部件、置信区间)和维护建议。预测结果不直接执行,而是生成维护工单进工单系统,并联动备件库存做预占。运维在停机窗口排程里确认执行,修完回写结果,反哺模型。整个链路把"事后救火"变成"事前排程",人始终在回路确认最后一关。
挑战一是多源时序数据汇聚与清洗。传感器数据有缺失、漂移、不同采样率,我们做统一时间对齐和插值,并用统计法剔野值,避免脏数据误导模型。特征工程上融合时域(均值、方差)和频域(振动主频)特征,给模型更全的视角。
挑战二是预测可解释与置信。大模型不能只给"会坏",要给出"为什么、多可信"。我们让模型输出故障模式和置信区间,低置信的进人工复核而非自动派单,避免误报骚扰运维。
挑战三是维护工单与备件联动。预测一出,工单系统自动建单并按部件预占备件,若备件不足提前触发采购,停机窗口排程时就能看到"件是否齐"。这是关键——预测再准,没件也修不了。
试点三条产线运行约半年的脱敏示意值:关键设备非计划停机次数下降约 41%;故障预测在实测故障前平均提前约 6.5 天告警,给排程留足窗口;预测准确率(按部件级召回)约 83%,误报率控制在约 9% 以内(低置信进人工);备件周转率因"按需预占"提升约 23%,积压备件明显下降;维修工时因"带件上门、按建议修"下降约 17%。
预测性维护,预测只是起点,落地靠"工单+备件"闭环。第一,传感器数据必须先清洗对齐再做特征,脏数据比没数据更坑模型。第二,预测必须可解释带置信,低置信进人工,全自动派单的误报会把运维逼疯。第三,工单和备件是同一笔账——预测生成工单的同时预占备件,缺件提前采购,否则"预测准但修不了"。第四,人始终在回路确认停机窗口,模型给建议不替决策。我们把特征工程和工单联动做成模板,新产线接入主要调特征和部件映射。
预测性维护,预测只是起点,落地靠"工单加备件"闭环。我们进场时设备传感器数据全躺在库里没人看,故障不可期。把沉睡数据用起来做故障预测不难,难的是让预测真正驱动维护——生成工单、预占备件、排进停机窗口。
传感器数据必须先清洗对齐再做特征,脏数据比没数据更坑模型。我们做统一时间对齐和插值,用统计法剔野值,特征融合时域和频域,给模型更全的视角。预测必须可解释带置信,低置信进人工,全自动派单的误报会把运维逼疯。
工单和备件是同一笔账,这点怎么强调都不过分。预测生成工单的同时预占备件,缺件提前采购,否则"预测准但修不了"的尴尬必然发生。我们把带件上门、按建议修做成标准动作后,维修工时和备件积压一起往下走。
人始终在回路确认停机窗口,模型给建议不替决策。预测的置信区间和部件级召回,让我们从"事后救火"变成"事前排程",非计划停机明显下降。特征工程和工单联动做成模板后,新产线接入主要调特征和部件映射,复制成本很低。
站在更长的周期看,预测性维护的价值会随时间放大。模型每多跑几个月,维修记录越丰富,预测越准,形成正循环。我们给客户的交付不只是这一期效果,而是一套会自我进化的能力——前提是工单和备件的数据持续回流。所以落地时我们就坚持把"数据回流"写进 SLA,否则模型上线即巅峰、越跑越钝。
再补一句关于数据闭环的。预测模型最怕上线即巅峰,跑几个月后维修记录没回流,模型反而越跑越钝。所以我们交付时把数据回流写进验收标准,每次维护的结果、实际更换的部件都回写训练库,模型按月增量更新。客户一开始觉得麻烦,后来发现故障预测越来越准、误报越来越少,才真正认可这件事的价值。预测性维护不是一锤子买卖,是持续喂养的长跑。
案例片段(已脱敏): ```
故障预测与维护工单联动(伪代码节选)
feat = build_features(stream_align(sensors)) # 时域+频域特征 pred = llm_forecast(feat, history=repair_log) if pred.confidence < 0.6: route_to_human(pred) # 低置信进人工复核 else: wo = create_workorder(pred.device, pred.part, suggest=pred.action) prehold_part(wo, part_id) # 工单联动预占备件 if not in_stock(part_id): trigger_purchase(part_id) # 缺件提前采购 schedule_in_window(wo, downtime_slot) ``` 预测带置信区间,低置信不自动派单;工单与备件同账联动。