飞剪追剪是工业自动化领域中的一项经典运动控制技术,主要应用于包装、印刷、纺织等连续物料加工场景。简单来说,就是在物料连续运动的过程中,控制切割装置同步跟随物料运动,在动态中完成精准切割。这种技术解决了传统停机切割带来的效率低下问题,实现了生产线的连续高速运行。
我第一次接触飞剪是在2012年的一条包装生产线上,当时使用的是汇川的H2U系列PLC配合伺服系统。那时的飞剪程序还比较基础,主要实现简单的定长切割功能。随着汇川产品线的迭代和技术发展,现在的飞剪追剪系统已经能够实现更复杂的多轴同步、动态补偿等功能。
典型的汇川飞剪系统通常由以下硬件构成:
在实际项目中,我发现伺服电机的选型尤为关键。曾经在一个纸箱包装项目中,由于电机惯量选择不当,导致切割时出现明显振动。后来更换了更大惯量的电机并调整了伺服参数才解决问题。
汇川提供了多种编程环境支持飞剪开发:
我个人更推荐使用InoProShop进行开发,因为它集成了完整的运动控制功能块,支持ST语言编程,调试工具也更完善。记得2018年一个薄膜分切项目,使用InoProShop的CAM功能实现飞剪,开发效率比传统梯形图提高了至少30%。
飞剪的核心是建立主从轴的位置跟随关系。在汇川系统中,通常通过电子齿轮比或CAM表实现。基础实现步骤如下:
st复制// 汇川AM600配置示例
MC_CamIn.SelectMaster(MASTER_AXIS, ENCODER_INPUT);
st复制MC_GearIn.Slave := SLAVE_AXIS;
MC_GearIn.Master := MASTER_AXIS;
MC_GearIn.Execute := TRUE;
st复制IF (ActualPosition >= CutPosition - DecelDistance) THEN
MC_MoveVelocity.Speed := CutSpeed;
MC_MoveVelocity.Execute := TRUE;
END_IF
这里有个关键点:DecelDistance(减速距离)的计算需要考虑伺服响应时间和机械惯性。我通常先用理论公式计算,再通过实际测试微调。
在实际应用中,物料速度波动是常见问题。我们通常需要加入动态补偿算法:
st复制FeedForward = Kf * (CurrentSpeed - LastSpeed);
st复制PositionError = TargetPosition - ActualPosition;
Compensation = Kp * PositionError + Ki * IntegralError;
参数整定经验:
在包装产线中,经常需要根据产品规格切换切割速度。我的实现方案是:
st复制TYPE SpeedProfile :
STRUCT
Speed : REAL;
Accel : REAL;
Decel : REAL;
END_STRUCT
END_TYPE
VAR
ProfileTable : ARRAY[1..5] OF SpeedProfile;
END_VAR
st复制IF NewProductID <> CurrentProductID THEN
MC_MoveVelocity.Velocity := ProfileTable[NewProductID].Speed;
MC_MoveVelocity.Acceleration := ProfileTable[NewProductID].Accel;
MC_MoveVelocity.Deceleration := ProfileTable[NewProductID].Decel;
END_IF
对于高精度要求的场景,需要实现相位同步切割。关键技术点:
st复制MC_ReadAxisStatus.Axis := MASTER_AXIS;
PhasePosition := MC_ReadAxisStatus.Position MOD CutLength;
st复制IF PhasePosition > Tolerance THEN
MC_MoveRelative.Distance := -PhaseCompensation;
MC_MoveRelative.Execute := TRUE;
END_IF
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 切割位置不稳定 | 编码器信号干扰 | 检查屏蔽接地,加滤波器 |
| 高速时振动大 | 机械共振 | 调整伺服陷波滤波器 |
| 追剪不同步 | 主从轴参数不匹配 | 重新校准电子齿轮比 |
| 切割长度偏差 | 物料打滑 | 增加张力控制或改用直接驱动 |
st复制MC_MoveAbsolute.Velocity := TargetSpeed;
MC_MoveAbsolute.Acceleration := AccelValue;
MC_MoveAbsolute.Deceleration := DecelValue;
MC_MoveAbsolute.Jerk := JerkValue; // S曲线参数
st复制IF BufferCount > 3 THEN
PreLookSpeed := CalculateOptimalSpeed();
MC_MoveVelocity.Velocity := PreLookSpeed;
END_IF
st复制IF NOT SafetyOK THEN
MC_Power.Enable := FALSE;
MC_Halt.Execute := TRUE;
END_IF
st复制// 生产数据上报
PRODUCTION_DATA.CutLength := ActualCutLength;
PRODUCTION_DATA.Speed := CurrentSpeed;
PRODUCTION_DATA.ErrorCode := LastError;
技术要点:
解决方案:
调试心得:
挑战:
创新点:
这个项目让我深刻认识到,飞剪系统不仅是运动控制问题,还需要综合考虑工艺特性。我们最终通过将视觉检测信号接入PLC,实现了±0.3mm的对位精度。
从最早的简单定长切割,到现在智能自适应飞剪,这项技术仍在持续演进。我认为未来发展方向包括:
在最近的一个项目中,我们尝试将机器学习算法应用于飞剪参数自动整定,取得了不错的效果。系统能够根据材料特性自动调整补偿参数,减少了约40%的调试时间。