2. 复判工位在视觉检测系统中的位置

复判工位不是视觉检测系统之外的“额外环节”,而是自动判定链路上的一个受控分支。理解它的位置,关键要抓住三件事:自动判定在什么条件下把结果“交出来”、复判工位从哪些系统取数据又把结论写回哪里、以及工位与相机、PLC、MES 之间的接口边界如何划分。只有这三件事清楚,复判才可能既快又不失控。

一、复判工位在系统中的位置

典型的视觉检测系统可以分成四层:成像层(相机、镜头、光源、触发传感器)、判定层(视觉算法/规则引擎,输出 OK、NG、待定)、执行层(PLC 控制分拣、剔除、放行)、管理层(MES 记录批次、追溯、质量统计)。复判工位位于判定层与执行层之间,是一个“可插入的旁路”:当自动判定给出高置信度结论时,结果直接进入执行层;当结论不确定或命中复判规则时,结果被挂起,等待人工确认后再放行或判废。

因此复判工位在物理上通常是一台带显示器的工位机,逻辑上却是一个状态仲裁节点:它不重新拍照,而是消费相机与算法已经产生的图像和中间结果,输出一个被 MES 和 PLC 都认可的最终判定。

成像层 相机 / 光源 触发传感器 判定层 算法 / 规则引擎 OK / NG / 待定 复判工位 图像回放 + 判定 人工确认 / 改判 结果写回 执行层 PLC 分拣 放行 / 剔除 管理层 MES 批次 / 追溯 / 统计 图像 待定 高置信度直通 最终判定 结果 / 追溯 工单 / 规则 触发复判的典型条件 置信度低于阈值(如 < 0.85) 缺陷类别为“疑似”或未训练类 同一工件多次判定结果不一致 首件 / 换型 / 抽检工单要求 算法版本切换后的验证批次 NG 但图像质量评分偏低 客户指定关键尺寸/外观项 工位与外部系统的接口关系 相机 图像 / 元数据 PLC 握手 / 放行信号 MES 工单 / 追溯 接口边界:相机只提供图像与元数据;PLC 只认最终放行/剔除信号; MES 负责工单下发与结果归档,不参与实时判定。

二、从自动判定到人工复判的触发逻辑

触发逻辑的核心是“把不确定的交给人工,把确定的留给机器”。工程上通常用一组可配置规则来决定是否挂起。以下是一份可直接参考的触发规则示例(参数为教学示例,实际需按产线标定):

触发条件示例阈值/参数动作
置信度低于阈值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 不参与毫秒级实时判定,但负责批次追溯和质量统计。复判工位应支持离线缓存,网络中断时先本地记录,恢复后补传。
接口设计建议:复判工位与 PLC 的握手信号建议采用“请求—确认”两段式,而不是单脉冲。单脉冲在 PLC 扫描周期与工位处理时间不匹配时容易丢信号。两段式可以明确区分“工位已给出结果”和“PLC 已执行完毕”。

五、一个可参考的复判工位数据字段示例

为了让复判工位真正可落地,下面给出一份最小字段集示例,可直接作为工位与 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 交换数据,最终输出一个被全链路认可的判定。理解了这个位置,后续的工位硬件选型、界面设计和节拍优化才有稳定的出发点。