王 儀,居錦武,朱文忠,蔣華龍,賈 程
(四川輕化工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,四川 自貢 643000)
氣井生產(chǎn)過(guò)程中到中后期時(shí),由于產(chǎn)氣量下降、地層壓力降低,自身攜帶液體能力會(huì)減弱,需要考慮排水采氣工藝[1-2]。從文獻(xiàn)[1-3]中對(duì)各種排水采氣工藝對(duì)比分析可知,間歇?dú)馀e排水采氣是氣井開發(fā)中后期最主要的排水采氣方式之一。常規(guī)的間歇?dú)馀e排水采氣由人工進(jìn)行工作制度調(diào)整、人工錄取生產(chǎn)工藝參數(shù),難以實(shí)現(xiàn)數(shù)字化、智能化、精細(xì)化管理。隨著傳感器技術(shù)、智能自動(dòng)控制技術(shù)、RTU技術(shù)、物聯(lián)網(wǎng)技術(shù)的發(fā)展,許多研究者對(duì)氣井生產(chǎn)現(xiàn)場(chǎng)如何應(yīng)用相關(guān)技術(shù)做了許多研究[4-7],但這些研究主要集中于通用的氣井生產(chǎn)管理需求而言,對(duì)于間歇?dú)馀e排水采氣沒有提出具體的解決方案。
在排水采氣中,柱塞氣舉由于自動(dòng)化控制要求較高,其智能化、物聯(lián)網(wǎng)技術(shù)研究較多[8-11],也較為成熟。其研究主要集中于如何通過(guò)檢測(cè)柱塞井口到達(dá)時(shí)間、油壓與套壓來(lái)分析柱塞氣舉工況并實(shí)現(xiàn)智能自動(dòng)控制。間歇?dú)馀e與柱塞氣舉有某種相似之處,可以借鑒其有益經(jīng)驗(yàn)。通過(guò)文獻(xiàn)[12-15]可知,間歇?dú)馀e排水采氣的核心在于通過(guò)井筒積液特征的分析確定合適的間歇?dú)馀e時(shí)機(jī)。Moffett 在文獻(xiàn)[16]中提到了可基于氣舉舉串的油壓變化特征來(lái)優(yōu)化間歇?dú)馀e時(shí)間,但并未提出自噴時(shí)間優(yōu)化問(wèn)題。文獻(xiàn)[17]提出了一種間歇?dú)馀e排液采氣控制方法及系統(tǒng),該技術(shù)主要基于監(jiān)測(cè)井口油壓、套壓來(lái)分析井筒積液情況,進(jìn)而智能優(yōu)化調(diào)整其工作參數(shù)。以此專利為基礎(chǔ),開發(fā)相應(yīng)的井口監(jiān)控系統(tǒng),實(shí)現(xiàn)間歇?dú)馀e排水采氣工藝參數(shù)的全面監(jiān)控、遠(yuǎn)傳以及4種工作狀態(tài)(氣舉、自噴、注氣、停井)智能自動(dòng)切換,同時(shí)提供遠(yuǎn)程人工切換接口。為了進(jìn)一步完善間歇?dú)馀e排水采氣物聯(lián)網(wǎng)系統(tǒng),對(duì)遠(yuǎn)程監(jiān)控分析軟件系統(tǒng)進(jìn)行設(shè)計(jì)開發(fā)。在設(shè)計(jì)中,一方面滿足實(shí)時(shí)生產(chǎn)監(jiān)控需要,另一方面還兼顧了工況診斷與生產(chǎn)動(dòng)態(tài)分析需求。在開發(fā)實(shí)現(xiàn)技術(shù)上,通過(guò)對(duì)比分析,優(yōu)選MQTT傳輸協(xié)議與井場(chǎng)控制器進(jìn)行通訊[18-19],后臺(tái)選用MySQL數(shù)據(jù)庫(kù),開發(fā)語(yǔ)言選用Python。
間歇?dú)馀e排水采氣井的物聯(lián)網(wǎng)遠(yuǎn)程監(jiān)控軟件系統(tǒng)功能架構(gòu)如圖1 所示,間歇?dú)馀e排水采氣井場(chǎng)智能終端通過(guò)4G 模塊,采用MQTT 協(xié)議與物聯(lián)網(wǎng)平臺(tái)服務(wù)器相聯(lián),平臺(tái)服務(wù)器建有后臺(tái)數(shù)據(jù)庫(kù),可以實(shí)時(shí)獲取井場(chǎng)生產(chǎn)數(shù)據(jù),并能實(shí)時(shí)向井場(chǎng)發(fā)送4 種工作狀態(tài)切換指令;同時(shí)平臺(tái)服務(wù)器還可以直聯(lián)氣田生產(chǎn)數(shù)據(jù)庫(kù),存取氣田生產(chǎn)相關(guān)數(shù)據(jù)。間歇?dú)馀e排水采氣遠(yuǎn)程監(jiān)控分析軟件系統(tǒng)基于平臺(tái)服務(wù)器,一方面可以對(duì)氣井實(shí)時(shí)及日生產(chǎn)動(dòng)態(tài)變化進(jìn)行監(jiān)測(cè)分析;另一方面,可以根據(jù)分析結(jié)果,遠(yuǎn)程手動(dòng)切換氣井工作狀態(tài)(氣舉、自噴、注氣、停井)。

