具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述。
本发明系统设计如下:
本发明结构框图如图1所示,核心部件采用PLC 1及其数字量扩展模块8,PLC 1具备两个串行通信口,PLC 1通过串行通信口0与质量流量计11连接,串行通信口1与GPRS无线模块2连接;PLC CPU模块1使用扁平电缆连接位于其右侧的数字量扩展模块8,经过串行I/O总线连接扩展从站模块6,并由扩展从站模块6的通信口与触摸屏7连接;CPU模块1及其数字量扩展模块8输入端连接井位传感器9,输出端连接电动机继电器5、蜂鸣器4和油井位置指示灯3,模拟量输入模块输入端连接压力传感器10。
本发明系统工作过程如下:
本发明选用选井阀组13作为油井来液的计量集输装置,选井阀组13内部设计有光电开关传感器,用来检测油井位置。PLC 1控制电动机继电器5线圈通电和断电,从而控制电动机的旋转与停止。电动机与选井阀组13的转轴相连,选井阀组13的阀芯随电动机转轴旋转,阀芯上安装有若干管路接口,其中一个管路接口与选中计量油井的原油出口管路相接,实现该管路单独导通。其余各个管路接口与油井原油入口相连,其油井来液在选井阀组13中部汇合后由总输出口输出。当程序指定一口油井进行计量时,PLC 1对电机继电器5发出信号,电动机带动阀芯旋转,当阀芯到达目标井后,被选中计量的单井来液将通过阀芯从原油出口管路输出,经两相分离装置高效分离后,液相进入质量流量计11进行计量。PLC 1将计量结果传送给触摸屏7和井队数据中心12。确认该井计量完后,PLC 1再给选井阀指令到下一口油井,这样周而复始地循环完成多个油井的单井产量自动选井计量工作。
在本发明中,触摸屏7变量地址与PLC 1存储器地址一一对应,两者硬件连接完毕以后,触摸屏7不仅实时显示现场设备PLC 1的开关量状态和数字变量的值,而且监控PLC 1的运行状态。触摸屏7初始画面设计有4个按钮,分别对应4个主要画面,即计量信息画面、参数设置画面、历史数据查询画面和报警记录画面。其中,
计量信息画面用来显示油井运行参数,主要包括当前计量油井的井号、质量流量计11测量的瞬时值(液量、密度、温度)、PLC 1计算结果(瞬时含水率、日累计液量、日均含水率)、计量时间或准备时间,以及已经计量或准备的时间。当装置处于准备状态时,显示设定的准备时间和已经准备的时间;当装置处于计量状态时,显示设定的计量时间和已经计量的时间。“计量信息”画面,设计有3个图形按钮,分别用来激活选井和时间设定画面、历史数据查询画面和报警记录画面。
参数设置画面用来设置计量参数和报警参数。计量参数包括水密度、油密度和计量修正系数。之所以需要修正计量系数,是因为,在实际测量混合物的含水率时,由于每口油井产出液的温度、压力和含水量等各不相同,即使是同一个计量站的几口油井,它们各自的纯油和纯水的密度都有所不同,而且同一口井的这两个参数在不同时期也存在着差异。为了保证计量精确性,必须结合油品情况并进行大量的试验,以确定较为准确的计量修正系数。报警参数包括压力高报警、温度低报警、流量低报警、压力高时间、温度低持续时间、流量低持续时间。所谓温度低报警、流量低报警、压力高报警,是指单井温度、流量、压力超过了触摸屏7上设定的相应数值,并且温度低、流量低状态持续时间超过了设定的时间范围。
历史数据查询画面用来展示历史数据,历史数据包括采集时间、日累计液量、日均含水率、日累计油量、日均温度、日均压力。日平均数据和日累计数据是根据质量流量计11读出的瞬时数据,在计量时间内经过计算得到的平均值。为了使触摸屏7设计简单美观,15口油井共用一个“历史数据查询”画面。单井计量过程中,PLC程序将各油井的历史数据传递到公共变量中,在查询某口油井的历史数据时,将该井的历史数据显示出来,这样也使得变量数目大大减少。
报警记录画面用来显示报警信息,包括报警时间、报警油井井号和报警类型;由于PLC 1传递字符串时,传递数字而不传递汉字,故将类型代码1,2,3,4,5代表的报警类型提前输入到触摸屏7上,用户只要将PLC 1传递的代表报警类型的数字与触摸屏7上数字对比,就知道报警类型。清晰的报警信息便于工作人员检查和维修设备。
本发明采用质量流量计11作为数据采集模块,它可以直接测量质量流量,测量精确度高,可测量流体范围广,同时可做多参数测量,如测量密度、温度。利用一台质量流量计11就能完成通常由流量计、含水分析仪、密度计、温度计等多台仪表才能完成的工作。在使用质量流量计11之前,需要先设置通信参数,包括通信协议、变送器地址、串口波特率和校验方式。必须保证质量流量计11与PLC 1两者通信参数一致,否则不能通信。采用质量流量计11组成的计量系统,可以满足不同流量下油水含量的计量,为分析油井动态状况提供可靠的依据。
PLC模块1是整个控制系统的核心,控制信号来源是油井位置传感器9。油井位置传感器9实际上是光电开关传感器。当选井阀组13的阀芯转动阻隔光电开关传感器的光路时,PLC 1通过监测输入引脚电平的高低就可以识别出阀芯的当前转动位置,如果到达了目标油井位置,则开始计量;如果没有到达目标油井位置,则电动机继续转动,直到到达目标位置为止。PLC模块1的主要功能为:
(1)PLC 1与质量流量计11通信:选井阀组13的阀芯到达计量井位位置后,PLC 1调用协议指令库,与质量流量计11通信,定时读取采集数据,包括瞬时流量、密度和混合温度,将采集到的数据存储在固定V区域中。
(2)计算计量结果:根据质量流量计11采集的混合密度,结合触摸屏7中输入的水密度和油密度,利用公式(1)计算含水率:
含水率=水密度*(混合密度-油密度)/混合密度*(水密度-油密度) (1)
利用公式(2)(3)得到含油量和含水量:
含油量=液相质量总量*(1-含水率) (2)
含水量=液相质量总量*含水率 (3)
其中,液相质量总量是由质量流量计11测量得到质量流量。
利用公式(4)(5)(6)得到日累计液量、日均含水率和日累计油量:
日液量=(∑Qi/∑Ti)*86400 (4)
日含水率=(∑(Qi*Ki)/∑Qi)*100% (5)
日油量=液相质量总量*(1-含水率) (6)
其中,∑Qi是计量时间内某口油井的瞬时液量总和;∑Ti是某口油井计量时间;Ki是瞬时含水率。
(3)扩展从站模块6与触摸屏7通信:计量过程中,PLC将计量结果传递至触摸屏7“计量信息画面”显示;计量完毕后在“历史数据查询”画面展示历史数据;若出现报警故障,PLC 1将报警信息发送至触摸屏7,方便用户查看。同时,触摸屏7可以控制PLC 1的运行状态,如选井、设定准备和计量时间、设定参数等。
(4)PLC 1与数据中心12无线通信,通过GPRS模块2将计量结果远程传输至井队数据中心12,以便井队管理人员及时掌握生产状况。同时,井队管理人员可以发送命令控制PLC 1,包括选择需要计量的油井、设定参数、设置准备时间和计量时间等。
(5)PLC 1控制计量油井的顺序,通过选井阀组13完成油气单井计量以后,PLC 1发出指令转入到下一口油井进行计量,完成多油井自动连续计量;在电动机带动阀芯转至下一口油井的过程中,下一口选中计量的油井位置指示灯3每秒闪烁一次。
(6)若计量过程中发生超限报警事件,则蜂鸣器4发出声音报警,触摸屏7上显示报警信息,报警信息包括报警时间、报警油井井号和报警类型;同时,PLC 1根据报警类型,控制电动机动作,若在计量某口油井过程中,发生温度低报警、流量低报警或压力高报警,则不再计量该油井,电动机带动阀芯转至下一口选中油井计量;若发生选井阀故障,即在选井过程完成的条件下,在电动机旋转一周的时间内,阀芯没有到达任何油井位置,则电动机停转,等待检修,触摸屏7上出现报警信息;若连续3口油井超限报警,则装置不再计量,电动机直接转至空位,停止。排除故障后,点击触摸屏上“停止报警”按钮,则再次重新启动可编程序控制器程序。
本发明采用GPRS无线模块2将PLC 1计量结果,包括液量、含水率、温度和压力,传递到井队数据中心12。为保证数据传输的可靠性,系统采用TCP(传输控制协议)通讯协议。在数据传输开始之前,首先由数据中心12作为服务器端等待无线模块2的连接,两端经过三次握手协议后建立TCP连接。此后采集站PLC 1就可以将需要发送的数据通过通讯线先传输给无线模块2,由无线模块2再发送给数据中心12。由于数据是允许双向传输的,所以数据中心12可以沿着相反的方向主动向采集站PLC 1发送查询命令或配置数据,包括选井、设置参数、设置准备时间和计量时间等。
本发明系统控制程序设计如下:
PLC 1控制程序由主程序和子程序两部分组成,系统的体系结构如图2所示。按功能模块划分,PLC 1控制程序可分为4个模块,包括数据采集模块、油井位置控制模块、计算处理模块和数据传输模块。其中,数据采集模块由图2所示的读数据子程序完成,PLC 1从质量流量计11读出瞬时流量、温度、密度等数据后,通过质量流量计内部定义的协议,由串行通信口上传至PLC 1。PLC 1接收瞬时数据,结合触摸屏7上输入的已有数据,在计算程序模块计算瞬时数据和日累计数据。数据采集模块和计算程序模块都由井位控制模块所调用,井位控制模块包括图2所示的各井子程序和位置控制程序。各井子程序将计算程序模块计量的结果发送到触摸屏7显示并存储,最后通过无线模块2把油田计量站数据传到井队数据中心12,并随时准备接受远程井队数据中心12通过无线模块2发送的命令和参数。
本发明PLC 1控制过程如下:
PLC 1控制程序流程图如图3所示,控制过程按如下步骤执行:
(1)调用“时间同步子程序”,实现PLC 1与触摸屏7时间同步。触摸屏7断电后,其内部时钟就会丢失,回到出厂时的状态。用PLC 1的时间同步触摸屏7系统时钟,同时可以在触摸屏7上修改PLC 1的时钟,从而间接地修改了触摸屏7的系统时钟。时间同步以后,触摸屏7就可以显示当前时间,同时获得采集数据的时间和报警时间。
(2)调用“井号设定子程序”,此程序用于修改油井的井号。现场油井的使用状态有时需要调整,可以将以前计量油井的井号更改为“备用”状态,也可以为原来“备用”状态的油井设置井号并计量该油井。在PLC 1程序中修改井号,触摸屏7上显示的井号也相应改变,达到随时修改油井号的目的。
(3)调用“选井子程序”,PLC 1读入触摸屏7上选井情况,若用户修改了选井情况,则下一循环周期PLC 1按照用户指定顺序计量。
(4)调用“量程换算程序”,压力传感器10将压力转换为标准量程的电流信号后送给模拟量输入模块,经A/D转换后得到与压力成正比的数字量。量程换算指令将模拟量输入信号转换为压力信号。
(5)调用“顺序计量程序”,根据选井情况,依次计量各油井。顺序计量过程为:操作人员在触摸屏上点击“计量”按钮,启动顺序计量的起始条件,若此时选井阀阀芯不在任何一口井位置,则电机带动阀芯旋转,直到到达了K号井。若用户选择了K号井,则调用K号井子程序,计量该油井,计量过程为:电动机继电器5线圈通电,电动机转动,带动计量集输装置的旋转体将需要计量的支线与计量分管导通,形成密闭计量通道,实现该支线介质的单独计量;其他支线来介质经旋转式分配器汇合后由总输出口输出。在K号井计量完成后,触摸屏7显示瞬时含水率、日累计液量、日均含水率等计算数据;同时,PLC 1发送指令转入到下一口井进行计量;若没有选择K+1号井,则判断是否选择了K+2号井,若选择了K+2号井,则调用K+2号井子程序,计量该油井,计量过程同K号井;若没有选择K+2号井,则依次判断是否选择了下一口井,直至15号井。若选择了15号井,则调用15号井子程序,计量该油井,计量过程同K号井,若没有选择15号井,则返回1#井,继续判断选井情况。如此周而复始顺序计量各个选中油井,完成多口油井自动连续计量过程。
(6)调用“读数据子程序”,PLC 1调用通信协议指令库,每秒钟从质量流量计11地址单元读一次瞬时流量、密度、温度等数据并将数据存储在相应存储器中。
(7)若在计量某口油井过程中发生压力高报警、温度低报警或流量低报警,则不再计量该油井,蜂鸣器4声音报警,电动机转至下一选中油井计量,同时将报警信息(包括报警时间、报警油井井号和报警类型)传递至触摸屏7显示;若发生选井阀故障,即在选井完成的条件下,在电动机旋转一周的时间内,阀芯没有到达任何一口油井,则电动机停转,等待检修,触摸屏7上出现报警信息;若连续3口油井超限报警,则装置不再计量,电动机直接转至0位,停止,同时蜂鸣器4声音报警,PLC 1将报警信息传递至触摸屏7。检修以后,点击触摸屏7上“停止报警”按钮,则再次重新启动程序。
(8)调用“计算程序”,PLC 1将从质量流量计11中读出的数据应用于计算程序中,并结合触摸屏7上输入的已有数据,根据公式,计算瞬时含水率、日累计液量、日累计油量等重要数据。
(9)调用“数据查询”子程序,将计算结果传递至触摸屏7显示,通过点击各油井“数据查询”按钮,将采集时间、日累计液量、日均含水率、日累计油量、日均温度、日均压力等数据直观展示。
用户操作过程按以下步骤执行:
(1)时间同步:触摸屏7主画面左上角设计有“设置时间”按钮,该按钮点击事件激活“时间设置”画面。在该画面IO域设置当前时间,并点击“OK”按钮。同时,在触摸屏7“区域指针”页内,建立“日期/时间PLC”,指向PLC 1中存放时间信息的区域。
(2)选井:在触摸屏7“计量信息”画面,设计有一个图形按钮,点击图形按钮,进入“计量时间设定”画面。在该画面设计有15个选井按钮,对应15口油井,这些按钮为取反按钮,可以选择和取消某口油井的计量。例如1号井选井按钮,对应变量M1.1,当M1.1为1,表示选择了1号井,再次点击该按钮,M1.1为0,表示取消计量1#井。同样,可以点击不同的选井按钮,以增加或减少需要计量的油井个数,即使某口油井正在计量过程中,也可以取消计量,那么该井油井位置指示灯3熄灭,电动机旋转,转至下一口选中油井计量。
(3)设定准备和计量时间:在“计量时间设定”画面,每个选井按钮下方都对应一个IO域,用来输入每口选定油井需要计量的时间。取计量时间内采集到的数据平均值,换算为日数据。“计量时间设定”画面设计有“准备时间设定”按钮,点击此按钮,即可切换到“准备时间设定”画面。在此画面IO域输入每口选定油井的准备时间,为了提高计量精度,准备时间至少为30分钟。
(4)输入计量和报警参数:在触摸屏7参数设置画面输入计算程序需要的计量参数和超限报警参数。计量参数包括水密度、油密度和计量修正系数。其中,计量修正系数的具体数值由化验含水来确定。在正确温度和压力参考下取样试验,将测量含水值与实际含水值相比较,调整计量修正系数,将误差调整到标准允许范围内。由于每口油井的地质情况、含气量不同,每增加一口新井,必须重新测定其油密度和水密度,并输入准确的计量修正系数。报警参数包括压力高报警、温度低报警、流量低报警、压力高持续时间、温度低持续时间和流量低持续时间。当单井压力高于触摸屏7上设定的数值,温度、流量低于触摸屏7上设定的数值,并且压力高持续时间、温度低持续时间、流量低状态持续时间超过了设定的时间范围,则蜂鸣器4声音报警,触摸屏7显示报警信息。
(5)设置质量流量计11与PLC CPU模块1通信参数:通信参数包括通信协议、变送器地址、串口波特率和校验方式。本发明中采用的质量流量计11数字通信协议为MODBUS协议,从站默认地址为1,串口波特率指定为9600,校验方式为奇校验。必须保证质量流量计11与PLC CPU模块1两者通信参数一致,否则不能通信。
(6)启动PLC 1程序:将模式选择开关置于“RUN”位置,启动PLC程序,PLC 1控制电动机旋转,依次计量选中油井,实现多井自动计量。操作人员根据现场情况,选择需要计量的油井,包括步骤:
点击选井按钮,取消需要计量的油井;
点击选井按钮,增加需要计量的油井;
点击选井按钮,取消正在计量的油井。
同时,用户可以随时修改准备时间、计量时间、计量参数和报警参数。
(7)查看历史数据,点击初始画面“数据查询”按钮,进入“历史数据查询画面”,该画面有15个选择按钮,对应15口油井,点击任何一个选择按钮,就可以进入该井的“各井历史数据”画面,显示该井最近14次采集记录,包括采集时间、日累计液量、日均含水率、日累计油量、日均温度、日均压力。用户可以对比各个时段各井产量变化,以直观掌握油井生产情况。
(8)查看报警记录:点击初始画面“报警记录”按钮,进入“报警记录”画面,查看报警情况,分析报警原因,采取适当措施解决报警故障。如果出现选井阀故障报警或连续3口井出现报警信息,电动机停转,阀芯停止在0位,维修人员检修完毕后,点击触摸屏7上“停止报警”按钮,再次启动PLC 1程序。
(9)修正计量系数:在实际测量混合物的含水率时,即使是同一个计量站的几口油井,它们各自的油密度和水密度都有所不同,而且同一口井的这两个参数在不同时期也存在着差异。所以必须周期检查质量流量计的计量结果,以确保计量精确性。在计算含水率时,输入的油、水密度的值,尤其是油密度的值,必须结合油品情况并进行大量的试验。操作方法是,在一定温度下,利用质量流量计测量某口油井的原油密度,并设定油密度,测量含水率。同时,对同一口油井,现场加密取样后用准确度为±1%的石油含水电脱分析仪测量的含水率,与质量流量计检测结果相比,若后者较大,说明油密度设置偏低,调整修正系数,使两者差距减小,直到达到误差范围内。相反,若质量流量计测量含水率比实际含水率小,说明油密度设置偏高,调整修正系数,将误差调整到标准允许范围内。