説明

プログラム生成装置

【課題】環境、時間に応じて変化する照明装置を制御するプログラムを容易に生成可能な装置を提供することを課題とする。
【解決手段】照明プログラム生成画面201には、オブジェクト選択メニュー211〜214が表示される。オペレータは、オブジェクト選択メニュー211〜214から図形オブジェクト311、312・・・341、342のいずれか選択して、オブジェクト配置エリア220に配置する。図形オブジェクトは、照明装置を制御するプログラムの分割された動作プログラムに対応している。配置された図形オブジェクトを選択することで各動作プログラムの動作条件を設定することができる。配置された図形オブジェクトの縦方向の配列を時系列の関係に対応づけて複数の動作プログラムから制御プログラムが生成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム生成装置に関する。詳しくは、グラフィカルユーザインタフェースを利用したプログラム開発の支援ツールに関する。
【背景技術】
【0002】
プログラム開発は一般的には、高いスキルが要求される。プログラム言語に関する知識やハードウェアに関する知識が必要となるからである。
【0003】
グラフィカルユーザインタフェースを利用したプログラムの開発支援ソフトウェアが存在する。Visual Basic(登録商標)は、ディスプレイ上に表示された各種のオブジェクトをマウスで操作することにより、プログラムを開発することが可能となっている。ユーザは、各種のオブジェクトのプロパティを設定した上で、オブジェクトを希望する場所に配置することで、画面設計を視覚的に行うことができる。
【0004】
下記特許文献1および特許文献2は、プログラム開発を支援するソフトウェアを開示している。特許文献1は、データベースの構築を支援する装置を示している。特許文献2で示されているグラフィカルユーザインタフェース操作器は、メモリの使用効率を向上させること、およびデータ格納に関わるコストを削減することを目的として提案されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3018983号公報
【特許文献2】特許第4045468号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したように、様々な開発支援ソフトウェアは存在する。それらソフトウェアにおいて、オブジェクトに対する設定がプログラムの動作を特徴づけることは共通している。また、マウス等のポインティングデバイスを利用して行うオブジェクトの配置により、画面設計を行うことができる。しかし、時間とともに動作が変化するようなプログラムを開発するためには、開発者のプログラミング能力に依存している。
【0007】
本発明は前記問題点に鑑み、機器の制御プログラムなど、時間、環境に応じて変化するプログラムの開発を支援することを課題とする。
【課題を解決するための手段】
【0008】
請求項1記載の発明は、グラフィカルユーザインタフェースを利用してプログラムを生成するプログラム生成装置であって、照明装置の動作を定義する複数種類の動作プログラムに対応した複数種類の動作を象徴する図形オブジェクトを前記プログラム生成装置に接続されたディスプレイ上に表示させ、前記複数種類の図形オブジェクトを選択可能に提供する図形オブジェクト提供部と、前記複数種類の図形オブジェクトの中から複数の図形オブジェクトをポインティングデバイスにより選択させ、選択された複数の図形オブジェクトを前記ディスプレイ上に表示されたオブジェクト配置エリア内に配置するオブジェクト配置部と、前記オブジェクト配置部により配置された複数の図形オブジェクトの配置関係を選択された複数の動作プログラムの時系列の関係に対応付けることにより、前記照明装置を制御する制御プログラムを生成する生成部と、を備えることを特徴とする。
【0009】
請求項2記載の発明は、請求項1に記載のプログラム生成装置において、前記オブジェクト配置部は、配置された複数の図形オブジェクトの一の方向に関する配列をプログラムの時系列の関係に対応付け、前記一の方向と直交する方向に関する配列を平行して動作するプログラムの関係に対応付けることを特徴とする。
【0010】
請求項3記載の発明は、請求項1または請求項2に記載のプログラム生成装置において、前記複数種類の動作プログラムは、動作条件を設定可能な設定型プログラム、を含み、前記設定型プログラムは、前記ディスプレイに表示された対応する図形オブジェクトの画像の中に、前記動作条件を書き換え可能に表示する動作条件設定部、を含むことを特徴とする。
【0011】
請求項4記載の発明は、請求項3に記載のプログラム生成装置において、前記動作条件は、前記設定型プログラムによって定義された前記照明装置の動作の継続時間を含むことを特徴とする。
【0012】
請求項5記載の発明は、請求項3または請求項4に記載のプログラム生成装置において、前記動作条件は、前記設定型プログラムによって定義された前記照明装置の動作の最大・最小出力強度を含むことを特徴とする。
【0013】
請求項6記載の発明は、請求項1ないし請求項5のいずれかに記載のプログラム生成装置において、さらに、設定された条件に応じた前記照明装置の発光態様を前記ディスプレイ上にシミュレーションさせるシミュレーション部と、前記シミュレーション部に対して、前記制御プログラムによって制御される前記照明装置の動作をシミュレーションさせるプログラム確認部と、を備えることを特徴とする。
【0014】
請求項7記載の発明は、グラフィカルユーザインタフェースを利用してプログラムを生成するプログラム生成装置であって、機器の動作を定義する複数種類の動作プログラムに対応した複数種類の動作を象徴する図形オブジェクトを前記プログラム生成装置に接続されたディスプレイ上に表示させ、前記複数種類の図形オブジェクトを選択可能に提供する図形オブジェクト提供部と、前記複数種類の図形オブジェクトの中から複数の図形オブジェクトをポインティングデバイスにより選択させ、選択された複数の図形オブジェクトを前記ディスプレイ上に表示されたオブジェクト配置エリア内に配置するオブジェクト配置部と、前記オブジェクト配置部により配置された複数の図形オブジェクトの配置関係を選択された複数の動作プログラムの時系列の関係に対応付けることにより、前記機器を制御する制御プログラムを生成する生成部と、を備えることを特徴とする。
【発明の効果】
【0015】
本発明のプログラム生成装置は、オブジェクト配置部により配置された複数の図形オブジェクトの配置関係を選択された複数の動作プログラムの時系列の関係に対応付けることにより、照明装置を制御する制御プログラムを生成する。プログラムの知識やハードウェアの知識を持たないオペレータであっても、時間とともに変化する照明装置の動作を制御するプログラムを簡単に生成できる。
【0016】
また、オブジェクト配置部は、配置された複数の図形オブジェクトの一の方向に関する配列をプログラムの時系列の関係に対応付け、一の方向と直交する方向に関する配列を平行して動作するプログラムの関係に対応付ける。平行した動作を定義するプログラムであっても、容易に作成可能である。
【図面の簡単な説明】
【0017】
【図1】照明システムのメンテナンス作業の様子を示す図である。
【図2】照明システムのブロック図である。
【図3】追加センサが追加された照明システムのブロック図である。
【図4】プログラム生成装置であるPCのブロック図である。
【図5】プログラム生成の関わるオブジェクトを示す図である。
【図6】照明プログラム生成画面を示す図である。
【図7】オブジェクト選択メニューを示す図である。
【図8】図形オブジェクトの配置方法を示す図である。
【図9】図形オブジェクトの配置方法を示す図である。
【図10】図形オブジェクトの配置方法を示す図である。
【図11】図形オブジェクトの配置方法を示す図である。
【図12】シミュレーション画面を示す図である。
【発明を実施するための形態】
【0018】
本発明のプログラム生成装置を説明する前に、プログラム生成装置によって生成された制御プログラムによって動作する照明システムについて説明する。
【0019】
{1.照明システムの概略説明}
以下、図面を参照しつつ実施の形態にかかる照明システムについて説明する。実施の形態にかかる照明システムは、LED照明装置とセンサなどが一体となった照明ユニット1と、照明ユニット1をメンテナンスするためのパーソナルコンピュータ(以下、PC)2などを備えて構成される。
【0020】
図1は、駐車場内に設置された照明システムを示す図である。駐車場内にはポールが設置され、ポールの上部には照明ユニット1が取り付けられている。照明ユニット1は、各種のセンサからセンシング情報を入力し、センシング情報に応じて照明装置の設定を制御することができる。
【0021】
一例として、照明ユニット1は、夜間、人体検知センサから人体の検知情報を入力すると、100%の出力で照明装置を点灯させ、駐車場内を明るくする。そして、人体の検知情報を入力しなくなった時点で、駐車場内を50%の明るさに落とすことで、消費電力を低減させる。このように、必要に応じて照明出力を制御することで、環境にやさしい照明システムを構築することができる。
【0022】
別の例として、照明ユニット1は、照度センサから駐車場内の照度を検知し、一定の照度以上の場合は駐車場内の照明を減光する。そして、一定の照度未満になった場合には、駐車場内の照明の強度を上げる。これにより、駐車場内の照度を一定に維持しつつ、消費電力を低減させることができる。
【0023】
図1には、また、サービスマン3が描かれている。サービスマン3は、PC2を利用して、無線通信により、照明ユニット1をメンテナンスすることができる。メンテナンスの方法については、後で詳しく説明するが、本実施の形態においては、サービスマン3は、PC2と照明ユニット1との間で無線通信を行うことで、照明ユニット1を容易にメンテナンスできるようになっている。
【0024】
{2.照明ユニットの構成}
次に、図2を参照しながら、照明ユニット1の構成について説明する。照明ユニット1は、LED(Light Emitting Diode)11を備えている。本実施の形態においては、LED11は、赤色LED11R、緑色LED11G、青色LED11Bを備えている。照明装置としては、LEDに限らず、他の光源を利用してもよい。また、LEDとしては、RGB3色のLEDを用いるほか、色温度の異なる白色LEDを利用してもよい。
【0025】
LED11には、LEDドライバ12が接続されている。LEDドライバ12は、各LED11R、11G、11Bの出力を個別に制御することのできる単数あるいは複数のICで構成されるユニットである。LEDドライバ12は、各LED11R、11G、11Bの出力を個別に制御することで、様々な色を発光可能である。各LED11R、11G、11Bは、それぞれ単数あるいは複数のLED素子から構成されている。
【0026】
LEDドライバ12には、電源部131から電力が供給される。電源部131は、電源コネクタ132に接続されている。電源コネクタ132を商用電源に接続することで、LEDドライバ12を含め、照明ユニット1が備える各装置に電力が供給される。
【0027】
照明ユニット1は、照明ユニット1の全体制御を行う制御部14を備える。制御部14は、CPU(Central Processing Unit)141、メモリ142、入出力コントローラ143、LCD(Liquid Crystal Display)ドライバ144、RTC(Real Time Clock)145を備える。
【0028】
メモリ142には、制御プログラム101が格納されている。制御プログラム101は、後述する本発明にかかるプログラム生成装置によって生成されるプログラムである。制御プログラム101は、LED11を制御するためのプログラムである。制御プログラム101は、センサ15が検知したセンシング情報に基づいてLED11を制御するためのプログラムである。CPU141において制御プログラム101が実行されることにより、センシング情報に応じたLED11の制御が行われる。
【0029】
メモリ142には、ログ作成プログラム102およびログデータ103が格納されている。制御プログラム101に基づいてLED11が制御されると、ログ作成プログラム102が、LED11の制御記録をログデータ103としてメモリ142に保存する。
【0030】
その他、図示はしていないが、メモリ142には、照明ユニット1のシステムチェックや通信制御を行うための初期プログラムなどの基本プログラムが格納されている。
【0031】
メモリ142としては、書き換え可能なフラッシュメモリなどを利用することができる。後述するように、制御プログラム101は、照明システムの仕様変更などに応じて更新されることがある。書き換え可能なメモリ142に対して更新後の制御プログラムを書き込むことで、照明システムの動作を自由に変更することができる。照明ユニット1を制御するための基本プログラムは、別に設けられたROMに格納されてもよい。また、ログ作成プログラム102についても標準プログラムとしてROMに格納するようにしてもよい。これら各種のプログラムを格納するメモリをCPU141が備える構成であってもよい。
【0032】
入出力コントローラ143は、CPU141に接続されている。入出力コントローラ143は、また、センサ15、センサコネクタ16、無線ユニット17、拡張コネクタ18に接続されており、これら装置とCPU141間のデータの入出力を制御する。
【0033】
センサ15は、照明ユニット1にデフォルトで接続されているセンサである。前述した制御プログラム101は、センサ15に対応したプログラムである。センサ15として、たとえば、人体検知センサ、照度センサ、温度センサ、地震センサ、火災センサなどが利用される。
【0034】
センサコネクタ16には、各種の追加センサが接続される。追加されるセンサの種別は特に限定されるものではない。たとえば、デフォルトのセンサ15として人体検知センサが取り付けられている状態において、あらたに照度センサを取り付けたい場合には、センサコネクタ16に照度センサを取り付ければよい。
【0035】
センサコネクタ16に追加センサが取り付けられると、照明システムは、追加センサから入力したセンシング情報によっても照明設定を制御することになる。追加センサに対応した制御プログラムを新たにメモリ142に格納することで、照明ユニット1は、追加センサに対応した照明制御を行うことが可能となる。
【0036】
無線ユニット17は、PC2との間で無線通信を行う。本実施の形態においては、無線ユニット17は、ZigBeeを利用した通信を行う。無線通信としては、他にも赤外線通信や、IEEE802.11などの無線LANを利用することができる。照明ユニット1は、無線ユニット17を利用することで、PC2の記憶部21に格納されている制御プログラム101を取得することが可能である。
【0037】
拡張コネクタ18は、拡張デバイスを接続するためにコネクタである。拡張コネクタ18には、照明ユニット1の機能を拡張するための装置などが接続される。あるいは、拡張コネクタ18に通信ケーブルを接続し、通信ケーブルを介してPC2と接続してもよい。たとえば、サービスマン3は、PC2と拡張コネクタ18を通信ケーブルで接続することで、PC2から制御プログラム101を照明ユニット1に転送することができる。
【0038】
LCDドライバ144には、LCD19が接続されている。LCD19は、たとえば、縦3cm、横10cm程度の小型のモニタであり、照明ユニット1の各種の状態情報を表示可能としている。あるいは、CPU141の出力ポートを用いて表示用LEDを点灯・点滅させることで、照明ユニット1の各種の状態情報を表示させるようにしてもよい。
【0039】
{3.センサと制御プログラムとの関係}
上述したように、メモリ142にはLED11を制御するための制御プログラム101が格納されている。制御プログラム101は、センサ15に対応したプログラムである。制御プログラム101は、センサ15が検出したセンシング情報に基づいてLED11を制御するためのプログラムである。
【0040】
たとえば、センサ15が人体検知センサであるとする。センサ15は、人体を検知すると人体の検知情報を入出力コントローラ143を介してCPU141に通知する。CPU141では、制御プログラム101が実行しており、夜間、人体検知情報を入力すると、LED11をたとえば100%の出力で点灯させる制御信号を生成する。CPU141で生成された制御信号は、LEDドライバ12に対して出力され、LEDドライバ12は、制御信号に基づいてLED11の制御を行う。これにより、LED11が100%の出力で点灯し、駐車場内が明るくなる。
【0041】
時間が経過し、センサ15が人体の検知情報を通知しなくなったとする。制御プログラム101は、人体を検知しなくなって1分が経過した時点で照明を50%の出力に減光するアルゴリズムを有しているとする。CPU141は、センサ15からの人体検知情報を最後に取得してから1分が経過した時点で、LED11を50%に減光させる制御信号を送出する。このように、LED11は、センシング情報に基づいて照明設定が変化するが、その動作は制御プログラム101により決定される。
【0042】
センサコネクタ16に新たな追加センサ4が接続されたとする。前述した制御プログラム101は、センサ15に対応したプログラムである。そこで、図3に示すように、PC2の記憶部21に追加センサ4用の制御プログラム105が用意される。サービスマン3は、無線通信により、制御プログラム105を照明ユニット1に転送する。転送された制御プログラム105は、メモリ142に格納される。制御プログラム105も、本発明にかかるプログラム生成装置により生成されるプログラムである。
【0043】
たとえば、追加センサ4が照度センサであるとする。追加センサ4は、駐車場内の照度を検知し、検知情報を入出力コントローラ143を介してCPU141に通知する。CPU141において、制御プログラム105が実行しており、照度の検知情報を入力すると、照度に応じた制御信号を生成する。生成された制御信号により、LED11の出力が制御される。
【0044】
CPU141は、制御プログラム105に基づき、たとえば、昼間の時間帯、駐車場内が充分に明るい照度を有している場合には、LED11をOFFにする制御信号を生成する。少し駐車場内が暗くなっている状態では、LED11を50%点灯させる制御信号を生成する。夕刻になり駐車場内が暗くなった場合には、LED11を100%点灯させる制御信号を生成する。CPU141で生成された制御信号は、LEDドライバ12に対して出力され、LEDドライバ12は、制御信号に基づいてLED11の制御を行う。このように、LED11は、センシング情報に基づいて照明設定が変化するが、その動作はセンサ15に対応した制御プログラム101や、追加センサ4に対応した制御プログラム105により決定される。なお、説明を分かりやすくするために、追加センサ4による制御を行うために、制御プログラム105を新たに追加する形態として説明している。制御プログラム101に加えて制御プログラム105を動作させるという形態も考えられるが、センサ15に加えて追加センサ4による制御を行うのであれば、両方のセンサに対応するよう制御プログラム101を修正するという方法でもよい。
【0045】
{4.照明システムの仕様変更の手順}
ユーザから照明システムの照明設定を変更したいという要望が発生したとする。ユーザは、センサ15として人体検知センサを利用し、照明システムを警告用システムとして利用している。現在は、人体を検知した場合に、LED11を100%の出力で点灯するよう制御している。しかし、ユーザは、より警告性を強めるため、人体を検知した場合には、0.1秒間隔でLED11を点滅させることを希望している。また、現在は、RGBの出力を調整して白色で点灯するように制御しているが、警告性を高めるため、赤色の点滅にしたいと希望している。
【0046】
照明システムの提供元では、後述するプログラム生成装置を利用し、変更内容に応じて制御プログラム101の修正を行う。つまり、人体検知情報を入力したことに応答して、LED11を赤色点滅させるための制御信号を生成するよう制御プログラム101を修正する。
【0047】
サービスマン3は、PC2に更新後の制御プログラム101をインストールした上で、照明ユニット1の設置場所へと向かう。サービスマン3は、駐車場内で照明ユニット1の近くに移動し、PC2から無線通信を利用して更新後の制御プログラム101を照明ユニット1に転送する。照明ユニット1では、メモリ142に格納されている制御プログラム101の更新が行われる。制御プログラム101の更新が正常に終了した場合には、LCD19に正常終了を示すメッセージが表示される。あるいは、図示せぬ表示用LEDを緑色点灯させてもよい。これにより、サービスマン3は、更新作業が完了したことを確認することができる。制御プログラム101のアップデートにエラーが生じた場合には、たとえばLCD19にエラーメッセージを表示させる。あるいは、図示せぬ表示用LEDを赤色点滅させることで、エラーの発生をサービスマン3に通知させてもよい。
【0048】
ユーザから照明システムに新たなセンサを追加したいとの要望が発生したとする。ユーザは、当初は、デフォルトで取り付けられている人体検知センサを利用して照明設定を制御している。ユーザは、さらに、照度センサを取りつけ、人体検知による制御とあわせて、照度に応じた照明設定の制御を行うことを希望している。また、施設内の雰囲気を変えるために、夜間の照明の色を暖色系に変更することを希望している。
【0049】
照明システムの提供元では、後述するプログラム生成装置を利用し、追加センサ4、つまり照度センサに対応した制御プログラム105を作成する。制御プログラム105は、照度センサからの検知情報に基づいて照明設定を制御するプログラムである。あるいは、照明システムの提供元では、制御プログラム101の修正を行ってもよい。修正後の制御プログラム101は、人体検知センサからの検知情報と、照度センサからの検知情報とを取得し、2つの検知情報に基づいて照明設定を制御するプログラムである。
【0050】
新規あるいは修正された制御プログラムが完成すれば、サービスマン3は、PC2に制御プログラムをインストールして照明ユニット1の設置場所へ向かう。サービスマン3は、照明ユニット1のセンサコネクタ16に追加センサ4として照度センサを取り付ける。サービスマン3は、PC2から無線通信を利用して新規の制御プログラム105あるいは修正された制御プログラム101を照明ユニット1に転送する。追加センサ4を取り付ける作業を行う際に、照明ユニット1をポールから取り外す必要があるのであれば、PC2と照明ユニット1とを通信ケーブルで接続することで、更新後の制御プログラムを転送してもよい。
【0051】
このように、本実施の形態の照明システムは、センシング情報に応じた照明設定がソフトウェアによって規定される。したがって、制御プログラム101を変更するだけで照明設定の変更を容易に行うことができる。ユーザの要望に応じて、照明装置の照度、発光パターンを自由に設定変更できる。本実施の形態であれば、RGB3色のLEDを利用しているので、ユーザの要望に応じて様々な色の光を発光することが可能であり、様々な照明パターンを演出することができる。
【0052】
さらに、照明ユニット1は無線ユニット17を有しているので、制御プログラム101の更新が容易である。従来であれば、センシング情報に応じた照明設定を変更するためには、ハードウェアのロジック回路を変更する必要があり、時間とコストが掛かっていた。本実施の形態の照明システムであれば、少ない時間とコストで照明設定を変更することができる。
【0053】
{5.ログデータの収集}
前述したように、メモリ142には、ログ作成プログラム102が格納されている。ログ作成プログラム102は、CPU141からLED11に出力された制御信号のログを記録するプログラムである。ログ作成プログラム102は、制御信号のログをログデータ103としてメモリ142に蓄積する。
【0054】
ログデータ103を参照することで、LED11をどんな出力で、どれだけの時間点灯させたかを知ることができる。また、CPU141にはRTC145が接続されているので、ログ作成プログラム102は、LED11に対して出力された制御信号のログを、信号発生時刻情報とともにログデータ103に記録する。これにより、時間帯別の照明ユニット1の稼動状態などを様々に分析することができる。
【0055】
{6.プログラム生成装置}
次に、本発明の実施の形態にかかるプログラム生成装置として機能するPC5について説明する。図4は、PC5のブロック図である。実施の形態にかかるプログラム生成装置は、PC5とPC5にインストールされたプログラムなどから構成される。
【0056】
PC5は、CPU、RAMなどを備え、PC5の全体制御を行う制御部51を備える。PC5は、各種のプログラムを格納するハードディスク52を備えている。
【0057】
制御部51には、ディスプレイ6、キーボード7およびマウス8が接続されている。上述した実施の形態で利用した制御プログラム101あるいは制御プログラム105を生成するオペレータは、ディスプレイ6に表示されたグラフィカルユーザインタフェースを利用し、キーボード7やマウス8などのポインティングデバイスを操作して、制御プログラムの生成を行う。
【0058】
ハードディスク52には、開発支援プログラム200が格納されている。開発支援プログラム200は、制御プログラム101あるいは制御プログラム105を含め、照明ユニット1を制御するための制御プログラムを生成するためのツールである。ユーザのことを“プログラマー”ではなく“オペレータ”と呼んだように、開発支援プログラム200を利用することで、プログラミング知識を有さないユーザであっても、簡単に制御プログラムを生成することができる。
【0059】
ハードディスク52には、動作プログラム411、412・・・が格納されている。動作プログラム411、412・・・は、LED11を制御するためのプログラムモジュールである。動作プログラム411、412・・・は、LED11の動作を細分化した分割モジュールである。たとえば、動作プログラム411、412・・・は、点灯開始のトリガとなるモジュール、点灯開始時の動作を規定したモジュール、あるいは消灯時の動作を規定したモジュールなどである。
【0060】
図5は、プログラム生成に関わるオブジェクトとプログラムの関係を示す図である。前述したように、LED11を制御するプログラムモジュールとして、複数の動作プログラム411、412・・・が用意されている。そして、開発支援プログラム200は、各動作プログラム411、412・・・に対応する図形オブジェクト311、312・・・を有している。オペレータは、ディスプレイ6に表示された図形オブジェクト311、312・・・を操作することで、制御プログラム101や制御プログラム105などの生成を行うことができる。図形オブジェクトの画像上には、対応する動作プログラムの機能や動作を象徴する文字が表示される。あるいは、図形オブジェクトの画像上には、対応する動作プログラムの機能や動作を象徴する図柄や記号が表示される。
【0061】
具体的には、オペレータは、ディスプレイ6に表示された図形オブジェクト311、312・・・に対してLED11の動作条件を設定することで、対応する動作プログラム411、412・・・にパラメータを設定することができる。オペレータは、ディスプレイ6上で図形オブジェクト311、312・・・の配置を操作することで、対応する動作プログラム411、412・・・の実行順序を決定することができる。
【0062】
図6は、開発支援プログラム200のグラフィカルユーザインタフェースである照明プログラム生成画面201を示す図である。オペレータは、ディスプレイ6に表示された照明プログラム生成画面201を利用し、キーボード7やマウス8を操作しながら制御プログラムの生成作業を行う。
【0063】
照明プログラム生成画面201は、画面の中央付近に、オブジェクト配置エリア220を有している。オペレータは、オブジェクト配置エリア220に図形オブジェクト311、312・・・を配置することで、動作プログラム411、412・・・の実行順序を決定することができる。
【0064】
照明プログラム生成画面201は、画面の左側にオブジェクト選択メニュー211を有している。オブジェクト選択メニュー211には、図形オブジェクト311〜313が表示されている。オペレータは、オブジェクト選択メニュー211に表示された図形オブジェクト311〜313をマウス8でドラッグし、オブジェクト配置エリア220にドロップすることができる。
【0065】
オペレータは、オブジェクト選択メニュー211の下部に表示されている矢印ボタンをマウス8でクリックすることで、オブジェクト選択メニューを切り替えることができる。図7(A)〜(D)は、切り替えて表示されるオブジェクト選択メニュー211〜214を示している。
【0066】
図7(A)に示すオブジェクト選択メニュー211には、センサ入力に関わる動作プログラム411〜413に対応した図形オブジェクト311〜313が表示されている。図では、各図形オブジェクト311、312、313に、対応する動作プログラムの機能を示す文字として“センサ入力”と表示されている。あるいは、図形オブジェクト311、312、313にセンサの図柄を表示させてもよい。
【0067】
図形オブジェクト311は、センサ番号:01の人体検知センサから人体の検知情報を入力した場合に、LED11の制御を開始することを規定した動作プログラム411に対応している。図形オブジェクト312は、センサ番号:02の人体検知センサから人体の検知情報を入力した場合に、LED11の制御を開始することを規定した動作プログラム412に対応している。図形オブジェクト313は、センサ番号:03の照度センサから照度の検知情報を入力した場合に、LED11の制御を開始することを規定した動作プログラム413に対応している。
【0068】
図7(B)に示すオブジェクト選択メニュー212には、点灯パターンに関わる動作プログラム421〜425に対応した図形オブジェクト321〜325が表示されている。図では、図形オブジェクト321に対応する動作プログラムの機能を示す文字として“点灯”と表示されている。あるいは、図形オブジェクト321にランプが点灯している状態を象徴する図柄を表示させてもよい。図形オブジェクト324にランプが点滅している状態を象徴する図柄を表示させてもよい。
【0069】
図形オブジェクト321は、設定された時間、LED11を連続点灯させる動作プログラム421に対応している。図形オブジェクト322は、設定された時間をかけて、設定された最大出力まで、LED11の出力を次第に上昇させる動作プログラム422に対応している。図形オブジェクト323は、設定された時間、直前の動作プログラムで制御された状態を維持する動作プログラム423に対応している。図形オブジェクト324は、設定されたタイミングで、LED11を点滅させる動作プログラム424に対応している。図形オブジェクト325は、LED11を点灯させる場合の最大出力値を設定する動作プログラム425に対応している。図示はしていないが、LED11の最小出力値を設定する動作プログラムに対応した図形オブジェクトも用意される。
【0070】
図7(C)に示すオブジェクト選択メニュー213には、消灯パターンに関わる動作プログラム431および432に対応した図形オブジェクト331および332が表示されている。図では、各図形オブジェクト331に対応する動作プログラムの機能を示す文字として“消灯”と表示されている。あるいは、図形オブジェクト331に消灯している状態のランプを象徴する図柄を表示させてもよい。
【0071】
図形オブジェクト331は、LED11の消灯を指示する動作プログラム431に対応している。図形オブジェクト332は、設定された時間をかけて、LED11の出力を次第に減少させながら消灯する動作プログラム432に対応している。あるいは、LED11の出力を最小出力値まで減光させる。
【0072】
図7(D)に示すオブジェクト選択メニュー214には、通報に関わる動作プログラム441および442に対応した図形オブジェクト341および342が表示されている。図では、図形オブジェクト341に対応する動作プログラムの機能を示す文字として“ZigBee通報”と表示されている。あるいは、図形オブジェクト341に無線通信や通報を示す象徴的な図柄を表示させてもよい。
【0073】
図形オブジェクト341は、ZigBeeを利用して外部に通報を行う動作プログラム441対応している。図形オブジェクト342は、音声で警告を発する動作プログラム442に対応している。
【0074】
次に、図8〜図12を参照しながら、開発支援プログラム200を利用した制御プログラムの生成手順について説明する。
【0075】
オペレータは、図8に示すように、照明プログラム生成画面201にオブジェクト選択メニュー211を表示させる。オペレータは、図形オブジェクト312をマウスでドラッグし、オブジェクト配置エリア220にドロップする。続いて、オペレータは、再度、図形オブジェクト312をマウスでドラッグし、オブジェクト配置エリア220にドロップする。
【0076】
図形オブジェクト312は、センサ番号:02のセンサから検知情報を入力したときに、LED11の制御を開始することを規定した動作プログラム412に対応している。つまり、図形オブジェクト312を配置することにより、センサ番号:02のセンサからの検知情報に基づく制御が開始されることが定義される。
【0077】
次に、オペレータは、図9に示すように、照明プログラム生成画面201にオブジェクト選択メニュー212を表示させる。まず、オペレータは、図形オブジェクト325をマウス8でドラッグし、2つのうち左側に配置されている図形オブジェクト312の下側にドロップする。続いて、オペレータは、図形オブジェクト322をマウス8でドラッグし、図形オブジェクト325の下側にドロップする。さらに、オペレータは、図形オブジェクト324をマウス8でドラッグし、図形オブジェクト322の下側にドロップする。最後に、オペレータは、図形オブジェクト323をマウス8でドラッグし、図形オブジェクト324の下側にドロップする。
【0078】
図形オブジェクト325は、LED11を点灯させるときの最大出力を定義するオブジェクトである。オペレータは、図形オブジェクト325をマウス8でクリックして選択した上で、キーボード7を操作して最大出力を設定する。ここでは、図に示すように80%と設定されている。この説明の例では設定していないが、最小出力を定義する図形オブジェクトを挿入し、最小出力を設定してもよい。
【0079】
図形オブジェクト322は、ソフト点灯に対応したオブジェクトである。オペレータは、図形オブジェクト322に対してソフト点灯の時間を設定する。ここでは、図に示すように5秒と設定されている。図形オブジェクト312、325および322が図に示すように配置および設定されることにより、センサ番号:02の人体検知センサから検知情報を入力すると、5秒間かけて80%の最大出力までLED11をソフト点灯させる制御が定義される。
【0080】
図形オブジェクト324は、点滅に対応したオブジェクトである。オペレータは、図形オブジェクト324に対して点滅のタイミングを設定する。ここでは、図に示すようにON:50、OFF:50、Cycle:1秒と設定されている。この設定は、デューティー比50%で、1秒のサイクルで点滅を繰り替えることを示している。図形オブジェクト312、325、322および324が図に示すように配置および設定されることにより、センサ番号02のセンサから検知情報を入力すると、5秒間かけて80%の最大出力までLED11をソフト点灯させ、その後点滅させる制御が定義される。
【0081】
図形オブジェクト323は、維持に関するオブジェクトである。オペレータは、図形オブジェクト323に対して維持の時間を設定する。ここでは、図に示すように20秒と設定されており、直前の動作状態を20秒維持するよう設定される。維持に関するオブジェクトは直前のLED11の動作を維持させるオブジェクトである。LED11は、5秒間かけて最大出力までソフト点灯した後、20秒間、点滅することになる。
【0082】
次に、オペレータは、図10に示すように、照明プログラム生成画面201にオブジェクト選択メニュー213を表示させる。オペレータは、図形オブジェクト332をマウス8でドラッグし、オブジェクト配置エリア220に配置されている図形オブジェクト323の下側にドロップする。
【0083】
図形オブジェクト332は、LED11をソフト消灯させるオブジェクトである。オペレータは、図形オブジェクト332に対してソフト消灯の時間を設定する。ここでは、図に示すように5秒と設定されている。これにより、LED11は、20秒間点滅した後、5秒間かけて出力を下げ、5秒後に消灯するよう制御される。
【0084】
次に、オペレータは、図11に示すように、照明プログラム生成画面201にオブジェクト選択メニュー214を表示させる。オペレータは、図形オブジェクト341をマウス8でドラッグし、オブジェクト配置エリア220に配置されている右側の図形オブジェクト312の下側にドロップする。
【0085】
図形オブジェクト341は、ZigBeeにより通報を行うオブジェクトである。オペレータは、図形オブジェクト341をマウス8でクリックして図示せぬプロパティ画面を表示させ、通報先や通報内容を設定する。これにより、センサ番号:02の人体検知センサから検知情報を入力した場合、照明ユニット1はZigBeeを利用して外部に警報を行う。
【0086】
以上説明したように、オブジェクト配置エリア220に配置された図形オブジェクトの縦方向の配列は、動作プログラムを実行する順序を規定することになる。また、オブジェクト配置エリア220に配置された図形オブジェクトの横方向の配列は、平行して実行さえる動作プログラムを規定することになる。
【0087】
図11の場合であれば、オブジェクト配置エリア220に2系統の縦のオブジェクト列が配置されている。左側の列は、動作プログラムが412→425→422→424→423→432の順で実行される時系列を示している。右側の列は、動作プログラムが412→441の順で実行される時系列を示している。また、図形オブジェクト325と341は横方向に配列されており、対応する動作プログラム425と441が平行して実行されることを示している。具体的には、LED11の最大出力を80%に設定する処理に平行して、ZigBeeによる通報を行う。ただし、ここで言う平行処理とは厳密な意味での平行処理(たとえば、デュアルプロセッサを利用した処理)だけを示すのではなく、比較的近い時間の中で処理される程度の処理(たとえば、タイムスライスを利用した処理)を含んでいる。
【0088】
以上説明したように、オペレータは、マウス8を操作して照明プログラム生成画面201上で図形オブジェクト311、312・・・の配置を調整するだけで、LED11の動作を決定する動作プログラム411、412・・・の処理順序を決定することができる。これにより、環境、時間に応じて変化する照明ユニット1の動作を決定する制御プログラム101や105を非常に簡単な操作で生成することができる。同様に、環境、時間に応じて変化する様々な機器の動作を決定する制御プログラムを簡単な操作で生成することが可能である。
【0089】
オブジェクト配置エリア220に表示された図形オブジェクト311、312・・・の縦方向の配列は、そのまま照明ユニット1の動作順序を表すので、ひと目で照明ユニット1の動作の全容を把握することができる。各図形オブジェクト311、312・・・には、図6〜図11に示したように、キャプションとして処理の内容をわかりやすく示す文字が表示されている。たとえば、ソフト点灯、維持、ソフト消灯、ZigBee通報などの文字列がオブジェクトの画像に表示されている。あるいは、各動作や機能を象徴する図柄、記号などが表示される。通常のプログラムコードであれば、プログラム全体の流れを知るためには、プログラムコードの先頭に記載されたモジュール名などを追う必要があるが、本実施の形態であれば、オブジェクト配置エリア220を見れば、プログラムの流れをひと目で把握することができる。
【0090】
また、各図形オブジェクト311、312・・・には、設定内容が表示されている。たとえば、ソフト点灯であれば“5秒”など、動作を特徴付ける重要な設定内容がオブジェクト画像上に表示されている。したがって、オペレータは、照明ユニット1の動作の流れをより的確に視覚的に把握することができる。
【0091】
オペレータは、動作プログラム411、412・・・に対するパラメータを設定したい場合には、図形オブジェクト311、312・・・を選択し、図形オブジェクト上に表示された設定値を変更するだけでよい。あるいは、図形オブジェクトのプロパティ画面を表示させ、設定値を変更すればよい。たとえば、動作を規定する最も重要な設定内容を図形オブジェクト上に表示させ、それ以外の細部の設定内容はプロパティ画面で設定可能としておけばよい。重要な設定内容が図形オブジェクト上に表示されることで、処理の全容が把握しやすくなる。
【0092】
オペレータは、図形オブジェクト311、312・・・の配置と設定が終われば、実行メニュー230に表示されているシミュレートボタン231をマウス8でクリックする。これにより、ディスプレイ6上に、図12に示すシミュレーション画240が表示される。
【0093】
シミュレーション画面240は、処理フロー表示部241、照明シミュレーション部242および通報シミュレーション部243を有している。処理フロー表示部241には、オペレータにより配置された図形オブジェクトの配列が表示されている。照明シミュレーション部242は、RGBそれぞれの照明光をシミュレートする画像が表示されている。シミュレーションが開始すると、処理フロー表示部241において、現在の処理対象の図形オブジェクトが強調表示される。そして、強調表示された図形オブジェクトに対応した照明光が照明シミュレーション部242においてシミュレートされる。シミュレーション部242は、図形オブジェクトの設定に従い、点灯、点滅、ソフト点灯、ソフト消灯などを設定された色の光でシミュレートする。また、通報に関しては、通報シミュレーション部243が点灯することでタイミングをシミュレートする。音声による警報は、PC5が実際に音声を出力すればよい。オペレータは、実際に、制御プログラム101や105を生成して、照明ユニット1にインストールしなくとも、照明パターンのイメージを得ることができる。
【0094】
もし、シミュレーション画面240で確認した結果、想像していたイメージと異なれば、再度、照明プログラム生成画面201に戻り、図形オブジェクトの配置や設定内容を調整すればよい。たとえば、図形オブジェクト311、312・・・の順番を入れ替える操作、図形オブジェクト311、312・・・の配列に別の図形オブジェクト311、312・・・を挿入する操作、あるいは配置されている図形オブジェクト311、312・・・のいずれかを削除する操作を行う。あるいは、各図形オブジェクト311、312・・・の設定内容を変更する。変更作業が終われば、シミュレートボタン231を再びクリックすることで、すぐに変更後の内容をシミュレーション画面240で確認することができる。
【0095】
照明プログラム生成画面201での操作、シミュレーション画面240での確認操作を繰り返し、想像しているイメージと一致した段階で、オペレータは生成ボタン232をマウス8でクリックする。これにより、複数の動作プログラム411、412・・・を結合した制御プログラム101や105が生成される。
【0096】
図4には図示していないが、生成された制御プログラム101や105がハードディスク52に格納される。オペレータは、サービスマン3が使用するPC2の記憶部21に生成した制御プログラム101や105のコピーを保存する。この後は、前述したとおりである。サービスマン3は、駐車場内に設置された照明ユニット1の制御プログラム101や105を更新する。
【0097】
オペレータが生成した制御プログラム101や105をPC2に保存し、サービスマン3が現地で更新作業を行うと説明したが、オペレータ自身がPC5を持参して更新作業を行ってもよい。オペレータは、PC5から制御プログラム101や105を無線で転送し、照明ユニット1にインストールする。このような作業を可能とするためには、PC5にもZigBee等を利用した無線通信機能を搭載すればよい。
【0098】
オペレータは、PC5から照明ユニット1に制御プログラム101や105を転送し、インストール作業を行った後、動作確認を行う。もし、動作確認の結果が想定していたイメージと異なる場合には、オペレータは、その場で、PC5を操作し、制御プログラム101や105を更新する。オペレータは、開発支援プログラム200を起動し、上述した作業の微調整を行うなどして、制御プログラム101や105の更新を行う。更新作業が終われば、再び、PC5から照明ユニット1に制御プログラム101や105を転送する。このように、従来であれば、照明システムの仕様変更に対して時間とコストがかかっていたが、開発支援プログラム200を利用することで、短時間で容易に照明システムの仕様を変更することができる。
【符号の説明】
【0099】
1 照明ユニット
2 PC
4 追加センサ
5 PC
6 ディスプレイ
8 マウス
11(11R、11G、11B) LED
12 LEDドライバ
14 制御部
15 センサ
17 無線ユニット
101 制御プログラム
105 制御プログラム
141 CPU
142 メモリ
200 開発支援プログラム
201 照明プログラム生成画面
211、212、213、214 オブジェクト選択画面
311、312・・・ 図形オブジェクト
411、412・・・ 動作プログラム