圖1 間歇?dú)馀e排水采氣井的物聯(lián)網(wǎng)遠(yuǎn)程監(jiān)控軟件系統(tǒng)功能架構(gòu)
間歇?dú)馀e排水采氣遠(yuǎn)程監(jiān)控分析軟件系統(tǒng)主要設(shè)計(jì)了4 個(gè)功能模塊:注冊(cè)登錄、系統(tǒng)管理、實(shí)時(shí)監(jiān)控、日生產(chǎn)動(dòng)態(tài)。
(1)注冊(cè)登錄模塊,主要確保合法用戶使用。新用戶首先需要注冊(cè),然后通過(guò)管理員審核后才能變?yōu)楹戏ㄓ脩簟?/p>
(2)系統(tǒng)管理模塊,主要對(duì)用戶及井的基本信息進(jìn)行管理。可以修改完善個(gè)人注冊(cè)信息;可以新增或修改監(jiān)控井信息,包括遠(yuǎn)程物聯(lián)網(wǎng)連接信息、所屬開發(fā)區(qū)塊、井的生產(chǎn)簡(jiǎn)史等。
(3)實(shí)時(shí)監(jiān)控分析模塊,是整個(gè)軟件系統(tǒng)最為核心的模塊。通過(guò)多種可視化手段展示實(shí)時(shí)檢測(cè)生產(chǎn)狀態(tài),同時(shí)還提供多種特征值提取算法進(jìn)行工況診斷,以便讓用戶全面了解間歇?dú)馀e排液采氣實(shí)時(shí)生產(chǎn)狀況,發(fā)現(xiàn)問(wèn)題后可通過(guò)軟件發(fā)送人工干預(yù)生產(chǎn)控制指令來(lái)調(diào)整優(yōu)化生產(chǎn)制度。
(4)日生產(chǎn)動(dòng)態(tài)分析模塊,以日為時(shí)間尺度,分析氣井的生產(chǎn)動(dòng)態(tài)參數(shù)及變化規(guī)律。軟件設(shè)計(jì)中,提供了由實(shí)時(shí)監(jiān)測(cè)參數(shù)自動(dòng)生成日?qǐng)?bào)生產(chǎn)參數(shù)功能,設(shè)計(jì)了列表及多種曲線模板分析功能。
間歇?dú)馀e排水采氣遠(yuǎn)程監(jiān)控系統(tǒng)最為關(guān)鍵的設(shè)計(jì)是如何專業(yè)、正確、簡(jiǎn)潔展現(xiàn)監(jiān)控內(nèi)容,并確保人機(jī)交互操作方便、友好。下面對(duì)幾個(gè)主要核心功能模塊設(shè)計(jì)做簡(jiǎn)單介紹。
通過(guò)一張實(shí)時(shí)動(dòng)態(tài)表即可全面了解氣田各氣井的實(shí)時(shí)生產(chǎn)動(dòng)態(tài),同時(shí)可以橫向?qū)Ρ确治龈骶墓r。
在設(shè)計(jì)動(dòng)態(tài)監(jiān)控表中,不僅可展示原始實(shí)時(shí)檢測(cè)參數(shù)指標(biāo)(井號(hào)、檢測(cè)時(shí)間、當(dāng)前舉升狀態(tài)、狀態(tài)持續(xù)時(shí)間、瞬時(shí)注氣量、瞬時(shí)產(chǎn)氣量、干線注氣壓力、套壓、油壓、回壓),而且還可展示基于原始檢測(cè)指標(biāo),以間歇?dú)馀e排水采氣的4 個(gè)生產(chǎn)階段(氣舉、自噴、注氣、停井)為單位進(jìn)行特征參數(shù)指標(biāo)統(tǒng)計(jì)計(jì)算,具體特征指標(biāo)及算法見表1。

表1 生產(chǎn)狀態(tài)持續(xù)階段特征指標(biāo)計(jì)算方法
根據(jù)氣舉、自噴中油管壓力與套管壓力的變化特征診斷間歇?dú)馀e的工況,其判斷方法及應(yīng)對(duì)措施見表2,軟件設(shè)計(jì)中提供了特征參數(shù)提取算法,并能自動(dòng)診斷工況、自動(dòng)提示應(yīng)對(duì)措施。

