1. 项目背景与核心需求
这个追剪项目源于一家包装材料生产企业的实际需求。他们需要一套能够对连续输送的纸张进行高精度裁剪的自动化设备。传统的机械式裁剪方式存在调整困难、精度不足的问题,特别是在需要频繁更换裁剪规格时,机械结构的局限性更加明显。
经过现场调研,我们确定了几个核心需求:
- 必须实现连续输送过程中的动态裁剪(追剪功能)
- 需要支持不同角度的旋切加工
- 裁剪精度要求控制在±0.1mm以内
- 生产速度需达到60米/分钟
- 参数调整必须方便快捷,以适应不同规格的产品
2. 系统架构设计
2.1 硬件选型与配置
经过多方比较,最终选择了三菱的解决方案,主要基于以下几个考虑:
- 三菱的伺服系统在同步控制方面有成熟的应用案例
- R系列PLC在处理多轴运动控制时性能出色
- 本地技术支持资源丰富
具体硬件配置如下:
- 主控制器:R04CPU
- 运动控制模块:RD77MS8(8轴)
- 伺服电机:MR-J4系列4台(主传动轴1台,追剪轴2台,旋切轴1台)
- HMI:GS2107-WTBD触摸屏
- 编码器:17位绝对值编码器
2.2 控制网络架构
系统采用CC-Link IE Field网络构建控制网络,拓扑结构如下:
code复制[R04CPU]
|
[RD77MS8]--[伺服驱动器1]--[伺服电机1]
| [伺服驱动器2]--[伺服电机2]
| ...
[HMI]
这种架构保证了实时数据传输,网络周期时间可设置为1ms,完全满足高速同步控制的需求。
3. 核心控制算法实现
3.1 电子凸轮曲线生成
追剪功能的核心在于电子凸轮的精确控制。我们采用了分段三次样条插值算法来生成凸轮曲线,具体实现步骤如下:
- 数据采集阶段:
ST复制// 采集机械参数
Real L1 := 送料辊周长; // 单位:mm
Real L2 := 裁刀行程; // 单位:mm
Real V := 生产线速度; // 单位:m/min
- 曲线计算:
ST复制// 计算凸轮曲线关键点
Real T := (L1*0.001)/(V/60); // 一个送料周期时间
Real t1 := T * 0.2; // 加速段时间
Real t2 := T * 0.6; // 匀速段时间
Real t3 := T * 0.2; // 减速段时间
// 生成凸轮表
FOR i := 0 TO 100 DO
Real t := i*0.01*T;
IF t < t1 THEN
// 加速段
CamTable[i].Pos := 0.5*(L2/t1^2)*t^2;
CamTable[i].Vel := (L2/t1^2)*t;
ELSIF t < (t1+t2) THEN
// 匀速段
CamTable[i].Pos := 0.5*L2 + L2*(t-t1)/t2;
CamTable[i].Vel := L2/t2;
ELSE
// 减速段
Real td := t-t1-t2;
CamTable[i].Pos := 1.5*L2 + (L2/td^2)*td - 0.5*(L2/td^2)*td^2;
CamTable[i].Vel := (L2/td^2)*(1-td);
END_IF;
END_FOR;
3.2 多轴同步控制实现
系统中有4个主要运动轴需要精确同步:
- 主送料轴(虚拟主轴)
- 追剪横移轴
- 追剪升降轴
- 旋切轴
同步关系通过三菱的SSCNETIII总线实现,关键配置参数如下:
| 参数名称 | 送料轴 | 横移轴 | 升降轴 | 旋切轴 |
|---|---|---|---|---|
| 电子齿轮比 | 1:1 | 1:1 | 1:1 | 1:1 |
| 同步偏移(脉冲) | 0 | 500 | 1000 | 1500 |
| 位置环增益 | 35 | 40 | 45 | 30 |
| 速度环增益 | 120 | 130 | 140 | 110 |
在程序中通过FB块实现同步控制:
ST复制// 主同步控制FB块调用
MC_SyncControl(
MasterAxis := Axis_Main,
SlaveAxis1 := Axis_CutX,
SlaveAxis2 := Axis_CutY,
SlaveAxis3 := Axis_Rotary,
SyncMode := 2, // 凸轮同步模式
CamTable := ADR(CamTable),
StartMode := 1 // 立即启动
);
4. HMI参数设置界面设计
为了方便操作人员调整参数,我们在HMI上设计了多级参数设置界面:
- 主界面:显示设备运行状态和主要参数
- 配方管理界面:可存储和调用不同产品的加工参数
- 高级设置界面:用于工程师调试参数
关键参数设置采用了带单位换算的智能输入框:
ST复制// HMI参数处理逻辑
IF 新参数输入 THEN
// 单位换算
Real 实际速度 := 输入速度 * 单位系数;
// 参数范围检查
IF 实际速度 > 最大允许速度 THEN
显示报警信息;
RETURN;
END_IF;
// 更新控制参数
MC_WriteParameter(
Axis := Axis_Main,
Parameter := 速度参数地址,
Value := 实际速度
);
END_IF;
5. 调试经验与问题解决
5.1 同步精度优化
在初期调试中,发现追剪位置存在±0.3mm的偏差。通过以下步骤解决了这个问题:
- 检查机械传动间隙,发现联轴器有0.1mm的松动
- 增加编码器分辨率设置,从16位提高到17位
- 调整伺服增益参数:
- 位置环增益从30提高到45
- 速度环增益从100提高到140
- 在凸轮曲线中增加前馈补偿
调整后的参数效果对比:
| 参数项 | 调整前 | 调整后 |
|---|---|---|
| 位置偏差(mm) | ±0.3 | ±0.08 |
| 响应时间(ms) | 50 | 35 |
5.2 常见故障处理
在实际运行中,我们总结了以下常见问题及解决方法:
-
追剪位置逐渐偏移
- 原因:编码器信号干扰
- 解决:增加信号滤波器,改用双绞屏蔽线
-
高速运行时振动明显
- 原因:机械共振
- 解决:
- 调整伺服陷波滤波器频率
- 在300Hz和450Hz处设置两个陷波点
-
旋切角度不准
- 原因:皮带传动打滑
- 解决:
- 增加皮带张力
- 改用同步带传动方式
6. 系统性能测试
经过3个月的试运行,系统性能指标如下:
| 测试项目 | 设计要求 | 实测结果 |
|---|---|---|
| 裁剪精度(mm) | ±0.1 | ±0.08 |
| 最大速度(m/min) | 60 | 65 |
| 换产时间(min) | 5 | 2.5 |
| 连续运行故障间隔 | 8小时 | 36小时 |
这套系统最终帮助客户实现了生产效率提升40%,产品不良率从3%降低到0.5%以下。特别是在频繁更换产品规格时,通过HMI直接调用预设参数,大大减少了调试时间。
