简介:这是一份基于三菱PLC的恒压供水系统设计文档,适合电气自动化、给排水工程等专业的学生作为毕业设计参考,也适用于从事楼宇供水控制的工程技术人员。文档以住宅小区供水需求为背景,指出现有恒速泵、水塔高位水箱、气压罐等传统方式的效率与可靠性缺陷,进而给出由PLC、变频器、压力变送器和多台水泵机组构成的全自动恒压供水方案。内容涵盖全自动变频恒压运行、自动工频运行、现场手动控制等功能描述,同时深入分析变频调速相对于阀门控制的节能机理、PID闭环调节的预置与反馈逻辑、多泵并联供水的状态转换条件,以及电机变频转工频的切换过程,对理解恒压供水系统的整体设计很有帮助。压缩包内共1个文件,文件类型为doc文档,压缩包大小2.63MB,内容为完整论文正文,包含中英文摘要、关键词和分章节论述,板块清晰。目前已有414人学习下载,适合需要撰写同类课题或搭建实际供水控制系统的人员参考。 这套基于三菱PLC的恒压供水系统,我做下来最大的感受是:它看着像个小项目,实际上从模拟量采集到PID整定,从多泵调度到现场抗干扰,每一环都是工程里最容易被低估的坑点。不少人觉得“变频器加个压力表就能恒压”,真按工程标准交付时完全不是那么回事。这篇文章我就以自己的实际项目为主线,把硬件选型、PLC程序结构、现场调试和踩坑经验一次讲清楚,希望对正在做或准备做这类系统的同行有点帮助。
1. 需求拆解:恒压供水到底要解决什么问题
1.1 传统供水方案的痛点
我接手的这套系统,原先是典型的工频泵加减压阀方案。三台水泵直接工频启动,出口压力高的时候靠减压阀硬憋,压力低的时候末端用户就遭殃。白天用水高峰,远端楼层水压不足,热水器都点不着;到了夜间用水量小,管网压力反而冲得很高,管道接头漏水是家常便饭。
维修上也麻烦。工频泵启动时冲击电流大,接触器触点烧蚀频繁,水泵频繁启停导致机械密封寿命很短。而且水泵长期在额定转速下运行,很多能量都消耗在减压阀的节流损失上,电费高得离谱。这些问题综合起来,住户投诉不断,物业维修成本也居高不下,改造的念头就是这么来的。
1.2 系统功能需求与PLC的角色
恒压供水的核心逻辑并不复杂:压力传感器实时监测管网压力,控制器把反馈压力和设定压力做比较,通过PID运算输出频率给定信号给变频器,变频器调节水泵电机转速,从而改变供水量,维持管网压力恒定。说白了就是一个闭环调节过程。
但真要落地,单纯一个PID调节器是搞不定的。我最后梳理出来的功能需求有这几项:
- 管网压力恒定在设定值附近,波动范围控制在±0.02MPa以内;
- 单台泵满足不了用水量时,自动投入第二台、第三台泵;
- 多台泵按运行时间轮换,避免某台泵长期运行、其它泵长期闲置;
- 具备缺水保护、过流过压保护、故障泵自动切除功能;
- 支持手动/自动两种模式,方便检修和应急操作;
- 预留远程监控通信接口,方便后期接入上位机或触摸屏。
这些功能里,泵的轮换策略、多泵投切逻辑、各种保护条件之间的优先级判断,都是需要灵活编程才能实现的。用三菱PLC做核心控制器,正是因为它在这类逻辑控制上非常成熟可靠,扩展模块也齐全,现场维护资料多,后续改动方便。
2. 硬件选型思路:围绕三菱PLC搭建整套系统
2.1 PLC型号选择与I/O点数规划
PLC我选的是三菱FX3U系列,具体型号是FX3U-32MR/ES。为什么是FX3U而不是FX3G或者更小的FX3S?主要考虑到这套系统有模拟量采集需求、后期可能要挂通信模块和触摸屏,FX3U在扩展能力和指令执行速度上都有优势,而且它的PID指令用起来很顺手,内置了自整定功能,调试时能省不少事。
I/O点数规划也要提前算清楚。三台水泵,每台需要启动、停止、故障反馈三个点,这是9个输入点;再加手自动切换、缺水保护、远程启动、压力传感器断线报警等,输入点大约14个。输出点方面,每台泵的接触器控制、变频器运行允许、报警指示灯,加起来大约10个。我选的32MR是16入16出,富余量足够,还留了备用点方便以后扩展。项目里我用到了模拟量扩展模块FX3U-4AD,专门接压力传感器的4-20mA信号,把压力和电流量变成PLC能处理的数字量。选MR型继电器输出的原因也很简单,水泵接触器和变频器启停信号都是工频开关量,继电器输出抗冲击能力强,三菱GX Works2配置也很成熟。
2.2 变频器与压力传感器的选型细节
变频器配的是三菱FR-E700系列,功率按水泵电机功率的1.1倍选。比如主泵电机是7.5kW,变频器就选7.5kW量级。选E700系列主要是因为它的模拟量输入接口兼容0-10V和4-20mA两种信号,和FX3U-4AD配合时接线方便,而且内部自带PID功能,万一PLC出问题,还能切到变频器内置PID应急运行,算是个双保险。
压力传感器我选了扩散硅型压力变送器,量程0~1.6MPa,输出4-20mA两线制。量程选择有个原则:正常工作压力落在量程的50%~70%区间,这样测量精度最高。这套系统设定压力是0.4MPa左右,选0~1.6MPa的量程,工作点正好在量程的三分之一到一半之间,留有余量又不至于浪费精度。
这里有个容易忽视的细节:传感器的供电电压稳定性。4-20mA信号的精度直接受供电电压影响,如果PLC自带的24V电源波纹大,读数会上下跳。我后来用了独立的高精度DC24V开关电源给传感器供电,信号稳定度立刻改善了。
3. 程序结构设计:从软元件分配到PID控制实现
3.1 软元件分配方案
三菱PLC的软元件分成好几类,M是内部继电器,D是数据寄存器,T是定时器,C是计数器。做这套系统之前,我习惯先把软元件分配表写出来,避免程序写到一半发现地址冲突。分配原则是:同类功能的软元件集中放在一个区域,留出扩展空间。
我用的分配方案大概长这样:
| 类别 | 软元件范围 | 用途说明 |
|---|---|---|
| 输入继电器X | X0~X5 | 水泵启动、停止、故障信号 |
| 内部继电器M | M0~M9 | 手自动模式、运行状态、故障标志 |
| 内部继电器M | M10~M19 | 水泵工频/变频切换、轮换标志 |
| 数据寄存器D | D0 | 压力设定值(单位0.001MPa) |
| 数据寄存器D | D1 | 当前管网压力反馈值 |
| 数据寄存器D | D2~D5 | PID参数存储区 |
| 数据寄存器D | D10 | 变频器频率给定值 |
| 定时器T | T0~T3 | 泵投切延时、轮换计时 |
| 计数器C | C0、C1 | 累计运行时间计数 |
这样分配的好处是,看程序时一眼就能知道某个软元件是干什么用的,两个星期后再回头改程序也不会懵。我见过不少人写程序从不做软元件规划,写到哪算哪,最后程序理都理不清,调试时想改一个逻辑要找半天。
3.2 PID指令的实现与参数设定
三菱FX系列的PID指令是PID S1 S2 S3 D,S1放设定值,S2放当前测量值,S3是参数表的起始软元件,D是运算结果输出值。PID指令不是单条指令就能跑起来的,它需要一个参数表来存放控制参数。
参数表我存在D2开始的一段连续寄存器里:
- D2:采样时间,单位10ms。我设成了40,也就是400ms采样一次;
- D3:动作方向,0表示正动作(输入增大时输出增大),1表示逆动作。供水系统里压力反馈升高时要降低变频器频率,所以用逆动作,设成1;
- D4:输入滤波常数。这个值越大,反馈信号越平滑,但响应越迟钝。我一开始设0,发现压力波动大,后来调到2,效果明显改善。
PID程序执行的方式也有讲究。不能用每条扫描周期都执行PID指令,那样会导致输出频率抖动。正确做法是用定时器或脉冲信号,每隔一个采样周期调用一次PID指令。我用的400ms采样就是配合这个逻辑,变频器对频率给定的响应没那么快,采样太快反而容易震荡。
PID参数整定方面,我后来在调试阶段花了不少功夫,具体过程放在下一节讲。这里先给个参考:比例增益P初始值从1.5左右开始,积分时间I从10秒左右开始,微分D在多数供水系统里用不上,设成0就行。供水是一个大惯性系统,微分作用很容易放大干扰,新手不建议加。
3.3 多泵轮换与主从站通信程序
三台泵的调度逻辑是程序的另一个重头戏。单泵运行频率上升到50Hz,说明供水量不够,这时PLC延时5秒把第二台泵投入工频运行,变频器频率回落到一个较低值继续调节;当两台泵还不够,再投入第三台。反过来,如果管网压力偏高且变频器频率降到20Hz以下,延时一段时间后切除一台工频泵,避免频繁启停。
多泵轮换方面,我用了运行时间累计的方法。每台泵运行时用计数器累计工作时间,每次启动时优先选择累计时间最短的那台泵。这样三台泵的磨损相对均衡,不会出现一台泵用两年、另一台泵从来没动过的情况。
如果现场是多套PLC分别控制不同的泵组,需要协同工作,可以用三菱的N:N网络做主从站通信。主站PLC在D8176寄存器里设站点号0,从站设1、2,D8177设置从站个数,D8178设置刷新范围。通信做好之后,主站可以直接读取从站的运行状态和故障信息,统一调度。我做过的一次项目中,主站和两个从站之间就是靠这个机制协调水泵启停的,效果很稳定,只是要注意通信周期和刷新软元件范围必须一致,否则从站半天收不到数据,系统会误判故障。
4. 现场调试实录:四条有价值的排查经验
4.1 压力过冲的完整排查链路
这台系统装完通电,第一次自动运行就把我折腾得不轻。现象是:设定0.4MPa,开机瞬间压力直冲到0.62MPa,然后开始大幅震荡,好几分钟才勉强稳定,但压力曲线还是一个波浪接着一个波浪,始终达不到±0.02MPa的要求。
我一开始理所当然地认为是PID参数的问题,先把比例增益调小,从1.5一路降到0.5,结果过冲稍好一点,但稳态波动依然明显。又把采样时间从400ms调到1000ms,系统倒是稳了,可响应速度太慢,用水量一变,压力要十几秒才能恢复,完全没有实用性。
这个方向走不通,我开始怀疑传感器信号有问题。于是打开GX Works2的软元件监控,盯着D1(压力反馈值)看它到底跳成什么样。这一看不打紧,反馈值在我设定的压力附近疯狂跳动,幅度非常大。后来我用万用表串在传感器信号线上测4-20mA电流,发现电流本身就忽大忽小。这时候才把问题的焦点从“程序调不好”转移到“反馈信号质量太差”上来。
最终查出来的原因有两个:一是压力传感器安装位置距离水泵出口太近,泵的机械振动和水流脉动直接作用在传感器膜片上,造成了测量噪声;二是传感器的信号线走线时和变频器输出电缆绑在同一个线槽里,变频器的PWM载波信号干扰极其严重。这是我做这个项目印象最深的一个坑,程序参数再合理,反馈信号是脏的,控制系统就不可能稳定。
4.2 PID参数的实际整定步骤
反馈信号问题解决之后,PID参数整定就顺利多了。我先说明一下我用的整定方法,适合供水这类大惯性对象:
先把积分时间设得很大,差不多等于关闭积分作用,微分保持0,只保留比例。比例增益从1.0开始,观察压力曲线。如果压力缓慢波动不收敛,说明比例太大,减半;如果压力稳态偏差大,但曲线很平稳,说明比例够了。我最后定在1.2左右,系统响应和稳定性平衡得不错。
随后逐步减小积分时间,用一个较大的初值比如50秒开始,观察压力能否消除稳态偏差。每次减半往下试,直到压力出现轻微振荡,就往回调一档。我的最终I值是12秒。整个整定过程耗时半天,但完成后效果很理想:用水高峰突增时,压力下降不超过0.03MPa,恢复时间大约5~8秒,完全满足设计要求。
再分享一个小技巧。三菱FX3U的PID指令支持自整定功能,就是把参数表里某个位置设成自整定模式,程序会自动试探出一个参数组合。我试过一次,它给出的比例增益偏大,系统有些过冲。自整定结果可以参考,但不能完全照搬,它是按一般对象模型算的,跟供水这种特殊的大惯性加纯滞后系统还是有差距。所以我最后都是自整定拿个起步值,再手动细修。
4.3 通讯连接不上的排查思路
调试中还有一类问题很常见,就是电脑和PLC连接不上。我自己遇到过,也在别的项目里见过其他人碰到同样的情况。比如有人拿着某款兼容三菱指令集的PLC,想直接用三菱的编程软件连接,结果软件提示连接超时,完全没反应,网上搜出来的答案五花八门,但很少能直接解决问题。
排查这类问题,我一般按下面的链路一步步来:
- 第一步,检查电脑设备管理器里有没有识别到USB转串口设备。如果插上线后设备管理器里压根没变化,基本可以断定是USB转接芯片的驱动没装好,或者转换线本身有问题。很多便宜的数据线用的芯片方案不太一样,驱动必须装对应厂家的版本,用系统自带的通用驱动偶尔会出怪毛病。
- 第二步,确认COM口号。三菱编程软件连接设置里,COM口必须和设备管理器里显示的一致。电脑上如果插过多个USB转串口设备,COM口号经常变化,连接失败时先到这里看一眼。
- 第三步,核对通信参数。三菱FX系列默认是9600波特率,8位数据位,偶校验,1位停止位。这些参数在哪里设置都改变了,软件找不到设备很正常。
- 第四步,确认电缆接线定义。不同编程口的针脚定义不一样,用错了转换线是连接不上的。
我遇到过一次最典型的案例,就是换了一根USB转接线后连不上,最后发现是转换线只支持RS232电平,而PLC编程口需要RS422电平,信号根本不匹配。这种情况用GX Works2怎么试都白搭,换一条支持RS422的线缆立刻就好了。
4.4 三菱PLC下载线制作的几个关键点
说到下载线,顺便讲讲自己制作的做法。FX系列PLC的编程口是8针圆形接口,标准定义里包含SD、RD、SG这几个RS422信号。自己做线时需要找一根USB转RS422的转换器,再按针脚定义把转换器的T/R+接到PLC的SD、T/R-接到RD、GND接SG。
这里有个容易搞错的点:USB转RS422模块的A/B线(有些标T+/T-)连PLC时要注意交叉。有的成品线能直接用,自制线如果发现软件认不到设备,第一反应就该是查A/B有没有接反。我在工地上吃过这个亏,焊好线兴冲冲去连接,结果超时,拆开重新查线才发现是T+和T-焊反了,反过来重新焊上就好了。
自己做线虽然成本不高,但建议批量使用前用一块旧PLC先做连接测试。另外,现场如果长期用笔记本调试,多备一根成品线做对照,能省下大量排查连接问题的时间。
5. 交付前的测试项目与长期运维建议
系统稳定运行后,我花了两天时间做了系统性的交付测试,主要项目如下:
- 42小时连续自动运行测试,记录压力曲线,确认无漂移;
- 人为模拟水泵故障,确认故障泵能自动切除、备用泵能无缝接管;
- 切换手动/自动模式,确认所有泵都能通过面板独立启停,逻辑互锁可靠;
- 断电恢复测试,确认恢复供电后系统能按预设策略重新启动,不会出现多台泵同时启动、冲击电流过大的情况;
- 通讯连续性测试,通过触摸屏持续监控各泵运行状态和故障报警,确认通信不中断。
测试过程中还真发现了一个问题:断电恢复时,三台泵的接触器在瞬间同时吸合,虽然逻辑上我用M继电器做了互锁,但PLC上电初期输出端子的状态有一个短暂过程,容易造成瞬时误动作。解决办法是在程序启动初始化时,先把所有输出强制复位,再延时2秒执行启动逻辑,给接触器一个稳妥的吸合窗口。这个细节平时调试看不出来,但遇到电网闪断再恢复时就能体会到它的价值。
长期运维方面,有三点经验值得提。第一,程序注释一定要写完整。不管是泵号对应关系、参数含义还是报警代码来源,都写在注释里。我见过太多设备,程序里满是看不懂的地址,操作工换个人就没人能上手维护。第二,PID参数和压力设定值建议固化在程序注释和交付文档里写明,触摸屏上虽然可以调整,但最好设置访问权限,防止被人误改导致系统失控。第三,传感器和接线端子建议做周期巡检,这类设备最容易出问题的地方就是传感器老化漂移和端子松动,很多我们以为复杂的故障,最后查出来就是一根线松了或一个端子氧化了。
如果你正准备做类似项目,我会建议你在方案阶段就把“抗干扰设计”摆在和“功能逻辑”同等重要的位置。传感器的走线、变频器的接地、PLC的电源隔离,这些一开始没做好,后面调试阶段就要拿成倍的时间去还。恒压供水系统本身并不复杂,复杂的是确保它在各种现场环境下都能稳定运行。把基础打扎实了,这套系统就能安安静静地跑很多年不用操心。
本文还有配套的精品资源,点击获取