2. 停机数据采集与治理
Pareto分析的质量,几乎完全取决于喂给它的数据质量。如果停机记录字段残缺、时间口径混乱、缺失值随意填补,那么后续画出的排列图只会把错误放大成"看起来很有道理"的结论。本节要解决的就是这条数据链的源头问题:一张故障记录表应该长什么样,停机时间到底怎么算,脏数据怎么清、缺失值怎么处理。
一、故障记录字段设计:让每条记录都能被分析
故障记录表不是"随手记一笔"的日志,而是为后续Pareto统计服务的结构化数据。字段设计要围绕一个核心问题:这条记录将来要按什么维度分组、按什么指标排序?Pareto通常按"停机时长"或"停机频次"排序,因此字段必须能支撑这两类聚合。
一张可用的故障记录表,建议包含以下字段组:
- 标识字段:记录编号、设备编号、设备名称、所属产线/工序。用于定位对象和分组。
- 时间字段:故障发生时间、开始维修时间、维修结束时间、恢复生产时间。这四个时间点是停机时间口径的基础。
- 故障描述字段:故障现象、故障部位、故障模式(如磨损、断裂、电气短路、堵塞)、故障原因分类。用于归因和Pareto分类。
- 处置字段:维修方式(更换/修复/调整)、更换备件名称与数量、维修人员、是否外委。
- 量化字段:停机时长(分钟)、影响产量、是否造成质量损失。
- 状态字段:记录状态(待确认/已确认/已关闭)、数据来源(手工录入/PLC自动采集/MES导出)。
字段设计中最容易被忽视的是故障模式与故障原因的分离。故障模式是"看到了什么"(如轴承异响、皮带断裂),故障原因是"为什么发生"(如润滑不足、疲劳磨损)。Pareto分析通常先按故障模式分类,再对高频模式追查原因。如果两者混在一个字段里,后续就无法做两级Pareto。
二、停机时间口径:先定义,再计算
停机时间口径是数据治理中最容易产生争议的地方。同一台设备的一次故障,生产部门说停了45分钟,维修部门说修了30分钟,设备部门说影响运行60分钟。差异来自各自采用的起止点不同。因此,在采集之前必须明确一个统一口径,并在全厂范围内保持一致。
常见的停机时间口径有三种:
| 口径 | 起止定义 | 适用场景 |
|---|---|---|
| 维修工时口径 | 从维修人员开始动手到维修结束 | 考核维修效率 |
| 设备停机口径 | 从设备停止运行到设备恢复运行 | 设备可用率分析 |
| 生产损失口径 | 从计划生产中断到恢复合格品产出 | 产能损失与Pareto排序 |
对于停机Pareto分析,推荐采用生产损失口径,因为它直接对应"这次故障让产线损失了多少时间",与Pareto按影响排序的目标一致。具体计算为:
停机时长 = 恢复合格品产出时间 − 计划生产中断时间
其中:
计划生产中断时间 = 故障发生时间(若故障发生时设备正在运行)
恢复合格品产出时间 = 维修结束时间 + 首件确认/试运行时间
需要注意两个边界情况:一是故障发生在设备本就停机的时段(如计划保养、休息),不应计入非计划停机;二是维修结束后需要试运行或首件检验,这段时间也应计入停机损失,因为它同样占用了产能。口径一旦确定,就要写入采集规范,并在记录表中用独立字段体现,避免事后靠回忆补算。
三、数据清洗:识别并处理五类脏数据
原始故障记录几乎不可能直接用于Pareto分析。常见脏数据包括:重复记录、时间逻辑错误、分类不一致、异常值和缺失值。清洗的目标不是"把数据改好看",而是让每条记录真实、可归类、可计算。
重复记录:同一故障被多人录入或系统重复推送。判断依据是设备编号+故障发生时间+故障模式是否高度重合。处理方式是保留最早录入或信息最完整的一条,其余标记为重复并排除。
时间逻辑错误:维修结束时间早于开始时间、停机时长为负数、恢复时间早于故障时间。这类记录必须逐条核查,不能简单取绝对值。常见原因是跨天录入时漏填日期,或手工输入时格式错误。
分类不一致:同一故障模式出现多种写法。处理方式是建立映射表,将自由文本归一到受控词表。例如"轴承坏""轴承损坏""轴承异响"统一映射为"轴承损坏"。
异常值:停机时长远超正常范围,如一次小故障记录为3000分钟。需要区分是真实的长时停机(如重大设备事故)还是录入错误。可通过箱线图或3σ原则辅助识别,但最终要结合维修记录人工确认。
缺失值:见下一节专门处理。
四、缺失值处理:区分"可补"与"不可补"
缺失值处理的关键不是"填满",而是判断缺失的性质。故障记录中的缺失通常分三类:
- 随机缺失:如某条记录漏填了维修人员,但其他字段完整。这类缺失对Pareto排序影响小,可保留记录、该字段留空。
- 系统性缺失:如某台设备的历史记录普遍缺少故障原因。这往往意味着采集流程在该设备上未执行到位,需要回溯补录或标记为"原因未知"单独统计。
- 关键字段缺失:如停机时长缺失或故障模式缺失。这类记录无法参与Pareto排序,应单独列出,能补则补,不能补则排除并在报告中说明排除数量。
对于停机时长缺失,如果起止时间字段完整,可以重新计算补上;如果时间字段也缺失,则不应随意用平均值填充——因为停机时长分布通常右偏,平均值会低估多数短停机、高估少数长停机,直接扭曲Pareto排序。更稳妥的做法是标记为"时长未知",在Pareto中单列一类,或仅用于频次统计而不用于时长统计。
五、从采集到可用数据的完整链路
把上述环节串起来,一条故障记录从产生到进入Pareto分析,需要经过字段采集、口径计算、清洗校验、缺失处理四个阶段。下图展示了这一数据治理链路及其关键判断点:
这条链路的核心原则是:宁可少一条记录,不可错一条记录。Pareto分析的价值在于把"关键少数"识别出来,如果数据清洗阶段把错误记录混入,或者用不当方式填补缺失,关键少数就可能被淹没在噪声里。实际执行时,建议在清洗完成后输出一份数据质量报告,记录原始记录数、清洗后记录数、排除原因分布、缺失字段统计,作为Pareto结论可信度的依据。
最后强调一个操作习惯:字段设计、时间口径、清洗规则应当在采集开始前就写入《停机数据采集规范》,而不是等数据堆了一堆再回头治理。规范中至少明确——每个字段的定义与取值来源、停机时长的计算公式与边界处理、受控词表版本、缺失值处理原则。这样采集出来的数据才具备可比性和可追溯性,后续的Pareto分析才有稳固的地基。