《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于ARM-Linux的分布式管道泄漏監(jiān)測系統(tǒng)
一種基于ARM-Linux的分布式管道泄漏監(jiān)測系統(tǒng)
來源:電子技術(shù)應(yīng)用2011年第10期
陳世利, 譚皓予, 李 健,王偉魁
(天津大學(xué) 精密測試技術(shù)及儀器國家重點(diǎn)實(shí)驗(yàn)室,天津300072)
摘要: 針對中國輸油管道現(xiàn)場具體情況,設(shè)計(jì)一套基于嵌入式ARM-Linux和LabVIEW的分布式管道泄漏監(jiān)測系統(tǒng),包括遠(yuǎn)程測控終端(RTU)、監(jiān)測PC以及工業(yè)局域網(wǎng)。詳細(xì)論述了系統(tǒng)架構(gòu)、硬件組成、軟件流程等。通過實(shí)際開發(fā)與應(yīng)用,證明此設(shè)計(jì)完全適用于輸油管道特殊現(xiàn)場,不僅降低了成本與功耗,還提高了效率,為長距離石油管道運(yùn)輸系統(tǒng)正常良好地運(yùn)行提供了有力的技術(shù)支持。
中圖分類號(hào): TP368
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)010-0073-04
A distributed pipeline leakage detection system based on ARM-Linux
Chen Shili, Tan Haoyu, Li Jian,Wang Weikui
State Key Laboratory of Measuring Technology and Instruments, Tianjin University, Tianjin 300072, China
Abstract: Focused on recent development of oil pipeline in China, a distributed pipeline leak detection system has been designed based on embedded ARM-Linux and Labview. It contains remote terminal units, monitoring PC and industrial LAN. This article gives many details about system structure, composition of hardware, software processes and so on. By rigorous test and successful application, it is proved that this new design meets the special need of oil pipiline, not only reduces engergy cost and investment expense, but also increases efficiency of the whole system. Futhermore, it provides strong support of the operation of long-distance oil transportation which has strict requirements of stability and sustainability.
Key words : ARM; Linux; LabVIEW; distributed; leakage detection


 輸油管道泄漏監(jiān)測技術(shù)是當(dāng)今石油化工領(lǐng)域科研工作者研究的熱門課題[1]。目前,輸油管道現(xiàn)場應(yīng)用的泄漏監(jiān)測系統(tǒng)存在各種問題。首先,現(xiàn)場很多站點(diǎn)正在使用太陽能閥室設(shè)計(jì),而廣泛使用于全國各地輸油管道監(jiān)測系統(tǒng)中的基于PC的采集傳輸設(shè)備,因其高功耗、高成本的缺點(diǎn)不適合在太陽能閥室中應(yīng)用。其次,許多現(xiàn)場管道為分布式網(wǎng)絡(luò)布局,一個(gè)站點(diǎn)可能安置了多個(gè)測量節(jié)點(diǎn),并且在主站有多個(gè)監(jiān)控PC獲得現(xiàn)場數(shù)據(jù)進(jìn)行監(jiān)測,很多監(jiān)測系統(tǒng)的多通道采集和多用戶處理能力達(dá)不到滿意要求。再次,由于一些現(xiàn)場會(huì)使用電話線撥號(hào)網(wǎng)絡(luò)或微波無線網(wǎng)絡(luò),帶寬和穩(wěn)定性無法達(dá)到正常網(wǎng)絡(luò)環(huán)境要求,很多現(xiàn)場設(shè)備因經(jīng)常出現(xiàn)數(shù)據(jù)丟失的情況而不能對泄漏發(fā)生做出及時(shí)判斷定位。所以針對這種情況需要應(yīng)用一些專門機(jī)制來保證網(wǎng)絡(luò)通信的實(shí)時(shí)性和完整性,為輸油管道泄漏監(jiān)測與定位提供準(zhǔn)確的數(shù)據(jù)來源。為解決上述泄漏監(jiān)測系統(tǒng)的問題,設(shè)計(jì)了一套基于ARM的分布式管道泄漏監(jiān)測系統(tǒng)。
  在當(dāng)今嵌入式應(yīng)用領(lǐng)域,ARM由于性價(jià)比、功耗、可靠性在同類產(chǎn)品中非常突出,尤其是結(jié)合開源的嵌入式Linux操作系統(tǒng)以后,得到了越來越多設(shè)計(jì)者的青睞[2]。在本輸油管道泄漏監(jiān)測設(shè)計(jì)中,遠(yuǎn)程測控終端(RTU)采用ARM和嵌入式Linux的方案,監(jiān)控PC采用LabVIEW圖形編程方案,所有節(jié)點(diǎn)通過基于TCP/IP協(xié)議的局域網(wǎng)進(jìn)行通信。
