☰
三菱PLC与威纶通触摸屏恒压供水系统设计调试全攻略
2026/10/20 16:59:59 网站建设 项目流程

2. 项目背景与痛点:为什么需要恒压供水方案

水压不稳这事,做过小区供水或工业循环水的人应该都深有体会。晚上高峰用水时,高层住户的水龙头忽大忽小,热水器因为水压波动直接熄火;低峰时段管网压力过高,管道接口处渗漏风险增加。传统做法是水箱加高位水塔,靠重力自然供水,但水塔高度有限,高层建筑根本不够用,而且水塔占地面积大,水质也容易二次污染。后来普遍换成变频恒压供水,核心思路就是根据管网压力实时调节水泵转速,而实现这个控制逻辑最常用、最稳定的方案就是 PLC 加变频器,再加一块触摸屏做人机界面。

这个标题里包含了两个非常典型的工程对象:三菱 PLC 和威纶通(Weinview)触摸屏。三菱 FX 系列 PLC 在中小型工控项目里占有率极高,特别是 FX3U 这种经典型号,指令丰富、扩展方便;威纶通触摸屏则以其软件免费、组态灵活、通讯兼容性好在国内工控市场非常流行。把这两者结合起来做恒压供水,基本是教科书级的经典组合,也是很多电气工程师入门到进阶绕不开的项目。

这套系统能解决什么东西,适合谁看呢?如果你是刚入行的电气工程师、设备维护人员,或者学校刚毕业想做一套能写进简历的完整项目,这个方案就很合适。它覆盖了从硬件选型、 PLC 程序编写到触摸屏画面组态的全过程,既有 PID 调节的核心算法,又有手动自动切换、多泵轮换、故障报警这类工程细节。看完你能直接照着搭一套,也能理解恒压供水里那些"为什么这样做"的门道。

3. 系统整体设计与方案选型

3.1 总体架构:压力闭环,变频器调速

恒压供水系统的基本物理结构并不复杂。水泵出口总管上装一个压力变送器(或压力传感器),实时采集管网水压,把这个压力信号送给 PLC,PLC 内部做 PID 运算,得出一个控制量,再通过模拟量输出模块控制变频器的频率给定,变频器拖动水泵电机改变转速,从而改变出水量和压力。这就是一个标准的闭环负反馈系统。

通俗点说,就好比你在厨房水槽用手调冷热水龙头。你手感觉水温高了,就往冷水那边拧一点;感觉水温偏低了,就往热水那边拧一点。PLC 干的也是这个活儿,只不过它"摸水温"用的是压力传感器,"拧龙头"用的是变频器频率,而且它调节的频率比你手动快得多、精准得多。

这个方案在行业里被称为"一拖多"恒压供水。一套变频器加多台水泵电机,PLC 根据用水量大小自动决定投入几台泵:用水量小时一台泵变频运行,用水量大时第一台泵切到工频满速,第二台泵投入变频运行,以此类推。这样做的优势很明显,变频器成本高,只给一台泵做调速,其余泵用便宜的工频接触器直接启动,能省不少钱,同时多泵轮换还能延长设备使用寿命。

3.2 硬件选型:用哪些东西,为什么这么选

这套系统的硬件清单并不复杂,但每一项选择都有讲究。我按实际项目经验列一份常用选型表:

部件推荐型号选型理由
PLC三菱 FX3U-32MR/ES 或 FX3U-32MTIO 点数够用,内置 PID 指令,模拟量扩展方便
模拟量扩展模块FX3U-4AD 和 FX3U-4DA4 路模拟量输入采集压力信号,4 路模拟量输出控制变频器
变频器三菱 FR-E740 或 FR-D700 系列与三菱 PLC 通讯兼容性好,支持外部端子启停和模拟量给定频率
压力变送器扩散硅式,4~20mA 输出,量程 0~1.6MPa两线制标准信号,抗干扰能力强,远距离传输稳定
触摸屏威纶通 MT8071iP 或 TK6071iP软件免费,支持与三菱 PLC 串口/以太网通讯,组态灵活

