
说实话做我们这一行每年经手的供水项目图纸没有几十套也有十几套但能像这套“恒压供水无负压供水全套图纸程序西门子S7-200 SMART PLC 西门子触摸屏”这样把图纸、程序、上位机三样东西完整打包交付的项目并不算多。这个项目里控制核心是西门子S7-200 SMART上位机用的西门子SMART LINE系列触摸屏底层控制对象是变频器带多台水泵整条链路从PID反馈调节到泵组投切都由PLC完成。本文就把这套系统从头到尾拆开讲无负压是怎么实现的、图纸怎么看、程序逻辑怎么写、触摸屏画面怎么组、现场调试要避哪些坑。这套方案比较适合下面这些人参考刚接触供水项目的电气工程师、准备做恒压供水毕业设计的自动化专业学生、设备厂家要二次开发成套控制柜的朋友。我把现场真实用过的参数、踩过的坑、调整逻辑都整理出来比单纯看图纸或程序清单更接近“能干活”的状态。1. 先把这个项目看透恒压供水到底在解决什么问题很多人一拿到图纸就急着看PLC点表我习惯先想清楚系统的物理模型。恒压供水的本质是一个典型的闭环压力调节系统水的压力通过压力变送器变成4-20mA信号送到PLC的模拟量输入口PLC把这个实际压力值和触摸屏上设定的目标压力做比较两者有偏差时PID运算输出一个频率给定值变频器按照这个给定值调节水泵转速从而改变出水量和压力。这套闭环实时运转最终出水总管上的压力就被稳定在设定点附近。之所以非要用变频器是因为水泵是典型的二次方负载转速的变化会直接引起流量变化而流量变化时扬程特性也会跟着走。用变频调速来调节压力比传统的阀门节流要节能得多同时水泵可以软启动对电网和机械冲击都小。实际项目中一用一备是最常见的泵组结构要求更高点的会做两用一备甚至三用一备。泵多的时候PLC就不仅要干PID的活还要干“调度”的活也就是什么时候加泵、什么时候减泵、泵怎么轮换——这些逻辑才是整套程序里真正容易出问题的地方。1.1 无负压供水不是另一个物种看到“无负压供水”这几个字不少人以为它是和恒压供水并列的另一套技术其实不对。无负压供水是恒压供水的一种进水方式它的核心是解决“泵直接从市政管网吸水会不会把管网抽成负压”的问题。普通水箱供水是先把水放到水池里再从水池加压送出好处是彻底和市政管网隔离坏处是水质容易二次污染而且水池占用空间很大。无负压供水则通过稳流罐直接串接在市政进水管上罐体上游就是市政水下游是加压泵组水进来之后经过泵组加压直接送给用户。这样做有一个关键技术支持就是市政管网水量充足的时候罐内水位稳定泵组正常从罐中吸水不会对市政管网产生负压一旦市政来水不足罐内水位下降真空抑制器就会打开补气破坏罐内真空防止把市政管网抽成负压。所以整套系统真正要做的控制还是“出水压力恒定”但必须把“进水压力低”“水箱缺水”“稳流罐水位低”这些保护信号接进PLC出现异常就停泵报故障避免设备损坏或影响市政管网。1.2 为什么很多设备厂家选S7-200 SMART这套系统选用S7-200 SMART不是没有原因的。从产品定位上看S7-200 SMART可以说就是为这种中小型单机设备而生的CPU本体自带以太网口和SMART LINE触摸屏直接用网线连接下载、监控不需要额外的编程电缆某些型号CPU自带两路模拟量输入正好覆盖“一路压力变送器一路进水压力变送器”的标配需求。对设备成套厂来说成本敏感度远比想象中高S7-200 SMART比S7-1200/1500便宜不少而它的程序容量、PID向导、Modbus通信、运动控制这些功能对供水项目已经绰绰有余。另外国内做供水成套的工程师绝大多数都有200/200 SMART的使用背景后期维护也好找人甲方也放心。选型这件事合适比参数高不高更重要这块板子放到这个场景就是典型的“尺寸刚好”。2. 全套图纸怎么看主回路、控制回路和端子对应关系拿到项目的电气图纸不要急着看最后几页的程序说明先理清楚图纸的构成。这套图通常包含系统拓扑或设备平面、主回路原理图、控制回路原理图和端子接线图、PLC输入输出接线图、触摸屏与PLC通信接线图、柜内布置图和接线表。主回路部分如果设计的是三台泵其中一台做备用那么最常见的结构是“一拖三”或“一拖二工一备一变频”。很多成套柜把每台泵做成两路一路由变频器供电另一路直接工频供电。变频器通过接触器KM1给1号泵供电KM1断开后KM2吸合1号泵就切到工频运行。为什么要这么干因为变频器相对昂贵多台泵全用变频器带着不划算所以共用一台变频器先让一台泵变频运行当这一台泵已经满频50Hz还达不到设定压力时通过切换逻辑把它切到工频变频器再腾出来带下一台泵。这里面的电气联锁就特别重要要防止变频器输出端和工频电源同时接到同一台电机上那样相当于变频器输出侧短路一次就能把模块炸掉。2.1 主回路设计的常见细节水泵电机一般三相380V假如单台泵功率是11kW那么选用变频器时考虑额定电流至少是电机铭牌电流的1.2倍左右西门子V20系列的11kW变频器可以用但实际操作中如果现场管网压力波动厉害我倾向于放大一档选15kW的变频器留一点裕量运行温升明显更小。断路器、接触器、热继电器的电流也是按各自负荷选择热继电器是做过载保护用的额定电流要在水泵电机额定电流的0.95到1.05倍之间调整。接触器这里我多说一句变频回路里的接触器建议放在变频器和电机之间并且只在“变频器已停机”情况下才允许通断千万不要在变频器运行状态下去吸合或断开输出侧接触器这种习惯能毁掉很多变频器。工频回路里的接触器直接控制电机通断它的主触头容量必须足够频繁投切泵的时候触头温度会比较高选型太小容易粘死。很多图纸里还会在工频回路加一个热继电器做过载保护但在变频回路里一般不靠热继电器主要靠变频器内部电子热保护。2.2 控制回路里面最容易忽略的接线问题图纸上控制回路看着简单但恰恰是出错率最高的环节。常见的第一类错误是给S7-200 SMART供电时L和N接反或零线不经过开关直接接进去。第二个常见问题是输入端的公共端处理不对S7-200 SMART的开关量输入支持漏型和源型两种接法按图纸要求大部分传感器和按钮采用漏型接法公共端1M接24V直流电源的负极按钮一端接电源正极另一端进PLC输入点。要是公共端接反了信号怎么给都触发不了这个现象在现场检查时非常容易浪费半小时。第二类问题是模拟量信号线的接法。压力变送器通常是两线制4-20mA需要外部供电PLC的模拟量输入通道只采集电流回路信号。很多新人在图纸上看到“AIW16”就以为直接两根线插上去接线端子完事忽略了变送器需要一个24V直流电源正极供电信号负端再接入PLC通道。接反极性或者信号线用普通平行线拉了十几米压力数值就会跳来跳去。压力信号必须用屏蔽双绞线屏蔽层单端接地。2.3 PLC输入输出点规划表拿到图纸第一件事就是核对输入输出点表是否和程序注释一致。这套系统一般的I/O规划大致如下表大家设计自己系统的时候可以直接套类型地址注释信号来源/去向DII0.0手动/自动切换转换开关DII0.11号泵故障热继电器/变频器故障继电器DII0.22号泵故障热继电器DII0.33号泵故障热继电器DII0.4启动按钮按钮DII0.5停止按钮按钮DII0.6故障复位按钮按钮DII0.7水箱低液位报警液位开关AIAIW16出水总管压力压力变送器 4-20mAAIAIW18进水/稳流罐压力压力变送器 4-20mADOQ0.01号泵工频接触器接触器线圈DOQ0.11号泵变频接触器接触器线圈DOQ0.22号泵工频接触器接触器线圈DOQ0.32号泵变频接触器接触器线圈DOQ0.43号泵工频接触器接触器线圈DOQ0.53号泵变频接触器接触器线圈DOQ0.6警铃/指示灯输出声光报警器AOAQW16变频器频率给定变频器模拟量输入端子其中最容易搞混的是“启停变频器和给定频率是两个通道”这个概念。S7-200 SMART的模拟量输出是0-20mA或0-10V可选接到变频器模拟量输入端之后还要通过继电器的干接点控制变频器的启动端子。有些设计方案把运行命令也放在模拟量通道里那通常是走Modbus通信的模式用控制字和频率字完成而不是用继电器这属于后面说的通信版方案接线方式完全不同。3. PLC程序核心模块PID、多泵切换、休眠唤醒程序是整套系统的灵魂图纸画得再规整程序逻辑不严设备到了现场就是各种抽风。写这套程序我习惯按照功能拆分成几个独立模块开关量预处理、模拟量采集与标定、PID运算、泵组投切调度、轮泵、休眠/唤醒、报警与保护、手自动切换。每个模块单独写成子程序主程序里按顺序调用这样后面改起来不用在一大坨梯形图里翻上翻下。3.1 PID闭环调节是核心中的核心在S7-200 SMART里写PID最方便的是调用PID向导生成的PID指令。向导会要求配置给定值范围、过程变量范围、PID参数初始值、正反作用模式、输出上下限等。初始化时给定值上下限要和触摸屏设定范围匹配比如压力变送器量程0-1.6MPa那给定值上限设1.6MPa过程变量范围也是0-1.6MPa。注意这里有一个单位换算的问题触摸屏画面显示的是一路模拟量工程量0.0~1.6MPa而PLC内部PID回路表里的计算值是一个0.0到1.0之间的标准化实数所以不管是给定值还是反馈值都要先经过标准化变成0.0-1.0范围内的数值再给PID用。PID作用方向要单独强调一下。压力高了系统应该降低频率、减小出水量所以PID输出要跟着偏差反向变化也就是要配置为反作用。如果方向设反压力高了反而加频率系统会立刻振荡发散现场的管子和泵都可能被搞坏。我建议在上电调试之前先用手动方式给变频器一个小频率观察压力变送器反馈是否随频率上升而增大确认传感器和PLC模拟量通道没问题后再切到PID自动模式。3.2 加减泵切换逻辑怎么写才不振荡单泵系统PID调好了就完事真正考验功底的是多泵自动加泵和减泵逻辑。我参考过不少厂家提供的程序最常见的问题就是泵频繁投切。判定条件如果只是简单的“PID输出达到100%保持10秒就加泵PID输出降到0保持10秒就减泵”现场会出现一个典型现象夜间用水量小系统减到只剩一台泵这台泵在PID作用下运行在很低的频率压力还不小心冲过头于是PID输出很快降到0系统又把泵停了过了一会儿压力掉下来又重新启泵泵一天能启停几十次。解决这个问题的关键不是改PID而是在泵组调度里加滞环和延时的概念。加泵条件可以设计为“变频泵已经运行在50Hz上限并且实际压力低于目标压力0.02MPa以上延时30秒依然如此才加泵”。减泵条件设计为“这台泵已经变频运行在最低频率以下并且实际压力高于目标压力0.05MPa以上延时30秒才减泵”。设置回差是为了防止压力在目标值附近抖动触发切换延时的作用则是等待管网压力重新建立平衡。不同项目管网的容积不一样这个延时参数放到触摸屏上给调试人员现场调效果最好。加泵切换的动作顺序也要讲究。假设1号泵正在变频运行系统决定加2号泵不能直接把2号泵扔到工频上那样启动电流很大管网压力会突然冲高。正确逻辑是先把2号泵用变频器软启动等它频率升起来、供水建立起压力后再把1号泵从变频切到工频变频器让给2号泵。整个过程要在几秒内完成靠的是两个接触器的时序互锁。3.3 轮泵与手动优先多泵系统如果不做轮泵就会出现1号泵常年运行、2号泵常年闲置的问题。水泵长期不运行轴封容易锈死下次启动时反而容易出故障。轮泵策略可以按累计运行时长每次系统从停机进入启动状态时优先启动累计运行时间最短的那一台泵泵组切换过程中也优先把新泵投入、把老泵切出。S7-200 SMART内部有电池支持的实时时钟也有保持型寄存器可以用SM0.5秒脉冲给运行标志累计运行秒数再转换到小时数保存到保持寄存器里。这个功能实现不复杂但成套设备里有轮泵逻辑和没有轮泵逻辑给甲方的使用感受差别很大。程序里还必须有手动模式。并不是任何时候都需要自动判断现场试泵、检修、初期灌水排气时手动模式比自动模式好用得多。手动模式逻辑简单选择某台泵的变频/工频直接输出启动命令绕过PID和切换逻辑。但手动模式要设置最低保护条件比如水箱水位太低时手动启动也不允许否则检修时忘了补水泵空转损坏就麻烦了。3.4 休眠唤醒和无水保护很多恒压供水项目在夜间小流量工况下如果泵还一直运行哪怕频率很低也是在费电。这时就用到休眠功能当PID输出频率降到下限以下且压力持续满足要求达一段时间PLC关掉水泵依靠出水管路上并联的小气压罐维持用户侧用水压力。当气压罐压力跌到低于唤醒值PLC再自动重新启动泵。工程里有没有这个功能直接关系系统长期运行电费和维护成本。注意休眠启动时的判定条件要加一个“需要自动启动”的使能位手动模式下不能执行休眠否则调试时泵突然停了会吓人一跳。无水保护尤其在做无负压供水时必须认真对待。市政管网进水压力信号接入进水压力变送器发现进水压力低于某个阈值如0.05MPa说明来水不足泵组继续抽水可能形成负压PLC应立即停泵锁存故障直到技术人员排除来水问题后手动复位。如果系统是水箱进水模式则把低水位浮球信号接到PLC数字量输入做同样的停机保护。4. 触摸屏画面组态思路和参数下发西门子SMART LINE触摸屏可以和S7-200 SMART通过以太网直连这个组合造价不高组态软件是WinCC flexible SMART V3。项目交付时如果画面做到位甲方操作人员上手难度会低很多而且我认为这套系统的调试效率很大程度上取决于画面上能不能直接看到PID内部参数和泵的运行状态。4.1 画面划分和设计思路触摸屏的画面我一般不做太多层级操作工文化水平参差不齐在车间里戴着手套点屏幕太隐蔽的入口他们根本找不到。主画面放四块内容顶部是系统运行状态指示灯包括手自动状态、每台泵的运行/故障状态中间是压力值大字显示和实时频率显示下方是启动、停止、故障复位按钮。主画面再设几个入口进入参数画面、泵组设定画面、运行曲线画面和报警记录画面。参数画面里把“目标压力”“PID比例系数”“积分时间”“微分时间”“加泵延时”“减泵延时”“休眠压力”“唤醒压力”“最低频率”这些参数做成数值输入框PLC侧用断电保持寄存器保存界面上的初始值要和PLC程序里一致。我见过很多项目画面显示乱七八糟的负数或0都是数据类型对不上或者画面地址和PLC寄存器地址不一致造成的。这里强调一个技巧画面变量的数据类型必须和PLC变量严格相同S7-200 SMART里比较常用的压力实数存在VD区如果PLC里存的是实数而画面里定义成整数轻则显示乱码重则输入数值后被PLC当成一个很奇怪的浮点数PID直接疯掉。4.2 趋势曲线是调试神器WinCC flexible SMART里可以插入趋势控件把压力设定值、实际压力、输出频率三个变量的曲线显示到同一张图上。调试PID时我就盯着这张曲线看给定值是一条直线实际压力是另一条线PDI参数调节过程中压力曲线会不会超调、会不会等幅振荡一眼就能判断。很多现场没有专门的上位机触摸屏的趋势功能就顶上来了。实操上建议把采样周期设到200ms左右时间窗口设成10分钟这样每次调整PID参数后可以马上看到响应过程。画面里保留一个历史报警表记录故障时间、故障文本设备出了间歇性保护时翻历史记录比在电柜前蹲点守候高效得多。4.3 通信连接注意点S7-200 SMART和SMART LINE的以太网连接建议把PLC和触摸屏的IP地址设在同一网段比如触摸屏写192.168.2.2PLC写192.168.2.10连接方式选以太网。第一次下载程序时如果PLC程序里没有设置IP可以用Micro/WIN SMART通过网线搜索设备后设置。组态时还要在通信连接里把触摸屏上的“连接1”指向PLC的IP地址。很多人下载完PLC程序后发现画面数据显示不出十有八九就是触摸屏通信连接里没有配对好IP或者PLC侧已经启用了PROFINET名称而触摸屏却仍然用IP访问这个细节比较多新手容易蒙。5. 现场调试那些坑从灌水到验收的完整流程程序写完后到现场才是真正考验方案成熟度的时候。供水系统调试时最糟糕的场面是整个管路都在疯狂震动、压力表指针来回打到头、泵频繁投切像抽风一样。为了不让读者重走我当年的弯路我把现场调试的关键步骤和必须注意的坑按顺序写在这里。5.1 上电前检查多花半小时省下返工一整天变频器主回路和控制回路都接好后先不要急着合闸。拿万用表逐一检查三相电源相间有没有短路电机端U、V、W和地之间的绝缘是否正常变频器输出端到接触器这一段是否有接错相、接错线的情况。然后从图纸上的PLC输入点反查把每个按钮和转换开关都手动拨一遍确认PLC输入指示灯状态变化和输入点表对应这一步叫“点表核对”能发现大量接线错位问题。输出回路暂时不要直接带负载先断开变频器和接触器的输出侧手动强制一个输出点用万用表量接触器线圈有没有得电、对应触点有没有动作。尤其是工频接触器和变频接触器的互锁不仅要看程序还要实际断开一个接触器输出测试另一个会不会被硬件回路锁死。上电前检查还包括确认管路上所有阀门处于正确状态。泵出口阀门建议先关死进水阀门打开灌水排气。很多人第一次启泵就空转几十秒就能把机械密封烧坏这种钱赔得太冤调试周期也被拖长。5.2 PID参数的整定顺序别指望一次到位我一般不会先把程序里的PID参数设成理论计算值而是用一套“由粗到细”的实际整定法步骤操作观察目标1手动模式给定30Hz启泵压力是否稳定上升2切到自动模式P设1.0左右I设较大如300sD先设为0观察压力是否稳定在设定点附近是否缓慢波动3减小积分时间到100s、50s逐步逼近压力曲线是否能快速回到设定点4增加比例P到2~4观察是否出现振荡找到临界振荡点后回调30%左右5设定值改变20%做阶跃测试观察超调量和恢复时间6打开最远端用水点模拟大流量验证加泵逻辑会不会误动作这个过程中触摸屏趋势曲线就是最好的调试工具。每调一次参数观察5分钟曲线再决定下一步。比如压力曲线出现频率固定的等幅振荡通常说明比例系数过大需要减小P。压力能稳住但离设定点始终有误差说明积分作用太弱要减小积分时间。D参数一般不要乱开供水系统反馈信号本身有噪声微分容易放大噪声大多数成熟项目里微分时间就设成0。5.3 常见问题排查速查表这几年调试恒压供水项目把遇到的高频问题和对应处理方式做了个表遇到现象可以直接对照排查现象可能原因处理办法压力一直往下掉频率已到50Hz泵组已到满频但供水量不足PID输出被限幅先看是不是加泵条件不满足把PID输出上限确认设成50Hz对应值检查管网是否漏水压力忽高忽低泵频繁加减加减泵延时太短或回差太小增大加泵延时到30s以上把减泵回差设为0.05MPa左右压力等幅振荡PID比例过大或积分过强减小P值10%-20%观察曲线是否收敛I时间增大PID输出为0但泵还在工频运行切换后没有把工频泵状态反馈到程序或切换逻辑未把PID输出切断检查工频泵启动标志位和切换时序断开工频接触器做逻辑测试触摸屏显示压力是负值或跳变模拟量通道信号线接触不良变送器供电异常通道配置量程不一致用万用表串测变送器电流检查屏蔽线单端接地检查AIW地址对应关系夜间泵频繁启停休眠/唤醒压差设置太小压力罐容积不足把唤醒压力设到比目标压力低0.05~0.1MPa检查压力罐预充压力是否合理故障复位后系统无法自动启动故障自锁未解除启动条件不满足手动复位所有报警继电器检查“水箱水位正常”“压力变送器在线”等前置条件变频器输出有故障报警变频器参数和外部接线不一致核对变频器控制端子功能变频器故障继电器是否接入PLC输入点5.4 几个我常给成套厂说的“加分项”最后说几个项目里通常不会出现在全套图纸上、但实际特别加分的细节都是我这些年反复验证过有用的做法。第一建议在程序里记录每台泵累计运行时间和最近五次故障代码。水厂或物业打电话说设备坏了远程看运行时间就能判断这台泵是不是该保养了。第二PID相关参数、压力设定值、泵切换时间参数全部做成可在触摸屏上修改并加一个“参数修改权限密码”防止业主误操作。第三系统加一个低压保护延时比如压力低于0.05MPa持续5秒才判定无水避免启动瞬间压力还没建立起来就误报警停机。第四如果出水总管很大启泵瞬间压力建立慢可以在PID模块之前加一个“启动增压阶段”以开环50Hz频率启动10秒左右再切入PID闭环这样既不会让PID积分饱和超调又能快速建压。有一点值得特别提醒不同现场管网条件差异很大别把一套参数套死在所有项目上。同一型号的控制柜放到市政管网供水的小区和放到自备井供水的厂区PID参数和泵切换阈值可能有明显区别。真正稳妥的做法是把“参数可调”这个理念贯穿到画面和程序里而不是指望一套出厂参数包打天下。我自己每次做新项目之前都会先把目标现场的出水总管管径、最不利点高度、泵组扬程曲线这几条数据问清楚再决定初始参数值这样调试第一枪往往就能打得比较准。