1. 全自动卷绕机控制系统概述
在工业自动化领域,卷绕机是薄膜、纸张、线缆等连续材料生产加工中的关键设备。作为一名长期奋战在自动化一线的工程师,我深刻体会到一套稳定可靠的控制系统对生产效率的决定性影响。基于欧姆龙NX/NJ系列PLC和威纶通HMI构建的全自动卷绕机控制系统,通过ST语言编程实现了张力控制、电子凸轮、放卷纠偏等核心功能,在实际生产中展现出卓越的性能和稳定性。
这套系统的核心优势在于其模块化设计思想。我们将整个控制流程分解为几个相对独立又紧密配合的功能模块:主传动控制模块负责基础速度调节;张力控制模块确保材料在加工过程中受力均匀;电子凸轮模块实现复杂的非线性运动轨迹;纠偏模块保证材料边缘位置精确。每个模块都可以单独调试和优化,最后通过精心设计的接口协议实现无缝协同工作。
2. 开发环境与工具链配置
2.1 硬件平台选型
在硬件选型方面,我们选择了欧姆龙NX1P2系列PLC作为主控制器,其特点包括:
- 双核CPU(1.2GHz+400MHz)确保复杂控制算法的实时性
- 最多可扩展至30个运动控制轴
- 内置EtherCAT总线,最小循环周期可达250μs
- 支持ST、LD、FBD等多种编程语言混合使用
运动控制部分采用NJ系列伺服驱动器搭配1FK7系列伺服电机,关键参数如下:
- 额定转矩:5-20Nm(根据工位选择)
- 编码器分辨率:20位(1,048,576脉冲/转)
- 速度环响应频宽:≥1.2kHz
- 支持全闭环控制(外接直线光栅尺)
2.2 软件环境搭建
开发环境使用欧姆龙Sysmac Studio 1.5及以上版本,其特色功能包括:
- 集成化的工程管理界面
- 强大的在线调试工具(如Trace功能)
- 完善的版本控制系统
- 直观的凸轮表编辑器
HMI采用威纶通cMT系列触摸屏,主要考虑因素:
- 10.1英寸高亮度工业级显示屏
- 支持多语言切换(中/英/日等)
- 内置宏指令功能
- 通过FINS协议与PLC高效通信
3. 核心控制算法实现
3.1 张力闭环控制策略
张力控制是卷绕机的灵魂所在,我们采用"PID+前馈"的复合控制策略。核心算法在ST语言中的实现如下:
st复制// 张力控制主程序
IF Axis_Active THEN
// 读取实际张力值(4-20mA模拟量输入)
Actual_Tension := AD_Read(张力传感器通道) * 量程系数 + 零点偏移;
// PID运算(带抗积分饱和处理)
Torque_Output := PID_Calc(Set_Tension, Actual_Tension, Kp, Ki, Kd);
// 速度前馈补偿
FeedForward := 机械惯量 * 加速度设定值;
Total_Torque := Torque_Output + FeedForward;
// 转矩输出限制
Total_Torque := LIMIT(Total_Torque, -Max_Torque, Max_Torque);
MC_SetTorque(卷绕轴, Total_Torque);
// 张力超差报警
IF ABS(Actual_Tension - Set_Tension) > 允许偏差 THEN
Alarm_Trigger(张力超差警报);
END_IF;
END_IF;
实际调试中发现几个关键点:
- PID参数需要根据材料特性动态调整,我们建立了材料参数数据库:
st复制CASE Material_Type OF 1: // PET薄膜 Kp := 2.5; Ki := 0.05; Kd := 1.2; 2: // 铜箔 Kp := 3.8; Ki := 0.03; Kd := 2.0; ... END_CASE; - 采样周期设置很重要,通常取控制系统机械时间常数的1/5~1/10
- 必须考虑传感器的滤波时间常数,避免相位滞后
3.2 电子凸轮实现非对称收卷
对于特殊工艺要求的非对称收卷,我们采用电子凸轮技术实现主从轴的非线性同步。具体实现步骤:
-
凸轮表定义(以收卷直径递增为例):
st复制// 凸轮表初始化 CamTable[0].MasterPos := 0; // 主轴位置 CamTable[0].SlavePos := 0; // 从轴位置 CamTable[1].MasterPos := 1000; CamTable[1].SlavePos := 1200; // 从轴多走20% ... -
凸轮表激活:
st复制MC_CamTableSelect(收卷轴, CamTable); MC_CamIn(收卷轴, 主编码器轴);
实际应用中的经验技巧:
- 凸轮点数优化:根据运动曲线复杂度选择关键点,通常8-16个点足够
- 采用S曲线加减速避免机械冲击
- 同步误差补偿算法:
st复制
实际从轴位置 = 理论位置 + 误差补偿值 * sin(当前角度)
3.3 高速纠偏控制实现
放卷纠偏系统采用中断触发方式实现毫秒级响应:
st复制// 边缘检测中断程序
INTERRUPT ON_DETECT 优先级1:
Current_Edge := Get_EdgePosition(); // 读取光电传感器值
Offset_Calc := (Current_Edge - Set_Position) * 校准系数;
// 死区滤波处理
IF ABS(Offset_Calc) > 死区阈值 THEN
// 预测算法补偿机械延迟
Predict_Offset := Offset_Calc + 微分补偿 * 速度反馈;
MC_MoveRelative(纠偏轴, Predict_Offset, 紧急模式速度);
END_IF;
END_INTERRUPT;
调试要点:
- 传感器安装位置要确保1ms以内的响应时间
- 采用自适应滤波算法消除材料抖动影响
- 纠偏执行机构需定期校准零点
4. HMI交互设计实践
4.1 威纶通触摸屏开发技巧
我们设计的HMI界面包含以下核心画面:
- 主监控画面:实时显示各轴状态、张力曲线
- 参数设置画面:分级权限管理
- 报警历史画面:带过滤功能
- 维护界面:伺服参数调整、I/O测试
速度同步显示的宏脚本实现:
vb复制'威纶通宏脚本
Sub On_SpeedChange
If 主速度设定值 <> 当前速度 Then
FINS_WRITE DM2100, 主速度设定值
'添加平滑过渡
For i = 当前速度 To 主速度设定值 Step 增量
FINS_WRITE DM2100, i
Delay 50 '50ms间隔
Next
End If
End Sub
4.2 通讯稳定性优化
针对FINS协议通讯的优化措施:
-
心跳包检测机制:
st复制// PLC端心跳发生器 Heartbeat := Heartbeat + 1; IF Heartbeat > 65535 THEN Heartbeat := 0; END_IF; // HMI端检测 IF 上次心跳值 = 当前心跳值 THEN 通讯故障计数 := 通讯故障计数 + 1; ELSE 通讯故障计数 := 0; END_IF; -
数据打包传输:将相关参数放在连续地址块,减少通讯次数
-
重要参数双备份:在DM区和EM区同时存储
5. 现场调试经验实录
5.1 典型问题排查指南
| 故障现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| 张力波动大 | PID参数不当 | 1. 观察波动频率 2. 检查传感器信号 3. 记录阶跃响应 |
调整积分时间 增加滤波常数 |
| 凸轮不同步 | 主从轴速比过大 | 1. 检查凸轮表定义 2. 监控轴位置误差 |
优化凸轮曲线 降低同步速比 |
| 纠偏响应慢 | 中断优先级低 | 1. 测量实际延迟 2. 检查传感器信号 |
提高中断级别 优化检测算法 |
5.2 系统优化建议
-
定期维护事项:
- 每月检查伺服电机编码器连接
- 每季度校准张力传感器零点
- 每半年备份系统参数
-
性能提升技巧:
- 使用欧姆龙的Trace功能捕捉异常时的信号变化
- 开启控制器的在线调谐功能自动优化PID参数
- 对关键变量添加注释说明,方便后续维护
-
扩展功能考虑:
- 添加远程监控接口(需注意网络安全)
- 实现基于视觉的质量检测
- 开发自适应学习算法优化工艺参数
