新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于電磁感應(yīng)的多層管柱電磁探傷測井系統(tǒng)

基于電磁感應(yīng)的多層管柱電磁探傷測井系統(tǒng)

作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏

通信協(xié)議設(shè)計

井下設(shè)備完全受井上PC客戶端控制,如開始測井、暫停測井等,井下設(shè)備負(fù)責(zé)響應(yīng)上位機(jī)的命令。本系統(tǒng)中定義了測井?dāng)?shù)據(jù)幀、命令幀和應(yīng)答幀三種幀結(jié)構(gòu)。數(shù)據(jù)幀主要用于井下設(shè)備向上位機(jī)發(fā)送的測井?dāng)?shù)據(jù),命令幀用于上位機(jī)向井下設(shè)備發(fā)送控制命令,應(yīng)答幀為雙方接收到測井?dāng)?shù)據(jù)幀和命令幀之后應(yīng)答成功或者失敗的幀結(jié)構(gòu)。

  • 測井?dāng)?shù)據(jù)幀

測井?dāng)?shù)據(jù)幀結(jié)構(gòu)定義如表格1所示。測井?dāng)?shù)據(jù)幀包括起始標(biāo)志字節(jié)、幀序號字節(jié)、類型字節(jié)、當(dāng)前時間字節(jié)、當(dāng)前深度字節(jié)、溫度字節(jié)、伽馬射線字節(jié)、發(fā)射電路字節(jié)、縱向探頭A電壓字節(jié)、橫向探頭B電壓字節(jié)、橫向探頭C電壓字節(jié)、校驗和字節(jié)以及結(jié)束標(biāo)志字節(jié)。

表格 1 測井?dāng)?shù)據(jù)幀結(jié)構(gòu)

起始標(biāo)志

幀序號

類型字節(jié)

當(dāng)前時間

當(dāng)前深度

FSTA

3字節(jié)

1字節(jié)(’D’)

4字節(jié)

4字節(jié)

溫度

伽馬射線

發(fā)射電流

縱向探頭A電壓

橫向探頭B電壓

4字節(jié)

2字節(jié)

2字節(jié)

48*3*2字節(jié)

48*2字節(jié)

橫向探頭C電壓

校驗和

結(jié)束標(biāo)志

48*2字節(jié)

4字節(jié)

FEND

由于PIC32MX7為32位單片機(jī),處理int型數(shù)據(jù)(4字節(jié))較快,并且CAN2.0B標(biāo)準(zhǔn)幀每幀可以發(fā)送8字節(jié)的數(shù)據(jù),所以在協(xié)議中采用4字節(jié)為一個單位的設(shè)計。

起始標(biāo)志字節(jié)為“FSTA”四個字節(jié),結(jié)束標(biāo)志字節(jié)為“FEND”四個字節(jié),幀序號為啟動測井儀器后發(fā)送的數(shù)據(jù)幀的序號,類型字節(jié)為“D”。其他字節(jié)為當(dāng)前深度下采集的測井?dāng)?shù)據(jù)。

協(xié)議采用簡單的校驗和的方法進(jìn)行幀的校驗。先將每四個字節(jié)組成一個int型的數(shù)據(jù),然后所有的數(shù)據(jù)相加,然后將結(jié)果截短到一個int型數(shù)據(jù)的長度。發(fā)送端將待發(fā)送的數(shù)據(jù)進(jìn)行校驗和計算,將校驗和值放在數(shù)據(jù)后一起發(fā)送,在接收端對接收到的數(shù)據(jù)進(jìn)行校驗和計算,然后和接收到的校驗和字節(jié)比較,來進(jìn)行誤碼判斷。設(shè)定要進(jìn)行校驗和和計算的字節(jié)不包括起始和結(jié)束標(biāo)志字節(jié)。

  • 命令幀

命令幀結(jié)構(gòu)定義如表格2所示。命令幀包括起始標(biāo)志字節(jié)、幀序號字節(jié)、類型字節(jié)、校驗和字節(jié)和結(jié)束標(biāo)志字節(jié)。

表格 2 命令幀結(jié)構(gòu)

起始標(biāo)志

幀序號

類型字節(jié)

校驗和

結(jié)束標(biāo)志

FSTA

3字節(jié)

1字節(jié)(命令字)

4字節(jié)

