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