認識BACnet協議

1、什麼是BACnet?

BACnetBuilding Automation and Control networks的簡稱,即樓宇自動化與控制網絡。是用於智能建築的通訊協議。安全

通常樓宇自控設備從功能上講分爲兩部分:一部分專門處理設備的控制功能;另外一部分專門處理設備的數據通訊功能。而BACnet就是要創建一種統一的數據通訊標準,使得設備能夠互操做。BACnet協議只是規定了設備之間通訊的規則,並不涉及實現細節。服務器

BACnet協議模型爲:網絡

(1)全部的網絡設備,除基於MS/TP協議的之外,都是徹底對等的(peer to peer);less

(2)每一個設備都是一個「對象」的實體,每一個對象用其「屬性」描述,並提供了在網絡中識別和訪問設備的方法;設備相互通訊是經過讀/寫某些設備對象的屬性,以及利用協議提供的「服務」完成;異步

(3)設備的完善性(Sophistication),即其實現服務請求或理解對象類型種類的能力,由設備的「一致性類別」(Conformance Class)所反映。oop

 

2、BACnet的體系結構

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協議。

 

3、BACnet的協議棧和數據流

由應用層服務原語產生的應用層協議數據單元(APDU),構成了網絡層服務原語的數據部分,並經過網絡層服務訪問點下傳到網絡層。

一樣,這個請求將進一步下傳到本地設備協議棧的如下各層。

服務原語:用於描述服務用戶和服務提供者之間交互做用的、抽象的、與具體無關的表現方式。服務原語只有4種類型:

  • 請求(Request) 用戶實體要求服務作某項工做   源(N+1)實體—>源(N)實體
  • 指示(Indication) 用戶實體被告知某事件發生   目的(N)實體—>目的(N+1)實體
  • 響應(Response) 用戶實體表示對某事件的響應   目的(N+1)實體—>目的(N)實體
  • 確認(Confirm) 用戶實體收到關於它的請求的答覆   源(N)實體—>源(N+1)實體

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,表示協議數據單元。

 

4、BACnet應用層

 BACnet應用層主要有兩個功能:

  • 定義樓宇自控設備的信息模型——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類,分別爲:報警與事件服務文件訪問服務對象訪問服務遠程設備管理服務虛擬終端服務和網絡安全服務

其中,對象服務訪問包括:

  • 建立對象服務
  • 刪除對象服務
  • 讀屬性服務
  • 條件讀屬性服務
  • 讀多個屬性服務
  • 寫屬性服務
  • 寫多個屬性服務

遠程設備管理服務包括:

  • 設備通訊控制服務
  • 有證明專有傳輸服務
  • 無證明專有傳輸服務
  • 從新初始化設備服務
  • 有證明文本報文服務
  • 無證明文本報文服務
  • 時間同步服務

 

5、BACnet網絡層

 BACnet網絡層的做用是檢查網絡拓撲結構,決定最佳路由。

  • 網絡層提供將報文直接傳送到一個遠程BACnet設備、廣播到一個遠程BACnet網絡、或者廣播到全部的BACnet網絡中的全部BACnet設備的能力。
  • 一個BACnet設備由一個網絡號碼和一個MAC地址惟一肯定

BACnet互聯網絡拓撲結構

物理網段(Physical Segment):直接鏈接如下BACnet設備的一段物理介質。

網段(Segment):多個物理網段經過「中繼器」在物理層鏈接,所造成的網絡段。

網絡(Network):多個BACnet網段經過網橋互聯而成,每隔BACnet網絡都造成一個單一的MAC地址域。這些在物理層和數據鏈路層上鍊接各個網段的設備,能夠利用MAC地址實現報文的過濾。

互聯網絡(Internetwork):將使用不一樣LAN技術的多個網段,用BACnet路由器互聯起來,便造成了一個BACnet互聯網絡。在一個BACnet互聯網絡中,任意兩個節點之間剛好存在着一條報文通路。

 

6、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網絡使用一個令牌來控制設備對網絡總線的訪問:

  • 當主節點掌握令牌時,它能夠發送數據幀。
  • 凡是收到主節點請求報文的主(從)節點均可以發送響應報文。一個主節點在發送完報文以後,就將令牌傳遞給下一個主節點。
  • 若是主節點有許多報文要發送,當它一次掌握令牌期間最多隻能發送Nmax_info_iframes個數據幀,就必須將令牌傳遞給下一個主節點,其餘數據幀只能在它再一次掌握令牌時,才能發送。

 

點到點(PTP)通訊協議

 爲了使兩個BACnet設備可以各類點到點通訊機制進行通訊,BACnet定義了點到點數據鏈路層通訊協議,面向鏈接的協議,這個協議的功能是:

  • 使兩個BACnet網絡層實體創建點到點數據鏈路鏈接,可靠地交換BACnet PDU。
  • 使用已創建地物理鏈接執行BACnet點到點鏈接的有序終止。

一旦這種鏈接成功創建後,兩個設備就能夠透明地交換BACnet PDU。

不管呼叫設備仍是被呼叫設備,均可以啓動釋放鏈接過程,而只有每一個設備都發送了終止請求後,鏈接纔會終止。

對應地物理鏈接有:EIA-232鏈接調制解調器,線路驅動器,或者其餘數據通訊設備。

相關文章
相關標籤/搜索