Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2017154180) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND METHOD FOR DETECTING COMMUNICATION FAULT
Document

明 細 書

発明の名称 通信装置、通信システムおよび通信障害検出方法

技術分野

0001  

背景技術

0002  

先行技術文献

特許文献

0003  

発明の概要

発明が解決しようとする課題

0004   0005  

課題を解決するための手段

0006  

発明の効果

0007  

図面の簡単な説明

0008  

発明を実施するための形態

0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090  

符号の説明

0091  

請求の範囲

1   2   3   4   5   6   7   8   9  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21  

明 細 書

発明の名称 : 通信装置、通信システムおよび通信障害検出方法

技術分野

[0001]
 本発明は、通信システムにおいて通信障害を検出する通信装置、通信システムおよび通信障害検出方法に関する。

背景技術

[0002]
 従来、ネットワークを構成する通信システムおいて、ネットワーク内の各ノードが通信可能な状態にあるのか否かを検出する技術が提案されている。特許文献1では、トークンパッシング方式のループ状ネットワークにおいて、通信障害を検出する技術が開示されている。送信権を管理する送信権管理ノードは、設定された時間内にトークンフレームを受信しない場合に通信障害を検出する。

先行技術文献

特許文献

[0003]
特許文献1 : 特開平9-298552号公報

発明の概要

発明が解決しようとする課題

[0004]
 しかしながら、上記従来の技術によれば、ネットワーク内のノード数が多くなる程、設定された時間を長くする必要がある。そのため、ノード数の増加によって通信障害を検出するまでの時間が長くなる、という問題があった。
[0005]
 本発明は、上記に鑑みてなされたものであって、通信システムを構成する通信装置の数によらず、通信障害検出時間の増加を抑えることができる通信装置を得ることを目的とする。

課題を解決するための手段

[0006]
 上述した課題を解決し、目的を達成するために、本発明は、送信権を持つ通信装置がフレームを送信する通信システムにおける通信装置である。通信装置は、受信したフレームから、受信したフレームの送信元の通信装置である隣接通信装置が次にフレームを送信するまでの間隔を示す送信間隔の情報を抽出する受信部を備える。また、通信装置は、隣接通信装置から連続して送信されるフレームの受信間隔を計測する受信間隔計測部を備える。また、通信装置は、受信間隔と送信間隔の情報とを比較して、受信間隔の方が大きい場合、隣接通信装置との間の通信において通信障害が発生したことを検出する通信障害検出部を備えることを特徴とする。

発明の効果

[0007]
 本発明にかかる通信装置は、通信システムを構成する通信装置の数によらず、通信障害検出時間の増加を抑えることができる、という効果を奏する。

図面の簡単な説明

[0008]
[図1] 実施の形態1にかかる通信システムの構成例を示す図
[図2] 実施の形態1にかかる通信システムにおいて通信障害を検出した端末ノードの動作の例を示す図
[図3] 実施の形態1にかかるノード間で送受信されるトークンフレームのフォーマットの例を示す図
[図4] 実施の形態1にかかるノード間で送受信されるデータフレームのフォーマットの例を示す図
[図5] 実施の形態1にかかるノード間で送受信される障害検出フレームのフォーマットの例を示す図
[図6] 実施の形態1にかかる送信権管理ノードの構成例を示すブロック図
[図7] 実施の形態1にかかる送信権管理ノードの受信間隔計測部において受信間隔を計測する動作を示すフローチャート
[図8] 実施の形態1にかかる送信権管理ノードの通信障害検出部において通信障害を検出する動作を示すフローチャート
[図9] 実施の形態1にかかる送信権管理ノードの通信障害検出部において通信障害を検出する詳細動作を示すフローチャート
[図10] 実施の形態1にかかる端末ノードの構成例を示すブロック図
[図11] 実施の形態1にかかる端末ノードの受信間隔計測部において受信間隔を計測する動作を示すフローチャート
[図12] 実施の形態1にかかる端末ノードの通信障害検出部において通信障害を検出する動作を示すフローチャート
[図13] 実施の形態1にかかる端末ノードの通信障害検出部において通信障害を検出する詳細動作を示すフローチャート
[図14] 実施の形態1にかかる受信間隔計測部においてタイマによる受信間隔の計測を制御する機能、通信障害検出部、トークン再送信制御部、送信権制御部を専用のハードウェアで構成する場合の例を示す図
[図15] 実施の形態1にかかる受信間隔計測部においてタイマによる受信間隔の計測を制御する機能、通信障害検出部、トークン再送信制御部、送信権制御部をCPUおよびメモリで構成する場合の例を示す図
[図16] 実施の形態2にかかる送信権管理ノードの受信間隔計測部において受信間隔を計測する動作を示すフローチャート
[図17] 実施の形態2にかかる送信権管理ノードの通信障害検出部において通信障害を検出する動作を示すフローチャート
[図18] 実施の形態2にかかる送信権管理ノードの通信障害検出部において通信障害を検出する詳細動作を示すフローチャート
[図19] 実施の形態2にかかる端末ノードの受信間隔計測部において受信間隔を計測する動作を示すフローチャート
[図20] 実施の形態2にかかる端末ノードの通信障害検出部において通信障害を検出する動作を示すフローチャート
[図21] 実施の形態2にかかる端末ノードの通信障害検出部において通信障害を検出する詳細動作を示すフローチャート

発明を実施するための形態

[0009]
 以下に、本発明の実施の形態にかかる通信装置、通信システムおよび通信障害検出方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
[0010]
実施の形態1.
 図1は、本発明の実施の形態1にかかる通信システム6の構成例を示す図である。通信システム6は、送信権管理ノード1と、端末ノード2A,2B,2C,2Dと、を備える。以降の説明において、端末ノード2A~2Dを区別しない場合は、端末ノード2と称することがある。また、送信権管理ノード1および端末ノード2A~2Dをまとめてノードと称することがある。各ノードにおいて、自ノードと隣接しているノードを隣接ノードとする。図1の例では、端末ノード2の数を4つとしているが、一例であり、3つ以下または5つ以上でもよい。
[0011]
 送信権管理ノード1は、通信障害などで通信システム6からトークンフレーム3が喪失した場合にトークンフレーム3を再送信する通信装置である。端末ノード2は、自ノードまたは自ノードと接続する計測器により計測されたセンサ情報、または各ノードへの制御データなどのデータをデータフレーム4により送受信する通信装置である。通信システム6において、例えば、送信権管理ノード1はセンサ情報を収集するマスタの通信装置であり、端末ノード2はセンサ情報を送信権管理ノード1へ向けて送信するスレーブの通信装置である。