表2 間歇?dú)馀e排水采氣常見工況診斷方法及應(yīng)對(duì)措施
功能實(shí)現(xiàn)邏輯如圖2 所示。首先,基于設(shè)定的時(shí)鐘頻率,讀取井場(chǎng)監(jiān)控器上傳實(shí)時(shí)采集數(shù)據(jù),提取階段生產(chǎn)特征值,診斷氣井工況,把結(jié)果保存到監(jiān)控?cái)?shù)據(jù)庫(kù);然后,基于設(shè)定的時(shí)鐘頻率與列表顯示模板,從監(jiān)控?cái)?shù)據(jù)庫(kù)中讀取數(shù)據(jù)并顯示到界面上。

圖2 多井實(shí)時(shí)監(jiān)控列表可視化功能實(shí)現(xiàn)邏輯圖
生產(chǎn)狀態(tài)持續(xù)階段特征指標(biāo)計(jì)算實(shí)現(xiàn)步驟及關(guān)鍵計(jì)算如下:
(1)從智能監(jiān)控器讀取監(jiān)測(cè)其采集數(shù)據(jù)的當(dāng)前時(shí)間t、當(dāng)前生產(chǎn)狀態(tài)代碼Cps(枚舉型:0-關(guān)井,1-氣舉,2-自噴,3-注氣)、當(dāng)前瞬時(shí)注氣量Qig(m3/min)、當(dāng)前瞬時(shí)產(chǎn)氣量Qpg(m3/min)、當(dāng)前注氣干線壓力Pp/MPa、當(dāng)前套壓Pc/MPa、、當(dāng)前油壓Pt/MPa、當(dāng)前回壓Pr/MPa。
(2)監(jiān)測(cè)指標(biāo)閾值報(bào)警計(jì)算。從系統(tǒng)讀取監(jiān)測(cè)參數(shù)的正常取值范圍,判定當(dāng)前監(jiān)測(cè)值是否處于正常取值范圍。若超出正常值范圍則輸出異常參數(shù)Param及異常代碼Cabnor(注氣流量異常代碼:1-注氣關(guān)閉時(shí)大于0、2-小于正常值、3-大于正常值;產(chǎn)氣量異常代碼:1-生產(chǎn)關(guān)閉時(shí)大于0、2-小于正常值、3-大于正常值;注氣干線壓力異常代碼:1-小于正常值、2-大于正常值;套壓異常代碼:1-小于正常值、2-大于正常值;油壓異常代碼:1-小于正常值、2-大于正常值;回壓異常代碼:1-小于正常值、2-大于正常值),不再做后續(xù)計(jì)算分析;若處于正常范圍,則進(jìn)行后續(xù)計(jì)算分析。
(3)計(jì)算當(dāng)前生產(chǎn)油套壓差PDct/MPa。

(4)計(jì)算當(dāng)前生產(chǎn)狀態(tài)監(jiān)測(cè)點(diǎn)數(shù)N、持續(xù)時(shí)間tD/min。從系統(tǒng)讀取上次監(jiān)測(cè)點(diǎn)序N、時(shí)間t(N)、生產(chǎn)狀態(tài)代碼Cps(N)、上次生產(chǎn)狀態(tài)持續(xù)時(shí)間tD(N)。若當(dāng)前監(jiān)測(cè)生產(chǎn)狀態(tài)代碼與上次監(jiān)測(cè)生產(chǎn)狀態(tài)代碼相同,則初始化:N= 1,tD= 1;若當(dāng)前監(jiān)測(cè)生產(chǎn)狀態(tài)代碼與上次監(jiān)測(cè)生產(chǎn)狀態(tài)代碼不相同,則:

(5)計(jì)算當(dāng)前生產(chǎn)狀態(tài)油壓最小值Pt,min/MPa、油壓最大值Pt,max/MPa、套壓最小值Pc,min/MPa、套壓最大值Pc,max/MPa、油套壓差最小值PDct,min/MPa、油套壓差最大值PDct,max/MPa。
若當(dāng)前生產(chǎn)狀態(tài)檢測(cè)點(diǎn)序N= 1,則初始化:

