(57)【要約】【課題】マスタ通信装置がスレーブ通信装置の一時故障を永久故障と誤判定することを防止する。【解決手段】マスタ通信装置２は、スレーブ通信装置４の１つを指定し、指定したスレーブ通信装置４へ指示情報を送信し、それに応答する応答情報を受信する処理を単位通信処理として繰り返し実行する。マスタ通信装置２は、スレーブ通信装置４ごとに応答情報を受信できなかった回数をカウントするタイムアウトエラーカウンタ２４を有し、送信した指示情報に対する応答情報を受信したとき、タイムアウトエラーカウンタ２４をゼロクリアし、所定の時間内に応答情報を受信しなかったとき、タイムアウトエラーカウンタ２４をカウントアップする。そして、マスタ通信装置２は、速やかに当該単位通信処理を終了させるとともに、タイムアウトエラーカウンタ２４の計数値が所定の回数に達したときには、スレーブ通信装置４が（永久）故障していると判定する。【選択図】図１
2011188322.tif 000002
【特許請求の範囲】
【請求項１】
複数のスレーブ通信装置が通信ネットワークを介してマスタ通信装置に接続されて構成されたマスタ・スレーブ形通信システムにおいて、前記マスタ通信装置が、前記複数のスレーブ通信装置のうちの１のスレーブ通信装置を指定する通信装置指定処理と、前記指定したスレーブ通信装置へ指示情報を送信する指示情報送信処理と、前記指示情報を送信した送信先のスレーブ通信装置から応答情報を受信する応答情報受信処理と、を一連の単位通信処理として繰り返して実行する通信制御方法であって、
前記マスタ通信装置は、
前記送信した指示情報に対する応答情報の受信の有無を検知するタイムアウトエラー監視タイマと、前記スレーブ通信装置ごとに、それぞれ連続したタイムアウトエラーの検知回数を計数するタイムアウトエラーカウンタと、を有し、
前記応答情報受信処理において、
前記通信装置指定処理で指定したスレーブ通信装置から前記応答情報を受信した場合には、当該スレーブ通信装置に対応する前記タイムアウトエラーカウンタの計数値をゼロクリアし、前記タイムアウトエラー監視タイマからの通知に基づき、タイムアウトエラーを検知した場合には、当該スレーブ通信装置に対応する前記タイムアウトエラーカウンタの計数値をカウントアップし、その後速やかに当該単位通信処理を終了させるとともに、その終了時に併せて、前記エラーカウンタの計数値が所定の計数値に達しているか否かを判定し、前記エラーカウンタの計数値が所定の計数値に達したときには、当該スレーブ通信装置が故障していることを示すエラー情報を出力すること
を特徴とする通信制御方法。
【請求項２】
複数のスレーブ通信装置が通信ネットワークを介してマスタ通信装置に接続されて構成されたマスタ・スレーブ形通信システムにおいて、前記マスタ通信装置に、前記複数のスレーブ通信装置のうちの１のスレーブ通信装置を指定する通信装置指定処理と、前記指定したスレーブ通信装置へ指示情報を送信する指示情報送信処理と、前記指示情報を送信した送信先のスレーブ通信装置から応答情報を受信する応答情報受信処理と、を一連の単位通信処理として繰り返して実行させるための通信制御プログラムであって、
前記マスタ通信装置は、
前記送信した指示情報に対する応答情報の受信の有無を検知するタイムアウトエラー監視タイマと、前記スレーブ通信装置ごとに、それぞれ連続したタイムアウトエラーの検知回数を計数するタイムアウトエラーカウンタと、を有し、
前記マスタ通信装置に、
前記応答情報受信処理において、
前記通信装置指定処理で指定したスレーブ通信装置から前記応答情報を受信した場合には、当該スレーブ通信装置に対応する前記タイムアウトエラーカウンタの計数値をゼロクリアし、前記タイムアウトエラー監視タイマからの通知に基づき、タイムアウトエラーを検知した場合には、当該スレーブ通信装置に対応する前記タイムアウトエラーカウンタの計数値をカウントアップし、その後速やかに当該単位通信処理を終了させるとともに、その終了時に併せて、前記エラーカウンタの計数値が所定の計数値に達しているか否かを判定し、前記エラーカウンタの計数値が所定の計数値に達したときには、当該スレーブ通信装置が故障していることを示すエラー情報を出力する処理
を実行させるための通信制御プログラム。
【請求項３】
複数のスレーブ通信装置が通信ネットワークを介してマスタ通信装置に接続されて構成されたマスタ・スレーブ形通信システムにおいて、前記複数のスレーブ通信装置のうちの１のスレーブ通信装置を指定する通信装置指定処理と、前記指定したスレーブ通信装置へ指示情報を送信する指示情報送信処理と、前記指示情報を送信した送信先のスレーブ通信装置から応答情報を受信する応答情報受信処理と、を一連の単位通信処理として繰り返して実行するマスタ通信装置であって、
前記マスタ通信装置は、
前記送信した指示情報に対する応答情報の受信の有無を検知するタイムアウトエラー監視タイマと、前記スレーブ通信装置ごとに、それぞれ連続したタイムアウトエラーの検知回数を計数するタイムアウトエラーカウンタと、を有し、
前記応答情報受信処理において、
前記通信装置指定処理で指定したスレーブ通信装置から前記応答情報を受信した場合には、当該スレーブ通信装置に対応する前記タイムアウトエラーカウンタの計数値をゼロクリアし、前記タイムアウトエラー監視タイマからの通知に基づき、タイムアウトエラーを検知した場合には、当該スレーブ通信装置に対応する前記タイムアウトエラーカウンタの計数値をカウントアップし、その後速やかに当該単位通信処理を終了させるとともに、その終了時に併せて、前記エラーカウンタの計数値が所定の計数値に達しているか否かを判定し、前記エラーカウンタの計数値が所定の計数値に達したときには、当該スレーブ通信装置が故障していることを示すエラー情報を出力すること
を特徴とするマスタ通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のスレーブ通信装置が通信ネットワークを介してマスタ通信装置に接続されて構成されたマスタ・スレーブ形通信システムで用いられる通信制御方法、通信制御プログラムおよびマスタ通信装置に関する。
【背景技術】
【０００２】
プラントの監視・制御用などの用途として、しばしば、マスタ・スレーブ形通信システムが用いられる。そのマスタ・スレーブ形通信システムは、例えば、監視センタなどに設置されるマスタ通信装置に、隔地に設置された複数のスレーブ通信装置が接続されて構成される。このようなマスタ・スレーブ形通信システムでは、例えばＭＯＤＢＵＳ（登録商標）プロトコルが利用されるが、その通信方法に従えば、マスタ通信装置およびスレーブ通信装置の機能は、次のように定められる。
【０００３】
（１）マスタ通信装置は、スレーブ通信装置を指定し、その指定したスレーブ通信装置に対して、監視装置を制御したり監視装置からデータを収集したりするための指示情報を送信する機能を有する。（２）スレーブ通信装置は、マスタ通信装置からの指示情報を受信し、その指示情報であらかじめ指定された処理をした後、その処理結果の情報を応答情報としてマスタ装置へ送信する機能を有する。ただし、スレーブ通信装置は、マスタ通信装置に対し、自発的に指示情報を送信する機能は有していない。
【０００４】
従来、このようなマスタ・スレーブ形通信システムでは、マスタ通信装置は、複数のスレーブ通信装置に対して、所定の時間ごとに、送信先のスレーブ通信装置を所定の順序で巡回しながら指定し、その指定したスレーブ通信装置へ指示情報を送信し、その送信先のスレーブ通信装置から返送される応答情報を受信する。マスタ通信装置は、これらの一連の処理において、所定の時間内にスレーブ通信装置から応答情報が返送されなかった場合には、前回に送信した指示情報と同じ指示情報を再送信して、スレーブ通信装置からの応答情報を待つ。そして、所定の回数以上、同じ指示情報を再送信しても、スレーブ通信装置から応答情報が返送されなかった場合には、そのスレーブ通信装置は故障していると判定する。
【０００５】
このようにしてスレーブ通信装置の故障を判定する従来の方法には、次のような課題があることが知られている。第一に、このような従来の故障判定方法では、あるスレーブ通信装置から応答情報が送信されない場合には、マスタ通信装置は、同じ指示情報の再送信と、その再送信に対する応答情報の受信待と、を数回繰り返すことになる。そのため、他のスレーブ通信装置に対して送信すべき指示情報の送信が遅延するようなことがあった。その結果、他のスレーブ通信装置における処理が遅延したり、処理する時間的な余裕がなくなったりする場合があった。
【０００６】
第二に、従来の故障判定方法の場合、マスタ通信装置は、その故障判定を比較的短時間のうちに行うため、スレーブ通信装置における一時故障（例えば、ノイズなどによる通信障害、スレーブ通信装置側における偶発的な処理遅れなど、放置しても自然に回復する故障）を、永久故障（一時故障でない故障の総称）と誤判断する可能性があった。永久故障の場合、保守者による何らかの作業が必要となるが、一時故障の場合には、放置しておくことができる。従って、一時故障を永久故障と誤判断した場合には、必ずしも故障していないスレーブ通信装置の保守作業を行うことになるので、保守者の作業負担が増大することになる。
【０００７】
特許文献１には、前記第一の課題を解決するために、マスタ通信装置が２回目以降の応答情報を待つ待時間を短縮する技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００２−２６９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示されている技術は、前記した第二の課題に対しては、何らの解決策にもなっていない。むしろ、より短い時間でスレーブ通信装置の故障を判定することになるので、一時故障を永久故障と判定する確率は大きくなる。
【００１０】
そこで、本発明は、マスタ・スレーブ形通信システムにおいて、マスタ通信装置がスレーブ通信装置の一時故障を永久故障と誤判定することを防止した故障判定が可能な通信制御方法、通信制御プログラムおよびマスタ通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、複数のスレーブ通信装置が通信ネットワークを介してマスタ通信装置に接続されて構成されたマスタ・スレーブ形通信システムにおける通信制御方法、通信制御プログラムおよびマスタ通信装置であり、そのマスタ・スレーブ形通信システムにおいて、マスタ通信装置は、複数のスレーブ通信装置のうちの１のスレーブ通信装置を指定する通信装置指定処理と、その指定したスレーブ通信装置へ指示情報を送信する指示情報送信処理と、その指示情報を送信した送信先のスレーブ通信装置から応答情報を受信する応答情報受信処理と、を一連の単位通信処理として繰り返して実行する。
【００１２】
そして、そのマスタ通信装置は、
（１）送信した指示情報に対する応答情報の受信の有無を検知するタイムアウトエラー監視タイマと、スレーブ通信装置ごとに、それぞれ連続したタイムアウトエラーの検知回数を計数するタイムアウトエラーカウンタと、を有し、
（２）前記応答情報受信処理において、その前の通信装置指定処理で指定したスレーブ通信装置から応答情報を受信した場合には、当該スレーブ通信装置に対応するタイムアウトエラーカウンタの計数値をゼロクリアし、かつ、タイムアウトエラー監視タイマからの通知に基づき、タイムアウトエラーを検知した場合には、当該スレーブ通信装置に対応するタイムアウトエラーカウンタの計数値をカウントアップし、その後速やかに当該単位通信処理を終了させるとともに、その終了時に併せて、前記エラーカウンタの計数値が所定の計数値に達しているか否かを判定し、そのエラーカウンタの計数値が所定の計数値に達したときには、当該スレーブ通信装置が故障していることを示すエラー情報を出力すること、を特徴とする。
【発明の効果】
【００１３】
本発明によれば、マスタ・スレーブ形通信システムにおいて、マスタ通信装置がスレーブ通信装置の一時故障を永久故障と誤判定することを防止した故障判定が可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るマスタ・スレーブ形ネットワークシステムの構成の例を示した図。
【図２】本発明の実施形態に係るマスタ通信装置と４台のスレーブ通信装置との間で指示情報および応答情報が送受信される様子の例を示した比較例の図。
【図３】従来技術に従ってマスタ通信装置と４台のスレーブ通信装置との間で指示情報および応答情報が送受信される様子の例を示した図。
【図４】本発明の実施形態に係るマスタ通信装置の通信制御処理部が実行する通信制御処理のフローチャートの例を示した図。
【図５】本発明の実施形態の変形例に係るマスタ・スレーブ形ネットワークシステムの構成の例を示した図。
【図６】本発明の実施形態の変形例に係るマスタ通信装置の通信制御処理部が実行する通信制御処理のフローチャートの例を示した図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００１６】
図１は、本発明の実施形態に係るマスタ・スレーブ形ネットワークシステムの構成の例を示した図である。図１に示すように、マスタ・スレーブ形ネットワークシステム１０は、マスタ通信装置２に複数のスレーブ通信装置４が通信ネットワーク３を介して接続されて構成される。さらに、マスタ通信装置２には、一般的なパソコンやワークステーションなどで構成されたマスタ情報処理装置１が接続される。また、スレーブ通信装置４には、様々な装置が接続されるが、当該マスタ・スレーブ形ネットワークシステム１０が、例えば、プラントの監視システムであるような場合には、各種センサなどからなる監視機器５が接続される。
【００１７】
ここで、通信ネットワーク３としては、イーサネット（登録商標）やＲＳ４８５などを用い、また、その通信方法としては、ＭＯＤＢＵＳ（登録商標）プロトコルなど、一般的には、マスタ・スレーブ形通信と呼ばれる通信方法を用いる。なお、イーサネットのＴＣＰ／ＩＰプロトコル上に実装されたＭＯＤＢＵＳプロトコルは、ＭＯＤＢＵＳ−ＴＣＰと呼ばれているが、その基本となる通信方法は、マスタ・スレーブ形通信に分類される。
【００１８】
マスタ・スレーブ形通信におけるマスタ通信装置２とスレーブ通信装置４との間の通信は、マスタ通信装置２が主体的に実行する通信制御処理に従って進行する。すなわち、マスタ通信装置２の通信制御は、次の３ステップの処理を単位処理として、その単位処理を繰り返し実行することによって実現される。
（１）通信の相手先となるスレーブ通信装置４を指定する処理。
（２）前記指定したスレーブ通信装置４へ、そのスレーブ通信装置４が実行すべき処理を指示する情報である指示情報を送信する処理。
（３）前記指示情報を受信したスレーブ通信装置４が、その指示情報によって指示された処理を実行し、その処理結果の情報を応答情報としてマスタ通信装置２へ送信するので、そのスレーブ通信装置４から送信される応答情報を受信する処理。
【００１９】
ここで、マスタ通信装置２がスレーブ通信装置４へ送信する指示情報とは、例えば、監視機器５からボイラの温度を取得せよとか、監視機器５に付属するバルブを絞ってガスの流量を減少させよといった指示情報である。そして、応答情報としては、その指示情報に応じて、ボイラの温度やバルブの開度を４から３へ絞ったなどの情報が含まれる。また、その応答情報には、ボイラの温度取得に失敗したなどのエラー情報が含まれてもよい。
【００２０】
以上のようなマスタ・スレーブ形通信の通信制御を実行するマスタ通信装置２は、図１に示すように、通信制御処理部２１と、ネットワークインタフェース２２と、タイムアウトエラー監視タイマ２３と、複数のスレーブ通信装置４のそれぞれに対応して設けられたタイムアウトエラーカウンタ２４と、を含んで構成される。
【００２１】
ここで、通信制御処理部２１は、図示しないＣＰＵ（Central Processing Unit）とメモリとを含んで構成され、メモリには、マスタ通信装置２の通信制御機能を実現するためのプログラムが格納されるほか、スレーブ通信装置４との間で送受信される指示情報や応答情報が記憶される。また、ネットワークインタフェース２２は、通信ネットワーク３に接続され、通信ネットワーク３に対する電気的なインタフェースをとるとともに、送信フレームの生成・送出や、受信フレームの検出などを行う。
【００２２】
なお、ネットワークインタフェース２２が生成する送信フレームには、送信先となるスレーブ通信装置４を指定するアドレス情報が含まれており、マスタ通信装置２（つまり、通信制御処理部２１）がスレーブ通信装置４を指定する処理とは、送信フレームに含まれるスレーブ通信装置４のアドレス情報を設定する処理にほかならない。
【００２３】
タイムアウトエラー監視タイマ２３は、ネットワークインタフェース２２が指示情報を送出した後、スレーブ通信装置４から送信される応答情報を受信するまでの時間を監視するタイマである。すなわち、タイムアウトエラー監視タイマ２３は、指示情報がネットワークインタフェース２２を介してスレーブ通信装置４へ送信されたとき、その時間監視を開始し、通信制御処理部２１が前記指示情報に対する応答情報を受信したときに、時間監視を停止する。そして、所定の時間内に通信制御処理部２１が応答情報を受信しなかったとき、すなわち、タイムアウトエラー監視タイマ２３の監視時間が所定時間を超えても停止されることがなかった場合には、応答情報を受信しなかったことを意味するタイムアウトエラーを通信制御処理部２１へ通知する。
【００２４】
タイムアウトエラーカウンタ２４は、複数のスレーブ通信装置４のそれぞれに対応して設けられるカウンタであるが、本実施形態では、そのタイムアウトエラーカウンタ２４は、マスタ通信装置２内の図示しないメモリ上に設けられる。すなわち、通信制御処理部２１は、スレーブ通信装置４からの応答情報を受信すると、そのスレーブ通信装置４に対応するタイムアウトエラーカウンタ２４をゼロクリアし、スレーブ通信装置４からの応答情報を受信待ちしている場合に、タイムアウトエラー監視タイマ２３からタイムアウトエラーの通知を受けたときには、そのスレーブ通信装置４に対応するタイムアウトエラーカウンタ２４の計数値を１つカウントアップする。
【００２５】
図２は、本発明の実施形態に係るマスタ通信装置２と４台のスレーブ通信装置４との間で指示情報および応答情報が送受信される様子の例を示した図である。図２において、左半分は、マスタ通信装置２の通信制御処理の内容を示し、右半分は、矢印の方向によって、指示情報の送信先および応答情報の送信元がいずれのスレーブ通信装置４に該当するかを示している。
【００２６】
図２に示すように、マスタ通信装置２は、最初のブロックで、スレーブ通信装置４（＃１）を指定し（丸で囲んだ１）、その指定したスレーブ通信装置４（＃１）へ、あらかじめ定められた指示情報（１，１）を送信し（丸で囲んだ２）、その送信先のスレーブ通信装置４（＃１）から返送される応答情報（１，１）を受信する（丸で囲んだ３）。
【００２７】
以下、同様に、次のブロックで、マスタ通信装置２は、スレーブ通信装置４（＃２）を指定し（丸で囲んだ１）、その指定したスレーブ通信装置４（＃２）へ、あらかじめ定められた指示情報（２，１）を送信し（丸で囲んだ２）、その送信先のスレーブ通信装置４（＃２）から返送される応答情報（２，１）を受信する（丸で囲んだ３）。さらに、マスタ通信装置２は、スレーブ通信装置４（＃３）および（＃４）を指定し、同様の処理を行う。
【００２８】
以上のように、マスタ・スレーブ形ネットワークシステム１０では、マスタ通信装置２は、通信ネットワーク３に接続されている複数のスレーブ通信装置４を１つずつ指定しながら、その指定したスレーブ通信装置４へあらかじめ定められた指示情報を送信するとともに、その指定したスレーブ通信装置４から返信される応答情報を受信する処理を、一連の単位処理として繰り返し実行する。なお、図２の例では、通信ネットワーク３に接続されているスレーブ通信装置４の数は、４としているが、その数は、４に限定されるものではない。
【００２９】
マスタ通信装置２は、以上のようにして、通信ネットワーク３に接続された４台のスレーブ通信装置４に対する指示情報の送信と応答情報の受信の処理を一巡すると、続いて、２巡目の通信制御処理を行う。なお、１巡目の通信制御処理では、マスタ通信装置２は、スレーブ通信装置４（＃１）、（＃２）、（＃３）、（＃４）のいずれからも、それぞれの応答情報（１，１）、（２，１）、（３，１）、（４，１）を受信したので、タイムアウトエラーカウンタ２４（＃１）、（＃２）、（＃３）、（＃４）は、いずれもゼロクリアされる。
【００３０】
図２に示すように、２巡目の通信制御処理でも、マスタ通信装置２とスレーブ通信装置４（＃１）、（＃２）、（＃３）、（＃４）との間では、１巡目と同様に指示情報および応答情報の送受信が行われる。ただし、図２の例では、マスタ通信装置２は、スレーブ通信装置４（＃２）からの応答情報（２，２）を所定の時間内に受信できなかった（タイムアウトエラー監視タイマ２３からタイムアウトエラーの通知を受けた）としている。そのため、スレーブ通信装置（＃２）に対応するタイムアウトエラーカウンタ２４（＃２）は、１つカウントアップされ、その計数値は１となる。図２では、これを「ＥＣ＝１」と表している。
【００３１】
続く３巡目の通信制御処理でも、マスタ通信装置２とスレーブ通信装置４（＃１）、（＃２）、（＃３）、（＃４）との間では、２巡目と同様に指示情報および応答情報の送受信が行われる。ただし、この場合には、マスタ通信装置２がスレーブ通信装置４（＃２）へ送信する指示情報は、指示情報（２，２）となっている。これは、スレーブ通信装置４（＃２）へは、２巡目の指示情報（２，２）と同じ指示情報（２，２）が送信されることを意味している。すなわち、マスタ通信装置２は、２巡目でスレーブ通信装置４（＃２）からの応答情報（２，２）の受信ができなかったため、２巡目と同じ指示情報（２，２）を再送信（リトライ）したものである。
【００３２】
なお、図２の例では、３巡目の通信制御でも、マスタ通信装置２は、スレーブ通信装置４（＃２）からの応答情報（２，２）の受信ができなかったとされている。そのため、タイムアウトエラーカウンタ２４（＃２）は、再度、カウントアップされ、その計数値は２となっている。図２では、これを「ＥＣ＝２」と表している。
【００３３】
さらに、４巡目の通信制御でも、マスタ通信装置２とスレーブ通信装置４（＃１）、（＃２）、（＃３）、（＃４）との間では、３巡目と同様に指示情報および応答情報の送受信が行われるが、前回、マスタ通信装置２は、スレーブ通信装置４（＃２）からの応答情報（２，２）の受信ができなかったため、スレーブ通信装置４（＃２）へは、２巡目や３巡目と同じ指示情報（２，２）を送信している。
【００３４】
図２の例では、マスタ通信装置２は、４巡目でも、スレーブ通信装置４（＃２）からの応答情報（２，２）の受信できなかったとされている。従って、タイムアウトエラーカウンタ２４（＃２）は、再度、カウントアップされ、「ＥＣ＝３」となっている。以上のようにして、マスタ通信装置２は、所定回数以上（例えば、３回以上）同じスレーブ通信装置４へ同じ指示情報を送信しても、それに対する応答情報を受信できなかった場合には、そのスレーブ通信装置４が故障していると判定する。
【００３５】
なお、以上の説明では、３巡目および４巡目でスレーブ通信装置４（＃２）に送信する指示情報は、最初に応答情報の受信ができなかった２巡目に送信した指示情報（２，２）と同じ指示情報であるとしているが、必ずしも同じ指示情報でないとしてもよい。すなわち、図２において、マスタ通信装置２は、３巡目で「スレーブ通信装置４（＃２）へ指示情報（２，３）を送信し、応答情報（２，３）を受信せず」、４巡目で「スレーブ通信装置４（＃２）へ指示情報（２，４）を送信し、応答情報（２，４）を受信せず」としてもよい。
【００３６】
ちなみに、マスタ・スレーブ形ネットワークシステム１０が適用されるプラント監視・制御システムなどの例においては、例えば、スレーブ通信装置４に対して、毎回「ボイラの温度を取得せよ」という指示情報が送信されるケースは、必ずしも珍しいケースではない。このようなケースでは、ある巡回でスレーブ通信装置４からの応答情報がなかったからといって、マスタ通信装置２は、次の巡回で、前回と同じ指示情報を再送信する必要はない。次の巡回で送信される指示情報は、あらかじめ定められていた「（その時点での）ボイラの温度を取得せよ」という指示情報である。
【００３７】
従って、スレーブ通信装置４に対して、例えば、奇数回に「ボイラの温度を取得せよ」という指示情報を送信し、偶数回に「ボイラの圧力を取得せよ」という指示情報を送信することが予定されているケースでは、マスタ通信装置２は、ある巡回で「ボイラの温度を取得せよ」という指示情報に対する応答情報を受信できなくても、次の巡回では、「ボイラの温度を取得せよ」という指示情報を再送信するのではなく、予定されていた「ボイラの圧力を取得せよ」という指示情報を送信するようにしてもよい。
【００３８】
以上のように、スレーブ通信装置４ごとに応答情報を連続して受信できなかった巡回数をカウントして、そのカウント数が所定値を超えたことによって検出されるスレーブ通信装置４の故障は、スレーブ通信装置４が何らかの原因で正常に動作していないために、指示情報を受信できないか、または、応答情報を送信することができない故障である。しかしながら、通信ネットワーク３の障害のためにスレーブ通信装置４に指示情報が届かない場合や、スレーブ通信装置４から送信された応答情報がマスタ通信装置２へ届かない通信障害も、その故障として検出される。一般に、通信ネットワーク３における通信障害は、一時故障であることが多い。
【００３９】
図３は、従来技術に従ってマスタ通信装置２と４台のスレーブ通信装置４との間で指示情報および応答情報が送受信される様子の例を示した比較例の図である。図３に示すように、マスタ通信装置２とスレーブ通信装置４（＃１）、（＃２）、（＃３）、（＃４）との間で行われる指示情報および応答情報の送受信は、図２に示した本発明の実施形態とほとんど同様にして行われる。相違点は、マスタ通信装置２がスレーブ通信装置４からの応答情報を受信しない場合の処理にある。
【００４０】
図３の例では、マスタ通信装置２は、２巡目のスレーブ通信装置４（＃２）への指示情報（２，２）に対する応答情報（２，２）を受信していない。その場合、マスタ通信装置２は、その後、直ちに、スレーブ通信装置４（＃２）に対して、同じ指示情報（２，２）を再送信して、応答情報（２，２）を受信することをリトライする。マスタ通信装置２は、このようなリトライを所定回数（例えば、３回）繰り返している。そして、その所定回数の繰り返しによっても、応答情報（２，２）を受信することができない場合には、スレーブ通信装置４（＃２）が故障していると判定する。
【００４１】
図３の例と図２の例とを比較すると、次の点で相違していることが分かる。すなわち、図３（比較例）では、マスタ通信装置２は、あるスレーブ通信装置４からの応答情報を受信できなかった場合、その後、直ちに所定回数のリトライを行うのに対し、図２（本発明の実施形態）では、リトライを直ちに行うのではなく、当該スレーブ通信装置４との間の次の送受信が行われるときに、１回ずつリトライを行っている。
【００４２】
そのため、マスタ通信装置２が最初の応答情報の受信失敗から、所定回数のリトライを経て、その応答情報を送信すべきスレーブ通信装置４の故障を判定するまでの時間は、図３（比較例）の場合に短く、図２（本発明の実施形態）の場合に長い。ちなみに、あるスレーブ通信装置４（例えば、（＃２））における応答情報受信のタイムアウトエラー時間を２秒とし、また、マスタ通信装置２がそのスレーブ通信装置４との間で指示情報および応答情報を送受信する処理を繰り返して行う時間間隔を、１分とすれば、スレーブ通信装置４の故障を判定するまでの時間は、図３（比較例）の場合で、６秒、図２（本発明の実施形態）の場合で、３分となる。
【００４３】
その場合、マスタ通信装置２は、図３（比較例）の場合、スレーブ通信装置４の故障を短時間に検出することができるようになるが、その検出が短時間で行われるがゆえに、一時故障を永久故障と誤る可能性が生じる。一方、図２（本発明の実施形態）の場合には、スレーブ通信装置４の故障を検出するまでの時間は余計に掛かるが、一時故障を永久故障と誤る可能性は極めて小さくなる。ちなみに、ノイズなどにより、一時故障が６秒ほど継続する場合はあっても、３分継続する可能性は小さい。
【００４４】
また、マスタ通信装置２における応答情報受信のタイムアウトエラーがスレーブ通信装置４における偶発的な処理混雑による送信遅延であった場合、図３（比較例）では、マスタ通信装置２からの指示情報送信のリトライにより、スレーブ通信装置４は、再度、直ちに応答情報を送信することが求められる。そのため、スレーブ通信装置４における処理混雑は、さらに悪化することになり兼ねない。その場合には、所定回数、マスタ通信装置２から指示情報が送信されたとしても、スレーブ通信装置４は、応答情報を送信することができず、結局、「スレーブ通信装置４は永久故障している」と誤判定される結果になる。
【００４５】
一方、図２（本発明の実施形態）の場合には、指示情報送信は、すぐには再送信されることはなく、当該スレーブ通信装置４に対する次の巡回時に送信される。従って、そのときまでにはスレーブ通信装置４における偶発的な処理混雑は、解消している可能性が大きいため、スレーブ通信装置４は、応答情報を所定に時間内に送信することができる。従って、「スレーブ通信装置４は永久故障している」と誤判定される可能性は、ほとんどなくなり、また、後続するスレーブ通信装置４に対する指示情報および応答情報の送受信処理が遅延させられることもなくなる。
【００４６】
図４は、本発明の実施形態に係るマスタ通信装置２の通信制御処理部２１が実行する通信制御処理のフローチャートの例を示した図である。通信制御処理部２１は、この通信制御処理を実行することによって、例えば、図２に示したマスタ通信装置２の通信制御処理を実現することができる。以下、図４および図１を参照して、通信制御処理部２１が実行する通信制御処理について説明する。
【００４７】
マスタ通信装置２の通信制御処理部２１は、まず、通信相手となるスレーブ通信装置４を指定し（ステップＳ１１）、その指定したスレーブ通信装置４に対応するタイムアウトエラーカウンタ２４の計数値を取得し（ステップＳ１２）、その計数値が「０」であるか否かを判定する（ステップＳ１３）。なお、各スレーブ通信装置４に対応するタイムアウトエラーカウンタ２４の計数値の初期値は、「０」であるとする。
【００４８】
次に、ステップＳ１３の判定で、タイムアウトエラーカウンタ２４の計数値が「０」であった場合（ステップＳ１３でＹｅｓ）、つまり、指示情報送信に対して応答情報の受信に前回成功していた場合には、通信制御処理部２１は、ステップＳ１１で指定したスレーブ通信装置４に、あらかじめ指定された指示情報を送信する（ステップＳ１４）。また、計数値が「０」でなかった場合（ステップＳ１３でＮｏ）、つまり、前回の指示情報の送信に対する応答情報の受信に失敗していた場合には、ステップＳ１１で指定したスレーブ通信装置４へ、前回送信した指示情報と同じ指示情報を送信する（ステップＳ１５）。
【００４９】
なお、前記したように、プラント監視・制御システムなどの応用例の場合には、ステップ１５では、前回送信した指示情報と同じ指示情報でなく、当初から指定されていた指示情報を送信するものとしてもよい。従って、この場合には、ステップＳ１５の処理は、ステップＳ１５の処理と同じになるので、ステップＳ１２，Ｓ１３，Ｓ１５の処理は、図４のフローチャートから省略してもよい。
【００５０】
なお、以上の処理でスレーブ通信装置４を指定する情報や、その指定したスレーブ通信装置４に応じて、そのスレーブ通信装置４へ送信する指示情報は、通信制御処理部２１の図示しないメモリにあらかじめ格納されておいてもよく、または、その都度、マスタ情報処理装置１から供給される情報であるとしてもよい。
【００５１】
続いて、通信制御処理部２１は、ステップＳ１４またはステップＳ１５で送信した指示情報に応じて、スレーブ通信装置４から送信される応答情報を受信したか否かを判定する（ステップＳ１６）。そして、その判定の結果、応答情報を受信した場合には（ステップＳ１６でＹｅｓ）、ステップＳ１１で指定したスレーブ通信装置４に対応するタイムアウトエラーカウンタ２４をゼロクリアする（ステップＳ１７）。なお、ステップＳ１６で受信した応答情報は、例えば、いったん通信制御処理部２１の図示しないメモリに一時記憶された後に、マスタ情報処理装置１へ送信される。
【００５２】
通信制御処理部２１は、ステップＳ１７の次には、ステップＳ１１へ戻って、ステップＳ１１以下の処理を再度実行する。
【００５３】
次に、ステップＳ１６の判定の結果、応答情報を受信していない場合には（ステップＳ１６でＮｏ）、通信制御処理部２１は、タイムアウトエラー監視タイマ２３からタイムアウトエラーの通知があったか否かを判定し（ステップＳ１８）、タイムアウトエラーの通知がなかったときには（ステップＳ１８でＮｏ）、応答情報を受信したか否かを判定するステップＳ１６へ戻る。また、タイムアウトエラーの通知があったときには（ステップＳ１８でＹｅｓ）、ステップＳ１１で指定したスレーブ通信装置４に対応するタイムアウトエラーカウンタ２４をカウントアップする（ステップＳ１９）。
【００５４】
次に、通信制御処理部２１は、タイムアウトエラーカウンタの計数値が、あらかじめ定められた値Ｎ（例えば、Ｎ＝３）に到達したか否かを判定し（ステップＳ２０）、到達していない場合には（ステップＳ２０でＮｏ）、ステップＳ１１へ戻って、ステップＳ１１以下の処理を再度実行する。また、ステップＳ２０で、タイムアウトエラーカウンタの計数値がＮに到達した場合には（ステップＳ２０でＹｅｓ）、通信制御処理部２１は、ステップＳ１１で指定したスレーブ通信装置４は、故障していると判定し、故障であることを示すエラー情報を出力する（ステップＳ２１）。なお、そのエラー情報の出力先は、例えば、マスタ情報処理装置１であってもよく、また、マスタ通信装置２が何らかの表示装置を有している場合には、その表示装置に表示してもよい。
【００５５】
通信制御処理部２１は、ステップＳ２１の次には、ステップＳ１１へ戻って、ステップＳ１１以下の処理を再度実行する。
【００５６】
なお、図４を用いて説明した通信制御処理のステップＳ１３では、通信制御処理部２１は、タイムアウトエラーカウンタ２４の計数値が「０」であるか否かを判定することによって、前回の指示情報の送信に対する応答情報の受信が成功したか否かを判定しているが、その判定方法は、これに限定されるものではない。例えば、マスタ通信装置２内にタイムアウトエラーカウンタ２４とは別に各スレーブ通信装置４に対応付けられたタイムアウトエラーフラグを設けておき、そのタイムアウトエラーフラグにより、応答情報の受信の成否を判定してもよい。
【００５７】
この場合、マスタ通信装置２の通信制御処理部２１が応答情報の受信に成功したとき、そのタイムアウトエラーフラグを「０」クリアし、応答情報の受信に失敗したとき、そのタイムアウトエラーフラグに「１」をセットするとすれば、タイムアウトエラーフラグの「０」は、応答情報受信の「成功」を意味し、タイムアウトエラーフラグの「１」は、応答情報受信の「失敗」を意味する。
【００５８】
（実施形態の変形例）
図５は、本発明の実施形態の変形例に係るマスタ・スレーブ形ネットワークシステムの構成の例を示した図である。なお、図５において、図１と同じ構成要素については、同じ符号を付し、その説明を省略する。
【００５９】
図５に示した実施形態の変形例に係るマスタ・スレーブ形ネットワークシステム１０Ａと、図１に示した元の実施形態に係るマスタ・スレーブ形ネットワークシステム１０との相違は、通信ネットワーク３の構成、および、マスタ通信装置２Ａの中に例外エラーカウンタ２５が追加されていることにある。
【００６０】
本実施形態の変形例では、通信ネットワーク３は、ネットワーク変換装置６によって２つの通信ネットワーク３ａ，３ｂに分割されている。ここで、通信ネットワーク３ａは、例えば、ＭＯＤＢＵＳ−ＴＣＰのネットワークであり、また、通信ネットワーク３ｂは、例えば、ＭＯＤＢＵＳプロトコルのＲＳ−４８５規格のネットワークである。
【００６１】
図５において、それぞれの通信ネットワーク３ａ，３ｂには、スレーブ通信装置４が接続されているが、本明細書の以下の記載で必要な場合には、通信ネットワーク３ａに接続されているスレーブ通信装置４を上位のスレーブ通信装置４ａと呼び、通信ネットワーク３ｂに接続されているスレーブ通信装置４を下位のスレーブ通信装置４ｂと呼ぶ。また、各スレーブ通信装置４には、図１で示したように、様々な監視機器などが接続されるが、ここでは、その図示を省略している。
【００６２】
マスタ通信装置２Ａは、下位のスレーブ通信装置４ｂとの間の指示情報および応答情報の送受信を、ネットワーク変換装置６を介して行う。ネットワーク変換装置６は、通信ネットワーク３ａと通信ネットワーク３ｂとの間でプロトコルや電気信号の変換などを行う機能を有している。その機能は、基本的には、単なる変換であるので、下位のスレーブ通信装置４ｂが正常に動作しているときは、マスタ通信装置２Ａからは、そのネットワーク変換装置６は、あたかも存在していないように見える。
【００６３】
しかしながら、下位のスレーブ通信装置４ｂが故障し、マスタ通信装置２Ａからの指示情報に対する応答情報を返送できない場合には、その応答情報が返信されないタイムアウトエラーは、ネットワーク変換装置６によって検知される。そのとき、ネットワーク変換装置６は、下位のスレーブ通信装置４ｂから応答情報を受信しなかったことを示すタイムアウトエラー（以下、このタイムアウトエラーを例外エラーと呼ぶ）を含んだ情報をマスタ通信装置２Ａへ送信する。
【００６４】
従って、マスタ通信装置２Ａの通信制御処理部２１は、下位のスレーブ通信装置４ｂから応答情報が送信されないことは、タイムアウトエラー監視タイマ２３からの通知ではなく、ネットワーク変換装置６から送信される例外エラーによって知る。なお、マスタ通信装置２Ａは、下位のスレーブ通信装置４ｂへ指示情報を送信した後、所定の時間内に、ネットワーク変換装置６から例外エラーも含めて何らの応答情報も受信しない場合には、ネットワーク変換装置６自身が故障していると判断する。
【００６５】
図５において、マスタ通信装置２Ａ内に追加された例外エラーカウンタ２５は、下位のスレーブ通信装置４ｂのそれぞれに対応して設けられ、そのそれぞれのスレーブ通信装置４ｂについてネットワーク変換装置６から送信される例外エラーの回数をカウントする。なお、例外エラーカウンタ２５も、タイムアウトエラーカウンタ２４と同様に、通信制御処理部２１内のメモリ上に設けられる。
【００６６】
図６は、本発明の実施形態の変形例に係るマスタ通信装置２Ａの通信制御処理部２１が実行する通信制御処理のフローチャートの例を示した図である。その通信制御処理の基本形は図４に示したフローチャートと同じである。ただし、本実施形態の変形例では、下位のスレーブ通信装置４ｂからの応答情報の受信については、そのタイムアウトエラーの監視をネットワーク変換装置６が代行し、そのタイムアウトエラーを例外エラーとしてマスタ通信装置へ報告する形態であるので、図６では、その例外エラーの受信に応対する処理ステップ（ステップＳ３１−ステップＳ３５）が図４のフローチャートに追加された形となっている。
【００６７】
以下、図６のフローチャートについて説明するが、図４と同じ処理ステップについては同じステップ番号を付しており、その説明を省略する。
【００６８】
図６のフローチャートにおいて、ステップＳ１１−ステップＳ１６までの処理は、ステップＳ１２ａを除き、図４のフローチャートと同じである。通信制御処理部２１は、ステップＳ１２ａで、ステップＳ１１で指定したスレーブ通信装置４に対応するエラーカウンタの計数値を取得するが、ここでいうエラーカウンタとは、当該スレーブ通信装置４が上位のスレーブ通信装置４ａである場合には、タイムアウトエラーカウンタ２４を指し、当該スレーブ通信装置４が下位のスレーブ通信装置４ｂである場合には、例外エラーカウンタ２５を指す。
【００６９】
また、図４の場合と同様に、プラント監視・制御システムなどの応用例の場合には、ステップ１５では、前回送信した指示情報と同じ指示情報でなく、当初から指定されていた指示情報を送信するものとしてもよい。そして、その場合には、ステップＳ１５の処理は、ステップＳ１５の処理と同じになるので、ステップＳ１２，Ｓ１３，Ｓ１５の処理は、図６のフローチャートから省略してもよい。
【００７０】
また、通信制御処理部２１は、ステップ１６でスレーブ通信装置４からの応答情報を受信したか否かを判定し、応答情報を受信しなかった場合には（ステップＳ１６でＮｏ）、それ以降に実行される処理（ステップＳ１８−ステップＳ２１）は、図４のフローチャートと同じである。また、ステップ１６の判定で、応答情報を受信した場合には（ステップＳ１６でＹｅｓ）、その応答情報として、例外エラーが含まれている可能性があるので、通信制御処理部２１は、ステップＳ１７以下の処理を実行する。
【００７１】
すなわち、通信制御処理部２１は、まず、ステップＳ１１で指定したスレーブ通信装置４に対応するタイムアウトエラーカウンタ２４をゼロクリアする（ステップＳ１７）。なお、このとき、ステップＳ１１で指定したスレーブ通信装置４が下位のスレーブ通信装置４ｂであった場合には、その下位のスレーブ通信装置４ｂに対応するタイムアウトエラーカウンタ２４は設けられていないため、実質的な処理は行われない。
【００７２】
次に、通信制御処理部２１は、ステップＳ１１で指定したスレーブ通信装置４からの応答情報に例外エラーが含まれているか否かを判定する（ステップＳ３１）。そして、その判定の結果、その応答情報に例外エラーが含まれていない場合には（ステップＳ３１でＮｏ）、通信制御処理部２１は、下位のスレーブ通信装置４ｂに対応する例外エラーカウンタをセロクリアした（ステップＳ３２）後、ステップＳ１１へ戻って、ステップＳ１１以下の処理を再度実行する。
【００７３】
一方、ステップＳ３１の判定の結果、ステップＳ１１で指定したスレーブ通信装置４からの応答情報に例外エラーが含まれていた場合には（ステップＳ３１でＹｅｓ）、通信制御処理部２１は、そのスレーブ通信装置４は、下位のスレーブ通信装置４ｂであり、その下位のスレーブ通信装置４ｂに対応する例外エラーカウンタをカウントアップする（ステップＳ３３）。
【００７４】
次に、通信制御処理部２１は、例外エラーカウンタの計数値が、あらかじめ定められた値Ｎ（例えば、Ｎ＝３）に到達したか否かを判定し（ステップＳ３４）、到達していない場合には（ステップＳ３４でＮｏ）、ステップＳ１１へ戻って、ステップＳ１１以下の処理を再度実行する。また、ステップＳ３４で、タイムアウトエラーカウンタの計数値がＮに到達した場合には（ステップＳ３４でＹｅｓ）、通信制御処理部２１は、当該下位のスレーブ通信装置４ｂは、故障していると判定し、下位のスレーブ通信装置４ｂの故障であることを示すエラー情報を出力する（ステップＳ３５）。なお、そのエラー情報の出力先は、例えば、マスタ情報処理装置１であってもよく、また、マスタ通信装置２が何らかの表示装置を有している場合には、その表示装置であってもよい。
【００７５】
通信制御処理部２１は、ステップＳ３５の次には、ステップＳ１１へ戻って、ステップＳ１１以下の処理を再度実行する。
【００７６】
以上、本実施形態の変形例でも、基本的な通信ネットワーク３の構成や通信制御処理部２１の処理内容は、元の実施形態と同じであるので、元の実施形態と同様に、マスタ通信装置２Ａがスレーブ通信装置４の故障を判定するとき、一時故障を永久故障と誤ることはほとんどなくなる。
【符号の説明】
【００７７】
１      マスタ情報処理装置
２，２Ａ    マスタ通信装置
３，３ａ，３ｂ    通信ネットワーク
４      スレーブ通信装置
４ａ    上位のスレーブ通信装置
４ｂ    下位のスレーブ通信装置
５      監視機器
６      ネットワーク変換装置
１０，１０Ａ    マスタ・スレーブ形ネットワークシステム
２１    通信制御処理部
２２    ネットワークインタフェース
２３    タイムアウトエラー監視タイマ
２４    タイムアウトエラーカウンタ
２５    例外エラーカウンタ
【図１】
2011188322.tif 000003
【図２】
2011188322.tif 000004
【図３】
2011188322.tif 000005
【図４】
2011188322.tif 000006
【図５】
2011188322.tif 000007
【図６】
2011188322.tif 000008