文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)04-0119-03
0 引言
HART基金會(huì)于2007年6月正式通過了無線HART規(guī)范和通信協(xié)議,,它是一種無線網(wǎng)絡(luò)通信協(xié)議,,是HART現(xiàn)場通信協(xié)議第七版HART 7.0的核心部分,向后兼容現(xiàn)有的HART設(shè)備和應(yīng)用,。
無線HART網(wǎng)絡(luò)具有其他無線傳感器網(wǎng)絡(luò)無法比擬的網(wǎng)絡(luò)傳輸可靠性和網(wǎng)絡(luò)健壯性,,主要通過以下幾點(diǎn)實(shí)現(xiàn):(1)網(wǎng)絡(luò)路由方式,無線HART采用圖(Graph)路由實(shí)現(xiàn)設(shè)備間的路由,,其路由在每一跳間都有冗余路由,,能最大限度地保證設(shè)備之間的安全傳輸;(2)信道跳頻技術(shù),,在跳間傳輸中,,無線HART采用IEEE 802.15.4定義的16個(gè)信道進(jìn)行跳頻通信,以便更好地克服網(wǎng)絡(luò)干擾,;(3)無線HART采用TDMA方式通信,,通過全網(wǎng)絡(luò)時(shí)鐘同步技術(shù),避免沖突,,保證安全傳輸[1],。其中設(shè)備之間通過圖路由傳輸,是保證網(wǎng)絡(luò)高可靠性傳輸?shù)年P(guān)鍵技術(shù),。本文提出一種基于通信鏈路質(zhì)量的圖路由算法,選擇路徑穩(wěn)定度(Path stability)作為通信鏈路質(zhì)量判別機(jī)制,,采用分層算法保證跳數(shù)最少,,通過通信鏈路質(zhì)量判別機(jī)制選取層間的路由。
1 無線HART網(wǎng)絡(luò)及研究現(xiàn)狀
1.1 無線HART網(wǎng)絡(luò)組成
無線HART采用MESH網(wǎng)技術(shù),,整個(gè)網(wǎng)絡(luò)包括現(xiàn)場設(shè)備(Field Device),、適配器(Adapter)、網(wǎng)關(guān)設(shè)備(Gateway Device),、網(wǎng)絡(luò)接入點(diǎn)(AP),、手持設(shè)備(Handheld)和網(wǎng)絡(luò)管理者(Network Manager)。其中現(xiàn)場設(shè)備負(fù)責(zé)采集工業(yè)現(xiàn)場的數(shù)據(jù),,并通過網(wǎng)關(guān)傳送到上位機(jī)控制系統(tǒng),;網(wǎng)關(guān)負(fù)責(zé)不同網(wǎng)絡(luò)之間的數(shù)據(jù)通信,連接無線HART網(wǎng)絡(luò)和工廠自動(dòng)化網(wǎng)絡(luò),;網(wǎng)絡(luò)接入點(diǎn)(AP)負(fù)責(zé)接入無線數(shù)據(jù)到網(wǎng)關(guān),;網(wǎng)絡(luò)管理者負(fù)責(zé)整個(gè)網(wǎng)絡(luò)的管理、路由分配,、資源調(diào)度和網(wǎng)絡(luò)通信參數(shù)的維護(hù),。
1.2 無線HART網(wǎng)絡(luò)的路由技術(shù)及研究現(xiàn)狀
無線HART網(wǎng)絡(luò)協(xié)議中定義了圖路由機(jī)制,圖路由是一種全冗余的路由機(jī)制,路由中的每一跳至少有兩個(gè)路由選擇,。
無線HART網(wǎng)絡(luò)是集中式的MESH網(wǎng)絡(luò),,它的路由是由網(wǎng)絡(luò)管理者計(jì)算的,因此一些傳統(tǒng)的無線傳感器路由算法并不適用,,如ADHOC網(wǎng)絡(luò)的路由相關(guān)算法[2]和分簇算法[3],。無線HART網(wǎng)絡(luò)協(xié)議的發(fā)布時(shí)間較短,其相關(guān)的研究還較少,。劉楊在無線HART網(wǎng)絡(luò)實(shí)現(xiàn)中并沒有實(shí)現(xiàn)圖路由的路由方式,,而是由兩條路由代替[4];文獻(xiàn)[5]提出符合圖路由機(jī)制的算法,,且能夠?qū)崿F(xiàn)最少跳數(shù),,但在選擇路由中沒有考慮通信鏈路的質(zhì)量;黨魁提出一種分層結(jié)構(gòu)的圖路由算法,,在路由選擇中引入通信質(zhì)量判別機(jī)制,,提高了路由的健壯性,但通信鏈路質(zhì)量僅僅考慮了RSSI(Received Signal Strength Indication)因素,,并沒有考慮路徑的穩(wěn)定性,,這可能引起過多的數(shù)據(jù)重傳[6];黃聰提出無線HART圖路由的路由增加和刪除策略,,降低了路由維護(hù)開銷,,但路由選擇時(shí)沒有考慮通信鏈路的質(zhì)量[7]。本文在分層算法的基礎(chǔ)上,,采用路徑穩(wěn)定度作為通信鏈路質(zhì)量判別機(jī)制選擇層間路由,,實(shí)現(xiàn)了無線HART圖路由算法。實(shí)驗(yàn)數(shù)據(jù)表明,,采用路徑穩(wěn)定度作為通信鏈路質(zhì)量判別機(jī)制,,相對于使用RSSI,提高了數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
2 無線HART圖路由算法及實(shí)現(xiàn)
本文的無線HART圖路由算法以分層算法為基礎(chǔ),,引入了鏈路質(zhì)量判別機(jī)制,,根據(jù)路徑穩(wěn)定度分層并選擇相應(yīng)的層間路由。路徑穩(wěn)定度是反映物理層連接質(zhì)量的量度單位,,定義為物理層接收確認(rèn)的包與發(fā)送包的比率,,用百分?jǐn)?shù)表示。在論證算法實(shí)現(xiàn)過程之前,,首先給出無線HART網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)模型,。
2.1 無線HART網(wǎng)絡(luò)模型
無線HART網(wǎng)絡(luò)采用集中控制式的MESH網(wǎng)絡(luò),其結(jié)構(gòu)可抽象為節(jié)點(diǎn)和邊組成的圖,,用圖G(V,,E)表示,其中V表示節(jié)點(diǎn),E表示節(jié)點(diǎn)之間的連接即邊,。文中的圖路由算法以圖1為例來說明,。圖1為有10個(gè)現(xiàn)場設(shè)備的無線HART網(wǎng)絡(luò),最大跳數(shù)為4(無線HART協(xié)議定義無線HART網(wǎng)絡(luò)最大跳數(shù)為4),,其中節(jié)點(diǎn)1(AP)為根節(jié)點(diǎn)(即無線網(wǎng)絡(luò)接入點(diǎn)AP),,其余節(jié)點(diǎn)表示現(xiàn)場設(shè)備節(jié)點(diǎn)。節(jié)點(diǎn)之間的邊的權(quán)重值表示鏈路的質(zhì)量,,文中定義為路徑穩(wěn)定度,。表1列出了節(jié)點(diǎn)之間路徑穩(wěn)定度的信息。路徑穩(wěn)定度來自現(xiàn)場設(shè)備周期性的Keep-Alive信息(實(shí)測數(shù)據(jù)),。
2.2 基于路徑穩(wěn)定度的分層算法
在無線HART網(wǎng)絡(luò)中,,現(xiàn)場設(shè)備周期性向網(wǎng)絡(luò)管理者發(fā)送Keep-Alive信息,網(wǎng)絡(luò)管理者定時(shí)更新鄰居表,,分層算法根據(jù)鄰居表信息完成對節(jié)點(diǎn)的分層,,在鄰居選擇中根據(jù)鄰居之間的路徑穩(wěn)定度判別鏈路質(zhì)量,對于路徑穩(wěn)定度小于規(guī)定閾值(文中為<80%)的鄰居,,從鄰居表中剔除,。表2為算法中使用的符號說明。
算法實(shí)現(xiàn)步驟如下:
(1)初始化AP設(shè)備的層數(shù)為第一層,,即Lev[node[1]]=1,,n=2;
(2)搜索node[n]的鄰居表,,如果路徑穩(wěn)定度大于規(guī)定閾值(文中為大于80%),,并且該節(jié)點(diǎn)已經(jīng)加入網(wǎng)絡(luò)(Lev[node[n]]>0),則記錄該鄰居,并存入相應(yīng)的緩存區(qū),;
(3)比較緩存區(qū)中各個(gè)節(jié)點(diǎn)的層數(shù),得到最小的層數(shù)Min(Lev[node[L]]),,L表示在緩存區(qū)的節(jié)點(diǎn),;
(4)Lev[node[n]]= Min(Lev[node[L]])+1,清空緩存區(qū),;
(5)判斷是否為最后加入節(jié)點(diǎn),,若是則退出;否則n=n+1,,并轉(zhuǎn)到步驟(2),。
對圖1所示的結(jié)構(gòu)做算法運(yùn)行(表1為相關(guān)的鏈路質(zhì)量參數(shù)),得到如圖2所示的分層結(jié)構(gòu),。
2.3 基于通信鏈路質(zhì)量的圖路由算法
本文中的圖路由算法是基于分層算法實(shí)現(xiàn)的,,保證了節(jié)點(diǎn)到網(wǎng)關(guān)(接入點(diǎn))的跳數(shù)最小。下面著重說明圖路由算法中幾個(gè)關(guān)鍵創(chuàng)新點(diǎn)。
(1)在層間路由選擇算法中,,通過通信鏈路的質(zhì)量選擇路由,,文中提出了基于路徑穩(wěn)定度的鏈路質(zhì)量的判別機(jī)制,即圖G(V,,E)邊的權(quán)重,,對于路徑穩(wěn)定度相同的路徑,選擇子節(jié)點(diǎn)少的上層節(jié)點(diǎn),。
(2)圖路由算法要求每個(gè)節(jié)點(diǎn)都有一個(gè)子圖,,新加入的節(jié)點(diǎn)只需要從鄰居表中根據(jù)鏈路質(zhì)量選擇2個(gè)上層(更接近目標(biāo))節(jié)點(diǎn)作為路徑加入就可以實(shí)現(xiàn)該節(jié)點(diǎn)的圖路由,即圖疊加,。
(3)為了防止回路的發(fā)生,,節(jié)點(diǎn)只選擇上一層節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),在無線HART應(yīng)用中,,如果上一跳節(jié)點(diǎn)(非第一層節(jié)點(diǎn))只有一個(gè),,則需要重新配置節(jié)點(diǎn)的位置。
(4)對于第一層節(jié)點(diǎn),,由于上層節(jié)點(diǎn)只有一個(gè),,可以選擇同層節(jié)點(diǎn),為了防止回路,,在選擇同層節(jié)點(diǎn)中選擇先于該節(jié)點(diǎn)加入網(wǎng)絡(luò)的鄰居節(jié)點(diǎn)作為下一跳節(jié)點(diǎn)(在無線HART網(wǎng)絡(luò)中,,先加入的節(jié)點(diǎn)地址值小于后加入的節(jié)點(diǎn)地址)。
2.4 圖路由算法的實(shí)現(xiàn)過程
下面介紹算法的實(shí)現(xiàn)過程,。node[n](n=1~n)表示無線HART網(wǎng)絡(luò)中的節(jié)點(diǎn),,其中1表示網(wǎng)絡(luò)接入點(diǎn)(AP)。步驟如下:
(1)節(jié)點(diǎn)2的路由第一條路徑和第二條路徑均指向網(wǎng)關(guān),,n=n+1,;
(2)對節(jié)點(diǎn)n執(zhí)行分層算法,得到其所在的層數(shù),,執(zhí)行步驟(3),;
(3)如果節(jié)點(diǎn)n在第一層,則第一條路徑指向網(wǎng)關(guān),,計(jì)算鄰居表中先加入網(wǎng)絡(luò)的節(jié)點(diǎn)的鏈路質(zhì)量權(quán)重值,,第二條路徑選擇指向先加入網(wǎng)絡(luò)的第一層鄰居,轉(zhuǎn)到步驟(6),;如果節(jié)點(diǎn)不在一層,,從節(jié)點(diǎn)鄰居表中選取上層節(jié)點(diǎn)放入數(shù)組中,執(zhí)行步驟(4),;
(4)在數(shù)組中根據(jù)鏈路質(zhì)量排序,;
(5)節(jié)點(diǎn)選擇鏈路質(zhì)量權(quán)重值最高的作為第一條路徑,,鏈路質(zhì)量權(quán)重值次高為第二條路徑;
(6)n=n+1,,判斷是否為新節(jié)點(diǎn),,是則轉(zhuǎn)向步驟(2),否則退出,。
應(yīng)用上述算法,,選取圖1所示的無線HART網(wǎng)絡(luò),節(jié)點(diǎn)1為網(wǎng)絡(luò)接入點(diǎn),,節(jié)點(diǎn)2~11為現(xiàn)場設(shè)備,,應(yīng)用2.4節(jié)提出的算法,分別得到節(jié)點(diǎn)2~11的圖路由,,文中只列出節(jié)點(diǎn)2,,3,7,,11的圖路由(見圖3),。
3 實(shí)驗(yàn)分析
3.1 建立實(shí)驗(yàn)環(huán)境
為驗(yàn)證路由算法,搭建了無線HART網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái),,包括網(wǎng)絡(luò)管理器,、接入點(diǎn)和現(xiàn)場設(shè)備。網(wǎng)絡(luò)管理者在計(jì)算機(jī)上Linux環(huán)境下完成,,AP(接入點(diǎn))和現(xiàn)場設(shè)備使用飛思卡爾的無線模塊MC13224,, AP和網(wǎng)絡(luò)管理者通過UART串口連接。
3.2 實(shí)驗(yàn)結(jié)果
現(xiàn)場設(shè)備分別為10個(gè)點(diǎn)(見圖1),、20個(gè)點(diǎn),、30個(gè)點(diǎn)和40個(gè)點(diǎn),應(yīng)用文中算法,,分三種情況進(jìn)行實(shí)驗(yàn),,即無鏈路質(zhì)量判別機(jī)制(分層算法和層間路由隨機(jī)選擇)、使用路徑穩(wěn)定度作為鏈路質(zhì)量判別機(jī)制和使用RSSI作為鏈路質(zhì)量判別機(jī)制,,實(shí)驗(yàn)時(shí)間為24 h,,對比數(shù)據(jù)為所有節(jié)點(diǎn)的數(shù)據(jù)傳輸成功率,實(shí)驗(yàn)結(jié)果見圖4,。從實(shí)驗(yàn)結(jié)果看出,,無鏈路質(zhì)量判別機(jī)制的算法通信效果最差,,對于10個(gè)節(jié)點(diǎn)的無線HART網(wǎng)絡(luò),,兩種判別機(jī)制的影響不大,但隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,,選擇路徑穩(wěn)定度作為鏈路質(zhì)量判別機(jī)制比選擇RSSI作為鏈路質(zhì)量判別機(jī)制的通信質(zhì)量有相應(yīng)提升,。
4 結(jié)論
本文在總結(jié)無線HART圖路由實(shí)現(xiàn)算法的基礎(chǔ)上,,提出一種基于通信鏈路質(zhì)量的無線HART圖路由算法?;跓o線HART節(jié)點(diǎn)加入的特點(diǎn),,采用分層算法,保證節(jié)點(diǎn)到網(wǎng)關(guān)的跳數(shù)最少,,提出一種基于路徑穩(wěn)定性判別通信鏈路質(zhì)量的機(jī)制,,選擇層間路由,保證層間路由冗余性和可靠性,,采用圖疊加算法簡化算法的實(shí)現(xiàn),,實(shí)現(xiàn)了無線HART的圖路由算法。目前該算法已經(jīng)應(yīng)用到無線HART網(wǎng)絡(luò)管理者的實(shí)現(xiàn)中,。
參考文獻(xiàn)
[1] 李繼平,,凌志浩.無線HART技術(shù)及其應(yīng)用[J].世界儀表與自動(dòng)化,2008,,12(3):63-65.
[2] 黃驥,,周繼鵬.GLFR:一種新的基于地理位置信息Ad Hoc網(wǎng)絡(luò)路由算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,,19(10):145-148.
[3] 孫東旭,,曹建福,鄭輯光.面向工業(yè)測控的無線傳感器網(wǎng)絡(luò)分簇路由算法[J].信息與控制,,2012,,41(6):779-785.
[4] 劉揚(yáng),曾鵬,,馬連博.無線HART協(xié)議的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,,2010(7):57-58.
[5] ZHAO J D,LIANG Z J,,ZHAO Y P.ELHFR:a graph routingin industry wireless mesh network[C].Proceedings of the International Conference on Information and Automation,,Zhuhai,China,,June 22-25,,2009:106-110.
[6] 黨魁,沈繼忠,,董利達(dá).基于RSL篩選的Wireless HART最短路徑路由算法[J].計(jì)算機(jī)工程與應(yīng)用,,2012,48(6):69-73.
[7] 黃聰,,董利達(dá),,管林波.一種低開銷無線HART路由策略[J]傳感技術(shù)學(xué)報(bào),2013,,26(2):252-259.