[0012]
 トークンフレーム3は、通信システム6内を巡回するフレームである。データフレーム4は、センサ情報、または制御データなどのデータを格納するフレームである。以降の説明において、トークンフレーム3、データフレーム4、および後述する障害検出フレームをまとめてフレームと称することがある。
[0013]
 通信システム6は、送信権を持つノードがフレームを送信するネットワークを構成する。通信システム6は、例えば、トークンフレーム3を受けたノードがフレームを送信するトークンパッシング方式のネットワークを構成する。通信システム6では、送信権管理ノード1がネットワーク内にトークンフレーム3を送信し、トークンフレーム3を受けた端末ノード2または送信権管理ノード1がデータフレーム4の送信権を得る。図1に示す通信システム6については、各ノード間をイーサネット(登録商標)などによる有線接続のネットワークを想定しているが、一例であり、各ノード間を無線接続する形態であってもよい。
[0014]
 トークンフレーム3を受けた端末ノード2は、送信権を得てデータフレーム4を送信し、データフレーム4の送信が完了すると、トークンフレーム3を次のノードへ送信する。端末ノード2は、トークンフレーム3の受信順に送信権を獲得し、ノード間の通信を実現している。図1に示す通信システム6の例では、トークンフレーム3、すなわちデータフレーム4を送信できる送信権は、送信権管理ノード1→端末ノード2A→端末ノード2B→端末ノード2C→端末ノード2D→送信権管理ノード1の順に巡回するものとする。
[0015]
 通信システム6では、例えば、トークンフレーム3を受けた端末ノード2Aは、自ノードで取得したセンサ情報をデータフレーム4により端末ノード2Bへ送信する。端末ノード2Aは、データフレーム4の送信完了後、トークンフレーム3を端末ノード2Bへ送信する。トークンフレーム3を受けた端末ノード2Bは、自ノードで取得したセンサ情報および端末ノード2Aから受信した端末ノード2Aで取得されたセンサ情報をデータフレーム4により端末ノード2Cへ送信する。端末ノード2Bは、データフレーム4の送信完了後、トークンフレーム3を端末ノード2Cへ送信する。トークンフレーム3を受けた端末ノード2Cは、自ノードで取得したセンサ情報および端末ノード2Bから受信した端末ノード2A,2Bで取得されたセンサ情報をデータフレーム4により端末ノード2Dへ送信する。端末ノード2Cは、データフレーム4の送信完了後、トークンフレーム3を端末ノード2Dへ送信する。トークンフレーム3を受けた端末ノード2Dは、自ノードで取得したセンサ情報および端末ノード2Cから受信した端末ノード2A,2B,2Cで取得されたセンサ情報をデータフレーム4により送信権管理ノード1へ送信する。端末ノード2Dは、データフレーム4の送信完了後、トークンフレーム3を送信権管理ノード1へ送信する。このように端末ノード2がセンサ情報を送信することにより、送信権管理ノード1では、各端末ノード2からのセンサ情報を収集することができる。
[0016]
 なお、通信システム6では、各ノードがフレームに格納可能なデータのデータサイズには最大値が設定されているものとする。そのため、最大値よりも大きいデータを送信したいノードは、データを最大値よりも小さいデータサイズに分割し、分割した各データを複数のフレームに格納して送信する。すなわち、各ノードは、分割されたデータが格納された複数のフレームを連続して送信することで、所望のデータサイズのデータを送信することができる。
[0017]
 本実施の形態は、ノード間で複数のデータフレーム4を連続して送受信する場合の通信において、隣接ノードからデータフレーム4を受信するノードが、隣接ノードとの間の通信障害を検出するものである。
[0018]
 図2は、実施の形態1にかかる通信システム6において通信障害を検出した端末ノード2Bの動作の例を示す図である。端末ノード2間で正常に通信が行われている場合、図1に示すように、送信権を持つ端末ノード2のみがフレームの送信を行う。一方で、端末ノード2間の通信で通信障害が発生した場合、図2に示すように、通信障害を検出した端末ノード2、ここでは端末ノード2Bが、通信障害を検出したことを通知するためフレームである障害検出フレーム5を全てのノードに対して送信、すなわち障害検出フレーム5をブロードキャストで送信する。
[0019]
 障害検出フレーム5を受信した端末ノード2は、障害検出フレーム5を隣接する端末ノード2または送信権管理ノード1へ転送する。このように、通信システム6内を障害検出フレーム5が転送されることによって、送信権管理ノード1は、障害検出フレーム5を受信することができる。送信権管理ノード1は、障害検出フレーム5を受信したことによって、通信システム6内で通信障害が発生したことを検出できるため、通信システム6内にトークンフレーム3を再送信する。通信障害を検出したノードが送信権管理ノード1であった場合、送信権管理ノード1は、障害検出フレーム5を送信することなく、通信システム6内にトークンフレーム3を再送信する。
[0020]
 具体的に、図1および図2の例では、端末ノード2Aから端末ノード2Bへフレームが送信されている場合、端末ノード2Bは、端末ノード2Aから送信されてくるデータフレーム4が遅延しているなどの理由で端末ノード2A,2B間で通信障害を検出すると、障害検出フレーム5をブロードキャストで送信する。端末ノード2Bから障害検出フレーム5を受信した端末ノード2Cは、障害検出フレーム5をブロードキャストで転送する。端末ノード2Cから障害検出フレーム5を受信した端末ノード2Dは、障害検出フレーム5をブロードキャストで転送する。これにより、送信権管理ノード1は、端末ノード2Bから送信された障害検出フレーム5を、端末ノード2C,2D経由で受信することができる。
[0021]
 なお、図1および図2に示す通信システム6の構成はリング型のネットワーク構成であるが、一例であり、論理的にトークンフレーム3が巡回する構成であれば、スター型またはバス型などのネットワーク構成でもよく、ネットワーク構成に依存しない。
[0022]
 ここで、各フレームのフォーマットについて説明する。各フレームのフォーマットは、IEEE(Institute of Electrical and Electronic Engineers)802.3などに規定されているイーサネットのフレームフォーマットと同様の構成である。
[0023]
 図3は、実施の形態1にかかるノード間で送受信されるトークンフレーム3のフォーマットの例を示す図である。トークンフレーム3は、宛先31、送信元32、フレームデータ長33、フレーム種別34、データ部35、チェックサム37の領域を含む。宛先31は、フレームの送信先ノードのアドレスである。送信元32は、フレームの送信元ノードのアドレスである。フレームデータ長33は、フレーム全体の長さを示す。フレーム種別34は、フレームの種別、ここではトークンフレーム3を示す値となる。データ部35は、トークンフレーム3の経路情報などのデータが格納される。チェックサム37は、トークンフレーム3の宛先31からフレーム種別34のヘッダ部分から算出されるフレームの破損チェック用コードである。
