(海思技術(shù)部推薦閱讀)
核心提示:在樓宇自控系統(tǒng)建設(shè)中常常面臨BACNet與LonWorks技術(shù)之爭,或推崇BACNet,或支持LonWorks。事實上,這兩者各擅所長,相輔相成。
關(guān)鍵詞:LonWorks,BACNet,LON控制網(wǎng)絡(luò),LonTalk協(xié)議,BACnet IP,BACnet MS/TP,系統(tǒng)集成,樓宇自控,現(xiàn)場網(wǎng)絡(luò),通訊傳輸
一、簡介
本文旨在介紹BACnet 和LonWorks 平臺在總體架構(gòu)和實施方面的區(qū)別。對使用LonWorks平臺和基于這種平臺之上的開放的、標(biāo)準(zhǔn)的通訊協(xié)議的產(chǎn)品供應(yīng)商而言,優(yōu)勢包括:快速的將產(chǎn)品投入市場、降低了產(chǎn)品和生命周期成本,以及更易于開發(fā)可互操作的、多供應(yīng)商的樓宇自動化系統(tǒng)(Building Automation Systems - BAS )。
二、BACnet協(xié)議
BACnet協(xié)議是用于樓宇自動化網(wǎng)絡(luò)的一種數(shù)據(jù)通訊協(xié)議。這種數(shù)據(jù)通訊協(xié)議是用來控制網(wǎng)絡(luò)上數(shù)據(jù)交換過程的一組標(biāo)準(zhǔn)。為了實現(xiàn)設(shè)備之間的互操作性,連接到同一個網(wǎng)絡(luò)的所有類型的設(shè)備和所有設(shè)備廠商都必須一致地遵循并實施這些規(guī)則。
BACnet協(xié)議是基于客戶端/ 服務(wù)器模式的,其消息被稱為“服務(wù)請求(Service Requests )”??蛻魴C(jī)向服務(wù)器發(fā)送一個服務(wù)請求,服務(wù)器會執(zhí)行相關(guān)的服務(wù)并將結(jié)果報告給客戶機(jī)。BACnet 提供了一個分層的體系架構(gòu),其中,工作站位于最頂層,控制設(shè)備位于其下一層,依此類推。這種分層的網(wǎng)絡(luò)要求使用網(wǎng)關(guān)(實際上就是數(shù)據(jù)轉(zhuǎn)換器)為工作站級別使用的協(xié)議和低級別中可能使用的多種不同協(xié)議之間提供轉(zhuǎn)換。網(wǎng)關(guān)是一種昂貴的設(shè)備,因此在實施、管理和維護(hù)這種分層的系統(tǒng)中,其總體成本會比非分層的(或者說平坦的)系統(tǒng)架構(gòu)高。
BACnet協(xié)議為表示各種設(shè)備的功能提供了預(yù)定義的方法。BACnet協(xié)議是一個基于OSI模型的四層協(xié)議堆棧結(jié)構(gòu),分別對應(yīng)為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層(如下圖所示)。BACnet協(xié)議的設(shè)計目的是為了在網(wǎng)絡(luò)化設(shè)備之間實現(xiàn)唯一的邏輯通道。BACnet的網(wǎng)絡(luò)層針對在BACnet系統(tǒng)中的使用進(jìn)行了自定義,也就是說,標(biāo)準(zhǔn)化的基礎(chǔ)體系組件(如以太網(wǎng)路由器)不能用作BACnet信道之間的路由。為了支持MS/TP數(shù)據(jù)鏈路技術(shù)(該技術(shù)既不如以太網(wǎng)路由器等標(biāo)準(zhǔn)的基礎(chǔ)體系組件普及,其成本也較高),該網(wǎng)絡(luò)層經(jīng)過了自定義。
所有通過BACnet協(xié)議的數(shù)據(jù)必須被ASN.(1)編碼,這對不同于主機(jī)的在小型設(shè)備(比如VAV控制器、區(qū)域控制器和屋頂設(shè)備)中普遍使用的8 位微控制器就很難完成這個任務(wù)。對于系統(tǒng)到系統(tǒng)級的或企業(yè)級的通訊,這種使用ASN.(1)的要求將成為一個問題,因為這種編碼的格式遠(yuǎn)未達(dá)到普及的程度。行業(yè)規(guī)范使用的是XML而不是ASN.(1),這對那些在整體系統(tǒng)架構(gòu)中必須包括標(biāo)準(zhǔn) IP基礎(chǔ)體系結(jié)構(gòu)和企業(yè)應(yīng)用的情形而言,這進(jìn)一步增加了使用BACnet協(xié)議的難度。實際上,如果不借助 OSI表示層,BACnet應(yīng)用層自身也難以使用BACnet協(xié)議——它只能使用一種傳輸語法,該語法由一個固定的編碼方案定義。
使用BACnet協(xié)議構(gòu)建可互操作的設(shè)備網(wǎng)絡(luò)尤其困難,因為該協(xié)議是圍繞一個包括網(wǎng)關(guān)的架構(gòu)來設(shè)計的。舉例而言,BACnet協(xié)議中沒有定義應(yīng)用接口,這導(dǎo)致各個廠商所采用的接口彼此不同并且互不兼容。在對象(“Object ”)定義方面,BACnet協(xié)議主要定義了低層的對象(如傳感器和執(zhí)行器),而它定義的高級對象(如調(diào)度器、報警告警器和趨勢記錄器)非常少。傳感器和執(zhí)行器對象對網(wǎng)關(guān)的實現(xiàn)非常有用,而調(diào)度器和報警告警器對象有助于實現(xiàn)主機(jī)端控制器。該協(xié)議沒有定義標(biāo)準(zhǔn)的HVAC設(shè)備簡表,而這是構(gòu)建可互操作網(wǎng)絡(luò)所必需的“粘合劑”之一。
一致性和互操作性
所有遵守BACnet協(xié)議的設(shè)備都必須帶有一個協(xié)議實施一致性聲明,該聲明標(biāo)識了所實施的協(xié)議內(nèi)容。為了符合BACnet協(xié)議,所有設(shè)備都必須通過一致性測試,以檢驗PICS聲明中的對象類型和服務(wù)得到了正確實施。如果廠商采用了不同的實施方法(這是一種常見情形),則會導(dǎo)致不兼容問題。因此,在理論上原本應(yīng)可以使用多個廠商的產(chǎn)品并且可互操作的網(wǎng)絡(luò)現(xiàn)在卻只能使用某一個廠商的設(shè)備;也就是說,實際上變成了一個專有網(wǎng)絡(luò)。雖然所使用的仍然是BACnet協(xié)議,但其它支持BACnet 協(xié)議的產(chǎn)品卻無法實現(xiàn)互操作。如果網(wǎng)絡(luò)只能采用某一個廠商的產(chǎn)品,那么在購買以及部件更換和產(chǎn)品生命周期方面的成本都會升高。
下圖顯示了BACnet協(xié)議堆棧結(jié)構(gòu):
就控制消息和廣播消息(包括本地、遠(yuǎn)程和全局廣播)而言,一個BACnet/IP網(wǎng)絡(luò)的功能在概念上等同于其它的非IP網(wǎng)絡(luò)類型。本地網(wǎng)絡(luò)上的所有工作站接收本地廣播,而某個遠(yuǎn)程網(wǎng)絡(luò)上的所有工作站接收遠(yuǎn)程廣播。在由BACnet互連網(wǎng)絡(luò)技術(shù)構(gòu)成的任何網(wǎng)絡(luò)上,所有工作站都能接收全局廣播。
協(xié)議層 |
8位字節(jié)數(shù) |
第 2 層報頭 |
3 |
第 2 層地址信息 |
22 |
數(shù)據(jù) |
46到1500 |
第 2 層 CRC |
4 |
大多數(shù)使用BACnet協(xié)議的廠商都對該協(xié)議進(jìn)行了自己獨特的擴(kuò)展。在該協(xié)議之上構(gòu)建的擴(kuò)展層需要實現(xiàn)除基本通訊以外的所有功能。但真正的問題是,沒有哪兩個供應(yīng)商會實現(xiàn)相同的自定義擴(kuò)展,這使得供應(yīng)商的解決方案完全變成專有的解決方案。
三、LonWorks平臺
LonWorks平臺是一種分布式控制系統(tǒng),支持智能設(shè)備之間的對等式和/ 或主從式通訊。LonWorks技術(shù)使用一種平坦的體系架構(gòu),該架構(gòu)可支持整個系統(tǒng)的尋址要求,同時又允許對網(wǎng)絡(luò)進(jìn)行邏輯分段。網(wǎng)絡(luò)劃分是借助網(wǎng)絡(luò)級路由器來實現(xiàn)的(對節(jié)點中的應(yīng)用程序而言,它們是透明的),在網(wǎng)絡(luò)任何位置連接的安裝工具、診斷工具或監(jiān)視工具都可以通過這些路由器實現(xiàn)直接訪問。
LonTalk®是一個開放并且基于標(biāo)準(zhǔn)的協(xié)議(它也稱為ANSI/CEA709.1 和IEEE1473-L)。它提供了一整套通訊服務(wù),借此,設(shè)備可以通過網(wǎng)絡(luò)向其它設(shè)備發(fā)送消息和接收來自其它設(shè)備的消息。它還為綁定傳輸提供可選的端到端的消息確認(rèn)機(jī)制、消息驗證機(jī)制和優(yōu)先傳輸機(jī)制。
LonTalk協(xié)議(OSI——針對控制網(wǎng)絡(luò)的7 層協(xié)議)提供了下列功能:
第 1 層——物理層
由于控制網(wǎng)絡(luò)應(yīng)用要求能夠支持多種媒體(以適應(yīng)不同的安裝需要和簡化系統(tǒng)擴(kuò)展),LonWorks平臺支持一系列的不同物理介質(zhì),包括有源和無源的自由拓?fù)潆p絞線、電力線、無線、紅外、光纖和同軸電纜。
第 2 層——鏈路層(介質(zhì)存取&數(shù)據(jù)幀)
介質(zhì)存取方案對控制網(wǎng)絡(luò)至關(guān)重要,系統(tǒng)性能將取決于存取方案的先進(jìn)性。
LonTalk協(xié)議使用了可預(yù)測的p-保持CSMA、沖突避免、可選的優(yōu)先級和沖突檢測存取方案??梢酝ㄟ^信道、節(jié)點或某個特定節(jié)點的變量來調(diào)整這些選項,從而在不影響控制系統(tǒng)其余部分的情況下優(yōu)化并提高網(wǎng)絡(luò)性能。應(yīng)用級別的定論可通過專用的應(yīng)用軟件來增強(qiáng)。
第 3 層——網(wǎng)絡(luò)層(目標(biāo)尋址)
該層確保消息或數(shù)據(jù)包可從一個源設(shè)備正確發(fā)送到一個或多個目標(biāo)設(shè)備。主要功能包括無連接、全域廣播、沒有分段、無環(huán)拓?fù)?、自學(xué)習(xí)路由器。
第 4 層——傳輸層(端到端的可靠性)
傳輸層確保數(shù)據(jù)傳輸?shù)耐暾?,包括多種服務(wù)(如確認(rèn)和非確認(rèn)點對點和組播)、認(rèn)證服務(wù)器和傳輸控制子層(常規(guī)的排序和重復(fù)檢測)。有效的實施手段使得LonTalk數(shù)據(jù)包非常小,這有助于節(jié)省網(wǎng)絡(luò)帶寬和加快通訊速度。
第 5 層——會話層(遠(yuǎn)程操作)
會話層負(fù)責(zé)建立、協(xié)調(diào)和終止應(yīng)用程序之間的會話、交換和對話。該層還負(fù)責(zé)處理會話和連接。
第 6 層——表示層(數(shù)據(jù)解釋)
該層也稱作語法層,通常是操作系統(tǒng)的一部分。該層定義了在什么位置將輸入和輸出數(shù)據(jù)從一種顯示格式轉(zhuǎn)換為另一種格式。LonTalk協(xié)議用網(wǎng)絡(luò)變量、消息或外部組幀的方式傳輸語法,因此提供了巨大靈活性。
第 7 層——應(yīng)用層(傳感器/ 執(zhí)行器應(yīng)用兼容性)
該層確定通訊雙方服務(wù)質(zhì)量和數(shù)據(jù)語法以及用戶身份認(rèn)證和保密性。該層不是純粹意義的應(yīng)用層,盡管某些應(yīng)用可以實現(xiàn)應(yīng)用層的功能。LonTalk協(xié)議在更低層提供了其中的某些功能,從而使得開發(fā)應(yīng)用程序和創(chuàng)建可互操作產(chǎn)品變得容易,并且大幅度降低了復(fù)雜性。
下表顯示了典型的LonTalk數(shù)據(jù)包大小:
協(xié)議層 |
8位字節(jié)數(shù) |
第 2 層報頭 |
1 |
第 3 層地址信息 |
4 |
第 4 層服務(wù)類型 |
1 |
第 5 層報頭 |
2 |
第 6 層報頭 |
2 |
數(shù)據(jù) |
2到218 |
第 2 層CRC |
2 |
LonWorks/IP網(wǎng)絡(luò)的功能在概念上類似于BACnet/IP網(wǎng)絡(luò),但也存在一個重大區(qū)別:在LonWorks/IP解決方案中,通信數(shù)據(jù)包使用開放的EIA-852標(biāo)準(zhǔn)封裝在UDP/IP數(shù)據(jù)包內(nèi)。這種架構(gòu)使數(shù)據(jù)包可以使用標(biāo)準(zhǔn)的IP基礎(chǔ)體系(包括以太網(wǎng)路由器)高速傳輸?shù)捷^遠(yuǎn)距離。相應(yīng)地,網(wǎng)絡(luò)規(guī)模也可以不受限制(從最基本的兩節(jié)點系統(tǒng)直到基于全球Web并且包括數(shù)以百萬計站點的系統(tǒng))。
四、協(xié)議區(qū)別對BAS產(chǎn)品和服務(wù)的影響
類別 |
BACnet |
LonWorks系統(tǒng) |
成本 |
系統(tǒng)成本高: 1、客戶端/ 服務(wù)器模式的分層體系架構(gòu)要求使用較多帶有自定義軟件的網(wǎng)關(guān) 2、為支持MS/TP而對網(wǎng)絡(luò)層進(jìn)行了自定義,從而要求使用非標(biāo)準(zhǔn)的以太網(wǎng)路由器 4、每種數(shù)據(jù)鏈路類型都需要自定義的安裝和診斷工具 |
系統(tǒng)成本低: 1、為網(wǎng)絡(luò)配置、安裝和使用提供了簡化而靈活的方法 2、低成本的雙絞線自由拓?fù)涮峁┝爽F(xiàn)場級的樓宇控制 3、可以使用低成本組件進(jìn)行設(shè)備設(shè)計 4、單一協(xié)議貫穿始終,因此只需使用常見的安裝和診斷工具;不論廠商和介質(zhì)有何不同,都能提供訪,問所有網(wǎng)絡(luò)設(shè)備的能力 |
復(fù)雜 程度 |
不必要的復(fù)雜性: 1、 協(xié)議堆棧架構(gòu)增加了應(yīng)用層的復(fù)雜程度 2、 未定義應(yīng)用接口,導(dǎo)致實施方法千差萬別 3、 開發(fā)新設(shè)備的時間較長 4、由于可使用的產(chǎn)品有限,并且 缺乏互操作性,因此限制了用戶的選擇 5、 通過專門的實施方式支持6 種不同協(xié)議,需要不同介質(zhì),結(jié)果使總體系統(tǒng)設(shè)計和安裝變得復(fù)雜 |
結(jié)構(gòu)合理: 1、在物理層提供了使用多種介質(zhì)類型的能力,具有完善的API定義,從而可方便快捷地進(jìn)行產(chǎn)品開發(fā) 2、先進(jìn)而靈活的介質(zhì)存取方案增強(qiáng)了控制網(wǎng)絡(luò)的性能 3、通過定義單一的網(wǎng)絡(luò)規(guī)則——SNVT(標(biāo)準(zhǔn)網(wǎng)絡(luò)變量)、SCPT(標(biāo)準(zhǔn)配置屬性)、功能塊和功能簡表,加快了產(chǎn)品開發(fā)速度和促進(jìn)了不同產(chǎn)品之間的互操作性 4、可以提供嵌入有協(xié)議和物理層收發(fā)器的集成電路,從而縮短了開發(fā)時間并降低了成本 |
互操 作性 |
設(shè)備之間無法實現(xiàn)互操作性 1、 各自專有的協(xié)議擴(kuò)展使得產(chǎn)品變?yōu)閷S校⑶胰狈ゲ僮餍?nbsp; 2、 缺乏開發(fā)標(biāo)準(zhǔn),各個廠商不得不采用自己的數(shù)據(jù)元素,這限制了不同供應(yīng)商產(chǎn)品之間的互操作性 3、 合格的產(chǎn)品有限,從而導(dǎo)致競爭不足,價格居高不下 4、 通常無法使用其它供應(yīng)商的產(chǎn)品替換 |
設(shè)備之間可實現(xiàn)互操作性 1、支持不同供應(yīng)商和不同市場的解決方案 2、 LonMark®組織定義了標(biāo)準(zhǔn)和相關(guān)測試,從而可實現(xiàn)不同供應(yīng)商產(chǎn)品之間的互操作性 3、這些標(biāo)準(zhǔn)是通過行業(yè)眾議程序制訂出的 4、 眾多供應(yīng)商提供了大量合格產(chǎn)品確保了價格競爭環(huán)境和產(chǎn)品之間的互換 |
現(xiàn)有的 診斷和 開發(fā)工 具 |
現(xiàn)有的診斷工具有限 1、 基于PC 的軟件只能訪問上級協(xié)議層 2、 為了包括新的對象和數(shù)據(jù)類型,將需要不斷更新,因此用戶被迫只能使用專有的工具 3、 對于所支持的6 種協(xié)議,每種都需要不同的開發(fā)工具 |
可從多方面獲得相關(guān)工具 1、可方便快捷地解決網(wǎng)絡(luò)問題 2、可以驗證互操作性和網(wǎng)絡(luò)完整性 3、Echelon和其它多家供應(yīng)商提供了優(yōu)秀的開發(fā)工具 |
結(jié)論
BACnet和LonWorks平臺在體系架構(gòu)和實施方面均存在重大差異。BACnet協(xié)議的初衷是為了讓不同BAS供應(yīng)商提供的工作站能借助網(wǎng)關(guān)將數(shù)據(jù)從設(shè)備協(xié)議轉(zhuǎn)換為BACnet協(xié)議,從而實現(xiàn)同其它設(shè)備的協(xié)同工作。但BACnet協(xié)議將過多的實施任務(wù)交給了產(chǎn)品廠商,這些廠商采取了各不相同的實施方法,他們并不關(guān)心產(chǎn)品的互操作性。
LonWorks平臺在設(shè)計上采用了平坦的體系架構(gòu),它不需要在設(shè)備之間使用網(wǎng)關(guān),并且允許所有設(shè)備使用相同的安裝和診斷工具。LonTalk協(xié)議的標(biāo)準(zhǔn)化實施和符合行業(yè)標(biāo)準(zhǔn)的對象使得不同供應(yīng)商系統(tǒng)實現(xiàn)互操作性成為可能。借助開放的并且基于標(biāo)準(zhǔn)的LonWorks平臺,廠商可以加快產(chǎn)品開發(fā)速度;集成商可以使用通用的安裝和診斷工具;用戶可以降低安裝成本和產(chǎn)品生命周期成本。
海思ModBus轉(zhuǎn)BACNet網(wǎng)關(guān)