BACnet/IP (HVAC / ビルオートメーション)
BACnet (Building Automation and Control networks) は、ビルオートメーション (BA) 領域における標準通信規約です。空調 (HVAC)、照明、火災検知、入退室管理などで最も広く使われており、BACnet 上に IP を載せた BACnet/IP が現在の事実上の標準となっています。
このゲートウェイは、共通統合エンジンを通じて BACnet/IP を 読み取りモード でサポートします。
BACnet は一般的な産業用 PLC ではなく、BMS (Building Management System) コントローラ (Honeywell、Johnson Controls、Schneider Andover、Delta Controls、Siemens Desigo など) で主に遭遇します。すでに BMS が稼働中であれば、直接ポーリングするのではなく、BMS のゲートウェイ / 統合 API を優先的に検討してください。
登録フォームの入力値
| 入力欄 | 記入内容 | 例 |
|---|---|---|
| IP アドレス | BACnet コントローラの IP | 192.168.10.50 |
| ポート | BACnet/IP ポート | 47808 (= 0xBAC0、標準) |
| Device ID (device-id) | BACnet デバイスインスタンス番号 | 1001 |
| 応答タイムアウト | 応答待ち時間 (ms) | 3000 |
BACnet は IP と Device ID の組み合わせでデバイスを識別します。YABE (Yet Another BACnet Explorer) のような無償ツールでネットワークをスキャンすれば、デバイスインスタンス番号 / オブジェクト一覧を一目で確認できます。BMS 図面 (Submittal) の BACnet PICS 文書にも明記されています。
BACnet/MSTP (シリアル) の場合
現場に敷設されているものが BACnet/MSTP (RS-485) の場合、PlantPulse Edge が直接通信することはできません。以下のいずれかが必要です。
| 方法 | 備考 |
|---|---|
| BACnet ルータ (Cimetrics B6020、Contemporary Controls BASrouter など) | MSTP ↔ IP 変換。最も一般的 |
| BMS 側に IP モジュールを追加 | コントローラのファームウェア/モジュールのアップグレード |
| 統合ゲートウェイ (Niagara、Tridium) 経由 | 大規模サイトの標準 |
タグの PLC アドレス表記
BACnet オブジェクトは <objectType>:<instance> 形式で入力します。
| 表記 | 意味 |
|---|---|
analogValue:1 | Analog Value 1 (温度/湿度/流量などの実数型) |
analogInput:5 | Analog Input 5 (センサ直結入力) |
analogOutput:2 | Analog Output 2 (バルブ / ダンパ指令) |
binaryValue:10 | Binary Value 10 (ブール値) |
binaryInput:5 | Binary Input 5 (デジタル入力 / 接点) |
binaryOutput:3 | Binary Output 3 (リレー指令) |
multiStateValue:1 | Multi-State Value 1 (モード / 状態) |
よく使われるオブジェクトタイプ。
| タイプ | コード | 用途 |
|---|---|---|
| Analog Input / Value / Output | analogInput / analogValue / analogOutput | 実数 (温度、風量など) |
| Binary Input / Value / Output | binaryInput / binaryValue / binaryOutput | 0/1 (運転、アラーム) |
| Multi-State Input / Value / Output | multiStateInput / multiStateValue / multiStateOutput | 1, 2, 3, … (運転モード) |
データ形式のマッチング
| BACnet オブジェクト | データ形式 | 形式補助 |
|---|---|---|
| analogValue / analogInput / analogOutput | Float | REAL |
| binaryValue / binaryInput / binaryOutput | Boolean | (空欄) |
| multiStateValue / multiStateInput / multiStateOutput | Integer | (空欄) |
| (属性) Object Name などの文字列 | String | (空欄) |
デフォルトではオブジェクトの Present_Value 属性を読み取ります。他の属性 (例: Status_Flags、Out_Of_Service) が必要な場合は、高度な設定 — REST API から直接呼び出してください。
よくある問題と解決
| 症状 | 考えられる原因 | 解決 |
|---|---|---|
| 「No response」 / timeout | Device ID 不一致、47808 ポート遮断、BBMD 未設定 | YABE でデバイスを検索して ID を確認、ファイアウォールで 47808/UDP を許可 |
| 別サブネットのデバイスが見えない | BACnet は基本的に同一 broadcast ドメイン内 | BBMD (BACnet Broadcast Management Device) または Foreign Device Registration を設定 |
| 値は取得できるが意味が曖昧 | Engineering Units はオブジェクト属性に格納されている | YABE / BMS 図面でオブジェクトごとの単位 (°C、kPa、%、…) を確認 |
| マルチステートの数値しか見えない | State_Text は別の属性 | BMS マッピング表 (1=停止、2=運転、3=アラーム など) と 計算式 でラベルに変換 |
次のステップ
- 高度な設定 — REST API の BACnet 例
- ビルサイトの統合は、通常 Niagara / Tridium の上に載せる方がシンプルです — BMS チームと協議してください。