
这段时间帮客户改造一个小区景观喷水池原来的控制柜里堆满了时间继电器和接触器运行起来动作固定、改一次花样就要重新接线。换成了三菱FX3U PLC加GOT2000触摸屏之后整套花式喷水池的控制逻辑、相关图纸和组态画面才算真正落地。这篇记录我从需求拆分、电气图纸设计、PLC程序编写到触摸屏组态调试的完整过程中间踩过几次坑也整理了一些可以直接参考的做法给正在做类似景观喷泉、音乐喷泉或小型水景项目的同行当个参考。1. 先搞清楚喷水池要花到什么程度1.1 甲方口中的花式具体化做项目最怕一句话需求甲方说要花式喷泉但到底要几种花型、每种花型什么动作、能不能分区控制、要不要配合灯光这些不说清楚后面全都要返工。我这个项目最终确认下来的要求是至少四套独立花型单柱喷泉、左右交叉、孔雀开屏、中心主喷加外围环射自动循环运行单次运行8小时无人值守保留手动模式方便检修和试机水泵频率可调不能只是开关阀门否则水柱高度没法控制需要实时监控水位、变频器故障、泵过载等状态异常自动停机报警把需求落到控制对象上看其实就是三类设备水泵、电磁阀组、水下灯。水泵的启停和频率决定了水柱高度与流量电磁阀组的通断决定了哪些喷头出水水下灯的组合切换用来强化视觉效果。所有花式都能拆成泵在某频率 某几个阀打开 某组灯点亮这样的时序组合。1.2 把花型拆成泵阀灯的组合我习惯先把每一个花型用表格写出来不急着画图。比如单柱喷泉实际是主泵28Hz运行1#、2#中心喷嘴电磁阀打开白色灯光常亮持续6秒。而孔雀开屏就要复杂一些主泵先以20Hz起喷然后每2秒加3Hz逐步提速到45Hz外围一圈喷嘴分三批打开灯光按红、绿、蓝顺序切换。这样拆完以后PLC程序的任务就非常清楚了不是做一堆复杂的逻辑判断而是按时间轴执行预设的输出组合。这里有一个关键认知喷水池控制的核心不是怎么开关而是怎么按顺序、按时间、按频率去开关。很多新手上来就写一大堆定时器结果花型一变就得改程序。我的做法是把花型参数全部做成数据存放在PLC的D寄存器里触摸屏上就能改。这样甲方后期想调整时间、频率完全不碰程序只改画面上的参数就行。2. 图纸先行硬件选型、IO分配与电气设计2.1 选型逻辑和硬件清单硬件选型要围绕控制规模、通信方式、后期维护三个维度来定。这个项目大概是14个数字量输入输出点外加一路模拟量输出给变频器作为频率给定所以我最终选了三菱FX3U-32MT/ES。选MT型是因为晶体管的输出响应快后面如果接伺服或者需要高速脉冲输出也留有余地。32MT本身自带16入16出喷泉这种项目点数基本够用。触摸屏用的是三菱GOT2000系列的GT21077英寸屏幕组态软件用GT Designer3。选GOT不只是因为和FX3U同品牌通信简单更重要的是GOT的报警记录、脚本、数据采样功能在喷泉这种需要长时间运行监督的项目里非常实用。变频器选了FR-E800因为支持Modbus-RTU也支持模拟量给定我这次直接用模拟量方式接线简单、调试直观。其余硬件包括总空开、漏电保护器、接触器、中间继电器、热继电器、24V开关电源、浪涌吸收器、浮球液位开关、压力式液位计。水泵和阀组分开供电电磁阀回路全部用AC220VPLC侧统一DC24V中间通过继电器隔离。2.2 IO分配与电气控制回路设计对应控制对象我整理了一份IO分配表画图之前必须固定下来地址功能备注X0急停按钮常闭断开即停机X1手动/自动切换旋钮开关X2启动按钮自动模式用X3停止按钮自动模式用X4水池液位下限低于此值禁止启动主泵X5水池液位上限补水到位信号X6变频器故障故障时强制停机X7热继电器/泵过载任一泵过载停机Y0主泵运行接变频器启动端子S1Y11#电磁阀中心喷头Y22#电磁阀外围左侧喷头Y33#电磁阀外围右侧喷头Y44#电磁阀环射喷头Y5补水泵/补水阀液位低时自动补水Y6水下灯电源灯光分组切换Y7蜂鸣器故障报警主回路的思路是总断路器出来后分两路一路给变频器带主泵另一路通过接触器给各电磁阀和水下灯变压器供电。控制回路里PLC的Y输出接中间继电器线圈中间继电器触点控制AC220V电磁阀这样把PLC的24V和现场220V完全隔开既安全又能减少触点对PLC的冲击。图纸方面我建议至少画这几张图电气原理图主回路、控制回路、PLC接线图、IO分配表、端子排图、柜内布置图。用AutoCAD Electrical或者EPLAN都可以但一定要画端子排图现场接线全靠它。我在这个项目里就因为少画了一个柜内接地排现场接线时临时把地线压在柜体螺栓上调试时变频器干扰直接把触摸屏通信搞断过后面重新处理才恢复。2.3 电气图纸中容易漏掉的抗干扰细节喷水池项目的干扰问题比普通设备要严重得多因为水泵、变频器、电磁阀、水下灯都在潮湿环境里而且动力线往往和控制线走得很近。有几个细节我是在图纸阶段就考虑进去的变频器到电机的动力线必须和PLC的通信线、模拟量线分开走线槽最好间隔20厘米以上。变频器输出侧不要省略接地接地线尽量粗、直接接到柜内公共接地排。电磁阀线圈是交流负载断开瞬间会产生反向浪涌电压需要在每个电磁阀线圈两端并联RC吸收器PLC输出端再接中间继电器做缓冲双重保护。液位开关的安装位置也要画在图纸上。浮球不能装在主泵回水口正下方否则水波晃动会导致浮球反复通断。我这次用的是压力式液位计取压口装在池底靠近角落的位置然后在PLC里做3秒延时确认基本解决了误报警问题。3. PLC程序花式的核心不是开关是时序与频率3.1 程序整体的状态机框架喷泉程序我不用一堆定时器堆叠而是用三菱的STL步进梯形图把系统拆成几个状态待机、自动运行、手动模式、故障停机。每个花型就是一个状态步序列状态之间靠转移条件切换这样程序结构非常清楚后面加花型也简单。举个例子花型单柱喷泉在STL里大致是这样一段逻辑S10等待启动信号按下X2后转移到S11S11输出Y0变频器频率给定28Hz打开Y1电磁阀S12保持6秒时间到转移回S10等待下一轮真正的花型循环只需要让最后一个状态步跳回第一个状态步即可。修改花型顺序、时长就等于修改状态步之间的转移条件不需要大改梯形图。3.2 花型数据表把花样变成可调参数这个项目我最满意的地方是把花型参数全部做成了数据表。每个花型由若干步骤组成每个步骤占用固定的D寄存器区域触摸屏直接读写。以第一套花型为例软元件含义D201步骤1保持时间0.1秒单位D202步骤1泵频率目标值0.1Hz单位D203步骤1电磁阀状态Bit0控制Y1Bit1控制Y2以此类推D204步骤1灯光状态D205步骤2保持时间D206步骤2泵频率目标值D207步骤2电磁阀状态D208步骤2灯光状态这段分配表往下延续最多支持20个步骤一个花型就占80多个D寄存器。程序里用MOV指令把步骤数据读出来再用DECO之类的位处理指令把D203的每一位对应到Y1到Y4直接执行输出。这样写的好处是调试时不需要打开GX Works修改梯形图直接在触摸屏上把D201改成50即保持5秒花型就变了。波形效果也是类似思路。波浪花型需要让泵频率像波浪一样变化比如从20Hz慢慢升到40Hz再降回来。我在程序里建了一个频率表把整个变化过程分成20段每段设一个频率值存放在D300到D319用一个定时器每500毫秒取一个值送到模拟量输出模块顺序取完再从头循环。这种查表法比在程序里写20个定时器简洁得多调整波形只需要改表里的数字。3.3 频率给定与水泵保护逻辑频率给定我用的是FX3U-4DA模拟量输出模块。程序里把当前花型步骤的目标频率存入D0再用TO指令把D0写入4DA的缓冲存储器转换成0到10V电压信号送到变频器的模拟量输入端子。FR-E800这边只需把运行模式设为端子/模拟量给定上限频率、加减速时间按实际水泵参数设置。加减速时间我一般设3到5秒太快容易水锤太慢水柱变化跟不上花型切换。保护逻辑必须单独写不能混在花型状态步里。液位下限X4一旦断开立即停止主泵和全部电磁阀同时Y5启动补水阀等到液位上限X5接通后再延时恢复待机状态。变频器故障X6和热继电器X7任一触发系统进入故障停机状态蜂鸣器响触摸屏报警画面弹出故障信息。急停X0我做成硬逻辑即使在PLC程序跑飞时也能第一时间切断主泵接触器线圈回路。3.4 手动/自动互锁与安全手动模式不是为了给甲方玩的是给现场调试和维护人员用的。手动模式下操作员可以在触摸屏上单独点动Y1到Y7逐个回路测试阀、灯、泵。自动模式运行时这些手动按钮全部失效通过PLC里的互锁逻辑确保同一时间只能有一种控制方式。这里要特别强调一点手动点动Y0主泵时频率给定还是由触摸屏上的手动频率输入决定不能直接让变频器全速运行。我在程序里把D1设为手动频率寄存器触摸屏数值输入关联D1手动启动泵时先输出D1对应的频率再接通运行端子。不然调试时误操作一下水柱直接冲天溅一池子事小伤到人就麻烦了。4. 触摸屏组态画面让甲方一看就会用4.1 画面结构与通信设置组态软件GT Designer3建工程时第一步就是选GOT机型和通信方式。FX3U和GT2107之间我用RS-422连接通信对象选三菱电机PLC系列选FX3U站号设0波特率先用9600稳定后再提高到19200。这里有个经验现场如果变频器干扰比较重波特率太高反而容易通信超时9600虽然慢一点但稳定。画面结构我最终做了五个主要页面首页、自动运行、花型编辑、手动调试、报警记录。首页放项目名称、当前日期时间、系统状态大指示灯以及进入各页面的功能按钮。界面设计原则是大按钮、大字、少层级喷泉操作员不一定懂PLC画面必须直观。4.2 自动运行与花型选择画面设计自动运行画面是整个系统的脸面。我用绘图工具画了一个俯视喷泉示意图圆形水池里标出中心喷头、外围喷嘴、水下灯的位置再用GT Designer3的位指示灯功能把Y0到Y7直接投射到画面上。哪个阀打开对应的指示灯就变绿哪个灯亮画面上的图标也变化。实时数值显示用来展示当前泵频率、当前花型编号、运行步骤序号甲方看画面就能知道整套喷泉进行到哪一步。花型选择我做成了8个平面按钮对应D10的数值1到8。按下花型1就把D10写入1再按启动按钮PLC根据D10跳转到对应花型的起始状态步。画面下方还放了一个循环方式选择按钮可以让程序在1到8号花型之间顺序循环也可以固定只播某一个花型。这个功能调试时特别有用甲方说我就想看第三套效果直接选花型3启动就行。4.3 花型参数编辑与报警记录花型编辑画面做得稍微专业一点用数值输入控件关联D201到D208那一串寄存器。画面上方显示花型编号下方按步骤列出参数项保持时间、泵频率、电磁阀状态、灯光状态。每一项都设置了上下限比如保持时间限制在5到6000.1到60秒之间泵频率限制在150到50015到50Hz。这一步不能偷懒如果允许操作员把频率填成90090Hz变频器直接过流跳闸。报警记录页面用的是GOT自带的用户报警功能。我在GT Designer3里建了一个报警文本表把液位低、变频器故障、热继电器跳闸、通信错误等20多个报警信息逐一对应到PLC的报警软元件。故障发生时GOT自动弹出报警窗口同时记录发生时间、确认时间、恢复时间。数据采样功能我也开了把泵实际运行频率、当前输出状态每500毫秒记录一次存到GOT的SD卡里。后期如果甲方说某个时段水柱不稳我可以直接把记录导出来分析不用再蹲在现场盯。4.4 组态画面里的小细节有几个容易被忽略但实际很影响使用体验的细节值得一提所有停止按钮物理尺寸比启动大一圈减少误触概率急停相关指令放在物理硬按钮上触摸屏上不做软急停每个页面左上角放返回首页按钮避免操作员迷路数值输入控件一定要有上下限防止误输入超大值手动调试页面加了一个当前输出状态的动态文字显示比如1#电磁阀已打开方便检修时对点画面颜色不要花哨喷泉运行画面用深蓝色背景模拟水池正常状态用绿色、报警用红色一目了然5. 现场调试实录从不出水到花样稳定切换5.1 调试顺序先单机、后联动电气图纸和程序都做完之后现场调试我是按这个顺序来的先对照图纸检查柜内接线用万用表验证电源相序和各回路绝缘然后给PLC通电用GX Works在线监控核对IO输入信号接着做触摸屏通信测试再进手动模式逐回路点动确认每个阀的开关方向、每盏灯是否正常最后才跑自动花型。建议在跑自动花型之前先在变频器面板上手动试转一下水泵确认旋转方向。水泵反转时输出流量很小电流也偏低容易被误判成水泵坏了。我这次就差点被坑图纸上电机相序标错了试转时发现出水量只有正常一半查了半天才发现是方向反了。5.2 调试中的实际问题与处理第一是电磁阀线圈冲击导致触摸屏黑屏。第一次联动试机时4个电磁阀同时动作触摸屏瞬间黑屏重启PLC也跟着复位。排查下来原因出在电磁阀线圈通断瞬间产生的浪涌厂家原配的接触器没有加RC吸收。后来我把所有电磁阀线圈两端全部并联了RC吸收器PLC电源和现场220V回路彻底分开再没有出现类似问题。第二是水泵启动时液位瞬间下降触发低水位停机。主泵一启动吸水口附近水位会迅速回落浮球/压力式液位计来不及稳定X4瞬间断开系统就停了。处理办法是在PLC里加了一个逻辑主泵启动后3秒内自动旁路低水位信号让液位检测延时生效同时把取压口位置往水池角落挪了挪避开吸水涡流。第三是花型切换时水柱变化太突兀。最初参数表里各步骤频率跨度太大比如上一秒还是20Hz下一秒直接切到40Hz水柱先塌下去又重新冲起来视觉上非常难看。后来我在程序里加了一小段斜坡逻辑每次步骤索引进阶时泵频率按固定的速率逐步逼近目标值而不是立刻跳变。配合变频器加减速时间调到3秒花型过渡就顺畅多了。第四是触摸屏偶尔通信超时。这个问题出现在试运行第二天GOT画面偶尔提示通信错误过几秒自己恢复。我排查了线缆、站号、波特率都没问题最后发现是RS-422通信线的屏蔽层没有单端接地。把屏蔽层接到柜内接地排通信线重新走线避开变频器输出侧之后问题彻底消失。5.3 给后续维护留好资料项目交付时除了设备本身资料我是按这套清单给的最终版电气图纸PDF加源文件、IO分配表、PLC软元件注释导出文件、GT Designer3工程备份、变频器参数设置表、触摸屏帮助画面里的操作说明。这些资料看着不起眼半年后甲方维护时找人做点小修改没有它们基本等于重新来一遍。还有一个建议是把所有可调参数都做成触摸屏可改而不是藏在PLC程序里。我这次把所有花型的步骤时长、频率目标值、灯光状态全部映射到了组态画面上后期甲方自己就能调整不用每次叫工程师上门。这对做项目的人来说既是省事也是一道保险——程序尽可能稳定改动都在画面上发生。喷泉这类项目PLC程序本身复杂度不算高真正花时间的反而是需求沟通、图纸细节、现场抗干扰和参数调试。最后再分享一个小技巧调试花型时先把每种花型的第一个步骤调好确认出水效果和预期一致再往下调第二个步骤千万不要一次性把整套循环跑通后再去调那样一旦效果不对根本不知道问题出在哪个环节。