程瑞洲,徐竟天,周红芳,赵晓姣
(西安石油大学 电子工程学院,西安 710065)
依靠岩石和液体的膨胀及溶解气驱的天然开采机理对原油进行开采,约有80%的储量无法开采出来,因此继一次采油之后,提高原油采收率的一个重要方法就是油田注水[1]。油田注水,是油田地下开采过程中的能量补充。目前,我国主要油田已进入高含水开采阶段,油田内井间、层间的状况存在较大的差异,而解决的方法,就是合理有效地控制注水,以满足各类油层的开采需要[2]。油田注水站的主要作用是将供水系统送来或经过处理符合标准的水进行升压,然后输送至注水井排和注水井里。
对于新疆准东油田北3台集油注水站计算机监控项目而言,由于现场环境恶劣,尤其是在冬季,如果泵及其管道被冻住后,整个冬季将无法注水,对原油采收将会产生非常大的影响。本文采用基于西门子S7-300 PLC的软冗余控制系统,利用Profibus-DP和Ethernet总线将现场各种智能仪表采集到的数据传送给CPU进行处理。经过投产运行,大大提高了注水站监控系统的可靠性和管理水平,基本消除了安全隐患,避免了因系统故障、设备停机引起的经济损失。
注水站站内设施主要由注水泵机组、注水井排管网和注水井支线3大部分组成,主要设备由缓存罐、汇水管路、活塞泵、输水管路和计量仪表等部件构成,控制系统主要实现对站内工艺生产运行参数进行集中监测、控制和管理。
注水站工艺流程为来水进站→计量→缓存罐→进泵加压→输出高/低压水,如图1所示。该注水站设置了3座储水罐,其中2座缓存罐总容量按该站最大用水量时的4~6 h来设计,2座缓存罐中的一座设计为净化污水储罐,另一座设计为清水储罐,主要作用是储存水源井清水或污水处理站输送过来的油田合格水;事故罐的作用是当电磁阀故障导致来水异常时,通过将水注入其中以避免发生事故。2种水源经过低压水表计量后进入缓存罐,其中污水处理来水经过加压进入高压注水泵房,而水源井清水进入低压注水泵房作为补充。在高/低压泵房内,每个泵与出水井排之间加装一个单向阀,防止高/低压水反向流回活塞泵,从而对泵造成损坏[3]。
汇水管路包括连接储水罐与泵之间的管汇,为倒罐、倒泵提供方便,另外连接注水泵与注水井排、配水间之间的是输水管路,其作用是将高/低压水分配给配水间、注水井。计量仪表主要用于监测设备的运转、压力和水量的消耗等[4]。
图1 注水站工艺流程Fig.1 Injection station process flow chart
油田注水站控制系统主要包括:缓存罐、缓存罐液位检测、缓存罐出口流量检测、提升泵启/停、电动调节阀开/关、汇水管路液体压力检测、汇水管路流量检测、注水泵启/停及注水井排液体压力检测等。系统监控情况如表1所示。
表1 系统监控统计表Tab.1 System monitoring statistical table
整个控制系统主要实现对站内设备运行状态进行集中监测、控制和管理,方便人员操作。包括监控画面显示、报警及数据记录、参数设定、人员考勤及报表打印等。
对于常见的计算机控制系统而言,根据冗余控制实现的方式,分为硬件冗余和软件冗余。硬件冗余的高可靠性性能常用于停机会造成巨大损失的控制系统,通过采用特殊硬件模块,包括CPU、PS电源模块及I/O模块实现冗余;软件冗余采用2套相同的CPU控制系统,能够实现除ET200M从站上的I/O模块以外的模块与链路的冗余,成本低且拥有很高的可靠性[5]。
鉴于注水站监控系统的重要性及甲方要求,该项目计算机监控系统方案采用了基于西门子S7-300 PLC的软冗余方案。整个控制系统由2个相互独立的PLC组成,当主处理器出现故障时,通过事先在CPU模块程序中编写监控程序和数据交换处理程序实现数据同步,完成主备处理器切换[6]。监控系统现场上位监控计算机选用2台台湾研华工控机(IPC-610H)和2台22英寸液晶显示器,实现监控计算机双机冗余,同时配合2台西门子高性能PLC一起实现对注水站运行工艺流程的实时监控。2台上位监控计算机和PLC之间的通讯连接通过交换机采用工业以太网进行通讯,并以工业以太网作为冗余网络将整个系统有机地结合在一起。监控系统硬件结构图如图2所示。
图2 监控系统硬件结构Fig.2 Monitoring system hardware structure
控制系统由2套完全独立的西门子PLC的CPU模块、包含IM153-2模块的ET200M分布式I/O及相应的Profibus-DP总线和Ethernet总线,共同构成冗余体系。PLC的CPU模块选用西门子公司CPU 315-2DP模块,该模块拥有2个接口,一个是MPI(多点接口)通信接口,另一个是Profibus-DP总线接口。2个CPU 315-2DP通过MPI通信接口连接,构成主系统与备用系统的数据同步通讯链路。2个CPU模块分别通过各自Profibus-DP总线接口与ET200M从站的IM153-2模块连接,构成主系统、备用系统与从站的通讯链路。
现场的液位和压力探测器直接与AI模块相连,通过传感器转换为4~20 mA电流信号;流量计与FM350-2计数模块连接,读取流量计的脉冲信号。然后这些信号被采集进PLC,PLC对数据经过计算与处理,一方面向ET200M从站上的控制模块输出控制信号,另一方面将相应数据传送给上位监控计算机。
Station A和Station B 2套独立的S7-300 PLC(处理器、通讯接口、I/O模块)系统构成了软冗余控制系统,完整的西门子软冗余系统的软、硬件包括:
1)1套西门子Step 7 V5.5编程软件和软冗余V1.2软件包;
2)2套型号为315-2DP的CPU模块及相应的电源模块;
3)3条通讯链路,主系统与从站通讯链路(PROFIBUS-DP 1)、备用系统与从站通讯链路(PROFIBUS-DP 2)、主系统与备用系统的数据同步通讯链路(MPI);
4)1个ET200M从站,包括2个IM153-2接口模块和若干个I/O模块;
系统开始工作时,Station A系统为主,掌握对ET200M从站中的I/O控制权,Station B系统为备用。当主系统A中的任何一个部件故障或通信中断时,当前的控制任务会自动切换到备用系统B当中执行,Station B代替Station A完成设定的控制任务,这时,Station B为主,Station A为备用,这种切换过程是包括电源、CPU处理器、通讯电缆和ET200M站IM153接口模块的整体切换。系统运行过程中,即使没有任何组件故障,相关人员也可以通过设定控制字,实现主备系统的手动切换,这种手动切换过程,对于控制系统的软硬件调整、更换和扩容非常有用。因此,软冗余能够实现:
1)主机架电源和背板总线的冗余;
2)S7-300 PLC的CPU冗余;
3)Profibus-DP现场总线网络的冗余 (包括通讯接口、总线接头和总线电缆);
4)ET200M站的通讯接口模块IM153-2的冗余。
Station A、B系统中的 PLC程序由非冗余(Non-duplicated)用户程序段和冗余(Redundant Backup)用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC只执行非冗余用户程序段,而跳过冗余用户程序段。图3为软冗余系统内部运行图。
图3 软冗余系统内部运行过程Fig.3 Soft-redundancy system internal operation process graph
由图3可知,主备CPU都执行读取输入信息、执行非冗余用户程序、读取评估对方状态、发送对方冗余数据和输出信息等操作。两者不同的是:主CPU执行冗余程序,而备CPU跳过冗余程序。开机运行后,主/备CPU同时启动并运行,主CPU读取备用CPU状态,判断备用CPU是否运行正常,若其故障将报警显示;主CPU执行自身的冗余程序后,将自身的冗余数据传送给备用CPU,以便故障时备用CPU可以接手控制,这样备用CPU将继续完成系统的控制。可见冗余功能的实现主要是靠评估对方状态和发送冗余数据来实现的,为实现这些功能,西门子公司提供了专门的冗余软件包[7]。
本项目使用了冗余软件包中的SWR_XSEND_300程序块,通过CPU上的MPI接口,采用MPI数据同步方式和参数配置连接类型,包含的功能块有FB101,FB103,FC100和FC102。FB101是循环调用的数据块,主要作用是将主站系统中的冗余数据复制到备用系统中;FB103在FB101中被调用,主要作用是实现主、备控制器的数据同步,同时在该块内部调用SFC65“X_SEND”和 SFC66“X_RCV”功能块,负责数据的接受和发送;FC100是初始化程序块,在OB100中被调用,实现定义系统运行参数的作用;FC102是诊断功能块,在OB86中调用获得诊断数据,完成模块诊断供FB101调用,实现ET200M切换的功能[8]。
编写软冗余程序时,非冗余程序段编写在OB1当中,冗余程序段编写在OB35当中,这里使用的是OB35的默认属性,即每100 ms中断触发一次,可以根据实际需要在CPU属性中修改中断的时间间隔。在 OB35里调用 FB 101“SWR_ZYK”功能块,FB101块中封装了冗余功能的程序段,实现冗余功能。调用FB101时,可以在线读出RETURN_VAL参数的数值,如果为0,说明冗余链接正常。如果为8015说明数据同步的连接不成功,这是一个常见的错误,原因可能是CP342-5之间的FDL链接建立的不正确或物理链路不通,或者是FC100的VERB_ID参数与NETPRO中的链接ID号不一致。当执行“SWR_START”程序块时,系统分配这些数据区,不能用S7的定时器和计数器,只能使用IEC标准的定时器和计数器。OB35中的程序流程图如图4所示。
图4 冗余程序流程Fig.4 Redundancy program flow chart
除了 FB101,FB103,FC100 和 FC102 功能块外,在编写软冗余程序时还需要以下程序块:暖启动程序块OB100、主/备用系统切换超时程序块OB80、DP-Slave ET200M站上的IM153-2模块出错报警程序块OB82、DP从站的接口模块与主站链接断开或链接重新建立时程序块OB83、程序运行出错或DP从站连接失败程序块OB85、主/从站通讯出错程序块OB86、通讯失败程序块OB87、外围设备访问出错程序块OB122。
上位机监控软件基于研华工控机IPC的Windows XP系统开发环境,采用WinCC V7.5软件进行设计。监控系统画面有注水主画面、高压注水泵画面、其余注水泵画面和恒压供水画面,监控系统软件结构图如图5所示。
图5 监控系统软件结构Fig.5 Monitoring system software structure diagram
利用WinCC的动态显示功能,监控主画面可实时地将现场设备的运行状况显现出来,方便相关人员查看;利用报警功能,当流量、液位或者压力等参数不在设定范围内时,启动报警程序、产生报警信息并在组态画面中显示出来,提醒相关人员检修;利用报表功能,可将现场各种实时或历史的数据记录和储存,方便技术人员查询、浏览和打印。注水监控主画面如图6所示。
本文研究了西门子S7-300 PLC软冗余技术,完成了油田集油注水站控制系统的设计,实际应用表明,系统运行稳定可靠,实现了除ET200M上I/O模块之外的整个系统的完全冗余,达到注水过程全程自动控制的目的,保证了人员安全操作,降低了因故障停机造成的损失,提高了企业的经济效益。
图6 注水监控主画面Fig.6 Water injection monitoring main screen
[1]吴九辅.泵控泵(PCP)自动化注水泵站系统[M].北京:石油工业出版社,2007.
[2]郭万奎,于宝新.油田注水知识——岗位员工基础问答[M].北京:石油工业出版社,2007.
[3]中国石油天然气集团公司人事服务中心.注水泵工(上册)[M].北京:石油工业出版社,2005.
[4]于宝新,陈刚.油田注水泵站技术常识[M].北京:石油工业出版社,2011.
[5]南新元,陈飞,李泉.S7-300 PLC软冗余系统性能试验研究[J].实验技术与管理,2013,30(6):17-18.
[6]张凤西,郑萍,吴晨,等.PLC冗余控制在超纯水控制系统中的应用[J].自动化与仪表,2013,28(11):45-47.
[7]李福祥,郭利进,李璐.基于S7-300软冗余的废次钠污水处理系统的设计[J].自动化与仪表,2011,26(11):46-47.
[8]SIEMENS.SIEMENS PLC系统软件冗余的说明与实现手册[Z].北京:西门子股份有限公司,2003.