4. 关联键设计

视觉NG结果与MES追溯数据能否真正“对上”,取决于关联键选得是否合理。关联键是两侧数据中共同存在、且能唯一或近似唯一标识同一生产事件的字段。选错关联键,后续无论算法多复杂,都会出现错配、漏配或一对多爆炸。本节围绕四类常用锚点——产品序列号、工单号、时间窗口、设备通道——说明各自的适用条件、局限和组合策略。

四类锚点的本质差异

产品序列号(SN)是唯一标识单件产品的强键。当视觉工位在拍照时能读到SN(例如通过读码器、RFID或与PLC同步的过站信号),且MES中该SN的过站记录完整,那么SN就是首选关联键,匹配精度可达单件级。它的局限在于:并非所有视觉工位都能稳定读到SN,尤其是高速产线或SN位于产品背面时;此外,同一SN可能在返修、复检中多次经过同一工位,需要结合时间或工位号区分。

工单号(Work Order)是批次级键,标识一组按同一工艺参数生产的产品。它适合视觉NG只能定位到“哪一批”而非“哪一件”的场景。工单号的粒度较粗,一个工单可能对应数百件产品,因此单独使用时只能做批次级追溯,无法回答“具体是哪一件NG”。

时间窗口是弱键,用视觉检测的时间戳去匹配MES中同一时间段内的过站记录。它不依赖SN或工单号是否可读,通用性强,但精度受时钟同步、产线节拍波动和MES记录延迟影响。时间窗口通常作为辅助键,与其他键组合使用。

设备通道(Channel/Station ID)标识视觉系统内部的相机、光源或检测工位编号。它本身不标识产品,但能区分“同一时刻不同工位”或“同一工位不同相机”的记录,是多相机、多工位场景中防止串号的关键维度。

视觉NG与MES记录的关联键选择与组合 视觉NG记录 • 时间戳(ms级) • 相机/通道编号 • 工位号 • 可选:读到的SN • 缺陷类型/坐标 MES追溯记录 • 产品序列号 SN • 工单号 WO • 过站时间 • 设备/工位编号 • 工艺参数 关联键候选 ① 产品序列号 SN(强键) ② 工单号 WO(批次键) ③ 时间窗口(弱键) ④ 设备通道(维度键) 组合策略与匹配精度 SN + 通道 精度:单件级 适用:SN可读 多相机产线 推荐度:★★★★★ WO + 时间窗口 精度:批次级 适用:SN不可读 节拍稳定产线 推荐度:★★★★ 时间 + 通道 + 工位 精度:近似单件 适用:无SN无WO 需时钟同步 推荐度:★★★ SN + WO + 时间 精度:最高 适用:关键工位 冗余校验 推荐度:★★★★★

选择关联键的判断逻辑

实际工程中,关联键的选择不是“哪个最好”,而是“哪个可用且足够”。建议按以下顺序判断:

  1. 先确认SN是否可读。如果视觉工位能稳定获取SN,且MES中该SN有对应过站记录,直接以SN为主键,辅以设备通道区分多相机。这是最可靠、维护成本最低的方案。
  2. SN不可读时,检查工单号是否可获取。若视觉系统能从PLC或上位机拿到当前工单号,则以WO为主键,时间窗口为辅助,将NG记录归属到批次。此时需接受批次级精度,并在报表中注明“批次追溯”。
  3. SN和WO都不可用时,退化为时间+通道+工位组合。此时必须保证视觉系统与MES的时钟同步(建议NTP对时,偏差控制在±50ms以内),并利用通道号排除不同相机的干扰。时间窗口宽度应略大于产线节拍,例如节拍为8秒时窗口取10~12秒,避免相邻产品误配。
  4. 关键工位采用多键冗余。对于安全件、外观关键面等工位,即使SN可读,也建议同时记录WO和时间戳,用于交叉校验。当SN读取失败时,系统可自动降级到WO+时间窗口,避免数据断链。

时间窗口的工程参数

时间窗口不是简单的“前后几秒”,需要结合产线节拍、MES写入延迟和时钟偏差计算。假设产线节拍为10秒/件,MES过站记录写入延迟平均200ms、最大500ms,视觉系统与MES时钟偏差不超过30ms。则窗口半宽应至少覆盖:最大写入延迟500ms + 时钟偏差30ms + 安全余量200ms ≈ 730ms。考虑到节拍为10秒,窗口半宽取1秒即可,不会与相邻产品重叠。若节拍缩短到3秒,窗口半宽需压缩到500ms以内,此时对时钟同步和MES写入实时性要求显著提高。

实操建议:在视觉系统与MES之间建立关联键映射表,字段包括:视觉记录ID、SN(可空)、WO(可空)、时间戳、通道号、工位号、匹配状态(精确/批次/时间近似/失败)。匹配状态用于后续质量分析时区分数据可信度。

设备通道的防串号作用

多相机视觉系统中,同一时刻可能有多台相机对不同产品拍照。如果只用时间窗口关联,容易把A相机的NG记录错配到B相机对应的产品上。设备通道号(如CAM01、CAM02)或工位号(ST01、ST02)作为附加维度,可以限定匹配范围:视觉记录中的通道号必须与MES中该工位的设备编号一致。这样即使时间窗口有重叠,也能通过通道维度排除跨工位错配。

关联键配置示例

以下是一个关联键配置的参考结构,用于视觉系统与MES接口的映射定义:

{
  "mapping_id": "VIS_MES_LINK_01",
  "primary_key": "SN",
  "fallback_keys": ["WO", "TIMESTAMP_WINDOW", "CHANNEL"],
  "time_window_ms": 1000,
  "channel_field": "camera_id",
  "station_field": "station_code",
  "clock_sync": {
    "protocol": "NTP",
    "max_offset_ms": 50
  },
  "match_status": ["EXACT_SN", "BATCH_WO", "TIME_APPROX", "FAILED"]
}

该配置的含义是:优先用SN精确匹配;SN缺失时降级到WO+时间窗口+通道组合;时间窗口半宽1000ms;通道字段对应相机编号;时钟同步偏差不超过50ms;匹配结果按四种状态标记。实际部署时,可根据产线节拍和MES性能调整time_window_ms和max_offset_ms。

常见陷阱与规避

第一,SN重复过站。同一产品在返修或复检时可能多次经过同一视觉工位,若只用SN关联,会匹配到多条MES记录。解决办法是加入时间窗口或过站序号,取时间最近的一条。第二,时间窗口过宽。窗口过宽会把相邻产品的MES记录纳入匹配范围,导致一对多。窗口宽度应基于节拍和延迟实测确定,不宜凭经验拍定。第三,通道号不一致。视觉系统中的相机编号与MES中的设备编号可能采用不同命名规则,需要在接口层做映射,不能直接字符串比较。第四,时钟漂移。长时间运行后视觉工控机与MES服务器时钟可能漂移,建议每小时同步一次并记录偏差,偏差超限时触发告警。

关联键设计的目标不是追求理论最高精度,而是在当前设备条件、节拍和MES能力下,找到稳定、可维护、可解释的匹配方案。SN优先、WO兜底、时间窗口辅助、通道防串号,这四层组合覆盖了大多数视觉NG与MES追溯关联场景。