3. 变频泵组启停控制逻辑编程

变频泵组的启停控制是PLC程序中最基础、也最容易埋下隐患的部分。很多现场故障并非出在PID调节或通信组态上,而是启停逻辑没有处理好互锁、软启停参数和命令接口,导致泵组频繁启停、接触器拉弧、变频器报过流或OC故障。本节围绕单台泵的手动/自动启停梯形图设计、启停互锁、软启动与软停止参数设置,以及PLC与变频器之间的启停命令接口展开,目标是让读者能够独立写出一段可直接下装、可现场调试的启停控制程序。

一、单台泵启停的三种控制来源

在海洋平台的变频泵组中,一台泵的启动命令通常来自三个层面:现场就地控制箱的启停按钮(手动)、PLC操作员站HMI上的软按钮(远程手动)、以及自动逻辑(如液位、压力联锁或轮换调度)给出的自动启动信号。三者不能简单“或”在一起,否则会出现就地按停止、HMI又给启动的冲突。工程上常用做法是设置一个“控制方式选择”变量,用两位选择开关或HMI上的方式切换按钮决定当前由哪一路命令生效。

以某平台海水提升泵为例,定义三个BOOL变量:I_Local_Start(就地启动,I0.0)、I_Local_Stop(就地停止,I0.1)、M_Auto_Cmd(自动启动命令,由液位逻辑置位)。控制方式变量M_Mode为INT型:0=就地,1=远程手动,2=自动。梯形图中先用比较指令判断方式,再选择对应的启动/停止条件,最后驱动一个中间变量M_Run_Cmd作为“运行请求”,而不是直接驱动输出。这样做的原因是:运行请求还要经过互锁、软启停参数和变频器接口处理,直接驱动输出会把逻辑耦合死。

二、启停互锁的四个层次

启停互锁不是一条“停止优先”就能覆盖的。实际工程中至少要考虑四层:第一层是停止优先,即停止按钮、故障信号、急停在任何情况下都能复位运行请求,梯形图中用常闭触点串联在启动自保持回路之前;第二层是泵间互锁,例如两台泵不允许同时工频运行,或备用泵在主泵运行时禁止启动,用对方运行状态常闭触点串入;第三层是工艺联锁,如吸入压力低低、出口阀未开到位、液位过低时禁止启动,这些信号来自压力开关、阀位反馈和液位变送器;第四层是变频器就绪,变频器未上电、未复位或处于本地控制时,PLC不应下发启动命令。

下面这段梯形图逻辑用结构化文本等价描述,便于理解自保持与互锁的关系(示例参数,实际地址按项目IO表调整):

// 运行请求:启动条件 AND 无停止条件 AND 无互锁
M_Run_Cmd := (M_Start_Pulse OR M_Run_Cmd) 
             AND NOT M_Stop_Pulse 
             AND NOT I_EStop 
             AND NOT M_VFD_Fault 
             AND NOT I_Suction_Low_Low 
             AND I_Disch_Valve_Open 
             AND M_VFD_Ready 
             AND NOT M_Other_Pump_Run;

注意自保持支路中M_Run_Cmd自身作为保持条件,但所有停止和互锁条件都放在保持回路之外,保证任一条件断开都能立即复位。现场调试时常见错误是把互锁触点只串在启动支路、不串在保持支路,结果泵启动后互锁失效,这是必须避免的。

三、软启动与软停止参数设置

变频泵的“软启动”不是靠PLC延时实现的,而是通过变频器的加减速时间参数完成。PLC要做的是:给出启动命令后,等待变频器“运行中”反馈;给出停止命令后,等待“频率到零”或“运行中”信号消失,再执行后续动作(如关阀、切换备用泵)。以一台37kW海水泵配ABB ACS880为例,典型参数设置为:加速时间22.02设为15s,减速时间22.03设为20s,启动方式21.01选择“自动”,停止方式21.03选择“斜坡停车”。减速时间比加速时间长,是因为海水管路惯性大,停泵过快会产生水锤,出口压力瞬间升高可能触发压力高高报警。

PLC侧需要设置两个监控定时器:启动超时定时器T_Start_Timeout设为25s(大于加速时间15s并留余量),若启动命令发出后25s内未收到“运行中”反馈,判定启动失败,复位运行请求并报警;停止超时定时器T_Stop_Timeout设为30s,若停止命令发出后30s内“运行中”信号仍未消失,判定停车失败,触发故障处理。这两个定时器是软启停逻辑的“看门狗”,没有它们,变频器通信中断或反馈线断线时PLC会一直误以为泵在运行。

四、PLC与变频器的启停命令接口

启停命令接口分数字量和通信两种。数字量方式最直接:PLC的DO点接变频器DI1(启动/停止),DI2可接正反转或故障复位,变频器RO1/RO2继电器输出“运行中”“故障”回PLC的DI。这种方式响应快、抗干扰好,适合安全联锁要求高的场合,但每台泵要占用2个DO和2个DI,泵组多时IO模块成本上升。通信方式(如Modbus RTU或Profibus DP)通过控制字下发启动位(如ABB的CW bit0=启停),读取状态字判断运行状态,节省布线但存在通信延时和断线风险,通常需要配合通信看门狗使用。

工程上常见的折中方案是:启停命令走通信,故障复位和急停走硬线。这样既减少了电缆,又保证了安全回路的独立性。无论哪种接口,PLC程序中都应把“命令下发”和“状态确认”分开处理——下发命令后不立即认为泵已启动,而是等待状态字或运行反馈确认,这与上一节的超时定时器配合,构成完整的启停闭环。

变频泵启停控制逻辑与接口关系 命令来源 就地按钮 I0.0 / I0.1 HMI 软按钮 自动逻辑 M_Auto_Cmd 控制方式 M_Mode 0就地/1手动/2自动 运行请求 M_Run_Cmd 自保持 + 停止优先 互锁条件 急停 / 变频器故障 吸入压力低低 出口阀未开到位 他泵运行互锁 变频器未就绪 命令接口 数字量 DO/DI 或通信控制字 变频器 软启/软停 加减速斜坡 状态反馈与超时监控 运行中反馈 / 频率到零 启动超时25s / 停止超时30s 关键判断依据 ① 启动命令发出后25s内收到“运行中”反馈 → 启动成功;否则复位请求并报“启动超时”。 ② 停止命令发出后30s内“运行中”消失 → 停车成功;否则报“停车超时”,检查减速时间与反馈回路。 ③ 任一互锁条件断开 → 运行请求立即复位,不等待斜坡停车,由变频器自由停车或按故障停车方式处理。 ④ 通信接口需设看门狗:连续3个扫描周期无状态字更新 → 判定通信故障,禁止下发启动命令。

五、调试要点与常见问题

程序写完后,现场调试建议按“空载—带阀—带载”三步走。空载时只验证命令链路:就地启动,观察变频器是否收到启动位、运行中反馈是否在15s内出现;就地停止,观察频率是否按20s斜坡降到零。带阀时验证互锁:手动关闭出口阀,启动命令应被拒绝,HMI上应显示“出口阀未开”提示。带载时重点看启动电流和出口压力曲线,若启动超时频繁触发,先检查加速时间是否过短,再检查运行反馈接线是否松动。

常见问题有三个:一是停止按钮用了常开触点,断线时无法停车,应使用常闭触点并在程序中取反;二是自保持回路中误把互锁条件放在启动支路,导致运行中互锁失效;三是通信接口下发了启动位但未读取状态字,PLC认为泵已运行,实际变频器因故障未启动。这三个问题都可以通过本节所述的“命令—互锁—接口—反馈—超时”闭环结构提前规避。