3. Hexagon质量问题数据采集与治理

在Hexagon质量分析平台中,数据采集与治理是决定后续SPC、缺陷分析、根因定位能否成立的地基。质量问题的诊断结论往往不是“算法算出来的”,而是“数据对齐出来的”。本节围绕三类数据源——检测设备数据、MES/SCADA数据、人工记录数据——说明采集方法、清洗规则、时间对齐策略,以及质量数据仓库的构建方式。

一、三类数据源的采集方法

检测设备数据是质量数据中精度最高、频率最高的一类。以Hexagon三坐标测量机(CMM)、激光跟踪仪、蓝光扫描仪为例,典型输出包括:测点坐标、特征尺寸(孔径、平面度、位置度)、测量程序号、探针编号、环境温度、测量时间戳。采集方式通常有三种:一是通过设备自带PC-DMIS或QUINDOS导出CSV/XML报告;二是通过OPC UA或厂商SDK实时订阅测量结果;三是通过共享目录轮询增量文件。对于高频在线检测设备,建议采用OPC UA订阅方式,采样周期可设为1~5秒;对于离线抽检设备,采用文件轮询即可,轮询间隔建议30~60秒,避免重复读取。

MES/SCADA数据提供质量问题的“上下文”。MES通常记录工单号、批次号、设备编号、操作员、物料批次、工艺参数(如扭矩、压力、温度);SCADA则提供设备运行状态、报警代码、节拍时间。采集时优先使用数据库直连(如SQL Server、Oracle、PostgreSQL)或消息中间件(Kafka、RabbitMQ)。关键字段必须包含:设备ID、工单ID、时间戳、参数名、参数值、单位。若MES与SCADA时间源不一致,需在采集层统一转换为UTC或工厂本地时间,并记录原始时区偏移。

人工记录数据包括巡检记录、返修记录、不合格品评审单、目视检查结果。这类数据往往以Excel、纸质表单或企业微信/钉钉表单形式存在。采集时应设计结构化模板,强制字段包括:记录时间、工位、缺陷代码、缺陷描述、数量、处理方式、记录人。对于纸质记录,可通过OCR识别后人工复核;对于电子表单,直接通过API写入暂存区。人工记录的最大风险是时间粒度粗(通常只到分钟或班次),因此后续对齐时需明确其时间精度。

Hexagon质量数据采集与治理链路 检测设备数据 CMM / 激光跟踪仪 / 蓝光扫描 测点坐标 · 特征尺寸 · 程序号 OPC UA订阅 / 文件轮询 MES / SCADA数据 工单 · 批次 · 设备 · 工艺参数 报警代码 · 节拍 · 运行状态 数据库直连 / Kafka消息 人工记录数据 巡检 · 返修 · 不合格品评审 缺陷代码 · 数量 · 处理方式 结构化表单 / OCR识别 数据暂存区(Staging Area) 原始数据落地 · 保留源格式 · 记录采集时间与批次 · 不做业务逻辑修改 数据清洗 去重 · 缺失值处理 · 异常值剔除 单位统一 · 缺陷代码标准化 时间戳格式统一为ISO 8601 时间对齐 设备时间 ↔ MES时间 ↔ 人工记录时间 最近邻匹配 / 时间窗聚合(±5min) 以工单ID + 设备ID为对齐主键 质量数据仓库(ODS → DWD → DWS → ADS)

二、数据清洗的关键规则

清洗不是“把脏数据删掉”,而是让数据在业务上可用。以下规则可直接落地为SQL或Python脚本:

  • 去重:以“设备ID + 测量时间 + 特征名”为唯一键,保留最新一条。若同一测点被重复上报,优先保留测量程序版本号更高的记录。
  • 缺失值处理:尺寸类字段缺失时,若同批次同工位有≥3条有效记录,用中位数填充;若不足3条,标记为“数据不足”,不参与SPC计算。状态类字段缺失时,用前一条有效值前向填充,但填充跨度不超过10分钟。
  • 异常值剔除:对尺寸数据计算Z-score,|Z|>3时标记为疑似异常,需结合设备报警记录判断。若同一时间窗内SCADA有“探针碰撞”或“温度超限”报警,则直接剔除该测点。
  • 单位统一:长度统一为mm,力统一为N,温度统一为℃。若源数据为μm或kN,在暂存区转换并记录转换系数。
  • 缺陷代码标准化:人工记录中的“划伤”“刮痕”“擦伤”应映射到统一缺陷代码SCRATCH;MES中的报警代码需与缺陷代码建立映射表。

三、时间对齐策略

三类数据的时间精度不同:检测设备可达毫秒级,SCADA为秒级,MES为分钟级,人工记录可能只到班次级。对齐时以“工单ID + 设备ID”为主键,以检测设备时间为基准时间轴。具体做法:

  1. 将MES/SCADA数据按工单ID聚合,取该工单在该设备上的开始时间与结束时间,形成时间窗。
  2. 将检测设备数据按时间戳落入对应时间窗,若一条测量记录落在多个工单窗口,以时间差最小的工单为准。
  3. 人工记录若只有班次级时间,则按“班次开始时间 + 记录序号”估算具体时间,误差控制在±30分钟内,并在数据仓库中标记“时间精度=班次”。
对齐示例:某工单在CMM设备上加工时间为10:00:00~10:15:00,SCADA记录该时段扭矩均值为45.2N·m,人工巡检记录10:05发现“孔径偏小”。对齐后,该缺陷记录与扭矩数据、孔径测量值关联到同一工单-设备-时间窗下,便于后续分析“扭矩是否影响孔径”。

四、质量数据仓库构建

建议采用分层架构,从ODS到ADS逐层加工:

层级职责关键表/字段示例
ODS贴源存储,保留原始格式ods_cmm_raw、ods_mes_raw、ods_manual_raw
DWD清洗、标准化、对齐dwd_quality_event(工单ID、设备ID、时间戳、特征名、测量值、缺陷代码)
DWS按主题聚合dws_spc_daily(设备+特征+日期,均值、标准差、CPK)
ADS面向应用输出ads_defect_analysis、ads_process_capability

构建时注意三点:第一,DWD层必须保留“数据来源”字段,便于追溯;第二,DWS层按“设备+特征+班次”聚合,避免跨班次混算;第三,ADS层直接对接Hexagon质量分析看板,字段命名与看板指标一致。若企业已有数据中台,可将DWD层作为质量域数据资产注册,供SPC、缺陷分析、根因诊断复用。

常见误区:把人工记录直接与设备测量值做行级关联。人工记录时间粒度粗,行级关联会产生大量错误匹配。正确做法是先按工单-设备-时间窗聚合,再在窗口内做统计关联。

完成上述采集、清洗、对齐与仓库构建后,Hexagon平台才能获得“可分析”的质量数据。下一阶段的质量问题诊断,本质上是在这个数据底座上做特征提取、相关性分析和根因排序。