1. 项目概述:工业分切机的张力控制挑战
在包装、印刷、薄膜加工等行业中,卷取分切机是最核心的生产设备之一。我十年前第一次接触这个行业时,就被它的精密控制要求所震撼——一卷原材料要在高速运行中被精确分切成多卷成品,同时保持每卷的张力稳定。这种设备的核心难点就在于前后卷取轴之间的张力控制,这也是我这次要分享的西门子Smart200系列PLC实现双轴卷取分切机程序的关键所在。
这个项目源于去年为一家软包装企业做的设备改造。他们原有的分切机采用传统继电器控制,经常出现材料拉伸变形、边缘起皱等问题。我们团队用西门子S7-200 Smart PLC重构了整个控制系统,重点解决了双轴同步和张力稳定的问题。实测下来,改造后分切精度从±1.5mm提升到±0.3mm,废品率直接降了60%。下面我就把这套经过实战检验的程序设计和实现细节完整分享给大家。
2. 核心控制原理与系统架构
2.1 分切机机械结构与工作流程
典型双轴卷取分切机由放卷单元、牵引辊、分切刀架、前卷取轴和后卷取轴组成。其工作流程可分为三个阶段:
- 放卷阶段:原材料卷(母卷)通过制动器提供反向张力
- 分切阶段:材料经过刀架被纵切成多条窄幅材料
- 卷取阶段:分切后的材料分别卷绕到前后卷取轴上
在这个过程中,前后卷取轴需要保持以下关系:
- 线速度同步(避免材料拉伸或堆积)
- 张力恒定(避免材料松弛或过紧)
- 直径变化补偿(随着卷径增大自动调整转速)
2.2 张力控制数学模型
张力控制的核心是转矩平衡方程:
code复制T = F × r
其中:
T - 电机输出转矩(Nm)
F - 材料张力(N)
r - 当前卷径(m)
在实际控制中,我们采用间接张力控制方案,通过控制电机转矩来维持张力恒定。具体实现时需要三个关键参数:
-
线速度计算:
code复制v = π × D × n / 60 v - 材料线速度(m/min) D - 当前卷径(m) n - 电机转速(rpm) -
卷径计算:
采用累加法实时计算:code复制D_new = √(D_old² + 4 × t × L / π) t - 材料厚度(mm) L - 收卷长度(m) -
转矩给定值:
code复制T_ref = F_set × D / (2 × i × η) i - 减速比 η - 机械效率
2.3 西门子S7-200 Smart的硬件配置
我们的控制系统硬件配置如下表所示:
| 组件 | 型号 | 数量 | 用途 |
|---|---|---|---|
| CPU | ST40 | 1 | 主控制器 |
| 扩展模块 | EMAM03 | 2 | 模拟量输出(控制变频器) |
| 扩展模块 | EMAR02 | 1 | 模拟量输入(张力反馈) |
| HMI | SMART LINE 700 IE | 1 | 人机界面 |
| 编码器 | 6ES7 378-1AA01-0AA0 | 2 | 转速测量 |
关键提示:Smart200系列虽然属于小型PLC,但其运动控制功能和运算能力完全能满足分切机控制需求,性价比极高。我们实测单条逻辑指令执行时间仅0.1μs,完全满足毫秒级控制要求。
3. 程序设计与实现细节
3.1 主程序结构设计
整个程序采用模块化设计,主要功能块如下:
pascal复制// 主程序OB1
NETWORK 1: 系统初始化
CALL "INIT_System" // 初始化IO、变量、通讯
NETWORK 2: 手动模式处理
CALL "MAN_Mode" // 手动调试功能
NETWORK 3: 自动运行处理
CALL "AUTO_Mode" // 自动生产流程
NETWORK 4: 报警处理
CALL "ALM_Handler" // 故障监测与处理
3.2 张力控制算法实现
张力控制的核心是PID调节,我们在PLC中实现了自适应PID算法:
pascal复制// 张力PID控制功能块
FUNCTION_BLOCK "FB_PID_Tension"
VAR_INPUT
SetPoint : REAL; // 设定张力值(N)
ActualValue : REAL; // 实际张力反馈
Enable : BOOL; // 使能控制
END_VAR
VAR_OUTPUT
OutPut : REAL; // 输出转矩(%)
END_VAR
VAR
Kp : REAL := 0.8; // 比例系数
Ki : REAL := 0.05; // 积分系数
Kd : REAL := 0.1; // 微分系数
ErrSum : REAL := 0; // 误差累计
LastErr : REAL := 0;// 上次误差
END_VAR
// PID计算主体
IF Enable THEN
Error := SetPoint - ActualValue;
ErrSum := ErrSum + Error;
DErr := Error - LastErr;
OutPut := Kp*Error + Ki*ErrSum + Kd*DErr;
OutPut := LIMIT(0.0, 100.0, OutPut); // 输出限幅
LastErr := Error;
END_IF;
实际应用中,我们针对不同材料设置了多组PID参数:
| 材料类型 | 厚度(mm) | Kp | Ki | Kd | 备注 |
|---|---|---|---|---|---|
| BOPP膜 | 0.02 | 0.6 | 0.03 | 0.08 | 低惯性 |
| PET膜 | 0.05 | 0.8 | 0.05 | 0.12 | 中惯性 |
| 铝箔 | 0.08 | 1.2 | 0.08 | 0.15 | 高惯性 |
3.3 双轴同步控制实现
前后卷取轴的同步通过主从控制实现,程序逻辑如下:
-
速度同步:
pascal复制// 从轴速度跟随主轴 Axis2.Speed := Axis1.Speed * DiameterRatio; DiameterRatio := Axis1_Dia / Axis2_Dia; // 直径比补偿 -
张力平衡:
pascal复制// 张力差值补偿 IF ABS(Tension1 - Tension2) > TensionDiffLimit THEN Axis2.Torque := Axis2.Torque + PID_Tension(Tension1 - Tension2); END_IF; -
卷径计算:
pascal复制// 实时卷径计算(每100ms更新一次) IF Running THEN NewDia := SQRT(OldDia**2 + (4*Thickness*LineSpeed*0.1)/PI); OldDia := NewDia; END_IF;
4. 关键问题与解决方案
4.1 张力波动问题
在初期调试中,我们遇到材料张力周期性波动的问题。通过示波器抓取信号发现是机械传动间隙导致。解决方案:
- 在联轴器处增加弹性缓冲垫
- 在程序中增加移动平均滤波:
pascal复制// 10点移动平均滤波 FilterBuffer[FilterIndex] := RawTension; FilterIndex := (FilterIndex + 1) MOD 10; FilteredTension := 0; FOR i := 0 TO 9 DO FilteredTension := FilteredTension + FilterBuffer[i]; END_FOR; FilteredTension := FilteredTension / 10;
4.2 高速运行时断带问题
当线速度超过200m/min时,偶尔会出现断带。分析发现是急停时张力突变导致。改进措施:
-
增加减速斜率控制:
pascal复制// 斜坡停机功能 IF StopCommand THEN SpeedRef := SpeedRef - DecelerationRate * CycleTime; IF SpeedRef <= 0 THEN SpeedRef := 0; Stopped := TRUE; END_IF; END_IF; -
设置张力预紧功能:
pascal复制// 预紧逻辑 IF Starting THEN TensionSet := NormalTension * 0.8; // 初始80%张力 WAIT 500ms; // 延时 TensionSet := NormalTension; // 恢复设定值 END_IF;
4.3 卷径计算误差累积
长期运行后卷径计算会出现偏差,我们增加了自动校正机制:
- 每卷材料开始时复位卷径值
- 利用编码器脉冲和材料厚度反推实际卷径:
pascal复制// 卷径校正逻辑 IF NewRoll THEN ActualDia := (PulseCount * Lead) / (PI * LayerCount); IF ABS(ActualDia - CalcDia) > 5 THEN // 偏差>5mm时校正 CalcDia := ActualDia; END_IF; END_IF;
5. 人机界面设计要点
HMI界面设计直接影响操作体验,我们主要实现了以下功能界面:
-
主操作界面:
- 实时显示前后轴张力、速度、卷径
- 材料参数快速选择按钮
- 急停和暂停功能键
-
参数设置界面:
pascal复制// HMI与PLC的变量关联 "SetTension" := HMI.TensionSet; "MaxSpeed" := HMI.SpeedLimit; "AccelTime" := HMI.AccelTime; -
报警历史界面:
- 记录最近50条报警信息
- 报警分类统计功能
操作经验:在HMI上设置"专家模式"密码,将关键参数(如PID参数)隐藏在专家界面中,避免操作工误修改。
6. 现场调试技巧
根据多个项目经验,总结出以下调试要点:
-
静态调试步骤:
- 先断开电机动力,测试IO信号和通讯
- 手动模式测试各执行机构动作
- 模拟量输入输出校准
-
动态调试顺序:
- 先调单轴速度控制
- 再调单轴张力控制
- 最后调双轴同步
-
PID参数整定口诀:
- 先比例,后积分,最后加微分
- 比例从小往大调,直到系统振荡
- 然后调积分,消除静差
- 最后加微分,抑制超调
-
安全注意事项:
- 调试时材料张力不要超过额定值50%
- 准备紧急停机装置
- 高速运行时人员远离旋转部件
这套程序已经在多个现场稳定运行超过8000小时,最关键的体会是:张力控制不能完全依赖数学模型,必须结合机械特性做适应性调整。我们后来增加了"学习模式",设备会自动记录不同材料的最佳参数,下次使用时直接调用,操作工反馈特别好用。