"複数のスレーブ局とネットワークを介して接続され、前記ネットワーク上での論理リングを管理し、前記スレーブ局との間で所定の通信周期で前記スレーブ局との間で通信を行う通信装置において、前記スレーブ局との間で通信を行う通信手段と、前記各スレーブ局に対して遅延時間測定用フレームを前記通信手段を介して送信し、前記各スレーブ局からの前記遅延時間測定用フレームに対する応答フレームを前記通信手段を介して受信するとともに、前記遅延時間測定用フレームを送信してから前記応答フレームを受信するまでの間の経過時間を測定し、前記経過時間の1/2を前記スレーブ局の遅延時間として算出する遅延時間測定手段と、前記遅延時間測定手段で算出された前記遅延時間と、前記スレーブ局について過去に算出された前記遅延時間を平均した遅延判定値と、を比較して前記スレーブ局に遅延が発生しているかを前記各スレーブ局について判定し、前記スレーブ局に遅延が発生している場合に、前記ネットワークでの当該通信装置と前記複数のスレーブ局との間の接続状態を示す接続構成情報を用いて遅延要素の位置を特定する遅延検出手段と、を備えることを特徴とする通信装置。前記接続構成情報に基づく当該通信装置と前記複数のスレーブ局との間の接続状態図上に、前記遅延要素の位置を表示する表示手段をさらに備えることを特徴とする請求項1に記載の通信装置。前記遅延要素の位置である前記スレーブ局、または前記遅延要素の位置に近い前記スレーブ局が有する警告表示手段に、前記遅延要素の発生を示す警告表示を行う出力手段をさらに備えることを特徴とする請求項1に記載の通信装置。前記遅延検出手段は、前記遅延時間が前記遅延判定値から所定の量または割合だけ乖離した場合に、前記遅延時間を新しい前記遅延判定値として設定することを特徴とする請求項1~3のいずれか1つに記載の通信装置。前記ネットワークは、ライン型および/またはスター型であることを特徴とする請求項1~4のいずれか1つに記載の通信装置。管理局と複数のスレーブ局とがネットワークを介して接続され、前記管理局が前記ネットワーク上での論理リングを管理し、前記スレーブ局との間で所定の通信周期で通信を行う通信システムでの通信方法において、前記管理局が、前記スレーブ局に対して遅延時間測定用フレームを送信し、計時を開始する計測用フレーム送信工程と、前記スレーブ局が、前記遅延時間測定用フレームに対する応答フレームを送信する応答フレーム送信工程と、前記管理局が、前記応答フレームを受信し、前記遅延時間測定用フレームの送信から前記応答フレームの受信までの経過時間の計時を終了する応答フレーム受信工程と、前記経過時間の1/2を前記スレーブ局の遅延時間として算出する遅延時間算出工程と、算出された前記遅延時間と、前記スレーブ局について過去に算出された前記遅延時間を平均した遅延判定値と、を比較して前記スレーブ局に遅延が発生しているかを前記各スレーブ局について判定する遅延判定工程と、前記スレーブ局に遅延が発生している場合に、前記ネットワークでの前記管理局と前記複数のスレーブ局との間の接続状態を示す接続構成情報を用いて遅延要素の位置を特定する遅延要素特定工程と、を含み、前記計測用フレーム送信工程から前記遅延要素特定工程までの処理を前記各スレーブ局に対して行うことを特徴とする通信方法。前記接続構成情報に基づく当該通信装置と前記複数のスレーブ局との間の接続状態図上に、前記遅延要素の位置を表示する表示工程をさらに含むことを特徴とする請求項6に記載の通信方法。前記遅延要素の位置である前記スレーブ局、または前記遅延要素の位置に近い前記スレーブ局が有する警告表示手段に、前記遅延要素の発生を示す警告表示を行う出力工程をさらに含むことを特徴とする請求項6に記載の通信方法。前記遅延判定工程では、前記遅延時間が前記遅延判定値から所定の量または割合だけ乖離した場合に、前記遅延時間を新しい前記遅延判定値として設定することを特徴とする請求項6~8のいずれか1つに記載の通信方法。前記ネットワークは、ライン型および/またはスター型であることを特徴とする請求項6~9のいずれか1つに記載の通信方法。上記従来の技術では、ネットワーク上のいずれかのスレーブ局が故障したり、ハブが追加されたりなどして、想定外の遅延が発生した場合に、それによる遅延を考慮しないまま同期フレームが送出されると、管理局から見て故障したスレーブ局以降のスレーブ局、または追加されたハブ以降のスレーブ局に同期フレームの到達する時間が遅れることによって、同期時刻が合わなくなる同期外れ事象が発生する。しかし、このような想定外の遅延要素がネットワークに発生した場合の発生箇所を特定することができないという問題点があった。この発明は上記に鑑みてなされたもので、管理局と複数のスレーブ局とが伝送路を介して接続され、複数のスレーブ局間で同期を取りながら通信を行う通信システムで、想定外の遅延の発生を検出するとともに、遅延要素の発生箇所を特定することができる通信装置および通信方法を得ることを目的とする。上記目的を達成するため、この発明にかかる通信装置は、複数のスレーブ局とネットワークを介して接続され、前記ネットワーク上での論理リングを管理し、前記スレーブ局との間で所定の通信周期で前記スレーブ局との間で通信を行う通信装置において、前記スレーブ局との間で通信を行う通信手段と、前記各スレーブ局に対して遅延時間測定用フレームを前記通信手段を介して送信し、前記各スレーブ局からの前記遅延時間測定用フレームに対する応答フレームを前記通信手段を介して受信するとともに、前記遅延時間測定用フレームを送信してから前記応答フレームを受信するまでの間の経過時間を測定し、前記経過時間の1/2を前記スレーブ局の遅延時間として算出する遅延時間測定手段と、前記遅延時間測定手段で算出された前記遅延時間と、前記スレーブ局について過去に算出された前記遅延時間を平均した遅延判定値と、を比較して前記スレーブ局に遅延が発生しているかを前記各スレーブ局について判定し、前記スレーブ局に遅延が発生している場合に、前記ネットワークでの当該通信装置と前記複数のスレーブ局との間の接続状態を示す接続構成情報を用いて遅延要素の位置を特定する遅延検出手段と、を備えることを特徴とする。この発明によれば、スレーブ局の遅延時間が過去に測定した平均遅延時間に比べて大きい場合に、遅延要素が発生していると判定し、その箇所を接続構成情報を用いて特定するようにしたので、ネットワーク上にスレーブ局の故障や追加によって、想定外の遅延が発生した場合でも、その遅延要素がどの場所で発生したかを即座に判断することができるという効果を有する。以下に添付図面を参照して、この発明にかかる通信装置および通信方法の好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。図1は、この発明の実施の形態による通信システムの構成の一例を模式的に示す図である。通信システムは、1台の管理局10と複数台のスレーブ局3030A~30Dとが伝送路50で接続され、ネットワークを構成している。この例では、管理局10に4台のスレーブ局30A~30Dがライン状に接続されている。管理局10はネットワーク上で通信権を与える順番論理リングを管理し、所定の通信周期で通信を行うように通信を管理している。管理局10は、たとえばスレーブ局30A~30Dに対してスレーブ局30A~30Dに接続される制御対象を駆動する制御データを所定の通信周期で送信し、スレーブ局30A~30Dは制御データに基づいて制御対象を制御するとともに、制御対象の制御状態を示す状態データを管理局10に所定の通信周期で送信する。図2は、実施の形態による管理局の構成の一例を模式的に示す図である。管理局10は、送信部11、受信部12、タイマ部13、接続構成情報記憶部14、フレーム処理部15、遅延時間測定部16、平均遅延時間算出部17、遅延時間記憶部18、遅延検出部19、出力部20およびこれらの各処理部を制御する制御部21を備える。送信部11は、フレーム処理部15によって生成されるフレームや遅延時間測定部16によって生成される遅延時間測定用フレーム以下、測定用フレームというを送信し、受信部12は、自装置宛てのフレームを受信する。これらの送信部11と受信部12とは通信手段を構成する。タイマ部13は、各スレーブ局30A~30Dの伝送遅延時間以下、遅延時間というの測定の際に用いられ、測定用フレームの送信時に起動され、遅延時間測定用応答フレーム以下、応答フレームというの受信時に停止される。接続構成情報記憶部14は、通信システムにおける各通信装置の接続構成情報ネットワークトポロジ情報を記憶する。たとえば、図1に示される通信システムでは、管理局10にスレーブ局30Aが接続され、スレーブ局30Aにはスレーブ局30Bが接続され、スレーブ局30Bにはスレーブ局30Cが接続され、そしてスレーブ局30Cにはスレーブ局30Dが接続されていることを示す接続構成情報が記憶される。フレーム処理部15は、スレーブ局30A~30Dに対して送信するフレームを生成して送信部11に出力し、受信部12で受信されたフレーム内のデータをたとえば他の処理部が使用可能な状態にする受信処理を行う。通常処理時においては、各スレーブ局30A~30Dに対して所定の通信周期で制御データなどを含む同期フレームを生成し、各スレーブ局30A~30Dから受信したフレームから状態データを取得する。遅延時間測定部16は、各スレーブ局30A~30Dの遅延時間を測定する。具体的には、測定用フレームを生成し、送信部11から1つのスレーブ局30に送信する際にタイマ部13での計時をスタートさせる。そして、スレーブ局30での測定用フレームに対する応答である応答フレームの受信部12での受信時にタイマ部13での計時を止め、タイマ部13で計時されたタイマ値の1/2の値をそのスレーブ局30の遅延時間とする。そして、この処理を接続構成情報記憶部14の接続構成情報に基づいてネットワークに存在する全てのスレーブ局30A~30Dに対して順に実行する。平均遅延時間算出部17は、遅延時間測定部16によって過去に算出された遅延時間を用いて、各スレーブ局30A~30Dの遅延判定値となる平均遅延時間を算出し、遅延時間記憶部18に記憶する。また、遅延時間記憶部18は、スレーブ局30A~30Dと平均遅延時間とを対応付けた平均遅延時間情報を記憶する。平均遅延時間として、たとえば通信システムの始動時に所定の回数分の遅延時間測定処理を行った結果の平均値を用い、その後に通信システムの初期化処理が行われるまでの間これを固定的に用いるようにしてもよい。この場合には、つぎに通信システムが初期化されるまで平均遅延時間は更新されない。また、平均遅延時間として、現在から、過去の決められた回数分の測定した遅延時間の平均値を求めるようにしてもよい。この場合の回数の決定方法として、遅延時間の長さに応じて回数を可変としてもよいし、計算によって求められた平均値の変動量に応じて回数を可変としてもよい。この場合には、たとえば平均遅延時間情報には、平均遅延時間とともに、所定の回数分の遅延時間の測定結果がスレーブ局30A~30Dに対応付けられて記憶される。また、平均遅延時間は、測定が実行されるたびに更新されることになる。さらに、平均遅延時間として、予め決められた時刻からスタートして、そこから測定した回数分の平均値を用いるようにしてもよい。ここで、決められた時刻とは、ネットワークの全てのスレーブ局30A~30Dが動作を開始する時刻としてもよいし、またいずれかのスレーブ局30A~30Dから想定外の遅延が発生したことを検出した時刻としてもよい。遅延検出部19は、遅延時間測定部16によって算出された遅延時間と、遅延時間記憶部18に記憶された平均遅延時間と、を比較してネットワークに遅延要素が発生したかを判定し、遅延要素の発生を検出した場合には、その場所を特定する。具体的には、遅延時間が平均遅延時間に対して所定の割合だけずれている場合に、遅延が発生していると判定する。また、各スレーブ局30A~30Dの遅延の発生の有無と、スレーブ局30A~30Dの接続状態を示す接続構成情報とから、遅延要素の発生箇所を特定する。なお、遅延と判定する場合に、遅延時間が平均遅延時間からどの程度乖離しているかについては、ネットワークごとに設定され、遅延要素が発生したと判定する基準を、たとえば平均遅延時間の10変化した場合としたり、50変化した場合としたりすることができる。また、ずれの割合で遅延を検出するのではなく、遅延時間と平均遅延時間との差が所定の値以上ある場合に、遅延が発生していると判定してもよい。出力部20は、遅延検出部19によって遅延要素の発生が検出された場合に警告を出力する。たとえば、LEDLightEmittingDiodeのような表示機能警告表示手段を管理局10に設け、点灯させてもよいし、遅延要素が発生した箇所に近いスレーブ局30A~30Dの警告表示手段としてのLEDまたは遅延要素が発生したスレーブ局30A~30Dの警告表示手段としてのLEDに点灯させてもよい。さらに、それぞれのLEDを同時に点灯させてもよい。さらにまた、出力部20が表示装置で構成される場合には、接続構成情報から得られる各通信装置の接続関係を表示させるとともに、遅延要素の発生箇所を通信装置の接続関係上に重ねて表示させてもよい。この通信システムで使用されるスレーブ局30A~30Dは、測定用フレームを受信すると直ちに応答フレームを管理局10宛てに返信する以外は、通常の同期通信を実現させるために用いられるスレーブ局30A~30Dの構成と同様であるので、その説明を省略する。つぎに、この通信システムにおける処理について説明する。以下では、遅延時間測定処理、平均遅延時間算出処理、遅延検出処理の順に説明を行う。<遅延時間測定処理>図3は、遅延時間測定処理の手順の一例を示すフローチャートである。まず、管理局10の遅延時間測定部16は、接続構成情報記憶部14の接続構成情報から1つのスレーブ局30を選択しステップS11、そのスレーブ局30宛てに測定用フレームを生成するステップS12。そして、送信部11から測定用フレームを送信すると同時に、遅延時間測定部16は、タイマ部13で計時を開始するステップS13。スレーブ局30では、測定用フレームを受信するとステップS14、管理局10に対して即座に応答フレームを送信するステップS15。管理局10の受信部12は、ステップS13で測定用フレームを送信したスレーブ局30からの応答フレームを受信すると同時に、遅延時間測定部16は、タイマ部13での計時を停止するステップS16。その後、遅延時間測定部16は、停止したタイマ部13のタイマ値の1/2の値をステップS11で選択したスレーブ局30の遅延時間として算出するステップS17。算出された遅延時間はたとえば遅延時間記憶部18にスレーブ局30に対応付けて記憶されるステップS18。このとき、タイマ値がリセットされる。その後、管理局10の遅延時間測定部16は、ネットワーク中の全てのスレーブ局30に対して遅延時間を測定したかを判定しステップS19、全てのスレーブ局30に対して遅延時間を測定していない場合ステップS19でNoの場合には、ステップS11へと戻り、上述した処理が繰り返し実行される。また、全てのスレーブ局30に対して遅延時間を測定した場合には、処理が終了する。図4は、遅延時間測定処理の概要を示す図である。たとえば、図1に示されるネットワーク構成の場合には、図4に示されるように遅延時間の測定処理を行う。すなわち、管理局10は、最初にスレーブ局30Aを選択し、スレーブ局30Aに対して測定用フレーム110を送信すると同時にタイマ部13による計時を開始する。スレーブ局30Aは測定用フレーム110を受信すると、管理局10に対して即座に応答フレーム111を送信する。管理局10は、応答フレーム111を受信するとタイマ部13による計時を停止する。そして、タイマ値の1/2をスレーブ局30Aの遅延時間として算出し、記憶する。ついで、管理局10は、スレーブ局30Bを選択し、同様に管理局10とスレーブ局30Bとの間で測定用フレーム112と応答フレーム113を用いてスレーブ局30Bの遅延時間を算出し、記憶する。その後、管理局10は、スレーブ局30C,30Dを順に選択し、同様にしてスレーブ局30C,30Dの遅延時間を算出し、記憶する。スレーブ局30Dの遅延時間を記憶した後、ネットワークには他のスレーブ局が存在しないので、管理局10は、遅延時間の測定処理を終了する。<平均遅延時間算出処理>ここでは、通信システムの初期化処理後に平均遅延時間の算出処理を行う場合のように、予め決められた回数の遅延時間測定処理を行った後に平均遅延時間を算出する場合を例に挙げて説明する。図5は、平均遅延時間算出処理の手順の一例を示すフローチャートである。まず、管理局10の遅延時間測定部16は、遅延時間測定処理を行うステップS31。この遅延時間測定処理は、図3のフローチャートに示した処理である。ついで、管理局10の遅延時間測定部16は、所定の回数分の遅延時間測定処理を行ったかを判定するステップS32。所定の回数分の遅延時間測定処理が行われていない場合ステップS32でNoの場合には、遅延時間測定部16はステップS31へと戻る。また、所定の回数分の遅延時間測定処理が行われた場合ステップS32でYesの場合には、平均遅延時間算出部17は、各スレーブ局30に対して、遅延時間記憶部18に記憶された所定の回数分の遅延時間の平均値をとり、平均遅延時間を算出するステップS33。そして、平均遅延時間をスレーブ局30に対応付けて遅延時間記憶部18に記憶してステップS34、平均遅延時間算出処理が終了する。<遅延検出処理>図6は、遅延検出処理の手順の一例を示すフローチャートである。まず、管理局10の遅延時間測定部16は、遅延時間測定処理を行うステップS51。この遅延時間測定処理は、図3のフローチャートに示した処理である。ついで、遅延検出部19は、接続構成情報記憶部14の接続構成情報から1つのスレーブ局30を選択しステップS52、そのスレーブ局30について遅延時間測定処理で算出した遅延時間と、遅延時間記憶部18中の平均遅延時間とを比較し、想定外の遅延が発生しているかを判定するステップS53。想定外の遅延が発生していない場合ステップS53でNoの場合には、そのスレーブ局30は正常状態であると判断するステップS54。一方、想定外の遅延が発生している場合ステップS53でYesの場合には、そのスレーブ局30では想定外の遅延が発生しているものとするステップS55。その後またはステップS54の後、全てのスレーブ局30について遅延検出処理を行ったかを判定しステップS56、全てのスレーブ局30について遅延検出処理を行っていない場合ステップS56でNoの場合には、ステップS51へと戻る。また、全てのスレーブ局30について遅延検出処理を行った場合ステップS56でYesの場合には、想定外の遅延が検出されたスレーブ局30が1つでもあったかを判定するステップS57。想定外の遅延が検出されたスレーブ局30が1つもない場合ステップS57でNoの場合には、通信システムでは同期外れが生じるほどの想定外の遅延は発生していない正常状態であると判定するステップS58。その後、前回測定用フレームを送信してから所定の時間が経過したかを判定しステップS59、所定の時間が経過していない場合ステップS59でNoの場合には、待ち状態となる。また、所定の時間が経過した場合ステップS59でYesの場合には、ステップS51へと処理が戻る。一方、ステップS57で想定外の遅延が検出されたスレーブ局が1つでもある場合ステップS57でYesの場合には、通信システムでは同期外れが生じるほどの想定外の遅延が発生している状態であると判定するステップS60。その後、遅延検出部19は、接続構成情報記憶部14の接続構成情報を用いて、遅延要素の位置を特定するステップS61。たとえば、接続構成情報上で、想定外の遅延が検出されたスレーブ局30と想定外の遅延が検出されなかったスレーブ局30との境界で遅延要素が存在する、あるいはその境界に最も近い、想定外の遅延が検出されたスレーブ局30に遅延要素が存在すると考えられる。その後、遅延検出部19は、遅延要素に近いスレーブ局30の位置情報を出力するステップS62。たとえば、上記の例では、上記境界を挟んだ想定外の遅延が検出されたスレーブ局30と想定外の遅延が検出されなかったスレーブ局30が遅延要素に近いスレーブ局30として取得される。そして、管理局10の出力部20は、自装置に設けられたLEDなどの警告表示灯を点灯させたり、想定外の遅延が検出されたスレーブ局30に設けられたLEDなどの警告表示灯を点灯させたり、あるいは自装置に設けられた液晶表示装置などの表示手段に接続構成情報に基づく接続状態図を表示し、その上に遅延要素の発生箇所を重ねて表示させたりすることができる。以上によって、遅延検出処理が終了する。なお、想定外の遅延を検出した場合において、管理局10の遅延検出部19は、通信システムでの通信を停止するようにしてもよいし、遅延が発生したと判定されるスレーブ局30に対してステップS51で算出された遅延時間を新たな平均遅延時間として、遅延時間記憶部18に記憶し、その値を基に遅延検出処理を行うようにしてもよい。また、遅延検出部19は、接続構成情報を用いて、管理局10に近いスレーブ局30から順に遅延時間測定処理を行うようにすることで、効率よく遅延要素の発生箇所を特定することができる。図7は、ネットワーク上に遅延要素が発生した場合の通信システムの動作の一例を模式的に示す図である。ここでは、図1の通信システムでスレーブ局30Bとスレーブ局30Cの間に何らかの遅延要素140が発生したものとする。つまり、管理局10がスレーブ局30A,30Bにそれぞれ測定用フレーム110,112を送信してから応答フレーム111,113を受信するまでの時間を測定することによって計算した遅延時間が、遅延時間記憶部18に記憶されたスレーブ局30A,30Bの平均遅延時間と比較して、所定の範囲内に収まっている。一方、管理局10がスレーブ局30C,30Dにそれぞれ測定用フレーム114,116を送信してから応答フレーム115,117を受信するまでの時間を測定することによって計算した遅延時間が、遅延時間記憶部18に記憶されたスレーブ局30C,30Dの平均遅延時間と比較して、所定の範囲から大きく外れていることを検出する。このとき、スレーブ局30Bでは想定外の遅延が発生しておらず、スレーブ局30Cで想定外の遅延が発生しているので、遅延要素140はスレーブ局30Bとスレーブ局30Cとの間の伝送路50上、またはスレーブ局30Cで発生したものと判断する。そして、出力部20に遅延要素140が発生したことを示す警告を出力する。たとえば管理局10に設けられた警告表示灯150を点灯させるようにしてもよいし、遅延要素140の発生箇所に近いスレーブ局30Bおよび/またはスレーブ局30Cに設けられた警告表示灯151,152を点灯させるようにしてもよい。なお、上記した例では、ライン状に管理局10とスレーブ局30A~30Dが接続されたネットワーク構成について説明したが、この発明がこれに限定されるものではなく、スター型のネットワークやライン型とスター型とが混在したネットワークに対しても適用することができる。図8は、ライン型とスター型とが混在したネットワーク上に遅延要素が発生した場合の通信システムの動作の一例を模式的に示す図である。この例では、図1のネットワークで、スレーブ局30Aとスレーブ局30Bとの間にハブ60が設けられ、このハブ60にスレーブ局30E~30Gがライン状にさらに接続される例が示されている。遅延時間の測定処理は、スレーブ局30A~30Dに対しては、図4や図7で説明したものと同様に行われた後、スレーブ局30E~30Gに対しては、それぞれ測定用フレーム120,122,124とその応答フレーム121,123,125をやり取りすることによって遅延時間の測定処理が順に行われる。そして、ここでは、スレーブ局30Eとスレーブ局30Fの間に何らかの遅延要素141が発生したものとする。つまり、管理局10がスレーブ局30Eに測定用フレーム120を送信してから応答フレーム121を受信するまでの時間を測定することによって計算した遅延時間が、遅延時間記憶部18に記憶されたスレーブ局30Eの平均遅延時間と比較して、所定の範囲内に収まっている。しかし、管理局10がスレーブ局30Fに測定用フレーム122を送信してから応答フレーム123を受信するまでの時間を測定することによって計算した遅延時間が、遅延時間記憶部18に記憶されたスレーブ局30Fの平均遅延時間と比較して、所定の範囲から大きく外れていることを検出する。このとき、スレーブ局30Eでは想定外の遅延が発生しておらず、スレーブ局30Fで想定外の遅延が発生しているので、遅延要素141はスレーブ局30Eとスレーブ局30Fとの間の伝送路50上、またはスレーブ局30Fで発生したものと判断する。そして、出力部20に遅延要素141が発生したことを示す警告を出力する。たとえば管理局10に設けられた警告表示灯150を点灯させるようにしてもよいし、遅延要素141の発生箇所に近いスレーブ局30Eおよび/またはスレーブ局30Fに設けられた警告表示灯153,154を点灯させるようにしてもよい。この実施の形態によれば、ネットワーク上にスレーブ局30の故障や追加によって、想定外の遅延が発生した場合でも、その遅延要素がどの場所で発生したかを即座に判断することができ、警告表示によって視覚的に遅延要素の発生箇所を明示することができるという効果を有する。"