BACnetの情報収集中

仕事の関係で、BACnetについての情報を集めています。BACnetというのは簡単に言うと、ビルやマンションの設備を管理・制御するためのプロトコルです。ISO 16484-5として標準規格になっているようです。普及しているかどうかはともかくとして。

ところで、テレコム業界にはCMIPというOSIの標準プロトコルが昔からありまして、こちらは通信装置の管理・制御を行うためのプロトコルです。SNMPのちょっと高度なバージョンという位置づけでしょうか。普及しているかどうかはともかくとして。

5年くらい前にCMIPを相手に格闘していた時期があったのですが、そのときに経験したCMIPと今勉強しているBACnetを比べていると、BACnetもCMIPも実現しようとしていることの本質は同じではないかなあと、強く思います。

  • 管理する側(Manager)、管理される側(Managed Objects)という考え方をする。
  • 管理される側は、ある程度の単位でクラスが定義される。例えば「スイッチ」というクラス。
  • 管理する側は、管理される側をオブジェクトの集まりとして扱う。
  • プロトコルの肝は、オブジェクトの生成・削除(CREATE/DELETE)、オブジェクトの属性取得/設定(GET/SET)・オブジェクトからの属性変化通知(EVENT)。

Manager側を作るとき、一番悩むのが実際の管理対象機器との状態整合とその検証ルーチン、そしてEVENTの扱いだという点も似ているような気がします。まあ、ぼくの理解がまだまだ浅いという可能性がかなりありますが・・・。