FEND

根據(jù)系統(tǒng)的需要,命令字設(shè)有開始命令字、暫停命令字、繼續(xù)命令字和結(jié)束命令字,類型字節(jié)分別是‘S’、‘P’、‘C’、‘E’。

  • 應(yīng)答幀

應(yīng)答幀結(jié)構(gòu)定義如表格3所示。令幀包括起始標(biāo)志字節(jié)、幀序號字節(jié)、類型字節(jié)、校驗和字節(jié)和結(jié)束標(biāo)志字節(jié)。其中接收成功ACK應(yīng)答幀類型字節(jié)為‘A’,接收失敗NAK應(yīng)答幀類型字節(jié)為‘N’。

表格 3 應(yīng)答幀結(jié)構(gòu)

起始標(biāo)志

幀序號

類型字節(jié)

校驗和

結(jié)束標(biāo)志

FSTA

3字節(jié)

1字節(jié)(’A’/’N’)

4字節(jié)

FEND

除了幀結(jié)構(gòu)的定義以外,整個系統(tǒng)的通信還需要遵守以下規(guī)則:

  1. 數(shù)據(jù)傳輸?shù)碾p方以100kbps的速率傳輸數(shù)據(jù),使用主從式通信,主機(jī)發(fā)送數(shù)據(jù),從機(jī)接收數(shù)據(jù);
  2. 從機(jī)在接收完數(shù)據(jù)幀后,將根據(jù)最后的校驗結(jié)構(gòu)判斷數(shù)據(jù)接收是否成功,若校驗正確,則向主機(jī)發(fā)送ACK應(yīng)答幀,標(biāo)志接收成功,若校驗錯誤,則發(fā)送NAK應(yīng)答幀,表示錯誤,請求重發(fā);
  3. 主機(jī)接收到ACK應(yīng)答幀,則通信結(jié)束,否則主機(jī)將重新發(fā)送這組數(shù)據(jù)。

表格4是測井?dāng)?shù)據(jù)傳輸模型,為整個測井過程中數(shù)據(jù)傳輸模型。

表格 4 測井?dāng)?shù)據(jù)傳輸模型

開始測井標(biāo)志

數(shù)據(jù)幀

應(yīng)答幀

數(shù)據(jù)幀

應(yīng)答幀

……

數(shù)據(jù)幀

EMISTART

數(shù)據(jù)幀0

ACK

數(shù)據(jù)幀1

ACK

……

數(shù)據(jù)幀n

應(yīng)答幀

數(shù)據(jù)幀

應(yīng)答幀

……

結(jié)束測井標(biāo)志

NAK

數(shù)據(jù)幀n

ACK

……

EMITOEND

輔助測量模塊

溫度探頭

溫度傳感器的選擇主要是要考慮被測量物體的溫度范圍、電阻材料的化學(xué)穩(wěn)定性、電阻值與溫度變化要保持線性關(guān)系等。

一般來講,地殼中溫度與深度成正比,深度每增加100米溫度便要上升3℃左右。除此之外,還要考慮油井的深度。早期油井只有幾十至幾百米深,近年來油井深度逐漸加深,大部分石油生產(chǎn)并的深度在1000米至3000米之間。石油生產(chǎn)井的最深記錄是6500米。由于地溫梯度的存在,井下的溫度將隨深度的增加而升高,由此可以對溫度傳感器的所需測溫范圍進(jìn)行估算。

井底最高溫度可由下式進(jìn)行計算確定:

式中為井底最高溫度(℃),為地溫梯度(℃/100m),h為井深(m)。

當(dāng)取為℃/100m,則在6500米處溫度則為23+4.5×6500/100=315.5℃。因此,測溫部分的溫度傳感器測量范圍選在0—320℃即可滿足絕大多數(shù)條件下的測溫要求。

在此溫度范圍內(nèi)可供選擇的有熱電偶、熱電阻及集成測溫元件等??紤]到其使用環(huán)境等因素,選用熱電阻作為系統(tǒng)的測溫元件較為適合。

鉑電阻具有測量溫度范圍大、精度高、穩(wěn)定性好、性能可靠等優(yōu)點(diǎn),而且具有高熔點(diǎn)、高穩(wěn)定性,因此被我們選為系統(tǒng)的測溫元件。

