網絡數據通信協議研究論文

時間:2022-06-23 03:00:00

導語:網絡數據通信協議研究論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

網絡數據通信協議研究論文

摘要:概述了智能建筑中通信協議和現場總線的現狀,并就此領域內出現的新型數據通信協議——BACnet作了詳細介紹。

關鍵詞:BACnet智能建筑樓宇自動化面向對象

隨著計算機、通信、控制和圖形顯示技術即4C技術的快速發展和全球對信息高速公路的大力建設,智能建筑,這個數字化、網絡化和信息化的結合產物開始進入人們的視野。然而,如今智能建筑內各種控制功能變得愈發強大而復雜,致使不同廠商生產的設備使用于同一建筑物內,但各個廠商基本上都是開發自己專有的通信協議,于是各式各樣的通信協議和設備給智能建筑的系統集成及管理使用帶來諸多不便,用戶處于受制于廠商而使造價提高、使用和維護費用增加的境地。所以制定一個開放的、統一的通信協議標準,并形成即插即用(plugandplay)的環境,就成為十分迫切需要解決的問題。

目前,在智能建筑領域,現場總線和通信協議主要有:(1)最初應用于工業控制領域的總線協議,如具有代表性的Profibus總線、Lonworks總線、CAN總線等;(2)專門針對智能建筑的總線和通信協議,如美國的BACnet和CEBus、歐洲的EIB等。本文就其中的BACnet作詳細介紹。

圖1BACnet的體系結構層次圖

1BACnet協議概述

樓宇自動控制網絡數據通信協議BACnet(AData

CommunicationProtocolforBuildingAutomationandControlNetwork)由美國供熱、制冷與空調工程師協會組織的標準項目委員會135P于1995年6月正式通過制定。標準編號為ANSI/ASHRAEStandardl35-1995,同年12月正式成為美國國家標準,并得到歐盟標準委員會的承認,成為歐盟標準草案。2000年1月ISO組織TC205委員會的15個國家(中國、法國、日本、英國、美國等)的代表一致通過決議,將BACnet作為“委員會草案”進行廣泛評議,適當修改后列為“國際標準化草案”,最后成為國際標準。

一般樓宇自控設備從功能上講分為兩部分:一部分專門處理設備的控制功能;另一部分專門處理設備的數據通信功能。而BACnet就是要建立一種統一的數據通信標準,使得設備可以互操作。BACnet協議只是規定了設備之間通信的規則,并不涉及實現細節。

BACnet協議模型為:(1)所有的網絡設備,除基于MS/TP協議的以外,都是完全對等的(peertopeer);(2)每個設備都是一個“對象”的實體,每個對象用其“屬性”描述,并提供了在網絡中識別和訪問設備的方法;設備相互通信是通過讀/寫某些設備對象的屬性,以及利用協議提供的“服務”完成;(3)設備的完善性(Sophistication),即其實現服務請求或理解對象類型種類的能力,由設備的“一致性類別”(ConformanceClass)所反映。

1.1BACnet的體系結構

BACnet是一種針對智能建筑的開放性的網絡協議,遵循OSI模型體系結構,BACnet體系結構層次圖如圖1所示。BACnet協議從硬/軟件實現、數據傳輸速率、系統兼容和網絡應用等幾方面考慮,目前支持五種組合類型的數據鏈路/物理層規范。其中主從/令牌傳遞(MS/TP)協議是專門針對樓宇自控設備設計的數據鏈路規范。BACnet在物理介質上,支持雙絞線、同軸電纜和光纜。在拓撲結構上,支持星型和總線拓撲。

BACnet沒有嚴格規定網絡拓撲結構,如圖2所示。其中:網段(Segment)是多個物理網段通過中繼器(R)連接形成的段落區間;網絡是多個網段通過網橋(B)連接而成的,每個網絡都形成一個MAC地址域;BACnet/Internet網絡是將使用不同局域網技術的多個網絡用路由器(RT)互聯起來形成的網際網。

在BACnet拓撲中設備之間只存在一條邏輯通路,無需廣域網的最優路由算法;其次,BACnet具有單一的局部地址空間,所以BACnet參照OSI模型制定了簡化的網絡層協議,向應用層提供不確認無連接的數據單元傳送服務。每個BACnet設備都被一個網絡號碼和一個MAC地址唯一確定。

