新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于嵌入式云技術(shù)的油井液位遠(yuǎn)程測試系統(tǒng)

基于嵌入式云技術(shù)的油井液位遠(yuǎn)程測試系統(tǒng)

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

摘要:針時油井液位遠(yuǎn)程測試系統(tǒng)中現(xiàn)場設(shè)備計算資源不足和不能滿足遠(yuǎn)程實時監(jiān)控的問題,本文基于云計算技術(shù),設(shè)計和實現(xiàn)了一套系統(tǒng)?;趤嗰R遜公司的Eucalyptus(桉樹)云平臺實現(xiàn)了監(jiān)控中心的功能。測控現(xiàn)場端采用STM32F103微處理器和S3C 2440A微處理器實現(xiàn)了測控節(jié)點和測控服務(wù)器的硬件開發(fā),嵌入式測控服務(wù)器在嵌入式的支撐下,通過、實現(xiàn)了測試設(shè)備的虛擬化,測控節(jié)點和測控服務(wù)器之間采用通信協(xié)議。系統(tǒng)實現(xiàn)了實時測試和遠(yuǎn)程實時測控的功能,測試結(jié)果表明,能滿足實際應(yīng)用的需求。

本文引用地址:http://2s4d.com/article/201610/308982.htm

在油井開采過程中,為了解油井的產(chǎn)油能力,掌握生產(chǎn)動態(tài),測量油井的液位是一項經(jīng)常性的工作。因此,對此測量液位的實時監(jiān)控以及能快速的測取、分析數(shù)據(jù)和存儲數(shù)據(jù)就顯得尤為重要。

然而針對油井的動態(tài)液位測量必須進(jìn)行人工手持發(fā)生裝置、傳感器和測距儀等到油井現(xiàn)場去測試,并且對于測距儀的計算能力,以及存儲資源的不足,選用現(xiàn)在越來越成熟的云計算技術(shù)來解決。云計算通過網(wǎng)絡(luò)訪問非本地的計算服務(wù)(包括數(shù)據(jù)處理、存儲、和信息服務(wù)等)的技術(shù),其計算設(shè)施不在本地而在網(wǎng)絡(luò)中,用戶不需要關(guān)心他們所處的具體位置。嵌入式云計算具備通用化構(gòu)件、虛擬化管理特征,也可以更加有效地降低構(gòu)件成本,提高資源利用率,同時顯著提高了系統(tǒng)的整體可靠性。傳統(tǒng)的本地油井測量測試存在很多問題,如測試工具費用昂貴;并且由于本地測試環(huán)境的限制,難以獲得超大規(guī)模的計算能力;測試環(huán)境難以部署,測試資源準(zhǔn)備繁瑣、測試積累比較匱乏等一系列問題,這些都制約了測試工作的進(jìn)展。而是基于云計算的一種新型測試方案。

為此,文中設(shè)計開發(fā)出一種基于開放式控制標(biāo)準(zhǔn)、具備完善通訊聯(lián)網(wǎng)能力的嵌入式云測試系統(tǒng),應(yīng)用于油井動態(tài)液面測量中。云計算平臺采用亞馬遜公司的開源項目Eucalyptus(桉樹)云,實現(xiàn)了云測試監(jiān)控中心的功能?,F(xiàn)場嵌入式測控服務(wù)器的終端節(jié)點作為云測試平臺中的NC節(jié)點。現(xiàn)場測控服務(wù)器的網(wǎng)絡(luò)接口采用無線WiFi技術(shù)或TCP/IP技術(shù)可與Internet/Intranet無縫集成,達(dá)到了“任何時間、任何地點”的測試系統(tǒng)。

其在嵌入式Linux系統(tǒng)的支撐下,通過移植、虛擬機,實現(xiàn)了測試設(shè)備的虛擬化,測控節(jié)點和測控服務(wù)器之間采用通信協(xié)議。系統(tǒng)實現(xiàn)了實時測試和遠(yuǎn)程實時測控的功能,能有效地提高采油井的測試效率,節(jié)省人力物力財力,更節(jié)省了寶貴的時間。

1 系統(tǒng)體系結(jié)構(gòu)

本文設(shè)計的嵌入式云測試系統(tǒng)是由云測試監(jiān)控中心和現(xiàn)場測控兩部分構(gòu)成,現(xiàn)場測控設(shè)備由嵌入式測控節(jié)點與嵌入式云服務(wù)器構(gòu)成。測控的總體結(jié)構(gòu)如圖1所示。

基于嵌入式云技術(shù)的油井液位遠(yuǎn)程測試系統(tǒng)

