1. 项目概述
这个项目是我去年为一家中型养殖场设计的自动化喂料系统,核心是用西门子S7-200 PLC配合组态王软件实现饲料投喂的全程自动化。当时养殖场老板抱怨人工喂料存在三个痛点:一是喂料时间不固定导致牲畜生长不均,二是饲料浪费严重,三是夜间值班成本高。我们这套系统上线后,饲料利用率提升了23%,人力成本降低了40%,最关键是实现了精准的定时定量投喂。
系统主要由三部分组成:移动式喂料车(带称重传感器和步进电机)、轨道定位装置(采用光电开关+编码器双重校验)、以及中央控制柜(PLC+组态王监控界面)。整个控制逻辑用梯形图编程实现,下面我会详细拆解每个环节的技术实现。
2. 硬件系统设计
2.1 核心器件选型
PLC选型:
选用S7-200 CPU224XP主要考虑三点:
- 自带14DI/10DO正好满足基础需求(8个输入给传感器+急停按钮,6个输出控制电机和报警)
- 集成2路模拟量输入(接称重传感器)和1路模拟量输出(控制变频器)
- 支持PPI通信协议与组态王直接对接
称重模块:
采用HX711称重模块+500kg量程悬臂梁传感器,注意要加装防震橡胶垫。实测发现饲料下落冲击会导致瞬时重量跳变,我们在程序里做了数字滤波(采样10次取中值)。
2.2 电气接线要点
主电路采用三相380V供电,控制电路用24VDC。关键接线包括:
- 光电开关(E3Z-D62)接I0.0~I0.3
- 编码器(OMRON E6B2-CWZ6C)脉冲信号接I0.4/I0.5
- 称重传感器信号接AIW0
- 步进电机驱动器(DM542)脉冲方向信号接Q0.0/Q0.1
- 变频器(三菱FR-D720S)模拟量控制接AQW0
重要提示:所有传感器信号线必须用屏蔽双绞线,且屏蔽层单端接地(接PLC侧的COM端),我们初期因干扰问题导致称重数据漂移严重,后来重新布线才解决。
3. 梯形图程序设计
3.1 运动控制逻辑
喂料车行走采用相对定位控制,核心程序段如下:
code复制Network 1: 位置初始化
LD SM0.1 // 首次扫描
MOVW 0, VD100 // 清空当前位置寄存器
Network 2: 编码器计数
LD I0.4 // 编码器A相
EU // 上升沿触发
CTUD C0, +1, 0 // 双向计数器
MOVW C0, VD100 // 实时更新位置值
Network 3: 定位控制
LDW>= VD100, VW200 // 比较当前位置与目标值
R Q0.0, 1 // 到达位置停止脉冲
3.2 称重补偿算法
饲料密度波动会导致相同体积下重量不同,我们采用动态补偿算法:
- 首次运行时记录空载重量W0和满载重量W1
- 每次投喂时计算:
目标投喂量 = (W1-W0)×设定百分比 + 补偿值
补偿值根据上次实际投喂偏差自动调整(存储在VD300中)
关键程序实现:
code复制Network 4: 重量补偿计算
LD M0.0 // 补偿使能位
ITD VW10, VD200 // 转换设定百分比为双整数
DTR VD200, VD200// 转浮点数
MOVR VD40, VD204 // 取满载差值(W1-W0)
*R VD200, VD204// 计算基准值
+R VD300, VD204// 加上补偿值
TRUNC VD204, VW30 // 取整作为最终目标值
4. 组态王监控界面
4.1 画面组态要点
-
实时监控页:
- 用动画控件显示喂料车移动轨迹
- 数字量显示各传感器状态(颜色区分正常/报警)
- 趋势图显示最近24次投喂重量记录
-
参数设置页:
- 投喂时间表(支持每天6个时段独立设置)
- 饲料配方选择(不同生长阶段对应不同投喂量)
- 手动调试面板(可单独控制各执行机构)
4.2 通信配置关键
在组态王中建立S7-200连接时要注意:
- 设置PPI站地址(必须与PLC波特率一致,默认9600bps)
- 变量寄存器映射关系:
- V区数据用V存储区地址直接访问
- I/O点需通过IB/QB地址访问
- 重要数据(如累计投喂量)建议设置定时存盘(我们设为每30分钟存一次)
5. 调试问题实录
5.1 典型故障排查
问题1:喂料车到终点不停
- 检查步骤:
- 用状态表监控I0.4脉冲信号是否正常
- 检查VD100当前值是否随移动变化
- 确认VW200目标值是否被意外修改
- 最终发现:编码器电缆被老鼠咬破导致丢脉冲
问题2:组态王数据显示滞后
- 解决方法:
- 将数据采集周期从默认1s改为200ms
- 关闭不必要的背景画面
- 对关键变量设置"变化时上传"属性
5.2 可靠性优化措施
- 在轨道两端加装机械限位开关(硬线串联到急停回路)
- PLC程序加入看门狗复位逻辑(每周期复位定时器T32)
- 称重系统增加零点自动校准功能(每天凌晨3点执行)
- 关键参数设置三级密码保护(操作员/技术员/管理员)
这套系统连续运行8个月后,客户反馈最实用的三个功能:
- 手机端远程查看投喂记录(通过组态王Web发布功能)
- 暴雨模式自动暂停户外投喂(结合气象API实现)
- 饲料余量预警(当仓内剩余量低于10%时触发报警)
最近正在升级2.0版本,主要改进是增加AI视觉识别牲畜进食状态来动态调整投喂策略。PLC程序最大的优势就是稳定可靠,这个项目再次证明:在工业现场,经过充分测试的梯形图程序比高级语言更值得信赖。