BEMS、BACnetについて

 BACnetに関する知識や、用語をまとめた用語集です。

BEMSとは

 BEMS(ベムス)とは、 Building and Energy Management Systemの略で、日本語にすれば「ビル・エネルギー管理システム」 となります。センサを使用して空調や照明を制御し、建物全体のエネルギー効率をよくすることで省エネを省エネにつなげるシステムのことです。

BACnetとは

 BACnet(バックネット)とは、Building Automation and Control Networking protocol  の略で、 ビルオートメーションシステムの主流通信プロトコル規格です。同様の用途のプロトコルとしては、他にもLonWorksなどがあります。 以前はビルオートメーション用の機器、プロトコルはベンダー独自のクローズドなものがほとんどでしたが、機器のマルチベンダー化、プロトコルのオープン化が進んでおり、その中で登場したプロトコルです。ASHARE/ANSI/ISO で規格化されています。

BACnet の通信方式

 BACnet では通信にUDP/IPを利用します。通信ポート番号は 47808番で、これは16進数で表すと 0xBAC0 になります。

オブジェクトとプロパティとは

 BACnetでは通信機器をデバイス、オブジェクト、プロパティという概念で抽象化しています。 例えば、ANSI/ASHRAE Standard 135-2004 (ASHRAE-2004)においては、 Analog Input や Trend Log など25のオブジェクトが定義されている。 ANSI/ASHRAE 135-2016 BACnet (BACnet2016)では、エレベーターやエスカレーターを表すElevator Group、Escalator、Liftといったオブジェクトまで導入されています。

 1つのデバイスの下には複数のオブジェクトがぶら下がっており、同一デバイス内でオブジェクトID(正確にはインスタンス番号)が重複することはありません。

 また、プロパティはオブジェクの属性情報で、オブジェクトの名称を意味するObject_Nameや、現在値を意味するPresent_Value などが存在します。

オブジェクトIDとは

 オブジェクトIDとはBACnetオブジェクトを一意に識別するIDです。10bitのBACnetオブジェクトタイプと、22bitのインスタンス番号で構成された、32bitの値です。オブジェクト識別子(Object Identifier)とも呼ばれます。もし、BACnetのAPDUでAPDU Type=Error(0x05)、かつError Code=unknown-object(0x1f)を受信するようであれば、オブジェクトタイプとインスタンス番号が間違ってないか確認が必要です。

オブジェクトタイプとは

 BACnetオブジェクトから送受信される信号の性質を表したものをオブジェクトタイプと呼びます。

番号オブジェクトタイプ名称用途
0AIAnalog Input温度や湿度などの値
1AOAnalog Output
2AVAnalog Value
3BIBinary InputON/OFFなどの2状態
4BOBinary Output
5BVBinary Value
13MIMulti-state Input風量の弱/中/強など
14MOMulti-state Output

インスタンス番号とは

 Bacnet から操作可能なオブジェクトに対応した番号です。オブジェクト番号はデバイス依存、メーカー依存なので予め通信先のBacnet機器の仕様書を確認するなどして把握しておく必要がありますが、Who-Is コマンド(BACnet Stack における bacwi コマンド)で調べることもできます。

 このインスタンス番号ごとに発停や風量などのオブジェクトが割り振られています。また同じ発停や風量でも、状態取得や状態監視のためのオブジェクトと、状態設定、制御のためのオブジェクトでは別オブジェクトになっていることが多いです。これは、オブジェクトタイプがInputとOutputで異なっているためです。

Conformance Code とは

 BACnetの世界では各装置(デバイス)はオブジェクトというモデルに抽象化されます。 例えば、警報状態や空調機の運転/停止等の状態であれば、バイナリーインプットオブジェクトタイプ、温度や湿度等の多段階の値であればアナログ インプットオブジェクトタイプ 、というように。これらの各オブジェクトはプロパティ(属性値)をもち、各プロパティには Property IdentifierとDatatype、そしてConformance Codeが定義されています。Conformance Code は、各プロパティに対して可能な制御を定義します。

RReadable(読み込み可能)
WReadable and Writable
OOptional(オプション)

上位や下位とは

 元々BACS(Building Automation and Control System)の世界においては中央装置(HIMSやB-OWS)と呼ばれる装置と、基幹ネットワーク(BACnet/IP)をとおしてそれにぶら下がる機器(B-BC)が存在する。このとき、B-OWSを上位システム、B-BCを下位システムと呼ぶことがある。なお、他の略語も一覧化すると

  • B-OWS(Operator Workstation)⇒中央監視装置
  • B-BC(Building Controllers)⇒建物・設備区分コントローラ
  • B-AAC(Advanced Application Controllers)⇒熱源等高機能コントローラ
  • B-ASC(Application Specific Controllers)空調機・VAV等コントローラ
  • B-SA(Smart Actuators)スマートアクチュエータ
  • B-SS(Smart Sensors)スマートセンサ

などがあります。

BACnet のサービスとは

 BACnet プロトコルでは機器間の通信を行う場合に、用途ごとに手順やパケットのフォーマットを規定しています。例えばBACnetネットワークへのデバイス参入にはWho-IsやI-Amといったサービスが用いられます。主なサービスには次のものがあります。

