2. 停机数据采集与治理

Pareto分析的质量,几乎完全取决于喂给它的数据质量。如果停机记录字段残缺、时间口径混乱、缺失值随意填补,那么后续画出的排列图只会把错误放大成"看起来很有道理"的结论。本节要解决的就是这条数据链的源头问题:一张故障记录表应该长什么样,停机时间到底怎么算,脏数据怎么清、缺失值怎么处理。

一、故障记录字段设计:让每条记录都能被分析

故障记录表不是"随手记一笔"的日志,而是为后续Pareto统计服务的结构化数据。字段设计要围绕一个核心问题:这条记录将来要按什么维度分组、按什么指标排序?Pareto通常按"停机时长"或"停机频次"排序,因此字段必须能支撑这两类聚合。

一张可用的故障记录表,建议包含以下字段组:

  • 标识字段:记录编号、设备编号、设备名称、所属产线/工序。用于定位对象和分组。
  • 时间字段:故障发生时间、开始维修时间、维修结束时间、恢复生产时间。这四个时间点是停机时间口径的基础。
  • 故障描述字段:故障现象、故障部位、故障模式(如磨损、断裂、电气短路、堵塞)、故障原因分类。用于归因和Pareto分类。
  • 处置字段:维修方式(更换/修复/调整)、更换备件名称与数量、维修人员、是否外委。
  • 量化字段:停机时长(分钟)、影响产量、是否造成质量损失。
  • 状态字段:记录状态(待确认/已确认/已关闭)、数据来源(手工录入/PLC自动采集/MES导出)。

字段设计中最容易被忽视的是故障模式与故障原因的分离。故障模式是"看到了什么"(如轴承异响、皮带断裂),故障原因是"为什么发生"(如润滑不足、疲劳磨损)。Pareto分析通常先按故障模式分类,再对高频模式追查原因。如果两者混在一个字段里,后续就无法做两级Pareto。

字段命名要统一、可枚举。例如"故障模式"应使用受控词表(轴承损坏、皮带断裂、电机过热、传感器失效……),而不是让维修人员自由填写"轴承坏了""轴承异响""轴承卡死"——这三种写法在统计时会被当成三类,导致Pareto失真。

二、停机时间口径:先定义,再计算

停机时间口径是数据治理中最容易产生争议的地方。同一台设备的一次故障,生产部门说停了45分钟,维修部门说修了30分钟,设备部门说影响运行60分钟。差异来自各自采用的起止点不同。因此,在采集之前必须明确一个统一口径,并在全厂范围内保持一致。

常见的停机时间口径有三种:

口径起止定义适用场景
维修工时口径从维修人员开始动手到维修结束考核维修效率
设备停机口径从设备停止运行到设备恢复运行设备可用率分析
生产损失口径从计划生产中断到恢复合格品产出产能损失与Pareto排序

对于停机Pareto分析,推荐采用生产损失口径,因为它直接对应"这次故障让产线损失了多少时间",与Pareto按影响排序的目标一致。具体计算为:

停机时长 = 恢复合格品产出时间 − 计划生产中断时间

其中:
  计划生产中断时间 = 故障发生时间(若故障发生时设备正在运行)
  恢复合格品产出时间 = 维修结束时间 + 首件确认/试运行时间

需要注意两个边界情况:一是故障发生在设备本就停机的时段(如计划保养、休息),不应计入非计划停机;二是维修结束后需要试运行或首件检验,这段时间也应计入停机损失,因为它同样占用了产能。口径一旦确定,就要写入采集规范,并在记录表中用独立字段体现,避免事后靠回忆补算。

三、数据清洗:识别并处理五类脏数据

原始故障记录几乎不可能直接用于Pareto分析。常见脏数据包括:重复记录、时间逻辑错误、分类不一致、异常值和缺失值。清洗的目标不是"把数据改好看",而是让每条记录真实、可归类、可计算。

