做恒压供水项目很多年了,身边经常有同行问我要一套“拿过去就能改”的完整图纸和程序。这套基于西门子S7-200 SMART PLC配西门子触摸屏的恒压供水方案,是我前两年给一个厂区生活供水系统做的实际项目,工况不算复杂,但很典型:三台泵、一台变频器,一对一变频工作方式(一台变频器带一台泵),配一台西门子SMART LINE触摸屏做本地监控。整套东西从电气图纸、PLC程序到HMI画面我都整理出来了,今天把这个项目的完整设计思路和核心实现拆开讲一遍。
这套系统能解决什么问题,先把话撂明白:管网压力不恒定、水泵频繁启停、夜间小流量时费电、多泵切换冲击大。对自来水加压站、高层楼宇供水、厂区生产生活用水这种场景,这套方案是一套低成本、稳定可靠、维护量小的标准做法。适合刚入行做自控的工程师拿来参考,也适合有一定基础的朋友对比一下自己的设计习惯。
1. 系统方案选型与整体设计思路
1.1 为什么要选“一对一变频”而不是“一拖多”
恒压供水行业里,最常见的两种泵组方案就是一拖多(一台变频器轮流带多台泵,通过接触器切换)和一对一变频(每台泵都有自己对应的变频器,或者一台变频器固定带一台主泵,其余泵工频投入)。
这套项目用的是“一台变频器带一台泵”的配置,剩下两台泵直接工频。这么做,有人会觉得“浪费变频器”或者“没有技术含量”,但在实际项目中,我非常推荐中小型供水系统采用这个方案,主要原因是:
- 可靠性高。一拖多方案最怕的就是接触器切换瞬间的电气冲击和机械冲击。泵在变频和工频之间切换时,如果相位和时序没处理好,轻则压力波动大,重则烧接触器触点。一对一变频把这个隐患直接去掉了。
- 逻辑简单。程序里不需要大量处理“谁在变频”、“谁该退出”、“切换前先停谁”这种状态机逻辑。调试周期短,后期维护也省心,甲方电工看一眼就懂。
- 投资差异可控。一台小功率变频器(比如5.5kW以内)和一套可靠切换系统比起来,价差并没有想象中大。但系统可靠性的提升却是质变的。
当然,凡事有取舍。如果泵的功率很大(22kW以上),或者泵台数非常多(4台以上),一对一变频的初投资会明显变高,那时候就要仔细比较了。对三台泵、单泵功率不超过15kW的中小型系统,我建议优先考虑一对一变频。
1.2 系统整体架构与工作流程
这套系统的整体架构可以概括为“一个压力闭环、三台泵节点、一套人机交互面板”。
压力闭环是整个系统的核心。管网出口装一只压力变送器,输出4-20mA标准信号,进S7-200 SMART的模拟量输入通道。PLC里跑PID运算,把当前压力值和设定值(比如0.4MPa)做比较,输出0-10V(或者4-20mA)信号给变频器,控制变频器的输出频率,从而改变水泵转速。
三台泵的工作关系是这样:1号泵是变频主泵,持续通过变频器调速;当1号泵已经运行在50Hz,但压力还是不够时,PLC延时把2号泵工频投入;若还不够,再把3号泵投入。当夜间用水量小、压力偏高时,先停工频泵,然后变频泵降到休眠频率以下,进入休眠状态,压力掉下来再自动唤醒。
触摸屏负责三件事:监视(压力、频率、电流、泵状态)、设置(目标压力、PID参数、加减泵延时)、记录(运行时间、故障报警、启停次数)。
这个架构最大的特点就是“边界清晰”:PLC负责逻辑和小闭环PID,变频器负责执行层调速,触摸屏负责和人打交道。每个部件干自己最擅长的事情,出问题也好查——压力不稳就看PID参数,泵不启动就看PLC输出点,屏没显示就看通信和电源。这套思路也很适合扩展到其他恒压类系统,比如热水循环、空压机联控。
2. 电气图纸设计与硬件配置
2.1 主回路设计要点
主回路这块,首先要确认电机的额定电流、启动方式和保护配置。这套项目用的是3台5.5kW水泵,电机额定电流约11.5A,断器选25A,接触器选额定电流25A的规格,热继电器整定在11A左右。
主回路的关键在于**“变频回路”和“工频回路”要严格分开**。1号泵接变频器输出端,2号、3号泵直接工频启动。
有个设计细节容易被忽略:变频器输出端绝对不允许接接触器(除非是那种专用安全的变频器切换用接触器序列),所以1号泵一旦接入变频器,就不要再考虑“切到工频”这种操作。如果系统真的要兼顾“变频/工频互切”,必须做机械互锁和电气互锁,并且变频器要配制动或者至少支持自由停车切换,小项目我基本不推荐这么玩。
主回路元器件选型参考:
| 元器件 | 选型规格 | 说明 |
|---|---|---|
| 塑壳断路器 | 32A/3P | 总进线保护 |
| 分路断路器 | 16A/3P | 每台泵单独回路隔离 |
| 交流接触器 | 25A/线圈220V | 工频泵控制,选40A更稳 |
| 热继电器 | 11-14A可调 | 工频泵过载保护 |
| 变频器 | 5.5kW/380V | 重载型,输出过载能力120% |
| 压力变送器 | 0-1.0MPa/4-20mA | 两线制,24V供电 |
2.2 控制回路和模拟量接线
控制回路相对简单:PLC的DO输出点接中间继电器,中间继电器再带接触器线圈。为什么不能直接用PLC输出点驱动接触器线圈?触点容量不够,而且感性负载的通断会对PLC继电器触点造成电腐蚀,时间长了触点阻值变大,就会出现“偶尔吸合不上”的怪毛病。中间继电器一加,问题全解决。
模拟量接线这块要重点讲一下,因为很多初学者在这踩坑。S7-200 SMART的模拟量输入端口,接两线制变送器时,正极接变送器的+24V,负极接AI通道的+端,同时AI通道的-端和模拟量公共端M要接好,否则读数飘得没法看。另外,压力变送器信号线必须用屏蔽双绞线,屏蔽层单端接地(在PLC端接地),不要两端都接地,避免形成地环路。
接线时注意一个细节:信号负端(COM)和电源负端的关系。两线制变送器最简单的接法是:PLC的24V电源正极接到变送器正端,变送器负端回到PLC的AI端子正极,AI负端和电源负极在PLC内部是通的。如果用了外部开关电源给变送器供电,就一定要把外部电源的负端和PLC的模拟量M端共起来,否则回路不闭合。
2.3 变频器和触摸屏通信参数
触摸屏与PLC之间走以太网通信,这是S7-200 SMART的一大好处——本体自带网口,不需要额外扩展通信模块。触摸屏这边只要新建连接时选“S7-200 SMART”,填上PLC的IP地址(默认192.168.0.10),波特率不用管(以太网自动协商),基本就能通了。
变频器这边用的是模拟量控制,不是通信控制。为什么不用通信?一个是项目变更少、参数稳定,另一个是模拟量控制最直观,现场电工用万用表就能查问题——量一下AI端子有没有电压,就知道PLC给没给出信号。通信控制虽然省线、能读更多参数,但对调试人员的要求高不少,在不能保证后期维护水平的时候,我宁愿用模拟量。
变频器需要设定的参数包括:运行指令来源(端子控制)、频率指令来源(模拟量0-10V)、加速时间(按5.5kW泵算,一般6-10秒)、减速时间(同样6-10秒,不需要太快,避免水锤)、下限频率(休眠相关,后面讲程序时细说)。
3. S7-200 SMART程序核心逻辑实现
3.1 PID闭环调节与参数设定
恒压供水的核心是PID闭环,S7-200 SMART支持两种方式:调用PID向导生成的PID功能块,或者用自整定。我用的是向导方式,因为向导会自动分配PID回路表、初始化参数,省掉很多指针操作的麻烦事。
PID回路关键参数配置如下:
- 给定值(SP):0.4MPa对应20%的量程(0-1.0MPa变送器),即给定值=0.4/1.0*100=40.0
- 反馈值(PV):模拟量通道AIW16,经过Normalization归一化到0.0-100.0
- 比例增益Kp:1.5(这个值要从0.8左右慢慢往上加)
- 积分时间Ti:3秒(供水系统滞后不大,但PID扫描周期快,这个值比较合适)
- 微分时间Td:0(恒压供水基本不用微分,管网压力波动大的话微分反而容易激起振荡)
有一个容易踩的坑是PID输出方向和频率给定方向的匹配。变频器一般有两种频率给定方式:0-10V对应0-50Hz,或者10-0V对应0-50Hz(反转特性)。如果用默认的正特性,而现场线接成了反转特性,PID输出变大时频率反而降低,形成正反馈,结果就是压力要么冲顶,要么掉底,根本稳不住。调试时先手动给变频器一个电压,确认输出增大→频率升高→压力升高,这个方向对了再投自动。
PID采样周期在向导里设置,我用的是0.5秒。太慢会感觉反应迟钝,太快对模拟量信号噪声敏感,0.5秒对于泵类负载是折中值。
3.2 多泵投切与轮换逻辑
多泵控制逻辑是另一个重头戏。三台泵的状态机设计,我的原则是“主泵优先变频、辅泵工频补压、按累计运行时间轮换主泵”。
具体逻辑流程:
- 启动:PLC上电后先检测管网压力,若低于启动压力(设定值-0.05MPa,约35%)且没有故障,则启动1号泵(变频)。
- 加泵:1号泵频率持续运行在49Hz以上,且当前压力仍低于设定值(误差超过3%,持续10秒),延时加2号泵工频;再过10秒仍不够,加3号泵。
- 减泵:当压力高于设定值+0.03MPa,且1号泵频率已经降到40Hz以下,延时20秒切掉最后一台工频泵。
- 休眠:只有1号泵在运行,且频率持续低于25Hz(可调),压力高于设定值,延时30秒后停泵休眠。
- 唤醒:休眠状态下压力低于设定值-0.03MPa,延时5秒自动重新启动变频泵。
轮换逻辑用累计运行时间排序,每次启动时挑累计运行时间最少的那台泵作为变频主泵。这样做的目的是让三台泵磨损均衡,不至于一台泵一直干、另外两台配件都锈死了。轮换不是频繁进行的,每次系统停机超过24小时或者连续运行7天才轮换一次,靠一个24小时定时器加一个运行时间累计寄存器就能实现。
每台泵都要有独立的手/自动切换开关(柜门上做手自动转换开关),自动模式下PLC按上述逻辑输出;手动模式直接启停,用于检修和应急。
3.3 故障处理与保护逻辑
保护逻辑是程序里最值得花心思的部分。常见故障包括:变频器故障(过流、过压、过热)、电机过载(热继电器动作)、压力超限、传感器断线。
变频器故障通过变频器的故障继电器常闭触点接到PLC输入点,一旦动作,立即停变频泵,并且把故障状态字写到触摸屏报警画面。这里有个关键逻辑:变频器故障时不自动复位、不自动切工频,除非操作员确认后手动复位。否则变频器一过热就自动切工频,可能扩大事故范围。
压力超限保护分为两级:一级报警(压力>0.6MPa),PLC停止加泵并全速降压;二级联锁(压力>0.7MPa),立即停所有泵,并触发报警。这个用压力变送器做,不能用机械电接点压力表替代,因为模拟量信号才能做连续判断。
传感器断线检测是一个容易忽略的功能。4-20mA信号如果断线,AIW16会读到极小值(0或者负值),如果程序不做判断,PID会把频率往死里加,泵全速运行,后果就是爆管。所以我在程序里加了一段:当AIW16对应的压力值低于0.02MPa且持续5秒,认为传感器断线或故障,立即停泵并报警提示“压力传感器故障”。这个逻辑在项目调试阶段也真的派上了用场,帮甲方避免了一次事故。
4. 西门子触摸屏画面组态与操作设计
4.1 画面结构与导航设计
触摸屏选的是西门子SMART 700 IE V3,7英寸,分辨率和显示效果对这套系统足够。画面结构采用了“总览-控制-参数-报警-趋势”五画面结构,底部做固定导航按钮条,操作员在任何画面都可以一键切走。
总览画面放最重要的信息:当前压力、目标压力、变频器频率、三台泵的启停状态、运行/故障指示。控制画面放操作按钮:远程启动、远程停止、手动/自动切换、故障复位。参数画面放PID参数、加泵/减泵/休眠/唤醒阈值,操作权限要口令保护。报警画面显示历史报警记录和确认操作,趋势画面显示最近2小时压力曲线。
这个画面设计思路,核心原则是“监视信息要一眼能看到,操作权限要分级”。值班员不是专业工程师,画面做太复杂反而容易出错。
4.2 关键画面实现细节
参数设定画面的实现有个细节值得分享:数值输入域和PLC中的实数变量直接连接,但必须设置上下限保护,防止值班员把PID参数改成不可用的值。比如Kp的输入域上下限设0.1-10.0,积分时间设0.5-100.0秒,加泵延时设5-60秒。
还有一个不小的细节是开关量变量的动画连接。泵的状态用“显示”动画连接PLC的Q点,红灯表示运行、灰灯表示停止;故障用“闪烁”动画功能,只要故障位置1,对应图标就闪。闪烁是最容易引起注意的视觉提示,比颜色变化强得多。
报警画面这块,SMART LINE本身有报警控件,可以配置模拟量报警和离散报警。我用了离散报警比较多:传感器断线、压力超限、热继电器动作、变频器故障,每条报警都有发生时间和确认状态。报警消息文本直接写中文,西门子的报警文本支持中文字符,不存在乱码问题,只要在组态时选对语言版本就行。
操作权限分两级:操作员(只能启停和复位)和工程师(可以改参数)。WinCC flexible(组态软件)里用户管理要建两个用户组,然后每个画面元素设置授权级别。没权限的操作员点参数画面里的输入域,会弹出密码输入框,密码输对了才能修改,这个权限控制虽然基础,但对防止误操作非常有效。
4.3 通信与变量连接的注意事项
触摸屏和PLC的通信通过以太网,需要注意的点是IP地址规划。PLC设为192.168.0.10,触摸屏设为192.168.0.11,子网掩码统一255.255.255.0。不能用和电脑同段但冲突的IP。现场调试时,如果下载程序后通信不上,最实用的排查步骤是:
- 看触摸屏系统设置里“连接”是否显示绿色对勾。
- Ping一下PLC的IP(用电脑跑命令,或者触摸屏的诊断功能)。
- 查HMI组态连接里PLC类型是不是选对了(S7-200 SMART)。
- 如果还是不通,检查网线,PLC本体网口不支持交叉线直连吗?其实现在网卡都是自适应了,交叉直通都能通,但不排除个别老设备,最好用直通线。
组态变量的时候有个性能问题要提一下:不要在触摸屏画面里放太多不必要的变量采集,特别是趋势画面,数据采样频率不要设太高。SMART LINE的性能有限,采样周期设1秒以上,历史趋势保留最近2小时,基本够用。如果设成200ms采样,画面刷新可能明显变卡。
5. 调试全过程与PID参数整定实操
5.1 分步调试思路
这套系统的调试我分成了三步走:先分体调试、再闭环调试、最后全自动联合调试。
分体调试要验证的是:变频器手动给定能否正常调速、接触器吸合释放是否正常、PLC输入输出点有没有接错、压力变送器读数是否准确。有一个小技巧:压力变送器装上后,用万用表量输出电流,对照当前管网压力算一下是否一致。比如当前压力0.25MPa,变送器量程0-1.0MPa,理论输出电流=4+(0.25/1.0)×16=8mA,如果量出来是8mA左右,说明信号链路没问题。
闭环调试把PID参数投进去,目标压力设定一个安全值(比如0.3MPa),用变频泵单独带,看压力能不能稳定在那个值附近。这一步如果稳不住,问题基本出在PID参数或者方向匹配上。
全自动调试模拟各种工况:开一台工频泵、开多台泵、模拟断线故障、模拟压力超限,确认逻辑顺序和延时符合设计。
5.2 PID参数整定经验
PID参数整定这块我再说一点个人经验。很多人喜欢在网上找一套“万能参数”,直接填进去就以为能跑,实际上供水系统的管路阻力、泵特性、传感器安装位置都会影响响应特性,必须现场调。
我的整定方法是:
- 先设Kp=0.8、Ti=5秒、Td=0。如果压力慢慢靠近设定值,但有小幅波动(±0.02MPa),说明参数基本合理。
- 逐步增大Kp到1.2-1.5。如果在整定过程中压力出现周期性振荡(等幅振荡),说明Kp偏大,要退回上次稳定值;如果响应太慢(压力从0.2MPa爬到0.4MPa需要超过1分钟),说明Kp偏小。
- 调Ti。如果压力离设定值有稳态偏差(比如稳定在0.37MPa而目标是0.40MPa),说明积分作用不够,减小Ti(积分时间越小积分作用越强),但不要小于1秒,否则超调会很明显。
- 最后检查扰动恢复能力:人为把一台工频泵加进去,看系统能否在20-30秒内把压力拉回设定值。
值得强调的一点是:如果水泵选型偏大,或者系统用水量波动剧烈,PID参数再怎么调也很难完美,这时要考虑变频器本身的PID功能或者前置稳压罐。我在一个项目里就遇到过类似情况,最后是调整了管道上止回阀的位置,把压力传感器改到出水总管而非泵口,压力稳定性立刻好了不少。传感器安装位置对反馈质量的影响,往往比PID参数本身的影响还大。
5.3 典型问题排查实录
调试过程中遇到最多的问题是压力持续振荡。有次怎么调参数都压不住,最后发现是压力变送器安装在水泵出口很近的地方,水流扰动直接导致反馈值剧烈跳动。把取压点改到出水总管上,加装了缓冲罐之后,信号稳定了很多。所以排查问题时第一条是检查传感器信号稳不稳,用触摸屏的趋势画面观察原始PV值就能看出来。
还有一个典型的坑是休眠唤醒逻辑不停切换。表现为夜间泵频繁启停,每十几分钟就一次。原因是我最开始设置的休眠判定条件只看频率,但夜间小流量情况下,泵频率降到下限后管网压力已经超了,停泵之后压力缓慢下降,降到唤醒值再启动。如此反复。解决办法是把休眠唤醒的压力死区加大,同时加一个最短停机时间锁——泵停掉之后至少30分钟内不允许再次启动,避免短循环对接触器和电机的冲击。
第三个常见问题是通信偶尔中断。PLC程序运行完全正常,但触摸屏隔几个小时就提示“连接中断”,过几秒又自己恢复。这种间歇性故障通常不是IP设置问题,而是以太网电磁干扰。把触摸屏和PLC之间的网线换成工业屏蔽网线,并且和变频器输出电缆分槽敷设之后,问题再没出现过。
6. 项目交付资料清单与最后经验总结
这套项目交付时,我整理了一套完整的交付清单,包含:PLC程序(带注释版本)、触摸屏组态工程、电气原理图(CAD格式)、IO分配表、变频器参数设置表、操作说明书、调试记录。
其中IO分配表这个很多人觉得没必要,我强烈建议做,而且要按照“模块-通道-信号名称-线号-柜内端子号”五列来做。后期如果设备出问题,电工拿着表对着端子排查线,效率能提升好几倍。
最后分享一个关于PLC程序注释的个人习惯。我写程序的时候会在每个网络段前加一行注释,说明这段逻辑是干什么的,类似“加泵延时判断”“轮换主泵计算”“休眠锁定计时”。这个习惯虽然当时看起来多花了一点时间,但半年后自己回去看程序,或者甲方工程师要改逻辑,有注释的程序维护成本至少降低一半。这套恒压供水项目运行到现在,除了定期巡检,几乎没有出现过大的故障。要说这套系统最大的优点,我觉得是“每个部件都在自己该在的位置上”——该用PID的地方用PID,该用简单逻辑的地方绝不用复杂状态机,该人工确认的地方绝不放给自动化。自动化不是越复杂越好,而是越合适越好。做恒压供水这个领域,长期稳定可靠地运行,比任何花哨的功能都重要。