☰
三托三恒压供水PLC控制与西门子200 SMART调试实战
2026/10/15 5:33:36 网站建设 项目流程

三托三恒压供水这个题目,乍看不算特别难,但真把它做完做稳,里面的坑比一般人想象的多。我手头这套项目,用的是西门子200smart PLC,三台水泵配三台变频器,每台泵都走独立的变频回路,也就是常说的3托3。和市面上烂大街的一拖三循环切换方案相比,这套系统的逻辑、调试、保护思路完全是另一个量级。这篇文章就把我从选型到调试踩过的坑和总结的经验全部抖出来,给准备做或者正在做类似项目的朋友一个完整的参照。

1. 为什么要做成3托3:一拖三方案在什么场景下会露馅

1.1 最常见的1托3方案到底省在哪

很多中小型供水项目里,最常见的做法是1台变频器加3台水泵,通过接触器切换,变频器轮流带着1号泵、2号泵或3号泵运行。这个方案的优点非常直接,就是省一台变频器的钱,而且控制逻辑相对简单:当前运行的泵到达工频还满足不了压力需求时,程序先把这台泵切到工频电网,再把变频器切换到另一台泵上软启动,以此类推。

这种模式在用水规律、泵组功率小、允许短时间压力波动的场景下是够用的。但它有一个先天缺陷:泵从变频切换到工频的那一瞬间,存在一个脱离变频器控制再到电网供电的空档期,哪怕只有几百毫秒,母管压力也会明显掉一下。对于厂区生产用水、医院、实验室这类对压力稳定性敏感的场景,这种掉压基本不可接受。

另一个隐患是单点故障。整站就靠那一台变频器撑着,一旦变频器本体故障或者需要维护,整个供水系统就得停摆。很多项目方在初期为了省钱选了一拖三,运行两年后都会后悔,又改造成每台泵配变频器的方案,折腾的成本比一开始就上3托3还要高。

1.2 3托3的取舍逻辑和适用边界

3托3,说白了就是三台泵各带一台变频器,每台泵都可以独立软启动、独立调速。我做的这套系统是三台11kW水泵,母管压力控制在0.45MPa左右。选这个方案的核心理由有三条:第一,任何一台泵或者任何一台变频器故障,系统都能降级运行,最差也能保持一台泵在线供水,不会全站瘫痪;第二,加泵和减泵都是变频软过渡,不存在泵从变频切工频的瞬间冲击,压力曲线全程平稳;第三,三台泵的累计运行时间可以均衡管理,谁先谁后完全交给PLC按时间排序,泵的寿命和保养周期更好掌握。

当然,它的代价也很明确:三台变频器加三套保护电器,柜体尺寸和发热量都上去了,初期投入比一拖三贵不少。还有一点很多人忽略,就是柜内多台变频器同时工作时的谐波干扰问题,这个我在后面调试章节专门讲。所以我的建议是:泵组功率在7.5kW到22kW之间,且对供水连续性要求高的场景,直接上3托3;如果只是普通居民小区这类允许短暂压力波动的地方,一拖三也没毛病,没必要多花这个钱。判断标准就一句话,看你这个水断了或者压力波动了,会不会产生比变频器还贵的损失。

2. 硬件底座:从CPU选型到I/O分配,先把摊子铺对

2.1 这套系统的硬件清单与选型理由

西门子200smart系列在小型PLC里性价比很高,选它是因为它自带以太网口,调试和后续接触摸屏都方便。我这个项目本体用的是SR40,继电器输出型,然后挂了一块EM AE04模拟量输入模块。有人可能会问,为什么不用带模拟量输出的型号?因为在这个方案里,我给变频器的频率给定没有走模拟量输出,而是走Modbus RTU通讯直接写频率。这样做的好处是省掉模拟量输出模块和一堆屏蔽线,而且变频器反馈的电流、频率、故障码都可以靠通讯捞回来。当然,用模拟量输出也不是不行,但200smart本体没有模拟量输出通道,你得另配模块,成本和接线复杂度都会上来,通讯方案优势明显。