網絡層通過“路由器”實現兩個或多個異類BACnet局域網(不同的數鏈層)的連接,并通過協議報文進行“路由器”的自動配置、路由表維護和擁塞控制。BACnet路由器與每個網絡的連接處稱為一個“端口”。路由表中包含端口的下列項目:(1)端口所連接網絡的MAC地址和網絡號;(2)端口可到達網絡的網絡號列表及與這些網絡的連接狀態。圖2中,“1/2RT”是半路由器,由PTP連接形成一個完整的BACnet路由器,即BACnet網際網將廣域網技術向應用層屏蔽。

BACnet應用層即BACnet應用實體,通過API(應用編程接口)為上層應用程序服務,并與對等應用層實體通信。應用實體由兩部分組成:用戶單元和應用服務單元(ASE)。ASE是一組特定內容的應用服務。而用戶單元支持本地API、保存事務處理上下文信息、產生請求ID、記錄ID對應的應用服務響應、維護超時重傳機制所需的計數器以及將設備行為要求映射為對象。

BACnet應用層提供證實和非證實兩種類型的服務。BACnet定義了四種服務原語:請求、指示、響應和證實,它們通過應用層協議數據單元(APDU)傳遞。由于BACnet建立在無連接的通信模式上,所以OSI模型提供端到端服務的傳輸層部分簡化功能也由應用層實現,分別為:可靠的端到端傳輸和差錯校驗;報文分段和流量控制;報文重組和序列控制。

1.2BACnet的對象、服務和功能組

BACnet采用面向對象技術,借此提供一種表示樓宇自控設備的標準。在BACnet中,對象就是在網絡設備之間傳輸的一組數據結構,網絡設備通過讀取、修改封裝在應用層APDU中的對象數據結構,實現互操作。BACnet目前定義了18個對象,如表1所示,每個對象都必須有三個屬性:對象標志符(Object_Identifier)、對象名稱(Object_Name)和對象類型(Object_Type)。其中,對象標志符用來唯一標識對象;BACnet設備可以通過廣播自身包含的某個對象的對象名稱,與包含相關對象的設備建立聯系。BACnet協議要求每個設備都要包含“設備對象”,通過對其屬性的讀取可以讓網絡獲得設備的全部信息。

表1BACnet對象

對象名稱應用舉例

01模擬輸入AnalogInput模擬傳感器輸入如機械開關On/Off輸入

02模擬輸出AnalogOutput模擬控制量輸出

03模擬值AnalogValue模擬控制設備參數如設備閥值

04數字輸入BinaryInput數字傳感器輸入如電子開關On/Off輸入

05數字輸出BinaryOutput繼電器輸出

06數字值BinaryValue數字控制系統參數

07命令Command向多設備多對象寫多值如日期設置

08日歷表Calender程序定義的事件執行日期列表

09時間表Schedule周期操作時間表

10事件登記EventEnrollment描述錯誤狀態事件如輸入值超界或報警事件。通知一個設備對象,也可通過“通知類”對象通知多設備對象

11文件File允許訪問(讀/寫)設備支持的數據文件

12組Group提供單一操作下訪問多對象多屬性

13環Loop提供訪問一個“控制環”的標準化操作

14多態輸入Multi-stateOutput表述多狀態處理程序的狀況,如制冷設備開、關和除霜循環

15多態輸出Multi-stateOutput表述多狀態處理程序的期望狀態,如制冷設備開始冷卻、除霜的時間

16通知類NotificationClass包含一個設備列表,配合“事件登記”對象將報警報文發送給多設備

17程序Program允許設備應用程序開始和停止、裝載和卸載,并報告程序當前狀態

18設備Device其屬性表示設備支持的對象和服務以及設備商和固件版本等信息