Who-IsBACnetネットワーク上に存在する機器を確認するためにブロードキャストで送信される。
I-amBACnetネットワークに対して、デバイスの存在を知らせるために送信される。
TimeSyncronizationBACnetデバイスの参入時などに、ネットワーク側と機器側で時刻を同期する
WritePropertyデバイスに情報を書き込む
ReadPropertyデバイスから情報を読み込む

ICONT や HIM とは

 ICONT や HIM は主に電気設備学会で使用されていた機能分類語です。 ICONT は  Intelligent Controller の略で BACnet の下位システムと対応します。HIM は Human Interface Module の略で BACnet の上位システムと対応します。大まかにはHIM は B-OWSに、ICONT は B-BC や B-AAC、B-ASC に対応します。

BACnet ゲートウェイとは

 BACnet ゲートウェイ(BACnetGWとも)とは、BACnet に対応していない空調などの機器を BACnet に接続させるために間に挟む機器のことです。直接空調機器と接続されるわけではなく、PLC(Programmable Logic Controller)を介して接続される他、機器ごとのインターフェース開発が可能な製品などがあります。対応する規格、PLC、オブジェクト、サービスにはメーカー、機器ごとに差異があります。

BVLL とは

 BVLLとは(BACnet Virtual Link Layer)の略称で、IPヘッダとNPCIとの間にBVLLヘッダを挟み込んで使用します。TypeやFunctionのオクテットデータを含んでおり、Functionではユニキャスト、ブロードキャストの制御が可能です。Type は BACnet/IP のBVLL であれば 0x81 固定となります。こちらはWireshark で BACnet/IP パケットのBVLLを表示した例です。

BACnet NPCI とは

 BACnet NPCI とはBACNetのNPDUに含まれている、Network Layer Protocol Control Information のことで、BACnet 2012 6章の「THE NETWORK LAYER」にて説明されています。DNET、DLEN、DADRなどが含まれていますが可変長です。BACnetのNPDUでは、NPCIの後にAPDUが続きます。典型的なBACnetのNPDUでは、Versionが1オクテット、Controlが1オクテットで、その後は即APDUが続く、という例があります。
 下記が実際に BACnetのNPDU を Wiresharkでキャプチャして表示した画面です。BVLL と Bacnet APDU の間にVersionとControlが含まれていることがわかります。また、今回送出しているAPDUがレスポンスを期待したものなので、 0x04 として応答メッセージありのビットが創出されています。

APDUとは

 APDU とは Application Protocol Data Unit の略で機器間が通信する最小のデータ単位です。BACnetで使用されるAPDUを特にBACnet APDUと呼ぶこともあります。 Wiresharkには標準のフィルタで『bacnet』が存在しますので、フィルタ欄にbacnetと入力すれば添付画像のようにBACnetのパケットが確認できます。

 BACnet APDU のタイプとして以下の8種類が存在します。

APDU Type 0Confirmed Request
APDU Type 1Unconfirmed Request
APDU Type 2Simple ACK
APDU Type 3Complex ACK
APDU Type 4Segment ACK
APDU Type 5Error
APDU Type 6Reject
APDU Type 7Abort

BACnet Priority Array とは

 BACnet ではコマンド実行時に1から16の優先順位(プライオリティ)をつけることができます。ただし、16のプライオリティのうち用途が指定されているのは

  • 1 Manual-Life Safety
  • 2 Automatic-Life Safety
  • 5 Critical Equipment Control
  • 6 Minimum On/Off
  • 8 Manual Operator

で、それ以外は将来の拡張のために残されています。機器メーカーによって、BACnetのコマンド実行時のプライオリティが指定されていることがあるので、通信失敗時にはプライオリティの設定が正しいかの仕様書の確認が必要です。

BACnet MS/TP とは

 BACnet MS/TP とは BACnet の通信方式の一つで、通信にシリアル通信を使用するものです。 MS/TP とは Master Slave Token Passing の略です。BACnet MS/TP では通信に RS-485 を使用します。RS-485 とは RS232C を高速、長距離の通信ができるように改良した規格です。

COV Notificationサービスとは

 COV Notificationサービスとは、BACnetのオブジェクトが状態の変化を通知するための仕組みで、COVはChangeOfValueの略称です。COVのNotificationには、対抗システムで確認が必要となる ConfirmdCOVNotification Service と、確認の必要がない UnconfirmdCOVNotification Service が存在します。

キュービクルとは

キュービクルとは、キュービクル式高圧受電設備のことです。発電所でつくられ、変電所で6600Vとなった電気を、商業施設やオフィスビルなどで使いやすいように100Vまたは200Vに降圧させるための設備のことです。なお一般家庭のいては、電柱の上にくっついたバケツのような形で知られている 柱上変圧器(トランス) にて、 100Vまたは200V への降圧が行われ、各家庭へ配電されます。

D-BACSとは

 D-BACSとはダイキン社製の個別空調管理システムです。BACnet のほか、LonWorksやRS232Cによる通信が可能です。

BACnetの対応が可能なベンダーをお探しなら

 宮城、仙台でBACnetに関連するシステム導入にお困りの方や、システムの構築、受託開発が可能なベンダーをお探しならば、ぜひ弊社までご相談ください。

宮城県仙台市のシステム開発会社FITS
https://www.fits-inc.jp/