选 FX3U 而不是更便宜的 FX1N 或 FX3G,主要原因是 FX3U 支持内置 PID 指令(PID 指令在 FX3G 的部分型号上也有,但功能受限),而且模拟量模块的读写指令更直接。另外 FX3U 的脉冲输出能力、通讯口数量对后续扩展也更友好。如果你预算非常紧张,或者项目规模很小只有一台泵,FX3G 加一个模拟量板也能凑合,但程序写起来拐弯抹角,调试也不方便。

压力变送器量程选择要根据实际供水高度算。比如小区楼层总共 18 层,每层按 3 米算,再加管网损耗和末端压力要求,大概需要 0.6~0.8MPa 的扬程,选 0~1.0MPa 量程的变送器比较合适。选大了测量精度下降,选小了超量程容易损坏传感器。注意要选 4~20mA 两线制,因为这种信号抗干扰能力比 0~10V 电压信号强得多,能传到几百米外不掉精度,而且断线时电流为 0,程序里容易判断故障。

3.3 通讯方式选择:串口还是以太网

触摸屏和 PLC 之间的通讯,是这个项目里一个很容易踩坑的地方。威纶通触摸屏支持串口(RS232/RS422/RS485)和以太网两种方式,三菱 FX3U 也分基本单元自带串口和加装以太网扩展模块两种情况。

如果用的是 FX3U 基本单元自带的编程口,触摸屏可以通过一根编程电缆连接,在威纶通软件里选对应驱动即可。这种方式配置简单,不需要额外硬件,但缺点是你的编程口被触摸屏占了,电脑在线监控时要拔线,来回倒腾比较麻烦。我的做法是直接给 FX3U 加一块 FX3U-ENET-ADP 以太网扩展模块,触摸屏通过网络与 PLC 通讯。这样电脑也可以同时连 PLC 在线监控,调试效率高很多,而且通讯速率快,画面刷新流畅。触摸屏这边只需要配好 IP 地址和端口号,几秒钟就能连上。

顺便说一句,威纶通软件里选通讯协议时,三菱驱动有多个选项,FX3U 以太网要选"FX3U-ENET-ADP"这个条目,而不是默认的 FX3U 串口驱动。我第一次做的时候忽略了这个区别,折腾了半天通讯不上,后来才反应过来。这种细节上的坑,做过的才知道。

4. PLC 恒压供水程序核心设计

4.1 程序总体框架:块结构,层次分明

一套完整的恒压供水程序,不能只是简单写一个 PID 块。我习惯把程序按功能划分成几个模块,这样逻辑清晰、调试方便、排障也容易。整体框架大致如下:

  • 初始化程序:首次扫描设置默认参数,如目标压力值、PID 参数、泵轮换时间等
  • 信号采集处理:读取压力变送器 4~20mA 信号,滤波、量程换算、断线判断
  • PID 运算控制:以实际压力与目标压力的偏差为输入,输出频率给定值
  • 水泵切换逻辑:根据频率输出上限和用水需求,决定工频泵启动/停止、变频泵切换
  • 手动/自动切换:触摸屏切换运行模式,手动时可直接启停各泵
  • 故障保护与报警:过压、欠压、缺水、变频器故障、传感器故障等报警处理
  • 工作状态指示:运行、停止、故障状态输出到触摸屏

把程序拆成块,好处是出了问题能快速定位。以前看过一些项目把整个逻辑写在一个梯形图程序里,长得像火车日记一样,几百条指令串在一起,查个故障翻半天。按功能分块之后,哪怕换了人来维护,也能较快上手。

4.2 模拟量信号处理:从电流到工程量

信号采集这一步看似简单,其实是整个系统精度的重要基础,特别是对 PID 控制的影响很大。压力变送器输出 4~20mA,接到 FX3U-4AD 模块,模块把电流信号转换为数字量。4AD 模块的模拟量输入有 0~4000 和 0~16000 两种数字范围可选(对应不同量程档),我一般选择 0~4000,因为分辨率够用,而且数字量小一点在程序里做计算不占存储。

假设变送器量程 0~1.0MPa,输出 4~20mA,对应数字量 0~4000。那么需要把数字量换算成带一位小数的压力值,单位是 0.01MPa。换算公式如下:

实际压力值(MPa)= 数字量 ÷ 4000 × 量程上限(MPa)