1 系統(tǒng)概述
 管道泄漏檢測系統(tǒng)采用分布式網(wǎng)絡(luò)結(jié)構(gòu),由多個(gè)主站監(jiān)測PC和多個(gè)從站遠(yuǎn)程測控終端(RTU)組成。圖1是分布式管道泄漏監(jiān)測系統(tǒng)結(jié)構(gòu)示意圖。

    系統(tǒng)基于負(fù)壓波原理,通過安裝在各個(gè)管道測量節(jié)點(diǎn)的壓力變送器測得壓力變化情況,并通過從站RTU將各個(gè)節(jié)點(diǎn)信號(hào)數(shù)據(jù)傳送給主站監(jiān)測PC。當(dāng)管道網(wǎng)絡(luò)中某段發(fā)生破裂時(shí), 主站監(jiān)測PC能立即接收到管段內(nèi)輸送介質(zhì)泄漏瞬間所產(chǎn)生的泄漏信號(hào), 通過比較數(shù)據(jù)庫中的模型來確定管道是否發(fā)生泄漏,利用管道兩端節(jié)點(diǎn)RTU傳送信號(hào)的時(shí)差確定泄漏位置。多個(gè)主站監(jiān)測PC可同時(shí)監(jiān)測整個(gè)管道網(wǎng)絡(luò)的狀態(tài)。
2 系統(tǒng)硬件組成原理
2.1 RTU硬件組成原理

 S3C2440是SAMSUNG公司生產(chǎn)的一款基于ARM920T內(nèi)核的32位RISC微處理器,其具有低功耗、高速的處理計(jì)算能力,負(fù)責(zé)控制整個(gè)RTU。以太網(wǎng)控制器通過隔離器高速、穩(wěn)定地將系統(tǒng)接入局域網(wǎng)。GPS校時(shí)模塊把導(dǎo)航信息通過UART總線傳送至S3C2440芯片,利用秒脈沖中斷實(shí)現(xiàn)RTU自動(dòng)高精度時(shí)鐘同步。由于S3C2440已經(jīng)集成了SD模塊,直接外接SD物理層接口實(shí)現(xiàn)本地?cái)?shù)據(jù)儲(chǔ)存功能。
 根據(jù)系統(tǒng)要求設(shè)計(jì)的RTU系統(tǒng)框圖如圖2所示。

2.2 A/D模塊硬件設(shè)計(jì)
 RTU工作時(shí),首先由信號(hào)調(diào)理單元電路獲取壓力變送器采集到的電流信號(hào),經(jīng)由光電隔離芯片和數(shù)字濾波器得到適合于模/數(shù)轉(zhuǎn)換器(ADC)的輸出。模/數(shù)轉(zhuǎn)換器(ADC)采用一款內(nèi)置序列器的4通道、200 kS/s、12 bit AD7923芯片。AD7923芯片由AD780芯片提供2.5 V參考電壓。該A/D模塊通過SPI總線將轉(zhuǎn)換后的數(shù)字信號(hào)傳送給ARM核心控制模塊進(jìn)一步處理。A/D模塊接口電路如圖3所示。

 

 

3 系統(tǒng)軟件設(shè)計(jì)
 軟件總體設(shè)計(jì)包括RTU服務(wù)器程序、A/D模塊驅(qū)動(dòng)程序和監(jiān)控PC的LabVIEW客戶端程序設(shè)計(jì)。RTU選用代碼開放、快速高效且易于移植的分時(shí)Linux作為嵌入式操作系統(tǒng),在其基礎(chǔ)之上開發(fā)應(yīng)用程序和驅(qū)動(dòng)程序。RTU服務(wù)器程序負(fù)責(zé)從A/D模塊獲得數(shù)據(jù),并通過網(wǎng)絡(luò)接口與監(jiān)控PC進(jìn)行數(shù)據(jù)交互,完成壓力信號(hào)的采集、存儲(chǔ)和通信等一系列功能。其中,A/D模塊的驅(qū)動(dòng)程序作為應(yīng)用程序與AD7923芯片溝通的橋梁,將SPI總線傳來的數(shù)據(jù)通過特定接口傳遞到用戶空間。監(jiān)控PC的LabVIEW客戶端程序接收到RTU服務(wù)器的數(shù)據(jù),在處理和分析判斷后決定是否報(bào)警和泄漏定位。LabVIEW客戶端還需有實(shí)時(shí)顯示和本地存儲(chǔ)功能,以供現(xiàn)場人員在線監(jiān)測和后續(xù)數(shù)據(jù)分析。