若當(dāng)前生產(chǎn)狀態(tài)檢測(cè)點(diǎn)序N> 1,則從系統(tǒng)取出上次監(jiān)測(cè)時(shí)相關(guān)參數(shù)的最大值與最小值,與當(dāng)前監(jiān)測(cè)值進(jìn)行比較,然后逐一更新。
(6)計(jì)算當(dāng)前生產(chǎn)狀態(tài)油壓、套壓、油套壓差的波動(dòng)參數(shù)。3 個(gè)參數(shù)的計(jì)算方法類似,以油壓波動(dòng)參數(shù)計(jì)算為例進(jìn)行說(shuō)明。油壓波動(dòng)計(jì)算參數(shù)有:油壓波動(dòng)段序號(hào)NPtAM、波動(dòng)類型代碼CPtAM(枚舉型:0-無(wú)波動(dòng),1-持續(xù)上升,2-持續(xù)下降,3-先升后降,4-先降后升)、波動(dòng)持續(xù)時(shí)長(zhǎng)tD(PtAM)/min、波動(dòng)上升幅度Pt(AMUp)/MPa、波動(dòng)下降幅度Pt(AMDown)/MPa。
若當(dāng)前生產(chǎn)狀態(tài)檢測(cè)點(diǎn)序N=1,則初始化:NPtAM=0,CPtAM=0,tD(PtAM)=0,Pt(AMUp)=0,Pt(AMDown)=0。
若當(dāng)前生產(chǎn)狀態(tài)檢測(cè)點(diǎn)序N> 1,則從系統(tǒng)取出上次相關(guān)參數(shù)并進(jìn)行比較:
①首先,計(jì)算當(dāng)前監(jiān)測(cè)油壓與上次監(jiān)測(cè)油壓Pt(N)的變化值PtAM/MPa。

②然后,根據(jù)當(dāng)前油壓變化值及上次波動(dòng)類型代碼CPtAM(N)計(jì)算新的波動(dòng)參數(shù)。
當(dāng)PtAM= 0 時(shí),只需要保持目前波動(dòng)狀態(tài)并更新波動(dòng)持續(xù)時(shí)間。

當(dāng)Pt(AM)> 0時(shí):
I.若上次波動(dòng)類型為0-無(wú)波動(dòng)、3-先升后降則為新的波動(dòng)周期開始。且改變相應(yīng)參數(shù):

II.若上次波動(dòng)類型為2-持續(xù)下降,則波動(dòng)類型改為4-先降后升,對(duì)應(yīng)參數(shù)改變?yōu)椋?/p>

III.若上次波動(dòng)類型為4-先降后升,則保持目前波動(dòng)類型,對(duì)應(yīng)參數(shù)改變?yōu)椋?/p>

當(dāng)Pt(AM)< 0時(shí):
I.若上次波動(dòng)類型為0-無(wú)波動(dòng)、4-先降后升則為新的波動(dòng)周期開始。且改變相應(yīng)參數(shù):

II.若上次波動(dòng)類型為1-持續(xù)生升,則波動(dòng)類型改為3-先升后降,對(duì)應(yīng)參數(shù)改變?yōu)椋?/p>

III.若上次波動(dòng)類型為3-先升后降,則保持目前波動(dòng)類型,對(duì)應(yīng)參數(shù)改變?yōu)椋?/p>

(7)計(jì)算當(dāng)前生產(chǎn)狀態(tài)下的階段注氣量QA,ig/m3、階段產(chǎn)氣量QA,pg/m3。
若當(dāng)前生產(chǎn)狀態(tài)檢測(cè)點(diǎn)序N= 1,則初始化:QA,ig= 0,QA,pg= 0。
若當(dāng)前生產(chǎn)狀態(tài)檢測(cè)點(diǎn)序N> 1,則更新相應(yīng)參數(shù):

工況診斷僅針對(duì)與生產(chǎn)優(yōu)化緊密相關(guān)的氣舉舉串與自噴積液兩大類特定工況,具體實(shí)現(xiàn)步驟及計(jì)算如下:
I.當(dāng)前生產(chǎn)狀態(tài)代碼Cps為1-氣舉時(shí),判斷不同監(jiān)測(cè)特征值,輸出氣舉舉竄工況代碼CWorkAF(枚舉型:0-正常,1-氣竄-油壓波動(dòng)大,2-氣竄-氣舉超時(shí))。氣舉時(shí)長(zhǎng)超時(shí)比較好判定,下面就油壓波動(dòng)大的判定條件進(jìn)行說(shuō)明:
①油壓波動(dòng)類型代碼為CPtAM= 3-先升后降。