硬件清单再展开说就是:S7-200 SMART SR40一台,EM AE04一块,三台11kW通用变频器,三只断路器,三只接触器,三套热继电器或者电动机保护器,再加一只0到1.0MPa的4-20mA压力变送器,以及一只电接点压力表做超高和超低报警。触摸屏配的是西门子Smart 700 IE V3,走以太网和PLC通讯。

2.2 I/O分配表和接线里容易被忽略的细节

I/O分配这块,我按下表规划,各位可以参考:

地址信号说明
I0.0手自动转换开关0手动,1自动
I0.11号泵故障输入变频器故障继电器常闭触点
I0.22号泵故障输入同上
I0.33号泵故障输入同上
I0.4电接点压力表超高报警超压保护
I0.5电接点压力表低压报警欠压保护
I0.61号泵运行反馈变频器运行继电器
I0.72号泵运行反馈同上
I1.03号泵运行反馈同上
Q0.01号变频器启动干接点控制
Q0.12号变频器启动干接点控制
Q0.23号变频器启动干接点控制
Q0.3故障声光报警输出接电铃和指示灯
AIW16母管压力变送器4-20mA,量程0-1.0MPa

接线有几个特别容易翻车的点,我单独强调一下。第一,变频器的故障输出触点,很多人习惯用常开,但实际应该接常闭,这样变频器断电或者通讯异常时,PLC能收到真实的故障信号,而不是一个假的无故障状态。第二,压力变送器必须用单独的24V开关电源供电,不能和PLC的输出负载共用一个电源,不然启泵瞬间电压跌落,压力信号会出现毛刺。第三,所有模拟量信号线必须用屏蔽双绞线,屏蔽层在PLC侧单端接地,并且和动力线分开走线,这两条做好了,后面调PID会省一大半的心。

3. PID恒压回路的调参实录:让200 SMART的算法和现场管路合拍

3.1 PID向导组态:给定、反馈、输出的三层归一化

200smart的PID指令可以直接用向导生成,比手写PID功能块省事得多。组态的时候有几个关键参数要明确:PID类型选基本PID,给定值我设为0.45MPa对应的百分数,也就是45%;反馈源选AIW16的压力变送器信号;输出不选模拟量通道,而是选支持输出作为变量使用,这样PID运算结果会输出到一个实数变量,我再把它线性映射到0到50Hz的变频器频率给定值上,通过Modbus写过去。

这里有一个非常关键的归一化思维:PID里面的所有数值都是百分数,不是实际的工程单位。给定是45%,反馈是压力变送器量程的百分数。假设当前实际压力是0.45MPa,反馈值就是45%,偏差为零。如果实际压力是0.40MPa,反馈就是40%,PID看到给定比反馈高5%,就会逐渐增大输出,使得频率给定上升,泵转速加快,压力回升。

3.2 参数整定的实操路径和初始参考值

整定PID参数,我的建议是千万不要急着一口气加比例、加积分。我的路径是先纯比例,把积分时间设到最大,微分直接设为0。比例增益从0.3开始,往管道里放水制造扰动,观察压力恢复过程。如果压力波动的周期很长,而且幅度逐渐衰减,说明比例合适;如果压力拉锯式的来回振荡,就得减小比例。如果比例小了,压力始终回不到设定值,存在静差,这一步先不管,等比例调稳了再加积分。

工程上管网的滞后时间很长,从泵转速变化到压力变送器检测到变化,中间隔着泵、止回阀、管道、阀门,这个过程可能长达好几秒甚至十几秒。如果PID采样周期太短,它会不断根据旧的数据频繁调整输出,系统就会发疯一样来回摆。

我这里用的采样周期是1秒,变频器加减速时间是10秒,整定后的参数参考值如下表:

