1. 项目背景与核心价值
飞剪控制系统是工业自动化领域中的经典应用场景,主要用于连续运动材料(如纸张、金属带材、塑料薄膜)的定长切割。传统飞剪系统多采用机械凸轮或专用运动控制器实现,而基于S7-1500 PLC的软件凸轮方案正在成为更具灵活性的替代选择。
这个项目的独特价值在于:
- 将多项式算法引入PLC飞剪控制,相比传统梯形速度曲线,可实现更平滑的加减速过程
- 完整保留了原始凸轮算法的可靠性,通过两种算法的对比验证提升系统鲁棒性
- 在标准S7-1500平台上实现,无需额外运动控制模块,显著降低硬件成本
2. 系统架构设计解析
2.1 硬件组成方案
典型飞剪系统硬件配置包含:
- S7-1500 CPU(推荐1516-3 PN/DP以上型号)
- 1FK7系列伺服电机(送料轴+剪刀轴)
- SINAMICS S120驱动器
- 增量式编码器(用于位置反馈)
- 急停和安全继电器模块
关键选型要点:伺服电机额定扭矩需为计算值的1.5倍以上,编码器分辨率建议23位以上
2.2 软件控制架构
采用模块化程序设计:
code复制OB30(循环中断组织块,1ms周期)
├── FB500_飞剪主逻辑
│ ├── 材料速度计算
│ ├── 凸轮曲线生成
│ ├── 位置环控制
│ └── 安全监控
├── FB501_多项式计算
└── DB300_工艺参数DB
3. 核心算法实现细节
3.1 原始凸轮算法
基于S7-1500内置的MC_CamIn功能块实现:
STL复制// 凸轮表生成示例
MC_CamIn.Distance := 360.0; // 凸轮周期360°
MC_CamIn.MasterStart := 0.0;
MC_CamIn.SlaveStart := 0.0;
MC_CamIn.Profile := 3; // S曲线加减速
MC_CamIn.Execute := TRUE;
关键参数计算:
- 凸轮周期 = 切割长度 / 材料线速度 × 360°
- 剪刀开启角度 = arccos(1 - (2×切割长度)/剪刀行程)
3.2 五次多项式算法
采用五次多项式实现平滑运动曲线:
code复制θ(t) = a0 + a1t + a2t² + a3t³ + a4t⁴ + a5t⁵
在SCL中的实现:
SCL复制FUNCTION "Poly5_Interpolation" : VOID
VAR_INPUT
t : REAL;
T : REAL;
q0,qf : REAL;
v0,vf : REAL;
a0,af : REAL;
END_VAR
VAR_OUTPUT
pos : REAL;
vel : REAL;
acc : REAL;
END_VAR
VAR_TEMP
a0,a1,a2,a3,a4,a5 : REAL;
END_VAR
a0 := q0;
a1 := v0;
a2 := a0/2;
a3 := (20*(qf-q0)-(8*vf+12*v0)*T-(3*a0-af)*T²)/(2*T³);
a4 := (30*(q0-qf)+(14*vf+16*v0)*T+(3*a0-2*af)*T²)/(2*T⁴);
a5 := (12*(qf-q0)-6*(vf+v0)*T+(af-a0)*T²)/(2*T⁵);
pos := a0 + a1*t + a2*POWER(t,2) + a3*POWER(t,3) + a4*POWER(t,4) + a5*POWER(t,5);
vel := a1 + 2*a2*t + 3*a3*POWER(t,2) + 4*a4*POWER(t,3) + 5*a5*POWER(t,4);
acc := 2*a2 + 6*a3*t + 12*a4*POWER(t,2) + 20*a5*POWER(t,3);
4. 关键实现技术要点
4.1 同步精度优化措施
- 采用1ms中断周期+OB30优先级设置
- 启用PLC的等时同步模式(Isochronous Mode)
- 驱动器侧配置:
- 位置环周期250μs
- 速度前馈增益0.95
- 加速度前馈增益0.8
4.2 动态补偿算法
针对材料弹性变形导致的切割误差:
STL复制实际切割位置 = 理论位置 + K1×速度 + K2×加速度
其中K1/K2通过最小二乘法在线辨识获得
5. 调试与优化实录
5.1 相位滞后补偿
现象:剪刀到达切割点时材料已移动ΔL
解决方法:
- 测量不同速度下的ΔL值
- 建立补偿模型:ΔL = a×v² + b×v + c
- 在凸轮主轴上预加补偿角度:θ_comp = 360°×ΔL/切割长度
5.2 振动抑制方案
当切割频率接近机械固有频率时:
- 在多项式算法中增加Jerk限制(建议值3000 rad/s³)
- 驱动器侧配置:
- 陷波滤波器中心频率设为机械共振频率
- 降低速度环增益20-30%
6. 性能对比测试数据
| 指标 | 原始凸轮算法 | 多项式算法 |
|---|---|---|
| 同步误差(MAX) | ±0.3mm | ±0.15mm |
| 速度波动率 | 1.2% | 0.6% |
| 300次/min切换 | 有冲击 | 平滑过渡 |
| CPU负载 | 15% | 22% |
7. 工程应用注意事项
-
电子齿轮比设置:
code复制电机每转脉冲数 = 编码器分辨率 × 4 电子齿轮比 = (送料周长/减速比) / 切割长度 -
安全逻辑必须包含:
- 剪刀相序检测
- 材料张力监控
- 急停时凸轮立即脱开
-
动态调整技巧:
SCL复制IF "材料张力" > 设定值 THEN "实际切割长度" := 设定值 + 0.2mm; ELSE "实际切割长度" := 设定值 - 0.1mm; END_IF
8. 常见故障处理指南
| 故障现象 | 排查步骤 | 解决方案 |
|---|---|---|
| 切割长度周期性波动 | 1. 检查编码器联轴器 2. 分析凸轮曲线 |
紧固机械连接 调整加速度前馈 |
| 高速时剪刀不同步 | 1. 测量总线周期抖动 2. 检查OB30执行时间 |
启用等时同步模式 优化程序结构 |
| 伺服电机过热 | 1. 检查负载率 2. 分析速度曲线 |
降低Jerk限制值 增加散热措施 |
在实际项目中,多项式算法特别适合处理以下场景:
- 需要频繁变更切割长度的包装产线
- 超薄材料(<0.1mm)的精密分切
- 多轴协同的旋转飞剪系统
而传统凸轮算法则在以下情况更具优势:
- 固定长度的高速切割(>800次/分钟)
- 对PLC计算资源有严格限制的场合
- 需要与第三方设备保持硬件凸轮兼容