在BACnet中,把對象的方法稱為服務,對象及其屬性提供了對一個樓宇自控設備“網絡可見信息”的抽象描述,而服務提供了如何訪問和操作這些信息的命令和方法。BACnet設備通過在網絡中傳遞服務請求和服務應答報文實現服務。BACnet定義了35種服務,并將其劃分為6個類別:(1)報警與事件服務(AlarmandEventServices)包含8種服務處理環境狀態的變化,提供了BACnet設備預設的請求值改變通告、請求報警或事件狀態摘要、發送報警或事件通知、收到報警通知確認等方法;(2)文件訪問服務(FileAccessServices)包含2種服務,提供讀寫文件的方法,包括上/下載控制程序和數據庫的能力;(3)對象訪問服務(ObjectAccessServices)包含9種服務,提供了讀、修改和寫屬性值以及增刪對象的方法;(4)遠程設備管理服務(RemoteDeviceManagementServices)包含11種服務,提供對BACnet設備進行維護和故障檢測的工具、方法;(5)虛擬終端服務(VirtualTerminalServices)包含3種服務,提供了一種面向字符的數據雙向交換機制,使其他具有專有特性的樓宇自控設備成為一個BACnet虛擬終端并使BACnet網絡能對其進行重構;(6)網絡安全服務(NetworkSecurityServices)包含2種服務,提供對等實體驗證、數據源驗證、操作者驗證和數據加密等功能。

BACnet功能組規定了實現特定控制功能所需的對象和服務的組合。BACnet已定義了13個功能組,包括時鐘功能組、事件響應功能組、文件功能組、虛擬終端功能組、設備通信功能組等。

1.3BACnet設備級別和設備等級說明

在實際的樓宇自動化系統中,沒有必要也不可能所有的設備都支持、包含上述所有的對象和服務。因此,BACnet定義了6個一致性類別(設備級別)。一致性類別的分級編號為1~6,最低級別是類別l。每個類別都規定了設備要實現的最小服務子集,且包含低級別的所有服務。

為了幫助用戶和工程人員確定不同BACnet設備之間的互操作性,需要廠商為每個設備提供標準格式文件以標識設備中己實現的BACnet標準的內容,即文件需包括設備符合BACnet等級的說明。這個文件就是PICS(ProtocolImplementationConformanceStatement),它包括:(1)標識廠商和描述設備的基本信息;(2)設備符合BACnet的級別;(3)設備所支持的功能組;(4)設備所支持的基于標準或專有的服務,設備啟動或響應服務請求的能力;(5)設備所支持的基于標準或專有的對象類型及其屬性描述;(6)設備支持的數據鏈路技術;(7)設備支持的分段請求和響應。

2BACnet的互聯網擴展

目前,BACnet標準使用兩種技術實現與Internet的互聯。第一種技術附件H中稱之為“隧道”技術,并將其設備稱之為分組封裝/拆裝設備,簡稱PAD。其作用就像一個網關/路由器,這在圖2中兩個半路由器連接廣域網形成一個完全的BACnet路由器有所體現。第二種技術附件J中稱之為BACnet/IP,設備直接封裝IP幀/包在BACnet網絡和Internet上傳輸。

PAD將BACnet報文數據封裝在IP協議數據包內傳輸,在目的BACnet網絡解封。因此每個連接Internet的BACnet網絡都要配置PAD網關/路由器。它可以是一個單獨的設備,也可以是某種樓宇控制設備功能的一部分。

ASHRAE于1999年1月正式附件J并成為美國國家標準。它規范了支持TCP/IP的設備組建BACnet網絡的技術,并稱之為BACnet/IP網絡,簡稱B/IP,是一個或多個IP子網組成的集合,整體具有單獨的BACnet網絡號。BACnet/IP網絡報文在網絡層是IP包,在傳輸層是UDP數據報,從而實現與Internet的TCP/IP協議的融合。

開放、兼容、靈活、獲得廣泛支持并且專門針對智能建筑的通信協議或現場總線必將成為智能建筑領域的一個發展方向。而BACnet協議正是這樣一種具有開拓性的技術,使不同廠商的設備能夠互聯、互換和互操作,打造無縫連接(Seamlesslinking)的樓宇自動化系統,充分滿足了業主、用戶和集成商的需求并提供了多種網絡互聯和接入Internet的方案,為智能建筑內部各系統之間的集成提供了便利條件,使智能建筑搭乘信息高速公路變得輕而易舉。