3.1 A/D模塊驅(qū)動(dòng)程序
 A/D模塊驅(qū)動(dòng)程序主要實(shí)現(xiàn)配置模塊和接收A/D轉(zhuǎn)換數(shù)據(jù)功能。由于AD7923芯片與S3C2440芯片通過SPI總線通信,實(shí)際相當(dāng)于通過SPI總線接口來間接驅(qū)動(dòng)AD7923芯片。AD7923驅(qū)動(dòng)模塊為字符型設(shè)備,其主要驅(qū)動(dòng)接口函數(shù)如下:
 AD7923_open( ):該函數(shù)對設(shè)備進(jìn)行初始化,是其他接口函數(shù)執(zhí)行的前提。它首先申請I/O內(nèi)存區(qū)域,將S3C2440芯片中SPI總線相關(guān)的寄存器硬件地址映射成Linux內(nèi)核的虛擬地址。映射成功后可以直接訪問虛擬地址讀寫SPI寄存器。然后,它對SPI各個(gè)寄存器進(jìn)行初始化配置。
 AD7923_ioctl( ):用戶空間的應(yīng)用程序通過此函數(shù)配置設(shè)備的功能。函數(shù)的主要工作是解析用戶空間傳過來的配置命令(cmd),并將其轉(zhuǎn)換成符合AD7923芯片控制寄存器格式的2 B配置數(shù)據(jù)。
 AD7923_read( ):該函數(shù)將配置數(shù)據(jù)發(fā)送給AD7923芯片。同時(shí),AD7923芯片將上次發(fā)送配置數(shù)據(jù)后得到的A/D轉(zhuǎn)換結(jié)果傳回給該函數(shù),再通過函數(shù)返回給用戶空間的應(yīng)用程序。
 驅(qū)動(dòng)程序編譯完畢之后,將其動(dòng)態(tài)加載到內(nèi)核之中,并以設(shè)備文件的形式保存。這樣,RTU服務(wù)器程序可以直接通過打開、讀寫設(shè)備文件的方式與A/D模塊進(jìn)行通信。