参数参考值备注
比例增益Kc0.6-0.8超过1.0很容易振荡
积分时间Ti40-60秒系统滞后大,不能太激进
微分时间Td0供水系统一般不用微分
采样周期1秒不宜低于0.5秒
输出下限20%对应10Hz,防低频憋压
输出上限100%全速运行

3.3 反馈断线、输出失控这些特殊情况的兜底

调试过程中我最担心的一件事,是压力变送器断线。4-20mA信号一旦断线,AIW读到的值会变成一个超量程的数值,比如大于32760,PID误认为压力为零,就会疯狂输出,把变频器频率顶到50Hz,造成超压甚至管道爆裂。所以程序里必须加反馈有效性判断:如果AIW读数连续3秒大于量程上限的105%,立即断开PID自动输出,让变频器降频到下限并保持,同时触发故障报警。这个保护我看着很多项目都省了,真心建议一定要加上,成本只是几行比较指令。

还有一个容易忽略的是PID输出变化幅度限幅。给Modbus写频率时,我加了一个斜坡限制,每个扫描周期频率给定值最多变化0.1Hz,相当于人为把输出爬坡速度控制在1Hz每秒左右。这样即使PID参数有点激进,频率也不会瞬间跳变,能有效防止变频器因给定突跳而过流报警。不过要注意,这个限幅时间参数要和变频器加减速时间配合好,设置不当会导致压力响应变慢。

4. 三泵协同的启停逻辑:加泵、减泵、轮换一个都不能乱

4.1 加泵减泵的判定条件与去抖延时

3托3的核心其实是泵组的协同逻辑,而不是PID本身。PID只负责当前在线的、处于调速状态的泵,其余在线泵则以固定的较高频率运行,整个系统始终保证至少有一台泵在自动调节压力。

我这里的加泵判断条件是这样:当前在线泵数小于3;调速泵的输出频率已经达到49Hz以上,说明这台泵已经全速在跑;同时实测压力比设定值低超过0.05MPa。这三个条件同时满足,并且持续30秒不消失,程序才会把下一台泵启动。为什么要持续30秒?因为管网压力波动是缓慢的,可能某个瞬间用水量突然变大,压力瞬间低了一下,30秒的去抖能避免泵频繁启停。

减泵条件对称:在线泵数大于1;调速泵输出频率降到了30Hz以下;实测压力比设定值高超过0.05MPa。持续30秒后切除一台在线泵。我见过不少项目加泵逻辑很完善,减泵却做得粗糙,结果就是夜间小流量时系统在“加一台泵又减一台泵”之间来回跳跃。正确的做法是加上加泵和减泵动作之间的互锁时间:加泵动作后10分钟内不允许减泵,减泵动作后10分钟内不允许加泵。

4.2 新泵投入瞬间的防压力冲击处理

这里要讲一个我在调试中踩过的很深的坑,就是新泵投入瞬间的压力冲击。大家都知道离心泵启动是软启动,但没人提的是,如果当前调速泵已经全速运行,这时候直接发出新泵的启动命令,新泵频率从0Hz开始爬升,在叶轮还没建立足够压头之前,它是不出水的,等于只增加了负荷没增加流量。管网压力会先掉一段,然后等新泵频率上来,水量一下子涌进去,压力又会冲高,这会直接造成后续PID振荡。

我的解决方案是“预降频投入”:加泵确认后,程序先不给新泵启动信号,而是先把当前调速泵的频率给定强行压到40Hz左右,让母管压力略有回落,然后再启动新泵。新泵的加速时间设长一点,20秒左右,等它的频率爬到和调速泵差不多的水平后,再把PID的控制权交还给调速泵,让系统自己去平衡。实测这样操作,投入瞬间压力波动能控制在0.02MPa以内。后来我把这个预降频动作做成一个独立的子程序,每次加泵都必须走一遍,再也没出现过压力骤降的问题。