如果量程上限是 1.0MPa,压力值 = 数字量 ÷ 4000 × 100(单位 0.01MPa),这样算出来的压力值可以直接和用户设定的目标压力比较。这里有个细节,FX3U 的模拟量模块读取值放在特殊数据寄存器里,程序里要通过 FROM/TO 指令读取或由模块和 CPU 自动刷新缓存。实际上更推荐的做法是直接用扩展模块的缓存读取指令 FROM,把数字量读入 D 寄存器,再做一次滤波。

滤波也是关键。压力变送器安装在管道上,水泵运行时会有一定脉动,如果不滤波,PID 输入会跟着毛刺跳,导致变频器频率上下抖动,影响控制稳定性。我常用的做法是滑动平均滤波,连续采样 10 次取平均,这样既能滤掉高频干扰,又不至于让系统响应太慢。

4.3 PID 指令应用:从理论到梯形图

三菱 FX3U 有一条专用的 PID 指令,格式是PID S1 S2 S3 D,这四个操作数的含义如下:

  • S1:目标值(设定压力)存放的寄存器首地址
  • S2:测定值(当前压力反馈)存放的寄存器首地址
  • S3:PID 参数设定值首地址
  • D:输出值存放的寄存器地址

PID 参数设定需要连续占用一段寄存器,FX3U 的 PID 指令要求 S3 指定一个长度为 25 的数据区,用来存放 PID 运算所需的各类参数和状态。这个数据区看起来很长,但实际使用中大部分参数可以默认用 0,主要关注的是:

参数偏移含义典型值
S3+0采样周期 T100~500ms,取 200ms 较多
S3+1动作方向(0 正动作,1 反动作)恒压供水选 1,即压力低于目标时加大输出
S3+2输入滤波常数10%~40% 之间,影响抗干扰
S3+3比例增益 Kp需要现场调试
S3+4积分时间 Ti需要现场调试
S3+5微分增益 Kd一般设 0,供水系统惯性大,不宜加微分
S3+6微分时间 Td一般设 0

三段式 PID 参数整定的经验是:先设积分和微分为 0,只留比例增益,从小往大调,直到系统出现等幅振荡;然后把比例增益打 6~7 折,再逐步加大积分时间,让压力稳定到目标值附近;微分在供水这种惯性很大的对象上通常不用,因为微分对高频波动特别敏感,反而容易引起振荡。

PID 指令输出的值范围是 0~4000,和模拟量输出模块 4DA 的数字量范围一致,所以可以直接把这个值写到 4DA 模块输出通道,对应变频器 0~10V 或 4~20mA 的频率给定输入。变频器内部再把频率给定信号映射到 0~50Hz(或 0~60Hz),就实现了根据压力偏差调节电机转速。

4.4 泵切换逻辑:一拖多怎么实现轮换

讲到泵切换,这是整个程序里最容易写乱、也最容易出事故的地方。先说为什么需要切换。单台变频泵的调速范围有限,到了晚上高峰用水,一台泵满频率也不够用,管网压力掉得厉害,此时控制器应该投入第二台泵。而第二台泵如果用变频器直接带,就需要加一台变频器,成本翻倍;更常见的方法是让第一台泵切到工频电网直接全速运行,变频器释放出来带第二台泵做调速。

切换过程有几个关键逻辑,我总结出三条铁律:

切换必须用接触器互锁+程序互锁。变频输出和工频输出绝对不能在同一个时刻同时接到同一台电机上,否则轻则跳闸,重则烧毁变频器。我见过一个项目因为切换逻辑里少了互锁,调试时炸了一台变频器,老板脸色至今记忆犹新。程序里,工频接触器 KM1 和变频输出接触器 KM2 要做硬互锁(触点串联),梯形图程序里也要用常闭触点互相锁定。

切泵时机以频率上限为依据。当变频泵输出频率已经达到上限(比如 50Hz)且持续一段时间(比如 10 秒),同时实际压力仍然低于目标压力,此时判定当前泵已不能满足需求,投入第二台泵。反之,当变频泵频率降到了最低工作频率(比如 25Hz)且持续一段时间,同时实际压力高于目标压力,可以考虑切除一台工频泵。这样切泵逻辑不会因为瞬间压差频繁动作,也避免水泵频繁启停。

