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