很多做水处理的同行跟我说见过最多的控制系统就是“半自动”手动开泵、手动开关阀、盯着液位去操作。碰上超纯水这种对水质和连续性要求比较高的系统人一离开就容易出事——过滤器反洗不及时导致压差升高、RO膜结垢、产水电导率超标最后整个系统停机得不偿失。这个项目做的是一套基于三菱FX系列PLC加触摸屏的超纯水系统控制核心就是“一键制超纯水、一键反洗、一键正洗、无人值守”把原本琐碎的操作全部状态机化交给PLC自动判断、自动执行人在触摸屏上按一下就行。这套方案直接适用于中小型超纯水设备、实验室用水系统、电子清洗用水等场景也是PLC和触摸屏组态入门到进阶的好案例水处理设备集成商、电气工程师和自动化爱好者都可以参考。1. 项目需求与控制逻辑拆解1.1 超纯水工艺为什么要做自动化超纯水并不是单纯用反渗透膜过滤一遍就能出来的真正的工艺通常包含预处理、RO反渗透、脱气、EDI或混床抛光等多个环节。以常见的两级RO加EDI系统为例原水进入原水箱后经过多介质过滤器、活性炭过滤器、软化器再泵入一级RO、二级RO中间有pH调节后面接EDI模块最后产出超纯水产水电阻率达到18MΩ·cm以上。这套工艺段长度大、阀门多、泵多如果靠人去手动启停每天光是开停机、切换阀门、记录水质就要花掉好几个小时而且反渗透膜和前置过滤器对运行状态非常敏感手动误操作一次膜可能就废了。所以控制系统的核心并不是“能启动泵”这么简单而是要解决好三件事第一是顺序比如开RO高压泵之前必须保证前置供水压力足够、低压保护不触发第二是时间反洗、正洗都需要严格定时时间短了洗不干净时间长了浪费水第三是异常处理无人值守时遇到缺水、低压、漏水、电导率超标要自动停机并且保留报警信息不能自己傻跑。这套项目用一键制水、一键反洗、一键正洗三个模式把所有联锁和保护都封装到了PLC里。操作工不需要理解每一步的工艺只需要在触摸屏上选择模式、按下启动剩下的流程自己跑完。这也是现在工业自动化改造的趋势把人从重复操作里解放出来让控制逻辑承担更多责任。1.2 一键操作背后的状态机设计要真正做到无人值守不能写一大坨杂乱无章的梯形图而是要把系统看成若干个稳定状态每个状态下只执行固定的输出动作触发条件满足后再跳到下一个状态。这个思想就是状态机。我一般用三菱PLC的步进梯形图指令来搭也可以用普通M继电器加互锁但步进指令更直观方便调试时监控当前在哪一步。这套系统的核心状态可以划分为待机、制水、反洗、正洗、停机保护五个大类。待机状态下所有泵停止所有阀门处于默认位常开或常闭按工艺定义等待触摸屏指令。按下制水按钮后系统进入制水启动流程依次启动原水泵、预处理系统压力稳定后启动增压泵最后启动高压泵产水阀打开废水阀调节开度直到产水电导率达标才进入稳定制水状态并保持所有输出不变。反洗状态和正洗状态属于维护模式通常由定时触发或者人工触发进入反洗后要先关闭产水阀打开反洗进水阀和反洗排水阀然后启动反洗泵按设定时间运行结束后自动切到正洗状态用正常水流方向冲洗最后回到待机。这里的关键在于每个状态之间必须有明确的迁移条件同时所有迁移条件都要做上升沿捕捉不能电平触发否则按钮按住不放就可能反复跳状态。另外状态外面需要包一层总安全条件只要发生低压报警、液位低报警、紧急停止无论当前在哪个状态都要强制跳转到停机保护状态等复位后才能回到待机。1.3 无人值守的边界条件无人值守并不是说设备永远不会出问题而是出了问题要有正确的“第一反应”比如原水箱液位低时不能直接停高压泵了事而是要先停RO高压泵再停增压泵有几十毫秒的延时防止水锤冲击电导率超标时产水阀要关闭把不合格水排到回收水箱而不是直接浪费掉。这些边界条件需要在设计阶段就明确否则写程序的时候很容易漏。我在做这个项目时把无人值守的保护条件分成三个优先级。第一优先级是设备安全包括急停、泵过载、膜壳高压保护一旦触发必须立即停机第二优先级是工艺安全包括原水缺水、中间水箱液位低、产水罐满、加药系统故障这些触发后执行顺序停机并报警第三优先级是质量保护包括产水电导率偏高、温度偏高触发后切换到内部循环回流等待水质恢复。三个优先级在程序里用不同M线圈表示互不干扰但是都具备最高跳转权。2. 硬件选型与电气设计2.1 PLC与触摸屏选型三菱FX系列适合这种中小型水处理控制系统。具体型号我建议根据IO点数和通讯需求选。常规超纯水系统带3台泵、6-8个电磁阀、4-6个压力开关/液位开关、2路模拟量电导率、流量那么FX3U-48MT/ES晶体管输出就够用输入输出点数大概30点左右留20%的余量。如果系统更大需要更多泵和阀门可以考虑FX5U-64MT或者FX5U-80MTFX5U自带以太网口和触摸屏、上位机通讯更方便程序容量也更大。触摸屏方面我常用的是7英寸或10英寸的触摸屏国产主流品牌都能和三菱FX走串口或者以太网通讯。选型时注意分辨率最低800×480另外要有配方功能因为反洗时间、正洗时间、制水压力上下限这些参数要支持在线修改。三菱的GOT系列当然能配不过成本高一些如果不追求同品牌用国产屏性价比更好只要通讯协议选三菱FX系列即可。这里还有个细节PLC输出的形式会影响阀组接线。FX3U的晶体管输出只能接直流负载电磁阀如果是AC220V必须加中间继电器转接。很多新手在这地方踩坑用继电器输出型PLC直接驱动220V电磁阀也可以但触点寿命和通断频率不如晶体管加中间继电器的方案稳定。考虑到系统有频繁启停动作我通常选晶体管输出的PLC外部全部配中间继电器。2.2 I/O分配与电气回路做I/O分配表是电气设计的第一步。我拿一个典型配置举例输入点说明输出点说明X0原水箱低液位开关Y0原水泵接触器X1中间水箱液位开关Y1增压泵接触器X2产水罐高液位开关Y2高压泵接触器X3高压泵低压开关Y3反洗泵接触器X4RO高压开关Y4原水进水电磁阀X5急停按钮Y5预处理反洗电磁阀X6手动/自动选择开关Y6产水电磁阀X7制水启动按钮Y7不合格水回流电磁阀X8反洗启动按钮Y8冲洗排水电磁阀X9正洗启动按钮Y9加药泵XA漏水传感器Y10报警指示灯XB电导率超标信号模拟量判断Y11电铃/蜂鸣器电气回路需要注意几点所有泵的接触器二次回路必须加热继电器的常闭触点也就是当热继电器动作后即使PLC输出了启动信号接触器也不会吸合保护电机。这个设计能避免PLC程序扫描不及时导致热保护失效。急停按钮要用常闭触点接入PLC输入同时用硬件串进泵控制回路急停按下时直接切断接触器线圈电源不依赖PLC扫描周期这才是真急停。模拟量方面电导率变送器输出4-20mA信号接到PLC的模拟量模块比如FX3U-4AD。地线要用单独接地不能和电机、泵的电源共地否则变频器或电机干扰会让采样值乱跳。流量计输出脉冲信号的话接高速计数器如果只是做累积和显示用普通模拟量也可以。2.3 布线施工中的细节这套系统最容易出现的故障是信号干扰和端子松动。我总结了几条实操经验。第一模拟量信号线必须用屏蔽双绞线屏蔽层在PLC侧单端接地不要两头接地因为两头接地会形成地环流干扰更严重。第二动力线泵、电磁阀和信号线要分两个线槽走间距大于20cm交叉时走90度不能平行绑扎在一起。第三电磁阀线圈两端要并联阻容吸收或压敏电阻尤其AC220V电磁阀断开瞬间会产生很高的反电动势会干扰PLC甚至打坏输出点。第四所有端子螺丝要紧固并且做标记调试时如果出现时好时坏的现象90%是端子松动或者插头氧化。3. PLC程序设计、触摸屏组态与无人值守实现3.1 程序框架用STL步进指令还是M状态继电器三菱FX系列有两种主流写法一种是用STL步进指令另一种是用M继电器配合ZRST区间复位模拟状态机。STL指令的优势是直观、程序流程清晰适合这种顺序控制明确的工况。它的缺点是状态切换时如果输出没有做互锁可能会瞬间同时输出两点比如反洗阀和产水阀同时打开。解决办法是每个状态内的输出都用双线圈互锁也就是在一个状态下同时将另一个状态的输出复位。比如进入反洗状态时首先要复位Y6产水电磁阀再置位Y5反洗电磁阀顺序很重要。我自己的习惯是用M继电器组做状态机因为M继电器的逻辑可控性更强配合定时器和自锁调试起来更方便。比如定义M10为制水状态M20为反洗状态M30为正洗状态。程序分两块第一块是状态迁移逻辑第二块是状态输出逻辑输出用每个状态的M触点驱动这样就算误触发同一个M输出也不会乱。3.2 一键制水程序实现一键制水按下后不是简单置位一个M就完了要做一个“启动序列”。我的程序里把制水状态M10置位后同时启动一个启动延时计时器T10延时2秒。这2秒内先开原水泵再开预处理阀让水充满管路稳定后再开增压泵。高压泵的启动要等到低压开关X3有压力信号也就是X3常开触点闭合且持续3秒才允许Y2输出。如果3秒内X3没动作说明泵前没水或者无水就置位低压报警M50跳转停机状态。这样可以保护高压泵不被干烧。制水运行状态下产水电磁阀Y6打开不合格水回流阀Y7根据电导率信号切换。电导率信号通过模拟量模块读取比较数值如果小于设定值比如0.1μS/cm则关闭回流阀开启产水阀如果超标则关闭产水阀打开回流阀让水回到前置水箱循环。这个闭环调节不需要PID用滞回比较就可以比如合格值设为0.1启动产出条件是低于0.08停止产出条件是高于0.12避免频繁开关阀。3.3 一键反洗与一键正洗程序反洗是预处理系统的核心维护操作。多介质过滤器和活性炭过滤器运行一段时间后截留的杂质会越来越多压差升高这时候需要反洗。反洗程序是按下反洗按钮或者到了触摸屏设定的反洗周期时间系统先置位反洗状态M20同时把制水状态M10复位然后关闭产水电磁阀Y6、原水进水阀Y4延时1秒后打开反洗进水阀Y5、反洗排水阀Y8再启动反洗泵Y3开始反洗。反洗时间T20可调默认10分钟。反洗结束后T20计时到关闭反洗泵和反洗进水阀自动进入正洗状态M30。正洗的作用是让过滤层重新压实、冲掉残留在滤层上方的反洗水。进入正洗后打开原水进水阀Y4关闭反洗排水阀Y8打开正洗排水阀Y9如果系统没有独立正洗排水阀可以复用产水阀前的排废阀再启动原水泵Y0让水从正常方向流过过滤器把松动的滤层冲实。正洗时间T30默认10分钟计时到后系统自动回到待机状态或者如果用户之前启动了连续制水模式则自动切入制水状态。这里要注意反洗和正洗之间存在状态互锁不允许反洗泵Y3和正洗排水阀Y9同时打开。程序里要加一个互锁梯形图M20状态下强制复位Y9M30状态下强制复位Y8。触摸屏上也要配置互锁按钮手动模式下不允许同时点两个。3.4 无人值守的报警连锁无人值守靠的是不算复杂的逻辑但保护要足够周全。我在整个程序里做了一组总报警线圈M60任何一个报警条件触发都会置位M60同时把当前运行状态全部复位并切断所有泵的输出。报警源包括原水箱低液位、中间水箱低液位、高压泵低压、高压开关动作、漏水检测、电导率持续超标比如1分钟内多次超标等。每次报警触发后触摸屏要显示具体的报警代码和报警时间方便远程判断。复位逻辑也很重要。报警后并不是按下复位按钮就能立刻重新启动而要先确认报警条件消失。比如原水箱液位恢复正常X0从断开变成闭合按下复位按钮才有效。我一般会写一个“报警复位使能”条件报警源对应的常闭触点全部断开才允许复位。这样防止操作工在故障没排除时就强制复位启动造成二次损伤。另外无人值守还包含自动补水和自动停机。原水箱液位低于下限自动打开补水阀如果有高于上限自动关闭。产水罐满时自动停止制水模式回到待机。等到产水罐液位降到泵启动液位以下后如果再检测到“自动运行”标志位为ON则自动重新启动制水流程。这个功能让系统真正实现无人值守的连续产水。3.5 触摸屏画面组态触摸屏画面我一般分四页第一页是主监控画面显示系统当前状态、各泵和阀门的运行状态、产水电导率、各水箱液位还有三个一键启动按钮制水、反洗、正洗以及急停和复位。第二页是手动画面供调试和维修时使用每个泵和阀门独立按钮手动模式必须在触摸屏上选择“手动检修”才能进入而且手动模式下PLC里的部分自动联锁依然有效比如泵前无压禁止启泵。第三页是参数设置主要放置反洗时间、正洗时间、制水模式选择、电导率上下限、低压延时时间等。第四页是报警记录用列表显示历史报警和当前报警。画面上的按钮需要做“按下弹起”动作而不是“置位”动作。也就是说按下一次PLC收到上升沿置位状态M弹起不影响PLC内部保持的状态直到流程完成或者故障复位才清除。这样可以防止操作工长时间按住按钮导致重复触发。触摸屏和PLC的通讯参数要一致常见设置是波特率9600或19200、数据位8位、停止位1位、无校验。如果通讯不稳定多半是通讯线接线错误或者两端参数不一致。最新款的触摸屏可以和FX5U走以太网速度快很多下载程序和在线监控都方便。4. 现场调试方法与常见问题排查实录4.1 调试前检查清单这套系统从写完程序到稳定运行中间调试花了不少时间。调试前的检查我整理成了一张清单每项都要打钩再上电。先核对PLC输入输出接线。输入用万用表通断测试输出点可以用PLC编程软件的强制输出功能逐个测试但强制输出时必须确认外部负载不会造成危险比如强制打开反洗阀之前要确认管路里没有高压水。再检查模拟量接线电导率变送器给电后要在PLC监控里看到实际数值用标准电阻箱或者直接拿探头放纯水里试。然后检查泵的相序和电机转向反洗泵反转会导致水泵过载或者没有流量。很多泵空转时转向不对但声音听起来差不多容易忽略可以在泵出口加一个流量开关或者观察压力表。最后做一次“全流程低压试运行”也就是用清水代原水阀门全开不带膜走一遍制水、反洗、正洗流程确认每个状态迁移正确、每个阀门动作正确再去接真实膜组件。4.2 典型问题状态乱跳和水锤调试中最容易遇到的一个问题是反洗切正洗时管路会“咚咚”响这是水锤。原因是正洗进水阀打开瞬间管路压力突变水流冲击管壁。我用的解决办法是在切阀动作之间增加延时例如先启动原水泵再延时2秒打开正洗排水阀再延时2秒关闭反洗排水阀。也就是泵先建立压力阀门再动作这样能大大降低水锤。另一个常见问题是状态乱跳。比如按下制水按钮系统不停在制水和报警之间反复跳。后来查出来是低压开关信号抖动高压泵还没启动时压力开关因为管路波动瞬间接通又断开PLC在几十毫秒内收到多个上升沿。解决方案是低压信号要加延时滤波用定时器做去抖比如X3持续接通超过0.5秒才算低压正常持续断开超过0.5秒才算低压报警。这个在程序里加很简单但能解决大问题。触摸屏上显示的水质数据偶尔变成异常的大数比如电导率突然跳到500过几秒又恢复。排查下来是屏蔽层接地虚接导致的干扰。把所有模拟量屏蔽层重新接到接地排问题就不再出现。所以在我看来水处理系统里80%的模拟量漂移问题都是接地问题不是变送器问题。4.3 其他坑手动自动互锁与配方保存还有两个值得说的点。第一是手动自动切换时所有输出必须清干净。我用的做法是当选择开关拨到手动时PLC立即复位所有自动状态的M继电器同时关闭所有自动输出的阀和泵。否则手动模式下自动流程还在运行点动一个阀就可能和自动输出冲突。第二是触摸屏配方参数比如反洗时间、正洗时间这些参数修改后要保存到PLC内部掉电保持区比如设定值放在D寄存器但不是普通D而是用掉电保持型D8000之后其实三菱FX3U中D512以上的某些区域做掉电保持或者用触摸屏的配方存储功能直接存到屏里。我一般把参数放在PLC的掉电保持寄存器同时触摸屏每次启动时读取一次避免屏里的值和PLC里的值不一致。4.4 无人值守的最终确认整套系统装好之后我在现场做了三天的无人值守测试。第一天是模拟产水罐满停机第二天是模拟原水缺水报警第三天是模拟电导率连续超标停机。每次模拟故障后我都观察系统的处理动作是不是符合预设先停高压泵再停增压泵延时停原水泵阀门回到安全状态。测试通过后我才放心交付。5. 这套方案还能怎么扩展按这个框架做出来的超纯水控制系统后续扩展方向也很多。比如可以加远程监控模块用三菱FX5U的以太网口把数据上传到云端或者接一个4G物联网盒子把运行状态和水质数据推送到手机真正实现无人值守加远程运维。也可以增加变频器控制泵的转速根据产水流量自动调节高压泵频率节能效果明显。想要更先进的做法还可以加一套PID温控保证超纯水恒温供应满足精密实验需求。另外超纯水系统经常要求打印水质报告或者对接上位机MES这时PLC里要留出完整的运行记录数据块比如产水累积量、反洗次数、反洗时间历史记录等方便上位机读取。这个在程序设计阶段就要预留寄存器区不然后期加数据会很麻烦。从我自己的实操体会来说这种一键自动化的改造最大的价值不在于省一个操作工而在于把老师傅脑子里的经验固化到PLC里。什么时候该反洗、反洗多久、什么时候切正洗、什么条件必须停机这些原本靠人判断的规则变成代码后设备稳定性会明显提升。调试这个系统时我踩过的坑也都不难大多是信号抖动、接地干扰、手动自动互锁这类常见问题只要按着状态机设计逻辑来一步一步摸流程就不会有大偏差。最后再说一个我一直沿用的习惯PLC程序里在每个状态的起始和结束位置加一段空操作并且用注释写清楚这个状态的含义和迁移条件。三菱GX Works2里注释很方便写清楚之后哪怕几个月后再打开程序也能很快看懂当时的设计意图。这对后期维护、改版、故障排查来说比节省一两行程序有价值得多。