产线一提速就漏读,现场通常先去调参数:曝光、增益、二值化、算法阈值,一轮下来没好转,于是怀疑相机不够快。真正的原因常常在更前面一步,拍这一张照片的时机错了。时机错了,图像上不一定看得出来,工件偏在画面一角,或者刚好被切掉半边,看着像读码能力不够,实际是没拍全。
触发这件事只决定一个问题:每次拍的是不是同一个位置。光电开关和编码器在这件事上给的是两种不同的信号,一种按事件给,一种按位移给。这条差别在低速线上不明显,带速拉起来之后会放大成完全不同的两种失效方式。本篇只谈触发,距离、光源、通信不在范围内。
一、先分清三种触发失败
漏读这个词太笼统,把不同原因混在一起就没法查。现场遇到的触发问题,多数不是没给信号,而是信号到的时刻不对。
| 现场表现 | 图像上看是什么 | 真实原因 | 先查什么 |
|---|---|---|---|
| 整件没有记录 | 画面空白,或残留上一件的影子 | 信号没到,或被使能条件挡掉 | 信号链路、使能逻辑、I/O 接线 |
| 码缺一角、读不出 | 码在画面边缘,被裁掉一部分 | 触发点与光轴的距离没随带速校 | 触发延时、触发点前移量 |
| 同一件两条记录 | 两条报文中码内容相同 | 信号抖动或回弹造成重复触发 | 去抖设置、单次触发模式 |
| 时好时坏 | 码在画面里的位置忽左忽右 | 遮挡判定随工件尺寸、颜色、反光变化 | 遮挡点是否稳定、工件是否混型 |
| 低速正常高速漏 | 高速档缺件明显多于低速档 | 触发间隔小于解码周期,或曝光不足 | 解码耗时、曝光时间与带速 |
这五种里只有第一种是信号没到,其余四种信号都到了,错的是抵达的时刻或者抵达的次数。所以排查的第一个动作不是打开软件,而是把触发日志和同帧原图放在一起看。
动作一:先存触发时间戳和原图,再动参数。有这两样才能把没触发和触发偏了分开;没有的话,后面所有调整都是猜。
二、光电开关给的是事件
光电开关的工作方式很朴素:光路被遮住,或者反射回来的光越过阈值,输出翻转一次。它判定的是有没有东西经过某个点,因此信号代表一个事件。
从遮挡发生到曝光真正开始,中间串着几段延时:传感器的响应时间,输出回路与线缆的传输时间,相机触发输入端到曝光启动的时间。这三段加起来,常见在毫秒量级,其中占比最大的是传感器本身。
延时是常数,代价却随带速放大。同一段 1 毫秒的延时,带速 0.2 米每秒时工件只走了 0.2 毫米,带速 1.2 米每秒时走了 1.2 毫米,差 6 倍。相机视野里看到的就是码的位置差了 6 倍,低速下偏移小到可以忽略,高速下可能直接把码推出景深最清晰的那一段。
比延时更麻烦的是遮挡点本身会漂。工件高一点、矮一点,包装颜色深一点、浅一点,表面哑光还是覆膜,越过阈值的那一刻都不一样。同一批料没问题,换一批料位置就变了,这类误差每一件都不同,互不相干,属于随机误差。
| 误差来源 | 性质 | 随带速怎么变 | 能不能补 |
|---|---|---|---|
| 传感器与链路延时 | 系统性 | 位移随带速线性放大 | 能算,触发点前移一次补偿 |
| 遮挡点随工件变化 | 随机 | 位移被同样放大 | 不能补,只能靠机械定位或改位移触发 |
| 支架振动、悬臂过长 | 随机 | 高速下被放大 | 加固、缩短悬臂、避开共振 |
| 回弹与信号抖动 | 随机 | 高速下更易发生 | 加单稳态或软件去抖 |
动作二:把带速换算成每毫秒多少毫米,再看触发链路的总延时。两个数相乘就是位置偏移量,直接与码的尺寸比,够不够一眼就清楚。
三、编码器给的是位移
编码器把轴转角变成脉冲,脉冲当量等于轮周长除以每转脉冲数,带倍频的按倍频后算。按脉冲数触发,等于按走过的距离触发,与时间无关。
这条性质决定了它和光电的根本区别:带速怎么变,第 N 个脉冲对应的位置不变。加速、减速、换速比,都不会让拍摄位置漂走。
但编码器不是没有误差,它的误差性质与光电完全相反。打滑、轮径磨损、脉冲当量取整,这几种都不随机,而是系统的,而且会随时间累积。压轮与带面之间有滑差,走过 1 米实际只转了 0.99 米,误差就从这里开始,一直往后叠。轮径磨小,周长变短,当量偏大,跑得越久偏得越多。这类偏差不会自己回到零,必须靠定期复标压回去。
当量取整是另一回事。轮周长 628 毫米,每转 1000 个脉冲,当量 0.628 毫米;若需要 1 毫米等距触发,只能取每 2 个脉冲一次,实际间距 1.256 毫米。这个偏差是恒定的,每一件都一样,属于系统偏差,一次就能补掉,不会越跑越偏。现场容易把这两种偏差混为一谈,处置办法却完全不同:恒定偏差改参数,累积偏差查机械。
| 对比维度 | 光电开关 | 编码器 |
|---|---|---|
| 信号依据 | 事件越过阈值 | 位移计数 |
| 误差性质 | 以随机为主 | 以系统为主 |
| 是否累积 | 不累积,每件重新开始 | 会累积,跑得越久偏得越多 |
| 带速变化的影响 | 位置偏移随带速线性放大 | 位置不受影响 |
| 能否事后补偿 | 部分能,靠触发点前移 | 能,靠复标脉冲当量或归零 |
| 典型失效表现 | 时好时坏,换料就变 | 一直偏,且越偏越多 |
| 日常维护动作 | 清镜头、查遮挡点是否被料型影响 | 查压轮是否打滑、复标当量 |
一句话记住两者的区别:光电的错是每次都错一点,但互不相干;编码器的错是错一次就一直错下去。前者表现为不稳定,后者表现为一致地偏。
动作三:走一段已知长度,数出脉冲数,与理论当量相除。差值除以长度就是当量误差率,超过千分之几就该复标。
四、高速下差在哪:三个量
带速拉高之后,两种触发方式的差距集中在三个量上。这三个量都不抽象,都能在现场测出来。
| 量 | 定义 | 随带速的变化 | 光电 | 编码器 |
|---|---|---|---|---|
| 位移误差 | 延时乘以带速 | 与带速成正比 | 明显变大 | 基本不变 |
| 触发抖动 | 同工况下触发时刻的离散程度 | 相对节拍占比变大 | 受遮挡判定影响大 | 受脉冲计数稳定性影响小 |
| 累积漂移 | 连续运行后位置的整体偏移 | 与运行时长或里程相关 | 不累积 | 累积 |
位移误差的算法很直接:误差等于带速乘以总延时。总延时取 0.5 毫秒,带速 0.2 米每秒时是 0.1 毫米,0.6 米每秒时是 0.3 毫米,1.2 米每秒时是 0.6 毫米。倍数关系完全跟着带速走,与设备好坏无关,这是物理决定的。
同样按这个换算方式,曝光时间也会变成位移。曝光 500 微秒,带速 1.2 米每秒,工件在曝光期间走了 0.6 毫米,这就是拖影长度。位置偏移和拖影是同一个算法,都是把时间换成毫米。把这条统一起来,现场讨论时序就有了共同单位。
所以判断一台相机够不够快,不该只看帧率,要看每毫秒走多少毫米。1 毫秒走 1.2 毫米的线上,2 毫秒的触发延时就是 2.4 毫米,对一个 5 毫米见方的码来说,接近半个码位的位移,边缘的码很容易被裁掉。
动作四:算一次每毫秒多少毫米,把它写在白板上当本线所有时序讨论的单位。之后所有延时都换成毫米,与码尺寸直接比。
五、低速线上光电为什么够用
说编码器更准,不等于光电该被淘汰。相当多的产线用光电一直用得很好,原因是位移误差在这些线上是个常数,补一次就完。
带速恒定是最常见的情形。变频器长期跑一个速比,不调速,位移误差就是固定的 0.3 毫米或 0.6 毫米,装的时候把触发点前移这么多,之后不用再管。工件由工装、挡块、定位槽卡住,每件位置重复性在毫米内,遮挡点也不会随料型漂。码面又足够大,容差宽,这点偏移根本不影响。
| 不必换编码器的情形 | 判据 | 为什么 |
|---|---|---|
| 带速长期恒定 | 一个班次内速比不变 | 位移误差是常数,前移触发点一次补掉 |
| 工件由工装定位 | 每件位置重复性在毫米内 | 遮挡点不漂,随机误差小 |
| 码面尺寸远大于位移误差 | 误差小于码边长的十分之一 | 容差够,位移触发带来的收益有限 |
| 单相机单工位 | 无分区拼接、无跨设备对位 | 不存在位置一致性要求 |
这四条不是能用就凑合,是算过账的结论。把误差换算成毫米,与码的尺寸一比,够就是够,不必为了看起来先进去加一套编码器,多一套机构就多一处打滑风险。
动作五:连续三个班次记录同一件在画面里的坐标,坐标不漂就不必换。记录要用测量值,不靠目测。
六、这几种情况必须换编码器
反过来,只要有位置一致性要求,光电极难顶住,因为它的随机误差没法通过标定消除。
变频调速与多速段是最典型的一种。同一台设备要跑三个速度,位移误差在三个速度下是三个不同的值,前移量补了高速就顾不上低速。多相机分区成像后再拼接也属这一类,相邻相机必须按固定位移间隔触发,任何一路延时不同都会在接缝处错位。追溯要求每次拍同一物理位置、线扫相机需要恒定行间隔,这两种都要求位置由计数决定,而不是由某一刻的光电信号决定。工件间距极小、密集来料时,光电来不及复位,也会漏件。
| 工况 | 触发的硬约束 | 光电为什么顶不住 | 编码器怎么解 |
|---|---|---|---|
| 变频调速、多速段 | 每个速比都要拍到同一位置 | 位移误差随速比变,补一个丢一个 | 位移触发与带速解耦 |
| 多相机分区拼接 | 相邻相机按固定位移间隔触发 | 各路延时不一致,接缝错位 | 同一脉冲源等距触发 |
| 追溯要求位置一致 | 位置一致性优先于拍到就行 | 随机误差无法标定消除 | 位置由计数决定 |
| 线扫成像 | 行间隔必须恒定 | 速度波动导致行距不均 | 编码器给行同步 |
| 密集来料、间距极小 | 触发间隔小于光电复位时间 | 复位不及,漏件 | 按位移判定间距 |
编码器也不是万能的。湿面、油污、薄料、频繁启停的输送带,压轮打滑可能比光电的随机误差更糟,因为打滑造成的是累积偏差,一条线跑下来越偏越多,事后还很难发现。这类现场要做的是双通道校验:编码器主触发,光电做件到位确认,两者对不上就报警停机。这样处理之后,问题从选哪种触发,变成要不要加一道校验,是工程问题,不是选型问题。
动作六:在疑似打滑的现场跑 100 件后复标一次当量,看偏差是否超过件间距的三分之一。超过就说明单靠编码器不可靠,需要加校验。
七、现场怎么验:量四个数
触发调得好不好,不能靠看。四个数测出来,结论自然清楚。
| 要量的量 | 怎么测 | 判据 | 不达标先查 |
|---|---|---|---|
| 触发重复精度 | 同一件连拍 20 次,取码中心坐标的像素标准差 | 标准差小于码边长的 5% | 遮挡点稳定性、支架刚性 |
| 换速一致性 | 低速与额定最高速各 20 件,比两组坐标均值 | 均值差小于码边长的 10% | 触发点是否随速补偿 |
| 累积漂移 | 连续 500 件,看首件与末件的坐标差 | 差值小于件间距的 20% | 脉冲当量、压轮打滑 |
| 重复触发 | 统计同一码出现两条记录的次数 | 0 次 | 去抖设置、单次触发模式 |
第一个和第三个最容易混。第一个是同一工况下稳不稳,第三个是跑久了会不会偏。前者像抖动,后者像漂移,处置方向完全不同:抖动查机械与判定阈值,漂移查当量与打滑。把这两个混在一起查,往往越查越乱。
还有一个细节值得单独说。测重复精度时要用像素标准差,不要用看起来差不多。人眼对画面里几个像素的位移不敏感,但几个像素在高速线上可能正好是码的一条边。
动作七:把 20 次坐标记进表,用标准差说话。数据在表里,结论不用争。
八、三个常被忽略的时序细节
触发位置对了,仍然会时对时错,问题往往出在信号到了之后的那一段。
第一个是软触发的不确定延迟。由软件发指令启动曝光,指令排队与线程调度带来的延迟不定,几十毫秒的波动在慢线上无所谓,在高速线上等于每次拍摄位置都不一样。要求位置一致的场合必须用硬件触发。
第二个是解码周期与触发间隔的关系。解码耗时若大于触发间隔,帧会在缓冲里排队,队列满了就丢帧,丢的位置不固定,看起来像随机漏读。这里要测的是最长耗时,不是平均耗时,平均值好看的设备在个别难码上可能拖到几倍时间。
第三个是多路分触发的延时差。一路信号分给多台设备,分路器与线缆长度不同,几百微秒的差异在 1 米每秒的线上就是零点几毫米,几个工位累积起来会在拼接处显形。
动作八:测出从触发到结果输出的最长耗时,与最小件间距对应的时长比。前者小于后者,队列才不会堆。
九、小结
光电管有没有来,编码器管走到哪。两者不是新旧关系,是两种量。
慢线上光电够用,因为位移误差是常数,装的时候补一次就行。快线上这个误差随带速线性放大,靠补救不回来,这时要看位置一致性是不是硬要求:是,换编码器;不是,把误差换算成毫米,与码尺寸比一比再说。
换编码器之前先想一件事:这条线的输送带会不会打滑。会打滑,单靠编码器反而更危险,因为偏差会累积,加一道光电校验比换一套机构更省事。
验的时候量四个数:重复精度、换速一致性、累积漂移、重复触发。前两个看当下稳不稳,后两个看跑久了会不会垮。
触发只是这条链上的一环。触发器定了,光怎么打、距离怎么定,还得接着往下排;单台设备的整体安装顺序与排查路径,在《固定式条码读码器怎么装?装好了却读不出来该查哪里?》里说。