実施の形態1.
以下、本発明に係る実施の形態について、図面を参照して説明する。なお、この実施の形態により、本発明が限定されるものではない。
図1は、実施の形態1に係る制御システムの構成の一例を示す図である。図1に示すように、実施の形態1に係る制御システム1000Aは、クラウドサーバ10と、サービス提供者装置20と、システム設計支援装置200A,200B及び200Cと、制御機器300A,300B及び300Cとを含んで構成される。システム設計支援装置200Aは、クラウドサーバ10とネットワークを介して通信可能に接続されるとともに、制御機器300Aと通信可能に接続される。同様に、システム設計支援装置200Bは、クラウドサーバ10とネットワークを介して通信可能に接続されるとともに、制御機器300Bと通信可能に接続される。同様に、システム設計支援装置200Cは、クラウドサーバ10とネットワークを介して通信可能に接続されるとともに、制御機器300Cと通信可能に接続される。ネットワークは、インターネット、イーサネット(登録商標)のようなLAN(Local Area Network)を含んでよい。
実施の形態1に係るクラウドサーバ10は、システム設計支援装置200A,200B及び200Cの提供者(以下、サービス提供者)によって、システム設計支援装置200A,200B及び200Cの利用者(以下、サービス利用者)が利用可能なコンピューティング資源としてネットワーク上に配置され、システム設計支援装置200A,200B及び200Cとの間で、いわゆるクラウドコンピューティングシステム(以下、クラウド環境)を構成する。クラウドサーバ10は、サービス利用者が利用可能なデータとして、システム設計で用いられる機器固有情報定義ファイルを記憶する。クラウドサーバ10は、サービス利用者が機器固有情報定義ファイルを必要に応じてダウンロードして利用することが可能なユビキタスなサービスを提供する。サービス提供者により提供されるクラウド環境は、サービス利用者に機器固有情報定義ファイルが記憶されているクラウドサーバ10を特に意識させることなく、システム設計支援装置上の簡単な操作で機器固有情報定義ファイルを取得可能とするサービスを実現できる。クラウドサーバ10は、サービス提供者により保守、運営、及び管理が行われる。サービス提供者は、サービス提供者装置20を操作して、クラウドサーバ10に記憶されている機器固有情報定義ファイルの登録処理、及び更新処理を適宜実行し、機器固有情報定義ファイルを最新の状態となるように常に管理する。機器固有情報定義ファイルは、制御機器300A,300B及び300Cなどの制御機器を構成するユニットの制御に用いられるパラメータが定義されるファイルである。機器固有情報定義ファイルは、例えば、制御機器300A,300B及び300Cなどの制御機器を構成するユニットの仕様、当該ユニットにおける当該ユニットに固有の情報の表示方法、システム設計支援装置200A,200B及び200Cなどの他の機器との間で通信を行う際に当該ユニットに用いられる通信プロトコルなど、制御機器のそれぞれに関する種々の情報を含んでよい。サービス提供者装置20は、サービス提供者によって操作される情報処理装置である。図1では、クラウド環境を構成するコンピューティング資源としてクラウドサーバ10がネットワーク上に配置される例を示すが、サービス利用者からの要求を分散して処理することが可能な複数のサーバで構成されてもよい。
図2は、実施の形態1に係るクラウドサーバの機能構成の一例を示す図である。図2に示すように、クラウドサーバ10は、ファイル記憶部11と、制御部12と、通信処理部13とを含んで構成される。
ファイル記憶部11は、機器固有情報定義ファイル11A〜11Mを記憶する。機器固有情報定義ファイル11A〜11Mは、図3に示すように、制御機器300A,300B、及び300Cを構成する複数のユニットのいずれかに対応する情報が記録される。図3は、実施の形態1に係る機器固有情報定義ファイルとユニットとの対応関係を示す図である。
制御部12は、クラウドサーバ10における各種の制御を実行する。制御部12は、ファイル送信部12a、ファイル登録部12b、及びファイル更新部12cを有する。ファイル送信部12aは、通信処理部13を介して、システム設計支援装置200A,200B、及び200Cとの間で実行される機器固有情報定義ファイルの送信を制御する。具体的には、ファイル送信部12aは、システム設計支援装置200Aから機器固有情報定義ファイルの取得要求を受信すると、取得要求に対応する機器固有情報定義ファイルをファイル記憶部11から読み込む。続いて、ファイル送信部12aは、通信処理部13を介して、ファイル記憶部11から読み込んだ機器固有情報定義ファイルを、取得要求の送信元であるシステム設計支援装置200Aに送信する。ファイル送信部12aは、システム設計支援装置200B又はシステム設計支援装置200Cから機器固有情報定義ファイルの取得要求を受信した場合にも、上述したシステム設計支援装置200Aから機器固有情報定義ファイルの取得要求を受信した場合と同様の手順で処理を実行する。
ファイル登録部12bは、ファイル記憶部11に機器固有情報定義ファイルを登録する処理を実行する。ファイル登録部12bは、サービス提供者装置20からファイル登録要求を受信すると、ファイル登録要求とともに受信された機器固有情報定義ファイルをファイル記憶部11に登録する。ファイル更新部12cは、ファイル記憶部11に記憶されている機器固有情報定義ファイルを更新する処理を実行する。ファイル更新部12cは、サービス提供者装置20からファイル更新要求を受信すると、ファイル記憶部11に記憶されている複数の機器固有情報定義ファイルの中から、ファイル更新要求とともに受信した機器固有情報定義ファイルに対応する機器固有情報定義ファイルを特定する。ファイル更新部12cは、特定した機器固有情報定義ファイルを、ファイル更新要求とともに受信した機器固有情報定義ファイルで上書き更新して、ファイル記憶部11に格納する。機器固有情報定義ファイルの保守、運営及び管理を実行するサービス提供者は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)などの通信プロトコルを用いて、クライアントサーバ型の通信を実行し、機器固有情報定義ファイルのやり取りを実行できる。なお、サービス提供者は、クライアントサーバ型の通信を実行する代わりに、例えば、Telnet(Teletype Network)を利用して、クラウドサーバ10を遠隔操作することにより、機器固有情報定義ファイルの登録、及び機器固有情報定義ファイルの更新を実行してもよい。
図4を用いて、クラウドサーバ10のハードウェア構成の一例を説明する。図4は、実施の形態1に係るクラウドサーバのハードウェア構成の一例を示す図である。図4に示すように、クラウドサーバ10としてのコンピュータ400は、例えば、プロセッサ401、RAM(Random Access Memory)402、HDD(Hard Disk Drive)403、入出力インタフェース404、光学ドライブ405、通信インタフェース406、及びバス407を含む。プロセッサ401、RAM402、HDD403、入出力インタフェース404、光学ドライブ405、及び通信インタフェース406は、バス407を介して直接又は間接的に接続されている。
RAM402はデータの読み書き可能な記憶装置であって、SRAM(Static RAM)又はDRAM(Dynamic RAM)の半導体記憶素子が用いられる。RAM402の代わりにフラッシュメモリを用いてもよい。RAM402は、プロセッサ401が実行する各種制御における処理結果を一時的に記憶する作業領域に利用される。HDD403は、プログラム及びデータを格納する記憶装置である。HDD403は、例えば、クラウドサーバ10のファイル記憶部11に対応する。
入出力インタフェース404は、入力装置及び出力装置に接続されるインタフェースであり、入力装置からの入力信号をプロセッサ401に伝達するとともに、出力装置にプロセッサ401の指示に応じた出力を行う。光学ドライブ405は、光学ディスクを挿入可能に構成され、光学ディスクの読み書きを実行する装置である。
通信インタフェース406は、ネットワーク1を介して実行する通信の制御を行なう回路である。通信インタフェース406は、例えばネットワークインターフェースカード(NIC:Network Interface Card)である。通信インタフェース406は、例えば、クラウドサーバ10の通信処理部13に対応する。
プロセッサ401は、HDD403に記憶されたプログラムを読み出してRAM402に展開し、RAM402に展開されたプログラムに含まれる命令を実行する。プロセッサ401がプログラムに含まれる命令の実行結果に応じて動作することにより、例えば、クラウドサーバ10の制御部12が有するファイル送信部12a、ファイル登録部12b、及びファイル更新部12cにより提供される各機能のそれぞれに対応する各種制御が実現される。
プロセッサ401がHDD403から読み込むプログラム及び当該プログラムによる処理に用いられるデータは、例えば、光学ドライブ405に挿入された光学ディスクから読み込まれ、HDD403に格納される。HDD403に記憶されるプログラム及び当該プログラムによる処理に用いられるデータは、公衆回線、インターネット、LAN、WAN(Wide Area Network)といったネットワークを介してコンピュータ400に接続される「他のコンピュータ(またはサーバ)」に記憶させておき、コンピュータ400がこれらからプログラム及びデータをダウンロードして実行してもよい。
図4に示すように、プロセッサ401がHDD403に記憶されたプログラムを読み出して実行することにより、例えば、クラウドサーバ10の制御部12により提供される各機能のそれぞれに対応する各種制御を実現する例には限定されない。クラウドサーバ10の制御部12により提供される各機能のそれぞれに対応する各種制御を実現するための複数の処理回路を連携させたワイヤードロジックにより実現してもよい。例えば、処理回路には、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)を適用できる。
図5及び図6を用いて、クラウドサーバにより実行される処理の一例を説明する。図5及び図6は、実施の形態1に係るクラウドサーバの処理の一例を示すフローチャートである。
図5を用いて、クラウドサーバ10により実行されるファイル登録処理の一例を説明する。図5に示すように、クラウドサーバ10は、ファイル登録要求を受信したかを判定する(ステップS101)。クラウドサーバ10は、判定の結果、ファイル登録要求を受信していない場合(ステップS101,No)、同判定を繰り返す。
クラウドサーバ10は、判定の結果、ファイル登録要求を受信した場合(ステップS101,Yes)、ファイル登録要求に含まれる機器固有情報定義ファイルを取得する(ステップS102)。
クラウドサーバ10は、ステップS102で取得した機器固有情報定義ファイルをファイル記憶部11に格納して(ステップS103)、図5に示す処理を終了する。
図6を用いて、クラウドサーバ10により実行されるファイル更新処理の一例を説明する。図6に示すように、クラウドサーバ10は、ファイル更新要求を受信したかを判定する(ステップS201)。クラウドサーバ10は、判定の結果、ファイル更新要求を受信していない場合(ステップS201,No)、同判定を繰り返す。
クラウドサーバ10は、判定の結果、ファイル更新要求を受信した場合(ステップS201,Yes)、ファイル更新要求に含まれる機器固有情報定義ファイルを取得する(ステップS202)。
クラウドサーバ10は、ファイル記憶部11を参照して、ステップS202で取得した機器固有情報定義ファイルに対応するファイルを特定する(ステップS203)。
クラウドサーバ10は、ステップS203で特定したファイルを、ステップS202で取得した機器固有情報定義ファイルで上書き更新して、ファイル記憶部11に格納し(ステップS204)、図6に示す処理を終了する。
図7は、実施の形態1に係るシステム設計支援装置及び制御機器の機能構成の一例を示す図である。実施の形態1に係るシステム設計支援装置200A,200B、及び200Cは、基本的に同様の構成を有するので、以下では、システム設計支援装置200A,200B、及び200Cの中から、システム設計支援装置200Aを取り上げて当該システム設計支援装置200Aの機能構成について説明する。実施の形態1に係る制御機器300A,300B、及び300Cは、基本的に同様の構成を有するので、以下では、制御機器300A,300B、及び300Cのうち、制御機器300Aを取り上げて制御機器300Aの機能構成の一部について説明する。
図7に示すように、システム設計支援装置200Aは、ネットワークを介して、クラウドサーバ10との間で実行される通信が可能な状態で接続されるとともに、制御機器300Aとの間で実行される通信も可能な状態で接続される。
図7に示すように、システム設計支援装置200Aは、表示部201と、機器固有情報定義ファイル指定部202と、通信処理部203と、機器固有情報取得部204と、機器固有情報保存部205と、パラメータ作成部206と、制御プログラム作成部207と、書き込み部208とを有する。以下に説明する表示部201は表示部の一例であり、機器固有情報定義ファイル指定部202はファイル指定受付部の一例であり、機器固有情報取得部204はファイル取得部の一例であり、機器固有情報保存部205は記憶部の一例である。
表示部201は、システム設計支援装置200Aの利用者P1が実施するシステム設計に係る種々の情報を表示する。表示部201は、利用者P1が、機器固有情報定義ファイルを指定する操作等を行う際に用いる画面を表示する。表示部201は、利用者P1が、制御機器300Aのシステム構成の設定等を行う際に用いる画面を表示する。表示部201は、利用者P1が、制御機器300Aの制御プログラムを作成する際に用いる画面を表示する。
機器固有情報定義ファイル指定部202は、機器固有情報定義ファイルを指定する操作を利用者P1から受け付ける画面を表示部201に表示し、当該画面を通じて、利用者P1から機器固有情報定義ファイルの指定入力を受け付ける。図8は、実施の形態1に係る機器固有情報定義ファイルの指定入力を受け付けるための画面の例を示す図である。図8に示す画面50には、利用者P1が指定可能な機器固有情報定義ファイルのファイル名の一覧が表示される。画面50は、機器固有情報定義ファイルの指定を行うチェックボックス51と、画面50を操作するポインタ52と、指定されたファイルの取得を実行させるファイル取得実行ボタン54とを備える。画面50は、ポインタ52を介して、利用者P1によりチェックボックス51が操作されると、チェックボックス51に対応する機器固有情報定義ファイルが指定されたことを利用者P1に通知するマーク53をチェックボックス51に表示させる。機器固有情報定義ファイルの指定は、利用者P1が、ポインタ52を介して、指定済みのチェックボックス51を再度操作することにより解除することができる構成としてよい。画面50は、指定解除の操作に伴い、チェックボックス51に表示するマーク53を消去できる。
図8に示す例では、利用者P1が指定可能な機器固有情報定義ファイルのファイル名の一部が画面50に表示される例を示しているが、画面50は、利用者P1によりスクロールバーの操作が行われると、ファイル名が表示されている領域をスクロールさせることにより、指定可能な全てのファイルのファイル名を表示させる構成でもよい。あるいは、画面50は、指定可能な全てのファイルのファイル名を表示させる構成でもよい。あるいは、画面50は、画面50のサイズに応じて、指定可能な機器固有情報定義ファイルのファイル名をスクロールにより表示させるか、又は全てのファイルのファイル名を表示させるかを切り換える構成でもよい。
通信処理部203は、クラウドサーバ10及び制御機器300Aとの間の通信を制御する。
機器固有情報取得部204は、機器固有情報定義ファイル指定部202で受け付けられた機器固有情報定義ファイルの指定入力に基づいて、指定入力に対応する機器固有情報定義ファイルをクラウドサーバ10から取得する。具体的には、機器固有情報取得部204は、機器固有情報定義ファイル指定部202で受け付けられた指定入力に対応する機器固有情報定義ファイルの取得要求を、通信処理部203を介して、クラウドサーバ10に送信する。通信処理部203を介して、クラウドサーバ10から機器固有情報定義ファイルを受信すると、機器固有情報取得部204は、受信した機器固有情報定義ファイルを機器固有情報保存部205に格納する。機器固有情報取得部204は、書き込み部208より、書き込み処理の完了の通知を受け付けると、機器固有情報保存部205に記憶されている機器固有情報定義ファイルを削除する。
機器固有情報保存部205は、機器固有情報取得部204によりクラウドサーバ10から取得された機器固有情報定義ファイルを記憶する。
パラメータ作成部206は、システム構成作成部206aと、パラメータ処理部206bと、パラメータ設定部206cとを有する。
システム構成作成部206aは、システム構成作成処理を実行する。具体的には、システム構成作成部206aは、制御機器300Aのシステム構成の設定等を行う際に用いる画面を表示部201に表示させ、利用者P1の設定操作及び設定入力を受け付けて、システム構成情報を作成する。
パラメータ処理部206bは、機器固有情報保存部205に記憶されている機器固有情報定義ファイルに基づいて、制御機器300Aを構成する複数のユニットごとに、当該ユニットに対して設定するパラメータの項目を抽出する処理を実行する。実施の形態1では、パラメータ処理部206bは、制御機器300Aを構成する電源ユニットA、CPUユニットB、入出力ユニットB、及びネットワークユニットCの各ユニットについて、それぞれパラメータの項目を抽出する。パラメータ処理部206bが抽出するパラメータの項目について一例を挙げると、例えば、電源ユニットAであれば「許容電圧」、ネットワークユニットCであれば「IPアドレス」などがパラメータの項目として抽出される。
パラメータ設定部206cは、パラメータ設定処理を実行する。具体的には、パラメータ設定部206cは、パラメータ処理部206bによりユニットごとに抽出されたパラメータの項目に対して、それぞれ入力されたパラメータ値を機器パラメータとして設定する。パラメータ設定部206cは、パラメータ設定部の一例である。
制御プログラム作成部207は、プログラム作成処理部207aを有する。プログラム作成処理部207aは、制御機器300Aの制御プログラムを作成する際に用いる画面を表示部201に表示させ、利用者P1が書き込んだソースコードをコンパイルすることにより制御プログラムを作成する。
書き込み部208は、パラメータ作成部206により設定された機器パラメータ、及び制御プログラム作成部207により作成された制御プログラムを、通信処理部203を介して、制御機器300AのCPUユニットBに書き込む処理を実行する。書き込み部208によって、パラメータ作成部206により設定された機器パラメータの制御機器300Aへの書き込みが完了すると、書き込み処理の完了を機器固有情報取得部204に通知する。
図7に示すように、制御機器300Aは、電源ユニットA、CPUユニットB、入出力ユニットB、及びネットワークユニットCを含んで構成される。CPUユニットBは、保存部B−1、及び機器制御部B−2を有する。保存部B−1は、システム設計支援装置200Aによって書き込まれた制御プログラム及び機器パラメータを記憶する。機器制御部B−2は、保存部B−1に記憶されている制御プログラム及び機器パラメータを用いて、制御機器300Aを構成する電源ユニットA、入出力ユニットB、及びネットワークユニットCの動作を制御する。
図7に示すシステム設計支援装置200Bは、システム設計支援装置200Aと同様にして、制御機器300Bのシステム構成情報を作成し、機器パラメータを設定し、制御プログラムを作成して、制御機器300Bに書き込む処理を実行できる。制御機器300Bは、電源ユニットA、CPUユニットA、入出力ユニットA、及びネットワークユニットBを含んで構成される。図7に示すシステム設計支援装置200Cも、システム設計支援装置200Aと同様にして、制御機器300Cのシステム構成情報を作成し、機器パラメータを設定し、制御プログラムを作成して、制御機器300Cに書き込む処理を実行できる。制御機器300Cは、電源ユニットC、CPUユニットB、入出力ユニットB、及びネットワークユニットAを含んで構成される。
図9を用いて、図7に示すシステム設計支援装置の各種制御と同様の制御を実現するコンピュータの一例を説明する。図9は、実施の形態1に係るシステム設計支援装置のハードウェア構成の一例を示す図である。
図9に示すように、システム設計支援装置としてのコンピュータ500は、例えば、プロセッサ501、RAM(Random Access Memory)502、ROM(Read Only Memory)503、入力インタフェース504、入力デバイス505、出力インタフェース506、出力デバイス507、通信インタフェース508、及びバス509を含む。プロセッサ501、RAM502、ROM503、入力インタフェース504、入力デバイス505、出力インタフェース506、出力デバイス507、及び通信インタフェース508は、バス509を介して直接又は間接的に接続されている。
RAM502はデータの読み書き可能な記憶装置であって、SRAM(Static RAM)又はDRAM(Dynamic RAM)の半導体記憶素子が用いられる。RAM502の代わりにフラッシュメモリを用いてもよい。RAM502は、プロセッサ501が実行する各種制御における処理結果を一時的に記憶する作業領域に利用される。RAM502は、例えば、システム設計支援装置200Aの機器固有情報保存部205に対応する。ROM503は、プログラム及びデータの読み出しが可能な記憶装置であって、PROM(Programmable ROM)も含む。ROM503は、プロセッサ501が実行する各種制御を実現するためのプログラム及びデータの記録に用いられる。
入力インタフェース504は、入力デバイス505からの入力信号をプロセッサ501に伝達する回路である。出力インタフェース506は、プロセッサ501の指示に応じて出力デバイス507への出力を実行させる回路である。通信インタフェース508は、ネットワーク1を介して実行する通信の制御を行なう回路である。通信インタフェース508は、例えばネットワークインターフェースカード(NIC:Network Interface Card)である。入力インタフェース504及び出力インタフェース506は、統合された1つのユニットであってもよい。通信インタフェース508は、例えば、システム設計支援装置200Aの通信処理部203に対応する。
プロセッサ501は、ROM503に記憶されたプログラムを読み出してRAM502に展開し、RAM502に展開されたプログラムに含まれる命令を実行する。プロセッサ501がプログラムに含まれる命令の実行結果に応じて動作することにより、例えば、システム設計支援装置200Aの機器固有情報定義ファイル指定部202、機器固有情報取得部204、パラメータ作成部206、制御プログラム作成部207、書き込み部208により提供される各機能のそれぞれに対応する各種制御が実現される。
ROM503に記憶されるプログラム及び当該プログラムによる処理に用いられるデータは、最初からROM503に記憶させておく必要はない。例えば、各種制御を実現するプログラム及び当該プログラムによる処理に用いられるデータを、公衆回線、インターネット、LAN、WAN(Wide Area Network)といったネットワークを介してコンピュータ500に接続される「他のコンピュータ(またはサーバ)」に記憶させておき、コンピュータ500がこれらからプログラム及びデータをダウンロードして実行してもよい。
図9に示すように、プロセッサ501がROM503に記憶されたプログラムを読み出して実行することにより、例えば、システム設計支援装置200Aの機器固有情報定義ファイル指定部202、機器固有情報取得部204、パラメータ作成部206、制御プログラム作成部207、書き込み部208により提供される各機能のそれぞれに対応する各種制御を実現する例には限定されない。機器固有情報定義ファイル指定部202、機器固有情報取得部204、パラメータ作成部206、制御プログラム作成部207、書き込み部208により提供される各機能のそれぞれに対応する各種制御を実現するための複数の処理回路を連携させたワイヤードロジックにより実現してもよい。例えば、処理回路には、ASIC(Application Specific Integrated Circuit)又はFPGA(Field Programmable Gate Array)を適用できる。
図10は、実施の形態1に係るシステム設計支援装置の処理の一例を示すフローチャートである。以下では、システム設計支援装置200Aによる処理の流れについて説明する。図10は、システム設計支援装置200Aが、設計対象となる制御機器を構成する複数のユニットのそれぞれに対応する機器固有情報定義ファイルを、クラウドサーバ10に記憶されている複数の機器固有情報定義ファイルの中から取得し、機器パラメータの設定を実行するまでの処理の流れを示す。
図10に示すように、システム設計支援装置200Aは、機器固有情報定義ファイルを指定する画面(図8参照)を表示する(ステップS301)。
続いて、システム設計支援装置200Aは、ステップS301で表示した画面上で、機器固有情報定義ファイルの指定入力を受け付ける(ステップS302)。
続いて、システム設計支援装置200Aは、ファイル取得を実行するかを判定する(ステップS303)。具体的には、システム設計支援装置200Aは、図8に示すファイル取得実行ボタン54に対する操作が行われたかを判定する。
システム設計支援装置200Aは、判定の結果、ファイル取得を実行しない場合(ステップS303,No)、上記ステップS302の処理に戻る。これとは反対に、システム設計支援装置200Aは、判定の結果、ファイル取得を実行する場合(ステップS303,Yes)、ステップS302で指定された機器固有情報定義ファイルをクラウドサーバ10から取得する(ステップS304)。すなわち、システム設計支援装置200Aは、従来のように、設定対象となる制御機器に対応する機器固有情報定義ファイルの登録を予め受け付けておく必要がなく、画面上で指定された機器固有情報定義ファイルをクラウドサーバ10から適宜取得できる。
続いて、システム設計支援装置200Aは、ステップS304で取得した機器固有情報定義ファイルを格納する(ステップS305)。
続いて、システム設計支援装置200Aは、制御機器300Aのシステム構成作成処理を実行する(ステップS306)。
続いて、システム設計支援装置200Aは、ステップS305で格納した機器固有情報定義ファイルに基づいて、制御機器300Aを構成するユニットごとに設定するパラメータの項目を抽出する処理を実行する(ステップS307)。
続いて、システム設計支援装置200Aは、パラメータ設定処理を実行する(ステップS308)。
続いて、システム設計支援装置200Aは、制御機器300A用の制御プログラム作成処理を実行する(ステップS309)。
続いて、システム設計支援装置200Aは、ステップS308の処理による機器パラメータ、及びステップS309の処理による制御プログラムを制御機器300Aに書き込む処理を実行し(ステップS310)、図10に示す処理を終了する。
上述してきたように、実施の形態1において、システム設計支援装置200Aは、設計対象となる制御機器300Aを構成する複数のユニットのそれぞれに対応する機器固有情報定義ファイルを、クラウドサーバ10に記憶されている複数の機器固有情報定義ファイルの中から取得し、機器パラメータの設定を実行する。すなわち、実施の形態1によれば、システム設計支援装置に対して、機器固有情報定義ファイルが記録されたデータベースを予め登録する必要がなく、システム設計支援装置の利用者がシステム設計を行う際に必要に応じてクラウドサーバ10から取得することが可能となる。また、クラウドサーバ10が、全ての制御機器に対応した機器固有情報定義ファイルを一括管理する。このため、実施の形態1によれば、パラメータの一括管理が簡単にできる。また、実施の形態1によれば、システム設計支援装置200Aは、予め機器固有情報定義ファイルを登録しておく必要がないので、機器固有情報定義ファイルを記憶しておくための記憶領域を記憶部に準備することなく、記憶部の記憶領域を効率的に活用できる。また、システム設計支援装置200Aは、クラウドサーバ10から最新の機器固有情報定義ファイルを取得できるので、最新の機器固有情報定義ファイルに基づいて、制御対象となる制御機器のパラメータを設定できる。
実施の形態1において、システム設計支援装置200Aは、指定可能な機器固有情報定義ファイルのファイル名の一覧を表示する画面を提供し、当該画面上で機器固有情報定義ファイルの指定を受け付ける。このため、実施の形態1によれば、システム設計支援装置の利用者が、複数の機器固有情報定義ファイルの中からファイルを指定する作業を簡易に行うことが可能となり、制御装置ごとのパラメータ設定が容易となる。
実施の形態1において、クラウドサーバ10のファイル記憶部11及びその他のデータ記憶領域は、システム設計支援装置200A,200B及び200Cなどの各システム設計支援装置の利用者がアクセス可能な領域と、各システム設計支援装置の利用者のそれぞれが個別にアクセス可能な領域に物理的あるいは仮想的に分散されていてもよい。各システム設計支援装置の利用者は、ユーザID及びパスワードなどを用いた認証処理を実行してもよい。
実施の形態1において、クラウドサーバ10のファイル記憶部11の記憶領域は、制御機器に対応する機器固有情報定義ファイルを提供する事業者ごとに、物理的あるいは仮想的に分散されていてもよい。この場合、各事業者が、各々が提供する機器固有情報定義ファイルの登録処理及び更新処理をそれぞれ実行してもよい。
実施の形態1において、システム設計支援装置200A,200B及び200Cなどの各システム設計支援装置は、図8に示す画面に、利用者P1が指定可能な機器固有情報定義ファイルのファイル名の一覧を表示させるために必要なデータを予め備えてもよい。システム設計支援装置200A,200B及び200Cなどの各システム設計支援装置は、図8に示す画面に、利用者P1が指定可能な機器固有情報定義ファイルのファイル名の一覧を表示させるために必要なデータをクラウドサーバ10から取得してもよい。クラウドサーバ10は、機器固有情報定義ファイルのファイル名の一覧を表示させるために必要なデータとして、ファイル名の一覧などの概略化したサマリーデータを予め備えていてよい。サマリーデータは、各システム設計支援装置の利用者がファイル名を特定可能な形式であれば、どのような形式でもよい。クラウドサーバ10は、各システム設計支援装置の要求に応じて、サマリーデータを提供してよい。
実施の形態2.
上記の実施の形態1では、システム設計支援装置がクラウドサーバ10から機器固有情報定義ファイルを適宜取得し、機器固有情報定義ファイルを用いて、制御対象となる制御機器にパラメータを設定する例を説明した。以下に説明する実施の形態2では、システム設計支援装置ではなく、制御機器がクラウドサーバ10から機器固有情報定義ファイルを取得し、パラメータを設定する場合の一例を説明する。
図11は、実施の形態2に係る制御システムの構成の一例を示す図である。図11に示すように、実施の形態2に係る制御システム1000Bは、クラウドサーバ10と、サービス提供者装置20と、制御機器300A,300B及び300Cとを含んで構成される。制御機器300A,300B、及び300Cは、それぞれ、ネットワークを介して、クラウドサーバ10と通信可能に接続される。
実施の形態2に係るクラウドサーバ10のファイル記憶部11は、図12に示すように、制御機器300A,300B、及び300Cを構成する複数のユニットのいずれかに対応する情報が記録された機器固有情報定義ファイル11A〜11Mを記憶するとともに、機器固有情報定義ファイル11A〜11Mのそれぞれに一意に割り当てられている識別子であるIDをさらに記憶する。図12は、実施の形態2に係る機器固有情報定義ファイルとユニットとユニットIDとの対応関係を示す図である。
実施の形態2に係るクラウドサーバ10は、基本的には実施の形態1と同様の機能構成を有するが以下に説明する点が異なる。実施の形態2に係るクラウドサーバ10のファイル送信部12aは、通信処理部13を介して、制御機器300A,300B、及び300Cとの間で実行される機器固有情報定義ファイルの送信を制御する。具体的には、ファイル送信部12aは、制御機器300Aから機器固有情報定義ファイルの取得要求を受信すると、取得要求に含まれるユニットIDを取得する。続いて、ファイル送信部12aは、取得したユニットIDに対応する機器固有情報定義ファイルをファイル記憶部11から読み込む。続いて、ファイル送信部12aは、通信処理部13を介して、ファイル記憶部11から読み込んだ機器固有情報定義ファイルを、取得要求の送信元である制御機器300Aに送信する。ファイル送信部12aは、制御機器300B又は制御機器300Cから機器固有情報定義ファイルの取得要求を受信した場合にも、上述した制御機器300Aから機器固有情報定義ファイルの取得要求を受信した場合と同様の手順で処理を実行する。
図13は、実施の形態2に係る制御機器の機能構成の一例を示す図である。実施の形態2に係る制御機器300A,300B、及び300Cは、基本的に同様の構成を有するので、以下では、制御機器300A,300B、及び300Cの中から、制御機器300Aを取り上げて当該制御機器300Aの機能構成について説明する。
図13に示すように、実施の形態2に係る制御機器300Aは、ネットワークを介して、クラウドサーバ10との間で実行される通信が可能な状態で接続される。
図13に示すように、制御機器300Aは、電源ユニットA、CPUユニットB、入出力ユニットB、及びネットワークユニットCを含んで構成される。CPUユニットBは、通信処理部B−10、システム構成作成部B−20、機器固有情報取得部B−30、機器固有情報保存部B−40、パラメータ作成部B−50、パラメータ書き込み部B−60、保存部B−1、及び機器制御部B−2を有する。
通信処理部B−10は、クラウドサーバ10との間の通信を制御する。
システム構成作成部B−20は、制御機器300Aのシステム構成情報が記録されたシステム構成情報ファイルB−20−1を作成する。具体的には、システム構成作成部B−20は、電源投入によって制御機器300Aのシステムが起動すると、制御機器300Aを構成する他のユニットから当該他のユニットに関する情報を収集し、収集した情報及びCPUユニットBの情報に基づいてシステム構成情報ファイルB−20−1を作成する。図14は、実施の形態2に係るシステム構成情報ファイルの一例を示す図である。図14に示すシステム構成情報ファイルB−20−1は、制御機器300Aを構成する各ユニットのユニット名称と、各ユニットに一意に付与された識別子であるユニットIDとの対応関係を記録する。図14に示すシステム構成情報ファイルB−20−1は、さらに、各ユニットの接続関係の情報を含む。図14に示す例では、ユニット名称として、「電源ユニットA」、「CPUユニットB」、「入出力ユニットB」、及び「ネットワークユニットC」が記録されている。また、図14に示す例では、電源ユニットAのユニットIDとして「000A」、CPUユニットBのユニットIDとして「001B」、入出力ユニットBのユニットIDとして「002B」、及びネットワークユニットCのユニットIDとして「003C」が、それぞれユニット名称に対応付けられた状態で記録されている。図14に示す例では、制御機器300Aを構成する各ユニットの接続関係の情報が、各ユニットのユニットIDで構成された状態で記録される。システム構成情報ファイルB−20−1の作成主体であるCPUユニットBのユニット名称及びユニットIDは、予めシステム構成情報ファイルB−20−1に記録されていてよい。
機器固有情報取得部B−30は、システム構成情報ファイルB−20−1に記録されている対応関係を参照して、システム構成情報ファイルB−20−1に含まれる複数のユニットIDに紐づく機器固有情報定義ファイルをクラウドサーバ10からそれぞれ取得し、機器固有情報保存部B−40に格納する。具体的には、機器固有情報取得部B−30は、システム構成作成部B−20からシステム構成情報ファイルB−20―1を取得し、システム構成情報ファイルB−20―1に含まれる各ユニットに対応付けられたユニットIDを取得する。続いて、機器固有情報取得部B−30は、取得したユニットIDを機器固有情報定義ファイルの取得要求に挿入してクラウドサーバ10に送信する。続いて、機器固有情報取得部B−30は、クラウドサーバ10から機器固有情報定義ファイルを受信すると、受信した機器固有情報定義ファイルを機器固有情報保存部B−40に格納する。機器固有情報取得部B−30は、パラメータ書き込み部B−60より、書き込み処理の完了の通知を受け付けると、機器固有情報保存部B−40に記憶されている機器固有情報定義ファイルを削除する。
機器固有情報保存部B−40は、機器固有情報取得部B−30によりクラウドサーバ10から取得された機器固有情報定義ファイルを記憶する。
パラメータ作成部B−50は、パラメータ処理部B−50−1と、パラメータ設定部B−50−2とを有する。
パラメータ処理部B−50−1は、機器固有情報保存部B−40に記憶されている機器固有情報定義ファイルに基づいて、制御機器300Aを構成する複数のユニットごとに、当該ユニットに対して設定するパラメータの項目を抽出する処理を実行する。
パラメータ設定部B−50−2は、パラメータ設定処理を実行する。具体的には、パラメータ設定部B−50−2は、パラメータ処理部B−50−1によりユニットごとに抽出されたパラメータの項目に対して、利用者P1により、それぞれ入力されたパラメータ値を機器パラメータとして設定する。
パラメータ書き込み部B−60は、パラメータ作成部B−50により設定された機器パラメータを、保存部B−1に書き込む処理を実行する。パラメータ書き込み部B−60は、パラメータ設定部B−50−2により設定された機器パラメータの保存部B−1への書き込みが完了すると、書き込み処理の完了を機器固有情報取得部B−30に通知する。
保存部B−1は、パラメータ書き込み部B−60によって書き込まれた機器パラメータを記憶する。保存部B−1は、制御機器300Aを構成する電源ユニットA、入出力ユニットB、及びネットワークユニットCの動作を制御するための制御プログラムを予め記憶する。機器制御部B−2は、保存部B−1に記憶されている制御プログラム及び機器パラメータを用いて、制御機器300Aを構成する電源ユニットA、入出力ユニットB、及びネットワークユニットCの動作を制御する。
図15及び図16を用いて、実施の形態2に係る制御機器の各種制御と同様の制御を実現するコンピュータの一例を説明する。図15及び図16は、実施の形態2に係る制御機器のハードウェア構成の一例を示す図である。
図15に示すコンピュータ600は、プロセッサ601、メモリ602、通信インタフェース603を有する。プロセッサ601、メモリ602、及び通信インタフェース603は、バス604を介して接続される。メモリ602の一部は、例えば、制御機器300AのCPUユニットBが有する機器固有情報保存部B−40に対応する。通信インタフェース603は、例えば、制御機器300AのCPUユニットBが有する通信処理部B−10に対応する。
実施の形態2で説明した制御機器により提供される各機能は、例えば、図15に示すコンピュータ600により、ソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェア及びファームウェアは、例えば、制御機器300Aのシステム構成作成部B−20、機器固有情報取得部B−30、パラメータ作成部B−50、パラメータ書き込み部B−60、及び機器制御部B−2により提供される各機能に対応するプログラムとして記述され、メモリ602に格納される。メモリ602は、RAM、ROM、フラッシュメモリ、EPROM(Erasable PROM)、EEPROM(Electrically EPROM)などの不揮発性又は揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、並びにデジタルビデオディスクなどであってよい。
プロセッサ601は、メモリ602に記憶されたプログラムを読み出して実行することにより、制御機器300Aのシステム構成作成部B−20、機器固有情報取得部B−30、パラメータ作成部B−50、パラメータ書き込み部B−60、及び機器制御部B−2により提供される各機能を実現する。プロセッサ601は、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)などの他の演算装置であってもよい。
実施の形態2で説明した制御機器により提供される各機能がソフトウェア等で実現される場合、コンピュータ600は、制御機器300Aを構成する複数のユニットのそれぞれに対応する機器固有情報定義ファイルを、クラウドサーバ10に記憶されている複数の機器固有情報定義ファイルの中から自動的に取得して、機器パラメータの設定を実行するステップを含む処理プロセスが結果的に実行されることになるプログラムを格納するためのメモリ602を有する。
図16に示すコンピュータ700は、処理回路701、通信インタフェース702を有する。処理回路701及び通信インタフェース702は、バス703を介して接続される。処理回路701は、例えば、制御機器300AのCPUユニットBが有する通信処理部B−10、システム構成作成部B−20、機器固有情報取得部B−30、機器固有情報保存部B−40、パラメータ作成部B−50、パラメータ書き込み部B−60、保存部B−1、及び機器制御部B−2により提供される各機能を実現する。通信インタフェース702は、例えば、制御機器300AのCPUユニットBが有する通信処理部B−10に対応する。
実施の形態2で説明した制御機器により提供される各機能が専用のハードウェアで実現される場合、処理回路701は、通信処理部B−10、システム構成作成部B−20、機器固有情報取得部B−30、機器固有情報保存部B−40、パラメータ作成部B−50、パラメータ書き込み部B−60、保存部B−1、及び機器制御部B−2により提供される各機能をそれぞれ個別に実現可能な状態で構成されてもよいし、当該各機能を纏めて実現可能な状態で構成されてもよい。処理回路701は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGA、若しくはこれらの組合せにより構成されてよい。
上述してきたように、実施の形態2に係る制御機器により提供される各機能は、図15に示すコンピュータ600によりソフトウェア、ファームウェア、又はソフトウェアとファームウェアとの組み合わせにより実現されてもよく、図16に示すコンピュータ700のような専用のハードウェアにより実現されてもよい。
図17は、実施の形態2に係る制御機器の処理の一例を示すフローチャートである。以下では、制御機器300Aにより実行される処理の流れについて説明する。図17は、制御機器300Aが、制御機器300Aを構成する複数のユニットのそれぞれに対応する機器固有情報定義ファイルを、クラウドサーバ10に記憶されている複数の機器固有情報定義ファイルの中から取得し、機器パラメータの設定を実行するまでの処理の流れを示す。
図17に示すように、制御機器300Aは、システムが起動されたかを判定する(ステップS401)。
制御機器300Aは、判定の結果、システムが起動されていない場合(ステップS401,No)、ステップS401の判定を繰り返す。
一方、制御機器300Aは、判定の結果、システムが起動された場合(ステップS401,Yes)、システム構成情報ファイルの作成処理を実行する(ステップS402)。具体的には、制御機器300AのCPUユニットBは、制御機器300Aを構成する他のユニットから当該他のユニットに関する情報を収集し、収集した情報及びCPUユニットBの情報に基づいてシステム構成情報ファイルB−20−1(図14参照)を作成する。
続いて、制御機器300Aは、システム構成情報ファイルに基づいて、機器固有情報定義ファイルをクラウドサーバ10から取得する(ステップS403)。具体的には、制御機器300AのCPUユニットBは、システム構成情報ファイルB−20―1に含まれる各ユニットに対応付けられたユニットIDを取得し、取得したユニットIDを機器固有情報定義ファイルの取得要求に挿入し、通信処理部B−10を介してクラウドサーバ10に送信することにより、クラウドサーバ10から機器固有情報定義ファイルを取得する。すなわち、制御機器300Aは、従来のように、設定対象となる制御機器に対応する機器固有情報定義ファイルの登録を予め受け付けておく必要がなく、システム構成情報ファイルB−20−1に基づいて、制御機器300Aを構成する各ユニットに対応する機器固有情報定義ファイルをクラウドサーバから適宜取得できる。
続いて、制御機器300Aは、クラウドサーバ10から取得した機器固有情報定義ファイルを格納する(ステップS404)。
続いて、制御機器300Aは、機器固有情報定義ファイルに基づいて、制御機器300Aを構成するユニットごとに、当該ユニットに対して設定するパラメータの項目を抽出する処理を実行する(ステップS405)。
続いて、制御機器300Aは、パラメータの設定処理を実行し(ステップS406)、図17に示す処理を終了する。具体的には、制御機器300AのCPUユニットBは、ユニットごとに抽出されたパラメータの項目に対して、利用者P1により、それぞれ入力されたパラメータ値を機器パラメータとして設定し、設定したパラメータを保存部B−1に書き込む。
上述してきたように、実施の形態2において、制御機器300Aは、制御機器300Aを構成する複数のユニットの情報を自動的に収集し、収集した情報に基づいて、複数のユニットのそれぞれに対応する機器固有情報定義ファイルを、クラウドサーバ10に記憶されている複数の機器固有情報定義ファイルの中から自動的に取得して、機器パラメータの設定を実行する。このため、実施の形態2によれば、実施の形態1のような機器固有情報定義ファイルの指定操作が不要となり、制御装置ごとのパラメータ設定がさらに容易となる。また、実施の形態2によれば、制御機器300Aは、予め機器固有情報定義ファイルを登録しておく必要がないので、機器固有情報定義ファイルを記憶しておくための記憶領域を記憶部に準備する必要がなく、記憶部の記憶領域を効率的に活用できる。また、制御機器300Aは、クラウドサーバ10から最新の機器固有情報定義ファイルを取得できるので、最新の機器固有情報定義ファイルに基づいて、構成ユニットのパラメータを設定できる。
実施の形態3.
上記実施の形態1では、例えば、システム設計支援装置200Aが、システム設計支援装置200A上で指定された機器固有情報定義ファイルをクラウドサーバ10から取り込み、システム設計支援装置200Aにおいてシステム設計(パラメータの設定及び制御プログラムの作成など)を実行する例を説明したが、この例に限定されるものではない。例えば、システム設計支援装置200Aにおいてシステム設計等を実行するのではなく、クラウドサーバ10上でシステム設計を実行してもよい。以下の実施の形態3では、この場合の処理の一例を説明する。
図18は、実施の形態3に係る制御システムの構成の一例を示す図である。図18に示すように、実施の形態3に係る制御システム1000Cは、クラウドサーバ10と、サービス提供者装置20と、クライアント端末800A,800B及び800C(以下、適宜「クライアント端末」)と、制御機器300A,300B及び300C(以下、適宜「制御機器」)とを含んで構成される。クライアント端末は、それぞれ、クラウドサーバ10とネットワークを介して通信可能な状態に接続される。また、クライアント端末800Aは制御機器300Aと通信可能に接続される。同様に、クライアント端末800Bは制御機器300Bと通信可能に接続される。同様に、クライアント端末800Cは制御機器300Cと通信可能に接続される。
クラウドサーバ10は、クラウドサーバ10上に集約される仮想マシン(Virtual Machine)をクライアント端末に接続することにより、仮想デスクトップ(VD:Virtual Desktop)をクライアント端末に提供できる。実施の形態3に係る仮想デスクトップは、仮想的なデスクトップ環境をクライアント端末に提供するための汎用的な基本プログラム、及びシステム設計に実施するためのアプリケーションなどを配備する仮想マシンによって実現される。クラウドサーバ10は、仮想デスクトップの管理、仮想環境の管理、セッションの管理、データストアの管理を実行する。
クライアント端末800A,800B及び800Cは、クラウドサーバ10に接続してシステム設計を実施するクライアント端末の利用者により操作される端末である。上記実施の形態で説明したシステム設計支援装置200A,200B及び200Cを、クライアント端末として利用することもできる。
図19は、実施の形態3に係るクラウドサーバの機能構成の一例を示す図である。図19に示すように、クラウドサーバ10は、ファイル記憶部11と、制御部12と、通信処理部13と、仮想マシン14とを含んで構成される。実施の形態3に係るクラウドサーバ10は、基本的には、実施の形態1と同様の機能構成を有するが、実施の形態3に係る処理を実現するための各種機能等が実施の形態1とは相違する。
ファイル記憶部11は、機器固有情報定義ファイル11A〜11M、ユーザ管理データ11X、基本プログラム11Y、アプリケーション11Zを記憶する。機器固有情報定義ファイル11A〜11Mは、実施の形態1で説明した機器固有情報定義ファイル11A〜11M(図3参照)と同様のファイルである。
ユーザ管理データ11Xは、クラウドサーバ10から提供される仮想デスクトップを利用して、システム設計を実行するクライアント端末の利用者ごとに、クライアント端末におけるパス情報と仮想デスクトップにおけるパス情報との対応関係を管理するためのデータである。パス情報は、例えば、ユーザID、パスワード、クライアント端末のIPアドレス、仮想マシン14のIPアドレス、使用する基本プログラム、使用するアプリケーションに関するデータを含む。
基本プログラム11Yは、仮想マシン14の動作を制御する汎用的なプログラムである。基本プログラム11Yは、仮想的なデスクトップ環境をクライアント端末に提供するための汎用的なプログラムを含む。基本プログラム11Yは、「VMware Horizon(登録商標)」、「Cintrix XenDesktop(登録商標)」、「Microsoft VDI(登録商標)」、「Windows(登録商標)」などを含んでよい。
アプリケーション11Zは、クライアント端末の利用者が仮想デスクトップ上でシステム設計を実行するためのプログラムである。アプリケーション11Zは、上記の実施の形態1でシステム設計支援装置により実現される各種機能を実行するための機能が含まれる。具体的には、アプリケーション11Zは、機器固有情報定義ファイルのファイル名の一覧を表示する画面をクライアント端末に表示させる機能、クライアント端末の利用者により選択された機器固有情報定義ファイルを読み込む機能、制御機器を構成するユニットごとに抽出されたパラメータの項目に対するパラメータ値の入力をクライアント端末の利用者から受け付けるためのパラメータ設定画面をクライアント端末に表示する機能、パラメータ設定画面を介してクライアント端末から入力されたパラメータ値を機器パラメータとして設定する機能、制御機器を制御するためのソースコードの編集作業をクライアント端末の利用者から受け付けるためのプログラム作成画面をクライアント端末に表示する機能、及びクライアント端末の利用者が書き込んだソースコードをコンパイルすることにより制御プログラムを作成する機能を提供できる。
制御部12は、基本的には、上記実施の形態1と同様の機能を有するが、接続部12dを有する点が、実施の形態1とは異なる。
接続部12dは、接続要求の送信元であるクライアント端末の認証に成功すると、ユーザ管理データ11Xを参照し、クライアント端末を仮想マシン14に接続する。接続部12dは、ユーザ管理データ11Xを参照し、仮想デスクトップ上でクライアント端末の利用者により設定されたパラメータ、及び仮想デスクトップ上でクライアント端末の利用者により作成された制御プログラムを、クライアント端末に送信する。
通信処理部13は、上記実施の形態1と同様の機能を有する。
仮想マシン14は、クライアント端末に提供する仮想デスクトップを実現する。仮想マシン14は、ユーザ管理データ11Xに基づいて、ログインしたクライアント端末の利用者に対応する基本プログラム11Y、アプリケーション11Z及びファイルなどを、クラウドサーバ10を構成するリソース上にロードすることにより、クライアント端末に応じた仮想的なデスクトップ環境を提供する。
クラウドサーバ10のハードウェア構成は、上記実施の形態1に係るクラウドサーバ10のハードウェア構成(図4参照)により実現できる。プロセッサ401がプログラムに含まれる命令の実行結果に応じて動作することにより、上記実施の形態1で説明した各機能に対応する各種制御の他、例えば、接続部12dにより提供される機能に対応する各種制御が実現される。
図20は、実施の形態3に係るクライアント端末の機能構成の一例を示す図である。以下では、クライアント端末800Aを例に挙げる。図20に示すように、クライアント端末800Aは、操作部801、表示部802、取得部803、保存部804、書き込み部805、及び通信処理部806を有する。操作部801は、クライアント端末800Aの利用者の操作を受け付ける。表示部802は、クラウドサーバ10から提供される仮想デスクトップを表示する。取得部803は、クラウドサーバ10から受信したパラメータ及び制御プログラムを取得する。保存部804は、取得部803により取得されたパラメータ及び制御プログラムを記憶する。書き込み部805は、保存部804からパラメータ及び制御プログラムを読み込んで、制御機器300Aに書き込む。通信処理部806は、クラウドサーバ10との通信を制御する。
クライアント端末800Aのハードウェア構成は、例えば、上記実施の形態1に係るシステム設計支援装置としてのコンピュータ500と同様のハードウェア構成(図9参照)により実現できる。例えば、プロセッサ501がROM503に記憶されたプログラムを読み出して実行することにより、クライアント端末800Aが有する操作部801、表示部802、取得部803、保存部804、書き込み部805、及び通信処理部806により提供される各機能のそれぞれに対応する各種制御が実現される。
図21を用いて、実施の形態3に係る制御システムの処理の例を説明する。図21は、実施の形態3に係る制御システムの処理の例を示す図である。図21に示す例では、クライアント端末800A、クラウドサーバ10、及び制御機器300Aにより実行される処理について説明する。
図21に示すように、クライアント端末800Aは、クラウドサーバ10にログイン要求を送信する(ステップS501)。ログイン要求は、例えば、ユーザID及びパスワードを含む。
クラウドサーバ10は、クライアント端末800Aからのログイン要求に応じて、ログイン認証を実行する(ステップS502)。
クラウドサーバ10は、ログイン認証に失敗した場合(ステップS502,No)、ログイン認証に失敗した旨の通知をクライアント端末800Aに送信する(ステップS503)。
クラウドサーバ10は、ログイン認証に成功した場合(ステップS502,Yes)、クライアント端末800Aを仮想マシン14に接続する(ステップS504)。ステップS504により、クライアント端末800Aの利用者がクライアント端末800A上でシステム設計を実施できる仮想的なデスクトップ環境がクライアント端末800Aに対して提供される。
クライアント端末800Aを仮想マシン14に接続後、クラウドサーバ10は、機器固有情報定義ファイルの一覧を表示する(ステップS505)。ステップS505により、クライアント端末800Aの表示部802に機器固有情報定義ファイルの一覧が表示される。
クライアント端末800Aは、機器固有情報定義ファイルを指定する(ステップS506)。ステップS506では、クライアント端末800Aの利用者が、クラウドサーバ10により提供される仮想デスクトップ上で、機器固有情報定義ファイルを指定する操作を実行できる。
クライアント端末800Aによる機器固有情報定義ファイルの指定後、クラウドサーバ10は、パラメータ設定画面を表示する(ステップS507)。ステップS507により、制御機器300Aを構成するユニットごとに抽出されたパラメータの項目に対するパラメータ値の入力をクライアント端末の利用者から受け付けるためのパラメータ設定画面がクライアント端末800Aの表示部802に表示される。
クライアント端末800Aは、パラメータを設定する(ステップS508)。ステップS508では、クライアント端末800Aの利用者が、クラウドサーバ10により提供される仮想デスクトップ上で、制御機器300Aを構成するユニットごとに抽出されたパラメータの項目に対するパラメータ値の入力を実行できる。
クライアント端末800Aによるパラメータの設定後、クラウドサーバ10は、プログラム作成画面を表示する(ステップS509)。ステップS509により、制御機器300Aを制御するためのソースコードの編集作業をクライアント端末800Aの利用者から受け付けるためのプログラム作成画面がクライアント端末800Aの表示部802に表示される。
クライアント端末800Aは、編集したソースコードのコンパイルを要求する(ステップS510)。ステップS510では、クライアント端末800Aの利用者が、クラウドサーバ10により提供される仮想デスクトップ上で、制御機器300Aを制御するためのソースコードの編集作業を実行できる。
クライアント端末800Aから送信されたコンパイルの要求に応じて、クラウドサーバ10は、クライアント端末800Aにより編集されたソースコードをコンパイルし、制御プログラムを作成する(ステップS511)。
制御プログラムの作成後、クラウドサーバ10は、パラメータ及び制御プログラムをクライアント端末800Aに送信する(ステップS512)。
クライアント端末800Aの利用者が、クラウドサーバ10から受信したパラメータ及び制御プログラムを制御機器300Aに書き込むことにより(ステップS513)、図21に示す処理を終了する。
上記実施の形態3では、クラウドサーバ10が、クライアント端末800Aに対して仮想デスクトップを提供することにより、クライアント端末800Aの利用者がクラウドサーバ10上で、制御機器300Aを構成するユニットごとのパラメータ設定、及び制御機器を制御するためのソースコードの編集作業を実行可能にする例を説明した。これにより、クライアント端末は、少なくとも、通信機能、入力機能、及び表示出力機能を備えることにより、時間と場所にとらわれることなく、使い慣れたデスクトップ上で使い慣れたアプリケーションを実行して、パラメータ設定及びプログラムの編集が可能となる。
上記実施の形態3は、クラウドサーバ10が、いわゆるDaaS(Desktop as a Service)のサービスをクライアント端末に提供するものであるが、この例に限定されるものではなく、パラメータの設定及びプログラムの編集が可能であれば、いわゆるシンクライアント方式を採用してもよい。
上記実施の形態3は、クラウドサーバ10が、仮想デスクトップを介して、クライアント端末にプログラム作成画面を提供するが、さらに、アプリケーション11Zの1つとして、システム設計に関するAPI(Application Program Interface)をクライアント端末に提供してもよい。クライアント端末の利用者は、プログラムの編集作業に際し、APIを読み出して利用することにより、制御プログラムの編集が容易となる。
上記実施の形態3において、クラウドサーバ10の物理構成は、仮想デスクトップの管理、仮想環境の管理、セッションの管理、データストアの管理など、必要に応じて仮想デスクトップをクライアント端末に提供するためのリソース及びコンポーネントが物理的に分散或いは統合されてよい。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。