资讯动态

恒压供水一拖五PLC控制系统设计与调试全记录

发布时间:2026/9/8 3:06:08 来源:尧图企业网站定制
做供水控制的人心里都有数恒压供水这个活儿看着不起眼真正落地的时候全是细节。前阵子我接手一个小区的泵房改造五台大泵加一台小泵原来自耦降压启动靠电接点压力表启停水压忽高忽低夏天高峰经常被住户投诉。改造之后做成了恒压供水一拖五系统五台大泵共用一台变频器外加一台YH40小泵负责夜间小流量保压控制核心用西门子S7-200 SMART PLC人机界面配昆仑通态触摸屏。这套系统调试合格之后管网压力能稳定在设定值正负0.02兆帕以内泵组自动轮换基本不用人管。这篇文章我会把整套系统的设计思路、控制逻辑、硬件配置、程序结构和现场调试过程完整写出来包含我实际踩过的坑和调参经验。不管你是刚入行的PLC电气工程师还是在泵房负责运维想搞明白这个柜子怎么工作的都可以从里面找到有用的东西。1. 项目整体设计与控制思路1.1 恒压供水到底解决什么问题恒压供水的核心目标只有一个不管用水量怎么变化出水总管压力保持恒定。用水少的时候水泵降速运行用水多的时候水泵升速一台泵不够就加泵多了就减泵。因为给水泵属于平方转矩负载转速稍微降一点轴功率下降非常明显所以变频调速本身就是最大的节能手段。这个项目里一拖五的意思是五台大功率水泵共用一台变频器变频器输出端通过接触器切换哪个泵需要调速就把它切到变频回路其余泵根据需要切到工频回路直接并网运行。这样做的最大好处是省变频器成本——五台泵如果每台都配独立变频器光变频器采购就是一大笔钱。代价是同一时刻只能有一台泵处于变频调速状态加减泵切换瞬间压力会有波动这就要靠PLC的逻辑设计和PID参数来兜底。再加上一台YH40小泵是因为小区夜间用水量极小五台大泵任何一台低频运行都大马拉小车效率低还容易憋压。小泵功率小夜间单独变频运行刚好能保住管网压力这就是典型的大泵保高峰、小泵守低谷的组合策略。1.2 为什么选西门子S7-200 SMART加昆仑通态这套硬件组合在中小型自控项目里算是经典搭配性价比和实用性都很能打。S7-200 SMART是西门子主推的小型PLC自带以太网口编程软件STEP 7-Micro/WIN SMART用起来顺手指令向下兼容老200系列。最关键的是它内置PID回路配合PID向导生成中断程序实现恒压控制几乎不用自己手写PID算法。CPU本体自带模拟量输入加一块模拟量输出模块就能同时接压力反馈和变频器频率给定硬件成本控制得很好。昆仑通态触摸屏我用的是TPC系列组态软件MCGS嵌入版可以从官网免费下载。它驱动库里就有西门子S7-200 SMART的以太网驱动不需要买通讯狗也不要额外授权工程下载和在线模拟都方便。相比直接用变频器面板设定触摸屏能把压力趋势、泵组状态、故障报警、累计运行时间全部可视化操作工一看就懂。如果是大项目S7-1200加WinCC当然更强大但对这个规模的泵房就是杀鸡用牛刀成本翻好几倍。三菱FX加威纶通也能做不过既然现场技术底蕴和备件习惯都偏向西门子我就选了现在这套方案。1.3 系统整体架构与设备清单整套系统的信息流是这样走的压力变送器把出水总管压力变成4到20毫安信号送给PLC模拟量输入通道PLC通过PID运算得出变频器频率给定值通过模拟量输出模块送给大变频器或小变频器。泵组的状态变频运行、工频运行、停止、故障由PLC的数字量输出控制接触器实现变频器自身的故障信号和每台电机热继电器的过载信号反馈到PLC输入点。触摸屏通过以太网和PLC通信做参数显示、泵组操作、报警记录和趋势曲线。设备清单如下西门子S7-200 SMART PLC一台具体用的是CPU SR40配一块EM AM06模拟量模块4路AI、2路AO昆仑通态TPC触摸屏一台比如TPC7062系列大功率变频器一台容量按单台大泵电机功率选型一拖多时变频器容量至少要等于最大一台泵的电机功率最好按1.1倍选五台大泵每台配两个接触器工频接触器、变频接触器YH40小泵一台配套小功率变频器独立配置运行灵活压力变送器一支量程0到1.0兆帕两线制4到20毫安输出液位开关或液位变送器用于蓄水池缺水保护2. 核心控制逻辑拆解2.1 PID恒压闭环让水泵自己踩油门恒压控制的本质就是PID闭环。打个比方目标压力就好比车的定速巡航速度压力变送器是车速传感器变频器频率是油门。实际压力低于目标压力PID输出增大变频器升频加速实际压力高于目标压力PID输出减小变频器降频减速。S7-200 SMART的PID向导是这样一个逻辑把压力反馈接到模拟量输入通道把输出通道指向变频器频率给定向导会自动生成一个PID子程序和定时中断你只需要在数据块里填PID参数即可。这里必须先讲清楚正反作用。恒压供水属于反作用回路——压力升高时输出必须减小如果选成正作用压力越高频率越高系统会正反馈失控轻则压力猛冲重则爆管。我在PID向导里设置的回路极性就是反作用。初始参数我用的是经验值比例增益0.8到1.5积分时间10到30秒微分时间0。恒压供水系统惯性大调节周期长微分项基本用不上反而容易被高频干扰带偏。采样时间设置在0.2到0.5秒比较合适太快了模拟量输出容易抖动变频器会发出嗡嗡的异响。提示PID向导生成后P、I、D参数存放在V区特定地址把这些地址做到触摸屏上现场调参就不用反复改程序重新下载在线改完立刻生效非常方便。2.2 一拖五多泵轮换与加减泵策略加减泵逻辑是这套系统的灵魂也是新手最容易写崩的地方。加泵条件要同时满足两个变频器输出频率达到上限我设49赫兹并且持续一段时间比如30秒同时实际压力仍然低于目标压力减去一个回差值比如0.03兆帕。为什么还要持续30秒因为压力波动是瞬时的刚开水龙头的一瞬间频率冲到上限但母管压力马上又会回来立刻加泵会导致泵组频繁投切。延时和回差就是防止这种抖动。加泵动作的顺序很关键。比如当前1号泵变频运行频率已经顶到49赫兹压力还不够系统决定加2号泵。执行顺序是先把1号泵从变频回路切到工频回路——断开1号泵变频接触器延时0.5到1秒等变频器输出完全关断再合上1号泵工频接触器。然后把2号泵切到变频回路合上2号泵变频接触器变频器重新启动带2号泵。这时候1号泵工频直接并网稳定出力2号泵变频调速PID输出自动回落。这里有个硬性禁忌任何一台泵的变频接触器和工频接触器绝对不能同时吸合否则就是变频器输出端和电网短接瞬间炸变频器。硬件上靠接触器互锁程序里还必须做软件互锁双保险。减泵逻辑和加泵对称变频器输出频率降到下限我设28赫兹持续30秒压力仍然高于目标压力加回差说明泵太多了停止最早投入的工频泵只保留变频泵继续调速。轮泵机制也不能省。每台泵累计运行时间存在PLC的V区寄存器里加泵时优先启动累计运行时间最短的泵减泵时优先停止累计运行时间最长的泵这样五台泵的磨损才均衡。我还会设置一个定期轮换时间比如每天凌晨两点自动切换一轮避免某台泵常年不动作导致机械卡死。2.3 大小泵联动YH40小泵怎么安排YH40小泵是这套系统节能的底牌。白天用水高峰五台大泵轮着上到了深夜用水量掉到很小大泵哪怕降到下限频率仍然在过量输出这时候硬开大泵既费电又容易频繁启停。我的控制策略是这样当系统判断只有一台大泵在变频运行而且频率持续低于下限值比如30赫兹超过延时比如60秒同时管网压力还高于目标压力就判定进入小流量工况。这时候把最后一台大泵停掉启动YH40小泵变频运行接管管网压力。小泵接管以后PID输出由小泵执行压力依然恒定在目标值。如果半夜来了点用水量小泵频率慢慢往上爬爬到大泵的加泵频率上限却还是压不住压力就再启动一台大泵小泵退出去待命完全无缝衔接。这里提一个方案细节我默认YH40小泵单独配了一台小功率变频器这样做的好处是大泵和小泵可以各自调速互不干扰控制逻辑也清晰。如果现场条件限制小泵也接在同一台大变频器上通过接触器切换作为第六台泵逻辑上也不复杂就是把小泵当成常规泵参与加减泵排序。实际运行下来深夜时段用YH40小泵电流比大泵低一大截一个月电费能省不少这个账算得过来。3. 硬件接线与参数配置3.1 PLC的I/O规划与模拟量通道做硬件规划前先把I/O点数算清楚。我的分配表如下信号类型说明点数DI手动/自动选择开关1DI变频器故障大、小各1点2DI大泵1到5热继电器过载5DI小泵热继电器过载1DI蓄水池液位低1DI备用若干DO大泵1到5变频接触器5DO大泵1到5工频接触器5DO小泵变频器启停1DO报警输出1DO备用若干AI出水总管压力1AI蓄水池液位可选1AO大变频器频率给定1AO小变频器频率给定1我的配置是CPU SR40加一块EM AM06模块。SR40本体自带24个数字量输入、16个继电器输出数字量点数是够的。EM AM06提供4路模拟量输入和2路模拟量输出把压力反馈和大小变频器频率给定全部接完AI通道还剩2路备着。这里要提一个很容易踩的坑EM AM06模拟量模块侧面的DIP拨码开关用来设定通道类型电压还是电流通电前必须拨对。我见过不止一次现场反映模拟量没信号结果一看DIP开关全部在默认电压档4到20毫安信号当然是零。这块模块的通道定义是模块正面和组态时都能看到的但很多人不看说明书就直接接线上电信号不对就开始怀疑模块坏了。3.2 变频器与压力变送器的接线规范变频器和PLC之间的接线其实不复杂但细节决定成败。压力变送器是两线制4到20毫安正极接PLC模拟量输入通道的对应端子负极接公共端。模拟量信号线必须用屏蔽双绞电缆屏蔽层在PLC侧单端接地千万不能两端都接地否则形成地环流反而引入干扰。信号线要和大功率动力线分开走桥架至少保持20厘米以上的距离有条件的话用金属穿管更稳。频率给定信号从EM AM06的输出通道接到变频器AI端子同样是4到20毫安。把变频器的AI输入类型设为4到20毫安对应0到50赫兹的两点线性这样PLC输出5530到27648对应0到50赫兹。这里要注意量程匹配S7-200 SMART模拟量输入输出0到20毫安对应0到276484毫安对应5530换算公式就是实际压力等于AIW原始值减5530除以27648减5530再乘以变送器量程。变频器的启停控制用PLC干接点输出接到变频器数字输入端子。变频器的继电器输出端子用来反馈故障信号接到PLC输入点。每台电机的热继电器触点既串在接触器控制回路里做硬件保护又反馈到PLC做状态检测双重保护。注意模拟量信号和变频器动力线绝对不能穿同一根管也不能平行贴近走线。现场如果发现压力显示值跳动厉害先检查屏蔽层接地再检查信号线和动力线是否桥架内扎在一起了。3.3 PLC与触摸屏的通讯联机昆仑通态触摸屏和S7-200 SMART走以太网通讯是最省事的方案不需要改PLC程序也能保证数据刷新速度。在MCGS组态软件里新建工程先选好触摸屏型号然后在设备窗口添加通用TCP/IP父设备和西门子S7-200 SMART驱动。父设备里设置PLC的IP地址比如PLC设成192.168.1.10触摸屏设成192.168.1.11网段必须一致端口用驱动默认的102。触摸屏上设置好本地IP后两个设备放同一个交换机或者直连网线都能通。地址映射这块要注意格式。MCGS的S7-200 SMART驱动里I区就是I0.0这种位地址Q区是Q0.0M区是M0.0V区用VW100、VD204这种字或双字地址AIW对应模拟量输入AQW对应模拟量输出。这些地址和PLC程序里的变量一一对应触摸屏画面上的数值框绑定的就是这些地址。如果现场有非标设备需要通过TCP自由协议通讯昆仑通态也是支持的可以用脚本发送自定义报文自己解析返回数据灵活性足够但驱动复杂度和调试成本会高不少。对于这个项目直接用西门子专用TCP驱动是最省心的。4. PLC程序与触摸屏画面实现4.1 S7-200 SMART程序结构与PID向导程序结构我分了三块主程序负责泵组启停、加减泵判断、轮泵和故障处理PID向导生成的中断子程序负责定时采集压力、计算输出、刷新频率给定另外写了一个通讯子程序用来支撑触摸屏读写参数。先做PID向导。在STEP 7-Micro/WIN SMART的菜单里打开PID向导选PID回路0输入通道指向压力变送器接入的AIW地址输入类型选20%偏移量代表4到20毫安信号。输出通道指向EM AM06的输出地址AQW输出类型选模拟量。回路极性选反作用。然后设置采样周期我设0.5秒输出上下限限制在20%到100%防止PID输出过大导致频率给定超出变频器量程。向导生成完成后会得到PID0_INIT子程序和对应的中断程序PID参数存放在从VD204附近开始的V区连续地址。把目标压力的SP地址记下来对应触摸屏上的目标压力设置框这样操作工在触摸屏上改压力不用PLC程序里写死。主程序里的泵切换我建议用置位复位指令加互锁条件来实现而不是直接用线圈输出。原因很简单线圈输出在逻辑上容易冲突置位复位方式配合互锁条件更可控。每次执行泵切换前先做一个综合互锁判断确认目标泵的变频接触器和工频接触器不在同时吸合状态确认五台泵的变频接触器没有任何两台同时带电。4.2 泵切换与时序控制的编程要点泵切换的时序我总结成口诀就是先断后合延时过渡。以变频转工频为例程序执行顺序停变频器运行信号延时0.5秒断开当前泵的变频接触器延时0.5到1秒合上这台泵的工频接触器。整个过程做下来变频器输出已经彻底关断电机脱开变频器再并电网就不会有冲击。减泵的时候也要注意先把工频接触器断开再启动变频器带剩下的泵。如果减的是当前正在变频运行的泵那就要先判断是不是只有这一台泵在运行如果是减完就处于全停状态要靠小泵接手如果还有别的工频泵就把这个变频泵先切工频再停一台其他工频泵保证系统里始终有一台变频泵在调速。轮泵时间我放在触摸屏上可设默认每天凌晨2点执行一次。执行轮泵的时段尽量避开用水高峰否则压力波动会很明显。时序延时用定时器实现加泵和减泵的持续时间判断也用定时器这些时间参数全部做到触摸屏参数表里现场根据用水规律调整不需要动程序。4.3 昆仑通态画面组态与变量连接昆仑通态的画面我做的是这样的结构主画面、泵组控制画面、参数设置画面、报警画面、趋势曲线画面。主画面是工艺流程图显示五台大泵一台小泵的运行状态、压力实时值、目标压力、总频率水泵运行图标用不同颜色区分变频运行、工频运行和停止。做完之后操作工不用看PLC点表只看画面颜色就知道现场状态。泵组控制画面放每台泵的独立操作按钮并且做了权限控制。手动模式下可以单台启停自动模式下泵组按钮全部置灰防止误操作。这个权限控制在MCGS里通过用户权限管理实现简单说就是需要输入工程师密码才能操作手动按钮普通巡检账号只能看状态。参数设置画面是这套触摸屏程序里最有价值的部分。我把PID比例、积分时间、目标压力、加泵频率上限、减泵频率下限、加泵延时、减泵延时、回差值、轮泵时间这一切参数全部拉出来做成表格绑定到PLC对应的V区地址。现场调参不再需要带着电脑和编程线蹲在电柜旁边直接在触摸屏上改保存后立刻生效。报警画面绑定PLC的故障位变频器故障、热继电器过载、液位低、压力超上限、压力低于下限都有对应报警文字和触发时间。MCGS的报警机制还要设置好数据对象属性里的报警值和报警类型并勾选存盘记录。趋势曲线画面绑定压力AIW转换后的实际压力值做成年趋势用来观察PID效果和判断用水高峰时段非常直观。MCGS变量连接有一个容易踩的坑驱动变量类型和PLC地址类型要匹配。比如VD开头的地址是32位浮点或32位整数VW是16位整数AIW是只读的模拟量输入这些类型选错会导致读出来的数据完全不对。我一般会在MCGS里建一个原始值显示的只读变量先看原始值对不对再做量程转换和显示排查问题快很多。5. 现场调试与问题排查实录5.1 分步调试流程从手动到自动的四个阶段现场调试我从来不直接切自动都是按人工点动、单泵变频、多泵联动、自动恒压四步走。第一步人工点动确认电机转向。水泵反转最常见的表现是启动后电流小但压力起不来这时候第一件事就是看转向反了就调换任意两根电机电源线。第二步单泵变频运行。先合变频接触器手动给变频器一个20到30赫兹的低频观察电机运行平稳后逐步升频。同时观察压力变送器在触摸屏上的读数是不是和现场压力表一致。如果不一致检查变送器量程、PLC模拟量转换公式和MCGS量程设置三个地方。第三步多泵联动。手动模式下分别试一下每台大泵的变频启动和工频启动确认每台泵的两个接触器动作正确、互锁有效。特别是工频直接启动的瞬间电流比较大要观察热继电器会不会误动作接触器吸合是否有明显异响有就断电检查触点。第四步切换自动模式。先给一个比较保守的PID参数比如Kp0.8Ti20秒目标压力设0.35兆帕观察压力稳定情况。如果压力在目标值附近小幅振荡就适当增大积分时间如果响应太慢、升压跟不上就适当增大比例增益。加减泵逻辑在自动模式下要用短延时先试一遍确认加泵、减泵的泵号和切换顺序正确再逐步把延时调回正式值。5.2 常见问题速查表我把现场调试中遇到的问题整理成一张表方便以后排查现象可能原因处理方法压力显示值跳变信号线干扰检查屏蔽层是否单端接地信号线是否远离动力线可加信号隔离器触摸屏连不上PLCIP不在同网段核对PLC和触摸屏IP用调试助手先测通链路变频器启动后无输出运行信号没给到模拟量量为0检查启停干接点接线用触摸屏强制给定频率观察AQW值加泵动作太频繁延时太短或回差太小加大加泵延时到30秒以上回差调到0.03兆帕以上泵切换瞬间压力猛掉变频断开工频合闸间隙太长缩短延时但必须保证变频输出完全关断至少0.5秒压力稳定但频率一直在顶格泵选型偏小或PID输出限幅设置太低检查PID输出上下限确认20%到100%符合变频器量程小泵该启动没启动小流量判断条件不满足检查频率下限、延时、压力回差三个参数的实际设定值模拟量模块信号为零DIP开关没拨到电流档断电后核对EM AM06侧面DIP开关位置5.3 我的几条独家经验最后分享几条纯经验单靠看书学不来的东西。第一压力变送器的取压位置很重要。别直接装在泵出口的直角弯头附近那里涡流大压力波动剧烈PID看到的反馈本身就是乱的参数再整也好不了。我一般把取压点放在出水管稳流段离水泵出口至少1米远最好是立管或水平直管段上。第二蓄水池缺水保护要独立可靠。我见过有同行把液位信号只做到PLC程序里液位低时停泵。但万一PLC程序跑飞或者输入点坏掉泵空转就是大事故。我建议液位开关的触点直接串进所有接触器的控制回路做成硬逻辑即使PLC出问题缺水时泵也起不来。第三断电再来电的启动策略要保守。系统刚上电时我要求所有大泵必须处于停止状态需要人工在触摸屏上确认启动条件比如压力低于启动压力、液位正常之后才能进入自动模式。这样做主要是为了安全防止巡检人员或者不熟悉系统的人合闸瞬间大泵猛启动。第四PID参数现场整定的时候别怕振荡。给一个大一点的P值观察振荡周期再逐步减小比一点点试省时间。经验公式是先纯P调节积分时间设最大找到刚好不振荡的临界增益然后把增益打六折再逐步加积分让系统没有静差。按这个顺序半小时就能把PID整得差不多。第五昆仑通态的调试助手是个好东西。通讯连不上的时候先用调试助手模拟PLC数据源让触摸屏读能通就说明触摸屏和线路没问题再回头查PLC侧设置能省很多排查时间。这套系统交付以后我最大的体会是恒压供水控制逻辑并不复杂难的是把各种边界情况想清楚——什么时候加泵、什么时候减泵、切换时什么顺序、故障时如何兜底。把这些细节设计到位系统运行就是稳定压倒一切设备磨损均衡压力平稳操作工也轻松。对于准备做类似项目的人我建议动手之前先把控制逻辑时序图画明白程序实现反而是水到渠成的事。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价