<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 采用智能電表的居民用戶無線自動抄表系統(tǒng)

          采用智能電表的居民用戶無線自動抄表系統(tǒng)

          作者: 時間:2012-09-18 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/200981.htm

          4軟件

          4.1地址編碼

          單相地址采用6個字節(jié)4位二進(jìn)制碼BCD(Binary-Coded Decimal)表示。直接采用其出廠編號,采集器地址采用8個字節(jié)BCD碼表示,直接采用XBee PR0 ZB模塊出廠的唯一ID號,不可更改。集中器的地址編碼按照《Q/GDW 376.1-2009電力用戶用電信息采集器系統(tǒng)通信協(xié)議——主站與采集終端通信協(xié)議》(以下簡稱Q/GDW 376.1-2009)地址域的要求確定。集中器存儲其包含的采集器的地址;采集器存儲其包含的單相的地址;主站計算機(jī)系統(tǒng)存儲集中器、采集器及單相的地址,且與居戶信息建立對應(yīng)關(guān)系。

          4.2通信協(xié)議

          采集器與單相智能電表間通信協(xié)議采用DL/T645-2007。采集器與集中器,現(xiàn)場手持設(shè)備與采集器間的通信幀格式設(shè)計為:幀起始字符(68H)+功能碼(FUN)+數(shù)據(jù)域長度(L)+數(shù)據(jù)域(DATA)+CRC校驗+結(jié)束符(16H)。XBee PR0 ZB通信模塊提供AT指令及應(yīng)用編程接口API(ApplicationProgramming Interface)等2種通信方式。API方式可指定任意通信目標(biāo)節(jié)點(diǎn),具有校驗域,且本身具有數(shù)據(jù)重發(fā)機(jī)制,可保證數(shù)據(jù)準(zhǔn)確到達(dá)目標(biāo)節(jié)點(diǎn),故采用API通信方式?,F(xiàn)場手持設(shè)備與集中器,集中器與主站軟件間通信遵循國標(biāo)Q/GDW 376.1-2009。

          4.3通信軟件

          (1)采集器與集中器間通信軟件

          采集器與集中器間數(shù)據(jù)傳輸需路由,通信采用ZigBee Pro傳感器網(wǎng)絡(luò)。ZigBee協(xié)議在IEEE802.15.4基礎(chǔ)上定義了網(wǎng)絡(luò)層以支持網(wǎng)絡(luò)路由功能,該協(xié)議具有抗干擾能力強(qiáng)、網(wǎng)絡(luò)容量大、網(wǎng)絡(luò)的自組織自愈能力強(qiáng)等特點(diǎn),網(wǎng)絡(luò)由協(xié)調(diào)器、路由器和終端設(shè)備3種通信節(jié)點(diǎn)組成。協(xié)調(diào)器選擇一個PANID和信道啟動一個網(wǎng)絡(luò)后也可充當(dāng)路由器。協(xié)調(diào)器和路由器允許其他通信節(jié)點(diǎn)加入這個網(wǎng)絡(luò),能夠路由數(shù)據(jù);終端設(shè)備不能路由數(shù)據(jù),在不收發(fā)數(shù)據(jù)時可以休眠。當(dāng)通信節(jié)點(diǎn)加入網(wǎng)絡(luò)時,加入的通信節(jié)點(diǎn)為子節(jié)點(diǎn),允許子節(jié)點(diǎn)加入的通信節(jié)點(diǎn)為父節(jié)點(diǎn),1個父節(jié)點(diǎn)最多有8個子節(jié)點(diǎn)。ZigBee聯(lián)盟推出了ZigBee 1.0、ZigBee 2006及ZigBee Pro等3個版本的協(xié)議棧,與另外2個協(xié)議棧相比,ZigBee Pro在隨機(jī)地址分配、網(wǎng)絡(luò)路由、組播、網(wǎng)絡(luò)安全等方面作了改進(jìn)。

          通過Digi公司提供的XBee PR0 ZB模塊配置軟件將采集器的XBee PR0 ZB模塊設(shè)置為路由器,集中器的XBee PR0 ZB模塊設(shè)置為協(xié)調(diào)器,系統(tǒng)中沒有終端設(shè)備。同時利用模塊配置軟件軟件對XBeePR0 ZB模塊的通信模式及其他相關(guān)參數(shù)進(jìn)行合理設(shè)置,采集器的CPU將數(shù)據(jù)通過UART發(fā)給參數(shù)已正確配置的XBee PR0 ZB模塊,XBee PR0 ZB模塊自動按照ZigBee Pro協(xié)議建立路由連接,尋找路徑,將數(shù)據(jù)發(fā)送到目的地址。參數(shù)設(shè)置內(nèi)容包括:網(wǎng)絡(luò)、地址、射頻RF(Radio Freqency)接口、網(wǎng)絡(luò)安全、串行接口、休眠方式、I/O設(shè)置、診斷命令等。下面介紹系統(tǒng)用到的主要參數(shù)設(shè)置。

          1)掃描信道。網(wǎng)絡(luò)由協(xié)調(diào)器負(fù)責(zé)創(chuàng)建,在組建網(wǎng)絡(luò)時,協(xié)調(diào)器要進(jìn)行通道的能量掃描,找出不同通道的RF活動水平,以避免協(xié)調(diào)器在高能量通道區(qū)組網(wǎng)。同樣,路由器和終端設(shè)備在加入網(wǎng)絡(luò)時,也要進(jìn)行同樣的通道掃描。

          2)掃描PAN ID。路由器或終端節(jié)點(diǎn)在加入ZigBee網(wǎng)絡(luò)前要進(jìn)行PAN掃描,將加入任何檢測到的網(wǎng)絡(luò),并繼承該網(wǎng)絡(luò)的PAN ID。一般需設(shè)置節(jié)點(diǎn)的64位PAN ID,16位PAN ID在其加入網(wǎng)絡(luò)時自動獲得。

          3)目標(biāo)地址。當(dāng)采集器加入網(wǎng)絡(luò)時,使用64位地址進(jìn)行通信。成功加入網(wǎng)絡(luò)后,網(wǎng)絡(luò)會為采集器分配一個16位的網(wǎng)絡(luò)地址。這樣采集器便可使用該地址與網(wǎng)絡(luò)中的其它采集器或集中器進(jìn)行通信。

          4)串口通信參數(shù)。包括:波特率、校驗方式、流控制等。

          5)數(shù)據(jù)傳輸模式。與AT模式相比API模式具有易于管理一個到多個目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)傳輸,接收到的數(shù)據(jù)幀可以指示發(fā)送設(shè)備地址,支持高級ZigBee地址,高級網(wǎng)絡(luò)故障診斷和遠(yuǎn)程參數(shù)配置等特點(diǎn)。采集器與集中器之間需進(jìn)行雙向數(shù)據(jù)傳輸,數(shù)據(jù)傳輸方式采用API模式。

          6)數(shù)據(jù)路由。ZigBee Pro協(xié)議棧包含3種不同的數(shù)據(jù)路由方法:基于距離矢量的按需AODV(ADhoc On-demand Distance Vector)網(wǎng)狀路由,多對一路由,源節(jié)點(diǎn)路由。其中多對一路由和源節(jié)點(diǎn)路由是ZigBee Pro協(xié)議棧新增加的數(shù)據(jù)路由方法。當(dāng)多個采集器有事件發(fā)生且需要發(fā)送數(shù)據(jù)到集中器。若采用AODV網(wǎng)狀路由則需要大的網(wǎng)絡(luò)通信開銷,網(wǎng)絡(luò)中的每個采集器在發(fā)送數(shù)據(jù)到集中器前都要進(jìn)行路由路徑的探尋,網(wǎng)絡(luò)將會因路由探尋廣播而性能降低或癱瘓。因此,采集器間與集中器間通信采用ZigBee Pro協(xié)議棧所提供的多對一路由。從集中器發(fā)出單一的多對一廣播傳輸在所有采集器上建立反向路徑,而不要求各個采集器進(jìn)行路由發(fā)現(xiàn)。

          7)網(wǎng)絡(luò)安全。ZigBee Pro網(wǎng)絡(luò)采用2個安全鑰匙、1個信任中心及128位AES加密等保證數(shù)據(jù)通信的安全。設(shè)置協(xié)調(diào)器為信任中心,使能安全功能,預(yù)設(shè)網(wǎng)絡(luò)安全鑰匙和應(yīng)用鏈接鑰匙,則協(xié)調(diào)器負(fù)責(zé)路由器或終端設(shè)備加入網(wǎng)絡(luò)的驗證。路由器或終端設(shè)備加入網(wǎng)絡(luò)前其應(yīng)用鑰匙要設(shè)置與協(xié)調(diào)器一致。新節(jié)點(diǎn)加入網(wǎng)絡(luò)時將收到協(xié)調(diào)器發(fā)送的由應(yīng)用鏈接鑰匙加密的網(wǎng)絡(luò)安全鑰匙,解密后可獲得網(wǎng)絡(luò)安全鑰匙。具有相同安全鑰匙的兩個節(jié)點(diǎn)才能進(jìn)行數(shù)據(jù)交換。系統(tǒng)通過對網(wǎng)絡(luò)安全鑰匙、幀計數(shù)器、是否允許新節(jié)點(diǎn)加入等的管理來提高網(wǎng)絡(luò)通信的安全性。

          (2)集中器與主站間通信軟件

          集中器軟件采用Dynamic C設(shè)計,Dynamic C是一個專門為Z-World產(chǎn)品創(chuàng)建的集成C編譯器、編輯器、鏈接器、裝載器和調(diào)試器。Dynamic C中包含標(biāo)準(zhǔn)C函數(shù)庫,特定板外圍驅(qū)動,芯片外圍設(shè)備和相關(guān)功能的源代碼,語言上擴(kuò)展多任務(wù),支持匯編代碼與C代碼混用,易于在嵌入式系統(tǒng)上進(jìn)行實時編程,可有效縮短開發(fā)周期。

          集中器完成的功能包括:①采集各電能表的實時電能示值、日零點(diǎn)凍結(jié)電能示值、抄表日零點(diǎn)凍結(jié)電能示值;②按要求對采集數(shù)據(jù)進(jìn)行分類存儲,如日數(shù)據(jù)、月數(shù)據(jù)、抄表日數(shù)據(jù)、凍結(jié)曲線等。曲線凍結(jié)數(shù)據(jù)密度由主站設(shè)置,最小凍結(jié)密度為1h;③分類存儲下列數(shù)據(jù):每個客戶電能表至少31個日零點(diǎn)凍結(jié)電能數(shù)據(jù),12個月末凍結(jié)電能數(shù)據(jù);20個重點(diǎn)用戶10天的24點(diǎn)實時電能數(shù)據(jù);④具有重點(diǎn)用戶管理功能??梢赃x定某些用戶為重點(diǎn)用戶,對其電能表進(jìn)行重點(diǎn)管理;⑤具有參數(shù)設(shè)置和查詢功能,事件處理和告警功能?;?mu;C/OS-Ⅱ嵌入式實時操作系統(tǒng)設(shè)計集中器軟件,該操作系統(tǒng)支持多任務(wù),適合集中器復(fù)雜軟件設(shè)計的要求?;?mu;C/OS-Ⅱ操作系統(tǒng)的應(yīng)用設(shè)計需進(jìn)行任務(wù)劃分及任務(wù)優(yōu)先級分配。按集中器實現(xiàn)的功能劃分任務(wù):與采集器通信任務(wù),與主站計算機(jī)通信任務(wù),與手持設(shè)備通信任務(wù),電量數(shù)據(jù)處理分析任務(wù),運(yùn)行狀態(tài)信號燈指示任務(wù)等。依據(jù)任務(wù)實時性要求為各任務(wù)分配優(yōu)先級,優(yōu)先級范圍為1-64,數(shù)字越小,表示優(yōu)先級越高,其中64被μC/OS-Ⅱ系統(tǒng)的空閑任務(wù)占用,實際可用優(yōu)先級范圍為1-63。此外還需按照各個任務(wù)所處理數(shù)據(jù)量的大小,給每個任務(wù)分配大小合適的??臻g。任務(wù)間相對獨(dú)立,通過全局變量、信號量等機(jī)制通信,各個任務(wù)分別編寫,可提高軟件開發(fā)效率且有助于軟件的升級維護(hù)。下面主要介紹集中器與主站計算機(jī)通信任務(wù)實現(xiàn)的關(guān)鍵。

          電能表相關(guān)文章:電能表原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();