1. 项目概述与系统架构
最近完成了一套全欧姆龙方案的涂布机控制系统开发,主控制器采用NJ501-1400型号PLC,整套系统基于EtherCAT总线架构,实现了从运动控制到过程监控的全集成解决方案。与常见配置不同,这套系统刻意省去了触摸屏,所有操作通过硬件按钮和状态指示灯完成,这种"裸机"式设计对程序架构提出了更高要求。
系统硬件组成如下:
| 组件类型 | 具体型号 | 功能说明 |
|---|---|---|
| 主控制器 | NJ501-1400 | 系统核心,运行控制算法 |
| 通信耦合器 | NX-ECC201 | EtherCAT总线主站 |
| 远程IO模块 | NXID5342/NX-OD5121 | 数字量输入输出 |
| 模拟量模块 | AD3603/DA2603 | 4-20mA信号处理 |
| 主机扩展模块 | CJ1W-AD081/CJ1W-DA08V | 高精度模拟量处理 |
| 伺服驱动系统 | R88D系列 | 全系列伺服电机驱动 |
这套架构的最大特点是所有组件都采用欧姆龙产品,在Sysmac Studio开发环境下可以实现无缝集成。总线拓扑采用典型的线型结构,通信周期设置为2ms,实测抖动时间小于100μs,完全满足高精度同步控制需求。
2. 核心控制算法实现
2.1 动态卷径计算模型
卷径计算是涂布机控制的核心算法之一,直接影响材料线速度和张力的控制精度。我们开发的功能块包含以下关键处理逻辑:
- 基础计算原理:
- 初始卷径:D0 = 材料芯轴直径(通常150mm)
- 每层厚度:δ = 材料厚度 + 间隙系数(考虑材料蓬松度)
- 当前层数:n = (当前周长 - πD0)/(πδ)
实际代码实现中增加了以下补偿因素:
- 材料压缩系数(针对不同柔软度材料)
- 层间滑动补偿(防止层间错位导致的误差)
- 温度膨胀系数(环境温度变化影响)
structured_text复制FUNCTION_BLOCK FB_DiameterCalculator
VAR_INPUT
encoderCount : UDINT; //编码器累计脉冲
pulsePerRev : UINT := 10000; //每转脉冲数
coreDia : REAL := 0.15; //芯轴直径(m)
materialThick : REAL := 0.0002; //材料厚度(m)
END_VAR
VAR_OUTPUT
actualDia : REAL; //计算直径(m)
END_VAR
VAR
totalRev : REAL;
compFactor : REAL := 1.02; //压缩补偿系数
END_VAR
totalRev := encoderCount / pulsePerRev;
actualDia := coreDia + (materialThick * totalRev * compFactor * 2);
实际调试中发现,当收卷速度超过30m/min时,需将compFactor从固定值改为速度的函数,否则会出现直径计算滞后现象。
2.2 张力控制PID优化
张力控制采用压力传感器+伺服转矩控制的混合方案,PID算法经过特殊优化:
-
信号处理流程:
- AD3603模块采集4-20mA张力信号
- 进行FIR滤波(截止频率10Hz)
- 量程转换(16位AD值转工程单位)
- 死区处理(±0.5%量程不调节)
-
变参数PID实现:
structured_text复制// 根据速度区间选择PID参数
IF speed < 10 THEN
PID.SetTuning(0.8, 20.0, 0.05); //低速参数
ELSIF speed < 30 THEN
PID.SetTuning(1.2, 15.0, 0.1); //中速参数
ELSE
PID.SetTuning(1.5, 10.0, 0.15); //高速参数
END_IF
- 前馈补偿:
增加卷径变化率前馈项,提前补偿惯性力矩变化:code复制feedForward = inertia * (dDia/dt) * speed; output = PID.output + feedForward;
3. 运动控制实现细节
3.1 电子齿轮同步控制
主轴与从轴采用电子齿轮同步,关键实现要点:
-
速比动态计算:
structured_text复制// 收卷轴速比计算 gearRatio := (mainSpeed * PI * mainDia) / (rewindSpeed * PI * rewindDia); // 凸轮表动态加载 MC_CamTableSelect(camTable:=speedDependTable[speedLevel]); -
同步模式切换:
在收放卷切换时采用"预同步→相位锁定→完全同步"三步切换法,避免速度突变:步骤 控制模式 过渡时间 精度要求 1 速度跟随 100ms ±5% 2 相位粗同步 200ms ±1° 3 全闭环同步 50ms ±0.1°
3.2 虚轴控制技术
虚轴作为系统的主基准轴,实现要点:
-
虚轴配置参数:
- 每转脉冲数:10,000
- 最大速度:3000rpm
- 加减速时间:100ms
-
从轴耦合指令:
structured_text复制MC_GearIn( Master:=VirtualAxis, Slave:=RewindAxis, RatioNumerator:=gearNum, RatioDenominator:=gearDen, Acceleration:=accelRate, Deceleration:=decelRate); -
动态补偿机制:
- 负载惯量自适应
- 摩擦补偿
- 反向间隙补偿
4. 系统调试经验总结
4.1 EtherCAT总线优化
-
分布式时钟配置:
- 主站时钟同步周期:1ms
- 从站时钟偏移补偿:自动校准
- 同步抖动控制:<500ns
-
PDO映射优化:
xml复制<SyncManager> <Sm Index="0" Dir="Output"> <Pdo Index="1600"> <Entry Index="6040" SubIndex="00" BitLen="16"/> <!-- 控制字 --> <Entry Index="607A" SubIndex="00" BitLen="32"/> <!-- 目标位置 --> </Pdo> </Sm> </SyncManager>
4.2 常见故障处理
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 伺服偶尔过载 | 加速度设置过大 | 调整加速度斜坡时间 |
| 张力波动大 | PID参数不适配当前速度 | 启用变参数PID |
| 总线通信中断 | 终端电阻未配置 | 在末端节点添加120Ω终端电阻 |
| 卷径计算误差累积 | 材料厚度参数不准确 | 增加自动厚度校准功能 |
| 模式切换时材料断裂 | 同步过渡时间不足 | 采用三步切换法 |
4.3 程序架构建议
-
模块化设计:
- 将卷径计算、张力控制等封装为独立功能块
- 使用面向对象编程思想
-
状态机实现:
structured_text复制CASE machineState OF STATE_IDLE: // 待机处理 STATE_RUNNING: // 运行处理 STATE_FAULT: // 故障处理 END_CASE -
安全策略:
- 急停独立回路
- 关键信号硬件互锁
- 软件看门狗
这套全欧姆龙涂布机控制系统经过半年实际运行验证,生产速度达到50m/min,张力控制精度±1.5N,卷径误差<0.3mm。相比传统方案,总线式架构节省了30%的接线工作量,系统响应速度提升40%以上。对于需要高精度控制的涂布应用,这种全集成方案值得推荐。