具體的測溫電路如下圖所示:

圖 21 溫度測量原理圖

TL431為OP07提供恒壓源,由于電壓源也不是純粹的恒壓,為消除電壓波動,添加R5和C1作為電源濾波。R2,R3,R4,RT作為測量電橋,通過檢測C端和D端的電壓差來計算溫度的變化,根據(jù)集成運(yùn)算放大器工作在線性區(qū)域的輸入端虛短特性,OP072端電壓等于3端電壓;由于TL431為OP07提供了相對穩(wěn)定的電壓源,根據(jù)集成運(yùn)算放大器工作在線性區(qū)域的輸入端虛斷特性,流過R4的電流只流經(jīng)RT,所以相當(dāng)于有一個恒流源流經(jīng)R4和RT。當(dāng)電橋達(dá)到動態(tài)平衡時,有:。通過計算可知,,從而求出RT的變化量。通過查鉑電阻溫度表,即可得到溫度值。

伽馬探頭

自然伽馬測井儀測量由地層中放射性元素衰變所產(chǎn)生的自然伽馬射線的強(qiáng)度。自然伽馬資料可以用來劃分地層巖性、求地層的泥質(zhì)含量。在套管井測井中,自然伽馬曲線、套管接箍定位曲線與裸眼井資料的對比可以保證地層定位和射孔深度的準(zhǔn)確性。一般自然伽馬電路分閃爍探測器、輸入極、選擇整形級、放大輸出級和高壓電源部分。結(jié)構(gòu)圖如圖 22所示。

圖 22 自然伽馬探測結(jié)構(gòu)圖

軟件系統(tǒng)設(shè)計

下位機(jī)軟件設(shè)計

主程序流程圖

圖 23 主程序流程圖

主程序進(jìn)入之后首先對各模塊進(jìn)行初始化,包括全局變量、單片機(jī)I/O口、CAN總線等模塊。其后進(jìn)入系統(tǒng)工作狀態(tài)判斷,根據(jù)不同的工作狀態(tài),系統(tǒng)執(zhí)行不同的內(nèi)容。系統(tǒng)的工作狀態(tài)由系統(tǒng)和上位機(jī)控制切換,上位機(jī)是通過命令幀給下位機(jī)發(fā)送命令。

測井流程圖

圖 24 測井流程圖

在測井狀態(tài)中,單片機(jī)控制IGBT全橋電路產(chǎn)生125ms的正向脈沖,根據(jù)不同的時刻控制可編程放大的倍數(shù)并進(jìn)行A/D采樣。采樣結(jié)束后單片機(jī)控制IGBT全橋電路再次產(chǎn)生125ms的負(fù)向脈沖,同時通過CAN總線向上位機(jī)發(fā)送測井?dāng)?shù)據(jù)幀,如果100ms內(nèi)未發(fā)送成功則返回發(fā)送失敗標(biāo)志并推出發(fā)送。負(fù)向脈沖后重復(fù)放大和采樣,并發(fā)送測井?dāng)?shù)據(jù)幀。最后判斷是否有發(fā)送失敗的測井?dāng)?shù)據(jù)幀,并發(fā)送失敗的數(shù)據(jù)幀。

CAN總線數(shù)據(jù)處理流程圖

系統(tǒng)采用PIC32MX的CAN1模塊,波特率設(shè)為100kbps,分別使用2個32個報文深的FIFO作為發(fā)送和接收FIFO,采用接收中斷的方式來接收上位機(jī)的數(shù)據(jù)。在接收中斷服務(wù)程序中對接收到的數(shù)據(jù)進(jìn)行處理。如圖 25為CAN總線數(shù)據(jù)處理的流程圖。

圖 25 CAN總線數(shù)據(jù)處理的流程圖

系統(tǒng)在接收到一個完整的數(shù)據(jù)幀之后,且校驗和正確,會對接收緩存數(shù)據(jù)進(jìn)行處理,會根據(jù)不同的類型的數(shù)據(jù)幀做相應(yīng)的操作。當(dāng)發(fā)生未能正確接收一個完整的數(shù)據(jù)幀時,下位機(jī)會返回錯誤類型,并回復(fù)NAK應(yīng)答幀。

實時時鐘