【特許請求の範囲】
【請求項1】
グラフィカルユーザインタフェースを利用してプログラムを生成するプログラム生成装置であって、
照明装置の動作を定義する複数種類の動作プログラムに対応した複数種類の動作を象徴する図形オブジェクトを前記プログラム生成装置に接続されたディスプレイ上に表示させ、前記複数種類の図形オブジェクトを選択可能に提供する図形オブジェクト提供部と、
前記複数種類の図形オブジェクトの中から複数の図形オブジェクトをポインティングデバイスにより選択させ、選択された複数の図形オブジェクトを前記ディスプレイ上に表示されたオブジェクト配置エリア内に配置するオブジェクト配置部と、
前記オブジェクト配置部により配置された複数の図形オブジェクトの配置関係を選択された複数の動作プログラムの時系列の関係に対応付けることにより、前記照明装置を制御する制御プログラムを生成する生成部と、
を備えることを特徴とするプログラム生成装置。
【請求項2】
請求項1に記載のプログラム生成装置において、
前記オブジェクト配置部は、
配置された複数の図形オブジェクトの一の方向に関する配列をプログラムの時系列の関係に対応付け、前記一の方向と直交する方向に関する配列を平行して動作するプログラムの関係に対応付けることを特徴とするプログラム生成装置。
【請求項3】
請求項1または請求項2に記載のプログラム生成装置において、
前記複数種類の動作プログラムは、
動作条件を設定可能な設定型プログラム、
を含み、
前記設定型プログラムは、
前記ディスプレイに表示された対応する図形オブジェクトの画像の中に、前記動作条件を書き換え可能に表示する動作条件設定部、
を含むことを特徴とするプログラム生成装置。
【請求項4】
請求項3に記載のプログラム生成装置において、
前記動作条件は、前記設定型プログラムによって定義された前記照明装置の動作の継続時間を含むことを特徴とするプログラム生成装置。
【請求項5】
請求項3または請求項4に記載のプログラム生成装置において、
前記動作条件は、前記設定型プログラムによって定義された前記照明装置の動作の最大・最小出力強度を含むことを特徴とするプログラム生成装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載のプログラム生成装置において、さらに、
設定された条件に応じた前記照明装置の発光態様を前記ディスプレイ上にシミュレーションさせるシミュレーション部と、
前記シミュレーション部に対して、前記制御プログラムによって制御される前記照明装置の動作をシミュレーションさせるプログラム確認部と、
を備えることを特徴とするプログラム生成装置。
【請求項7】
グラフィカルユーザインタフェースを利用してプログラムを生成するプログラム生成装置であって、
機器の動作を定義する複数種類の動作プログラムに対応した複数種類の動作を象徴する図形オブジェクトを前記プログラム生成装置に接続されたディスプレイ上に表示させ、前記複数種類の図形オブジェクトを選択可能に提供する図形オブジェクト提供部と、
前記複数種類の図形オブジェクトの中から複数の図形オブジェクトをポインティングデバイスにより選択させ、選択された複数の図形オブジェクトを前記ディスプレイ上に表示されたオブジェクト配置エリア内に配置するオブジェクト配置部と、
前記オブジェクト配置部により配置された複数の図形オブジェクトの配置関係を選択された複数の動作プログラムの時系列の関係に対応付けることにより、前記機器を制御する制御プログラムを生成する生成部と、
を備えることを特徴とするプログラム生成装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−22722(P2011−22722A)
【公開日】平成23年2月3日(2011.2.3)
【国際特許分類】
【出願番号】特願2009−166060(P2009−166060)
【出願日】平成21年7月14日(2009.7.14)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
【出願人】(000103736)オプテックス株式会社 (116)
【Fターム(参考)】