BACnet,Building Automation and Control networks的簡稱,即樓宇自動化與控制網絡。是用於智能建築的通訊協議。安全
通常樓宇自控設備從功能上講分爲兩部分:一部分專門處理設備的控制功能;另外一部分專門處理設備的數據通訊功能。而BACnet就是要創建一種統一的數據通訊標準,使得設備能夠互操做。BACnet協議只是規定了設備之間通訊的規則,並不涉及實現細節。服務器
BACnet協議模型爲:網絡
(1)全部的網絡設備,除基於MS/TP協議的之外,都是徹底對等的(peer to peer);less
(2)每一個設備都是一個「對象」的實體,每一個對象用其「屬性」描述,並提供了在網絡中識別和訪問設備的方法;設備相互通訊是經過讀/寫某些設備對象的屬性,以及利用協議提供的「服務」完成;異步
(3)設備的完善性(Sophistication),即其實現服務請求或理解對象類型種類的能力,由設備的「一致性類別」(Conformance Class)所反映。oop
BACnet創建在包含四個層次的簡化分層體系結構上,這四層至關於OSI模型中的物理層、數據鏈路層、網絡層和應用層。ui
BACnet標準定義了本身的應用層和簡單的網絡層,對於其數據鏈路層和物理層,提供瞭如下五種選擇方案:spa
(1)第一種選擇是ISO 8802-2類型1定義的邏輯鏈路控制(LLC)協議,加上ISO 8802-3介質訪問控制(MAC)協議和物理層協議。ISO 8802-2類型1提供了無鏈接(Connectionless)不確認(Unacknowledged)的服務,ISO 8802-3則是著名的以太網協議的國際標準。設計
(2)第二種選擇是ISO 8802-2類型1定義的邏輯鏈路控制(LLC)協議,加上ARCNET(ATA/ANSI878.1)。3d
(3)第三種選擇是主從/令牌傳遞(MS/TP)協議加上EIA-485協議。MS/TP協議是專門針對樓宇自動控制設備設計的,同ISO 8802-2類型1同樣,它經過控制EIA-485的物理層,向網絡層提供接口。
(4)第四種選擇是點對點(PTP)協議加上EIA-232協議,爲撥號串行異步通訊提供了通訊機制。
(5)第五種選擇是LonTalk協議。
由應用層服務原語產生的應用層協議數據單元(APDU),構成了網絡層服務原語的數據部分,並經過網絡層服務訪問點下傳到網絡層。
一樣,這個請求將進一步下傳到本地設備協議棧的如下各層。
服務原語:用於描述服務用戶和服務提供者之間交互做用的、抽象的、與具體無關的表現方式。服務原語只有4種類型:
PDU:Protocol Data Unit,協議數據單元,是指對等層次之間傳遞的數據單位。
APDU:Application Protocol Data Unit,應用協議數據單元。
NPDU:Network Protocol Data Unit ,網絡協議數據單元。
LPDU:Link Protocol Data Unit,鏈路協議數據單元。
MPDU:MAC Protocol Data Unit,MAC協議數據單元。
PPDU:Presentation Protocol Data Unit,表示協議數據單元。
BACnet應用層主要有兩個功能:
BACnet應用進程模型:
一個應用進程包括:應用程序和應用實體,應用實體位於應用層內,屬於通訊協議的部分,應用程序不屬於協議部分。應用程序和應用實體之間經過API進行通訊。
應用層有四種原語,分別爲:請求(request)、指示(indication)、響應(response)和證明(confirm)。
BACnet對象模型:
BACnet網絡協議使用先進的面向對象技術,經過封裝在APDU內的對象數據進行通信。BACnet擁有28個對象:
序號 | 對象名稱 | 應用實例 |
01 | Accumulator | 累加器 |
02 | Analog Input | 模擬輸入對象 |
03 | Analog Output | 模擬輸出對象 |
04 | Analog Value | 模擬值對象 |
05 | Averaging | 平均器 |
06 | Binary Input | 二進制輸入對象 |
07 | Binary Output | 二進制輸出對象 |
08 | Binary Value | 二進制值對象 |
09 | Calendar | 日期表對象 |
10 | Command | 命令對象 |
11 | Device | 設備對象 |
12 | Event Enrollment | 事件登陸對象 |
13 | Event Log | 事件日誌對象 |
14 | File | 文件對象 |
15 | Global Group | 全局組對象 |
16 | Group | 組對象 |
17 | Life Safety Point | 生命安全監測點的信息檢測 |
18 | Life Safety Zone | 生面安全區域的信息檢測 |
19 | Loop | 控制環對象 |
20 | Multi-State Input | 多態輸入對象 |
21 | Multi-State Output | 多態輸出對象 |
22 | Multi-State Value | 多態值對象 |
23 | Notification Class | 通告類對象 |
24 | Program | 程序對象 |
25 | Pulse Converter | 脈衝轉換器 |
26 | Schedule | 時間安排對象 |
27 | Trend Log | 趨勢記錄對象 |
28 | Trend Log Multiple | 多趨勢記錄對象 |
BACnet服務:
BACnet具備35種服務,服務是操做對象的方法。這35種服務分爲6類,分別爲:報警與事件服務,文件訪問服務,對象訪問服務,遠程設備管理服務、虛擬終端服務和網絡安全服務。
其中,對象服務訪問包括:
遠程設備管理服務包括:
BACnet網絡層的做用是檢查網絡拓撲結構,決定最佳路由。
BACnet互聯網絡拓撲結構:
物理網段(Physical Segment):直接鏈接如下BACnet設備的一段物理介質。
網段(Segment):多個物理網段經過「中繼器」在物理層鏈接,所造成的網絡段。
網絡(Network):多個BACnet網段經過網橋互聯而成,每隔BACnet網絡都造成一個單一的MAC地址域。這些在物理層和數據鏈路層上鍊接各個網段的設備,能夠利用MAC地址實現報文的過濾。
互聯網絡(Internetwork):將使用不一樣LAN技術的多個網段,用BACnet路由器互聯起來,便造成了一個BACnet互聯網絡。在一個BACnet互聯網絡中,任意兩個節點之間剛好存在着一條報文通路。
BACnet標準將五種類型的數據鏈路/物理層技術做爲本身所支持的數據鏈路/物理層技術進行規範,造成其協議。
ARCNET局域網:
ARCNET是1977年由Datapoint公司開發的一種安裝普遍的局域網(LAN)技術,它採用令牌總線(token-bus)方案來管理LAN上工做站和其餘設備之間的共享線路,其中,LAN服務器老是在一條總線上連續循環的發送一個空信息幀。
當有設備要發送報文時,它就在空幀中插入一個「令牌」以及相應的報文。當目標設備或LAN服務器接收到該報文後,就將「令牌」從新設置爲0,以便該幀可被其餘設備重複使用。這種方案是十分有效的,特別是在網絡負荷大的時候,它爲網絡中的各個設備提供平等使用網絡資源的機會。
主從/令牌傳遞(MS/TP)協議:
BACnet的主從/令牌傳遞局域網技術的基礎時使用EIA-485標準。
因爲EIA-485標準只是一個物理層標準,不能解決設備訪問傳輸介質的問題,BACnet定義了主從/令牌(MS/TP)協議,提供數據鏈路層功能。
MS/TP網絡使用一個令牌來控制設備對網絡總線的訪問:
點到點(PTP)通訊協議:
爲了使兩個BACnet設備可以各類點到點通訊機制進行通訊,BACnet定義了點到點數據鏈路層通訊協議,面向鏈接的協議,這個協議的功能是:
一旦這種鏈接成功創建後,兩個設備就能夠透明地交換BACnet PDU。
不管呼叫設備仍是被呼叫設備,均可以啓動釋放鏈接過程,而只有每一個設備都發送了終止請求後,鏈接纔會終止。
對應地物理鏈接有:EIA-232鏈接調制解調器,線路驅動器,或者其餘數據通訊設備。