以下、本発明のデータ中継装置、端末装置およびデータ通信システムを、車載LANのシステムに適用した実施形態を各図に基づいて説明する。まず、本実施形態に係るデータ通信システムの構成例を図1を参照して説明する。以下、特許請求の範囲の記載との関係において、ネットワークNW-1を「他のネットワーク」に、ネットワークNW-nを「一のネットワーク」にそれぞれ対応付けて説明するが、この対応は一例を示すものに過ぎず、例えば、ネットワークNW-1,NW-2,NW-3を「一のネットワーク」、ネットワークNW-nを「他のネットワーク」とするものや、ネットワークNW-1,NW-2,NW-3を「他のネットワーク」、ネットワークNW-nを「一のネットワーク」とするもの等、あらゆる組み合わせが想定でき、これら以外の対応関係であっても良い。
なお、ゲートウェイ装置20は、特許請求の範囲に記載の「データ中継装置」に相当し得るもので、またノード50a、50b、50c、50d、50e、50f、50g、50h、50i、50x、50y、50z(以下、これらを総称して「ノード50a等」という)は、特許請求の範囲に記載の「端末装置」に相当し得るものである。
図1に示すように、本実施形態に係るデータ通信システムは、複数の異なる通信プロトコルによるネットワークNW-1,NW-2,NW-3,…,NW-n(nは正の整数)(以下、これらを総称して「ネットワークNW-1等」という)と、これらのネットワークNW-1等に接続されるゲートウェイ装置20とにより構成される車載LANのシステムである。各ネットワークNW-1等は、データ通信の伝送媒体となるバスと、このバスに接続される複数のノードと、により構成されている。
例えば、1番目のネットワークNW-1であれば、3台のノード50a、50b、50cがバスbus-1にそれぞれデータ通信可能に接続されている。同様に、2番目のネットワークNW-2のバスbus-2には、ノード50d、50e、50fが、また3番目のネットワークNW-3のバスbus-3には、ノード50g、50h、50iが、それぞれデータ通信可能に接続されており、最後のn番目のネットワークのバスbus-nには、例えば、ノード50x、50y、50zが接続されている。
このように構成される各ネットワークNW-1等では、それぞれの用途に適した通信プロトコルに従って各ノード間の通信が行われている。例えば、ネットワークNW-1は制御系に適した通信プロトコルとしてCANが用いられており、ネットワークNW-2は車体制御等の低速向きの通信プロトコルとしてJ1850やBEANが用いられている。また、ネットワークNW-3の通信プロトコルはマルチメディア用のIE−BUS、ネットワークNW-nの通信プロトコルは診断制御用のISO9141、がそれぞれ用いられている。
したがって、CANによるネットワークNW-1には、ノード50aとしてエンジン制御用のECU、ノード50bとしてブレーキ制御用のECU、ノード50cとしてトランスミッション制御用のECUがそれぞれバスbus-1に接続され、またJ1850によるネットワークNW-2には、ノード50dとしてエアコン制御用のECU、ノード50eとしてシート制御用のECU、ノード50fとしてワイパ制御用のECUがそれぞれバスbus-2に接続されている。さらにIE−BUSによるネットワークNW-3には、ノード50gとしてカーナビゲーション制御用のECU、ノード50hとしてカーオーディオ制御用のECU、ノード50iとしてビデオシステム制御用のECUがそれぞれバスbus-3に接続されている。そして、ISO9141によるネットワークNW-nには、ノード50x、50y、50zとして車両制御機能の診断用ECUがそれぞれバスbus-nに接続されている。
このように各ネットワークNW-1等に接続されるノード50a等は、ネットワークごとに定められた通信プロトコルに従って各ノード間でデータフレームの送受信を行っている。そのため、同一のネットワーク内おいてはノード同士の通信は可能であっても、当該ネットワークを超えた他のネットワークに接続されるノードとの間においては、通信プロトコルが異なるため、通常、データフレームのやりとりを行うことができない。つまり、図1に示すネットワークNW-1のノード50aは、ノード50bやノード50cとは通信できても、ネットワークNW-2のノード50dやネットワークNW-nのノード50xとは通信することができない。
そこで、これら各ネットワークNW-1等をゲートウェイ装置20に接続することにより、通信プロトコルの異なるネットワーク間に介在し、これらのネットワークの各ノード同士の通信を可能にしている。なお、このゲートウェイ装置20は、各ノード50a等から送信されてくるデータフレームに含まれるデータ本体の種類を識別可能な受信データIDに基づいて、当該データフレームの転送先のネットワークを決定し得るもので、各ノード50a等を識別し得るノードIDに基づいて転送先のネットワークを決定しているものではない。ここで、ゲートウェイ装置20の構成例を図2を参照して説明する。なお、図2(A) にはゲートウェイ装置20のハードウェア構成が示されており、また図2(B) は、ゲートウェイ装置20による処理概要の構成が示されている。また、図2では、インターフェイスを「I/F」と、またテーブルを「TBL」と、それぞれ略記している。
図2(A) に示すように、ゲートウェイ装置20は、主に、CPU21、メモリ23、インターフェイス部27により構成されており、それぞれ内部バスを介して相互に電気的に接続されている。CPU21は、中央演算処理装置で、「MPU」とも称されるマイクロプロセッシングユニットである。
メモリ23は、DRAM等の揮発性メモリ装置とROMやEEPROM等の不揮発性メモリ装置とからなる半導体記憶装置である。通常、不揮発性メモリにプログラム領域23aや中継先テーブル領域23bを確保して、後述する各処理部による演算処理を可能にする所定の制御プログラムやデータを格納する。これに対し、揮発性メモリには、プログラムによる作業領域等が確保され、スタックや各種中間データ等が暫定的に記憶される。なお、中継先テーブル領域23bには、中継先テーブル23b1が確保される。
このように中継先テーブル領域23bをPROMやEEPROM等の不揮発性メモリに確保することにより、ゲートウェイ装置20に供給される電源が切断されても中継先テーブル23b1に記憶された受信データIDや送信データID等の各情報が失われることがないので、ゲートウェイ装置20の工場出荷時に設定されたネットワーク情報の喪失を防止することができる。また電気的に消去可能なEEPROMに中継先テーブル領域23bを確保しこれに中継先テーブル23b1を登録することで、当該中継先テーブル23b1を容易に書き換えることが可能となる。これにより、PROMのようにROM自体を交換する必要がなくなるので、交換用のROMを管理する必要もない。
インターフェイス部27は、複数のバスbus-1,bus-2,bus-3,…,bus-n(以下、これらを総称して「バスbus-1等」という)に対応したインターフェイスユニットをこれらのバス数ぶん有するもので、例えば、バスbus-1に接続可能なインターフェイスユニットとしてバス1対応インターフェイス部27aを備えている。同様に、バスbus-2に接続可能なインターフェイスユニットとしてバス2対応インターフェイス部27b、バスbus-3に接続可能なインターフェイスユニットとしてバス3対応インターフェイス部27c、バスbus-nに接続可能なインターフェイスユニットとしてバスn対応インターフェイス部27nをそれぞれ備えている。なお、バス1対応インターフェイス部27a、バス2対応インターフェイス部27b、バス3対応インターフェイス部27c、バスn対応インターフェイス部27nは、特許請求の範囲に記載の「受信種別情報受信手段」、「送信種別情報受信手段」、「受信種別情報要求手段」および「送信種別情報要求手段」に相当し得るものである。
このようにゲートウェイ装置20のハードウェアを構成することにより、図2(B) に示すように構成される各処理がCPU21により実行される。即ち、CPU21により実行される各処理は、基本システム部23a1、中継フレーム受信部23a2、中継フレーム送信部23a3、データID参照部23a4、中継先テーブル生成部23a5、中継先テーブル23b1により構成されている。
基本システム部23a1は、CPU21とメモリ23、インターフェイス部27等のハードウェア資源との間の基本制御を担うオペレーティングシステムで、コンピュータシステムとして不可欠なプログラム群からなる。
中継フレーム受信部23a2は、インターフェイス部27に入力されて受信バッファにバッファリングされているデータフレームを適宜取り出す処理や、所定のアルゴリズムに従って伝送誤りの有無を調べるエラーチェック処理や伝送誤りの生じたデータを正すエラー訂正処理等を行い得るもので、これらの処理の後、データフレームをデータID参照部23a4に渡す。なお、この中継フレーム受信部23a2は、データフレームを受信する機能を有することから、特許請求の範囲に記載の「受信種別情報受信手段」や「送信種別情報受信手段」に相当し得るものである。
中継フレーム送信部23a3は、データID参照部23a4により転送先が決定されたデータフレームを受け取ると、これに誤り検出用または誤り訂正用のデータを付加して適宜、インターフェイス部27の送信バッファに出力する処理を行い得るものである。なお、この中継フレーム送信部23a3は、データフレームを送信する機能を有することから、特許請求の範囲に記載の「受信種別情報要求手段」や「送信種別情報要求手段」に相当し得るものである。
データID参照部23a4は、中継フレーム受信部23a2により渡されたデータフレームから受信データIDを抽出する処理や、中継先テーブル23b1に格納された各ノード50a等が受信すべきデータIDを参照して、この参照したデータIDと受信データIDとが一致するか否かを判断する処理を行い得るものである(以下、データID参照部23a4により参照されるデータIDを「参照データID」という)。そして、データID参照部23a4では、両データIDが、一致する場合には当該データフレームを中継フレーム送信部23a3に渡し、一致しない場合には当該データフレームを破棄する。つまり、ゲートウェイ装置20は、各ノード50a等から送信されてくるデータフレームに含まれるデータ本体の種類を識別可能な受信データIDに基づいて、当該データフレームの転送先のネットワークを決定している。なお、受信データIDは、特許請求の範囲に記載の「データ識別子」および「受信情報種別」に相当し得るものである。
なお、このように中継フレーム受信部23a2によりインターフェイス部27の受信バッファから取り出されたデータフレームがデータID参照部23a4を経て中継フレーム送信部23a3に渡される流れは、図2(B) において白抜き矢印によって表されている。また、データID参照部23a4による、中継先テーブル23b1に格納された参照データIDの参照は、図2(B) において両矢印により表されている。
中継先テーブル生成部23a5は、ゲートウェイ装置20の問い合わせに応えてノード50a等から送信されるデータフレームに含まれる受信データIDに基づいて中継先テーブル23b1を生成する処理や、当該中継先テーブル23b1が生成されていない場合にノード50a等に対し当該ノード50a等が受信すべきデータフレームの受信データIDや当該ノード50a等が送信すべきデータフレームの送信データIDを問い合わせる処理を行い得るものである。なお中継先テーブル生成部23a5は、特許請求の範囲に記載の「中継先決定手段生成手段」、「受信種別情報要求手段」や「送信種別情報要求手段」に相当し得るものである。この中継先テーブル23b1の生成処理については、図9等を参照しながら後述する。
この中継先テーブル生成部23a5による受信データIDや送信データIDの問い合わせは、対象となるノード50a等が自分のノードIDを認識できる構成であれば、該当するノード50a等に対してゲートウェイ装置20から個々に受信データIDや送信データIDの問い合わせを行っても良いが、本実施形態では、対象となるノード50a等に対して特定のデータフレームをブロードキャストし得るように構成している。
具体的には、例えば、ゲートウェイ装置20から送信されるデータフレームのデータIDにワイルドカードとして予め決められている特定のコード(例えば全ビット「1」)を設定することによって、ネットワークNW-1等に接続されているノード50a等すべてを対象として当該データフレームが有用であることを通知する。これにより、このような問い合わせを端末装置50a等に対して個々に送信する場合(ユニキャスト)に比べてゲートウェイ装置20からノード50a等に対する送信回数を1/n(nはノード数)に減少させることができるので、短時間に受信データIDを受信することができる。したがって、ネットワークの構築処理を高速にできるので、ネットワーク構成に関するデータ中継装置20の設定作業時間を短縮できる(請求項2、3に実質的に対応)。
なお、この受信データIDや送信データIDの問い合わせは、1回に限られず、例えば、無条件に2回以上行い、それぞれの問い合わせに対して回答のあった受信データIDや送信データIDを照合して受信データID等に誤りのないことを確認可能に構成しても良い。これにより、伝送誤りによる中継先テーブル23b1を誤生成を防止することができる。また、ノード50a等の応答がない場合や受信データIDや送信データIDの送信がされない場合に、当該問い合わせを所定回数、繰り返すようなリトライ可能な構成にしても良い。これにより、当該問い合わせがノード50a等の受信エラーにより消失等し得る場合にも効果的に対処することができる。
中継先テーブル23b1は、各バスbus-1等に対応してメモリ23の中継先テーブル領域23bに構成される不揮発性の記憶領域で、データフレームに含まれるデータ本体の種類を識別可能な受信データIDに基づいて転送先の他のネットワークを決定し得るものである。例えば、バスbus-1に接続されるノード50a、50b、50cが受信すべき受信データIDはバスメモリ1に登録され、バスbus-2に接続されるノード50d、50e、50fが受信すべき受信データIDはバスメモリ2に登録され、バスbus-3に接続されるノード50g、50h、50iが受信すべき受信データIDはバスメモリ3に登録され、バスbus-nに接続されるノード50x、50y、50zが受信すべき受信データIDはバスメモリnに登録される。なお、この中継先テーブル23b1は、特許請求の範囲に記載の「中継先決定手段」に相当し得るもので、詳細は図6等を参照しながら後述する。
なお、このように中継フレーム受信部23a2により取得されたデータフレームに含まれる受信データIDに基づいて中継先テーブル23b1を生成する処理の伝達は、図2(B) において斜線塗り矢印によって表されている。また、中継先テーブル23b1が生成されていない場合における中継先テーブル生成部23a5による受信データIDや送信データIDの問合せ伝達は、図2(B) において点線矢印によって表されている。
次に、ノード50a等の構成例を図3を参照して説明する。なお、各ノード50a等の基本構成はほぼ同様であるので、ここではノード50aの構成例を代表して説明する。また、図3(A) にはノード50aのハードウェア構成が示されており、また図3(B) は、ノード50aによる処理概要の構成が示されている。なお、図3では、インターフェイスを「I/F」と、またアプリケーションを「AP」と、それぞれ略記している。
図3(A) に示すように、ノード50aは、主に、CPU51、メモリ53、インターフェイス部57により構成されており、それぞれ内部バスを介して相互に電気的に接続されている。CPU51は、中央演算処理装置で、CPU21と同様にマイクロプロセッシングユニットである。
メモリ53も、前述したメモリ23と同様に、DRAM等の揮発性メモリ装置とROMやEEPROM等の不揮発性メモリ装置とからなる半導体記憶装置で、不揮発性メモリにプログラム領域53aや送受信IDテーブル領域53bを確保している。このプログラム領域53aには、各処理部による演算処理を可能にする所定のプログラムやデータが格納されており、また揮発性メモリには、プログラムによる作業領域等が確保される。なお、送受信IDテーブル領域53bには、受信IDテーブル53b1や送信IDテーブル53b2が確保される。
インターフェイス部57は、バスbus-1に対応したバス1対応インターフェイス部57aと所定のアプリケーションに対応したアプリケーション対応インターフェイス部57bを備えている。なお、このアプリケーション対応インターフェイス部57bは、ノード50a等の用途により異なったインターフェイス、例えば、アナログ信号を処理するものであればA/D変換器やD/A変換器が用意される。
このようにノード50aのハードウェアを構成することにより、図3(B) に示すように構成される各処理がCPU51により実行される。即ち、CPU51により実行される各処理は、基本システム部53a1、データフレーム受信部53a2、データフレーム送信部53a3、データID参照部53a4、所定処理部53a5、受信ID生成部53a6、送信ID生成部53a7、受信IDテーブル53b1、送信IDテーブル53b2により構成されている。
基本システム部53a1は、CPU51とメモリ53、インターフェイス部57等のハードウェア資源との間の基本制御を担うオペレーティングシステムで、コンピュータシステムとして不可欠なプログラム群からなる。
データフレーム受信部53a2は、インターフェイス部57に入力されて受信バッファにバッファリングされているデータフレームを適宜取り出す処理や、所定のアルゴリズムに従って伝送誤りの有無を調べるエラーチェック処理や伝送誤りの生じたデータを正すエラー訂正処理等を行い得るもので、この処理の後、データフレームをデータID参照部53a4に渡す。
データフレーム送信部53a3は、所定処理部53a5、受信ID生成部53a6や送信ID生成部53a7によって所定の情報処理が施されたデータフレームを受け取ると、これに誤り検出用または誤り訂正用のデータを付加して適宜、インターフェイス部57の送信バッファに出力する処理を行い得るものである。なお、このデータフレーム送信部53a3は、データフレームを送信する機能を有することから、特許請求の範囲に記載の「受信種別情報送信手段」や「送信種別情報送信手段」に相当し得るものである。
データID参照部53a4は、データフレーム受信部53a2により渡されたデータフレームから受信データIDを抽出する処理や、受信IDテーブル53b1に格納された当該ノード50aが受信すべきデータIDを参照して、この参照データIDと抽出した受信データIDとが一致するか否かを判断する処理を行い得るものである。両データIDが、一致する場合には当該データフレームを所定処理部53a5に渡し、一致しない場合には当該データフレームを破棄する。つまり、ノード50aは、他のノード50b等やゲートウェイ装置20から送信されてくるデータフレームに含まれるデータ本体の種類を識別可能な受信データIDに基づいて、当該データフレームが有用なものであるか否かを判断している。ノードIDに基づいては当該データフレームの有用性を判断していない。
所定処理部53a5は、ノード50aが備えるべき機能に従った所定の処理や、当該所定の処理後、送信IDテーブル53b2を参照して、処理後のデータフレームのデータ本体が他のノード50b等に送信する必要のあるものである場合には、当該データフレームをデータフレーム送信部53a3に渡す処理を行い得るものである。例えば、当該ノード50aがエンジン制御用のECUである場合には、所定のデータフレームのデータ本体から得られるスロットル開度情報等に基づいてインジェクタ(燃料噴射弁)に出力すべき燃料噴射量に関する制御情報を演算する処理を行った後、送信IDテーブル53b2を参照して当該インジェクタを制御し得るインジェクタ制御用のECUに送信すべきデータフレームをデータフレーム送信部53a3に渡す処理を行う。
なお、このようにデータフレーム受信部53a2によりインターフェイス部57の受信バッファから取り出されたデータフレームがデータID参照部53a4を経て所定処理部53a5に渡され、所定処理部53a5による所定処理の後、データフレーム送信部53a3に渡される流れは、図3(B) において白抜き矢印によって表されている。また、データID参照部53a4による、受信IDテーブル53b1に格納された受信データIDの参照や、所定処理部53a5による、送信IDテーブル53b2に格納された送信データIDの参照は、図3(B) において両矢印により表されている。
受信ID生成部53a6は、ゲートウェイ装置20の問い合わせに応じて、当該ノード50aが受信すべきデータフレームの受信データIDを受信IDテーブル53b1を参照し、当該受信データIDを含んだデータフレームを生成する処理を行い得るもので、生成されたデータフレームをデータフレーム送信部53a3に渡す。なお、ゲートウェイ装置20に送信する当該受信データIDが複数存在する場合には、これらを一度に送信可能にデータ本体に複数の当該受信データIDを設定してデータフレームを構成しても良いし、また1回の送信で1つの受信データIDを送る構成をとり、複数回に分けてデータフレームを送信しても良い。この受信ID生成部53a6は、特許請求の範囲に記載の「受信種別情報生成手段」に相当し得るものである。なお、この受信ID生成部53a6による受信IDの生成処理については、図11等を参照しながら後述する。
送信ID生成部53a7も、ゲートウェイ装置20の問い合わせに応じて、当該ノード50aが送信すべきデータフレームの送信データIDを送信IDテーブル53b2を参照し、当該送信データIDを含んだデータフレームを生成する処理を行い得るもので、生成されたデータフレームをデータフレーム送信部53a3に渡す。なお、ゲートウェイ装置20に送信する当該送信データIDが複数存在する場合には、受信ID生成部53a6の場合と同様に、一度に送信可能に構成したり、複数回に分けてデータフレームを送信しても良い。この送信ID生成部53a7は、特許請求の範囲に記載の「送信種別情報生成手段」に相当し得るものである。なお、この送信ID生成部53a7による送信IDの生成処理については、図12等を参照しながら後述する。
受信IDテーブル53b1は、メモリ53の送受信IDテーブル領域53bに構成される記憶領域で、当該ノード50aが受信すべきデータフレームの受信データIDを格納している。このテーブルは、データID参照部53a4や受信ID生成部53a6に参照され得るものである。
送信IDテーブル53b2も、受信IDテーブル53b1と同様に、メモリ53の送受信IDテーブル領域53bに構成される記憶領域で、当該ノード50aが送信すべきデータフレームの送信データIDを格納している。このテーブルは、所定処理部53a5や送信ID生成部53a7に参照され得るものである。
なお、ゲートウェイ装置20の中継先テーブル生成部23a5から送られてくる受信データIDや送信データIDの問合せ伝達は、図3(B) において点線矢印によって表されており、またこれらの問い合わせに従った受信ID生成部53a6による受信IDテーブル53b1の参照や送信ID生成部53a7による送信IDテーブル53b2の参照は、図3(B) において両矢印により表されている。さらに受信ID生成部53a6や送信ID生成部53a7により生成されるデータフレームの流れは、図3(B) において斜線塗り矢印によって表されている。
ここで、これら各通信プロトコルのフレームフォーマットについて、図4を参照して説明する。なお、図4(A) にはCANプロトコル、図4(B) にはJ1850プロトコル、図4(C) にはBEANプロトコル、図4(D) にはIE−BUSプロトコル、図4(E) にはISO9141プロトコル、によるそれぞれのフレームフォーマットが示されている。
図4(A) に示すように、CANプロトコルによるフレームフォーマットでは、フレームの始まりを示すSOF(Start Of Flame)領域からCNT(Control)領域までの範囲が「ヘッダ」であり、そのうちのID領域に、データ領域に格納されるデータ本体の種類が含まれている。つまり、CANプロトコルではこのID領域が受信データIDや送信データID(データ識別子)に相当する。
図4(B) に示すように、J1850プロトコルによるフレームフォーマットでは、フレームの始まりを示すSOF領域の後に位置するヘッダ領域に、データ領域に格納されるデータ本体の種類が含まれている。つまり、J1850プロトコルでは、このヘッダ領域が受信データIDや送信データID(データ識別子)に相当する。
図4(C) に示すように、BEANプロトコルによるフレームフォーマットでは、フレームの始まりを示すSOF領域からメッセージID領域までの範囲が「ヘッダ」であり、そのうちのメッセージID領域に、データ領域に格納されるデータ本体の種類が含まれている。つまり、BEANプロトコルでは、このメッセージID領域が受信データIDや送信データID(データ識別子)に相当する。
図4(D) に示すように、IE−BUSプロトコルによるフレームフォーマットでは、送信元物理アドレス領域からOPC(OperationCode)領域までの範囲が「ヘッダ」であり、そのうちのOPC領域に、データ領域に格納されるデータ本体の種類が含まれている。つまり、IE−BUSプロトコルでは、このOPC領域が受信データIDや送信データID(データ識別子)に相当する。
図4(E) に示すように、ISO9141プロトコルによるフレームフォーマットでは、FB(FormatByte)領域からPID領域までの範囲が「ヘッダ」であり、そのうちの宛先アドレス領域とPID領域に、データ領域に格納されるデータ本体の種類が含まれている。つまり、ISO9141プロトコルでは、この宛先アドレス領域およびPID領域が受信データIDや送信データID(データ識別子)に相当する。
なお、これらのプロトコルのフレームフォーマットは、特許請求の範囲に記載の「データフレーム」に相当し得るもので、またデータ領域は、特許請求の範囲に記載の「データ本体」に相当し得るものである。
次に、このようなデータフレームに含まれる受信データID、送信データIDについて図5〜図8を参照して説明する。なお、図5は、図1に示すネットワーク構成からネットワークNW-1、NW-nの部分を抜粋したもので、ネットワークNW-2、NW-3については割愛されている。
図5および図6(A) に示すように、まずノード50aから送信されるデータフレームの送信データIDとして、「MsgA_GW」、「MsgA_B」、「MsgA_C」を想定する。これに対し、ノード50aが受信するフレームの受信データIDとして「MsgGW_A」を想定する。なお、「Msg○_□」の表記は、○印から□印に向かって送信されるデータフレームのデータIDである旨を示しているが、受信データIDや送信データIDとしてこのような表記によるものが必要となることを示しているのではなく、単なるデータIDの例示であることに留意されたい。
同様に、図6(B) に示すように、ノード50bから送信されるデータフレームの送信データIDとして、「MsgB_A」、「MsgB_GW」、「MsgB_C」を想定する。これに対し、ノード50bが受信するフレームの受信データIDとして「MsgGW_B」を想定する。ノード50cについても同様に、図6(C) に示すように、ノード50cから送信されるデータフレームの送信データIDとして、「MsgC_A」、「MsgC_B」、「MsgC_GW」を想定する。これに対し、ノード50cが受信するフレームの受信データIDとして「MsgGW_C」を想定する。
すると、これらノード50a、50b、50cが接続されたバスbus-1に関する受信データIDは、バスbus-1に接続された全ノード50a、50b、50cの受信すべき受信データIDとなる。即ち、図5および図6に示す想定例では、バスbus-1に接続された全ノードノード50a、50b、50cに対して受信すべきデータフレームの受信データIDを図6の各表から抽出することによって、図7(A) に示すような表ができる。
つまり、図6(A) 〜図6(C) のなかから、受信ノードがノード50aであるものを選択することによって、図7(A) の「ノード50aが受信すべきデータID」の欄に示す表ができる。同様に図6から、受信ノードがノード50bであるものを選択することによって、図7(A) の「ノード50bが受信すべきデータID」の欄に示す表ができる。さらに同様に図6から、受信ノードがノード50cであるものを選択することによって、図7(A) の「ノード50cが受信すべきデータID」の欄に示す表ができる。
これにより、図5および図6に示す想定例の場合、ゲートウェイ装置20の中継先テーブル23b1として、バスbus-1に対応するバスメモリ1には、ノード50aが受信すべきデータIDとして、「MsgGW_A」,「MsgB_A」,「MsgC_A」の3種類の受信データIDが登録され、またノード50bが受信すべきデータIDとして、「MsgA_B」,「MsgGW_B」,「MsgC_B」の3種類の受信データIDが登録され、ノード50cが受信すべきデータIDとして、「MsgA_C」,「MsgB_C」,「MsgGW_C」の3種類の受信データIDが登録される。
しかし、前述したように、ゲートウェイ装置20は、通信プロトコルの異なるネットワーク間に介在し、これらのネットワークの各ノード同士の通信を可能にするものである。そのため、図7(A) に示すように、例えば、ゲートウェイ装置20の中継先テーブル23b1に、ノード50aが受信すべきデータIDとして、「MsgGW_A」,「MsgB_A」,「MsgC_A」の3種類の受信データIDが登録されていても、実際には同一のネットワーク内のノード間でやりとりされる「MsgB_A」、「MsgC_A」についてはゲートウェイ装置20が関与する必要はない。本来、ゲートウェイ装置20が必要とする受信データIDは、一のネットワークを超えて他のネットワークに送信されるデータフレームのデータIDであるから、この場合、「MsgGW_A」,「MsgB_A」,「MsgC_A」の受信データIDのうち、「MsgGW_A」だけとなる。
つまり、図8に示すように、受信すべきデータIDから送信すべきデータIDを除いたものがゲートウェイ装置20に必要な受信データIDである。図5および図6に示す想定例の場合、図7(B) に示すように、ノード50a、50b、50cがそれぞれ送信すべきデータIDを取得することで、本来必要となる受信データIDを求めることができる。
例えば、ノード50aについては、図7(A) に示すように、受信すべきデータIDが「MsgGW_A」,「MsgB_A」,「MsgC_A」であるのに対し、これらデータIDには、ノード50bが送信すべきデータIDの「MsgB_A」と、ノード50cが送信すべきデータIDの「MsgC_A」とが含まれている。そのため、この2つのデータIDに関する通信は、同一のネットワークNW-1内で閉じたものであるので、ゲートウェイ装置20が関与する必要のない。したがって、この2つのデータID「MsgB_A」、「MsgC_A」は除外してもゲートウェイ装置20の中継判断に影響を与えることはないことから、ノード50aが受信すべきデータIDは、「MsgGW_A」だけになることがわかる。同様に、ノード50bやノード50cについても本来必要な受信データIDを求めることができ、その結果が図7(C) に示されいる(不要な受信データIDは二重線で消してある)。
このように、ゲートウェイ装置20では、ノード50a等の送信ID生成部53a7により生成されて送信されてくる送信データIDを受信データIDに加えて取得することにより、同一のネットワークに接続される端末装置同士で相互に送受信されるデータフレームを認識することができるので、このようなデータ中継装置20では中継する必要のないデータフレームを除いて中継を行う中継先決定手段23b1を生成することができる。これによって、中継先決定手段23b1の構成を簡素にできる。
なお、このような送信データIDの問い合わせは、前述した受信データIDの問い合わせと同様に、例えば、ゲートウェイ装置20から送信されるデータフレームがネットワークNW-1等に接続されているノード50a等すべてを対象として有用であることを通知するブローキャストにより行っても良い。これにより、このような問い合わせを端末装置50a等に対して個々に送信する場合(ユニキャスト)に比べてゲートウェイ装置20からノード50a等に対する送信回数を1/n(nはノード数)に減少させることができるので、短時間に送信データIDを受信することができる。したがって、ネットワークの構築処理を高速にできるので、ネットワーク構成に関するデータ中継装置20の設定作業時間を短縮できる(請求項5、6に実質的に対応)。
次に、ゲートウェイ装置20のCPU21により実行される中継先テーブル生成部23a5による処理の流れを、図1、図9および図10を参照して説明する。なお、この中継先テーブル生成部23a5の処理(中継先テーブル生成処理)は、ゲートウェイ装置20のメモリ23に格納される所定の制御プログラムをCPU21により実行することにより実現される。
図9に示すように、中継先テーブル生成部23a5による処理では、まずステップS101により、受信データIDを問い合わせるべきバス、つまり問い合わせバスを選択する処理が行われる。例えば、中継先テーブル領域23bの中継先テーブル23b1を参照し、バスメモリ1〜nのうち、当該バスに対応した受信データIDが生成されていないものを問い合わせバスとして選択する。この問い合わせバスの選択は、複数であっても良い。ここでは、図1に示すバスbus-1(ネットワークNW-1)を問い合わせバスとして選択したこととする。
続くステップS103では、当該問い合わせバスに接続された全てのノードに対して受信データIDを問い合わせる処理が行われる。例えば、先の例では、問い合わせバスとして選択されたネットワークNW-1に接続される全てのノード50a、ノード50b、ノード50cに対して当該ノードが受信すべき受信データIDを応えさせる。ここでは、図7(A) に示すように、ノード50aが受信すべきデータIDとして、「MsgGW_A」,「MsgB_A」,「MsgC_A」の3種類の受信データIDがゲートウェイ装置20に送信される。
次のステップS105では、受信データIDを取得する処理が行われる。これにより、ステップS101によりノード50a等から送信されてきたデータフレームを受信すると、当該データフレームから受信データIDを抽出する。ここでは、ノード50aが送信したデータフレームには、3種類の受信データID「MsgGW_A」,「MsgB_A」,「MsgC_A」が含まれており、それらは当該ステップS105により取得される。
続くステップS107では、中継先テーブル23b1を生成する処理が行われる。この処理では、例えば、ステップS105により取得した受信データIDを中継先テーブル23b1のバスメモリに格納することにより中継先テーブル23b1を生成する。ここでは、ステップS105により3種類の受信データID「MsgGW_A」,「MsgB_A」,「MsgC_A」が取得されているので、受信データIDを中継先テーブル23b1のバスメモリ1に格納(登録)する。
ステップS109では、タイムアウト時間が経過しているか否かを判断する処理が行われる。この判断処理により、所定のタイムアウト時間の経過前であれば(S109:No)、ステップS105に処理を移行して同一のバスbus-1(ネットワークNW-1)に接続される他のノード50b等から送信され得る受信データIDの取得を試み、ステップS107等の処理を前述と同様に行う。
一方、所定のタイムアウト時間の経過した後であれば(S109:Yes)、続くステップS111に処理を移行して全てのバスbus-1〜bus-nについて受信データIDの取得が完了したか否かの判断処理を行う。そして、まだ受信データIDの取得が完了していない場合には(S111:No)、ステップS101に処理を移行して、問い合わせバスを選択する処理を行い、ステップS103等の処理を前述したように行う。
ステップS111により、受信データIDの取得が完了していると判断した場合には(S111:Yes)、中継先テーブル23b1の生成が完了したことになるので、上述した中継先テーブル生成部23a5による一連の処理を終了する。
このように中継先テーブル生成部23a5による処理(中継先テーブル生成処理)では、中継フレーム受信部23a2により受信された受信データIDに基づいて中継先テーブル23b1を生成するので、ノード50a等から送信される情報で、当該ノード50a等が受信すべきデータフレームに含まれるデータ本体の種類に関する受信データIDを受信することで、中継先テーブル23b1を適宜生成することが可能となる。これにより、中継先テーブル23b1を生成するために必要となる当該受信データIDを人手に頼ることなく、中継フレーム受信部23a2により受信し、自ら学習(中継先テーブル23b1を生成)するので、ネットワークの構築を容易にできる。したがって、中継先テーブル23b1を記憶したメモリ23の書込作業や交換作業の発生を防ぐので、ネットワーク構成に関するゲートウェイ装置20の設定作業の負担を軽減することができる(請求項1に実質的に対応)。
なお、ステップS101より後でステップS109よりも前の処理、つまりステップS103、S105、S107を、図10に示すように、ステップS103’、S105’、S106’、S107’に変更することにより、受信データIDに加えて送信データIDも取得し、これらのIDに基づいて中継先テーブル生成部23a5を生成しても良い。
即ち、図10に示すように、ステップS103’により、問い合わせバスに接続された全てのノードに対して受信データIDおよび送信データIDを問い合わせる処理が行われた後、ステップS105’により、受信データIDおよび送信データIDを取得して、さらにステップS106’により、受信データIDを選択する処理が行われる。
このステップS106’による受信データIDの選択は、図7および図8を参照して説明したように、受信すべきデータID(受信データID)から送信すべきデータID(送信データID)を除くことによって、ゲートウェイ装置20に必要な受信データIDを求めるものである。
続くステップS107’では、中継先テーブル23b1を生成する処理が行われる。ここでは、例えば、ステップS106’により選択された受信データIDを中継先テーブル23b1のバスメモリに格納することにより中継先テーブル23b1を生成する。この処理は、格納の対象が「選択された受信データID」であること以外は、図9に示すステップS107と同様である。
このように図10に示す中継先テーブル生成処理によると、受信データIDに加えて、送信データIDにも基づいて中継先テーブル23b1を生成する。これにより、当該ネットワークNW-1に接続されるノード50a等間、つまり同一のネットワークに接続されるノード50a等同士で相互に送受信されるデータフレームを認識することができるので、このようなゲートウェイ装置20では中継する必要のないデータフレームを除いて中継を行う中継先テーブル23b1を生成することができる。これによって、中継先テーブル23b1の構成を簡素にできるので、例えば、中継先テーブル23b1による中継先の決定処理速度を速くすることができる。したがって、ネットワークの構築処理を高速にできるので、ネットワーク構成に関するゲートウェイ装置20の設定作業時間を短縮できる(請求項4に実質的に対応)。
続いて、ノード50a等のCPU51により実行される受信ID生成部53a6の処理(受信ID生成処理)の流れや、ノード50a等のCPU51により実行される送信ID生成部53a7の処理(送信ID生成処理)の流れを図11、図12を参照して説明する。なお、受信ID生成処理および送信ID生成処理は、ノード50a等のメモリ53に格納される所定の制御プログラムをCPU51により実行することにより実現されるもので、いずれのノード50a等においても同様に実行されるので、ここではノード50aによる処理を代表して説明する。
図11に示すように、ノード50aの受信ID生成部53a6では、まずステップS301によりゲートウェイ装置20により受信データIDの問い合わせ(図3(B) に示す点線矢印)があるか否かの判断処理が行われる。そして、受信データIDの問い合わせがある場合には(S301:Yes)、続くステップS303により受信データIDの取得処理が行われる。一方、受信データIDの問い合わせがない場合には(S301:No)、受信データIDをゲートウェイ装置20に送信する必要がないので、受信ID生成部53a6による一連の処理を終了する。
ステップS303では、受信データIDの取得処理が行われる。受信IDテーブル53b1には、当該ノード50aが受信すべきデータフレームの受信データIDが格納されているので、この受信IDテーブル53b1を参照することで、ゲートウェイ装置20の問い合わせに対応する受信データIDを取得する。
続くステップS305では、ステップS303により取得した受信データIDを所定のデータフレームに組み立ててデータフレーム送信部53a3によりゲートウェイ装置20に送信する処理が行われる。なお、ゲートウェイ装置20に送信すべき受信データIDが複数存在する場合には、前述したように、一度にまとめて送信したり、個々に分けて送信する。これにより、ゲートウェイ装置20への送信が完了するので、上述した受信ID生成部53a6による一連の処理を終了する。
このように受信ID生成部53a6による処理(受信ID生成処理)では、ノード50a等(自ら)が受信すべきデータフレームのデータ本体の種類に関する受信データIDを生成し、それをデータフレーム送信部53a3によりをネットワークNW-1等に送信する。またこの送信は、ネットワークNW-1等に接続されたゲートウェイ装置20の要求に応じて行われる。これにより、ネットワークNW-1等に接続されたゲートウェイ装置20は、必要に応じて当該ノード50a等の受信データIDを受信することができるので、当該ゲートウェイ装置20では、前述したように、中継先テーブル23b1を生成するために必要となる当該受信データIDを人手に頼ることなく、中継フレーム受信部23a2により受信し、自ら学習(中継先テーブル23b1を生成)するので、ネットワークNW-1等の構築を容易にできる。したがって、中継先テーブル23b1を記憶したメモリ23の書込作業や交換作業の発生を防ぐので、ネットワーク構成に関するゲートウェイ装置20の設定作業の負担を軽減することができる(請求項11、12に実質的に対応)。
一方、送信ID生成部53a7による処理(送信ID生成処理)では、図11に示す各ステップ(S301、S303、S305)における受信データIDを送信データIDに置き換えた処理が行われる。即ち、ステップS301では、ゲートウェイ装置20より送信データIDの問い合わせがあるか否かを判断し、ステップS303では、送信データIDの取得を行い、その取得した送信データIDをステップS305によりゲートウェイ装置20へ送信する。なお、送信データIDの取得においては(S303)、受信IDテーブル53b1とほぼ同様に、当該ノード50aが送信すべきデータフレームの送信データIDが格納されている送信IDテーブル53b2を参照することで、ゲートウェイ装置20の問い合わせに対応する送信データIDを取得する。
このように送信ID生成部53a7による処理(送信ID生成処理)では、ノード50a等(自ら)が送信すべきデータフレームのデータ本体の種類に関する送信データIDを生成し、それをデータフレーム送信部53a3によりをネットワークNW-1等に送信する。またこの送信は、ネットワークNW-1等に接続されたゲートウェイ装置20の要求に応じて行われる。これにより、ネットワークNW-1等に接続されたゲートウェイ装置20は、必要に応じて当該ノード50a等の送信データIDを受信することができる。
なお、図12に示すように、ステップS301’により受信データIDに加え送信データIDの問い合わせがゲートウェイ装置20からあるか否かを判断し、さらにステップS303により受信データIDを取得しそれをステップS305により受信データIDをゲートウェイ装置20に送信したのと同様に、ステップS304’により送信データIDを取得しそれをステップS306’によりゲートウェイ装置20に送信するように構成しても良い。
即ち、ステップS304’では、受信IDテーブル53b1とほぼ同様に、送信IDテーブル53b2には、当該ノード50aが送信すべきデータフレームの送信データIDが格納されているので、この送信IDテーブル53b2を参照することで、ゲートウェイ装置20の問い合わせに対応する送信データIDを取得する。そして、ステップS306’では、ステップS305とほぼ同様に、ステップS304’により取得した送信データIDを所定のデータフレームに組み立ててデータフレーム送信部53a3によりゲートウェイ装置20に送信する。なお、ゲートウェイ装置20に送信すべき送信データIDが複数存在する場合にも、一度にまとめて送信したり、個々に分けて送信する。
これにより、ゲートウェイ装置20から、受信データIDに加えて送信データIDの問い合わせがあってもそれに応えることができるので、ネットワークNW-1等に接続されたゲートウェイ装置20は、受信データIDおよび送信データIDも受信することができる。このため、当該ゲートウェイ装置20では、前述したように、当該ネットワークNW-1等に接続されるノード50a等]間、つまり同一のネットワークに接続されるノード50a等同士で相互に送受信されるデータフレームを認識することができるので、このようなゲートウェイ装置20では中継する必要のないデータフレームを除いて中継を行う中継先テーブル23b1を生成することができる。これによって、中継先テーブル23b1の構成を簡素にできるので、例えば、中継先テーブル23b1による中継先の決定処理速度を速くすることができる。したがって、ネットワークの構築処理を高速にできるので、ネットワーク構成に関するデータ中継装置の設定作業時間を短縮できる(請求項13、14に実質的に対応)。
続いて、ゲートウェイ装置20によるデータフレーム中継処理の流れを図13を参照して説明する。なお、このデータフレーム中継処理は、図2を参照して説明した中継フレーム受信部23a2、中継フレーム送信部23a3およびデータID参照部23a4に対応する所定の制御プログラムでゲートウェイ装置20のメモリ23に格納されるものをCPU21により実行することにより実現される。
まず、データフレーム中継処理では、ステップS501によりデータフレームの受信処理が行われる。この処理は、中継フレーム受信部23a2により行われるもので、インターフェイス部57の受信バッファからデータフレームを適宜取り出すことにより行われる。なお、この受信バッファは、ゲートウェイ装置20に接続された複数のバスbus-1等に対応するバス1応インターフェイス部27a、バス2対応インターフェイス部27b、バス3対応インターフェイス部27c、…、バスn対応インターフェイス部27nごとに設けられているため、中継フレーム受信部23a2は取り出したデータフレームがどのバス(「送信元のバス番号」という)から受信したものであるかを認識している。
ステップS503では、中継先テーブル23b1のバスメモリに格納された受信データIDを参照する処理が行われる。この処理は、データID参照部23a4により行われるもので、受信したデータフレームから抽出した受信データIDを、中継先テーブル23b1のバスメモリ(バスメモリ番号1〜nのいずれか)に格納された受信データIDと比較して一致するか否かを確認する。そして一致する受信データIDが存在する場合には、一致フラグをセットしその旨を記憶する。
続くステップS505では、ステップS503により比較した中継先テーブル23b1の参照先のバスメモリ番号とデータフレームの送信元のバス番号とが一致しないか否かを判断する処理が行われる。そして、両バス番号とが一致しない場合には(S505:Yes)にはステップS507に処理を移行し、両バス番号とが一致する場合には(S505:No)にはステップS513に処理を移行する。
例えば、ステップS503により比較した中継先テーブル23b1の参照先のバスメモリ番号(バスbus-3に対応するもの)が「3」であった場合、これと同じ番号のバス、つまりバスbus-3に当該データフレームを送信しても送信元のネットワークNW-3に戻されることになるので、ネットワークNW-3以外のネットワークNW-1等に転送したことにはならない。そのため、このステップS505では、データフレームの送信元のバス番号と中継先テーブル23b1の参照先のバスメモリ番号とが一致した場合(S505:No)には、当該中継先テーブル23b1の参照先のバスメモリ番号をデータフレームの転送先から除外する処理を行っている。これにより、バス番号k(k=1〜n)からデータフレームを受信した場合には、バス番号k=1のときはバス番号2〜n、バス番号k=nのときはバス番号1〜(n−1)、バス番号kがこれ以外のときには、バス番号1〜(k−1)およびバス番号(k+1)〜n、にそれぞれ転送する(S505:Yes)。
ステップS507では、バスメモリ内に受信データIDが存在するか否かを判断する処理が行われる。即ち、ステップS503による処理によって、中継先テーブル23b1のバスメモリ(バスメモリ番号1〜nのいずれか)に格納された受信データIDと比較して一致する受信データIDが存在する場合には、一致フラグがセットされているので、このフラグを確認することによって当該処理による判断が可能となる。
そして、バスメモリ内に受信データIDが存在する、つまり一致フラグがセットされていた場合(S507:Yes)には、ステップS509により当該データフレームを中継フレーム送信部23a3に渡す処理が行われ、ステップS511により当該バスにデータフレームが送信される。
一方、バスメモリ内に受信データIDが存在しない、つまり一致フラグがセットされていない場合(S507:No)には、当該バスには送信するデータフレームがないので、ステップS513に処理を移行し、全バスメモリ内のデータIDの参照が完了したか否かを判断する処理が行われる。
ステップS511では、データID参照部23a4から渡されたデータフレームを中継フレーム送信部23a3により当該バスに送信する処理が行われる。この処理は、前述したように中継フレーム送信部23a3により行われるものである。
そして、ステップS513により全バスメモリ内のデータIDの参照が完了したと判断されると(S513:Yes)、当該データフレームを転送するバスは残っていないので、上述した一連のデータフレーム中継処理を終了する。
これに対し、ステップS513により全バスメモリ内のデータIDの参照が完了したと判断されない場合には(S513:No)、前回参照したバスメモリの番号をインクリメント(またはディクリメント)した後、ステップS503に処理を移行して、インクリメント(またはディクリメント)後のバスメモリについて前述と同様の各処理を行う。
このようにゲートウェイ装置20では、データフレームに含まれるデータ本体の種類を識別可能な受信データIDに基づいてデータID参照部23a4および中継先テーブル23b1により転送先のネットワークを決定できるので、例えば、ネットワークNW-nに接続されるノード50nから送信されたデータフレームを他のネットワークNW-1に接続されるノード50aに転送することが可能となる。
以上説明したように、本実施形態に係るデータ通信システムによると、ノード50a等は、自らが受信すべきデータフレームのデータ本体の種類に関する受信データIDを受信ID生成部53a6により生成し、それをデータフレーム送信部53a3によりをネットワークNW-1等に送信する。一方、ゲートウェイ装置20は、ノード50a等から送信される受信データIDを中継フレーム受信部23a2により受信し、それに基づいて、中継先テーブル生成部23a5により中継先テーブル23b1を生成する。
これにより、ノード50a等から送信される情報で、当該ノード50a等が受信すべきデータフレームに含まれるデータ本体の種類に関する受信データIDを受信することで、中継先テーブル23b1を適宜生成することが可能となる。つまり、中継先テーブル23b1を生成するために必要となる当該受信データIDを人手に頼ることなく、中継フレーム受信部23a2により受信し、自ら学習(中継先テーブル23b1を生成)するので、ネットワークの構築を容易にできる。したがって、中継先テーブル23b1を記憶したメモリ23の書込作業や交換作業の発生を防ぐので、ネットワーク構成に関するゲートウェイ装置20の設定作業の負担を軽減することができる(請求項15に実質的に対応)。
<イ>なお、中継先テーブル生成部23a5は、中継フレーム受信部23a2による受信データIDの受信前に、受信データIDを取得している場合には、当該取得済みの受信データIDに基づいて中継先テーブル23b1を生成し得るように構成しても良い。例えば、製造工場において検査装置をゲートウェイ装置20のインターフェイス部27に接続して当該検査装置からゲートウェイ装置20に受信データIDをコマンド入力したり、また修理工場においてダイアグツールをゲートウェイ装置20のネットワークNW-1等に接続し、当該ダイアグツールでのみ受信データID方をゲートウェイ装置20に送信して学習(中継先テーブル23b1を生成)させる(請求項7に実質的に対応)。
<ロ>また、中継先テーブル生成部23a5は、中継フレーム受信部23a2による送信データIDの受信前に、送信データIDを取得している場合には、当該取得済みの送信データIDに基づいて中継先テーブル23b1を生成し得るように構成しても良い。例えば、製造工場において検査装置をゲートウェイ装置20のインターフェイス部27に接続して当該検査装置からゲートウェイ装置20に受信データIDと送信データIDの双方をコマンド入力したり、また修理工場においてダイアグツールをゲートウェイ装置20のネットワークNW-1等に接続し、当該ダイアグツールでのみ受信データIDと送信データIDの双方をゲートウェイ装置20に送信して学習(中継先テーブル23b1を生成)させる(請求項8に実質的に対応)。
これにより、例えば、予め判明しているネットワークNW-1等の基本構成については、中継フレーム受信部23a2によることなく、受信データID(および送信データID)を与えておくことでそれに基づいて中継先テーブル23b1を生成することができる。このため、その後の中継フレーム受信部23a2により受信された受信データID(および送信データID)に基づく中継先テーブル23b1の生成では、既に取得済みの受信データID(および送信データID)とその後に受信した受信データID(および送信データID)との差分情報について中継先テーブル23b1の生成処理を行うことで、受信した受信データID(および送信データID)に基づく中継先テーブル23b1の生成を高速に処理することができる。また、中継フレーム受信部23a2では受信できない受信データID(および送信データID)を当該検査装置やダイアグツールにより予め与えておき、この取得済みの受信データID(および送信データID)とその後に受信した受信データID(および送信データID)との差分情報について中継先テーブル23b1の生成処理を行うことで、このような中継フレーム受信部23a2では受信できない受信データID(および送信データID)に関しても中継先テーブル23b1を生成することができる。したがって、ネットワーク構成に関するゲートウェイ装置20の設定作業の負担をさらに軽減することができる(請求項7、8に実質的に対応)。
なお、このようなダイアグツールによる学習時(中継先テーブル23b1を生成時)においては、当該ダイアグツールに対しても受信データIDや送信データIDを学習(中継先テーブル23b1を生成)するようにすることで、ゲートウェイ装置20は当該ダイアグツールが接続されているバスbus-1等にもダイアグフレームを中継することが可能になる。これにより、当該ダイアグツールがどのバスbus-1等に接続されていてもダイアグ情報を確実に取得することができる。
<ハ>さらに、中継先テーブル生成部23a5は、第1の所定条件を満たす場合に中継先テーブル23b1を生成し、当該第1の所定条件を満たさない場合には中継先テーブル23b1を生成しないように構成しても良い。ここでの「第1の所定条件」として例えば、(1-1) 中継先テーブル23b1が生成されていないことや、(1-2) ネットワークNW-1等や入力装置(例えば、製造工場における検査装置、修理工場におけるダイアグツール)等の外部から当該ゲートウェイ装置20に入力され得る特定の命令コード(特定のコマンド)の入力があること、(1-3) (1-1),(1-2) の条件を共に満たすこと、等が例示される。これにより、当該第1の所定条件を満たす場合にのみ、中継先テーブル23b1が生成されるので、既に中継先テーブル23b1が生成されているにもかかわらず、不必要あるいは誤って中継先テーブル23b1が生成されたり((1-1) に対応)、ネットワーク構成が不完全な状態で中継先テーブル23b1が生成されたり((1-2) に対応)、さらにネットワーク等の伝送媒体上の伝送誤り等により偶然、当該特定の命令コード(特定のコマンド)と同様の意味内容を持つデータが入力された場合についても誤って中継先テーブル23b1が生成される((1-3) に対応)、等の中継先テーブル23b1の誤生成を防止できる(請求項9に実質的に対応)。
<ニ>さらにまた、中継先テーブル生成部23a5は、第2の所定条件を満たす場合に中継先テーブル23b1を再度生成し、当該第2の所定条件を満たさない場合には中継先テーブル23b1を再度生成しないように構成しても良い。ここでの「第2の所定条件」として、例えば、(2-1) ネットワークNW-1等や入力装置(例えば、製造工場における検査装置、修理工場におけるダイアグツール)等の外部から当該ゲートウェイ装置20に入力され得る特定の命令コード(特定のコマンド)の入力があることや、(2-2) 当該ゲートウェイ装置20に設定され得る所定の電圧や電流の入力(常時供給されるべき電源(バッテリ等)が接続された時の電圧や電流の入力)があること、等が挙げられる。これにより、当該第2の所定条件を満たす場合にのみ、中継先テーブル23b1が再度生成されるので、既に中継先テーブル23b1が生成されているにもかかわらず、不必要に中継先テーブル23b1が再度生成されたり、誤って中継先テーブル23b1が再度生成されたりすることを防止できる。また、ユーザにより車両のオプション設定等が変更された場合(途中からの機器の追加や削除)にも、必要に応じ、中継先テーブル23b1の再生成が可能となる(請求項10に実質的に対応)。
<ホ>また、各ノード50a等に対する受信データIDや送信データIDの問い合わせのタイミングは、例えば、ゲートウェイ装置20の電源オン直後や、また車両のイグニッションスイッチオン(IG−ON)の直後あるいはアクセサリスイッチオン(ACC−ON)の直後等の、これらのいずれのタイミングでも、ネットワークNW-1等に接続されたノード50a等に問い合わせを行うようにゲートウェイ装置20を構成しても良い。これにより、ネットワークNW-1等に接続されたノード50a等に起動電源の電圧が異なるものが混在していても(例えば、ノード50aはACC−ONにより起動、ノード50xはIG−ONにより起動)、それぞれのタイミングにおいてこれらノード50a等に受信データID等の問い合わせを行うので、全てのノード50a等から確実に受信データIDや送信データIDを取得することができる。したがって、受信データIDや送信データIDについて欠落のない中継先テーブル23b1を生成することが可能となる。
<ヘ>また、ゲートウェイ装置20から本来送信されてくるべきデータフレームが送信されてこない場合、ノード50a等において通信途絶の判定を可能に構成し、通信途絶が発生したと判定した場合には、ゲートウェイ装置20に対してどの受信データIDをもつデータフレームが届いていないかを通知し得る構成をノード50a等に採用し、ゲートウェイ装置20においては、当該通知を受信した場合、当該通知の内容から当該ノード50a等に届いていないデータフレームの受信データIDを、中継先テーブル23b1に追加し得る構成を採用する。これにより、学習漏れが発生したとしても直ちに補正することができる。
なお、以上説明したゲートウェイ装置20では、それに接続可能なネットワークの通信プロトコルとして、CAN、J1850、BEAN、IE−BUS、ISO9141を例示したが、データフレームを構成するデータ本体の種類を識別し得るデータ識別子を当該データフレームに含むフレームフォーマットを採るものであれば、例えば、TTCAN、FlexRay、Safe-by-Wire、BST、MOST、D2B、IEEE1394等であっても、本発明を適用することができ、それぞれ上述した作用および効果を得ることができる。