新聞中心

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

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

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

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

本文引用地址:http://www.butianyuan.cn/article/201610/308982.htm

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

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

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

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

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

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

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

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

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

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

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

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

2)信號調(diào)理電路。主要是對微音器采集到的聲音信號進行調(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ò)傳輸模塊;通過其中任何一個模塊都可以建立嵌入式測控服務器與該云測試系統(tǒng)網(wǎng)絡(luò)之間的數(shù)據(jù)通信。

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

現(xiàn)場測控完成了對聲音和壓力信號的數(shù)據(jù)采集、信號調(diào)理和繼電器等控制工作。聲音信號、壓力信號采集模塊與繼電器驅(qū)動模塊是實現(xiàn)測控的基本模塊。串口RS485模塊是測控節(jié)點與嵌入式測控服務器實現(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)度程序管理的標準進程。一個普通的Linux進程有兩種運行模式:內(nèi)核和用戶。而KVM增加了第3種模式:客戶模式(有自己的內(nèi)核和用戶模式。)KVM由2個部分組成:一個是管理虛擬硬件的設(shè)備驅(qū)動,該驅(qū)動使用字符串設(shè)備/dev/kvm做為管理接口;另一個是模擬硬件的用戶空間組件,這是一個需要做修改的qemu進程。

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

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

3.1.3 編譯QEMU

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

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

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

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

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

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

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

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

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

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

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

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

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

4 系統(tǒng)測試

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

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

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

5 結(jié)束語

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

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



評論


相關(guān)推薦

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

關(guān)閉