1. 项目背景与核心需求
在新能源电池正极材料的生产过程中,双行星动力搅拌桨混合机是整个工艺的核心设备。与传统搅拌设备相比,这种特殊结构的混合机需要同时控制六个运动轴:两个行星轮公转轴、两个搅拌桨自转轴、一个分散轴以及一个升降轴。我们采用西门子S7-1200 PLC实现了这个复杂系统的精准控制,其中最具挑战的是行星轮系搅拌轨迹的实时算法处理。
这套系统的核心控制需求包括:
- 12种原料的自动称重配料
- 多轴联动的运动轨迹控制
- 工艺参数的实时动态调整
- 生产能耗的精确监测
- 设备状态的智能预警
2. 硬件架构设计
2.1 主要硬件配置
- 控制核心:西门子S7-1215C DC/DC/DC PLC
- 选型理由:支持PROFINET和PROFIBUS双协议,内置4路高速计数器
- 人机界面:西门子KTP1200 Basic触摸屏
- 7寸屏满足参数监控需求,集成配方存储功能
- 驱动系统:丹佛斯FC302系列变频器(5.5kW)
- 支持DP通讯,内置振动抑制算法
- 传感系统:
- 梅特勒-托利多称重传感器(0-500kg,精度±0.1%)
- E+H压力变送器(0-10bar,4-20mA输出)
- 图尔克液位开关(PNP输出)
2.2 关键硬件接口
plaintext复制AI模块:SM1231(8路模拟量输入)
通道1-2:称重传感器信号
通道3:压力变送器
通道4:温度传感器
AQ模块:SM1232(4路模拟量输出)
通道1:变频器1速度给定
通道2:变频器2速度给定
PROFIBUS-DP:
站号3:电能表
站号4:变频器1
站号5:变频器2
3. 控制系统软件设计
3.1 编程环境配置
使用TIA Portal V14进行开发,关键软件配置:
- 添加"PID_Compact"工艺对象用于温度控制
- 配置3个高速计数器(HSC)用于位置反馈
- 建立PROFIBUS-DP主站通讯
- 创建UDT数据类型管理配方参数
3.2 核心程序结构
pascal复制// OB1主程序结构
NETWORK 1: 系统初始化
CALL "初始化子程序"
NETWORK 2: 配方处理
IF "配方切换请求" THEN
CALL "FB300_配方管理"
NETWORK 3: 运动控制
CALL "FC204_多轴联动"
NETWORK 4: 安全监控
CALL "FC205_故障诊断"
4. 关键技术实现细节
4.1 多轴联动控制算法
行星轮系运动需要解算复合运动轨迹,我们采用矢量叠加算法:
pascal复制// 计算行星轮位置
#公转角度 := HSC1.CV * 360 / 2000; // 编码器2000PPR
#自转角度 := #公转角度 * 传动比;
"搅拌桨1_X" := #中心距 * SIN(#公转角度) + #偏心距 * SIN(#自转角度);
"搅拌桨1_Y" := #中心距 * COS(#公转角度) + #偏心距 * COS(#自转角度);
4.2 模拟量信号处理
称重信号处理采用移动平均滤波:
pascal复制// FC105滤波功能块
#RawValue := NORM_X(MIN := 0.0, MAX := 27648.0, VALUE := "AI输入");
#Filtered := (#RawValue + #Last1 + #Last2) / 3;
#Last2 := #Last1;
#Last1 := #RawValue;
4.3 PROFIBUS通讯优化
针对丹佛斯变频器的特殊协议处理:
pascal复制// 数据读取程序
IF "通讯使能" THEN
DPRD_DAT(REQ := TRUE,
ID := W#16#3,
RECORD := "变频器1".读数据区,
RET_VAL := #状态字);
// 跳过前导字节
"实际电流" := WORD_TO_INT(SHIFT_LEFT(IN := "读数据区".电流值, N := 8));
END_IF;
5. 配方管理系统实现
5.1 数据结构设计
pascal复制TYPE "UDT_Recipe" :
STRUCT
速度设定 : REAL;
温度设定 : REAL;
搅拌时间 : TIME;
分散速度 : INT;
END_STRUCT;
5.2 配方切换逻辑
pascal复制// FB300功能块
IF "切换请求" THEN
// 锁定运行参数区
"参数锁定" := TRUE;
// 异步数据复制
CALL "BLKMOV"
SRCBLK := "配方DB".Recipes["选择编号"],
DSTBLK := "运行参数",
LEN := SIZEOF("UDT_Recipe");
// 更新指针
"当前配方" := "选择编号";
"参数锁定" := FALSE;
END_IF;
6. 故障预警系统
6.1 电流波动分析
pascal复制// 计算移动标准差
FOR #i := 0 TO 99 DO
#平方和 := #平方和 + POWER("电流数组"[#i] - #平均值, 2);
END_FOR;
#标准差 := SQRT(#平方和 / 100);
// 预警触发
IF #标准差 > "设定阈值" THEN
"轴承预警" := TRUE;
"预警代码" := 16#1001;
END_IF;
6.2 温度梯度监控
pascal复制// 计算温度变化率
#梯度 := ("当前温度" - "上次温度") / ("采样间隔" / 1000);
IF ABS(#梯度) > 0.5 THEN // ℃/s
"加热异常" := TRUE;
END_IF;
7. 调试经验与优化技巧
7.1 振动抑制方案
- 变频器加速度设为8.7秒/全速
- 机械谐振频率测试值为23.5Hz
- 速度环比例增益设为0.8,积分时间300ms
7.2 信号处理要点
- 称重信号需加0.5秒滤波
- 压力信号采用中值滤波
- 编码器信号启用四倍频
7.3 通讯优化措施
- PROFIBUS波特率设为1.5Mbps
- 变频器轮询周期设为200ms
- 电能表数据块读取超时设为500ms
8. 系统性能指标
经过优化调试,系统达到以下性能:
- 配料精度:±0.2%
- 温度控制:±0.3℃
- 配方切换:0.8秒
- 故障预警:提前36小时
- 产能:8吨/天(连续运行)
这套系统目前已在某新能源正极材料生产线稳定运行18个月,设备综合效率(OEE)达到92%,相比进口设备节省成本40%。最关键的创新点是实现了行星轮系运动的实时轨迹解算和基于电流分析的智能预警功能。