袁瑛,張乃祿
1.西安石油大學 電子工程學院(陜西 西安710065)
2.陜西省油氣井測控技術重點實驗室(陜西 西安710065)
隨著智慧化油田的快速發展,及時了解油井的生產情況對于提高油井采油率、增加油井產量、維護油井安全生產具有重要意義。油井的生產狀況主要依賴于油井井下設備的運轉狀態,其中抽油泵的可靠運轉是油井正常工作的關鍵[1]。目前,利用大數據對抽油泵的工作狀態進行分析診斷是油井工況診斷的研究熱點[2]。目前的研究是以油井生產設備參數為基礎對油井故障進行診斷[3],主要方法有以下兩種。
地面示功圖分析法,該方法應用光桿動力儀繪制光桿示功圖,通過對光桿示功圖進行分析解釋,從而判斷油井設備故障,由于該方法精度較差,沒有得到推廣應用。
井下示功圖診斷法,將動力儀與抽油泵同時放入井中,直接測量泵示功圖。此方法可以得到抽油泵的第一手數據,避免了諸多不確定因素。但是這種方法在安裝井下動力儀和讀取時必須將泵和抽油桿一同取出,不能實現油井工況的實時檢測與診斷,因此沒有得到推廣。
本文針對油井井下設備的運行狀態和油井工作狀態的特點,研究了基于實時生產數據的油井工況診斷系統,分析油井生產設備工作時的實時生產數據,采集油井工況診斷系統的設備參數:包括示功圖信息、動液面值、套管壓力值和三相電參值,進行信息融合和特征值提取,運用BP神經網絡模型建立工況診斷模型,實現對抽油井工況的實時診斷,從而及時把握油井生產情況。
目前我國大部分油田采用有桿泵抽油方式,有桿泵抽油井的工作原理如圖1所示,通過電控柜中的變頻調速設備控制電機轉速,通過減速箱增大扭矩,曲柄連接連桿帶動游梁上下擺動,驢頭和懸繩器保障抽油桿垂直往復工作,完成抽油工作。

圖1 有桿泵抽油井的系統結構
抽油井的數據檢測設備包括示功圖采集器、壓力傳感器、電參采集模塊和動液面采集儀。通過搭建物聯網架構實現對實時生產數據的采集、傳輸與應用。
基于實時生產數據的油井工況診斷系統的物聯網架構分為三層:數據采集層、網絡傳輸層和決策應用層[5]。數據采集層包括動液面采集儀,示功圖采集器,壓力傳感器和電參采集模塊,通過RS485接口獲取示功圖信息、動液面數據、套管壓力值和三相電流電壓;網絡傳輸層由STM32-L475主控芯片中的4G傳輸模塊完成數據傳輸,井場多路生產數據通過RS485總線連接,采用4G網絡進行傳輸。決策應用層,完成數據庫建立、實時數據分析、工況診斷模型建立和診斷結果綜合分析等。
目前實時生產數據采集傳輸的硬件結構是基于STM32的嵌入式系統。微控制單元為基于STM32-L475的最小系統,實時生產數據讀取為RS485接口電路,傳輸為ML303模塊構成的4G傳輸電路,以及OLED顯示、FLASH、JTAG、電源電路等外圍電路結構,實時生產數據采集傳輸的硬件電路結構如圖2所示。

圖2 實時生產數據采集傳輸的硬件電路
基于實時生產數據的診斷系統采用力控Force-Control V7.2作為軟件開發平臺,完成實時生產數據庫建立、工況診斷模型仿真以及診斷結果分析的功能。建立Oracle數據庫,通過力控的ODB-CRouter組件與數據庫進行連接,實現對實時生產數據的采集。在Matlab中進行實時生產參數特征值提取和油井工況診斷模型建立,通過力控的DBCommocx組件將診斷信息上傳至監控界面。油井工況診斷模型的構建是軟件設計的核心部分,基于實時生產數據的油井工況診斷系統軟件構成如圖3所示。

圖3 基于實時生產數據的油井工況診斷系統軟件構成
抽油井的工況類型主要分為正常工作、供液不足、抽油桿斷落、固定凡爾漏失、游動凡爾漏失、泵上碰、泵下碰、油稠、油井出砂、柱塞脫落出工作筒等11種情況[6]。示功圖數據是由位移-載荷組成的二維函數圖像數據,套管壓力、三相電參因數和動液面值為數值型數據[7]。
首先對圖像型數據進行預處理,先將示功圖的載荷-位移數據進行歸一化處理:

運用Matlab對歸一化數據進行灰度處理,得到示功圖的灰度矩陣,采用數理統計的方法得到示功圖數據的6個灰度特征值,如公式(3)~公式(8):

式中:r為灰度值;L為灰度最小值;Q為灰度最大值;p(r)為灰度值r的概率。
數值型數據直接提取得到實時生產數據,其中g7,g8,g9分別代表套管壓力、三相電參因數和動液面值。因此輸入的特征向量為G=(g1,g2,g3,g4,g5,g6,g7,g8,g9),輸出為11種油井工況類型O=(O1,O2,O3,O4,O5,O6,O7,O8,O9,O10,O11),輸出向量與油井工況的特征關系見表1。

