2. 复判工位在视觉检测系统中的位置
复判工位不是视觉检测系统之外的“额外环节”,而是自动判定链路上的一个受控分支。理解它的位置,关键要抓住三件事:自动判定在什么条件下把结果“交出来”、复判工位从哪些系统取数据又把结论写回哪里、以及工位与相机、PLC、MES 之间的接口边界如何划分。只有这三件事清楚,复判才可能既快又不失控。
一、复判工位在系统中的位置
典型的视觉检测系统可以分成四层:成像层(相机、镜头、光源、触发传感器)、判定层(视觉算法/规则引擎,输出 OK、NG、待定)、执行层(PLC 控制分拣、剔除、放行)、管理层(MES 记录批次、追溯、质量统计)。复判工位位于判定层与执行层之间,是一个“可插入的旁路”:当自动判定给出高置信度结论时,结果直接进入执行层;当结论不确定或命中复判规则时,结果被挂起,等待人工确认后再放行或判废。
因此复判工位在物理上通常是一台带显示器的工位机,逻辑上却是一个状态仲裁节点:它不重新拍照,而是消费相机与算法已经产生的图像和中间结果,输出一个被 MES 和 PLC 都认可的最终判定。
二、从自动判定到人工复判的触发逻辑
触发逻辑的核心是“把不确定的交给人工,把确定的留给机器”。工程上通常用一组可配置规则来决定是否挂起。以下是一份可直接参考的触发规则示例(参数为教学示例,实际需按产线标定):
| 触发条件 | 示例阈值/参数 | 动作 |
|---|---|---|
| 置信度低于阈值 | score < 0.85 | 挂起,进入复判队列 |
| 缺陷类别为“疑似” | class = suspect | 挂起,优先复判 |
| 连续两次判定不一致 | 同一 ID 结果翻转 | 挂起并标记“抖动” |
| 首件/换型 | 工单类型 = first_article | 强制复判 |
| NG 且图像质量低 | blur_score < 0.6 | 挂起,提示重拍或复判 |
这些规则一般由 MES 下发的工单参数或本地配置文件驱动。复判工位在收到“待定”结果后,不会立即向 PLC 发送放行信号,而是进入等待人工确认的状态;只有人工点击“确认 OK”或“确认 NG”后,才把最终结果写入结果表并通知 PLC。若超时未处理,系统应给出默认策略(例如默认 NG 或默认挂起报警),避免产线无限等待。
三、数据流:图像、结果与追溯信息
复判工位的数据流可以概括为“三进一出”:进是相机图像、算法中间结果、MES 工单与规则;出是人工确认后的最终判定与操作记录。具体来说:
- 图像流:相机在触发后输出原图与可能的结果图(标注框、热力图)。复判工位通常通过共享内存、消息队列或相机 SDK 回调获取,而不是重新触发拍照。
- 结果流:算法输出缺陷类别、置信度、坐标、判定时间戳。这些字段是复判界面排序和筛选的依据。
- 工单流:MES 下发产品型号、批次、复判规则、抽检比例。工位据此决定当前工件是否必须复判。
- 回写流:人工确认后,工位把最终结果、操作员 ID、复判时间、改判原因写回 MES,并同时向 PLC 发送放行/剔除信号。
这里有一个容易出错的点:图像与结果的关联必须用唯一 ID(如工件序列号 + 时间戳)。如果复判工位只按“最新一张图”取数据,在多相机或多工位并行时就会张冠李戴。工程上建议在触发时生成 trace_id,贯穿相机、算法、复判、PLC、MES 全链路。
四、工位与 MES / PLC / 相机的接口关系
接口划分的原则是:相机管图像,PLC 管动作,MES 管记录,复判工位管仲裁。三者与工位的接口可以这样理解:
- 与相机:工位是消费者,不是控制者。相机按原有触发节拍拍照,工位通过 SDK 或图像服务读取图像和元数据。工位不应反向控制相机曝光或触发,除非是专门的“重拍”功能且已与 PLC 互锁。
- 与 PLC:工位与 PLC 之间是握手关系。工位输出“最终判定就绪”和“OK/NG”两个信号;PLC 收到后执行分拣,并回传“已执行”确认。对于挂起中的工件,PLC 应保持等待或将其送入缓存工位,不能直接放行。
- 与 MES:工位从 MES 取工单与规则,向 MES 写最终结果与操作日志。MES 不参与毫秒级实时判定,但负责批次追溯和质量统计。复判工位应支持离线缓存,网络中断时先本地记录,恢复后补传。
五、一个可参考的复判工位数据字段示例
为了让复判工位真正可落地,下面给出一份最小字段集示例,可直接作为工位与 MES/PLC 对接的字段参考(字段名与取值均为教学示例):
trace_id : "SN20250612-000871" // 全链路唯一
station_id : "VIS-REJ-01" // 复判工位编号
camera_id : "CAM-TOP-02" // 来源相机
image_path : "/img/20250612/000871.jpg"
algo_result : "NG" // 算法原始判定
algo_score : 0.72 // 置信度
defect_class : "scratch_suspect" // 缺陷类别
trigger_reason : "score_below_threshold"
review_result : "OK" // 人工最终判定
reviewer_id : "OP-1042"
review_time : "2025-06-12 14:23:07"
review_reason : "划痕为反光伪影"
plc_signal : "PASS" // 发给 PLC 的最终信号
mes_sync : "synced" // 追溯状态
这份字段集的价值在于:它把“自动判定—触发—人工复判—回写—执行”整条链路串了起来。实际项目中可以在此基础上增减字段,但 trace_id、algo_result、review_result、plc_signal 这四个字段建议保留,它们是复判工位能否被追溯和审计的最小集合。
总结来看,复判工位在视觉检测系统中的位置可以一句话概括:它是自动判定与执行动作之间的可配置仲裁点,通过触发规则决定哪些结果需要人工介入,通过标准接口与相机、PLC、MES 交换数据,最终输出一个被全链路认可的判定。理解了这个位置,后续的工位硬件选型、界面设计和节拍优化才有稳定的出发点。