ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

PLC变频恒压供水系统设计:从PID闭环到调试实战

PLC变频恒压供水系统设计:从PID闭环到调试实战

简介:一份面向自动化、电气工程及PLC应用学习者的课程设计文档,围绕变频恒压供水系统展开,重点讲解基于PLC的恒压供水控制方案。内容涵盖变频恒压供水概论、系统基本构成与工作原理、PLC选型依据,以及完整的系统设计流程:从系统规定、I/O及地址分配、外围接线图、电气控制系统原理到PLC程序设计,结构清晰,适合作为毕业设计或课程设计的参考模板。资源为单个doc文件,大小约173KB,打开后可对照目录快速定位章节,便于按需查阅。已有82人学习下载,适合正在完成同类课题、需要借鉴设计思路与格式规范的高校学生或工程技术人员。文档对传统供水能耗高、水压不稳等问题做了分析,并通过变频器调节水泵转速、PLC闭环控制的方式给出节能解决方案,读者可从中理解变频恒压供水系统的设计步骤、硬件选型逻辑、程序编写要点以及工程文档的组织方式。

1. 变频恒压供水:从“大马拉小车”到按需调速的压力闭环

把PLC、变频器和压力变送器组合起来做恒压供水,核心价值不是省掉一个阀门,而是把长期“大马拉小车”的定速泵运行方式,改成按用水量实时调整电机转速。传统泵站按最大扬程、最大流量选泵,实际用水量一波动,电机大部分时间都在低效率区空转,单位供水能耗居高不下。而基于PLC的变频恒压供水系统,以管网压力作为被控对象,让供水量贴着用水量走,既解决高层用户水压不足,也避免低压时段压力过高造成的能量浪费。

这套设计有两条适用路径:一是作为PLC课程设计和电气控制系统综合训练,二是作为小型泵站、楼宇二次供水改造的前置方案。顺着这份资源能完整看到系统构成、变频器与PLC选型、I/O地址分配、主回路与控制回路设计,以及一系列调试中容易翻车的地方。后续章节按“系统原理→PLC选型→接线设计→排查→验证”展开,参数部分会尽量落到可操作的具体数值。

2. 系统构成与工作原理:压力闭环、变频循环与节能曲线

2.1 系统三大部件:执行机构、检测机构与控制机构

把这套系统拆开看,它分成三个物理层次:执行机构负责把水送进管网,信号检测机构负责把管网压力“翻译”成电信号,控制机构负责根据压力偏差决定电机转速。

执行机构在这里是一台SFL系列低噪声水泵机组,电机功率75kW。这台泵有工频和变频两种运行形态:变频形态由变频器拖动,转速可调;工频形态只在用水量特别大、变频泵已经到50Hz仍不能满足时投入。信号检测机构的核心是装在泵站出水口的压力变送器,它把管网水压转成4-20mA或1-5V模拟量信号;同时还可以用电接点压力表检测上下限压力,作为数字量保护信号,防止水泵空抽损坏电机。控制机构安装在供水控制柜里,由PLC、变频器和电控设备组成。

这里要提醒一句:压力变送器信号是模拟量,进PLC前必须经过A/D转换。很多课程设计把压力变送器直接画在数字输入端子上,那是纸面示意图可以,实际接线绝对不行,第5章会专门展开这个问题。

2.2 从压力偏差到变频器频率:PID闭环的完整链路

恒压供水的控制过程可以用一条链路描述:压力设定值减去压力实际值得到偏差,PLC或变频器内部的PID调节器根据偏差输出频率给定信号,变频器按这个信号调节电机转速,转速变化改变出水量,管网压力随之变化,压力变送器再把新的压力值反馈回来。

用水量增加时管网压力下降,偏差变大,PID输出频率上升,水泵转速提高,供水量增加,压力回升,最终稳定在新的平衡转速。用水量减少时反向动作。整个过程不需要人去干预,这就是闭环自调节。控制对象是用户管网水压,本质是一个过程控制量,和温度、流量、浓度一样,对控制作用的响应存在滞后。变频器调速本身也有滞后效应,所以这套系统不能按纯比例环节去整定参数,积分时间的设置比想象中更重要。

