テナントサービスシステム開発

一般論文

テナントサービスシステム開発
長崎事業所

技術第1部

エネルギー産業課
南 明樹

１．まえがきテナントサービスシステム
クライアントPC2018年度に、ビル管理システムを手掛けている三菱電機
ビルテクノサービス（株）からの依頼で、Webブラウザ対応のテナントサービスシステムを受託開発した。

デスクトップPC

テナントサービスシステムには、プラットフォームとして三菱電機（株）名古屋製作所製の市販SCADAソフトウェ

ノートPC

モバイル機器インターネット

アであるMC Works64を採用した。MC Works64は、空調・照明機器制御用のBACnet（ Building Automation and（注1）Control Networking protocol）
通信、Webサーバ機能、タブレットスマートフォンデータベース機能及び、モバイル機能を装備しており、これらが採用の決め手となった。
本稿では、テナントサービスシステムの概要と開発内容について紹介する。

ファイアウォール

２．テナントサービスシステム概要

テナントサーバ

ビル管理システム

ビル管理システムは、空調、照明のスケジュール設定にコントローラ群（空調制御）（電力監視）（照明制御）

よる自動制御や設備監視、エネルギー使用量の監視、入退出の管理などを行い、ビル全体の設備運用効率化を図ってBACnet

ファイアウォール

いる。今回開発したテナントサービスシステムは、ビル管

図１．システム構成図

理システムとは独立したシステムであり、インターネット経由でビル管理システムのコントローラ群を制御し、各種（1）テナントサーバサービスをビルに入居するテナント向けに提供する。

テナントサーバは、MC Works64動作環境、IISを使

テナントサービスシステムには、空調・照明の制御、エネ用したWeｂサービス、SQL Serverを使用したデータ

ルギー使用量の表示、屋外の環境情報、気象情報の表示、ベースで構成されている。BACnet通信を介し、コントビル管理者からのお知らせ、ビル管理者への問合せなどのローラ群経由で空調・照明機器に対しON/OFF制御及び機能がある。

スケジュール制御を行う。

2.1（2）クライアントPC

テナントサービスシステムの構成

クライアントPCは、テナントサーバからブラウザ上に

テナントサービスシステムは、1台のテナントサーバとそ

MC Works64アプリケーションをダウンロードし、画面れにアクセスするクライアントPC及びモバイル機器によりを表示する。

構成される。

（3）モバイル機器

システム構成図を図1に示す。

スマートフォン、タブレット等には、テナントサーバ上で動作するMC Works64アプリケーション画面を表示する。
（4）コントローラ群
空調制御、電力監視、照明制御を行うコントローラである。BACnet通信を介して、テナントサーバやビル管理システムの中央監視装置からの指示により空調・照明機器の制御を行う。

（注１）インテリジェントビル用ネットワークのための通信プロトコル規格。

58

テナントサービスシステム開発

2.2

テナントサービスシステムで使用したMC Works64のア

テナントサービスシステムの機能

プリケーションは以下のとおり。

テナントサービスシステムの機能を表1に示す。

（1）GraphWorX/GridWorX
画面作成アプリケーションである。PC版、モバイル版

表１．機能一覧

機能名の画面は本アプリケーションを使用して製作する。
（2）AlertWorX

機能概略

空調・照明

ログインしたユーザーが属するテナ

制御機能

ントの空調・照明の監視、制御を行

メール管理用アプリケーションである。通知用メール発報に使用する。
（3）MC Mobileう。制御は、一括、個別での発停操

タブレット、スマートフォンなどのモバイル機器への作と時刻指定のスケジュールを設定表示のために必要なアプリケーションである。

する（4）Workbench

エネルギー

ログインしたユーザーが属するテナ

表示機能

ントのエネルギー使用量をグラフ表定、データ収集/加工設定など）を行うプロジェクト管理示するアプリケーションである。

監視制御システムで取り合う各種設定（ネットワーク設

