王振軍(大慶油田天然氣分公司)
油田井場監(jiān)測中ZigBee節(jié)能技術(shù)研究
王振軍(大慶油田天然氣分公司)
數(shù)字油田是如今石油石化企業(yè)的發(fā)展方向,以油田井場監(jiān)測中ZigBee技術(shù)的應(yīng)用為背景,學(xué)習(xí)ZigBee協(xié)議,深入研究ZigBee技術(shù)中的路由算法,包括Cluster-Tree、AODV、AODVj r和ZBR路由算法。ZigBee技術(shù)受現(xiàn)有協(xié)議的限制,會產(chǎn)生網(wǎng)絡(luò)能量消耗過快和節(jié)點中斷等問題,修改ZigBee協(xié)議的網(wǎng)絡(luò)層并對現(xiàn)有路由協(xié)議進(jìn)行改進(jìn),通過搭建NS2仿真實驗平臺,將改進(jìn)后的ZBR路由算法與原有ZBR路由算法在分組遞交率方面進(jìn)行性能對比分析。可以達(dá)到節(jié)能減耗的目的。
數(shù)字油田;ZigBee路由算法;節(jié)能;分簇
DOI:10.3969/j.issn.2095-1493.2017.07.004
隨著社會經(jīng)濟(jì)的全球化,全球?qū)τ谑偷男枨罅吭黾?,石油工業(yè)是國家的經(jīng)濟(jì)命脈,更應(yīng)該引進(jìn)各種先進(jìn)的技術(shù)來提高生產(chǎn)效率使利益最大化。井場監(jiān)測主要目的就是將傳感器監(jiān)測所得的數(shù)據(jù)傳輸給控制間,但是大部分工廠還是采用布線的方式,這樣不僅影響美觀,還可能造成生產(chǎn)安全問題。如果我們可以將無線通訊技術(shù)運用到實際生產(chǎn)中,利用其無需提前架設(shè)線路、覆蓋面積更廣、成本低,還可以隨時隨地為客戶提供信息等優(yōu)點,這樣不僅可以減少布線所造成的資源浪費,還保證了工業(yè)現(xiàn)場的安全。ZigBee作為一種新型的短距離無線通訊技術(shù)具有傳輸功耗低、使用成本低、擴(kuò)展性高等優(yōu)點,通過改進(jìn)ZigBee協(xié)議,使得井場監(jiān)測達(dá)到節(jié)能的目的[1]。
如果有多處井場需要監(jiān)控時,此時會有多個節(jié)點加入到網(wǎng)絡(luò)中,AODVjr算法在路由發(fā)現(xiàn)的過程中會出現(xiàn)大量的RREQ分組,最終形成洪泛,導(dǎo)致網(wǎng)絡(luò)資源的浪費,整個監(jiān)控過程中能量損耗過大。
RN-節(jié)點之間數(shù)據(jù)包只能通過樹形的拓?fù)浣Y(jié)構(gòu)傳輸。如果需要傳輸?shù)谋O(jiān)測結(jié)果過多,節(jié)點很容易由于能量不足而失效,此時傳輸?shù)臄?shù)據(jù)就有可能丟失,它的后代節(jié)點與網(wǎng)絡(luò)中斷,此時網(wǎng)絡(luò)的連通性會變差,最終使得數(shù)據(jù)不能傳輸,能量消耗增加。
ZBR算法將AODVjr和Cluster-Tree算法結(jié)合使用,但是并沒有提供一種完整的機制來調(diào)節(jié)這兩種算法,這樣不僅使它們沒有更好地發(fā)揮優(yōu)點,還使得整個網(wǎng)絡(luò)的消耗更大。
針對以上問題,對原有ZBR算法進(jìn)行改進(jìn),通過改進(jìn)節(jié)點鄰居列表,利用鄰居列表來進(jìn)行路由,限制樹形拓?fù)浣Y(jié)構(gòu)的最大跳數(shù),使得節(jié)點能量消耗更加均衡,實現(xiàn)優(yōu)化網(wǎng)絡(luò)能量消耗,達(dá)到井場監(jiān)測節(jié)能的目的。
2.1 Cluster-Tree算法
等級樹路由算法也被稱為Cluster-Tree路由算法。在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,數(shù)據(jù)以樹型的方式從樹干傳輸?shù)綐渲蜆淙~,節(jié)點之間看作是父子關(guān)系。當(dāng)有不在網(wǎng)絡(luò)中的節(jié)點加入的時候,采用如下方式進(jìn)行地址分配[2]。
假設(shè)當(dāng)前節(jié)點地址為A,網(wǎng)絡(luò)深度為d,目的地址為D,當(dāng)D和A滿足公式(1)時,該節(jié)點是不具有路由能力的RFD節(jié)點,無法為新加入的節(jié)點分配地址,所以要將數(shù)據(jù)包發(fā)送給它的父節(jié)點。
當(dāng)D和A滿足公式(2)關(guān)系時,將數(shù)據(jù)包向下發(fā)送給下一跳節(jié)點。
該子節(jié)點的地址N為
與其它復(fù)雜的算法相比,等級樹路由算法不需要建立路由表,維護(hù)路由,只需要當(dāng)有數(shù)據(jù)要傳輸時計算下一跳的地址,這種方法在網(wǎng)絡(luò)中節(jié)點數(shù)目過多時不適合使用。
2.2 AODVj r路由算法
AODVjr算法通過三種控制分組路由包實現(xiàn)網(wǎng)絡(luò)路由的發(fā)現(xiàn)和維護(hù),分別為RREQ分組、RREP分組、RERR分組。這3個分組分別負(fù)責(zé)路由請求的傳遞,收到路由后的信息回復(fù)和鏈路錯誤信息的回復(fù)[3]。
AODVjr路由算法比AODV路由算法實用性更高,速度更快,數(shù)據(jù)傳輸更加穩(wěn)定。兩者之間的區(qū)別如下:
1)簡化路由發(fā)現(xiàn)過程。目的節(jié)點序列號在改進(jìn)后的算法中被刪除了,減少了網(wǎng)絡(luò)中用來存儲序列號所產(chǎn)生的能量消耗,這樣做的原因是新算法規(guī)定只有目的節(jié)點才有資格在收到RREQ分組后回復(fù)RREP分組。
2)精簡路由維護(hù)過程。在AODVjr算法中,源節(jié)點收到有鏈路斷開的信息后會由上級節(jié)點首先進(jìn)行本地修復(fù),如果無法修復(fù)就會放棄該節(jié)點,重新尋找路徑。這樣做RERR分組中只需要保存源節(jié)點的地址信息,并且減少了不必要的RERR分組的發(fā)送。
2.3 ZBR路由算法
Cluster-Tree算法并不能開啟路由發(fā)現(xiàn),無法獲得最短路徑,這會造成整個網(wǎng)絡(luò)傳輸速率減慢,而且傳輸路徑長也會導(dǎo)致能量的消耗,AODVjr路由算法雖然能通過廣播RREQ分組的方式找到最短最佳路由路徑,但是會產(chǎn)生大量RREQ分組是多余的,同時還消耗了大量的有價值能量,ZBR混合路由算法就是結(jié)合兩種算法的優(yōu)點而實現(xiàn)的。
在ZBR路由算法中(圖1)將節(jié)點分成RN+和RN-兩種,其中RN+節(jié)點可以進(jìn)行路由發(fā)現(xiàn),找到數(shù)據(jù)傳輸最佳路徑,也就是啟動AODVjr路由算法,這樣的好處是彌補了當(dāng)網(wǎng)絡(luò)規(guī)模過大時,隨著跳數(shù)的增加造成的延時過大和能量消耗過多的問題[4]。RN-節(jié)點則采用樹路由算法,不需要儲存路由表,解決了AODVjr路由算法在路由發(fā)現(xiàn)過程中由于大量轉(zhuǎn)發(fā)RREQ分組而造成的冗余問題。
圖1 ZBR算法基本路由流程
3.1 分簇思想的提出
ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和組網(wǎng)完成后,就需要通過分簇的方式將已經(jīng)組建好的ZigBee網(wǎng)絡(luò)進(jìn)行分割,以達(dá)到節(jié)能的目的,分簇步驟如下:
1)建立簇首節(jié)點列表SCH以及簇成員列表M(CHi)并進(jìn)行初始化,中心協(xié)調(diào)器作為第一個簇的簇首,將短地址0X0000加入到簇首節(jié)點列表中且設(shè)為該簇的簇標(biāo)CL。
2)更新簇首節(jié)點列表以及簇成員列表,網(wǎng)絡(luò)中的節(jié)點會收到由中心協(xié)調(diào)器發(fā)送的消息,用來判斷當(dāng)前節(jié)點是否可以成為簇首。
3)收到消息的節(jié)點首先要判斷自身節(jié)點的功能,若為終端節(jié)點則加入到其父節(jié)點所在的簇中;若為路由節(jié)點則需要接收并判斷自身是否具有成為簇首節(jié)點的條件。查看鄰居列表獲取鄰居節(jié)點集合以及網(wǎng)絡(luò)深度;并根據(jù)該路由節(jié)點的剩余能量與全網(wǎng)中所有終端節(jié)點的剩余能量的平均值的比值計算能量水平值,如果大于1則說明該節(jié)點的能量要大于其他節(jié)點,該節(jié)點就具備成為簇首的基本條件。如果小于1則不足以擔(dān)任簇首,需要加入其父節(jié)點所在簇中。
4)一段時間后,中心協(xié)調(diào)器會根據(jù)申請記錄中節(jié)點的鄰居節(jié)點的個數(shù)、擔(dān)當(dāng)簇首的時間、節(jié)點的能量水平等計算這些記錄的節(jié)點權(quán)值大小,如果節(jié)點權(quán)值小則加入簇首節(jié)點表中并更新。
5)新的簇首會向周圍發(fā)送廣播報文,還沒有分配簇的節(jié)點接收報文,并且加入到簇首所在的簇內(nèi)。
6)簇首將新加入的簇成員節(jié)點更新到簇成員列表中,并同時獲取簇首到該節(jié)點的路由,簇成員節(jié)點則需要保存簇首的信息。
3.2 鄰居列表的設(shè)計以及最大跳數(shù)的限制
1)添加鄰居列表。2個節(jié)點構(gòu)成鄰居節(jié)點,那么這它們在一跳范圍內(nèi)可以直接通信,據(jù)此可以在具有路由能力的設(shè)備中添加鄰居節(jié)點的地址信息。包括主要以下幾個字段:
PAN ID:鄰居節(jié)點的16位標(biāo)識符;
Network Address:鄰居節(jié)點的16位網(wǎng)絡(luò)地址字段,有效區(qū)間為0x0000~0x3FFF;
Device Type:鄰居節(jié)點的設(shè)備類型,是否為具有路由功能的鄰居節(jié)點,即判斷該節(jié)點的設(shè)備類型是FFD還是RFD;
Extended Address:拓展地址為64位長地址;
Relationship:鄰居節(jié)點是該節(jié)點的父節(jié)點則為0x00;子節(jié)點0x01;
Neibour Power:鄰居節(jié)點的剩余能量。2)最大跳數(shù)的限制。Cluster-tree路由算法的最大跳數(shù)一般是網(wǎng)絡(luò)深度的兩倍,為了提高分組數(shù)據(jù)的傳輸效率以及節(jié)能減耗,可以限制最大跳數(shù):令Dsource為發(fā)送節(jié)點的深度,Daim為接收節(jié)點的深度,此時最大跳數(shù)Dmax計算公式為
若子節(jié)點不是源節(jié)點的后代節(jié)點,二者共有的父節(jié)點深度為Df,則最大跳數(shù)計算公式為
對ZigBee網(wǎng)絡(luò)路由算法進(jìn)行仿真實驗時,通過定義網(wǎng)絡(luò)剩余能量來判斷改進(jìn)算法的性能。
定義:令網(wǎng)絡(luò)剩余能量為網(wǎng)絡(luò)中所有節(jié)點的剩余能量的總和。通過記錄網(wǎng)絡(luò)剩余能量隨著時間的變化,可以檢測網(wǎng)絡(luò)能量的消耗情況。計算公式如下:
網(wǎng)絡(luò)剩余能量=各個節(jié)點的剩余能量(6)
表1和表2分別記錄了數(shù)據(jù)流為5個和數(shù)據(jù)流為10個時,在網(wǎng)絡(luò)中使用ZBR算法和改進(jìn)的ZBRFNT算法時,得到的網(wǎng)絡(luò)剩余能量情況,由數(shù)據(jù)可以知道改進(jìn)算法可以減少能量的消耗。
表1 數(shù)據(jù)流為5個時網(wǎng)絡(luò)剩余能量
表2 數(shù)據(jù)流為10個時網(wǎng)絡(luò)剩余能量
圖2 數(shù)據(jù)流為5個時網(wǎng)絡(luò)剩余能量
圖3 數(shù)據(jù)流為10個時網(wǎng)絡(luò)剩余能量
圖2和圖3分別為數(shù)據(jù)流為5個和10個時,隨著時間增加,網(wǎng)絡(luò)剩余能量曲線。由圖可知隨著數(shù)據(jù)流的增加,分組數(shù)據(jù)和控制分組的數(shù)量也隨之增多,網(wǎng)絡(luò)總體剩余能量減少,能量衰減程度相對增加。但是在各時刻相比于傳統(tǒng)的ZBR算法,改進(jìn)后的ZBR_FNT算法網(wǎng)絡(luò)整體能耗更少。由此可見改進(jìn)后的算法可以有效的在井場監(jiān)測中節(jié)約能量。
基于ZigBee的油田井場監(jiān)控系統(tǒng)網(wǎng)絡(luò)是由很多個節(jié)點組成,包括協(xié)調(diào)器和其他通信子節(jié)點,它們組成的網(wǎng)絡(luò)可以實現(xiàn)油田井場的信息采集和設(shè)備控制等,系統(tǒng)的硬件實物圖如圖4所示。
圖4 系統(tǒng)硬件實物圖
在油田井場監(jiān)測中,ZigBee技術(shù)受現(xiàn)有協(xié)議的限制,會產(chǎn)生網(wǎng)絡(luò)能量消耗過快和節(jié)點中斷等問題,因此,為了解決這些問題實現(xiàn)井場監(jiān)測過程中的節(jié)能,對網(wǎng)絡(luò)實行邏輯分簇,并通過添加鄰居列表、限制最大跳數(shù)等方式,在ZBR路由算法的基礎(chǔ)上進(jìn)行改進(jìn),最終通過NS2軟件實驗結(jié)果進(jìn)行驗證,實驗結(jié)果表明改進(jìn)后的算法可以達(dá)到井場監(jiān)測節(jié)能的目的。
[1]劉新,吳秋峰.無線個域網(wǎng)技術(shù)及相關(guān)協(xié)議[J].計算機工程,2006,32(22):102-110.
[2]符修文,李文峰.基于局限世界的無線傳感器網(wǎng)絡(luò)分簇演化模型[J].通信學(xué)報,2015,36(9):204-214.
[3]錢志鴻,王義君.面向物聯(lián)網(wǎng)的無線傳感器網(wǎng)絡(luò)綜述[J].電子與信息學(xué)報,2013,35(1):215-227.
[4]李秉毅,梁柯.基于ZigBee無線傳感器網(wǎng)絡(luò)的通信標(biāo)識管理終端通信研究[J].計算機科學(xué),2015,21(8):41-43.
(編輯 鞏亞清)
高溫酷暑天應(yīng)急演練忙
6月15日,中國石化北京石油聯(lián)合當(dāng)?shù)厣a(chǎn)企業(yè)和消防人員在大興區(qū)南六環(huán)新立西橋東側(cè)進(jìn)行“輸油管道油品泄漏”應(yīng)急預(yù)案大型演練。當(dāng)日,北京氣溫飆至38℃。演練模擬巡線人員在巡視到新立橋東時發(fā)現(xiàn)輸油管道油品泄露,當(dāng)即向生產(chǎn)調(diào)度進(jìn)行匯報,生產(chǎn)指揮中心立即啟動搶險預(yù)案,組織工程搶險人員進(jìn)入現(xiàn)場,按搶險方案進(jìn)行堵漏、維修破損管道。完成修復(fù)后,報告指揮部,整個演練用時40分鐘。整個演練現(xiàn)場,應(yīng)急搶險隊伍人員反應(yīng)靈敏、行動迅速,實戰(zhàn)演練平穩(wěn)有序、安全有效,達(dá)到了預(yù)期效果。
胡慶明
2017-06-22
王振軍,2014年畢業(yè)于佳木斯大學(xué)(計算機應(yīng)用專業(yè)),從事油田生產(chǎn)技術(shù)管理工作,E-mail:wangzhenjun1@petrochina.com. cn,地址:黑龍江省大慶市紅崗區(qū)油氣加工一大隊,163511。