注意一个容易误读的点:很多材料把变频恒压供水描述成线性系统,实际工程中管网存在管阻、水锤,泵的流量-扬程特性也不是线性的,更准确的说法是“带时滞的非线性时变对象”。设计时按线性模型做简化可以,但留足PID参数调节裕量是必须的。

从节能角度看,水泵是典型的平方转矩负载,转速和流量近似一次方关系,扬程近似二次方关系,轴功率近似三次方关系。当转速降到额定值的80%,流量大约为80%,扬程大约为64%,而轴功率只有额定值的51%左右。这就是变频恒压供水比阀门节流省电的根本原因。

2.3 变频循环式与变频固定式:多泵切换的两种逻辑

当系统超过一台泵时,变频器有两种工作模式。变频循环式是指变频器拖动一台泵作为调速泵,这台泵频率到50Hz后仍无法满足用水量,系统先把变频器从这台泵电机上脱开,让这台泵切到工频运行,同时变频器转去拖动另一台泵,继续闭环调节。变频固定式则是变频器始终固定拖动某一台泵,频率到50Hz后直接启动另一台恒速泵,变频泵不做切换。

原文设计用的是变频循环式。这种方式的优势是各台泵磨损均匀,不会出现某一台泵长期变频运行、其余泵长期闲置的情况;缺点是需要增加接触器切换逻辑,对切换时序要求更高。如果是两三台泵的小型系统,循环式是最常见的选择;如果泵组容量差异很大,固定式反而更稳定,因为大泵小泵切换时流量台阶不好控制。

需要注意“频率到达上限”不能作为立即切泵的唯一依据。常见做法是:变频器运行频率达到上限50Hz,并且保持一段时间后,PLC才执行加泵切换。这个“保持时间”一般设在10秒左右,太短会造成泵组频繁切换,太长则压力下跌幅度过大。

3. PLC选型与I/O分配:从点位统计到一个可跑的流程框架

3.1 选型从点数开始:输入输出点位怎么数

PLC选型的第一步不是比品牌,而是把I/O点数数清楚。按这套单泵设计,数字量输入包括:自动信号、供水启动、供水停止、报警按钮,最多加上电接点压力表的上下限保护信号,一共4到6个。数字量输出包括:水泵工频运行接触器、水泵变频运行接触器、运行指示灯、报警电铃,一共4个。

压力变送器虽然是模拟量信号,但在FX2N-32MR这种基本单元上,它不占用X输入点。FX2N-32MR本体没有模拟量输入通道,需要另外配置一块模拟量输入模块来读4-20mA压力信号。很多课程设计里把压力变送器写成X003,那只是逻辑示意,真正的物理接线必须经过模拟量模块。

原文输出点位的算法把变频器运行/关断、电机正转控制都单独算了,实际如果通过变频器多功能端子控制,PLC只需要给出一个启停触点;如果走通信控制,连这部分点位都省了。按最小系统数下来,数字量I/O总量在10到12点之间,FX2N-32MR的24点输入和16点继电器输出完全够用,还预留了扩展余量。我一般会按15%左右预留备用量,避免后续加保护信号时点位不够重新换PLC。

3.2 I/O地址分配表:把物理端子与设备一一对应

PLC程序能不能顺利跑起来,很大程度取决于地址分配是否清晰。以下是一份可直接复用的I/O分配表,按FX2N-32MR默认地址编制。

类型地址信号名称信号说明
输入X000自动信号手动/自动切换开关,打到自动时接通
输入X001供水启动启动按钮,上升沿有效
输入X002供水停止停止按钮,常闭输入
输入X004报警按钮用于模拟或复位报警状态
输出Y000水泵工频运行驱动工频接触器KM1及指示灯
输出Y001水泵变频运行驱动变频接触器KM2及指示灯
输出Y002电机运行指示综合运行状态指示灯
输出Y003报警电铃故障报警输出

