4. 关联键设计
视觉NG结果与MES追溯数据能否真正“对上”,取决于关联键选得是否合理。关联键是两侧数据中共同存在、且能唯一或近似唯一标识同一生产事件的字段。选错关联键,后续无论算法多复杂,都会出现错配、漏配或一对多爆炸。本节围绕四类常用锚点——产品序列号、工单号、时间窗口、设备通道——说明各自的适用条件、局限和组合策略。
四类锚点的本质差异
产品序列号(SN)是唯一标识单件产品的强键。当视觉工位在拍照时能读到SN(例如通过读码器、RFID或与PLC同步的过站信号),且MES中该SN的过站记录完整,那么SN就是首选关联键,匹配精度可达单件级。它的局限在于:并非所有视觉工位都能稳定读到SN,尤其是高速产线或SN位于产品背面时;此外,同一SN可能在返修、复检中多次经过同一工位,需要结合时间或工位号区分。
工单号(Work Order)是批次级键,标识一组按同一工艺参数生产的产品。它适合视觉NG只能定位到“哪一批”而非“哪一件”的场景。工单号的粒度较粗,一个工单可能对应数百件产品,因此单独使用时只能做批次级追溯,无法回答“具体是哪一件NG”。
时间窗口是弱键,用视觉检测的时间戳去匹配MES中同一时间段内的过站记录。它不依赖SN或工单号是否可读,通用性强,但精度受时钟同步、产线节拍波动和MES记录延迟影响。时间窗口通常作为辅助键,与其他键组合使用。
设备通道(Channel/Station ID)标识视觉系统内部的相机、光源或检测工位编号。它本身不标识产品,但能区分“同一时刻不同工位”或“同一工位不同相机”的记录,是多相机、多工位场景中防止串号的关键维度。
选择关联键的判断逻辑
实际工程中,关联键的选择不是“哪个最好”,而是“哪个可用且足够”。建议按以下顺序判断:
- 先确认SN是否可读。如果视觉工位能稳定获取SN,且MES中该SN有对应过站记录,直接以SN为主键,辅以设备通道区分多相机。这是最可靠、维护成本最低的方案。
- SN不可读时,检查工单号是否可获取。若视觉系统能从PLC或上位机拿到当前工单号,则以WO为主键,时间窗口为辅助,将NG记录归属到批次。此时需接受批次级精度,并在报表中注明“批次追溯”。
- SN和WO都不可用时,退化为时间+通道+工位组合。此时必须保证视觉系统与MES的时钟同步(建议NTP对时,偏差控制在±50ms以内),并利用通道号排除不同相机的干扰。时间窗口宽度应略大于产线节拍,例如节拍为8秒时窗口取10~12秒,避免相邻产品误配。
- 关键工位采用多键冗余。对于安全件、外观关键面等工位,即使SN可读,也建议同时记录WO和时间戳,用于交叉校验。当SN读取失败时,系统可自动降级到WO+时间窗口,避免数据断链。
时间窗口的工程参数
时间窗口不是简单的“前后几秒”,需要结合产线节拍、MES写入延迟和时钟偏差计算。假设产线节拍为10秒/件,MES过站记录写入延迟平均200ms、最大500ms,视觉系统与MES时钟偏差不超过30ms。则窗口半宽应至少覆盖:最大写入延迟500ms + 时钟偏差30ms + 安全余量200ms ≈ 730ms。考虑到节拍为10秒,窗口半宽取1秒即可,不会与相邻产品重叠。若节拍缩短到3秒,窗口半宽需压缩到500ms以内,此时对时钟同步和MES写入实时性要求显著提高。
设备通道的防串号作用
多相机视觉系统中,同一时刻可能有多台相机对不同产品拍照。如果只用时间窗口关联,容易把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追溯关联场景。