本文基于亞馬遜公司的Eucalyptus(桉樹)云平臺實現(xiàn)了云測試監(jiān)控中心的功能。Eucalyptus是用于完成對各種虛擬設(shè)備、虛擬機實例的全局性監(jiān)控,對整個集群的計算資源、存儲資源、網(wǎng)絡(luò)資源進(jìn)行動態(tài)配置。在云測試監(jiān)控中心,當(dāng)有遠(yuǎn)程客戶端的請求命令時,其可以為應(yīng)用對象提供訪問服務(wù),實現(xiàn)有效的遠(yuǎn)程控制與管理。網(wǎng)絡(luò)化測控服務(wù)器作為云測試平臺中重要的NC節(jié)點。其中,現(xiàn)場嵌入式測控節(jié)點完成數(shù)據(jù)采集和控制開關(guān)等工作;對于現(xiàn)場嵌入式測控服務(wù)器,實現(xiàn)設(shè)備的虛擬化,為遠(yuǎn)程使用現(xiàn)場設(shè)備提供條件。

2 嵌入式測控服務(wù)器和測控節(jié)點硬件結(jié)構(gòu)

現(xiàn)場嵌入式測控服務(wù)器和測控節(jié)點的系統(tǒng)硬件按功能主要分為:核心控制模塊、網(wǎng)絡(luò)通信模塊、數(shù)據(jù)分析及處理模塊和數(shù)據(jù)采集、繼電器控制模塊等。硬件結(jié)構(gòu)分別如圖2、圖3所示。

基于嵌入式云技術(shù)的油井液位遠(yuǎn)程測試系統(tǒng)
基于嵌入式云技術(shù)的油井液位遠(yuǎn)程測試系統(tǒng)

1)核心控制部分。以三星公司生產(chǎn)的S3C244OA作為主控芯片,其采用ARM920T內(nèi)核。以ARM Cortex—M3內(nèi)核的STM32增強型系列芯片STM 32F103VET6微處理器。

2)信號調(diào)理電路。主要是對微音器采集到的聲音信號進(jìn)行調(diào)理,而設(shè)計的調(diào)理電路。其目的就是將聲音信號模擬量經(jīng)過簡單的信號調(diào)理送入到16位高分辨率的4路模擬量串行輸入A/D轉(zhuǎn)換器件ADS8341,將轉(zhuǎn)換之后的數(shù)字量送入主控制器。

3)網(wǎng)絡(luò)部分。包括以太網(wǎng)接口及WIFI網(wǎng)絡(luò)模塊。外接的以太網(wǎng)模塊采用的是DM9000E 100M網(wǎng)絡(luò)傳輸模塊;WIFI網(wǎng)絡(luò)模塊采用的是基于SPI接口marvell 88w8686 wifi網(wǎng)絡(luò)傳輸模塊;通過其中任何一個模塊都可以建立嵌入式測控服務(wù)器與該云測試系統(tǒng)網(wǎng)絡(luò)之間的數(shù)據(jù)通信。

4)外圍接口電路。包括:電源電路、時鐘電路、復(fù)位電路、JTAG接口電路、NandFlash/NorFlash選擇電路、串口電路、以太網(wǎng)接口。

現(xiàn)場測控完成了對聲音和壓力信號的數(shù)據(jù)采集、信號調(diào)理和繼電器等控制工作。聲音信號、壓力信號采集模塊與繼電器驅(qū)動模塊是實現(xiàn)測控的基本模塊。串口RS485模塊是測控節(jié)點與嵌入式測控服務(wù)器實現(xiàn)交互的主要通信接口。

3 軟件設(shè)計

本文采用的是嵌入式。Bootloader移植的是U-boot-1.1.6.tar.gz,Linux內(nèi)核版本為2.6.25.8.。

3.1 虛擬化技術(shù)

3.1.1 虛擬機技術(shù)

KVM(Kernel-based Virtual Machine)是一種基于Linux內(nèi)核的虛擬機,它是一種全新的開源的虛擬機技術(shù)。在KVM模型中,每一個虛擬機都是一個由Linux調(diào)度程序管理的標(biāo)準(zhǔn)進(jìn)程。一個普通的Linux進(jìn)程有兩種運行模式:內(nèi)核和用戶。而KVM增加了第3種模式:客戶模式(有自己的內(nèi)核和用戶模式。)KVM由2個部分組成:一個是管理虛擬硬件的設(shè)備驅(qū)動,該驅(qū)動使用字符串設(shè)備/dev/kvm做為管理接口;另一個是模擬硬件的用戶空間組件,這是一個需要做修改的qemu進(jìn)程。