テナントサービスシステムでは、BACnetシステムに環境情報屋外の環境情報(温度、湿度、風表示機能

向、風速)を表示する接続される機器であるBACnetデバイス、BACnet装置が気象情報

外部の気象情報Webサイトのハイパ持っている入出力やスケジュールデータであるBACnet

表示機能

ーリンクを表示するお知らせ

ビル管理者からテナントユーザーに機能対して連絡事項を通知する

お問合せ

テナントユーザーからビル管理者に機能対して問合せを行い、ビル管理者かオブジェクト、データベースインターフェース、共通変数等を登録し、画面から利用可能とした。

３．テナントサービスシステム開発
MC Works64をプラットフォームとした実装方法と動作ら回答する
履歴機能について紹介する。

空調・照明の発停及びスケジュール

3.1変更、温度設定の履歴を参照する
システム

2.3

テナントサービスシステムに採用したMC Works64の利ビル、ゾーン、テナント、所属、ユーサポート機能

MC Works64の利便性

便性を述べる。

ザーの情報を登録する（1）BACnet通信との親和性
空調・照明機器の制御を行うためのBACnet通信機能がソフトウェア構成

標準で装備されており、Workbenchへの登録を行うのみで該当機器の監視や制御が容易に行える。

MC Works64をプラットフォームとしたテナントサーバのソフトウェア構成を図2に示す。

（2）モバイル機能構築の容易性
タブレット、スマートフォンなどのモバイル機器へのMC Works64

表示機能を実装するために必要なアプリケーションが装GraphWorX/GridWorX備されており、モバイル機器へのサービス提供環境を容易に構築できる。

AlertWorX
IIS（3）データベース構築の容易性

MC Mobile

MC Works64インストール時に自動でSQLServerもイ

Workbench

ンストールされるため、アプリケーションで使用するテSQL Server 2014

ナント情報、所属情報、ユーザー情報のテーブルを容易に構築できる。

Windows Server 2012 R2（4）Webサーバ機能構築の容易性

図２．テナントサーバのソフトウェア構成

MC Works64インストール時に自動でIISにWebサーバ設定を追加するため、インターネット経由でテナントユーザーにサービスを提供するWebサーバを容易に構築
59

テナントサービスシステム開発できる。

3.2

テナントサーバ

テナントサービス実装方法②ログイン情報からユーザー情報を特定・ユーザーキー・ユーザー権限・所属テナント 等

MC Works64の各種アプリケーションを用いてテナントサービスを以下のとおり実装した。
（1）画面

ログイン以降は、Global Aliasesに書き込まれたユーザーキーを参照してユーザー情報を取得し、画面展開を行う。

MC Works64の画面作成アプリケーションである
GraphWorXを使用して全31画面を作成した。

①ログイン情報
ID:ユーザーID
パスワード：XXXXX

GraphWorXで作成した画面はhtmlに変換されブラウザ上に表示する仕組みとなる。

④Global Aliasesにユーザーキーを書き込む③ユーザーキーを返す

画面上で発生するボタンクリック等のイベント処理は、テナントユーザーログイン

ログインユーザーごとの操作権限で条件判断を行うために、MC Works64のイベント機能を使用せず、より自由度が高いスクリプト言語を採択した。
また、テナントサービスシステムの基本情報であるユー

クライアントPC

ザー情報、テナント情報、フロア・ゾーン情報は、SQL

図３．画面間データ保持の流れ

Serverのデータベース上に構築した。なお、画面とデータベースのインターフェースは、GridWorXを介しスト3.3アドプロシージャを使用した。

クライアントPCでの動作

クライアントPCとサーバ間の実行イメージを図4に示す。

（2）画面間でのデータ保持
各機能はシステムへのログイン操作時にユーザー認証①クライアントPCは、サーバ上のGraphWorXで作成しを行うことで、テナントユーザーごとに操作及び設定範た画面をWebブラウザに表示するアプリケーション、囲の制限を設けている。

