柴胜杰,孙浩文
(中海石油中国有限公司蓬勃作业公司 天津300459)
在某海上设施配备了一套淡水供给系统,由2台离心泵(一用一备)从淡水罐中抽取淡水输送至各淡水用户。该泵的停止只能手动操作或由高级别的系统关断来实现,并未配套空转和不排液保护功能。其中一台离心泵曾出现过因淡水罐液位过低导致的泵长期空转引起机械密封异常磨损的故障。为避免类似的故障再次发生,需要采取必要措施在不增加额外设备的情况下,利用现已安装的检测仪表,通过正常工况和异常工况下的参数比对合理添加停泵逻辑来达到保护停泵的目的[1]。
在优化停泵控制逻辑之前,需对相关流程进行解读分析,上述设施淡水系统的主要流程如图1所示。
图1 淡水系统主要流程Fig.1 Main process of fresh water system
2台淡水离心泵 C和 D(一用一备)从淡水罐 A和 B中抽取淡水,增压后输送至各淡水用户,若各用户无淡水消耗,排出压力高于设定值 662kPa时通过自力式压力调节阀 E回流至淡水罐,从而实现压力的稳定。排出压力通过变送器 F(位号:43PI6216)远传至中控系统实现实时监控。在中控监控界面上同样可以显示泵电机的实时电流值,如图2所示。
图2 淡水泵参数监控画面Fig.2 Monitoring screen of fresh water pump parameter
机械密封由静环和动环两部分组成,安装时给动环的弹簧施加一定的预紧力使静环和动环的密封面紧紧贴合。正常情况下,该密封面由流体介质进行润滑和冷却,因此泵可以长期运行。若泵的入口没有介质进入泵体内,机械密封面会因缺少润滑和冷却而出现“干磨”现象。上述某海上设施的淡水泵机械密封损坏即是因为淡水罐液位过低,泵无法吸入淡水对密封面进行润滑和冷却所导致的。
要避免机械密封面出现“干磨”,就必须保证泵体内始终充满介质。另一方面,在泵运转时,若出口阀被完全关闭,泵体内的介质被叶轮搅动会产生热量,若不排液,介质温度会逐渐升高,机械密封也可能会受热变形而损坏。因此,离心泵空转或者不排液长期运转都是不允许的。
该淡水系统的离心泵出口在设计之初并没有安装流量计,后续加装也有较大的难度,因而无法通过泵出口流量来判断泵是否空转或者封闭不排液运行。但从图2可以看出出口管线上安装了压力变送器,并且对每台泵的电机电流值进行了实时测量,我们可以利用这些测量值来判断泵是否空转或是否封闭运行。
通过测试可知,该离心泵空转时的实际电流值约为3A,不排液封闭运行时的电流值约为4A,泵的扬程为 1000kPa。泵正常排液运行时的电流值范围在11~12A,出口压力在 662kPa(自力式压力调节阀 E的设定值)左右波动。
依据以上数据,可以通过判断来拟定保护停泵的条件:泵出口管线压力小于 500kPa并且电流值小于10A时,认为该泵为空转或者封闭不排液状态,程序输出停机信号。
为了进一步提高可靠性,防止泵的机械密封出现“干磨”,在淡水罐 A和 B的液位高度同时低于15%时,也输出停泵信号。
图3为淡水系统离心泵按照原设计搭建好的控制逻辑,泵的启停和连锁由设备控制块DC1执行,涉及到此次优化的参数是 INTERLOCK_D:当该参数值为0时,DC1的输出参数F_OUT_01为0;该管脚连接到泵的启停信号 CMD_RUN为 0时,输出停泵信号。因此,我们只需将泵的保护信号通过程序的处理,最终将参数INTERLOCK_D变为0即可[2]。
图3 淡水泵控制逻辑Fig.3 Control logic of fresh water pump
参数释义如下所示。
CND:条件功能块(condition),用VB脚本编写,只要满足脚本编写的条件,其输出参数OUT_D将变为 1。
BFI:布尔函数输入(Boolean Function Input),此处在输出端只用上了参数 OUT_D,其功能相当于一个或门,即IN_01至IN_08,其中任何一个为1,该参数OUT_D则为1。
OND:延时通(On Delay)功能块,当该功能块的参数IN_D由0变为1时,其输出参数OUT_D延时一定时间(可设定)后变为 1。该功能块的目的是切除信号不稳定、突变造成的干扰,以避免意外关断。
NOT:取反功能块。
DC:设备控制功能块(Device Control Block)。
程序解析:CND1-CND8中(所选择的 CND3和CND5被包含其中)任何一个满足其 VB脚本编写的条件,参数 OUT_D 输出为 1,在布尔函数输入功能块 BFI1的输出参数 OUT_D即输出为 1,经过设定的延时时间后,延时通功能块 ON D1的输出参数OUT_D变为1,经取反功能块NOT1后,其输出参数OUT_D变为0,由此致使设备控制功能模块DC1的输入参数 INTERLOCK_D变为 0,最终输出停泵信号至参数CMD_RUN[2]。
按照上述控制逻辑分析,我们只需将拟定的停泵条件添加到 CND1-CND8中即可。因设计了 2种保护停泵的条件,本文随意选择了CND3和CND5。
优化后的控制逻辑解析:当上述2个条件中任何一个保护停泵条件满足时,CND3或CND5的输出参数OUT_D变为1,BFI的管脚IND_3或IND_5变为1,其输出参数 OUT_D即输出为 1,通过 OND功能块延时后其输出参数 OUT_D变为 1,再经过 NOT取反后变为 0,连接到设备控制功能块 DC的输入管脚 INTELOCK_D的值变为 0,此时 DC块输出参数OUT_D变为 0输出停泵信号,从而达到保护停泵的目的。
程序修改完成并下载后,为验证其准确性及可靠性是否达到预期,需要对控制逻辑进行测试[3]。设施上的 DCS系统采用的是 Emerson DeltaV,能够对模拟量输入信号进行仿真操作,这给测试过程提供了很大的便利,无需真实降低淡水罐的液位来达到泵抽空和关闭出口阀门达到封闭不排液的目的,避免了测试时不正常工况导致泵损坏的可能性。
测试过程:将2个淡水罐液位仿真输入为16%,CND3的OUT_D在线值为0,将淡水罐A的液位值仿真为 14%,OUT_D 在线值仍为 0,再将淡水罐 B的液位值仿真为 14%,此时 OUT_D在线值变为 1,最终的程序输出信号 CMD_RUN变为 0,该泵停止运行。
仿真泵出口压力值为499kPa,CND5的OUT_D在线值为 0,再将泵的电流值仿真为 9mA,OUT_D在线值仍为 0,最后强制泵的运行状态输入信号F_IN_D1为1时,OUT_D在线值变为1,最终的程序输出信号CMD_RUN变为0,该泵停止运行。
以上的测试结果与设计思路完全吻合,达到预期目的。
油气田生产设施大多都会配备大量的各种类型离心泵,除非有特殊的需求,一般情况下不会设置自动保护停泵的逻辑,存在设备损坏的潜在风险。为消除或降低这种风险,参照本文描述的利用各种检测参数,如液位、温度、压力、电流、流量等,进行保护逻辑的优化[3],利用正常工况和异常工况时的泵参数对比,通过简单的逻辑判断可实现保护停泵的目的。