3.1.2 移植KVM到ARM架構(gòu)平臺

本文采用KVM虛擬化方案,來實現(xiàn)在ARM處理器硬件架構(gòu)平臺上的虛擬化,即設(shè)備的虛擬化,為遠(yuǎn)程使用現(xiàn)場設(shè)備提供條件。在KVM中,通過打開設(shè)備節(jié)點“/dev/kvm”就可以創(chuàng)建一個虛擬機。這里需要對載有KVM模塊的Linux內(nèi)核進(jìn)行修改,使之能夠支持ARM架構(gòu)。盡管KVM提供了可以被所有用戶空間仿真器使用的通用接口,然而是唯一的可以執(zhí)行這些數(shù)據(jù)的工具。

3.1.3 編譯QEMU

QEMU擁有支持ARM主機與客戶環(huán)境的仿真技術(shù),在QEMU仿真環(huán)境下忽略了試圖使KVM有效的操作,因此需要對QEMU進(jìn)行修改以使KVM能夠運行。QEMU是一個用戶級與系統(tǒng)級的仿真器,它在KVM上下文環(huán)境中被當(dāng)作用戶空間的應(yīng)用程序運行,它與用戶操作系統(tǒng)相互配合,向內(nèi)核模塊發(fā)送消息并對I/O和其它設(shè)備進(jìn)行仿真,通過編輯QEMU的配置和運行時的參數(shù)可以使QEMU能夠支持KVM。在交叉編譯時,除了需要關(guān)注交叉編譯的設(shè)置外,還需要修改內(nèi)核和設(shè)置KVM參數(shù)。

3.1.4 創(chuàng)建并運行虛擬機

Eucalyptus實現(xiàn)基本的簡單的虛擬機管理功能,它的主要目標(biāo)是將基本的虛擬化管理API化。簡單易用,擴展方便。用戶可以通過euca 200ls工具制作鏡像,上傳之后可以通過命令行運行實例。查看實例運行情況,停止,重啟自己的實例。也可以通過web界面查看已上傳鏡像,并禁止自己上傳的鏡像,修改自己的資料。也可以作為用戶存儲文件和數(shù)據(jù)的地方。創(chuàng)建的鏡像和運行的虛擬機,如圖4所示。

基于嵌入式云技術(shù)的油井液位遠(yuǎn)程測試系統(tǒng)

圖4中的方框部分顯示出,虛擬機的內(nèi)核編號、鏡像編號、IP地址和運行實例,并且成功運行登入進(jìn)虛擬機實例。

3.2 數(shù)據(jù)采集與測深計算

數(shù)據(jù)采集是測控系統(tǒng)的基礎(chǔ),是由以STM32F103微處理器為核心的現(xiàn)場測控節(jié)點完成,將采集到的聲音信號發(fā)送給現(xiàn)場嵌入式測控服務(wù)器,其采用ModBus協(xié)議進(jìn)行通信。云測試監(jiān)控中心將聲音信號數(shù)據(jù)通過去野值、接箍波提取、液面回波提取、FFT變換等一系列程序處理后,最終得到油井液位的深度。

3.3 ModBus通訊協(xié)議和協(xié)議棧移植

本文選用完全符合工業(yè)標(biāo)準(zhǔn)的通訊協(xié)議。Mod bus通訊協(xié)議,讀保持寄存器(0x03)、讀輸入寄存器(0x04)等15個常用功能碼,完全能滿足工業(yè)應(yīng)用要求。

Modbus協(xié)議支持Modbus RTU/ASCII/TCP 3種傳輸方式,其移植可以基于串口或網(wǎng)口來完成,從而實現(xiàn)MobusRTU/ASCII或Mobus TCP幀的處理,這點與協(xié)議棧具體應(yīng)用場景、使用的處理器平臺、硬件接口密切相關(guān)。本文采用ModBus RTU傳輸方式進(jìn)行現(xiàn)場嵌入式測控設(shè)備之間的通訊。ModBus主機協(xié)議中Commun層和從機協(xié)議中Port層,都是將Modbus的物理層鏈路與具體平臺的硬件驅(qū)動聯(lián)系起來,該層本質(zhì)上完成不同鏈路上數(shù)據(jù)幀的接收工作。Modbus中的各個功能碼操作函數(shù)都是平臺無關(guān)的,應(yīng)用程序通過解析數(shù)據(jù)幀中的功能碼查找函數(shù)指針,并最終執(zhí)行功能碼函數(shù)。Mbm.c和mb.c文件為用戶應(yīng)用程序提供了調(diào)用接口,對Modbus不同的傳輸方式(RTU、ASCII、TCP)進(jìn)行了統(tǒng)一的管理。

