(57)【要約】【課題】マスタ機器のタイムアウト時間の適切な初期値設定を容易にする。【解決手段】マスタ機器は、要求コマンドをスレーブ機器に送信してからタイムアウト時間以内に応答メッセージを受信できなかった場合に要求コマンドの再送処理を行う通信制御部２２と、データ要求の通信履歴を記憶する通信パラメータデータベース２６０と、マスタ機器の起動時にタイムアウト時間の初期値が設定されていない場合に、タイムアウト時間が既に設定されている他のマスタ機器からタイムアウト時間の情報を取得する情報取得部２７と、取得したタイムアウト時間と他のマスタ機器の台数とに基づいて、タイムアウト時間の初期値を算出するタイムアウト時間算出部２８と、タイムアウト時間の初期値を通信パラメータデータベース２６０に設定するタイムアウト時間設定部２９とを備える。【選択図】  図２
2019022106.tif 000002
【特許請求の範囲】
【請求項１】
要求コマンドを送信するように構成された複数のマスタ機器と、
このマスタ機器とネットワークを介して接続され、前記要求コマンドで要求されたデータを含む応答メッセージを要求元のマスタ機器に返送するように構成された少なくとも１つのスレーブ機器とを備え、
前記マスタ機器は、
前記要求コマンドを要求先の前記スレーブ機器に送信し、前記要求コマンドを送信してからタイムアウト時間以内に前記応答メッセージを受信できなかった場合に前記要求コマンドの再送処理を行うように構成された通信制御部と、
データ要求の通信履歴を記憶するように構成された通信パラメータデータベースと、
マスタ機器の起動時に前記タイムアウト時間の初期値が設定されていない場合に、前記タイムアウト時間が既に設定されている他のマスタ機器からタイムアウト時間の情報を取得するように構成された情報取得部と、
この情報取得部によって取得されたタイムアウト時間と前記他のマスタ機器の台数とに基づいて、前記タイムアウト時間の初期値を算出するように構成された第１のタイムアウト時間算出部と、
前記タイムアウト時間の初期値を前記通信パラメータデータベースに設定するように構成されたタイムアウト時間設定部とを備えることを特徴とする通信システム。
【請求項２】
請求項１記載の通信システムにおいて、
前記マスタ機器は、
前記要求コマンドを送信してから前記応答メッセージを受信するまでの応答時間に基づいて新たなタイムアウト時間を算出するように構成された第２のタイムアウト時間算出部と、
この第２のタイムアウト時間算出部によって算出されたタイムアウト時間を含む通信履歴を前記通信パラメータデータベースに記録することにより、前記タイムアウト時間の最新の値を設定するように構成された通信履歴記録部とをさらに備え、
前記情報取得部は、前記他のマスタ機器の通信パラメータデータベースに記録された通信履歴を取得することにより、前記タイムアウト時間の情報を取得することを特徴とする通信システム。
【請求項３】
請求項２記載の通信システムにおいて、
前記通信履歴記録部は、前記要求コマンドで要求したデータの数と前記第２のタイムアウト時間算出部によって算出されたタイムアウト時間と要求先のスレーブ機器の情報とを少なくとも含む前記通信履歴を、前記通信パラメータデータベースに記録し、
前記第１のタイムアウト時間算出部は、前記情報取得部によって取得された通信履歴に含まれる前記タイムアウト時間の最大値および最小値と、この通信履歴に含まれる前記データの数の最大値および最小値と、前記他のマスタ機器の台数と、発行予定の要求コマンドで要求するデータの数とに基づいて、この要求コマンドに対応する前記タイムアウト時間の初期値を算出することを特徴とする通信システム。
【請求項４】
請求項２または３記載の通信システムにおいて、
前記第１のタイムアウト時間算出部は、前記情報取得部によって取得された通信履歴のうち前記他のマスタ機器の動作継続時間が最も長い動作期間のときに記録された通信履歴を前記タイムアウト時間の初期値の算出に用いることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ機器とスレーブ機器との間で通信を行うマスタ・スレーブ方式の通信システムに関するものである。
【背景技術】
【０００２】
通信ゲートウェイが行う制御ネットワーク通信は、マスタ機器（通信ゲートウェイ）が要求を送信し、スレーブ機器（ＰＬＣ（Programmable Logic Controller）など）が応答を返すという、コマンド−レスポンス方式である。この通信では、マスタ機器側に要求送信後の応答受信タイムアウト時間を設定してタイムアウト監視を行う。マスタ機器は、タイムアウト時間内に応答が受信できなかった場合、要求再送を行い、一定回数の要求再送を行った後でもスレーブ機器からの応答が無い場合に通信異常とする。
【０００３】
マスタ機器に最適なタイムアウト時間を設定するためには、実際にスレーブ機器と通信しながらの調整が必要である。しかしながら、プロセス制御システムのようにネットワーク上に複数台のマスタ機器とスレーブ機器とが存在する場合には、スレーブ機器と通信を行うマスタ機器の台数によってスレーブ機器の応答時間が変動するため、適切なタイムアウト時間を設定することが難しく、タイムアウト時間が感覚的・経験的に決定されることが多々あった。
【０００４】
マスタ機器が１台の場合にタイムアウト時間を設定する公知の技術として、特許文献１、特許文献２に開示された技術がある。特許文献１、特許文献２に開示された技術は、実際にスレーブ機器と通信を行い、要求を送信してから要求に対する応答を受信するまでの応答時間に基づいてタイムアウト時間を決めるものである。このように、特許文献１、特許文献２に開示された技術では、実際にスレーブ機器と通信を行いながらタイムアウト時間を決めるため、制御ネットワークへのマスタ機器の追加と同時に、このマスタ機器に、既設のマスタ機器の台数を考慮した適切なタイムアウト時間を設定することが難しいという問題点があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１８５４５号公報
【特許文献２】特開平６−１２１００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、上記課題を解決するためになされたもので、スレーブ機器と通信を行うことなく、マスタ機器のタイムアウト時間の適切な初期値を容易に設定可能な通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の通信システムは、要求コマンドを送信するように構成された複数のマスタ機器と、このマスタ機器とネットワークを介して接続され、前記要求コマンドで要求されたデータを含む応答メッセージを要求元のマスタ機器に返送するように構成された少なくとも１つのスレーブ機器とを備え、前記マスタ機器は、前記要求コマンドを要求先の前記スレーブ機器に送信し、前記要求コマンドを送信してからタイムアウト時間以内に前記応答メッセージを受信できなかった場合に前記要求コマンドの再送処理を行うように構成された通信制御部と、データ要求の通信履歴を記憶するように構成された通信パラメータデータベースと、マスタ機器の起動時に前記タイムアウト時間の初期値が設定されていない場合に、前記タイムアウト時間が既に設定されている他のマスタ機器からタイムアウト時間の情報を取得するように構成された情報取得部と、この情報取得部によって取得されたタイムアウト時間と前記他のマスタ機器の台数とに基づいて、前記タイムアウト時間の初期値を算出するように構成された第１のタイムアウト時間算出部と、前記タイムアウト時間の初期値を前記通信パラメータデータベースに設定するように構成されたタイムアウト時間設定部とを備えることを特徴とするものである。
【０００８】
また、本発明の通信システムの１構成例において、前記マスタ機器は、前記要求コマンドを送信してから前記応答メッセージを受信するまでの応答時間に基づいて新たなタイムアウト時間を算出するように構成された第２のタイムアウト時間算出部と、この第２のタイムアウト時間算出部によって算出されたタイムアウト時間を含む通信履歴を前記通信パラメータデータベースに記録することにより、前記タイムアウト時間の最新の値を設定するように構成された通信履歴記録部とをさらに備え、前記情報取得部は、前記他のマスタ機器の通信パラメータデータベースに記録された通信履歴を取得することにより、前記タイムアウト時間の情報を取得することを特徴とするものである。
また、本発明の通信システムの１構成例において、前記通信履歴記録部は、前記要求コマンドで要求したデータの数と前記第２のタイムアウト時間算出部によって算出されたタイムアウト時間と要求先のスレーブ機器の情報とを少なくとも含む前記通信履歴を、前記通信パラメータデータベースに記録し、前記第１のタイムアウト時間算出部は、前記情報取得部によって取得された通信履歴に含まれる前記タイムアウト時間の最大値および最小値と、この通信履歴に含まれる前記データの数の最大値および最小値と、前記他のマスタ機器の台数と、発行予定の要求コマンドで要求するデータの数とに基づいて、この要求コマンドに対応する前記タイムアウト時間の初期値を算出することを特徴とするものである。
また、本発明の通信システムの１構成例において、前記第１のタイムアウト時間算出部は、前記情報取得部によって取得された通信履歴のうち前記他のマスタ機器の動作継続時間が最も長い動作期間のときに記録された通信履歴を前記タイムアウト時間の初期値の算出に用いることを特徴とするものである。
【発明の効果】
【０００９】
本発明によれば、タイムアウト時間の初期値が設定されていない新設のマスタ機器が、タイムアウト時間が既に設定されている既設のマスタ機器からタイムアウト時間の情報を取得して、取得した情報と既設のマスタ機器の台数とに基づいて、タイムアウト時間の初期値を算出するようにしたので、スレーブ機器と通信を行うことなく、既設のマスタ機器の台数を考慮した、新設のマスタ機器のタイムアウト時間の適切な初期値を容易に設定することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施例に係る通信システムの構成を示すブロック図である。
【図２】図２は、本発明の実施例に係る通信システムのマスタ機器の構成を示すブロック図である。
【図３】図３は、本発明の実施例に係る通信システムの既設のマスタ機器の動作を説明するフローチャートである。
【図４】図４は、通信パラメータデータベースに記録される通信履歴の１例を示す図である。
【図５】図５は、本発明の実施例においてネットワークに新たに追加されたマスタ機器の動作を説明するフローチャートである。
【図６】図６は、タイムアウト時間の初期値が設定されたときのマスタ機器の通信パラメータデータベースの内容の１例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例について図面を参照して説明する。図１は本発明の実施例に係る通信システムの構成を示すブロック図である。本実施例の通信システムは、例えばＰＬＣなどからなる少なくとも１つのスレーブ機器１−１，１−２と、例えば通信ゲートウェイなどからなる複数のマスタ機器２−１，２−２，２−３と、スレーブ機器１−１，１−２とマスタ機器２−１〜２−３とを相互に接続するネットワーク３とから構成される。
【００１２】
図２はマスタ機器２−１の構成を示すブロック図である。マスタ機器２−１は、スレーブ機器１−１，１−２に要求コマンドを送信する送信部２０と、要求コマンドに対するスレーブ機器１−１，１−２からの応答メッセージを受信する受信部２１と、送信部２０を介して要求コマンドを要求先のスレーブ機器１−１，１−２に送信し、要求コマンドを送信してからタイムアウト時間以内に応答メッセージを受信できなかった場合に要求コマンドの再送処理を行う通信制御部２２と、要求コマンドを送信したときからの経過時間を計測する経過時間計測部２３と、要求コマンドを送信してから応答メッセージを受信するまでの応答時間に基づいて新たなタイムアウト時間を算出するタイムアウト時間算出部２４と、タイムアウト時間算出部２４によって算出されたタイムアウト時間を含む通信履歴を通信パラメータデータベース（以下、通信パラメータＤＢ）２６０に記録することにより、タイムアウト時間の最新の値を設定する通信履歴記録部２５と、発行予定の要求コマンドの情報と通信パラメータＤＢ２６０とを記憶する記憶部２６と、マスタ機器２−１の起動時にタイムアウト時間の初期値が設定されていない場合に、タイムアウト時間が既に設定されている他のマスタ機器から通信履歴を取得する情報取得部２７と、情報取得部２７によって取得されたタイムアウト時間と他のマスタ機器の台数とに基づいて、タイムアウト時間の初期値を算出するタイムアウト時間算出部２８と、タイムアウト時間の初期値を通信パラメータＤＢ２６０に設定するタイムアウト時間設定部２９と、マスタ機器２−１が起動してからの動作継続時間を計測する動作継続時間計測部３０とを備えている。マスタ機器２−２，２−３の構成も、マスタ機器２−１と同様である。
【００１３】
以下、本実施例の通信システムの動作について説明する。本実施例では、マスタ機器２−１，２−２が、タイムアウト時間が既に設定されている既設の機器で、マスタ機器２−３がネットワーク３に新たに追加される機器の場合について説明する。
【００１４】
図３はマスタ機器２−１の動作を説明するフローチャートである。マスタ機器２−１の記憶部２６には、発行すべきデータ要求の情報（要求するデータの種類、データの数、要求先のスレーブ機器の情報）が予め登録されている。マスタ機器２−１の通信制御部２２は、この発行すべきデータ要求の情報に従って、スレーブ機器１−１または１−２に対してデータを要求する要求コマンドを生成し、この要求コマンドを送信部２０を介して要求先のスレーブ機器１−１または１−２に送信する（図３ステップＳ１００）。
【００１５】
通信制御部２２は、要求コマンドの送信後、要求先のスレーブ機器１−１または１−２からの応答を待つ。マスタ機器２−１の経過時間計測部２３は、要求コマンドを送信したときからの経過時間を計測する（図３ステップＳ１０１）。
要求コマンドを受信したスレーブ機器１−１または１−２は、この要求コマンドで要求されたデータを含む応答メッセージを要求元のマスタ機器２−１に返送する。
【００１６】
マスタ機器２−１の通信制御部２２は、経過時間計測部２３によって計測された経過時間がタイムアウト時間Ｔ以内のときに、受信部２１が要求先のスレーブ機器１−１または１−２から応答メッセージを受信した場合（図３ステップＳ１０２，Ｓ１０３においてＹＥＳ）、今回のデータ要求が終了したと判断する。なお、タイムアウト時間Ｔは、要求先のスレーブ機器毎およびデータ要求の種類毎に設定される。したがって、通信制御部２２は、後述する記憶部２６の通信パラメータＤＢ２６０を参照し、今回の要求先のスレーブ機器と今回のデータ要求の種類とに対応するタイムアウト時間Ｔの値を取得して、ステップＳ１０２，Ｓ１０３の判定を行うことになる。
【００１７】
データ要求の終了後、マスタ機器２−１のタイムアウト時間算出部２４は、要求コマンドを送信してから応答メッセージを受信するまでの応答時間Ｔｒ（応答メッセージを受信するまで経過時間計測部２３によって計測された経過時間）に基づいて新たなタイムアウト時間Ｔを算出する（図３ステップＳ１０４）。タイムアウト時間算出部２４は、特許文献１に開示されているように、過去の複数回のデータ要求の応答時間Ｔｒと今回のデータ要求の応答時間Ｔｒとから応答時間Ｔｒの平均値および分散値を求め、平均値に分散値の所定倍の値を加えたものを新たなタイムアウト時間Ｔとすればよい。
【００１８】
また、タイムアウト時間算出部２４は、特許文献２に開示されているように、今回のデータ要求の応答時間Ｔｒに所定のマージンを加算した値を新たなタイムアウト時間Ｔとしてもよいし、過去の複数回のデータ要求の応答時間Ｔｒと今回のデータ要求の応答時間Ｔｒとから応答時間Ｔｒの平均値を求め、この平均値に所定のマージンを加算した値を新たなタイムアウト時間Ｔとしてもよい。タイムアウト時間Ｔの算出方法は以上の方法に限るものではないことは言うまでもない。
【００１９】
上記のとおり、タイムアウト時間Ｔは、要求先のスレーブ機器毎およびデータ要求の種類毎に設定される。したがって、上記のように今回のデータ要求の応答時間Ｔｒと共に、過去の複数回のデータ要求の応答時間Ｔｒをタイムアウト時間Ｔの算出に用いる場合には、今回のデータ要求と要求先のスレーブ機器が同一で、且つ要求するデータの種類（データの数）が同一のデータ要求の応答時間Ｔｒを用いることになる。
【００２０】
マスタ機器２−１の通信履歴記録部２５は、今回のデータ要求の通信履歴をマスタ機器２−１の記憶部２６に記憶されている通信パラメータＤＢ２６０に記録する（図３ステップＳ１０５）。通信履歴には、データ要求で要求したデータの数と、経過時間計測部２３によって計測された応答時間Ｔｒと、タイムアウト時間算出部２４によって算出されたタイムアウト時間Ｔと、要求先のスレーブ機器を識別する情報とが含まれる。
【００２１】
図４は通信パラメータＤＢ２６０に記録される通信履歴の１例を示す図である。通信履歴は、要求先のスレーブ機器毎およびデータ要求の種類毎に記録される。図４の例では、１種類のデータ要求について１回分の通信履歴のみを記載しているが、複数回のデータ要求の応答時間Ｔｒをタイムアウト時間Ｔの算出に用いる場合には、毎回のデータ要求の通信履歴を通信パラメータＤＢ２６０に記録すればよい。ただし、通信制御部２２がステップＳ１０２，Ｓ１０３の判定で用いるタイムアウト時間Ｔは、今回の要求先のスレーブ機器と今回のデータ要求の種類とに対応するタイムアウト時間Ｔのうち最新の値である。
【００２２】
また、図４の例では、通信パラメータＤＢ２６０に、マスタ機器２−１が起動してからの経過時間である動作継続時間が記録されている。動作継続時間計測部３０は、マスタ機器２−１が起動してからの動作継続時間を計測している。通信履歴記録部２５は、動作継続時間計測部３０の計測結果に応じて、通信パラメータＤＢ２６０に記録される動作継続時間の値を適宜更新すればよい。
【００２３】
記憶部２６は、マスタ機器２−１の電源が切断されても情報を保持できる不揮発性のメモリである。このため、作成された通信パラメータＤＢ２６０の内容が消えることはなく、マスタ機器２−１が起動する度に通信パラメータＤＢ２６０に新たな通信履歴が追加されることになる。
【００２４】
次に、マスタ機器２−１のタイムアウト時間算出部２４は、経過時間計測部２３によって計測された経過時間がタイムアウト時間Ｔ以内のときに、受信部２１が要求先のスレーブ機器１−１または１−２から応答メッセージを受信できず（図３ステップＳ１０２においてＮＯ）、且つ要求コマンドの再送回数が所定回数未満の場合（図３ステップＳ１０６においてＹＥＳ）、現在のタイムアウト時間Ｔに所定の係数α（α＞１）を乗算した値を新たなタイムアウト時間Ｔとして更新する（図３ステップＳ１０７）。このように、タイムアウト時間Ｔ内に応答メッセージを受信できなかった場合には、タイムアウト時間Ｔが長くなるように更新する。
【００２５】
そして、マスタ機器２−１の通信制御部２２は、ステップＳ１００と同じ要求コマンドを要求先のスレーブ機器１−１または１−２に再送する（図３ステップＳ１０８）。
マスタ機器２−１の経過時間計測部２３は、要求コマンドを送信したときからの経過時間を０にリセットして、経過時間の計測を再び開始する（ステップＳ１０１）。
【００２６】
ステップＳ１０２，Ｓ１０３の通信制御部２２の動作は上記と同様である。ただし、このとき通信制御部２２が判定に用いるタイムアウト時間Ｔは、ステップＳ１０７で更新された値である。こうして、タイムアウト時間Ｔ内に応答メッセージを受信できるまで、タイムアウト時間Ｔを延長しつつ要求コマンドの再送を行い、タイムアウト時間Ｔ内に応答メッセージを受信できた時点で、そのときの応答時間Ｔｒを基にタイムアウト時間Ｔを再計算して（ステップＳ１０４）、通信履歴を通信パラメータＤＢ２６０に記録する（ステップＳ１０５）。
【００２７】
また、通信制御部２２は、要求コマンドの再送回数が所定回数に達した場合（ステップＳ１０６においてＮＯ）、通信異常と判断して（図３ステップＳ１０９）、データ要求処理を終了する。
マスタ機器２−１は、以上のようなデータ要求処理を発行すべきデータ要求毎に行う。ここでの説明では、マスタ機器２−１の動作について説明しているが、マスタ機器２−２の動作もマスタ機器２−１と同様である。
【００２８】
なお、他のマスタ機器が存在しない状態でマスタ機器２−１，２−２をネットワーク３に接続した場合、後述のように他のマスタ機器の情報を利用してタイムアウト時間Ｔの初期値設定を行うことはできない。そこで、このような場合には、比較的大きな値をタイムアウト時間Ｔの初期値として手動設定するか、あるいはタイムアウト時間算出部２４の機能を利用してタイムアウト時間Ｔの初期値を設定すればよい。タイムアウト時間算出部２４の機能を利用してタイムアウト時間Ｔの初期値を設定する場合には、図３で説明した処理において、ステップＳ１０２の判定をスキップして応答メッセージの受信を待ち、応答時間Ｔｒに基づいてタイムアウト時間Ｔの初期値を算出すればよい。
【００２９】
次に、ネットワーク３に新たに追加されたマスタ機器２−３の動作を、図５を参照して説明する。新たに追加されたマスタ機器２−３には、タイムアウト時間Ｔが設定されていない。そこで、本実施例では、マスタ機器２−３が、既設のマスタ機器２−１，２−２と連携して、最適なタイムアウト時間Ｔの初期値を自動的に設定する。
【００３０】
マスタ機器２−３の情報取得部２７は、マスタ機器２−３が起動したときに、タイムアウト時間Ｔの初期値がマスタ機器２−３の通信パラメータＤＢ２６０に設定されていない場合、他のマスタ機器２−１，２−２の通信パラメータＤＢ２６０の内容を取得する（図５ステップＳ２００）。上記のとおりマスタ機器２−１，２−２が起動する度に通信パラメータＤＢ２６０に新たな通信履歴が追加されるので、マスタ機器２−１，２−２の通信パラメータＤＢ２６０には、動作期間の異なる通信履歴が記録されている。
【００３１】
マスタ機器２−３のタイムアウト時間算出部２８は、情報取得部２７によって取得された通信パラメータＤＢ２６０の内容のうち、動作継続時間が最も長い通信履歴を抽出する。そして、タイムアウト時間算出部２８は、抽出した通信履歴に含まれるタイムアウト時間Ｔの最大値Ｔｍａｘとタイムアウト時間Ｔの最小値Ｔｍｉｎとデータ数の最大値Ｄｍａｘとデータ数の最小値Ｄｍｉｎと、既設のマスタ機器２−１，２−２の台数Ｃと、発行予定のデータ要求でスレーブ機器１−１，１−２に要求するデータの数Ｄとに基づいて、当該データ要求に対応するタイムアウト時間Ｔの初期値を、要求先のスレーブ機器毎に算出する（図５ステップＳ２０１）。
Ｔ＝｛（Ｔｍａｘ−Ｔｍｉｎ）／（Ｄｍａｘ−Ｄｍｉｎ）×（Ｄ−Ｄｍｉｎ）
×（Ｃ＋１）／Ｃ｝＋Ｔｍｉｎ                                ・・・（１）
【００３２】
台数Ｃは、マスタ機器２−３の情報取得部２７が通信を行ったマスタ機器２−１，２−２の台数である。
図４の例では、スレーブ機器１−１に関して、Ｔｍａｘ＝２４０ｍｓ、Ｔｍｉｎ＝２００ｍｓ、Ｄｍａｘ＝５６個、Ｄｍｉｎ＝４５個、既設のマスタ機器２−１，２−２の台数Ｃ＝２台となる。したがって、発行予定のデータ要求でスレーブ機器１−１に要求するデータの数Ｄが例えば５０個とすれば、このデータ要求のタイムアウト時間Ｔは式（１）より２２７ｍｓとなる。発行予定のデータ要求の情報は、予め記憶部２６に登録されている。したがって、タイムアウト時間算出部２８は、発行予定のデータ要求の種類毎および要求先のスレーブ機器毎にタイムアウト時間Ｔの初期値を算出することが可能である。
【００３３】
情報取得部２７によって取得された通信パラメータＤＢ２６０の内容のうち、動作継続時間が最も長い通信履歴を採用する理由は、タイムアウト時間Ｔの初期値を適切な値にするためである。同一のスレーブ機器について動作継続時間が同一の通信履歴が複数存在する場合には、これら複数の通信履歴のうちいずれかを使用すればよい。
【００３４】
マスタ機器２−３のタイムアウト時間設定部２９は、発行予定のデータ要求の情報（データ要求で要求するデータの数、要求先のスレーブ機器）とこのデータ要求のタイムアウト時間Ｔの初期値とをマスタ機器２−３の記憶部２６の通信パラメータＤＢ２６０に記録する。こうして、タイムアウト時間Ｔの初期値が発行予定のデータ要求の種類毎および要求先のスレーブ機器毎に設定される（図５ステップＳ２０２）。図６はタイムアウト時間Ｔの初期値が設定されたときのマスタ機器２−３の通信パラメータＤＢ２６０の内容の１例を示す図である。
以上で、ネットワーク３に新たに追加されたマスタ機器２−３が最初に起動したときのタイムアウト時間設定動作が終了し、以降は図３で説明した処理が実施される。
【００３５】
以上のように、本実施例では、タイムアウト時間Ｔが既に設定されている既設のマスタ機器２−１，２−２からタイムアウト時間Ｔの情報を取得して、取得した情報と既設のマスタ機器２−１，２−２の台数とに基づいて、マスタ機器２−３に設定するタイムアウト時間Ｔの初期値を算出するようにしたので、スレーブ機器１−１，１−２と通信を行うことなく、既設のマスタ機器２−１，２−２の台数を考慮したマスタ機器２−３のタイムアウト時間Ｔの適切な初期値を容易に設定することができる。
【００３６】
なお、本実施例では、ＰＬＣ（スレーブ機器１−１，１−２）、通信ゲートウェイ（マスタ機器２−１〜２−３）などのプロセス機器が接続された制御ネットワークに本発明を適用した例で説明しているが、本発明は他のネットワーク通信でも適用可能である。
【００３７】
本実施例のスレーブ機器１−１，１−２およびマスタ機器２−１〜２−３の各々は、ＣＰＵ（Central Processing Unit）、記憶装置および外部とのインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。各装置のＣＰＵは、記憶装置に格納されたプログラムに従って本実施例で説明した処理を実行する。
【産業上の利用可能性】
【００３８】
本発明は、マスタ・スレーブ方式の通信システムに適用することができる。
【符号の説明】
【００３９】
１−１，１−２…スレーブ機器、２−１〜２−３…マスタ機器、３…ネットワーク、２０…送信部、２１…受信部、２２…通信制御部、２３…経過時間計測部、２４，２８…タイムアウト時間算出部、２５…通信履歴記録部、２６…記憶部、２７…情報取得部、２９…タイムアウト時間設定部、３０…動作継続時間計測部、２６０…通信パラメータデータベース。
【図１】
2019022106.tif 000003
【図２】
2019022106.tif 000004
【図３】
2019022106.tif 000005
【図４】
2019022106.tif 000006
【図５】
2019022106.tif 000007
【図６】
2019022106.tif 000008