本节摘要:运动控制让轴按位置、速度、加减速曲线精确动作:上电使能、回零建立坐标、点动与定位完成基本动作、电子齿轮实现轴间同步。本节以青线送瓶伺服与星轮轴为例,走完从组态到第一个定位动作的全过程,并给出运动指令的调用纪律。
布尔逻辑管开关,PID管平稳,运动控制管"精确到达"。青线有两处毫米级动作:灌装机进瓶螺旋与星轮的同步输送、膜包线切膜的定长定位。这一节以送瓶轴为例,把运动控制的骨架走一遍——概念对任何主流平台都适用,指令名以各平台运动控制库为准。
把伺服轴想象成一个守规矩的司机:先系安全带(上电使能),再确认起点(回零),然后才谈路线(定位运动)。三步的顺序不可颠倒,每一步都可能失败,失败要显式处理——运动控制的工程量八成在这些"准备动作与失败处理"上,真正"走"的那条指令反而最简单。
第一步使能。伺服驱动器上电后处于待命,PLC发出使能指令,驱动器闭合功率级,轴进入可受控状态;使能失败(欠压、过流、通信断)要拦在第一步。第二步回零。坐标系必须有原点:青线送瓶轴用原点开关加反向查找的方式回零,回零完成后轴的位置值才有物理意义。第三步才是运动指令。三者构成一根轴的开学三课,也构成一个微型状态机——4.2节的手法在这里原样复用。
组态一根轴分两侧:驱动器侧设电机参数与通信报文,控制器侧建工艺对象(轴数据类型),填机械参数——丝杆导程或齿轮减速比、编码器分辨率、定位与动态限值。机械参数是换算的根:指令里写"移动一百毫米",系统靠导程与减速比折算成电机转数,这里填错一个数,所有的"毫米"都会变成"看起来是毫米的别的东西"。
第一个实战动作是相对定位——灌装机换瓶型后,挡瓶板要移到新位置:
// 送瓶轴:使能、回零、相对定位的指令序列(运动库指令按平台对应) MC_Power(Axis := Feeder_Axis, Enable := TRUE, Status => Axis_On); IF Axis_On AND NOT Homed THEN MC_Home(Axis := Feeder_Axis, Position := 0.0, Done => Homed); END_IF; IF Homed AND Shift_Cmd THEN MC_MoveRelative(Axis := Feeder_Axis, Distance := Shift_Distance, // 来自配方,单位毫米 Velocity := Shift_Speed, // 来自配方,单位毫米每秒 Done => Shift_Done); // 完成位交给4.2的状态机 END_IF;
注意距离与速度全部来自配方变量——4.5节会把"魔法数字是负债"讲成一次返工故事,这里先立好规矩。还要注意完成位的用法:定位指令是"发出即返回",动没动完要看Done,把Done交给状态机管理,而不是用等待循环堵住程序——1.3节的看门狗会记住每一个堵程序的人。最后一道保险是运动指令的握手失败分支:轴忙、限位触发、使能丢失,任何一种都会让指令被拒绝——拒绝信号同样要接进状态机的故障路径,"指令发出去了"与"指令被接受了"是两回事。
星轮与进瓶螺旋必须严格同步——螺旋每推进一个螺距,星轮恰好转过一个齿,比例锁死,瓶才不会被挤扁也不会脱节。这个同步用电子齿轮实现:把主轴(输送链的实际速度)作为参考,从轴(星轮)按齿轮比跟随,主轴加速从轴加速、主轴停从轴停,比例由分子分母两个数设定。
齿轮比的确定有一套现场测算:星轮转过一整圈恰好放行十二个瓶位,进瓶螺旋一个螺距对应一个瓶位,于是比值为十二比一,再计入两轴减速机的减速比折算。青线联调时第一次算漏了星轮侧减速机的齿数比,低速试车看不出问题,提速到八成速度瓶距明显拉疏——回查机械图纸补上减速比,一次校正到位。这条教训的通用版是:齿轮比来自机械图纸,不来自现场试凑;试凑出来的比例在机械磨损后第一个漂移。
| 指令族 | 用途 | 青线用例 | 纪律 |
|---|---|---|---|
| 使能与回零 | 建立可受控与坐标 | 每次上电序列 | 失败必须显式处理 |
| 点动 | 装配与维护 | 换瓶型调整挡板 | 仅维护模式开放 |
| 相对定位 | 移动一段距离 | 挡瓶板位移 | 参数来自配方 |
| 绝对定位 | 去往坐标点 | 回等待位 | 先回零后使用 |
| 齿轮同步 | 比例跟随主轴 | 星轮与螺旋 | 比值出自机械图纸 |
运动控制的故障面比开关量宽得多,轴诊断值得单独交代。轴的报警分三族:驱动器族(过流、过压、编码器异常,驱动器面板与PLC侧都能读)、工艺对象族(跟随误差超限、软限位触发、动态限值冲突)、程序族(指令序列错误,如未回零就下绝对定位)。青线的经验是把三族的报警统一翻译成设备类的故障码与文本——操作员不需要知道"跟随误差"与"编码器冗余"的区别,他们需要知道"星轮轴故障,参考维护手册第几条"。
跟随误差是运动控制最值得展开的一个诊断项:指令位置与实际位置的偏差超过限值即报警。它可能是机械卡滞、负载突变、也可能只是限值设得太紧。青线的判读口诀:恒定小偏差查机械安装(同轴度、张紧),间歇性大偏差查负载冲击(卡瓶、叠瓶),满速才出现的偏差查动态限值(加减速给得太激进)。诊断思路同样是"症状分线、根因汇聚"——6.5节的方法论在轴的世界一样好使。
齿轮同步之外,青线膜包段的切膜轴还用到了电子凸轮:切刀必须在瓶膜行进中的固定相位下刀,主轴转角与从轴位置的对应关系是一条自定义曲线——凸轮表把这条曲线离散成若干点,从轴按表插值跟随。凸轮的工程要点是"表从哪来":机械凸轮的数字孪生由机械工程师给点位表,控制侧只负责装载与相位对齐,绝不擅自"优化"曲线——改一毫米,切刀与瓶膜的约会就迟到。
绝对定位的进阶用法是多工位跳转:送瓶轴在"等待位、灌装位、剔除位"之间按瓶流状态移动,绝对坐标配合4.2节的状态机形成"状态即位置"的直观映射。两步进阶的共同纪律依旧:曲线与坐标来自工艺与机械的书面确认,程序只做忠实的执行者——运动控制的一切自由度,都以机械图纸的签字为界。
单项手法齐了,但堆在一起就会乱——下一节看青线如何用一次真实返工,把五套手法重新组织成可持续演进的结构。