(57)【要約】【課題】  時分割通信方式によって、通信線に接続された複数の通信ノード間で相互にデータ通信する通信システムにおいて、アラームビットを設けることなく通信ノードの異常を通知できるようにする。【解決手段】  通信ノードＡは、他の通信ノードからのデータを受信し、受信したデータを検査することにより、受信したデータに異常があるか否かを判定し、受信したデータに異常があると判定された場合には、このデータを受信した通信時刻範囲に基づいて、このデータを送信した通信ノードを、通信異常を起こす異常な通信ノードＢとして特定する。そして、通信ノードＡは、特定された異常な通信ノードＢが、再びデータを送信する通信時刻範囲内に、異常通知フレームを送信する。【選択図】  図４
2006319568.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信ノードが共通のネットワークに接続され、前記通信ノード毎に予め設定された通信時刻範囲内に、前記各通信ノードが順にデータを送信する時分割方式によって、前記ネットワークを介して相互にデータ通信をするよう構成された通信システムにおいて、少なくとも１つの通信ノードが通信異常を起こす異常通信ノードに対して異常通知を行う異常通知方法であって、
他の通信ノードより受信したデータを検査することによって、受信したデータに異常があるか否かを判定し、
受信したデータに異常があると判定した場合には、このデータを受信した通信時刻範囲に基づいて、このデータを送信した通信ノードを、通信異常を起こす異常通信ノードとして特定し、
この異常通信ノードが再びデータを送信する通信時刻範囲内に、前記異常通信ノードに異常がある旨を通知する異常通知データを送信すること
を特徴とする異常通知方法。
【請求項２】
複数の通信ノードが共通のネットワークに接続され、前記通信ノード毎に予め設定された通信時刻範囲内に、前記各通信ノードが順にデータを送信する時分割方式によって、前記通信線を介して相互にデータ通信をするよう構成された通信システムであって、
少なくとも１つの通信ノードは、
他の通信ノードからのデータを受信し、該受信したデータを検査することにより、受信したデータに異常があるか否かを判定する異常判定手段と、
前記異常判定手段により、受信したデータに異常があると判定された場合には、このデータを受信した通信時刻範囲に基づいて、このデータを送信した通信ノードを、通信異常を起こす異常通信ノードとして特定する特定手段と、
前記特定手段により特定された異常通信ノードが、再びデータを送信する通信時刻範囲内に、前記異常通信ノードに異常がある旨を通知する異常通知データを送信する異常通知データ送信手段と、
を備えた検出通信ノードとして構成され、
前記各通信ノードは、
他の通信ノードからのデータを受信する受信手段と、
自己がデータを送信する通信時刻範囲内に、前記受信手段を介して異常通知データを受信したか否かを判定する受信判定手段と、
前記受信判定手段により異常通知データを受信したと判定された場合に、自己が異常であることを認識する異常認識手段と、
を備えたことを特徴とする通信システム。
【請求項３】
前記複数の通信ノードは、データをシリアル伝送可能な共通の通信線に接続されていることを特徴とする請求項２に記載の通信システム。
【請求項４】
前記検出通信ノードは、
前記異常通知データ送信手段が異常通知データを送信した直後であって、前記特定手段により特定された異常通信ノードが再びデータを送信する通信時刻範囲内に、異常通知データを再送信する再送信手段を備え、
前記各通信ノードは、
自己がデータを送信する通信時刻範囲内に、前記受信手段を介して何らかのデータを受信したか否かを判定する通信判定手段と、
前記通信判定手段により何らかのデータを受信したと判定された場合に、この直後に自己がデータを送信する通信時刻範囲内におけるデータ送信を禁止する禁止手段と、を備え、
前記受信判定手段は、前記禁止手段により自己がデータの送信を禁止されている通信時刻範囲内に、前記受信手段を介して異常通知データを受信したか否かを判定すること
を特徴とする請求項２または請求項３に記載の通信システム。
【請求項５】
前記再送信手段は、前記異常通信ノードの異常内容を表す異常コードを含む異常通知データを送信することを特徴とする請求項４に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ノードの異常を通知する異常通知方法、および通信システムに関する。
【背景技術】
【０００２】
従来より、時分割通信方式によって、通信線に接続された複数の通信ノード間で相互にデータ通信する通信システムにおいて、各通信ノードが自己のノードに異常があるか否かを判定し、その判定結果を、自己が送信するデータ内に設けられたアラームビットに反映させて送信することにより、他の通信ノードに異常を通知する通信システムが知られている（例えば、特許文献１参照）。
【特許文献１】特許２７７３７２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記通信システムでは、各通信ノードが送信するデータにアラームビットを設ける必要があるため、アラームビットを設ける分だけ通信効率が悪くなるという問題点があった。
【０００４】
そこで、このような問題点を鑑み、時分割通信方式によって、通信線に接続された複数の通信ノード間で相互にデータ通信する通信システムにおいて、アラームビットを設けることなく通信ノードの異常を通知できるようにすることを本発明の目的とする。
【課題を解決するための手段】
【０００５】
かかる目的を達成するためになされた請求項１に記載の異常通知方法は、複数の通信ノードが共通のネットワークに接続され、通信ノード毎に予め設定された通信時刻範囲内に、各通信ノードが順にデータを送信する時分割方式によって、ネットワークを介して相互にデータ通信をするよう構成された通信システムにおいて、少なくとも１つの通信ノードが通信異常を起こす異常通信ノードに対して異常通知を行うために用いられる。
【０００６】
即ち、この異常通知方法では、他の通信ノードより受信したデータを検査することによって、受信したデータに異常があるか否かを判定し、受信したデータに異常があると判定した場合には、このデータを受信した通信時刻範囲に基づいて、このデータを送信した通信ノードを、通信異常を起こす異常通信ノードとして特定する。そして、この異常通信ノードが再びデータを送信する通信時刻範囲内に、異常通信ノードに異常がある旨を通知する異常通知データを送信する。
【０００７】
従って、このような異常通知方法によれば、異常通信ノードは、自己からのみデータが送信されるはずの通信時刻範囲に、他の通信ノードからのデータを受信するので、自己の通信ノードが異常であることを認識することができる。
【０００８】
また、各通信ノードが通常の通信を行うときに送信するデータには、通信ノードの異常を報知するデータを設ける必要がないため、通信効率を向上させることができる。
次に、上記目的を達成するためになされた請求項２に記載の通信システムにおいて、少なくとも１つの通信ノードは、通信異常を起こす異常通信ノードを検出する検出通信ノードとして構成されている。そして、この検出通信ノードは、他の通信ノードからのデータを受信し、該受信したデータを検査することにより、受信したデータに異常があるか否かを判定する異常判定手段と、異常判定手段により、受信したデータに異常があると判定された場合には、このデータを受信した通信時刻範囲に基づいて、このデータを送信した通信ノードを、通信異常を起こす異常通信ノードとして特定する特定手段と、特定手段により特定された異常通信ノードが、再びデータを送信する通信時刻範囲内に、異常通信ノードに異常がある旨を通知する異常通知データを送信する異常通知データ送信手段と、を備えている。
【０００９】
また、各通信ノードは、他の通信ノードからのデータを受信する受信手段と、自己がデータを送信する通信時刻範囲内に、受信手段を介して異常通知データを受信したか否かを判定する受信判定手段と、受信判定手段により異常通知データを受信したと判定された場合に、自己が異常であることを認識する異常認識手段と、を備えている。
【００１０】
従って、このような通信システムによれば、異常通信ノードは、自己からのみデータが送信されるはずの通信時刻範囲に、他の通信ノードからのデータを受信するので、自己の通信ノードが異常であることを認識することができる。
【００１１】
また、各通信ノードが通常の通信を行うときに送信するデータには、通信ノードの異常を報知するデータを設ける必要がないため、通信効率を向上させることができる。
ここで、本発明において、検出通信ノードは、１つでも複数でもよい。ただし、検出通信ノードが異常通信ノードになった場合に備えて、代わりの検出通信ノードが設けられていることが望ましい。
【００１２】
ところで、請求項２に記載の通信システムにおいて、複数の通信ノードは、例えば、無線のネットワークに接続されていてもよいが、請求項３に記載のように、データをシリアル伝送可能な共通の通信線に接続されていることが望ましい。
【００１３】
従って、このような異常通信システムによれば、混信により通信効率が低下することを防止することができる。
さらに、請求項２または請求項３に記載の通信システムにおいては、請求項４に記載のように、検出通信ノードは、異常通知データ送信手段が異常通知データを送信した直後であって、特定手段により特定された異常通信ノードが再びデータを送信する通信時刻範囲内に、異常通知データを再送信する再送信手段を備え、各通信ノードは、自己がデータを送信する通信時刻範囲内に、受信手段を介して何らかのデータを受信したか否かを判定する通信判定手段と、通信判定手段により何らかのデータを受信したと判定された場合に、この直後に自己がデータを送信する通信時刻範囲内におけるデータ送信を禁止する禁止手段と、を備え、受信判定手段は、禁止手段により自己がデータの送信を禁止されている通信時刻範囲内に、受信手段を介して異常通知データを受信したか否かを判定すること、が望ましい。
【００１４】
即ち、検出通信ノードは、異常通知データを複数回送信し、異常を通知される通信ノードは、初めにデータの衝突を検出し、次に、データが衝突しない状態で異常通知データを受信するようにしているのである。
【００１５】
従って、このような通信システムによれば、物理層でのビットの優先度が決められていない場合であっても、異常通知データを確実に受信することができる。
加えて、請求項４に記載の通信システムにおいて、再送信手段は、請求項５に記載のように、異常通信ノードの異常内容を表す異常コードを含む異常通知データを送信することが望ましい。
【００１６】
このような通信システムによれば、通信周期を長くすることなく、異常通信ノードに異常の内容を通知することができる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明にかかる実施の形態を図面と共に説明する。
【実施例１】
【００１８】
図１（ａ）は、本発明が適用されたに通信システム（２００ａ）を示す模式図である。
本実施例の通信システム（２００ａ）は、図１（ａ）に示すように、４つの通信ノード、即ち、通信ノードＡ（２０１）、通信ノードＢ（２０２）、通信ノードＣ（２０３）、通信ノードＤ（２０４）が共通の通信線（共通のネットワーク）に接続されて構成されている。
【００１９】
次に、通信ノードＡ（２０１）の構成について図１（ｂ）を用いて説明する。図１（ｂ）は、通信ノードＡ（２０１）の概略構成を示すブロック図である。
通信ノードＡは（２０１）は、図１（ｂ）に示すように、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えた公知のマイクロコンピュータとして構成された制御部１１と、制御部１１からの指令を受けてデータを通信線（２０５）に送信する送信部（１２）と、通信線（２０５）を介してデータを受信する受信部（１４）と、送信部（１２）から送信されるデータおよび受信部（１４）により受信されるデータとを比較する比較部（１３）とを備えている。
【００２０】
比較部（１４）は、例えば、ＸＯＲ回路から構成されており、送信部（１２）から送信される信号および受信部（１４）により受信される信号が一致しない場合には、その旨の信号を制御部（１１）に送る。
【００２１】
また、制御部（１１）は、他の通信ノード（２０２）〜（２０４）と同期するための共通のクロック（図示は省略）を備えている。
なお、通信ノードＢ（２０２）〜通信ノードＤ（２０４）は、通信ノードＡ（２０１）と同様の構成であるため、これらについては説明を省略する。
【００２２】
ここで、この通信システム（２００ａ）においては、通信ノード（２０１）〜（２０４）毎に予め設定された通信時刻範囲内に、前記各通信ノードが順にデータを送信する時分割多重通信方式である固定タイムスロット方式の通信プロトコル（例えば、ＦｌｅｘＲａｙ（登録商標）−ＴＴＰ／Ｃ等）に基づいて、複数の通信ノード（２０１）〜（２０４）が相互に通信を行うよう構成されている。
【００２３】
このような固定タイムスロット方式について、図１（ｃ）を用いて説明する。図１（ｃ）は固定タイムスロット方式に沿った通信スケジュールの一例を示す説明図である。
本実施例の固定タイムスロット方式においては、通信ノード（２０１）〜（２０４）毎に、データを送信可能な時間の長さが予め決定されている。即ち、図１（ｃ）に示す例では、通信ノードＡ（２０１）がデータを送信する時間の長さ（タイムスロット（２）（通信時刻範囲））はｓ１であり、同様に、通信ノードＢ（２０２）〜通信ノードＤ（２０４）がデータを送信する時間の長さは、それぞれｓ２〜ｓ４に設定されている。
【００２４】
また、この通信システム（２００ａ）では、各通信ノード（２０１）〜（２０４）においてデータを送信する順序も決定されており、本実施例においては通信ノードＡ（２０１）、通信ノードＢ（２０２）、通信ノードＣ（２０３）、通信ノードＤ（２０４）の順にデータを送信する。
【００２５】
なお、この通信システム（２００ａ）においては、例えば、後述するデータフレームの送受信を行う前に、相互に通信を行い、互いにネットワークに接続されている通信ノードを確認することにより、通信周期（１）が決定される。
【００２６】
即ち、この通信システム（２００ａ）においては、通信線（２０５）に接続された各通信ノード（２０１）〜（２０４）におけるデータ送信時間の和によって通信周期（１）が決定されている。
【００２７】
このため、各通信ノード（２０１）〜（２０４）は、この通信周期（１）内の所定の通信時刻範囲内において、データを送信することになる。
そして、この通信システム（２００ａ）においては、通信ノード（２０１）〜（２０４）毎に、異常監視をする通信ノードと、異常通知先の通信ノードとを事前に決めておくマスタスレーブ方式を採用し、例えば、通信ノードＡ（２０１）がマスタノードに設定されており、その他の通信ノードＢ（２０２）〜通信ノードＤ（２０４）がスレーブノードに設定されている。このため、例えば、通信ノードＢ（２０２）の通信異常は、通信ノードＡ（２０１）により監視されることになる。
【００２８】
また、通信開始時期については、例えば、マスタノードである通信ノードＡ（２０１）が定期的（各通信周期の開始時等）に所定の信号（トリガパルス等）を送信することにより、他の通信ノードはこの信号を受信したときを基準として、データフレームを送信するタイミングを制御する。
【００２９】
より具体的には、図１（ｃ）に示すように、通信ノードＡ（２０１）は、時刻ｔ０に開始され時刻ｔ１で終了するタイムスロットｓ１内でデータフレームａを送信する。
また、通信ノードＢ（２０２）は、時刻ｔ１に開始され時刻ｔ２で終了するタイムスロットｓ２内でデータフレームｂを送信する。
【００３０】
そして、通信ノードＣ（２０３）は、時刻ｔ２に開始され時刻ｔ３で終了するタイムスロットｓ３内でデータフレームｃを送信する。
さらに、通信ノードＤ（２０４）は、時刻ｔ３に開始され時刻ｔ４で終了するタイムスロットｓ４内でデータフレームｄを送信する。
【００３１】
このように、この通信システム（２００ａ）は、タイムスロットｓ１〜ｓ４から成る通信周期（１）を繰り返すことにより、通信スケジュールを成立させている。
なお、この通信システム（２００ａ）では、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）基本参照モデルにおける物理層でのビットの優先度を、Ｈｉｇｈレベルに対してＬｏｗレベルが高く設定している。このため、例えば、Ｈｉｇｈレベルのビットと、Ｌｏｗレベルのビットとが衝突した場合には、各通信ノード（２０１）〜（２０４）においては、Ｌｏｗレベルのビットとして受信される。
【００３２】
このような通信システム（２００ａ）において、通信ノードＡ（２０１）は、図２に示すような処理を行う。図２は通信ノードＡ（２０１）の制御部１１が実行する通信処理を示すフローチャートである。
【００３３】
なお、この処理において、Ｓ１３０およびＳ１４０の処理は本発明でいう受信判定手段に相当し、Ｓ１５０の処理は異常認識手段に相当する。また、Ｓ１８０の処理は本発明でいう異常判定手段に相当し、Ｓ１９０の処理は特定手段に相当し、Ｓ２１０の処理は異常通知データ送信手段に相当する。
【００３４】
この通信処理では、まず、Ｓ１１０にて、通信ノードＡ（２０１）からデータフレームを送信するタイミングであるか否かを判定する。データフレームを送信するタイミングであればＳ１２０に移行し、データフレームを送信するタイミングでなければＳ１６０に移行する。
【００３５】
Ｓ１２０では、データフレームの送受信を行う。即ち、所定のデータフレームを、送信部（１２）を介して送信し、同時に受信部（１４）を介してそのデータフレームを受信する。このとき、比較部（１３）を用いて送信データと受信データとの比較を行う。
【００３６】
そして、Ｓ１３０に移行し、送信データと受信データとの比較結果が一致しているか否かを判定する。これらの比較結果が一致していればこの通信処理を終了し、これらのデータの比較結果が一致していなければＳ１４０に移行する。
【００３７】
Ｓ１４０では、受信部（１４）を介して異常通知フレームを受信したか否かを判定する。異常通知フレームを受信していればＳ１５０に移行し、異常通知フレームを受信していなければ通信処理を終了する。なお、異常通知フレームとは、現在データフレームを送信するタイミングである通信ノードに通信異常があることを通知するためのデータである。
【００３８】
このため、Ｓ１５０では、自らに異常があるものとして、異常を処理する異常処置プロセスを実行し、通信処理を終了する。
また、Ｓ１１０にてデータフレームを送信するタイミングでない場合に移行するＳ１６０では、現在データフレームを送信する通信ノード用の異常通知フラグがＯＮになっているか否かを判定する。この異常通知フラグがＯＮになっていればＳ２１０に移行し、この異常通知フラグがＯＦＦになっていればＳ１７０に移行する。
【００３９】
Ｓ１７０では、他の通信ノードよりデータフレームを受信し、Ｓ１８０に移行する。
そして、Ｓ１８０では、データフレームを受信した際の通信異常があるか否かを判定する。通信異常があればＳ１９０に移行し、通信異常がなければ通信処理を終了する。
【００４０】
なお、通信異常の具体例としては、データフレーム（図５参照）のフレームチェック部の異常、データフレームのデータ部内のデータ値異常、データフレームのインクリメントカウント値異常、データフレームが送信されない異常、通信以外の外部から得られる異常等が挙げられる。
【００４１】
次いで、Ｓ１９０では、データフレームを受信したタイミングに基づいて、通信異常を起こした通信ノードを特定し、Ｓ２００に移行する。
そして、Ｓ２００では、この通信ノードに対する異常通知フラグをＯＮに設定し、通信処理を終了する。
【００４２】
また、Ｓ１６０にて異常通知フラグがＯＮになっているときに移行するＳ２１０では、異常通知フレームを送信し、Ｓ２２０に移行する。
そして、Ｓ２２０では、この通信ノードに対する異常通知フラグをＯＦＦに設定し、通信処理を終了する。
【００４３】
次に、通信ノードＢ（２０２）〜通信ノードＤ（２０４）は、図３に示すような処理を行う。図３は通信ノードＢ（２０２）〜通信ノードＤ（２０４）の制御部１１が実行する通信処理を示すフローチャートである。
【００４４】
この処理は、大部分が通信ノードＡ（２０１）により実行される通信処理と同様であるため、異なる部分についてのみ説明する。
図３に示す通信処理は、Ｓ１１０にて、自己からデータフレームを送信するタイミングであるか否かを判定し、データフレームを送信するタイミングであればＳ１２０に移行し、データフレームを送信するタイミングでなければＳ３１０に移行する。
【００４５】
そして、Ｓ３１０では、マスタノードである通信ノードＡ（２０１）によるデータ送信タイミングであるか否かを判定する。通信ノードＡ（２０１）によるデータ送信タイミングであれば、Ｓ１６０に移行し、通信ノードＡ（２０１）以外よるデータ送信タイミングであれば、Ｓ３２０に移行する。
【００４６】
Ｓ３２０では、他の通信ノードよりデータフレームを受信し、Ｓ３３０に移行する。
そして、Ｓ３３０では、データフレームに異常通知フレームが含まれているか否かを判定する。データフレームに異常通知フレームがあればＳ３４０に移行し、データフレームに異常通知フレームがなければ通信処理を終了する。
【００４７】
次いで、Ｓ３４０では、データフレームを受信したタイミングに基づいて、通信異常を起こした通信ノードを認識し、通信処理を終了する。このように、通信異常を起こした通信ノードを認識した通信ノードは、例えば、この異常な通信ノード宛のデータを送信しないようにしたり、異常な通信ノードから送信されたデータを受信しないようにしたりといった処理を行うことになる。
【００４８】
なお、Ｓ１２０〜Ｓ２２０については、図２に示す通信処理と同様の処理を行う。
次に、より具体的に、この通信システム（２００ａ）において、通信ノードＢ（２０２）における通信異常を通知する方法について図４を用いて説明する。図４は通信ノードＡ（２０１）が通信ノードＢ（２０２）に対して異常を通知する手順を示すタイミングチャートである。
【００４９】
なお、図４において、実線にて示すデータフレームは、ある通信ノードから送信される送信フレーム（３）を示し、破線にて示すデータフレームは、他の通信ノードより受信される受信フレーム（４）を示す。
【００５０】
また、この異常報知手順は、本発明でいう異常通知方法に相当する。
この異常通知手順において、時刻ｔ０では、図４に示すように、タイムスロットｓ１が開始される。このタイムスロットｓ１では、所定の送信オフセット（５）の後に、通信ノードＡ（２０１）がデータフレームａを通信ノードＢ（２０２）、通信ノードＣ（２０３）、通信ノードＤ（２０４）に対して送信する。このデータフレームの送信は、タイムスロットｓ１内で終了される。
【００５１】
そして、時刻ｔ１では、タイムスロットｓ１が終了され、タイムスロットｓ２が開始される。このタイムスロットｓ２では、送信オフセット（５）の後に、通信ノードＢ（２０２）がデータフレームｂを通信ノードＡ（２０１）、通信ノードＣ（２０３）、通信ノードＤ（２０４）に対して送信する。このデータフレームｂの送信は、タイムスロットｓ２内で終了される。
【００５２】
ここで、通信ノードＡ（２０１）は、常時通信異常を監視している。このため、通信ノードＢ（２０２）に通信異常が発生したと仮定すると、通信ノードＡ（２０１）は、タイムスロットｓ２において、この通信異常を検出する。
【００５３】
通信ノードＡ（２０１）は、タイムスロットｓ２における通信異常を検出すると、通信周期（１）において異常を検出したタイミングに基づいて、通信異常を起こした通信ノードが通信ノードＢ（２０２）であることを特定する。そして、通信ノードＡ（２０１）内の所定の記憶領域（ＲＡＭ）に、通信ノードＢ（２０２）が異常である旨を記憶する。
【００５４】
次いで、時刻ｔ２では、タイムスロットｓ２が終了され、タイムスロットｓ３が開始される。このタイムスロットｓ３では、送信オフセット（５）の後に、通信ノードＣ（２０３）がデータフレームｂを通信ノードＡ（２０１）、通信ノードＢ（２０２）、通信ノードＤ（２０４）に対して送信する。このデータフレームｃの送信は、タイムスロットｓ３内で終了される。
【００５５】
さらに、時刻ｔ３では、タイムスロットｓ３が終了され、タイムスロットｓ４が開始される。このタイムスロットｓ４では、送信オフセット（５）の後に、通信ノードＤ（２０４）がデータフレームｄを通信ノードＡ（２０１）、通信ノードＢ（２０２）、通信ノードＣ（２０３）に対して送信する。このデータフレームｄの送信は、タイムスロットｓ４内で終了される。
【００５６】
次に、時刻ｔ４では、タイムスロットｓ４が終了され、この結果、通信周期（１）が終了する。そして、再び新たな通信周期（１）が開始され、タイムスロットｓ１が開始される。ここで、タイムスロットｓ１においては、１通信周期前（時刻ｔ０の際の処理）と同様の処理が行われる。
【００５７】
そして、時刻ｔ５では、タイムスロットｓ１が終了され、タイムスロットｓ２が開始される。このタイムスロットｓ２において、通信ノードＢ（２０１）は、１通信周期前（時刻ｔ１の際の処理）と同様に、データフレームｂを通信ノードＡ（２０１）、通信ノードＣ（２０３）、通信ノードＤ（２０４）に対して送信する。
【００５８】
ここで、通信ノードＡ（２０１）は、通信ノードＡ（２０１）内の所定の記憶領域に、通信ノードＢ（２０２）〜通信ノードＤ（２０４）に異常がある旨が記憶されているか否かを監視しており、時刻ｔ５においては、通信ノードＢ（２０２）に異常がある旨が記憶されているか否かを判定する。
【００５９】
本実施例においては、時刻ｔ１〜時刻ｔ２の間に、通信ノードＢ（２０２）に異常がある旨が記憶されているので、通信ノードＡ（２０１）は、時刻ｔ５〜時刻ｔ６の間におけるスロットｓ２の開始から送信オフセット（５）後に、異常通知フレームを通信ノードＢ（２０２）、通信ノードＣ（２０３）、通信ノードＤ（２０４）に対して送信する。この異常通知フレームの送信は、スロットｓ２内で終了される。
【００６０】
このように、通信ノードＢ（２０２）からデータフレームが送信される通信時刻範囲において、通信ノードＡ（２０１）からも異常通知フレームが送信されると、異常が起きている通信ノードＢ（２０２）が送信したデータフレームｂと、正常な通信ノードＡ（２０１）が送信した異常通知フレームとのメッセージ衝突が起こることになる。
【００６１】
ここで、各通信ノード（２０１）〜（２０４）から送信されるデータフレームについて図５を用いて説明する。図５（ａ）は通常のデータフレームを示す説明図、図５（ｂ）は異常通知フレームを示す説明図である。
【００６２】
通常の通信の際に、各通信ノード（２０１）〜（２０４）により送信されるデータフレームは、フレームヘッダ部と、データ部と、フレームチェック部とから構成されている。通常のデータフレームにおいて、これらの各部は、ＨｉｇｈレベルおよびＬｏｗレベルの信号を組み合わせて構成されている。
【００６３】
また、本実施例において時刻ｔ５〜時刻ｔ６の間に通信ノードＡ（２０１）により送信される異常通知フレームは、図５（ｂ）に示すように、全てＬｏｗレベルの信号から構成されている。
【００６４】
このため、異常が起きている通信ノードＢ（２０２）が送信したデータフレームｂと、正常な通信ノードＡ（２０１）が送信した異常通知フレームとのメッセージ衝突が起った場合には、メッセージは全てＬｏｗレベルの信号（つまり、異常通知フレームそのもの）として各通信ノード２０２〜２０４に受信されることになる。従って、各通信ノード２０２〜２０４は、通信ノードＡ（２０１）から送信された異常通知フレームを受信することになる。
【００６５】
その後、異常が起きている通信ノードＢ（２０２）は、自分に割り当てられているタイムスロットｓ２内で異常通知フレームを受信するため、自らが異常と通知されたことを認識することができる。この後、通信ノードＢ（２０２）は、例えば、装置のリセットを行い異常状態を解除するための異常処理プロセスを行う。
【００６６】
また、異常通知をしていない正常な通信ノード（通信ノードＣ（２０３）および通信ノードＤ（２０４））は、通信ノードＢ（２０２）に割り当てられているスロットｓ２内で異常通知フレームを受信したことから、通信ノードＢ（２０２）に異常が起きていることを認識することができる。
【００６７】
この通信システム（２００ａ）におけるこの後の通信は、正常な通信ノードＡ（２０１）と通信ノードＣ（２０３）と通信ノードＤ（２０４）で続行される。つまり、時刻ｔ６〜時刻ｔ８において、時刻ｔ２〜時刻ｔ４の処理と同様に、各通信ノードからデータフレームを送信する処理が行われる。なお、通信ノードＢは正常に復帰後に通信に参加することになる。
【００６８】
以上のように詳述した通信システム（２００ａ）においては、複数の通信ノードが共通のネットワークに接続され、通信ノード毎に予め設定された通信時刻範囲内に、各通信ノードが順にデータを送信する時分割方式によって、通信線を介して相互にデータ通信をするよう構成されている。そして、通信システム（２００ａ）においては、通信異常を起こす異常な通信ノードＢ（２０２）に対して、この異常な通信ノードを検出する通信ノードＡ（２０１）から異常通知を行う。
【００６９】
即ち、通信ノードＡ（２０１）は、他の通信ノードからのデータを受信し、受信したデータを検査することにより、受信したデータに異常があるか否かを判定し、受信したデータに異常があると判定された場合には、このデータを受信した通信時刻範囲に基づいて、このデータを送信した通信ノードを、通信異常を起こす異常な通信ノードＢ（２０２）として特定する。そして、通信ノードＡ（２０１）は、特定された異常な通信ノードＢ（２０２）が、再びデータを送信する通信時刻範囲内に、異常通知フレームを送信する。
【００７０】
また、通信ノードＢ（２０２）〜通信ノードＤ（２０４）は、他の通信ノードからのデータを受信可能に構成されており、自己がデータを送信する通信時刻範囲内に、異常通知フレームを受信したか否かを判定し、異常通知フレームを受信したと判定した場合に、自己が異常であることを認識する。そして、この通信ノードは、異常処置プロセスを実行する。
【００７１】
従って、このような通信システム（２００ａ）によれば、異常な通信ノードＢ（２０２）は、自己からのみデータが送信されるはずの通信時刻範囲に、他の通信ノードからのデータを受信するので、自己の通信ノードが異常であることを認識することができる。
【００７２】
また、各通信ノードが通常の通信を行うときに送信するデータには、通信ノードの異常を報知するデータを設ける必要がないため、通信効率を向上させることができる。
また、複数の通信ノードは、共通の通信線に接続されている。
【００７３】
なお、本発明の実施の形態は、上記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
例えば、本実施例において、物理層でのビットの優先度は、Ｈｉｇｈレベルに対してＬｏｗレベルを高く設定したが、ビットの優先度が逆の場合は、図５（ｂ）のビット値を反転させ、全てＨｉｇｈレベルにしたものを異常通知フレームとして使用すればよい。
【００７４】
また、異常の監視方式は、通信ノード毎に異常監視・通知先通信ノードを事前に決めておくマスタスレーブ方式を採用したが、特にこの方式に限らず、全ての通信ノードが全ての通信ノードを監視し合うマルチマスタ方式としても、本実施例と同様の効果が得られる。
【００７５】
さらに、マスタスレーブ方式を採用する場合には、通信ノード毎に異なる通信ノードを異常監視するマスタノードとして設定してもよい。具体的には、各通信ノード（２０１）〜（２０４）は、自己がデータフレームを送信するタイムスロットの直後のタイムスロットを監視し、直後のタイムスロットにおけるデータの送信元の通信ノードに対して異常通知を行うよう構成してもよい。
【００７６】
また、本実施例において、通信ノードＡ（２０１）〜通信ノードＤ（２０４）は、共通の通信線（２０５）に接続するよう構成したが、共通のネットワークに接続されていれば、例えば、無線のネットワークに接続されていてもよい。
【実施例２】
【００７７】
次に、別形態の通信システム（２００ｂ）について説明する。本実施例（実施例２）にて説明する通信システム（２００ｂ）は、大部分の構成が実施例１の通信システム（２００ａ）の構成と同様の構成である。従って、本実施例（実施例２）では、実施例１の通信システム（２００ａ）と異なる箇所のみを詳述し、実施例１の通信システム（２００ａ）と同様の箇所については、同一の符号を付して説明を省略する。
【００７８】
本実施例の通信システム（２００ｂ）では、ＯＳＩ基本参照モデルにおける物理層での優先度が設定されていない。このため、実施例１の異常通知手順（図４）の時刻ｔ５〜ｔ６において、メッセージ衝突が起こった場合には、衝突したデータ（ビット）がＨｉｇｈレベルになるかＬｏｗレベルになるかが特定できない。従って、このような場合には、ノードＡ（２０１）が異常通知フレームを送信したとしても、他の通信ノードＢ（２０２）〜Ｄ（２０４）が異常通知フレームを正常に受信できない虞がある。
【００７９】
このため、本実施例では、ＯＳＩ基本参照モデルにおける物理層での優先度が設定されていない場合においても、正常に異常通知フレームを受信できるようにしている。
即ち、通信ノードＡ（２０１）〜通信ノードＤ（２０４）は、図６および図７に示す通信処理を行う。図６は通信ノードＡ（２０１）の制御部１１が実行する通信処理を示すフローチャート、図７は通信ノードＤ（２０４）の制御部１１が実行する通信処理を示すフローチャートである。
【００８０】
なお、この処理において、Ｓ４１０およびＳ４２０の処理は本発明でいう禁止手段に相当し、Ｓ１３０の処理は通信判定手段に相当する。また、Ｓ１４０の処理は本発明でいう受信判定手段に相当し、Ｓ２１０の処理は再送信手段に相当し、Ｓ４５０の処理は異常通知データ送信手段に相当する。
【００８１】
図６に示す通信処理は、まず、Ｓ１１０にて、通信ノードＡ（２０１）からデータフレームを送信するタイミングであるか否かを判定する。データフレームを送信するタイミングであればＳ４１０に移行し、データフレームを送信するタイミングでなければＳ４３０に移行する。
【００８２】
Ｓ４１０では、ＲＡＭ内の送信禁止フラグがＯＮに設定されているか否かを判定する。送信禁止フラグがＯＮに設定されていればＳ１４０に移行し、送信禁止フラグがＯＦＦに設定されていればＳ１２０に移行する。
【００８３】
そして、Ｓ１２０およびＳ１３０では、実施例１の通信処理と同様の処理を行い、Ｓ１３０にて送信データと受信データとの比較結果が一致していなければＳ４２０に移行する。
【００８４】
Ｓ４２０では、送信禁止フラグをＯＮに設定し、通信処理を終了する。このように、Ｓ４２０にて送信禁止フラグをセットすることにより、この通信ノード（通信ノードＡ（２０１））が次回の通信周期においてデータフレームを送信することを禁止している。
【００８５】
次に、Ｓ４３０では、現在データフレームを送信する通信ノード用の異常通知フラグまたは異常通知予備フラグがＯＮになっているか否かを判定する。異常通知フラグまたは予備フラグがＯＮになっていればＳ４４０に移行し、異常通知フラグおよび予備フラグがＯＦＦになっていればＳ１７０に移行する。
【００８６】
Ｓ４４０では、現在データフレームを送信する通信ノード用の異常通知予備フラグがＯＮになっているか否かを判定する。異常通知予備フラグがＯＮになっていればＳ４５０に移行し、異常通知予備フラグがＯＦＦになっていればＳ２１０に移行する。
【００８７】
Ｓ４５０では、異常通知フレームを送信し、Ｓ４６０に移行する。
そして、Ｓ４６０では、異常通知予備フラグをＯＦＦに設定し、Ｓ４７０に移行する。
次いで、Ｓ４７０では、異常通知フラグをＯＮに設定し、通信処理を終了する。
【００８８】
また、Ｓ１９０の処理を終了するとＳ４８０に移行し、Ｓ４８０では、Ｓ１９０で特定された異常ノードに対する異常通知予備フラグをＯＮに設定し、通信処理を終了する。
なお、Ｓ１４０〜１９０、Ｓ２１０、Ｓ２２０の処理は、前述の通信処理と同様の処理であるため、その説明を省略する。
【００８９】
次に、図７に示す通信ノードＤ（２０４）が実行する通信処理は、図６にて説明した通信処理におけるＳ１１０の処理とＳ４３０の処理の間にＳ３１０の処理が追加される。
即ち、この処理は、Ｓ１１０にて、通信ノードＤ（２０４）からデータフレームを送信するタイミングであるか否かを判定し、データフレームを送信するタイミングであればＳ１２０に移行し、データフレームを送信するタイミングでなければＳ３１０に移行する。
【００９０】
そして、Ｓ３１０では、マスタノードである通信ノードＡ（２０１）によるデータ送信タイミングであるか否かを判定する。通信ノードＡ（２０１）によるデータ送信タイミングであれば、Ｓ４３０に移行し、通信ノードＡ（２０１）以外よるデータ送信タイミングであれば、Ｓ３２０（図３参照）に移行する。
【００９１】
なお、Ｓ３２０〜Ｓ３４０の処理（図３参照）については、図３に示す通信処理と同様であり、その他の処理については、図６に示す通信処理と同様であるため説明を省略する。
【００９２】
ここで、通信ノードＢ（２０２）および通信ノードＣ（２０３）が実行する通信処理は、通信ノードＤ（２０４）が実行する通信処理のうち、Ｓ１４０〜Ｓ２２０、Ｓ３１０、Ｓ４３０〜Ｓ４７０を除いたものとなっている。ただし、Ｓ１１０にて否定判定された場合には、Ｓ３２０に移行する。
【００９３】
このように、通信ノードＢ（２０２）および通信ノードＣ（２０３）が実行する通信処理を、通信ノードＤ（２０４）が実行する通信処理とは異なる処理にしているのは、ノードＡ（２０１）に異常があるときに、ノードＡ（２０１）の異常を通知する異常通知データが複数の通信ノードから送信され、これらの異常通知データ同士が衝突することを防止するためである。
【００９４】
つまり、この通信システム（２００ｂ）においては、通信ノードＡ（２０１）に通信異常が発生した場合には、通信ノードＤ（２０４）が異常通知フレームを送信し、通信ノードＡ（２０１）以外の通信ノードに通信異常が発生した場合には、通信ノードＡ（２０１）が異常通知フレームを送信する。
【００９５】
具体的に本実施例で実行される通信異常を通知する手順について、図８を用いて説明する。図８（ａ）は、実施例１の図４と同様に、通信ノードＡ（２０１）が通信ノードＢ（２０２）に対して異常を通知する手順を示すタイミングチャートである。また、図８（ｂ）は本実施例における異常通知フレームを示す説明図である。
【００９６】
本実施例の異常通知手順においては、時刻ｔ０〜時刻ｔ５までは、実施例１にて述べたものと同様の処理を行う。
そして、時刻ｔ５において、通信ノードＡ（２０１）は、例えば、実施例１と同様の異常通知フレーム（図５（ｂ）参照）を送信する。
【００９７】
このとき、異常が起きている通信ノードＢ（２０２）からもデータフレームｂが送信されるため、このデータフレームｂと、正常な通信ノードＡ（２０１）が送信した異常通知フレームとのメッセージ衝突が起きる。このとき、通信ノードＢ（２０２）、通信ノードＣ（２０３）、通信ノードＤ（２０４）は、異常通知フレームを正常には受信できず、メッセージ衝突（つまり、何らかのテータを受信したこと）のみを認識することができる。
【００９８】
ここで、異常が起きている通信ノードＢ（２０２）は、自分に割り当てられているスロットｓ２内でメッセージ衝突が起きたため、他の通信ノードから異常通知フレームが送信されている可能性があると判定し、次の通信周期でデータフレームｂを送信しないよう通信ノードＢ（２０２）内の記憶領域に記憶する。
【００９９】
また、異常通知フレームを送信した通信ノードＡ（２０１）もメッセージ衝突を認識し、異常通知フレームが正常に受信されていないと考え、次の通信周期にも異常通知フレームを送信する事を内部の記憶領域に記憶する。
【０１００】
そして、時刻ｔ６〜時刻ｔ８の間の処理は、実施例１の処理と同様にして実行される。また、時刻ｔ８〜時刻ｔ９の間の処理についても、時刻ｔ０〜時刻ｔ１の処理と同様に、通信ノードＡ（２０１）からデータフレームを送信する処理が行われる。
【０１０１】
次に、時刻ｔ９になると、タイムスロットｓ１が終了され、タイムスロットｓ２が開始される。このとき、通信ノードＢ（２０２）は、内部の記憶領域に、この通信周期に送信しない事を記憶しているため、データフレームｂを送信しない。つまり、データフレームの送信を禁止している。
【０１０２】
そして、通信ノードＡ（２０１）は、この通信周期の所定のタイミングで異常通知フレームを送信することを記憶しているため、異常通知フレームを通信ノードＢ（２０１）、通信ノードＣ（２０３）、通信ノードＤ（２０４）に対して送信する。
【０１０３】
ここで、時刻ｔ９〜時刻ｔ１０の間に通信ノードＡ（２０１）により送信される異常通知フレームは、図８（ｂ）に示すように、前半部分がＬｏｗレベルにされており、後半部分は異常コードを示す信号（ＬｏｗレベルおよびＨｉｇｈレベルの信号を含む信号）とされている。なお、この異常コードを示す信号には、異常の内容を表すコードや、異常な通信ノード表すコード等が含まれている。
【０１０４】
これにより、通信ノードＢ（２０２）、通信ノードＣ（２０３）、通信ノードＤ（２０４）で異常通知フレームがメッセージが正常に受信され、異常が起きている通信ノードＢ（２０２）は、自分に割り当てられているスロットｓ２内で異常通知フレーム（図８）を受信するため、自分が異常と通知されたことを認識する。
【０１０５】
その後、異常が起きている通信ノードＢ（２０２）は、異常通知フレームに含まれる異常コードから、自らが異常と通知されたことを認識することができる。そして、通信ノードＢ（２０２）は、例えば、装置のリセットを行い異常状態を解除するための異常処理プロセスを行う。
【０１０６】
また、異常通知をしていない正常な通信ノード（通信ノードＣ（２０３）および通信ノードＤ（２０４））は、異常通知フレームに含まれる異常コードに基づいて、通信ノードＢ（２０２）に異常が起きていることを認識することができる。
【０１０７】
このように、実施例２に記載の通信システム（２００ｂ）において、通信ノードＡ（２０１）は、異常通知フレームを送信した直後であって、異常な通信ノードＢ（２０２）が再びデータを送信する通信時刻範囲内に、異常通知フレームを再送信する。
【０１０８】
また、異常な通信ノードＢ（２０２）は、自己がデータを送信する通信時刻範囲内に、何らかのデータを受信したか否かを判定し、何らかのデータを受信したと判定された場合に、この直後に自己がデータを送信する通信時刻範囲内におけるデータ送信を禁止する。
【０１０９】
そして、通信ノードＢ（２０２）〜（２０４）は、自己がデータの送信を禁止されている通信時刻範囲内に、異常通知フレームを受信する。
従って、このような通信システム（２００ａ）によれば、通信ノードＡ（２０１）は、異常通知フレームを複数回送信し、異常を通知される通信ノードＢ（２０２）は、初めにデータの衝突を検出し、次に、データが衝突しない状態で異常通知フレームを受信することができる。このため、物理層でのビットの優先度が決められていない場合であっても、異常通知フレームを確実に受信することができる。
【０１１０】
また、通信システム（２００ｂ）において、通信ノードＡ（２０１）は、異常な通信ノードＢ（２０２）の異常内容を表す異常コードを含む異常通知フレームを送信する。
従って、このような通信システム（２００ａ）によれば、通信周期を長くすることなく、異常な通信ノードＢ（２０２）に異常の内容を通知することができる。
【０１１１】
また、本実施例の場合は、監視方式にマスタスレーブ方式を採用しており、データフレームが衝突しない状態で異常通知フレームを受信することができるので、異常通知フレームに異常内容を表す異常コードを含めることができる。
【０１１２】
なお、このように異常通知フレームに異常コードを含める場合には、異常通知フレームを送信するタイミングは、異常な通信ノードがデータフレームを送信するときに限らず、正常な他の通信ノードがデータフレームを送信するときにすることもできる。
【０１１３】
また、異常通知フレームに異常コードを含めない場合には、実施例１と同様に異常の監視方式は、通信ノード毎に異常監視・通知先通信ノードを事前に決めておくマスタスレーブ方式に限らず、全ての通信ノードが全ての通信ノードを監視し合うマルチマスタ方式としても、本実施例と同様の効果が得られる。
【図面の簡単な説明】
【０１１４】
【図１】通信システムを示す模式図（ａ）、固定タイムスロット方式に沿った通信スケジュールの一例を示す説明図（ｂ）、および固定タイムスロット方式に沿った通信スケジュールの一例を示す説明図（ｃ）である。
【図２】実施例１の通信ノードＡ（２０１）が実行する通信処理を示すフローチャートである。
【図３】実施例１の通信ノードＢ（２０２）〜通信ノードＤ（２０４）が実行する通信処理を示すフローチャートである。
【図４】実施例１の通信ノードＡ（２０１）が通信ノードＢ（２０２）に対して異常を通知する手順を示すタイミングチャートである。
【図５】通常のデータフレームを示す説明図（ａ）、実施例１の異常通知フレームを示す説明図（ｂ）である。
【図６】実施例２の通信ノードＡ（２０１）が実行する通信処理を示すフローチャートである。
【図７】実施例２の通信ノードＤ（２０４）の制御部１１が実行する通信処理を示すフローチャートである。
【図８】実施例２の通信ノードＡ（２０１）が通信ノードＢ（２０２）に対して異常を通知する手順を示すタイミングチャート（ａ）、および実施例２の異常通知フレームを示す説明図（ｂ）である。
【符号の説明】
【０１１５】
１…通信周期、２…タイムスロット、３…送信フレーム、４…受信フレーム、５…送信オフセット、１１…制御部、２００ａ，２００ｂ…通信システム、２０１〜２０４…通信ノード、２０５…通信線。
【図１】
2006319568.tif 000003
【図２】
2006319568.tif 000004
【図３】
2006319568.tif 000005
【図５】
2006319568.tif 000006
【図６】
2006319568.tif 000007
【図７】
2006319568.tif 000008
【図４】
2006319568.tif 000009
【図８】
2006319568.tif 000010