必要なツール一式及び、画面をダウンロードすることで画面を表示する。

テナントサービスシステムではMC Works64が持つ共②ユーザー操作のイベント処理はクライアント側で実行有メモリ機能であるGlobal Aliasesを使用し、画面間でされる。ユーザー操作に対し、スクリプト言語で条件のデータ保持を行った。

判断及び要求データ抽出を行いサーバに送信する。

テナントサービスシステムでの所属テナント等のユー③サーバから取得した必要情報を画面上に表示する。

ザー情報に関するデータ保持の流れを図3に示す。
①テナントユーザーはIDとパスワードを入力してログインする。
②テナントサーバはログイン情報を元にデータベースに照会をかけ、ユーザー情報を特定する。
③ログイン処理結果としてテナントサーバからクライアントPCへユーザーキーを返す。
④クライアントPCでユーザーキーをGlobal Aliasesに書き込む。ログイン後の画面展開ではGlobal Aliasesに書き込まれたユーザーキーを参照し、ユーザー情報を取得する。
なお、Global Aliasesはテナントサービスシステムにアクセスしたテナントユーザーごとに保持される。

図４．クライアントPCとサーバ間の実行イメージ

60テナントサービスシステム開発

3.4

モバイルでの実装方法及び動作

モバイル版は、対象機器がスマートフォンやタブレットとなるので、画面の拡大・縮小に対応する必要がある。ユー
ザー操作もマウスではなく、指またはタッチペンとなる。
これらを踏まえて画面レイアウト及び画面構成を新たに設計、製作した。
モバイル版はクライアントPCの搭載機能からログイン機能、空調・照明制御機能に限定した。
モバイル版はサーバ側で動作するため、操作イベントに対する条件判断、及び要求データ抽出にストアドプロシージャを使用した。
画面側では条件判断を実施せず、ストアドプロシージャの引数として、要求データ抽出に必要なすべての情報を与え、ストアドプロシージャで条件判断を行う。
スケジュール制御に使用するBACnet通信からのデータは、IEIEJ-G-0006:2006（注2）の形式に従ったテキスト形式である。テキスト形式のデータから必要な情報に変換する処
理は、ストアドプロシージャでは複雑になることから、C#で作成した外部DLLの関数を呼び出すようにした。
モバイル機器でスケジュール画面を呼び出すまでの流れを図5に示す。
①モバイル機器でログインし、スケジュール画面を呼び

図５．スケジュール画面表示イメージ出す。ログイン情報を元に、ユーザー情報を特定する。
②ユーザー情報を元に、MC Works64により空調・照明機器コントローラから一定周期で収集している空調・照４．むすび明スケジュールデータの中から実行スケジュールデータを選出する。

本稿では、MC Works64をプラットフォームとしたテナ③ストアドプロシージャで選出したBACnet通信からのントサービスシステムについて紹介した。MC Works64をスケジュールデータ、指定日を引数としてDLL内関数プラットフォームに据えることで、直観的な画面作成、画を呼び出す。

面とデータベースとの連携、BACnetオブジェクトの容易④呼び出したスケジュールデータをBACnet通信フォーな取り込みが可能となった。また、テナントサービスシス

マットより、内部処理用に変換し、画面表示に合わせテム開発では、Global Aliasesの活用による画面間インターた形で結果をストアドプロシージャに返す。

フェース、及びストアドプロシージャでのアセンブリの活⑤ストアドプロシージャへの結果を元に、画面表示を行う。

用によるデータ処理を実現した。今回開発したテナントサー
ビスシステムを標準として、他案件への展開を図っていく。
最後に、本開発及び執筆に当たり、様々な面で支援いただいた関係者の方に感謝申し上げる。

執筆者紹介
南明樹

ミナミハルキ

1988年入社。主に産業システムのソフトウェア開発に従事。現在、長崎事業所技術第1部E産シ課。
（注２）BACnetシステムインターオペラビリティガイドライン

61