Modbus RTU屬于Modbus數(shù)據(jù)幀在串行鏈路上的傳輸模式?;赗TU的Modbus主要移植步驟如下:

1)232/485接口驅(qū)動。在主機協(xié)議的Commun層和從機協(xié)議port層portserial.c中完成串口相關(guān)函數(shù)的編寫,包括串口初始化、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收、中斷處理等。

2)定時器功能。在主機協(xié)議的mbm.c中,采用線程進(jìn)行定時器;在從機協(xié)議的port層porttimer.c中完成定時器相關(guān)函數(shù)的編寫,包括定時器的初始化、定時器的使能與禁止、超時中斷函數(shù)等。

現(xiàn)場測控系統(tǒng)采用Modbus RTU數(shù)據(jù)幀進(jìn)行傳輸,設(shè)計中利用操作系統(tǒng)提供的多任務(wù)環(huán)境,創(chuàng)建Modbus RTU服務(wù)任務(wù)來管理和響應(yīng)數(shù)據(jù)幀。

根據(jù)實際需要,用戶可以刪減不必要的功能碼或增加自定義功能碼,協(xié)議的可裁剪性與擴展性非常好。本設(shè)計中使用到的功能碼與Modbus地址間的對應(yīng)關(guān)系如表1所示。在程序中可以根據(jù)表1所對應(yīng)的功能碼來讀寫數(shù)據(jù)。

基于嵌入式云技術(shù)的油井液位遠(yuǎn)程測試系統(tǒng)

4 系統(tǒng)測試

采用本文提出的方法,設(shè)計出的這套云測試系統(tǒng)。在華北油田進(jìn)行了30多口井次試驗,其中包括多種井況,得到聲速、時間和深度,聲速的范圍335~343 m/s,深度的誤差范圍1.0~3.0 m,通過瀏覽器遠(yuǎn)程訪問本節(jié)點,啟動數(shù)據(jù)采集,得到的結(jié)果如表2所示。

基于嵌入式云技術(shù)的油井液位遠(yuǎn)程測試系統(tǒng)

現(xiàn)場試驗結(jié)果表明,通過得到的聲音信號波形與油井動態(tài)液面的深度測量值,其誤差較小,滿足實際應(yīng)用需求。

5 結(jié)束語

文中基于云測試技術(shù),設(shè)計實現(xiàn)了一套網(wǎng)絡(luò)化嵌入式云測控系統(tǒng),在開源Linux系統(tǒng)的支撐下,通過網(wǎng)絡(luò)化傳感器和虛擬化等技術(shù)實現(xiàn)了遠(yuǎn)程數(shù)據(jù)的采集、實時測試和遠(yuǎn)程實時監(jiān)控;對采集到的聲音信號進(jìn)行濾波、測深算法很好的消除了由現(xiàn)場惡劣環(huán)境帶來的噪聲并得到了相應(yīng)的接箍波和液面回波的波形曲線,在華北油田試驗結(jié)果得到的波形也比較理想。在現(xiàn)場網(wǎng)絡(luò)化嵌入式測控系統(tǒng)中,系統(tǒng)提供了多接口,實現(xiàn)了智能測控節(jié)點的遠(yuǎn)程維護。以S3C2440A為核心的主控制器,作為現(xiàn)場嵌入式測控服務(wù)器,通過RS485硬件接口,采用ModBus通訊協(xié)議,分別監(jiān)控多個以STM32F103為核心主控制器的現(xiàn)場嵌入式測控節(jié)點;在的支撐下,通過KVM,QEMU完成了設(shè)備的虛擬化,為遠(yuǎn)程使用現(xiàn)場設(shè)備提供條件;在Linux和μC/OS-II操作系統(tǒng)上,分別移植符合工業(yè)標(biāo)準(zhǔn)的Modbus主機協(xié)議棧和從機協(xié)議棧,并基于多線程、多任務(wù)環(huán)境實現(xiàn)了對Modbus RTU數(shù)據(jù)幀的響應(yīng)和處理,實現(xiàn)系統(tǒng)終端設(shè)備的多通道、智能化、網(wǎng)絡(luò)化控制。

實際運行結(jié)果表明,該智能云測控節(jié)點穩(wěn)定可靠,性價比高,通用性與適應(yīng)性強。該嵌入式云測試系統(tǒng)及相關(guān)技術(shù)還可適用于其他網(wǎng)絡(luò)化測控系統(tǒng),在云測試發(fā)展的各個熱點領(lǐng)域有著廣泛的應(yīng)用前景。



評論


相關(guān)推薦

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

關(guān)閉