(57)【要約】【課題】フレームと同一の通信周期が、通信制御装置のフィルタリング条件に設定できない場合でも、ネットワーク使用効率を向上し、コントローラのプロセッサのオーバヘッドを低減した車載ネットワークを提供する。【解決手段】ネットワーク内部に、通信サイクルに応じて基準信号を生成して送信する基準信号送信コントローラを設け、基準信号受信コントローラは、基準信号を受信し、予め決められたフィルタリング条件テーブルと比較して、合致すればデータ受信処理、データ送信処理を行う。【選択図】図１３
2010130596.tif 000002
【特許請求の範囲】
【請求項１】
複数のコントローラがバスを介して接続され、各コントローラは、スロットを指定して通信サイクルごとにフレームを送信する送信処理部と、指定したスロットからフレームを受信する受信処理部とを有し、前記コントローラ間でフレームの送受信を行うリアルタイム制御ネットワークにおいて、
前記通信サイクルは、０から最大値までカウントされると再び０からカウントされ、
前記複数のコントローラは、
前記通信サイクルを受け取り、前記フレームの送信開始又は受信開始の基準となる基準信号を生成する基準信号生成部と、前記基準信号を送信する基準信号送信部とを有する少なくとも１つの基準信号送信コントローラと、
前記基準信号を受信する基準信号受信部を有する少なくとも１つの基準信号受信コントローラとで構成され、
各コントローラは、さらに、複数のコントローラ間の通信サイクルを同一に保つ通信サイクル更新部と、前記送信処理部が送信を開始するとき又は前記受信処理部が受信を開始するときの通信サイクルと前記基準信号を持つフィルタリング条件テーブルと、前記基準信号と前記通信サイクルと前記フィルタリング条件テーブルとを比較し前記通信サイクル及び前記基準信号が前記フィルタリング条件テーブルの条件に合致したとき前記送信処理部または前記受信処理部を起動するフィルタリング処理部とを有することを特徴とするリアルタイム制御ネットワークシステム。
【請求項２】
請求項１記載のリアルタイム制御ネットワークシステムにおいて、
前記コントローラは、前記通信サイクルの繰り返し回数をカウントするラウンド値を有し、前記基準信号生成部は、前記通信サイクルが最大値になった時に前記ラウンド値を更新するラウンドカウント部を有し、前記基準信号として、前記ラウンド値を用いることを特徴とするリアルタイム制御ネットワークシステム。
【請求項３】
請求項１記載のリアルタイム制御ネットワークシステムにおいて、
前記コントローラは、前記通信サイクルの繰り返し回数をカウントするラウンド値を有し、
前記基準信号生成部は、前記通信サイクルが最大値になった時に前記ラウンド値を更新するラウンドカウント部と、前記送信処理部が送信を開始または前記受信処理部が受信を開始するときの通信サイクルと前記ラウンド値を少なくとも持つコマンド信号条件テーブルと、前記ラウンド値と前記通信サイクルとフィルタリング条件テーブルとを比較し条件が合致したとき前記フレームの通信周期とラウンド０からのオフセットを示すコマンド信号を生成するコマンド信号生成部を有し、前記基準信号として、前記コマンド信号を用いることを特徴とするリアルタイム制御ネットワークシステム。
【請求項４】
請求項２又は３記載のリアルタイム制御ネットワークシステムにおいて、前記基準信号送信コントローラは、前記複数のコントローラのうちで、最初に電源が投入されるコントローラであることを特徴とするリアルタイム制御ネットワークシステム。
【請求項５】
請求項２又は３記載のリアルタイム制御ネットワークシステムにおいて、前記基準信号送信コントローラは、前記コントローラのうちで、ネットワークの同期信号を出力するコントローラであることを特徴とするリアルタイム制御ネットワークシステム。
【請求項６】
複数のコントローラがバスを介して接続され、各コントローラは、スロットを指定して通信サイクルごとにフレームを送信する送信処理部と、指定したスロットからフレームを受信する受信処理部とを有し、前記コントローラ間でフレームの送受信を行うリアルタイム制御ネットワークにおいて、
前記通信サイクルは、０から最大値までカウントされると再び０からカウントされ、
各コントローラは、複数のコントローラ間の通信サイクルを同一に保つ通信サイクル更新部と、前記通信サイクルを受け取り、前記フレームの送信開始又は受信開始の基準となる基準信号を生成する基準信号生成部と、前記基準信号を送信する基準信号送信部と、前記基準信号を受信する基準信号受信部と、前記基準信号送信部の基準信号と前記基準信号受信部の基準信号のいずれかを選択する切換え部と、前記送信処理部が送信を開始または受信処理部が受信を開始する通信サイクルと前記基準信号を持つフィルタリング条件テーブルと、前記切換え部から渡された前記基準信号と前記通信サイクルとフィルタリング条件テーブルとを比較して合致したとき送信処理部または受信処理部を起動するフィルタリング処理部を持つことを特徴とするリアルタイム制御ネットワークシステム。
【請求項７】
請求項６記載のリアルタイム制御ネットワークシステムにおいて、
複数のコントローラの中から基準信号送信コントローラ又は基準信号受信コントローラを決定するための優先順位テーブルと、前記基準信号送信コントローラの送信エラーを検出するエラー検出部とをさらに有し、前記切換部は、前記優先順位テーブルの優先順位に基づいて基準信号送信コントローラを選択することを特徴とするリアルタイム制御ネットワークシステム。
【請求項８】
請求項６又は７記載のリアルタイム制御ネットワークシステムにおいて、
前記コントローラは、前記通信サイクルの繰り返し回数をカウントするラウンド値を有し、前記基準信号生成部は、前記通信サイクルが最大値になった時に前記ラウンド値を更新するラウンドカウント部を有し、前記基準信号として、前記ラウンド値を用いることを特徴とするリアルタイム制御ネットワークシステム。
【請求項９】
請求項６又は７記載のリアルタイム制御ネットワークシステムにおいて、
前記コントローラは、前記通信サイクルの繰り返し回数をカウントするラウンド値を有し、
前記基準信号生成部は、前記通信サイクルが最大値になった時に前記ラウンド値を更新するラウンドカウント部と、前記送信処理部が送信を開始または前記受信処理部が受信を開始するときの通信サイクルと前記ラウンド値を少なくとも持つコマンド信号条件テーブルと、前記ラウンド値と前記通信サイクルとフィルタリング条件テーブルとを比較し条件が合致したとき前記フレームの通信周期とラウンド０からのオフセットを示すコマンド信号を生成するコマンド信号生成部を有し、前記基準信号として、前記コマンド信号を用いることを特徴とするリアルタイム制御ネットワークシステム。
【請求項１０】
請求項２〜５，８，９のいずれか１項記載のリアルタイム制御ネットワークシステムにおいて、前記ラウンド値の最大値は、各フレームの送受信周期の最小公倍数であることを特徴とするリアルタイム制御ネットワークシステム。
【請求項１１】
車両に搭載された複数の車載電子機器間で時間同期通信を行う車載ネットワークシステムにおいて、請求項１乃至１０のいずれか１項記載のリアルタイム制御ネットワークシステムを用いたことを特徴とする車載ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実時間処理に用いられるリアルタイム制御ネットワークシステムに関し、車両制御用のネットワークや産業用コンピュータ等に用いられる。
【背景技術】
【０００２】
車両に搭載される複数の車載電子機器間で通信を行う車載ネットワークでは、近年、通信のリアルタイム性を保障するために、時間同期通信のネットワークが使用されている。時間同期通信の方式としては、例えば、FlexRayがある。FlexRayでは、通信の１周期を通信サイクルとよぶ。通信サイクルは複数のスロットで構成され、ネットワーク上の各コントローラに予め割り当てられる。各コントローラは、割り当てられたスロットの間に、フレームの送信処理またはフレームの受信処理を行う。
【０００３】
図１は、時間同期通信のネットワークを用いた車載ネットワークとコントローラの構成を示す概略構成図である。図１に示すように、ネットワーク（ネットワークバス）に接続された各コントローラ１，２は、主にプロセッサ１１、メモリ１２及び通信制御装置１３で構成される。通信制御装置１３は、通信サイクルをカウントし、通信サイクルカウンタ１４に保持する。コントローラ１、コントローラ２の各通信制御装置１３は、通信制御装置間で通信サイクル１００４を交換し、常に同じ値になるように制御している。スロットカウンタ１８は、通信サイクルの開始時点を０としてカウントアップされる。
【０００４】
フィルタリング条件１７では、フレーム送信やフレーム受信を行うときの、通信サイクルとスロット値の条件を規定している。フレーム送信において、通信制御装置１３は、フィルタリング条件１７に基づき、通信サイクルとスロット値が合致したフレームを、フレームごとに割り当てられた送信バッファ１５から送信する。また、フレーム受信においては、通信制御装置１３は、フィルタリング条件１７に基づいて通信サイクルとスロット値が合致したフレームを、ネットワーク３から受信し、フレームごとに静的に割り当てられた受信バッファ１６に保存する。
【０００５】
図１４に、コントローラ１からコントローラ２へ、フレームＡとフレームＣを周期送信する場合のスロット割り当て例を示す。通信サイクルのサイクル長を１０msec（通信サイクルカウンタの長さ）、各フレームの通信周期を２０msec（通信サイクルカウンタに換算すると２）とする。図１４に示すように、フレームＡのフィルタリング条件１７を「通信サイクル＝２Ｎ（Ｎは０から３１までの数）」、フレームＣのフィルタリング条件１７を「通信サイクル＝２Ｎ＋１（Ｎは０から３１までの数）」と設定すると、同一スロットを用いてフレームＡ、Ｃを送受信することができる。
【０００６】
このように、時間同期通信では、通信サイクルとスロットに同期してフレーム送信、フレーム受信を行うため、ネットワーク上での競合が発生せず、ネットワークの帯域を効率よく使用することができる。
【０００７】
【特許文献１】特表２００８−５０９５８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記のネットワークシステムでは、フレームと同一の通信周期がフィルタリング条件１７に設定できることが前提になる。FlexRayでは、フィルタリング条件１７は、通信サイクルが１から６４までの２のべき乗、すなわち、１、２、４、８、１６、３２、６４に限定されている。したがって、これらの通信周期以外でのフレーム送受信は、メモリ１２に保存されるソフトウェアによって実装される必要がある。
【０００９】
例えば、図１６に示すように、受信側のコントローラが周期制御を行う方式がある。この例では、フレームＢの通信周期は３０msec（通信サイクルに換算すると３）であり、フレームＢ通信を行うべき通信サイクルが０、３、２、１、０、と循環する。従って、送信コントローラと受信コントローラ間で、上記の循環のうちどの通信サイクルから通信を開始するか同期をとることができないため、送信側コントローラからは、受信側コントローラがフレームＢを受信する通信サイクルがわからない。そのため、送信側コントローラは、スタティックセグメントの連続送信モードかダイナミックセグメントを用いて、フレームＢを毎通信サイクル送信する。また、受信側コントローラでは、通信サイクルカウンタが３進むごとに、フレームＢを受信する。この方式では、スロット１がフレームＢに占有されるが、ネットワーク帯域の１／３しか使用できないため効率が悪い。
【００１０】
他の従来例として、図１５に示すように、送信側コントローラが周期制御を行う方式がある。この方式では、送信側コントローラからは、スタティックセグメントのシングルショットモードかダイナミックセグメントを用いて、フレームＢを通信サイクル３ごとに送信する。受信側コントローラは、毎通信１サイクルごとにフレームＢを受信するため、スロット１の受信バッファをリードする。受信バッファに新しいフレームがなければ、受信すべき通信サイクルでなかったと判定する。この方式でも、スロット１がフレームＢに占有されるが、ネットワーク帯域の１／３しか使用できないため効率が悪い。また、受信側コントローラのプロセッサ１１は、毎通信サイクルごとに、受信バッファをリードしなければならないので、オーバヘッドが大きい。
【００１１】
本発明の目的は、フレームと同一の通信周期が、通信制御装置のフィルタリング条件に設定できない場合でも、ネットワーク使用効率を向上し、コントローラのプロセッサのオーバヘッドを低減したリアルタイム制御ネットワークシステム及びそれを用いた車載ネットワークシステムを提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成すべく本発明のリアルタイム制御ネットワークシステムは、基準信号をブロードキャストする基準信号送信コントローラを時間同期のネットワーク上に１つ以上持ち、全コントローラが基準信号に同期して送信処理又は受信処理を開始することを特徴とするものである。
【００１３】
すなわち、本発明に係るリアルタイム制御ネットワークは、複数のコントローラがバスを介して接続され、各コントローラは、スロットを指定して通信サイクルごとにフレームを送信する送信処理部と、指定したスロットからフレームを受信する受信処理部とを有し、前記コントローラ間でフレームの送受信を行うリアルタイム制御ネットワークにおいて、前記通信サイクルは、０から最大値までカウントされると、再び０からカウントされ、前記複数のコントローラは、前記通信サイクルを受け取り、前記フレームの送信開始又は受信開始の基準となる基準信号を生成する基準信号生成部と、前記基準信号を送信する基準信号送信部とを有する少なくとも１つの基準信号送信コントローラと、前記基準信号を受信する基準信号受信部を有する少なくとも１つの基準信号受信コントローラとで構成され、各コントローラは、さらに、複数のコントローラ間の通信サイクルを同一に保つ通信サイクル更新部と、送信処理部が送信を開始するとき又は前記受信処理部が受信を開始するときの通信サイクルと基準信号を持つフィルタリング条件テーブルと、前記基準信号と前記通信サイクルと前記フィルタリング条件テーブルとを比較し前記通信サイクル及び前記基準信号が前記フィルタリング条件テーブルの条件に合致したとき前記送信処理部または前記受信処理部を起動するフィルタリング処理部とを有することものである。
【００１４】
また、本発明に係る別のリアルタイム制御ネットワークは、複数のコントローラがバスを介して接続され、各コントローラは、スロットを指定して通信サイクルごとにフレームを送信する送信処理部と、指定したスロットからフレームを受信する受信処理部とを有し、前記コントローラ間でフレームの送受信を行うリアルタイム制御ネットワークにおいて、前記通信サイクルは、０から最大値までカウントされると、再び０からカウントされ、各コントローラは、複数のコントローラ間の通信サイクルを同一に保つ通信サイクル更新部と、前記通信サイクルを受け取り、前記フレームの送信開始又は受信開始の基準となる基準信号を生成する基準信号生成部と、前記基準信号を送信する基準信号送信部と、前記基準信号を受信する基準信号受信部と、前記基準信号送信部の基準信号と前記基準信号受信部の基準信号のいずれかを選択する切換え部と、前記送信処理部が送信を開始または受信処理部が受信を開始する通信サイクルと前記基準信号を持つフィルタリング条件テーブルと、前記切換え部から渡された前記基準信号と前記通信サイクルとフィルタリング条件テーブルを比較して合致すると送信処理部または受信処理部を起動するフィルタリング処理部とを有するものである。
【発明の効果】
【００１５】
本発明によれば、フレームと同一の通信周期が、通信制御装置のフィルタリング条件に設定できない場合でも、基準信号送信コントローラのフレームに同期して、基準信号送信コントローラや、基準信号受信コントローラがフレームを周期送信できる。そのため、ネットワークの使用効率を向上でき、コントローラのプロセッサのオーバヘッドを低減することができる。
【００１６】
また、本発明によれば、基準信号送信コントローラが故障した場合でも、他のコントローラが基準信号送信コントローラとなるため、故障コントローラ以外は、周期送信を継続することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の好適な実施形態を添付図面に基づいて説明する。
［第１の実施形態］
図１は、第１の実施形態のリアルタイム制御ネットワークシステム（以下、「ネットワークシステム」と称する）のハードウェア構成を示す概略図である。図１に示すように、ネットワーク３に接続された複数のコントローラ（図では２つ）１，２のハードウェア構成は、基本的には従来のネットワークシステムにおけるコントローラと同様であり、各コントローラ１，２は、各々バス（内部バス）で接続されたプロセッサ１１、メモリ１２、通信制御装置１３で構成される。なお、図中、コントローラは２つのみ記載されているが、コントローラの数は３つ以上でもよく、コントローラ２もコントローラ１と同様な構成を有する。また、各コントローラは、後述する基準信号を送信する基準信号送信コントローラ或いは基準信号を受信する基準信号受信コントローラのどちらかとして機能し、複数のコントローラは、少なくとも１つの基準信号送信コントローラと、少なくとも１つの基準信号受信コントローラとで構成される。
【００１８】
本実施形態では、複数のコントローラのうち、最初に電源が投入された（起動した）コントローラを基準信号送信コントローラとし、他のコントローラを基準信号受信コントローラとしている。その他の例として、複数のコントローラのうち、ネットワークの同期信号を出力するコントローラを基準信号送信コントローラとしてもよい。
【００１９】
プロセッサ１１は、メモリ１２に格納されているプログラムを実行するとともに、メモリ１２に格納されているデータをリードライトする。
【００２０】
通信制御装置１３は、時間同期通信を行うハードウェアであり、FlexRayの通信コントローラと同等の機能を有する。通信制御装置１３は、通信サイクルカウンタ１４、送信バッファ１５、受信バッファ１６、フィルタ（フィルタリング条件）１７、スロットカウンタ１８を有する。
【００２１】
通信制御装置１３は、通信サイクルをカウントし、通信サイクルカウンタ１４に保持する。コントローラ１の通信制御装置１３とコントローラ２の通信制御装置とは、通信制御装置間で通信サイクル１００４を交換し、常に同じ値になるように制御される。スロットカウンタ１８は、通信サイクルの開始時点を０としてカウントアップされる。フィルタリング条件１７は、スタティックセグメントを用いてフレーム送信やフレーム受信を行うときの、通信サイクルとスロット値の条件を規定するものである。フレーム送信において、通信制御装置１３は、フィルタリング条件１７に基づき、通信サイクルとスロット値が合致したフレームを、フレームごとに割り当てられた送信バッファ１５から送信する。また、フレーム受信においては、通信制御装置１３は、フィルタリング条件１７に基づいて通信サイクルとスロット値が合致したフレームを、ネットワーク３から受信し、フレームごとに静的に割り当てられた受信バッファ１６に保存する。ダイナミックセグメントを用いてフレーム送信を行うときは、フィルタリング条件１７に合致し、かつ、送信要求がプロセッサ１１からなされた時に、通信制御装置１３はフレームを送信バッファ１５から送信する。
【００２２】
図２は、基準信号送信コントローラのソフトウェア構成を示す概略ブロック図である。図２のソフトウェアは、メモリ１２に保持され、プロセッサ１１で実行される。本実施形態では、基準信号送信コントローラ及び基準信号受信コントローラは、ソフトウェアによる実装されるが、ハードウェアとして実装されてもよい。
【００２３】
図２に示すように、基準信号送信コントローラのプログラムは、フィルタリング部１００１、送信処理部１００２、受信処理部１００３、通信サイクル更新部１００６、ラウンドカウント部１００７及び基準信号送信部１０１１で構成される。基準信号送信コントローラのデータは、通信サイクル１００４、フィルタリング条件テーブル１００５及びラウンド値１００８で構成される。基準信号は、フレームの送信又開始は受信開始の基準となる信号であり、本実施形態では基準信号としてラウンド値１００８を用いる。また、プログラムであるラウンドカウント部１００７とデータであるラウンド値とで基準信号生成部１０２１が構成される。
【００２４】
通信サイクル更新部１００６は、通信サイクルの先頭で通信サイクルカウンタ１４を通信サイクルにコピーし、全コントローラの通信サイクル１００４を同一に保持するプログラムである。通信サイクル更新部１００６は、通信制御装置１３のクロックに同期したグローバルタイマの割り込みで起動される。グローバルタイマの割り込みは、ＮＩＴ（ネットワーク・アイドル・タイム）の先頭など、ラウンドカウント部１００７や基準信号送信部１０１１を実行しても、次の基準信号送信まで十分時間があるタイミングに設定しておく。通信サイクル１００４の更新後、ラウンドカウント部１００７が呼び出される。
【００２５】
ラウンドカウント部１００７は、ラウンド値１００８をカウントするプログラムである。ラウンドカウント部１００７は、コントローラ電源オン時に、ラウンド値１００８を０にする。その後、通信サイクル１００４をリードし、通信サイクル１００４が最大値になるごとに、ラウンド値１００８を１増加する。また、ラウンドカウント部１００７は、ラウンド値１００８の最大値を保持する。ラウンド値１００８を１増加後、「ラウンド値１００８≧ラウンド値１００８の最大値」となっていれば、ラウンド値１００８を０クリアする。ラウンド値が増加或いはクリアされると、基準信号送信部１０１１が呼び出される。ラウンドの最大値は、全フレームの送受信周期の最小公倍数とするのが好ましい。これにより、全てのフレームの送受信タイミングを、一意のラウンド値１００８と通信サイクル１００４の組み合わせで決定することができる。また、ラウンドカウント部１００７は、フィルタリング処理部１００１から呼び出され、ラウンド値１００８を渡す。このとき、通信サイクル＝０であるときのみ、ラウンド値１００８から１減算した値を、ラウンド値として渡す。通信サイクル＝０のときは、基準信号受信コントローラは、最新のラウンド値を受信していないため、基準信号送信コントローラでのラウンド値をあわせておく必要があるためである。
【００２６】
基準信号送信部１０１１は、ラウンド値１００８を、静的に決められた周期で、かつ予め割り当てられたスロットで送信する。具体的には、送信バッファ１６にラウンド値を含む基準信号フレームをライトし、ダイナミックフレームの場合は送信起動を行う。ラウンド値１００８の送信タイミングは、ラウンド値が増加（或いはクリア）した時の通信サイクル或いは毎通信サイクルである。
【００２７】
フィルタリング処理部１００１は、通信サイクルとラウンド値とフィルタリング条件テーブル１００５の条件に基づいて送信処理部１００２または受信処理部１００３を起動するプログラムである。フィルタリング処理部１００１は、通信制御装置１３のクロックに同期したグローバルタイマの割り込みで起動される。グローバルタイマの割り込みは、ＮＩＴ（ネットワーク・アイドル・タイム）の先頭など、送信処理部１００２や受信処理部１００３を実行するのに十分時間があるタイミングに設定しておく。
【００２８】
フィルタリング処理部１００１は、起動後、通信サイクル１００４とラウンド値１００８をリードする。その後、フィルタリング条件テーブル１００５から、通信サイクル１００４とラウンド値１００８の組み合わせと合致するエントリを検出する。図５（ａ）及び図５（ｂ）は、本実施形態のフィルタリング条件テーブル１００５である。図５（ａ）及び図５（ｂ）に示すように、各エントリにラウンド値と通信サイクルと受信フレームＩＤと送信フレームＩＤが格納されている。フィルタリング処理部１００１は、条件に合致したエントリを検出した場合、そのエントリの送信フレームＩＤを引数として、送信処理部１００２を呼び出す。また、検出したエントリの受信フレームＩＤを引数として、受信処理部１００３を呼び出す。
【００２９】
送信処理部１００２は、アプリケーションプログラムが生成するデータから送信フレームを作成する。また、送信処理部１００２は、フィルタリング部１００１から呼び出されたときに、送信フレームＩＤのフレームを送信バッファ１５にライトする。送信バッファ１５のフレーム送信にダイナミックセグメントを用いる場合、通信制御装置１３に送信起動をかけて、ネットワーク上に送信する。スタティックセグメントを用いる場合、送信バッファ１５は、通信制御装置１３により、フィルタリング条件１７ごとに自動的に周期送信されるため、送信処理部１００２が明示的に送信起動をかける必要はない。本実施形態では、毎サイクルごとにラウンドを送信するため、ラウンド用のスロットのフィルタリング条件１７は「通信サイクル＝Ｎ」（Ｎは１から６３までの数）である。
【００３０】
受信処理部１００３は、フィルタリング処理部１００１から呼び出されたときに、受信バッファ１６からフレームをリードし、受信フレームを保存する。また、受信フレームからデータをとりだし、アプリケーションプログラムに渡す。受信バッファ１６のフレーム受信にダイナミックセグメントを用いる場合、およびスタティックセグメントを用いる場合の双方とも、受信バッファをリードし、最新のフレームが到着していないか確認する。
【００３１】
図３は、基準信号受信コントローラのソフトウェア構成を示す概略ブロック図である。図３に示すように、基準信号受信コントローラのプログラムは、フィルタリング処理部１００１、送信処理部１００２、受信処理部１００３、通信サイクル更新部１００６及び基準信号受信部１０１０で構成され、基準信号受信コントローラのデータは、通信サイクル値１００４、フィルタリング条件テーブル１００５及びラウンド値１００８で構成される。これらのプログラム及びデータのうち、フィルタリング処理部１００１、送信処理部１００２、受信処理部１００３、通信サイクル更新部１００６、通信サイクル値１００４、フィルタリング条件テーブル１００５及びラウンド値１００８は、上述の基準信号コントローラのものと同様であり、基準信号受信部１０１０のみ異なる。
【００３２】
基準信号受信部１０１０は、基準信号フレームを受信し、フレーム内のラウンド値をラウンド値１００８にコピーするプログラムである。基準信号受信部１０１０は、通信制御装置１３のクロックに同期したグローバルタイマの割り込み、あるいは、通信制御装置１３の受信割込みから起動される。
【００３３】
図４は、本実施形態の一例として、通信サイクル＝４、フレームＢを３サイクル周期で送受信する場合のネットワーク上のフレームを示している。この例におけるフィルタリング条件テーブルは、図５（ａ）及び図５（ｂ）に示したものである。
【００３４】
図４に示すように、フレームＢはスロット１で送受信され、ラウンド値はスロット２で送受信される。最初の通信サイクル０では、ラウンド０が全コントローラに送信され、全コントローラのラウンド値１００８は０になる。通信サイクル０が終わると、フィルタリング処理部１００１がフィルタリング条件テーブル１００５を検索し、ラウンド値１００８及び通信サイクル１００４と合致するエントリを検出する。図５（ａ）に示すフィルタリング条件テーブルを持つコントローラでは、ラウンド値＝０、通信サイクル＝１が合致するので、フレームＢを送信する。また、図５（ｂ）に示すフィルタリング条件テーブルを持つコントローラでは、フレームＢを受信する。次の通信サイクル１では、フィルタリング処理部１００４は、ラウンド値＝０、通信サイクル＝２のエントリを、フィルタリング条件テーブル１００５から検索する。図５（ａ）及び図５（ｂ）に示される送信側、受信側の両フィルタリング条件テーブルとも、ラウンド値＝０、通信サイクル＝２を満たすエントリがないので、どのコントローラも送受信を行わない。
【００３５】
このように、毎サイクルごとに、フィルタリング処理部１００１がフィルタリング条件テーブル１００５を検索し、フレームを送受信することで、通信制御装置１３に規定されるフィルタリング条件１７でサポートできない通信サイクルでも、送受信可能になる。また、受信側コントローラのプロセッサ１は、２のべき乗以外のサイクル送受信においても、受信タイミングがわかるので、毎通信サイクルごとに受信バッファをリードして受信データの有効性を確認をする必要がない。したがって、本実施形態のネットワークシステムによれば、ネットワークの使用効率を向上でき、コントローラのプロセッサのオーバヘッドを低減することができる。
【００３６】
［第２の実施形態］
次に、本発明に係るネットワークシステムの第２の実施形態を図６〜図１０に基づいて説明する。
【００３７】
本実施形態のネットワークシステムのハードウェア構成は、基本的には図１のハードウェア構成と同様である。また、基準信号送信コントローラ及び基準信号受信コントローラは、前実施形態と同様にソフトウェアで構成される。前実施形態では、基準信号としてラウンド値を用いる構成であるのに対し、本実施形態では、基準信号として後述するコマンド信号を用いる構成としている。
【００３８】
図６は、基準信号送信コントローラのソフトウェア構成を示すブロック図である。図６に示すように、本実施形態の基準信号送信コントローラのプログラムは、フィルタリング部１００１、送信処理部１００２、受信処理部１００３、通信サイクル更新部１００６、ラウンドカウント部１００７、基準信号送信部１０１１及びコマンド信号生成部１０１４で構成される。基準信号送信コントローラのデータは、通信サイクル１００４、フィルタリング条件テーブル１００５、ラウンド値１００８、コマンド信号１０１２及びコマンド信号条件テーブル１０１８で構成される。これらのプログラム及びデータうち、コマンド信号生成部１０１４、コマンド信号１０１２、基準信号送信部１０１１、コマンド信号条件テーブル１０１８、フィルタリング処理部１００１、フィルタリング条件テーブル１００５以外は、図２で説明した基準信号送信コントローラのものと同一であるので、説明を省略する。また、本実施形態では、プログラムであるラウンドカウント部１００７及びコマンド信号生成部１０１４と、データであるラウンド値１００８、コマンド信号１０１２及びコマンド信号条件テーブル１０１８とで基準信号生成部１０２２が構成される。
【００３９】
コマンド信号生成部１０１４は、基準信号となるコマンドを作成するプログラムである。コマンド信号生成部１０１４は、毎サイクルの終了時など、コマンド信号生成が次の通信サイクル開始時に間に合うように、通信制御装置１３のグローバルタイマの割込みから実行を開始する。コマンド信号生成部１０１４は、ラウンド値１００８と通信サイクル１００４をリードし、次の通信サイクルのラウンド値と通信サイクルを計算する。ラウンド値と通信サイクルの計算後、計算結果と合致するエントリをコマンド信号条件テーブル１０１８から検索する。
【００４０】
図１０は、コマンド信号条件テーブル１０１８の構成を示す図である。図１０に示すように、コマンド信号条件テーブル１０１８の各エントリには、ラウンド、通信サイクル、コマンド信号が記録されている。コマンド信号は、フレームの通信周期と、ラウンド０先頭からのオフセットを示している。例えば、図４に示したタイミングで送受信されるフレームＢは、ラウンド０、通信サイクル１から３通信サイクルごとに送受信されるので、周期３、オフセット１である。このタイミングは、コマンド信号条件テーブル１０１８においては、「周期３オフセット１通信コマンド」と記入される。図１０のコマンド信号には、１つの周期のコマンドが記入されているが、複数の周期の送受信コマンドを記入してもよい。また、周期ごとに個別のコマンド信号条件テーブルのエントリを持ってもよい。
【００４１】
ラウンド値と通信サイクルがコマンド信号条件テーブルに合致するエントリがある場合、そのエントリのコマンド信号をコマンド信号１０１２にライトし、これを引数として、基準信号送信部１０１１を呼び出す。合致するエントリがない場合、コマンド信号１０１２をクリアする。
【００４２】
基準信号送信部１０１１は、コマンド信号生成部１０１４から呼び出されたときに、コマンド信号１０１２をあらかじめ割り当てられたスロットで送信する。具体的には、送信バッファ１６にコマンド信号を含む基準信号フレームをライトし、ダイナミックフレームの場合は送信起動を行う。
【００４３】
フィルタリング処理部１００１は、コマンド信号１０１２とフィルタリング条件テーブル１００５に基づいて、送信処理部１００２または受信処理部１００３を起動するプログラムである。フィルタリング処理部１００１は、通信制御装置１３のクロックに同期したグローバルタイマの割り込みで起動される。グローバルタイマの割り込みは、ＮＩＴ（ネットワーク・アイドル・タイム）の先頭など、送信処理部１００２や受信処理部１００３を実行するのに十分時間があるタイミングに設定しておく。
【００４４】
フィルタリング処理部１００１は、起動後、コマンド信号１０１２をリードする。その後、フィルタリング条件テーブル１００５からコマンド信号が合致するエントリを検出する。図９（ａ）及び図９（ｂ）は、本実施形態のフィルタリング条件テーブル１００５である。図９（ａ）及び図９（ｂ）に示すように、各エントリにコマンド信号と受信フレームＩＤと送信フレームＩＤを格納されている。フィルタリング処理部１００５は、条件に合致したエントリを検出した場合、検出したエントリの送信フレームＩＤを引数として、送信処理部１００２を呼び出す。また、検出したエントリの受信フレームＩＤを引数として、受信処理部１００３を呼び出す。
【００４５】
図７は、基準信号受信コントローラのソフトウェア構成を示している。図７に示すように、基準信号受信コントローラのプログラムは、フィルタリング部１００１、送信処理部１００２、受信処理部１００３、通信サイクル更新部１００６及び基準信号受信部１０１０で構成され、基準信号受信コントローラのデータは、通信サイクル値１００４、フィルタリング条件テーブル１００５及びコマンド信号１０１２で構成される。これらのプログラム及びデータのうち、基準信号受信部１０１０以外は、上述の基準信号コントローラのものと同様である。
【００４６】
基準信号受信部１０１０は、基準信号フレームを受信し、フレーム内のコマンド信号をコマンド信号１０１２にコピーするプログラムである。基準信号受信部１０１０は、通信制御装置１３のクロックに同期したグローバルタイマの割り込みから、毎通信サイクル起動される。コマンド信号を受信しなければ、コマンド信号１０１２をクリアする。
【００４７】
図８は、本実施形態の一例として、通信サイクル＝４、フレームＢを３サイクル周期で送受信する場合のネットワーク上のフレームを示している。この例におけるフィルタリング条件テーブル１００５は、図９（ａ）及び図９（ｂ）に示したものである。
【００４８】
図８に示すように、フレームＢがスロット１で送受信され、コマンド信号がスロット２で送受信される。最初の通信サイクル０では、コマンド信号「周期３オフセット１」が、全コントローラに送信され、全コントローラのコマンド信号１０１２は０になる。通信サイクル０が終わると、フィルタリング処理部１００１がフィルタリング条件テーブル１００５を検索し、コマンド信号１０１２と合致するエントリを検出する。図９（ａ）に示すフィルタリング条件テーブルを持つ基準信号送信コントローラでは、フレームＢを送信する。また、図９（ｂ）に示すフィルタリング条件テーブルを持つ基準信号受信コントローラは、フレームＢを受信する。次の通信サイクル１では、コマンド信号が送信されないので、コマンド信号１０１２がクリアされる。したがって、フィルタリング処理部１００４は、エントリの検索を行わず、どのコントローラも送受信を行わない。
【００４９】
このように、コマンド信号の受信ごとに、フィルタリング処理部１００１がフィルタリング条件テーブル１００５を検索し、フレームを送受信することで、フィルタリング条件１７でサポートできないサイクルでも、送受信可能になる。従って、本実施形態も前実施形態と同じく、ネットワークの使用効率を向上でき、コントローラのプロセッサのオーバヘッドを低減することができる。
【００５０】
［第３の実施形態］
次に、本発明に係るネットワークシステムの第３の実施形態を図１１、図１２に基づいて説明する。
【００５１】
本実施形態のネットワークシステムのハードウェア構成は、基本的には図１のハードウェア構成と同様である。本実施形態のコントローラは、上述の実施形態と同様にソフトウェアで構成される。また、基準信号送信コントローラ及び基準信号受信コントローラは、上述の実施形態と同様にソフトウェアで構成される。ただし、第１の実施形態では、基準信号送信コントローラが故障したとき、全てのフレーム送受信が停止する問題がある。これを解決するため、基準信号送信コントローラが故障したときに、他のコントローラ（基準信号受信コントローラ）が基準信号送信コントローラになる構成としたものである。
【００５２】
図１１は、コントローラ（基準信号送受信コントローラ）のソフトウェア構成を示している。コントローラは、切換えにより基準信号送信コントローラ及び基準信号受信コントローラの両機能を有するものである。図１１に示すように、コントローラは、図２に示した基準信号送信コントローラ及び図３に示した基準信号受信コントローラにおいて、フィルタリング処理部１０２３、ラウンドカウント部１０２４が異なり、さらに、切換え部１０１５、優先順位テーブル１０１６、エラー検出部１０１７、コントローラ種別１０１９を加えた構成である。図２又は図３の同じプログラム及びデータの説明は省略する。
【００５３】
コントローラ種別１０１９は、コントローラが、「基準信号送信コントローラ」であるか「基準信号受信コントローラ」であるかを示すデータである。コントローラ種別１０１９の設定は、切換え部１０１５が行う。
【００５４】
ラウンドカウント部１０２４は、ラウンド値１００８をカウントするプログラムであり、以下に説明する点を除き、上述のラウンドカウント部１００７と同じである。上述のラウンドカウント部１００７では、ラウンド値をカウントした後に基準信号送信部１０１１を呼び出すのに対し、本実施形態では、ラウンドカウント部１０２４は、ラウンド値をカウントした後、切換え部１０１５を呼び出す。切換え部１０１５は、コントローラ種別１０１９が「基準信号送信コントローラ」であれば、基準信号送信部１０１１を呼び出す。
【００５５】
フィルタリング処理部１０２３は、通信サイクル値１００４とラウンド値１００８，１００９がフィルタリング条件テーブル１００５の条件に合致するときに送信処理部１００２または受信処理部１００３を起動するプログラムであるが、以下に説明する点を除き、上述のフィルタリング処理部１００１と同じである。上述のフィルタリング処理部１００１は、ラウンド値１００８を直接リードするのに対し、本実施形態では、フィルタリング処理部１０２３は、切換え部１０１５を呼び出す。切換え部１０１５は、コントローラ種別１０１９が「基準信号送信コントローラ」であれば、ラウンド値１００８をリターンする。コントローラ種別１０１９が「基準信号受信コントローラ」であれば、ラウンド値１００９をリターンする。
【００５６】
エラー検出部１０１７は、基準信号送信コントローラからの基準信号フレームの受信タイムアウトを検出するプログラムである。エラー検出部１０１７は、コントローラ種別が「基準信号受信コントローラ」である場合、基準信号フレームの送信周期以上のタイマを設定する。タイムアウトが発生する前に、基準信号受信部１０１０が正しい基準信号フレームを受信すれば、タイマを設定しなおす。タイムアウトが発生すれば、切換え部１０１５を呼び出す。その後の処理は、切換え部１０１５の処理に記述する。
【００５７】
切換え部１０１５は、コントローラが基準信号送信コントローラとして機能するか基準信号受信コントローラとして機能するかを決定し、ラウンドカウント部１００７及びフィルタリング処理部１００１の処理を切換えるプログラムである。
【００５８】
切換え部１０１５は、コントローラの起動時、又はコントローラ起動完了後にエラー検出部１０１７がエラーを検出すると呼び出される。切換え部１０１５は、優先順位テーブル１０１６を検索し、優先順位が一番高いコントローラＩＤをリードする。コントローラは、コントローラ自身が有するコントローラＩＤとリードしたコントローラＩＤとが一致した場合、コントローラ種別を「基準信号送信コントローラ」とする。コントローラ自身が有するコントローラＩＤとリードしたコントローラＩＤとが一致しなかった場合、コントローラ種別を「基準信号受信コントローラ」とする。
【００５９】
図１２は優先順位テーブル１０１６を示す図である。図１２に示すように、優先順位テーブル１０１６は、優先順位とコントローラＩＤを組み合わせてもつ。本実施形態では、コントローラ起動時には、コントローラＩＤ＝２のコントローラが基準信号送信コントローラとなる。コントローラＩＤ＝２のコントローラが故障し、一定時間基準信号フレームが正しく送信されなかった場合、他の基準信号受信コントローラとして起動しているコントローラにおいて、切換え部１０１５がエラー検出部１０１７より呼び出され、優先順位テーブル１０１６の検索を行う。その検索により、コントローラＩＤ＝１０のコントローラが、新しい基準信号送信コントローラに決定される。本実施形態では、新しい基準信号送信コントローラは、前基準信号送信コントローラが用いたスロットを使用して基準信号フレームを送信する。新しい基準信号送信コントローラが、独自のスロットを用いて基準信号フレームを送信する場合は、あらかじめ決められたスロットを優先順位テーブルに記入しておき、基準信号受信コントローラの基準信号受信部１０１０が、このスロットを受信するように切換えるとよい。
【００６０】
本実施形態のネットワークシステムでは、ネットワークの使用効率を向上でき、コントローラのプロセッサのオーバヘッドを低減することができると共に、基準信号送信コントローラが故障した場合でも、他のコントローラが基準信号送信コントローラとなるため、故障コントローラ以外は、周期送信を継続することができる。
【００６１】
［第４の実施形態］
次に、本発明に係るネットワークシステムの第４の実施形態を図１３に基づいて説明する。
【００６２】
本実施形態のネットワークシステムのハードウェア構成は、基本的には図１のハードウェア構成と同様である。本実施形態のコントローラは、上述の実施形態と同様にソフトウェアで構成される。また、基準信号送信コントローラ及び基準信号受信コントローラは、上述の実施形態と同様にソフトウェアで構成される。
【００６３】
ただし、第２の実施形態では、基準信号送信コントローラが故障したとき、全てのフレーム送受信が停止する問題がある。これを解決するため、本実施形態では、基準信号送信コントローラが故障したときに、他のコントローラ（基準信号受信コントローラ）が基準信号送信コントローラになる構成としたものである。
【００６４】
図１３は、コントローラ（基準信号送受信コントローラ）のソフトウェア構成を示している。コントローラは、切換えにより基準信号送信コントローラ及び基準信号受信コントローラの両機能を有するものである。図１３に示すように、コントローラは、図６に示した基準信号送信コントローラ及び図７に示した基準信号受信コントローラにおいて、フィルタリング処理部１０２３、コマンド信号生成部１０２５が異なり、さらに、切換え部１０１５、優先順位テーブル１０１６、エラー検出部１０１７、コントローラ種別１０１９を加えた構成である。図６又は図７の同じプログラム及びデータの説明は省略する。また、切換え部１０１５、エラー検出部１０１７、優先順位テーブル１０１６及びコントローラ種別１０１９は、第３の実施形態で説明したものと同じであるので、その説明は省略する。
【００６５】
コマンド信号生成部１０２５は、基準信号となるコマンドを作成するプログラムであり、以下に説明する点を除き、上述のコマンド信号生成部１０１４と同じである。上述のコマンド信号生成部１０１４では、コマンド信号１０１２を引数として、基準信号送信部１０１１を呼び出すのに対し、本実施形態では、コマンド信号生成部１０２５は、コマンド信号１０１２を引数として切換え部１０１５を呼び出す。
【００６６】
フィルタリング処理部１０２３は、フィルタリング条件テーブル１００５の条件が合致するときに送信処理部１００２、または受信処理部１００３を起動するプログラムであるが、以下に説明する点を除き、第２の実施形態のフィルタリング処理部１００１と同じである。第２の実施形態のフィルタリング処理部１０２３は、コマンド信号１０１３を直接リードするのに対し、本実施形態のフィルタリング処理部１０２３は、切換え部１０１５を呼び出す。
【００６７】
本実施形態のネットワークシステムでは、第３の実施形態のネットワークシステムと同様に、ネットワークの使用効率を向上でき、コントローラのプロセッサのオーバヘッドを低減することができると共に、基準信号送信コントローラが故障した場合でも、他のコントローラが基準信号送信コントローラとなるため、故障コントローラ以外は、周期送信を継続することができる。
【００６８】
以上、本発明は、上述した実施の形態に限定されるものではなく、他にも種々のものが想定される。
【００６９】
第１、第２の実施形態では、各コントローラの構成は、基準信号送信コントローラと基準信号受信コントローラのどちらか一方である例について説明したが、１つのコントローラが、基準信号送信コントローラと基準信号受信コントローラの両方の機能を有し、両機能を切換えて使用する構成としてもよい。具体的には、第１の実施形態の場合、第３の実施形態で説明した図１１に示した構成において、優先順位テーブルとエラー検出部とを除いた構成となり、第２の実施形態の場合、第４の実施形態で説明した図１３に示した構成において、優先順位テーブルとエラー検出部とを除いた構成となる。
【００７０】
第３、第４の実施形態では、基準信号送信コントローラが故障した場合について説明したが、基準信号受信コントローラが故障した場合においても同様である。
【図面の簡単な説明】
【００７１】
【図１】本発明に係るネットワークシステムの第１の実施形態のハードウェア構成を示す図である。
【図２】第１の実施形態の基準信号送信コントローラのソフトウェア構成を示すブロック図である。
【図３】第１の実施形態の基準信号受信コントローラのソフトウェア構成を示すブロック図である。
【図４】第１の実施形態のラウンド値を基準信号として用いたネットワークのフレームを示す図である。
【図５】第１の実施形態のフィルタリング条件テーブルを示す図である。
【図６】第２の実施形態の基準信号送信コントローラのソフトウェア構成を示すブロック図である。
【図７】第２の実施形態の基準信号受信コントローラのソフトウェア構成を示すブロック図である。
【図８】第２の実施形態のコマンド信号を基準信号として用いたネットワークのフレームを示す図である。
【図９】第２の実施形態のフィルタリング条件テーブルを示す図である。
【図１０】コマンド信号条件テーブルを示す図である。
【図１１】第３の実施形態の基準信号送受信コントローラのソフトウェア構成を示すブロック図である。
【図１２】優先順位テーブルを示す図である。
【図１３】第４の実施形態の基準信号送受信コントローラのソフトウェア構成を示すブロック図である。
【図１４】従来例のネットワーク上のフレームを示す図である。
【図１５】従来方式のネットワーク上のフレーム（送信側コントローラが周期制御）を示す図である。
【図１６】従来方式のネットワークのフレーム（受信側コントローラが周期制御）を示す図である。
【符号の説明】
【００７２】
１，２  コントローラ
３  ネットワーク
１３  通信制御装置
１４  通信サイクルカウンタ
１７  フィルタリング条件
１００１，１０２３フィルタリング処理部
１００２  送信処理部
１００３  受信処理部
１００４  通信サイクル
１００５  フィルタリング条件テーブル
１００６  通信サイクル更新部
１００７，１０２４ラウンドカウント部
１００８，１００９  ラウンド値
１０１０  基準信号受信部
１０１１  基準信号送信部
１０１２，１０１３  コマンド信号
１０１４，１０２５コマンド信号生成部
１０１５  切換え部
１０１６  優先順位テーブル
１０１７  エラー検出部
１０１８  コマンド信号条件テーブル
１０２１，１０２２  基準信号生成部
【図１】
2010130596.tif 000003
【図２】
2010130596.tif 000004
【図３】
2010130596.tif 000005
【図４】
2010130596.tif 000006
【図５】
2010130596.tif 000007
【図６】
2010130596.tif 000008
【図７】
2010130596.tif 000009
【図８】
2010130596.tif 000010
【図９】
2010130596.tif 000011
【図１０】
2010130596.tif 000012
【図１１】
2010130596.tif 000013
【図１２】
2010130596.tif 000014
【図１３】
2010130596.tif 000015
【図１４】
2010130596.tif 000016
【図１５】
2010130596.tif 000017
【図１６】
2010130596.tif 000018