3. 触发与同步优化
在高速产线上,视觉系统的节拍浪费往往并不来自图像处理本身,而是来自“什么时候拍”这件事没有对齐。CV-X 的触发链路如果存在延迟、抖动或与 PLC 握手错位,就会出现漏拍、重拍、等待超时,甚至整线被迫降速。本节围绕光电传感器触发、编码器触发和 PLC 握手时序三条路径,说明如何把触发时刻稳定地钉在工件到达检测位的瞬间。
一、先分清三种触发源各自解决什么问题
光电传感器触发属于“位置事件触发”:工件遮挡光束的瞬间产生一个开关信号,CV-X 收到后立即拍照。它实现简单、成本低,但受工件颜色、反光、抖动和安装角度影响,边沿时刻可能漂移。编码器触发属于“位移同步触发”:控制器按编码器脉冲计数,每走过固定距离输出一次触发,适合连续运动、间距不固定的工件。PLC 握手则解决“什么时候允许拍、拍完有没有告诉对方”的协同问题,避免相机在工件未到位或前一张未处理完时被误触发。
三者不是互相替代,而是分层配合:编码器或光电负责“何时拍”,PLC 负责“能不能拍、拍完放行”。理解这一点,才能判断节拍浪费到底出在哪一层。
二、光电触发:把“边沿”做干净
光电触发最常见的节拍浪费是抖动导致的重触发。工件边缘毛刺、反光或振动会让传感器在几毫秒内产生多个边沿,CV-X 若按上升沿触发,就可能连拍多张,占用处理资源并拖慢节拍。处理方法是先做硬件与参数两层去抖。
硬件层:选用带背景抑制的漫反射或对射式传感器,把检测距离设为工件表面距离的 1.2~1.5 倍,避免背景误触发;传感器输出优先选 PNP 常开,接入 CV-X 的触发输入端子时使用屏蔽线并单端接地。参数层:在 CV-X 的触发设置中启用输入滤波,典型值 0.5~2 ms,具体以工件最高运动速度下不丢边沿为准。若产线速度 v = 1 m/s,工件特征尺寸 20 mm,则特征通过时间约 20 ms,滤波 1 ms 不会漏检,但能滤掉大部分机械抖动。
另一个容易被忽略的点是触发延时补偿。传感器安装位置与相机视野中心存在物理距离 d,工件以速度 v 运动,则从触发到工件到达视野中心的时间为 t = d / v。若 d = 30 mm、v = 1 m/s,则 t = 30 ms。CV-X 支持触发延时设置,把这个值填入后,拍照时刻才真正对准工件中心。延时设小了工件偏前,设大了工件偏后,都会让定位算法多花时间甚至判 NG。
三、编码器触发:用位移而不是时间对齐
当工件间距不固定或产线速度会波动时,光电触发的位置一致性会变差,此时应改用编码器触发。编码器安装在输送辊或牵引轮上,每转输出固定脉冲数。CV-X 接收编码器 A/B 相脉冲,按设定的“每 N 个脉冲触发一次”工作,N 由工件间距和编码器分辨率决定。
计算示例:编码器 1000 ppr,辊轮周长 200 mm,则每个脉冲对应位移 200 / 1000 = 0.2 mm。若工件间距为 150 mm,希望每个工件触发一次,则 N = 150 / 0.2 = 750 个脉冲。配置时把分频系数设为 750,并选择与运动方向一致的计数边沿。若方向接反,计数会递减,触发位置整体偏移,表现为工件在视野中忽前忽后。
编码器触发还要注意最高触发频率。CV-X 的触发输入有最小间隔限制,若 N 太小导致触发频率超过相机采集能力,会出现丢触发。此时应增大 N 或降低产线速度,而不是强行提高增益。判断依据是观察触发计数与实际拍照数是否一致,若拍照数少于触发数,说明触发过密。
四、PLC 握手:让“拍”和“放行”形成闭环
PLC 握手的目标是保证三件事:工件到位才允许触发、相机空闲才接受触发、拍照完成后 PLC 才放行或剔除。推荐使用四信号握手:TRIG_EN(PLC 输出,允许触发)、TRIG_REQ(CV-X 输出或 PLC 内部触发请求)、CAM_DONE(CV-X 输出,拍照与判定完成)、RESULT_OK/NG(CV-X 输出结果)。
典型时序为:PLC 检测到工件进入检测区,置 TRIG_EN = ON;CV-X 在 TRIG_EN 有效且自身空闲时接受触发,开始曝光;处理完成后置 CAM_DONE = ON,并输出 OK/NG;PLC 读取结果后执行放行或剔除,然后复位 TRIG_EN,等待下一个工件。若 CAM_DONE 未复位就再次置 TRIG_EN,CV-X 可能拒绝触发或覆盖上一结果,造成漏检。
握手时序的匹配要点是 PLC 扫描周期。若 PLC 扫描周期为 10 ms,而 CAM_DONE 只保持 5 ms,PLC 可能扫不到这个信号。解决办法是让 CAM_DONE 保持到 PLC 确认复位,或使用上升沿锁存。另一个要点是 TRIG_EN 的建立时间应早于工件到达触发点至少一个扫描周期,避免“到了才允许”造成延迟。
五、把节拍浪费定位到具体环节
消除触发延迟与抖动后,节拍改善通常体现在三个方面:重拍次数下降、等待超时减少、PLC 与相机不再互相等。建议按以下顺序排查:先看触发计数与拍照计数是否一致,判断是触发源问题还是相机接受问题;再看 CAM_DONE 与 TRIG_EN 的先后关系,判断握手是否闭环;最后用示波器或 CV-X 的时序监视测量触发边沿到曝光开始的时间,确认延迟是否在允许范围内。
需要强调的是,触发优化不是把滤波和延时设得越大越好。滤波过大会漏掉高速工件的边沿,延时过大会让工件跑出视野。所有参数都应以“当前产线速度下的位置一致性”为判断标准,通过实际观察图像中工件位置是否稳定来确认,而不是凭经验一次设定后不再复核。