陶亮亮,王慶輝,封岸松
(沈陽化工大學(xué) 信息工程學(xué)院, 遼寧 沈陽 110142)
當(dāng)代發(fā)展最快速、使用廣泛、卓越、有吸引力的推動(dòng)新技術(shù)革命和新工業(yè)革命的一種關(guān)鍵技術(shù)——工業(yè)過程自動(dòng)化技術(shù)是電子信息技術(shù)的綜合技術(shù)及新型工業(yè)化道路的關(guān)鍵技術(shù)之一.現(xiàn)實(shí)工業(yè)環(huán)境比想象中的更加惡劣,為達(dá)到現(xiàn)場(chǎng)設(shè)備與設(shè)備間信息交換的基本要求,無線工業(yè)技術(shù)必須對(duì)通信可靠性標(biāo)準(zhǔn)要求更高.無線HART是一種開放式的無線通信標(biāo)準(zhǔn)[1-3],用于工業(yè)測(cè)量和控制工程.為達(dá)到現(xiàn)實(shí)中工業(yè)無線通信穩(wěn)定標(biāo)準(zhǔn),無線HART協(xié)議以全冗余網(wǎng)絡(luò)路由、信道跳頻,及重傳技術(shù)增強(qiáng)網(wǎng)絡(luò)的生命力,達(dá)到網(wǎng)絡(luò)健壯效果[4-5].本文對(duì)無線HART網(wǎng)絡(luò)資源分配問題進(jìn)行研究,通過簡潔有效的圖路由計(jì)算結(jié)果進(jìn)行資源分配, 提高網(wǎng)絡(luò)的實(shí)時(shí)性和穩(wěn)定性[6-7].目前,基于圖路由算法的研究已有部分文獻(xiàn)提出:劉揚(yáng)等[8]研究了無線HART協(xié)議及其實(shí)現(xiàn)方式,但其實(shí)現(xiàn)方式過程中并沒有采用圖路由算法的路由方式達(dá)到要求,只是用具有冗余的兩條路由去替換;黨魁等[9]提出完成跳數(shù)最少的、且與圖路由方式相符的算法,但其選取路由的路徑時(shí)沒有考量通信鏈路的質(zhì)量;Zhao等[10]提出在圖路由中的各個(gè)跳頻節(jié)點(diǎn)之間的鏈接處采用通信質(zhì)量判別機(jī)制判別,其雖然有效地增強(qiáng)了路由的健壯性,但是通信鏈路質(zhì)量僅參考了RSSI的成分,并沒有參考路徑的穩(wěn)定性等其他成分因素,可能會(huì)導(dǎo)致路徑迂回鏈接的數(shù)據(jù)重傳[10].本文采用的方法是在基于分層結(jié)構(gòu)的基礎(chǔ)上,用RSSI值作為層間判別通信質(zhì)量機(jī)制并且剔除同層之間的節(jié)點(diǎn)通信路徑,不僅保證了點(diǎn)到點(diǎn)之間的跳數(shù)最少,而且極大地提高了路由的健壯性.
無線 HART網(wǎng)絡(luò)具有多種應(yīng)用,包括各種環(huán)境監(jiān)測(cè)、智能自動(dòng)化、安全管理等領(lǐng)域,是一種低成本、低數(shù)據(jù)傳輸速率的無線傳感器網(wǎng)絡(luò)系統(tǒng).無線HATT網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示.
無線HART網(wǎng)絡(luò)基本組成元素包括:
(1) 現(xiàn)場(chǎng)設(shè)備:負(fù)責(zé)收集現(xiàn)場(chǎng)需要測(cè)量的數(shù)據(jù)或具有執(zhí)行某些特殊要求的設(shè)備.
(2) 接入點(diǎn):將現(xiàn)場(chǎng)設(shè)備連接到網(wǎng)關(guān).
(3) 網(wǎng)關(guān):網(wǎng)關(guān)是計(jì)算機(jī)等終端設(shè)備所處的網(wǎng)絡(luò)與現(xiàn)場(chǎng)設(shè)備所需要的無線網(wǎng)絡(luò)之間的關(guān)鍵紐帶.
(4) 網(wǎng)絡(luò)管理器:網(wǎng)絡(luò)管理器是無線HART網(wǎng)絡(luò)的核心設(shè)備,其功能不僅要完成對(duì)整個(gè)網(wǎng)絡(luò)所有設(shè)備的集中、資源的調(diào)度、管理設(shè)備之間的通信、管理網(wǎng)絡(luò)的路由信息,同時(shí)還要監(jiān)控、診斷和不斷修復(fù)網(wǎng)絡(luò)狀態(tài).
圖1 無線HART網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.1 Wireless HART network topology
無線HART采用MESH自組網(wǎng)絡(luò)技術(shù),是一種不同于其他路由方法技術(shù)的無線網(wǎng)絡(luò)技術(shù),其不僅提供其他無線網(wǎng)絡(luò)技術(shù)無可比擬的數(shù)據(jù)傳輸可靠性,還極大地增強(qiáng)了網(wǎng)絡(luò)的健壯性.無線網(wǎng)絡(luò)技術(shù)的高可行性和網(wǎng)絡(luò)健壯性的關(guān)鍵就是在于該種路由方式的網(wǎng)絡(luò)技術(shù).無線HART網(wǎng)絡(luò)協(xié)議中定義了兩種路由即圖(graph)路由和源(source)路由,由網(wǎng)絡(luò)管理者管理和生成.源路由是一種單一路徑路由,其只包含從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的路徑,任何干擾都可能中斷路徑請(qǐng)求;源路由需要在數(shù)據(jù)包中說明,網(wǎng)絡(luò)干擾可能導(dǎo)致數(shù)據(jù)傳輸過程中丟包,無法滿足工業(yè)應(yīng)用的可靠性需求.圖路由是一張從源節(jié)點(diǎn)到目的節(jié)點(diǎn)所有經(jīng)過路徑的路徑圖,由網(wǎng)絡(luò)管理者完成,并被下載到每個(gè)獨(dú)立的節(jié)點(diǎn)設(shè)備上;圖路由中的節(jié)點(diǎn)至少有兩條到下一跳節(jié)點(diǎn)的路徑,極大地增強(qiáng)了網(wǎng)絡(luò)健壯性和可靠性,是無線HART網(wǎng)絡(luò)協(xié)議中常用的方式.
在無線HART網(wǎng)絡(luò)模型中,以圖2為例,節(jié)點(diǎn)(node)和邊(edge)組成用無向圖G(N,E)表示,其中:N[n1,n2,n3,…]表示節(jié)點(diǎn)的數(shù)組;E[e1,e2,e3,…]表示節(jié)點(diǎn)之間的連接即邊的數(shù)組.圖2中1為接入點(diǎn),2~7為現(xiàn)場(chǎng)其他的無線設(shè)備,它們之間的連線作為權(quán)重值用于后續(xù)的算法計(jì)算,圖中省略了可以表示為各種節(jié)點(diǎn)之間的信息參數(shù),如距離(d)、信號(hào)強(qiáng)度(RSSI)等.網(wǎng)絡(luò)拓?fù)湫畔碜杂诰W(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)周期性傳輸?shù)泥従颖恚绻?jié)點(diǎn)2和節(jié)點(diǎn)3互為鄰居,即可直接相互傳播信息,用con(i,j)表示.
圖2 無線HART網(wǎng)絡(luò)模型Fig.2 Wireless HART network model
路由算法的實(shí)現(xiàn)目標(biāo)是算出將數(shù)據(jù)從根節(jié)點(diǎn)發(fā)送到目標(biāo)節(jié)點(diǎn)的最優(yōu)路徑,對(duì)于不同需求,引入的選取標(biāo)準(zhǔn)不同,故有各種路由算法.筆者采用圖路由方式.圖路由對(duì)于節(jié)點(diǎn)之間的路徑要求存在冗余路徑,每個(gè)節(jié)點(diǎn)到下一個(gè)節(jié)點(diǎn)之間的路徑要有兩條以上.利用分層算法可使圖路由有效地減少搜索路徑所花費(fèi)的資源,確保目的節(jié)點(diǎn)到網(wǎng)絡(luò)接入點(diǎn)的跳數(shù)最少.所以在基于文獻(xiàn)[6]分層算法的基礎(chǔ)上先得到其分層結(jié)構(gòu)(如圖3所示),再以RSSI值為權(quán)值作為選擇標(biāo)準(zhǔn),選出權(quán)值最高的路徑.具體算法步驟如下:
(1) 對(duì)節(jié)點(diǎn)n執(zhí)行分層算法,得到層數(shù)Lev.
(2) 比較是否為該層節(jié)點(diǎn)中RSSI值最大的,是轉(zhuǎn)步驟3,否則轉(zhuǎn)步驟1,n=n+1.
(3) 設(shè)置圖路由ID,n=n+1.
(4)n是否為最后節(jié)點(diǎn),是退出算法,否則轉(zhuǎn)步驟1.
圖3 無線HART分層結(jié)構(gòu)Fig.3 Wireless HART hierarchy
為驗(yàn)證算法的有效性,首先對(duì)圖2所示的無線HART網(wǎng)絡(luò)運(yùn)用分層算法得到如圖3所示的分層圖,再應(yīng)用文章提出的圖路由算法,分別得到所有目的節(jié)點(diǎn)的圖路由,如圖4所示.當(dāng)現(xiàn)場(chǎng)節(jié)點(diǎn)到網(wǎng)絡(luò)接入點(diǎn)的路徑過多時(shí),該算法能夠有效地找出節(jié)點(diǎn)到接入點(diǎn)的穩(wěn)定路徑.
圖4 無線HART網(wǎng)絡(luò)圖路由節(jié)點(diǎn)子圖Fig.4 Wireless HART network routing node diagram
網(wǎng)絡(luò)中存在多種通信類型,每種類型都需要一種圖路由來支撐,如請(qǐng)求加入、廣播、數(shù)據(jù)傳輸?shù)?在無線HART網(wǎng)絡(luò)中,此處僅考慮與路徑有計(jì)算關(guān)聯(lián)的普通類型資源,涵蓋參與發(fā)送管理命令的管理型資源,參與發(fā)送過程數(shù)據(jù)的數(shù)據(jù)資源.對(duì)于管理資源和數(shù)據(jù)資源,其分配有一定的優(yōu)先級(jí),管理資源是在設(shè)備加入網(wǎng)絡(luò)的過程中分配;數(shù)據(jù)資源是在設(shè)備加入網(wǎng)絡(luò)后,有需要時(shí)再分配,所以前者優(yōu)先于后者.但是,不論是哪種資源的分配,都離不開圖路由,都是以圖路由方式為基礎(chǔ)要求,都需要依據(jù)一種基于無線HART圖路由(Graph)算法的分配方法.每個(gè)圖路由(圖形)需要包含2個(gè)以上的有向路徑,然后分派不同的通信資源給要求不同的路由路徑.
對(duì)通信資源的分配有下列幾點(diǎn)要求:
(1) 在資源分配之前,需要先根據(jù)路由算法計(jì)算出所有路徑信息,并且至少有1條是冗余路徑.
(2) 依據(jù)路徑信息獲取所有在這條路徑上節(jié)點(diǎn)的ID和鄰居信息地址.
(3) 設(shè)備節(jié)點(diǎn)要求的數(shù)據(jù)傳輸速率必須是知曉的.
(4) 依據(jù)網(wǎng)絡(luò)的大小估計(jì)出管理的超幀長度.
依據(jù)無線HART網(wǎng)絡(luò)中的設(shè)備要求,對(duì)資源分配中節(jié)點(diǎn)存在一些問題有以下幾點(diǎn)限制:
(1) 存在干擾的信道直接從資源分配列表中排除.
(2) 同一節(jié)點(diǎn)不可以一個(gè)時(shí)間點(diǎn)、多條信道上監(jiān)測(cè).
(3) 同一節(jié)點(diǎn)不可以一個(gè)時(shí)間點(diǎn)、多條信道上發(fā)送消息.
(4) 分配完成后,閑置資源必須保留50%以上.
針對(duì)HART協(xié)議標(biāo)準(zhǔn),文章提出基于分層結(jié)構(gòu)的思想上設(shè)置n層作為一個(gè)信道循環(huán)周期.例如n=4,信道分配如圖5所示.1號(hào)節(jié)點(diǎn)作為接入根節(jié)點(diǎn),Lev=1,與層數(shù)Lev=2的節(jié)點(diǎn)通信時(shí),使用ch1信道;Lev=2的節(jié)點(diǎn)和Lev=3的節(jié)點(diǎn)通信時(shí),使用ch2,以此往下類推.跳數(shù)過多超出要求時(shí),假設(shè)有層數(shù)Lev=5的節(jié)點(diǎn),則可以重復(fù)使ch1(此為層數(shù)大于信道的情況),如此循環(huán)使用.
此類分配算法類似于樹形圖,但又有所不同,如圖4所示,需要同時(shí)對(duì)時(shí)隙(Slot)進(jìn)行分配,在此運(yùn)用資源分配算法以節(jié)點(diǎn)7為例得到分配結(jié)果圖如圖6所示.
圖6 節(jié)點(diǎn)7時(shí)隙分配圖Fig.6 Slot allocation diagram
無線HART網(wǎng)絡(luò)節(jié)點(diǎn)的資源分配是以管理和數(shù)據(jù)兩種類型資源的分配為基礎(chǔ)展開,資源調(diào)度實(shí)現(xiàn)過程主要包括超幀初始化、節(jié)點(diǎn)資源分配、節(jié)點(diǎn)資源更新過程.本算法主要依據(jù)圖路由的方式進(jìn)行資源分配.圖路由算法見3.1.
將網(wǎng)絡(luò)資源分為上行數(shù)據(jù)資源和上、下行管理資源.通信資源分配算法流程如圖7所示,詳細(xì)解說如下:
(1) 初始化超幀設(shè)定確切的長度單位符號(hào)MgLenth和DtLenth,分別代表管理和數(shù)據(jù)超幀長度;設(shè)立信道偏移(Offset)和時(shí)隙號(hào)(Slot);依據(jù)路由算法得到路由信息為每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備分派空間資源.
(2) 下行鏈路管理資源,其根據(jù)指向目標(biāo)設(shè)備道路的順序依算法要求順序分配.在超幀長度區(qū)間[0,MgLenth-1]中找到分配給第一個(gè)加入節(jié)點(diǎn)的可使用資源空間[Offset,Slot],在資源分配表中將其記下;接著依次標(biāo)記它們的下一個(gè)節(jié)點(diǎn),直到目標(biāo)節(jié)點(diǎn)分配完全部通信資源;如果節(jié)點(diǎn)在此過程中無法分配,將回溯到上一個(gè)節(jié)點(diǎn)并根據(jù)算法重新分配它們.
(3) 上行鏈路管理資源,根據(jù)反向分配的下行鏈路管理資源.在超幀長度區(qū)間[MgLenth-1,0]中找出分配給目的節(jié)點(diǎn)的可用空間資源[Offset,Slot]并記錄它們;將時(shí)隙和通道分配給這個(gè)節(jié)點(diǎn)的上一跳節(jié)點(diǎn),搜索區(qū)間為[MgLenth-1,(Slot+MgLenth)% MgLenth]∪[Slot,0],如果有可用的資源空間,在資源分配表中記錄下來;搜索下一個(gè)節(jié)點(diǎn)的資源并重復(fù)該過程,直到分配了道路上的所有節(jié)點(diǎn);如果在搜索間隔內(nèi)有未分配的節(jié)點(diǎn),則回溯開始重新分配.
(4) 上行數(shù)據(jù)資源,優(yōu)先分配通信速率低的資源,其他和上行管理資源類似,長度為DtLenth.
圖7 通信資源分配算法流程Fig.7 Communication resource allocation algorithm flow
所有路徑預(yù)分配完成后,在通信資源矩陣中記錄所有信息,得到整個(gè)資源分配信息表,管理器根據(jù)分配表分配資源.
文章提出的跳躍選擇時(shí)隙資源分配算法與經(jīng)典的順序選擇時(shí)隙算法在有無干擾情況下進(jìn)行仿真比較,分別對(duì)其使用5~25個(gè)現(xiàn)場(chǎng)設(shè)備,使用固定16 s的更新速率向網(wǎng)關(guān)傳送數(shù)據(jù),得到端到端的單向數(shù)據(jù)通信成功率,結(jié)果如圖8所示.由圖8可以看出:跳躍選擇時(shí)隙算法的通信成功率明顯高于順序選擇時(shí)隙算法的通信成功率,并且提高了節(jié)點(diǎn)的抗干擾性.
圖8 有無干擾下端到端通信結(jié)果比較Fig.8 Comparison of end-to-end communication results with or without interference
針對(duì)無線HART圖路由算法展開研究,提出了一種基于分層結(jié)構(gòu)的圖路由方式資源分配算法.在無線HART節(jié)點(diǎn)接入的特點(diǎn)下,使用分層結(jié)構(gòu)模式能夠保證通信節(jié)點(diǎn)間路徑最短并提供跳間冗余以確保路由健壯,并且在分層基礎(chǔ)上以RSSI值作為跳間選擇,較大地提高了通信質(zhì)量.提出了一種均衡分配信道的跳躍選擇時(shí)隙的資源分配算法,該算法與順序選擇時(shí)隙算法相比較明顯增加了通信的成功率,有效地提高了節(jié)點(diǎn)的抗干擾.實(shí)驗(yàn)結(jié)果表明:算法不僅提高了通信質(zhì)量,增強(qiáng)了路由健壯,算法可靠且提高了節(jié)點(diǎn)的通信抗干擾能力.