II.當(dāng)前生產(chǎn)狀態(tài)代碼Cps為2-自噴時(shí),判斷不同監(jiān)測(cè)特征值,輸出自噴積液工況代碼CWorkAF(枚舉型:0-正常,1-積液-油套壓差大,2-積液-油壓波動(dòng)大,3-積液-油壓低,4-積液-自噴超時(shí))。根據(jù)系統(tǒng)設(shè)置的界限值進(jìn)行判定,超過(guò)某條件則輸出對(duì)應(yīng)工況代碼,說(shuō)明如下:
①CWorkAF= 1判定條件:油套壓差大于設(shè)定值。
②CWorkAF= 2 判定條件:油壓波動(dòng)幅度大于設(shè)定值。
③CWorkAF= 3,判定條件:油壓低于設(shè)定值。
④CWorkAF= 4,判定條件:自噴時(shí)長(zhǎng)大于設(shè)定值。
氣井井位反映了氣井所處氣藏位置,面向井位圖,通過(guò)柱狀圖等可示化方式展示間歇?dú)馀e排水采氣的實(shí)時(shí)生產(chǎn)工藝參數(shù),一方面可以直觀地了解氣井的生產(chǎn)狀態(tài);另一方面,還可以結(jié)合氣藏特點(diǎn)來(lái)分析氣井的生產(chǎn)狀況。
本研究借鑒股票走勢(shì)圖,創(chuàng)新性地通過(guò)簡(jiǎn)單的6 個(gè)柱狀圖,可以非常直觀地展示氣井的當(dāng)前生產(chǎn)狀態(tài)在井位圖上的分布情況,如圖3 所示。從圖3中可以看出,6 個(gè)柱狀圖可視化內(nèi)容有:氣井的當(dāng)前狀態(tài)、持續(xù)時(shí)間(與預(yù)設(shè)時(shí)間對(duì)比)、當(dāng)前套壓(與當(dāng)前狀態(tài)的起始套壓、最高套壓、最低套壓對(duì)比)、當(dāng)前油壓(與當(dāng)前狀態(tài)的起始油壓、最高油壓、最低油壓對(duì)比)、瞬時(shí)注氣量、瞬時(shí)產(chǎn)氣量。

圖3 面向井位圖實(shí)時(shí)監(jiān)控可視化界面設(shè)計(jì)
功能實(shí)現(xiàn)邏輯如圖4 所示:①基于設(shè)定的時(shí)鐘頻率,讀取各井井位圖數(shù)據(jù),然后確定井位所在位置、各指標(biāo)柱狀圖起始點(diǎn)坐標(biāo)以及高度、寬度;②確定各指標(biāo)的柱狀圖的高度比例尺;③按各指標(biāo)真實(shí)值,基于比例尺與樣式模板,繪制各指標(biāo)柱狀圖。

圖4 面向井位圖實(shí)時(shí)監(jiān)控分析功能實(shí)現(xiàn)邏輯圖
單井監(jiān)控實(shí)時(shí)動(dòng)態(tài)分析是整個(gè)軟件系統(tǒng)最為核心的功能,在設(shè)計(jì)中,井的基本信息、當(dāng)前監(jiān)控狀態(tài)、歷史變化特征、人工遠(yuǎn)程操控融為一體,在一個(gè)界面內(nèi)展現(xiàn),體現(xiàn)其專業(yè)性、簡(jiǎn)潔性、易操作性,如圖5~6所示。

圖5 單井監(jiān)控實(shí)時(shí)動(dòng)態(tài)界面設(shè)計(jì)

圖6 單井實(shí)時(shí)檢測(cè)參數(shù)變化曲線樣式
(1)井的基本信息,可以展示井的基本情況,包括所屬區(qū)塊、投產(chǎn)日期、轉(zhuǎn)氣舉日期。
(2)井實(shí)時(shí)檢測(cè)狀態(tài)及歷史變化,可以實(shí)時(shí)展示當(dāng)前舉升狀態(tài)及持續(xù)時(shí)間;注氣干線壓力、套壓、油壓、回壓變化曲線可以分析其相互影響關(guān)系;瞬時(shí)注氣量、采氣量變化關(guān)系曲線,可以分析注采效率及產(chǎn)量;通過(guò)歷史變化關(guān)系趨勢(shì)及相互影響分析,有利于用戶優(yōu)化間歇?dú)馀e工作制度。
(3)自動(dòng)工況診斷信息,通過(guò)前述特征值自動(dòng)提取及工況診斷方法,自動(dòng)得到工況診斷結(jié)果并提出應(yīng)對(duì)措施。
(4)在分析間歇?dú)馀e特征的基礎(chǔ)上,可以操控氣舉的工作制度:可手動(dòng)直接輸出控制指令(氣舉、自噴、注氣、停井);也可修改自動(dòng)控制的基本參數(shù)。針對(duì)時(shí)鐘控制法,可修改自噴時(shí)間、氣舉時(shí)間、注氣時(shí)間、停井時(shí)間;針對(duì)壓控法,可修改自噴轉(zhuǎn)氣舉條件:油套壓差、油壓波動(dòng)幅度與頻率等;氣舉轉(zhuǎn)自噴條件:油套壓差、油壓波動(dòng)幅度與頻率等。
功能實(shí)現(xiàn)邏輯如圖7 所示:①基于設(shè)定的時(shí)鐘頻率及篩選條件(井號(hào)、歷史時(shí)長(zhǎng)),從監(jiān)控?cái)?shù)據(jù)庫(kù)中讀取靜態(tài)參數(shù)、監(jiān)控參數(shù)、工況診斷結(jié)果、自控設(shè)置參數(shù);②將相關(guān)參數(shù)按列表樣式模板填寫到界面對(duì)應(yīng)表格單元中;③將歷史時(shí)長(zhǎng)內(nèi)的監(jiān)控參數(shù)變化記錄按曲線樣式模板,繪制曲線;④技術(shù)人員可以根據(jù)監(jiān)測(cè)分析結(jié)果調(diào)整氣井生產(chǎn)狀態(tài)及優(yōu)化自控設(shè)置參數(shù),通過(guò)MQTT 將設(shè)置參數(shù)發(fā)送給井場(chǎng)智能監(jiān)控設(shè)備執(zhí)行。

