1. 项目概述:养殖场自动化测控系统设计
这个项目是我去年为本地一家中型蛋鸡养殖场设计的自动化环境控制系统。养殖场老板老张找到我时,正面临着一个典型难题:鸡舍的温湿度、通风和喂料完全依赖人工管理,不仅效率低下,夜间还经常出现温度骤降导致鸡群生病的情况。
整套系统采用西门子S7-200 SMART PLC作为下位机,配合组态王6.55开发上位机监控界面。系统架构上分为三个层级:
- 现场层:部署温湿度传感器、氨气检测模块、光照度探头等
- 控制层:S7-200 PLC通过继电器输出控制风机、加热器、喂料机等执行机构
- 监控层:组态王实现数据可视化、报警记录和远程控制
特别说明:选择S7-200系列主要考虑其性价比优势,对于中小型养殖场而言,CPU 224XP自带的两路模拟量输入和两路输出完全满足需求,无需额外扩展模块。
2. 系统硬件设计与接线规范
2.1 传感器选型与信号调理
养殖环境监测需要特别注意传感器的防护等级和抗干扰能力。经过实地测试,最终选型方案如下:
| 监测参数 | 传感器型号 | 信号类型 | 量程范围 | 安装要点 |
|---|---|---|---|---|
| 温度 | PT100三线制 | 4-20mA | -20~60℃ | 避免直接接触养殖设备 |
| 湿度 | HS1101LF | 0-10V | 0-100%RH | 远离水雾直喷位置 |
| 氨气浓度 | MQ137电化学 | RS485 | 0-100ppm | 距地面1.5米高度 |
| 光照强度 | BH1750数字式 | I2C | 0-65535lux | 避开灯具直射 |
传感器接线时需要特别注意:
- 模拟量信号必须采用屏蔽双绞线,屏蔽层单端接地
- RS485总线采用手拉手拓扑,末端接入120Ω终端电阻
- 动力电缆(如风机控制线)与信号线分开走线槽,交叉时保持直角
2.2 PLC端口分配与电气图纸
S7-200 CPU 224XP的I/O分配经过多次优化,最终配置方案如下:
数字量输入:
- I0.0-I0.7:8路急停按钮(各分区独立)
- I1.0:喂料机料位报警
- I1.1:水箱低水位检测
- I1.2:备用
数字量输出:
- Q0.0-Q0.3:4台轴流风机控制
- Q0.4:加热管接触器
- Q0.5:喂料电机启停
- Q0.6:报警指示灯
- Q0.7:备用
模拟量接口:
- AIW0:温度信号(4-20mA)
- AIW2:湿度信号(0-10V)
- AQW0:变频器调速(0-10V)
关键经验:输出端必须加装中间继电器隔离,特别是控制加热管等大功率设备时,我选用欧姆龙MY4N系列继电器配合RC吸收回路,有效避免了触点烧蚀。
3. 梯形图程序设计要点
3.1 环境参数PID控制逻辑
温度控制采用增量式PID算法,在S7-200中通过定时中断实现。核心程序段如下:
code复制Network 1 // 温度PID计算
LD SM0.0
MOVR VD100, VD200 // 当前温度值
MOVR VD104, VD204 // 设定温度值
-R VD204, VD200 // 计算偏差e(t)
MOVR VD200, VD208 // e(t)暂存
Network 2 // 比例项计算
MOVR VD112, VD212 // Kp系数
*R VD208, VD212 // P=Kp*e(t)
Network 3 // 积分项计算
MOVR VD116, VD216 // Ki系数
*R VD208, VD216
+R VD216, VD220 // I=ΣKi*e(t)
MOVR VD220, VD224 // 积分限幅处理
实际调试中发现几个关键点:
- 采样周期设置为5秒效果最佳,过短会导致风机频繁启停
- 冬季和夏季需要不同的PID参数,通过组态王界面可切换
- 死区设定为±0.5℃,避免执行机构动作过于频繁
3.2 喂料机控制策略
采用时间+料位双条件控制模式:
- 每天6:00、12:00、18:00定时启动
- 运行过程中若料位开关动作则立即停止
- 每次运行最长不超过5分钟(防堵转保护)
对应的梯形图使用TON定时器配合RS触发器实现:
code复制Network 4 // 喂料定时控制
LD SM0.5 // 1Hz时钟脉冲
TON T37, 300 // 5分钟定时器
Network 5
LD I1.0 // 料位报警
S Q0.5, 1 // 启动喂料机
Network 6
LD T37
R Q0.5, 1 // 超时停止
4. 组态王监控系统开发
4.1 实时数据看板设计
主监控界面包含三个功能区域:
- 环境参数仪表盘:环形百分比显示温湿度,柱状图显示氨气浓度
- 设备状态指示灯:风机、加热器等设备的实时运行状态
- 趋势曲线区:可自由组合显示各参数的历史曲线
数据刷新策略采用变化上传+定时补发机制:
- 模拟量变化超过量程1%时立即上传
- 数字量状态变化时立即上传
- 每5分钟强制上传所有数据
4.2 报警管理配置
报警分为三个级别处理:
- 一级报警(红色):氨气>30ppm,立即短信通知
- 二级报警(黄色):温度超限,声光报警
- 三级报警(蓝色):设备故障,仅记录
报警记录采用循环存储方式,保留最近1000条记录。关键配置语句:
vbs复制Sub Alarm_Process()
If AI3 > 30 Then
SendSMS "138xxxxxx", "氨气超标警告!当前值:" & AI3
PlaySound "alarm_high.wav", 1
End If
End Sub
5. 系统调试与优化经验
5.1 电磁干扰处理方案
现场调试时遇到最棘手的问题是模拟量信号波动,通过以下措施解决:
- 所有模拟量信号线更换为双层屏蔽电缆
- 在PLC输入端并联0.1μF瓷片电容
- 传感器供电改用隔离型DC-DC模块
- 软件端增加滑动平均滤波算法
5.2 养殖特殊需求应对
根据实际养殖经验增加的特色功能:
- 凌晨3-5点自动提高温度1.5℃(预防鸡群冷应激)
- 喂料后30分钟自动增加通风量(降低粉尘浓度)
- 雨季自动提高湿度设定值5%(补偿环境湿度)
6. 系统扩展与升级建议
现有系统可进一步扩展的方向:
- 增加手机APP监控(通过组态王的Web发布功能)
- 引入饲料消耗统计功能(需加装称重模块)
- 对接养殖管理系统(如用VB开发数据导出接口)
- 部署备用PLC(采用主从热备模式)
在最近一次回访中,老张反馈系统运行8个月来,鸡群发病率降低60%,饲料转化率提高15%,预计两年内可收回全部改造成本。这个项目给我的最大启示是:工业自动化技术在农业领域的应用,关键不在于技术的先进性,而在于对行业特殊需求的深度理解和适配。