[0024]
 図4は、実施の形態1にかかるノード間で送受信されるデータフレーム4のフォーマットの例を示す図である。データフレーム4は、宛先41、送信元42、フレームデータ長43、フレーム種別44、データ部45、送信間隔T2(46)、チェックサム47の領域を含む。宛先41は、フレームの送信先ノードのアドレスである。送信元42は、フレームの送信元ノードのアドレスである。フレームデータ長43は、フレーム全体の長さを示す。フレーム種別44は、フレームの種別、ここではデータフレーム4を示す値となる。データ部45は、センサ情報または制御データなどのデータが格納される。送信間隔T2(46)は、連続してフレームを送信するノードが次にフレームを送信するまでの送信間隔を示す。チェックサム47は、データフレーム4の宛先41からフレーム種別44のヘッダ部分から算出されるフレームの破損チェック用コードである。
[0025]
 図5は、実施の形態1にかかるノード間で送受信される障害検出フレーム5のフォーマットの例を示す図である。障害検出フレーム5は、宛先51、送信元52、フレームデータ長53、フレーム種別54、通信障害ノード番号55、通信障害箇所56、チェックサム57の領域を含む。宛先51は、フレームの送信先ノードのアドレス、ここではブロードキャストとなる。送信元52は、フレームの送信元ノードのアドレスである。フレームデータ長53は、フレーム全体の長さを示す。フレーム種別54は、フレームの種別、ここでは障害検出フレーム5を示す値となる。通信障害ノード番号55は、通信障害を検出したノードに隣接するノードの番号を示す。通信障害箇所56は、通信障害がノードで発生したのか通信経路で発生したのかを示す。チェックサム57は、障害検出フレーム5の宛先51からフレーム種別54のヘッダ部分から算出されるフレームの破損チェック用コードである。
[0026]
 つづいて、送信権管理ノード1の構成および動作について説明する。図6は、実施の形態1にかかる送信権管理ノード1の構成例を示すブロック図である。送信権管理ノード1は、受信部11と、記憶部12と、受信間隔計測部13と、通信障害検出部14と、トークン再送信制御部15と、送信権制御部16と、送信部17と、を備える。
[0027]
 受信部11は、隣接するノードからトークンフレーム3、データフレーム4、障害検出フレーム5などのフレームを受信する。受信部11は、各フレームからヘッダなどを除去してデータ部分を抽出する。
[0028]
 受信部11は、トークンフレーム3を受信した場合、トークンフレーム3からチェックサム37の情報およびヘッダ部分の情報を抽出して記憶部12に記憶させる。また、受信部11は、トークンフレーム3を受信した場合、トークンフレーム3を受信した旨を受信間隔計測部13および送信権制御部16へ通知する。
[0029]
 受信部11は、データフレーム4を受信した場合、データフレーム4から、データフレーム4の送信元のノードである隣接ノードが次にフレームを送信するまでの間隔を示す送信間隔T2(46)の情報、チェックサム47の情報、およびヘッダ部分の情報を抽出して記憶部12に記憶させる。また、受信部11は、データフレーム4を受信した場合、データフレーム4を受信した旨を受信間隔計測部13へ通知する。
[0030]
 受信部11は、障害検出フレーム5を受信した場合、障害検出フレーム5から通信障害ノード番号55および通信障害箇所56を抽出し、通信障害ノード番号55および通信障害箇所56をまとめて通信障害情報として受信間隔計測部13へ出力する。
[0031]
 記憶部12は、受信部11において受信したフレームから抽出された、送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報を記憶する。なお、記憶部12では、フレーム1つ分の送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報を記憶していればよい。そのため、受信部11は、記憶部12に送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報を記憶させる場合、既に記憶部12に送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報が記憶されているときは、上書きで送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報を更新する。
[0032]
 受信間隔計測部13は、隣接ノードから連続して送信されるフレームの受信間隔を計測する。隣接ノードから連続して送信される複数のフレームは、同一のフレームではなく、内容の異なるフレームとする。具体的に、受信間隔計測部13は、タイマを備えており、受信部11においてデータフレーム4またはトークンフレーム3が受信された場合、タイマを使用して前回フレームを受信してから今回フレームを受信するまでの受信間隔を示す受信間隔T1を計測する。また、受信間隔計測部13は、受信部11から通信障害情報が入力された場合は、通信障害情報を通信障害検出部14へ出力する。なお、受信間隔計測部13では、受信間隔T1を計測できるものであれば、タイマ以外のものを用いてもよい。
[0033]
 通信障害検出部14は、受信間隔計測部13で計測された受信間隔T1、記憶部12に記憶されている送信間隔T2(46)などの情報を用いて、自ノードである送信権管理ノード1と隣接ノードとの間の通信障害を検出する。具体的に、通信障害検出部14は、最新の受信間隔T1と前回受信したフレームから抽出された送信間隔T2(46)とを比較して、最新の受信間隔T1の方が大きい場合、隣接ノードとの間の通信において通信障害が発生したことを検出する。通信障害検出部14は、通信障害を検出した場合、記憶部12に記憶されているチェックサム37,47を用いて通信障害が発生した箇所を検出する。また、通信障害検出部14は、通信障害情報が入力された場合、隣接ノード以外のノードの通信障害を検出する。通信障害検出部14は、通信障害を検出した場合、トークン再送信制御部15へトークンフレーム3の再送信を指示する。また、通信障害検出部14は、通信障害を検出した場合、通信障害を検出した旨を送信権制御部16へ通知する。
[0034]
 トークン再送信制御部15は、通信障害検出部14で通信障害が検出された場合、通信障害検出部14からのトークンフレーム3の再送信の指示に基づいて、トークンフレーム3を再送信するための制御を行う。トークン再送信制御部15は、例えば、トークンフレーム3のデータ部35に格納されるトークンフレーム3の経路情報などのデータを送信部17へ出力する。
[0035]
 送信権制御部16は、受信部11からトークンフレーム3が受信された旨の通知を受けた場合、または通信障害検出部14において通信障害が検出された旨の通知を受けた場合、送信部17へフレームの送信を許可する制御を行う。また、送信権制御部16は、自ノードからデータフレーム4を連続して送信する場合、送信間隔T2(46)の情報を生成して送信部17に通知する。送信権制御部16は、自ノードから送信するデータフレーム4が1つの場合でも、次にトークンフレーム3を送信するので、送信間隔T2(46)の情報を生成して送信部17に通知する。
