ZigBee無線傳感器網絡技術在油田信息采集系統中的
為了能采用使節點功耗更低的無內存駐留的休眠方式,因此將一些重要的參量保存在flash中,并在初始化中重新加載。終端節點的軟件框架流程圖如圖5所示。

3.2 中轉節點軟件設計
中轉節點的任務相對簡單,只需處理觸發的協議棧事件、接收和處理“網絡消息”?!熬W絡消息”分為來自串口透明傳輸設備的一級網絡命令和來自二級ZigBee網絡的消息。電量儀的處理包含在“命令解析與轉發”環節中。中轉節點沒有休眠,是不間斷工作的,其軟件設計流程圖如圖6所示。
中轉通過433 MHz串口透明傳輸模塊“SM55D”接收來自上位機的命令,“SM55D”會將接收的字符提供給JN5139模塊的串口(UART)0,可利用串口0的中斷處理解析節點命令。
串口0設置為每接收一個字符便進行中斷,在中斷處理中將字符添加至緩沖區,待緩沖區中的字符達到解析長度的下限值時,根據命令中的節點號和功能碼查表獲得對應命令的指定長度S(包括CRC校驗碼);若字符總數N等于S,根據“網絡號”進行判斷,若非本PAN節點的命令,則不作任何處理,立即返回;否則進行CRC校驗,對于校驗通過的命令,查找表格對子節點進行地址映射,再進行下一步操作。中斷處理流程圖如圖7:

從圖7中可以看到“CRC16校驗失敗”、“子節點未注冊”、“命令下發失敗”三種特殊情況(若下發設置命令成功后,也會有特殊返回信息ACK0)發生后,中轉均通過發送特殊ACK信息對上位機進行反饋,便于設備的調試。對于ZigBee子節點設備,命令是否下發成功,中轉節點可通過ZigBee協議事件獲取;對于電量儀設備,根據其數據傳輸協議,所有命令都應有數據返回,可在命令下發的同時,啟動定時器,若規定時間內無正確數據返回,則認為命令下發失敗。
3.3 管理控制中心軟件設計
上位機只需按照節點的數據傳輸協議向串口寫入字符,即可實現命令發送。節點的網絡號和節點號,可從數據庫中相應的配置表讀出。上位機程序利用時鐘驅動,對每個通信區塊的節點輪流下發命令并解析數據,每30分鐘進行一次。
在對子節點下發命令后,即偵聽對應串口,解析其433MHz模塊接收到的字符,根據起始/終止符“0x7E”提取數據,找到數據中字符0x 7D”并拋除,并對其后的字符進行轉義,即再與“0x20”按位異或。對得到的數據包進行CRC16校驗,校驗通過后的數據按節點類型進行數據解析和相應操作。操作流程圖如圖8所示。

4 結束語
通過傳感器節點、中轉節點組建的無線傳感器網絡,實現了油田生產信息的采集、傳輸與處理。適應了油田點多面廣的應用需求,同時也降低了組網、部署和維護成本。作為油田生產信息系統數據獲取的一種有效技術手段,無線傳感器網絡具有很好的應用前景。
評論