4.3 运行时间均衡和自动倒泵

三台泵都配了变频器之后,另一个优势就能发挥了,就是运行时间均衡。我在程序里给每台泵维护了一个累计运行时间变量,每次启动泵时,程序自动优先启动累计运行时间最短的那台;每次停泵时,优先切除累计运行时间最长的那台。这样三台泵的磨损和保养周期基本一致,不会出现某台泵轴承都磨坏了另一台还没跑过几天的情况。

自动倒泵的逻辑我放在每天凌晨用水量最低的时间段,一般是2点左右。做法也比较温和:把当前要停掉的泵频率慢慢降到下限,同时把要接替的泵用很慢的速率启动,两台泵在同一压力母管上短暂并列运行,等压力稳定后,才把旧泵彻底停止。因为两台泵都是变频驱动,这个过程非常平滑,触摸屏上能看到压力曲线几乎是一条直线。倒泵完成后,系统会自动把“主机”标志转移给新的调速泵,后面的加泵减泵顺序也跟着一起切换。

5. 现场调试踩过的坑:四个典型异常的完整排查记录

5.1 压力持续振荡,调PID调了三天才发现是采样周期的问题

项目刚送电做联动调试时,系统在自动状态下压力曲线像心电图一样,上下摆个不停。我一开始以为是PID参数问题,把增益从0.8一路往下降,降到0.3了还是不解决问题,压力照旧按一个固定周期来回摆。后来我把PID输出值打到监控画面里,发现一个诡异的现象:PID输出本身很稳定,但是变频器反馈回来的实际频率却在上下游走。查到最后才发现,PID默认的采样周期是0.2秒,输出每个周期都在变化,而变频器的加减速时间是10秒,等于PID已经把命令发出去了,泵速根本跟不上,等泵速终于跟上来的时候,PID又根据最新的压力信号改了命令。

解决办法就是前面提到的那套:采样周期改到1秒,输出变化限幅到0.1Hz每周期,变频器加减速时间统一设10秒。改完之后,压力曲线在十分钟内就平滑下来了。这件事给我的教训是,PID参数不对不一定全是比例积分的问题,先确认采样周期和执行机构响应速度是否匹配,比盲目调增益要重要得多。

5.2 加泵瞬间压力回落,是止回阀和时序双重问题

有一次系统在自动加泵时,母管压力从0.45MPa直接掉到了0.32MPa,将近0.13MPa的跌落,这在供水系统里是非常吓人的。我第一反应是新泵没有正常出水,查看了运行反馈,泵是在转的,但压力就是不涨。后来把新泵的出口阀拆开检查,发现这只止回阀的弹簧偏硬,开启压力偏高,泵在低转速阶段产生的压头根本顶不开阀瓣,水就在泵腔里打循环。变频器看到的是泵在轻载运行,电流很低,实际却没有有效输出。

这个问题的根治办法有两层。第一层是机械层,把止回阀换成开启压力低的缓闭式止回阀;第二层是控制层,加泵启动前必须检查泵腔是否充满水,确认后再启动,同时利用预降频策略,让母管压力主动让出一部分余量,等新泵建立压头后再逐步回收压力。经过这番修改,后续加泵时的压力波动基本都在0.02MPa以内。

5.3 变频器偶发过流报警,谐波和加速时间同时背锅

系统稳定运行几天后,开始出现偶发性的变频器过流报警,一天一两次,没有规律。比较诡异的是报警并不是出现在某台泵启动的瞬间,而是出现在一台泵正常调速运行、另一台泵在旁边启动的瞬间。