[0036]
 送信部17は、トークン再送信制御部15からトークンフレーム3の経路情報などのデータを取得した場合、トークン再送信制御部15の制御により、経路情報などのデータをデータ部35に格納したトークンフレーム3を生成して隣接ノードへ送信する。また、送信部17は、送信権制御部16から送信許可を受けている場合、図示しない制御部などから取得した制御データをデータ部45に格納し、送信間隔T2(46)を格納したデータフレーム4を生成して隣接ノードへ送信する。送信部17は、データ部35、データ部45および送信間隔T2(46)などのデータ部分にヘッダなどを付与してフレームを生成する。
[0037]
 つぎに、送信権管理ノード1の受信間隔計測部13の動作について詳細に説明する。図7は、実施の形態1にかかる送信権管理ノード1の受信間隔計測部13において受信間隔T1を計測する動作を示すフローチャートである。
[0038]
 受信間隔計測部13は、受信部11からフレーム受信の通知を受けると(ステップS1)、受信されたフレームが障害検出フレーム5か否かを確認する(ステップS2)。障害検出フレーム5の場合(ステップS2:Yes)、受信間隔計測部13は、受信部11から入力された障害検出フレーム5の通信障害情報を通信障害検出部14へ出力する(ステップS3)。障害検出フレーム5ではない場合(ステップS2:No)、受信間隔計測部13は、受信間隔T1を計測するためのタイマが動作中か否かを確認する(ステップS4)。タイマが動作していない場合(ステップS4:No)、受信間隔計測部13は、タイマを起動する(ステップS5)。
[0039]
 タイマが動作中の場合(ステップS4:Yes)、受信間隔計測部13は、タイマの値を計測、すなわち受信間隔T1を計測し(ステップS6)、計測した受信間隔T1の情報を通信障害検出部14へ通知する(ステップS7)。受信間隔計測部13は、受信されたフレームがトークンフレーム3か否かを確認する(ステップS8)。トークンフレーム3の場合(ステップS8:Yes)、受信間隔計測部13は、タイマを停止する(ステップS9)。トークンフレーム3ではない場合、すなわちデータフレーム4の場合(ステップS8:No)、受信間隔計測部13は、タイマをリセットして再起動する(ステップS10)。なお、受信間隔計測部13では、タイマを起動すると、トークンフレーム3を受信して(ステップS8:Yes)タイマを停止する(ステップS9)までは、タイマを継続して動作させているものとする。
[0040]
 つぎに、送信権管理ノード1の通信障害検出部14の動作について詳細に説明する。図8は、実施の形態1にかかる送信権管理ノード1の通信障害検出部14において通信障害を検出する動作を示すフローチャートである。
[0041]
 通信障害検出部14は、受信間隔計測部13からの通知により受信間隔T1の情報を取得する(ステップS11)。通信障害検出部14は、記憶部12から読み出して送信間隔T2(46)の情報を取得する(ステップS12)。通信障害検出部14は、記憶部12から読み出してチェックサム37,47の情報を取得する(ステップS13)。このとき、通信障害検出部14は、チェックサム37,47の確認用として記憶部12からヘッダ部分の情報も併せて取得する。通信障害検出部14は、受信部11で障害検出フレーム5が受信されていた場合、受信間隔計測部13経由で通信障害情報を取得する(ステップS14)。通信障害検出部14は、ステップS11~S14で取得した情報に基づいて通信障害を検出した場合(ステップS15:Yes)、トークン再送信制御部15へトークンフレーム3の再送信を指示する(ステップS16)。通信障害検出部14は、通信障害を検出しない場合(ステップS15:No)、処理を終了する。なお、受信部11で障害検出フレーム5が受信されていない場合はステップS14の処理を省略する。
[0042]
 つぎに、送信権管理ノード1の通信障害検出部14が通信障害を検出するステップS15の動作について詳細に説明する。図9は、実施の形態1にかかる送信権管理ノード1の通信障害検出部14において通信障害を検出する詳細動作を示すフローチャートである。
[0043]
 通信障害検出部14は、通信障害情報を取得している場合、すなわち受信部11において障害検出フレーム5が受信されている場合(ステップS21:Yes)、自ノードと隣接していないノード、すなわち隣接ノード以外のノードで通信障害が発生していることを検出する(ステップS22)。通信障害検出部14は、通信障害情報を確認することで、どの端末ノード2で通信障害が発生したかを検出することができる。
[0044]
 通信障害検出部14は、通信障害情報を取得していない場合、すなわち受信部11において障害検出フレーム5が受信されていない場合(ステップS21:No)、受信間隔T1と送信間隔T2(46)とを比較する(ステップS23)。受信間隔T1≦送信間隔T2(46)の場合(ステップS23:No)、通信障害検出部14は、隣接ノードとの間で通信障害は発生していないとして処理を終了する。
[0045]
 受信間隔T1>送信間隔T2(46)の場合(ステップS23:Yes)、通信障害検出部14は、隣接ノードとの間で通信障害が発生していることを検出する(ステップS24)。通信障害検出部14は、ヘッダ部分の情報を用いてチェックサムが正常か否かを確認する(ステップS25)。チェックサムが正常の場合(ステップS25:Yes)、通信障害検出部14は、隣接ノードと自ノードとの間の通信経路は異常無いとして、通信障害は隣接ノード本体の異常が原因であることを検出する(ステップS26)。チェックサムが異常の場合(ステップS25:No)、通信障害検出部14は、通信障害は隣接ノードと自ノードとの間の通信経路の異常が原因であることを検出する(ステップS27)。
[0046]
 図9のステップS23:Noの場合が図8のステップS15:Noに相当し、図9のその他の場合が図8のステップS15:Yesに相当する。
[0047]
 このように、送信権管理ノード1は、隣接ノードから取得した送信間隔T2(46)、および隣接ノードから受信したフレームの受信間隔T1に基づいて、隣接ノードとの間の通信障害を検出することができる。また、送信権管理ノード1は、隣接ノードとの間の通信障害を検出した場合、チェックサムを確認することで、通信障害箇所が隣接ノード本体か通信経路かを検出することができる。また、送信権管理ノード1は、障害検出フレーム5を受信することで、隣接ノード以外の端末ノード2における通信障害を検出することができる。
[0048]
 つづいて、端末ノード2の構成および動作について説明する。端末ノード2A~2Dは同一構成のため、端末ノード2Aを例にして説明する。図10は、実施の形態1にかかる端末ノード2Aの構成例を示すブロック図である。端末ノード2Aは、受信部21と、記憶部22と、受信間隔計測部23と、通信障害検出部24と、通信障害情報生成部25と、送信権制御部26と、送信部27と、を備える。
