追剪Ver2.1.1(电子凸轮) 0.主轴异步电机+外接编码器,从轴伺服一台。 1.西门子200smart 2.维伦通触摸屏 3.使用pls指令编写;注意:单位是脉冲。 4.具有位置补偿,切刀追上切口。
车间里这套追剪系统折腾了我三天三夜,编码器信号总是飘,切刀追不上料带切口这事儿真能把人逼疯。不过总算在PLC里摸出了点门道,今天就把这套基于200smart的电子凸轮方案拆开了揉碎了聊聊。
先说硬件配置,主轴用的是普通三相异步电机带外置欧姆龙增量式编码器(2000线),从轴是台达A2伺服。关键点在于编码器信号得进PLC的高速计数器,这里用HSC0模式12(AB正交计数),注意编码器线数要换算成每转脉冲数:
MOVW 8000, SMB37 //AB相4倍频,2000*4=8000脉冲/转 HDEF 0, 12 //配置HSC0为模式12 HSC 0 //启动高速计数凸轮曲线的生成才是重头戏。我直接在PLC里做了个动态相位跟踪表,用指针偏移量实时计算从轴目标位置。这段代码在中断程序里跑,每10ms触发一次:
//计算主轴相对位置 LD SM0.0 MOVD HC0, VD100 //读取当前编码器值 -D VD104, VD100 //减去基准位置 MOVD VD100, VD108 //保存相对位置 //查凸轮表 LDW= VW112, 0 //初始化指针 AENO MOVW &VB200, AC1 //凸轮表首地址 +D AC1, VD108*2 //位置偏移量x2(WORD对齐) MOVW *AC1, AQW0 //输出到从轴脉冲重点是这个MOVW &VB200, AC1里的凸轮表数据,得提前用运动仿真软件生成位置-角度对应表,再转成WORD数组烧录到VB200开始的区域。我一般用Excel拉个正弦加速曲线,再导出成PLC能识别的数据块。
追剪Ver2.1.1(电子凸轮) 0.主轴异步电机+外接编码器,从轴伺服一台。 1.西门子200smart 2.维伦通触摸屏 3.使用pls指令编写;注意:单位是脉冲。 4.具有位置补偿,切刀追上切口。
位置补偿才是真功夫。在威纶通触摸屏上做了个微调旋钮,PLC里用中断实时修正目标位置。补偿算法要注意单位换算,这里1mm补偿对应400脉冲(导程5mm的丝杠,减速比1:1):
//补偿量处理 LD SM0.0 MOVR VD500, VD504 //读取触摸屏浮点补偿值 *R 400.0, VD504 //换算成脉冲量 ROUND VD504, VD504 //取整 MOVD VD504, VD508 //保存补偿值 //补偿应用 LD SM0.0 +D VD508, VD108 //叠加到相对位置调试时发现个坑:PLSV指令的加减速时间要和伺服驱动器的参数匹配。有次把PLC的加速时间设得比伺服还短,结果切刀直接飞出去了。现在都是让PLC的加减速略大于伺服参数,相当于让驱动器做最终刹车。
实测这套方案追剪精度能控制在±3个脉冲内,对付每分钟60米的生产线足够用了。下次打算试试用S7-1200的工艺对象来做,不过老设备改造还是200smart划算。代码里藏着个彩蛋——补偿量超过阈值会自动切手动模式,防止操作工手抖把刀撞了,这个判断逻辑你们自己琢磨吧。