(57)【特許請求の範囲】
【請求項１】
自装置と制御装置との間の通信時間を測定する測定部と、
制御信号を生成するための元となる信号である元信号を前記制御装置に送信する送信部と、
前記制御装置が前記元信号に基づいて生成した制御信号を前記制御装置から取得する取得部と、
前記制御装置が制御信号を生成するのに要する時間と前記通信時間との合計値に応じて制御信号を前記元信号に基づいて生成する生成部と、
前記制御装置から取得した制御信号と前記生成部が生成した制御信号とのうち、より早い時刻に送信可能である制御信号を送信するインタフェースと、
を備える演算装置。
【請求項２】
異なるタイミングで取得された前記元信号を比較する比較部
を更に備え、
前記インタフェースは、異なるタイミングで取得された前記元信号が同じ内容を示す信号である場合、前記元信号に基づいて予め生成された制御信号を送信する、請求項１に記載の演算装置。
【請求項３】
前記生成部は、前記生成部が実行するプログラムごとに分類された前記元信号に基づいて制御信号を生成する、請求項１に記載の演算装置。
【請求項４】
前記送信部は、通信を中継する中継装置を介して、複数の前記制御装置に前記元信号を送信する、請求項１に記載の演算装置。
【請求項５】
前記送信部は、前記生成部が制御信号を前記元信号に基づいて生成した場合、自装置を示す情報を表示装置に表示させる、請求項１に記載の演算装置。
【請求項６】
演算装置における演算方法であって、
自装置と制御装置との間の通信時間を測定するステップと、
制御信号を生成するための元となる信号である元信号を前記制御装置に送信するステップと、
前記制御装置が前記元信号に基づいて生成した制御信号を前記制御装置から取得するステップと、
前記制御装置が制御信号を生成するのに要する時間と前記通信時間との合計値に応じて制御信号を前記元信号に基づいて生成するステップと、
前記制御装置から取得した制御信号と自装置が生成した制御信号とのうち、より早い時刻に送信可能である制御信号を送信するステップと、
を含む演算方法。
【請求項７】
コンピュータに、
自装置と制御装置との間の通信時間を測定する手順と、
制御信号を生成するための元となる信号である元信号を前記制御装置に送信する手順と、
前記制御装置が前記元信号に基づいて生成した制御信号を前記制御装置から取得する手順と、
前記制御装置が制御信号を生成するのに要する時間と前記通信時間との合計値に応じて制御信号を前記元信号に基づいて生成する手順と、
前記制御装置から取得した制御信号と自装置が生成した制御信号とのうち、より早い時刻に送信可能である制御信号を送信する手順と、
を実行させるための演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、演算装置、演算方法及び演算プログラムに関する。
【背景技術】
【０００２】
制御対象の装置を容易に災害から復旧させるため、制御装置が通信回線を介して遠隔から制御対象の装置を制御する遠隔制御技術がある。しかしながら、従来の装置は、通信回線に伝送遅延が発生した場合には、制御対象の装置を一定時間内に制御することができない場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−６３４１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、通信回線に伝送遅延が発生した場合でも、制御対象の装置を一定時間内に制御することができる演算装置、演算方法及び演算プログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の演算装置は、測定部と、送信部と、取得部と、生成部と、インタフェースとを持つ。測定部は、自装置と制御装置との間の通信時間を測定する。送信部は、制御信号を生成するための元となる信号である元信号を制御装置に送信する。取得部は、制御装置が元信号に基づいて生成した制御信号を制御装置から取得する。生成部は、制御装置が制御信号を生成するのに要する時間と通信時間との合計値に応じて制御信号を元信号に基づいて生成する。インタフェースは、制御装置から取得した制御信号と生成部が生成した制御信号とのうち、より早い時刻に送信可能である制御信号を送信する。
【図面の簡単な説明】
【０００６】
【図１】実施形態における、演算装置を備える制御システムの構成の第１例を示す図。
【図２】実施形態における、制御システムの動作の第１例を示すシーケンス図。
【図３】実施形態における、演算装置の動作の第１例を示すフローチャート。
【図４】実施形態における、制御装置の動作の例を示すフローチャート。
【図５】実施形態における、演算装置の動作の第２例を示すフローチャート。
【図６】実施形態における、演算装置の動作の第３例を示すフローチャート。
【図７】実施形態における、演算装置を備える制御システムの構成の第２例を示す図。
【図８】実施形態における、制御システムの動作の第２例を示すシーケンス図。
【図９】実施形態における、演算装置の動作の第４例を示すフローチャート。
【図１０】実施形態における、集約演算装置の動作の例を示すフローチャート。
【図１１】実施形態における、制御装置の動作の例を示すフローチャート。
【図１２】実施形態における、演算装置を備える制御システムの構成の第３例を示す図。
【図１３】実施形態における、演算装置を備える制御システムの構成の第４例を示す図。
【発明を実施するための形態】
【０００７】
以下、実施形態の演算装置、演算方法及び演算プログラムを、図面を参照して説明する。
（第１の実施形態）
図１は、演算装置２０を備える制御システム１ａの構成の例を示す図である。制御システム１ａは、入力装置１０と、演算装置２０と、通信回線３０と、制御装置４０と、出力装置５０とを備える。入力装置１０は複数でもよい。制御装置４０は複数でもよい。以下、制御装置４０−１〜４０−Ｎ（Ｎは１以上の整数）に共通する事項については、符号の一部を省略して「制御装置４０」と表記する。出力装置５０は複数でもよい。
【０００８】
入力装置１０は、情報処理装置である。入力装置１０は、制御信号を生成するための元となる信号（以下、「元信号」という。）を、演算装置２０に送信する。入力装置１０は、スイッチ又はボタンを備えている場合、スイッチ又はボタンに対する操作に応じたデジタルの元信号を、ローカルネットワーク１００を介して、演算装置２０に送信する。入力装置１０は、センサでもよい。入力装置１０は、出力装置５０に関する温度又は圧力に応じたアナログの元信号を、ローカルネットワーク１００を介して、演算装置２０に送信する。
【０００９】
第１の実施形態では、入力装置１０は、一例として、第１の元信号と第２の元信号とを演算装置２０に送信する。第１の元信号は、例えば、スイッチ又はボタンに対する操作に応じたデジタル信号である。第２の元信号は、例えば、出力装置５０に関する温度に応じたアナログ信号である。ローカルネットワーク１００は、フィールドバス、有線通信回線又は無線通信回線である。ローカルネットワーク１００は、フィールドバスである場合、例えば、プロフィバス（Profibus）、ＭＯＤＢＵＳ（登録商標）又はＴＣ−ＮＥＴ（登録商標）である。ローカルネットワーク１００は、有線通信回線である場合、例えば、イーサネット（登録商標）である。ローカルネットワーク１００は、無線通信回線である場合、例えば、無線ＬＡＮや９２０ＭＨｚ帯等の無線通信回線である。
【００１０】
演算装置２０は、通信装置（通信モジュール）である。演算装置２０は、ローカルネットワーク１００を介して、第１の元信号と第２の元信号とを入力装置１０から取得する。演算装置２０は、通信回線３０を介して、第２の元信号を制御装置４０に送信する。演算装置２０は、第１の元信号に基づいて第１制御信号を生成する。演算装置２０は、第１制御信号を出力装置５０に送信する。
【００１１】
演算装置２０は、自装置と制御装置４０との間の往復又は片道の通信時間を測定する。演算装置２０は、制御装置４０が第２制御信号を生成するための処理時間と通信時間とに基づいて、通信回線３０に伝送遅延が発生しているか否かを判定する。
【００１２】
演算装置２０は、通信回線３０を介して、第２の元信号に基づく第２制御信号を制御装置４０から取得する。演算装置２０は、通信回線３０に伝送遅延が発生していない場合、制御装置４０から取得した第２制御信号を出力装置５０に送信する。演算装置２０は、第２の元信号に基づいて第２制御信号を生成する。演算装置２０は、通信回線３０に伝送遅延が発生している場合、自装置が生成した第２制御信号を、一定時間内に出力装置５０に送信する。
【００１３】
通信回線３０は、広域ネットワークの通信回線である。通信回線３０は、例えば、インターネット、専用回線、３Ｇ無線通信回線である。通信回線３０の通信プロトコルは、例えば、ＨＴＴＰＳ（Hypertext Transfer Protocol Secure）である。
【００１４】
制御装置４０は、サーバ装置等の情報処理装置である。制御装置４０は、クラウド技術に基づいて動作するクラウドサーバ装置でもよい。制御装置４０は、第２の元信号に基づいて第２制御信号を生成する。制御装置４０は、第２制御信号によって出力装置５０を制御する。
【００１５】
制御装置４０は、通信部４１と、プログラム記憶部４２と、制御部４３とを備える。通信部４１は、演算装置２０と通信する。通信部４１は、例えば、第２の元信号を演算装置２０から取得する。通信部４１は、プログラム記憶部４２に記憶させるプログラムを演算装置２０から取得してもよい。プログラム記憶部４２は、制御部４３が実行する制御プログラムを記憶する。
【００１６】
制御部４３は、演算装置２０と制御装置４０との間の通信回線３０の通信時間を測定する。例えば、制御部４３は、演算装置２０から取得した信号のタイムスタンプに基づいて、通信回線３０の通信時間を測定する。例えば、制御部４３は、通信回線３０の通信時間の平均値を測定する。制御部４３は、第２の元信号に基づいて第２制御信号を生成する。制御部４３は、第２制御信号を制御装置４０が生成するのに要する時間と通信時間との合計値（以下、「応答時間」という。）の測定値を、通信部４１を介して演算装置２０に送信する。通信時間は、信号が往復するのに要する時間でもよいし、信号が一方向に通信されるのに要する時間（片道の時間）でもよい。制御部４３は、応答時間の平均（以下、「平均応答時間」という。）の測定値を、通信部４１を介して演算装置２０に送信してもよい。制御部４３が第２制御信号を生成する処理の時間は、予め測定されていてもよい。
【００１７】
出力装置５０は、制御対象の装置である。出力装置５０は、サーボモータ等のアクチュエータである。出力装置５０は、例えば、ＬＥＤ（Light Emitting Diode）表示器、警報装置でもよい。出力装置５０は、ローカルネットワーク１００を介して、第１制御信号及び第２制御信号を演算装置２０から取得する。出力装置５０は、第１制御信号及び第２制御信号に基づいて動作する。
【００１８】
演算装置２０の構成を説明する。
演算装置２０は、インタフェース２０１と、分配先記憶部２０２と、プログラム記憶部２０３と、時間記憶部２０４と、結果記憶部２０５と、分配部２０６と、生成部２０７と、比較部２０８と、通信部２０９と、集約部２１０と、測定部２１１とを備える。
【００１９】
インタフェース２０１と、分配部２０６と、生成部２０７と、比較部２０８と、通信部２０９と、集約部２１０と、測定部２１１との一部または全部は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサが、記憶部に記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェア機能部であってもよい。
【００２０】
分配先記憶部２０２と、プログラム記憶部２０３と、時間記憶部２０４と、結果記憶部２０５との一部または全部は、例えば、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記憶媒体（非一時的な記録媒体）を有する記憶装置を用いて構成される。各記憶部は、例えば、ＲＡＭ（Random Access Memory）やレジスタなどの揮発性の記憶媒体を有していてもよい。
【００２１】
インタフェース２０１は、第１の元信号を入力装置１０から取得する。インタフェース２０１は、取得した第１の元信号を通信部２０９に送信する。インタフェース２０１は、第２の元信号を入力装置１０から取得する。インタフェース２０１は、取得した第２の元信号を通信部２０９に送信する。
【００２２】
インタフェース２０１は、生成部２０７が生成した第１制御信号を、出力装置５０に送信する。インタフェース２０１は、制御装置４０が生成した第２制御信号を、通信部２０９から取得する。
【００２３】
インタフェース２０１は、制御装置４０が生成した第２制御信号を、出力装置５０に送信する。インタフェース２０１は、生成部２０７が生成した第２制御信号を分配部２０６が選択した場合、生成部２０７が生成した第２制御信号を出力装置５０に送信してもよい。例えば、インタフェース２０１は、制御装置４０が生成した第２制御信号と、生成部２０７が生成した第２制御信号とのうち、より早い時刻に送信可能である第２制御信号を出力装置５０に送信する。すなわち、インタフェース２０１は、制御装置４０が生成した第２制御信号と、生成部２０７が生成した第２制御信号とのうち、生成のための演算が早く終了した第２制御信号を優先する。
【００２４】
インタフェース２０１は、異なるタイミングで取得された元信号が同じ内容を示す信号である場合、元信号に基づいて予め生成された制御信号を送信する。例えば、インタフェース２０１は、今回取得した第１の元信号と前回取得した第１の元信号とが同じ内容を示す信号である場合、前回取得した第１の元信号に基づいて生成された第１制御信号を出力装置５０に送信する。インタフェース２０１は、今回取得した第２の元信号と前回取得した第２の元信号とが同じ内容を示す信号である場合、前回取得した第２の元信号に基づいて生成された第２制御信号を出力装置５０に送信する。前回取得した元信号に基づいて生成された制御信号は、結果記憶部２０５に記憶されている。以下、第１制御信号及び第２制御信号等の複数の制御信号に共通する事項については、「制御信号」と表記する。インタフェース２０１は、生成部２０７を介して、結果記憶部２０５から制御信号を取得してもよい。
【００２５】
分配先記憶部２０２は、元信号の分配先を表す情報（以下、「分配先情報」という。）を記憶する。第１の実施形態では、分配先記憶部２０２に記憶される分配先情報において、第１の元信号と演算装置２０とが対応付けられている。すなわち、第１の元信号の分配先は、演算装置２０である。これによって、演算装置２０は、第１の元信号に基づいて第１制御信号を生成することができる。第１の実施形態では、分配先記憶部２０２に記憶される分配先情報において、第２の元信号と制御装置４０とが対応付けられている。すなわち、第２の元信号の分配先は、制御装置４０である。これによって、演算装置２０は、第２の元信号に基づいて第２制御信号を生成することができる。制御装置４０は、第２の元信号に基づいて第２制御信号を生成することができる。
【００２６】
プログラム記憶部２０３は、生成部２０７が演算を実行するためのプログラムを記憶する。プログラム記憶部２０３が記憶しているプログラムは、制御装置４０から取得したプログラムでもよい。プログラム記憶部２０３が記憶しているプログラムは、制御装置４０のプログラム記憶部４２が記憶しているプログラムと同じでもよい。プログラム記憶部２０３が記憶しているプログラムは、制御装置４０のプログラム記憶部４２が記憶しているプログラムの一部でもよい。
【００２７】
時間記憶部２０４は、制御装置４０がプログラムを実行した場合の処理時間を表す情報を記憶する。制御装置４０がプログラムを実行した場合の処理時間は、例えば、制御装置４０が第２制御信号を生成するのに要する時間である。時間記憶部２０４は、演算装置２０がプログラムを実行した場合の処理時間を表す情報を記憶してもよい。演算装置２０がプログラムを実行した場合の処理時間は、例えば、演算装置２０が第１制御信号又は第２制御信号を生成するのに要する時間である。時間記憶部２０４は、制御装置４０から取得した応答時間の測定値を記憶する。時間記憶部２０４は、制御装置４０から取得した平均応答時間の測定値を記憶する。平均応答時間の測定値は、閾値として用いられてもよい。閾値は、予め定められた値でもよい。以下、閾値は、平均応答時間の測定値である。
【００２８】
結果記憶部２０５は、前回取得した第１の元信号と、前回取得した第１の元信号に基づいて生成された第１制御信号（生成結果）とを対応付けて記憶する。結果記憶部２０５は、前回取得した第２の元信号の情報と、前回取得した第２の元信号に基づいて生成された第２制御信号（生成結果）とを対応付けて記憶する。
【００２９】
分配部２０６は、分配先情報に基づいて、第１の元信号の分配先を演算装置２０に決定する。これによって、分配部２０６は、第１の元信号を制御装置４０に送信しない、と判定することができる。分配部２０６は、分配先情報に基づいて、第２の元信号の分配先を制御装置４０に決定する。
【００３０】
分配部２０６は、前回の応答時間の測定値に基づいて、制御装置４０から取得した第２制御信号又は生成部２０７が生成した第２制御信号を選択する。すなわち、分配部２０６は、通信回線３０に伝送遅延が発生しているか否かに基づいて、制御装置４０から取得した第２制御信号又は生成部２０７が生成した第２制御信号を選択する。
【００３１】
例えば、分配部２０６は、閾値が前回の応答時間の測定値以上である場合、制御装置４０から取得した第２制御信号を選択する。すなわち、分配部２０６は、通信回線３０に伝送遅延が発生していない場合、制御装置４０から取得した第２制御信号を選択する。
【００３２】
例えば、分配部２０６は、閾値が前回の応答時間の測定値未満である場合、生成部２０７が生成した第２制御信号を選択する。すなわち、分配部２０６は、通信回線３０に伝送遅延が発生している場合、生成部２０７が生成した第２制御信号を選択する。
【００３３】
生成部２０７は、目標の送信時刻に間に合うように、第１の元信号に基づいて第１制御信号を生成する。例えば、生成部２０７は、制御信号を生成するのに要する時間を考慮することによって、目標の送信時刻に間に合うように第１制御信号を生成する。生成部２０７が生成した第２制御信号を分配部２０６が選択した場合、目標の送信時刻に間に合うように、第２の元信号に基づいて第２制御信号を生成する。
【００３４】
生成部２０７は、今回取得された第１の元信号と前回取得された第１の元信号とが同じ内容を示す信号である場合、前回取得された第１の元信号に基づいて生成された第１制御信号を、結果記憶部２０５から取得する。生成部２０７は、今回取得された第２の元信号と前回取得された第２の元信号とが同じ内容を示す信号である場合、前回取得された第２の元信号に基づいて生成された第２制御信号を、結果記憶部２０５から取得する。
【００３５】
比較部２０８は、異なるタイミングでインタフェース部２０１に取得された元信号を比較する。例えば、比較部２０８は、今回の第１の元信号と前回の第１の元信号とを比較する。比較部２０８は、今回取得された第１の元信号と前回取得された第１の元信号とが同じ内容を示す信号であるか否かを判定する。比較部２０８は、今回の第２の元信号と前回の第２の元信号とを比較する。比較部２０８は、今回取得された第２の元信号と前回取得された第２の元信号とが同じ内容を示す信号であるか否かを判定する。
【００３６】
通信部２０９は、通信回線３０を介して、制御装置４０と通信する。例えば、通信部２０９は、第２制御信号を制御装置４０から取得する。例えば、通信部２０９は、応答時間の測定値を制御装置４０から取得する。例えば、通信部２０９は、平均応答時間の測定値を制御装置４０から取得する。
【００３７】
集約部２１０は、複数の制御装置４０から取得した第２制御信号を集約する。すなわち、集約部２１０は、複数の第２制御信号をまとめる。なお、集約部２１０は、制御装置４０が１台である場合、制御装置４０から取得した第２制御信号を集約しなくてもよい。
【００３８】
測定部２１１は、制御装置４０の代わりに、応答時間を測定してもよい。測定部２１１は、例えば、通信部２０９から制御装置４０に第２の元信号を送信した時刻と第２制御信号を通信部２０９が取得した時刻との差と、制御装置４０がプログラムを実行した場合の処理時間とに基づいて、応答時間の測定値を算出してもよい。測定部２１１は、算出した応答時間の測定値を、時間記憶部２０４に記憶させてもよい。測定部２１１は、算出した平均応答時間の測定値を、時間記憶部２０４に記憶させてもよい。
【００３９】
図２は、制御システム１ａの動作の例を示すシーケンス図である。入力装置１０は、第１の元信号及び第２の元信号を演算装置２０に送信する（ステップＳ１０１）。演算装置２０は、第１の元信号及び第２の元信号を取得する（ステップＳ１０２）。演算装置２０は、前回の応答時間の測定値と閾値とを比較する。演算装置２０は、分配先情報に基づいて第２の元信号の分配先を制御装置４０に決定する（ステップＳ１０３）。演算装置２０は、第２の元信号を制御装置４０に送信する（ステップＳ１０４）。
【００４０】
制御装置４０は、第２の元信号を取得する（ステップＳ１０５）。制御装置４０は、第２の元信号に基づいて第２制御信号を生成する（ステップＳ１０６）。制御装置４０は、生成した第２制御信号を演算装置２０に送信する（ステップＳ１０７）。
【００４１】
演算装置２０は、第１の元信号に基づいて第１制御信号を生成する（ステップＳ１０８）。演算装置２０は、第１制御信号を出力装置５０に送信する（ステップＳ１０９）。出力装置５０は、第１制御信号を演算装置２０から取得する（ステップＳ１１０）。
【００４２】
演算装置２０は、第２の元信号に基づいて第２制御信号を生成する（ステップＳ１１１）。演算装置２０は、閾値が前回の応答時間の測定値未満である場合（通信回線３０に伝送遅延が発生している場合）、制御装置４０から送信される第２制御信号を一定時間待つ。演算装置２０は、一定時間内に第２制御信号の取得が可能である場合、第２制御信号を制御装置４０から取得する。
【００４３】
演算装置２０は、閾値が前回の応答時間の測定値以上である場合（通信回線３０に伝送遅延が発生していない場合）、制御装置４０から送信される第２制御信号を一定時間未満待つ。演算装置２０は、一定時間未満以内に第２制御信号の取得が可能である場合、第２制御信号を制御装置４０から取得する（ステップＳ１１２）。
【００４４】
演算装置２０は、複数の制御装置４０から取得した複数の第２制御信号を集約する（ステップＳ１１３）。演算装置２０は、自装置が第２制御信号を生成する前に第２制御信号を制御装置４０から取得した場合、取得した第２制御信号を出力装置５０に送信する。演算装置２０は、自装置が第２制御信号を生成する前に第２制御信号を制御装置４０から取得していない場合、自装置が生成した第２制御信号を出力装置５０に送信する（ステップＳ１１３）。出力装置５０は、第２制御信号を演算装置２０から取得する（ステップＳ１１０）。
【００４５】
図３は、演算装置２０の動作の例を示すフローチャートである。ステップＳ２０１は、図２に示すステップＳ１０２に対応する。ステップＳ２１０は、図２に示すステップＳ１０９に対応する。ステップＳ２１２は、図２に示すステップＳ１１４に対応する。
【００４６】
インタフェース２０１は、第１の元信号及び第２の元信号を取得する（ステップＳ２０１）。分配部２０６は、閾値が前回の応答時間の測定値以上であるか否かを判定する（ステップＳ２０２）。
【００４７】
閾値が前回の応答時間の測定値以上である場合（ステップＳ２０２：ＹＥＳ）、分配部２０６は、第１の元信号及び第２の元信号を制御装置４０に送信するか否かを、分配先情報に基づいて元信号ごとに判定する（ステップＳ２０３）。
【００４８】
第１の元信号を制御装置４０に送信しないと分配部２０６が判定した場合（ステップＳ２０３：ＮＯ）、生成部２０７は、目標の送信時刻に間に合うように、第１の元信号に基づいて第１制御信号を生成する（ステップＳ２０４）。第２の元信号を制御装置４０に送信すると分配部２０６が判定した場合（ステップＳ２０３：ＹＥＳ）、通信部２０９は、第２の元信号を制御装置４０に送信する（ステップＳ２０５）。
【００４９】
閾値が前回の応答時間の測定値未満である場合（ステップＳ２０２：ＮＯ）、分配部２０６は、第１の元信号及び第２の元信号を制御装置４０に送信するか否かを、分配先情報に基づいて元信号ごとに判定する（ステップＳ２０６）。
【００５０】
第１の元信号を制御装置４０に送信しないと分配部２０６が判定した場合（ステップＳ２０６：ＮＯ）、生成部２０７は、目標の送信時刻に間に合うように、第１の元信号に基づいて第１制御信号を生成する。生成部２０７は、目標の送信時刻に間に合うように、第２の元信号に基づいて第２制御信号を生成する（ステップＳ２０７）。第２の元信号を制御装置４０に送信すると分配部２０６が判定した場合（ステップＳ２０６：ＹＥＳ）、通信部２０９は、第２の元信号を制御装置４０に送信する（ステップＳ２０８）。
【００５１】
分配部２０６は、取得した全ての第１の元信号について第１制御信号を生成したか否かを判定する（ステップＳ２０９）。演算装置２０が第１制御信号の生成処理を施していない第１の元信号が残っている場合（ステップＳ２０９：ＮＯ）、分配部２０６は、ステップＳ２０２における判定結果に応じて、ステップＳ２０４又はステップＳ２０７に処理を戻す。
【００５２】
取得した全ての第１の元信号について第１制御信号を生成した場合（ステップＳ２０９：ＹＥＳ）、インタフェース２０１は、第１制御信号を出力装置５０に送信する（ステップＳ２１０）。集約部２１０は、複数の制御装置４０から取得した複数の第２制御信号を集約する（ステップＳ２１１）。
【００５３】
インタフェース２０１は、生成部２０７が第２制御信号を生成する前に第２制御信号を制御装置４０から取得した場合、取得した第２制御信号を出力装置５０に送信する。インタフェース２０１は、生成部２０７が第２制御信号を生成する前に第２制御信号を制御装置４０から取得していない場合、生成部２０７が生成した第２制御信号を出力装置５０に送信する（ステップＳ２１２）。演算装置２０の各部は、ステップＳ２０１に処理を戻す。
【００５４】
図４は、制御装置４０の動作の例を示すフローチャートである。ステップＳ３０１は、図２に示すステップＳ１０５に対応する。ステップＳ３０２は、図２に示すステップＳ１０６に対応する。ステップＳ３０３は、図２に示すステップＳ１０７に対応する。
【００５５】
通信部４１は、第２の元信号を演算装置２０から取得する（ステップＳ３０１）。制御部４３は、プログラム記憶部４２に記憶されているプログラムと第２の元信号とに基づいて、第２制御信号を生成する（ステップＳ３０２）。通信部４１は、第２制御信号を演算装置２０に送信する（ステップＳ３０３）。
【００５６】
図５は、演算装置２０の動作の例を示すフローチャートである。ステップＳ４０１は、図２に示すステップＳ１０２に対応する。ステップＳ４０８は、図２に示すステップＳ１０９に対応する。ステップＳ４１０は、図２に示すステップＳ１１４に対応する。
【００５７】
インタフェース２０１は、第１の元信号及び第２の元信号を取得する（ステップＳ４０１）。比較部２０８は、今回取得された第１の元信号と前回取得された第１の元信号とが同じ内容を示す信号であるか否かを判定する。比較部２０８は、今回取得された第２の元信号と前回取得された第２の元信号とが同じ内容を示す信号であるか否かを判定する（ステップＳ４０２）。
【００５８】
今回取得された第１の元信号と前回取得された第１の元信号とが同じ内容を示す信号である場合（ステップＳ４０２：ＹＥＳ）、生成部２０７は、前回取得された第１の元信号に基づいて生成された第１制御信号を、結果記憶部２０５から取得する。すなわち、生成部２０７は、前回取得された第１の元信号に基づいて生成された第１制御信号を、今回取得された第１の元信号に基づいて生成された第１制御信号とする。
【００５９】
また、今回取得された第２の元信号と前回取得された第２の元信号とが同じ内容を示す信号である場合（ステップＳ４０２：ＹＥＳ）、生成部２０７は、前回取得された第２の元信号に基づいて生成された第２制御信号を、結果記憶部２０５から取得する。すなわち、生成部２０７は、前回取得された第２の元信号に基づいて生成された第２制御信号を、今回取得された第２の元信号に基づいて生成された第２制御信号とする（ステップＳ４０３）。生成部２０７は、ステップＳ４１０に処理を進める。
【００６０】
今回取得された第１の元信号と前回取得された第１の元信号とが異なる値を示す信号である場合（ステップＳ４０２：ＮＯ）、分配部２０６は、第１の元信号及び第２の元信号を制御装置４０に送信するか否かを、分配先情報に基づいて元信号ごとに判定する（ステップＳ４０４）。
【００６１】
第１の元信号を制御装置４０に送信しないと分配部２０６が判定した場合（ステップＳ４０４：ＮＯ）、生成部２０７は、目標の送信時刻に間に合うように、第１の元信号に基づいて第１制御信号を生成する（ステップＳ４０５）。第２の元信号を制御装置４０に送信すると分配部２０６が判定した場合（ステップＳ４０４：ＹＥＳ）、通信部２０９は、第２の元信号を制御装置４０に送信する（ステップＳ４０６）。
【００６２】
分配部２０６は、取得した全ての第１の元信号について第１制御信号を生成したか否かを判定する（ステップＳ４０７）。演算装置２０が第１制御信号の生成処理を施していない第１の元信号が残っている場合（ステップＳ４０７：ＮＯ）、分配部２０６は、ステップＳ４０５に処理を戻す。
【００６３】
取得した全ての第１の元信号について第１制御信号を生成した場合（ステップＳ４０７：ＹＥＳ）、インタフェース２０１は、第１制御信号を出力装置５０に送信する（ステップＳ４０８）。集約部２１０は、複数の制御装置４０から取得した複数の第２制御信号を集約する（ステップＳ４０９）。
【００６４】
インタフェース２０１は、ステップＳ４０３において生成部２０７が第１制御信号又は第２制御信号を結果記憶部２０５から取得した場合、結果記憶部２０５から取得された第１制御信号又は第２制御信号を、出力装置５０に送信する。インタフェース２０１は、ステップＳ４０３において生成部２０７が第２制御信号を結果記憶部２０５から取得していない場合、制御装置４０から取得した第２制御信号を、出力装置５０に送信する。インタフェース２０１は、ステップＳ４０３において生成部２０７が第１制御信号を結果記憶部２０５から取得していない場合、生成部２０７が生成した第１制御信号を、出力装置５０に送信する（ステップＳ４１０）。演算装置２０の各部は、ステップＳ４０１に処理を戻す。
【００６５】
図６は、演算装置２０の動作の例を示すフローチャートである。ステップＳ５０１は、図２に示すステップＳ１０２に対応する。ステップＳ５０７は、図２に示すステップＳ１０９に対応する。ステップＳ５０９は、図２に示すステップＳ１１４に対応する。
【００６６】
インタフェース２０１は、第１の元信号及び第２の元信号を取得する（ステップＳ５０１）。分配部２０６は、元信号と制御プログラムとの対応付けに基づいて、第１の元信号及び第２の元信号を制御プログラムごとに分類する。分配部２０６は、第１の元信号及び第２の元信号に、分類を示す番号を付与してもよい（ステップＳ５０２）。分配部２０６は、第１の元信号及び第２の元信号を制御装置４０に送信するか否かを、分配先情報に基づいて元信号ごとに判定する（ステップＳ５０３）。
【００６７】
第１の元信号を制御装置４０に送信しないと分配部２０６が判定した場合（ステップＳ５０３：ＮＯ）、生成部２０７は、分類された第１の元信号に基づいて、目標の送信時刻に間に合うように第１制御信号を生成する（ステップＳ５０４）。第２の元信号を制御装置４０に送信すると分配部２０６が判定した場合（ステップＳ５０３：ＹＥＳ）、通信部２０９は、分類された第２の元信号を制御装置４０に送信する（ステップＳ５０５）。
【００６８】
分配部２０６は、取得した全ての第１の元信号について第１制御信号を生成したか否かを判定する（ステップＳ５０６）。演算装置２０が第１制御信号の生成処理を施していない第１の元信号が残っている場合（ステップＳ５０６：ＮＯ）、分配部２０６は、ステップＳ５０４に処理を戻す。
【００６９】
取得した全ての第１の元信号について第１制御信号を生成した場合（ステップＳ５０６：ＹＥＳ）、インタフェース２０１は、第１制御信号を出力装置５０に送信する（ステップＳ５０７）。集約部２１０は、複数の制御装置４０から取得した複数の第２制御信号を集約する（ステップＳ５０８）。インタフェース２０１は、取得した第２制御信号を、出力装置５０に送信する（ステップＳ５０９）。演算装置２０の各部は、ステップＳ５０１に処理を戻す。
【００７０】
以上のように、第１の実施形態の演算装置２０は、測定部２１１と、通信部２０９と、生成部２０７と、インタフェース２０１とを持つ。測定部２１１は、演算装置２０と制御装置４０との間の通信時間を測定する。通信部２０９（送信部）は、制御信号を生成するための元となる信号である元信号を制御装置に送信する。通信部２０９（取得部）は、制御装置４０が第２の元信号に基づいて生成した第２制御信号を制御装置４０から取得する。生成部２０７は、制御装置４０が第２制御信号を生成するのに要する時間と通信時間との合計値（応答時間）に応じて第２制御信号を第２の元信号に基づいて生成する。インタフェース２０１は、制御装置４０から取得した第２制御信号と生成部２０７が生成した第２制御信号とのうち、より早い時刻に送信可能である第２制御信号を送信する。
【００７１】
これによって、第１の実施形態の演算装置２０は、通信回線３０に伝送遅延が発生した場合でも、制御対象の出力装置５０を一定時間内に制御することができる。
【００７２】
第１の実施形態の演算装置２０は、制御の一部を実行するので、制御システム１ａの初期の設備コストを抑えることができる。第１の実施形態の制御システム１ａは、クラウドサーバ装置等である制御装置４０と演算装置２０とが連携することで、通信回線３０に発生した伝搬遅延の影響を低減することができる。
【００７３】
第１の実施形態の制御システム１ａは、物理的に離れた複数の制御装置４０にプログラムを記憶させることができる。第１の実施形態の制御システム１ａは、制御プログラムが失われることがないため、制御プログラムの再構築時間及び制御装置４０の交換時間を短くすることができる。
【００７４】
（第２の実施形態）
第２の実施形態では、制御システム１ｂが集約演算装置６０を備える点が、第１の実施形態と相違する。第２の実施形態では、第１の実施形態との相違点についてのみ説明する。
【００７５】
図７は、演算装置２０を備える制御システム１ｂの構成の例を示す図である。制御システム１ｂは、入力装置１０と、演算装置２０と、通信回線３０と、制御装置４０と、出力装置５０と、集約演算装置６０とを備える。
【００７６】
第２の実施形態では、入力装置１０は、一例として、第１の元信号と第２の元信号と第３の元信号とを演算装置２０に送信する。第１の元信号は、例えば、スイッチ又はボタンに対する操作に応じたデジタル信号である。第２の元信号は、例えば、出力装置５０に関する温度に応じたアナログ信号である。第３の元信号は、例えば、出力装置５０に関する圧力に応じたアナログ信号である。
【００７７】
比較部２０８は、今回取得された第１の元信号と前回取得された第１の元信号とが同じ内容を示す信号であるか否かを判定してもよい。比較部２０８は、今回取得された第２の元信号と前回取得された第２の元信号とが同じ内容を示す信号であるか否かを判定してもよい。比較部２０８は、今回取得された第３の元信号と前回取得された第３の元信号とが同じ内容を示す信号であるか否かを判定してもよい。
【００７８】
分配部２０６は、元信号と制御プログラムとの対応付けに基づいて、第１の元信号と第２の元信号と第３の元信号とを制御プログラムごとに分類してもよい。分配部２０６は、第１の元信号と第２の元信号と第３の元信号とに、分類を示す番号を付与してもよい。
【００７９】
集約演算装置６０は、通信を中継する中継装置である。集約演算装置６０は、ローカルネットワーク１１０を介して、第１の元信号と第２の元信号と第３の元信号とを演算装置２０から取得する。集約演算装置６０は、通信回線３０を介して、第２の元信号と第３の元信号とを制御装置４０に送信する。集約演算装置６０は、第３の元信号に基づいて第３制御信号を生成する。集約演算装置６０は、第３御信号を演算装置２０に送信する。
【００８０】
集約演算装置６０の構成を説明する。
集約演算装置６０は、第２制御信号を制御装置４０から取得する。集約演算装置６０は、第２制御信号を制御装置４０ごとに取得し、複数の第２制御信号を集約する。集約演算装置６０は、集約した第２制御信号を演算装置２０に送信する。集約演算装置６０は、集約した第２制御信号を、複数の演算装置２０に送信してもよい。
【００８１】
集約演算装置６０は、通信部６０１と、分配先記憶部６０２と、プログラム記憶部６０３と、時間記憶部６０４と、分配部６０５と、生成部６０６と、集約部６０７と、測定部６０８とを備える。
【００８２】
通信部６０１と、分配部６０５と、生成部６０６と、集約部６０７と、測定部６０８との一部または全部は、例えば、ＣＰＵ等のプロセッサが、記憶部に記憶されたプログラムを実行することにより機能するソフトウェア機能部である。また、これらの機能部のうち一部または全部は、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
【００８３】
分配先記憶部６０２と、プログラム記憶部６０３と、時間記憶部６０４との一部または全部は、例えば、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記憶媒体（非一時的な記録媒体）を有する記憶装置を用いて構成される。各記憶部は、例えば、ＲＡＭやレジスタなどの揮発性の記憶媒体を有していてもよい。
【００８４】
通信部６０１は、第２の元信号を演算装置２０から取得する。通信部６０１は、第３の元信号を入力装置１０から取得する。通信部６０１は、取得した第２の元信号を制御装置４０に送信する。通信部６０１は、制御装置４０が第２の元信号に基づいて生成した第２制御信号を、通信回線３０を介して制御装置４０から取得する。通信部６０１は、制御装置４０が第２の元信号に基づいて生成した第２制御信号を、ローカルネットワーク１１０を介して、演算装置２０に送信する。
【００８５】
分配先記憶部６０２は、分配先情報を記憶する。第２の実施形態では、分配先記憶部６０２に記憶される分配先情報において、第３の元信号と集約演算装置６０とが対応付けられている。すなわち、第３の元信号の分配先は、集約演算装置６０である。これによって、集約演算装置６０は、第３の元信号に基づいて第３制御信号を生成することができる。第２の実施形態では、分配先記憶部６０２に記憶される分配先情報において、第２の元信号と制御装置４０とが対応付けられている。すなわち、第２の元信号の分配先は、制御装置４０である。これによって、集約演算装置６０は、第２の元信号に基づいて第２制御信号を生成することができる。制御装置４０は、第２の元信号に基づいて第２制御信号を生成することができる。
【００８６】
プログラム記憶部６０３は、生成部６０６が演算を実行するためのプログラムを記憶する。プログラム記憶部６０３が記憶しているプログラムは、制御装置４０から取得したプログラムでもよい。プログラム記憶部６０３が記憶しているプログラムは、制御装置４０のプログラム記憶部４２が記憶しているプログラムと同じでもよい。プログラム記憶部２０３が記憶しているプログラムは、制御装置４０のプログラム記憶部４２が記憶しているプログラムの一部でもよい。
【００８７】
時間記憶部６０４は、制御装置４０がプログラムを実行した場合の処理時間を表す情報を記憶する。制御装置４０がプログラムを実行した場合の処理時間は、例えば、制御装置４０が第２制御信号を生成するのに要する時間である。時間記憶部６０４は、集約演算装置６０がプログラムを実行した場合の処理時間を表す情報を記憶してもよい。集約演算装置６０がプログラムを実行した場合の処理時間は、例えば、集約演算装置６０が第２制御信号又は第３制御信号を生成するのに要する時間である。時間記憶部６０４は、制御装置４０から取得した応答時間の測定値を記憶する。時間記憶部６０４は、制御装置４０から取得した平均応答時間の測定値を記憶する。
【００８８】
分配部６０５は、分配先情報に基づいて、第３の元信号の分配先を集約演算装置６０に決定する。これによって、分配部６０５は、第３の元信号を制御装置４０に送信しない、と判定することができる。分配部６０５は、分配先情報に基づいて、第２の元信号の分配先を制御装置４０に決定する。
【００８９】
分配部６０５は、前回の応答時間の測定値に基づいて、制御装置４０から取得した第２制御信号又は生成部６０６が生成した第２制御信号を選択する。すなわち、分配部６０５は、通信回線３０に伝送遅延が発生しているか否かに基づいて、制御装置４０から取得した第２制御信号又は生成部６０６が生成した第２制御信号を選択する。
【００９０】
例えば、分配部６０５は、閾値が前回の応答時間の測定値以上である場合、制御装置４０から取得した第２制御信号を選択する。すなわち、分配部６０５は、通信回線３０に伝送遅延が発生していない場合、制御装置４０から取得した第２制御信号を選択する。
【００９１】
例えば、分配部６０５は、閾値が前回の応答時間の測定値未満である場合、生成部６０６が生成した第２制御信号を選択する。すなわち、分配部２０６は、通信回線３０に伝送遅延が発生している場合、生成部６０６が生成した第２制御信号を選択する。
【００９２】
生成部６０６は、目標の送信時刻に間に合うように、第３の元信号に基づいて第３制御信号を生成する。生成部６０６が生成した第３制御信号を分配部６０５が選択した場合、目標の送信時刻に間に合うように、第３の元信号に基づいて第３制御信号を生成する。
【００９３】
集約部６０７は、複数の制御装置４０から取得した第２制御信号を集約する。すなわち、集約部６０７は、複数の第２制御信号をまとめる。なお、集約部６０７は、制御装置４０が１台である場合、制御装置４０から取得した第２制御信号を集約しなくてもよい。
【００９４】
測定部６０８は、制御装置４０の代わりに、応答時間を測定してもよい。測定部６０８は、例えば、通信部６０１から制御装置４０に第２の元信号を送信した時刻と第２制御信号を通信部６０１が取得した時刻との差と、制御装置４０がプログラムを実行した場合の処理時間とに基づいて、応答時間の測定値を算出してもよい。測定部６０８は、算出した応答時間の測定値を、時間記憶部６０４に記憶させてもよい。測定部６０８は、算出した平均応答時間の測定値を、時間記憶部６０４に記憶させてもよい。
【００９５】
図８は、制御システム１ｂの動作の例を示すシーケンス図である。入力装置１０は、第１の元信号と第２の元信号と第３の元信号とを、演算装置２０に送信する（ステップＳ６０１）。演算装置２０は、第１の元信号と第２の元信号と第３の元信号とを取得する（ステップＳ６０２）。演算装置２０は、前回の応答時間の測定値と閾値とを比較する。演算装置２０は、分配先情報に基づいて第２の元信号の分配先を制御装置４０に決定する。演算装置２０は、分配先情報に基づいて第３の元信号の分配先を集約演算装置６０に決定する（ステップＳ６０３）。演算装置２０は、第２の元信号と第３の元信号とを集約演算装置６０に送信する（ステップＳ６０４）。
【００９６】
集約演算装置６０は、第２の元信号及び第３の元信号を取得する（ステップＳ６０５）。集約演算装置６０は、前回の応答時間の測定値と閾値とを比較する。集約演算装置６０は、分配先情報に基づいて第２の元信号の分配先を制御装置４０に決定する（ステップＳ６０６）。集約演算装置６０は、第２の元信号を制御装置４０に送信する（ステップＳ６０７）。
【００９７】
制御装置４０は、第２の元信号を取得する（ステップＳ６０８）。制御装置４０は、第２の元信号に基づいて第２制御信号を生成する（ステップＳ６０９）。制御装置４０は、生成した第２制御信号を演算装置２０に送信する（ステップＳ６１０）。
【００９８】
演算装置２０は、第１の元信号に基づいて第１制御信号を生成する（ステップＳ６１１）。演算装置２０は、第１制御信号を出力装置５０に送信する（ステップＳ６１２）。出力装置５０は、第１制御信号を演算装置２０から取得する（ステップＳ６１３）。演算装置２０は、第２の元信号に基づいて第２制御信号を生成する（ステップＳ６１４）。
【００９９】
集約演算装置６０は、第３の元信号に基づいて第３制御信号を生成する（ステップＳ６１５）。集約演算装置６０は、第３制御信号を演算装置２０に送信する（ステップＳ６１６）。演算装置２０は、第３制御信号を取得する（ステップＳ６１７）。演算装置２０は、第３制御信号を出力装置５０に送信する（ステップＳ６１８）。出力装置５０は、第３制御信号を演算装置２０から取得する（ステップＳ６１９）。
【０１００】
集約演算装置６０は、第２の元信号に基づいて第２制御信号を生成する（ステップＳ６２０）。集約演算装置６０は、第２制御信号を取得する（ステップＳ６２１）。集約演算装置６０は、第２制御信号を演算装置２０に送信する（ステップＳ６２２）。演算装置２０は、第２制御信号を取得する（ステップＳ６２３）。演算装置２０は、第２制御信号を出力装置５０に送信する（ステップＳ６２４）。出力装置５０は、第２制御信号を演算装置２０から取得する（ステップＳ６２５）。
【０１０１】
図９は、演算装置２０の動作の例を示すフローチャートである。ステップＳ７０１は、図８に示すステップＳ６０２に対応する。ステップＳ７１０は、図８に示すステップＳ６１２に対応する。ステップＳ７１２は、図８に示すステップＳ６１８に対応する。
【０１０２】
インタフェース２０１は、第１の元信号と第２の元信号と第３の元信号とを取得する（ステップＳ７０１）。分配部２０６は、閾値が前回の応答時間の測定値以上であるか否かを判定する（ステップＳ７０２）。
【０１０３】
閾値が前回の応答時間の測定値以上である場合（ステップＳ７０２：ＹＥＳ）、分配部２０６は、第１の元信号と第２の元信号と第３の元信号とを集約演算装置６０に送信するか否かを、分配先情報に基づいて元信号ごとに判定する（ステップＳ７０３）。
【０１０４】
第１の元信号を集約演算装置６０に送信しないと分配部２０６が判定した場合（ステップＳ７０３：ＮＯ）、生成部２０７は、目標の送信時刻に間に合うように、第１の元信号に基づいて第１制御信号を生成する（ステップＳ７０４）。第２の元信号及び第３の元信号を集約演算装置６０に送信すると分配部２０６が判定した場合（ステップＳ７０３：ＹＥＳ）、通信部２０９は、第２の元信号及び第３の元信号を集約演算装置６０に送信する（ステップＳ７０５）。
【０１０５】
閾値が前回の応答時間の測定値未満である場合（ステップＳ７０２：ＮＯ）、分配部２０６は、第１の元信号と第２の元信号と第３の元信号とを集約演算装置６０に送信するか否かを、分配先情報に基づいて元信号ごとに判定する（ステップＳ７０６）。
【０１０６】
第１の元信号を集約演算装置６０に送信しないと分配部２０６が判定した場合（ステップＳ７０６：ＮＯ）、生成部２０７は、目標の送信時刻に間に合うように、第１の元信号に基づいて第１制御信号を生成する。生成部２０７は、目標の送信時刻に間に合うように、第３の元信号に基づいて第３制御信号を生成する（ステップＳ７０７）。第２の元信号及び第３の元信号を集約演算装置６０に送信すると分配部２０６が判定した場合（ステップＳ７０６：ＹＥＳ）、通信部２０９は、第２の元信号及び第３の元信号を集約演算装置６０に送信する（ステップＳ７０８）。
【０１０７】
分配部２０６は、取得した全ての第１の元信号について第１制御信号を生成し、かつ、取得した全ての第３の元信号について第３制御信号を生成したか否かを判定する（ステップＳ７０９）。演算装置２０が生成処理を施していない第１の元信号又は第３の元信号が残っている場合（ステップＳ７０９：ＮＯ）、分配部２０６は、ステップＳ７０２における判定結果に応じて、ステップＳ７０４又はステップＳ７０７に処理を戻す。
【０１０８】
取得した全ての第１の元信号について第１制御信号を生成し、かつ、取得した全ての第３の元信号について第３制御信号を生成した場合（ステップＳ７０９：ＹＥＳ）、インタフェース２０１は、第１制御信号を出力装置５０に送信する（ステップＳ７１０）。集約部２１０は、集約演算装置６０から取得した複数の第３制御信号を集約してもよい（ステップＳ７１１）。
【０１０９】
インタフェース２０１は、生成部２０７が第３制御信号を生成する前に第３制御信号を集約演算装置６０から取得した場合、取得した第３制御信号を出力装置５０に送信する。インタフェース２０１は、生成部２０７が第３制御信号を生成する前に第３制御信号を集約演算装置６０から取得していない場合、生成部２０７が生成した第３制御信号を出力装置５０に送信する（ステップＳ７１２）。演算装置２０の各部は、ステップＳ７０１に処理を戻す。
【０１１０】
図１０は、集約演算装置６０の動作の例を示すフローチャートである。ステップＳ８０１は、図８に示すステップＳ６０５に対応する。ステップＳ８１０は、図８に示すステップＳ６１６に対応する。ステップＳ８１２は、図８に示すステップＳ６２２に対応する。
【０１１１】
インタフェース２０１は、第２の元信号及び第３の元信号を取得する（ステップＳ８０１）。分配部６０５は、閾値が前回の応答時間の測定値以上であるか否かを判定する（ステップＳ７０２）。
【０１１２】
閾値が前回の応答時間の測定値以上である場合（ステップＳ８０２：ＹＥＳ）、分配部６０５は、第２の元信号及び第３の元信号を集約演算装置６０に送信するか否かを、分配先情報に基づいて元信号ごとに判定する（ステップＳ８０３）。
【０１１３】
第３の元信号を集約演算装置６０に送信しないと分配部６０５が判定した場合（ステップＳ８０３：ＮＯ）、生成部６０６は、目標の送信時刻に間に合うように、第３の元信号に基づいて第３制御信号を生成する（ステップＳ８０４）。第２の元信号を集約演算装置６０に送信すると分配部６０５が判定した場合（ステップＳ８０３：ＹＥＳ）、通信部２０９は、第２の元信号を集約演算装置６０に送信する（ステップＳ８０５）。
【０１１４】
閾値が前回の応答時間の測定値未満である場合（ステップＳ８０２：ＮＯ）、分配部６０５は、第２の元信号及び第３の元信号を集約演算装置６０に送信するか否かを、分配先情報に基づいて元信号ごとに判定する（ステップＳ８０６）。
【０１１５】
第３の元信号を集約演算装置６０に送信しないと分配部６０５が判定した場合（ステップＳ８０６：ＮＯ）、生成部６０６は、目標の送信時刻に間に合うように、第２の元信号に基づいて第２制御信号を生成する。生成部６０６は、目標の送信時刻に間に合うように、第３の元信号に基づいて第３制御信号を生成する（ステップＳ８０７）。第２の元信号を集約演算装置６０に送信すると分配部６０５が判定した場合（ステップＳ８０６：ＹＥＳ）、通信部２０９は、第２の元信号を集約演算装置６０に送信する（ステップＳ８０８）。
【０１１６】
分配部６０５は、取得した全ての第２の元信号について第２制御信号を生成し、かつ、取得した全ての第３の元信号について第３制御信号を生成したか否かを判定する（ステップＳ８０９）。演算装置２０が生成処理を施していない第２の元信号又は第３の元信号が残っている場合（ステップＳ８０９：ＮＯ）、分配部６０５は、ステップＳ８０２における判定結果に応じて、ステップＳ８０４又はステップＳ８０７に処理を戻す。
【０１１７】
取得した全ての第２の元信号について第２制御信号を生成し、かつ、取得した全ての第３の元信号について第３制御信号を生成した場合（ステップＳ８０９：ＹＥＳ）、通信部６０１は、第３制御信号を出力装置５０に送信する（ステップＳ８１０）。集約部６０７は、複数の制御装置４０から取得した複数の第２制御信号を集約する（ステップＳ８１１）。
【０１１８】
通信部６０１は、生成部６０６が第２制御信号を生成する前に第２制御信号を制御装置４０から取得した場合、取得した第２制御信号を出力装置５０に送信する。通信部６０１は、生成部６０６が第２制御信号を生成する前に第２制御信号を制御装置４０から取得していない場合、生成部６０６が生成した第２制御信号を出力装置５０に送信する（ステップＳ８１２）。集約演算装置６０の各部は、ステップＳ８０１に処理を戻す。
【０１１９】
図１１は、制御装置４０の動作の例を示すフローチャートである。ステップＳ９０１は、図８に示すステップＳ６０８に対応する。ステップＳ９０２は、図８に示すステップＳ６０９に対応する。ステップＳ９０３は、図８に示すステップＳ６１０に対応する。
【０１２０】
通信部４１は、第２の元信号を集約演算装置６０から取得する（ステップＳ９０１）。制御部４３は、プログラム記憶部４２に記憶されているプログラムと第２の元信号とに基づいて、第２制御信号を生成する（ステップＳ９０２）。通信部４１は、第２制御信号を集約演算装置６０に送信する（ステップＳ９０３）。
【０１２１】
以上のように、第２の実施形態の通信部２０９は、通信を中継する中継装置である集約演算装置６０を介して、複数の制御装置６０に元信号を送信する。これによって、第２の実施形態の演算装置２０は、演算装置２０は、通信回線３０に伝送遅延が発生した場合でも、制御対象の出力装置５０を一定時間内に制御することができる。
【０１２２】
（第３の実施形態）
第３の実施形態では、制御システム１ｃが端末７０を備える点が、第１の実施形態と相違する。第３の実施形態では、第１の実施形態との相違点についてのみ説明する。
【０１２３】
図１２は、演算装置２０を備える制御システム１ｃの構成の例を示す図である。制御システム１ｃは、入力装置１０と、演算装置２０と、通信回線３０と、制御装置４０と、出力装置５０と、端末７０とを備える。端末７０は複数でもよい。
【０１２４】
端末７０は、パーソナルコンピュータ装置やタブレット端末等の情報処理装置である。端末７０は、表示部７１と、操作部７２とを備える。表示部７１は、表示装置である。表示部７１は、プログラムを実行した装置を識別するための情報を表示する。例えば、表示部７１は、プログラム記憶部２０３に記憶されているプログラムを演算装置２０−１が実行した場合、演算装置２０−１に割り当てられた識別番号を表示する。操作部７２は、キーボードやマウス等のインタフェースである。操作部７２は、表示部７１に表示する画像を切り替える操作を受け付ける。操作部７２は、表示部７１に表示する画像を切り替える操作を受け付ける。
【０１２５】
演算装置２０の通信部２０９は、生成部２０７がプログラムを実行した場合、自装置に割り当てられた識別情報を、端末７０に送信する。端末７０の表示部７１は、演算装置２０から取得した識別番号を表示する。すなわち、通信部２０９は、生成部２０７が制御信号を元信号に基づいて生成した場合、自装置を示す情報を表示部７１に表示させる。
【０１２６】
以上のように、第３の実施形態の通信部２０９は、プログラムを実行した演算装置２０を示す情報を、端末７０に送信する。これによって、第３の実施形態の端末７０は、複数の演算装置２０のうちプログラムを実行した演算装置２０を、ユーザに把握させることができる。
【０１２７】
（第４の実施形態）
第４の実施形態では、制御システム１ｄが集約演算装置６０を備える点が、第３の実施形態と相違する。第４の実施形態では、第３の実施形態との相違点についてのみ説明する。
【０１２８】
図１３は、演算装置２０を備える制御システム１ｄの構成の例を示す図である。制御システム１ｃは、入力装置１０と、演算装置２０と、通信回線３０と、制御装置４０と、出力装置５０と、集約演算装置６０と、端末７０とを備える。端末７０は複数でもよい。
【０１２９】
通信部２０９は、プログラムを実行した演算装置２０を示す情報を、端末７０に送信する。通信部６０１は、プログラムを実行した集約演算装置６０を示す情報を、端末７０に送信する。表示部７１は、プログラム記憶部２０３に記憶されているプログラムを実行した演算装置２０に割り当てられた識別番号を表示する。表示部７１は、プログラム記憶部６０３に記憶されているプログラムを実行した集約演算装置６０に割り当てられた識別番号を表示する。
【０１３０】
以上のように、第４の実施形態の通信部２０９は、プログラムを実行した演算装置２０を示す情報を、端末７０に送信する。第４の実施形態の通信部６０１は、プログラムを実行した集約演算装置６０を示す情報を、端末７０に送信する。これによって、第４の実施形態の端末７０は、複数の演算装置２０と集約演算装置６０とのうちプログラムを実行した装置を、ユーザに把握させることができる。
【０１３１】
以上述べた少なくともひとつの実施形態によれば、制御装置が制御信号を生成するのに要する時間と通信時間との合計値に応じて制御信号を元信号に基づいて生成する生成部を持つことにより、通信回線に伝送遅延が発生した場合でも、制御対象の装置を一定時間内に制御することができる。
【０１３２】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１３３】
１ａ…制御システム、１ｂ…制御システム、１ｃ…制御システム、１ｄ…制御システム、１０…入力装置、２０…演算装置、３０…通信回線、４０…制御装置、４１…通信部、４２…プログラム記憶部、４３…制御部、５０…出力装置、６０…集約演算装置、７０…端末、７１…表示部、７２…操作部、１００…ローカルネットワーク、１１０…ローカルネットワーク、２０１…インタフェース、２０２…分配先記憶部、２０３…プログラム記憶部、２０４…時間記憶部、２０５…結果記憶部、２０６…分配部、２０７…生成部、２０８…比較部、２０９…通信部、２１０…集約部、２１１…測定部、６０１…通信部、６０２…分配先記憶部、６０３…プログラム記憶部、６０４…時間記憶部、６０５…分配部、６０６…生成部、６０７…集約部、６０８…測定部
【図１】
0006505557.tif 000002
【図２】
0006505557.tif 000003
【図３】
0006505557.tif 000004
【図４】
0006505557.tif 000005
【図５】
0006505557.tif 000006
【図６】
0006505557.tif 000007
【図７】
0006505557.tif 000008
【図８】
0006505557.tif 000009
【図９】
0006505557.tif 000010
【図１０】
0006505557.tif 000011
【図１１】
0006505557.tif 000012
【図１２】
0006505557.tif 000013
【図１３】
0006505557.tif 000014