1. 飞剪系统概述与核心需求
凌晨三点半的车间里,机械臂划出的弧光突然定格——这已经是第三次因为上下刀不同步把不锈钢板切成狗啃状了。我盯着威纶通屏幕上跳动的角度值,突然意识到:凸轮飞剪这玩意儿,玩的就是个时空同步的艺术。飞剪系统Ver3.2-1是基于编码器控制的西门子200smart PLC系统,采用双伺服驱动实现上刀轴和下刀轴的精确同步运动,专门用于金属板材的旋转切割场景。
这套系统的核心在于实现两个关键目标:首先是上下刀轴必须保持180度的严格相位差,确保切割动作的精准配合;其次是必须实现平滑的加减速控制,避免因突然启停导致的机械冲击。主轴编码器实时回传的角度值就像指挥家的节拍器,两个伺服轴得踩着这个节拍跳双人探戈。在实际应用中,我们发现当主轴转速超过200转/分钟时,威纶通屏的响应会延迟0.5个周期,这直接导致了切割精度的下降。
关键提示:飞剪系统的同步精度直接决定了切割质量,相位误差超过±2度就会产生肉眼可见的切割缺陷。
2. 硬件架构与信号处理
2.1 核心硬件配置
先看硬件配置这出戏怎么搭台子。系统采用模块化设计,主要包含以下核心组件:
- 控制单元:西门子S7-200 SMART PLC(6ES7288-1SR30-0AA0),负责实时运动控制算法处理
- 人机界面:威纶通MT8071iE触摸屏,用于参数设置和状态监控
- 主轴反馈:欧姆龙E6B2-CWZ6C 1000P/R编码器,通过高速计数器接入PLC
- 执行机构:
- 上刀轴伺服:安川SGM7G-1EA6C,额定功率1.5kW
- 下刀轴伺服:安川SGM7G-1EA6C,额定功率1.5kW
- 机械结构:定制化刀架,上下刀片间距可调范围50-200mm
2.2 信号处理流程
编码器信号的处理是整个系统的时序基准。我们采用以下信号处理流程:
- 编码器A/B相脉冲通过PLC的高速计数器HC0采集(模式12)
- 在中断OB35中(定时周期1ms)读取HC0当前值并换算为角度
- 角度值经过归一化处理(0-360度范围)
- 通过查表法获取上下刀轴的目标位置
- 使用PLS指令输出脉冲到伺服驱动器
st复制// 西门子S7-200 SMART 预处理程序
MOV_W VW100, AQW0 // 主轴实际角度缓存
DIV +360, VD200 // 角度归一化处理
MUL VD200, VD204 // 计算从轴目标位置
PLS Q0.0, 0 // 上刀轴脉冲输出
PLS Q0.1, 1 // 下刀轴带反向参数
3. 运动控制算法实现
3.1 凸轮曲线生成
上下刀轴的运动轨迹采用正弦曲线算法生成,确保运动平滑无冲击。核心算法如下:
python复制import numpy as np
master_angle = np.linspace(0, 360, 1000) # 主轴角度采样
upper_knife = np.sin(np.radians(master_angle)) * 180 # 上刀正弦曲线
lower_knife = -upper_knife + 180 # 下刀反向且相位差180度
在实际PLC实现中,我们采用查表法替代实时计算:
- 预先计算1000个点的位置数据(0-360度,间隔0.36度)
- 将数据存储在PLC的V存储区(占用2000个字节)
- 运行时根据主轴角度查表获取目标位置
- 在相邻采样点之间做线性插值,提高位置分辨率
3.2 同步控制策略
同步控制的关键在于维持180度的严格相位差。我们采用双闭环控制策略:
- 位置环:
- 上刀轴:直接跟随主轴角度
- 下刀轴:主轴角度+180度(反向运动)
- 速度环:
- 动态调整伺服电机的速度给定
- 采用前馈补偿减少跟随误差
当检测到相位差超过±2度时,系统会启动修正算法:
st复制// 相位差修正算法
LD SM0.0
MOVW VW110, VW120 // 读取上刀轴实际位置
MOVW VW112, VW122 // 读取下刀轴实际位置
SUBW VW120, VW122, VW130 // 计算相位差
CMPW VW130, +2 // 比较上限
JMP +20 // 超过上限跳转修正
CMPW VW130, -2 // 比较下限
JMP +10 // 超过下限跳转修正
4. 加减速控制优化
加减速曲线设置就像给刀片装气垫。我们对比了三种曲线方案:
- 梯形加减速:
- 优点:算法简单,计算量小
- 缺点:换向点存在加速度突变,导致机械振动
- S曲线加减速:
- 优点:加速度连续变化,运动平滑
- 缺点:算法复杂,需要浮点运算
- 多项式曲线:
- 优点:可灵活调整曲线形状
- 缺点:参数整定困难
最终采用的S曲线生成算法:
c复制// 自定义S曲线生成算法
float s_curve(float t) {
float k = 0.12f; // 柔性系数
return (1/(1+exp(-k*(t-5)))) - (1/(1+exp(-k*(t-15))));
}
在PLC中实现时,我们做了以下优化:
- 将算法转换为定点数运算(Q15格式)
- 预先计算并存储100点的加速度曲线
- 运行时根据速度指令查表获取加速度值
- 动态调整加速度时间(不超过主轴周期的1/3)
5. 系统调试与问题排查
5.1 常见问题及解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 上下刀轴不同步 | 伺服方向参数设置错误 | 检查P2901参数(下刀轴设为负值) |
| 切割面有毛刺 | 加减速曲线设置不当 | 调整S曲线的柔性系数k值 |
| 高速时失步 | 威纶通屏响应延迟 | 在PLS指令前插入预处理程序 |
| 材料打滑 | 相位差超限 | 启用自动修正程序 |
5.2 伺服参数优化
关键伺服驱动参数设置:
-
上刀轴参数:
- P2900=1000(电子齿轮比)
- P2901=1(方向设定)
- P2902=50(速度环比例增益)
- P2903=20(速度环积分时间)
-
下刀轴参数:
- P2900=1000
- P2901=-1(反向设定)
- P2902=55(略高于上轴)
- P2903=18
5.3 现场调试技巧
-
相位校准:
- 手动模式将主轴转到0度位置
- 使用激光对中仪校准上下刀片位置
- 在PLC中设置偏置补偿值
-
动态测试:
- 从低速(50rpm)开始逐步提高转速
- 使用示波器监控编码器信号和PLS输出
- 记录各转速下的跟随误差
-
负载测试:
- 分别测试0.5mm、1.0mm、1.5mm不同厚度材料
- 观察伺服电机电流波形
- 调整加减速参数避免过载
这套系统经过优化后能稳定跑到300切/分钟,切0.8mm镀锌板时刀口平滑得像激光切割。最关键的突破是那个应急处理程序——当检测到材料打滑导致相位差超过±2度时,系统会自动插入一个修正周期,这比直接急停能减少80%的废品率。