3.2 RTU軟件設(shè)計(jì)
 應(yīng)用程序總體結(jié)構(gòu)如圖4所示。

 管道泄漏監(jiān)測系統(tǒng)各節(jié)點(diǎn)通過基于TCP/IP協(xié)議的以太網(wǎng)進(jìn)行通信。RTU作為服務(wù)器,需要同時(shí)處理多個(gè)監(jiān)測PC客戶端的請求,所以提前創(chuàng)建線程池為客戶端的登錄作資源預(yù)分配。同時(shí),需要獨(dú)立的線程實(shí)現(xiàn)SD卡存儲(chǔ)與管理、GPS同步校時(shí)等功能。
 在數(shù)據(jù)采集主線程中,系統(tǒng)壓力信號(hào)采樣時(shí)間間隔一般為50 ms,由于聲波在液體中的傳播速度高達(dá)每秒上千米,如果采集時(shí)間間隔精度不夠高,將直接造成泄漏點(diǎn)位置計(jì)算的誤差過大。所以使用捕獲SIGNAL信號(hào)軟中斷的方法,設(shè)置精度為微秒的定時(shí)函數(shù),實(shí)現(xiàn)50 ms精確定時(shí),完全保證定位泄漏點(diǎn)的準(zhǔn)確度。
 為了保證網(wǎng)絡(luò)通信的實(shí)時(shí)性和完整性,同時(shí)也針對分布式網(wǎng)絡(luò)結(jié)構(gòu),RTU使用了打包時(shí)間標(biāo)識(shí)、消費(fèi)者/生產(chǎn)者模型和心搏包等方案。當(dāng)一個(gè)客戶端連接入服務(wù)器時(shí),服務(wù)器獲取客戶端信息并判斷客戶端是否為已注冊客戶端,如果已注冊并且首次連接則為其數(shù)據(jù)緩沖隊(duì)列分配內(nèi)存空間,拒絕未注冊的客戶端。RTU采用消費(fèi)者/生產(chǎn)者模型,將數(shù)據(jù)緩沖區(qū)設(shè)計(jì)為先進(jìn)先出的隊(duì)列,大大提高整個(gè)數(shù)據(jù)通信流程的效率。建立數(shù)據(jù)緩沖隊(duì)列線程作為生產(chǎn)者,已連接成功的客戶端處理線程和SD卡存儲(chǔ)線程作為消費(fèi)者。時(shí)間標(biāo)識(shí)可以使監(jiān)控PC獲得采集數(shù)據(jù)的絕對時(shí)間,對網(wǎng)絡(luò)通信的實(shí)時(shí)性起到重要作用。數(shù)據(jù)采集主線程在中斷20次后得到1 s的采樣數(shù)據(jù),與時(shí)間標(biāo)識(shí)一并打包分別插入生產(chǎn)者線程中的各個(gè)已連接客戶端緩沖隊(duì)列,客戶端處理線程負(fù)責(zé)將緩沖隊(duì)列中的數(shù)據(jù)發(fā)送至各個(gè)客戶端。同時(shí),打包的數(shù)據(jù)也通過SD卡存儲(chǔ)線程寫入SD卡。服務(wù)器生產(chǎn)/消費(fèi)模型圖如圖5所示。

 為保持服務(wù)器與客戶端的實(shí)時(shí)連接性,客戶端需每秒向服務(wù)器發(fā)送心搏包。服務(wù)器收到心搏包后將對應(yīng)的緩沖隊(duì)列中已有全部數(shù)據(jù)發(fā)送給客戶端并清空隊(duì)列。服務(wù)器一旦未收到數(shù)據(jù)而超時(shí),將自動(dòng)關(guān)閉與某個(gè)客戶端的連接,但它不會(huì)釋放生產(chǎn)者線程中對應(yīng)的緩沖隊(duì)列。客戶端可能因?yàn)槟承┊惓G闆r(如設(shè)備掉電、強(qiáng)制退出、網(wǎng)絡(luò)異常或人為誤操作等)暫時(shí)終止傳輸。為保證采集數(shù)據(jù)的完整性,需要在與客戶端被動(dòng)斷開時(shí)仍能把這段時(shí)間所采集的數(shù)據(jù)保存在緩沖隊(duì)列中,待網(wǎng)絡(luò)重新連接成功后將緩沖隊(duì)列中累積的全部數(shù)據(jù)發(fā)送給客戶端。服務(wù)器只有在接收到對方客戶端斷開連接請求時(shí)才會(huì)釋放其緩沖隊(duì)列。
 客戶端在接收到指定時(shí)間的數(shù)據(jù)之后會(huì)進(jìn)行一次完整性檢查,確定這段時(shí)間沒有數(shù)據(jù)丟失。由于網(wǎng)絡(luò)環(huán)境不一定理想以及緩沖隊(duì)列所分配內(nèi)存有限,服務(wù)器不可能完全保證采集數(shù)據(jù)都發(fā)送到客戶端。客戶端檢查到某些段時(shí)間有數(shù)據(jù)丟失,向服務(wù)器申請重傳已丟失的數(shù)據(jù)。服務(wù)器接收到重傳申請,臨時(shí)建立新的線程處理這些申請并重新發(fā)送數(shù)據(jù)到客戶端。
3.3 監(jiān)測PC軟件設(shè)計(jì)
 監(jiān)測PC軟件在LabVIEW平臺(tái)下開發(fā)。監(jiān)測PC的LabVIEW程序框圖如圖6所示。

 為了實(shí)現(xiàn)客戶端數(shù)據(jù)通信的實(shí)時(shí)性和完整性,數(shù)據(jù)通信模塊每秒鐘向服務(wù)器發(fā)送脈搏包用以請求數(shù)據(jù)接收和保持與服務(wù)器實(shí)時(shí)連接,將各個(gè)RTU服務(wù)器發(fā)送的數(shù)據(jù)傳入數(shù)據(jù)處理模塊。數(shù)據(jù)處理模塊檢查到某個(gè)RTU服務(wù)器的數(shù)據(jù)有丟失,發(fā)送時(shí)間標(biāo)識(shí)包請求服務(wù)器重新發(fā)送已丟失的數(shù)據(jù)。實(shí)時(shí)、完整的數(shù)據(jù)傳到壓力分析模塊作數(shù)據(jù)處理,用以判斷管道是否發(fā)生泄露以及泄露的具體位置。