我用录波器看了母线电压波形,发现三台变频器并联在同一段母线上,中间没有加输入电抗器。旁边泵启动时,直流母线电压出现明显跌落,正在调速的这台变频器为了维持输出,电流猛涨,触发了过流保护。此外,三台变频器的载波频率都是一样的默认值,同步谐波叠加在母线上,进一步恶化了电流波形。解决方案也简单:给每台变频器加装输入电抗器,并且把三台变频器的载波频率分别错开,比如一个4.0kHz、一个5.0kHz、一个6.0kHz,同时把泵的启动间隔时间至少拉开到10秒以上。改完之后,过流报警再也没出现过。

5.4 夜间小流量工况的睡眠与唤醒

供水项目还有一个躲不开的工况,就是夜间用水量极小的时候。如果系统一直保持一台泵在线调速,频率会往下掉,掉到10Hz、8Hz,泵处于接近闷转的状态,电机发热大、效率极低,压力还容易超调。有些项目直接让泵低频运转一晚上,第二天一早电机外壳都是烫的。

我的做法是加睡眠唤醒逻辑:当调速泵输出频率低于下限值25Hz,并且母管压力高于设定值0.05MPa,这两个条件持续5分钟后,程序认为进入了小流量状态,就把泵停下来,靠管道余压和现场的气压罐保压。母管压力随后会自然缓慢下降,降到比设定值低0.08MPa左右时,系统自动唤醒,把泵重新启动。这个逻辑相当于一个大滞环,测试下来,夜间泵每个小时只启动一两次,每次运转几分钟,既保了压又省了电。

6. 触摸屏组态与后续可扩展的接口:项目交付不只是PLC

6.1 人机界面该放哪些画面和信息

触摸屏用的是Smart 700 IE V3,和200smart PLC通过以太网直连。画面我分了四页,每页承担不同的任务。主画面放设备图,能看到三台泵的启停状态、变频器运行频率、母管压力设定值和实测值,平时盯屏只看这一页就够。手动操作页是给检修用的,每台泵可以独立启动停止,可以对变频器直接给定频率,但必须切换到手动模式才能操作,防止电工在柜子前检修时误碰自动逻辑。趋势画面记录压力和频率的实时曲线,调PID的时候这个画面帮了大忙。报警页面则把超压、欠压、变频器故障、反馈断线这些信息汇总,有报警时触摸屏顶部的指示灯会闪。

组态时有几个细节要注意。一是PLC程序里要把关键变量放到稳定的V区地址并做好注释,触摸屏变量引用的是绝对地址,注释不写清楚,后期维护根本看不懂。二是页面切换按钮和停止按钮要设置操作权限,至少分操作员和管理员两级,避免任何人都能乱改设定压力。三是触摸屏和PLC的时钟要做同步,故障记录的时间戳才有意义。

6.2 预留的扩展能力和数据采集接口

这套系统做完之后我发现,其实它的潜力还很大。200smart本体自带一个以太网口,在接触摸屏的同时,还可以作为Modbus TCP服务器,把压力、频率、运行状态、累计运行时间这些数据开放给上位机。如果客户以后想上数据采集和远程监视,只需要在上位网段里加一台边缘网关,用Modbus TCP轮询PLC的V区数据就能拿到全部信息,不用动PLC程序。

另外还预留了四路模拟量输入通道,我这次只用了AIW16一路接压力变送器。以后如果要加进水流量、水箱液位、泵前压力或者水质PH值,直接往扩展模块上加信号就可以了,不用换PLC。我给程序里也留了几个标准的接口,比如故障只读区、远程启停控制区、频率给定覆盖区,这些接口默认都是空的,不影响当前运行,但只要写上对应地址,上位机马上就能接管远程控制。

最后分享一个干这行多年的经验:恒压供水项目的成败,七成在现场调试,三成在程序设计。你见过太多程序写得花里胡哨、参数一堆,结果现场一给水就现出原形的案例。做这种系统,宁愿把逻辑写得简单直白,把边界条件做扎实,把保护兜底做全,也不要去追求什么花哨的算法。一处妥当的保护逻辑,比十个看似高级的优化技巧都值钱。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询