BACnet協(xié)議簡(jiǎn)介
1. BACnet標(biāo)準(zhǔn)
1.1 BACnet協(xié)議
進(jìn)入80年代以后,隨著經(jīng)濟(jì)活動(dòng)中心城市化,大都市的高層與超高層建筑如雨后春筍般聳立起來(lái)。樓內(nèi)的各種設(shè)備和系統(tǒng)逐漸增多,且日趨復(fù)雜,能量的消耗也大幅度上升。如何規(guī)范運(yùn)行,節(jié)能,延長(zhǎng)設(shè)備壽命,確保大樓內(nèi)工作、生活的安全、舒適、高效和樓內(nèi)外信息的處理、交換、傳輸,資源共享成為大樓(智能建筑)重要問(wèn)題??上驳氖?0年代以來(lái),電子、微電子、通訊與計(jì)算機(jī)、網(wǎng)絡(luò)、自控技術(shù)的迅猛發(fā)展,支持與造就了智能建筑各個(gè)子系統(tǒng)的誕生和完善。
智能建筑貴在集成,要集成就需要相關(guān)的機(jī)電設(shè)備和子系統(tǒng)具有開(kāi)放性和互操作性。也就是說(shuō),這些設(shè)備和系統(tǒng)的數(shù)據(jù)通訊必須按同一標(biāo)準(zhǔn)協(xié)議來(lái)進(jìn)行。
1987年l月ASHRAE(美國(guó)供熱、制冷及空調(diào)工程師協(xié)會(huì))組織了世界各地的20余名樓宇自動(dòng)控制工業(yè)部門(mén),包括大學(xué)、控制器制造商、政府機(jī)構(gòu)與咨詢(xún)公司的志愿者組成了一個(gè)名為"SPCl35P"的工作組。工作組的目標(biāo)是制定一個(gè)關(guān)于樓宇能量管理與控制系統(tǒng)(EMCS)的通訊協(xié)議。在長(zhǎng)達(dá)8年多制定過(guò)程中,共收到來(lái)自12個(gè)國(guó)家741份的意見(jiàn),經(jīng)過(guò)3次公開(kāi)評(píng)審,最后于1995年6月BACnet協(xié)議獲得通過(guò),成為ASHRAEl35-1995標(biāo)準(zhǔn)。井于同年12月升為美國(guó)國(guó)家標(biāo)準(zhǔn)。
自從BACnet協(xié)議作為美國(guó)國(guó)家標(biāo)準(zhǔn)發(fā)表以來(lái),不但在美國(guó)本土引起巨大的反響,同時(shí)也引起了世界各國(guó)智能建筑業(yè)界的廣泛注意。在發(fā)達(dá)國(guó)家,已紛紛成立了一些重要的組織,其中最重要的如在北美成立了BIG-NA(BACnet’s Interest Group-North America),在歐洲成立了BIG-Eu(BIG-Europe),在澳大利亞和亞洲成立了BIG-AA(BIG-AustraliaAsia),這些組織在本地區(qū)共同推進(jìn)BACnet協(xié)議的實(shí)施。
早在1998年已被歐共體標(biāo)準(zhǔn)化委員會(huì)CEN TC247采納為預(yù)備標(biāo)準(zhǔn)(pre-standard),目前,正對(duì)其進(jìn)一步進(jìn)行評(píng)價(jià),以決定是否為歐共體的正式標(biāo)準(zhǔn)。
國(guó)際標(biāo)準(zhǔn)化組織(ISO)的TC205委員會(huì)也已于最近2003/01/03批準(zhǔn)其為ISO正式標(biāo)準(zhǔn)。標(biāo)準(zhǔn)號(hào)為ISO 16484-5。
在1999年12月被韓國(guó)采納為國(guó)家標(biāo)準(zhǔn)KS X 6909。
2000年8月。日本電氣安裝工程師協(xié)會(huì)進(jìn)行了研究,準(zhǔn)備采納BACnet為該協(xié)會(huì)協(xié)議標(biāo)準(zhǔn)(protocol of the Institute of Electrical Installation Engineers of Japan IEIEJ/P)。
如從1999年9月到2000年4月,華中理工大學(xué)劉賢德、惠曉實(shí)、石巖等同志在“CAD與智能建筑”雜志上發(fā)表系列文章,詳盡介紹了BACnet協(xié)議的內(nèi)容。在其它有關(guān)智能建筑雜志上也有大量的文章在介紹和評(píng)價(jià)BACnet協(xié)議。
在1998年,江蘇省地方標(biāo)準(zhǔn)“建筑智能化系統(tǒng)工程設(shè)計(jì)標(biāo)準(zhǔn)(DB32/181-1998)”中,已提出對(duì)于多個(gè)供應(yīng)商不同系統(tǒng)之間的集成,建議采用BACnet標(biāo)準(zhǔn)。
1.1.1 BACnet協(xié)議的體系結(jié)構(gòu)
國(guó)際標(biāo)準(zhǔn)化組織在制定計(jì)算機(jī)網(wǎng)絡(luò)通訊協(xié)議標(biāo)準(zhǔn)時(shí)定義了一個(gè)模型,稱(chēng)為開(kāi)放系統(tǒng)互聯(lián)參考模型(OSI)(ISO 7498)。模型的目的是解決計(jì)算機(jī)與計(jì)算機(jī)之間普遍的通信問(wèn)題。在這個(gè)模型中,將計(jì)算機(jī)通信這樣一個(gè)復(fù)雜的問(wèn)題分解成7個(gè)小的、容易解決的子問(wèn)題,每個(gè)子問(wèn)題只與某些通信功能相關(guān),并且把這些子問(wèn)題稱(chēng)為協(xié)議體系結(jié)構(gòu)的一層,整個(gè)模型是一個(gè)七層的體系結(jié)構(gòu)。在圖4一1中給出這七層的體系結(jié)構(gòu)圖。
對(duì)于某個(gè)層次來(lái)說(shuō),它使用下面各層所提供的服務(wù),同時(shí)也向它上面的各層提供服務(wù)。每一層可以想像成一個(gè)黑盒,黑盒的上面和下面都只有經(jīng)過(guò)認(rèn)真定義的接口。一個(gè)應(yīng)用程序通過(guò)與OSI 應(yīng)用層的相連,實(shí)現(xiàn)與另一個(gè)遠(yuǎn)程應(yīng)用程序的通信。對(duì)于這種發(fā)生在兩個(gè)應(yīng)用程序之間的通信,看起來(lái)兩個(gè)程序似乎是通過(guò)各自的應(yīng)用層接口直接相連。各層之間僅僅需要了解其他層的很少的情況。通過(guò)類(lèi)似的方式,協(xié)議的每一層利用下面各層的服務(wù)來(lái)提供通信服務(wù),與另一個(gè)系統(tǒng)的同等層建立起一個(gè)虛擬的對(duì)等層通信。而真正的通信只發(fā)生在物理層。
OSI模型以高度概括的觀點(diǎn)來(lái)分析計(jì)算機(jī)與計(jì)算機(jī)的通信,用來(lái)解決在全世界范圍內(nèi)的、巨大而復(fù)雜的計(jì)算機(jī)網(wǎng)絡(luò)的通信問(wèn)題。在這種情況下,互相通信的單個(gè)計(jì)算機(jī)之間可能相距很遠(yuǎn),因此報(bào)文要通過(guò)一系列中間點(diǎn)才能到達(dá)。而這些中間點(diǎn)相應(yīng)地可能需要實(shí)現(xiàn)路由選擇功能、某種解析功能,以及復(fù)雜的同步和差錯(cuò)恢復(fù)功能。
實(shí)現(xiàn)OSI模型協(xié)議所需的費(fèi)用較高,在絕大部分樓宇自動(dòng)控制系統(tǒng)中,并不需要實(shí)現(xiàn)OSI模型的所有內(nèi)容。不過(guò)只從OSI的功能性方面來(lái)考慮,經(jīng)過(guò)簡(jiǎn)化,OSI模型仍然是樓宇自動(dòng)控制協(xié)議的一個(gè)很好的參考。如果只選擇OSI模型中需要的層次,形成一個(gè)簡(jiǎn)化的模型,作為樓宇自動(dòng)控制系統(tǒng)的協(xié)議體系結(jié)構(gòu),就可以減少報(bào)文的長(zhǎng)度,降低通信處理的開(kāi)銷(xiāo),并且也滿足樓宇自動(dòng)控制系統(tǒng)的需要。這個(gè)簡(jiǎn)化的體系結(jié)構(gòu)降低了樓宇自動(dòng)控制工業(yè)的生產(chǎn)成本,同時(shí)處理器的大批量生產(chǎn)、局域網(wǎng)技術(shù)的發(fā)展,也為過(guò)程控制和辦公自動(dòng)化工業(yè)的發(fā)展起到了推動(dòng)作用。另一方面,可以充分利用現(xiàn)有的、易用的、應(yīng)用廣泛的局域網(wǎng)技術(shù),如以太網(wǎng)、ARCNET和LonTalk。這樣不但可以降低成本,而且也有利于提高性能,為系統(tǒng)集成開(kāi)辟新的途徑。
1.1.2 BACnet簡(jiǎn)化的體系結(jié)構(gòu)
BACnet建立在包含四個(gè)層次的簡(jiǎn)化分層體系結(jié)構(gòu)上,這四層相當(dāng)于OSI模型中的物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層。BACnet標(biāo)準(zhǔn)定義了自己的應(yīng)用層和簡(jiǎn)單的網(wǎng)絡(luò)層,對(duì)于其數(shù)據(jù)鏈路層和物理層,提供了以下五種選擇方案。
第一種選擇是ISO 8802-2類(lèi)型l定義的邏輯鏈路控制(LLC)協(xié)議,加上ISO 8802-3介質(zhì)訪問(wèn)控制 (MAC)協(xié)議和物理層協(xié)議。ISO 8802-2類(lèi)型l提供了無(wú)連接 (Connectionlesss)不確認(rèn)(Unackowledged)的服務(wù),ISO 8802-3則是著名的以太網(wǎng)協(xié)議的國(guó)際標(biāo)準(zhǔn)。
第二種選擇是lSO 8802-2類(lèi)型l定義的邏輯鏈路控制協(xié)議,加上ARCNET(ATA/ANSI 878.1)。
第三種選擇是主從/令牌傳遞(MS/TP)協(xié)議加上EIA-485協(xié)議。MS/TP協(xié)議是專(zhuān)門(mén)針對(duì)樓宇自動(dòng)控制設(shè)備設(shè)計(jì)的,同ISO 8802-2類(lèi)型1一樣,它通過(guò)控制ElA-485的物理層,向網(wǎng)絡(luò)層提供接口。
第四種選擇是點(diǎn)對(duì)點(diǎn)(PTT)協(xié)議加上EIA-232協(xié)議,為撥號(hào)串行異步通信提供了通信機(jī)制。
第五種選擇是LonTalk協(xié)議。
這些選擇都支持主/從MAC、確定性令牌傳遞MAC、高速爭(zhēng)用MAC以及撥號(hào)訪問(wèn)。拓?fù)浣Y(jié)構(gòu)上,支持星型和總線型拓?fù)?。物理介質(zhì)上,支持雙絞線、同軸電纜、光纜。這五種選項(xiàng)將在7節(jié)到11節(jié)中深入論述。
簡(jiǎn)化的四層BACnet體系結(jié)構(gòu),是在仔細(xì)考慮了BACnet網(wǎng)絡(luò)的獨(dú)特特征和要求,以及盡可能少的協(xié)議開(kāi)銷(xiāo)原則后得出的。在下面的分析里,將討論BACnet體系結(jié)構(gòu)只包括物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層的原因。
BACnet完成其固有的操作到底需要哪些層次呢?仔細(xì)分析BACnet網(wǎng)絡(luò)的特征后,可以得到以下兩點(diǎn):
首先,BACnet是一種局域網(wǎng)。即便在某些應(yīng)用中,樓宇里沒(méi)備間的遠(yuǎn)距離通信必不可少時(shí),BACnet仍然是一種局域網(wǎng)。因?yàn)檫@種遠(yuǎn)距離的通信功能,由電信網(wǎng)來(lái)實(shí)現(xiàn)。通信中要完成的路由、中繼、可靠的傳輸?shù)葐?wèn)題都由電信網(wǎng)來(lái)處理,電信網(wǎng)可看成是BACnet外部的部分。
其次,BACnet設(shè)備是靜態(tài)的(static),即在空間上,它們不會(huì)經(jīng)常被移來(lái)移去。在要完成的功能上,從某種意義上說(shuō)也是不變的,即不會(huì)今天生產(chǎn)的設(shè)備時(shí)功能是這樣,明天就完全不同了。
在充分了解BACnet網(wǎng)絡(luò)的特征后,就可討論OSI模型的各層在BACnet網(wǎng)絡(luò)中的適用性了。
物理層提供了鏈接設(shè)備和傳輸數(shù)據(jù)載波信號(hào)的方式,顯然在BAcnet協(xié)議中,物理層是必不可少的。
數(shù)據(jù)鏈路層負(fù)責(zé)將數(shù)據(jù)組織成幀(frame)或分組(packet)、管理通訊介質(zhì)的訪問(wèn)、尋址,以及完成一些差錯(cuò)校正和流量控制的任務(wù),這些都是BACnet協(xié)議所需要的,因此數(shù)據(jù)鏈路層也是必不可少的。
網(wǎng)絡(luò)層的功能包括:將全局地址解析為局部地址、在一個(gè)或多個(gè)網(wǎng)絡(luò)中進(jìn)行報(bào)文的路由、協(xié)調(diào)不同類(lèi)型網(wǎng)絡(luò)的差異(如不同網(wǎng)絡(luò)所允許的最大報(bào)文長(zhǎng)度)、序列控制、流量控制,差錯(cuò)控制以及多路復(fù)用。由于BACnet網(wǎng)絡(luò)的拓?fù)涮攸c(diǎn),在各個(gè)設(shè)備之間只存在一條邏輯通路,這樣便不需要最優(yōu)路由的算法。其次,BACnet網(wǎng)絡(luò)是由中繼器或者網(wǎng)橋互聯(lián)起來(lái)的一個(gè)或者多個(gè)網(wǎng)段所組成的網(wǎng)絡(luò),它具有單一的局部地址空間。在這樣一種單一網(wǎng)絡(luò)中,許多OSI網(wǎng)絡(luò)層的功能也變得多余,或者與數(shù)據(jù)鏈路層相重復(fù)。但是在BACnet網(wǎng)絡(luò)系統(tǒng)中,網(wǎng)絡(luò)層又是必不可少的。例如,在一個(gè)BACnet的互聯(lián)網(wǎng)*(internet)中,當(dāng)兩個(gè)或者多個(gè)網(wǎng)絡(luò)使用了不同的MAC層時(shí),便需要區(qū)別局部地址和全局地址,這樣才能將報(bào)文路由到正確的網(wǎng)絡(luò)中去。在BACnet協(xié)議中,通過(guò)定義了一個(gè)包含必要的尋徑和控制信息的網(wǎng)絡(luò)層頭部,來(lái)完成這種簡(jiǎn)化了的網(wǎng)絡(luò)層功能.
傳輸層主要是負(fù)責(zé)提供可靠的端到端的報(bào)文傳輸、報(bào)文分段、序列控制、流量控制,以及差錯(cuò)校正。傳輸層的許多功能與數(shù)據(jù)鏈路層相似,只是在作用范圍上有所不同。傳輸層提供的是端到端的服務(wù),而數(shù)據(jù)鏈路層則提供的是單一網(wǎng)絡(luò)上點(diǎn)到點(diǎn)的服務(wù)。由于BACnet支持多種網(wǎng)絡(luò)的配置,因此協(xié)議必須提供傳輸層端到端的服務(wù)。而可靠的端到端傳輸和差錯(cuò)校正功能,在BACnet協(xié)議中由BACnet的應(yīng)用層利用報(bào)文超時(shí)重傳方式來(lái)完成。其次,考慮到緩沖區(qū)和處理器資源的管理,報(bào)文分段和端到端的流量控制也是必要的。這是因?yàn)榧词挂粋€(gè)簡(jiǎn)單的BACnet請(qǐng)求,都可能會(huì)導(dǎo)致大量的信息回傳。同樣,這些功能也是由BACnet的應(yīng)用層完成的。最后,為了實(shí)現(xiàn)報(bào)文的正確重組,序列控制也是必須的。這也是由BACnet的應(yīng)用層中的分段過(guò)程實(shí)現(xiàn)的??偟膩?lái)說(shuō),由于BACnet是建立在無(wú)連接的通信模型基礎(chǔ)上的,因此所需的服務(wù)大大減少,并且可以被高層來(lái)實(shí)現(xiàn),這樣便省去了一個(gè)單獨(dú)傳輸層所會(huì)增加的通信開(kāi)銷(xiāo)。在BACnet協(xié)議中,不設(shè)單獨(dú)的傳輸層,所需的功能由應(yīng)用層實(shí)現(xiàn)。
會(huì)話層的功能是在通信雙方之間建立和管理長(zhǎng)時(shí)間對(duì)話,其中的一個(gè)重要功能是建立同步標(biāo)志點(diǎn),用來(lái)在發(fā)生差錯(cuò)時(shí)回復(fù)到前一個(gè)標(biāo)志點(diǎn),以避免對(duì)話重新開(kāi)始。但是在一個(gè)BACnet網(wǎng)絡(luò)中,絕大部分的通信都是很簡(jiǎn)短的,比如讀寫(xiě)一個(gè)值或者一些值,通知(notify)某個(gè)沒(méi)備有某個(gè)警報(bào)或事件 (event)發(fā)生,或者更改某個(gè)設(shè)定值。當(dāng)然長(zhǎng)時(shí)間的信息交換偶然也會(huì)發(fā)生的,比如上載或下載某個(gè)設(shè)備參數(shù)。由于絕大部分事務(wù)處理都是簡(jiǎn)短的,會(huì)話層的服務(wù)極少用到,再考慮到設(shè)置單獨(dú)的會(huì)話層所帶來(lái)的開(kāi)銷(xiāo),所以BACnet標(biāo)準(zhǔn)中不包括單獨(dú)的會(huì)話層。
表示層為通信雙方提供了屏蔽下層傳送語(yǔ)法的服務(wù)。這種傳送語(yǔ)法是用來(lái)將應(yīng)用層中抽象的用戶數(shù)據(jù)視圖,作成適合下層傳輸?shù)淖止?jié)序列。但當(dāng)只存在一種傳送語(yǔ)法時(shí),表示層的功能便減少到對(duì)應(yīng)用程序的數(shù)據(jù)進(jìn)行編碼。由于在BACnet應(yīng)用層中定義了一個(gè)固定的編碼方案,因此一個(gè)獨(dú)立的表示層也變得不再需要。
協(xié)議的應(yīng)用層為應(yīng)用程序提供了完成各自功能所需的通信服務(wù)。在此基礎(chǔ)上,應(yīng)用程序可以監(jiān)控HVAC和其他樓宇自動(dòng)控制系統(tǒng)。顯然應(yīng)用層是本協(xié)議所必須的。
1.1.3 BACnet網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)
為了適應(yīng)各種應(yīng)用,BACnet并沒(méi)有規(guī)定嚴(yán)格的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。BACnet設(shè)備可以直接連接到四種局域網(wǎng)(LANs)中的一種網(wǎng)絡(luò)上,也可以通過(guò)專(zhuān)線或撥號(hào)異步串行線連接起來(lái)。這幾種局域網(wǎng)由可以通過(guò)BACnet路由器進(jìn)一步互聯(lián) 。
按照局域網(wǎng)拓?fù)涞挠^點(diǎn),每個(gè)BACnet設(shè)備與物理介質(zhì)相連,物理介質(zhì)稱(chēng)之為物理網(wǎng)段。一個(gè)或多個(gè)物理網(wǎng)段通過(guò)中繼器在物理層連接,便形成了一個(gè)BACnet網(wǎng)段。而一個(gè)BACnet網(wǎng)絡(luò)則是由一個(gè)或多個(gè)BACnet網(wǎng)段通過(guò)網(wǎng)橋互聯(lián)而成。每個(gè)BACnet網(wǎng)絡(luò)都形成一個(gè)單一的介質(zhì)訪問(wèn)控制MAC地址域,這些在物理層和數(shù)據(jù)鏈路層上連接各個(gè)網(wǎng)段的設(shè)備,可以利用MAC地址實(shí)現(xiàn)報(bào)文的過(guò)濾。將使用不同LAN技術(shù)的多個(gè)網(wǎng)絡(luò),用BACnet路由器互聯(lián)起來(lái),便形成了一個(gè)BACnet互聯(lián)網(wǎng)(internetwork)。如前所述,在一個(gè)BACnet互聯(lián)網(wǎng)中,任意兩個(gè)節(jié)點(diǎn)之間恰好存在著一條報(bào)文通路。
從以上的討論中,可以得到以下幾點(diǎn):
(a)實(shí)現(xiàn)一個(gè)完全的OSI七層體系結(jié)構(gòu)需要大量的資源和開(kāi)銷(xiāo),因此它對(duì)于目前的樓宇自動(dòng)控制系統(tǒng)是不適用的。
(b)按照OSI模型的方式構(gòu)造協(xié)議體系結(jié)構(gòu),并且采用現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),可以使得新協(xié)議具有實(shí)現(xiàn)成本低和便于與其他計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)集成的特點(diǎn)。
(c)根據(jù)樓宇自動(dòng)控制系統(tǒng)的環(huán)境及要求,可以通過(guò)去除OSI某些層的功能,簡(jiǎn)化OSI模型,來(lái)制定新協(xié)議的體系結(jié)構(gòu)。
(d)由物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層組成的一個(gè)簡(jiǎn)化體系結(jié)構(gòu),是當(dāng)今樓宇自動(dòng)控制系統(tǒng)的最佳解決方案。
提交
CLR100(BACnet路由器)實(shí)現(xiàn)DDC組網(wǎng)
CLG200網(wǎng)關(guān)在某中央空調(diào)集成項(xiàng)目的應(yīng)用
暢享智聯(lián) BACnet掃點(diǎn)工具
關(guān)于BACnet通訊模塊在變頻器行業(yè)的應(yīng)用
熱烈祝賀暢享智聯(lián)BACnet路由器通過(guò)歐盟CE認(rèn)證