"異なる通信バスに夫々接続する複数の通信部と、書き換え可能な記憶部と、該記憶部に記憶してあるコンピュータプログラムに基づき、1又は複数の通信部にて受信した1又は複数の情報を他の1又は複数の通信部から送信する中継処理を実行するプロセッサとを備える中継装置であって、前記記憶部には、受信した情報の中継先を特定するルーティングテーブルが記憶してあり、該ルーティングテーブルは、前記情報の識別情報毎の中継要否、及び中継要の場合の前記情報の格納先が記録された第1テーブルと、受信した情報を格納する領域を記録するための第2テーブルと、中継先、及び該中継先に対応付けられ、中継する情報を格納する領域を含む第3テーブルと、情報の格納先を示すインデックス情報が記録された第4テーブルと、第3テーブル内の情報数を記録する第5テーブルとを含むことを特徴とする中継装置。前記プロセッサは、前記複数の通信部のいずれかから情報を受信した場合、第1テーブルを参照する手段と、第1テーブルに基づき、前記情報が中継要である場合、第1テーブルから前記情報の格納先を参照する手段と、前記情報を第2テーブル内の前記格納先に格納する手段とを含む実行手段を備えることを特徴とする請求項1に記載の中継装置。第2テーブルは、前記格納領域に対応付けて中継先を含み、前記プロセッサは、前記複数の通信部のいずれかから情報を受信した場合、第1テーブルを参照する手段と、第1テーブルに基づき、前記情報が中継要である場合、第1テーブルから前記情報の格納先を参照する手段と、第2テーブル内の前記格納先に対応付けられている中継先へ、前記情報を送信する手段とを含む実行手段を備えることを特徴とする請求項1に記載の中継装置。前記プロセッサは、第3テーブルを参照する手段と、第3テーブルの格納先に格納する情報の、第2テーブルにおける格納先を第4テーブルに基づき特定する手段と、特定した格納先から情報を読み出す手段と、読み出した情報を第3テーブルの格納先に格納する手段と、格納した情報を対応する中継先へ送信する手段とを含む実行手段を備えることを特徴する請求項1に記載の中継装置。前記プロセッサは、第5テーブルから情報数を読み出す手段を備え、読み出した情報数分、第3テーブルを参照するようにしてあることを特徴とする請求項3に記載の中継装置。請求項1乃至5のいずれかに記載の中継装置と、該中継装置の前記複数の通信部に夫々接続される複数の通信バスとを含むことを特徴とする通信ハーネス。情報を送受信する複数の通信装置と、該複数の通信装置が夫々接続された複数の通信バスと、該複数の通信バスが接続された請求項1乃至5のいずれかに記載の中継装置とを含むことを特徴とする通信システム。特許文献1又は2に記載されている構成では、ルーティングテーブルをメモリに記憶しておき、中継処理プログラムに基づくCPUから、又は中継処理を行なうように構成された回路から、一の通信バスから情報を受信する都度、又は、一の情報を送信するタイミングが到来する都度、メモリ内のルーティングテーブルからIDと中継先の通信バスとの対応を読み出して中継先の通信バスを特定する処理を毎回行なう。このような構成では、メモリからの読み出しによって処理が遅くなったり、メモリに記憶するルーティングテーブルの情報量が多くなったりするなどの問題がある。また、特許文献3に開示されているように、車載ECUは、昨今ではハードウェアコストの削減のため、車種又はオプションなどの違いで夫々のハードウェアを製作することを回避するため、書き換え可能なコンピュータプログラムに基づくマイクロコンピュータ以下マイコンという処理が採用されている。このような事情から、処理の高速化、及びメモリの節約のために結局、ルーティングテーブルの内容を組み込んだコンピュータプログラムをCPUに読み出させて実行するマイコンを用いた構成が採用されているのが現実である。つまり、コンピュータプログラムの実行コード内に、ある情報を受信した場合の中継先が既に規定されており、テーブルの読み出し処理が不要である。特許文献2にも、中継装置が起動するときに、メモリに記憶されているルーティングテーブルを読み込んで変換し、中継処理回路内に組み込んで用いることが記載されている。一方で、電子制御にて実現される機能が増加していることから車載ECUの数も膨大である。中継装置も、2つの通信バス間の情報の中継ではなく、3つ以上の通信バス間の情報の中継処理が必要になってきている。したがって、ある情報は1の通信バスから他の3つの通信バスへ中継し、2つの通信バスから夫々受信した2つの情報をまとめて、他の1の通信バスから送信するなどの多様な中継バリエーションが存在する。更に、車両メーカ、車種又はオプション毎に、通信バスの数、各通信バスに接続されるECUの種類が異なるから、中継バリエーションが増加する。ルーティングテーブルの内容を組み込んだコンピュータプログラムをCPUに読み出させる構成では、異なるバリエーション毎に、中継処理のプログラムを開発しなければならず、開発コストを抑えることが困難である。また、車両制御の分野では特に、メモリの節約が求められている。したがって、ルーティングテーブルが多様な中継バリエーションに対応できるように、全ての情報毎に、表のように中継先等を記憶したルーティングテーブルを備える構成では、ルーティングテーブルの記憶容量が大きくなり、好ましくない。本発明は斯かる事情に鑑みてなされたものであり、多様な中継バリエーションに対応するためにルーティングテーブルを置換することが可能であり、且つ、ルーティングテーブルの記憶容量を節約することができる中継装置、該中継装置を含む通信ハーネス、及び前記中継装置を含む通信システムを提供することを目的とする。本発明に係る中継装置は、異なる通信バスに夫々接続する複数の通信部と、書き換え可能な記憶部と、該記憶部に記憶してあるコンピュータプログラムに基づき、1又は複数の通信部にて受信した1又は複数の情報を他の1又は複数の通信部から送信する中継処理を実行するプロセッサとを備える中継装置であって、前記記憶部には、受信した情報の中継先を特定するルーティングテーブルが記憶してあり、該ルーティングテーブルは、前記情報の識別情報毎の中継要否、及び中継要の場合の前記情報の格納先が記録された第1テーブルと、受信した情報を格納する領域を記録するための第2テーブルと、中継先、及び該中継先に対応付けられ、中継する情報を格納する領域を含む第3テーブルと、情報の格納先を示すインデックス情報が記録された第4テーブルと、第3テーブル内の情報数を記録する第5テーブルとを含むことを特徴とする。本発明に係る中継装置は、前記プロセッサは、前記複数の通信部のいずれかから情報を受信した場合、第1テーブルを参照する手段と、第1テーブルに基づき、前記情報が中継要である場合、第1テーブルから前記情報の格納先を参照する手段と、前記情報を第2テーブル内の前記格納先に格納する手段とを含む実行手段を備えることを特徴とする。本発明に係る中継装置は、第2テーブルは、前記格納領域に対応付けて中継先を含み、前記プロセッサは、前記複数の通信部のいずれかから情報を受信した場合、第1テーブルを参照する手段と、第1テーブルに基づき、前記情報が中継要である場合、第1テーブルから前記情報の格納先を参照する手段と、第2テーブル内の前記格納先に対応付けられている中継先へ、前記情報を送信する手段とを含む実行手段を備えることを特徴とする。本発明に係る中継装置は、前記プロセッサは、第3テーブルを参照する手段と、第3テーブルの格納先に格納する情報の、第2テーブルにおける格納先を第4テーブルに基づき特定する手段と、特定した格納先から情報を読み出す手段と、読み出した情報を第3テーブルの格納先に格納する手段と、格納した情報を対応する中継先へ送信する手段とを含む実行手段を備えることを特徴とする。本発明に係る中継装置は、前記プロセッサは、第5テーブルから情報数を読み出す手段を備え、読み出した情報数分、第3テーブルを参照するようにしてあることを特徴とする。本発明に係る通信ハーネスは、上記発明の中継装置のいずれかと、該中継装置の前記複数の通信部に夫々接続される複数の通信バスとを含むことを特徴とする。本発明に係る通信システムは、情報を送受信する複数の通信装置と、該複数の通信装置が夫々接続された複数の通信バスと、該複数の通信バスが接続された上記発明の中継装置のいずれかとを含むことを特徴とする。本発明では、中継装置の記憶部には書き換え可能なルーティングテーブルが記憶され、該ルーティングテーブルは、いずれかの通信バスから受信した情報の中継先を特定するものであって、中継要否及び中継要の場合の格納先が記録された第1テーブル、受信した情報を格納する領域を記録する第2テーブル、中継先及び該中継先に対応付けられる中継する情報を格納する第3テーブル、情報の格納先を示すインデックス情報が記録された第4テーブル、及び第3テーブル内の情報数を記録する第5テーブルを含む。第2テーブル及び第3テーブルの内容が他の内容に変えられたとしても、それに対応する第1、第4、及び第5テーブルが存在することにより、コンピュータプログラムに基づく処理を実行するプロセッサによって実行する手順を変更する必要がない。更に例えば、第2テーブルは中継要の情報のみについて格納すればよい。第3テーブルについても送信する情報のみについて格納すればよい。本発明では、受信した情報が、中継要である場合には、第1テーブルに中継要否のみならず、第2テーブル内の格納先が記憶されており、プロセッサにより第1テーブルを参照して当該格納先へ前記受信した情報が格納される。本発明では、第2テーブルの格納領域には、受信した情報をそのまま中継する場合の中継先が対応付けられており、受信した情報が中継要である場合には、プロセッサにより第1テーブルに含まれる格納先である第2テーブル内の格納領域に対応付けられた中継先へ前記受信した情報が中継される。本発明では、プロセッサは第4テーブルのインデックス情報により、第3テーブルに格納する情報の第2テーブルにおける格納先を特定し、該格納先から情報を読み出して第3テーブルにおける格納先に格納する。受信した情報が更に複数の情報を含む場合、中継の際に、複数の受信情報から中継する情報を作成する必要があるとき、インデックス情報が存在することにより、ルーティングテーブルの容量を節約することが可能である。本発明では、第5テーブルには第3テーブル内の情報数が記録されているから、プロセッサは、第3テーブルの内容によらず、前記情報数に応じて第3テーブルの情報を順次送信することが可能である。本発明による場合、多様な中継バリエーションに対応するためにルーティングテーブルを置換することが可能である。そして、置換されたルーティングテーブルに対しても特定の命令コードを実行することにより、置換された異なるルーティングテーブルに対応して受信した情報を管理し、中継する情報を作成することができる。しかも、本発明におけるルーティングテーブルは、互いに関連する複数のテーブルで構成され、例えば不要にメモリを消費しない。本発明による場合、異なる中継バリエーション夫々に応じてプロセッサが中継処理を実行するためのコンピュータプログラムを作成し直す必要がない。これにより、開発コストを抑えることが可能である。また、中継処理を実行するためのコンピュータプログラムを作成し直す必要がないから、本発明の中継装置の検査を行なうに際し、前記コンピュータプログラムの検査は、異なる中継バリエーション毎に毎回行なう必要がなく、異なる中継バリエーションに対応させた異なるルーティングテーブルを含めた動作のみ検査すればよい。したがって、中継装置及び該中継装置を含む通信システム構築後の検査の項目を減少させ、製造コストを抑えることも可能である。以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、以下の実施の形態では本発明を、車載機器を制御する車載通信システムに適用した場合の例を挙げて説明する。図1は、本実施の形態における車載通信システムの構成を示すブロック図である。車載通信システムは、複数の通信バス11,12,13,14と、通信バス11,12,13,14夫々に接続されているECU21,22,23,24と、通信バス11,12,13,14間の情報の中継処理を行なう中継装置3とを含む。実施の形態1では、通信バス11,12,13,14を介した通信は、いずれもCANプロトコルに準じる。複数の通信バス11,12,13,14は、接続されるECU21,22,23,24の制御対象の種類で区別されている。換言すれば、送受信される情報種類で区別される。通信速度は、通信バス11,12,13,14毎に異なる設定とされていてもよい。例えば、通信バス11には走行制御系の制御を行なう複数のECU21が接続されており、車速等の制御系の情報が送受信される。通信バス12には、電力制御系の制御を行なう複数のECU22が接続されており、バッテリー情報などの電力制御系の情報が送受信される。通信バス13には、カーナビゲーションシステムなどのアクセサリ系の制御を行なう複数のECU23が接続されており、時間情報、位置情報などのマルチメディア系の情報が送受信される。通信バス14には、ボディの制御を行なう複数のECU24が接続されており、ドアロック、セキュリティなどに関する情報が送受信される。中継装置3は、CPUCentralProcessingUnit30と、第1通信部31と、第2通信部32と、第3通信部33と、第4通信部34と、フラッシュメモリ35と、RAMRandomAccessMemory36とを備えている。CPU30は、フラッシュメモリ35に記憶されているルーティングテーブル37及び後述のコンピュータプログラムに基づき、RAM36を送信バッファ又は受信バッファとして用い、第1~第4通信部31~34を介した送受信を実行して中継処理を実現する。CPU30はMPUMicroProcessingUnitに代替されてもよい。第1~第4通信部31~34は夫々、CANコントローラ及びCANトランシーバを含み、CANプロトコルに基づき、各種情報を含むCANメッセージの送受信を実現する。第1通信部31は通信バス11に、第2通信部32は通信バス12に、第3通信部33は通信バス13に、第4通信部34は通信バス14に接続されている。フラッシュメモリ35は、書き換え可能な不揮発性メモリであり、後述するようにCPU30が読み出すコンピュータプログラム及びルーティングテーブルを記憶する。なお、フラッシュメモリ35の代替として、EEPROM登録商標などの不揮発性メモリを用いてもよい。RAM36は、送受信バッファとして用いられる。CPU30は、第1~第4通信部31~34にて受信したCANメッセージ、及び、第1~第4通信部31~34にて送信するCANメッセージをRAM36に記憶する。なお、CPU30、第1~第4通信部31~34におけるCANコントローラ部、フラッシュメモリ35及びRAM36でマイコンとして構成されていてよい。図2は、フラッシュメモリ35に記憶される情報の内容を模式的に示す模式図である。フラッシュメモリ35には、ルーティングテーブル37、ルーティングプログラム38、及びプラットフォームプログラム39が記憶されている。他に、図示しないドライバプログラム等が記憶されていてもよい。プラットフォームプログラム39は、第1~第4通信部31~34にてCANメッセージを受信した場合に、CPU30へ受信割込を通知し、RAM36の受信バッファに書き込む処理、CPU30が作成して与えたCANメッセージを、第1~第4通信部31~34へ与えて送信せしめる処理など、基本的な入出力処理を各機器で共通化したプログラムである。ルーティングプログラム38は、CPU30による中継処理、即ち後述のフローチャートに示すような処理手順を実現するためのプログラムである。ルーティングプログラム38は、ルーティングテーブル37が、他のルーティングテーブル40に置換された場合でも、書き換え不要となるように、車種又はオプション依存の実行コードを含まない。ルーティングプログラム38は、置換されたルーティングテーブル40にも対応するように、ルーティングテーブル37、及びルーティングテーブル40、並びに他のルーティングテーブルにも対応する共通化された実行コードを含むように構成されている。実行コードについては、後述の各フローチャートにて詳細を説明する。ルーティングテーブル37は、中継対象であるか否かを管理する第1テーブル71と、受信するCANメッセージを格納し、管理する第2テーブル72と、送信中継するCANメッセージを格納し、管理する第3テーブル73と、受信したCANメッセージ及び送信するCANメッセージのデータに含まれるシグナルの格納位置を管理する第4テーブル74と、第2テーブル72、第3テーブル73及び第4テーブル74内の有効なレコード数を管理する第5テーブル75とを含む。図3は、ルーティングテーブル37の第1テーブル71の内容例を示す説明図である。第1テーブル71は、通信バス11~14毎に、受信するCANメッセージのCANID別のレコードからなる。各レコードは図3の例では、第2テーブル72へのインデックスからなる。レコードの型は定められており、各レコード長は一定である。各レコードは、通信バス11のCANID0のレコードから順に、フラッシュメモリ35上の第1テーブル71の領域の先頭から順に記憶される。CANIDは、例えば11ビットで表わされ、CANの規定により最大値は0x7FFである。第2テーブル72へのインデックスは例えば1バイトで表わされ、第2テーブル72内のレコード順を示す。そして、第2テーブル72へのインデックスにて、中継対象であるか否かを示す。インデックスが0でない場合、中継対象であり、インデックスが0の場合は中継対象ではない。図3に示す内容例では例えば、通信バス11から受信されるCANIDが0のCANメッセージは、インデックスが0であるから中継対象でない。また、通信バス11から受信されるCANIDが0x050のCANメッセージは、インデックスが0でないから中継対象であり、第2テーブル72の1番目のレコードを参照すればよい。CANIDが0x051のCANメッセージは、インデックスが0でないから中継対象であり、第2テーブル72の2番目のレコードを参照すればよい。CANIDが0x052のCANメッセージも、インデックスが0でないから中継対象であり、第2テーブル72の3番目のレコードを参照すればよい。図4は、ルーティングテーブル37の第2テーブル72の内容例を示す説明図である。第2テーブル72は、各レコードに格納するCANメッセージに対応する即時中継先の情報、データの格納領域、未中継のデータを受信しているか否かを示す受信フラグON:受信/OFF中継済みの情報、タイムアウト時間ミリ秒、タイムアウト値からなる。レコードの型は定められており、各レコード長は一定である。各レコードは1番目のレコードから順に、フラッシュメモリ35上の第2テーブル72の領域の先頭から順に記憶される。即時中継先は、例えば5ビットで表わし、1ビットずつ、通信バス11~14、即ち第1~第4通信部31~34に割り振り1ビットは予備、0の場合は中継先でなく、1の場合は中継先であることを表す。データの格納領域は8ビット用意されている。なおデータは、複数のシグナル情報からなる。例えば車両のドアの開閉状態のシグナル情報を、1ビットずつ1:開/0:閉で表わすことができる。具体的には、受信したCANメッセージのデータ部分の8ビットの内、先頭から5ビットで順に、前部座席右側ドアの開閉、前部座席左側ドアの開閉、後部座席右側ドアの開閉、後部座席左側ドアの開閉、リアドアの開閉を表すことが可能である。受信フラグは、例えば8ビットで表わされ、ON:受信は0x01、OFF:中継済みは0x00とする。タイムアウト時間は、例えば8ビットで表わされ、CANメッセージ毎に受信してからタイムアウトする時間である。タイムアウト値は、例えば16ビットで表わされ、タイムアウト後になる値である。図4に示す内容例では例えば、インデックス1に格納するCANメッセージの即時中継先は01110bであって、通信バス11に対応する末尾のビットと、予備の先頭ビットとが0であって他のビットは1であるから、通信バス12~14即ち第2通信部32~第4通信部34により即時中継する。そして、CANメッセージのデータxは、当該レコードの格納領域に格納される。受信フラグはOFFとされている。タイムアウト時間は0ミリ秒で、タイムアウト値は0x0000である。また、インデックス2に格納するCANメッセージは、中継対象であるがOK、即時中継先は00000bであって即時中継しない。そして、CANメッセージのデータyは、当該レコードの格納領域に格納され、中継済みとなるまで受信フラグはONである。タイムアウト時間は10ミリ秒で、タイムアウト後に0x0001になる。ここで参考として、第1テーブル71と第2テーブル72とが1つのテーブルとしてまとめられた場合の例を挙げる。図5は、参考例を示す説明図である。図5の例では、第1テーブル71におけるCANID毎のレコード夫々に、第2テーブル72のレコード内容が追加された形でルーティングテーブルが実現されている。図5中のハッチングで示すレコード内の領域は、中継不要の場合は使用されない。したがってその分の記憶容量が余分である。この点、図3及び図4に示したように、第1テーブル71及び第2テーブル72に分けてインデックス情報で関連付けていることにより、ルーティングテーブル37の全体の記憶容量を削減し、フラッシュメモリ35を節約することができる。また、第2テーブル72は、インデックス情報を参照して読み出されるから、第2テーブル72の内容が異なる場合であっても、ルーティングプログラム38に基づく処理を実行するCPU30は、第1テーブル71からフラッシュメモリ35上のいずれのアドレスからレコードを読み出せばよいかを特定することができる。したがって、他のルーティングテーブル40に置換された場合でも、第1テーブル71及び第2テーブル72も第1テーブル471及び第2テーブル472に置換されるから、ルーティングプログラム38に基づくCPU30の処理は変更する必要がない。図6は、ルーティングテーブル37の第3テーブル73の内容例を示す説明図である。第3テーブル73は、送信するCANメッセージ別のレコードからなる。各レコードは、CANID、中継先のバス情報、送信するCANメッセージに含まれるデータ部分の情報長DLC、データの格納領域、及び送信条件からなる。送信条件は必須ではない。なお、レコードの型が定められており、レコード長は一定である。各レコードは、先頭のインデックス1のレコードCANIDが0x010から、フラッシュメモリ35上の第3テーブル73の領域の先頭から順に記憶される。図6に示す内容例では、CANIDは例えば11ビットで表わされる。中継先のバス情報は例えば5ビットで表わし、各ビットは予備通信バス14通信バス13通信バス12通信バス11に対応し、夫々1であるときは中継先であり、0であるときは中継先でない。例えば、CANIDが0x010の送信CANメッセージの中継先のバスは通信バス11、即ち当該メッセージは第1通信部31から10ミリ秒毎に送信するCANメッセージである。また、CANIDが0x010の送信CANメッセージのデータ部分の格納領域に例えば情報長がkkのkが格納される。送信条件は、イグニッション位置がACCアクセサリであるなどの時間以外の条件でもよい。他には、データ内のシグナル値が何らかの条件を満たすか否かなどであってもよい。図7は、ルーティングテーブル37の第4テーブル74の内容例を示す説明図である。第4テーブル74は、各シグナルの第2テーブル72及び第3テーブル73夫々における格納位置の情報を含む。格納位置は、第2テーブル72又は第3テーブル73のレコード内のデータ中の対象シグナルの開始バイト、開始バイト内のシグナルの開始ビット、及びシグナルのビット長により表されている。図7に示す例では例えば、1つめのシグナルは、受信したCANメッセージが格納されている第2テーブル72内のインデックス2のデータ格納領域内に含まれるシグナルであり、格納領域に格納されているデータの0バイト目の0ビット目の1ビット分に格納されることが示されている。また1つめのシグナルは、送信中継するCANメッセージが格納されている第3テーブル73内のインデックス10のデータ格納領域に含まれるべきシグナルであり、当該格納領域のデータの0バイト目の0ビット目の1ビット分に格納すべきことが示されている。同様にして、2つめのシグナルは、第2テーブル72内のインデックス2のデータ格納領域の0バイト目の3ビット目からの2ビット分に格納され、第3テーブル73内のインデックス25のデータ格納領域の0バイト目の0ビット目からの2ビット分に格納すべきことが示されている。図8は、ルーティングテーブル37の第5テーブル75の内容例を示す説明図である。第5テーブル75は、第2テーブル72、第3テーブル73及び第4テーブル74夫々のレコード数を記憶している。図8に示す例では、第2テーブル72のレコード数は50、第3テーブル73のレコード数は25、第4テーブル74のレコード数は75である。図3~図4、及び図6~図8に示した第1~第5テーブル71~75に基づき、中継装置3の制御部30は、以下に説明するような中継処理を実行する。なおCPU30は、ルーティングプログラム38に基づき、即時中継処理及び定期的中継処理を夫々実現する。即時中継処理では、CPU30は、CANメッセージを受信した時点で直接的に、第1~第4通信バス11~14のいずれか1つ又は複数へ中継する。定期的中継処理では、CPU30は、CANメッセージを受信した時点では、CANメッセージに含まれるデータを第2テーブル72内のデータ格納領域受信バッファに記憶しておき、例えば10ミリ秒などの一定期間が経過する都度、定期的に、第2テーブル72からデータを参照して第3テーブル73にCANメッセージを作成格納して送信する。CPU30は、即時中継処理及び定期的中継処理を実現するために、CANメッセージを受信したときの受信処理と、周期的に実行する送信処理とにタスクを区別して夫々実行する。図9は、中継装置3における受信処理の処理手順の一例を示すフローチャートである。プラットフォームプログラム39に基づく処理により、CPU30へ受信割込みが通知された場合に、CPU30はルーティングプログラム38に基づいて以下の処理を実行する。CPU30は、受信したCANメッセージのCANID及び受信したバスが通信バス11~14のいずれであるかを特定するステップS101。CPU30は、特定したCANID及び通信バスに基づき、ルーティングテーブル37の第1テーブル71内の該当レコードを参照するステップS102。図3に示したように、第1テーブル71では、通信バス11~14毎に、受信したメッセージのCANID別に、中継対象であるか否かがインデックスの数値で示されている。CPU30は、該当レコードの第2テーブル72へのインデックスを参照しステップS103、中継の要否を判定するステップS104。ステップS103では具体的には、CPU30は、ルーティングプログラム38に基づき、通信バス及びCANIDを引数としてルーティングテーブル37の第1テーブル71を読み出し、読み出した戻り値として第1テーブル71内のインデックスの数値に基づき中継対象であるか否かの結果を返す関数を呼び出す処理を行なう。ステップS104にて要と判定した場合S104:YES、CPU30は、ステップS102で参照したインデックスに基づき第2テーブル72内の該当レコードを参照するステップS105。CPU30は、参照レコードの即時中継先を参照しステップS106、参照結果に基づき即時中継処理を実行するステップS107。CPU30は、即時中継処理後、受信したメッセージに含まれているデータを読み出しステップS108、ステップS102で参照したインデックスに基づき、読み出したデータを前記インデックスで特定される第2テーブル72内の該当レコードのデータ部に格納しステップS109、受信フラグをONに設定しステップS110、処理を終了する。CPU30は、ステップS104にて、参照結果に基づき不要と判定した場合S104:NO、処理をそのまま終了する。図10は、中継装置3における即時中継処理の処理手順の一例を示すフローチャートである。図10に示すフローチャートは、図9のステップS107の詳細な手順に対応する。CPU30は、図9のステップS106の参照結果に基づき、即時中継対象であるか否かを判断するステップS71。具体的には、参照結果が0x0000000bでない場合、CPU30は即時中継対象であると判断する。CPU30は即時中継対象であると判断した場合S71:YES、即時中継先として通信バス11を選択しステップS72、参照結果である即時中継先と、選択してある通信バス11とが一致するか否かを判断するステップS73。CPU30は、一致したと判断した場合S73:YES、プラットフォームプログラム39に基づく処理により、選択してある通信バス11へ、即ち選択した通信バス11に接続する第1通信部31から、受信したCANメッセージを即時送信せしめるべく、プラットフォームプログラム39の処理を実行しステップS74、次の処理へ進む。CPU30は、全通信バス11~14を選択したか否かを判断しステップS75、全てを選択していないと判断した場合S75:NO、次の通信バス12、即ち第2通信部32を選択しステップS76、処理をステップS73へ戻し、次の通信バス12への即時送信処理を実行する。CPU30は、通信バス13及び通信バス14についてもステップS72~S74の処理を実行し、全通信バス11~14を選択したと判断した場合S75:YES、受信したCANメッセージについての即時中継処理を終了し、図9のステップS108へ処理を戻す。ステップS71にて、即時中継対象でないと判断した場合S71:NO、受信したメッセージについての即時中継処理を終了し、図9のステップS108へ処理を戻す。図9及び図10のフローチャートに示した処理手順について、具体例を挙げて説明する。具体例として、通信バス12から、CANIDが0x100のCANメッセージが送信された場合の処理を説明する。CPU30は、第2通信部32からCANメッセージの受信について通知を受け、CANIDを0x100、通信バスを通信バス12と特定するS101。CPU30は、ルーティングテーブル37の第1テーブル71から通信バス12の0x100番目のレコードを参照しS102、中継対象であるか否かの結果を返す関数を呼び出すS103。当該関数により、図3に示すように、インデックスが21であって0でないためにOKが返されるから、CPU30は、中継要と判定するS104:YES。CPU30は、インデックス21に基づき、第2テーブル72内の該当レコードを参照するS105。参照レコード内の即時中継先01001bを参照しS106、参照した即時中継先を与えてS107の即時中継処理を実行する。CPU30は、即時中継処理にて、参照した即時中継先は0x00でないので即時中継対象であると判断するS71:YES。CPU30は、最初の通信バス11を選択しS72、01001bの通信バス11に対応する末尾ビットは1であるから即時中継先と一致すると判断しS73:YES、選択した通信バス11に対応する第1通信部31から、受信してあるCANメッセージを直接的に送信するS74。CPU30は、全ての通信バス11~14を選択していないからS75:NO、次の通信バス12を選択するS76。CPU30は、処理をステップS73に戻し、即時中継先01001bの通信バス12に対応する末尾から2つ目のビットが0であるから即時中継先と一致しないと判断しS73:NO、処理をステップS75へ進める。そしてCPU30は、未だ全ての通信バス11~14を選択していないからS75:NO、次の通信バス13を選択するS76。CPU30は、処理をステップS73へ戻し、即時中継先01001bの通信バス13に対応する末尾から3つ目のビットが0であるから即時中継先と一致しないと判断しS73:NO、処理をステップS75へ進める。CPU30は、未だ全ての通信バス11~14を選択していないからS75:NO、次の通信バス14を選択するS76。CPU30は、処理をステップS73へ戻し、即時中継先01001bの通信バス14に対応する末尾から4つ目のビットが1であるから即時中継先と一致すると判断しS73:YES、選択した通信バス14に対応する第4通信部34から、受信してあるCANメッセージを直接的に送信するS74。ステップS75で全ての通信バス11~14を選択したと判断し、図9のステップS108に戻る。CPU30は、受信したCANメッセージのデータvを読み出しS108、ルーティングテーブル37内の第2テーブル72の参照レコードのデータ格納領域に書き込みS109、受信フラグをONに設定しS110、処理を終了する。次に、中継装置3における送信処理について説明する。図11及び図12は、中継装置3における送信処理の処理手順の一例を示すフローチャートである。中継装置3は、図示しないタイマ部にて、例えば10ミリ秒の一定期間をカウントしており、10ミリ秒が経過する都度、タイマ割込をCPU30へ通知する。CPU30は、当該タイマ割込が通知された場合に、ルーティングプログラム38に基づき以下の処理を実行する。CPU30は、第5テーブル75を参照しステップS201、第3テーブル73内のレコード数、即ち送信するCANメッセージの数を取得するステップS202。CPU30は、カウント用の変数Lに0を代入しステップS203、第3テーブル73の各レコードを、取得したレコード数分、先頭から順に読み出すステップS204。CPU30は、第4テーブル74から、当該レコードを第3テーブル73のインデックス先とするシグナルを抽出するステップS205。抽出したシグナルを1つ選択しステップS206、選択したシグナルのレコードを第4テーブル74から参照しステップS207、シグナルが第2テーブル72内のいずれに格納されているかを特定するステップ208。CPU30は、特定した第2テーブル72内のレコードを参照しステップS209、受信フラグがONであるか否かを判断するステップS210。CPU30は、受信フラグがONである場合S210:YES、ステップS208で特定した格納位置からシグナルを取得しステップS211、取得したシグナルを、ステップS207で参照しているレコードが示す第3テーブル73内での格納位置に格納するステップS212。CPU30は、ステップS205で抽出したシグナルを全て選択したか否かを判断しステップS213、全てを選択していないと判断した場合S213:NO、処理をステップS206へ戻し、次のシグナルを選択するS206。次に選択したシグナルが格納されている第2テーブル72のレコード内の受信フラグがOFFであると判断した場合S210:NO、処理をステップS213へ進める。CPU30は、ステップS213にて全てを選択したと判断した場合S213:YES、送信するCANメッセージのデータが完成しているので、ステップS204で読み出している当該レコードの送信条件が成立しているか否かを判断するステップS214。CPU30は、送信条件が成立していると判断した場合S214:YES、当該レコード内のデータ部分を含むCANメッセージを、当該レコード内の中継先バスに対応する第1~第4通信部31~34のいずれかに与えて送信せしめるステップS215。次にCPU30は、カウント用の変数Lに1を加算しステップS216、ステップS202で取得したレコード数と変数Lとが一致するか否かを判断するステップS217。即ちCPU30は、第3テーブル73内の全てのレコードについて処理を実行したか否かを判断するS217。CPU30は、ステップS217で一致しないと判断した場合S217:NO、処理をステップS204へ戻し、次のレコードを読み出すS204。CPU30は、ステップS214にて送信条件が不成立であると判断した場合S214:NO、処理をステップS216へ進め、次のレコードについて処理を実行する。CPU30は、ステップS217にて、ステップS202で取得したレコード数と変数Lとが一致すると判断した場合S217:YES、受信テーブルの全レコードの受信フラグをOFFとしステップS218、処理を終了する。図11及び図12のフローチャートに示した処理手順について、具体例を挙げて説明する。具体例として、図6の第3テーブル73の内容例の内、インデックス5のCANIDが0x0A0のレコードを読み出した場合S204の処理を説明する。CPU30は、第3テーブル73のインデックス5のレコードをインデックス先とするシグナル25~29を、第4テーブル74から抽出するS205。抽出したシグナルの内、25番目のシグナルを選択しS206、第4テーブル74を参照しS207、選択したシグナルが第2テーブル72内のインデックス21のレコードに格納されていると特定するS208。CPU30は、第2テーブル72内の21番目のレコードを参照しS209、受信フラグがONであると判断するS210:YES。CPU30は、受信テーブル内の当該レコードのデータ格納領域から、ステップS208で特定した格納位置、即ち開始バイト0、開始ビット4、ビット長2を参照してシグナルを取得するS211。そしてCPU30は、ステップS207で参照した第3テーブル73における格納位置の情報に基づき、第3テーブル73のインデックス5のレコードのデータ格納領域の0番目のバイトの0番目のビットから2ビット分、取得したシグナルの情報を格納するS212。CPU30は、次に26番目のシグナルを選択しS206、第4テーブル74を参照して、第2テーブル72のインデックス4のレコードからシグナルを取得するS212。抽出したシグナル25~29について夫々第4テーブル74を参照して第3テーブル73のインデックス5のレコード即ちCANメッセージを完成させ、送信条件が成立しているか否かを判断しS214、送信条件は送信周期が20ミリ秒毎であるから、10ミリ秒毎の送信処理の2回につき1回、送信テーブルの当該レコードの送信S215を実行する。このように、ルーティングテーブル37が、インデックス情報を含む第4テーブル74を含み、各テーブル71~75は一定の型を持ち、各レコードを読み出す方法が、上述した各処理手順内の特定の方法に定められる構成とすることにより、ルーティングテーブル37が、例えばルーティングテーブル40に置換されたとしても、ルーティングプログラム38に基づく処理は変更する必要がない。特に、ルーティングテーブル37又はルーティングテーブル40がインデックス情報を含んで構成されていることによって、置換された異なるルーティングテーブル40に対応して受信した情報を管理し、中継する情報を作成することができる。しかも、図3、図4及び図6~図8のようにテーブルが的確に分けられていることにより、ルーティングテーブル37の容量を削減し、フラッシュメモリ35の記憶領域を節約することが出来る点、優れた効果を奏する。なお、上述のように開示された本実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。"