(57)【要約】【課題】ＩＰネットワークの通信時間の遅れがあっても、予め定める制御周期時間内での制御演算が可能となるようにしたクラウド制御システムを提供することを目的とする。【解決手段】被制御対象であるプラントの状態を検出する検出端部４、及び検出端部からの検出信号に基づいてプラントを操作する操作端部５と、検出端部の検出信号に基づいて予め設定される制御プログラムを、予め設定される制御周期で実行し、操作端部を制御する管理サーバ１と、当該管理サーバから予め設定され、制御プログラムを並列処理が可能に予め分割された複数の分割プログラムを、並列処理する複数の演算サーバ２と、管理サーバと複数の前記演算サーバとを接続するＩＰネットワーク３と、管理サーバと検出端部及び操作端部とを接続する専用のネットワーク６と、を備えるクラウド制御システム。【選択図】  図１
2015056766.tif 000002
【特許請求の範囲】
【請求項１】
被制御対象であるプラントの状態を検出する検出端部、及び検出端部からの検出信号に基づいてプラントを操作する操作端部と、前記検出端部の検出信号に基づいて予め設定される制御プログラムを、予め設定される制御周期で実行し、前記操作端部を制御する管理サーバと、当該管理サーバから予め設定され、前記制御プログラムを並列処理が可能に予め分割された複数の分割プログラムを、並列処理する複数の演算サーバと、前記管理サーバと複数の前記演算サーバとを接続するＩＰネットワークと、前記管理サーバと前記検出端部及び前記操作端部とを接続する専用のネットワークと、を備えるクラウド制御システムであって、
前記管理サーバは、前記ＩＰネットワークと前記演算サーバとの間の通信時間及び当該演算サーバ自身の演算時間を含む、予め当該演算サーバに設定された１つもしくは複数の前記分割プログラムに対する応答時間を測定する応答時間測定部と、
予め複数の前記演算サーバが実行する分割プログラムを設定する情報を記憶し、前記制御周期毎に前記演算サーバ毎の前記応答時間の異常を判定するための基準応答時間、及びその測定した測定応答時間を記憶する分割プログラム設定テーブルを備え、当該測定応答時間の異常を判定して異常がある場合、当該分割プログラム設定テーブルを更新して、次の前記制御周期で更新された前記分割プログラム設定テーブルを参照して、前記分割プログラムを前記演算サーバに分配する分割プログラム設定部と、
前記検出端部の検出信号に基づいて予め設定される前記制御プログラムを、予め設定される複数の前記分割プログラムとしに対応する前記演算サーバに送信し、複数の前記演算サーバの演算結果を受信して、前記操作端部に送る集約部と、
を備え、
前記演算サーバは、複数の前記分割プログラム数以上で、且つ、予備の台数を含むサーバ台数で構成し、
前記管理サーバは、予め、前記分割プログラムの最大の演算時間以下の１つ、もしくは複数の前記分割プログラムで構成して、予め前記演算サーバに分配し、前記検出端部からの検出信号を受信して、前記検出信号を処理する、対応する前記分割プログラムを備える前記演算サーバに送信し、
更に、全ての前記演算サーバから今回の演算周期で測定した測定応答時間を求めて、夫々の応答時間が予め設定される基準応答時間であるか否かを判定し、
前記基準応答時間以上である前記演算サーバに対しては、当該演算サーバの前回の制御周期での前記演算出力を保持するとともに、次回の制御周期では、当該演算サーバを予備の前記演算サーバで実行するように設定し、
そうでない場合には、前回と同じ分割プログラム設定テーブルでの設定条件での演算を継続し、
前記管理サーバと前記演算サーバとの間を接続する前記ＩＰネットワーク系の伝送遅れ異常を前記分割プログラムの応答時間から検出して、予備の演算サーバで前記分割された分割プログラムを実行し、伝送遅れがあっても制御を継続できるようにしたことを特徴とするクラウド制御システム。
【請求項２】
前記管理サーバを２台の管理サーバで構成し、予め設定される一方の管理サーバをマスターとし、マスターとして設定された当該管理サーバが故障した場合には、他方の管理サーバに制御権を移すようにした請求項１に記載のクラウド制御システム。
【請求項３】
被制御対象であるプラントの状態を検出する検出端部、及び検出端部からの検出信号に基づいてプラントを操作する操作端部と、前記検出端部の検出信号に基づいて予め設定される制御プログラムを、予め設定される制御周期で実行し、前記操作端部を制御する管理サーバと、当該管理サーバから予め設定され、前記制御プログラムを並列処理が可能に予め分割された複数の分割プログラムを、並列処理する複数の演算サーバと、前記管理サーバと複数の前記演算サーバとを接続するＩＰネットワークと、前記管理サーバと前記検出端部及び前記操作端部とを接続する専用のネットワークと、を備えるクラウド制御システムの制御プログラムの実行方法であって、
前記管理サーバは、前記ＩＰネットワークと前記演算サーバとの間の通信時間及び当該演算サーバ自身の演算時間を含む、予め当該演算サーバに設定された１つもしくは複数の前記分割プログラムに対する応答時間を測定する応答時間測定部と、
予め複数の前記演算サーバが実行する分割プログラムを設定する情報を記憶し、前記制御周期毎に前記演算サーバ毎の前記応答時間の異常を判定するための基準応答時間、及びその測定した測定応答時間を記憶する分割プログラム設定テーブルを備え、当該測定応答時間の異常を判定して異常がある場合、当該分割プログラム設定テーブルを更新して、次の前記制御周期で更新された前記分割プログラム設定テーブルを参照して、次の前記制御周期で前記分割プログラムを前記演算サーバに分配する分割プログラム設定部と、
前記検出端部の検出信号に基づいて予め設定される前記制御プログラムを、予め設定される複数の前記分割プログラムとしに対応する前記演算サーバに送信し、複数の前記演算サーバの演算結果を受信して、前記操作端部に送る集約部と、
を備え、
前記演算サーバは、複数の前記分割プログラム数以上で、且つ、予備の台数を含むサーバ台数で構成し、
前記管理サーバは、予め、前記分割プログラムの最大の演算時間以下の１つ、もしくは複数の前記分割プログラムで構成して、予め前記演算サーバに分配し、前記検出端部からの検出信号を受信して、前記検出信号を処理する、対応する前記分割プログラムを備える前記演算サーバに送信し、
更に、全ての前記演算サーバから今回の演算周期で測定した測定応答時間を求めて、夫々の応答時間が予め設定される基準応答時間であるか否かを判定し、
前記基準応答時間以上である前記演算サーバに対しては、当該演算サーバの前回の制御周期での前記演算出力を保持するとともに、次回の制御周期では、当該演算サーバを予備の前記演算サーバで実行するように設定し、
そうでない場合には、前回と同じ分割プログラム設定テーブルでの設定条件での演算を継続し、
前記管理サーバと前記演算サーバとの間を接続する前記ＩＰネットワーク系の伝送遅れ異常を前記分割プログラムの応答時間から検出して、予備の演算サーバで前記分割された分割プログラムを実行し、伝送遅れがあっても制御を継続できるようにしたことを特徴とするクラウド制御システムの制御プログラムの実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、クラウドコンピューティングリソースを利用した制御プログラムを実行するためのクラウド制御システム、及びその制御プログラムの実行方法に関する。
【背景技術】
【０００２】
災害復旧を容易にするため、遠隔からネットワークを介してプラントを制御するクラウドコンピューティング技術を利用した制御技術に注目が集まっている。遠隔に配置された複数のサーバで構成されるクラウドコンピューティング技術を利用して制御を行うシステムを、ここではクラウド制御システムと称す。
【０００３】
クラウド制御システムは、制御プログラムを物理的に離れた地域に備えられる複数のサーバに保持し、いずれかの地域のサーバが災害に遭遇した場合には、他の地域のサーバの制御プログラムでシステムを復旧させることができるので、災害からの復旧の際、制御プログラムの再構築や、制御プログラムを備えるサーバの交換に要する時間を短縮できる効果がある。
【０００４】
一般に、プラントを制御するプロセス制御システムには、コントローラを含むフィールド機器をネットワークで接続して、フィールドネットワークシステムを構築する提案がある。
【０００５】
従来このようなネットワークにはフィールドバスが使用されてきたが、近年このようなネットワークとしてはＩＰネットワークが検討されている。
【０００６】
しかしながら、ＩＰネットワークは各通信機器間の通信時間が確保されていないので、最新のデータで制御演算が行えない問題が発生するので、常に最新のデータを用いて制御演算が行えるようにした技術が開示されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−０９８９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＩＰネットワークを用いたシステムにおいては、ネットワークの通信の混雑に起因する通信時間の遅延により、予め定める制御周期の時間内に制御演算が行えない問題が発生する。
【０００９】
特許文献１の場合には、要求時間を予め送信し、各フィールド機器が要求時間通りの通信が行えない場合には、要求時間を変更し最新のデータで制御演算を行うことは可能であるが、予め設定した制御周期内に制御演算が完了しない恐れがある。
【００１０】
本発明は、ＩＰネットワークで通信されるクラウドコンピューティングのリソースを利用したクラウド制御システムにおいて、ＩＰネットワークの通信時間の遅れがあっても、予め定める制御周期時間内での制御演算が可能となるようにしたクラウド制御システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本実施の形態のクラウド制御システムは、被制御対象であるプラントの状態を検出する検出端部、及び検出端部からの検出信号に基づいてプラントを操作する操作端部と、前記検出端部の検出信号に基づいて予め設定される制御プログラムを、予め設定される制御周期で実行し、前記操作端部を制御する管理サーバと、当該管理サーバから予め設定され、前記制御プログラムを並列処理が可能に予め分割された複数の分割プログラムを、並列処理する複数の演算サーバと、前記管理サーバと複数の前記演算サーバとを接続するＩＰネットワークと、前記管理サーバと前記検出端部及び前記操作端部とを接続する専用のネットワークと、を備えるクラウド制御システムであって、前記管理サーバは、前記ＩＰネットワークと前記演算サーバとの間の通信時間及び当該演算サーバ自身の演算時間を含む、予め当該演算サーバに設定された１つもしくは複数の前記分割プログラムに対する応答時間を測定する応答時間測定部と、予め複数の前記演算サーバが実行する分割プログラムを設定する情報を記憶し、前記制御周期毎に前記演算サーバ毎の前記応答時間の異常を判定するための基準応答時間、及びその測定した測定応答時間を記憶する分割プログラム設定テーブルを備え、当該測定応答時間の異常を判定して、異常がある場合、当該分割プログラム設定テーブルを更新して、次の前記制御周期で更新された前記分割プログラム設定テーブルを参照して、次の前記制御周期で前記分割プログラムを前記演算サーバに分配する分割プログラム設定部と、前記検出端部の検出信号に基づいて予め設定される前記制御プログラムを、予め設定される複数の前記分割プログラムとしに対応する前記演算サーバに送信し、複数の前記演算サーバの演算結果を受信して、前記操作端部に送る集約部と、を備え、前記演算サーバは、複数の前記分割プログラム数以上で、且つ、予備の台数を含むサーバ台数で構成し、前記管理サーバは、予め、前記分割プログラムの最大の演算時間以下の１つ、もしくは複数の前記分割プログラムで構成して、予め前記演算サーバに分配し、前記検出端部からの検出信号を受信して、前記検出信号を処理する、対応する前記分割プログラムを備える前記演算サーバに送信し、更に、全ての前記演算サーバから今回の演算周期で測定した測定応答時間を求めて、夫々の応答時間が予め設定される基準応答時間であるか否かを判定し、前記基準応答時間以上である前記演算サーバに対しては、当該演算サーバの前回の制御周期での前記演算出力を保持するとともに、次回の制御周期では、当該演算サーバを予備の前記演算サーバで実行するように設定し、そうでない場合には、前回と同じ分割プログラム設定テーブルでの設定条件での演算を継続し、前記管理サーバと前記演算サーバとの間を接続する前記ＩＰネットワーク系の伝送遅れ異常を前記分割プログラムの応答時間から検出して、予備の演算サーバで前記分割された分割プログラムを実行し、伝送遅れがあっても制御を継続できるようにしたことを特徴とする。
【００１２】
上記目的を達成するために、本実施の形態のクラウド制御システムの制御プログラムの実行方法は、被制御対象であるプラントの状態を検出する検出端部、及び検出端部からの検出信号に基づいてプラントを操作する操作端部と、前記検出端部の検出信号に基づいて予め設定される制御プログラムを、予め設定される制御周期で実行し、前記操作端部を制御する管理サーバと、当該管理サーバから予め設定され、前記制御プログラムを並列処理が可能に予め分割された複数の分割プログラムを、並列処理する複数の演算サーバと、前記管理サーバと複数の前記演算サーバとを接続するＩＰネットワークと、前記管理サーバと前記検出端部及び前記操作端部とを接続する専用のネットワークと、を備えるクラウド制御システムの制御プログラムの実行方法であって、前記管理サーバは、前記ＩＰネットワークと前記演算サーバとの間の通信時間及び当該演算サーバ自身の演算時間を含む、予め当該演算サーバに設定された１つもしくは複数の前記分割プログラムに対する応答時間を測定する応答時間測定部と、予め複数の前記演算サーバが実行する分割プログラムを設定する情報を記憶し、前記制御周期毎に前記演算サーバ毎の前記応答時間の異常を判定するための基準応答時間、及びその測定した測定応答時間を記憶する分割プログラム設定テーブルを備え、当該測定応答時間の異常を判定して、異常がある場合、当該分割プログラム設定テーブルを更新して、次の前記制御周期で更新された前記分割プログラム設定テーブルを参照して、次の前記制御周期で前記分割プログラムを前記演算サーバに分配する分割プログラム設定部と、前記検出端部の検出信号に基づいて予め設定される前記制御プログラムを、予め設定される複数の前記分割プログラムとしに対応する前記演算サーバに送信し、複数の前記演算サーバの演算結果を受信して、前記操作端部に送る集約部と、を備え、前記演算サーバは、複数の前記分割プログラム数以上で、且つ、予備の台数を含むサーバ台数で構成し、前記管理サーバは、予め、前記分割プログラムの最大の演算時間以下の１つ、もしくは複数の前記分割プログラムで構成して、予め前記演算サーバに分配し、前記検出端部からの検出信号を受信して、前記検出信号を処理する、対応する前記分割プログラムを備える前記演算サーバに送信し、更に、全ての前記演算サーバから今回の演算周期で測定した測定応答時間を求めて、夫々の応答時間が予め設定される基準応答時間であるか否かを判定し、前記基準応答時間以上である前記演算サーバに対しては、当該演算サーバの前回の制御周期での前記演算出力を保持するとともに、次回の制御周期では、当該演算サーバを予備の前記演算サーバで実行するように設定し、そうでない場合には、前回と同じ分割プログラム設定テーブルでの設定条件での演算を継続し、前記管理サーバと前記演算サーバとの間を接続する前記ＩＰネットワーク系の伝送遅れ異常を前記分割プログラムの応答時間から検出して、予備の演算サーバで前記分割された分割プログラムを実行し、伝送遅れがあっても制御を継続できるようにしたことを特徴とする。
【図面の簡単な説明】
【００１３】
【図１】実施形態におけるクラウド制御システムの構成図。
【図２】クラウド制御システムの動作原理を説明するフローチャート。
【図３】分割プログラム設定テーブルの例。
【図４】クラウド制御システムの動作を説明するフローチャート。
【発明を実施するための形態】
【００１４】
以下、実施の形態について、図面を参照して説明する。先ず、各部の構成を説明する前に、本実施形態の動作原理の概要について図２のタイムチャートを参照して説明する。
【００１５】
（動作原理）
本クラウド制御システム１００が実行する制御プログラムとその制御周期Ｔｃとは、被制御対象から要求される制御性能とその応答時間から予め設定される。
【００１６】
そして、一般にプラントを制御するコントローラが実行する制御プログラムは、ここでは、この制御プログラムについて、並列処理が可能である複数に分割された分割プログラムにコンパイルされ、複数の分割された分割プログラムが予め複数の演算サーバに管理サーバから初期値として設定（ローディング）される。
【００１７】
次に、管理サーバは、制御プログラム、即ち、複数の演算サーバが並列に実行する分割された分割プログラムの実行を指令し、演算サーバからの応答としての演算出力を、夫々の操作端部に出力する。
【００１８】
この時、管理サーバは、演算を指令するパケットに、夫々の演算サーバから管理サーバと演算サーバ間の往復の通信時間を含む演算出力が得られるまでの時間を、制御周期毎に当該演算サーバとの応答時間として求めるようにしておく。
【００１９】
この応答時間は、詳細を後述する分割プログラム設定テーブルに、制御周期毎、対応する演算サーバ毎に測定するようにしておく。
【００２０】
この分割プログラム設定テーブルは、予め演算サーバで実行する分割された１つの分割プログラム、または、複数の分割プログラムを指定し、予め制御周期時間内の応答が可能であるか否かの基準応答時間と比較して通信時間の異常が判定される。
【００２１】
そして、異常と判定された演算サーバとの通信は、その周期での演算出力を前回の出力を保持し、次の制御周期ではＩＰネットワークに接続される予備の演算サーバがこの分割プログラムを実行するように指令することで、ＩＰネットワークの通信時間の遅れを回避しようとするものである。
【００２２】
ところで、制御周期は、一般的なプラントでは、数ミリ秒〜数百ミリ秒で、ＩＰネットワークの通信ラインの混雑度の変化率は、この制御周期時間より遅い時間で変化するとことが予測されるので、基準応答時間の判定閾値のマージンを小さな値として設定しておくことで、通信時間の異常の予知が期待できる。
【００２３】
（実施形態）
次に、このような発明の動作原理に基づく実施形態について説明する。図１は実施形態におけるクラウド制御システム１００のブロック構成図である。
【００２４】
図１に示すように、実施形態におけるクラウド制御システム１００は、被制御対象であるプラントの状態を検出する検出端部４、及び検出端部４からの検出信号に基づいてプラントを操作する操作端部５と、検出端部４の検出信号に基づいて予め設定される制御プログラムを、予め設定される制御周期で実行し、操作端部５を制御する管理サーバ１と、管理サーバ１から予め設定され、制御プログラムを並列処理が可能に予め分割された複数の分割プログラムを、並列処理する複数の演算サーバ２と、管理サーバ１と複数の演算サーバ２とを接続するＩＰネットワーク３と、管理サーバ１と検出端部４及び操作端部５とを接続する専用のネットワーク６と、を備える。
【００２５】
次に、各部の構成について説明する。管理サーバ１は、ＩＰネットワーク３と複数の演算サーバ２との間の通信時間及び当該演算サーバ２自身の演算時間を含む、予め当該演算サーバ２に設定された１つもしくは複数の分割プログラムに対する応答時間を測定する応答時間測定部１１を備える。
【００２６】
更に、予め複数の演算サーバ２が実行する分割プログラムを設定する情報を記憶し、制御周期毎に演算サーバ２毎の応答時間の異常を判定するための基準応答時間、及びその測定した測定応答時間を記憶する分割プログラム設定テーブル１２ａを備え、当該測定応答時間の異常を判定して、異常がある場合には当該分割プログラム設定テーブルを更新し、次の制御周期で更新された分割プログラム設定テーブルに基づいて分割プログラムを演算サーバ２に分配する分割プログラム設定部１２と、検出端部４の検出信号に基づいて予め設定される制御プログラムを、予め設定される複数の分割プログラムとして、対応する演算サーバに送信し、複数の前算サーバの演算結果を受信して、操作端部５に送る集約部１３と、を備える。
【００２７】
制御プログラムを並列演算が可能な複数の分割プログラムに分割する方法は、本発明の主題ではないのでその詳細を割愛するが、多数の入出力信号の処理が要求されるソースコードで記述されたた制御プログラムは、例えば、予め出力信号に対する入力信号や一次変数の依存性を判定して、同じ依存性を有するソースコード同士を纏めて分割し、分割された制御プログラムを並列に実行可能なオブジェクトコードに変換するコンパイラによって作成することが可能である。
【００２８】
次に、複数の演算サーバ２は、複数の分割プログラム数以上の予備台数を含むサーバ数で構成する。
【００２９】
また、演算サーバ２の夫々には、全分割プログラムが、予め記憶され、予め設定された分割プログラムを並列に演算するが、制御周期毎に測定される測定応答時間結果により分割プログラムの実行分担が管理サーバ１からの指令で、次の制御周期で更新される。
【００３０】
ところで、ここで言うクラウド制御システム１００は、管理サーバ１や演算サーバ２は、クラウドサービスプロバイダーが提供するリソースを利用することを想定したシステムで、これらのサーバ間の通信はＩＰネットワーク３で構成され、パケットを中継する通信プロトコルであるインターネットプロトコル技術を利用して相互接続されたコンピュータネットワークで、通信時間が保証されていないものである。
【００３１】
一方、管理サーバ１と、検出端部４及び操作端部５とを接続する専用ネットワーク６は、例えば、フィールドバス（ＩＥＣ６１１５８）等を想定したもので、これらの間の通信時間は、予め設定された通信時間が保証されたものである。
【００３２】
次に、クラウド制御システム１００の動作を制御する管理サーバ１の詳細構成について説明する。
【００３３】
応答時間測定部１１は、予め分割プログラム設定テーブル１２ａに書き込まれた分割プログラムの実行を指令するパケットを夫々の演算サーバ２に送り、その返信応答を受信するまでの時間を測定することで求める。
【００３４】
測定される応答時間には、分割プログラムの実行を指令するパケットが、ＩＰネットワーク３上を伝播する往復の伝送時間と、指令された分割プログラムの演算時間が含まれる。
【００３５】
更に詳細には、制御周期時間内に含まれる処理には、検出端部４からの入力データの（読み込み)取り込み時間、及びいずれかの演算サーバ２からの演算出力を操作端部５に送るまでの時間が含まれる。したがって、測定応答時間の異常を判定するための基準応答時間には、これらの値を見込んだマージンが付加して設定される。
【００３６】
分割プログラム設定部１２は、並列演算する分割プログラムが最短で終えられるように複数の演算サーバに分配するので、最長となる分割プログラムの演算時間を基準にして、その他の分割プログラムの分配を決める。
【００３７】
演算サーバ２は、この分配される分割プログラムの数と同じ台数の演算サーバ２を用意するようにしても良いが、台数を削減するには、最長時間となる分割プログラムに対して、他の分割プログラムを組み合わせ、これらの演算時間を加算した値がこの最長時間以下となるように複数の分割プログラムで構成するようにしても良い。
【００３８】
また、演算サーバの台数は、分割プログラムの数に、更にいずれかの演算サーバとの応答時間が基準応答時間を越える異常時に切り替える予備の台数を見込んで決める必要がある。
【００３９】
また、分割プログラム設定部１２は、この分割プログラムの構成と、並列演算するための演算サーバ２への分割プログラムの初期設定の他、基準応答時間を越える応答時間があった場合の分割プログラムの分配を再設定（構成）する。
【００４０】
次に、このよう分割プログラム設定テーブル１２ａの例を、図３、図４を参照して設定する。
【００４１】
図３（ａ）は、予め設定される各演算サーバＯＳ１〜ＯＳ５に分配される分割プログラムＰＯＵ１〜ＰＯＵ９の分配と、夫々の分割プログラムの基準応答時間、及び分配される演算サーバ単位での測定応答時間と、を示す分割プログラム設定テーブル１２ａの例を示す。
【００４２】
図３（ｂ）は、制御周期Ｔｉでの測定応答時間について、演算サーバＯＳ３の応答時間に異常（最長応答時間がＰＯＵ１の１０ｍｓｅｃである。したがって、）基準応答時間１０ｍｓｅｃとすると、演算サーバＯＳ３は、１１ｍｓｅｃとなり、以上と判定された。）が発生した場合を示す。
【００４３】
異常が発生した場合、分割プログラムの分配方法には、分割プログラムの再構成なしで、演算サーバＯＳ３を予備の演算サーバＯＳに更新する場合の例を図３（ｃ）、制御周期Ｔｉ＋１に示し、その他の更新方法の例を図３（ｄ）、制御周期Ｔｉ＋１に示す。
【００４４】
図３に示すように、分割プログラムの数はＰＯＵ１〜ＰＯＵ９の９つに分割され、この分割プログラム数９つが４台の演算サーバＯＳ１〜演算サーバＯＳ４に分配された場合を示し、その最大の応答時間（基準応答時間）がＰＯＵ１の１０ｍｓｅｃ）に設定された場合を示す。
【００４５】
制御周期Ｔｉでは、ＰＯＵ３とＰＯＵ４とが分配された演算サーバＯＳ３の応答時間が１１ｍｓｅｃと基準応答時間を超えた為、次の制御周期Ｔｉ＋１では、演算サーバＯＳ３を予備の演算サーバＯＳ５に更新することを示している。
【００４６】
また、もう一つの更新方法として、演算サーバＯＳ３を演算サーバＯＳ４に、演算サーバＯＳ４が分担していた分割プログラムＰＯＵ５〜ＰＯＵ９を予備の演算サーバＯＳ５が分担するようにした場合を示す。
【００４７】
以上の例では、分割プログラムの組み合わせは更新されない場合を示しているが、分割プログラムの組み合わせを更新するように構成しても良い。
【００４８】
次に、集約部１３は、検出端部４から送信された検出信号を、専用ネットワーク６を介して受信し、対応する分割プログラムを実行する演算サーバ２に送り、演算サーバ２からの演算結果を受信して、対応する夫々の操作端部５に専用ネットワーク６を介して送る。
【００４９】
即ち、集約部１３は、ＩＰネットワーク３と専用ネットワーク６との、異なる２つのネットワークとのインタフェース機能を備える。
【００５０】
次に、このようなクラウド制御システム１００を制御するコントローラである管理サーバ１の制御動作について図４を参照して説明する。
【００５１】
先ず、初期設定として、管理サーバ１からＩＰネットワーク３を介して、演算サーバ２に全手の分割プログラムがローディングされる（ｓ１）。
【００５２】
次に、検出端部４から入力データを読み込み（ｓ２）、分担する分割プログラムと検出データとを夫々の演算サーバ２に送信する（ｓ３）。
【００５３】
そして、各演算サーバは、データを受信し（Ｓ１１）、送信された入力データと対応する分割プログラムを実行して（ｓ１２）演算結果を管理サーバ１に返信する意（ｓ１３）。
【００５４】
管理サーバ１は、送信された演算結果を夫々の操作端部５に送信する（ｓ４）。さらに、演算要求してから演算結果を得られるまでの時間を測定して、応答時間を求め（ｓ５）、測定した応答時間を分割プログラム設定テーブル１２ａに書き込むとともに、予め設定される基準応答時間と比較して異常の有無を判定し、分割プログラム設定部１２に通知する（ｓ６）。
【００５５】
即ち、管理サーバ１は、予め、分割プログラムの最大の演算時間以下の１つ、もしくは複数の分割プログラムで構成して、予め演算サーバ２に分配し、検出端部４からの検出信号を受信して、検出信号を処理する、対応する分割プログラムを備える演算サーバ２に送信する。
【００５６】
更に、全ての演算サーバ２から今回の演算周期で測定した測定応答時間を求めて、夫々の応答時間が予め設定される基準応答時間であるか否かを判定し、基準応答時間以上である演算サーバ２に対しては、当該演算サーバの前回の制御周期での演算出力を保持するとともに、次回の制御周期では、当該演算サーバを予備の演算サーバで実行するように設定し、そうでない場合には、前回と同じ分割プログラム設定テーブルでの設定条件での演算を継続する。
【００５７】
したがって、本実施形態によれば、管理サーバと演算サーバとの間を接続するＩＰネットワーク３系の伝送遅れ異常を分割プログラムの応答時間から検出して、予備の演算サーバで分割された分割プログラムを実行し、伝送遅れがあっても制御を継続できる。
【００５８】
また、分割プログラムを並列演算することで、制御演算時間を短縮し、通信時間の遅れに対するマージンを確保することができる効果がある。
【００５９】
また、管理サーバを２台の管理サーバで構成し、予め設定される一方の管理サーバをマスターとし、マスターとして設定された当該管理サーバが故障した場合には、他方の管理サーバに制御権を移すように構成し、遠隔配置されたクラウド制御システムにより、ＩＰネットワークの伝送遅れに対して制御周期内での演算を確実に行えるだけでなく、災害に対しても復旧が速やかに行えるクラウド制御システムを提供することができる。
【００６０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６１】
１  管理サーバ
２、２ａ、２ｂ、２ｃ、２ｉ  演算サーバ
３  ＩＰネットワーク
４  検出端部
５  操作端部
１１  応答時間測定部
１２  分割プログラム設定部
１２ａ  分割プログラム設定テーブル
１３  集約部
１００  クラウド制御システム
【図１】
2015056766.tif 000003
【図２】
2015056766.tif 000004
【図３】
2015056766.tif 000005
【図４】
2015056766.tif 000006