1. 项目概述:涂布机PLC控制系统的核心架构
在工业自动化领域,涂布机的张力控制一直是个技术难点。我最近完成的一个项目采用了威纶HMI+三菱Q系列PLC的控制方案,通过梯形图与ST语言混合编程,实现了四种张力锥度曲线的精确控制。这套系统已经稳定运行了2000+小时,实测张力控制精度达到±0.5N,完全满足高端涂布工艺要求。
为什么选择这个组合?三菱Q系列PLC的扫描周期可以做到0.2ms以内,特别适合需要快速响应的张力控制场景。而威纶HMI的MT8071iE型号支持10.1英寸大屏显示,操作员可以直观地监控整个涂布过程。两者通过以太网通讯,响应延迟控制在10ms以内,这在实时控制中非常关键。
2. 硬件配置与网络架构
2.1 主要硬件清单
- 三菱Q06HCPU:基础运算单元,内置64K步程序容量
- QJ71E71-100:以太网模块,用于HMI通讯
- QD75P4N:4轴定位模块,控制伺服电机
- 威纶MT8071iE:10.1英寸HMI,800×480分辨率
- 安川Σ-7伺服驱动器:配套17位绝对值编码器电机
2.2 网络拓扑设计
系统采用星型拓扑结构:
code复制[PLC主站]
│
├── [HMI] (以太网)
├── [伺服驱动器1] (SSCNETⅢ光纤)
├── [伺服驱动器2]
└── [远程IO站] (CC-Link)
这种架构保证了:
- 运动控制走专用运动网络(SSCNETⅢ),确保同步精度
- HMI通讯与运动控制物理隔离,避免相互干扰
- 关键信号(急停、安全门)通过硬接线直连PLC
3. 软件设计核心思路
3.1 编程语言选型策略
- 梯形图:用于基础逻辑控制(占程序总量60%)
- 设备启停连锁
- 报警处理
- 安全回路
- ST语言:复杂算法实现(占30%)
- 张力计算
- 锥度曲线生成
- PID调节
- 功能块(FB):标准化功能封装(占10%)
- 收放卷控制
- 纠偏算法
- 温度控制
实际调试中发现:ST语言执行效率比梯形图高约15%,特别是在数学运算密集的场景。
4. 张力控制的核心算法
4.1 张力检测原理
采用张力传感器+速度差补偿的双重检测:
code复制实际张力 = 传感器测量值 + K×(V_放卷 - V_收卷)
其中K为材料弹性系数,通过HMI可在线调整。
4.2 四种锥度曲线实现
4.2.1 线性曲线算法
st复制FUNCTION_BLOCK FB_LinearTension
VAR_INPUT
StartT, EndT, CurrentPos, TotalLen: REAL;
END_VAR
VAR_OUTPUT
OutTension: REAL;
END_VAR
BEGIN
OutTension := StartT + (EndT - StartT) * (CurrentPos/TotalLen);
END_FUNCTION_BLOCK
4.2.2 指数曲线算法
st复制FUNCTION_BLOCK FB_ExpTension
VAR_INPUT
StartT, EndT, CurrentPos, TotalLen: REAL;
ExpFactor: REAL := 2.0; // 可调指数因子
END_VAR
VAR_OUTPUT
OutTension: REAL;
END_VAR
BEGIN
OutTension := StartT + (EndT - StartT) *
POWER((CurrentPos/TotalLen), ExpFactor);
END_FUNCTION_BLOCK
4.2.3 S型曲线实现要点
采用三次多项式拟合:
code复制T(t) = T0 + (T1-T0)×(3t² - 2t³)
其中t∈[0,1]为归一化位置参数。
4.3 动态PID调节
根据材料宽度实时调整PID参数:
st复制IF MaterialWidth > 1000 THEN
Kp := 2.5;
Ti := 0.5;
Td := 0.1;
ELSE
Kp := 1.8;
Ti := 0.8;
Td := 0.05;
END_IF
5. 关键功能块详解
5.1 收放卷控制FB
st复制FUNCTION_BLOCK FB_WinderControl
VAR_INPUT
Enable, JogFwd, JogRev: BOOL;
LineSpeed, Diameter: REAL;
END_VAR
VAR_OUTPUT
CmdSpeed: REAL;
Alarm: WORD;
END_VAR
VAR
InertiaComp: REAL := 0.0;
END_VAR
BEGIN
// 惯量补偿计算
InertiaComp := Diameter * 0.02;
// 速度指令生成
IF Enable THEN
CmdSpeed := LineSpeed * (1.0 + InertiaComp);
ELSIF JogFwd THEN
CmdSpeed := 5.0; // 点动速度5m/min
ELSIF JogRev THEN
CmdSpeed := -5.0;
ELSE
CmdSpeed := 0.0;
END_IF;
// 报警检测
Alarm := 0;
IF Diameter > 800.0 THEN
Alarm.0 := 1; // 卷径过大报警
END_IF;
END_FUNCTION_BLOCK
5.2 纠偏控制逻辑
采用边缘检测+模糊控制:
- 光电传感器检测材料边缘位置
- 模糊化处理偏差信号
- 根据隶属度函数计算纠偏量
- 输出到纠偏气缸比例阀
6. 地址分配规范
6.1 PLC内存规划
| 区域 | 用途 | 示例地址 |
|---|---|---|
| D0-D199 | 张力参数 | D0=当前张力 |
| D200-D399 | 速度参数 | D200=线速度 |
| M0-M199 | 状态标志 | M0=自动模式 |
| X0-X1F | 急停等安全输入 | X0=急停按钮 |
| Y0-Y0F | 主控输出 | Y0=主接触器 |
6.2 HMI变量链接
code复制HMI标签与PLC地址映射:
[张力设定值] -> D100
[实际张力显示] <- D0
[运行状态] <- M10
7. 调试经验与避坑指南
-
信号干扰问题:
- 张力传感器信号必须采用屏蔽双绞线
- 模拟量信号线要与动力线保持30cm以上距离
- 实测案例:未屏蔽的信号线导致张力波动达±3N
-
动态响应优化:
- 伺服驱动器的刚性参数需要与机械系统匹配
- 建议调整顺序:位置环→速度环→电流环
- 典型参数:速度环增益15-20,积分时间50ms
-
通讯故障排查:
st复制// 以太网通讯状态监测 IF UDINT_TO_INT(GET_ERR(通讯模块地址)) <> 0 THEN Alarm.15 := 1; ResetComm(); // 自动复位通讯 END_IF; -
程序优化技巧:
- 高频扫描的逻辑放在POU开头
- 数学运算尽量使用REAL类型
- 避免在中断程序中使用浮点运算
8. 系统扩展方向
-
智能预测维护:
- 通过电流波形分析轴承状态
- 记录电机负载变化趋势
- 提前预警机械磨损
-
云端数据对接:
- 采用MQTT协议上传运行数据
- 三菱PLC可通过SLMP协议转换
- 典型数据点:产量、故障记录、能耗
-
视觉检测集成:
- 通过Ethernet/IP连接工业相机
- 缺陷检测算法结果反馈给PLC
- 实现自动分切不良品
这套系统经过三个月的生产验证,涂布均匀性提升40%,废品率从3%降至0.5%。最让我自豪的是张力控制模块的稳定性——连续运行30天无需人工干预。如果你也在做类似项目,建议重点关注动态PID的参数自整定功能,这是保证长期稳定运行的关键。