引 言
在工業(yè)應(yīng)用領(lǐng)域,ZigBee工業(yè)控制的主要原理是下位機(jī)利用微處理器采集現(xiàn)場(chǎng)環(huán)境和運(yùn)行信息,并通過接口電路將現(xiàn)場(chǎng)信息發(fā)送到ZigBee 節(jié)點(diǎn),ZigBee 節(jié)點(diǎn)通過ZigBee 網(wǎng)絡(luò)發(fā)送到ZigBee 協(xié)調(diào)器,協(xié)調(diào)器將收到的信息轉(zhuǎn)發(fā)到上位管理計(jì)算機(jī),上位機(jī)對(duì)采集的信息進(jìn)行處理,并將相關(guān)控制命令通過ZigBee 網(wǎng)絡(luò)發(fā)送到下位機(jī).
1 ZigBee 工業(yè)控制的基本應(yīng)用結(jié)構(gòu)
ZigBee工業(yè)控制的基本應(yīng)用結(jié)構(gòu)如圖1 所示.在這種工業(yè)控制結(jié)構(gòu)中,ZigBee 網(wǎng)絡(luò)主要實(shí)現(xiàn)網(wǎng)絡(luò)傳輸功能,而Freescale ZigBee 協(xié)議棧提供的wireless UART 模板具有ZigBee 和UART 數(shù)據(jù)收發(fā)的基本功能函數(shù).
在wireless UART 模板中,協(xié)調(diào)器.路由器.終端設(shè)有網(wǎng)絡(luò)啟動(dòng)( 加入) 按鍵,網(wǎng)絡(luò)運(yùn)行模式( 確認(rèn)模式.應(yīng)用模式)切換按鍵和節(jié)點(diǎn)綁定按鍵.每次啟動(dòng)網(wǎng)絡(luò)時(shí),都需按序進(jìn)行相應(yīng)的按鍵操作.在系統(tǒng)運(yùn)行過程中,當(dāng)有節(jié)點(diǎn)需要重新啟動(dòng).新節(jié)點(diǎn)加入等情況發(fā)生時(shí),就需要重新啟動(dòng)所有節(jié)點(diǎn)并按序重新操作后,才能進(jìn)入運(yùn)行狀態(tài).下面介紹一種自動(dòng)啟動(dòng)( 加入)網(wǎng)絡(luò)的方法,同時(shí)給出相應(yīng)的源代碼文件及需要修改的程序代碼,以供參考.
1.1 網(wǎng)絡(luò)建立
所謂網(wǎng)絡(luò)建立, 就是啟用協(xié)調(diào)器并加入路由與終端, 此時(shí)可在BeeApp.c 文件void BeeAppInit(void) 函數(shù)的UartX_SetRxCallBack(UartRxCallBack) 語句后增加 ZDO_Start(gStartWithOutNvm_c).
1.2 去除綁定
去除綁定, 可將其修改為16 位網(wǎng)絡(luò)地址模式, 即在BeeApp.c 文件中修改以下函數(shù)的內(nèi)容:
(1) 在void BeeAppInit(void) 函數(shù)中修改如下:
gSendingNwkData.gAddressMode =gZbAddrMode16Bit_c;
(2) 在static void TxZigBeeAck(void).void TxZigBeeData(void)
及相關(guān)ZigBee 無線發(fā)送的各個(gè)函數(shù)中修改如下:
afAddrInfo.dstEndPoint =1;
afAddrInfo.dstAddrMode = gZbAddrMode16Bit_c ;
afAddrInfo.dstAddr.aNwkAddr[0]=0xff;
afAddrInfo.dstAddr.aNwkAddr[1]=0xff; //{0×00,0×00};//
ZC 廣播方式
其中, afAddrInfo.dstAddr.aNwkAddr[1].afAddrInfo.
dstAddr.aNwkAddr[0] 為ZigBee 無線發(fā)送的16 位網(wǎng)絡(luò)目的地址,協(xié)調(diào)器的網(wǎng)絡(luò)地址為0×0000,協(xié)調(diào)器以廣播方式發(fā)送時(shí)目的地址為0xffff,點(diǎn)對(duì)點(diǎn)發(fā)送時(shí),應(yīng)使用接收端的網(wǎng)絡(luò)地址.
2 自動(dòng)進(jìn)入應(yīng)用模式
自動(dòng)進(jìn)入應(yīng)用模式時(shí),可將ASL_UserInterface.c 文件的ASL_UpdateDevice 函數(shù)修改如下:
case gZDOToAppMgmtZCRunning_c:
ASL_ChangeUserInterfaceModeTo(gApplicationMode_c);
ASL_DisplayChangeToCurrentMode(gmUserInterfaceMo
de);
3 修改按鍵功能
事實(shí)上, 也可以修改按鍵功能, 具體可在ASL_UserInterface.c 的ASL_InitUserInterface 函數(shù)中做如下修改:
// KBD_Init(BeeAppHandleKeys);當(dāng)然,也可以通過修改BeeApp.c 的BeeAppHandkeys(key_event_t event)) 函數(shù)實(shí)現(xiàn)相應(yīng)的按鍵功能.
A Method of ZigBee Network Self-starting in FreescaleWirelessUART Sample
YANG Da –sheng
(NeiMongol Electronic information Vocational TechnicalCollege, Hohhot 010070,PRC)
Abstract: To simplify the ZigBee network boot stepsin Freescale UARTwireless sample ,a method was given insource code .
Keyword: ZigBee stack ;Binding ;network self-starting ;
4 結(jié) 語
ZigBee工業(yè)控制就是將下位機(jī)利用微處理器采集的現(xiàn)場(chǎng)環(huán)境和運(yùn)行信息通過接口電路發(fā)送到ZigBee 節(jié)點(diǎn),從而控制工業(yè)過程的一種無線網(wǎng)絡(luò)系統(tǒng).本文給出了在FreescaleZigBee 協(xié)議棧wireless UART 應(yīng)用模板中簡化網(wǎng)絡(luò)啟動(dòng)的步驟,同時(shí)給出了在源代碼中需要修改的內(nèi)容。
-
ZigBee
+關(guān)注
關(guān)注
158文章
2271瀏覽量
243131 -
微處理器
+關(guān)注
關(guān)注
11文章
2273瀏覽量
82642 -
工業(yè)控制
+關(guān)注
關(guān)注
38文章
1466瀏覽量
85947
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論