泵轮换的目的是磨损均衡。如果每次都优先启动 1 号泵,长期下来 1 号泵的机械密封和轴承磨损严重,2 号泵却一直闲置。程序里每累计运行一定时间(比如 100 小时)就轮换一次启动顺序,让各台泵均匀磨损。轮换的时间和顺序可以用定时器和计数器实现,也可以在触摸屏上做成手动选择,两种方式我都用过,触摸屏人工干预更灵活。

5. 威纶触摸屏画面组态与操作设计

5.1 画面规划:操作员要看到什么

触摸屏在恒压供水系统里的角色,是给现场操作工看的"仪表盘"。画面设计的好坏,直接影响操作人员能不能快速了解系统状态、能不能在异常时及时正确处理。我做画面规划时有个原则,就是"一屏一功能,关键画面一键直达"。

这套系统通常需要下面几个画面:

  • 主监控画面:实时显示管网压力、目标压力、变频器频率、各泵运行状态、当前运行模式
  • 手动控制画面:各泵的手动启停按钮,变频/工频模式选择
  • 参数设置画面:目标压力值、PID 参数、泵切换时间、传感器量程
  • 报警画面:当前报警和报警历史记录,复位按钮
  • 运行趋势画面:压力曲线、频率曲线,方便观察控制效果

画面层级不宜过深。操作工戴着棉纱手套按屏幕,误触在所难免。我的习惯是主画面放热门按钮,直接可以跳转所有其他画面;每台泵的状态用不同颜色区分,运行绿色、停止灰色、故障红色,一眼扫过去就知道哪台泵在干活。

5.2 组态关键点:地址对应与数据格式

威纶通触摸屏组态时,最关键的一步是把画面元件的数据源地址正确关联到 PLC 寄存器地址。三菱 PLC 的寄存器类型在威纶通软件里要选对,D 寄存器对应数据寄存器,M 寄存器对应内部继电器,Y 对应输出线圈,X 对应输入触点。地址编号要带上位号,比如 D200 要写成 D200,M100 要写成 M100,不能漏掉前缀。

这里要特别提醒一个格式问题。威纶通触摸屏读取三菱 PLC 的 D 寄存器时,数据类型默认是 16 位整数。如果你在 PLC 里用 32 位数据(比如浮点数或 32 位整数),触摸屏上必须指定 32 位格式,并且要在地址后面加 L 或 H 后缀指定高低字顺序。比如读取 D200 和 D201 组成的 32 位数据,在威纶通里地址要写成 D200(32 位)或拖动元件时选择 32-Bit 格式。否则你会在触摸屏上看到一个毫无意义的大数,或者数值高 16 位和低 16 位颠倒。

我用过的不少项目里,PID 参数在 PLC 里是浮点数,触摸屏上要显示和修改。这种情况下推荐的做法是在 PLC 程序里把浮点数除以/乘以一个系数,转换成整数存储在 D 寄存器供触摸屏显示;操作人员修改整数后,PLC 再把整数乘以系数还原成浮点数参与 PID 运算。这样比直接在触摸屏上处理浮点数要稳妥得多,避免触摸屏位数格式问题导致显示乱码。

5.3 报警与历史记录:不只是弹个窗

恒压供水系统的报警功能,是保障夜间无人值守运行时安全运行的底线。报警项目至少包括超压报警、欠压报警、变频器故障、传感器断线、低水位报警、泵过载等。威纶通触摸屏的报警功能比想象中强大,能记录报警发生时间、结束时间,还能按时间查询历史报警。

报警触发条件在 PLC 侧做。比如传感器的 4~20mA 信号如果断线,输入电流会变成 0,数字量读数为 0,程序里判断数字量小于某个阈值就置位报警位 M。传感器短路时电流超过 20mA,数字量超过量程上限,同样置位报警。这样触摸屏上只需要显示报警位的状态,具体逻辑判断全在 PLC 侧,架构清晰。

报警画面里,我建议把"当前报警"和"历史报警"分开展示,并且报警复位按钮单独放在一个角落,防止误触把故障复位了导致设备重新启动。有一次看到某个项目里报警复位按钮和启动按钮挨在一起,操作工想复位报警结果不小心把整个系统启动了,现场手忙脚乱。这些细节看起来不起眼,真出了事故就是大事。

