a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 基于嵌入式云技術的油井液位遠程測試系統

基于嵌入式云技術的油井液位遠程測試系統

作者: 時間:2016-10-18 來源:網絡 收藏

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

本文引用地址:http://www.j9360.com/article/201610/308982.htm

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

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

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

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

1 系統體系結構

本文設計的嵌入式云測試系統是由云測試監控中心和現場測控兩部分構成,現場測控設備由嵌入式測控節點與嵌入式云服務器構成。測控的總體結構如圖1所示。

基于嵌入式云技術的油井液位遠程測試系統

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

2 嵌入式測控服務器和測控節點硬件結構

現場嵌入式測控服務器和測控節點的系統硬件按功能主要分為:核心控制模塊、網絡通信模塊、數據分析及處理模塊和數據采集、繼電器控制模塊等。硬件結構分別如圖2、圖3所示。

基于嵌入式云技術的油井液位遠程測試系統
基于嵌入式云技術的油井液位遠程測試系統

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

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

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

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

現場測控完成了對聲音和壓力信號的數據采集、信號調理和繼電器等控制工作。聲音信號、壓力信號采集模塊與繼電器驅動模塊是實現測控的基本模塊。串口RS485模塊是測控節點與嵌入式測控服務器實現交互的主要通信接口。

3 軟件設計

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

3.1 虛擬化技術

3.1.1 虛擬機技術

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

3.1.2 移植KVM到ARM架構平臺

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

3.1.3 編譯QEMU

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

3.1.4 創建并運行虛擬機

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

基于嵌入式云技術的油井液位遠程測試系統

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

3.2 數據采集與測深計算

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

3.3 ModBus通訊協議和協議棧移植

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

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

Modbus RTU屬于Modbus數據幀在串行鏈路上的傳輸模式。基于RTU的Modbus主要移植步驟如下:

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

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

現場測控系統采用Modbus RTU數據幀進行傳輸,設計中利用操作系統提供的多任務環境,創建Modbus RTU服務任務來管理和響應數據幀。

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

基于嵌入式云技術的油井液位遠程測試系統

4 系統測試

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

基于嵌入式云技術的油井液位遠程測試系統

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

5 結束語

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

實際運行結果表明,該智能云測控節點穩定可靠,性價比高,通用性與適應性強。該嵌入式云測試系統及相關技術還可適用于其他網絡化測控系統,在云測試發展的各個熱點領域有著廣泛的應用前景。



評論


相關推薦

技術專區

關閉