1. 项目背景与核心价值
追剪控制系统在包装、印刷、纺织等行业中应用广泛,主要用于实现材料在连续运动过程中的定长切割。汇川H5U系列PLC作为国产PLC中的佼佼者,其高速脉冲输出和运动控制功能非常适合这类应用场景。这个案例程序展示了一个完整的追剪控制解决方案,包含了从传感器信号处理到伺服电机同步控制的完整逻辑链。
在实际产线中,传统追剪系统往往面临几个痛点:切割精度受机械振动影响大、不同材料切换时需要重新调试参数、设备长时间运行后出现累积误差等。H5U通过电子凸轮和高速计数器功能,配合优化的PID算法,可以有效解决这些问题。我曾在一个包装膜分切项目中实测,使用这套方案后切割精度可以稳定控制在±0.3mm以内,比传统方案提升近50%。
2. 系统架构与硬件配置
2.1 硬件选型要点
典型配置如下表示例:
| 部件类型 | 推荐型号 | 关键参数 | 选型理由 |
|---|---|---|---|
| PLC主控 | H5U-1616MTD | 16DI/16DO, 4轴脉冲输出 | 满足多传感器输入和伺服控制需求 |
| 伺服驱动器 | IS620P系列 | 20bit编码器分辨率 | 高精度位置反馈 |
| 旋转编码器 | E6B2-CWZ6C | 2000P/R | 测量材料输送速度 |
| 光电传感器 | E3Z-T61 | NPN输出 | 检测材料边缘位置 |
重要提示:编码器安装时需确保与输送辊同轴度<0.1mm,否则会产生速度测量误差。实际项目中遇到过因安装偏心导致切割位置周期性偏移的案例。
2.2 电气接线注意事项
- 编码器信号线必须采用双绞屏蔽线,屏蔽层单端接地(PLC侧)
- 急停回路必须采用硬线连接,不可通过程序逻辑实现
- 伺服使能信号建议增加中间继电器隔离
- 脉冲输出线缆长度不超过3米,过长需加信号放大器
3. 程序架构解析
3.1 主程序流程图
st复制PROGRAM MAIN
VAR
bRun: BOOL; // 系统运行标志
bAlarm: BOOL; // 报警状态
rLength: REAL; // 设定切割长度
END_VAR
// 主程序逻辑
IF NOT bAlarm THEN
// 状态机处理
CASE nState OF
0: // 待机状态
IF bRun THEN
nState := 10;
END_IF
10: // 速度同步阶段
FB_CamTable.Start();
IF fbCamTable.bSync THEN
nState := 20;
END_IF
20: // 切割执行阶段
IF bCutDone THEN
nState := 0;
END_IF
END_CASE
END_IF
3.2 核心功能块详解
电子凸轮配置要点:
- 凸轮曲线采用多项式算法生成,需设置平滑过渡区
- 主编码器与从轴的比例系数根据机械传动比计算
- 动态修改凸轮表时需先停止再重新加载
PID参数整定经验:
- 比例增益Kp初始值设为负载惯量的1/10
- 积分时间Ti设置为电机机械时间常数的3倍
- 微分时间Td通常设为Ti的1/8
- 实际调试时先调Kp至系统开始振荡,然后取该值的60%
4. 关键算法实现
4.1 速度前瞻算法
st复制FUNCTION_BLOCK FB_VelocityPredict
VAR_INPUT
rActPos: REAL; // 实际位置
rSetPos: REAL; // 目标位置
rMaxAcc: REAL; // 最大加速度
END_VAR
VAR_OUTPUT
rOutVel: REAL; // 输出速度
END_VAR
VAR
rDist: REAL;
rDecelDist: REAL;
END_VAR
// 计算剩余距离
rDist := ABS(rSetPos - rActPos);
// 计算减速距离 (v^2 = 2as)
rDecelDist := (rOutVel * rOutVel) / (2 * rMaxAcc);
// 速度规划
IF rDist <= rDecelDist THEN
rOutVel := rOutVel - rMaxAcc * T#1MS;
ELSE
rOutVel := rOutVel + rMaxAcc * T#1MS;
END_IF
4.2 位置补偿算法
采用二次曲线补偿方式处理机械传动间隙:
- 记录每次切割位置偏差
- 计算最近5次偏差的平均值
- 按公式 Δ = a×v² + b×v + c 拟合补偿曲线
- 将补偿量叠加到目标位置
5. 调试技巧与故障排查
5.1 调试步骤
- 先单独调试伺服电机,确认基本运动正常
- 测试编码器信号,确保无丢脉冲现象
- 空跑凸轮表,观察从轴跟随曲线
- 低速带料测试,逐步提高速度
- 进行10次连续切割测试,统计位置偏差
5.2 常见问题处理
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 切割位置逐渐偏移 | 编码器信号干扰 | 检查屏蔽层接地,加磁环 |
| 高速时切刀抖动 | PID参数不合适 | 降低微分增益,增加加速度滤波 |
| 偶尔漏切 | 光电传感器响应延迟 | 改用更高速传感器,提前触发 |
| 伺服报警AL.009 | 电子齿轮比设置错误 | 重新计算传动比参数 |
6. 性能优化建议
-
网络通信优化:
- 将H5U的EtherCAT周期设置为1ms
- 运动控制指令优先使用MC_Power等专用指令
- 非实时数据通过Modbus TCP传输
-
程序结构优化:
- 将运动控制程序放在高速任务周期中
- 使用FB功能块封装重复逻辑
- 关键变量采用AT直接地址访问
-
安全功能实现:
- 配置STO安全扭矩关断功能
- 增加软件限位双重保护
- 急停响应时间测试需<50ms
这套程序在多个实际项目中验证,最高可支持120次/分钟的切割频率。通过调整凸轮曲线参数,还能适应不同材料的特性需求,比如针对弹性材料会增加减速缓冲区间。一个容易被忽视但很重要的细节是:定期备份凸轮表参数到非易失性存储器,避免断电后需要重新校准。