重复记录:同一故障被多人录入或系统重复推送。判断依据是设备编号+故障发生时间+故障模式是否高度重合。处理方式是保留最早录入或信息最完整的一条,其余标记为重复并排除。

时间逻辑错误:维修结束时间早于开始时间、停机时长为负数、恢复时间早于故障时间。这类记录必须逐条核查,不能简单取绝对值。常见原因是跨天录入时漏填日期,或手工输入时格式错误。

分类不一致:同一故障模式出现多种写法。处理方式是建立映射表,将自由文本归一到受控词表。例如"轴承坏""轴承损坏""轴承异响"统一映射为"轴承损坏"。

异常值:停机时长远超正常范围,如一次小故障记录为3000分钟。需要区分是真实的长时停机(如重大设备事故)还是录入错误。可通过箱线图或3σ原则辅助识别,但最终要结合维修记录人工确认。

缺失值:见下一节专门处理。

四、缺失值处理:区分"可补"与"不可补"

缺失值处理的关键不是"填满",而是判断缺失的性质。故障记录中的缺失通常分三类:

  • 随机缺失:如某条记录漏填了维修人员,但其他字段完整。这类缺失对Pareto排序影响小,可保留记录、该字段留空。
  • 系统性缺失:如某台设备的历史记录普遍缺少故障原因。这往往意味着采集流程在该设备上未执行到位,需要回溯补录或标记为"原因未知"单独统计。
  • 关键字段缺失:如停机时长缺失或故障模式缺失。这类记录无法参与Pareto排序,应单独列出,能补则补,不能补则排除并在报告中说明排除数量。

对于停机时长缺失,如果起止时间字段完整,可以重新计算补上;如果时间字段也缺失,则不应随意用平均值填充——因为停机时长分布通常右偏,平均值会低估多数短停机、高估少数长停机,直接扭曲Pareto排序。更稳妥的做法是标记为"时长未知",在Pareto中单列一类,或仅用于频次统计而不用于时长统计。

不要用"平均值填充"处理停机时长缺失。Pareto分析的核心是排序,而平均值填充会人为制造一批"中等时长"记录,掩盖真实的分布形态,使关键少数故障被稀释。

五、从采集到可用数据的完整链路

把上述环节串起来,一条故障记录从产生到进入Pareto分析,需要经过字段采集、口径计算、清洗校验、缺失处理四个阶段。下图展示了这一数据治理链路及其关键判断点:

① 字段采集 标识/时间/描述/处置 受控词表 + 来源标记 ② 口径计算 生产损失口径 停机时长 = 恢复−中断 ③ 清洗校验 去重/时间逻辑/分类归一 异常值识别 ④ 缺失处理 可补/不可补 标记或排除 可用Pareto数据集 每条记录:可归类 + 可计算 + 可追溯 关键字段缺失? 时长/模式缺失 → 单列 排除 清洗规则速查 重复记录:设备编号 + 故障时间 + 故障模式 高度重合 → 保留最完整一条 时间逻辑:结束 < 开始、时长为负 → 逐条核查,不取绝对值 分类归一:自由文本 → 受控词表映射(轴承坏/异响 → 轴承损坏) 缺失处理:时长缺失不用均值填充;无法补录则标记"未知"并单列统计

这条链路的核心原则是:宁可少一条记录,不可错一条记录。Pareto分析的价值在于把"关键少数"识别出来,如果数据清洗阶段把错误记录混入,或者用不当方式填补缺失,关键少数就可能被淹没在噪声里。实际执行时,建议在清洗完成后输出一份数据质量报告,记录原始记录数、清洗后记录数、排除原因分布、缺失字段统计,作为Pareto结论可信度的依据。

最后强调一个操作习惯:字段设计、时间口径、清洗规则应当在采集开始前就写入《停机数据采集规范》,而不是等数据堆了一堆再回头治理。规范中至少明确——每个字段的定义与取值来源、停机时长的计算公式与边界处理、受控词表版本、缺失值处理原则。这样采集出来的数据才具备可比性和可追溯性,后续的Pareto分析才有稳固的地基。