(57)【特許請求の範囲】
【請求項１】
３つ以上の通信装置（２，３，４，５）がネットワークを介してデータ通信可能に接続された通信システム（１）において、前記通信システムを構成する３つ以上の前記通信装置の中で主となるマスタ通信装置（２）として機能する通信装置（２）であって、
前記通信システムを構成する３つ以上の前記通信装置の中で前記マスタ通信装置以外の前記通信装置をスレーブ装置（３，４，５）とし、前記スレーブ装置がウェイクアップパルスを送信したか否かを示す情報をウェイクアップパルス送信情報とし、前記スレーブ装置のスリープが許可されているか禁止されているかを示す情報をスリープ可否情報として、前記通信システムを構成する前記スレーブ装置から複数回受信した通信データに含まれる前記ウェイクアップパルス送信情報および前記スリープ可否情報のうち前記ウェイクアップパルス送信情報に基づいて、受信した前記通信データの送信元となる前記スレーブ装置で異常が発生しているか否かを判断する第１異常判断手段（Ｓ１０〜Ｓ９０）と、
前記スレーブ装置で異常が発生していると前記第１異常判断手段が判断した後に、前記通信システムを構成する前記スレーブ装置から複数回受信した前記通信データに含まれる前記スリープ可否情報に基づいて、異常が発生していると前記第１異常判断手段が判断した前記スレーブ装置以外の前記スレーブ装置の中から、受信した前記通信データの送信元となる前記スレーブ装置で異常が発生しているか否かを判断する第２異常判断手段（Ｓ２４０〜Ｓ３６０）とを備え、
前記第１異常判断手段は、前記ウェイクアップパルスを送信したことを示している前記ウェイクアップパルス送信情報の数が多いことを示す予め設定された第１異常判断条件が成立した場合に、受信した前記通信データの送信元となる前記スレーブ装置で異常が発生していると判断し、
前記第２異常判断手段は、前記スレーブ装置のスリープが禁止されていることを示している前記スリープ可否情報の数が多いことを示す予め設定された第２異常判断条件が成立した場合に、受信した前記通信データの送信元となる前記スレーブ装置で異常が発生していると判断する
ことを特徴とする通信装置。
【請求項２】
前記スレーブ装置で異常が発生していると前記第１異常判断手段が判断した後に、前記通信システムを構成する前記スレーブ装置に対して前記通信データの送信を要求するデータ送信要求を前記スレーブ装置へ送信する送信間隔を、前記スレーブ装置で異常が発生していると前記第１異常判断手段が判断する前よりも短くする短縮手段（Ｓ２７０）を備える
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記スレーブ装置で異常が発生していると前記第１異常判断手段が判断した後に、前記通信システムを構成する前記スレーブ装置に対して前記スリープ可否情報の変更を禁止する変更禁止要求を前記スレーブ装置へ送信する変更禁止手段（Ｓ２７５）を備える
ことを特徴とする請求項１に記載の通信装置。
【請求項４】
請求項１〜請求項３の何れか１項に記載の通信装置を前記マスタ通信装置とした前記通信システムにおいて前記スレーブ装置として機能する通信装置（３，４，５）であって、
前記ウェイクアップパルス送信情報および前記スリープ可否情報を含む前記通信データを送信する
ことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３つ以上の通信装置がデータ通信可能に接続された通信システムにおいて用いられる通信装置に関する。
【背景技術】
【０００２】
複数の通信装置を備えた通信システムでは、通信システムを構成する第１通信装置が第２通信装置へデータ送信要求を送信した後に第１通信装置が第２通信装置からの応答を受信したか否かに基づいて、通信システムを構成する第２通信装置の異常を判断するように構成されたものが知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４６７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記特許文献１に記載の技術では、正常に通信を行うことができても異常が発生している通信装置を検出することができないおそれがある。
本発明は、こうした問題に鑑みてなされたものであり、正常に通信を行うことができても異常が発生している通信装置を検出することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するためになされた本発明は、３つ以上の通信装置がネットワークを介してデータ通信可能に接続された通信システムにおいて、通信システムを構成する３つ以上の通信装置の中で主となるマスタ通信装置として機能する通信装置である。
【０００６】
そして、本発明の通信装置は、第１異常判断手段と第２異常判断手段とを備える。
まず第１異常判断手段は、通信システムを構成するスレーブ装置から複数回受信した通信データに含まれるウェイクアップパルス送信情報およびスリープ可否情報のうちウェイクアップパルス送信情報に基づいて、受信した通信データの送信元となるスレーブ装置で異常が発生しているか否かを判断する。なおスレーブ装置は、通信システムを構成する３つ以上の通信装置の中でマスタ通信装置以外の通信装置である。ウェイクアップパルス送信情報は、スレーブ装置がウェイクアップパルスを送信したか否かを示す情報である。スリープ可否情報は、スレーブ装置のスリープが許可されているか禁止されているかを示す情報である。
【０００７】
そして第２異常判断手段は、スレーブ装置で異常が発生していると第１異常判断手段が判断した後に、通信システムを構成するスレーブ装置から複数回受信した通信データに含まれるスリープ可否情報に基づいて、受信した通信データの送信元となるスレーブ装置で異常が発生しているか否かを判断する。なお第２異常判断手段は、異常が発生していると第１異常判断手段が判断したスレーブ装置以外のスレーブ装置の中から、スレーブ装置で異常が発生しているか否かを判断する。
【０００８】
このように構成された本発明の通信装置は、ウェイクアップパルスを送信したか否かを示すウェイクアップパルス送信情報を複数回受信する。このため、本発明の通信装置は、複数回受信したウェイクアップパルス送信情報のうち、スレーブ装置がウェイクアップパルスを送信したことを示す情報の数に基づいて、スレーブ装置で異常が発生しているか否かを判断することができる。すなわち、同一のスレーブ装置から複数回受信したウェイクアップパルス送信情報について、ウェイクアップパルスを送信したことを示す情報の数が多い場合には、このスレーブ装置が異常なウェイクアップをしていると判断することができる。
【０００９】
このため、本発明の通信装置は、正常に通信を行うことができても異常なウェイクアップをしているスレーブ装置を検出することができる。
また、本発明の通信装置は、スレーブ装置で異常が発生していると第１異常判断手段が判断した後に、スレーブ装置のスリープが許可されているか禁止されているかを示すスリープ可否情報を複数回受信する。このため、本発明の通信装置は、複数回受信したスリープ可否情報のうち、スレーブ装置のスリープが禁止されている情報の数に基づいて、スレーブ装置で異常が発生しているか否かを判断することができる。すなわち、同一のスレーブ装置から複数回受信したスリープ可否情報について、スリープが禁止されていることを示す情報の数が多い場合には、このスレーブ装置が異常なウェイクアップをしていると判断することができる。
【００１０】
このため、本発明の通信装置は、正常に通信を行うことができ且つウェイクアップパルスを送信していないのにも関わらず異常なウェイクアップをしているスレーブ装置を検出することができる。
【００１１】
以上より、本発明の通信装置は、同時にウェイクアップしているスレーブ装置が複数存在している状況においてウェイクアップパルスの送信が許可されるスレーブ装置が１つである場合であっても、異常なウェイクアップをしているスレーブ装置を複数検出することができる。
【図面の簡単な説明】
【００１２】
【図１】通信システム１の構成を示すブロック図である。
【図２】通信フレームの構造を示す図である。
【図３】ノード２，３，４，５の動作を示す第１のタイミングチャートである。
【図４】ノード２，３，４，５の動作を示す第２のタイミングチャートである。
【図５】スケジュールテーブルＳＴ１の構成を示す図である。
【図６】異常ウェイクアップ検出処理を示すフローチャートである。
【図７】第１実施形態の複数異常スレーブ検出処理を示すフローチャートである。
【図８】スケジュールテーブルＳＴ２の構成を示す図である。
【図９】スケジュールテーブルＳＴ３の構成を示す図である。
【図１０】ノード２，３，４，５の動作を示す第３のタイミングチャートである。
【図１１】第２実施形態の複数異常スレーブ検出処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
（第１実施形態）
以下に本発明の第１実施形態を図面とともに説明する。
本実施形態の通信システム１は、車両に搭載されており、図１に示すように、通信装置としてのノード２，３，４，５を備える。ノード２，３，４，５は、通信バス６を介して互いにデータ通信可能に接続される。
【００１４】
ノード２，３，４，５のうち、ノード２はマスタとして機能し、ノード３，４，５はスレーブとして機能する。以下、ノード２をマスタノード２ともいう。また、ノード３，４，５をそれぞれスレーブノード３，４，５ともいう。
【００１５】
マスタノード２は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ及びこれらの構成を接続するバスラインなどを備える周知のマイクロコンピュータを中心に構成されている。そしてマスタノード２は、ＲＯＭに記憶されたプログラムをＣＰＵが実行することにより、車両を制御するための各種処理を行う。
【００１６】
ノード２，３，４，５による通信に使用される通信フレームは、図２に示すように、ヘッダとレスポンスにより構成されている。
ヘッダは、８ビットであり、送信を許可するデータの識別情報（ＩＤ）が格納される。
【００１７】
レスポンスは、ヘッダによって指定されたデータである「ＤＡＴＡ」以外に、４ビットの「ＤＬＣ」と、２ビットの「ＮＭ」と、２ビットの「ＣＴ」と、８ビットの「ＣＲＣ」とを含む。なお、「ＤＡＴＡ」は０〜１２バイトの範囲で可変である。
【００１８】
「ＤＬＣ」は、レスポンスに含まれる「ＤＡＴＡ」のデータ長を示す情報である。
「ＮＭ」は、ネットワークマネージメントのための情報であり、ウェイクアップパルス送信情報と、スリープ可否情報とにより構成されている。
【００１９】
ウェイクアップパルス送信情報は、ウェイクアップパルス（後述）を送信したか否かを示す情報である。ウェイクアップパルス送信情報は、このウェイクアップパルス送信情報を含む通信フレームを送信したノードがウェイクアップパルスを送信した場合に、１に設定され、ウェイクアップパルスを送信していない場合に０に設定される。以下、ウェイクアップパルス送信情報をＷＵパルス送信情報という。
【００２０】
スリープ可否情報は、後述のスリープモードに遷移可能か否かを示す情報である。スリープ可否情報は、このスリープ可否情報を含む通信フレームを送信したノードにおいてスリープが許可されている場合に１に設定され、スリープが禁止されている場合に０に設定される。
【００２１】
「ＣＴ」は、フレームの連続性を示すカウンタ情報である。「ＣＲＣ」は、フレームのエラーをチェックするためのＣＲＣ（Cyclic Redundancy Check）符号である。
ノード２，３，４，５は、車両のバッテリ電圧を電源として動作する。ノード２，３，４，５の動作モードとしては、ウェイクアップモードとスリープモードがある。ウェイクアップモードは、予め割り当てられた全ての機能を実行可能な通常の動作モードである。スリープモードは、消費電力を抑えるために一部の機能を停止した動作モードである。
【００２２】
ノード２，３，４，５は、スリープモードになっている場合に、自身に定められたウェイクアップ要因が発生すると、ウェイクアップする。つまり、スリープモードからウェイクアップモードに遷移する。そして、ウェイクアップ要因の発生によってウェイクアップしたノード２，３，４，５は、ウェイクアップパルスを送信する。但し、１つのウェイクアップ要因で複数のノードがウェイクアップした場合には、最初にウェイクアップしたノードのみがウェイクアップパルスを送信する。またノード２，３，４，５は、ウェイクアップパルスを受信することでウェイクアップする。
【００２３】
次に、通信システム１を構成するノード２，３，４，５の動作例を説明する。
例えば図３に示すように、ウェイクアップ要因ＷＣ１によりスレーブノード４，５がウェイクアップする場合に、スレーブノード４，５の中で初期化時間が短いスレーブノード４（初期化時間ＴＩ１を参照）が、最初にウェイクアップしてウェイクアップパルスＷＰ１を送信する。一方、スレーブノード４より初期化時間が長いために遅れてウェイクアップしたスレーブノード５（初期化時間ＴＩ２を参照）は、ウェイクアップしてもウェイクアップパルスを送信しない（破線で記載されたウェイクアップパルスＷＰ２を参照）。
【００２４】
またマスタノード２は、予め設定されたスケジュールテーブル（後述）に従って、スレーブノード３，４，５に対して通信フレームの送信を要求するフレーム送信要求をスレーブノード３，４，５へ送信する。そして、スレーブノード３，４，５は、マスタノード２から受信したフレーム送信要求が自ノードに対するものである場合に、通信フレームを生成して送信する。
【００２５】
図３では、マスタノード２は、まず、スレーブノード３に対するフレーム送信要求ＲＳ１を送信する。フレーム送信要求ＲＳ１を受信したスレーブノード３は、通信フレームＣＦ１を生成して送信する。通信フレームＣＦ１のＷＵパルス送信情報ＷＦ１は０である。他のノードのウェイクアップパルスによりスレーブノード３がウェイクアップしたためである。通信フレームＣＦ１のスリープ可否情報ＳＦ１は１である。スレーブノード３は、ウェイクアップ要因が発生していないノードであるからである。
【００２６】
マスタノード２は、次に、スレーブノード４に対するフレーム送信要求ＲＳ２を送信する。フレーム送信要求ＲＳ２を受信したスレーブノード４は、通信フレームＣＦ２を生成して送信する。通信フレームＣＦ２のＷＵパルス送信情報ＷＦ２は１である。スレーブノード４は、ウェイクアップパルスを送信したノードであるからである。通信フレームＣＦ２のスリープ可否情報ＳＦ２は０である。スレーブノード４は、ウェイクアップ要因が発生しているノードであるからである。
【００２７】
マスタノード２は、次に、スレーブノード５に対するフレーム送信要求ＲＳ３を送信する。フレーム送信要求ＲＳ３を受信したスレーブノード５は、通信フレームＣＦ３を生成して送信する。通信フレームＣＦ３のＷＵパルス送信情報ＷＦ３は０である。スレーブノード５は、ウェイクアップパルスを送信していないノードであるからである。通信フレームＣＦ３のスリープ可否情報ＳＦ３は０である。スレーブノード５は、ウェイクアップ要因が発生しているノードであるからである。
【００２８】
マスタノード２は、次に、スレーブノード３に対するフレーム送信要求ＲＳ４を送信する。フレーム送信要求ＲＳ４を受信したスレーブノード３は、通信フレームＣＦ４を生成して送信する。なお、通信フレームＣＦ４の生成前に、スレーブノード３のウェイクアップ要因が発生したとする。但し、バスウェイクアップ中であるため、スレーブノード３はウェイクアップパルスを送信しない。このため、通信フレームＣＦ４のＷＵパルス送信情報ＷＦ３は０である。また、通信フレームＣＦ４のスリープ可否情報ＳＦ４は０である。
【００２９】
また図４に示すように、ウェイクアップ要因ＷＣ１１により図３と同様にスレーブノード４，５がウェイクアップする場合に、スレーブノード４が、最初にウェイクアップしてウェイクアップパルスＷＰ１１を送信したとする。一方、スレーブノード４より遅れてウェイクアップしたスレーブノード５は、ウェイクアップしてもウェイクアップパルスを送信しないとする（破線で記載されたウェイクアップパルスＷＰ１２を参照）。
【００３０】
マスタノード２は、まず、スレーブノード３に対するフレーム送信要求ＲＳ１１を送信する。フレーム送信要求ＲＳ１１を受信したスレーブノード３は、通信フレームＣＦ１１を生成して送信する。通信フレームＣＦ１１のＷＵパルス送信情報ＷＦ１１は０である。他のノードのウェイクアップパルスによりスレーブノード３がウェイクアップしたためである。通信フレームＣＦ１１のスリープ可否情報ＳＦ１１は１である。スレーブノード３は、ウェイクアップ要因が発生していないノードであり、バス要因でウェイクアップした直後のノードはスリープ許可状態となるためである（図４のスリープ許可状態ＳＡ３を参照）。
【００３１】
マスタノード２は、次に、スレーブノード４に対するフレーム送信要求ＲＳ１２を送信する。フレーム送信要求ＲＳ１２を受信したスレーブノード４は、通信フレームＣＦ１２を生成して送信する。通信フレームＣＦ１２のＷＵパルス送信情報ＷＦ１２は１である。スレーブノード４は、ウェイクアップパルスを送信したノードであるからである。通信フレームＣＦ１２のスリープ可否情報ＳＦ１２は０である。スレーブノード４は、ウェイクアップ要因が発生しているノードであり、スリープ禁止状態で起動するためである（図４のスリープ禁止状態ＳＰ４を参照）。
【００３２】
マスタノード２は、次に、スレーブノード５に対するフレーム送信要求ＲＳ１３を送信する。フレーム送信要求ＲＳ１３を受信したスレーブノード５は、通信フレームＣＦ１３を生成して送信する。通信フレームＣＦ１３のＷＵパルス送信情報ＷＦ１３は０である。スレーブノード５は、ウェイクアップパルスを送信していないノードであるからである。通信フレームＣＦ１３のスリープ可否情報ＳＦ１３は１である。スレーブノード５は、ウェイクアップ要因が発生しているノードであり、スリープ禁止状態で起動するが（図４のスリープ禁止状態ＳＰ５を参照）、通信フレームＣＦ１３が作成される前にスリープ許可状態になったためである（図４のスリープ許可状態ＳＡ５を参照）。なお、自要因でウェイクアップしたノードは、起動してから時間が経過すると、スリープ禁止状態からスリープ許可状態に移行する場合がある（図４のスリープ禁止状態ＳＰ４，ＳＰ５とスリープ許可状態ＳＡ４，ＳＡ５を参照）。
【００３３】
上記のスケジュールテーブルには、フレーム送信要求の送信順を示す送信順情報と、フレーム送信要求の対象となるスレーブノードを示す対象スレーブ情報と、フレーム送信要求の送信間隔を示す要求送信間隔情報との対応関係が設定されている。
【００３４】
本実施形態の通常時（すなわち、スレーブノード３，４，５に異常が発生していないとき）におけるスケジュールテーブルＳＴ１は、図５に示すように、まず、スレーブノード３を対象とするフレーム送信要求（１番目）を送信するように設定されている。そして、スケジュールテーブルＳＴ１は、１０００ｍｓが経過した後に、スレーブノード４を対象とするフレーム送信要求（２番目）を送信するように設定されている。
【００３５】
スケジュールテーブルＳＴ１は、さらに２０００ｍｓが経過した後に、スレーブノード４を対象とするフレーム送信要求（３番目）を送信し、１０００ｍｓが経過した後に、スレーブノード３を対象とするフレーム送信要求（４番目）を送信するように設定されている。
【００３６】
スケジュールテーブルＳＴ１は、さらに５００ｍｓが経過した後に、スレーブノード４を対象とするフレーム送信要求（５番目）を送信し、５００ｍｓが経過した後に、スレーブノード５を対象とするフレーム送信要求（６番目）を送信するように設定されている。
【００３７】
スケジュールテーブルＳＴ１は、さらに１０００ｍｓが経過した後に、スレーブノード３を対象とするフレーム送信要求（１番目）を送信するように設定されている。
このように構成された通信システム１において、マスタノード２は、異常ウェイクアップ検出処理と、複数異常スレーブ検出処理を実行する。
【００３８】
まず、異常ウェイクアップ検出処理の手順を説明する。異常ウェイクアップ検出処理は、マスタノード２の動作中において繰り返し実行される処理である。
異常ウェイクアップ検出処理が実行されると、マスタノード２のＣＰＵは、図６に示すように、まずＳ１０にて、監視タイマを起動する。この監視タイマは、例えば１００ｍｓ毎にインクリメントするタイマであり、起動されると、その値が０からインクリメント（１加算）する。
【００３９】
そしてＳ２０にて、マスタノード２がウェイクアップしているか否かを判断する。ここで、マスタノード２がウェイクアップしていない場合には（Ｓ２０：ＮＯ）、Ｓ８０に移行する。一方、マスタノード２がウェイクアップしている場合には（Ｓ２０：ＹＥＳ）、Ｓ３０にて、スレーブノード３，４，５の何れかから通信フレームを受信したか否かを判断する。ここで、通信フレームを受信していない場合には（Ｓ３０：ＮＯ）、スレーブノード３，４，５の何れかから通信フレームを受信するまで待機する。
【００４０】
そして、スレーブノード３，４，５の何れかから通信フレームを受信すると（Ｓ３０：ＹＥＳ）、Ｓ４０にて、受信した通信フレームのＷＵパルス送信情報が１に設定されているか否かを判断する。ここで、ＷＵパルス送信情報が０に設定されている場合には（Ｓ４０：ＮＯ）、Ｓ８０に移行する。
【００４１】
一方、フレームのＷＵパルス送信情報が１に設定されている場合には（Ｓ４０：ＹＥＳ）、Ｓ５０にて、Ｓ３０で受信した通信フレームの送信元に対応して設けられたウェイクアップカウンタをインクリメントする。なお、ウェイクアップカウンタは、スレーブノード３，４，５のそれぞれに対応してマスタノード２のＲＡＭに設けられている。以下、ウェイクアップカウンタをＷＵカウンタという。
【００４２】
その後Ｓ６０にて、Ｓ３０で受信した通信フレームの送信元に対応して設けられたＷＵカウンタの値（以下、ＷＵ回数という）が、予め設定された異常判定回数（本実施形態では例えば１００回）以上であるか否かを判断する。
【００４３】
ここで、ＷＵ回数が異常判定回数未満である場合には（Ｓ６０：ＮＯ）、Ｓ８０に移行する。一方、ＷＵ回数が異常判定回数以上である場合には（Ｓ６０：ＹＥＳ）、Ｓ７０にて、マスタノード２のＲＡＭに設けられている異常スレーブ情報に、Ｓ２０で受信した通信フレームの送信元を示す送信元情報を設定し、Ｓ８０に移行する。
【００４４】
そしてＳ８０に移行すると、＋Ｂ状態が継続しているか否かを判断する。なお、＋Ｂ状態は、イグニッション（ＩＧ）電源とアクセサリ（ＡＣＣ）電源がオフである状態である。
【００４５】
ここで、＋Ｂ状態が継続していない場合には（Ｓ８０：ＮＯ）、Ｓ１００に移行する。一方、＋Ｂ状態が継続している場合には（Ｓ８０：ＹＥＳ）、Ｓ９０にて、予め設定された監視時間（本実施形態では例えば６０分）が経過したか否かを判断する。具体的には、監視タイマの値が、監視時間に相当する値以上であるか否かを判断する。
【００４６】
ここで、監視時間が経過していない場合には（Ｓ９０：ＮＯ）、Ｓ３０に移行する。一方、監視時間が経過した場合には（Ｓ９０：ＹＥＳ）、Ｓ１００にて、スレーブノード３，４，５のそれぞれに対応するＷＵカウンタをリセット（０に設定）し、異常ウェイクアップ検出処理を一旦終了する。
【００４７】
次に、複数異常スレーブ検出処理の手順を説明する。複数異常スレーブ検出処理は、マスタノード２の動作中において繰り返し実行される処理である。
複数異常スレーブ検出処理が実行されると、マスタノード２のＣＰＵは、図７に示すように、まずＳ２１０にて、異常なウェイクアップを行うスレーブノード（以下、異常ＷＵスレーブという）を検出したか否かを判断する。具体的には、異常スレーブ情報に送信元情報が設定されている場合に、異常ＷＵスレーブを検出したと判断する。
【００４８】
ここで、異常ＷＵスレーブを検出していない場合には（Ｓ２１０：ＮＯ）、複数異常スレーブ検出処理を一旦終了する。一方、異常ＷＵスレーブを検出した場合には（Ｓ２１０：ＹＥＳ）、Ｓ２２０にて、監視タイマを起動する。そしてＳ２３０にて、検出した異常ＷＵスレーブに応じてスケジュールテーブルを変更する。具体的には、通常時のスケジュールテーブルＳＴ１に代わり、異常ＷＵスレーブの送信順が１番目となるように予め設定されたスケジュールテーブルＳＴ２を用いるように変更する。例えば、スレーブノード４が異常ＷＵスレーブである場合には、通常時のスケジュールテーブルＳＴ１において１番目と２番目の送信順を入れ替えたスケジュールテーブルＳＴ２が用いられる（図８を参照）。
【００４９】
その後Ｓ２４０にて、マスタノード２がウェイクアップしているか否かを判断する。ここで、マスタノード２がウェイクアップしていない場合には（Ｓ２４０：ＮＯ）、Ｓ３５０に移行する。一方、マスタノード２がウェイクアップしている場合には（Ｓ２４０：ＹＥＳ）、Ｓ２５０にて、通信フレームを受信したか否かを判断する。ここで、通信フレームを受信していない場合には（Ｓ２５０：ＮＯ）、通信フレームを受信するまで待機する。
【００５０】
そして、通信フレームを受信すると（Ｓ２５０：ＹＥＳ）、Ｓ２６０にて、受信した通信フレームのＷＵパルス送信情報が１に設定されているか否かを判断する。なお、Ｓ２５０で受信した通信フレームの送信元は異常ＷＵスレーブである。異常ＷＵスレーブの送信順が１番目となるようにスケジュールテーブルが変更されているからである。
【００５１】
ここで、ＷＵパルス送信情報が０に設定されている場合には（Ｓ２６０：ＮＯ）、Ｓ３５０に移行する。一方、フレームのＷＵパルス送信情報が１に設定されている場合には（Ｓ２６０：ＹＥＳ）、Ｓ２７０にて、スケジュールテーブルＳＴ２に代わり、スレーブノード３，４，５からの通信フレームを短時間で受信できるように予め設定されたスケジュールテーブルＳＴ３を用いるように変更する。例えば、図９に示すように、スレーブノード４が異常ＷＵスレーブである場合には、スレーブノード４、スレーブノード３、スレーブノード５の順に１０ｍｓ間隔でフレーム送信要求を送信するように設定されたスケジュールテーブルＳＴ３が用いられる。
【００５２】
スケジュールテーブルＳＴ３が用いられた場合には、例えば図１０に示すように、マスタノード２は、まず、スレーブノード４に対するフレーム送信要求ＲＳ２１を送信する。フレーム送信要求ＲＳ２１を受信したスレーブノード４は、通信フレームＣＦ２１を生成して送信する。通信フレームＣＦ２１のＷＵパルス送信情報ＷＦ２１は１である。スレーブノード４は、ウェイクアップパルスを送信したノードであるからである。通信フレームＣＦ２１のスリープ可否情報ＳＦ２１は０である。スレーブノード４は、ウェイクアップ要因が発生しているノードであるからである。
【００５３】
マスタノード２は、次に、スレーブノード３に対するフレーム送信要求ＲＳ２２を送信する。フレーム送信要求ＲＳ２２を受信したスレーブノード３は、通信フレームＣＦ２２を生成して送信する。通信フレームＣＦ２２のＷＵパルス送信情報ＷＦ２２は０である。他のノードのウェイクアップパルスによりスレーブノード３がウェイクアップしたためである。通信フレームＣＦ２２のスリープ可否情報ＳＦ１は１である。スレーブノード３は、ウェイクアップ要因が発生していないノードであるからである。
【００５４】
マスタノード２は、次に、スレーブノード５に対するフレーム送信要求ＲＳ２３を送信する。フレーム送信要求ＲＳ２３を受信したスレーブノード５は、通信フレームＣＦ２３を生成して送信する。通信フレームＣＦ２３のＷＵパルス送信情報ＷＦ２３は０である。スレーブノード５は、ウェイクアップパルスを送信していないノードであるからである。通信フレームＣＦ２３のスリープ可否情報ＳＦ２３は０である。スレーブノード５は、ウェイクアップ要因が発生しているノードであるからである。
【００５５】
そして図７に示すように、Ｓ２７０の処理が終了すると、Ｓ２８０にて、スレーブノード３，４，５の何れかから通信フレームを受信したか否かを判断する。ここで、通信フレームを受信していない場合には（Ｓ２８０：ＮＯ）、スレーブノード３，４，５の何れかから通信フレームを受信するまで待機する。
【００５６】
そして、スレーブノード３，４，５の何れかから通信フレームを受信すると（Ｓ２８０：ＹＥＳ）、Ｓ２９０にて、スリープ可否情報が０に設定されているか否かを判断する。ここで、スリープ可否情報が１に設定されている場合には（Ｓ２９０：ＮＯ）、Ｓ３３０に移行する。
【００５７】
一方、スリープ可否情報が０に設定されている場合には（Ｓ２９０：ＹＥＳ）、Ｓ３００にて、Ｓ２８０で受信した通信フレームの送信元に対応して設けられたＷＵカウンタをインクリメントする。
【００５８】
その後Ｓ３１０にて、Ｓ２８０で受信した通信フレームの送信元に対応して設けられたＷＵカウンタの値（ＷＵ回数）が、予め設定された異常判定回数（本実施形態では例えば１００回）以上であるか否かを判断する。
【００５９】
ここで、ＷＵ回数が異常判定回数未満である場合には（Ｓ３１０：ＮＯ）、Ｓ３３０に移行する。一方、ＷＵ回数が異常判定回数以上である場合には（Ｓ３１０：ＹＥＳ）、Ｓ３２０にて、マスタノード２のＲＡＭに設けられている異常スレーブ情報に、Ｓ２８０で受信した通信フレームの送信元を示す送信元情報を追加して設定し、Ｓ３３０に移行する。
【００６０】
そしてＳ３３０に移行すると、１スケジュールの異常判定が完了したか否かを判断する。１スケジュールとは、スケジュールテーブルＳＴ３を用いたフレーム送信要求を１回行うことである。例えば、図９に示すスケジュールテーブルＳＴ３では、スレーブノード４、スレーブノード３、スレーブノード５の順に１０ｍｓ間隔でフレーム送信要求を送信すると、１スケジュールが完了する。
【００６１】
ここで、１スケジュールの異常判定が完了していない場合には（Ｓ３３０：ＮＯ）、Ｓ２８０に移行する。一方、１スケジュールの異常判定が完了した場合には（Ｓ３３０：ＹＥＳ）、Ｓ３４０にて、スケジュールテーブルＳＴ３に代わり、通常時のスケジュールテーブルＳＴ１を用いるように変更し、Ｓ３５０に移行する。これにより、マスタノード２は、通常時のスケジュールテーブルＳＴ１に従ったフレーム送信要求の送信を開始する（図１０のフレーム送信要求ＲＳ３１と通信フレームＣＦ３１を参照）。
【００６２】
そしてＳ３５０に移行すると、Ｓ８０と同様にして、＋Ｂ状態が継続しているか否かを判断する。ここで、＋Ｂ状態が継続していない場合には（Ｓ３５０：ＮＯ）、Ｓ３７０に移行する。一方、＋Ｂ状態が継続している場合には（Ｓ３５０：ＹＥＳ）、Ｓ３６０にて、Ｓ９０と同様にして、予め設定された監視時間が経過したか否かを判断する。
【００６３】
ここで、監視時間が経過した場合には（Ｓ３６０：ＹＥＳ）、Ｓ３７０に移行する。一方、監視時間が経過していない場合には（Ｓ３６０：ＮＯ）、Ｓ２４０に移行する。
そしてＳ３７０に移行すると、スレーブノード３，４，５のそれぞれに対応するＷＵカウンタをリセットし、複数異常スレーブ検出処理を一旦終了する。
【００６４】
このように構成されたマスタノード２は、まず、通信システム１を構成するスレーブノード３，４，５から複数回受信した通信フレームに含まれるＷＵパルス送信情報に基づいて、受信した通信フレームの送信元となるスレーブノードで異常が発生しているか否かを判断する（Ｓ１０〜Ｓ９０）。
【００６５】
そしてマスタノード２は、ＷＵパルス送信情報に基づいてスレーブノード３，４，５で異常が発生していると判断した後に（Ｓ２１０：ＹＥＳ）、通信システム１を構成するスレーブノード３，４，５から複数回受信した通信フレームに含まれるスリープ可否情報に基づいて、受信した通信フレームの送信元となるスレーブノードで異常が発生しているか否かを判断する（Ｓ２４０〜Ｓ３６０）。
【００６６】
このようにマスタノード２は、ウェイクアップパルスを送信したか否かを示すＷＵパルス送信情報を複数回受信する。このため、マスタノード２は、複数回受信したＷＵパルス送信情報のうち、スレーブノード３，４，５がウェイクアップパルスを送信したことを示す情報の数に基づいて、スレーブノード３，４，５で異常が発生しているか否かを判断することができる。すなわち、同一のスレーブノード３，４，５から複数回受信したＷＵパルス送信情報について、ウェイクアップパルスを送信したことを示す情報の数が多い場合には、このスレーブノード３，４，５が異常なウェイクアップをしていると判断することができる。
【００６７】
このため、マスタノード２は、正常に通信を行うことができても異常なウェイクアップをしているスレーブノード３，４，５を検出することができる。
またマスタノード２は、スレーブノード３，４，５のスリープが許可されているか禁止されているかを示すスリープ可否情報を複数回受信する。このため、マスタノード２は、複数回受信したスリープ可否情報のうち、スレーブノード３，４，５のスリープが禁止されている情報の数に基づいて、スレーブノード３，４，５で異常が発生しているか否かを判断することができる。すなわち、同一のスレーブノード３，４，５から複数回受信したスリープ可否情報について、スリープが禁止されていることを示す情報の数が多い場合には、このスレーブノード３，４，５が異常なウェイクアップをしていると判断することができる。
【００６８】
このため、マスタノード２は、正常に通信を行うことができ且つウェイクアップパルスを送信していないのにも関わらず異常なウェイクアップをしているスレーブノード３，４，５を検出することができる。
【００６９】
以上より、マスタノード２は、同時にウェイクアップしているスレーブノード３，４，５が複数存在している状況においてウェイクアップパルスの送信が許可されるスレーブノード３，４，５が１つである場合であっても、異常なウェイクアップをしているスレーブノード３，４，５を複数検出することができる。
【００７０】
またマスタノード２は、ＷＵパルス送信情報に基づいてスレーブノード３，４，５で異常が発生していると判断した後に（Ｓ２１０：ＹＥＳ）、通信システム１を構成するスレーブノード３，４，５に対して通信フレームの送信を要求するフレーム送信要求をスレーブノード３，４，５へ送信する送信間隔を、ＷＵパルス送信情報に基づいてスレーブノード３，４，５で異常が発生していると判断する前よりも短くする（Ｓ２７０）。
【００７１】
これにより、マスタノード２は、スリープ可否情報が、スリープが禁止されていることを示す値（以下、スリープ禁止値という）から、スリープが許可されていることを示す値（以下、スリープ許可値という）に変化してしまうことに起因して、異常なウェイクアップをしているスレーブノード３，４，５を検出し損ねるという事態の発生を抑制する。これにより、マスタノード２は、異常なウェイクアップをしているスレーブノード３，４，５を検出する精度を向上させることができる。
【００７２】
以上説明した実施形態において、マスタノード２は本発明におけるマスタ通信装置、スレーブノード３，４，５は本発明におけるスレーブ装置、Ｓ１０〜Ｓ９０の処理は本発明における第１異常判断手段、Ｓ２４０〜Ｓ３６０の処理は本発明における第２異常判断手段、Ｓ２７０の処理は本発明における短縮手段である。
【００７３】
（第２実施形態）
以下に本発明の第２実施形態を図面とともに説明する。なお第２実施形態では、第１実施形態と異なる部分を説明する。
【００７４】
第２実施形態の通信システム１は、複数異常スレーブ検出処理が変更された点以外は第１実施形態と同じである。
第２実施形態の複数異常スレーブ検出処理は、Ｓ２７５とＳ３４５の処理が変更された点以外は第１実施形態と同じである。
【００７５】
すなわち、図１１に示すように、Ｓ２７０の処理が終了すると、Ｓ２７５にて、スリープ可否情報の変更を禁止する変更禁止コマンドをスレーブノード３，４，５へ送信して、Ｓ２８０に移行する。
【００７６】
また、Ｓ３４０の処理が終了すると、Ｓ３４５にて、スリープ可否情報の変更を許可する変更許可コマンドをスレーブノード３，４，５へ送信して、Ｓ３５０に移行する。
このように構成されたマスタノード２は、ＷＵパルス送信情報に基づいてスレーブノード３，４，５で異常が発生していると判断した後に（Ｓ２１０：ＹＥＳ）、通信システム１を構成するスレーブノード３，４，５に対してスリープ可否情報の変更を禁止する変更禁止コマンドをスレーブノード３，４，５へ送信する（Ｓ２７５）。
【００７７】
このため、マスタノード２は、スリープ可否情報がスリープ禁止値からスリープ許可値に変化してしまうことに起因して、異常なウェイクアップをしているスレーブノード３，４，５を検出し損ねるという事態の発生を抑制する。これにより、マスタノード２は、異常なウェイクアップをしているスレーブノード３，４，５を検出する精度を向上させることができる。
【００７８】
以上説明した実施形態において、Ｓ２７５の処理は本発明における変更禁止手段である。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
【００７９】
（変形例１）
例えば上記実施形態では、通信システム１が３つのスレーブノードで構成されているものを示したが、２つまたは４つ以上のスレーブノードで構成されるようにしてもよい。
【００８０】
また、上記実施形態における１つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を１つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【００８１】
１…通信システム、２…マスタノード、３，４，５…スレーブノード
【図１】
0006375979.tif 000002
【図２】
0006375979.tif 000003
【図３】
0006375979.tif 000004
【図４】
0006375979.tif 000005
【図５】
0006375979.tif 000006
【図６】
0006375979.tif 000007
【図７】
0006375979.tif 000008
【図８】
0006375979.tif 000009
【図９】
0006375979.tif 000010
【図１０】
0006375979.tif 000011
【図１１】
0006375979.tif 000012