テクノロジー
技術レポート:アーカイブ
Category:ビルインテリジェント
テナントサービスシステム開発

2018年度に、ビル管理システムを手掛けている三菱電機ビルテクノサービス(株)からの依頼で、Webブラウザ対応のテナントサービスシステムを受託開発した。テナントサービスシステムには、プラットフォームとして三菱電機(株)名古屋製作所製の市販SCADAソフトウェアであるMC Works64を採用した。MC Works64は、空調・照明機器制御用のBACnet(Building Automation andControl Networking protocol)(注1)通信、Webサーバ機能、データベース機能及び、モバイル機能を装備しており、これらが採用の決め手となった。本稿では、テナントサービスシステムの概要と開発内容について紹介する。
参考情報:
- この技術レポートは、当社が展開するビル事業のビルインテリジェントソリューションに係る技術について著述されたものです。
- ビルインテリジェントソリューションは、稲沢事業所が提供しています。
テナントサービスシステム開発 (1)テナントサーバテナントサーバは、MC Works64動作環境、IISを使用したWebサービス、SQL Serverを使用したデータベースで構成されている。BACnet通信を介し、コントローラ群経由で空調・照明機器に対しON/OFF制御及びスケジュール制御を行う。(2)クライアントPCクライアントPCは、テナントサーバからブラウザ上にMC Works64アプリケーションをダウンロードし、画面を表示する。(3)モバイル機器スマートフォン、タブレット等には、テナントサーバ上で動作するMC Works64アプリケーション画面を表示する。(4)コントローラ群空調制御、電力監視、照明制御を行うコントローラである。BACnet通信を介して、テナントサーバやビル管理システムの中央監視装置からの指示により空調・照明機器の制御を行う。 1.まえがき 2018年度に、ビル管理システムを手掛けている三菱電機ビルテクノサービス(株)からの依頼で、Webブラウザ対応のテナントサービスシステムを受託開発した。テナントサービスシステムには、プラットフォームとして三菱電機(株)名古屋製作所製の市販SCADAソフトウェアであるMC Works64を採用した。MC Works64は、空調・照明機器制御用のBACnet(Building Automation andControl Networking protocol)(注1)通信、Webサーバ機能、データベース機能及び、モバイル機能を装備しており、これらが採用の決め手となった。本稿では、テナントサービスシステムの概要と開発内容について紹介する。 2.テナントサービスシステム概要 ビル管理システムは、空調、照明のスケジュール設定による自動制御や設備監視、エネルギー使用量の監視、入退出の管理などを行い、ビル全体の設備運用効率化を図っている。今回開発したテナントサービスシステムは、ビル管理システムとは独立したシステムであり、インターネット経由でビル管理システムのコントローラ群を制御し、各種サービスをビルに入居するテナント向けに提供する。テナントサービスシステムには、空調・照明の制御、エネルギー使用量の表示、屋外の環境情報、気象情報の表示、ビル管理者からのお知らせ、ビル管理者への問合せなどの機能がある。2.1 テナントサービスシステムの構成テナントサービスシステムは、1台のテナントサーバとそれにアクセスするクライアントPC及びモバイル機器により構成される。システム構成図を図1に示す。テナントサービスシステム開発長崎事業所 技術第1部 エネルギー産業課南 明樹一般論文(注1)インテリジェントビル用ネットワークのための通信プロトコル規格。テナントサーバデスクトップPC ノートPCタブレット スマートフォンインターネットクライアントPCモバイル機器テナントサービスシステムファイアウォールファイアウォールコントローラ群(空調制御)(電力監視)(照明制御)ビル管理システムBACnet図1.システム構成図59テナントサービスシステム開発テナントサービスシステムで使用したMC Works64のアプリケーションは以下のとおり。(1)GraphWorX/GridWorX画面作成アプリケーションである。PC版、モバイル版の画面は本アプリケーションを使用して製作する。(2)AlertWorXメール管理用アプリケーションである。通知用メール発報に使用する。(3)MC Mobileタブレット、スマートフォンなどのモバイル機器への表示のために必要なアプリケーションである。(4)Workbench監視制御システムで取り合う各種設定(ネットワーク設定、データ収集/加工設定など)を行うプロジェクト管理アプリケーションである。テナントサービスシステムでは、BACnetシステムに接続される機器であるBACnetデバイス、BACnet装置が持っている入出力やスケジュールデータであるBACnetオブジェクト、データベースインターフェース、共通変数等を登録し、画面から利用可能とした。3.テナントサービスシステム開発MC Works64をプラットフォームとした実装方法と動作について紹介する。3.1 MC Works64の利便性テナントサービスシステムに採用したMC Works64の利便性を述べる。(1)BACnet通信との親和性空調・照明機器の制御を行うためのBACnet通信機能が標準で装備されており、Workbenchへの登録を行うのみで該当機器の監視や制御が容易に行える。(2)モバイル機能構築の容易性タブレット、スマートフォンなどのモバイル機器への表示機能を実装するために必要なアプリケーションが装備されており、モバイル機器へのサービス提供環境を容易に構築できる。(3)データベース構築の容易性MC Works64インストール時に自動でSQLServerもインストールされるため、アプリケーションで使用するテナント情報、所属情報、ユーザー情報のテーブルを容易に構築できる。(4)Webサーバ機能構築の容易性MC Works64インストール時に自動でIISにWebサーバ設定を追加するため、インターネット経由でテナントユーザーにサービスを提供するWebサーバを容易に構築2.2 テナントサービスシステムの機能テナントサービスシステムの機能を表1に示す。2.3 ソフトウェア構成MC Works64をプラットフォームとしたテナントサーバのソフトウェア構成を図2に示す。Windows Server 2012 R2SQL Server 2014WorkbenchMC MobileAlertWorXGraphWorX/GridWorXIISMC Works64図2.テナントサーバのソフトウェア構成機能名機能概略空調・照明制御機能ログインしたユーザーが属するテナントの空調・照明の監視、制御を行う。制御は、一括、個別での発停操作と時刻指定のスケジュールを設定するエネルギー表示機能ログインしたユーザーが属するテナントのエネルギー使用量をグラフ表示する環境情報表示機能屋外の環境情報(温度、湿度、風向、風速)を表示する気象情報表示機能外部の気象情報Webサイトのハイパーリンクを表示するお知らせ機能ビル管理者からテナントユーザーに対して連絡事項を通知するお問合せ機能テナントユーザーからビル管理者に対して問合せを行い、ビル管理者から回答する履歴機能空調・照明の発停及びスケジュール変更、温度設定の履歴を参照するシステムサポート機能ビル、ゾーン、テナント、所属、ユーザーの情報を登録する表1.機能一覧60テナントサービスシステム開発3.3 クライアントPCでの動作クライアントPCとサーバ間の実行イメージを図4に示す。①クライアントPCは、サーバ上のGraphWorXで作成した画面をWebブラウザに表示するアプリケーション、必要なツール一式及び、画面をダウンロードすることで画面を表示する。②ユーザー操作のイベント処理はクライアント側で実行される。ユーザー操作に対し、スクリプト言語で条件判断及び要求データ抽出を行いサーバに送信する。③サーバから取得した必要情報を画面上に表示する。できる。3.2 テナントサービス実装方法MC Works64の各種アプリケーションを用いてテナントサービスを以下のとおり実装した。(1)画面MC Works64の画面作成アプリケーションであるG r a p h W o r X を使用して全3 1 画面を作成した。GraphWorXで作成した画面はhtmlに変換されブラウザ上に表示する仕組みとなる。画面上で発生するボタンクリック等のイベント処理は、ログインユーザーごとの操作権限で条件判断を行うために、MC Works64のイベント機能を使用せず、より自由度が高いスクリプト言語を採択した。また、テナントサービスシステムの基本情報であるユーザー情報、テナント情報、フロア・ゾーン情報は、SQLServerのデータベース上に構築した。なお、画面とデータベースのインターフェースは、GridWorXを介しストアドプロシージャを使用した。(2)画面間でのデータ保持各機能はシステムへのログイン操作時にユーザー認証を行うことで、テナントユーザーごとに操作及び設定範囲の制限を設けている。テナントサービスシステムではMC Works64が持つ共有メモリ機能であるGlobal Aliasesを使用し、画面間でのデータ保持を行った。テナントサービスシステムでの所属テナント等のユーザー情報に関するデータ保持の流れを図3に示す。①テナントユーザーはIDとパスワードを入力してログインする。②テナントサーバはログイン情報を元にデータベースに照会をかけ、ユーザー情報を特定する。③ログイン処理結果としてテナントサーバからクライアントPCへユーザーキーを返す。④クライアントPCでユーザーキーをGlobal Aliasesに書き込む。ログイン後の画面展開ではGlobal Aliasesに書き込まれたユーザーキーを参照し、ユーザー情報を取得する。なお、Global Aliasesはテナントサービスシステムにアクセスしたテナントユーザーごとに保持される。クライアントPCテナントサーバ①ログイン情報ID:ユーザーIDパスワード:XXXXX②ログイン情報からユーザー情報を特定・ユーザーキー・ユーザー権限・所属テナント等④Global Aliasesにユーザーキーを書き込む③ユーザーキーを返すログイン以降は、Global Aliasesに書き込まれたユーザーキーを参照してユーザー情報を取得し、画面展開を行う。テナントユーザーログイン図3.画面間データ保持の流れ図4.クライアントPCとサーバ間の実行イメージ61テナントサービスシステム開発4.むすび本稿では、MC Works64をプラットフォームとしたテナントサービスシステムについて紹介した。MC Works64をプラットフォームに据えることで、直観的な画面作成、画面とデータベースとの連携、BACnetオブジェクトの容易な取り込みが可能となった。また、テナントサービスシステム開発では、Global Aliasesの活用による画面間インターフェース、及びストアドプロシージャでのアセンブリの活用によるデータ処理を実現した。今回開発したテナントサービスシステムを標準として、他案件への展開を図っていく。最後に、本開発及び執筆に当たり、様々な面で支援いただいた関係者の方に感謝申し上げる。3.4 モバイルでの実装方法及び動作モバイル版は、対象機器がスマートフォンやタブレットとなるので、画面の拡大・縮小に対応する必要がある。ユーザー操作もマウスではなく、指またはタッチペンとなる。これらを踏まえて画面レイアウト及び画面構成を新たに設計、製作した。モバイル版はクライアントPCの搭載機能からログイン機能、空調・照明制御機能に限定した。モバイル版はサーバ側で動作するため、操作イベントに対する条件判断、及び要求データ抽出にストアドプロシージャを使用した。画面側では条件判断を実施せず、ストアドプロシージャの引数として、要求データ抽出に必要なすべての情報を与え、ストアドプロシージャで条件判断を行う。スケジュール制御に使用するBACnet通信からのデータは、IEIEJ-G-0006:2006(注2)の形式に従ったテキスト形式である。テキスト形式のデータから必要な情報に変換する処理は、ストアドプロシージャでは複雑になることから、C#で作成した外部DLLの関数を呼び出すようにした。モバイル機器でスケジュール画面を呼び出すまでの流れを図5に示す。①モバイル機器でログインし、スケジュール画面を呼び出す。ログイン情報を元に、ユーザー情報を特定する。②ユーザー情報を元に、MC Works64により空調・照明機器コントローラから一定周期で収集している空調・照明スケジュールデータの中から実行スケジュールデータを選出する。③ストアドプロシージャで選出したBACnet通信からのスケジュールデータ、指定日を引数としてDLL内関数を呼び出す。④呼び出したスケジュールデータをBACnet通信フォーマットより、内部処理用に変換し、画面表示に合わせた形で結果をストアドプロシージャに返す。⑤ストアドプロシージャへの結果を元に、画面表示を行う。(注2)BACnetシステムインターオペラビリティガイドライン図5.スケジュール画面表示イメージ執筆者紹介南 明樹 ミナミ ハルキ1988年入社。主に産業システムのソフトウェア開発に従事。現在、長崎事業所技術第1部E産シ課。