基于S7-200 SMART PLC与西门子触摸屏的恒压供水系统完整方案
做恒压供水项目很多年了身边经常有同行问我要一套“拿过去就能改”的完整图纸和程序。这套基于西门子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回路关键参数配置如下给定值SP0.4MPa对应20%的量程0-1.0MPa变送器即给定值0.4/1.0*10040.0反馈值PV模拟量通道AIW16经过Normalization归一化到0.0-100.0比例增益Kp1.5这个值要从0.8左右慢慢往上加积分时间Ti3秒供水系统滞后不大但PID扫描周期快这个值比较合适微分时间Td0恒压供水基本不用微分管网压力波动大的话微分反而容易激起振荡有一个容易踩的坑是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.6MPaPLC停止加泵并全速降压二级联锁压力0.7MPa立即停所有泵并触发报警。这个用压力变送器做不能用机械电接点压力表替代因为模拟量信号才能做连续判断。传感器断线检测是一个容易忽略的功能。4-20mA信号如果断线AIW16会读到极小值0或者负值如果程序不做判断PID会把频率往死里加泵全速运行后果就是爆管。所以我在程序里加了一段当AIW16对应的压力值低于0.02MPa且持续5秒认为传感器断线或故障立即停泵并报警提示“压力传感器故障”。这个逻辑在项目调试阶段也真的派上了用场帮甲方避免了一次事故。4. 西门子触摸屏画面组态与操作设计4.1 画面结构与导航设计触摸屏选的是西门子SMART 700 IE V37英寸分辨率和显示效果对这套系统足够。画面结构采用了“总览-控制-参数-报警-趋势”五画面结构底部做固定导航按钮条操作员在任何画面都可以一键切走。总览画面放最重要的信息当前压力、目标压力、变频器频率、三台泵的启停状态、运行/故障指示。控制画面放操作按钮远程启动、远程停止、手动/自动切换、故障复位。参数画面放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理论输出电流40.25/1.0×168mA如果量出来是8mA左右说明信号链路没问题。闭环调试把PID参数投进去目标压力设定一个安全值比如0.3MPa用变频泵单独带看压力能不能稳定在那个值附近。这一步如果稳不住问题基本出在PID参数或者方向匹配上。全自动调试模拟各种工况开一台工频泵、开多台泵、模拟断线故障、模拟压力超限确认逻辑顺序和延时符合设计。5.2 PID参数整定经验PID参数整定这块我再说一点个人经验。很多人喜欢在网上找一套“万能参数”直接填进去就以为能跑实际上供水系统的管路阻力、泵特性、传感器安装位置都会影响响应特性必须现场调。我的整定方法是先设Kp0.8、Ti5秒、Td0。如果压力慢慢靠近设定值但有小幅波动±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该用简单逻辑的地方绝不用复杂状态机该人工确认的地方绝不放给自动化。自动化不是越复杂越好而是越合适越好。做恒压供水这个领域长期稳定可靠地运行比任何花哨的功能都重要。