圖7 單井監(jiān)控實(shí)時(shí)動(dòng)態(tài)分析功能實(shí)現(xiàn)邏輯
本軟件設(shè)計(jì)了以實(shí)時(shí)檢測(cè)數(shù)據(jù)為基礎(chǔ),自動(dòng)統(tǒng)計(jì)獲取氣井日生產(chǎn)報(bào)表功能,并以表格的形式進(jìn)行界面展示。統(tǒng)計(jì)指標(biāo)符合氣田日常生產(chǎn)管理需求,一般以早上8 點(diǎn)作為起點(diǎn),統(tǒng)計(jì)24 h 內(nèi)的日生產(chǎn)指標(biāo),主要有:日期、氣舉次數(shù)、氣舉時(shí)長(zhǎng)、自噴次數(shù)、自噴時(shí)長(zhǎng)、日注氣量、日產(chǎn)氣量、日平均注氣干線壓力、日平均套壓、日平均油壓、日平均回壓、日氣舉平均套壓、日氣舉平均最高套壓、日氣舉平均最低套壓、日氣舉平均油壓、日氣舉平均最高油壓、日氣舉平均最低油壓,日自噴平均套壓、日自噴平均最高套壓、日自噴平均最低套壓、日自噴平均油壓、日自噴平均最高油壓、日自噴平均最低油壓。由于指標(biāo)較多,在軟件設(shè)計(jì)中,可以根據(jù)用戶分析問(wèn)題需要,自由選取關(guān)注的指標(biāo)及顯示順序進(jìn)行列表展示。
功能實(shí)現(xiàn)邏輯如圖8 所示:①基于每日時(shí)鐘定時(shí)觸發(fā),一般為早上8點(diǎn),從監(jiān)控?cái)?shù)據(jù)庫(kù)中前一日實(shí)時(shí)生產(chǎn)監(jiān)測(cè)數(shù)據(jù),統(tǒng)計(jì)得到日生產(chǎn)報(bào)表數(shù)據(jù)并保存回?cái)?shù)據(jù)庫(kù)中;②基于界面輸入的查詢條件(起止日期)及列表顯示模板,界面展示日?qǐng)?bào)數(shù)據(jù)內(nèi)容。

圖8 日?qǐng)?bào)統(tǒng)計(jì)報(bào)表及查詢列表功能實(shí)現(xiàn)邏輯
氣井日生產(chǎn)指標(biāo)變化曲線分析是氣井生產(chǎn)動(dòng)態(tài)分析非常重要方式之一。由于間歇?dú)馀e排水采氣日生產(chǎn)指標(biāo)較多,需要對(duì)指標(biāo)進(jìn)行分組繪制。為了便于分析管理,在本軟件設(shè)計(jì)中,將指標(biāo)進(jìn)行分類,分別定制相應(yīng)曲線模板,既體現(xiàn)指標(biāo)的關(guān)聯(lián)性,又不影響界面的簡(jiǎn)潔、美觀。如圖9所示,用戶可自由選取需繪制模板的曲線。本設(shè)計(jì)預(yù)設(shè)了5類曲線模板,分別是:(1)生產(chǎn)制度類指標(biāo),如氣舉次數(shù)、氣舉時(shí)長(zhǎng)等;(2)產(chǎn)量類指標(biāo),如日注氣量、日產(chǎn)氣量、日產(chǎn)水量等;(3)日均壓力類指標(biāo),如日均干線注氣壓力、回壓、套壓、油壓;(4)日均氣舉階段壓力類指標(biāo),如日氣舉平均油壓、套壓;(5)日均自噴階段類指標(biāo),如日自噴平均油壓、套壓。同時(shí)軟件還可提供新的模板曲線定制功能,根據(jù)用戶需要定制新的指標(biāo)曲線組合。