表1 油井工況與BP神經網絡的輸出關系
2.2.1 BP神經網絡
BP神經網絡的訓練過程主要通過信號的正向傳播和誤差的逆向傳播兩個階段來完成。這是一種梯度下降算法,它可使神經網絡的每個連接權值的誤差不斷減少。BP神經網絡具有以下優勢:
1)良好的非線性映射能力。BP神經網絡實現了一個從輸入到輸出的映射功能,數學理論證明三層的神經網絡能夠以任意精度逼近任何非線性連續函數,這使得其特別適合于求解內部機制復雜的問題。
2)自學習和自適應能力。BP神經網絡在訓練時,能夠通過學習自動提取輸入、輸出數據間的“合理規則”,并自適應地將學習內容記憶于網絡的權值中。
3)容錯能力。BP神經網絡在其局部的或者部分的神經元受到破壞后對全局的訓練結果不會造成很大的影響,即使系統在受到局部損傷時還可以正常工作。
因此本文建立BP神經網絡油井工況診斷模型,提取示功圖圖像數據的特征值與其他數值型數據進行參數融合作為BP神經網絡模型輸入,油井工況類型作為神經網絡的輸出。
BP神經網絡的工況診斷模型以特征向量G作為輸入,輸出為11種油井工況類型O。所以確定BP神經網絡的輸入層為9個神經元,輸出層為11種工況,根據隱含層l= m+n+a(n代表輸入層神經元個數,m為輸出層神經元個數,a根據實際需求選取1~10之間的常數),這里選取隱含層l為6層。BP神經網絡的拓撲結構如圖4所示。

圖4 BP神經網絡拓撲結構
2.2.2 BP神經網絡訓練與仿真
根據提取典型工況的特征參數,建立工況診斷模型,在Matlab平臺上對油井井況故障診斷模型進行訓練。采用Sigmoid可微函數作為本網絡的激勵函數,由于網絡的輸出歸一到[-1,1]內,因此預測模型選取S型函數tansing作為輸出神經元的激勵函數。設置最大迭代數為2 000,學習目標均方差小于0.001。分別選取示功圖的6組特征值數據和實時生產數據的9組特征值數據進行仿真訓練。通過仿真結果得知:6組特征值輸入的BP神經網絡誤差收斂仿真結果如圖5所示,仿真模型經過200次迭代后收斂,誤差為0.047 224,未達到其設定標準,訓練時間為2 s;9組特征值輸入的BP神經網絡誤差收斂仿真結果如圖6所示,仿真模型經過156次迭代后達到收斂,誤差為0.000 999,符合預期誤差,訓練時間為1.8 s。

圖5 6組特征值仿真結果
根據Matlab中BP神經網絡模型仿真的結果對比可知,分析6組和9組特征值的診斷時間和診斷結果,模型的訓練時間相差無幾,而9組特征值的誤差0.000 999遠遠小于6組特征值的誤差0.047 224。

圖6 9組特征值仿真結果
任意選取Oracle數據庫中的一組實時生產數據,得到輸入特征值G=[4.000,17.000,0.200,2.000,0.070,1.000,0.4,0.30,1 980],代入以油井工況類型與運行參數知識庫作為樣本的BP神經網絡模型中,得到的運行狀態為O=[0.176 0,0.015 9,0.000 6,0.200 6 ,0.612 8,0.104 4,0.007 1,0.070 5,0.000 2,0.079 8,0.019 1]。對比油井工況輸出類型表可知,輸出O接近的工作狀態為固定凡爾漏失。根據工況類型,采取熱洗完后反復憋壓快速打開生產閘門沖洗的方法,使得產量得到及時恢復,避免了檢泵作業。表2給出了6組特征值與9組特征值的油井工況診斷結果,可以看到在大多數工況下兩種診斷模型都可以正確地識別油井的工況。利用6組特征值對11種油井工況診斷時,有10種工況診斷結果正確,而油井出砂此種工況被誤診為泵下碰;而9組特征值對11種油井工況的診斷結果都有效。在對大量的樣本進行測試時,9組特征值的診斷模型較6組特征值的正確率有明顯的提升,這表明本文提出的將油井工況的示功圖數據和實時生產數據組合所提取的特征值作為神經網絡的輸入對油井工況診斷更為準確。

表2 6組特征值與9組特征值的油井工況診斷結果

續表2
基于實時生產數據的油井井況診斷系統的應用,實現了油井工況的實時診斷與處理,實際應用取得了滿意的效果。
1)通過對比9組特征輸入值和6組特征輸入值的誤差收斂結果,得知9組特征輸入所建立的BP神經網絡油井工況模型診斷誤差更小,迭代步數更少。因此該油井工況診斷系統可以減小診斷誤差、提高診斷效率及油井安全生產效率。
2)將實時生產數據在油井工況診斷系統中進行融合分析,構建工況診斷系統,提出基于BP神經網絡的工況診斷模型,可進行實時生產參數與狀態知識庫的仿真與訓練。