雖然已有多次 BACnet 各項等級產品 BTL 認證的經驗,但在正式成立 元米科技 後,這是第一次成功協助客戶通過BACnet 實驗室認證。這是以開源的 BACnet Protocol Stack 完成的 B-ASC(BACnet Application Specific Controller)等級的 MODBUS 轉 BACnet MS/TP協訂產品。

BACnet Protocol Stack 是目前可以免費取得的最完整的 BACnet 協定開放原始碼,支援 BACnet/IP、Ethernet、MS/TP 等實體與網路連結層,以及多項物件(Object)與服務(Service)。他的 Demo 程式展示了 Linux與 Windows 作業系統上的應用程式,同時具備 AVR、PIC 以及 ARM 等嵌入式設備的實作。

以此次將 BACnet Protocol Stack V0.8.0 版ARM 的 STM32f10x 範例產品化,作為 MS/TP B-ASC 等級產品並送交 BTL 實驗室認證經驗看來,BACnet Protocol Stack 原始程式碼已可順利通過 MS/TP Data link 層以及 B-ASC 基本的 Service 認證,至於各項 Object 的實作,則會因為自行修改幅度較大的因素而可能產生部分相容性缺失。

經 BTL驗證發現BACnet Protocol Stack V0.8.0 B-ASC 基本的 DS-RP-B、DS-WP-B、DS-DDB、DS-DOM-B、DS-DCC-B 各項 BIBBs 皆順利通過驗證,常用並建議具備的 DS-RPM-B 也沒有問題產生 ,但在較複雜的 DS-WPM-B 就發生相容性問題,無法通過寫入部分屬性錯誤的測試項目。

此外,在另一個使用 BACnet Protocol Stack 搭配 lwIP 作為 IP Stack 的案例發現 BACnet Protocol Stack 0.8.0 版 bip.c 在讀寫較長封包時,可能發生因長度超過記憶體緩衝區大小而造成系統癱瘓。

儘管如此,開源的 BACnet Protocol Stack 仍舊是進入 BACnet 產品開發的最佳途徑。目前BACnet Protocol Stack 最新版為 0.8.2 版,但經過比對,除了部分定義檔變更與增加 Demo 檔外,修正幅度並不大。BACnet Protocol Stack 可以於以下路徑取的原始碼:http://sourceforge.net/projects/bacnet/

元米科技 以 BACnet 推廣為主要營業目標,提供產品開發、技術指導、認證協助等多項 BACnet 技術服務,可大幅降低您進入BACnet 領域的門檻。相關資訊請訪問 http://www.icdt.com.tw