这一篇是这个系列文章的第三篇。前两篇主要铺底子第一篇拆了EtherCAT运动控制方案从主站到伺服的整体架构第二篇讲了总线周期、时钟同步和常用拓扑。有读者留言说想看更贴近现场的东西所以这篇我换一个思路直接把展会上要演示的几类高速高精应用场景拿出来借具体案例讲清楚这套方案到底是怎么做到的哪些参数值得抠哪些坑最容易踩。写之前先交代一下背景所谓“高速高精”在不同行业里其实是两拨需求。有的场景是“速度起来精度别塌”比如贴装、分选、飞剪有的场景是“精度锁定速度尽量快”比如激光加工、点胶、轮廓切削。这两类需求对运动控制的要求不完全一样但对总线的依赖是一致的——都需要在一个确定的时间窗口里把位置信息、触发信息、采样信息对齐。这也是EtherCAT这类实时总线在高速高精场景里越来越吃香的根本原因。1. 飞拍场景的时序账从相机触发到点位写入的每一步高速贴装、分选、视觉检测这类设备这几年最卷的地方就是“飞拍”。飞拍的意思很简单轴在运动过程中相机抓拍工件视觉系统在轴还在跑的时候算出偏差然后运动控制器在下一次到位之前把修正量写进去。整个过程不能让轴停下来等视觉。1.1 为什么飞拍必须在运动过程中拍很多刚入行的朋友会问停一下拍有什么问题我们算一笔节拍账。一台常规贴装平台如果采用“停-拍-走”的方式单次对位拍照加等待动作至少要占掉100到200毫秒。这个时间看着不长但乘以每小时的节拍数产能差距就出来了。飞拍把拍照和视觉处理都重叠在运动时间窗里节拍能直接砍掉一半甚至更多。代价是飞拍对时序的要求苛刻得多。传统停拍中视觉算完再走没有严格的时间约束而飞拍中从触发相机到把修正位置写回轴的每一个环节都会变成精度的一部分。任何一个环节的延时如果抖动最终产品的定位误差就会抖。这里有一个很关键的概念需要先建立起来飞拍要的不是“延时小”而是“延时确定”。延时大小可以通过标定和补偿吃掉一部分但延时抖动基本吃不掉。1.2 从触发到锁存的完整时间链让我把飞拍一次循环的完整时间链拆开按顺序排一遍你就会明白为什么总线要在里面起核心作用。第一步硬件触发与位置锁存。运动控制器在轴到达预设拍照位置时通过触发输出给相机一个曝光信号同时硬件锁存模块把当前轴位置记录到时间戳里。这一步的关键是触发和锁存都由硬件完成不经过软件层层转发延迟通常在微秒甚至亚微秒级。第二步相机曝光。面阵相机一般用全局快门曝光时间从几十微秒到几百微秒不等。曝光期间轴还在动所以曝光时间乘上运行速度就是图像上的运动模糊量这个量必须小于视觉算法允许的像素偏移。第三步图像读出与传输。曝光结束到图像数据到达处理端这一段的耗时取决于相机接口。用千兆网相机大概要几毫秒用更高的带宽接口能压到两毫秒以内。第四步视觉算法处理。模板匹配、亚像素边缘提取这些按现在的硬件水平常规算法三到十毫秒复杂算法十几毫秒甚至更多。这一项通常是整条时间链里最大的变量。第五步坐标映射。像素坐标换算成世界坐标再换算成轴坐标加上旋转中心补偿和安装偏置补偿这些运算本身很快零点几毫秒。第六步目标位置写入。运算结果通过实时总线下发给伺服等待下一个总线周期生效。这一段的延迟就是总线周期的量级。EtherCAT下一个周期可以做到125微秒也就是说位置修正最多等一个多毫秒就能作用到执行端。把这几步加起来一次飞拍的总延迟大约在五到二十毫秒之间。看到这个数字你就明白为什么我说飞拍的瓶颈很多时候根本不在总线而在视觉算法和相机链路上。1.3 飞拍精度最容易塌的四个环节飞拍做得多了踩过的坑基本集中在四处我挨个说一下。第一处是触发链路叠加抖动。不少设备用软件触发相机控制器里跑一个任务去翻转IO系统一忙触发时刻就飘。飘一次就是几十微秒甚至上百微秒。在高速轴上这个时间差对应的位置误差相当可观。正确的做法是用硬件位置比较触发或编码器索引触发让触发时机和位置锁存完全捆绑。第二处是曝光时间内运动模糊超标。举个例子视野二十毫米宽的相机配两百万像素单像素分辨率约十微米。轴速两米每秒时如果曝光时间开到两百微秒单次曝光内的运动量就是四百微米相当于四十个像素再强的视觉算法也救不回来。解决办法是压缩曝光时间或者用极短频闪的光源把运动冻结住。第三处是标定映射不准。飞拍对安装角度、镜头畸变、旋转中心误差极其敏感。安装时差一度的角度偏差在视野边角会放大成很大的像素误差。所以飞拍设备调试阶段标定往往比调PID还费时间。第四处是位置锁存与曝光中心的失配。理想情况是锁存位置对应图像曝光的中间时刻但很多相机输出没有中心曝光时间戳控制器锁存的却是触发沿的时刻两者之间的速度乘时间差就是系统误差。如果系统只能用触发沿时刻就需要在标定里把这个固定偏置补掉。2. 轨迹规划里的“快而不抖”速度前瞻与拐角处理的取舍飞拍解决的是离散点位的快速定位问题另一大应用方向是连续轨迹加工激光切割、点胶、贴合轨迹、轮廓铣削。这类场景的难点换了一套逻辑——不是“停准”而是“不停顿地走准”。2.1 梯形加减速为什么在高速高精场景失灵很多设备用的还是梯形速度规划加速段一个恒定加速度减速段一个恒定加速度中间匀速。这种规划的优点是实现简单缺点是加速度在衔接处是阶跃跳变的加加速度Jerk加速度的变化率等于无穷大。机械结构听到的是一次冲击表现出来就是机身振动轨迹精度和表面质量一起垮。高速高精场景必须用S型加减速让加速度线性变化加加速度保持在一个可控范围。有些控制器还会做更高阶的平滑本质都是让速度曲线更“圆润”减少对机械系统的激励。这里有个工程取舍同样的加速距离S型加减速比梯形花的时间长一点因为加速度不能瞬间拉满。但换来的收益是振动小、到位快——很多设备最终的总节拍反而更快因为不再需要等待振动衰减。2.2 速度前瞻窗口前看多远才算够连续轨迹还有一个绕不开的问题路径上有很多拐点进拐点之前必须减速出拐点之后要加速。如果控制器只看眼前这一段就会频繁减速再加速速度曲线锯齿一样效率极差。速度前瞻Look-Ahead的解法是在执行当前段之前先往未来扫描一段窗口把整个窗口里的减速需求算完提前决定现在该不该减速。窗口越长越能提前识别出长距离减速段速度保持得越好但窗口越长对控制器的算力要求越高。实际调试时前瞻窗口通常设置在几十到几百个插补点之间。普通轨迹几十个点就够模具加工那种成千上万小线段的路径需要更大的窗口。参数调整时主要看两个指标速度曲线是不是平滑有没有多余的减速点以及拐角处会不会因为预测过早而把速度压得过头。2.3 拐角与微小线段算力的无底洞拐角处理是连续轨迹里最能拉开控制器档次的地方。锐角拐弯如果硬减到零再走节拍损失很大正确做法是把尖锐拐点圆角过渡让轨迹在小半径圆弧里转弯但圆角会引入轮廓偏差所以速度上限由允许的圆角半径和法向加速度共同决定。粗略估算拐角允许速度约等于法向加速度上限乘圆角半径再开根号圆角半径缩小一半速度就要掉到原来的约七成。微小线段问题更磨人。CAM生成的加工路径经常会输出海量零点几毫米甚至更短的线段如果控制器对每一段都做一次完整的加减速计算实际进给速度会惨不忍睹。处理思路有两个方向一是线段压缩把连续同方向的短线段合并成直线二是样条拟合把微小线段拟合成NURBS曲线再按参数连续插补让刀具速度保持恒定。我调试过类似的路径几十万行小线段的雕刻程序不开压缩和拟合时实际速度只能跑到每分钟几百毫米开启前瞻加样条拟合之后同样的刀路能跑到每分钟两三千毫米轨迹精度反而更好——因为减少了加减速冲击轮廓振动明显降了。另外一个容易忽略的环节是指令滤波。位置指令输出后加低通滤波可以减少高频抖动但滤波会带来相位滞后用过头了反而增加轨迹误差。机械谐振更应该用陷波滤波器或振动抑制去处理而不是一味降低位置环增益。3. 多轴同步的底层协议EtherCAT分布时钟到底同步了什么多轴同步是另一个高频场景印刷套准、飞剪、纵切、多轴联动、龙门双驱都在这一类。同步问题最容易让人误解以为大家跑同一个总线周期就算是同步了其实不是。3.1 SYNC0中断与数据采集的相位关系EtherCAT同步的核心机制是分布时钟DC。主站会选一个从站作为参考时钟其它从站把自己的本地时钟和参考时钟对齐然后每个周期产生一次SYNC0事件。所有从站的数据采集、输出更新都在这个SYNC0时刻统一进行。这样做的意义在于位置锁存、编码器采样、伺服给定更新不再依赖总线报文到达的先后顺序而是在同一个时间点上集体动作。换句话说同步的不是“数据的传输速度”而是“数据的执行时刻”。一台机器上十几个轴哪怕它们物理上挂在不同网段采集到的位置数据也对应同一个时间断面。这一点在分析多轴联动误差时非常重要。如果各轴在不同时刻采样速度越快轴间相位差越大。EtherCAT的DC机制把这一项做到了微秒以下已经是工业总线里相当高的水准。3.2 同步抖动指标微秒还是纳秒我经常用一张表来对比常见方案的同步水平方便在选型时直接看方案类型典型同步抖动适用场景脉冲IO方式1毫秒到数毫秒低速、低精度、单轴为主模拟量编码器反馈0.1毫秒到1毫秒中等精度少数轴联动EtherCAT DC同步微秒以下实操常见纳秒到百纳秒级高速高精、多轴联动、飞拍实际测试中一套跑125微秒周期的总线伺服系统分布时钟抖动通常在几十纳秒这个量级。这个数字意味着各轴间的时间错位对位置误差的影响基本可以忽略不计剩下的机械误差反而是主要矛盾。多轴同步还有一个工程细节伺服驱动器的电流环和位置环更新周期。很多控制器支持位置环在每个总线周期更新电流环则在周期内分时多次更新。配置时要把位置环更新周期与总线周期设为整倍数关系否则会出现给定与反馈错拍的问题。3.3 电子凸轮和飞剪的相位补偿逻辑电子凸轮是多轴同步里最有代表性的应用。主轴角度作为自变量从轴位置通过凸轮函数计算出来每个总线周期都要查一次表。实现上没有难度难点在相位补偿。比如印刷套准材料在变速段会被拉伸或堆积导致色标位置相对主轴角度发生偏移。如果只按理论凸轮曲线跑套印误差会越来越大。解决方法是加入一个色标反馈环检测到的实际套色偏差转换成主轴角度的动态偏置叠加进凸轮查询表。通俗点说就是把凸轮曲线在角度方向上“拧”一下让从轴动作提前或落后一点去抵消材料变形。飞剪的逻辑类似。主轴匀速刀座作为从轴在同步段跟住材料速度并在切点位置切下。同步段的跟随精度直接决定切长误差。高速飞剪真正难的地方在于同步段从轴要完成位移、速度、加速度的三重匹配而凸轮函数会把这个速度要求放大好几倍。从轴驱动能力不够或者缺乏速度前馈切长就会飘。经验之谈高速同步应用里前馈和动态补偿是标配光靠PID跟随是跟不住的。位置前馈、速度前馈、加速度前馈要一起上把系统的滞后误差压到最小再用闭环去吃掉残余偏差。4. 本届工博会的应用预览三套Demo与选型参考回到展会本身。这一届工博会上这套EtherCAT运动控制方案会现场搭三套Demo每一套对应一类典型需求。4.1 预览A高速视觉定位贴合Demo这套Demo模拟的是贴装场景吸嘴带着工件高速运动相机在半路完成飞拍控制器在到位前修正位置并贴下。演示目标是连续运行的节拍稳定在0.6秒以内XY定位精度正负0.02毫米。飞拍时机台运行速度做到每秒500毫米量级触发和位置锁存直接走硬件配合全局快门相机和极短曝光时间。现场会滚动展示一段时间内连续贴装的位置误差分布。感兴趣的观众可以留意误差分布的中心偏移量和离散度这两个指标拆开看才有意义中心偏移可以通过标定补偿离散度才是系统真正能力的体现。4.2 预览B多轴同步飞剪与模切Demo第二套Demo做的是主轴匀速、从轴通过电子凸轮跟随的飞剪动作模拟印刷后道模切。演示指标设定在材料速度每分钟120米量级切长误差正负0.1毫米以内。同步段凸轮曲线采用五次多项式保证位移、速度、加速度连续。看点在于加减速过程中的同步表现以及模拟断料后重新接续时的套准恢复过程。这两个环节最容易暴露从轴跟随性不足的问题也是现场交流时最值得讨论的部分。4.3 预览C高精度轮廓加工Demo第三套Demo走的是连续轨迹路线一个龙门式三轴结构配合激光器走一张带大量锐角拐点和小圆弧的图形。演示目标是轨迹速度达到每秒两米量级轮廓误差正负20微米以内。重点展示速度前瞻的处理效果和拐角限速策略。现场看的时候可以观察两个细节一是拐角处有没有明显的停顿感二是圆弧段有没有因为加减速产生的轮廓锯齿。这两点直接反映控制器的前瞻窗口和插补平滑能力。4.4 选型时的三个自测问题最后给准备上方案的朋友三个自测题在见供应商之前先自己过一遍能让沟通效率高很多。第一你的节拍瓶颈在视觉算法还是运动执行如果一次视觉处理要十毫秒以上那总线周期从125微秒换成500微秒对整体节拍影响不大把精力花在算法加速上收益更高。如果运动时间占大头才值得去抠总线周期和加减速参数。第二真正需要协同的轴数有多少三轴以内合理配置的脉冲方案也能做出不错的精度。四轴以上且要求毫秒级同步或者有多轴位置锁存、多探头数据对齐这类需求EtherCAT这类总线的优势才能发挥出来。轴数不够多就盲目上总线成本上不划算。第三你的现场电磁环境怎么样总线方案在布线和抗干扰上比大量脉冲线缆更有优势但前提是网线选择、接地、走线都规范。任何总线都怕变频器强干扰源直接近距离并行走线这一点和用不用EtherCAT无关纯看施工规范。跑展台这么多年我越来越确认一件事高速高精的讨论最后几乎都会归到“时序”和“同步”这两个词上。这篇里所有的指标和案例都是为了让这两个词落地成可计算、可验证的数字。现场如果有时间欢迎带着自己项目里的时序数据过来聊一台样机跑起来比任何宣传材料都直观。这套方案后续在不同行业里的适配细节等展会结束我再单独整理一篇。