基于Linux的BACnet工作站應用層的設計與實現(xiàn)
發(fā)布時間:2020-06-10 23:24
【摘要】: BACnet協(xié)議是一種專門為建筑自動控制網(wǎng)絡制定的一種數(shù)據(jù)通信協(xié)議,并以其開放、簡單、實用、且易于與其他網(wǎng)絡集成的特點成為建筑自動控制網(wǎng)絡的國際標準。BACnet定義了一種控制信息傳遞和交換的語言,可以方便地實現(xiàn)設備與設備間的通信。設計并實現(xiàn)一個完備的、可移植、可裁剪的BACnet工作站,避免針對不同建筑設備進行重復地軟件開發(fā)已成為一個研究的熱點。本文所要討論的內容就是BACnet工作站應用層的設計與實現(xiàn)。 本文研究的主要內容如下: (1)對整個嵌入式系統(tǒng)做了大量的調查研究工作,反復研讀了BACnet協(xié)議的具體內容。深入理解了BACnet協(xié)議的體系結構,并熟練掌握了BACnet對象模型、服務模型、編解碼規(guī)則、報文傳輸規(guī)范、網(wǎng)絡規(guī)范等原理。 (2)規(guī)劃和設計了BACnet工作站的應用層。本文首先對整個BACnet工作站應用層的設計進行了詳細規(guī)劃,設計了工作站應用層的模型。接著討論了BACnet報文存儲器、標準對象、標準服務的設計。 (3)介紹了BACnet應用層狀態(tài)機的基本原理和BACnet狀態(tài)機的狀態(tài)變遷規(guī)則,然后使用NS2仿真軟件建立網(wǎng)絡仿真環(huán)境,對BACnet網(wǎng)絡進行仿真,分析了BAcnet網(wǎng)絡的傳輸特性,以此來指導狀態(tài)機的參數(shù)的設定。最后對應用層的客戶狀態(tài)機和服務狀態(tài)機進行了詳細分析和設計,給出了狀態(tài)機函數(shù)表。 (4)用C語言實現(xiàn)了部分工作站應用層的代碼,其中以讀屬性服務為例介紹了BACnet工作站應用層的實現(xiàn),重點介紹了BAcnet基本數(shù)據(jù)編碼庫、服務請求原語編碼庫和客戶狀態(tài)機的實現(xiàn)。
【圖文】:
(1)客戶狀態(tài)機BACnet客戶狀態(tài)機有四個狀態(tài):空閑狀態(tài)、分段請求狀態(tài)、等待證實狀態(tài)和分段證實狀態(tài)?蛻魻顟B(tài)機的狀態(tài)變遷圖如圖4一2所示。一般狀態(tài)機處于空閑狀態(tài),當發(fā)送一個有證實請求時候,它切換到等待證實狀態(tài),等待遠端服務器給它的響應,如果收到確認,將確認報文上傳到應用程序,并返回空閑狀態(tài);如果超時,它會重發(fā)該請求,,并維護等待證實狀態(tài),當超時次數(shù)達到設置值,狀態(tài)機返回差錯,并回到空閑狀態(tài)。對于分段報文的狀態(tài)變遷則更加復雜,用圖形的描述方式更為直觀、準確。當一個設備作為BACnet客戶時,由它發(fā)出的ADPU包括:(1)BACnet無證實請求pDU(BACnet一Uneo而rmed一Request一PDu)(2)BACnet有證實請求pDU(BACnet一Confirmed一Request一Pnu)(3)BAenet分段確認pDU(BACnet一SegmentAeK一pDu)(參數(shù)‘服務器’=FALSE)(4)BACnet中止PDU(BACnet一Abort一PDU)(參數(shù)‘服務器’=FALSE)發(fā)送無證實、氣
本文編號:2707018
【圖文】:
(1)客戶狀態(tài)機BACnet客戶狀態(tài)機有四個狀態(tài):空閑狀態(tài)、分段請求狀態(tài)、等待證實狀態(tài)和分段證實狀態(tài)?蛻魻顟B(tài)機的狀態(tài)變遷圖如圖4一2所示。一般狀態(tài)機處于空閑狀態(tài),當發(fā)送一個有證實請求時候,它切換到等待證實狀態(tài),等待遠端服務器給它的響應,如果收到確認,將確認報文上傳到應用程序,并返回空閑狀態(tài);如果超時,它會重發(fā)該請求,,并維護等待證實狀態(tài),當超時次數(shù)達到設置值,狀態(tài)機返回差錯,并回到空閑狀態(tài)。對于分段報文的狀態(tài)變遷則更加復雜,用圖形的描述方式更為直觀、準確。當一個設備作為BACnet客戶時,由它發(fā)出的ADPU包括:(1)BACnet無證實請求pDU(BACnet一Uneo而rmed一Request一PDu)(2)BACnet有證實請求pDU(BACnet一Confirmed一Request一Pnu)(3)BAenet分段確認pDU(BACnet一SegmentAeK一pDu)(參數(shù)‘服務器’=FALSE)(4)BACnet中止PDU(BACnet一Abort一PDU)(參數(shù)‘服務器’=FALSE)發(fā)送無證實、氣
本文編號:2707018
本文鏈接:http://www.sikaile.net/kejilunwen/jisuanjikexuelunwen/2707018.html
最近更新
教材專著