[0049]
 受信部21は、隣接するノードからトークンフレーム3、データフレーム4、障害検出フレーム5などのフレームを受信する。受信部21は、各フレームからヘッダなどを除去してデータ部分を抽出する。
[0050]
 受信部21は、トークンフレーム3を受信した場合、トークンフレーム3からチェックサム37の情報およびヘッダ部分の情報を抽出して記憶部22に記憶させる。また、受信部21は、トークンフレーム3を受信した場合、トークンフレーム3を受信した旨を受信間隔計測部23および送信権制御部26へ通知する。
[0051]
 受信部21は、データフレーム4を受信した場合、データフレーム4から、データフレーム4の送信元のノードである隣接ノードが次にフレームを送信するまでの間隔を示す送信間隔T2(46)の情報、チェックサム47の情報、およびヘッダ部分の情報を抽出して記憶部22に記憶させる。また、受信部21は、データフレーム4を受信した場合、データフレーム4を受信した旨を受信間隔計測部23へ通知する。
[0052]
 受信部21は、障害検出フレーム5を受信した場合、障害検出フレーム5を送信権制御部26経由で送信部27へ転送する。なお、受信部21は、障害検出フレーム5を直接送信部27へ転送するようにしてもよい。
[0053]
 記憶部22は、受信部21において受信したフレームから抽出された、送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報を記憶する。なお、記憶部22では、フレーム1つ分の送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報を記憶していればよい。そのため、受信部21は、記憶部22に送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報を記憶させる場合、既に記憶部22に送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報が記憶されているときは、上書きで送信間隔T2(46)の情報、チェックサム37,47の情報、およびヘッダ部分の情報を更新する。
[0054]
 受信間隔計測部23は、隣接ノードから連続して送信されるフレームの受信間隔を計測する。隣接ノードから連続して送信される複数のフレームは、同一のフレームではなく、内容の異なるフレームとする。具体的に、受信間隔計測部23は、タイマを備えており、受信部21においてデータフレーム4またはトークンフレーム3が受信された場合、タイマを使用して前回フレームを受信してから今回フレームを受信するまでの受信間隔を示す受信間隔T1を計測する。なお、受信間隔計測部23では、受信間隔T1を計測できるものであれば、タイマ以外のものを用いてもよい。
[0055]
 通信障害検出部24は、受信間隔計測部23で計測された受信間隔T1、記憶部22に記憶されている送信間隔T2(46)などの情報を用いて、自ノードである端末ノード2と隣接ノードとの間の通信障害を検出する。具体的に、通信障害検出部24は、最新の受信間隔T1と前回受信したフレームから抽出された送信間隔T2(46)とを比較して、最新の受信間隔T1の方が大きい場合、隣接ノードとの間の通信において通信障害が発生したことを検出する。通信障害検出部24は、通信障害を検出した場合、記憶部22に記憶されているチェックサム37,47を用いて通信障害が発生した箇所を検出する。通信障害検出部24は、通信障害を検出した場合、通信障害情報生成部25へ通信障害情報の生成を指示する。また、通信障害検出部24は、通信障害を検出した場合、通信障害を検出した旨を送信権制御部26へ通知する。
[0056]
 通信障害情報生成部25は、通信障害検出部24で通信障害が検出された場合、通信障害検出部24からの通信障害情報の生成の指示に基づいて、通信障害が検出されたノードを特定する情報である通信障害情報、すなわち障害検出フレーム5に格納される通信障害ノード番号55および通信障害箇所56を生成する。通信障害情報生成部25は、通信障害情報を送信部27へ出力する。
[0057]
 送信権制御部26は、受信部21からトークンフレーム3が受信された旨の通知を受けた場合、または通信障害検出部24において通信障害が検出された旨の通知を受けた場合、送信部27へフレームの送信を許可する制御を行う。また、送信権制御部26は、自ノードからデータフレーム4を連続して複数回送信する場合、送信間隔T2(46)の情報を生成して送信部27に通知する。送信権制御部26は、自ノードから送信するデータフレーム4が1つの場合でも、次にトークンフレーム3を送信するので、送信間隔T2(46)の情報を生成して送信部27に通知する。
[0058]
 送信部27は、通信障害情報生成部25から通信障害情報を取得した場合、通信障害情報である通信障害ノード番号55および通信障害箇所56を格納した障害検出フレーム5を生成してブロードキャストで隣接ノードへ送信する。また、送信部27は、送信権制御部26から送信許可を受けている場合、図示しないセンサなどから取得したセンサ情報をデータ部45に格納し、送信間隔T2(46)を格納したデータフレーム4を生成して隣接ノードへ送信する。送信部27は、通信障害ノード番号55および通信障害箇所56、データ部35、データ部45および送信間隔T2(46)などのデータ部分にヘッダなどを付与してフレームを生成する。
[0059]
 つぎに、端末ノード2Aの受信間隔計測部23の動作について詳細に説明する。図11は、実施の形態1にかかる端末ノード2Aの受信間隔計測部23において受信間隔T1を計測する動作を示すフローチャートである。
[0060]
 受信間隔計測部23は、受信部21からフレーム受信の通知を受けると(ステップS31)、受信間隔T1を計測するためのタイマが動作中か否かを確認する(ステップS32)。タイマが動作していない場合(ステップS32:No)、受信間隔計測部23は、タイマを起動する(ステップS33)。
[0061]
 タイマが動作中の場合(ステップS32:Yes)、受信間隔計測部23は、タイマの値を計測、すなわち受信間隔T1を計測し(ステップS34)、計測した受信間隔T1の情報を通信障害検出部24へ通知する(ステップS35)。受信間隔計測部23は、受信されたフレームがトークンフレーム3か否かを確認する(ステップS36)。トークンフレーム3の場合(ステップS36:Yes)、受信間隔計測部23は、タイマを停止する(ステップS37)。トークンフレーム3ではない場合、すなわちデータフレーム4の場合(ステップS36:No)、受信間隔計測部23は、タイマをリセットして再起動する(ステップS38)。なお、受信間隔計測部23では、タイマを起動すると、トークンフレーム3を受信して(ステップS36:Yes)タイマを停止する(ステップS37)までは、タイマを継続して動作させているものとする。
[0062]
 つぎに、端末ノード2Aの通信障害検出部24の動作について詳細に説明する。図12は、実施の形態1にかかる端末ノード2Aの通信障害検出部24において通信障害を検出する動作を示すフローチャートである。
