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