PIC32MX 器件上提供的實時時鐘和日歷(Real-Time Clock and Calendar,RTCC)硬件模塊及其操作。RTCC是為需要長時間維持精確時間的應(yīng)用設(shè)計的,無需或只需最少的CPU干預(yù)。該模塊為低功耗使用進(jìn)行了優(yōu)化,以便在跟蹤時間的同時延長電池的使用壽命。使用RTCC模塊的要求是需要一個外部32.768 kHz時鐘晶振。

測井?dāng)?shù)據(jù)幀的當(dāng)前時間使用RTCC模塊提供,該模塊只需要初始化并設(shè)置起始時鐘和日歷即可自動運(yùn)行。

上位機(jī)軟件設(shè)計

概述

需求概述

本軟件的功能主要為接收本系統(tǒng)硬件部分發(fā)送的數(shù)據(jù),通過一定的協(xié)議解析,提取并分析信息,計算管壁厚度,繪制厚度可視化的圖形,為工程人員提供直接的和有效的資料。

由于本系統(tǒng)在探傷的同時,著重分析損傷位置,因此必須對遠(yuǎn)近有所分離,另外最好能夠繪制從遠(yuǎn)到近的厚度譜圖,因此,本軟件需要繪制兩種圖線,一種劃分為遠(yuǎn)場近場兩條曲線,另一種給出彩色的厚度譜圖。

由于測井時間很長,工程人員很難全程跟蹤,為了便于從存儲的信息中恢復(fù)信息以便日后查閱,還需要給本軟件增加文件存儲和圖像存儲的功能。

最后,工程人員還需要實施觀測現(xiàn)場狀況,隨時得到從井下傳遞來的信息,這樣隨時觀測的方法,可以有效的節(jié)省測井時間,對于損傷過大的井可不必測完。

軟硬件支持環(huán)境

本軟件采用VS2008編譯通過,在編寫中使用了.net3.5架構(gòu),因此運(yùn)行本軟件需要Microsoft .net3.5運(yùn)行時庫的支持。

另外,本系統(tǒng)采用USBCAN模塊進(jìn)行通信,由于廠商沒有給出其在Windows Vista和Windows 7下的驅(qū)動,因此,本軟件只能工作在Windows XP系統(tǒng)下,且需要安裝USBCAN模塊驅(qū)動。

程序建模

本程序采用面向?qū)ο蟪绦蛟O(shè)計方法,其中的多數(shù)功能被封裝在對象中,程序有較好的移植性和安全性。程序主要封裝在以下幾個類中

用途

記錄測井全程信息、

文件存儲和讀出

由下位機(jī)傳來的8字節(jié)信息

由下位機(jī)傳來的數(shù)據(jù)包

其中包括一正一反兩個數(shù)據(jù)包,記錄其平均值和其他的數(shù)據(jù)處理結(jié)果

測井曲線圖

衰減曲線圖

  1. 總線通信

另外本軟件采用了多線程處理技術(shù),主程序負(fù)責(zé)按鍵響應(yīng)、圖形顯示等處于主線程中,而信息處理算法由子進(jìn)程執(zhí)行。這樣有效的提升了數(shù)據(jù)處理算法的效率和獨(dú)立性,使得又原先的每包處理時間1000ms左右大幅降至14ms左右。

界面設(shè)計

下圖為一軟件運(yùn)行時截圖,可以看到程序右左上方的文件/設(shè)備控制區(qū),右上方圖形控制區(qū),左下方的信息顯示區(qū)以及右下方的圖形顯示區(qū)組成。而其中最重要的,也是占用面積最大部分是圖形顯示區(qū),較大的面積保證了觀看的方便。另外,為了觀察直觀的一手?jǐn)?shù)據(jù),我們還專門設(shè)置了顯示由采樣設(shè)備直接傳來的未經(jīng)處理的衰減信號,以便工程人員直接判斷測井系統(tǒng)是否正常工作,以及管壁是否發(fā)生嚴(yán)重?fù)p傷。這個衰減曲線是可以隱藏的,因為它畢竟不是主要需要顯示的內(nèi)容,而且占用屏幕空間較大。如果你覺得圖像顯示空間還不夠大,甚至可以隱藏圖例。這里圖例被設(shè)計成懸浮于繪圖之上,可以跟隨滾動條滑動而動。



評論


技術(shù)專區(qū)

關(guān)閉