1. 工业自动化中的运动控制难题
在包装机械、印刷设备、纺织机械等连续生产线上,飞剪和追剪是两种典型的运动控制应用场景。我从业十几年,见过太多工程师在这两类程序上栽跟头——要么切不准位置,要么设备抖动严重,最惨的是直接撞机停机。汇川作为国产PLC中的佼佼者,其H5U、AM600等系列在运动控制方面确实有不少独到之处。
飞剪的本质是在物料连续运动过程中实现同步剪切,就像高速行驶的火车上精准投递包裹。而追剪则更像接力赛跑,需要从轴在追赶主轴的过程中完成加工动作。这两种工艺对PLC的电子凸轮、相位同步、动态响应都有着严苛要求,普通的位置控制模式根本hold不住。
2. 汇川运动控制核心功能解析
2.1 电子凸轮功能实战
汇川PLC的电子凸轮(ECAM)是我用过最顺手的国产解决方案。以H5U为例,通过MC_CamIn指令建立凸轮表后,从轴可以完美复现主轴的运动轨迹。实际配置时要注意这几个参数:
- 凸轮曲线类型:选择多项式曲线比梯形曲线更平滑
- 同步区间设置:建议留10%的缓冲区间防止过冲
- 主轴偏移量:需要补偿机械传动间隙
st复制// 汇川PLC电子凸轮典型配置
MC_CamIn(
Axis:=轴1,
Master:=轴0,
CamTable:=CamTable1,
StartMode:=绝对位置,
Offset:=0.1);
踩坑提醒:凸轮表点数不是越多越好,超过200个点反而会导致周期时间过长。我一般用50-100个关键点描述曲线就够了。
2.2 相位同步的三种实现方式
在飞剪场景中,刀辊与送料辊的相位同步是核心难点。汇川提供了三种同步方案:
-
硬同步:通过DI高速输入捕获编码器Z信号
- 优点:同步精度高(±1个脉冲)
- 缺点:需要硬件支持
-
软同步:使用MC_Phasing指令
st复制MC_Phasing( Axis:=刀辊轴, Master:=送料轴, PhaseOffset:=90.0); // 相位差90度 -
虚拟主轴同步:适合多轴协同场景
- 先建立虚拟主轴作为基准
- 各实轴通过电子齿轮跟随
实测下来,软同步方案在300次/分钟以下的剪切频率时完全够用,同步误差可以控制在±0.1mm以内。
3. 飞剪程序开发全流程
3.1 机械参数测量
在写程序前必须确认这些关键参数:
- 刀辊周长(决定凸轮曲线周期)
- 送料辊直径(计算线速度)
- 剪刀重叠量(影响剪切力矩)
- 物料厚度(决定提前量)
建议用激光测距仪现场测量,别轻信机械图纸——我遇到过三次图纸标注与实际偏差超过3mm的情况。
3.2 运动曲线规划
飞剪的典型运动曲线包含四个阶段:
- 加速追赶段(余弦加速度曲线)
- 同步剪切段(保持与物料同速)
- 减速返回段(S型减速度曲线)
- 待机准备段(低速回原点)
st复制// 汇川凸轮表生成示例
CamTable1.AppendPoint(0, 0, 0); // 起点
CamTable1.AppendPoint(30, 10, 0); // 加速段
CamTable1.AppendPoint(180, 100, 0); // 同步段
CamTable1.AppendPoint(330, 10, 0); // 减速段
CamTable1.AppendPoint(360, 0, 0); // 终点
3.3 动态补偿策略
高速运行时必须考虑这些补偿量:
- 通讯延迟补偿(通常2-3ms)
- 机械间隙补偿(需实测反向间隙)
- 伺服响应延迟(查看伺服参数Pn506)
在600次/分钟的高速飞剪中,我通常会在凸轮表中提前3-5个脉冲做预补偿。
4. 追剪程序特殊处理
4.1 双速比切换技巧
追剪常见于包装机的定长裁切,需要处理送料轴与裁切轴的速度匹配问题。汇川的MC_GearIn指令支持动态速比切换:
st复制// 第一阶段:高速追赶
MC_GearIn(
Slave:=裁切轴,
Master:=送料轴,
Ratio:=1.5,
Acceleration:=100);
// 第二阶段:同步裁切
MC_GearIn(
Slave:=裁切轴,
Master:=送料轴,
Ratio:=1.0,
Acceleration:=50);
关键点:速比切换时要保持加速度连续,否则会出现明显抖动。建议在切换点前后各10ms做渐变处理。
4.2 动态张力控制
在薄膜类材料追剪时,必须考虑张力控制。我的经验方案是:
- 在送料轴后增加张力检测辊
- 通过PID实时调节收卷轴转矩
- 裁切瞬间临时降低张力(约20%)
汇川的AM600系列自带张力控制库,比用基础PLC自己写PID省事得多。
5. 调试避坑指南
5.1 常见故障代码处理
| 错误代码 | 含义 | 解决方案 |
|---|---|---|
| 16#8001 | 跟随误差过大 | 检查机械是否卡死,适当加大伺服位置环增益 |
| 16#8003 | 超速报警 | 降低加速度或检查负载惯量比 |
| 16#8005 | 软限位触发 | 重新设置轴行程或检查原点信号 |
5.2 振动抑制参数整定
高速运行时出现振动可以调整这些参数:
- 伺服位置环增益(Pn100):先调到临界振荡值的70%
- 速度前馈(Pn110):从30%逐步提升
- 低通滤波器(Pn210):设为电机额定转速的1/3
建议使用汇川IS620F伺服自带的振动抑制功能,比手动调参效率高10倍。
5.3 安全保护逻辑
必须实现的硬线保护:
- 急停信号直接切断伺服使能
- 限位开关双回路设计
- 气压不足时自动降速
程序里要做的软保护:
st复制IF 实际位置-指令位置 > 5mm THEN
MC_Halt(所有轴);
报警记录("跟随误差超限");
END_IF
6. 性能优化实战
6.1 任务周期优化
运动控制任务必须放在高速任务周期(建议1ms):
- 主程序循环:10ms
- 运动控制任务:1ms
- 通讯任务:100ms
在汇川PLC中可以通过以下设置实现:
st复制// 设置任务周期
TaskConfig(
Task1:=MAIN,
CycleTime:=T#10ms);
TaskConfig(
Task2:=Motion,
CycleTime:=T#1ms);
6.2 通讯优化技巧
当使用EtherCAT总线时:
- 禁用非必要从站的PDO映射
- 将运动控制相关从站放在总线前端
- 启用DC同步模式(分布式时钟)
实测优化后,EtherCAT周期时间可以从2ms降到0.8ms。
6.3 内存管理
大型飞剪程序要注意:
- 将频繁访问的变量声明为RETAIN型
- 数组索引从1开始(比0开始快5%)
- 使用STRUCT组织运动控制参数
我习惯把所有轴参数打包成结构体:
st复制TYPE AxisPara :
STRUCT
Position : REAL;
Speed : REAL;
Accel : REAL;
Decel : REAL;
END_STRUCT
END_TYPE
最后分享一个真实案例:某包装机飞剪程序经过上述优化后,剪切频率从300次/分钟提升到450次/分钟,而且伺服温升降低了15℃。关键点在于电子凸轮曲线的平滑处理和伺服增益的精细调整。
