1. 项目背景与核心价值
在包装机械、金属加工等行业中,飞剪设备是产线上不可或缺的关键设备。传统飞剪采用曲柄连杆机构,存在剪切力波动大、能耗高等问题。而偏心轮加滑块机构的飞剪方案,通过独特的运动轨迹设计,能实现更平稳的剪切过程。
我去年参与了一条镀锌板生产线的改造项目,首次接触这种偏心轮飞剪机构。当时产线要求将板带剪切精度控制在±0.5mm以内,传统设备已经无法满足要求。在调试过程中,我发现市面上关于这类设备的控制程序资料非常稀缺,特别是基于Codesys平台的实现方案。这就是我决定深入研究并分享这个主题的原因。
2. 机械结构原理剖析
2.1 偏心轮滑块机构运动学
偏心轮机构的本质是将旋转运动转化为直线往复运动。与普通曲柄机构相比,其核心差异在于:
- 运动轨迹更接近简谐运动,加速度曲线更平滑
- 死点位置冲击力更小
- 可通过调整偏心距来改变行程
典型参数计算公式:
code复制行程 S = 2 × 偏心距e
最大加速度 amax = ω² × e (ω为角速度)
2.2 飞剪机构的特殊要求
在飞剪应用中需要特别考虑:
- 同步区控制:刀片与材料必须保持同步运动的时间窗口
- 动态补偿:考虑机械间隙和弹性变形的影响
- 相位调整:多刀协同工作时的相位差控制
3. Codesys控制方案设计
3.1 硬件配置方案
推荐配置组合:
- 主控制器:倍福CX系列(如CX9020)
- 伺服驱动:台达ASDA-A3系列
- 编码器:海德汉ERN1387(23位绝对值)
- 通讯协议:EtherCAT(实时性最佳)
注意:偏心轮机构对位置反馈分辨率要求较高,建议选择17位以上的编码器。
3.2 软件架构设计
程序采用模块化设计:
pascal复制PROGRAM MAIN
VAR
AxisCtrl : MC_Axis_Ref;
CamTable : MC_CamTable_Ref;
SyncCtrl : MC_SyncMotion_Ref;
END_VAR
关键功能块:
- 电子凸轮(MC_CamIn)
- 相位同步(MC_Phasing)
- 位置补偿(MC_Compensation)
4. 核心算法实现
4.1 运动曲线生成
采用7段S曲线算法,关键参数:
pascal复制TYPE SCurve_Params :
STRUCT
Vmax : LREAL; (* 最大速度 *)
Amax : LREAL; (* 最大加速度 *)
Jmax : LREAL; (* 最大加加速度 *)
END_STRUCT
实现代码片段:
pascal复制FUNCTION_BLOCK FB_SCurveGenerator
VAR_INPUT
params : SCurve_Params;
END_VAR
VAR_OUTPUT
Position : LREAL;
Velocity : LREAL;
END_VAR
4.2 同步控制逻辑
飞剪同步区的实现要点:
-
建立材料编码器与主轴的位置关系
-
动态计算同步窗口:
math复制θ_sync = arccos(1 - S/(2R))其中R为等效曲柄半径
-
实现位置-速度-加速度三闭环控制
5. 调试实战技巧
5.1 机械参数辨识
通过示教模式获取关键参数:
- 空载运行记录位置-电流曲线
- 采用最小二乘法拟合机构参数
- 补偿表格自动生成
pascal复制METHOD IdentifyParameters : BOOL
VAR_INPUT
bStart : BOOL;
END_VAR
5.2 常见问题排查
典型故障现象及对策:
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 剪切长度波动 | 同步窗口设置不当 | 重新校准编码器相位 |
| 刀片碰撞 | 行程限位错误 | 检查机械挡块位置 |
| 伺服报警 | 加速度超限 | 调整S曲线参数 |
6. 性能优化方向
6.1 动态前馈控制
在传统PID基础上增加:
- 加速度前馈
- 摩擦力补偿
- 弹性变形补偿
pascal复制FF_Coeff := Kfric + Kacc * a + Kvel * v;
6.2 自适应调参
基于机器学习的方法:
- 收集运行数据(振动、电流、位置误差)
- 建立LSTM预测模型
- 在线调整控制参数
7. 安全注意事项
-
机械方面:
- 必须安装硬限位开关
- 刀片防护罩联锁
- 急停回路独立于PLC
-
程序方面:
pascal复制IF NOT bSafetyOK THEN MC_Power(FALSE); END_IF -
调试规范:
- 首次运行采用10%速度
- 逐步验证各安全功能
- 保存多个版本程序备份
这套系统在我们产线上已稳定运行超过8000小时,将剪切精度提升到±0.3mm,同时能耗降低了15%。最关键的收获是掌握了机构参数与控制算法的匹配方法,这需要反复的实测验证。建议新手先从简单的往复运动开始测试,逐步增加复杂度。