4 管道泄漏監(jiān)測實(shí)驗(yàn)
 為了驗(yàn)證分布式管道泄漏監(jiān)測系統(tǒng)的實(shí)際性能,在新疆塔里木油田東輪線搭建了整個(gè)監(jiān)測系統(tǒng)平臺(tái),組織了放油實(shí)驗(yàn)。主站監(jiān)測PC接收輪西站和東一聯(lián)站RTU傳送的數(shù)據(jù),得出監(jiān)測結(jié)果。輪西站放油前后數(shù)據(jù)如圖7所示,東一聯(lián)站放油前后數(shù)據(jù)如圖8所示。

    由上兩圖得知,放油后,16:59:10,輪西站壓力由0.281 MPa下降到0.276 MPa,16:59:59,東一聯(lián)站由0.307 MPa下降到0.302 MPa。系統(tǒng)結(jié)合這兩個(gè)下降進(jìn)行分析,泄漏發(fā)生在距東一聯(lián)站62.81 km,而實(shí)際放油點(diǎn)在62.64 km處,誤差0.17 km。為保證實(shí)驗(yàn)數(shù)據(jù)準(zhǔn)確性,共做了多次實(shí)驗(yàn)。實(shí)驗(yàn)數(shù)據(jù)如表1,定位結(jié)果均值為63.06 km,最大定位誤差為0.65 km。由實(shí)驗(yàn)結(jié)果可以看出,主站監(jiān)測PC能夠準(zhǔn)確地監(jiān)測管道壓力變化,做出及時(shí)的泄漏預(yù)警與定位。
    本文設(shè)計(jì)了一個(gè)分布式管道泄漏監(jiān)測系統(tǒng),由于遠(yuǎn)程測控終端(RTU)采用了嵌入式ARM-Linux解決方案,其低功耗、低成本等特點(diǎn)非常適用于現(xiàn)場多測量節(jié)點(diǎn)的太陽能閥室設(shè)計(jì)。文中提及的一系列網(wǎng)絡(luò)機(jī)制,保證了信號(hào)采集時(shí)數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和完整性,為避免現(xiàn)場因網(wǎng)絡(luò)不穩(wěn)定和異常造成傳輸誤差提供了有力支持。該系統(tǒng)已經(jīng)在輸油管道現(xiàn)場進(jìn)行了網(wǎng)絡(luò)傳輸和泄漏監(jiān)測實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果充分地證明了分布式管道泄漏監(jiān)測系統(tǒng)的準(zhǔn)確性和可靠性。
參考文獻(xiàn)
[1] 張 宇,陳世利,李 健. 基于動(dòng)態(tài)壓力變送器的輸油管道泄漏檢測與定位系統(tǒng)[J]. 傳感技術(shù)學(xué)報(bào),2009,22(9):1347-1351.
[2] 陳 璞,劉文波.基于ARM和嵌入式Linux的遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計(jì)[J].測控技術(shù), 2007,26(9):54-56.
[3] Li Jian, Zhang Yu, Jin Shijiu.  Pipeline leakage monitor system based on virtual instrument[C]. In: The 2009 IEEE Intl Conf. on Mechatronics and Automation, Changchun, China,2009.
[4] CORBET J, RUBINI A,HARTMAN G K. Linux device driver 3rd[M]. Oreilly & Associates Inc,2005.
[5] 艾 紅,王洪濤.基于ARM的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)[J].電子技術(shù)應(yīng)用,2008,34(9):66-69.
[6]  劉貴杰,王  強(qiáng),梅 寧. 海底油氣管道檢測數(shù)據(jù)采集系統(tǒng)研究 [J].儀器儀表學(xué)報(bào),2006,27(6):1379-1380.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 99久在线| 四虎影视www四虎免费 | 国语视频在线观看免费 | 海草电影网 | 猛男诞生电影免费观看 | 99热国产在线 | 九九九精品视频 | 日韩欧美国产综合 | 欧美精品成人久久网站 | 久久国产精品99久久久久久牛牛 | 国产精品毛片一区 | 汤唯色戒电影在线观看 | 久久这里只有精品免费看青草 | 国产视频精品久久 | 五月天婷婷缴情五月免费观看 | 色综合伊人色综合网站 | 热久久只有精品 | 国产成人aa在线观看视频 | 99在线观看精品 | 欧美精品成人一区二区在线观看 | 色视频播放| 福利视频免费看 | 国产综合视频在线 | 五月婷婷色| 国产免费一区二区三区免费视频 | 国产一在线 | 国产亚洲欧美久久精品 | 国产99免费视频 | 2019天天操天天干天天透 | 欧美性生活网址 | 久久99精品久久久久久国产人妖 | 四虎影院国产 | 国产99精品在线观看 | 97中文字幕在线 | 日产国语一区二区三区在线看 | 久久99精品久久久久久综合 | 丁香婷婷六月天 | 日韩综合网 | a国产| 久久五月视频 | 色吊丝永久性观看网址 |