(57)【要約】【課題】  複雑な送信パターンによるメッセージの送信が可能であり、さらに、モニタ動作中に他の動作を行うことができる通信モニタ装置、通信モニタ方法及びプログラムを提供すること。【解決手段】  本発明にかかるプログラムは、複数の送信パターンを取得し、前記複数の送信パターンのそれぞれの送信開始条件を複数、取得するステップと、前記複数の送信開始条件に基づき、前記複数の送信パターンから送信開始する送信パターンを決定するステップと、前記決定された送信パターンに含まれる複数の送信メッセージから、送信するメッセージを決定するステップと、前記決定された送信メッセージをシリアル通信網へ送信するステップと、前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定するステップを、繰り返すステップと、を備えるものである。【選択図】  図２
2005295306.tif 000002
【特許請求の範囲】
【請求項１】
複数の送信メッセージを含む送信パターンをシリアル通信網に送信する処理を、コンピュータに実行させるプログラムであって、前記処理は、
複数の送信パターンを取得し、前記複数の送信パターンのそれぞれの送信開始条件を複数、取得するステップと、
前記複数の送信開始条件に基づき、前記複数の送信パターンから送信開始する送信パターンを決定するステップと、
前記決定された送信パターンに含まれる複数の送信メッセージから、送信するメッセージを決定するステップと、
前記決定された送信メッセージをシリアル通信網へ送信するステップと、
前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定するステップを、繰り返すステップと、
を備えるプログラム。
【請求項２】
前記複数の送信パターンのそれぞれの送信停止条件を複数、取得するステップと、
前記複数の送信停止条件に基づき、前記複数の送信パターンから送信停止する送信パターンを決定するステップと、
前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定するステップを繰り返すステップを、中止するステップと、
をさらに備える、請求項１に記載のプログラム。
【請求項３】
前記送信するメッセージを決定するステップを繰り返すステップは、複数の送信パターンに含まれる複数のメッセージについて、前記送信するメッセージを決定するステップを繰り返す、
請求項１又は２に記載のプログラム。
【請求項４】
前記送信パターンには、当該送信パターンを繰り返す周期を表すデータが含まれ、
前記送信するメッセージを決定するステップを繰り返すステップは、前記周期を表すデータにより決定される送信タイミングで、前記送信するメッセージを決定するステップを繰り返す、
請求項１乃至３のいずれかに記載のプログラム。
【請求項５】
前記送信パターンには、前記送信パターンに含まれる複数のメッセージのそれぞれについて、メッセージ送信後の次のメッセージを送信するまでの送信間隔を表すデータが含まれ、
前記送信するメッセージを決定するステップを繰り返すステップは、前記送信間隔を表すデータにより決定される送信タイミングで、前記送信するメッセージを決定するステップを繰り返す、
請求項１乃至４のいずれかに記載のプログラム。
【請求項６】
前記送信するメッセージを決定するステップは、
複数のメッセージについて、前記送信タイミングが重なった場合、当該複数のメッセージに含まれるデータに基づいて、送信するメッセージを決定する、
請求項４又は５に記載のプログラム。
【請求項７】
前記シリアル通信網からメッセージを受信するステップと、
前記受信したメッセージを表示するステップと、
をさらに備える、請求項１乃至６のいずれかに記載のプログラム。
【請求項８】
前記シリアル通信網は、ＣＡＮ通信網である、
請求項１乃至７のいずれかに記載のプログラム。
【請求項９】
前記送信するメッセージを決定するステップは、
複数のメッセージについて、前記送信タイミングが重なった場合、当該複数のメッセージに含まれるＣＡＮＩＤに基づいて、送信するメッセージを決定する、
請求項８に記載のプログラム。
【請求項１０】
複数の送信メッセージを含む送信パターンをシリアル通信網に送信する通信モニタ方法であって、
シリアル通信網からメッセージを受信するステップと、
前記受信したメッセージを表示するステップと、
複数の送信パターンを取得し、前記複数の送信パターンのそれぞれの送信開始条件を複数、取得するステップと、
前記複数の送信開始条件に基づき、前記複数の送信パターンから送信開始する送信パターンを決定するステップと、
前記決定された送信パターンに含まれる複数の送信メッセージから、送信するメッセージを決定するステップと、
前記決定された送信メッセージを前記シリアル通信網へ送信するステップと、
前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定するステップを、繰り返すステップと、
を備える通信モニタ方法。
【請求項１１】
複数の送信メッセージを含む送信パターンをシリアル通信網に送信する通信モニタ装置であって、
シリアル通信網からメッセージを受信する手段と、
前記受信したメッセージを表示する手段と、
複数の送信パターンを取得し、前記複数の送信パターンのそれぞれの送信開始条件を複数、取得する手段と、
前記複数の送信開始条件に基づき、前記複数の送信パターンから送信開始する送信パターンを決定する手段と、
前記決定された送信パターンに含まれる複数の送信メッセージから、送信するメッセージを決定する手段と、
前記決定された送信メッセージを前記シリアル通信網へ送信する手段と、
前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定する手段を、繰り返す手段と、
を備える通信モニタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信モニタ装置、通信モニタ方法及びプログラムに関し、特に、シリアル通信網に接続される通信モニタ装置、通信モニタ方法及びプログラムに関する。
【背景技術】
【０００２】
近年、車両に搭載される電子機器の数が増大しており、これらの電子機器を接続するワイヤーハーネスの数の増加を防止するために、車両ＬＡＮが広く利用されている。
【０００３】
車両ＬＡＮの一つにＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が知られている。ＣＡＮは、多くの自動車内部の制御用通信方式として利用されており、車両以外にも、ＦＡや、船舶、医療機器等にも利用されている。例えば、エンジン制御装置や、トランスミッション制御装置、ＡＢＳ、ダッシュボードのメータ類、ライト、パワーウィンドウ等が、ＣＡＮにより接続されている。
【０００４】
ＣＡＮでは、ＣＡＮバスにＥＣＵ（Electric Control Unit）等の通信ユニットを接続し、ＣＡＮバスを介して、通信ユニット間でメッセージの送受信が行われる。ＣＡＮは、マルチマスタ方式のため、ＣＡＮバスが空いているときは、全ての通信ユニットが、メッセージを送信することができる。また、ＣＡＮは、マルチキャスト方式も採用しており、ＣＡＮバスに送信されたメッセージは、全ての通信ユニットにより同時に受信される。
【０００５】
ＣＡＮのメッセージは、ＣＡＮバスにおいてフレーム形式で送受信される。図９に、ＣＡＮのフレームの一つであるデータフレームのフォーマットを示す。データフレームは、通信ユニットが、相手側の通信ユニットへデータを送るためのフレームである。データフレームには、図に示されるように、ＳＯＦ（Ｓｔａｒｔ  Ｏｆ  Ｆｒａｍｅ）フィールド、ＩＤフィールド、データフィールド、ＣＲＣフィールド、ＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｒａｍｅ）フィールドが含まれている。この他、データ長を示すコントロールフィールドや受信確認のためのＡＣＫフィールド等が含まれる（不図示）。
【０００６】
ＳＯＦフィールドはデータフレームの開始を表すフィールド、ＩＤフィールドはデータを識別するＣＡＮＩＤを表すフィールド、データフィールドはデータの中身を含むフィールド、ＣＲＣフィールドはフレームの伝送誤りをチェックするためのフィールド、ＥＯＦフィールドはデータフレームの終了を表すフィールドである。
【０００７】
各通信ユニットは、アドレスのような情報を持たず、ＣＡＮＩＤによって受信したいフレームを識別し、該当するフレームを受信し、必要な処理を行う。また、上記のように、ＣＡＮバスが空いているときは、全ての通信ユニットがメッセージを送信できるため、複数の通信ユニットが同時に送信を始めることもありうる。この場合は、送信するフレームのＣＡＮＩＤによって優先順位が決められる。ＣＡＮＩＤの値が小さい方が優先度が高いフレームとして扱われる。最も高い優先度のフレームを送信した通信ユニットのみ、送信を続けることができ、その他の通信ユニットは、送信を止めて受信処理を行う。
【０００８】
このような、ＣＡＮバスに接続される通信ユニットのデバッグや評価を行ったり、ＣＡＮバスの通信状態を監視するために、従来、オシロスコープが利用されていた。しかし、オシロスコープの波形のみでは、フレームの解析が困難であるため、デバッグ等の効率が悪く、また、熟練者でなければ、波形を誤って読むことも多くなり、デバッグの品質を保証することができない。そこで、ＣＡＮバスの通信をモニタする通信モニタ装置が利用されている。
【０００９】
図１０に、従来の通信モニタ装置のブロック図を示す。この通信モニタ装置９００は、ＣＡＮバス９７０に接続されており、ＣＡＮバス９７０の通信をモニタできる他に、所望のメッセージをＣＡＮバス９７０へ送信することが可能である。
【００１０】
通信モニタ装置９００は、図に示されるように、情報格納部９１０、通信モニタ制御部９２０、メッセージ送信部９３０、メッセージ受信部９４０、表示部９５０、入力部９６０を備えている。情報格納部９１０には、送信メッセージ情報９１１、送信条件情報９１２、送信状態フラグ９１３が格納されている。通信モニタ制御部９２０は、送信条件判定部９２１、モニタ部９２２、情報編集部９２３を有している。
【００１１】
送信メッセージ情報９１１は、送信するメッセージと送信パターンに関する情報であり、メッセージを構成するデータや、メッセージを送信する順序や周期等のパターンが含まれている。送信メッセージ情報９１１は、複数のメッセージの情報と、１つの送信パターンから構成されている。
【００１２】
送信条件情報９１２は、メッセージを送信する条件に関する情報であり、送信メッセージ情報９１１の送信パターンの送信開始条件や送信停止条件が含まれている。送信条件情報９１２は、１つの送信パターンの送信条件（送信開始条件と送信停止条件を含む）から構成されている。
【００１３】
送信状態フラグ９１３は、メッセージの送信状態を示すフラグであり、送信メッセージ情報９１１の送信パターンが送信中か否かを表すものである。送信状態フラグ９１３は、１つの送信パターンの送信状態フラグから構成されている。
【００１４】
送信条件判定部９２１は、各種イベントを受け付け、当該イベントが、送信条件情報９１２の送信開始条件又は送信停止条件と一致するか判定し、さらに、送信状態フラグ９１３を参照する。例えば、当該イベントが、送信開始条件と一致し、送信パターンが未送信状態であれば、当該送信パターンをメッセージ送信部９３０を介してＣＡＮバス９７０へ送信する。
【００１５】
モニタ部９２２は、メッセージ受信部９４０を介してＣＡＮバス９７０から受信されたメッセージを解析等し、表示部９５０から表示する。情報編集部９２３は、入力部９６０を介してユーザからの入力を受け付け、情報格納部９１０の情報について、追加、更新等を行う。
【００１６】
このような構成により、ＣＡＮバス９７０の通信のモニタするとともに、ユーザ所望の条件、パターンによりメッセージを送信することができる。しかしながら、従来の通信モニタ装置では、送信条件情報９１２として１つの送信条件しか格納していないため、送信条件に関連付けられた１つの送信パターンでしか、メッセージを送信することができない。すなわち、１つの送信条件による１つ周期等、単純なパターンでしか送信することができないという問題がある。
【００１７】
また、従来の通信モニタ装置では、情報編集部９２３により情報の編集を行う場合、複雑な処理を避けるため、モニタ部９２２や送信条件判定部９２１の処理を停止する必要があった。すなわち、モニタ動作と情報入力等の他の動作を同時に行うことができないという問題がある。このため、複数の送信パターンを個々のタイミングで送信を開始する場合、モニタ動作を一旦停止し、送信したいパターンを再設定後、モニタ動作を再開しないと実現できないため、操作が煩雑になり、リアルタイム性がかけるだけでなく、必然的に、送信できるパターンは常に１つだけとなっていた。
【００１８】
また、このような通信モニタ装置よりも高機能な開発支援装置として独自のプログラミング言語により、実際のＥＵＣモジュールと同等の複雑なメッセージの送受信動作を行えるものが存在するが、装置独自のプログラミング言語の習得や販売元による技術サポートが必要である。
【００１９】
尚、従来のＣＡＮ通信診断装置として特許文献１が知られている。
【特許文献１】特開２００３−２４４７７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
このように、従来の通信モニタ装置では、単純な送信パターンでしかメッセージを送信できないという問題点があり、また、モニタ動作と情報入力等の他の動作を同時に行うことができないという問題点があった。
【００２１】
本発明は、このような問題点を解決するためになされたもので、本発明の目的は、複雑な送信パターンによるメッセージの送信を可能とし、さらに、モニタ動作中に他の動作を可能とすることである。
【課題を解決するための手段】
【００２２】
本発明にかかるプログラムは、複数の送信メッセージを含む送信パターンをシリアル通信網に送信する処理を、コンピュータに実行させるプログラムであって、前記処理は、複数の送信パターンを取得し、前記複数の送信パターンのそれぞれの送信開始条件を複数、取得するステップと、前記複数の送信開始条件に基づき、前記複数の送信パターンから送信開始する送信パターンを決定するステップと、前記決定された送信パターンに含まれる複数の送信メッセージから、送信するメッセージを決定するステップと、前記決定された送信メッセージをシリアル通信網へ送信するステップと、前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定するステップを、繰り返すステップと、を備えるものである。これにより、複数の送信パターンから選択された送信パターンのメッセージを送信することができる。
【００２３】
上述のプログラムにおいて、前記複数の送信パターンのそれぞれの送信停止条件を複数、取得するステップと、前記複数の送信停止条件に基づき、前記複数の送信パターンから送信停止する送信パターンを決定するステップと、前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定するステップを繰り返すステップを、中止するステップと、をさらに備えてもよい。これにより、複数の送信パターンから選択された送信パターンのメッセージの送信を停止することができる。
【００２４】
上述のプログラムにおいて、前記送信するメッセージを決定するステップを繰り返すステップは、複数の送信パターンに含まれる複数のメッセージについて、前記送信するメッセージを決定するステップを繰り返してもよい。これにより、複数の送信パターンから選択された複数の送信パターンのメッセージを送信することができる。
【００２５】
上述のプログラムにおいて、前記送信パターンには、当該送信パターンを繰り返す周期を表すデータが含まれ、前記送信するメッセージを決定するステップを繰り返すステップは、前記周期を表すデータにより決定される送信タイミングで、前記送信するメッセージを決定するステップを繰り返してもよい。これにより、複雑な送信パターンによるメッセージの送信を行うことができる。
【００２６】
上述のプログラムにおいて、前記送信パターンには、前記送信パターンに含まれる複数のメッセージのそれぞれについて、メッセージ送信後の次のメッセージを送信するまでの送信間隔を表すデータが含まれ、前記送信するメッセージを決定するステップを繰り返すステップは、前記送信間隔を表すデータにより決定される送信タイミングで、前記送信するメッセージを決定するステップを繰り返してもよい。これにより、複雑な送信パターンによるメッセージの送信を行うことができる。
【００２７】
上述のプログラムにおいて、前記送信するメッセージを決定するステップは、複数のメッセージについて、前記送信タイミングが重なった場合、当該複数のメッセージに含まれるデータに基づいて、送信するメッセージを決定してもよい。これにより、複雑な送信パターンによるメッセージの送信を効率よく行うことができる。
【００２８】
上述のプログラムにおいて、前記シリアル通信網からメッセージを受信するステップと、前記受信したメッセージを表示するステップと、をさらに備えていてもよい。これにより、モニタ動作を行うとともに、複雑な送信パターンによるメッセージの送信を行うことができる。
【００２９】
上述のプログラムにおいて、前記シリアル通信網は、ＣＡＮ通信網であってもよい。これにより、ＣＡＮ通信網において、複雑な送信パターンによるメッセージの送信を行うことができる。
【００３０】
上述のプログラムにおいて、前記送信するメッセージを決定するステップは、複数のメッセージについて、前記送信タイミングが重なった場合、当該複数のメッセージに含まれるＣＡＮＩＤに基づいて、送信するメッセージを決定してもよい。これにより、複雑な送信パターンによるメッセージの送信を効率よく行うことができる。
【００３１】
本発明にかかる通信モニタ方法は、複数の送信メッセージを含む送信パターンをシリアル通信網に送信する通信モニタ方法であって、シリアル通信網からメッセージを受信するステップと、前記受信したメッセージを表示するステップと、複数の送信パターンを取得し、前記複数の送信パターンのそれぞれの送信開始条件を複数、取得するステップと、前記複数の送信開始条件に基づき、前記複数の送信パターンから送信開始する送信パターンを決定するステップと、前記決定された送信パターンに含まれる複数の送信メッセージから、送信するメッセージを決定するステップと、前記決定された送信メッセージを前記シリアル通信網へ送信するステップと、前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定するステップを、繰り返すステップと、を備えるものである。これにより、モニタ動作を行うとともに、複雑な送信パターンによるメッセージの送信を行うことができる。
【００３２】
本発明にかかる通信モニタ装置は、複数の送信メッセージを含む送信パターンをシリアル通信網に送信する通信モニタ装置であって、シリアル通信網からメッセージを受信する手段と、前記受信したメッセージを表示する手段と、複数の送信パターンを取得し、前記複数の送信パターンのそれぞれの送信開始条件を複数、取得する手段と、前記複数の送信開始条件に基づき、前記複数の送信パターンから送信開始する送信パターンを決定する手段と、前記決定された送信パターンに含まれる複数の送信メッセージから、送信するメッセージを決定する手段と、前記決定された送信メッセージを前記シリアル通信網へ送信する手段と、前記決定された送信パターンに含まれる複数の送信メッセージについて、前記送信するメッセージを決定する手段を、繰り返す手段と、を備えるものである。これにより、モニタ動作を行うとともに、複雑な送信パターンによるメッセージの送信を行うことができる。
【発明の効果】
【００３３】
本発明によれば、複雑な送信パターンによるメッセージの送信が可能であり、さらに、モニタ動作中に他の動作を行うことができる通信モニタ装置、通信モニタ方法及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３４】
発明の実施の形態１．
まず、図１を用いて、本発明の実施の形態１にかかる通信モニタ装置を含む通信システムの構成について説明する。この通信システムは、図に示されるように、通信モニタ装置１と、複数の通信ユニット２を備えており、通信モニタ装置１及び各通信ユニット２の間は、ＣＡＮバス３ａ及び３ｂを介して通信可能に接続されている。尚、この例では、３つの通信ユニット２が設けられているが、これに限らず、任意の数の通信ユニット２を設けてもよい。
【００３５】
この通信システムは、例えば、自動車等の車内に設けられたＬＡＮであり、通信プロトコルとしてＣＡＮが用いられる。ＣＡＮバス３ａ及び３ｂは、ＣＡＮプロトコルに従った通信を行うためのバスであり、ＣＡＮバス３ａ及び３ｂにより、バス型のネットワークが構築されている。
【００３６】
ＣＡＮバス３ａと、ＣＡＮバス３ｂとは、異なる通信速度、異なる用途で利用される。例えば、ＣＡＮバス３ａの通信速度を８３ｋｂｐｓに設定し、メータやエアコン等の情報系のネットワークとして利用し、ＣＡＮバス３ｂの通信速度を１Ｍｂｐｓに設定し、エンジン制御やトランスミッション制御等の制御系ネットワークとして利用できる。図の例では、ＣＡＮバス３ａ及び３ｂに同じ通信ユニット２が接続されているが、用途に応じて異なる通信ユニット２が接続される。尚、ＣＡＮバスは２つに限らず、１つでもよいし、その他の任意の数のＣＡＮバスを設けてもよい。
【００３７】
通信ユニット２は、ＣＡＮプロトコルに従った通信が可能な通信装置である。通信ユニット２は、例えば、ＥＣＵであり、エンジンや、トランスミッション、ＡＢＳ、ダッシュボードのメータ類、パワーウィンドウ等の制御装置である。
【００３８】
通信モニタ装置１は、ＣＡＮバス３ａ及び３ｂの通信をモニタする装置である。通信モニタ装置１は、通信ユニット２が通信するメッセージをモニタする他に、複数の送信パターンを同時に処理し、当該複数の送信パターンのタイミングで、通信ユニット２へメッセージを送信することが可能である。通信モニタ装置１は、図に示されるように、各種制御処理を実行するＣＰＵ１０１と、ＣＡＮプロトコルに従った通信制御を行うＣＡＮコントローラ１０２を備えている。
【００３９】
次に、図２のブロック図を用いて、本実施形態にかかる通信モニタ装置の構成について説明する。通信モニタ装置１は、パーソナルコンピュータやサーバコンピュータ等のコンピュータにより構成されており、図中の各ブロックは、ハードウェアもしくはハードウェア上で実行されるソフトウェアによって構成される。尚、通信モニタ装置１は、単一のコンピュータでなくとも、複数のコンピュータによって構成することも可能である。
【００４０】
通信モニタ装置１は、図に示されるように、情報格納部１１０、通信モニタ制御部１２０、メッセージ送信部１３０、メッセージ受信部１４０、表示部１５０、入力部１６０を備えている。
【００４１】
情報格納部１１０は、通信モニタ制御部１２０の処理に関する情報を格納する。図に示されるように、情報格納部１１０には、送信メッセージ情報１１１、送信条件一覧情報１１２、送信待ちパターン情報１１３、送信待ちメッセージ情報１１４が格納されている。情報格納部１１０は、例えば、ハードディスク等の内部記憶装置や光ディスク等の外部記憶装置から構成されている。また、情報格納部１１０には、この他、ＯＳプログラムやアプリケーションプログラム、各プログラムの処理に必要な各種データ等が格納されている。
【００４２】
送信メッセージ情報１１１は、送信するメッセージと送信パターンに関する情報であり、例えば、複数の送信メッセージや複数の送信パターンを含むリスト構造により実現することができる。送信メッセージ情報１１１は、通信モニタ装置１で規定されているファイル形式で保存されたデータや、入力部１６０を介してユーザから直接入力されたデータから構成されている。送信メッセージ情報１１１には、複数の送信パターンが含まれており、データの例については後述する。
【００４３】
送信条件一覧情報１１２は、送信パターンの送信条件に関する情報であり、送信メッセージ情報１１１の送信パターンの開始条件や停止条件が含まれている。送信条件一覧情報１１２は、送信メッセージ情報１１１と同様に、ユーザからの入力部１６０を介した入力等により格納されている。送信条件一覧情報１１２は、例えば、リスト構造で実現することができ、送信メッセージ情報１１１の各送信パターンの送信開始条件や送信停止条件の送信条件が格納されている。送信条件一覧情報１１２のデータの例については後述する。
【００４４】
送信待ちパターン情報１１３は、送信処理中の送信パターンに関する情報であり、送信パターンの周期や回数等が含まれている。送信待ちパターン情報１１３は、例えば、リスト構造で実現することができ、送信パターンの送信処理の開始時に登録され、送信処理の終了時に削除される。送信待ちパターン情報１１３は、送信データ・スケジューリング部１２４によって登録や削除が行われる。送信待ちパターン情報１１３のデータの例については後述する。
【００４５】
送信待ちメッセージ情報１１４は、送信処理中の送信メッセージに関する情報であり、送信メッセージの周期や回数等が含まれている。送信待ちメッセージ情報１１４は、例えば、リスト構造で実現することができ、送信メッセージの送信処理の開始時に登録され、送信処理の終了時に削除される。送信待ちメッセージ情報１１４は、送信データ・スケジューリング部１２４によって登録や削除が行われる。送信待ちメッセージ情報１１４のデータの例については後述する。
【００４６】
通信モニタ制御部１２０は、図に示されるように、送信状態監視部１２１、送信条件判定部１２２、送信パターン選択部１２３、送信データ・スケジューリング部１２４、モニタ部１２５、情報編集部１２６を有している。通信モニタ制御部１２０は、例えば、情報格納部１１０に格納されたソフトウェアプログラムがメモリ上に展開され、ＣＰＵ１０１が当該ソフトウェアプログラムに従って処理を行い、他のハードウェア構成と協働することによって構成されている。
【００４７】
送信状態監視部１２１は、通信モニタ装置１からＣＡＮバス３ａ及び３ｂに送信されている送信パターンの監視を行う。例えば、送信状態監視部１２１は、送信条件判定部１２２からの問い合わせに対して、送信待ちパターン情報１１３を参照することにより、送信パターンの送信状態を判定し、送信条件判定部１２２へ判定結果を応答する。
【００４８】
送信条件判定部１２２は、各種イベントを受け付け、当該イベントに該当する送信条件が存在するかどうか判定を行う。例えば、送信条件判定部１２２は、入力部１６０からのユーザによるキー入力や、ＣＡＮバス３ａ及び３ｂからのメッセージ受信等のイベントを受け付け、当該イベントと送信条件一覧情報１１２の送信条件が合致するか否か判定する。また、送信条件判定部１２２は、送信条件が合致した送信パターンの送信状態を送信状態監視部１２１に問い合わせ、当該問い合わせ結果に基づき、当該送信パターンを送信パターン選択部１２３へ通知する。
【００４９】
送信パターン選択部１２３は、通知された送信パターンに関する情報や送信パターンに含まれる送信メッセージに関する情報を取得する。例えば、送信パターン選択部１２３は、送信条件判定部１２２から通知された送信パターンについて、送信条件一覧情報１１２と送信メッセージ情報１１１から、当該送信パターンに関する情報と、当該送信パターンを構成する複数のメッセージに関する情報を取得し、送信データ・スケジューリング部１２４へ通知する。
【００５０】
また、送信条件判定部１２２の判定結果が送信パターンの送信開始の場合には、当該送信パターンの送信開始を、送信データ・スケジューリング部１２４へ通知し、送信条件判定部１２２の判定結果が送信パターンの送信停止の場合には、当該送信パターンの送信停止を、送信データ・スケジューリング部１２４へ通知する。
【００５１】
送信データ・スケジューリング部１２４は、通知された送信パターン及び送信メッセージについて、送信開始又は送信停止の処理を行う。例えば、送信データ・スケジューリング部１２４は、送信開始する送信パターンを送信待ちパターン情報１１３に登録し、送信停止する送信パターンを送信待ちパターン情報１１３から削除する。また、送信待ちパターン情報１１３に登録された送信パターンに基づいて、送信するメッセージを送信待ちメッセージ情報１１４に登録し、送信待ちメッセージ情報１１４に登録された送信メッセージに基づいて、タイミングを調整し、当該送信メッセージをメッセージ送信部１３０へ通知する。
【００５２】
モニタ部１２５は、メッセージ受信部１４０を介してＣＡＮバス３ａ及び３ｂから受信されたメッセージを解析等し、表示部１５０から表示する。メッセージ送信部１３０から送信されたメッセージについても、ＣＡＮバス３ａ及び３ｂから受信するため、送信メッセージについても表示される。モニタ部１２５では、受信した全てのメッセージについて表示してもよいし、ＣＡＮＩＤ等でフィルタリングし、特定のメッセージのみ表示してもよい。
【００５３】
情報編集部１２６は、入力部１６０を介してユーザからの入力を受け付け、情報格納部１１０の情報について、追加、更新等を行う。
【００５４】
メッセージ送信部１３０は、通信モニタ制御部１２０の送信メッセージをＣＡＮバス３ａ及び３ｂへ送信する。例えば、通信モニタ制御部１２０から、ＣＡＮＩＤやデータが含まれる送信メッセージの情報を受け付け、当該送信メッセージの情報をＣＡＮコントローラ１０２のレジスタに書き込み、ＣＡＮコントローラ１０２によって当該送信メッセージがＣＡＮバス３ａ及び３ｂへ送信される。
【００５５】
メッセージ受信部１４０は、ＣＡＮバス３ａ及び３ｂからメッセージを受信する。例えば、ＣＡＮコントローラ１０２によって、ＣＡＮバス３ａ及び３ｂからメッセージを受信し、メッセージ受信部１４０は、ＣＡＮコントローラ１０２からの割り込みを受け付け、ＣＡＮコントローラ１０２のレジスタから当該受信メッセージを読み出し、当該受信メッセージを通信モニタ制御部１２０へ通知する。
【００５６】
入力部１６０は、ユーザから入力される通信モニタ制御部１２０の処理に関する情報を受け付ける。例えば、キーボードやマウス等の入力装置を介して、ユーザからの入力情報を受け付け、当該入力情報を通信モニタ制御部１２０へ出力する。表示部１５０は、通信モニタ制御部１２０の処理に関する情報を表示する。例えば、モニタ結果等を通信モニタ制御部１２０から受け付け、当該情報をＣＲＴやＬＣＤ等の表示装置において表示する。
【００５７】
次に、図３及び図４を用いて、本実施形態にかかる通信モニタ装置において格納される情報について説明する。図３（ａ）は送信メッセージ情報１１１、図３（ｂ）は送信条件一覧情報１１２、図４（ａ）は送信待ちパターン情報１１３、図４（ｂ）は送信待ちメッセージ情報１１４のデータの例を示している。尚、これらのデータは、一例であり、後述する通信モニタ制御部１２０における処理において処理可能なデータであれば、その他のデータでもよい。
【００５８】
図３（ａ）に示されるように、送信メッセージ情報１１１には、送信パターンを識別するための送信パターン名、送信メッセージを識別するための送信メッセージ名、メッセージを送信するバスを識別するバス種別、送信メッセージのフォーマットを識別するフレーム種別、送信メッセージのＩＤフィールドに含まれるＣＡＮＩＤ、送信メッセージのデータフィールドに含まれるデータ、送信メッセージの送信間隔が含まれている。送信メッセージ情報１１１は、送信パターン毎に複数の送信メッセージが対応付けられ、送信メッセージ毎にＣＡＮＩＤやデータ等が対応付けられて、情報格納部１１０に格納されている。また、送信メッセージ情報１１１には、その他、メッセージ毎に送信回数等を設けてもよい。
【００５９】
送信パターン名や送信メッセージ名は、送信パターンや送信メッセージを識別できればよく、格納されるデータ形式は限定されない。送信条件一覧情報１１２等においても同様である。
【００６０】
バス種別には、接続されているＣＡＮバス３ａや３ｂを識別するデータが格納される。接続されるＣＡＮバスが１つの場合や、ＣＡＮＩＤ等により送信するＣＡＮバスがあらかじめ決められている場合には、バス種別の欄は設けなくてもよい。
【００６１】
フレーム種別には、標準フォーマットあるいは拡張フォーマットを表すデータが格納される。標準フォーマットと拡張フォーマットは、ＣＡＮのプロトコルで規定されており、標準フォーマットでは、ＣＡＮＩＤが１１ビット、拡張フォーマットでは、ＣＡＮＩＤが２９ビットのフレームとなる。この他、フレーム種別には、エラーフレームやビット列フレームを格納することもできる。エラーフレームの場合、ＣＡＮプロトコルに従わない、ＣＡＮＩＤやデータのフレームを設定でき、ビット列フレームの場合、ビット指定でフレームを設定できる。
【００６２】
ＣＡＮＩＤには、フレーム種別に応じた範囲のＩＤが格納され、データには、例えば、０から８バイトの長さのデータが格納される。また、データの長さは可変であることから、コントロールフィールドに対応するデータ長が、ＣＡＮＩＤに含まれていることが好ましい。
【００６３】
送信間隔は、送信パターンにおける直前に送信されたメッセージとの送信間隔である。送信パターンの最初のメッセージであれば、送信パターンの送信開始との間隔となる。送信メッセージは、送信間隔毎に送信され、これを送信パターン内で繰り返し行われる。図における送信パターン１の例では、送信パターン１の送信が開始されると、まず、１０ｍｓｅｃ後にメッセージＡが送信され、それから３０ｍｓｅｃ後にメッセージＢが送信され、それから２５ｍｓｅｃ後にメッセージＣが送信され、その後、さらにメッセージＡからの送信が繰り返される。
【００６４】
図３（ｂ）に示されるように、送信条件一覧情報１１２には、送信パターンを識別するための送信パターン名、送信パターンの送信開始条件、送信パターンの送信周期、送信パターンの送信停止条件が含まれ、それぞれ対応付けられて情報格納部１１０に格納されている。
【００６５】
送信開始条件には、入力されるキーの種別等が格納され、送信停止条件には、入力されるキーの種別や送信パターンを繰り返し送信する回数等が格納できる。送信開始条件及び送信停止条件には、この例に限らず、通信モニタ制御部１２０で受け付け可能な各種イベントが格納される。例えば、マウスによるクリックや、所定のメッセージの受信、所定のプログラムの起動や停止、ＣＡＮコントローラ１０２からのプロトコルエラーの割り込み、ＣＡＮコントローラ１０２とＣＡＮバス３ａ及び３ｂとの間に設けられたトランシーバ等からの外部割込み等を条件としてもよい。
【００６６】
送信周期には、送信パターンを繰り返す周期が格納される。図における送信パターン１の例では、キー”１”が押下されると、送信パターン１の送信が開始され、図３（ａ）の送信メッセージが順に送信され、これを８０ｍｓｅｃの周期で繰り返し、さらに、キー”Ｅｓｃ”が押下されると、送信が停止される。尚、送信条件一覧情報１１２と送信メッセージ情報１１１とをポインタ等のリスト構造とし、関連付けてもよい。送信条件一覧情報１１２と送信メッセージ情報１１１を関連付けることにより、データの容量や検索処理の効率化を図ることができる。
【００６７】
図４（ａ）に示されるように、送信待ちパターン情報１１３には、送信パターンを識別するための送信パターン名、送信パターンを次に送信する時間である次回送信時間、送信パターンの送信周期、既に送信した送信パターンの送信済み回数、送信パターンの送信回数、送信メッセージが含まれている。尚、送信メッセージ情報１１１や送信条件一覧情報１１２と同じ情報については、送信待ちパターン情報１１３に格納しなくてもよい。
【００６８】
次回送信時間は、次に送信パターンが送信されるまでの時間が格納されており、この例では、１０ｍｓｅｃ後に送信パターン１が送信される。例えば、送信待ちパターン情報１１３に送信パターンを新たに登録する場合、登録後、すぐに送信開始するために、次回送信時間には、０ｍｓｅｃが格納される。尚、次回送信時間は、この例に限らず、送信する時刻等であってもよい。また、送信周期には、図３（ｂ）と同じ情報が格納されている。
【００６９】
送信済み回数は、送信パターンのメッセージを全て送信し、１つのパターンの送信処理が終わった場合に、１回カウントされる。送信済み回数は、送信回数が送信停止条件となっている送信パターンのみカウントしてもよいし、全ての送信パターンについてカウントしてもよい。図の”−”は、回数が何も格納されていないことを示している。送信回数は、図３（ｂ）の送信停止条件に格納された送信回数である。
【００７０】
送信メッセージに格納されるメッセージは、送信メッセージ名でもよいが、効率よく送信するために、すぐに送信できる形式であることが好ましい。すなわち、ＣＡＮコントローラ１０２のレジスタにそのまま書き込むことができる形式である。例えば、送信メッセージ情報１１１のＣＡＮＩＤとデータが含まれている。
【００７１】
図４（ｂ）に示されるように、送信待ちメッセージ情報１１４には、送信メッセージ、メッセージを送信するバス種別、送信メッセージを次に送信する次回送信時間、送信メッセージの送信間隔、送信パターン名が含まれている。
【００７２】
送信メッセージには、送信待ちパターン情報１１３に格納されている送信メッセージのうちの１つが格納される。バス種別は、図３（ａ）と同じ情報であるが、バス種別ごとに、送信待ちメッセージ情報１１４を別の情報としてもよい
【００７３】
次回送信時間は、送信待ちパターン情報１１３と同様に、次に送信メッセージが送信されるまでの時間であり、この例では、１ｍｓｅｃ後にメッセージＡが送信される。例えば、送信待ちメッセージ情報１１４に送信メッセージが新たに登録される場合、送信間隔後にメッセージを送信するため、次回送信時間には送信間隔と同じ値が格納される。また、送信間隔には、送信メッセージ情報１１１と同じ情報である。
【００７４】
次に、図５及び図６を用いて、本実施形態にかかる通信モニタ装置の処理について説明する。これらの処理は、通信モニタ制御部１２０において、所定のアプリケーションプログラム等により実行される。例えば、通信モニタ制御部１２０の処理は、複数のタスクにより並列に実行されている。通信モニタ制御部１２０の各ブロックをそれぞれ別のタスクとすることにより、独立して動作することができる。例えば、イベントを監視する処理と、メッセージを送信する処理とでは、別のタスクで実行される。以下に、イベント監視処理と、メッセージ送信処理について説明する。
【００７５】
図５のフローチャートは、通信モニタ制御部１２０における、イベント監視処理を示している。これらの処理は、送信状態監視部１２１、送信条件判定部１２２、送信パターン選択部１２３、送信データ・スケジューリング部１２４における処理である。
【００７６】
この処理では、常に各種のイベントを監視しており、イベントが発生すると、まず、イベントを受け付ける（Ｓ５０１）。すなわち、送信条件判定部１２２は、発生した各種のイベントを受け付ける。ここで、受け付けるイベントは、送信条件一覧情報１１２で送信条件となりうるイベントであり、キー入力等である。
【００７７】
次いで、イベントに該当する送信条件が存在するか判定する（Ｓ５０２）。すなわち、送信条件判定部１２２は、Ｓ５０１で受け付けたイベントが送信条件に該当するかどうか、送信条件一覧情報１１２を検索する。イベントを検索キーとして、送信条件一覧情報１１２の全ての送信パターンについて、送信開始条件、送信停止条件を検索する。このとき、該当する送信パターンが複数存在する場合には、以降の処理を複数回行う。
【００７８】
Ｓ５０２において、イベントに該当する送信条件が存在しない場合は、さらにイベントを監視し、Ｓ５０１を行う。また、イベントに該当する送信条件が存在する場合には、当該送信条件が送信開始条件か送信停止条件かでＳ５０３あるいはＳ５０７が実行される。
【００７９】
Ｓ５０２において、イベントに該当する送信条件が送信開始条件の場合、送信パターンが送信処理中かどうか判定する（Ｓ５０３）。すなわち、送信条件判定部１２２は、Ｓ５０２で検索した送信パターンの送信状態について、送信状態監視部１２１へ問い合わせる。送信状態監視部１２１は、当該送信パターンが送信処理中かどうか、送信待ちパターン情報１１３を検索する。当該送信パターンの送信パターン名を検索キーとして、送信待ちパターン情報１１３を検索し、該当する送信パターンが存在する場合、送信処理中であるとし、該当する送信パターンが存在しない場合、送信処理中ではないと判定する。送信状態監視部１２１は、判定結果を、送信条件判定部１２２へ応答する。
【００８０】
Ｓ５０３において、送信パターンが送信処理中であると判定された場合、さらにイベントを監視し、Ｓ５０１を行う。イベントに該当する送信条件が送信開始条件で、かつ、当該送信パターンがすでに送信処理中の場合は、送信を開始する必要がないため、何もせずに、イベント監視を続ける。
【００８１】
Ｓ５０３において、送信パターンが送信処理中ではないと判定された場合、送信パターンを取得する（Ｓ５０４）。すなわち、送信条件判定部１２２は、Ｓ５０３で送信処理中ではないとされた送信パターンを送信パターン選択部１２３に通知する。送信パターン選択部１２３は、当該送信パターンに関する情報を送信条件一覧情報１１２及び送信メッセージ情報１１１から取得する。当該送信パターンの送信パターン名と検索キーとして、送信条件一覧情報１１２及び送信メッセージ情報１１１を検索し、送信条件一覧情報１１２から、当該送信パターンの送信周期や送信回数、送信メッセージ情報１１１から、当該送信パターンを構成する送信メッセージのＣＡＮＩＤやデータ等を取得する。
【００８２】
次いで、送信パターンを構成する送信メッセージを生成する（Ｓ５０５）。送信パターン選択部１２３は、Ｓ５０４で取得した送信パターンを構成する送信メッセージの情報から、送信可能な形式の送信メッセージを生成する。ＣＡＮＩＤやデータから所定のフォーマットのメッセージを生成する。例えば、ＣＡＮコントローラ１０２のレジスタに書き込み可能なフォーマットである。尚、このときに送信メッセージを生成せずに、ＣＡＮコントローラ１０２のレジスタに書き込む直前に、送信メッセージを生成してもよい。
【００８３】
次いで、送信待ちパターン情報１１３へ送信パターンを登録する（Ｓ５０６）。すなわち、送信パターン選択部１２３は、Ｓ５０４で取得した送信パターンの情報や、Ｓ５０５で生成した送信メッセージの情報を、送信データ・スケジューリング部１２４へ通知する。送信データ・スケジューリング部１２４は、当該送信パターン及び送信メッセージの情報を、送信待ちパターン情報１１３へ登録する。その後、さらにイベントを監視し、Ｓ５０１を行う。また、送信待ちパターン情報１１３へ登録された送信パターンや送信メッセージは、後述の送信監視処理によって処理され、当該メッセージの送信等が行われる。
【００８４】
Ｓ５０２において、イベントに該当する送信条件が送信停止条件の場合、送信パターンが送信処理中かどうか判定する（Ｓ５０７）。すなわち、Ｓ５０３と同様に、送信条件判定部１２２は、Ｓ５０２で検索した送信パターンの送信状態について、送信状態監視部１２１へ問い合わせ、送信状態監視部１２１は、当該送信パターンが送信処理中かどうか、送信待ちパターン情報１１３を検索し、判定を行う。
【００８５】
Ｓ５０７において、送信パターンが送信処理中ではないと判定された場合、さらにイベントを監視し、Ｓ５０１を行う。イベントに該当する送信条件が送信停止条件で、かつ、当該送信パターンがすでに送信処理中ではない場合は、送信を停止する必要がないため、何もせずに、イベント監視を続ける。
【００８６】
Ｓ５０７において、送信パターンが送信処理中であると判定された場合、送信パターンを取得する（Ｓ５０８）。すなわち、Ｓ５０４と同様に、送信条件判定部１２２は、Ｓ５０７で送信処理中であるとされた送信パターンを送信パターン選択部１２３に通知し、送信パターン選択部１２３は、当該送信パターンに関する情報を送信条件一覧情報１１２及び送信メッセージ情報１１１から取得する。
【００８７】
次いで、送信待ちパターン情報１１３から送信パターンを削除する（Ｓ５０９）。すなわち、Ｓ５０６と同様に、送信パターン選択部１２３は、Ｓ５０８で取得した送信パターンの情報を、送信データ・スケジューリング部１２４へ通知し、送信データ・スケジューリング部１２４は、当該送信パターンの情報を、送信待ちパターン情報１１３から削除する。このとき、送信待ちメッセージ情報１１４に送信パターンを構成する送信メッセージが存在する場合には、送信メッセージを削除する。その後、さらにイベントを監視し、Ｓ５０１を行う。また、送信待ちパターン情報１１３から削除された送信パターンや送信メッセージは、後述の送信監視処理によって処理されることはないため、送信が停止されたこととなる。
【００８８】
図６のフローチャートは、通信モニタ制御部１２０における、メッセージ送信処理を示している。これらの処理は、送信データ・スケジューリング部１２４における処理である。
【００８９】
この処理では、常に送信待ちパターン及び送信待ちメッセージを監視しており、例えば、１ｍｓｅｃ等、所定の周期により以下の処理が行われる。
【００９０】
まず、送信すべき送信パターンが存在するか判定する（Ｓ６０１）。すなわち、送信データ・スケジューリング部１２４は、送信待ちパターン情報１１３から、現在、送信を開始すべき送信パターンを検索する。例えば、次回送信時間が０ｍｓｅｃの送信パターンを検索し、０ｍｓｅｃの送信パターンが存在する場合、送信すべき送信パターンが存在すると判定する。
【００９１】
Ｓ６０１において、送信すべき送信パターンが存在しないと判定された場合、Ｓ６０３が実行される。Ｓ６０１において、送信すべき送信パターンが存在すると判定された場合、送信メッセージを送信待ちメッセージ情報１１４へ登録する（Ｓ６０２）。すなわち、送信データ・スケジューリング部１２４は、Ｓ６０１で検索した送信パターンを構成する送信メッセージのうち、先頭の送信メッセージを、送信待ちメッセージ情報１１４へ登録する。複数送信すべき送信パターンがある場合、全ての送信パターンの送信メッセージを登録する。
【００９２】
次いで、送信すべきメッセージが存在するか判定する（Ｓ６０３）。すなわち、送信データ・スケジューリング部１２４は、送信待ちメッセージ情報１１４から、現在、送信すべき送信メッセージを検索する。例えば、次回送信時間が０ｍｓｅｃの送信パターンを検索し、０ｍｓｅｃの送信パターンが存在する場合、送信すべきメッセージが存在すると判定する。
【００９３】
Ｓ６０３において、送信すべきメッセージが存在しないと判定された場合、さらに、Ｓ６０１が行われる。Ｓ６０１に戻るときに、送信待ちパターン情報１１３及び送信待ちメッセージ情報１１４の次回送信時間から、本処理の周期、例えば１ｍｓｅｃ等、所定の値、減算する。
【００９４】
Ｓ６０３において、送信すべきメッセージが存在すると判定された場合、送信すべきメッセージが複数存在するか判定する（Ｓ６０４）。すなわち、送信データ・スケジューリング部１２４は、Ｓ６０３で検索された送信メッセージの数をカウントし、送信メッセージが１つかあるいは複数か判定する。
【００９５】
Ｓ６０４において、送信すべきメッセージが複数存在しないと判定された場合、Ｓ６０６を行う。Ｓ６０４において、送信すべきメッセージが複数存在すると判定された場合、送信メッセージのＣＡＮＩＤを比較し送信順序を決定する（Ｓ６０５）。すなわち、送信データ・スケジューリング部１２４は、Ｓ６０４で判定された複数の送信メッセージについて、ＣＡＮＩＤの値を比較する。ＣＡＮＩＤの値が小さい方が優先順位が高いため、ＣＡＮＩＤが小さい順に、送信メッセージを並べ替える。尚、このときに、優先順位を決定せずに、送信待ちメッセージ情報１１４へ送信メッセージを登録するときに、優先順位に従い、登録しておいてもよい。
【００９６】
次いで、メッセージを送信する（Ｓ６０６）。すなわち、送信データ・スケジューリング部１２４は、Ｓ６０５で並べ替えた送信メッセージの順序に従い、送信メッセージをメッセージ送信部１３０へ出力する。このとき、１つの送信メッセージを出力してもよいし、複数のメッセージを出力してもよい。
【００９７】
次いで、送信待ちメッセージ情報１１４及び送信待ちパターン情報１１３を再構築する（Ｓ６０７）。すなわち、送信データ・スケジューリング部１２４は、Ｓ６０６で送信した送信メッセージを送信待ちメッセージ情報１１４から削除する。送信待ちパターン情報１１３から、当該送信メッセージの送信パターンを参照し、次に送信する送信メッセージを取得して、送信待ちメッセージ情報１１４へ登録する。送信パターンを構成する送信メッセージの最後のメッセージが送信された場合、送信済み回数をインクリメントする。送信済み回数が、送信回数と等しくなった場合には、当該送信パターンを送信待ちパターン情報１１３から削除する。その後、さらに、Ｓ６０１が行われる。Ｓ６０１に戻るときに、送信待ちパターン情報１１３及び送信待ちメッセージ情報１１４の次回送信時間を所定の値、減算する。
【００９８】
次に、図７を用いて、具体的な動作の例について説明する。送信パターンとして図３（ｂ）の２つの送信パターンが設定されている状態で、ＣＡＮバス３ａ及び３ｂのモニタリング動作中にユーザがキー”８”、キー”１”、キー”１”、キー”２”の順に入力部１６０のキーを押した場合を用いて説明する。
【００９９】
まず、初期設定として、送信メッセージ情報１１１には図３（ａ）に示されている２つの送信パターンにそれぞれ複数のメッセージが格納され、送信条件一覧情報１１２には、送信開始条件としてキー”１”、キー”２”、送信停止条件として、キー”Ｅｓｃ”、１０回送信、が格納されている。
【０１００】
ＣＡＮバス３ａ及び３ｂのモニタ動作開始後、ユーザ操作により「キー”８”が押された」というイベントが発生することにより、送信条件判定部１２２は、キー”８”を送信条件とする送信パターンの有無を送信条件一覧情報１１２から検索する。キー”８”は送信条件一覧情報１１２に存在しないため、このイベントは無視される。
【０１０１】
次いで、ユーザ操作により「キー”１”が押された」というイベントが発生することにより、送信条件判定部１２２は、キー”１”を送信条件とする送信パターンの有無を送信条件一覧情報１１２から検索する。キー”１”は送信パターン１の送信開始条件なので、送信状態監視部１２１へ送信パターン１の送信状態を問い合わせる。送信状態監視部１２１は、この場合、送信パターン１が送信中の状態となっているパターンではないため、その旨を応答し、送信条件判定部１２２は、送信パターン選択部１２３へ送信パターン１の送信要求が発生した旨を通知する。
【０１０２】
次いで、送信パターン選択部１２３は、送信条件判定部１２２からの通知を受け、送信条件一覧情報１１２と送信メッセージ情報１１１から送信パターン１の内容や送信メッセージＡ等の内容を取得し、送信データ・スケジューリング部１２４へ通知する。
【０１０３】
次いで、送信データ・スケジューリング部１２４は、現在の送信状態（この場合は送信待ちパターン情報１１３、送信待ちメッセージ情報１１４には何も登録されていない状態）に、送信パターン選択部１２３から取得した送信パターン１を送信待ちパターン情報１１３に登録する。送信データ・スケジューリング部１２４は、送信待ちパターン情報１１３に登録された送信パターン１に基づいて、送信待ちメッセージ情報１１４にメッセージＡを登録し、１０ｍｓｅｃ後、メッセージＡがメッセージ送信部１３０へ通知され、送信される。その後、送信待ちパターン情報１１３に登録された送信パターン１に基づいて、メッセージＢ、Ｃが順に送信される。
【０１０４】
次いで、ユーザ操作により「キー”１”が押された」というイベントが発生することにより、送信条件判定部１２２は、キー”１”を送信条件とする送信パターンの有無を送信条件一覧情報１１２から検索する。キー”１”は送信パターン１の送信条件なので、送信状態監視部１２１へ送信パターン１の送信状態を問い合わせる。送信状態監視部１２１は、この場合、送信パターン１が送信待ちパターン情報１１３に登録されており、送信中の状態となっているパターンなので、その旨を応答し、送信条件判定部１２２は、このイベントを無視する。
【０１０５】
次いで、メッセージＢが送信されてから１０ｍｓｅｃ後にユーザ操作により「キー”２”が押された」というイベントが発生することにより、送信条件判定部１２２は、キー”２”を送信条件とする送信パターンの有無を送信条件一覧情報１１２から検索する。キー”２”は送信パターン２の送信条件なので、送信状態監視部１２１へ送信パターン２の送信状態を問い合わせる。送信状態監視部１２１は、この場合、送信パターン２は送信中の状態となっているパターンではないため、その旨を応答し、送信条件判定部１２２は、送信パターン選択部１２３へ送信パターン２の送信要求が発生した旨を通知する。
【０１０６】
次いで、送信パターン選択部１２３は、送信条件判定部１２２からの通知を受け、送信条件一覧情報１１２と送信メッセージ情報１１１から送信パターン２の内容や送信メッセージＤ等の内容を取得し、送信データ・スケジューリング部１２４へ通知する。
【０１０７】
次いで、送信データ・スケジューリング部１２４は、現在の送信状態（この場合は送信待ちパターン情報１１３に送信パターン１が登録され８０ｍｓｅｃ周期で送信されている状態）に、送信パターン選択部１２３から取得した送信パターン２を送信待ちパターン情報１１３に登録する。送信データ・スケジューリング部１２４は、
【０１０８】
送信待ちパターン情報１１３に登録された送信パターン２に基づいて、送信待ちメッセージ情報１１４にメッセージＤを登録し、５ｍｓｅｃ後メッセージＤがメッセージ送信部１３０へ通知され、送信される。その後、送信待ちパターン情報１１３に登録された送信パターン２に基づいて、メッセージＥ、Ｆ、Ｇ、Ｈ、Ｉが順に送信される。
【０１０９】
送信データ・スケジューリング部１２４において、送信待ちパターン情報１１３に登録された、送信パターン１と送信パターン２の両方がスケジューリングされて、メッセージが送信され、その結果、図７のようになる。
【０１１０】
その後、送信パターン２の送信が１０回行われるまでは、送信パターン１と２のメッセージに対して、送信データ・スケジューリング部１２４が各パターンの送信周期、各メッセージの送信間隔を監視しながら送信タイミングのスケジューリングを行っていく。また、送信パターン２が１０回送信された後は、送信パターン１のメッセージのみを送信データ・スケジューリング部１２４が送信タイミングのスケジューリングを行っていく。
【０１１１】
このような構成により、モニタ動作を止めることなく、複数の送信パターンを個々の設定内容でＣＡＮバス上に送信することができる。送信条件一覧情報１１２に複数の送信パターンの送信条件を格納し、送信データ・スケジューリング部１２４によって、各送信パターンに含まれている各メッセージの順序、間隔、周期の送信タイミングをスケジューリングすることにより、複数の送信パターンを個々の設定内容でＣＡＮバス上に送信することができる。また、スケジューリング動作と、モニタ動作を別にすることにより、モニタ動作を止めることなく、複数の送信パターンを送信することができる。従って、容易な操作でリアルタイム性を損なうことなく複数の送信パターンを送信することができ、ＣＡＮを使用したシステム開発におけるデバッグ効率を向上させることができる。
【０１１２】
その他の発明の実施の形態．
上述の例では、ＣＡＮバスの通信をモニタしたが、これに限らず、その他の通信プロトコルの通信をモニタしてもよい。例えば、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）等のシリアル通信でもよい。
【０１１３】
図８に、上述した通信モニタ装置を実現するためのハードウェア構成の例を示す。図８におけるＣＰＵ２０１と通信用アダプタカード２１８が、図１におけるＣＰＵ１０１とＣＡＮコントローラ１０２に相当する。通信モニタ装置１は、典型的なコンピュータ・システムが利用可能であり、ＣＰＵ２０１とメモリ２０４とを含んでいる。
【０１１４】
ＣＰＵ２０１とメモリ２０４とは、バスを介して補助記憶装置としてのハードディスク装置２１３に接続される。フレキシブルディスク装置２２０、ハードディスク装置２１３・２３０、ＣＤ−ＲＯＭドライブ２２６・２２９、ＭＯドライブ２２８等の記憶媒体駆動装置は、フレキシブルディスク・コントローラ２１９、ＩＤＥコントローラ２２５、ＳＣＳＩコントローラ２２７等の各種コントローラを介してバスに接続される。フレキシブルディスク装置２２０等の記憶媒体駆動装置には、フレキシブルディスク等の可搬型記憶媒体が挿入される。
【０１１５】
記憶媒体にはオペレーティングシステムと共同してＣＰＵ２０１等に命令を与え、通信モニタ装置１の機能を実施するためのコンピュータ・プログラムを記憶することができる。コンピュータ・プログラムは、メモリ２０４にロードされることによって実行される。コンピュータ・プログラムは圧縮し、又、複数に分割して記憶媒体に記憶することができる。ハードウェア構成は、典型的には、ユーザ・インターフェース・ハードウェアを備える。
【０１１６】
ユーザ・インターフェース・ハードウェアとしては、例えば、入力をするためのポインティングデバイス（マウス２０７、ジョイスティック等）やキーボード２０６、あるいは、視覚データをユーザに提示するための液晶ディスプレイなどの表示装置２１１やＣＲＴディスプレイ２１２がある。
【０１１７】
また、パラレルポート２１６を介してプリンタを接続するも可能である。このコンピュータ・システムは、シリアルポート２１５を介してモデムを接続することが可能であり、シリアルポート２１５およびモデムまたはトークンリングや通信アダプタカード２１８等を介してネットワークに接続し、他のコンピュータ・システムと通信を行っている。尚、上記構成は必要に応じて省略することができる。
【図面の簡単な説明】
【０１１８】
【図１】本発明にかかる通信モニタ装置を含む通信システムの構成図である。
【図２】本発明にかかる通信モニタ装置の構成を示すブロック図である。
【図３】本発明にかかる通信モニタ装置に格納されるデータの一例である。
【図４】本発明にかかる通信モニタ装置に格納されるデータの一例である。
【図５】本発明にかかる通信モニタ装置の処理を示すフローチャートである。
【図６】本発明にかかる通信モニタ装置の処理を示すフローチャートである。
【図７】本発明にかかる通信モニタ装置の動作を説明するための図である。
【図８】本発明にかかる通信モニタ装置のハードウェア構成図である。
【図９】ＣＡＮで通信されるデータフレームのフォーマットである。
【図１０】従来の通信モニタ装置のブロック図である。
【符号の説明】
【０１１９】
１  通信モニタ装置
１０１  ＣＰＵ
１０２  ＣＡＮコントローラ
１１０  情報格納部
１１１  送信メッセージ情報
１１２  送信条件一覧情報
１１３  送信待ちパターン情報
１１４  送信待ちメッセージ情報
１２０  通信モニタ制御部
１２１  送信状態監視部
１２２  送信条件判定部
１２３  送信パターン選択部
１２４  送信データ・スケジューリング部
１２５  モニタ部
１２６  情報編集部１２６
１３０  メッセージ送信部
１４０  メッセージ受信部
１５０  表示部
１６０  入力部
【図１】
2005295306.tif 000003
【図２】
2005295306.tif 000004
【図３】
2005295306.tif 000005
【図４】
2005295306.tif 000006
【図５】
2005295306.tif 000007
【図６】
2005295306.tif 000008
【図７】
2005295306.tif 000009
【図８】
2005295306.tif 000010
【図９】
2005295306.tif 000011
【図１０】
2005295306.tif 000012