油田输油泵分布式PLC网络控制系统设计*
2019-12-30巩万福孟栋轩杨盛泉
魏 亭,巩万福,孟栋轩,杨盛泉
(1.西安工业大学 计算机科学与工程学院,西安 710021;2.西安长庆油气建设实业有限责任公司,西安 710200)
输油泵是油田管路输送非常重要的动力设备,其系统运行中呈现极大的非线性、滞后性、强耦合和多种不确定因素,从而容易导致输油效率低下、故障率高、稳定性差等缺点。可编程控制器(Programmable Logic Controller,PLC)是一种抗干扰性能强、稳定性高的支持复杂逻辑、数据处理、网络通信的微电子程序控制装置。文献[1]提出结合管道近、远期输量,选择合适的输油泵控制方案,对减少工程投资、降低运行成本及节能降耗均有重要意义。文献[2]提出传统输油泵控制容易导致故障问题处理延迟长、测控精度低、多泵协调工作能力弱等,尤其当管线压力过大,输油泵得不到及时调控,这样会造成原油泄漏、农田污染等生态灾难。文献[3]中采用PLC可以实现远程控制,极大的提高了系统的稳定性。文献[4]中论述了PLC在工业生产线上使用的有点与高效性,分析了基于以太网使用PLC以实现生产线总体的在线检测、远程控制和数据收集。考虑到采油现场无规律地极度分散,通常远离站点管理办公场所,基于油田广域网(Wide Area Network,WAN)可以将多个输油泵现场的IPC(Industry Personal Computer,IPC)的控制画面远程同时传输到输油泵设备操作工程师办公室中集中实时查看与控制,本地输油泵可以做到无人值守,同时如果出现故障报警后能立刻发现与及时派人现场有效处理。
本文拟采用现场PLC、本地IPC与油田WAN对多输油泵实现本地与远程联合测量与控制,本地输油泵可初步自治运行控制,远程中心对现场多点进行实时控制,形成分布式控制结构,实现高度集中管理、分散灵活控制的优点,这对于油田企业全局输油管线设备安全运行、方便远程管理操作、降低人力成本、提高运行工作效率等具有非常重要的意义。
1 输油泵设备运行工艺原理
油田输油泵主要由机械底座、输油主泵、输油备泵、开关二位阀、模拟调节阀、三通切换器、事故缓存罐、机械管路、变频器以及各种传感器组成。它的功能将从总机关(或者井口)通过管线送过来的原油混合物进行过滤、加热、缓冲、增压后按照适合的流量输送到站点油库[1],其输油运行工艺原理如图1所示。
图1 输油泵运行工艺原理
从图1中可看出,自总机关或者抽油机井口送过来的原油混合物,经过机械管路输送至原油过滤器以过滤掉泥土、矿渣等颗粒杂质,依据设定的输油流程经过三通切换器送入到输油主泵或者输油备泵,通过油泵将原油调控到合适的出口压力继而通过外输出油口管线输送到站点原油库。由于总机关来油的流量和压力波动很大,系统需要通过一定得算法对主泵或备泵变频器实施智能控制,确保外输维持恒定合理的压力,外输压力如果太小则外输长距离就没有运行动力,反之压力太高会导致外输管线破裂造成原油泄漏等生态灾难。总机关来油如果压力太高超出了油泵承受范围或者过滤器堵塞,则需要切断油泵入口,使得来油直接进入故障罐缓存,故障罐里面缓存的原油液位达到一定高度时需要通过输油备泵外输出去。
2 网络拓扑与宏观结构设计
国内长庆油田、大庆油田和延长石油等油田输油泵,均无规律性地大多分布在荒野之中,无论油田大小,其物理设备工艺基本相同,一个油田一般由若干个1#、2#…N#输油泵构成。
2.1 系统网络拓扑结构
根据输油泵运行工艺特点和多泵分散性分布的客观现实,本文设计出3层的输油泵远程测量与控制系统的网络拓扑结构。该系统是一个典型的星型拓扑结构,所有外围终端IPC通过油田广域网WAN路由器连接到远程控制中心(Remote Control Center,RCC)计算机,由一个中心节点管理访问,控制多个分散的终端节点,形成了基于网络的分布式控制系统(Net Distributed Control System,NDCS),它是传统的DCS理论的一种扩展应用。NDCS采用集中管理、集中操作、分散测量、分散控制的基本设计思想,采用多层分级、网络通信的结构形式。
2.2 系统远程测控总体宏观结构
根据网络拓扑结构的特点以及输油泵测量与控制的详细需求,遵循自顶向下、逐步细分的原则,设计出如图2所示的系统总体宏观结构。
图2 输油泵控制系统硬件宏观结构
系统采用分层设计的方式,自下而上分别为Pump层(传感层)、PLC层(控制层)、IPC层(会话层)与RCC层(管理层)。其具体描述如下:
1) 系统的最底层为油泵层,即Pump层也称为传感层。输油泵是整个系统的测控对象,通过各种传感器和执行机构组成包括压力、温度、液位、流量、开关等传感信号输入、主泵及备泵启停开关量输出、三通阀门调节开度大小模拟量输出以及油泵变频器数字频率控制;
2) 系统的中下层为PLC层,也称为控制层。PLC由CPU、RS485、RJ45、扩展模块组成。扩展模块包括:开关量I/O单元、模拟量输入A/D单元、模拟量输出D/A单元,它们都与CPU通过内部总线连接[2]。RS485嵌入在CPU单元上的外部通信总线,它基于标准Modbus RTU与变频器进行串口通信控制[3]。RJ45是CPU单元上的标准以太网口,它主要通过FINS NET协议连接到中上层IPC;
3) 系统的中上层为1#、2#、…、N#输油泵本地IPC组成的IPC层,又称为会话层。其一方面通过FINS NET对PLC进行会话进行本地测控,另一方面通过油田WAN与最上层RCC进行会话传输本地数据或者接受RCC远程控制指令。
4) 系统的最上层为RCC层,又称为管理层,能够对所有输油泵远程进行数据采集、曲线显示、预警分析、动态工艺画面、参数设置等功能,并通过网络实现对输油泵群组进行远程集中操作管理。
文中将多输油泵远程分布式集中控制设计成不同的层次,每一层需要不同的软件子系统来分别实现,上下层通过硬件电路和软件API接口函数进行衔接,不同层的软件子系统可并行研究与开发,这样不但降低了整体系统的复杂度,而且也缩短了开发周期。
本系统网络拓扑结构NDCS核心硬件可采用西门子公司的S7-300 PLC或者Omron公司的CJ2M PLC来实现。以Omron CJ2M PLC为例,其底层分配设计见表1。
表1 NDCS核心底层分配设计
系统底层实现时,根据输油泵测控具体工艺需要,其底层具体模块的数量可以相应增加或者减少,并在PLC程序中根据单元号与地址范围设置其最终物理地址。
3 系统软件设计
系统的硬件分层中,Pump层传感器由于具有标准规范的电路接口因此不需要编程,其他层均需要分别设计相应的软件子系统,包括:PLC现场测量与控制软件子系统、IPC本地会话软件子系统以及RCC远程管理软件子系统。
3.1 PLC现场测量与控制软件子系统
该子系统选用Omron公司的CJ2M-31 PLC作为现场输油泵控制器。其软件使用CX-Program V9.3集成开发环境,使用遵循IEC标准的梯形图LAD与SCL-ST语言混合编写[5],设计了5个循环控制SCL-ST子程序,其PLC主调梯形图LAD程序MAIN如图3所示。
图3 PLC主调梯形图LAD程序MAIN梯形图
各个循环控制子程序在MAIN的控制调度下周期执行,MAIN实施它们的启动、并发、同步、停止等管理工作[6]。具体完成内容描述如下:
1) 数据采集循环子程序AnalogWork:完成采集多个模拟量AD081-V1、开关量ID231等模块数据。这些数据采集进来需要进行滤波处理,去掉干扰数据后存储到DM区。系统采用了RC低通滤波器进行平滑数据,其数学传递函数为
其中:Tf=RC为滤波时间常数。将该数学函数离散化得到的PLC实现的差分算法公式为
Y(n)=αY(n-1)+(1-α)X(n)
其中α=Tf/(Tf+T),T为采样周期;X(n)为当前第n个采集样本;Y(n)为当前第n个的滤波结果数据。
2) 逻辑控制循环处理子程序LogicModule:完成本系统所有的内部逻辑控制功能,它内部有一个生式规则库,用PLC ST语言编写,其规则形式前件(执行条件)A→后件B(规则体)。条件A与B也可是NOT、AND、OR、XOR等运算符组成的复合逻辑表达式,A中表示逻辑运算条件,B中表示处理。例如:IF MainPumpRun AND OilPressureHigh THEN SetAlarmOn AND SetPauseOn,其表达当主泵运行的时候发现压力超高,PLC立刻输出报警并且暂停系统。
3) 压力PID控制循环子程序PIDWork:完成对变频器频率PID控制即用PID算法控制主泵或者备泵的转速而达到出口压力符合油泵工艺设定压力曲线。
PLC中使用PID控制算法的微分方程为
式中:e(t)=SV(t)-PV(t)为偏差,t为控制器运行时刻,TI为积分系数,TD为微分系数,KP为比例系数,mv(t) 为算法的输出t时刻的输出结果[7-8]。子系统在Omron PLC中利用SCL-ST代码编程实现了增量型PID控制,运行时要选择合适的比例P、积分I、微分D参数,当然也可以调用PLC内置的PID指令来实现。
4) 三通切换器控制循环子程序DAValveCtl完成油泵流程控制,其一方面控制三通阀门的DA输出,另一方面控制油泵按照选定的流程自动执行,主要的控制流程有:按照时间计划TimePlan轮流执行主备泵、按照流量计划FluxPlan执行泵、按照油泵温度计划TempPlan轮流选择执行泵等。
5) 通信响应循环子程序CommWork完成一方面对传感层的变频器进行RS485通信,另一方面对上层IPC进行RJ45通信准备数据包。PLC与变频器通信遵循标准的Modbus RTU协议,其命令帧格式见表2。
表2 RTU传输模式命令帧格式
PLC与IPC进行RJ45网络通信遵从FINS (Factory Interface Network Service) TCP工业以太网通信标准,它兼容与任何Ethernet、Controller Link和SYSMAC LINK等网络系统[4],其协议格式在传统的TCP/IP基础上加一个FINS包头。
3.2 IPC本地会话软件子系统
输油泵IPC本地会话软件子系统基于面向对象(OOP)集成环境开发并采用多线程(Multi-Thread)的编程机制设计完成,根据系统功能设计的IPC本地会话子系统多线程如图4所示。
图4 输油泵IPC本地会话子系统多线程设计
考虑到输油泵在油田企业里为特种关键设备,其系统操作的用户有油泵工艺员、设备安全员、普通操作工人、系统管理员等,他们在油泵输油工作运行中都有不同的任务,因此子系统设计采用基于角色的访问机制,不同角色具有不同的权限,登陆系统时通过用户角色管理线程后再经角色权限界面选择线程生产不同的运行界面。其他线程同时并行运行,它们都有自己的CRunTimeData互不干扰的空间,并发完成:下行与PLC实时RJ45 FINS通信、上行与远程RCC完成TCP/IP通信、油泵数据处理记录存储、油泵动态曲线显示以及PLC运行参数查看设置等功能。
IPC采集PLC数据后需要进行运算后再储存,例如在“油泵数据处理记录储存线程”中通过采集输油流量f(t)进行输油累计量的计算,需要通过数字化积分算法完成,其表达式为
其中:Q为输油累积量,Ta为开始时间,Tb为结束时间,f(t)为输油流量采集函数;在编程实现时通过复化Simpson算法求解[9],其离散化后的公式为
其中:Xk-1/2=(Xk-1+Xk)/2=Ta+(k-1/2)h,将[Ta,Tb]分成n等份,取等距节点Xk=a+k*h,k=0,1,…,n,h=(Tb-Ta)/n。
3.3 RCC远程管理软件子系统
RCC远程管理软件子系统根据油田广域网WAN的实时性要求以及专用性要求,采用工业控制经典的C/S架构,该子系统的人机界面从油田企业管理所有输油泵的全局出发,比IPC本地子系统多了管理调度所有输油泵生产运行的线程和全局输油设备远程安全决策分析线程,其他与IPC本地子系统类似,限于篇幅不再赘述。
RCC远程管理软件子系统侧重全局远程控制管理功能,可采集所有油泵的数据,并进行大数据分析处理数据挖掘,算法采用了基于经典的Apriori算法关联规则数据挖掘算法[10],其核心代码为:
L1={large 1-itemsets};//生成频繁1-项集集合
for (k=2;Lk-1<>;k++) do//生成频繁k-项集
Ck=apriori_gen(Lk-1);//调用函数由Lk-1生成Ck
Ct=subset(Ck,t);//事务t中的候选集
Lk={cCk|c.count≥min_sup}//Lk为候选集合运算
L=∪kLk;//L为最终数据分析结果
4 实例与对比
油田输油泵分布式PLC网络控制系统在Windows 7操作系统中使用面向对象的集成开发环境Delphi 6.0、CX-Program V9.3与开源网络数据库MySQL 5.6开发,该系统在中国石油某油田企业得到了实施应用,其实际开发的RCC远程其中一个站点输油泵运行的人机界面如图5所示。
图5 RCC远程站点输油泵工艺人机界面
为了验证本文提出的输油泵分布式PLC网络控制系统的实际优势,系统开发完成后部署在中国石油某油田企业输油泵(型号为CT-Pump8209-TB-Ⅳ,双泵)进行实际运行,并与同站点同型号采用传统控制方式的输油泵进行控制运行效果比对,累计一年的统计数据见表3。
表3 控制效果实验运行对比数据
企业运行数据反馈情况表明,采用文中的分布式网络控制方式配备的人员较少,发生故障次数远远少于传统控制,一年的设备维护费用是传统控制方式的1/10左右,连续运行的最长时间也明显优于传统控制方式。这表明该系统信息化程度高、降低了多泵协同管理的难度、提高了设备安全管理效率、极大地减少了输油生产运行成本。
5 结 论
本文设计了一种新型的油田输油泵分布式PLC网络控制系统,对输油泵分布式控制采用PLC网络系统,采用多层设计并通过一个中心连接控制到被控对象的各个分散采集点进行实时运算与控制。采用NDCS架构进行油泵多点分布协同控制,利用Apriori算法关联规则进行优化集中管理,克服了传统输油泵控制容易造成设备各温度、压力惯性波动大、管路压力不均匀等缺点。本文提出的使用WAN与PLC以层次化的方式设计的远程控制系统,将复杂的设备测控问题简单化,对类似的设备远程控制提供了较好的设计方法与模型,具有较强的实际应用与推广价值。