王鵬
(中海油能源發(fā)展裝備技術(shù)有限公司 加工制造分公司,天津 300400)
國(guó)內(nèi)外的各個(gè)油田都存在大量油管[1]。石油油管在地下工作時(shí)承受拉伸、擠壓、壓井等物理作用以及管內(nèi)注水、酸化等化學(xué)作用,導(dǎo)致油管內(nèi)局部可能出現(xiàn)磨損、泄漏和脫扣等情況[2],若不及時(shí)處理,油管缺陷過(guò)于嚴(yán)重后,必須重新下管,其成本及風(fēng)險(xiǎn)將大大升高。因此,必須研究出可自動(dòng)檢測(cè)油管缺陷的方法[3]。
吳秀東等[4]人提出基于Halcon的石油油套管磨損缺陷檢測(cè)系統(tǒng)設(shè)計(jì)方法,通過(guò)CCD相機(jī)采集油套管表面圖像并傳輸?shù)接?jì)算機(jī)中,提取目標(biāo)圖像并進(jìn)行濾波去噪及缺陷邊緣檢測(cè)處理,連通缺陷區(qū)域以求解缺陷面積,進(jìn)而實(shí)現(xiàn)油套管磨損缺陷檢測(cè)。該方法增加數(shù)據(jù)傳輸時(shí)間,降低了傳輸速率。王恒迪等[5]人提出石油油套管磨損缺陷檢測(cè)系統(tǒng)設(shè)計(jì)方法,在硬件的基礎(chǔ)上綜合油套管圖像采集、圖像預(yù)處理、圖像定位和剪裁、差影處理、形態(tài)學(xué)運(yùn)算與缺陷標(biāo)記識(shí)別,以此檢測(cè)出油套管中的缺陷,實(shí)現(xiàn)油套管磨損缺陷檢測(cè),該方法增加了油管套磨損缺陷檢測(cè)誤差率。馬宗正等[6]人提出基于結(jié)構(gòu)光表面的石油油套管磨損缺陷檢測(cè)系統(tǒng)設(shè)計(jì)方法,該方法能夠獲取石油油套管表面缺陷的立體數(shù)據(jù),實(shí)現(xiàn)油套管磨損缺陷檢測(cè),但該方法通過(guò)直流放大器將油套管磨損缺陷信號(hào)放大,存在檢測(cè)靈敏度低的問(wèn)題。
為了解決上述方法中存在的問(wèn)題,提出數(shù)控車床加工的石油油套管(以下簡(jiǎn)稱油套管)磨損缺陷自動(dòng)檢測(cè)系統(tǒng)設(shè)計(jì)方法。
在油管井口處安裝缺陷自動(dòng)檢測(cè)裝置,當(dāng)數(shù)控車床加工油套管開(kāi)始作業(yè)時(shí),檢測(cè)傳感器可接受信號(hào),基于信號(hào)特征利用信號(hào)處理器處理信號(hào),并輸入A/D轉(zhuǎn)換器,以此簡(jiǎn)化缺陷信號(hào)數(shù)字化的轉(zhuǎn)換[7],最終將數(shù)字輸入計(jì)算機(jī),若油套管缺陷超標(biāo)則檢測(cè)裝置發(fā)出警報(bào),并進(jìn)行波形打印,且自動(dòng)生成缺陷檢測(cè)報(bào)告。檢測(cè)流程圖如圖1所示。
圖1 油套管缺陷檢測(cè)系統(tǒng)
油套管缺陷檢測(cè)裝置即缺陷檢測(cè)傳感器,在油套管周圍放置4個(gè)檢測(cè)探頭,且每個(gè)探頭中含有兩組不一樣的缺陷檢測(cè)零件,此零件可檢測(cè)不同方向的漏磁場(chǎng)信號(hào)[8]。為確保零件之間的密閉性不影響檢測(cè)精度,在數(shù)控車床加工油套管時(shí),將傳感器安裝在封口器上,這樣既可過(guò)濾油蠟還可防止原油卡死裝置和傳感器影響檢測(cè)效果。傳感器安裝效果圖如圖2所示。
圖2 油套管缺陷檢測(cè)裝置效果示意圖
由于油套管磨損缺陷檢測(cè)裝置中的檢測(cè)零件向外發(fā)出的信號(hào)難以捕捉,因此在輸出信號(hào)前需對(duì)信號(hào)進(jìn)行預(yù)處理。經(jīng)過(guò)數(shù)控車床加工后的石油油套管局部發(fā)生腐蝕后檢測(cè)出的信號(hào)是突變信號(hào),所以可將檢測(cè)零件輸出的信號(hào)經(jīng)過(guò)交流耦合及濾波處理后輸入交流放大器中將信號(hào)擴(kuò)大,但其中特殊的柱狀缺陷屬于緩變信號(hào),因此它的處理方式是采用直流疊加和濾波處理后再利用直流放大器進(jìn)行擴(kuò)大,其流程圖如圖3所示。
圖3 檢測(cè)零件信號(hào)處理流程圖
檢測(cè)零件的信號(hào)經(jīng)過(guò)預(yù)處理后具有5種可輸出的信號(hào),除其中一種為桿狀偏磨導(dǎo)致的壁厚變化信號(hào)外,其余都是腐蝕孔洞信號(hào)。
A/D轉(zhuǎn)換器是位于信號(hào)打印口的核心為MAX197的數(shù)據(jù)信號(hào)采集設(shè)備,此設(shè)備含有采樣頻率高的特性,且可以程控多量程選取。MAX197信號(hào)采集器的芯片中自身含有標(biāo)準(zhǔn)電壓、+5V單電源工作電壓、信號(hào)采樣保持器與時(shí)鐘,使得信號(hào)轉(zhuǎn)換不僅變得十分簡(jiǎn)便,且符合油套管檢測(cè)的監(jiān)測(cè)要求,并且此設(shè)備的信號(hào)傳輸率已達(dá)到ISA總線的程度,因此轉(zhuǎn)換后的信號(hào)在打印時(shí)只需將插頭插入打印口即可,不需要打開(kāi)計(jì)算機(jī)插卡。
經(jīng)過(guò)A/D轉(zhuǎn)換后的缺陷信號(hào)進(jìn)入計(jì)算機(jī)時(shí),信號(hào)分析處理軟件根據(jù)獲取到的信號(hào)及有關(guān)報(bào)廢要求進(jìn)行分析處理,并將信號(hào)保存在計(jì)算機(jī)內(nèi),在油套管檢測(cè)時(shí),若某些缺損情況已超過(guò)報(bào)廢條件,計(jì)算機(jī)將自動(dòng)發(fā)出警告。檢測(cè)結(jié)束后,計(jì)算機(jī)將自動(dòng)生成油套管磨損缺陷檢測(cè)報(bào)告。
在利用Qt creator進(jìn)行用戶互換界面時(shí),即將某些可視化的空間均勻排列在一起,且將頁(yè)面細(xì)分為五大欄,分別是底邊欄、頂邊欄、側(cè)邊欄、繪圖區(qū)和光標(biāo)顯示區(qū)。其中頂邊欄就是設(shè)置繪畫(huà)區(qū)參數(shù)的區(qū)域,此區(qū)域可以調(diào)整信號(hào)樣本回波的增益大小值,還可體現(xiàn)出USB圖標(biāo)、電池電量以及信號(hào)樣本取值范圍;底邊欄含有換能器、發(fā)射電路和全部系統(tǒng)的7個(gè)參數(shù)定義欄,當(dāng)用戶選擇底邊欄中的某一控件時(shí),側(cè)邊欄會(huì)立即出現(xiàn)不同的頁(yè)面,可根據(jù)需要選擇出對(duì)應(yīng)的參數(shù)進(jìn)行設(shè)置;繪圖區(qū)可以及時(shí)體現(xiàn)出樣本信號(hào)的波形;光標(biāo)顯示區(qū)就是通過(guò)光標(biāo)運(yùn)用繪圖區(qū)。整體結(jié)構(gòu)如圖4所示。
圖4 頁(yè)面布局結(jié)構(gòu)圖
為使頁(yè)面效果一目了然且功能齊全,因此需要設(shè)置顯示控件。因?yàn)閭?cè)邊欄及頂邊欄的顯示效果均不相同,所以需要提前確定頁(yè)面子控件的顯示效果,再提升顯示框的子控件的效果。在修改顯示效果的過(guò)程中,為不改變邊欄控件代碼,在設(shè)置顯示控件時(shí)需要采用C++的多重繼承特性,利用父類的接口統(tǒng)一接收信號(hào),并以此使得頁(yè)面顯示出不同效果,繼承關(guān)系如圖5所示。
圖5 顯示控件繼承關(guān)系示意圖
由于設(shè)計(jì)控件時(shí)將數(shù)據(jù)分成數(shù)字和字符兩種類型,這兩種數(shù)據(jù)類型都可秉承抽象接口類型的FDAbstractView。此類型的FDAbstractView具有兩種顯示數(shù)據(jù)的特征,當(dāng)?shù)玫侥壳翱丶臄?shù)值時(shí),則定義出目前控件的數(shù)值、名稱和焦點(diǎn),側(cè)邊欄可直接繼承接口類的數(shù)值型FDValueView。側(cè)邊欄接口可以臨時(shí)借用接口定義出自己的控件,若取得目前的控件數(shù)值,可以直接定義控件的數(shù)值,側(cè)邊欄直接具有屬于自己的顯示效果,頂邊欄雖可以直接繼承接口,但可定義的效果不一樣。
通過(guò)總結(jié)所有軟件內(nèi)容,將軟件程序分成用戶交換圖像層、邏輯運(yùn)算及油套管缺陷數(shù)據(jù)管理層兩部分。為保證兩者之間既能獨(dú)立運(yùn)行又能關(guān)聯(lián),可通過(guò)用戶交換界面及數(shù)據(jù)分離的數(shù)據(jù)結(jié)構(gòu)進(jìn)行數(shù)據(jù)處理,即Model/View結(jié)構(gòu),如圖6所示。
圖6 數(shù)據(jù)分離數(shù)據(jù)結(jié)構(gòu)圖
在此數(shù)據(jù)結(jié)構(gòu)中,需要構(gòu)建底層數(shù)據(jù)之間的關(guān)聯(lián)Model類,它可以處理和訪問(wèn)底層數(shù)據(jù),同時(shí)為頁(yè)面顯示提供信號(hào)接口;還需構(gòu)建與之相關(guān)的View類,此類在Model類中取得數(shù)據(jù),在Delegate類的基礎(chǔ)上將變化后的數(shù)據(jù)傳送到底層數(shù)據(jù)進(jìn)行交換。其中,Model類不負(fù)責(zé)界面顯示,只考慮底層數(shù)據(jù)的互相交換;View類只關(guān)注數(shù)據(jù)如何顯示,不考慮數(shù)據(jù)的保存和改寫(xiě);Delegate類既不負(fù)責(zé)數(shù)據(jù)處理也不負(fù)責(zé)數(shù)據(jù)顯示,它只是在數(shù)據(jù)顯示的元件發(fā)生變化時(shí)進(jìn)行改寫(xiě)并啟用Delegate類,并利用View類向Delegate類傳送變化后的信號(hào),同時(shí)生成View類可利用的程序編輯器,最后將設(shè)置好的信號(hào)傳送給Model類,實(shí)現(xiàn)底層數(shù)據(jù)的預(yù)處理。此數(shù)據(jù)結(jié)構(gòu)的優(yōu)點(diǎn)是抓住每層之間的數(shù)據(jù)變化即可大幅度降低軟件程序間的耦合度,從而更加合理且便利地處理各層之間的程序,使得程序?qū)哟胃涌煽俊?/p>
程序設(shè)計(jì)模式中的單例模式屬于主動(dòng)創(chuàng)建型,其確保一個(gè)類只建立一個(gè)實(shí)例,以此保證此類有且只有一個(gè)信號(hào)訪問(wèn)點(diǎn),通常情況下各個(gè)類都阻止不了用戶變換出多個(gè)實(shí)例,因此只能在程序中自行設(shè)置出一個(gè)實(shí)例。
因?yàn)镕DsideBarViewV類在頁(yè)面的邊欄中被多次借用,在油套管缺損檢測(cè)系統(tǒng)中大部分模塊都會(huì)經(jīng)過(guò)此類并訪問(wèn),因此會(huì)出現(xiàn)某些模塊同時(shí)借用此類的情況,從而產(chǎn)生資源沖突,導(dǎo)致程序冗余過(guò)多。因此可總結(jié)出單例模式的優(yōu)點(diǎn)為減少資源浪費(fèi)且保證全局有且僅有一個(gè)信號(hào)訪問(wèn)點(diǎn),其余類在借用FDsideBarViewV類時(shí)也只需訪問(wèn)此點(diǎn)即可,其單例模式如圖7所示。
圖7 單例模式示意圖
利用此軟件程序并綜合上述硬件系統(tǒng)即可實(shí)現(xiàn)油套管磨損缺陷的自動(dòng)檢測(cè)。
為了驗(yàn)證所提方法的整體有效性,需要在Windows7 32位操作平臺(tái)中對(duì)油套管分別用本文設(shè)計(jì)的自動(dòng)檢測(cè)方法、文獻(xiàn)[4]方法和文獻(xiàn)[5]方法對(duì)系統(tǒng)進(jìn)行傳輸數(shù)據(jù)速率、缺陷檢測(cè)誤差率和檢測(cè)靈敏度的測(cè)試。
為驗(yàn)證系統(tǒng)的有效性,采用不同系統(tǒng)下對(duì)油套管產(chǎn)品合格率進(jìn)行檢測(cè),得到結(jié)果如圖8所示。
圖8 油套管產(chǎn)品合格率
分析圖8可知,當(dāng)實(shí)驗(yàn)次數(shù)為10次時(shí),文獻(xiàn)[4]系統(tǒng)的油套管產(chǎn)品合格率為64%,文獻(xiàn)[5]系統(tǒng)的油套管產(chǎn)品合格率為71%,設(shè)計(jì)系統(tǒng)的油套管產(chǎn)品合格率為97%。當(dāng)實(shí)驗(yàn)次數(shù)為50次時(shí),文獻(xiàn)[4]系統(tǒng)的油套管產(chǎn)品合格率為83%,文獻(xiàn)[5]系統(tǒng)的油套管產(chǎn)品合格率為69%,設(shè)計(jì)系統(tǒng)的油套管產(chǎn)品合格率為98%。本文所設(shè)計(jì)系統(tǒng)的油套管產(chǎn)品合格率明顯高于其他方法。這是因?yàn)樵谧詣?dòng)檢測(cè)油套管缺陷過(guò)程中,系統(tǒng)自動(dòng)對(duì)采集到的信號(hào)進(jìn)行耦合處理,因此電路元件之間可以互相傳輸信息,信號(hào)之間可以獲取其重復(fù)信息并排除,提升油套管產(chǎn)品加工合格率。
為驗(yàn)證系統(tǒng)的有效性,采用不同系統(tǒng)下對(duì)油套管產(chǎn)品缺陷面積檢測(cè)誤差率進(jìn)行檢測(cè),得到結(jié)果如圖9所示。
圖9 三種系統(tǒng)的檢測(cè)面積誤差率
選取不同油套管深度,利用三種系統(tǒng)得出缺陷面積誤差率。從圖9中的數(shù)據(jù)可看出,油套管深度會(huì)影響系統(tǒng)檢測(cè)結(jié)果,導(dǎo)致檢測(cè)出的缺陷面積與實(shí)際缺陷面積產(chǎn)生誤差,而設(shè)計(jì)系統(tǒng)的誤差率始終不超過(guò)20%。文獻(xiàn)[5]系統(tǒng)的誤差率始終居高不下,最高誤差超過(guò)50%,文獻(xiàn)[4]系統(tǒng)次之,而本文所設(shè)計(jì)系統(tǒng)保證誤差不超20%。這是因?yàn)樵趯?shí)現(xiàn)油套管缺陷檢測(cè)前采用直流疊加和濾波處理,能去除所有影響信號(hào)誤差的因素,更加清晰地檢測(cè)出信號(hào)缺陷,從而檢測(cè)出的油套管缺陷更加完整,以此降低了檢測(cè)誤差。
為驗(yàn)證系統(tǒng)的有效性,采用不同系統(tǒng)下對(duì)油套管產(chǎn)品缺陷檢測(cè)靈敏度進(jìn)行檢測(cè),得到結(jié)果如圖10所示。
圖10 不同系統(tǒng)的檢測(cè)靈敏度
系統(tǒng)的檢測(cè)靈敏度可說(shuō)明系統(tǒng)的優(yōu)劣,經(jīng)過(guò)多次迭代得出圖10數(shù)據(jù),設(shè)計(jì)系統(tǒng)可檢測(cè)的缺陷大小精確到0.01mm,從而得出設(shè)計(jì)系統(tǒng)的檢測(cè)靈敏度趨近于100%,其他兩種系統(tǒng)由于各種原因靈敏度皆低于設(shè)計(jì)系統(tǒng),這是因?yàn)樗岱椒ɡ弥绷鞣糯笃鲗⑿盘?hào)放大,使得檢測(cè)出的缺陷信號(hào)更加精確,進(jìn)而在簡(jiǎn)便操作的基礎(chǔ)上也能精確檢測(cè)出缺陷信號(hào),以此提高檢測(cè)靈敏度。
為解決目前所用方法的不足,提出數(shù)控車床加工油套管磨損缺陷自動(dòng)檢測(cè)系統(tǒng)設(shè)計(jì)方法。該方法首先設(shè)計(jì)出含有多個(gè)模塊的硬件系統(tǒng),在此基礎(chǔ)上綜合單獨(dú)運(yùn)行的多模塊單例模式軟件程序,實(shí)現(xiàn)油套管磨損缺陷自動(dòng)檢測(cè)。經(jīng)試驗(yàn)表明,該方法能夠有效提升油套管加工的產(chǎn)品合格率、降低缺陷檢測(cè)誤差率,提高檢測(cè)靈敏度,降低了油套管加工成本,提高了效率。