2. XG-X系统架构与检测流程拆解
误检与漏检很少是“算法不行”这一个原因造成的。在 KEYENCE XG-X 这类可编程视觉控制器上,一次判定要穿过相机、光源、控制器内部处理链和外部 IO 五个环节,任何一环的时序、参数或信号定义出现偏差,都会在最终 OK/NG 结果上表现为误检或漏检。因此治理的第一步不是调算法,而是把整条链路拆开,明确每个环节的输入、输出和可观测点,再判断异常发生在哪一段。
一、XG-X 检测链路的五个环节
XG-X 的典型检测链路可以按信号流向拆成五段:相机取像 → 光源触发 → 图像预处理 → 算法执行 → IO 输出。前两段属于“成像与采集”,决定进入控制器的图像质量;中间两段属于“控制器内部处理”,决定判定逻辑是否正确;最后一段属于“结果交付”,决定判定是否被外部设备正确接收。
需要先明确一个参照约定:本文所有“触发先后”均以控制器输出触发信号为时间起点,即控制器先发出触发,再等待相机曝光、光源点亮、图像回传。若现场采用相机自由运行、控制器被动接收的方式,时序参照点不同,需另行说明。
二、逐环节拆解:输入、输出与可观测点
① 相机取像。输入是控制器发出的触发信号,输出是数字图像。关键参数包括曝光时间、增益、帧率和触发模式(内部触发/外部触发)。可观测点是图像本身的亮度直方图和运动模糊程度。若曝光时间过长而工件在运动,图像会出现拖影,边缘工具测得的边缘位置就会偏移,导致尺寸判定误检;若增益过高,噪声被放大,灰度类工具读数波动,同样引发误检。这一环节的典型漏检是“欠曝导致缺陷与背景灰度接近”,缺陷在图像上根本不可见。
② 光源触发。输入是控制器的光源触发输出,输出是稳定亮度的照明。关键参数是点亮延时、脉宽和亮度值。可观测点是同一工件多次取像的灰度均值是否稳定。若光源点亮延时大于相机曝光开始时刻,图像会在光源未完全点亮时被采集,整体偏暗;若多段光源切换时序与相机曝光不匹配,不同角度照明下的图像亮度不一致,算法阈值就会在部分工件上失效。这一环节的漏检常表现为“偶发性、与节拍相关”的判定异常。
③ 图像预处理。输入是原始图像,输出是供算法使用的处理后图像。关键操作包括 ROI 裁剪、滤波、二值化阈值、灰度校正。可观测点是处理后图像的 ROI 是否始终覆盖目标特征、二值化后目标轮廓是否完整。ROI 若因工件位置波动而偏移,目标可能部分落在 ROI 外,面积类工具读数偏小,造成误检;二值化阈值若固定不变,当来料表面状态变化时,目标与背景的分离效果改变,造成漏检。
④ 算法执行。输入是预处理后的图像,输出是各工具的测量值和 OK/NG 判定。关键参数是每个工具的判定上下限、边缘阈值、面积范围以及多工具之间的逻辑组合(AND/OR)。可观测点是每个工具的实测值及其相对上下限的余量。若上下限贴着实测值设置,正常波动就会越限,形成误检;若上下限过宽,真实缺陷落在限内,形成漏检。多工具逻辑组合若用错 AND/OR,也会把本应 NG 的工件判为 OK。
⑤ IO 输出。输入是算法判定结果,输出是 OK/NG 电平信号及握手信号。关键参数是输出延时、输出保持时间和信号极性。可观测点是用示波器或 PLC 监视窗口观察 OK/NG 电平与 PLC 读取时刻的相对关系。若输出保持时间短于 PLC 扫描周期,PLC 可能读不到该次结果,表现为漏检;若极性定义与 PLC 侧相反,OK 与 NG 整体颠倒,表现为大面积误检。
三、用“分段隔离”定位异常环节
当现场出现误检或漏检时,不建议直接改算法参数,而应按链路分段隔离。一个可执行的做法是:先冻结算法参数,只观察图像。若同一工件多次取像的图像本身就不一致(亮度、位置、清晰度波动),问题在环节①②;若图像稳定但预处理后 ROI 或二值化结果不稳定,问题在环节③;若预处理结果稳定而工具实测值波动,问题在环节④的阈值或上下限;若工具判定稳定但 PLC 收到的结果不对,问题在环节⑤的时序或极性。
四、常见环节与现象对照
| 环节 | 典型现象 | 优先检查项 |
|---|---|---|
| 相机取像 | 边缘位置漂移、缺陷不可见 | 曝光时间、增益、触发模式 |
| 光源触发 | 偶发偏暗、与节拍相关 | 点亮延时、脉宽、亮度稳定性 |
| 图像预处理 | ROI 偏移、轮廓不完整 | ROI 位置、二值化阈值 |
| 算法执行 | 正常件越限、缺陷件通过 | 上下限余量、逻辑组合 |
| IO 输出 | PLC 读不到结果、OK/NG 颠倒 | 输出保持时间、信号极性 |