这里有一个工程习惯:停止按钮尽量用常闭触点,这样急停断线时PLC也能感知故障,而不是把断线误判成正常状态。压力和下限压力如果用电接点压力表做保护,通常再占用两个输入点,分别对应“压力过低停泵”和“压力过高报警”。

3.3 一个最小可用的控制程序框架

控制程序按“自动模式判断→启停逻辑→频率给定→加泵/减泵判断→报警输出”的组织方式编写。下面是一个结构化文本风格的最小框架,方便理解控制流程;实际FX2N系列编程时用梯形图实现相同的逻辑。

(* 恒压供水主程序:自动模式下的启停与频率控制 *) IF X000 THEN (* X000=自动信号,系统进入自动状态 *) IF X001 AND NOT RUN_FLAG THEN (* 供水启动按钮 *) RUN_FLAG := TRUE; Y001 := TRUE; (* 变频运行接触器吸合 *) PID_ENABLE := TRUE; (* 启动PID运算 *) END_IF; IF X002 THEN (* 供水停止按钮,常闭输入 *) RUN_FLAG := FALSE; Y001 := FALSE; (* 变频接触器断开 *) PID_ENABLE := FALSE; END_IF; IF PID_ENABLE THEN FREQ_REF := PID_OUT; (* 频率给定来自PID输出 *) IF FREQ_REF >= 50.0 THEN (* 频率到达上限 *) FREQ_ARRIVE_TMR := FREQ_ARRIVE_TMR + 1; ELSE FREQ_ARRIVE_TMR := 0; END_IF; END_IF; IF FREQ_ARRIVE_TMR >= 1000 THEN (* 保持50Hz超过设定时间 *) Y000 := TRUE; (* 切工频运行 *) Y001 := FALSE; (* 变频接触器断开 *) END_IF; END_IF; IF F740_ALARM THEN (* 变频器故障输出 *) Y003 := TRUE; (* 报警电铃接通 *) END_IF;

逻辑说明:程序启动后先判断自动信号,再通过启动和停止按钮控制运行标志。运行期间PID输出作为频率给定,频率到达上限时用计时器累加,累加值超过1000个扫描周期才执行工频切换。这个“保持时间”是为了防止用水量短暂波动时泵组来回切换。

参数说明:计时器数值需要根据PLC扫描周期换算。如果扫描周期是10ms,1000次就是10秒;如果扫描周期是20ms,同样时间要改为500次。频率到达阈值设成50.0Hz,实际现场常设为49.5Hz左右,避免电网波动或变频器输出误差导致永远到不了阈值。

4. 主回路与控制回路设计:接触器互锁和接线细节决定成败

4.1 主回路走线顺序:断路器、接触器、变频器和电机的连接

主回路设计有两种回路:工频回路和变频回路。工频回路从电源断路器出来,经过工频接触器KM1和热继电器,直接接水泵电机。变频回路从电源断路器出来,经过变频接触器KM2,接变频器输入侧,变频器输出侧再接水泵电机。

关键约束在KM1和KM2之间。这两只接触器必须电气互锁,KM1吸合时KM2绝对不能吸合,反之亦然。否则变频器输出端一旦误接上工频电源,逆变模块会直接损坏,现场表现为变频器冒烟或炸机,没有任何后悔药。常见做法是把KM1的常闭触点串入KM2线圈回路,把KM2的常闭触点串入KM1线圈回路,形成双向互锁。

切换顺序也很讲究:变频泵要切工频时,先让变频器停止输出,再断开KM2,延时几百毫秒后闭合KM1。变频器输出侧接触器不能在运行状态直接通断,否则断开瞬间的感性负载会产生过电压,轻则报过流故障,重则击穿IGBT。工频切换到变频时同样要等KM1断开后变频器再启动。

4.2 控制回路设计:手动/自动模式与故障保护

