樊 恒,劉 萌,陳 佳,郭穎娜
(西安石油大學(xué),陜西 西安 710065)
固井分為下套管和注水泥兩個(gè)階段,在套管下入井中之后,把水泥漿泵入套管內(nèi),再用鉆井液把水泥漿頂替到管外環(huán)空內(nèi)設(shè)計(jì)的位置。水泥漿是水、干灰和外加劑混合的漿體。在固井施工過(guò)程中,水泥漿密度值過(guò)高或過(guò)低都會(huì)直接影響固井的質(zhì)量和施工安全。因此,水泥漿密度的監(jiān)測(cè)就顯得尤為重要。
目前,國(guó)內(nèi)傳統(tǒng)的水泥漿監(jiān)測(cè)系統(tǒng)多采用有線連接,施工難度大、易發(fā)生意外、維護(hù)耗時(shí)耗力,嚴(yán)重影響固井施工的進(jìn)度和質(zhì)量。
隨著信息技術(shù)、智能控制和物聯(lián)網(wǎng)技術(shù)的發(fā)展,無(wú)線監(jiān)測(cè)已成為未來(lái)監(jiān)測(cè)的重要技術(shù)?;贏RM 的嵌入式開(kāi)發(fā)已廣泛應(yīng)用于智能家居、環(huán)境監(jiān)測(cè)、艦船、農(nóng)業(yè)等各個(gè)領(lǐng)域中。但是在實(shí)際固井施工中微控制器多采用單片機(jī),不能快速處理大排量固井水泥漿密度的數(shù)據(jù)。本文提出一種基于嵌入式ARM 平臺(tái)的固井水泥漿密度監(jiān)測(cè)系統(tǒng),包含數(shù)據(jù)的采集、數(shù)據(jù)處理、數(shù)據(jù)的無(wú)線傳輸、數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)顯示等功能,用戶可在瀏覽器實(shí)時(shí)查看密度值和歷史數(shù)據(jù),也可通過(guò)人機(jī)交互界面查看數(shù)據(jù)值和其他信息。
基于ARM 的固井水泥漿密度監(jiān)測(cè)系統(tǒng)主要包括上位機(jī)和下位機(jī)兩部分。上位機(jī)為監(jiān)測(cè)中心,負(fù)責(zé)監(jiān)測(cè)水泥漿密度變化、設(shè)備狀態(tài)和串口的配置信息。下位機(jī)由ARM 和一些外圍電路組成,負(fù)責(zé)對(duì)采集的數(shù)據(jù)進(jìn)行處理。通過(guò)RS 485 接口連接采集傳感器進(jìn)行數(shù)據(jù)采集,數(shù)據(jù)傳輸采用ModBus 總線,微控制器ARM 對(duì)傳感器采集的數(shù)據(jù)進(jìn)行處理,再利用WiFi 網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送給上位機(jī),數(shù)據(jù)的存儲(chǔ)、顯示及查看、歷史數(shù)據(jù)和錯(cuò)誤信息進(jìn)行日志輸出和打印在上位機(jī)實(shí)現(xiàn)。監(jiān)測(cè)系統(tǒng)總體框圖如圖1 所示。
圖1 監(jiān)測(cè)系統(tǒng)總體設(shè)計(jì)框架
固井施工過(guò)程中密度變化速度快,處理器要進(jìn)行數(shù)據(jù)的采集、處理和發(fā)送等任務(wù),一般的單片機(jī)無(wú)法滿足這樣的需求。系統(tǒng)的微處理器選擇三星發(fā)布的Exynos4412 四核處理器,采用ARM Cortex?a9 架構(gòu),主頻可達(dá)1.4~1.6 GHz。該芯片體積小、功耗低、處理數(shù)據(jù)能力快,保證了整個(gè)監(jiān)測(cè)系統(tǒng)的穩(wěn)定性和功能性。
目前,油田開(kāi)采多采用放射性密度計(jì)來(lái)測(cè)量水泥漿的密度,測(cè)量精度不高,采集的信號(hào)為模擬信號(hào),需要轉(zhuǎn)換成數(shù)信號(hào),且在水泥車大幅震動(dòng)的情況下易滑脫。因此,本次設(shè)計(jì)采用美國(guó)霍尼威爾公司推出的PPTR 系列智能精密壓力傳感器,這些傳感器集多種電路于一身,可實(shí)現(xiàn)網(wǎng)絡(luò)化,測(cè)量精度高達(dá)±0.05,有數(shù)字和模擬兩種測(cè)量方式,傳輸距離長(zhǎng)達(dá)幾千米,體型小、方便安裝,具有良好的穩(wěn)定性和重復(fù)性。PPTR 壓力傳感器內(nèi)部結(jié)構(gòu)框圖如圖2 所示。
圖2 PPTR 壓力傳感器內(nèi)部結(jié)構(gòu)圖
考慮到固井施工現(xiàn)場(chǎng)布線繁瑣的問(wèn)題,通過(guò)WiFi模塊實(shí)現(xiàn)主控制器和后臺(tái)PC 機(jī)的數(shù)據(jù)傳輸,實(shí)現(xiàn)水泥漿密度的實(shí)時(shí)監(jiān)測(cè)。WiFi 模塊選用ESP8266 模塊,支持無(wú)線IEEE 802.11b/g,內(nèi)置TCP/IP 協(xié)議,支持STA/AP/STA+AP 三種工作模式,工作電壓為3.3 V。
微控制器通過(guò)串口與ESP8266 連接,設(shè)置工作模式為STA,通過(guò)路由器連接互聯(lián)網(wǎng),實(shí)現(xiàn)PC 機(jī)與控制器的無(wú)線信號(hào)傳輸。
固井水泥漿密度監(jiān)控系統(tǒng)的軟件設(shè)計(jì)是基于Linux操作系統(tǒng)。Linux 操作系統(tǒng)相對(duì)于Windows 操作系統(tǒng)具有免費(fèi)開(kāi)源、模塊化程度高、安全穩(wěn)定、良好的可移植性等優(yōu)點(diǎn)。本文采用C 語(yǔ)言編程。
監(jiān)測(cè)系統(tǒng)的軟件主要實(shí)現(xiàn)PC 機(jī)與微控制器之間的通信。主程序開(kāi)始后,提前創(chuàng)建多個(gè)線程保存到線程池,當(dāng)有消息來(lái)臨時(shí),從池中取出閑置的線程去執(zhí)行任務(wù),結(jié)束任務(wù)后返回池中繼續(xù)等待被再次喚醒。系統(tǒng)的軟件設(shè)計(jì)采用模塊化設(shè)計(jì),包括主控模塊、串口模塊、數(shù)據(jù)存儲(chǔ)模塊、網(wǎng)絡(luò)模塊、人機(jī)交互模塊和日志模塊。軟件設(shè)計(jì)結(jié)構(gòu)如圖3 所示。
圖3 軟件設(shè)計(jì)結(jié)構(gòu)框架
主控模塊:對(duì)所有模塊初始化,管理所有模塊通信的數(shù)據(jù)結(jié)構(gòu)。
串口模塊:從傳感器設(shè)備中讀取數(shù)據(jù)(支持輪詢上報(bào)模式和主從模式),可以向設(shè)備發(fā)送控制命令。
數(shù)據(jù)存儲(chǔ)模塊:通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)采集的數(shù)據(jù),對(duì)歷史的數(shù)據(jù)進(jìn)行查詢。
網(wǎng)絡(luò)模塊:包括網(wǎng)絡(luò)參數(shù)配置和Web 服務(wù)器。網(wǎng)絡(luò)參數(shù)信息和串口信息通過(guò)網(wǎng)絡(luò)參數(shù)配置模塊進(jìn)行配置。
Web 服務(wù)器工作方式為TCP Server,可接入多個(gè)客戶端,可對(duì)RS 485 設(shè)備采集信息(主從模式、輪詢上報(bào)模式),可控制設(shè)備。
人機(jī)交互模塊:顯示串口的工作狀態(tài)、網(wǎng)絡(luò)工作狀態(tài)、設(shè)備工作狀態(tài)和實(shí)時(shí)密度。
日志模塊:完成所有模塊及工作狀態(tài)的打印,實(shí)現(xiàn)日志文件的保存。
串口通信采用標(biāo)準(zhǔn)異步串行半雙工RS 485 通信接口,通信協(xié)議采用ModBus。設(shè)置通信的幀格式為:一位起始位,八位數(shù)據(jù)位、無(wú)奇偶校驗(yàn)位,一位停止位,波特率為115200 b/s。協(xié)議由主機(jī)或從機(jī)地址、功能碼、數(shù)據(jù)、差錯(cuò)校驗(yàn)四部分組成。地址用來(lái)識(shí)別設(shè)備,每臺(tái)可通信設(shè)備都有唯一的地址。功能碼即本條數(shù)據(jù)包所執(zhí)行的操作類型。數(shù)據(jù)則是所要發(fā)送的數(shù)據(jù)內(nèi)容,它由一系列的字節(jié)組成。差錯(cuò)校驗(yàn)用于檢測(cè)數(shù)據(jù)是否正確,采用CRC16 循環(huán)冗余碼檢驗(yàn),占2 個(gè)字節(jié)。由上位機(jī)發(fā)送命令,當(dāng)下位機(jī)監(jiān)測(cè)到首個(gè)地址碼時(shí),判斷是否為設(shè)備地址,若是則啟動(dòng)接受中斷,同時(shí)將數(shù)據(jù)放到緩存區(qū)中;若不是,設(shè)備繼續(xù)等待。串口接收數(shù)據(jù)流程如圖4 所示。
圖4 串口接收數(shù)據(jù)流程
網(wǎng)絡(luò)模塊包含網(wǎng)絡(luò)參數(shù)配置和Web 服務(wù)器的搭建。
網(wǎng)絡(luò)參數(shù)配置是基于HTML 語(yǔ)言編寫網(wǎng)頁(yè)。用戶可登錄瀏覽器進(jìn)行本機(jī)參數(shù)配置和RS 485 串口參數(shù)配置,如圖5 和圖6 所示。
圖5 本機(jī)配置信息界面
圖6 串口配置信息界面圖
Web 服務(wù)器是基于B/S 模型、通過(guò)HTTP 協(xié)議、使用多線程(epoll)實(shí)現(xiàn)并發(fā)訪問(wèn),用戶可通過(guò)訪問(wèn)瀏覽器查看泥漿密度數(shù)據(jù)。Web 服務(wù)器子程序首先創(chuàng)建socket套接字,三次握手建立連接,通過(guò)HTTP 協(xié)議發(fā)送請(qǐng)求報(bào)文和響應(yīng)報(bào)文進(jìn)行數(shù)據(jù)的傳輸,最后釋放連接。Web服務(wù)器流程如圖7 所示。
圖7 Web 服務(wù)器流程
考慮到固井施工周期長(zhǎng)、采集水泥漿密度數(shù)據(jù)量大等特點(diǎn),采用MySQL 數(shù)據(jù)庫(kù)存儲(chǔ)和查詢數(shù)據(jù)。MySQL數(shù)據(jù)庫(kù)為大中型數(shù)據(jù)庫(kù),免費(fèi)開(kāi)放、服務(wù)穩(wěn)定、體積小、安裝方便、易于維護(hù)。
根據(jù)對(duì)固井水泥漿密度監(jiān)測(cè)系統(tǒng)的功能需求分析,數(shù)據(jù)庫(kù)主要有密度信息表和本機(jī)配置信息表,具體如下:
1)密度信息表,主要包括序號(hào)、時(shí)間、密度值。
2)本機(jī)配置信息表,主要包括序號(hào)、時(shí)間、本機(jī)IP、本機(jī)地址類型、物理地址、子網(wǎng)掩碼和網(wǎng)關(guān)地址。
用戶可輸入關(guān)鍵字對(duì)兩個(gè)表進(jìn)行查詢。
基于Visual Basic 6.0 搭建可視化界面,主要對(duì)下位機(jī)采集數(shù)據(jù)進(jìn)行顯示,包括密度值、網(wǎng)絡(luò)配置參數(shù)、串口配置參數(shù)和設(shè)備工作狀態(tài)。人機(jī)交互界面如圖8所示。
圖8 人機(jī)交互界面
在實(shí)驗(yàn)室模擬固井水泥漿密度監(jiān)測(cè)環(huán)境。打開(kāi)本機(jī)網(wǎng)絡(luò)下計(jì)算機(jī)的瀏覽器,配置規(guī)定的網(wǎng)關(guān)本機(jī)信息和串口信息,串口波特率設(shè)置為115200 b/s,采用輪詢模式,數(shù)據(jù)幀格式設(shè)置為:1 位起始位,8 位數(shù)據(jù)位,1 位停止位,無(wú)奇偶校驗(yàn)位,2 s 采集一次數(shù)據(jù),60 s 存儲(chǔ)及顯示一次數(shù)據(jù)。總共進(jìn)行3 次實(shí)驗(yàn),0~60 s 進(jìn)行第一次監(jiān)測(cè),設(shè)定密度為1.85 g/cm,30 s 之后,水泥漿密度值在1.85 g/cm上下范圍5%內(nèi)波動(dòng);60~120 s 進(jìn)行第二次監(jiān)測(cè),將水泥漿的密度上調(diào)到2.45 g/cm,在80 s 之后,水泥漿密度值在2.45 g/cm上下范圍5%內(nèi)波動(dòng);120~180 s進(jìn)行第三次監(jiān)測(cè),將水泥漿密度下調(diào)到1.45 g/cm,在160 s 之后,水泥漿密度值在1.45 g/cm上下范圍5%內(nèi)波動(dòng),驗(yàn)證了系統(tǒng)的穩(wěn)定性和準(zhǔn)確性。實(shí)驗(yàn)結(jié)果如表1 所示。實(shí)驗(yàn)的測(cè)試結(jié)果曲線如圖9 所示。
表1 固井水泥漿密度測(cè)試結(jié)果 g/cm3
圖9 固井水泥漿密度監(jiān)測(cè)測(cè)試結(jié)果
1)本文采用嵌入式ARM 微控制器、Linux 系統(tǒng)和無(wú)線網(wǎng)絡(luò)技術(shù),通過(guò)軟硬件結(jié)合的方法設(shè)計(jì)了基于ARM 的水泥漿密度監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)了泥漿密度的實(shí)時(shí)監(jiān)測(cè),為后續(xù)調(diào)節(jié)泥漿密度值提供了便利。
2)通過(guò)實(shí)驗(yàn)測(cè)試,驗(yàn)證了本次設(shè)計(jì)的可行性。實(shí)驗(yàn)結(jié)果表明:本系統(tǒng)具有采集數(shù)據(jù)精度高、功耗低、可靠性高等特點(diǎn),對(duì)工業(yè)領(lǐng)域的監(jiān)測(cè)具有一定的實(shí)用價(jià)值。
3)由于固井過(guò)程中環(huán)境比較復(fù)雜,水泥車振動(dòng)幅度大、現(xiàn)場(chǎng)信號(hào)復(fù)雜,容易造成網(wǎng)絡(luò)信號(hào)不穩(wěn)定,偶爾會(huì)出現(xiàn)掉線的情況,還需要對(duì)網(wǎng)絡(luò)功能模塊進(jìn)行進(jìn)一步的改進(jìn)。