1. 项目概述
在新能源电池原材料生产线上,物料输送的精准控制直接关系到产品质量和生产效率。最近我在江西某锂电材料厂实施了一套基于西门子PLC的输送线控制系统,核心挑战在于实现托利多称重仪表的高精度数据采集,并将称重数据与输送带速度控制形成闭环。这套系统采用了RS485通讯和模拟量控制的混合架构,在工业现场这种组合就像让两个性格迥异的人合作干活,稍有不慎就会引发各种"打架"问题。
系统硬件配置如下:
- 控制器:西门子S7-1200 PLC(6ES7 214-1AG40-0XB0)
- HMI:昆仑通态TP7062Ti触摸屏
- 称重单元:托利多IND560称重仪表(分度值0.1kg)
- 传动部分:西门子G120变频器+三相异步电机
这个方案特别适合需要连续定量给料的场景,比如锂电池正负极材料、电解液原料等粉体或液体的输送控制。系统设计目标是将称重误差控制在±0.3%以内,同时保证在工业电磁干扰环境下稳定运行。
2. 硬件架构设计
2.1 通讯网络拓扑
RS485网络采用总线型拓扑结构,终端设备包括:
- PLC端口(CM1241 RS485模块)
- 托利多称重仪表
- 备用接口(预留扩展)
关键配置参数:
- 波特率:19200bps(经实测平衡传输速率与抗干扰性)
- 数据位:8位
- 停止位:1位
- 校验方式:偶校验
- 终端电阻:120Ω(两端各一个)
注意:终端电阻必须且只能在总线两端设备上启用,中间设备需禁用终端电阻功能。我们曾因所有设备都启用终端电阻导致信号反射严重,通讯成功率不足50%。
2.2 模拟量信号处理
系统使用两路模拟量信号:
- 称重备用信号(4-20mA)
- 变频器速度反馈(0-10V)
模拟量模块选用SM1231(6ES7 231-4HD32-0XB0),关键配置:
- 测量类型:电流(0-20mA)
- 滤波等级:50Hz工频抑制
- 开路检测:启用
3. 核心控制逻辑实现
3.1 Modbus RTU通讯配置
在TIA Portal中配置Modbus主站模块参数:
pascal复制// Modbus主站初始化
"MB_MASTER".MB_ADDR := 16#01; // 仪表站号
"MB_MASTER".BAUD := 19200;
"MB_MASTER".PARITY := 2; // 偶校验
"MB_MASTER".MODE := 0; // 读模式
"MB_MASTER".DATA_LEN := 2; // 读取2个寄存器
数据读取采用自触发方式,避免使用定时器资源:
pascal复制// OB1循环扫描中的处理逻辑
IF "HMI".AutoMode THEN
"MB_MASTER".REQ := NOT "MB_MASTER".DONE; // 自动触发下一次读取
"MB_MASTER".DATA_ADDR := 40005; // 净重值寄存器地址
END_IF;
3.2 称重数据处理
托利多仪表返回的32位浮点数需要特殊处理:
pascal复制// 将两个16位寄存器组合成32位浮点数
"DB_WeighScale".ActualWeight :=
REAL_TO_DWORD(
MOVE_BLK_DW(
IN1:=DWORD_TO_INT("MB_MASTER".DATA[0]),
IN2:=DWORD_TO_INT("MB_MASTER".DATA[1])
)
);
经验:在数据解析后发现,当仪表过载时会返回特殊值7FFFFFFFh,需要在程序中增加判断逻辑避免系统误动作。
3.3 速度闭环控制
输送带速度根据实时重量动态调整:
pascal复制// 速度控制算法
#Weight_Data := "DB_WeighScale".ActualWeight;
"FeedConveyor".Speed :=
LIMIT(
MIN := 30.0,
MAX := 100.0,
VALUE := (#Weight_Data - 500) * 0.1 + "HMI".SpeedOffset
);
参数说明:
- 500:称重系统皮重(kg)
- 0.1:速度调节系数(%/(kg·min))
- 30.0:最低运行频率(Hz)
- 100.0:最高运行频率(Hz)
4. 抗干扰设计
4.1 模拟量信号处理
采用带死区的量程映射算法:
pascal复制// FC模拟量处理函数
#RawAnalog := "AI_Channel".RAW / 27648.0; // 标准化
IF #RawAnalog < 0.05 THEN
#ProcessValue := 0.0; // 低于5%视为零漂
ELSE
#ProcessValue :=
(#RawAnalog - 0.05) * (100.0 / 0.15); // 量程映射
END_IF;
技术要点:
- 27648是西门子模拟量模块的满量程数字值(对应20mA)
- 有效信号范围压缩在5%-20%之间(实际0.2-1.0V)
- 量程映射公式将0.05-0.2V线性映射到0-100%
4.2 HMI动态滤波
昆仑通态触摸屏采用自适应采样策略:
lua复制-- 重量值滤波脚本
local raw = GetTagValue("ActualWeight")
local filter = GetTagValue("FilterBuffer")
if math.abs(raw - filter) > 50 then
SetTagCycle("WeightSampling", 200) -- 高速采样模式(5ms)
else
SetTagCycle("WeightSampling", 1000) -- 节能模式(1s)
end
FilterBuffer = filter * 0.6 + raw * 0.4 -- 一阶滞后滤波
参数优化经验:
- 波动阈值50kg根据物料特性调整
- 滤波系数0.6/0.4经过现场测试确定
- 采样周期切换设置0.5秒延时防止频繁切换
5. 故障处理机制
5.1 通讯冗余设计
当RS485通讯故障时自动切换至模拟量备用模式:
pascal复制// 通讯故障计数器
IF "MB_MASTER".ERROR <> 0 THEN
"CommFaultCounter" := "CommFaultCounter" + 1;
IF "CommFaultCounter" >=3 THEN
"AnalogBackupMode" := TRUE;
"MB_MASTER".REQ := FALSE; // 停止通讯尝试
"HMI".Alarm := 16#01; // 触发报警
END_IF;
ELSE
"CommFaultCounter" := 0;
END_IF;
切换逻辑注意事项:
- 3次故障判定可避免偶发干扰误判
- 切换后HMI需明确显示运行模式
- 模拟量模式下精度降为±1.5%
5.2 过渡过程优化
针对模式切换时的速度抖动问题,采用斜坡函数平滑处理:
pascal复制// 速度过渡处理
IF "AnalogBackupMode" THEN
#TargetSpeed := "AI_Speed".Value;
ELSE
#TargetSpeed := "DB_WeighScale".CalcSpeed;
END_IF;
"FeedConveyor".ActualSpeed :=
RAMP(
RATE := 10.0, // 变化率(%/s)
IN := #TargetSpeed
);
6. 现场调试记录
6.1 典型问题排查
| 故障现象 | 可能原因 | 解决方案 |
|---|---|---|
| 通讯时断时续 | 终端电阻配置错误 | 确认仅两端设备启用120Ω终端电阻 |
| 称重值跳变 | 接地不良 | 单独敷设仪表接地线,接地电阻<4Ω |
| 模拟量波动 | 信号线干扰 | 改用双绞屏蔽线,屏蔽层单端接地 |
| 模式切换抖动 | 参数突变 | 增加0.5秒过渡延时 |
6.2 性能测试数据
连续72小时运行统计:
- 通讯成功率:100%
- 称重误差:±0.28%
- 速度控制精度:±1.2%
- 故障切换时间:<1.5s
7. 系统优化方向
当前系统在以下方面还有改进空间:
-
模糊控制算法应用
- 针对不同物料特性自动调整控制参数
- 模式切换过程的自适应平滑
-
预测性维护功能
- 电机电流趋势分析
- 称重传感器零点漂移监测
-
能源优化模式
- 根据生产节拍自动调节采样频率
- 空闲时段自动降速运行
这套系统经过三个月的实际运行验证,在江西项目现场实现了超过设计指标的性能表现。最大的收获是验证了混合信号系统在工业现场的可行性方案,为类似项目提供了可靠的技术参考。