控制回路的层次比主回路多:操作面板上的手动/自动开关给PLC一个模式信号,自动模式下系统按程序运行,手动模式下则绕过自动逻辑直接启停泵,用于调试和应急。这个设计在变频器出故障时尤其重要,原文提到当变频器故障时系统仍能按原有方式继续运行,靠的就是手动模式这个后手。

启停按钮接入PLC输入端,PLC输出端再驱动中间继电器,由中间继电器触点去控制接触器线圈。这里不建议让PLC继电器输出直接驱动75kW电机的接触器线圈,触点容量不够,而且感性负载断开瞬间容易烧触点。

变频器控制信号线从PLC输出端子引到变频器多功能输入端子。启停信号接到变频器的正转运行端子,频率给定可以通过模拟量端子给0-10V或4-20mA,也可以通过通信口给定。F740系列变频器有内置PID功能,如果压力反馈信号直接进变频器,频率给定这一步就完全交给变频器内部PID,PLC只负责泵组逻辑切换和报警处理,程序会简化不少。如果PLC自带PID指令,则压力信号进模拟量模块,PLC算完频率再通过模拟量或通信给定变频器。

4.3 压力变送器接线与量程设定

压力变送器通常为两线制仪表,两根线既供电又传信号:电源正极接变送器正端,变送器负端输出4-20mA信号,回到模拟量输入模块的电流输入端子。接线时不要把信号线和动力线走同一根穿线管,变频器输出侧的载波频率会在长线缆上耦合出干扰,导致压力读数跳动。

量程设定要按实际管网压力范围来选。如果是七层楼宇供水,压力设定值通常在0.3-0.4MPa左右,选0-0.6MPa量程的变送器比较合适;如果用于消防高压供水,量程要放大到1.0MPa以上。原文提到的CY-YZ-1001型传感器属于绝对压力传感器,但工程上测管网压力我更倾向于选择表压传感器,因为管网压力数值本来就是相对大气压的表压,直接对应设定值,不用再换算。

电接点压力表的上限和下限触点分别接PLC输入点,作为第二层保护。压力超过上限时PLC报警并暂停主泵;压力低于下限时说明可能发生管道爆裂或水源中断,PLC应立即停泵,防止水泵空抽烧毁机械密封。

5. 常见问题排查:从压力振荡到“模拟量没接对”

5.1 现象:压力波动大,变频器输出频率来回跳变

现场最常见的情况是管网压力在设定值附近来回振荡,变频器频率在30Hz和45Hz之间反复摆动,电机能听到明显的周期性加速和减速声。原因通常是PID参数设置不当,比例增益过大,系统对微小偏差反应过激;积分时间太短又让频率修正量叠加过头。

解决方法是把PID参数往“保守”方向调整。常见做法是先设定P=2.0左右,I=30到60秒,D保持为0。供水系统本身是大惯性对象,微分环节很容易把高频干扰放大,一般不建议启用。修改后观察一个完整的加减载周期,如果压力能稳定在设定值正负0.02MPa以内,说明参数基本可用;如果仍然振荡,就把P继续降到1.0,同时把I延长到60秒以上。整个过程要耐心,每次只改一个参数。

5.2 现象:变频泵切工频瞬间听到水锤声,管道明显振动

泵组从变频切换到工频时,工频接触器闭合瞬间如果电机转速和工频电源频率不同步,会产生很大的冲击电流和机械冲击,严重时候水管里能听到“哐”的一声。原因在切换时序不完整:变频器还在输出时KM2就断开,或者KM2断开后立刻闭合KM1,没有等待电机转子磁场衰减。

解决方法是把切换时序理清楚:先给变频器发停车命令,确认变频器输出频率降到0Hz,再断开KM2,延时500ms到1秒让电机剩磁衰减,最后闭合KM1。如果系统用变频循环方式,KM1闭合后还要把变频器切换到下一台泵的KM3,这个过程同样要先确保当前接触器完全断开。有些变频器带有“频率到达”输出端子,可以把这个信号引入PLC作为切换条件,而不是只靠时间延时。