关于报警记录的掉电保存,威纶通触摸屏有内置存储器,但要注意历史报警的存储上限。数据满了之后会覆盖最早的记录,如果项目需要长期保留报警数据,最好定期导出到 U 盘或者通过以太网上传到上位机。

6. 实操过程:从接线到调试的完整流程

6.1 接线要点与安全准备

接线是整个项目里最容易出错也最危险的环节,我每次做柜子都要按流程一步步走,绝不跳步。核心接线包括主回路和控制回路两部分。

主回路是动力部分:断路器出来接变频器输入端子 RST,变频器输出端子 UVW 接水泵电机。注意变频器输出端绝对不能接接触器去切换电机!如果要切换,接触器放在变频器和电机之间,但切换必须保证在变频器停止输出时进行。工频回路由接触器直接带电机,变频回路和工频回路通过互锁接触器选择。这两条回路在跳线时如果接错,送电瞬间就可能烧毁设备。

控制回路相对安全,但布线时有几条规矩必须守:

  • 压力变送器信号线用屏蔽双绞线,屏蔽层单端接地,避免形成接地环路
  • 模拟量信号线单独走线槽,避开变频器输出线等强电线路,至少保持 200mm 以上间距
  • 变频器与 PLC 之间的控制线、模拟量线要保证不要绞在一起
  • 所有线号管标记清楚,编号和图纸一致,以后维护能省大量时间

接线完成后,送电前必须用万用表检查一遍:220V 和 24V 是否短路,三相线之间是否有短路,控制线是否接错点。这一步虽然繁琐但绝对不能省。

6.2 分步调试:先单机后联动

第一次做恒压供水项目的人,最容易犯的错误是一上来就整套系统联动调试,结果出了问题不知道根源在哪。正确的调试顺序应该是"由底向上、由单到多":

  • 第一步,单独测试变频器。用面板手动给定频率,确认电机正反转方向、加减速时间合适,确认变频器没有报警报错。
  • 第二步,单独测试 PLC 与变频器的通讯/给定。通过 PLC 程序手动输出固定频率值,用万用表或变频器面板监视频率显示,确认模拟量输出和控制端子信号正确。
  • 第三步,单独测试压力变送器。用万用表测变送器输出的电流是否随压力变化,低压时接近 4mA,高压时接近 20mA,并在 PLC 侧确认数字量读数随压力连续变化。
  • 第四步,测试触摸屏通讯。画面上的状态量和寄存器值能否正常刷新,按钮能否控制 PLC 的 M 位。
  • 第五步,投入 PID 闭环。先把目标压力设成当前实际压力,保证设备能稳定运行,然后逐级调 PID 参数。

每次只做一件事,出现问题就知道去哪个环节找。我见过有人一上来就自动模式,泵启动了压力却稳不住,结果排查了半天发现是变送器线接反了,这种低级的返工完全可以通过分步调试避免。

6.3 PID 参数整定的现场经验

PID 参数调参在现场是比较玄学的活儿,实际上也有一些套路可以遵循。由于恒压供水系统本身是个大惯性的过程,管道里水的惯性和电机泵的机械惯性叠加在一起,系统的响应很慢,这决定了 PID 参数不能太激进,否则震荡收不住。

我在现场的做法是固定的流程:

  • 先设 Kp 为一个小值(比如 0.2),积分时间设 5 秒,微分设 0,然后让系统运行观察压力曲线。
  • 逐步增大 Kp,每改变一次都让系统稳定几分钟,观察压力是否震荡。如果出现持续震荡,说明 Kp 偏大,往回退一档。
  • 找到临界 Kp 后,把它设为临界值的 60% 左右,然后逐步减小积分时间(也就是增强积分作用),让压力最终能稳定在目标值附近。
  • 微分一般不动,对大多数供水系统来说,微分不但没有帮助,反而会放大管道压力的高频波动。

每次参数调整完,都要让系统多运行一段时间,观察不同用水量情况下的表现。白天用水高峰压力能不能保住,夜里用水低谷的时候频率能不能降下来,会不会切泵过于频繁。这些都需要在现场实际工况下验证,光在实验室里调参数是不够的。

6.4 常见问题与排查技巧实录

