S7-1200一拖三恒压供水方案:接线、加减泵逻辑与PID参数整定
发布时间:2026/10/13 21:08:27 锦皓数字建站

小区泵房改造的案例里S7-1200一拖三恒压供水几乎是绕不开的一套基本功。三台水泵、一台变频器、一支压力变送器、一个控制器就能把整个供水系统的出口压力稳稳压住用水高峰自动加泵低峰自动减泵半夜没人用水还能自动休眠。这套配置在中小型生活小区、厂房增压、小型灌溉泵站里出现频率非常高也是很多刚开始做自动化的朋友第一次独立负责的项目类型。我这两年经手过不少同类系统趁这次把从方案、接线、程序到调参的完整过程整理出来给正要上手的同行做个参照。这套内容适合几类人看刚接手S7-1200项目还不太熟悉恒压供水逻辑的调试工程师给老旧泵房做节能改造的电气维护人员以及想搞明白“一拖三到底怎么做到自动加泵减泵”的初学者。我不打算铺开讲太多理论直接按实战项目的顺序走一遍重点放在容易被资料忽略的加泵切换、PID整定和现场坑点上。1. 项目需求与方案选型为什么把宝押在一拖三上1.1 一拖三系统到底是怎么工作的先说清楚“一拖三”是什么。一套系统里有三台水泵但只有一台变频器。正常情况下只有一台泵接在变频器上由PID调节转速来改变流量和压力当用水量变大、单台变频泵已经跑到工频50Hz还不够时系统会把这台泵切换成工频运行再把变频器切换到下一台泵上让第二台泵变频调速。如果还不够再重复这个动作让第三台泵也加入。这个过程反过来就是减泵用水量降下来以后把最后工频接入的泵退掉只保留一台变频泵。这套做法的好处是省变频器。三台泵如果每台都配变频器成本直接翻三倍而且三台变频器同时运行时的谐波、调试工作量都不小。一拖三只配一台变频器把“变频调速”和“工频开停”结合起来既满足了恒压要求的调速能力又用最低的成本覆盖了多泵并联的流量范围。1.2 为什么不选一拖一也不选全变频做方案的时候甲方先问过两个问题能不能每台泵都配变频器能不能用继电器逻辑实现我直接给出了否定的答案。每台泵都配变频器的方案在可靠性上确实是天花板但成本高、柜体体积大、后期维护点多。全变频还有个容易忽略的问题三台变频器同时挂在同一个管网上如果PID参数不一致或者压力反馈时序有微小差异容易发生“抢水”式的压力振荡调试难度比一拖三大不少。所以恒压供水领域一拖三才是性价比和稳定性最平衡的方案。至于继电器逻辑实现老式泵房确实大量存在但它只能做简单的压力上下限启停做不到真正的“无级恒压”。压力到了上限就停泵降到下限再启动管网压力总是锯齿状波动管路和设备受到的冲击也大。更重要的是没有PID调速能力水泵始终满转速运行浪费了大量电能。选择S7-1200做主控是因为它在小型项目里确实合适自带PID_Compact功能块有以太网口调试软件用TIA Portal统一环境程序结构清晰后期维护的人容易上手。相比老一代PLC需要自己手写PID算法S7-1200把调速控制这件事简化了一大截。而且它的模拟量模块和数字量模块扩展灵活刚好够这套三泵系统用留出的备用通道也充足。2. 硬件配置与电气回路先把底子搭扎实2.1 核心器件选型清单做这类项目硬件选型不当会导致后期反复折腾。我这里把一套比较标准、也经受过现场考验的清单列出来供参考器件规格型号数量作用说明PLC控制器S7-1200 CPU 1214C DC/DC/DC1主控制器集成14路DI、10路DO模拟量输入模块SM1231 AI 4×13bit1采集压力变送器4-20mA信号模拟量输出模块SM1232 AQ 2×14bit1输出4-20mA频率给定给变频器压力变送器0~1.6MPa两线制4-20mA1安装在出水总管变频器7.5kW通用矢量型1变频泵调速接触器额定电流按泵电机1.5倍选6三台泵的变频/工频回路切换热继电器与电机额定电流匹配3工频回路过载保护断路器分泵回路和变频器回路配置若干就地保护和检修隔离CPU 1214C本身集成了14个数字量输入和10个数字量输出这个项目里刚好够用。需要注意的是集成AI只支持0-10V信号不能直接接4-20mA的电流型压力变送器所以一定得扩展SM1231模拟量输入模块。频率给定走SM1232模拟量输出这也是现场最常用、最直观的控制方式。2.2 主回路与接触器互锁设计主回路是整个项目的安全底线。每台水泵需要两个方向的供电回路一个是变频器输出回路一个是工频电网回路。所以三台泵对应6个接触器。以1号泵为例接触器KM1V控制变频器供电接触器KM1G控制工频供电2号泵对应KM2V和KM2G3号泵对应KM3V和KM3G。这套回路有个必须死守的原则一台泵的变频接触器和工频接触器绝对不能同时吸合。如果变频器的输出端在运行状态下被接到工频电网轻则跳闸重则直接炸掉变频器整流桥。所以硬件上要选带机械互锁的接触器或者用辅助触点做电气互锁软件上还要再加一层输出互锁也就是PLC程序中不允许变频接触器和工频接触器的输出同时为1。双保险缺一不可。变频器的制动单元在这个项目里不需要配因为供水泵是平方转矩负载停机时靠自由停车就可以系统惯性也不会产生太大反电动势加了反而容易误报过压。2.3 I/O分配与屏蔽接地的现场细节I/O点位的分配建议在一个表格里固定下来后期查线、查程序都方便。这个项目的分配如下信号名称模块地址信号类型说明压力反馈AI04-20mA0~1.6MPa对应4-20mA频率给定AQ04-20mA对应变频器0~50Hz启动按钮I0.0常开自动模式启动停止按钮I0.1常闭自动模式停止手动/自动切换I0.2开关量切换控制方式故障复位按钮I0.3常开清零报警状态1号泵变频接触器Q0.0输出KM1V1号泵工频接触器Q0.1输出KM1G2号泵变频接触器Q0.2输出KM2V2号泵工频接触器Q0.3输出KM2G3号泵变频接触器Q0.4输出KM3V3号泵工频接触器Q0.5输出KM3G变频器启停Q0.6输出变频器运行控制蜂鸣器/报警灯Q0.7输出故障指示现场接线时最容易翻车的是信号线敷设。压力变送器的模拟量信号线必须用屏蔽电缆而且屏蔽层只能单端接地通常是在PLC柜这一端接地。信号线要跟动力线分开走线槽不要捆在一起。我见过一个项目把压力线跟变频器输出线塞进同一个线槽结果压缩机一启动压力采集数值乱跳PID根本无法稳定。另外接触器的线圈两端建议并联阻容吸收器或者浪涌抑制器否则断电瞬间产生的反向电动势会通过柜内走线干扰PLC严重的会造成误动作。3. 控制逻辑与程序实现加减泵状态机才是灵魂3.1 压力信号采集与工程量换算模拟量采集的第一步是把压力变送器的4-20mA信号转换成工程量。S7-1200里可以用一条简单的公式实际压力 (AI原始值 / 27648) × 量程上限如果量程选的0~1.6MPa那么27648对应的就是1.6MPa。以设定压力0.45MPa举例PID的目标值按百分比算就是0.45/1.60.28125。用TIA Portal里的NORM_X指令把AI原始值归一化到0~1之间再乘工程量上限就得到以MPa为单位的压力值。这步看着简单但一定要注意程序里要统一单位有的工程师习惯用kPa有的用MPa调试时来回换单位非常容易出低级错误。另外一个必须做的处理是压力故障判断。压力变送器断线时AI原始值会跌到接近0。如果不做判断PID会认为管网压力为0然后一路把输出加到100%导致水泵全速运行轻则压力过冲重则把管路憋坏。所以程序里一定要加上下限量程检查压力低于0.05MPa且持续10秒以上立即报警停机并提示检查变送器。3.2 PID_Compact的组态思路S7-1200的PID_Compact是官方提供的一个功能块直接拖进程序就能用。我的组态思路是这样PID_Compact输入接实际压力百分比设定值接目标压力百分比输出接频率给定。输出范围0~100对应0~50Hz。调用时给一个固定的扫描周期我用的是500ms。这个周期比较重要供水管网是大惯性对象周期太短反而会让PID误判脉动周期太长又反应迟钝500ms算是一个比较折中的起点。在PID_Compact内部要开启抗积分饱和功能。这个功能很关键当加泵时压力一直低于设定值PID积分会越积越大频率一直顶在100%等到加泵完成压力回升需要很长时间才能把积分退回来造成明显的压力过冲。抗积分饱和打开后输出被限幅时积分会停止累积加泵后的恢复速度会快很多。我建议把PID_Compact放在一个循环中断组织块里调用比如OB30设置周期500ms。如果放在主循环OB1里扫描周期会受程序大小影响PID的调节周期不稳定调试时很难判断是参数问题还是周期抖动问题。3.3 加泵、减泵、休眠、唤醒的时序逻辑加泵和减泵逻辑是整个程序的核心。我习惯用一段结构化的SCL来描述这套状态机。加泵的核心条件IF 变频器输出频率 49.5Hz 且 出水压力 设定压力 - 0.01MPa 且 当前工频运行泵数 2 且 延时T1(默认10秒)已到 THEN 执行加泵动作 END_IF这里为什么要延时T1而不是立即加泵因为管网用水量可能有短时波动如果变频器只是瞬间冲到50Hz就马上加一台泵很可能加完泵水压又高了紧接着又要减泵造成频繁切换。延时10秒相当于一个确认过程确保确实是“持续不够压”而不是“偶发不够压”。加泵的动作顺序值得专门说一下。假设当前1号泵变频运行需要加泵时正确顺序是把变频器频率升到50Hz维持2~3秒断开1号泵的变频接触器KM1V合上1号泵的工频接触器KM1G让1号泵转为工频运行把变频器输出切换到2号泵的变频接触器KM2V变频器从0Hz重新开始软启动2号泵PID继续调速。这套顺序的核心是“先断后合”也就是断开变频接触器之后、闭合工频接触器之前要给变频器留出输出封锁的时间绝不能边输出边切换。切换间隙很短泵依靠惯性继续转压力损失可以接受。有些方案为了追求压力完全不断采用“先合后断”我不建议这么做因为它要求变频器和电网短时间并联风险太大一旦接触器动作不同步代价就是一台变频器。减泵条件刚好相反IF 变频器输出频率 下限频率(30Hz) 且 出水压力 设定压力 0.03MPa 且 工频运行泵数 0 且 延时T2(默认30秒)已到 THEN 停止最后投入的那台工频泵 END_IF减泵延时要比加泵更长目的就是防止在用水量临界波动时反复加减泵。停止工频泵时变频泵会立即提速补压压力波动可以在PID调节下恢复。休眠和唤醒是针对夜间低流量场景的。当整个系统只剩一台变频泵运行频率已经降到了休眠阈值我习惯设为25Hz而且压力一直保持在设定值附近持续60秒以上说明用水量极小泵继续转下去属于白耗电。这时候系统会停止所有泵进入休眠。休眠后管网压力会缓慢下降当压力掉到设定值以下0.05MPa时系统立刻唤醒重新启动泵补水。休眠唤醒逻辑里最忌讳的是震荡压力刚降到唤醒点泵启动加水压力升上去了因为滞回不够又满足不了休眠条件然后继续转转着转着压力又低再启动如此反复。所以唤醒滞回和休眠确认时间必须设得足够宽必要时配合最小运行时间让每次启动后至少运行3~5分钟再允许休眠。三台泵之间的轮换逻辑也必不可少。每台泵在程序里维护一个累计运行时间变量启动时优先选择累计运行时间最短的那台停止时优先停掉累计运行时间最长的工频泵。这样三台泵的磨损基本均衡不会出现一台泵常年上班、另外两台常年闲着的局面。轮换逻辑只在自动化模式下生效手动模式下完全由人工选择。4. 参数整定与在线调试从振荡到稳定的全过程4.1 变频器的基础参数怎么设置程序写完之后先别急着调PID变频器的参数如果不对后面全白搭。这个项目里变频器几个关键参数这样设置最大频率50Hz最小频率25Hz防止水泵长期在过低频率下运行导致流量不足、电机过热加速时间5~8秒减速时间5~8秒减速太快容易因管道负压造成水锤频率给定方式模拟量电流输入4-20mA启停控制方式外部端子控制转矩特性平方转矩或专用水泵特性曲线节能效果更好。这里要特别留意最小频率的设置。恒压供水如果设定频率下限为0HzPID一激动就把频率降到10Hz以下水泵可能根本不出水但电机还在转白白发热。把下限限制在25Hz相当于给PID输出加了个物理约束睡眠逻辑也更容易判断。4.2 PID参数试凑法与防积分饱和PID参数是这个项目里最花时间的环节。不同管道长度、不同水泵特性参数差异很大不能照搬。我的经验是先用一个保守的起点再根据实际曲线微调。这个项目的起步参数比例系数P1.5积分时间30秒对应PID_Compact里I值增益返算微分时间0供水系统惯性大一般不启用微分PID输出上限100%对应50HzPID输出下限40%对应25Hz频率下限。参数调整按“先P后I”的顺序来。如果压力曲线出现等幅振荡就是比例增益太大把P往下调如果压力稳定得很慢、误差消除不了就把积分时间缩短。供水管网的周期长每次调整后要观察至少5~10分钟让系统经历一次完整的加泵、减泵过程才能判断效果。我实际调完以后最终参数基本落在P1.0~1.2、积分时间50~60秒这个区间。系统稳定后压力波动可以控制在正负0.01MPa以内这个精度对生活供水来说已经足够了。还有个细节PID_Compact的输出和变频器频率之间要做一次转换。PID输出0~100对应0~50Hz而变频器最小频率是25Hz所以两套下限必须对齐。如果PID输出下限设成0但是变频器最小频率是25Hz就会出现PID输出已经降到0但变频器还停在25Hz转动这时睡眠逻辑的判断会出错。把两套下限统一起来后面的判断才清爽。4.3 水锤与切换冲击的应对调试过程中水锤是绕不开的话题。最明显的表现是加泵瞬间压力表指针猛跳一下严重时管道会“咚”一声闷响。水锤的来源主要有两个一个是大泵工频直接启动时流量突增另一个是泵频繁启停造成压力脉冲。应对水锤不能光靠程序还要从切换策略上想办法。加泵时变频器先升到50Hz、让当前泵接近满载运行再切换到工频可以减小切换瞬间的流量变化。第二台泵接入时不要直接工频启动而是用变频软启动也就是把变频器接上去以后从低频慢慢升速让第二台泵平缓并联进入管网。这个过程虽然多了几秒钟但对管网冲击的改善非常明显。管网上一定要装止回阀并且要选带缓闭功能的。普通旋启式止回阀在停泵瞬间容易发生倒流冲击。我建议在泵出口装缓闭消声止回阀配合软启动逻辑双重防护下来水锤问题能基本消除。另外减泵时也不要等压力已经明显超压了再去停泵。减泵条件里压力上限阈值可以设得比正常设定值高0.02~0.03MPa但这个值不能太高否则管网长期处于超压状态对管路接头和末端用水设备都不友好。我通常把超压报警阈值设置在设定值的110%左右一旦超过就触发声光报警。5. 运行中常见的坑与故障排查速查表5.1 现场故障记录与排查思路这类系统交付之后运行期的问题集中在几个固定方向。我这里按真实发生频率排序把典型的坑和排查思路整理出来。第一个坑是变频器报过流故障。有一次现场半夜跳闸变频器显示OC查了半天发现是加泵切换时变频接触器断开不够果断导致变频器还在输出时工频接触器就闭合了。变频器瞬间承受了电网反送电过流保护动作。处理办法是调整程序里的切换时序在断开变频接触器后加入150ms的输出封锁等待时间再闭合工频接触器。这个时间足够让变频器完成输出封锁又不会长到让泵转速明显掉下来。第二个坑是压力值反复跳动。刚开始以为是PID参数不好后来用万用表量变送器输出发现4-20mA信号里叠加了大量毛刺。原因是压力线跟接触器线圈控制线走在了同一个线槽里接触器吸合瞬间的干扰串进了信号回路。把信号线单独走线、屏蔽层单端接地以后数据一下就干净了。所以排查压力波动不稳时不要一上来就动PID参数先确认信号质量参数调半天不如一根接地线管用。第三个坑是系统断电恢复后直接自动启动。有些项目要求断电恢复后自动恢复供水但如果程序没做初始化保护上电瞬间所有输出点都可能是0而接触器如果不幸处于吸合状态就可能造成电机直接全压启动。我的做法是在启动组织块OB100里把所有输出强制清零延时3秒后才允许程序进入自动控制状态。这个延时是给接触器一个可靠的复位时间避免上电瞬间误动作。第四个坑是泵频繁休眠又唤醒。有一次值班室打电话说水泵晚上每隔十几分钟就启停一次。排查时发现是楼内漏水压力降到唤醒阈值后启动泵补水补到休眠条件后又停泵如此循环。这种情况在程序层面能做的就是增大唤醒滞回和延长最小运行时间但根本解决办法还是要物业查漏点。程序上的保护措施只能避免频繁启停对电机的额外损耗不能解决漏水本身。5.2 避坑清单与长期运行建议把现场遇到过的坑整理成一个速查表方便大家直接对照故障现象可能原因处理建议启动后压力上不来PID输出100%泵反转进水管没开压力信号断线泵腔内气体未排空检查电机相序、进口阀门、信号线手动排气加泵频繁减泵后压力波动大加泵压力阈值太接近设定值延时太短把加泵阈值改为设定-0.02MPa延长确认时间两台泵工频运行后压力超高报警减泵条件不触发工频泵退不下来降低减泵压力阈值缩短减泵延时变频器报过流OC接触器切换时序不对加减泵太频繁调整切换时序加延时检查互锁休眠后频繁自启动唤醒滞回太小管网有泄漏增大滞回排查漏水点压力显示乱跳屏蔽接地不良信号线与动力线共管改独立走线屏蔽层单端接地断电恢复后电机瞬间启动程序初始化不彻底OB100中全部输出清零增加上电延时补充一个运维层面的建议压力变送器要定期校准。这东西在泵房潮湿环境里漂移比想象中快半年到一年就可能偏差0.02MPa以上。偏差一旦超过PID死区系统就只能靠变频器调整频率来修正误差最终表现为同一个设定值下频率逐渐升高或降低能耗悄悄变高。每次巡检的时候拿一只精密压力表跟变送器比对一下超出误差范围就重新标定比什么都省事。这套系统从接线到稳定运行前后大概花了两周时间。其中程序框架用了一天写完剩下大半时间都耗在PID参数整定和切换时序微调上。我个人实际的体会是恒压供水没有太多玄学关键就是把加减泵状态机想清楚、把PID参数按管网惯性一点点试出来、把硬件互锁做到无懈可击。前面几步走得稳后面运行维护就非常省心。中间还有一个小技巧调参阶段把加泵和减泵的延时先设得长一点比如30秒起步确认系统稳定了再逐步缩短这样可以在最大程度上避免参数调试期频繁切换对管网的冲击。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。