[0063]
 通信障害検出部24は、受信間隔計測部23からの通知により受信間隔T1の情報を取得する(ステップS41)。通信障害検出部24は、記憶部22から読み出して送信間隔T2(46)の情報を取得する(ステップS42)。通信障害検出部24は、記憶部22から読み出してチェックサム37,47の情報を取得する(ステップS43)。このとき、通信障害検出部24は、チェックサム37,47の確認用として記憶部22からヘッダ部分の情報も併せて取得する。通信障害検出部24は、ステップS41~S43で取得した情報に基づいて通信障害を検出した場合(ステップS44:Yes)、通信障害情報生成部25へ通信障害情報の生成を指示する(ステップS45)。通信障害検出部24は、通信障害を検出しない場合(ステップS44:No)、処理を終了する。
[0064]
 つぎに、端末ノード2Aの通信障害検出部24が通信障害を検出するステップS44の動作について詳細に説明する。図13は、実施の形態1にかかる端末ノード2Aの通信障害検出部24において通信障害を検出する詳細動作を示すフローチャートである。
[0065]
 通信障害検出部24は、受信間隔T1と送信間隔T2(46)とを比較する(ステップS51)。受信間隔T1≦送信間隔T2(46)の場合(ステップS51:No)、通信障害検出部24は、隣接ノードとの間で通信障害は発生していないとして処理を終了する。
[0066]
 受信間隔T1>送信間隔T2(46)の場合(ステップS51:Yes)、通信障害検出部24は、隣接ノードとの間で通信障害が発生していることを検出する(ステップS52)。通信障害検出部24は、ヘッダ部分の情報を用いてチェックサムが正常か否かを確認する(ステップS53)。チェックサムが正常の場合(ステップS53:Yes)、通信障害検出部24は、隣接ノードと自ノードとの間の通信経路は異常無いとして、通信障害は隣接ノード本体の異常が原因であることを検出する(ステップS54)。チェックサムが異常の場合(ステップS53:No)、通信障害検出部24は、通信障害は隣接ノードと自ノードとの間の通信経路の異常が原因であることを検出する(ステップS55)。
[0067]
 図13のステップS51:Noの場合が図12のステップS44:Noに相当し、図13のその他の場合が図12のステップS44:Yesに相当する。
[0068]
 このように、端末ノード2は、隣接ノードから取得した送信間隔T2(46)、および隣接ノードから受信したフレームの受信間隔T1に基づいて、隣接ノードとの間の通信障害を検出することができる。また、端末ノード2は、隣接ノードとの間の通信障害を検出した場合、チェックサムを確認することで、通信障害箇所が隣接ノード本体か通信経路かを検出することができる。
[0069]
 つづいて、送信権管理ノード1および端末ノード2のハードウェア構成について説明する。送信権管理ノード1および端末ノード2は同様のハードウェア構成により実現されるため、送信権管理ノード1を例にして説明する。送信権管理ノード1において、受信部11および送信部17はイーサネットでフレームを送受信するインターフェース回路により実現される。記憶部12はメモリにより実現される。受信間隔計測部13において一部の機能はタイマにより実現される。受信間隔計測部13においてタイマによる受信間隔T1の計測を制御する機能、通信障害検出部14、トークン再送信制御部15、送信権制御部16は、処理回路により実現される。すなわち、送信権管理ノード1は、受信間隔T1の計測を制御し、通信障害を検出し、トークンフレーム3の再送信を制御し、フレーム送信を制御するための処理回路を備える。処理回路は、専用のハードウェアであってもよいし、メモリに格納されるプログラムを実行するCPU(Central Processing Unit)およびメモリであってもよい。
[0070]
 図14は、実施の形態1にかかる受信間隔計測部13においてタイマによる受信間隔T1の計測を制御する機能、通信障害検出部14、トークン再送信制御部15、送信権制御部16を専用のハードウェアで構成する場合の例を示す図である。処理回路が専用のハードウェアである場合、図14に示す処理回路91は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。受信間隔計測部13においてタイマによる受信間隔T1の計測を制御する機能、通信障害検出部14、トークン再送信制御部15、送信権制御部16の各機能を機能別に処理回路91で実現してもよいし、各機能をまとめて処理回路91で実現してもよい。
[0071]
 図15は、実施の形態1にかかる受信間隔計測部13においてタイマによる受信間隔T1の計測を制御する機能、通信障害検出部14、トークン再送信制御部15、送信権制御部16をCPUおよびメモリで構成する場合の例を示す図である。処理回路がCPU92およびメモリ93で構成される場合、受信間隔計測部13においてタイマによる受信間隔T1の計測を制御する機能、通信障害検出部14、トークン再送信制御部15、送信権制御部16の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ93に格納される。処理回路では、メモリ93に記憶されたプログラムをCPU92が読み出して実行することにより、各機能を実現する。すなわち、送信権管理ノード1は、受信間隔計測部13においてタイマによる受信間隔T1の計測を制御する機能、通信障害検出部14、トークン再送信制御部15、送信権制御部16が処理回路により実行されるときに、受信間隔T1の計測を制御するステップ、通信障害を検出するステップ、トークンフレーム3の再送信を制御するステップ、フレーム送信を制御するステップが結果的に実行されることになるプログラムを格納するためのメモリ93を備える。また、これらのプログラムは、送信権管理ノード1の手順および方法をコンピュータに実行させるものであるともいえる。ここで、CPU92は、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、またはDSP(Digital Signal Processor)などであってもよい。また、メモリ93とは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはDVD(Digital Versatile Disc)などが該当する。
[0072]
 なお、受信間隔計測部13においてタイマによる受信間隔T1の計測を制御する機能、通信障害検出部14、トークン再送信制御部15、送信権制御部16の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、受信間隔計測部13においてタイマによる受信間隔T1の計測を制御する機能については専用のハードウェアとしての処理回路91でその機能を実現し、通信障害検出部14、トークン再送信制御部15、送信権制御部16の各機能についてはCPU92がメモリ93に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
[0073]
 このように、処理回路は、専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
[0074]
 以上説明したように、本実施の形態によれば、複数のデータフレーム4を連続して送受信する場合において、送信権管理ノード1および端末ノード2では、隣接ノードから取得した送信間隔T2(46)、および隣接ノードから受信したフレームの受信間隔T1に基づいて、隣接ノードとの間の通信障害を検出する。また、送信権管理ノード1および端末ノード2では、隣接ノードとの間の通信障害を検出した場合、チェックサムを確認することで、通信障害箇所が隣接ノード本体か通信経路かを検出する。さらに、送信権管理ノード1では、障害検出フレーム5を受信することで、隣接ノード以外の端末ノード2における通信障害を検出する。これにより、通信システム6では、端末ノード2の接続数が多い場合または処理時間の遅い端末ノード2が存在する場合でも、各ノードがフレームの送信元のノード、すなわち隣接ノードのみを通信障害検出の対象とすることで、通信システム6を構成するノードの数によらず、通信障害検出時間の増加を抑えることができる。また、通信システム6では、通信障害検出時間の増加を抑えることができるため、通信障害が発生した場合、通信システム6の停止などフェールセーフ処理を遅延なく行うことができる。また、通信システム6では、ノード間で送受信されるフレームを用いて通信障害を検出するため、通信障害検出用の監視フレームを使用することなく、通信効率を低減せずに通信障害を検出できる。
