1. 项目背景与需求分析
"这配料秤怎么又抽风了?"——老李这句抱怨成了我们改造饲料厂控制系统的导火索。作为一家年产10万吨畜禽饲料的中型加工厂,他们的核心痛点集中在配料环节:原有设备使用十年后,玉米粉与豆粕的配比误差经常超过±2%,导致饲料营养成分波动,直接影响畜禽生长性能。
经过现场诊断,我们发现三个关键问题:
- 老式称重变送器存在信号漂移,特别是环境温度变化时尤为明显
- 人工配方输入容易出错,曾有操作员将15%的豆粕比例误输为25%
- 缺乏完善的生产追溯系统,出现质量问题时难以定位原因
基于这些痛点,我们确定了新系统的三大核心需求:
- 精度控制:配料误差需控制在±0.5%以内
- 操作简化:实现配方一键调用与参数自动加载
- 数据追溯:完整记录每批次生产的工艺参数
2. 系统架构设计
2.1 硬件选型与布局
主控单元采用西门子S7-315-2DP PLC,其核心优势在于:
- 支持Profibus-DP总线,最大传输速率12Mbps
- 内置的OB35中断组织块可实现精确的100ms周期控制
- 模块化设计便于后期扩展(当前配置已预留20%的I/O余量)
称重模块选用SIWAREX U,相比传统方案具有三大突破:
- 集成度高:直接插入PLC机架,省去变送器柜安装空间
- 精度提升:内置24位ADC,分辨率达1/500,000
- 维护简便:通过Step7软件即可完成标定,无需专用设备
现场总线采用Profibus-DP网络拓扑:
code复制主站(S7-315) → DP电缆 → 首端ET200M(1#配料仓)
↘ 中继器 → 末端ET200M(6#配料仓)
特别在长距离传输段(超过200米)加装了RS485中继器,实测信号衰减降低72%。
2.3 控制程序设计要点
2.3.1 配料逻辑实现
核心控制代码部署在OB35中断块,确保100ms的精确控制周期。关键程序段解析:
pascal复制// 配料模式选择(连续/批次)
L "配料模式选择"
T #ModeSelect // 将操作面板选择值传送至临时变量
// 目标重量载入
L "目标重量"
T #TargetWeight // 从HMI接收设定值
// 调用PID控制功能块
CALL "PID_FeedControl" , DB10
IN1:=#ActualWeight, // 来自SIWAREX的实时重量
IN2:=#TargetWeight,
OUT=>"螺旋输送机频率" // 输出至变频器
PID参数整定经验:
- 比例带P:根据物料流动性设定(玉米粉取3.0,豆粕取2.5)
- 积分时间I:通常设为5-10秒(防止过冲)
- 微分时间D:一般取0(粉料系统惯性大)
2.3.2 配方管理系统
在DB12中构建配方数据结构:
| 偏移地址 | 数据定义 | 示例值(猪饲料) |
|---|---|---|
| DB12.DBW0 | 配方编号 | 1 |
| DB12.DBW2 | 玉米粉比例(%) | 60 |
| DB12.DBW4 | 豆粕比例(%) | 25 |
| ... | ... | ... |
操作员通过组态王界面选择配方时,实际执行以下操作:
- 将配方编号写入DB12.DBW0
- 触发FC20"配方加载"功能块
- 系统自动计算各原料目标重量并写入对应变量
3. 人机界面开发
3.1 组态王工程配置
采用组态王6.55版本开发,关键界面包括:
- 配料监控主画面:实时显示6个料仓重量、设备状态
- 配方管理界面:支持配方增删改查(当前存储50种配方)
- 报警历史画面:按时间排序显示最近200条报警
动态效果实现代码示例:
javascript复制// 料仓低料位报警逻辑
if (\\本站点\玉米仓重量 < 500) {
FillColor = 红色;
PlaySound("low_material.wav",1); // 触发语音提示
} else {
FillColor = 浅绿梯度填充; // 正常状态渐变显示
}
3.2 实用功能开发
数据记录功能:
- 每30分钟自动生成包含以下字段的CSV文件:
code复制时间戳,配方号,原料1实际值,原料1目标值,...,操作员ID - 文件命名规则:YYYYMMDD_HHMMSS_批次号.csv
- 存储路径:D:\ProductionData\(自动按月份分文件夹)
通讯诊断方案:
在PLC侧建立心跳检测机制:
pascal复制// OB1循环执行的代码
L DB5.DBW20
INC 1
T DB5.DBW20 // 心跳计数器自增
组态王侧通过脚本检测:
javascript复制var lastValue = GetTagValue("Heartbeat");
var currentValue = GetTagValue("Heartbeat");
if(currentValue == lastValue) {
if(++timeoutCount > 2) { // 10秒未更新
Alarm("PLC通讯中断!");
}
}
4. 调试经验与优化
4.1 典型故障处理
案例1:气动阀响应延迟
- 现象:石粉配料频繁超差
- 排查:通过趋势图发现下料曲线存在0.5-1秒延迟
- 解决方案:
- 在PLC程序增加压力检测连锁
pascal复制A "石粉气动阀开启信号" AN "气路压力正常" // 新增压力开关检测 = "报警触发器"- 将电磁阀更换为响应时间<50ms的高速型号
案例2:称重信号干扰
- 现象:SIWAREX读数偶尔跳变
- 处理:
- 检查接地电阻(要求<4Ω)
- 在模拟量输入端加装信号隔离器
- 修改PLC程序增加数字滤波(FB101功能块)
4.2 操作优化措施
针对中老年操作员特别设计:
- 视觉优化:
- 按钮尺寸放大至80×80像素
- 关键数据采用28号加粗字体
- 听觉辅助:
- 重要操作配置语音确认("配方已保存")
- 报警时自动播报"3号仓缺料"
- 防错机制:
- 参数修改需二次确认
- 超出合理范围的值自动标红
5. 系统运行效果
经过三个月试运行,关键指标达成情况:
| 指标项 | 改造前 | 改造后 | 提升幅度 |
|---|---|---|---|
| 配料误差 | ±2% | ±0.3% | 85% |
| 换产时间 | 15分钟 | 3分钟 | 80% |
| 质量投诉率 | 5次/月 | 0.3次/月 | 94% |
特别在能耗方面,通过精确控制下料速度,螺旋输送机平均运行频率从45Hz降至35Hz,年节电量约12,000度。
这套系统的成功之处在于:
- 硬件层面:SIWAREX U模块的直连方案减少了信号转换环节
- 软件层面:中断驱动的控制架构确保了时序精确性
- 人机交互:充分考虑操作人员的实际使用习惯
最近正在评估迁移到WinCC Flexible的可能性,主要是看中其更强的移动端支持功能。不过组态王6.55版本目前仍能完美满足需求,这个升级计划可能要再观察一段时间。