以下就以往 BACnet 網路建置經驗提出建議,供同業參考:
1. 相同 MS/TP 網路上的 MAC 地址不可以重複:這是基本常識,但也是許多初期應用者會忽略的,尤其沒有注意到 Router 的 MS/TP 端也是有 MAC 地址的(建議為 0)。
2. 每個設備 Device Instance 編碼時應預留日後多棟建築整合時的相容性: BACnet 最大的好處就是系統整合容易,前後期專案可以輕易連成一個網路,並且進行資料分享。但是如果在學校等專案進行對於每個 Device 的編碼沒有預留日後整合空間,而重複使用相同編號,則日後將無法順利聯結成一個網路。因此 Device Instance 編碼數值範圍 0~4191302 中,應預留較高位置最為專案的起始編號,例如 A 棟建築編碼從 10000 開始,B 棟建築從 2000 開始,這樣日後才可以容易的整合成一個網路。
3. 降低網路流量: BACnet 的資料傳輸可能透過較高速的 Ethernet 網路或速度相對較低的 MS/TP 網路,過大的資料量長或造成超出 Router 資料緩衝區而丟失。要避免流量過大,必須注意以下幾點:
- 發出封包(PDU)的設備(例如電腦圖控 Workstation、OPC 整合程式、B-BC 控制器等)應該有控制流量機制,不可以無限制速度的對網路發送封包,最好還能區分目的網路的類型(是否為 MS/TP、Zigbee等)控制流量。
- 降低跨網路封包數量,使資料分享的動作儘可能在區域網路(local network)進行,以降低 BACnet router 的負荷。
- 儘可能使用獨立控制器(Stand alone),尤其對於即時性要求較高的場合(如壓力控制等)更該如此。
4. 注意網路安全性:BACnet 是開放的網路架構,但由於開放,因此很容易被惡意或非意外的介入控制,如果是 MS/TP 端的專用網路風險較低,然而連結到 BACnet/IP,又將該設備直接連到公用的網路,則整個網路系統都暴露在該網路之下,只要任何使用者具有 VTS、ICDT Web HMI 等易於取得的電腦端程式,就可以不受管制的操控任何設備、刪除控制器內的程式(透過 AtomicWriteFile Service 等),惡意破壞的人還好,畢竟心存惡念的人不多,就怕是正在摸索 BACnet 系統的初學者,無心的操作對於系統造成無法挽回的傷害,而沒有留下任何紀錄。
因此 BACnet/IP 的架設建議與公用網路切開,如果要開放一般操作者操控部分,建議透過 ICDT Web HMI 等提供 Web 介面。BACent/IP 的 Port 設定也應該避開預設的 47808 Port,以降低立即被介入的機會(雖然透過 Whois service,很輕易就可以在不同 Port 掃瞄到受控設備)