[0075]
実施の形態2.
 実施の形態1では、ノード間で複数のデータフレーム4を連続して送受信する際に、フレームが遅延した場合に通信障害を検出していた。本実施の形態では、ノード間で複数のデータフレーム4を連続して送受信する際、送信間隔T2(46)で示される期間が経過してもフレームを受信できなかった場合に通信障害を検出する。実施の形態1と異なる部分について説明する。
[0076]
 通信システム6の構成は実施の形態1(図1、図2)と同様である。また、送信権管理ノード1および端末ノード2の構成も実施の形態1(図6、図10)と同様である。
[0077]
 本実施の形態では、送信権管理ノード1の受信部11は、データフレーム4から送信間隔T2(46)の情報を抽出すると、送信間隔T2(46)の情報を受信間隔計測部13に通知する。受信間隔計測部13は、最後にフレームを受信してから、最後に受信したフレームから抽出された送信間隔T2(46)で示される期間において次のフレームを受信できなかった場合、最後にフレームを受信してから送信間隔T2(46)で示される期間が経過した旨を通信障害検出部14へ通知する。通信障害検出部14は、受信間隔計測部13からの送信間隔T2(46)で示される期間が経過した旨の通知によって、隣接ノードとの間で通信障害が発生していることを検出する。通信障害検出部14では、実施の形態1のように、通信障害の原因が隣接ノード本体の異常か通信経路の異常かまでは特定できないが、トークン再送信制御部15へトークンフレーム3の再送信を指示することは可能である。
[0078]
 図16は、実施の形態2にかかる送信権管理ノード1の受信間隔計測部13において受信間隔T1を計測する動作を示すフローチャートである。受信間隔計測部13は、受信部11からフレーム受信の通知を受けていない場合(ステップS61:No)、受信間隔T1を計測するためのタイマが動作中か否かを確認する(ステップS62)。タイマが動作中の場合(ステップS62:Yes)、受信間隔計測部13は、前回のフレーム受信時に受信部11から通知されていた送信間隔T2(46)が経過したか否かを確認する(ステップS63)。受信間隔計測部13は、送信間隔T2(46)が経過した場合、すなわち前回フレームを受信してから送信間隔T2(46)で示される期間が経過しても次のフレームを受信できなかった場合(ステップS63:Yes)、送信間隔T2(46)内でフレームを受信できなかったことを通信障害検出部14へ通知する(ステップS64)。受信間隔計測部13は、タイマが動作していない場合(ステップS62:No)、および送信間隔T2(46)が経過していない場合(ステップS63:No)、ステップS61の処理に戻る。なお、受信間隔計測部13において、受信部11からフレーム受信の通知を受けている場合(ステップS61:Yes)、以降の処理は実施の形態1の図7に示すフローチャートのステップS2~S10と同様である。
[0079]
 図17は、実施の形態2にかかる送信権管理ノード1の通信障害検出部14において通信障害を検出する動作を示すフローチャートである。実施の形態1の図8に示すフローチャートの処理に加えて、通信障害検出部14は、受信間隔計測部13から送信間隔T2(46)経過の通知を取得する(ステップS71)。なお、受信部11で送信間隔T2(46)が経過していない場合はステップS71の処理を省略する。
[0080]
 図18は、実施の形態2にかかる送信権管理ノード1の通信障害検出部14において通信障害を検出する詳細動作を示すフローチャートである。通信障害検出部14は、受信部11から送信間隔T2(46)経過の通知を取得した場合(ステップS81:Yes)、隣接ノードとの間で通信障害が発生していることを検出する(ステップS82)。なお、通信障害検出部14において、受信部11から送信間隔T2(46)経過の通知を取得していない場合(ステップS81:No)、以降の処理は実施の形態1の図9に示すフローチャートのステップS21~S27と同様である。
[0081]
 このように、送信権管理ノード1は、隣接ノードから送信間隔T2(46)が経過してもフレームを受信できなかった場合、隣接ノードとの間の通信障害を検出することができる。
[0082]
 端末ノード2についても同様である。端末ノード2の受信部21は、データフレーム4から送信間隔T2(46)の情報を抽出すると、送信間隔T2(46)の情報を受信間隔計測部23に通知する。受信間隔計測部23は、最後にフレームを受信してから、最後に受信したフレームから抽出された送信間隔T2(46)で示される期間において次のフレームを受信できなかった場合、最後にフレームを受信してから送信間隔T2(46)で示される期間が経過した旨を通信障害検出部24へ通知する。通信障害検出部24は、受信間隔計測部23からの送信間隔T2(46)で示される期間が経過した旨の通知によって、隣接ノードとの間で通信障害が発生していることを検出する。通信障害検出部24では、実施の形態1のように、通信障害の原因が隣接ノード本体の異常か通信経路の異常かまでは特定できないが、通信障害情報生成部25へ通信障害情報の生成を指示することは可能である。
[0083]
 図19は、実施の形態2にかかる端末ノード2の受信間隔計測部23において受信間隔T1を計測する動作を示すフローチャートである。受信間隔計測部23は、受信部21からフレーム受信の通知を受けていない場合(ステップS91:No)、受信間隔T1を計測するためのタイマが動作中か否かを確認する(ステップS92)。タイマが動作中の場合(ステップS92:Yes)、受信間隔計測部23は、前回のフレーム受信時に受信部21から通知されていた送信間隔T2(46)が経過したか否かを確認する(ステップS93)。受信間隔計測部23は、送信間隔T2(46)が経過した場合、すなわち前回フレームを受信してから送信間隔T2(46)で示される期間が経過しても次のフレームを受信できなかった場合(ステップS93:Yes)、送信間隔T2(46)内でフレームを受信できなかったことを通信障害検出部24へ通知する(ステップS94)。受信間隔計測部23は、タイマが動作していない場合(ステップS92:No)、および送信間隔T2(46)が経過していない場合(ステップS93:No)、ステップS91の処理に戻る。なお、受信間隔計測部23において、受信部21からフレーム受信の通知を受けている場合(ステップS91:Yes)、以降の処理は実施の形態1の図11に示すフローチャートのステップS32~S38と同様である。
