ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

PLC自动饲喂系统设计:从硬件选型到梯形图调试全解析

PLC自动饲喂系统设计:从硬件选型到梯形图调试全解析 1. 项目概述与设计思路拆解1.1 为什么是PLC方案而不是单片机或继电器做自动饲喂系统之前我先把市面上几种方案摸了一遍底。单片机方案看起来成本低、市面上也有不少成品但真正在养殖现场用过就会明白单片机的抗干扰能力、长期运行稳定性和后续维护便利性都不太合适。养殖场里变频器、电机、电磁阀一大堆启动瞬间的电压跌落和电磁干扰非常严重单片机系统在这种环境下经常出现程序跑飞、IO口误触发的问题排查起来还费劲。传统继电器控制就更不用说了一个稍具规模的饲喂站要处理料位检测、定量称重、顺序下料、搅拌时间控制、异常报警这些逻辑继电器柜里能装一面墙接线复杂到后期自己都想不起来哪根线是干什么的。PLC方案在这三个选项里是最合理的选择。PLC本身就是为工业现场设计的开关量输入输出直接带继电器或者晶体管抗干扰能力强梯形图编程逻辑清楚后期改逻辑不拆线、直接改程序就行。更重要的是自动饲喂系统不是一次性项目后续大概率要加装数据采集、远程监控PLC天生就有RS485、以太网接口扩展能力比单片机方案好太多。这个项目的定位是面向实际养殖场景、可落地复现的完整设计PLC方案在实现难度、可靠性和后续扩展空间上的综合得分是最高的。1.2 系统解决的核心问题这套自动饲喂系统本质上解决的是规模化养殖里三个最让人头疼的问题。第一个是喂料定时定量的问题。养猪场、养鸡场、肉牛场不同生长阶段的动物对饲料量和饲喂时间的要求都不一样人工喂料全看饲养员经验和当天心情同样的猪舍不同栏的猪吃到的量可能差不少。PLC用时间控制加称重反馈把每天的饲喂次数、每次的下料量全部精确到可配置的程度每顿喂多少、几点喂、间隔多久全部由程序控制。第二个问题是减少饲料浪费。散落料、撒料、剩料过多在人工饲喂场景里非常普遍。自动饲喂系统通过称重传感器实时监测下料量到了设定目标量立即停料配合抛料机构的匀料控制能把浪费控制在一个很低的水平。第三个问题是人工成本。一栋存栏500头的育肥舍人工喂料每天至少需要一个工人两小时以上拌料、推车、逐栏投喂劳动强度大且容易漏喂。用自动饲喂系统之后工人只需要定期往料塔加料、每天看一眼触摸屏上的运行报表就行。这个项目做下来比较适合三类人来参考一是自动化或机电相关专业做毕业设计的学生二是养殖场准备做设备升级的负责人三是刚开始接触工控项目、想找一个完整案例练手的PLC工程师。2. 系统整体架构与控制方案设计2.1 系统组成与工作流程整套自动饲喂系统的硬件拓扑可以分成四个层级每一层解决一类问题。最上层是管理层的触摸屏HMI负责参数设定、状态监视、历史报警查询。中间的PLC控制层是整个系统的核心所有控制逻辑、时序调度、故障判断都在这一层处理。再往下是执行层的电机、变频器、电磁阀、气缸负责实际动作。最底层是传感层的料位开关、称重传感器、光电传感器、限位开关把现场的物理量变成PLC能识别的电信号。实际的饲喂流程是这样运作的饲料储存在室外料塔中料塔底部安装螺旋输送机启动后把饲料输送到称重料斗饲料进入称重料斗的同时称重传感器实时检测重量信号当重量达到本次设定的下料量时PLC发出停止信号螺旋输送机停转随后卸料门打开饲料落入搅拌混合仓如果配方要求加水或其他添加剂同时启动注水电磁阀搅拌电机按设定时间运行把干料和水混合均匀最后混合好的湿料通过抛料电机或者输送泵送入各栏位的食槽完成一次完整的饲喂循环。这个流程里每个环节都有传感器信号做反馈确认。螺旋输送机启动前要确认卸料门处于关闭状态卸料时要确认称重料斗内饲料重量达到目标值搅拌时要确认加水量达到设定值抛料时要确认管道畅通任何一个环节的反馈信号异常程序都要立即停下来报警防止二次故障。2.2 PLC选型分析与IO点数估算选PLC型号最重要的依据是IO点数和通信接口需求先把这个算清楚型号选择就有底了。我用一个存栏500头育肥舍、配置8个饲喂栏位的规模来估算。每个栏位需要1个料位传感器输入、1个下料电磁阀或执行机构输出。8个栏位就是8个数字量输入、8个数字量输出。系统公共部分还需要料塔料位空/满信号2个数字量输入、称重传感器1路模拟量输入通过称重变送器转成4-20mA或0-10V、卸料门开/关到位限位2个数字量输入、卸料门控制1个数字量输出、搅拌电机运行反馈1个数字量输入、搅拌电机控制1个数字量输出、注水电磁阀控制1个数字量输出、抛料电机运行反馈1个数字量输入、抛料电机变频器控制1路模拟量输出用于调速、手动/自动模式切换1个数字量输入、运行/停止按钮2个数字量输入、声光报警器1个数字量输出。另外建议预留20%的备用余量。这样统计下来数字量输入大约在16个左右数字量输出大约在12个左右模拟量输入1路、模拟量输出1路。这个规模属于中小型系统市面上主流品牌可选的型号非常宽裕。西门子S7-200 SMART系列选CPU SR30再加一个模拟量扩展模块就能覆盖三菱FX3U系列选FX3U-32MR或者FX3U-32MT加FX3U-4AD模块也行国产信捷、汇川的产品在成本上更有优势XDM系列或H1U系列同样能满足要求。具体选哪个品牌主要看你们单位或者学校的设备兼容情况如果用博途既有习惯就选西门子如果更熟悉GX Works就选三菱。2.3 为什么要在触摸屏上做参数集中管理很多初做PLC项目的人喜欢把所有参数直接硬写在程序里比如下料量、间隔时间这些都是常数。这样做程序写起来确实快但是调试和后期调整非常痛苦。每次改一个下料量都要打开编程软件、改程序、重新下载如果是交付给养殖场使用的项目工人根本不会操作这些。所以在这个设计里所有需要频繁调整的参数全部做成触摸屏上的设定值通过PLC的掉电保持寄存器存储。喂料重量设定、饲喂时间设定、间隔时间、搅拌时间、手动/自动切换、单次循环启停控制这些全部在HMI上完成。PLC程序里所有定时器和比较指令的设定值都不是常数而是来源于寄存器地址。这样调试的时候直接在触摸屏上改数字就能看运行效果用户以后自己调整也不需要工程师到场。另外一个设计细节是触摸屏的权限等级一定要分级。参数设定页面设置成操作员等级只能修改喂料量、饲喂时间这些日常参数系统配置页面设置成工程师等级需要密码才能进入防止现场工人误改PID参数或者通信参数导致系统紊乱。3. 核心硬件配置与选型逻辑3.1 传动机构与电机驱动的选型自动饲喂系统里运动的部件不多但每个部件选型都有讲究。螺旋输送机负责把料塔里的饲料水平输送到提升机构或直接进入称重料斗转速不用太高但扭矩要足够否则容易卡料。常用的是带减速机的三相异步电机功率根据输送距离和提升高度计算。以一个料塔出料、输送距离8米、提升高度3米、输送量每小时2吨的规格来算电机功率选2.2kW左右比较合适。这里要注意的是螺旋输送机不能频繁启停启动瞬间电流很大会缩短电机寿命同时也容易造成饲料在螺旋管内的堆积压实所以控制逻辑里要避免短时间内的频繁启停。搅拌电机是另一个关键部件负责把饲料、水和可能的添加剂搅拌混合均匀。这个环节对控制的要求是启动时要防过载运行中要实时监测电流。饲料混合后阻力会明显增大如果配水比例不对饲料过于黏稠搅拌电机的负载电流会持续上升长时间过载会烧电机。程序设计里需要对搅拌电机的热继电器或者变频器的过载保护参数做合理设定确保异常时能及时跳闸。抛料或送料机构的电机选型要考虑到饲料形态。如果饲喂的是粉状干料用螺旋抛料机或者刮板输送机就行如果饲喂的是液态料或湿拌料需要用螺杆泵或者转子泵这类设备对电机转速有要求一般配合变频器使用通过调整频率控制输送量。我在设计文件里推荐抛料部分使用变频器驱动不仅因为调速方便还因为变频器本身有过流、过载、缺相保护功能能替代一部分热继电器的功能减少柜内元件数量。3.2 传感器选型与安装要点这套系统里最重要的传感器毫无疑问是称重传感器它直接决定定量喂料的精度。选型时主要看量程和精度等级。一个称重料斗设计容量是100公斤选传感器量程时要留出余量一般按1.5倍到2倍选取也就是150公斤到200公斤防止物料冲击瞬间超量程损坏传感器。精度等级选C3级即可满足饲喂精度要求毕竟饲喂量控制精度能到±1公斤对于养殖来说就已经非常理想了。传感器的安装位置和信号接线是现场经验里最容易出问题的地方。称重料斗必须使用传感器专用的人字吊架或者三拉式结构保证料斗受力均匀不能有四角偏差。传感器信号线必须使用屏蔽双绞线而且单端接地屏蔽层接到PLC模拟量模块的接地端子另一端悬空。如果两端都接地屏蔽层会形成地环路反而引入更多干扰。传感器信号线还要和动力电缆分槽敷设间距至少20厘米以上不然变频器的PWM输出会产生很强的电磁干扰串进称重信号里表现为称重数值跳变或者零点漂移这块儿在实际调试中踩过不少坑。料位传感器方面料塔高料位和低料位检测使用阻旋式料位开关最省心机械式检测原理不怕粉尘覆盖价格也不高比电容式、音叉式在粉尘环境下的可靠性都好。3.3 电气柜内布局与接线规范电气柜的布局直接影响系统的抗干扰能力和后期维护便利性这一点很多新手设计方案时不够重视。柜内布局要遵循几个基本分区原则电源区和控制区要分开强电元件和弱电元件要分开变频器要单独布置而且变频器周围要留出足够的散热空间。具体来说柜内从上到下可以布置成三个区域。最上层放置断路器、接触器、热继电器这类动力配电元件中间层放置PLC主机和扩展模块最下层放置开关电源、端子排和继电器。变频器单独安装在柜体的一侧并且要和PLC保持一定间距变频器的进出线使用屏蔽电缆屏蔽层两端接地这个做法能明显减少变频器对PLC模拟量信号的干扰。接线端子排的选择也有讲究动力线用大电流端子信号线用小电流端子两种端子之间用隔板分开。每个端子都要有清晰的线号标识线号管打印的内容和图纸上的编号要完全对应。这些看似琐碎的细节到了现场调试查线的时候能节省大量时间。4. PLC程序设计与核心逻辑实现4.1 程序整体架构与功能划分PLC程序如果全部写在一个OB块里调试到后期基本是灾难。这个项目我推荐按照功能模块化的方式组织程序每个功能独立成子程序或功能块主程序负责调度子程序负责执行。这种结构的好处很直接单独调试某个功能时不影响其他部分一旦别人接手看程序也不需要从头到尾通读直接找到对应的功能块就能理解。参考的程序结构可以划分为以下几个核心模块系统初始化模块负责上电时对输出点做复位、读取掉电保持参数、计数器清零手动控制模块每个设备都有独立的手动启停按钮用于检修和调试自动饲喂主控制模块按顺序执行一次完整的饲喂流程称重定量模块处理称重传感器的模拟量信号经过滤波、标定、比较输出实现定量控制报警处理模块处理电机过载、料位异常、通信故障、急停信号通信模块负责与触摸屏的数据交换、与变频器的Modbus通信。4.2 梯形图核心程序解读定时定量喂料逻辑我挑程序里最关键的一段逻辑出来讲就是定量喂料控制。这段程序的关键在于下料量不能只靠时间估必须用称重反馈来闭环控制才能保证准确度。程序的核心逻辑如下第一步是启动条件判断。自动运行模式下当系统接收到启动喂料信号后首先检查料塔低料位开关状态、称重料斗卸料门关闭到位信号、搅拌仓排空信号这三个条件是否全部满足。任何一个不满足程序都不会进入下料阶段并且会在触摸屏上显示对应的联锁解除条件告诉操作员到底是什么原因导致起不来。第二步是下料过程控制。启动螺旋输送机同时开始扫描称重模块的实时重量值。程序使用一个比较指令把当前重量值和目标设定值做比较当当前重量值达到目标值时立即停止螺旋输送机。由于螺旋输送机停止后还有一段余料会继续落入料斗实际重量会比设定值高出一些所以程序设计里设置了一个提前量在重量达到设定值减去提前量时就发送停止指令这个提前量需要现场实测确定不同饲料的流动性和螺旋机的结构都会影响这个参数。第三步是确认与卸料。螺旋输送机停止后程序延时2到3秒等待称重料斗内物料稳定然后记录当前实际重量值作为本次实际下料量写入数据寄存器用于生产统计。确认到位后打开卸料门电磁阀料斗内的饲料释放到搅拌仓通过卸料门关闭到位限位开关确认卸料完成后关闭卸料门程序进入下一环节。下面是一段简化后的梯形图逻辑描述实际编程时按这个思路扩展// 伪代码描述实际操作以梯形图实现 Network 1: 下料允许条件 LD 自动模式 AND 料塔低料位常闭触点 // 料塔有料 AND 卸料门关闭到位 AND 搅拌仓空仓信号 OUT 下料允许 Network 2: 定量比较输出 LD 下料允许 AND 螺旋输送机运行中 LD 当前称重值 D 目标下料值 - 提前量 OUT 停止螺旋输送机4.3 手自动切换与安全联锁设计在养殖场的实际使用场景里设备不可能永远靠自动运行检修的时候、清机的时候、处理卡料故障的时候都需要手动操作。所以手自动切换的设计必须非常谨慎逻辑用错了会出现很危险的情况。核心原则是手动模式下操作员可以单独控制每一个设备但要有基本的保护自动模式下设备之间必须按顺序联锁防止误动作。在实际程序里手动模式的控制指令通过触摸屏按钮或现场按钮直接驱动输出但每个手动控制回路里都要串联相应的保护条件比如螺旋输送机手动启动时如果卸料门没有关到位程序应该禁止启动否则会出现饲料直接落到搅拌仓外面的事故。自动模式下的设备启动顺序严格按照工艺要求来启动顺序为搅拌电机启动→延时后打开注水电磁阀→启动螺旋输送机下料停止顺序相反先停螺旋输送机→延时后停注水电磁阀→搅拌电机继续运行一段时间完成混合→停止搅拌→打开卸料阀→抛料输出。这个顺序是设备调试时根据实际工艺反复调整后确定的顺序错了轻则饲料混合不均重则堵料溢出。安全联锁里面最容易疏忽的是急停信号。急停按钮必须使用常闭触点接入PLC的输入点程序里所有输出回路串联急停信号的常开触点也就是说急停按钮没按下时这个触点才是导通的。这是PLC安全回路的基本功很多新手容易在接线和程序上把常开常闭搞反结果急停按钮成了摆设。4.4 HMI触摸屏界面设计与通信配置触摸屏界面的设计目标是让现场工人能快速上手不需要什么培训就会操作。所以界面结构我就设计了三个主页面通过画面切换按钮互相跳转逻辑非常简单。主页面是运行监控画面用图形的方式显示整套系统的运行状态料塔料位状态、称重料斗的实时重量、各个电机的运行/停止指示灯、当前饲喂流程进行到哪一步。配合数字显示当前实际下料量、本次饲喂量和累计饲喂量。这个页面是最常用的页面现场的工人每天主要就看这个画面所以信息要直观、重要数据要醒目。参数设置页面为操作员等级可以修改的目标下料量公斤、饲喂时间时:分、饲喂间隔小时、搅拌时间秒、加水量升等参数。所有参数在画面修改后写入PLC的数据寄存器断电不丢失。系统诊断页面为工程师等级显示PLC的运行状态、通信状态、各输入输出点的实时状态、报警记录、系统累计运行时间。出现问题的时候通过这个页面能快速定位是哪一路信号异常大大加快故障排查速度。通信配置部分需要注意一个容易出错的地方触摸屏和PLC之间的通信参数必须严格一致。西门子S7-200 SMART和Smart Line触摸屏使用以太网通信时PLC的IP地址、触摸屏的IP地址和子网掩码必须在同一网段而且触摸屏的项目设置里选择的PLC型号必须和实际型号完全匹配选错型号会导致通信时好时坏。PLC和变频器之间使用Modbus RTU通信时串口参数必须一致波特率9600、8数据位、1停止位、无校验这是最常用的默认配置。PLC侧编程时要注意Modbus通信指令不能在一个扫描周期内连续多次触发要在通信完成标志位为真后再发送下一条指令否则会造成通信冲突数据错乱。触摸屏与PLC通信故障常见原因是IP地址不在一个网段其次是触摸屏型号选择错误和通信参数不一致这几点排查时可以优先检查。5. 调试过程中的典型问题与排查记录5.1 称重信号跳变问题这个项目调试过程中遇到最多的问题也是称重信号跳变。现象是称重料斗在静止状态下触摸屏上显示的重量数值也会不停地跳动波动范围可能达到正负5公斤完全无法完成定量控制。排查过程是按顺序进行的第一步检查传感器本身用万用表测量传感器激励电压和信号输出发现传感器单体输出正常。第二步检查接线确认屏蔽层接地良好信号线没有和动力线走在同一线槽。第三步用示波器观察PLC模拟量模块的采样值发现信号线上叠加了明显的高频噪声频率特征和变频器的载波频率相近。到这里问题基本定位干扰源就是柜内的变频器。解决方法是把变频器从主柜体内分离出去单独安装在一个金属隔舱中变频器的输入输出电缆全部换成屏蔽电缆屏蔽层在两端接地同时在PLC模拟量模块的信号输入端并联了一个100nF的滤波电容对高频干扰有很好的抑制作用。改造后称重信号稳定在正负0.2公斤以内问题彻底解决。这个案例说明变频器和模拟量信号之间的干扰问题是工控系统永远绕不开的课题设计初期就要按隔离方案考虑不要等到现场出问题再补救。5.2 自动流程卡住不动作问题另一个典型问题是自动流程执行到某一步后卡住不动触摸屏上也没有报警提示。排查发现是某一步的完成条件没有满足但触摸屏上没有任何指示工人根本不知道卡在哪里。这个问题的根源是程序设计时完成条件的反馈路径不透明。一开始的定时喂料程序判断称重料斗卸料完成用的是延时5秒后认为卸料完成结果如果饲料潮湿黏在料斗壁上5秒后料并没有卸完但程序已经进入下一步了。后来改成用卸料门关闭到位信号加料斗重量小于空斗阈值双重判断而且每个等待条件都在触摸屏上增加了状态指示灯。这样一旦流程卡住工人看一眼屏幕就知道是哪一步的条件没满足是料没卸完还是限位不到位一目了然。还有一个容易卡住的地方是搅拌时间。如果设定搅拌时间过长饲料会在搅拌仓内过度混合变成糊状输送困难。而且每次启动搅拌之前程序必须检测搅拌仓是否处于空仓状态目的就是防止上一轮的饲料没有完全排出就进行新一轮混合。5.3 通信类故障排查速查表通信故障在自动饲喂系统里发生的频率不低下面把典型现象、可能原因和排查方法整理成一张速查表方便大家现场对照排查故障现象可能原因排查方法与处理办法触摸屏显示“PLC连接超时”触摸屏IP与PLC不在同网段检查触摸屏系统设置里的IP地址修改为与PLC同网段触摸屏显示“PLC连接超时”通信线接触不良检查以太网水晶头压接是否牢固更换一条测试PLC与变频器通信偶尔中断通信参数不一致核对串口波特率、数据位、停止位、校验位是否一致PLC与变频器通信偶尔中断通信线屏蔽效果不佳更换屏蔽双绞线屏蔽层单端接地变频器读取数据时好时坏Modbus轮询时序不合理确保发送下一条指令前上一条通信已完成触摸屏无显示开关电源输出电压不足测量24V电压确认开关电源容量是否足够数据采集和联网扩展的问题也值得提前考虑。这套系统后续如果想接上位机做远程监控PLC选型时就要确认是否带以太网口并预留网口给上位机使用通信协议选Modbus TCP。6. 报告撰写与源文件配套的实操经验6.1 设计报告的结构组织建议设计报告是这部分内容的核心交付物一个好的报告能充分展现整个项目的完整逻辑。报告的整体推荐结构包括七个章节系统需求分析与总体设计方案、硬件系统设计包括设备选型计算和电气原理图设计、PLC控制系统设计包含IO分配表、程序流程图和核心程序逻辑、触摸屏界面设计与通信配置、系统安装调试与应用效果分析、总结与展望。在硬件选型环节IO分配表的格式可以按输入输出分类地址分配要充分预留扩展点位与程序中的地址完全一致方便后期对照排查。电气原理图部分建议使用EPLAN或CAD绘制标准化图纸电机回路标注清楚接触器、热继电器的选型依据图纸是衡量一个工程师基本功的重要维度。6.2 讲解视频与源文件资料的配套准备做这一个完整项目时还要准备配套的讲解视频和源文件资料这部分的整理经验同样关键。讲解视频我建议按照“先演示效果、再讲整体框架、随后逐模块拆解程序、最后回答常见问题”这个顺序录制把每个功能模块单独录一小时左右的深度讲解。重点要讲清楚的是程序设计的思路和调试过程中遇到的问题比单纯念步骤有用得多。配套源文件建议打包成下面这样的目录结构项目根目录/ ├── 01_PLC程序/ │ ├── 项目工程文件PLC型号的工程文件 │ ├── PLC程序导出文件PDF或图片格式 │ └── 程序注释说明.pdf ├── 02_触摸屏程序/ │ ├── 触摸屏工程文件 │ └── 画面截图说明.pdf ├── 03_电气图纸/ │ ├── 主电路图.dwg │ ├── PLC接线图.dwg │ └── 电气原理图.dwg ├── 04_设计报告/ │ ├── 设计报告.docx │ └── 设计报告.pdf └── 05_参考资料/ ├── 元件选型手册.pdf └── 现场安装照片/6.3 项目定制化扩展方向做完这套系统之后值得留意几个扩展方向。第一是增加异常工况的自动处理功能比如在下料过程中检测到电机过流时能自动反转几秒钟尝试疏通如果多次尝试仍无法恢复再停机报警这个功能在饲料潮湿结拱的场景下很实用。第二是为系统增加远程监控功能通过以太网接口对接组态软件或云平台实现手机上实时查看设备状态和饲喂记录这在实际生产中有很高的实用价值。第三是考虑多配方管理同一台PLC可以存储多组配方参数以适应不同生长阶段的营养需求。对于进一步想深入这套系统的朋友我个人的建议是不要只停留在修改参数层面可以尝试自己动手从零编写一遍梯形图先不考虑具体品牌和指令规则把逻辑关系完全搞清楚后再对照具体PLC的编程手册去适配。因为不同品牌的PLC指令系统和编程方式有差异但控制思路是相通的。我实际把整套系统跑通之后最大的体会是PLC编程本身并不难梯形图就是那些基本的触点、线圈、定时器、计数器真正拉开差距的是对工艺的理解。你在设计程序之前有没有把整个饲喂流程拆透把每一步的联锁条件都想到位把传感器和执行机构的配合关系都想清楚这决定了程序写出来之后是现场一遍调通还是反复修改、加班加点调试。希望这份设计对正在做类似项目的朋友有帮助尤其是那些正在筹划养殖自动化改造但没有现成经验可以参考的同行至少能少走一些弯路。
返回列表