做恒压供水项目,有几个问题是经常碰到的,我把我的排查经验整理成一张速查表:

现象可能原因排查与解决方法
触摸屏通讯不上协议选错、IP 不在同一网段、通讯线接触不良先看触摸屏诊断页面,确认通讯协议为 FX3U-ENET-ADP,检查 IP 地址前三位一致,接着直接用电脑串口测试 PLC
压力显示乱跳变送器信号受干扰、滤波参数过小、接线松动检查屏蔽层是否单端接地,调大滤波常数,用万用表毫安档测信号是否稳定
变频器频率恒在最高PID 正反动作方向设反检查 PID S3+1 参数:恒压供水应为反动作(1),压力低于目标时加大输出
水泵频繁启停切泵判断条件过于灵敏、PID 输出频繁越限延长频率上限/下限持续判断时间,增加泵启停最小间隔延时
泵切到工频后电流过大切泵时机不当,变频输出的泵刚切走,工频泵却还在低速优化切换逻辑,保证变频泵加速到上限后再切工频,工频启动新泵后变频器再加速
夜间压力一直偏高PID 下限频率设置过高或停泵压力设置不合理适当降低最低运行频率,或者设置休眠功能,压力达标且频率低于下限时停泵

其中"水泵频繁启停"是现场最让人头疼的问题之一。泵每启停一次,机械和电气冲击都很大,频繁启停会大大缩短电机寿命。解决方法主要靠延时和阈值回差:切泵条件要持续保持 10~15 秒才动作,并且启动和停止的判定阈值要有回差,不要卡在同一个压力点来回切换。这种做法和室温控制里温控器的回差是一个道理,没有回差就容易在设定点附近振荡。

6.5 运行后的维护与优化空间

系统正常运行之后,维护工作并不复杂,但有一些细节值得重视。压力变送器属于精密仪表,要定期校验,一般建议每半年做一次零点漂移校准。管道里的水如果杂质多,变送器的取压口容易堵塞,时间长了测出来的压力值就会偏低,导致系统误判断。这个故障很隐蔽,我遇到过几次,都是常规巡检发现压力显示和实际水压差异大才察觉。

供电稳定性也是影响 PLC 和变频器寿命的重要因素。变频器工作时会有较大的谐波干扰,如果配电柜的进线质量不好,可能影响 PLC 模拟量采样的稳定性。有条件的话,模拟量输入模块可以共用一只 24V 开关电源,并且和变频器的控制电源分开供电,这样能大幅减少电源侧的相互干扰。

整个系统的扩展空间也不小。后续如果项目需求增加,可以考虑加装远程监控功能,通过以太网把 PLC 数据传输到上位机或云平台,实现手机端查看运行状态和接收报警信息。这是一个很实用的延伸方向,因为供水系统往往分散在多个泵房,集中管控能大幅减少人工巡检成本。基于当前这套程序,只需要在 PLC 里添加一段数据发送逻辑,再在触摸屏或上位机侧做对应的显示界面即可。

7. 程序移植与再开发建议

如果有人拿到这套程序,想改成别的场景用,需要改动的重点主要在三块:压力传感器量程、目标压力值和泵的台数配置。传感器量程变了,程序里量程换算的除法因子要改;泵的台数多了或少了,切换逻辑里工频泵和变频泵的启动顺序表也要相应调整。

如果想更进一步,还可以考虑用 PID 的适应功能,根据用水量大小自动调整 PID 参数,这样系统在不同工况下都能有较好的动态响应。不过这个功能对调试水平要求比较高,新手建议先把固定 PID 参数跑顺了再考虑优化。

还有一个小技巧,我自己用着很顺手的:程序里把目标压力做成斜坡变化,也就是说,当操作人员修改目标压力时,PLC 不是一下子把目标值跳变到新值,而是让目标值缓慢爬坡逼近新值。这样做的好处是避免目标压力突然变化导致 PID 输出大幅阶跃,变频器频率猛冲一把,虽然系统最终能稳住,但冲击大、噪音大,也容易造成水锤效应。这个功能实现起来不复杂,就是每隔几秒把目标压力往目标方向逼近一小步,直到追上设定值为止。看似不起眼的小逻辑,实际运行体验会好很多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询