[0084]
 図20は、実施の形態2にかかる端末ノード2の通信障害検出部24において通信障害を検出する動作を示すフローチャートである。実施の形態1の図12に示すフローチャートの処理に加えて、通信障害検出部24は、受信間隔計測部23から送信間隔T2(46)経過の通知を取得する(ステップS101)。なお、受信部21で送信間隔T2(46)が経過していない場合はステップS101の処理を省略する。
[0085]
 図21は、実施の形態2にかかる端末ノード2の通信障害検出部24において通信障害を検出する詳細動作を示すフローチャートである。通信障害検出部24は、受信部21から送信間隔T2(46)経過の通知を取得した場合(ステップS111:Yes)、隣接ノードとの間で通信障害が発生していることを検出する(ステップS112)。なお、通信障害検出部24において、受信部21から送信間隔T2(46)経過の通知を取得していない場合(ステップS111:No)、以降の処理は実施の形態1の図13に示すフローチャートのステップS51~S55と同様である。
[0086]
 このように、端末ノード2は、隣接ノードから送信間隔T2(46)が経過してもフレームを受信できなかった場合、隣接ノードとの間の通信障害を検出することができる。
[0087]
 以上説明したように、本実施の形態によれば、送信権管理ノード1および端末ノード2では、隣接ノードから送信間隔T2(46)で示される期間が経過してもフレームを受信できなかった場合、隣接ノードとの間の通信障害を検出する。これにより、通信システム6では、受信側のノードでフレームを受信できなくなった場合に、直ちに通信障害を検出することができる。
[0088]
 なお、送信権管理ノード1および端末ノード2では、送信間隔T2(46)に付加時間αを設定し、受信間隔計測部13,23は、送信間隔T2(46)+付加時間αの期間が経過してもフレームを受信できなかった場合に、通信障害検出部14,24へ通知をしてもよい。
[0089]
 以上のように、本発明にかかる通信装置、通信システム、および通信障害検出方法は、接続台数の多いネットワークシステムの通信障害検出に有用であり、特に通信障害発生時に原因箇所を追究することに好適である。
[0090]
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。

符号の説明

[0091]
 1 送信権管理ノード、2A,2B,2C,2D 端末ノード、3 トークンフレーム、4 データフレーム、5 障害検出フレーム、6 通信システム、11,21 受信部、12,22 記憶部、13,23 受信間隔計測部、14,24 通信障害検出部、15 トークン再送信制御部、16,26 送信権制御部、17,27 送信部、25 通信障害情報生成部。

請求の範囲

[請求項1]
 送信権を持つ通信装置がフレームを送信する通信システムにおける前記通信装置であって、
 受信したフレームから、前記受信したフレームの送信元の通信装置である隣接通信装置が次にフレームを送信するまでの間隔を示す送信間隔の情報を抽出する受信部と、
 前記隣接通信装置から連続して送信されるフレームの受信間隔を計測する受信間隔計測部と、
 前記受信間隔と前記送信間隔の情報とを比較して、前記受信間隔の方が大きい場合、前記隣接通信装置との間の通信において通信障害が発生したことを検出する通信障害検出部と、
 を備えることを特徴とする通信装置。
[請求項2]
 前記受信部は、前記受信したフレームから、フレームの破損チェック用コードであるチェックサムを抽出し、
 前記通信障害検出部は、通信障害を検出した場合、前記チェックサムを用いて通信障害が発生した箇所を検出する、
 ことを特徴とする請求項1に記載の通信装置。
[請求項3]
 自装置からフレームを連続して送信する場合、次にフレームを送信するまでの間隔を示す送信間隔の情報を生成する送信権管理部と、
 前記送信権管理部で生成された送信間隔の情報をフレームに格納して送信する送信部と、
 を備えることを特徴とする請求項1または2に記載の通信装置。
[請求項4]
 トークンフレームを送信する送信部と、
 前記トークンフレームを再送信する制御を行うトークン再送信制御部と、
 を備え、
 前記通信障害検出部は、通信障害を検出した場合、前記トークン再送信制御部に対して前記トークンフレームの再送信を指示する、
 ことを特徴とする請求項1または2に記載の通信装置。
[請求項5]
 通信障害を検出した通信装置が、通信障害が検出された通信装置を特定する情報である通信障害情報を格納した障害検出フレームを送信した場合に、
 前記受信部は、受信した前記障害検出フレームから、前記通信障害情報を抽出し、
 前記通信障害検出部は、前記通信障害情報に基づいて、自装置と隣接していない通信装置で通信障害が発生したことを検出する、
 ことを特徴とする請求項4に記載の通信装置。
[請求項6]
 通信障害が検出された通信装置を特定する情報である通信障害情報を生成する通信障害情報生成部と、
 前記通信障害情報を格納した障害検出フレームを送信する送信部と、
 を備え、
 前記通信障害検出部は、通信障害を検出した場合、前記通信障害情報生成部へ前記通信障害情報の生成を指示する、
 ことを特徴とする請求項1または2に記載の通信装置。
[請求項7]
 前記受信間隔計測部は、最後にフレームを受信してから、最後に受信したフレームから抽出された送信間隔の情報で示される期間次のフレームを受信できなかった場合、最後にフレームを受信してから前記送信間隔の情報で示される期間が経過した旨を前記通信障害検出部へ通知し、
 前記通信障害検出部は、前記送信間隔の情報で示される期間が経過した旨の通知に基づいて、前記隣接通信装置との間の通信において通信障害が発生したことを検出する、
 ことを特徴とする請求項1から6のいずれか1つに記載の通信装置。
[請求項8]
 請求項4または5に記載の通信装置と、
 請求項6に記載の複数の通信装置と、
 を備えることを特徴とする通信システム。
[請求項9]
 送信権を持つ通信装置がフレームを送信する通信システムにおいて前記通信装置が通信障害を検出する通信障害検出方法であって、
 受信部が、受信したフレームから、前記受信したフレームの送信元の通信装置である隣接通信装置が次にフレームを送信するまでの間隔を示す送信間隔の情報を抽出する受信ステップと、
 受信間隔計測部が、フレームの受信間隔を計測する計測ステップと、
 通信障害検出部が、前記受信間隔と前記送信間隔の情報とを比較して、前記受信間隔の方が大きい場合、前記隣接通信装置との間の通信において通信障害が発生したことを検出する検出ステップと、
 を含むことを特徴とする通信障害検出方法。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]

[ 図 17]

[ 図 18]

[ 図 19]

[ 図 20]

[ 図 21]