追剪Ver2.2.1(电子凸轮) 0.主轴异步电机+编码器,从轴伺服一台。 1.西门子200smart 2.维伦通触摸屏 3.使用pls指令编写;单位:毫米。 4.具有位置补偿,切刀追上切口。
系统框架挺简单:200smart的SR40配EMAE08扩展模块接编码器,从轴是台750W的日系伺服。关键点在于主轴是异步电机带编码器反馈,这可比直接用伺服当主轴刺激多了——转速有轻微波动就得实时捕捉。
电子凸轮的核心算法在OB1里循环执行。先看编码器处理部分:
//编码器计数转实际长度 LDW= 0.0 MOVW HC0, AC0 -I VW200, AC0 //VW200存储上周期计数值 DTR AC0, VD100 //差值转双整数 /R 2000.0, VD100 //2000脉冲/转,导程10mm→0.005mm/脉冲 +R VD110, VD114 //VD114累计总长度 MOVW HC0, VW200 //更新计数值这段代码每周期计算主轴位移增量。注意除法运算前必须转实数,200smart的整数除法会丢精度。VD114累计值就是切刀要追踪的基准位置。
追剪动作触发时的PLS指令配置才是重头戏:
MOVR VD114, VD120 //当前主轴位置 MOVR VD120, VD124 //从轴目标位置 +R 500.0, VD124 //提前500mm开始加速 PLS 1, VD124, 200.0 //脉冲输出1,目标位置,最大速度这里的500mm提前量不是固定值,实际要根据伺服加速度动态计算。有个坑——PLS指令的单位转换必须和伺服侧的电子齿轮比严丝合缝,曾经因为少算个π导致切刀直接怼进输送辊。
补偿机制藏在中断程序里。每完成一次剪切就对比切口标记和切刀位置的偏差:
LDR< VD300, VD304 //VD300是视觉检测的偏差量 MOVR VD304, VD308 //滤波处理 *R 0.7, VD308 //补偿系数 +R VD308, VD310 //VD310存储累计补偿值 MOVR VD310, VD124 //补偿量叠加到目标位置这补偿逻辑得像钓鱼——收线太快会扯断,太慢鱼就跑了。0.7这个衰减系数是现场试出来的,能有效防止过补偿引发的振荡。
维伦通触摸屏上做了个骚操作:把伺服的跟随误差曲线和主轴速度曲线叠在同一坐标系。当两条线开始"劈叉"时,直接点屏幕上的相位微调按钮,补偿值立即生效。毕竟产线工人可没耐心等自动整定。
调试时最抓狂的是编码器信号干扰。后来在EMAE08模块的A相接了470Ω上拉电阻,B相并了个104瓷片电容才稳定。血的教训:别迷信屏蔽线,高频脉冲该做的滤波一个都不能少。
现在这系统跑起来,切刀追切口就像猎豹扑羚羊——伺服电机的加减速曲线贴着材料速度变化,补偿机制能在连续三次偏差超过0.3mm时自动触发二次标定。最后实测精度±0.15mm,比客户要求的±0.5mm还狠。