(57)【要約】【課題】船舶等に設置するネットワークでネットワークの立ち上げ時に同一種別ＩＤを有するノードが存在する場合に、物理アドレスの割り当てを容易迅速に行う。【解決手段】ネットワークを構成するバス１５に、エンジンノード４Ａ，４Ｂ、リモコンノード１１等の各種ノードを接続すると共に、ネットワーク管理ノード１６を接続し、ネットワークの立ち上げ時に同一種別ＩＤに設定されたエンジンノード４Ａ，４Ｂで同時に物理アドレスを取得する送信フレームの送信を行ってエラーが発生したときに、各ノードの製造番号等の識別可能な番号に基づいて遅延時間を設定し、設定した遅延時間経過後に送信フレームの再送信を行って、送信フレームの同時送信を回避する。【選択図】　　　図８
2004048304.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを管理する管理ノードと、データの送受信を行う複数の制御ノードとを伝送路に接続し、管理ノード及び各制御ノード間で、少なくとも所定ビット数のＩＤフィールドと所定ビット数のデータフィールドとを有する送信フレームを送受信すると共に、前記ＩＤフィールドで通信調停を行うようにしたネットワークにおいて、
前記各制御ノードは、ネットワークアドレス取得時に、前記データフィールドに、予め設定された各ノードに固有の固有識別番号を格納して前記管理ノードに送信し、前記ＩＤフィールドが一致する複数の制御ノードが同時に送信フレームを送信することにより、通信調停エラーを生じたときに、前記送信フレームをデータフィールドに格納されている固有識別番号に基づいて作成される遅延時間だけ遅延させて再送するようにしたことを特徴とするネットワークにおけるデータ送信方法。
【請求項２】
前記制御ノードは、送信フレームを再送する際に、前記データフィールドを複数ビット毎に分割し、送信フレームの再送毎に所定順序で分割ビットを選択し、選択した分割ビットの数値に応じた遅延時間を算出することを特徴とする請求項１記載のネットワークにおけるデータ送信方法。
【請求項３】
前記データフィールドは６４ビットで構成され、前記分割ビットは１バイト単位で分割され、前記遅延時間は、前記分割ビットのデータに１ビット通信時間を乗算して算出するようにしたことを特徴とする請求項２記載のネットワークにおけるデータ送信方法。
【請求項４】
前記固有識別番号は、部品番号、製造番号、メーカー番号の何れかに設定されていることを特徴とする請求項１乃至３の何れかに記載のネットワークにおけるデータ送信方法。
【請求項５】
前記制御ノードは、船外機のエンジンを制御する複数のエンジン用ノードと、エンジンを遠隔制御するリモコンレバーで選択した制御データを送信するリモコンレバー用レバーとを少なくとも有することを特徴とする請求項１乃至４の何れかに記載のネットワークにおけるデータ通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、車両や船舶に適用されるネットワークにおいて、ＩＤフィールドが一致する複数のノードを有する場合に、立ち上げ時のアドレス付与を迅速に行うようにしたネットワークにおけるデータ通信方法に関する。
【０００２】
【従来の技術】
車両や船舶におけるネットワークを使用した通信制御装置としては、例えば特開２００１−１１９４１６号公報に記載されているものが知られている。
この従来例は、フレームの始まりを示すＳＯＦ（スタートオブフレーム）と、１１ビット又は２９ビットのアイデンティファイアと、データの送信を要求するＲＴＲ（リモート送信要求）ビットとを有するアービトレーションフィールドとこれに続く６４ビットのデータフィールドを少なくとも有するフレームフォーマットの通信フレームを使用してバスラインに接続された複数の装置間でＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）通信を行うようにしている。このＣＡＮ通信は、１つの装置のみがデータを送信し、他の装置は次の送信機会を待つように制御するシリアル通信プロトコルであり、２つの装置が同時に送信を開始したときに、アービトレーションフィールドのアイデンティファイアでビットが論理値“０”となるバスラインのレベルがドミナントとなり、論理値“１”であるときにバスラインのレベルがリセッシブとなり、何れか一方がドミナントとなったときに、他方が調停に負けたノードとして送信を停止する。この送信を停止したノードは、調停に勝ったノードが送信を終了した後に送信動作を再開するようにした通信制御装置及び通信方法が開示されている。
【０００３】
【発明が解決しようとする課題】
しかしながら、例えば船舶のように複数の船外機を有し、これら船外機のエンジンを個別のエンジン制御手段で制御し、これらエンジン制御手段をエンジンノードとしてネットワークに接続する場合に、各エンジン制御手段は同一のアプリケーションプログラムで動作することから、同一のアイデンティファイア（以下、ＩＤと称す）が設定されることになるため、ネットワークの立ち上げ時に、マスターノードにアドレス付与申請を行う際に、両エンジンノードから同時に通信フレームが送信されたときには、両ＩＤが一致することにより、アービトレーションフィールドでの調停を行うことができず、その後もデータ送信を継続するため送信エラーとなり、両エンジンノードで通信フレームの再送信を行うが、両エンジンノードでは同一のアプリケーションプログラムで動作していることから、通信フレームを再送する場合の遅延時間が一致してしまい送信エラーを繰り返して、ネットワークの立ち上げを迅速に行うことができないという未解決の課題がある。
【０００４】
そこで、本発明は、上記従来例の未解決の課題に着目してなされたものであり、同一ＩＤが設定された通信フレームを同時に送信する場合でも遅延時間を異ならせて迅速なアドレス付与を行うことができるようにしたネットワークにおけるデータ通信方法を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、請求項１に係るネットワークにおけるデータ通信方法は、ネットワークを管理する管理ノードと、データの送受信を行う複数の制御ノードとを伝送路に接続し、管理ノード及び各制御ノード間で、少なくとも所定ビット数のＩＤフィールドと所定ビット数のデータフィールドとを有する送信フレームを送受信すると共に、前記ＩＤフィールドで通信調停を行うようにしたローカルエリアネットワークにおいて、前記各制御ノードは、ネットワークアドレス取得時に、前記データフィールドに、予め設定された各ノードに固有の固有識別番号を格納して前記管理ノードに送信し、前記ＩＤフィールドが一致する複数の制御ノードが同時に送信フレームを送信することにより、通信調停エラーを生じたときに、前記送信フレームをデータフィールドに格納されている固有識別番号に基づいて作成される遅延時間だけ遅延させて再送するようにしたことを特徴としている。
【０００６】
この請求項１に係る発明では、ネットワークアドレス取得時に、データフィードにノードに固有の固有識別番号を格納した送信フレームを送信し、通信調停エラーが発生した通信フレーム再送時に固有識別番号に基づいて作成される遅延時間だけ遅延させるので、ＩＤフィールドが一致する場合でも、送信フレームの再送時に異なる遅延時間で再送することになり、通信調停エラーを回避して迅速なアドレス付与を行うことができる。
【０００７】
また、請求項２に係るネットワークにおけるデータ通信方法は、請求項１に係る発明において、前記制御ノードは、送信フレームを再送する際に、前記データフィールドを複数ビット毎に分割し、送信フレームの再送毎に所定順序で分割ビットを選択し、選択した分割ビットの数値に応じた遅延時間を算出することを特徴としている。
【０００８】
この請求項２に係る発明では、データフィールドに格納されている固有識別番号を複数ビット毎に分割して、分割ビットに基づいて遅延時間を算出するので、送信フレームを再送する毎に、異なる遅延時間となり、競合を迅速に解消することができる。
さらに、請求項３に係るネットワークにおけるデータ通信方法は、請求項２に係る発明において、前記データフィールドは６４ビットで構成され、前記分割ビットは１バイト単位で分割され、前記遅延時間は、前記分割ビットにおけるデータの１０進数値に１ビット通信時間を乗算して算出するようにしたことを特徴としている。
【０００９】
この請求項３に係る発明では、分割ビットのデータの１０進数値に１ビット通信時間を乗算して遅延時間を算出するので、１０進数値の範囲が“０”から“２５５”までの範囲に制限されるので、遅延時間が長くなり過ぎることを防止することができる。
さらにまた、請求項４に係るネットワークにおけるデータ通信方法は、請求項１乃至３の何れかの発明において、前記固有識別番号は、部品番号、製造番号、メーカー番号の何れかに設定されていることを特徴としている。
【００１０】
この請求項４に係る発明では、固有識別番号として、予め設定される部品番号、製造番号、メーカー番号を使用するので、新たに識別番号を作成する必要がなく、識別番号管理を容易に行うことができる。
なおさらに、請求項５に係るネットワークにおけるデータ通信方法は、請求項１乃至４の何れかの発明において、前記制御ノードが、船外機のエンジンを制御する複数のエンジン用ノードと、エンジンを遠隔制御するリモコンレバーで選択した制御データを送信するリモコン用ノードとを少なくとも有することを特徴としている。
【００１１】
この請求項５に係る発明では、制御ノードが、少なくとも複数のエンジン用ノードと、リモコン用ノードとで構成されているので、ネットワークの立ち上げ時に同一ＩＤが設定されるエンジン用ノードで通信フレームが同時に送信された場合でも、製造番号等による異なる固有識別番号によって再送信のための異なる遅延時間が設定されることにより、エンジン用ノードのアドレス付与を迅速に行うことができる。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は本発明による船舶の情報通信装置の一例を示す概略構成図である。
図中、１は船体であって、その船尾に例えば２機の船外機２Ａ，２Ｂが取付けられ、これら船外機２Ａ，２Ｂには内蔵するエンジン３Ａ，３Ｂを電子制御する電子コントロールユニット機能を有するエンジンノード４Ａ，４Ｂが設けられている。また、船体１の船尾の船底には船速を検出する船速センサ５が配設され、この船速センサ５で検出した船速データを送信する船速ノード６が設けられている。
【００１３】
一方、船体１の船首側には、各船外機２Ａ，２Ｂに対して、スロットル開度及びシフト切換えを指示するリモコンレバー７が配設され、このリモコンレバー７の前面側に操舵装置８、エンジン回転速度、方位等を表示する各種表示器やキースイッチＫＳ等を組込んだ表示パネル９等が配設され、さらに船首側の船底部に例えば釣りに使用する魚群探知機１０が配設されている。リモコンレバー７にはスロットル開度指令データ及びシフト指令データを送信するリモコンノード１１が設けられ、操舵装置８にも操舵角データを送信する操舵ノード１２が設けられ、表示パネル９にも表示データを受信する表示ノード１３が設けられ、魚群探知機１０にも魚群探知データを送信する魚群探知ノード１４が設けられている。
【００１４】
そして、エンジンノード４Ａ，４Ｂ、船速ノード６、リモコンノード１１、操舵ノード１２、表示ノード１３及び魚群探知ノード１４がローカルエリアネットワークの一種であるコントローラエリアネットワーク（ＣＡＮ：Ｃｏｎｔｒｏｌｌｅｒ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）を構成する伝送路としてのバス１５に接続されている。このバス１５には各ノード４Ａ，４Ｂ、６、１１〜１４の物理アドレスを管理するネットワーク管理手段としてのネットワーク管理ノード１６が接続されている。
【００１５】
ここで、各ノード４Ａ，４Ｂ、６、１１〜１４には、ノードの種別毎に識別可能な種別ＩＤが設定されていると共に、部品番号、製造番号及びメーカー番号が設定され、これらが内蔵された記憶装置に記憶されている。また、バス１５はツイストペア電線等で構成され、伝送方式としては例えばＣＳＭＡ／ＣＤ（Ｃａｒｒｉｅｒ　Ｓｅｎｓｅ　Ｍｕｌｔｉｐｌｅ　Ａｃｃｅｓｓ／Ｃｏｌｌｉｓｉｏｎ　Ｄｅｔｅｃｔｉｏｎ）伝送方式等を用いてデータの多重伝送を行うと共に、バスレベルが論理値“０”に相当するドミナントレベル及び論理値“１”に相当するレセシブレベルに制御されるように構成されている。ドミナントレベルはバス１５に接続されている何れか１つのノードがドミナントを出力すると優先的に設定されるレベルであり、レセシブレベルは全てのノードがレセシブを出力しなければ設定されないレベルである。
【００１６】
さらに、エンジンノード４Ａ，４Ｂは、図２に示すように、バス１５に接続されるバスインタフェース回路２１と、送信バッファ２２、受信バッファ２３を有する通信制御回路２４、不揮発性メモリ２５ａを内蔵した演算処理ユニット２５、入力ポート２６及び出力ポート２７を有するマイクロコンピュータ２８と、このマイクロコンピュータ２８の入力ポート２６に接続されたエンジンの電子制御スロットル弁の実スロットル開度を検出するスロットル開度センサ、エンジン回転速度を検出するエンジン回転速度センサ等の各種センサが接続された入力回路２９と、マイクロコンピュータ２８の出力ポート２７に接続された電子制御スロットル弁、インジェクタ、点火プラグ等のエンジン制御機器が接続された出力回路３０とを備えている。
【００１７】
ここで、マイクロコンピュータ２８は、バス１５を介してリモコンノード１１から入力されるスロットル開度指令値及びシフト指令値と、同様にバス１５を介して船速ノード６から入力される船速データと、入力回路２９から入力されるエンジン回転速度及び実スロットルに基づいて電子制御スロットル弁の実スロットル開度、インジェクタの燃料噴射量、点火プラグの点火時期等を制御するエンジン制御手段としてのエンジン制御処理を行うと共に、エンジン回転数、シフト状態等の表示データを表示ノード１３に送信する。
【００１８】
そして、演算処理ユニット２５に内蔵された不揮発性メモリ２５ａにエンジンノードに対応する種別を表す種別ＩＤ、個別に識別可能な部品番号、製造番号及びメーカー番号が格納されている。すなわち、エンジンノード４Ａ，４Ｂではノード種別が同じであるので、同一の種別ＩＤが格納される。これらエンジンノード４Ａ，４Ｂでは、エンジン３Ａ及び３Ｂを制御するので、データ送受信の優先度を高くするために最上位ビット側からドミナントビットが連続し、全体的にドミナントビットが多く設定された種別ＩＤに設定することが好ましい。
【００１９】
また、船速ノード６、リモコンノード１１、操舵ノード１２及び魚群探知ノード１４のそれぞれは、図３に示すように、バス１５に接続されるバスインタフェース回路３１と、送信バッファ３２、受信バッファ３３を有する通信制御回路３４、不揮発性メモリ３５ａを内蔵したポート制御回路３５、及び入力ポート３６を有する通信コントローラ３７と、この通信コントローラ３７の入力ポート２６に接続された各種センサが接続される入力回路３８とを備えている。ここで、ポート制御回路３５に内蔵された不揮発性メモリ３５ａには船速ノード６、リモコンノード１１、操舵ノード１２及び魚群探知ノード１４のそれぞれの種別を表す種別ＩＤ、個別に識別可能な部品番号、製造番号及びメーカー番号が格納されている。
【００２０】
さらに、表示ノード１３は、図４に示すように、バス１５に接続されるバスインタフェース回路４１と、送信バッファ４２、受信バッファ４３を有する通信制御回路４４、不揮発性メモリ４５ａを内蔵するポート制御回路４５、入力ポート４６及び出力ポート４７を有する通信コントローラ４８と、この通信コントローラ４８の入力ポート４６に接続されたキースイッチＫＳ等の入力機器が接続される入力回路４９と、通信コントローラ４８の出力ポート４７に接続された各種船速メータ等の各種表示器が接続される出力回路５０とを備えている。ここで、ポート制御回路４５に内蔵された不揮発性メモリ４５ａには、表示ノードの種別を表す種別ＩＤ、個別に識別可能な部品番号、製造番号及びメーカー番号が格納されている。
【００２１】
さらにまた、ネットワーク管理ノード１６は、図５に示すように、バス１５に接続されるバスインタフェース回路５１と、送信バッファ５２、受信バッファ５３を有する通信制御回路５４、演算処理装置５５、記憶装置５６を有するマイクロコンピュータ５７とを備えている。ここで、記憶装置５６には、ノードの種別とこれに対応する個別ＩＤとの関係を表す種別リストと、各ノードに割り当てる物理アドレスと割り当てたノードの個別ＩＤ及び製造番号との関係を表す物理アドレスリストとを記憶している。
【００２２】
ここで、各ノードの通信制御回路２４、３４、４４及び５４は、送受信データ及びバスレベルを監視し、後述するアービトレーションフィールドの調停負けを検出し、これを演算処理ユニット２５、演算処理装置５５又はポート制御回路３５、４５に通知すると共に、出力レベルとドス上のレベルを比較し、両レベルが不一致となる場合を検出するビットエラー、ビットスタッフが行われているはずのフィールド中で、同一レベルを６ビット連続して検出する状態となるスタッフエラー、受診したデータから計算したＣＲＣの結果が、受信したＣＲＣシーケンスと異なる場合を検出するＣＲＣエラー等を検出し、これらのエラー検出結果を演算処理ユニット２５、演算処理装置５５又はポート制御回路３５、４５に通知する。
【００２３】
そして、ネットワーク管理ノード１６は、マイクロコンピュータ５７の演算処理装置５５で図６に示すアドレス初期付与処理及び図７に示すアドレス中途付与処理を実行する。
このアドレス初期付与処理は、図６に示すように、キースイッチＫＳがオン状態となってネットワーク管理ノード１６に電源が投入されると各ノードが作動状態となるまでに必要な所定時間が経過した時点で処理を開始し、先ず、ステップＳ１で、記憶部に格納されているネットワークで設定可能な物理アドレスと物理アドレスを設定したノードの種別ＩＤを登録する種別ＩＤ登録欄及び製造番号登録欄とを併記した物理アドレスリストのＩＤ登録欄の登録ＩＤ及び製造番号登録欄の製造番号を全て消去してからステップＳ２に移行する。
【００２４】
このステップＳ２では、各ノード４Ａ，４Ｂ、６、１０〜１４に対して予め設定されている種別ＩＤの送信を要求する種別ＩＤ送信要求フレームを生成し、生成した種別ＩＤ送信要求フレームをバス１５に送出する。
次いで、ステップＳ３に移行して、各ノードからの種別ＩＤ応答フレームを受信したか否かを判定し、種別ＩＤ応答フレームを受信していないときには受信するまで待機し、種別ＩＤ応答フレームを受信したときにはステップＳ４に移行する。
【００２５】
このステップＳ４では、記憶部に記憶されている物理アドレスリストを参照して種別ＩＤが登録されていない未割り当ての物理アドレスを番号の若い順に１つ選択し、選択した未割り当ての物理アドレスに対応する種別ＩＤ登録欄に種別ＩＤを登録すると共に、製造番号登録欄に製造番号を登録し、次いでステップＳ５に移行して、選択した物理アドレスを含む物理アドレス通知フレームを生成し、これを該当ノードに通知してからステップＳ６に移行する。
【００２６】
このステップＳ６では、他のノードの種別ＩＤ応答フレームを受信しているか否かを判定し、他のノードの種別ＩＤ応答フレームを受信しているときには、前記ステップＳ４に戻り、他のノードの種別ＩＤ応答フレームを受信していないときにはステップＳ７に移行する。
このステップＳ７では、少なくとも１つのエンジンノード及びリモコンノード等の船舶の航行に必要な最低限のノードに対するアドレス付与が完了したか否かを判定し、必要最低限のノードに対するアドレス付与が完了していないときにはステップＳ８に移行して、再送信回数カウンタのカウント値ｍの“１”だけインクリメントし、次いでステップＳ９に移行して、カウント値ｍが異常判断閾値ｍａ以上となったか否かを判定し、ｍ＜ｍａであるときには前記ステップＳ２に戻り、ｍ≧ｍａであるときにはステップＳ１０に移行して、バス１５を遮断して通信処理を終了する。
【００２７】
また、前記ステップＳ７の判定結果が、必要最低限のノードに対するアドレス付与が完了したときにはステップＳ１１に移行して、各ノードのアドレス付与に要する十分な所定時間が経過したか否かを判定し、所定時間が経過していないときには前記ステップＳ６に戻り、所定時間が経過したときにはステップＳ１２に移行して、アドレス中途付与処理を起動してからアドレス初期付与処理を終了する。
【００２８】
また、アドレス中途付与処理は、他のノードから種別ＩＤ応答フレームを受信したときに外部割込によって実行開始され、図７に示すように、先ず、ステップＳ１５で、物理アドレスリストを参照して、未割り当ての物理アドレスを抽出し、次いでステップＳ１６に移行して、物理アドレスリストの抽出した未割り当ての物理アドレス位置の種別ＩＤ登録欄に種別ＩＤを登録すると共に、製造番号登録欄に製造番号を登録し、次いでステップＳ１７に移行して、抽出した物理アドレスを該当ノードに通知してから外部割込処理を終了する。
【００２９】
一方、各ノード４Ａ，４Ｂ、６、１０〜１２では、自己の電源が投入されると、図８に示す物理アドレス取得処理を実行する。
この物理アドレス取得処理は、先ず、ステップＳ２１で、後述する再送回数カウンタのカウント値ｎを“０”にクリアし、次いでステップＳ２２に移行して、ネットワーク管理ノード１６からの種別ＩＤ送信要求フレームを受信したか否かを判定し、種別ＩＤ送信要求フレームを受信したときには直接ステップＳ２４に移行し、種別ＩＤ送信要求フレームを受信していないときにはステップＳ２３に移行して、予め設定された所定時間が経過したか否かを判定し、所定時間が経過していないときには、前記ステップＳ２２に戻り、所定時間が経過したときにはネットワーク管理ノード１６で種別ＩＤ送信要求フレームを送信していていないものと判断してものとステップＳ２４に移行する。
【００３０】
ステップＳ２４では、自己の種別ＩＤと製造番号とを格納した種別ＩＤ応答フレームを作成する。この種別ＩＤ応答フレームは、図９に示すように、フレームの始まりを示すＳＯＦ（スタートオブフレーム）ビット６１と、１１ビットあるいは２９ビットのＩＤフィールド６２及びデータの送信を要求するＲＴＲ（リモート送信要求）ビット６３で構成されるアービトレーションフィールド６４と、６ビットのコントロールフィールド６５と、６４ビットのデータフィールド６６と、伝送誤りを検出するＣＲＣフィールド６７と、ＡＣＫフィールド６８及びフレームの終わりを表すＥＯＦ（エンドオブフレーム）ビット６９とで構成されている。そして、種別ＩＤ応答フレームのＩＤフィールド６２に不揮発性メモリに格納された自己の種別ＩＤを格納すると共に、データフィールド６６に同様に不揮発性メモリに格納された自己の製造番号を格納する。
【００３１】
次いで、ステップＳ２５に移行して、作成した種別ＩＤ応答フレームをバス１５に送出して、ネットワーク管理ノード１６への送信を開始してからステップＳ２６に移行する。
このステップＳ２６では、通信制御回路からの調停負け通知又はエラー通知の有無によって種別ＩＤ応答フレームの送信に異常が発生したか否かを判定し、送信異常が発生していない場合にはステップＳ２７に移行して、種別ＩＤ応答フレームの送信が完了したか否かを判定し、送信中であるときには後述するステップＳ３０に移行し、送信が完了したときにはステップＳ２８に移行して、ネットワーク管理ノード１６からの物理アドレス通知フレームを受信したか否かを判定し、物理アドレス通知フレームを受信していないときには、これを受信するまで待機し、物理アドレス通知レームを受信したときにはステップＳ２９に移行して、受信した物理アドレス通知フレームから物理アドレスを抽出して、この物理アドレスをマイクロコンピュータ２８又は通信コントローラ３７，４８に内蔵されたＲＡＭ等の記憶媒体に記憶してから物理アドレス取得処理を終了する。
【００３２】
また、前記ステップＳ２７の判定結果が種別ＩＤ応答フレームの送信中であるときにはステップＳ３０に移行して、他のノードから後述するエラーフレームを受信したか否かを判定し、エラーフレームを受信していないときには種別ＩＤ応答フレームの送信を継続しているものと判断して前記ステップＳ２６に戻り、他のノードからエラーフレームを受信したときには送信エラーが発生したものと判断して後述するステップＳ３５に移行する。
【００３３】
一方、前記ステップＳ２６の判定結果が、送信異常が発生したものである場合にはステップＳ３１に移行して、種別ＩＤ応答フレームの送信を停止し、次いでステップＳ３２に移行して、送信異常がアービトレーションフィールドの調停負けであるか否かを判定し、調停負けであるときにはステップＳ３３に移行して、調停勝ちノードの送信が終了したか否かを判定し、終了していないときには終了するまで待機し、終了したときには前記ステップＳ２５に戻り、送信異常が調停負けでないときにはスタッフエラー、ビットエラー等の送信エラーが発生したものと判断してステップＳ３４に移行する。ここで、スタッフエラーは，同一レベルが５ビット異常連続した場合に１ビットの反転データを付加してバーストエラーを防ぐためのビットスタッフ処理を施したフィールドの中で、同一レベルを６ビット連続して検出場合に検出エラーである。また、ビットエラーは、スタッフビットを除いて、出力レベルとバス上のレベルとを比較し、両レベルが不一致の場合に検出するエラーである。
【００３４】
ステップＳ３４では、例えば６ビットのドミナントビットでなるアクティブエラーフラグと８ビットのレセシブビットでなるエラーデリミタとで構成されるエラーフレームを生成して、これをバス１５に送出して各ノードに送信してからステップＳ３５に移行する。
このステップＳ３５では、エラーフレームを送信完了した時点からの経過時間ＴＬを計測する遅延時間計測タイマをセットして経過時間ＴＬの計測を開始させてからステップＳ３６に移行し、再送回数カウンタのカウント値ｎを“１”だけインクリメントしてからステップＳ３７に移行し、カウント値ｎが“９”であるか否かを判定し、ｎ＝９であるときにはステップＳ３８に移行して、ｎ＝１に設定してからステップＳ３９に移行し、ｎ＜９であるときにはそのままステップＳ３９に移行する。
【００３５】
このステップＳ３９では、データフィールド６４に格納された製造番号の最上位ビット側から１バイトずつ分割した第ｎ（ｎ＝１，２……８）バイト目の１０進数データＤｎを算出し、次いでステップＳ４０に移行して、下記（１）式に示すように、算出した１０進数データに１ビットの送信時間Ｔｂ（例えば通信速度が２５０ＫｂｐｓであるときにはＴｂ＝４μｓ）を乗算して遅延時間ＤＴを算出する。
【００３６】
ＤＴ＝Ｄｎ×Ｔｓ　　　…………（１）
次いで、ステップＳ４１に移行して、遅延時間計測タイマの経過時間ＴＬが遅延時間ＤＴ以上であるか否かを判定し、ＴＬ＜ＤＴであるときには遅延時間に達していないものと判断して遅延時間ＤＴに達するまで待機し、ＴＬ≧ＤＴであるときにはステップＳ４２に移行して、経過時間計測タイマを停止させてから前記ステップＳ２５に戻る。
【００３７】
次に、上記実施形態の動作を説明する。
今、キースイッチＫＳがオフ状態にあるものとすると、各ノード４Ａ，４Ｂ、６、１１〜１４及びネットワーク管理ノード１６の全ての電源が遮断されている。この状態からキースイッチＫＳをオン状態とすることにより、例えば魚群探知ノード１４を除く各ノード４Ａ，４Ｂ、６、１１〜１３及びネットワーク管理ノード１６に電源が投入される。
【００３８】
このため、ネットワーク管理ノード１６でキースイッチＫＳがオン状態となってから各ノードが立ち上がるに十分な所定時間経過した後に、図６のアドレス初期付与処理を実行し、物理アドレスリストの種別ＩＤ登録を消去してから各ノードに対して種別ＩＤの送信を要求する種別ＩＤ送信要求フレームを送信する（ステップＳ１，Ｓ２）。
【００３９】
ネットワーク管理ノード１６と同時に電源が投入されたノード例えば４Ａ，４Ｂ、１１〜１３では、図８に示す物理アドレス取得処理を実行開始するため、先ず、ステップＳ２１で再送回数カウンタのカウント値ｎを“０”にクリアし、ネットワーク管理ノード１６からの種別ＩＤ送信要求フレームを受信すると、ステップＳ２２からステップＳ２４に移行して、自己のノードの不揮発性メモリ２５ａ、３５ａ、４５ａに記憶されている種別ＩＤ及び製造番号を読出し、種別ＩＤをＩＤフィールド６４に格納し、製造番号をデータフィールド６６に格納した図９に示す種別ＩＤ応答フレームを生成する。
【００４０】
そして、生成した種別ＩＤ応答フレームをバス１５に送出して、ネットワーク管理ノード１６に送信する。
この初期状態では、各ノード４Ａ，４Ｂ、６、１１〜１３が略同時に立ち上がって種別ＩＤ応答フレームを生成して、この種別ＩＤ応答フレームの送信を開始することになるが、前述したように、エンジンノード４Ａ，４Ｂについては種別ＩＤとしてドミナントビットが多く割付けられているので、各ノード４Ａ，４Ｂ、６、１１〜１３で同時に種別ＩＤ応答フレームの送信を開始した場合に、アービトレーションフィールド６４を送信する段階となったときに、他のノード６、１１〜１３の方が先にレセシブビットを送信する状態となり、他のノード１１〜１３はアービトレーションフィールドの６４の送信時に調停負け状態となる。
【００４１】
このため、図８の処理におけるステップＳ２６で、送信異常状態と判断されるので、ステップＳ３１に移行して、種別ＩＤ応答フレームの送信が停止され、その後、ステップＳ３２で調停負けと判断されるので、ステップＳ３３に移行して、予め設定された所定時間が経過するまで待機してからステップＳ２５に戻って、種別ＩＤ応答フレームの再送信を行う。
【００４２】
一方、種別ＩＤ応答フレームにおける種別ＩＤの優先順位が最も高いノードでは、調停に勝つことにより、種別ＩＤ応答フレームの送信を完了することができ、この種別ＩＤ応答フレームをネットワーク管理ノード１６で受信すると、図６の処理でステップＳ３からステップＳ４に移行して、受信した種別ＩＤ応答フレームから種別ＩＤ及び製造番号を抽出し、次いで、物理アドレスリストから種別ＩＤに基づいて物理アドレスリストを検索して、未割り当ての物理アドレスを選択し、選択した未割り当て物理アドレスのＩＤ登録欄に種別ＩＤを登録すると共に、製造番号登録欄に製造番号を登録し（ステップＳ４）、次いで選択した物理アドレスを含む物理アドレス通知フレームを生成して、これを該当ノードに通知する（ステップＳ５）。この物理アドレスリストから物理アドレスを選択する際に、エンジンノード４Ａ，４Ｂの種別ＩＤについては優先順位が最も高い側即ちドミナントビットが最上位ビット側から連続する側の物理アドレスを選択することが好ましい。
【００４３】
そして、種別ＩＤ応答フレームを送信完了したノードでは、ネットワーク管理ノード１６からの物理アドレス通知フレームを受信すると、図８の処理でステップＳ２８からステップＳ２９に移行して、受信した物理アドレスをＲＡＭ等の記憶媒体に記憶してアドレス取得処理を終了する。このため、物理アドレスを取得したノードでは、以後、１１ビットのＩＤフィールド６２を有する場合にはＲＡＭに記憶された物理アドレスを自己アドレスとして、この自己アドレスと、送信するデータ種別とをＩＤフィールド６２に格納し、さらに送信データをデータフィールド６６に格納した送信フレームを生成し、この送信フレームをバス１５送出することにより、データの送信が可能となる。また、２９ビットの拡張したＩＤフィールド６２を有する場合には、ＩＤフィールド６２の拡張部に送信元アドレスとして自己アドレスを格納とすると共に、データの送信先の物理アドレスを送信先アドレスとして格納して、送信相手を特定してデータ送信を行うことが可能となる。
【００４４】
このように、異なる種別ＩＤのノード同士が同時に種別ＩＤ応答フレームを送信した場合には、ドミナントビットを維持する優先度の高いノードが調停勝ちすることにより、種別ＩＤ応答フレームの送信を完了して、ネットワーク管理ノード１６から物理アドレスを取得すると、この物理アドレスを取得したノードは初期アドレス取得処理を終了することにより、種別ＩＤ応答フレームの送信が停止されるので、次に、調停負けしたノードが種別ＩＤ応答フレームを再送した場合には、他に優先度の高いノードが同時に種別ＩＤ応答フレームを送信していなければ、種別ＩＤ応答フレームの送信を完了させることができ、ネットワーク管理ノード１６から物理アドレスを取得することができる。
【００４５】
ところが、エンジンノード４Ａ，４Ｂのように、同一の種別ＩＤが設定されたノードが同時に種別ＩＤ応答フレームを送信した場合には、アービトレーションフィールド６４のドミナントビットが完全に一致することから、調停が行われないことになり、両者が同時にコントロールフィールド６３及びデータフィールド６６の送信を開始する。
【００４６】
このとき、コントロールフィールド６３の構成は両ノード４Ａ，４Ｂで同一となるで、同時送信が行われるが、データフィールド６６の送信が開始されると、このデータフィールド６６には値の異なる製造番号が格納されていることから、何れか一方のノード例えば４Ａがレセシブビットで、他方ノード４Ｂがドミナントビットである場合には、バス１５がドミナントレベルとなるので、レセシブビットを送信したノード４Ａでは出力ノードとバス上のレベルが異なることにより、ビットエラーによる送信異常と判断して、図８の処理におけるステップＳ２６からステップＳ３１に移行し、種別ＩＤ応答フレームの送信を停止し、送信異常が調停負けではないので、ステップＳ３４に移行して、エラーフレームを生成して、これをバス１５に送出してからステップＳ３５以降の遅延時間設定処理に移行する。
【００４７】
他方のノード４Ｂでは、種別ＩＤ応答フレームの送信を継続するが、ノード４Ａから送信されたエラーフレームを受信することにより、同様にステップＳ３５以降の遅延時間設定処理に移行する。
このように、両ノード４Ａ及び４Ｂで、略同時に遅延時間設定処理に移行するが、例えばノード４Ａの製造番号が１６進数で「０１　２３　４５　６７　８９ＡＢ　ＣＤ　ＥＦ」であるものとし、他方のノード４Ｂの製造番号が１６進数で「０１　２３　５５　４６　８９　ＡＢ　ＣＤ　ＥＦ」であったものとすると、ステップＳ３５以降の遅延時間設定処理で、第１番目の遅延時間ＤＴは、前述したステップＳ２１で再送回数カウンタのカウント値ｎが“０”にクリアされていることにより、ステップＳ３６でｎ＝１に設定され、これによってステップＳ３９で製造番号の第１バイト目のデータ「０１」の１０進数値Ｄｎ＝１が算出され、これに基づいてステップＳ４０で遅延時間ＤＴが１ビット送信時間Ｔｂを４μｓとするとＤｎ×Ｔｂ＝１×４＝４μｓに設定され、遅延時間計測タイマの経過時間ＬＤが遅延時間ＤＴ以上となったときにステップＳ２５に戻って種別ＩＤ応答フレームの再送信を行う。
【００４８】
この再送信でもノード４Ａ，４Ｂの遅延時間ＤＴが一致するので、エラーフレームが出力されることから、再度遅延時間設定処理が行われ、再送回数カウンタのカウント値ｎがインクリメントされて“２”となり、製造番号の第２バイト目のデータ「２３」の１０進数値Ｄｎとして「３５」が算出され、これに基づいて遅延時間ＤＴが３５×４＝１４０μｓに設定され、遅延時間計測カウンタの経過時間ＬＴが遅延時間ＤＴ以上となった時点で種別ＩＤ応答フレームの再送信が行われる。
【００４９】
このときでも、ノード４Ａ，４Ｂの遅延時間ＤＴが一致するので、エラーフレームが送信されることになり、再送回数カウンタのカウント値ｎがインクリメントされて“３”となる。このとき、ノード４Ａについては第３バイト目のデータが「４５」であり、これに対応する１０進数値Ｄｎが“６９”となるが、ノード４Ｂについては第３バイト目のデータが「５５」であり、これに対応する１０進数値Ｄｎは“８５”となることにより、ノード４Ａの遅延時間ＤＴは６９×４＝２７６μｓとなり、ノード４Ｂの遅延時間は８５×４＝３４０μｓとなる。このため、ノード４Ａの種別ＩＤ応答フレームが先にネットワーク管理ノード１６に送信されることになるため、この種別ＩＤ応答フレームの送信を完了して、物理アドレスを取得することができる。
【００５０】
このように、ノード４Ａで物理アドレスを取得すると、ノード４Ａでは初期アドレス取得処理を終了するので、以後種別ＩＤ応答フレームが送信されることはなく、後にノード４Ｂから種別ＩＤ応答フレームが再送信されたときに、この種別ＩＤ応答フレームの送信を完了して、ネットワーク管理ノード１６から物理アドレスを取得することができる。
【００５１】
このようにして、このネットワーク管理ノード１６でのアドレス初期付与処理で、キースイッチＫＳの投入によって同時に電源が投入されるノードについては物理アドレスの割り当てを完了し、物理アドレスが割り当てられたノード間での情報通信が可能となり、船外機２Ａ，２Ｂのエンジン始動、リモコンレバー７による前後進のシフト選択及びスロットル開度指令をリモコンノード１０からエンジンノード４Ａ，４Ｂに送信して、前後進航行が可能となる。
【００５２】
このとき、キースイッチＫＳの投入時に電源が投入されない魚群探知ノード１４については物理アドレスの割り当てが行われないままアドレス初期付与処理が終了される。
このため、船舶を例えば所望の釣り場まで航行させてから釣りを行うために、魚群探知機９の電源を投入すると、これと同時に魚群探知ノード１４にも電源が投入され、この魚群探知ノード１４で図８に示す物理アドレス取得処理が実行開始されてネットワークに参加する。
【００５３】
この物理アドレス取得処理では、ネットワーク管理ノード１６ではアドレス初期付与処理が終了しているため、種別ＩＤ送信要求フレームの送信が行われないので、ステップＳ２２からステップＳ２３に移行して所定時間が経過するまでは種別ＩＤ送信要求フレームの受信待ち状態となり、所定時間が経過すると、ステップＳ２３からステップＳ２４に移行して、種別ＩＤ応答フレームを作成し、これをバス１５に送出する。
【００５４】
この種別ＩＤ応答フレームをネットワーク管理ノード１６で受信すると、このネットワーク管理ノード１６で図７に示す外部割込によるアドレス付与処理を実行し、まず、物理アドレスリストを物理アドレスの若い順から検索して、未割り当ての物理アドレスを選択し（ステップＳ１５）、物理アドレスリストの選択した物理アドレスのＩＤ登録欄に新たにネットワークに参加したノードの固有ＩＤを登録すると共に、製造番号登録欄に製造番号を登録し（ステップＳ１６）、次いで選択した物理アドレスを含む物理アドレス通知フレームを生成し、これを該当ノードに送信する（ステップＳ１７）。
【００５５】
したがって、新たに参加した魚群探知ノード１４では、ネットワーク管理ノード１６からの物理アドレス通知フレームを受信すると、物理アドレスをＲＡＭに記憶し、以後この物理アドレスを使用して他のノードとの通信が可能となり、魚群探知機９の魚群探知データを表示ノード１３に送信して、表示パネル８の表示器に表示することが可能となる。このアドレス取得に要する時間は短時間であり、他のノード間の情報通信に影響を与えることはない。
【００５６】
なお、ネットワーク管理ノード１６では、ネットワーク立ち上げ時における図６の初期アドレス付与処理において、各ノードに対して物理アドレスの付与を完了した時点でエンジンノード、リモコンノード等の必要最低限のノードに対する物理アドレスの付与が完了していないときには、再送信カウンタのカウント値ｍを“１”だけインクリメントし、次いでカウント値ｍが異常判断閾値ｍａに達したか否かを判定し、ｍ＜ｍａであるときには前記ステップＳ２に戻って、種別ＩＤ送信要求フレームの再送信を繰り返し、ｍ≧ｍａであるときにはネットワークの異常と判断して、バス１５を遮断する。このとき、表示パネル９に設けた液晶表示器等でネットワーク不良であることを表示するか、警報音を発して、操縦者に異常を報知することが好ましい。
【００５７】
このように、上記実施形態によると、キースイッチＫＳをオン状態としてネットワークを立ち上げる際に、複数のノードが同時に物理アドレス取得動作を行ったときに、同一の種別ＩＤを有するノード同士で同時に種別ＩＤ応答フレームを送信する調停不能状態となった場合に、各ノードに識別可能に記憶される製造番号に基づいて遅延時間を設定するようにしたため、同一の種別ＩＤを有するノードで種別ＩＤ応答フレームを再送信する遅延時間が異なる値に設定されて、ネットワーク管理ノード１６からの物理アドレスの取得を迅速且つ容易に行うことができる。
【００５８】
しかも、遅延時間ＤＴを製造番号を所定バイト毎に分割し、分割バイトの１０進数値Ｄｎに１ビット送信時間Ｔｂを乗算して算出するようにしたので、遅延時間を所定の範囲内即ち１０進数値Ｄｎを０〜２５５の範囲とすることができ、遅延時間が必要以上に長くなることを確実に防止することができる。
なお、上記実施形態においては、製造番号を１バイト毎に分割して８ビットの１６進データを１０進数値に変換する場合について説明したが、これに限定されるものではなく、製造番号を割り切れる複数ビット毎に分割して遅延時間を設定するようにしてもよく、さらには分割ビットを最上位ビット側から順に選択する場合に代えて、最下位ビット側から順に選択するようにしてもよく、分割ビットを１つ又は複数置きに選択したり、最上位ビット側及び最下位ビット側から所定ビットずつ順に選択して分割したりするようにしてもよく、製造番号の分割方法は任意の方法を採用することができる。
【００５９】
また、上記実施形態においては、製造番号に基づいて遅延時間を設定した場合について説明したが、これに限定されるものはなく、ノード毎に識別可能に設定される部品番号、メーカー番号その他の任意の識別番号に基づいて遅延時間を設定するようにしてもよい。
さらに、上記実施形態においては、ネットワークに接続されるノードがエンジンノード、リモコンノード、船速ノード、表示ノード、魚群探知ノードである場合について説明したが、これに限定されるものではなく、ステレオ等のオーディオ製品やテレビ等のオーディオビジュアル製品、ナビゲーションシステム、電話制御機等の種々のノードを接続することができる。
【００６０】
さらにまた、上記実施形態においては、本発明を船舶のネットワークに適用した場合について説明したが、これに限定されるものではなく、車両、玩具、ゲーム機、や工場内の制御システム、ビル管理システム等の複数のノードを接続したネットワークに本発明を適用することができ、ネットワークとしてもＣＡＮに限らず、立ち上げ時に物理アドレスを取得する形式の他のローカルエリアネットワーク等の任意のネットワークに本発明を適用することができる。
【００６１】
また、上記実施形態においては、ネットワーク管理ノード１６が独立してバス１５に接続されている場合について説明したが、これに限定されるものではなく、キースイッチＫＳをオン状態としたときにこれと同時に電源が投入される船速ノード６、リモコンノード１１、操舵ノード１２、表示ノード１３の何れかにマイクロコンピュータを設けて、このマイクロコンピュータにアドレス初期付与処理及びアドレス付与処理を実行するネットワーク管理機能を付加するようにしてもよい。
【００６２】
さらに、上記実施形態においては、伝送路として有線のバス１５を適用した場合について説明したが、これに限定されるものではなく、無線によるバスを形成するようにしてもよく、接続形式としては、リング型、スター型等の何れの形式であっても適用可能である。
【００６３】
【発明の効果】
以上説明したように請求項１に係る発明によれば、ネットワークアドレス取得時に、データフィードにノードに固有の固有識別番号を格納した送信フレームを送信し、通信調停エラーが発生した通信フレーム再送時に固有識別番号に基づいて作成される遅延時間だけ遅延させるので、ＩＤフィールドが一致する場合でも、送信フレームの再送時に異なる遅延時間で再送することになり、通信調停エラーを回避して迅速なアドレス付与を行うことができるという効果が得られる。
【００６４】
また、請求項２に係る発明によれば、データフィールドに格納されている固有識別番号を複数ビット毎に分割して、分割ビットに基づいて遅延時間を算出するので、送信フレームを再送する毎に、異なる遅延時間となり、競合を迅速に解消することができるという効果が得られる。
さらに、請求項３に係る発明によれば、分割ビットのデータの１０進数値に１ビット通信時間を乗算して遅延時間を算出するので、１０進数値の範囲が“０”から“２５５”までの範囲に制限されるので、遅延時間が長くなり過ぎることを防止することができるという効果が得られる。
【００６５】
さらにまた、請求項４に係る発明によれば、固有識別番号として、予め設定される部品番号、製造番号、メーカー番号を使用するので、新たに識別番号を作成する必要がなく、識別番号管理を容易に行うことができるという効果が得られる。
なおさらに、請求項５に係る発明によれば、制御ノードが、少なくとも船外機のエンジンを制御する仏数のエンジン用ノードと、リモコンレバー用ノードとで構成されているので、船舶でのネットワークの立ち上げ時に同一ＩＤが設定されるエンジン用ノードで通信フレームが同時に送信された場合でも、製造番号等による異なる固有識別番号によって再送信のための異なる遅延時間が設定されることにより、送信エラーが発生しがちなエンジン用ノードのアドレス付与を迅速に行うことができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示す概略構成図である。
【図２】エンジンノードを示すブロック図である。
【図３】船速ノード、リモコンノード、操舵ノード及び魚群探知ノードを示すブロック図である。
【図４】表示ノードを示すブロック図である。
【図５】ネットワーク管理ノードを示すブロック図である。
【図６】ネットワーク管理ノードで実行するアドレス初期付与処理の一例を示すフローチャートである。
【図７】ネットワーク管理ノードで実行するアドレス中途付与処理の一例を示すフローチャートである。
【図８】各ノードで実行するアドレス取得処理の一例を示すフローチャートである。
【図９】種別ＩＤ応答フレームの構成を示す説明図である。
【符号の説明】
１　船体
２Ａ，２Ｂ　船外機
４Ａ，４Ｂ　エンジンノード
６　船速ノード
７　リモコンレバー
８　操舵装置
９　表示パネル
１０　魚群探知機
１１　リモコンノード
１２　操舵ノード
１３　表示ノード
１４　魚群探知ノード
１５　バス
１６　ネットワーク管理ノード
２４，３４，４４，５４　通信制御回路
２５　演算処理ユニット
３５，４５　ポート制御回路
５５　演算処理装置
２５ａ，３５ａ，４５ａ　不揮発性メモリ
５６　記憶装置
【図１】
2004048304.tif 000003
【図２】
2004048304.tif 000004
【図３】
2004048304.tif 000005
【図４】
2004048304.tif 000006
【図５】
2004048304.tif 000007
【図６】
2004048304.tif 000008
【図７】
2004048304.tif 000009
【図８】
2004048304.tif 000010
【図９】
2004048304.tif 000011