5.3 现象:压力变送器读数明显偏低或偏高,与实际压力对不上

压力读数不准通常不是变送器坏了,而是接线或量程配置问题。两线制变送器如果信号线接反,输出电流会在4mA附近;如果变送器量程选的0-1.0MPa而实际压力只有0.3MPa,输出信号只占量程的30%,读出来自然偏低。

排查办法是用万用表串进信号回路测电流:实际压力0.3MPa对应0-0.6MPa量程的变送器,输出电流应该在4+(0.3/0.6)×16=12mA左右。如果电流正常而PLC读数不对,问题在上位换算参数,检查模拟量模块的量程配置和PLC程序里的刻度换算系数。还要注意屏蔽层接地方式,屏蔽层应在控制柜端单点接地,不要在传感器端也接地形成地环路。

5.4 现象:压力变送器被分配为X003数字量输入,程序读不到压力值

这个问题在课程设计和初学现场特别常见。I/O分配表里把压力变送器写成X003,程序里按X003开关量读取,结果这个输入永远只有0和1两种状态,压力变化时它纹丝不动。原因在于压力变送器输出的是4-20mA模拟量信号,基本单元的数字输入端子只能识别0/1电平,物理上根本接不进去。

解决方法是把压力变送器改接模拟量输入模块,例如FX2N-4AD的通道1,程序从模拟量模块的缓冲区读取压力数值,而不是读X003。如果PLC的主机本身带模拟量输入通道,则直接接在模拟量端子上。分配表里X003位置留给真正的开关量信号,或者干脆空着不用。这件事不算玄学,但确实容易在从“纸面设计”到“实物接线”的转换过程中踩坑。

5.5 现象:变频器频率已到上限,但PLC一直不执行加泵

频率已经显示50Hz,管网压力低于设定值,PLC却没有把泵切换到工频状态。排查第一步看变频器是否把“频率到达”信号送给了PLC。很多变频器的上限频率检测默认关闭,或者需要单独配置一个输出端子作为频率到达信号,端子没配置,PLC就永远不知道频率已经到顶。第二步看PLC内的保持计时器有没有启动,如果“频率到达”信号接对了但程序里计时条件写错,同样无法触发切换。我一般会先在变频器面板上确认输出频率等于上限频率,然后用手碰一下继电器输出端子看是否动作,一层一层缩小范围,而不是一开始就怀疑程序。

6. 验证这套设计的务实做法:先仿真、后空载、再带载

拿到设计文档直接通电是不合适的,至少按“接线检查→空载试机→带载调参”三步走。

接线检查阶段,用万用表电阻档验证KM1和KM2互锁回路的通断,确认KM1吸合时KM2线圈回路必然断开;再用摇表测主回路对地绝缘电阻,变频器输出侧U/V/W三相对地要大于5兆欧。变频器输入输出端子不能接反,这是很多新手最容易在最后一步损毁设备的地方。

空载试机阶段,把变频器带到电机而不带负载,点动运行确认电机转向与泵体标牌方向一致。泵反转时出水量很小但电流并不低,时间一长还会损坏机械密封。确认转向后再把泵体排气阀打开灌水,泵腔内没有水时绝对不能长时间运行。

带载调试阶段,压力设定值从低到高分步设置。第一次运行时先设一个比正常值低0.05MPa的压力值,让系统跑10分钟,观察压力稳定情况和变频器输出电流。电流接近电机额定值且压力稳定后,再把设定值逐步抬高到目标值。如果PID参数用了“P=2.0、I=30秒”起步,每次修改后都要观察一个完整的加减载过程,不要只看几分钟就下结论。

从那以后,我每次做类似系统都会强制走一遍“先查互锁、再空载、后带载”的顺序,哪怕设计文档写得再完整,也绝不跳过现场检查。这套基于PLC变频恒压供水的设计资源,图纸、I/O分配和控制流程都是完整的,照着它做能少走不少弯路。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进