圖9 單井日生產(chǎn)指標(biāo)變化曲線分析樣式
功能實(shí)現(xiàn)邏輯為:①基于界面輸入的篩選條件(井號(hào)、起止日期),從數(shù)據(jù)庫(kù)中讀取該井生產(chǎn)日?qǐng)?bào)數(shù)據(jù);②按界面選擇的曲線模板,繪制生產(chǎn)變化曲線。
經(jīng)過(guò)對(duì)比分析,與井場(chǎng)控制器連接采用MQTT協(xié)議,MQTT 代理服務(wù)器選用阿里云,優(yōu)選MySQL5.8 數(shù)據(jù)庫(kù)作為本地局域網(wǎng)服務(wù)器的數(shù)據(jù)管理軟件,主體開發(fā)語(yǔ)言選用Python3.8[18-19]。
(1)后臺(tái)數(shù)據(jù)庫(kù)表設(shè)計(jì),遵循第二范式,確保數(shù)據(jù)庫(kù)表中的每一列都和主鍵相關(guān),而不能只與主鍵的某一部分相關(guān)。設(shè)計(jì)后臺(tái)主要庫(kù)表12 張,100 多個(gè)字段,見表3。對(duì)于物理量的計(jì)量單位信息,在表字段的備注中填寫上。

表3 后臺(tái)主要數(shù)據(jù)庫(kù)表設(shè)計(jì)

續(xù)表
(2)物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)傳送實(shí)現(xiàn),采用MQTT3.0協(xié)議,通過(guò)阿里云物聯(lián)網(wǎng)平臺(tái)進(jìn)行中轉(zhuǎn)。井場(chǎng)智能控制器自帶4G 物聯(lián)網(wǎng)傳輸模塊,只需要對(duì)采集數(shù)據(jù)、接收指令與代理服務(wù)器做好配置即可。本系統(tǒng)開發(fā)采用了支持Python 的插件paho-mqtt,實(shí)現(xiàn)了井場(chǎng)采集實(shí)時(shí)數(shù)據(jù)入庫(kù)并展示在相應(yīng)功能界面中,同時(shí)將界面中人工指令與自控參數(shù)直接傳輸?shù)骄畧?chǎng)執(zhí)行。數(shù)據(jù)采集頻率可以在10 s ~10 min 之間任意設(shè)置;操控指令發(fā)送后立即執(zhí)行。
(3)采用PyMySQL 插件庫(kù)聯(lián)接操控?cái)?shù)據(jù)庫(kù)。PyMySQL 是在Python3.x 版本中用于連接MySQL 服務(wù)器的一個(gè)庫(kù),遵循Python 數(shù)據(jù)庫(kù)API v2.0 規(guī)范,并包含了pure-Python MySQL客戶端庫(kù)。
(4)遠(yuǎn)程監(jiān)控軟件界面實(shí)現(xiàn),采用PyQt5 插件庫(kù)。PyQt5作為Python 的一個(gè)模塊,它有620多個(gè)類和6000個(gè)函數(shù)和方法。
這是一個(gè)跨平臺(tái)的工具包,它可以運(yùn)行在所有主要的操作系統(tǒng),包括UNIX、Windows、Mac OS。
(5)曲線繪制的實(shí)現(xiàn),采用Matplotlib 插件庫(kù)。Matplotlib 是Python 的繪圖庫(kù),它可與NumPy 一起使用,提供了一種有效的MatLab 開源替代方案。它也可以和圖形工具包一起使用,如PyQt和wxPython。
首先由開發(fā)人員對(duì)照設(shè)計(jì)文檔規(guī)范要求,每實(shí)現(xiàn)一個(gè)功能則進(jìn)行一次代碼檢查,并對(duì)關(guān)鍵節(jié)點(diǎn)進(jìn)行動(dòng)態(tài)運(yùn)行測(cè)試。軟件系統(tǒng)完成后,組織相關(guān)人員編寫測(cè)試用例進(jìn)行黑盒測(cè)試,測(cè)試用例功能覆蓋率100%。測(cè)試結(jié)果表明:系統(tǒng)功能完備,功能界面輸入/輸出表現(xiàn)簡(jiǎn)潔清晰,結(jié)果正確,容錯(cuò)處理考慮全面,運(yùn)行穩(wěn)定。
為了驗(yàn)證軟件對(duì)礦產(chǎn)實(shí)際生產(chǎn)的適應(yīng)性,進(jìn)行了現(xiàn)場(chǎng)數(shù)據(jù)收集與處理。在西部某氣田的支持下,獲取了2 口井柱塞輔助間歇?dú)馀e實(shí)驗(yàn)數(shù)據(jù),由于其直接采用柱塞排水采氣智能監(jiān)控系統(tǒng),只對(duì)油壓、套壓進(jìn)行了實(shí)時(shí)監(jiān)測(cè),而未對(duì)注氣量、采氣量、注氣干線壓力、回壓進(jìn)行實(shí)時(shí)監(jiān)測(cè);只對(duì)采氣生產(chǎn)進(jìn)行了智能自動(dòng)控制,注氣閘門的開啟與關(guān)閉采用人工操作。其中1口井的日生產(chǎn)報(bào)表數(shù)據(jù)見表4,實(shí)時(shí)油壓、套壓監(jiān)控變化曲線如圖10所示。

