(57)【要約】【課題】想定されるネットワークの断線やバス異常が発生した場合、複数のコントローラを使用すること無く冗長ネットワークを維持可能な冗長通信システムを提供する。【解決手段】ドメインＵＮＩＴ−Ａは、ＣＰＵ１０と、系統Ｉに対応する第１ドライバＡ１と、系統ＩＩに対応する第２ドライバＡ２と、出力部１３側がＣＰＵ１０の受信部ＲＸに接続されるように配置されるＯＲ回路１１とを含む。ドメインＵＮＩＴ−Ａの第１ドライバＡ１の送信部ＴＸおよびドメインＵＮＩＴ−Ａの第２ドライバＡ２の送信部ＴＸは、それぞれドメインＵＮＩＴ−ＡのＣＰＵ１０の送信部ＴＸのチャネルに接続されている。【選択図】図１
2017168964.tif 000002
【特許請求の範囲】
【請求項１】
第１装置と、
第２装置と、
第１装置と第２装置とを接続する第１通信経路および第２通信経路とを備え、
第１装置は、少なくとも一つのＣＰＵと、第１通信経路に対応する第１ドライバと、第２通信経路に対応する第２ドライバと、出力端側がＣＰＵ側になるように配置される論理和演算手段とを含み、
第２装置は、少なくとも一つのＣＰＵと、第１通信経路に対応する第１ドライバと、第２通信経路に対応する第２ドライバとを含み、
第１装置の第１ドライバの送信部および第１装置の第２ドライバの送信部は、それぞれ第１装置のＣＰＵのうち同一のＣＰＵに接続され、
第１装置の第１ドライバの受信部および第１装置の第２ドライバの受信部は、それぞれ同一の前記論理和演算手段を介して、前記第１装置の前記同一のＣＰＵと接続される、
ことを特徴する冗長通信システム。
【請求項２】
第２装置は、出力端側が第２装置のＣＰＵ側になるように配置される論理和演算手段を含み、
前記第２装置の第１ドライバの送信部および第２装置の第２ドライバの送信部は、それぞれ第２装置のＣＰＵのうち同一のＣＰＵに接続され、
第２装置の第１ドライバの受信部および第２装置の第２ドライバの受信部は、それぞれ  前記第２装置の同一の論理和演算手段を介して前記第２装置の前記同一のＣＰＵと接続される、
ことを特徴する請求項１に記載の冗長通信システム。
【請求項３】
前記第１装置または第２装置のＣＰＵは、第１ドライバを有効として第２ドライバを無効とする第１状態と、第２ドライバを有効として第１ドライバを無効とする第２状態とを有し、第１状態での通信において、通信異常を検出した場合には、第２状態へと移行する制御を行う、ことを特徴とする請求項１または２に記載の冗長通信システム。
【請求項４】
第１装置と、
第２装置と、
第３装置と、
第１装置と第２装置と第３装置とを接続する第１通信経路および第２通信経路とを備え、
第１装置は、少なくとも一つのＣＰＵと、第１通信経路に対応する第１ドライバと、第２通信経路に対応する第２ドライバと、前記第１ドライバの受信部からの信号と前記第２ドライバの受信部からの信号を入力要素とする論理和を前記ＣＰＵの受信部への出力とする第１論理和演算手段と、前記第２ドライバの受信部からの信号と前記ＣＰＵの送信部からの信号を入力要素とする論理和を前記第１ドライバの送信部への出力とする第２論理和演算手段と、前記第１ドライバの受信部からの信号と前記ＣＰＵの送信部からの信号を入力要素とする論理和を前記第２ドライバの送信部への出力とする第３論理和演算手段と、を含み、
第２装置と第３装置は、それぞれ、少なくとも一つのＣＰＵと、第１通信経路に対応する第１ドライバと、第２通信経路に対応する第２ドライバとを含む、
ことを特徴とする冗長通信システム。
【請求項５】
前記第１装置は、
第２論理和演算手段の入力部を、それぞれ前記第２ドライバの受信部と前記ＣＰＵの送信部に接続することで、前記第２ドライバの受信部からの信号と前記ＣＰＵの送信部からの信号を、第２論理和演算手段への入力要素とするともに、
第３論理和演算手段の入力部を、それぞれ前記第１ドライバの受信部と前記ＣＰＵの送信部に接続することで、前記第１ドライバの受信部からの信号と前記ＣＰＵの送信部からの信号を、第３論理和演算手段への入力要素とする、
ことを特徴とする請求項４記載の冗長通信システム。
【請求項６】
前記第１装置は、
第２論理和演算手段の入力部を、それぞれ前記第２ドライバの受信部と前記ＣＰＵの送信部に接続することで、前記第２ドライバの受信部からの信号と前記ＣＰＵの送信部からの信号を、第２論理和演算手段への入力要素とするともに、
第３論理和演算手段の入力部を、それぞれ前記第１ドライバの受信部と前記第２論理和演算手段の出力部とに接続することで、前記第１ドライバの受信部からの信号と前記ＣＰＵの送信部からの信号を、第３論理和演算手段への入力要素とする、
ことを特徴とする請求項４に記載の冗長通信システム。
【請求項７】
第１装置の第１ドライバおよび第２ドライバに終端抵抗を設けるとともに、第２装置の一方のドライバに終端抵抗を設け、かつ第３装置の他方のドライバに終端抵抗を設けた、ことを特徴とする請求項４〜６に記載の冗長通信システム。
【請求項８】
第１装置と第２装置と第３装置とは、互いが送信する信号の衝突を回避する信号衝突回避機能を備える、
ことを特徴とする請求項４〜７に記載の冗長通信システム。
【請求項９】
前記第１装置、第２装置または第３装置の少なくとも何れか１つのＣＰＵは、第１通信経路と第２通信経路の通信状態に基づいて、第１ドライバおよび第２ドライバの有効・無効を制御する、ことを特徴とする請求項４〜８に記載の冗長通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長通信システムに関する。
【背景技術】
【０００２】
従来の冗長通信システムとして、制御装置内に第１ドライバと第２ドライバとを配置し、２つ以上のネットワークに接続し、冗長制御を行うものが知られている（例えば、特許文献１等参照）。
このようなものでは、通信回路を二つ用意し、重要な情報とそうでない情報を異なる二つのネットワークにて送受信している。例えば、従来技術に於いて重要な情報を伝達しているネットワークにて異常がある場合に、もう一つのネットワークを利用して通信データの信頼性を保証する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２２９００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような従来の冗長通信システムでは、通信ミドルウェアを複数実装している。また、コントローラとしてのＣＰＵを２つ以上使用して冗長ネットワークを構築している。このため、ＣＰＵの数量が増大して、コストアップに繋がってしまうといった問題があった。
【０００５】
また、昨今の電子制御装置の増加に伴い、一台の車両内に複数の制御装置が搭載される場合には、ネットワーク上の接続可能な制御装置の上限等によりネットワークを分割して送受信を行わなくてはならない。さらに、ドメイン化された制御構成ではハブ的な役割を果たす制御装置も必要となってくる。
【０００６】
しかし、複数のネットワークコントローラとなるＣＰＵは高価であり、コストアップしてしまう。また、コントローラ毎に送受信されるデータを個別に処理する必要があり処理負荷が増大してしまう。
【０００７】
本発明は、想定されるネットワークの断線やバス異常が発生した場合、複数のコントローラを使用すること無く冗長ネットワークを維持可能な冗長通信システムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
本発明に係る冗長通信システムは、第１装置と、第２装置と、第１装置と第２装置とを接続する第１通信経路および第２通信経路とを備え、第１装置は、少なくとも一つのＣＰＵと、第１通信経路に対応する第１ドライバと、第２通信経路に対応する第２ドライバと、出力端側がＣＰＵ側になるように配置される論理和演算手段とを含み、第２装置は、少なくとも一つのＣＰＵと、第１通信経路に対応する第１ドライバと、第２通信経路に対応する第２ドライバとを含み、第１装置の第１ドライバの送信部および第１装置の第２ドライバの送信部は、それぞれ第１装置のＣＰＵのうち同一のＣＰＵに接続され、第１装置の第１ドライバの受信部および第１装置の第２ドライバの受信部は、それぞれ同一の前記論理和演算手段を介して、前記第１装置の前記同一のＣＰＵと接続されている。
【０００９】
ＣＰＵは、断線等の異常が生じていない第１通信経路または第２通信経路から論理和演算手段を介して、通信を受信できる。このため、経路の状況に応じて第１ドライバおよび第２ドライバの切り替えを行う一つのＣＰＵにて冗長ネットワークを維持可能である。
また、各系統に対応したドライバごとに複数のＣＰＵを置くことや、各系統に対応したドライバごとにＣＰＵに複数の送受信チャンネルを設けることを回避でき、コストメリットがある。
【００１０】
また、第２装置は、出力端側が第２装置のＣＰＵ側になるように配置される論理和演算手段を含み、第２装置の第１ドライバの送信部および第２装置の第２ドライバの送信部は、それぞれ第２装置のＣＰＵのうち同一のＣＰＵに接続され、第２装置の第１ドライバの受信部および第２装置の第２ドライバの受信部は、それぞれ第２装置の同一の論理和演算手段を介して第２装置の前記同一のＣＰＵと接続されている。
このため、想定されるネットワークの断線やバス異常が発生した場合にも、複数のコントローラを使用すること無く冗長ネットワークを維持可能である。
【００１１】
また、第１装置または第２装置のＣＰＵは、第１ドライバを有効として第２ドライバを無効とする第１状態と、第２ドライバを有効として第１ドライバを無効とする第２状態とを有し、第１状態での通信において、通信異常を検出した場合には、第２状態へと移行する制御を行う。
このため、通信異常が検出されると第１ドライバが無効となり第２ドライバが有効となる第２状態に移行して、通信を継続することができる。
【００１２】
さらに、冗長通信システムは、
第１装置と、第２装置と、第３装置と、第１装置と第２装置と第３装置とを接続する第１通信経路および第２通信経路とを備え、第１装置は、少なくとも一つのＣＰＵと、第１通信経路に対応する第１ドライバと、第２通信経路に対応する第２ドライバと、第１ドライバの受信部からの信号と第２ドライバの受信部からの信号を入力要素とする論理和をＣＰＵの受信部への出力とする第１論理和演算手段と、第２ドライバの受信部からの信号とＣＰＵの送信部からの信号を入力要素とする論理和を第１ドライバの送信部への出力とする第２論理和演算手段と、第１ドライバの受信部からの信号とＣＰＵの送信部からの信号を入力要素とする論理和を第２ドライバの送信部への出力とする第３論理和演算手段と、を含み、第２装置と第３装置は、それぞれ、少なくとも一つのＣＰＵと、第１通信経路に対応する第１ドライバと、第２通信経路に対応する第２ドライバとを含む。
この冗長通信システムでは、第１ドライバからの信号が第３論理和演算手段を介して第２ドライバへの信号として送られ、第２ドライバからの信号が第２論理和演算手段を介して第１ドライバへの信号として送られる。
よって、第１ドライバの系統に接続される装置と、第２ドライバの他の系統に接続される装置とは、第１装置の第３論理和演算手段および第２論理和演算手段を介して中継されて、相互に通信可能となる。
このため、第１装置のＣＰＵは、第１通信経路の一部と第２通信経路系統の一部との両方が断線した場合であっても、第１装置のＣＰＵを経由した中継ではなく、論理和演算手段を経由した中継によって実現できる。
したがって、ＣＰＵの演算負荷を増大させることなく通信を維持できる。
【００１３】
そして、第１装置は、第２論理和演算手段の入力部を、それぞれ第２ドライバの受信部とＣＰＵの送信部に接続することで、第２ドライバの受信部からの信号とＣＰＵの送信部からの信号を、第２論理和演算手段への入力要素とするともに、第３論理和演算手段の入力部を、それぞれ第１ドライバの受信部とＣＰＵの送信部に接続することで、第１ドライバの受信部からの信号とＣＰＵの送信部からの信号を、第３論理和演算手段への入力要素としている。
このため、第１ドライバからの信号が第３論理和演算手段を介して第２ドライバへの信号として送られ、第２ドライバからの信号が第２論理和演算手段を介して第１ドライバへの信号として送られて、第２装置と第３装置との間の通信が可能となる。
したがって、第１装置のＣＰＵの演算負荷を増大させることなく、冗長通信を実現できる。
【００１４】
また、第１装置は、第２論理和演算手段の入力部を、それぞれ第２ドライバの受信部とＣＰＵの送信部に接続することで、第２ドライバの受信部からの信号とＣＰＵの送信部からの信号を、第２論理和演算手段への入力要素とするともに、第３論理和演算手段の入力部を、それぞれ第１ドライバの受信部と第２論理和演算手段の出力部とに接続することで、第１ドライバの受信部からの信号とＣＰＵの送信部からの信号を、第３論理和演算手段への入力要素としている。
このため、第１ドライバからの信号が第３論理和演算手段を介して第２ドライバへの信号として送られ、第２ドライバからの信号が第２論理和演算手段を介して第１ドライバへの信号として送られて、第２装置と第３装置との間の通信が可能となる。
したがって、第１装置のＣＰＵの演算負荷を増大させることなく、冗長通信を実現できる。
【００１５】
さらに、第１装置の第１ドライバおよび第２ドライバに終端抵抗を設けるとともに、第２装置の一方のドライバに終端抵抗を設け、かつ第３装置の他方のドライバに終端抵抗を設けた。
このため、異なる装置（第２装置，第３装置）のそれぞれ異なるドライバへの接続にかかる部分の各経路が断線した場合には、第２装置と第３装置とが第１装置の論理和演算手段によって中継されて送受信可能となる。このとき、バスの抵抗値の変化が抑制されて通信に用いる信号が安定する。よって、冗長ネットワークの通信品質を向上させることができる。
【００１６】
そして、第１装置と第２装置と第３装置とは、互いが送信する信号の衝突を回避する信号衝突回避機能を備える。
このため、第１装置，第２装置，第３装置間の通信データ同士の衝突が回避される。
【００１７】
また、第１装置、第２装置または第３装置の少なくとも何れか１つの少なくとも何れか１つのＣＰＵは、第１通信経路と第２通信経路の通信状態に基づいて、第１ドライバおよび第２ドライバの有効・無効を制御する。
このため、装置数が多い複雑な冗長通信システムであっても、コントローラとなるハブ的な役割を行う制御装置が不要となり、この点においてもコスト効率が良好である。
【発明の効果】
【００１８】
本発明によれば、想定されるネットワークの断線やバス異常が発生した場合にも、複数のコントローラを使用すること無く冗長ネットワークを維持可能である冗長通信システムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態１に係る冗長通信システムを示し、全体の構成を説明する回路図である。
【図２】実施形態２の冗長通信システムで、終端抵抗の位置を示す回路図である。
【図３】実施形態２の冗長通信システムで、断線箇所と切り替えられるドライバの位置との対応関係を示す対応図である。
【図４】実施形態２の比較例に係る冗長通信システムを示し、全体の構成を説明する回路図である。
【図５】実施形態２の比較例に係る冗長通信システムで、断線箇所と切り替えられるドライバの位置を示す表図である。
【図６】実施形態２の冗長通信システムで、Ａ１，Ｂ１，Ｃ１で通信を開始した場合、ドメインＵＮＩＴ−Ａの起動動作を説明するフローチャートである。
【図７】実施形態２の冗長通信システムで、Ａ１，Ｂ１，Ｃ１で通信を開始した場合、ドメインＵＮＩＴ−Ｂの起動動作を説明するフローチャートである。
【図８】実施形態２の冗長通信システムで、Ａ１，Ｂ１，Ｃ１で通信を開始した場合、ドメインＵＮＩＴ−Ｃの起動動作を説明するフローチャートである。
【図９】実施形態２の冗長通信システムで、ドメインＵＮＩＴ−Ａの動作を説明するフローチャートである。
【図１０】実施形態２の冗長通信システムで、ドメインＵＮＩＴ−Ｂの動作を説明するフローチャートである。
【図１１】実施形態２の冗長通信システムで、ドメインＵＮＩＴ−Ｃの動作を説明するフローチャートである。
【図１２】実施形態２の冗長通信システムで、Ａ２，Ｂ２，Ｃ２で通信を開始した場合、ドメインＵＮＩＴ−Ａの起動動作を説明するフローチャートである。
【図１３】実施形態２の冗長通信システムで、Ａ２，Ｂ２，Ｃ２で通信を開始した場合、ドメインＵＮＩＴ−Ｂの起動動作を説明するフローチャートである。
【図１４】実施形態２の冗長通信システムで、Ａ２，Ｂ２，Ｃ２で通信を開始した場合、ドメインＵＮＩＴ−Ｃの起動動作を説明するフローチャートである。
【図１５】実施形態２の冗長通信システムで、ドメインＵＮＩＴ−Ａの動作を説明するフローチャートである。
【図１６】実施形態２の冗長通信システムで、ドメインＵＮＩＴ−Ｂの動作を説明するフローチャートである。
【図１７】実施形態２の冗長通信システムで、ドメインＵＮＩＴ−Ｃの動作を説明するフローチャートである。
【図１８】実施形態２の変形例１に係る冗長通信システムを示し、全体の構成を説明する回路図である。
【図１９】実施形態２の変形例２に係る冗長通信システムを示し、全体の構成を説明する回路図である。
【図２０】実施形態２の変形例２に係る冗長通信システムで、断線箇所と切り替えられるドライバの位置との対応関係を示す表図である。
【発明を実施するための形態】
【００２０】
本発明の実施形態について、図１乃至図２０を参照して詳細に説明する。説明において、同一の要素には同一の番号を付し、重複する説明は省略する。
[実施形態１]
図１は、実施形態１に係る冗長通信システム１００を示し、全体の構成を説明する回路図である。
この実施形態１の冗長通信システム１００では、第１装置としてのドメインＵＮＩＴ−Ａと、第２装置としてのドメインＵＮＩＴ−Ｂと、ドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−Ｂとを接続して信号衝突回避をする、第１通信経路としての系統Ｉおよび第２通信経路としての系統ＩＩとを備えている。
なお、同一の系統Ｉまたは系統ＩＩに、複数のノードをそのまま接続してしまうと、各バスに接続される各ユニットからの信号が混線してしまう恐れがある。そこで、ＣＰＵ１０を含むドメインＵＮＩＴ−Ａ等、各系統に接続されるユニットとは、それぞれ信号衝突回避機能を有することが望ましい。
【００２１】
この信号衝突回避機能とは、自身が送信する信号と、他装置が送信する信号とでいずれか１つの信号の送信完了まで、次の信号の送信を停止して衝突を回避する機能である。
例えば、同時刻にドメインＵＮＩＴ−Ａからの「１００１」信号と、ドメインＵＮＩＴ−Ｂからの「１１００」信号とが送信されたとする。ここでもし、信号衝突回避機能が動作しないと、論理和演算手段により出力される信号は、「１１０１」となり、ドメインＵＮＩＴ−Ａから送信された信号でも、ドメインＵＮＩＴ−Ｂから送信された信号でもない、混線した無意味な信号が出力されることとなる。
【００２２】
本実施の形態にて作動する信号衝突回避機能は、例えば、車載ネットワークの規格の１つであるＣＡＮ（Controller Area Network）における調停機能である。ＣＡＮ（Controller Area Network）における調停機能が、信号衝突回避機能として作動する場合には、ドメインＵＮＩＴ−ＡおよびドメインＵＮＩＴ−Ｂは、それぞれの信号のビット列を先頭から順次比較し、数値の小さい方を優勢として決定する通信調停を行うことにより、次のように通信の衝突を回避する。
すなわち、上記のケースにおいて、信号の第１ビットは共に「１」であるが、第２ビットは、ドメインＵＮＩＴ−Ａの方が「０」（優勢）で、ドメインＵＮＩＴ−Ｂの方が「１」であるから、この時点でドメインＵＮＩＴ−Ａの方に通信データの送信権が与えられ、ドメインＵＮＩＴ−Ｂは送信を待機する。
その結果、論理和演算手段の入力端子には、ドメインＵＮＩＴ−Ａからの信号「１００１」のみが入力されることとなり、論理和演算手段の出力端子からは、論理和演算結果としてビット列情報「１００１」、すなわちドメインＵＮＩＴ−Ａが送信するものと同一のビット列が出力される。このように、一例としてのＣＡＮ（Controller Area Network）における調停機能が信号衝突回避機能として動作すれば、通信データ同士の衝突が回避されるためデータ破壊が生じることはない。
【００２３】
なお、信号衝突回避機能は、ＣＡＮ（Controller Area Network）における調停機能に限らず様々な方法によって具現できる。例えば、ドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−Ｂとのデータ送信時刻が重なることがないように、もとから送信権を時間ごと各ユニットに割り振っておく方式（タイムスロット方式）にドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−Ｂとを準拠させておくことや、互いに送信タイミングが重なった場合には、いずれも送信をそれぞれ定めたランダム時間の間待機するようにし、そのランダム時間の経過後に送信を再開するといった方式にドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−Ｂとを準拠させておくことも、信号衝突回避機能となり得る。
【００２４】
この実施形態１のドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−Ｂとには、それぞれ、一つずつＣＰＵ１０，２０が含まれ、それぞれのＣＰＵ１０，２０に信号衝突回避機能が設けられている。
【００２５】
（クレーム１）
このうち、ドメインＵＮＩＴ−Ａは、第１ドライバＡ１と、第２ドライバＡ２と、出力部１３側がＣＰＵ１０の受信部ＲＸに接続されるように配置される論理和演算手段としてのＯＲ回路１１とをさらに含む。
第１ドライバＡ１は、系統Ｉに対応して設けられている。そして、ＣＰＵ１０からの制御により、有効となると通信可能とするとともに、無効となると通信不能となるように構成されている。
また、第２ドライバＡ２は、系統ＩＩに対応して設けられている。そして、ＣＰＵ１０からの制御により、有効となると通信可能とするとともに、無効となると通信不能となるように構成されている。
【００２６】
さらに、ドメインＵＮＩＴ−Ａの第１ドライバＡ１の送信部ＴＸおよびドメインＵＮＩＴ−Ａの第２ドライバＡ２の送信部ＴＸは、それぞれドメインＵＮＩＴ−ＡのＣＰＵ１０の送信部ＴＸのチャネルに、接続されている。ここで、ドメインＵＮＩＴ−Ａの第１ドライバＡ１の送信部ＴＸが接続されるドメインＵＮＩＴ−ＡのＣＰＵ１０の送信部ＴＸのチャネルと、ドメインＵＮＩＴ−Ａの第２ドライバＡ２の送信部ＴＸが接続されるドメインＵＮＩＴ−ＡのＣＰＵ１０の送信部ＴＸのチャネルとは、同一のチャネルである。
また、ドメインＵＮＩＴ−Ａの第１ドライバＡ１の受信部ＲＸおよびドメインＵＮＩＴ−Ａの第２ドライバＡ２の受信部ＲＸは、それぞれドメインＵＮＩＴ−Ａの同一のＣＰＵ１０の受信部ＲＸのチャネルに、この同一のＯＲ回路１１を介して接続されている。ここで、ドメインＵＮＩＴ−Ａの第１ドライバＡ１の受信部ＲＸがＯＲ回路１１を介して接続されるドメインＵＮＩＴ−ＡのＣＰＵ１０の受信部ＲＸのチャネルと、ドメインＵＮＩＴ−Ａの第２ドライバＡ２の受信部ＲＸがＯＲ回路１１を介して接続されるドメインＵＮＩＴ−ＡのＣＰＵ１０の送信部ＲＸのチャネルとは、同一のチャネルである。
そして、ドメインＵＮＩＴ−ＡのＣＰＵ１０の送信部ＴＸは、第１ドライバＡ１の送信部ＴＸおよび第２ドライバＡ２の送信部ＴＸに信号を出力する。
また、ドメインＵＮＩＴ−ＡのＣＰＵ１０の受信部ＲＸは、第１ドライバＡ１の受信部ＲＸおよび第２ドライバＡ２の受信部ＲＸから出力された信号をＯＲ回路１１を介して受信する。
【００２７】
（クレーム２）
また、ドメインＵＮＩＴ−Ｂには、系統Ｉに対応する第１ドライバＢ１と、系統ＩＩに対応する第２ドライバＢ２とが含まれる。これらの第１ドライバＢ１と、第２ドライバＢ２とは、ＣＰＵ２０によって制御されて、系統Ｉまたは系統ＩＩとそれぞれ通信出来るように構成されている。
【００２８】
（クレーム３）
さらに、ドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−ＢとのＣＰＵ１０，２０は、各第１ドライバＡ１等に動作を無効とするdisable信号と、動作を有効とするenable信号とを出力する。
そして、第１ドライバＡ１，Ｂ１を有効として第２ドライバＡ２，Ｂ２を無効とする第１状態と、第２ドライバＡ２，Ｂ２を有効として第１ドライバＡ１，Ｂ１を無効とする第２状態とを有している。このため、これらのＣＰＵ１０，２０は、第１状態での通信において、通信異常を検出した場合には、第２状態へと移行する制御を行なうように構成されている。なお、これらのＣＰＵ１０，２０による制御は、第２状態での通信において、通信異常を検出した場合には、第１状態へと移行する場合でも同様であるので説明を省略する。
【００２９】
次にこの実施形態１の冗長通信システム１００の作用効果について説明する。
この実施形態１の冗長通信システム１００では、系統Ｉまたは系統ＩＩで接続されるドメインＵＮＩＴ−ＡのＣＰＵ１０は、ＯＲ回路１１を介してそれぞれの第１ドライバＢ１および、第２ドライバＢ２をＣＰＵ１０に接続している。
【００３０】
このため、ＣＰＵ１０の受信部ＲＸのチャネルに、それぞれの第１ドライバＢ１または第２ドライバＢ２が受信した信号がＯＲ回路１１を介して送信される。
したがって、想定されるネットワークの断線やバス異常が発生して、系統Ｉまたは、系統ＩＩのうち一方が使用不能となった場合にも、他方の系統を用いて送受信を継続出来、冗長ネットワークを維持可能である。
【００３１】
このように、ＣＰＵ１０は、断線等の異常が生じていない第１通信経路の系統Ｉまたは第２通信経路の系統ＩＩからＯＲ回路１１を介して、通信を受信できる。
そして、正常に通信を行える系統Ｉまたは系統ＩＩ側の第１ドライバＢ１または第２ドライバＢ２に切り替える。このため、送信を含めた通信を継続して行うことができる。
【００３２】
このように経路の通信状況に応じて第１ドライバＡ１および第２ドライバＡ２の切り替えを行えば、ドメインＵＮＩＴ−Ａ内の一つのＣＰＵ１０によって冗長ネットワークを通信可能な状態に維持可能である。
したがって、バスに接続される機器が増加しても、ＣＰＵ１０の数量の増加を抑制してコストを低下させることができる。
【００３３】
（クレーム２対応）
この実施形態１では、ドメインＵＮＩＴ−Ｂとして第１ドライバＢ１と、第２ドライバＢ２とが同一のＣＰＵ２０に接続されて制御される構成を示している（図１参照）。
これに加えて、例えば、ドメインＵＮＩＴ−Ａと同様に、ドメインＵＮＩＴ−Ｂの第１ドライバＢ１の受信部ＲＸおよびの第２ドライバＢ２の受信部ＲＸがそれぞれ論理和演算手段としてのＯＲ回路を介して同一のＣＰＵ２０の受信部のチャネルに接続されていてもよい。そして、第１ドライバＢ１の送信部ＴＸおよび第２ドライバＢ２の送信部ＴＸは、それぞれ同一のＣＰＵ２０の送信部に設けられたチャネルに接続されている構成としてもよい。
【００３４】
このような構成を採用することにより、ドメインＵＮＩＴ−Ｂでは、ドメインＵＮＩＴ−Ａと同様に、ＣＰＵ２０の受信部ＲＸのチャネルに、それぞれの第１ドライバＢ１または第２ドライバＢ２は受信した信号をＯＲ回路１１を介してＣＰＵ２０に送信することができる。
したがって、想定されるネットワークの断線やバス異常が発生して、系統Ｉまたは、系統ＩＩのうち一方が使用不能となった場合にも、ＣＰＵ１０，ＣＰＵ２０は、通信可能な系統の何れかの第１ドライバＡ１，Ｂ１または第２ドライバＡ２，Ｂ２を用いて通信を継続出来、冗長ネットワークを維持可能である。
【００３５】
（クレーム３対応）
この実施形態１の冗長通信システム１００は、さらに、ドメインＵＮＩＴ−Ａ、ドメインＵＮＩＴ−Ｂにそれぞれ設けられたＣＰＵ１０，２０は、通信異常を検出した場合、第１ドライバＡ１，Ｂ１を有効として第２ドライバＡ２，Ｂ２を無効とする第１状態に切り替えることが出来るとともに、第２ドライバＡ２，Ｂ２を有効として第１ドライバＡ１，Ｂ１を無効とする第２状態に切り替えることができる。
【００３６】
このため、２つのドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−ＢのそれぞれのＣＰＵ１０，２０は、例えば第１状態にて、通信異常が検出されると同様に第１ドライバＡ１，Ｂ１が無効となり第２ドライバＡ２，Ｂ２が有効となる第２状態に移行して、通信を継続することができる。
【００３７】
このように、ドメインＵＮＩＴ−Ａは、２つの系統Ｉまたは系統ＩＩによる冗長通信を一つの送受信チャネルを有するＣＰＵ１０によって処理して、正常な送受信による通信を継続可能としている。また、ドメインＵＮＩＴ−Ｂは、２つの系統Ｉまたは系統ＩＩによる冗長通信を一つの送受信チャネルを有するＣＰＵ２０によって処理して、正常な送受信による通信を継続可能としている。
この処理では、ＣＰＵ１０，２０の負荷を増大させることなく、正常な送受信による通信が継続される。このため、各ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂごとに複数のコントローラとしてのＣＰＵを使用する必要が無く、一つずつ設けられたＣＰＵ１０，２０によって制御が行える。
【００３８】
このように、実施形態１の冗長通信システム１００では、一つのノードであるドメインＵＮＩＴ−Ａに、一つの送受信チャネルを有するＣＰＵ１０を対応させて設けることにより、冗長ネットワークを維持可能となる。
このため、各系統に対応したドライバごとに複数のＣＰＵを置くことや、各系統に対応したドライバごとにＣＰＵに複数の送受信チャンネルを設けることを回避でき、コストメリットがある。また、コントローラとなるハブ的な役割を行う制御装置が不要となり、この点においてもコスト効率が良好である。
【００３９】
なお、この実施形態１では、ＣＰＵ２０を設けたドメインＵＮＩＴ−Ｂを示して説明したが、特にこれに限らない。例えば、ドメインＵＮＩＴ−Ｂとしては、２つの系統のバスのそれぞれと通信できる２つの第１ドライバＢ１，第２ドライバＢ２およびＯＲ回路１１が設けられていれば、どのような回路であってもよい。また、たとえば、ドライバ用のＣＰＵが複数あってもよい。さらに、１つのＣＰＵで送受信チャンネルを複数有しているものであってもよい。
【００４０】
[実施形態２]
図２〜図２０は、実施形態２の冗長通信システムを示すものである。実施形態２は、これまでのＣＰＵに対するコスト低減とともに、第１通信経路としての系統Ｉの一部と、第２通信経路としての系統ＩＩの一部とが、同時に断線してしまった場合においても、通信システムに属する複数の制御装置間の通信を維持し得る点において有用である。
【００４１】
（クレーム４対応）
図２は、実施形態２のドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃを備える冗長通信システム２００である。
この実施形態２の冗長通信システム２００では、実施形態１のドメインＵＮＩＴ−Ｂと略同等の構成を有する第３装置としてのドメインＵＮＩＴ−Ｃが追加されている。
ドメインＵＮＩＴ−Ａには、第１通信経路である系統Ｉの経路１に対応する第１ドライバＡ１，第２通信経路である系統ＩＩの経路４に対応する第２ドライバＡ２，および第１通信経路と第２通信経路の通信状態に基づいて、第１ドライバＡ１および第２ドライバＡ２の有効・無効を制御するＣＰＵ１０が含まれる。
ドメインＵＮＩＴ−Ｂには、第１通信経路である系統Ｉの経路３に対応する第１ドライバＢ１，第２通信経路である系統ＩＩの経路５に対応する第２ドライバＢ２，および第１通信経路と第２通信経路の通信状態に基づいて、第１ドライバＢ１および第２ドライバＢ２の有効・無効を制御するＣＰＵ２０が含まれる。
ドメインＵＮＩＴ−Ｃには、第１通信経路である系統Ｉの経路３に対応する第１ドライバＣ１，第２通信経路である系統ＩＩの経路５に対応する第２ドライバＣ２，および第１通信経路と第２通信経路の通信状態に基づいて、第１ドライバＣ１および第２ドライバＣ２の有効・無効を制御するＣＰＵ３０が含まれる。
【００４２】
これらのドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間は、系統Ｉとして第１通信経路を構成する経路１〜３，系統ＩＩとして第２通信経路を構成する経路４〜６によって接続されている。
このうち、第１ドライバＡ１，Ｂ１間を接続する経路１，２には、ドメインＵＮＩＴ−Ｃの第１ドライバＣ１が経路３によって接続されている。
また、第２ドライバＡ２，Ｂ２間を接続する経路４，６には、ドメインＵＮＩＴ−Ｃの第２ドライバＣ２が経路５によって接続されている。
そして、ＣＰＵ１０，２０，３０は、経路１〜３と経路４〜６の通信状態に基づいて、第１ドライバＡ１，Ｂ１，Ｃ１および第２ドライバＡ２，Ｂ２，Ｃ２の有効・無効を制御する。
【００４３】
この実施形態２の冗長通信システム２００では、ドメインＵＮＩＴ−Ｃの第１ドライバＣ１に終端抵抗Ｔｒ５が設けられている。これにより、この実施形態２の冗長通信システム２００は、ドメインＵＮＩＴ−Ａの第１ドライバＡ１および第２ドライバＡ２に終端抵抗Ｔｒ１，Ｔｒ３をそれぞれ有するとともに、ドメインＵＮＩＴ−Ｂの一方の第２ドライバＢ２に終端抵抗Ｔｒ４を有して、ドメインＵＮＩＴ−Ｃの他方の第１ドライバＣ１にも、終端抵抗Ｔｒ５が設けられている構成となる。
【００４４】
また、この実施形態２の冗長通信システム２００では、第１装置としてのドメインＵＮＩＴ−ＡのＯＲ回路は、３つの論理和演算手段としてのＯＲ回路（第１ＯＲ回路１５，第２ＯＲ回路１６，第３ＯＲ回路１７）を含んで構成されている。
第１ＯＲ回路１５は、ドメインＵＮＩＴ−Ａの第１ドライバＡ１の受信部ＲＸからの信号と第２ドライバＡ２の受信部ＲＸからの信号を入力要素とする論理和を、ドメインＵＮＩＴ−ＡのＣＰＵ１０の受信部ＲＸへ出力部１３から出力する信号として生成する。
第２ＯＲ回路１６は、ドメインＵＮＩＴ−ＡのＣＰＵ１０の送信部ＴＸからの信号とドメインＵＮＩＴ−Ａの第２ドライバＡ２の受信部ＲＸからの信号とを入力要素とする論理和を、第１ドライバＡ１の送信部ＴＸへ出力する信号として生成する。
第３ＯＲ回路１７は、ドメインＵＮＩＴ−ＡのＣＰＵ１０の送信部ＴＸからの信号とドメインＵＮＩＴ−Ａの第１ドライバＡ１の受信部ＲＸからの信号とを入力要素とする論理和を、第２ドライバＡ２の送信部ＴＸへ出力する信号として生成する。
【００４５】
このため、この実施形態２では、第２ＯＲ回路１６の入力部１６ａがそれぞれ第２ドライバＡ２の受信部ＲＸとＣＰＵ１０の送信部ＴＸとに接続されている。これにより、第２ドライバＡ２の受信部ＲＸからの信号とＣＰＵ１０の送信部ＴＸからの信号とが、第２ＯＲ回路１６への入力要素となっている。
すなわち、第３ＯＲ回路１７の入力部１７ａがそれぞれ第１ドライバＡ１の受信部ＲＸとＣＰＵ１０の送信部ＴＸに接続されている。これにより、第１ドライバＡ１の受信部ＲＸからの信号とＣＰＵ１０の送信部ＴＸからの信号が第３ＯＲ回路１７への入力要素となっている。
【００４６】
そして、第１ドライバＡ１の受信部ＲＸからの信号が第３ＯＲ回路１７を介して第２ドライバＡ２の送信部ＴＸへの信号として送られる。また、第２ドライバＡ２の受信部ＲＸからの信号が第２ＯＲ回路１６を介して第１ドライバＡ１の送信部ＴＸへの信号として送られる。
このため、第１ドライバＡ１の系統Ｉに接続される装置と第２ドライバＡ２の系統ＩＩに接続される装置とは、ドメインＵＮＩＴ−Ａの第２ＯＲ回路１６，第３ＯＲ回路１７を介して中継されて、相互に通信可能となる。
【００４７】
図３は、実施形態２の冗長通信システム２００で、断線箇所と切り替えられるドライバの位置との対応関係を示す対応図である。
この実施形態２の冗長通信システム２００では、異なる経路３，６の第２ドライバＢ２，第１ドライバＣ１に終端抵抗Ｔｒ４，Ｔｒ５が設けられている。このため、ドメインＵＮＩＴ−Ａ内の第２ＯＲ回路１６，第３ＯＲ回路１７を介して第１ドライバＡ１および第２ドライバＡ２から入出力される信号を一方から他方に中継することができる。
【００４８】
よって、この実施形態２の冗長通信システム２００では、第１通信経路の経路２と、第２通信経路の経路５との何れもが断線した場合、ドメインＵＮＩＴ−Ａの第２ＯＲ回路１６，第３ＯＲ回路１７が一方の第１通信経路の経路１，３から他方の第２通信経路の経路４，６に中継する。
このように、この冗長通信システム２００では、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ間、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃ間だけでなく、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間でも通信可能となり、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間で相互に通信を成立させることが出来る。
この実施形態２で説明した冗長通信システム２００のように、系統Ｉ，ＩＩの終端抵抗を、第１ドライバＣ１および第２ドライバＢ２のように異なる装置の、異なる系統のドライバに対して配置することが、通信に用いる信号が安定して、通信品質を向上させることができるため好ましい。
【００４９】
以下、この点を冗長通信システム２００の比較例をもとに説明する。
図４は、実施形態２の比較例に係る冗長通信システム２０１を示し、全体の構成を説明する回路図、図５はドライバの動作を示す表図である。
この比較例においては、図２の実施形態の冗長通信システム２００との対比において特徴となる部分を中心に説明する。なお、前記実施形態１の冗長通信システム１００と同一乃至均等な部分については同一符号を付して説明を省略する。
【００５０】
この実施形態２の比較例の冗長通信システム２０１では、実施形態１のドメインＵＮＩＴ−Ｂと略同等の構成を有する第３装置としてのドメインＵＮＩＴ−Ｃが追加されている。
ドメインＵＮＩＴ−Ｃには、第１通信経路である系統Ｉの経路３に対応する第１ドライバＣ１，第２通信経路である系統ＩＩの経路５に対応する第２ドライバＣ２，および第１通信経路と第２通信経路の通信状態に基づいて、第１ドライバＣ１および第２ドライバＣ２の有効・無効を制御するＣＰＵ３０が含まれる。
【００５１】
また、この実施形態２の冗長通信システム２０１では、第１装置としてのドメインＵＮＩＴ−ＡのＯＲ回路が、３つのＯＲ回路（第１ＯＲ回路１５，第２ＯＲ回路１６，第３ＯＲ回路１７）を含んで構成されている。
【００５２】
これらのドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間は、系統Ｉとして第１通信経路を構成する経路１〜３，系統ＩＩとして第２通信経路を構成する経路４〜６によって接続されている。
このうち、第１ドライバＡ１，Ｂ１間を接続する経路１，２には、ドメインＵＮＩＴ−Ｃの第１ドライバＣ１が経路３によって接続されている。
また、第２ドライバＡ２，Ｂ２間を接続する経路４，６には、ドメインＵＮＩＴ−Ｃの第２ドライバＣ２が経路５によって接続されている。
そして、ＣＰＵ１０，２０，３０は、経路１〜３と経路４〜６の通信状態に基づいて、第１ドライバＡ１，Ｂ１，Ｃ１および第２ドライバＡ２，Ｂ２，Ｃ２の有効・無効を制御する。
【００５３】
この実施形態２の比較例では、第１ドライバＡ１，Ｂ１および第２ドライバＡ２，Ｂ２にそれぞれ終端抵抗Ｔｒ１，Ｔｒ２，Ｔｒ３，Ｔｒ４が設けられている。
図５は、実施形態２の比較例に係る冗長通信システム２０１で、断線箇所と切り替えられるドライバの位置を示す表図である。
【００５４】
この比較例では、終端抵抗Ｔｒ１，Ｔｒ２，Ｔｒ３，Ｔｒ４が設けられているドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂの系統Ｉ，ＩＩごとに、終端抵抗が設けられていないドメインＵＮＩＴ−Ｃを接続している。
このため、第１通信経路の系統Ｉのどこか一部、第２通信経路の系統ＩＩのどこか一部が同時に断線すると、三者間での通信が成立しなくなる（図５参照）。
一方で、実施形態２の構成によれば、図３のように、経路２と経路５とが断線した場合のように、異なる装置（ＢとＣ）のそれぞれ異なるドライバへの接続にかかる部分が同時に断線した場合においても、三者間の通信をドメインＵＮＩＴ−Ａの内部中継によって、維持することができる（図３参照）。
【００５５】
次に、この実施形態２の冗長通信システム２００の作用効果について図６〜図１７に示すフローチャートに沿って説明する。このうち、図６〜図１１は、第１ドライバＡ１，Ｂ１，Ｃ１側から通信を開始する場合における処理を示すものである。また、後述する図１２〜図１７は、第２ドライバＡ２，Ｂ２，Ｃ２側から通信を開始する場合における処理を示すものである。
【００５６】
[系統Ｉからの起動]
実施形態２の冗長通信システム２００では、各ドメインＵＮＩＴ−Ａ〜Ｃ間で通信を行う際、まず、ドメインＵＮＩＴ−Ａの第１ドライバＡ１，ドメインＵＮＩＴ−Ｂの第１ドライバＢ１，ドメインＵＮＩＴ−Ｃの第１ドライバＣ１が通信を開始する。
【００５７】
図６は、通信を開始する際のドメインＵＮＩＴ−Ａの起動動作を説明するフローチャートである。
この実施形態２の冗長通信システム２００では、ステップＳ１００にてドメインＵＮＩＴ−Ａの初期化処理を開始すると、ステップＳ１０１にて、ＣＰＵ１０は、第１ドライバＡ１を有効にすると共に、第２ドライバＡ２を無効にする。
【００５８】
図７は、ドメインＵＮＩＴ−Ｂの起動動作を説明するフローチャートである。
ステップＳ２００にてドメインＵＮＩＴ−Ｂの初期化処理を開始すると、ステップＳ２０１にて、ＣＰＵ１０は、第１ドライバＢ１を有効にすると共に、第２ドライバＢ２を無効にする。
【００５９】
図８は、ドメインＵＮＩＴ−Ｃの起動動作を説明するフローチャートである。
ステップＳ３００にてドメインＵＮＩＴ−Ｃの初期化処理を開始すると、ステップＳ３０１にて、ＣＰＵ１０は、第１ドライバＣ１を有効にすると共に、第２ドライバＣ２を無効にする。
【００６０】
図９は、冗長通信システム２００で、ドメインＵＮＩＴ−Ａの動作を説明するフローチャートである。
ドメインＵＮＩＴ−Ａでは、ステップＳ１００１にて、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃとの間の接続状況が正常であるか否かを判定するため、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃからのフレームを受信しているか否かを診断する。
【００６１】
ステップＳ１００１にて、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃからのフレームを受信してない場合（ステップＳ１００１にてＹＥＳ）には、図４に示す経路１に合流する経路２または経路３にて断線しているか、あるいは経路１が断線している可能性があると判断してステップＳ１００２に処理を進める。
ステップＳ１００１にて、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃからのフレームを受信している場合（ステップＳ１００１にてＮＯ）には、ステップＳ１００３に処理を進める。
【００６２】
ステップＳ１００３にて、ドメインＵＮＩＴ−Ｂからのフレームを受信しているか否かの判定が行われる。
ステップＳ１００３で、ドメインＵＮＩＴ−Ｂからのフレームを受信していない場合（ステップＳ１００３にてＹＥＳ）には、ステップＳ１００４に進み、図４に示す経路２で断線している可能性があると判断される。
ステップＳ１００３にて、ドメインＵＮＩＴ−Ｂからのフレームを受信している場合（ステップＳ１００３にてＮＯ）には、経路１，２，３を用いて正常に通信が行える接続状態であるとして、処理を終了する。
【００６３】
ステップＳ１００５にて、ＣＰＵ１０は、送受信を停止して第１ドライバＡ１における通信を行えないようにする。
ステップＳ１００６にて、ＣＰＵ１０は、第１ドライバＡ１を無効にすると共に、第２ドライバＡ２を有効にする。
ステップＳ１００７では、ＣＰＵ１０によって経路４，５，６を用いた送受信が再開されて、処理を終了する。
【００６４】
図１０は、冗長通信システム２００で、ドメインＵＮＩＴ−Ｂの動作を説明するフローチャートである。
ドメインＵＮＩＴ−Ｂでは、ステップＳ２００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃとの間の接続状況が正常であるか否かを判定するため、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃからのフレームを受信しているか否かを診断する。
【００６５】
ステップＳ２００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃからのフレームを受信してない場合（ステップＳ２００１にてＹＥＳ）には、断線している可能性があると判断してステップＳ２００２に処理を進める。
ステップＳ２００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃからのフレームを受信している場合（ステップＳ２００１にてＮＯ）には、断線していない正常な状態であると判定して、処理を終了する。
【００６６】
ステップＳ２００２にて、ＣＰＵ２０は、送受信を停止して第１ドライバＢ１における通信を行えないようにする。
ステップＳ２００３にて、ＣＰＵ２０は、第１ドライバＢ１を無効にすると共に、第２ドライバＢ２を有効にする。
ステップＳ２００４では、ＣＰＵ２０によって送受信が再開されて、処理を終了する。
【００６７】
図１１は、冗長通信システム２００で、ドメインＵＮＩＴ−Ｃの動作を説明するフローチャートである。
ドメインＵＮＩＴ−Ｃでは、ステップＳ３００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂとの間の接続状況が正常であるか否かを判定するため、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂからのフレームを受信しているか否かを診断する。
【００６８】
ステップＳ３００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂからのフレームを受信してない場合（ステップＳ３００１にてＹＥＳ）には、ステップＳ３００２に進み、図４に示す経路１で断線している可能性があると判断される。
ステップＳ３００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂからのフレームを受信している場合（ステップＳ３００１にてＮＯ）には、ステップＳ３００３に処理を進める。
【００６９】
ステップＳ３００３にて、ドメインＵＮＩＴ−Ｂからのフレームを受信しているか否かの判定が行われる。
ステップＳ３００３で、ドメインＵＮＩＴ−Ｂからのフレームを受信していない場合（ステップＳ３００３にてＹＥＳ）には、ステップＳ３００４に進み、図４に示す経路２で断線している可能性があると判断される。
ステップＳ３００３にて、ドメインＵＮＩＴ−Ｂからのフレームを受信している場合（ステップＳ１００３にてＮＯ）には、処理を終了する。
【００７０】
ステップＳ３００５にて、ＣＰＵ３０は、送受信を停止して第１ドライバＣ１における通信を行えないようにする。
ステップＳ３００６にて、ＣＰＵ３０は、第１ドライバＣ１を無効にすると共に、第２ドライバＣ２を有効にする。
ステップＳ３００７では、ＣＰＵ３０によって送受信が再開されて、処理を終了する。
【００７１】
この実施形態２の冗長通信システム２００では、通常時には、各ＣＰＵ１０，２０，３０は、第１ドライバＡ１，Ｂ１，Ｃ１を有効にするとともに、第２ドライバＡ２，Ｂ２，Ｃ２を無効にして、経路１，２，３を有する第１通信経路の系統Ｉを用いて送受信を行っている。
【００７２】
例えば、経路１に断線等の異常が発生した場合、各ドメインＵＮＩＴ−Ａ〜Ｃの系統Ｉを用いた通信は不能に陥る。
この場合、各ＣＰＵ１０，２０，３０は、第１ドライバＡ１，Ｂ１，Ｃ１を無効にするとともに、第２ドライバＡ２，Ｂ２，Ｃ２を有効にする。そして、経路４，５，６を有する第２通信経路の系統ＩＩを用いて送受信を行なって通信を継続することができる。
この際、各ＣＰＵ１０，２０，３０に設定された各アプリケーションソフトウェアの起動・停止・監視などを含めた制御やこれらの制御を行う通信ミドルウェア自体を修正することなく、送受信を継続することができる。
【００７３】
また、例えば、経路２に断線等の異常が発生した場合、ドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−Ｃとの間の通信は、経路１，３を介して可能である。このため、ＣＰＵ１０は、第２ドライバＡ２を有効にして、ドメインＵＮＩＴ−Ａの内部のＯＲ回路を迂回路として、ドメインＵＮＩＴ−Ｃの第１ドライバＣ１に、ドメインＵＮＩＴ−Ａの第１ドライバＡ１を接続することが出来る。
よって、ドメインＵＮＩＴ−Ａの内部では、一つのＣＰＵ１０による制御で冗長通信を行えるネットワークを構築できる。したがって、必要とされるＣＰＵの数量及び負荷を増大させることなく、コストの上昇を抑制することができる。
【００７４】
[系統ＩＩからの起動]
図１２〜図１７は、実施形態２の冗長通信システム２００で、第２ドライバＡ２，Ｂ２，Ｃ２側から通信を開始する場合における処理を示すものである。
実施形態２の冗長通信システム２００では、各ドメインＵＮＩＴ−Ａ〜Ｃ間で通信を行う際、ＣＰＵ１０等の制御で、経路４，５，６側のドメインＵＮＩＴ−Ａの第２ドライバＡ２，ドメインＵＮＩＴ−Ｂの第２ドライバＢ２，ドメインＵＮＩＴ−Ｃの第２ドライバＣ２から通信を開始させることができる。
【００７５】
図１２は、経路４，５，６側を用いて通信を開始する際のドメインＵＮＩＴ−Ａの起動動作を説明するフローチャートである。
この実施形態２の冗長通信システム２００では、ステップＳ４００にてドメインＵＮＩＴ−Ａの初期化処理を開始すると、ステップＳ４０１にて、ＣＰＵ１０は、第２ドライバＡ２を有効にすると共に、第１ドライバＡ１を無効にする。
【００７６】
図１３は、ドメインＵＮＩＴ−Ｂの起動動作を説明するフローチャートである。
ステップＳ５００にてドメインＵＮＩＴ−Ｂの初期化処理を開始すると、ステップＳ５０１にて、ＣＰＵ１０は、第２ドライバＢ２を有効にすると共に、第１ドライバＢ１を無効にする。
【００７７】
図１４は、ドメインＵＮＩＴ−Ｃの起動動作を説明するフローチャートである。
ステップＳ６００にてドメインＵＮＩＴ−Ｃの初期化処理を開始すると、ステップＳ６０１にて、ＣＰＵ１０は、第２ドライバＣ２を有効にすると共に、第１ドライバＣ１を無効にする。
【００７８】
図１５は、この実施形態２の冗長通信システム２００で、ドメインＵＮＩＴ−Ａの動作を説明するフローチャートである。
ドメインＵＮＩＴ−Ａでは、ステップＳ４００１にて、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃとの間で断線の発生等、接続状況が正常であるか否かを判定するため、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃからのフレームを受信しているか否かを診断する。
【００７９】
ステップＳ４００１にて、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃからのフレームを受信してない場合（ステップＳ４００１にてＹＥＳ）には、図４に示す経路４に合流する経路５または経路６にて断線しているか、あるいは経路４が断線している可能性があると判断されてステップＳ４００２に処理を進める。
ステップＳ４００１にて、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃからのフレームを受信している場合（ステップＳ４００１にてＮＯ）には、ステップＳ４００３に処理を進める。
【００８０】
ステップＳ４００３にて、ドメインＵＮＩＴ−Ｃからのフレームを受信しているか否かの判定が行われる。
ステップＳ４００３で、ドメインＵＮＩＴ−Ｃからのフレームを受信していない場合（ステップＳ４００３にてＹＥＳ）には、ステップＳ４００４に進み、図４に示す経路５で断線している可能性があると判断される。
ステップＳ４００３にて、ドメインＵＮＩＴ−Ｃからのフレームを受信している場合（ステップＳ４００３にてＮＯ）には、経路４，５，６を用いて正常に通信が行える、断線していない接続状態であるとして、処理を終了する。
【００８１】
ステップＳ４００５にて、ＣＰＵ１０は、送受信を停止して第２ドライバＡ２における通信を行えないようにする。
ステップＳ４００６にて、ＣＰＵ１０は、第２ドライバＡ２を無効にすると共に、第１ドライバＡ１を有効にする。
ステップＳ４００７では、ＣＰＵ１０によって経路１，２，３を用いた送受信が再開されて、処理を終了する。
【００８２】
図１６は、冗長通信システム２００で、ドメインＵＮＩＴ−Ｂの動作を説明するフローチャートである。
ドメインＵＮＩＴ−Ｂでは、ステップＳ５００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃとの間の接続状況が正常であるか否かを判定するため、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃからのフレームを受信しているか否かを診断する。
【００８３】
ステップＳ５００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃからのフレームを受信してない場合（ステップＳ５００１にてＹＥＳ）には、ステップＳ５００２に進み、経路４または経路６が断線している可能性があると判断する。
ステップＳ５００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃからのフレームを受信している場合（ステップＳ５００１にてＮＯ）には、ステップＳ５００３に進む。
【００８４】
ステップＳ５００３では、ドメインＵＮＩＴ−Ｃからのフレームを受信しているか否かの判定が行われる。
ステップＳ５００３で、ドメインＵＮＩＴ−Ｃからのフレームを受信していない場合（ステップＳ５００３にてＹＥＳ）には、ステップＳ５００４に進み、図４に示す経路５で断線している可能性があると判断される。
ステップＳ５００３にて、ドメインＵＮＩＴ−Ｃからのフレームを受信している場合（ステップＳ５００３にてＮＯ）には、経路４，５，６のいずれも断線していない正常な状態であると判定して、処理を終了する。
【００８５】
ステップＳ５００２にて、ＣＰＵ２０は、送受信を停止して第２ドライバＢ２における通信を行えないようにする。
ステップＳ５００３にて、ＣＰＵ２０は、第２ドライバＢ２を無効にすると共に、第１ドライバＢ１を有効にする。
ステップＳ５００４では、ＣＰＵ２０によって送受信が再開されて、処理を終了する。
【００８６】
図１７は、冗長通信システム２００で、ドメインＵＮＩＴ−Ｃの動作を説明するフローチャートである。
ドメインＵＮＩＴ−Ｃでは、ステップＳ６００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂとの間の接続状況が正常であるか否かを判定するため、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂからのフレームを受信しているか否かを診断する。
【００８７】
ステップＳ６００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂからのフレームを受信してない場合（ステップＳ６００１にてＹＥＳ）には、ステップＳ６００２に進み、図４に示す経路３で断線している可能性があると判断される。
ステップＳ６００１にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂからのフレームを受信している場合（ステップＳ６００１にてＮＯ）には、経路４，５，６のいずれも断線していない正常な状態であると判定して、処理を終了する。
【００８８】
ステップＳ６００３にて、ＣＰＵ３０は、第２ドライバＣ２を無効にすると共に、第１ドライバＣ１を有効にする。
ステップＳ６００４では、ＣＰＵ３０によって送受信が再開されて、処理を終了する。
【００８９】
この場合も、この実施形態２の冗長通信システム２００では、通常時には、各ＣＰＵ１０，２０，３０は、第１ドライバＡ１，Ｂ１，Ｃ１を無効にするとともに、第２ドライバＡ２，Ｂ２，Ｃ２を有効にする。このため、経路４，５，６を有する第２通信経路の系統ＩＩが用いられて送受信が行われる。
そして、経路４等に断線等の異常が発生した場合は、各ＣＰＵ１０，２０，３０は、第１ドライバＡ１，Ｂ１，Ｃ１を有効にするとともに、第２ドライバＡ２，Ｂ２，Ｃ２を無効にする。このため、経路１，２，３を有する第１通信経路の系統Ｉを用いて送受信を行なって通信を継続することができる。
【００９０】
さらに、この実施形態の冗長通信システム２００では、それぞれの故障部位に応じて、受信フレームがないことを検知した段階で、第１，第２ドライバＡ１，Ａ２等を切替える。このため、図３に示すようにネットワークの冗長性が保証される。
例えば、ＣＡＮ−バス上で必要とされる終端抵抗Ｔｒ１等の有無においても、バス異常として通信途絶を検知することにより、診断可能となる。このため、終端抵抗Ｔｒ１等が存在しないことを検知すると、第１，第２ドライバＡ１，Ａ２等を切替えて、存在する系統を用いて通信を継続することができる。
【００９１】
たとえば、図２に示すように、終端抵抗が設けられていないドメインＵＮＩＴ−Ｂの第１ドライバＢ１を接続する経路２と、ドメインＵＮＩＴ−Ｃの第２ドライバＣ２を接続する経路５とに断線が検出された場合、終端抵抗Ｔｒ４が設けられたドメインＵＮＩＴ−Ｂの第２ドライバＢ２と、ドメインＵＮＩＴ−Ｃの第１ドライバＣ１とを有効にする。
このとき、ドメインＵＮＩＴ−ＡのＣＰＵ１０は、第１ドライバＡ１，第２ドライバＡ２を有効にして、断線等の異常が生じていない第１通信経路の経路１，３と、第２通信経路の経路４，６とを第２ＯＲ回路１６および第３ＯＲ回路１７を介して接続する。
このため、ドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間の通信に加えて、さらにドメインＵＮＩＴ−ＢとドメインＵＮＩＴ−Ｃとの間の通信が可能となる。
【００９２】
二つの系統Ｉ，ＩＩのバスの一部のうち、例えば、ある１のドメインＵＮＩＴ−Ｂの各第１ドライバＢ１，第２ドライバＢ２への接続にかかる部分である経路２，６が共に断線した場合を想定する。この場合でも実施形態２は、少なくともそのドメインＵＮＩＴ−Ｂが通信から孤立してしまい３者の通信が維持できない点は、第２実施例の比較例と同じである。
また、図２に示すように、異なる装置、例えば、ドメインＵＮＩＴ−ＢとドメインＵＮＩＴ−Ｃのそれぞれ異なるドライバへの接続にかかる部分、この場合、経路２，５が断線した場合には、図４に示す比較例では３者の通信を維持できない（図５中のＡ−Ｂのみ可能）。
しかしながら、実施形態２の冗長通信システム２００が有利になる点は、図２に示すように、異なる装置、例えば、ドメインＵＮＩＴ−ＢとドメインＵＮＩＴ−Ｃのそれぞれ異なるドライバへの接続にかかる部分、例えば、経路２，５が断線した場合でも、３者の通信を維持できる。
【００９３】
このように、実施形態２の冗長通信システム２００では、経路の状況に応じて第１ドライバＢ１等および第２ドライバＣ２等を正常な第２ドライバＢ２および第１ドライバＣ１に切り替えて、第１装置、第２装置、第３装置相互間の通信が可能である。
かつ、異なる系統の経路が断線しても、正常な経路同士を単純な論理和演算を行う第２ＯＲ回路１６および第３ＯＲ回路１７を介して接続して中継することにより、第２装置、第３装置間の通信を可能として冗長ネットワークを維持可能である。
このため、ＣＰＵ１０の演算負荷を増加させずに冗長な通信システムを実現できる。
すなわち、ＵＮＩＴ−ＡのＣＰＵ１０において、中継のための特別な演算、例えば一度、ドメインＵＮＩＴ−Ｂからの信号を受信したのちに記憶して、当該記憶したドメインＵＮＩＴ−Ｂからの信号を、ＣＰＵ１０からの送信信号としてＣＰＵ１０の送信部ＴＸにセットして、送信する、といった処理が不要となる。
実施形態の冗長通信システム２００は、このように単純な論理和演算によって信号を中継することが出来、ＣＰＵ１０による高負荷の演算処理を必要とせず、冗長通信を行うことができる。
【００９４】
しかも、各ＣＰＵ１０，２０，３０のうち、少なくとも何れか１つのコントローラとしてのＣＰＵは、各系統Ｉ，ＩＩの経路１〜３，４〜６の通信状態に基づいて、第１ドライバＡ１，Ｂ１，Ｃ１および第２ドライバＡ２，Ｂ２，Ｃ２の有効・無効を制御する。
ＣＰＵ１０等は、それぞれの第１，第２ドライバを制御可能であればよく、さらに、送信部ＴＸおよび受信部ＲＸも１つずつ、合計一対でよい。
このため、ＣＰＵ１０等は、ゲートの数を増大させる必要がなく、通信負荷も少なく出来、コスト効率が良好である。
【００９５】
また、このようにバスに接続された装置数が多い複雑な冗長通信システムであっても、ＣＰＵ１０等によって経路を制御できる。このため、コントローラとなるハブ的な役割を行う制御装置が不要となり、この点においてもコスト効率が良好である。
他の構成、および作用効果については、前記実施形態と同一乃至均等であるので、説明を省略する。
【００９６】
[変形例１]
図１８は、実施形態２の変形例１に係る冗長通信システム３００を示し、全体の構成を説明する回路図である。
この変形例１では、実施形態２の冗長通信システム２００のドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂに加えて、さらにドメインＵＮＩＴ−ＢまたはＣに相当する複数のドメインＵＮＩＴ−Ｘが追加されて、３以上の装置により構成されている。
【００９７】
この変形例１のドメインＵＮＩＴ−Ｂ〜ドメインＵＮＩＴ−Ｘは、系統Ｉ，系統ＩＩのバスとそれぞれ通信可能な２つの第１，第２ドライバＢ１，Ｂ２または第１，第２ドライバＣ１，Ｃ２を有している。
すなわち、これらのドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間は、系統Ｉとして第１通信経路を構成する経路１，２−１，２−２，２-３，３と、系統ＩＩとして第２通信経路を構成する経路４，５，６，６−１，６−２とによって接続されている。
【００９８】
また、ドメインＵＮＩＴ−Ａの第１ドライバＡ１および第２ドライバＡ２には、終端抵抗Ｔｒ１，Ｔｒ３が設けられている。さらに、ドメインＵＮＩＴ−Ｂの一方の第２ドライバＢ２には、終端抵抗Ｔｒ４が設けられている。そして、さらにドメインＵＮＩＴ−Ｘの他方の第１ドライバＣ１には、終端抵抗Ｔｒ７が設けられている。
【００９９】
このように構成された変形例１の冗長通信システム３００では、系統Ｉのバス、系統ＩＩのバスのそれぞれに３以上の各ドメインＵＮＩＴ−Ｂ〜ドメインＵＮＩＴ−Ｘが接続されている。
このため、系統Ｉのバス、系統ＩＩのバスのそれぞれ一部が断線しても、例えば、経路２−２と６−１、２−３と６−２といった直接、第１，第２ドライバＢ１，Ｂ２への両チャネルが失われる組み合わせではない限り、主たる経路１，４が同時に断線しない以上は、全ノード間の通信を維持することができる。
【０１００】
よって、この変形例１の冗長通信システム３００では、第１通信経路の経路２−１，２−２，２−３あるいは、第２通信経路の経路６−１，６−２，６−３の何れかが断線した場合であっても、ドメインＵＮＩＴ−Ａを中継させて、第１通信経路の経路１，３及び第２通信経路の経路４，６によって、ドメインＵＮＩＴ−ＡとドメインＵＮＩＴ−Ｂ〜Ｘ間で相互に通信を成立させることが出来る。
この変形例１の冗長通信システム３００では、系統Ｉ，ＩＩの終端に位置する第１ドライバＣ１および第２ドライバＢ２には、それぞれ終端抵抗Ｔｒ７，Ｔｒ４が設けられている。このため、バスの抵抗値の変化が抑制されて通信に用いる信号が安定して、通信品質を向上させることができる。
他の構成および作用効果については、実施形態１，２と同様であるので説明を省略する。
【０１０１】
[変形例２]
図１９は、実施形態２の変形例２に係る冗長通信システム４００を示し、全体の構成を説明する回路図である。
この変形例２に係る冗長通信システム４００では、第１装置としてのドメインＵＮＩＴ−Ａに、論理和演算手段としてのＯＲ回路が設けられている。このドメインＵＮＩＴ−ＡのＯＲ回路は、３つのＯＲ回路（第１ＯＲ回路２５，第２ＯＲ回路２６，第３ＯＲ回路２７）を含んで構成されている。
【０１０２】
第１ＯＲ回路２５は、ドメインＵＮＩＴ−Ａの第１ドライバＡ１からの信号と第２ドライバＡ２からの信号とから、ドメインＵＮＩＴ−ＡのＣＰＵ１０への信号を生成する。
第２ＯＲ回路２６は、ドメインＵＮＩＴ−ＡのＣＰＵ１０からの信号とドメインＵＮＩＴ−Ａの第２ドライバＡ２からの信号とから、第１ドライバＡ１への信号を生成する。
第３ＯＲ回路２７は、ドメインＵＮＩＴ−Ａの第２ＯＲ回路２６からの信号とドメインＵＮＩＴ−Ａの第１ドライバＡ１からの信号とから、第２ドライバＡ２への信号を生成する。
また、変形例２の冗長通信システム４００では、ドメインＵＮＩＴ−Ａに含まれるＯＲ回路のうち、第１ＯＲ回路２５以外のＯＲ回路である第２ＯＲ回路２６，第３ＯＲ回路２７は、直列に接続されている。
【０１０３】
すなわち、この実施形態２の変形例２の冗長通信システム４００では、第２ＯＲ回路２６の入力部２６ａがそれぞれ第２ドライバＡ２の受信部ＲＸとＣＰＵ１０の送信部ＴＸに接続されている。これにより、第２ドライバＡ２の受信部ＲＸからの信号とＣＰＵ１０の送信部ＴＸからの信号を、第２ＯＲ回路２６への入力要素としている。
また、第３ＯＲ回路２７の入力部２７ａがそれぞれ第１ドライバＡ１の受信部ＲＸと第２ＯＲ回路２６の出力部２６ｂとに接続されている。これにより、第１ドライバＡ１の受信部ＲＸからの信号とＣＰＵ１０の送信部ＴＸからの信号を、第３ＯＲ回路２７への入力要素とすることができる。
このように構成された冗長通信システム４００では、第１ドライバＡ１の受信部ＲＸからの信号は、第３ＯＲ回路２７を介して第２ドライバＡ２の送信部ＴＸへの信号として送られる。
また、第２ドライバＡ２の受信部ＲＸからの信号は、第２ＯＲ回路２６を介して第１ドライバＡ１の送信部ＴＸへの信号として送られる。
このため、第１ドライバＡ１の系統Ｉに接続される第２装置としてのドメインＵＮＩＴ−Ｂと、系統ＩＩに接続される第３装置としてのドメインＵＮＩＴ−Ｃとは、ドメインＵＮＩＴ−Ａの第２ＯＲ回路２６，第３ＯＲ回路２７を介して中継されて、相互に通信可能となる。
【０１０４】
図２０は、実施形態２の変形例２に係る冗長通信システム４００で、断線箇所と切り替えられるドライバの位置との対応関係を示す表図である。
この変形例２の冗長通信システム４００では、経路２および経路５が同時に断線しても、第１ＯＲ回路２５，第２ＯＲ回路２６および第３ＯＲ回路２７を有するドメインＵＮＩＴ−Ａの中継にて、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ間、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｃ間だけでなく、ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間でも通信可能となり、３つのドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間のそれぞれの通信を成立させることができる。
【０１０５】
この実施形態２の変形例２の冗長通信システム４００では、冗長通信システム２００の作用効果に加えて、さらに、第１通信経路の経路２と、第２通信経路の経路５とが断線した場合であっても、第１ドライバＡ１，第２ドライバＡ２を有効としてドメインＵＮＩＴ−Ａの第２ＯＲ回路２６，第３ＯＲ回路２７を用いて中継させることができる。このため、冗長通信システム４００は、第１通信経路の経路１，３及び第２通信経路の経路４，６によって、ドメインＵＮＩＴ−Ａ，ドメインＵＮＩＴ−Ｂ，ドメインＵＮＩＴ−Ｃ間で相互に通信を成立させることが出来る。
さらに、変形例２の冗長通信システム４００では、系統Ｉ，ＩＩの終端に位置する第１ドライバＣ１および第２ドライバＢ２には、それぞれ終端抵抗Ｔｒ５，Ｔｒ４が設けられている。このため、バスの抵抗値の変化が抑制されて通信に用いる信号が安定して、通信品質を向上させることができる。
他の構成および作用効果については、実施形態１，２および変形例１と同様であるので説明を省略する。
【０１０６】
以上、実施形態１，２および変形例に係る冗長通信システム１００等について、図面を参照して詳細に説明したが、本発明はこれらの実施形態１，２および変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは言うまでもない。
【０１０７】
すなわち、実施形態では、冗長通信システム１００等を構成する第１装置、または第２装置および第３装置として、ドメインＵＮＩＴ−Ａ等を例示して説明してきた。しかしながら、特にこれに限らず、例えば、各第１ドライバＢ１，第２ドライバＢ２ごとに専用のＣＰＵを設けてもよい。
また、ＣＰＵは、少なくとも１つ設けられていればよく、１つのＣＰＵで送受信チャネルが二つあるものを用いてもよい。さらに、二つの系統のバスのそれぞれと通信できる二つのドライバ（第１ドライバＢ１，第２ドライバＢ２）を制御するものであれば、ドメインＵＮＩＴ−Ｂ等、ドメインＵＮＩＴ−Ａと接続される機器の回路構成はどのような構成のものであってもよい。
【０１０８】
そして、ドメインＵＮＩＴ−Ａ等は、二系統のバスに接続可能な二つの第１，第２ドライバＡ１，Ａ２と、ＯＲ回路１１等とを含むものであればよく、ノードを構成する装置の構成部品、回路構成、および数量が限定されるものではない。
論理和演算手段としてＯＲ回路１１等を用いたものを示してきたが特にこれに限らず、論理和演算を行うものであれば、どのような演算手段であってもよい。
さらに、実施形態２では、冗長通信システム２００では、異なる経路３，６の第２ドライバＢ２，第１ドライバＣ１に終端抵抗Ｔｒ４，Ｔｒ５が設けられている。しかしながら、特にこれに限らず、たとえば、異なる経路２，５の第１ドライバＢ１，第２ドライバＣ２に終端抵抗を設けてもよく、終端抵抗の有無も含めて、終端抵抗を設ける位置が限定されるものではない。
【符号の説明】
【０１０９】
１〜３      第１通信経路
４〜６      第２通信経路
１０，２０，３０    ＣＰＵ
１１    ＯＲ回路（論理和演算手段）
１７，２７    第１ＯＲ回路（第１論理和演算手段）
１６，２６    第２ＯＲ回路（第２論理和演算手段）
１５，２５    第３ＯＲ回路（第３論理和演算手段）
１００，２００，２０１，３００，４００  冗長通信システム
Ａ１，Ｂ１，Ｃ１    第１ドライバ
Ａ２，Ｂ２，Ｃ２    第２ドライバ
ＲＸ    受信部
ＴＸ    送信部
Ｔｒ１〜Ｔｒ５，Ｔｒ７  終端抵抗
ドメインＵＮＩＴ−Ａ（第１装置）
ドメインＵＮＩＴ−Ｂ（第２装置）
ドメインＵＮＩＴ−Ｃ（第３装置）
【図１】
2017168964.tif 000003
【図２】
2017168964.tif 000004
【図３】
2017168964.tif 000005
【図４】
2017168964.tif 000006
【図５】
2017168964.tif 000007
【図６】
2017168964.tif 000008
【図７】
2017168964.tif 000009
【図８】
2017168964.tif 000010
【図９】
2017168964.tif 000011
【図１０】
2017168964.tif 000012
【図１１】
2017168964.tif 000013
【図１２】
2017168964.tif 000014
【図１３】
2017168964.tif 000015
【図１４】
2017168964.tif 000016
【図１５】
2017168964.tif 000017
【図１６】
2017168964.tif 000018
【図１７】
2017168964.tif 000019
【図１８】
2017168964.tif 000020
【図１９】
2017168964.tif 000021
【図２０】
2017168964.tif 000022