表4 井1的實(shí)際生產(chǎn)日?qǐng)?bào)部分?jǐn)?shù)據(jù)

圖10 井1的部分實(shí)時(shí)監(jiān)控油、套壓變化曲線
為了全面驗(yàn)證本設(shè)計(jì)軟件功能的正確有效性,以取得的2口實(shí)際礦場(chǎng)間歇?dú)馀e生產(chǎn)井日?qǐng)?bào)數(shù)據(jù)及實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)為基礎(chǔ),結(jié)合氣井的生產(chǎn)特性,完全按照新的氣井物聯(lián)網(wǎng)監(jiān)控設(shè)計(jì)方案要求,模擬生成了3 天實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)記錄,用電腦將模擬的實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)直接發(fā)送給智能控制器終端,然后通過(guò)本軟件遠(yuǎn)程監(jiān)控分析。應(yīng)用測(cè)試結(jié)果表明:①本系統(tǒng)實(shí)現(xiàn)了對(duì)間歇?dú)馀e排水采氣的關(guān)鍵核心參數(shù)的全面正確感知獲取,包括生產(chǎn)狀態(tài)、階段持續(xù)時(shí)長(zhǎng)、瞬時(shí)注氣量、瞬時(shí)采氣量、注氣干線壓力、套壓、油壓、回壓等,核心參數(shù)感知檢測(cè)覆蓋率達(dá)到100%;②本系統(tǒng)可以靈活定制感知參數(shù)的采樣頻率,從10 s 到10 min,完全可以滿足礦場(chǎng)管理需求;③通過(guò)3 d 內(nèi)12 個(gè)間歇?dú)馀e周期工況自動(dòng)診斷,與專家經(jīng)驗(yàn)判斷的結(jié)果基本符合;④智能控制器能夠根據(jù)自動(dòng)診斷結(jié)果進(jìn)行智能自動(dòng)調(diào)整控制,同時(shí)還提供了遠(yuǎn)程人工調(diào)整接口,4 種工作狀態(tài)切換命令(氣舉、自噴、停井、注氣)能自動(dòng)正確執(zhí)行。
針對(duì)間歇?dú)馀e排水采氣目前缺乏智能生產(chǎn)監(jiān)控技術(shù)產(chǎn)品現(xiàn)狀,結(jié)合新研發(fā)的井場(chǎng)物聯(lián)網(wǎng)智能終端研發(fā)成果,設(shè)計(jì)開發(fā)了物聯(lián)網(wǎng)遠(yuǎn)程監(jiān)控軟件系統(tǒng)。
(1)采用MQTT 協(xié)議,通過(guò)阿里物聯(lián)網(wǎng)平臺(tái)MQTT 服務(wù)代理,實(shí)現(xiàn)了軟件遠(yuǎn)程實(shí)時(shí)獲取井場(chǎng)生產(chǎn)數(shù)據(jù),同時(shí)可遠(yuǎn)程優(yōu)化調(diào)制間歇?dú)馀e工作制度并自動(dòng)執(zhí)行。
(2)系統(tǒng)功能完備,可滿足間歇?dú)馀e排水采氣遠(yuǎn)程監(jiān)控管理需要。創(chuàng)新性地設(shè)計(jì)了實(shí)時(shí)生產(chǎn)特征參數(shù)提取與工況自動(dòng)診斷功能,工況診斷結(jié)果與礦場(chǎng)工程師的經(jīng)驗(yàn)判定基本相符。
(3)設(shè)計(jì)了列表展示、面向井位圖的參數(shù)柱狀圖展示、參數(shù)列表與變化曲線融合的綜合展示3 種可視化方法,便于用戶全面分析間歇?dú)馀e實(shí)時(shí)生產(chǎn)現(xiàn)狀,發(fā)現(xiàn)問(wèn)題后可立即通過(guò)軟件遠(yuǎn)程優(yōu)化操控氣井生產(chǎn)。
(4)考慮到氣井日常生產(chǎn)動(dòng)態(tài)分析需要,以日為時(shí)間尺度的分析功能,設(shè)計(jì)了基于實(shí)時(shí)檢測(cè)數(shù)據(jù)自動(dòng)生成日?qǐng)?bào)數(shù)據(jù)算法與多種模板展示功能,便于用戶選擇。
(5)選用了現(xiàn)在比較流行好用的MySQL 數(shù)據(jù)庫(kù)、Python 語(yǔ)言來(lái)進(jìn)行開發(fā)實(shí)現(xiàn),整體軟件功能正確、容錯(cuò)處理考慮周全、運(yùn)行可靠、人機(jī)交互良好、專業(yè)性強(qiáng)、操作簡(jiǎn)便,具有較好的推廣應(yīng)用價(jià)值。