(57)【要約】【課題】リング型ネットワークシステムの全通信ノードが自ノードの送信周期タイミングを持ち、フレームを送信するため、ネットワークに対してはデータが非同期となる問題があった。【解決手段】リング型ネットワークシステムにおいて、複数の通信ノードのうち、ある１つの通信ノードをマスタノード１００−１としてネットワーク内の全通信ノードを制御し、マスタノード以外の他の通信ノードはスレーブノード１００−ｎとしてマスタノードから送信される送信周期情報によりデータ送信を同期制御されるよう構成され、マスタノードに障害が発生して送信周期情報が送信されない場合も、スレーブノードは記憶した送信周期情報に基づき、ある所定期間は通信データの同期を取ったまま、通信を継続することができるようにした。【選択図】図４
2011109491.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信ノードがネットワークの伝送路を介してリング状に接続されたリング型ネットワークシステムにおいて、
上記複数の通信ノードのうち、ある１つの通信ノードをマスタノードとしてネットワーク内の全通信ノードを制御し、上記マスタノード以外の他の通信ノードはスレーブノードとして上記マスタノードによりデータ送信を制御されるよう構成され、
上記マスタノードは、ネットワーク上に送信するフレームを生成するフレーム生成部、上記フレームを送信する出力部、上記フレームを送信する周期を生成する送信周期情報生成部、上記送信周期情報生成部から得られた送信周期に従って上記フレーム生成部にフレームの送信指示を行なう送信周期生成部、上記スレーブノードからのフレームを受信する入力部、上記受信したフレームを一時格納するバッファメモリ、上記バッファメモリに格納されたフレームの中のデータを保存するデータ保存メモリ、上記データ保存メモリに上記データを書き込み制御するメモリ書き込み制御部を備え、
上記スレーブノードは、上記ネットワークから送信されてくるフレームを受信する入力部、上記受信したフレームを一時格納するバッファメモリ、上記バッファメモリに格納されたフレームの中の受信データを保存するデータ保存メモリ、上記データ保存メモリに上記受信データを書き込み制御するメモリ書き込み制御部、上記フレームを次ノードに中継処理する中継部、自ノードにおけるデータを生成するデータ生成部、上記データ生成部で生成されたデータを格納するデータ保存メモリ、データ送信を指示されてから上記データ保存メモリからデータを読み出すメモリ読み出し制御部、上記メモリ読み出し制御部で読み出されたデータのフレームを生成し送信処理するフレーム生成部、上記送信処理と上記中継処理が競合した際に上記処理を選択出力する送信選択部、上記送信選択部で選択されたフレームを送信する出力部、上記マスタノードから送信されたフレームの送信周期の情報を記憶し、上記マスタノードから送信指示を受信できなかった場合に、自ノードで上記記憶した送信周期に従ってフレームの送信タイミングを生成する送信周期生成部を備え、
上記スレーブノードは、上記マスタノードから送信されるフレームの送信周期に基づいて、全てのスレーブノードが同期してデータ通信を行なうと共に、上記マスタノードが障害によりフレームを送信できなくなった場合でも、ある一定期間は通信データの同期を取ったままスレーブノードが通信できるようにしたリング型ネットワークシステム。
【請求項２】
上記マスタノードは、自ノードにおけるデータを生成するデータ生成部、上記データ生成部で生成されたデータを格納するデータ保存メモリ、データ送信を指示されてから上記データ保存メモリからデータを読み出すメモリ読み出し制御部、上記入力部で受信したフレームを次ノードに中継処理する中継部、上記フレーム生成部における送信処理と上記中継処理が競合した際に処理を選択出力する送信選択部を備え、上記送信選択部で選択されたフレームを出力部から送信すると共に、自ノード宛のフレームを受信した時は、中継することなく廃棄するようにした請求項１に記載のリング型ネットワークシステム。
【請求項３】
上記マスタノードは、上記送信周期生成部により送信周期変更の設定をすることで、全ノードのデータの送信周期を、ネットワークシステムを停止させることなく変更できるようにした請求項１または請求項２に記載のリング型ネットワークシステム。
【請求項４】
上記マスタノードは、上記送信周期生成部により、ある特定のノードにのみ送信周期変更の指示をすることで、基準となる送信周期の倍数に限り、上記特定のノードの送信周期を変更することができるようにした請求項１〜請求項３のいずれか１項に記載のリング型ネットワークシステム。
【請求項５】
上記マスタノードおよび上記スレーブノードは、安定してデータ通信を行なっている場合、送信周期の中で通信を行なっていない期間を学習することで、その期間を利用し、汎
用通信などの非同期通信を行なうことができるようにした請求項１〜請求項４のいずれか１項に記載のリング型ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の通信ノードが伝送路を介してリング状に接続されて、データ通信を行なうリング型ネットワークシステムに関し、特に、ある１つの通信ノードがマスタノードとして他の通信ノードを制御することにより、データ通信の同期をとるようにしたリング型ネットワークシステムに関するものである。
【背景技術】
【０００２】
従来のリング型ネットワークシステムにおいては、リング状に接続された機器が自ノードの送信周期タイミング（送信周期は固定）で通信フレームを送出するため、全ノードの送出タイミングが非同期となり、通信フレーム衝突による通信遅延が増大し、バッファメモリがオーバした場合は、フレーム破棄になることもあった。
産業用のネットワークでは、高速大容量通信が必要不可欠であり、且つ通信フレーム衝突時のフレーム廃棄も出来る限り避けたいというニーズもあるため、送信周期が固定値（パラメータ）の場合、最大接続ノード数を考慮したマージンの大きい送信周期を選択するしかなく、例えば１Ｇｂｐｓ等の物理層をもつ通信システムでも、その通信帯域を最大限に活用することが出来なかった。
【０００３】
そこで、複数の通信ノードがリング状に接続されて、各通信ノードが各自の送信周期で非同期にフレームを送信するリング型ネットワークシステムにおいて、通信ノードは宛先アドレスと送信元アドレスを自ノードとする周回フレームを定周期で送信し、周回フレームの送信から受信までの遅延に基づき、フレームがリング型ネットワークを一周するときの周回遅延量を把握し、この把握した周回遅延量に基づき、送信周期を調整するようにして、中継処理と自ノードの送信処理の衝突を減らしてフレームの破棄を少なくしたものが知られている。（例えば、特許文献１参照）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３０６５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の特許文献１は、周期内で衝突しない送信タイミングを自ら調整し、この調整されたタイミングをベースに送信周期を決定することにより、フレームの中継処理と自ノードのフレーム送信処理との衝突を無くして、通信データのゆらぎを無くすだけでなく、送信周期の高速化が図れることにより、ネットワーク通信帯域を最大限に活用できるようにする実現方式であった。しかしながら、ネットワーク内の全ての通信端末（以下、ノード）が自ノードで送信周期タイミングを生成し、送信データを確定するため、ネットワークに対しては通信データが非同期となる問題があった。即ち、取得しようとしたタイミングと異なるタイミングの送信データが取得されることがあるという問題があった。
【０００６】
この発明は上記のような課題を解決するためになされたものであり、ネットワーク内のある１つの通信ノードがマスタノードとして他の通信ノードを制御することにより、データは全てマスタノードに同期して、通信データの同期を取ることを可能とすると共に、マスタノードに障害が発生したとしても、ある一定期間は通信データの同期を取ったまま、他の通信ノードが通信を継続できるようにしたリング型ネットワークシステムを得ることを目的とするものである。
【課題を解決するための手段】
【０００７】
この発明のリング型ネットワークシステムは、複数の通信ノードがネットワークの伝送路を介してリング状に接続されたリング型ネットワークシステムにおいて、複数の通信ノードのうち、ある１つの通信ノードをマスタノードとしてネットワーク内の全通信ノードを制御し、マスタノード以外の他の通信ノードはスレーブノードとしてマスタノードによりデータ送信を制御されるよう構成され、マスタノードは、ネットワーク上に送信するフレームを生成するフレーム生成部、フレームを送信する出力部、フレームを送信する周期を生成する送信周期情報生成部、送信周期情報生成部から得られた送信周期に従ってフレーム生成部にフレームの送信指示を行なう送信周期生成部、スレーブノードからのフレームを受信する入力部、受信したフレームを一時格納するバッファメモリ、バッファメモリに格納されたフレームの中のデータを保存するデータ保存メモリ、データ保存メモリに上記データを書き込み制御するメモリ書き込み制御部を備え、スレーブノードは、ネットワークから送信されてくるフレームを受信する入力部、受信したフレームを一時格納するバッファメモリ、バッファメモリに格納されたフレームの中の受信データを保存するデータ保存メモリ、データ保存メモリに受信データを書き込み制御するメモリ書き込み制御部、フレームを次ノードに中継処理する中継部、自ノードにおけるデータを生成するデータ生成部、データ生成部で生成されたデータを格納するデータ保存メモリ、データ送信を指示されてからデータ保存メモリからデータを読み出すメモリ読み出し制御部、メモリ読み出し制御部で読み出されたデータのフレームを生成し送信処理するフレーム生成部、送信処理と中継処理が競合した際に処理を選択出力する送信選択部、送信選択部で選択されたフレームを送信する出力部、マスタノードから送信されたフレームの送信周期の情報を記憶し、マスタノードから送信指示を受信できなかった場合に、自ノードで記憶した送信周期に従ってフレームの送信タイミングを生成する送信周期生成部を備え、スレーブノードは、マスタノードから送信されるフレームの送信周期に基づいて、全てのスレーブノードが同期してデータ通信を行なうと共に、マスタノードが障害によりフレームを送信できなくなった場合でも、ある一定期間は通信データの同期を取ったままスレーブノードが通信できるようにしたものである。
【発明の効果】
【０００８】
この発明によれば、マスタノードから送信されるフレームの送信周期に基づいて、ネットワークに接続された全てのスレーブノードはマスタノードに同期してデータ通信を行うことができるから、マスタノードおよびスレーブノードは取得しようとするタイミングの送信データを確実に取得することができ、フレーム衝突による通信遅延が増大することもなく、またバッファメモリがオーバしてフレーム破棄が生じることもなくなる。
また例えマスタノードに障害が発生したとしても、スレーブノードは自ノードで記憶した送信周期に従ってフレームの送信タイミングを生成するため、ある一定期間は通信データの同期を取ったまま、スレーブノードは通信を継続できる。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１のリング周回イメージを示す図である。
【図２】この発明の実施の形態１の送信指示フレームのフォーマットを示す図である。
【図３】この発明の実施の形態１のデータフレームのフォーマットを示す図である。
【図４】この発明の実施の形態１のマスタノードの内部構成を示すブロック図である。
【図５】この発明の実施の形態１のスレーブノードの内部構成を示すブロック図である。
【図６】この発明の実施の形態１のマスタノードの送信／受信処理タイミング例を示す図である。
【図７】この発明の実施の形態１のスレーブノードの中継／送信処理タイミング例を示す図である。
【図８】この発明の実施の形態１のフレームの遷移事例を示す図である。
【図９】この発明の実施の形態１の送信指示フレームが送信されなくなった場合のフレームの遷移事例を示す図である。
【図１０】この発明の実施の形態１のマスタノードの動作フローチャートを示す図である。
【図１１】この発明の実施の形態１のスレーブノードの動作フローチャートを示す図である。
【図１２】この発明の実施の形態２のマスタノードの動作フローチャートを示す図である。
【図１３】この発明の実施の形態３のフレームの遷移事例を示す図である。
【図１４】この発明の実施の形態４のフレームの遷移事例を示す図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
以下、この発明の実施の形態１におけるリング型ネットワークシステムを図１〜図１１に基づいて説明する。
図１はこの発明のリング型ネットワークシステムにおけるリング周回イメージを示す図であり、図１において、ネットワークの伝送路１上に複数の通信ノード１００（１００−１〜１００−ｎ）がリング状に接続された構成で、ｎ＝４の場合を示す。複数の通信ノード１００のうちの、ある１つの通信ノード＃１（１００−１）が全ノードを制御するマスタノードとして動作し、マスタノード以外の他の通信ノード＃２（１００−２）〜ノード＃４（１００−４）はマスタノードにより制御され、フレームを中継／送信するスレーブノードとして動作する場合である。マスタノード＃１から送信されたフレームが、スレーブノード＃２〜＃４をリング周回して、マスタノード＃１に受信／廃棄されるまでの遷移事例を示すイメージ図である。
【００１１】
図２は、マスタノード＃１（１００−１）が、ネットワークの伝送路１上に流すフレームのフォーマットを示し、ここではイーサネット（登録商標）（ＩＥＥＥ８０２．２）の物理ヘッダとＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）（ＩＥＥＥ８０２．１７）のＲＰＲヘッダを使用した例を示す。
この発明では、マスタノード＃１（１００−１）が自ノードのデータを送信しない場合は、ＲＰＲヘッダ内の宛先アドレスと送信元アドレスのいずれにも自ノードのアドレスを入れ、ペイロード内に送信周期を記載している送信周期パケットと送信指示パケットを入れ、それ以外の情報は何も入れない。マスタノード＃１（１００−１）が送信したフレームを、リング周回してマスタノード＃１（１００−１）が受信したら、マスタノード＃１（１００−１）はフレーム廃棄する。
【００１２】
マスタノード＃１（１００−１）が自ノードのデータを全スレーブノードへ送信する場合は、マスタノード＃１（１００−１）はＲＰＲヘッダ内の宛先アドレスと送信元アドレスのいずれにも自ノードのアドレスを入れ、ペイロード内に送信周期を記載している送信周期パケットと送信指示パケット、及び書き込むメモリを記載している先頭アドレスパケットと書き込むサイズを記載しているサイズパケットを入れる。マスタノード＃１（１００−１）が送信したフレームを、リング周回してマスタノード＃１（１００−１）が受信したら、マスタノード＃１（１００−１）はフレーム廃棄する。
以下、図２に示すフォーマットのフレームを送信指示フレームと称する。
【００１３】
図３は、スレーブノード＃２（１００−２）〜＃４（１００−４）がデータ通信を行なう際に、ネットワークの伝送路１上に流すフレームのフォーマットを示し、ここではイーサネット（登録商標）（ＩＥＥＥ８０２．２）の物理ヘッダとＲＰＲ（ＩＥＥＥ８０２．
１７）のＲＰＲヘッダを使用した例を示す。
この発明では、ＲＰＲヘッダ内の宛先アドレスにデータを送信したいノードのアドレスを入れ、送信元アドレスに自ノードのアドレスを入れ、ペイロード内に書き込むメモリを記載している先頭アドレスパケットと書き込むサイズを記載しているサイズパケットを入れる。スレーブノードである通信ノード＃ｎ（１００−ｎ）が送信したフレームを、リング周回して宛先アドレスの通信ノード１００が受信したら、フレームを受信した通信ノード１００はフレーム廃棄する。
以下、図３に示すフォーマットのフレームをデータフレームと称する。
【００１４】
図４は図１の構成において、通信ノード＃１（１００−１）に設定したマスタノードの内部を示すブロック図である。
マスタノード＃１（１００−１）は、リング状に接続されたマスタノードの前のスレーブノード１００からのフレームを受信して入力するフレーム入力部１１０、フレーム入力部１１０で入力されたフレームが一時格納されるバッファメモリ１１１、バッファメモリ１１１に格納されたフレームの中のデータを保存する受信領域１１２ａを有したデータ保存メモリ１１２、データ保存メモリ１１２の受信領域１１２ａにバッファメモリ１１１に格納されたフレームのデータを書き込み制御するメモリ書き込み制御部１１３を備えている。
【００１５】
また、マスタノード＃１（１００−１）は、自ノードにおけるデータを生成するノード外部に設けられたデータ生成部１１４、データ生成部１１４で生成されたデータを格納する送信領域１１２ｂを有するデータ保存メモリ１１２、データ送信を指示されてからデータ保存メモリ１１２の送信領域１１２ｂからデータを読み出すメモリ読み出し制御部１１５、データ保存メモリ１１２から読み出したデータのフレーム及び（或いは）スレーブノードに対してデータ送信指示を行なう送信指示フレームを生成するフレーム生成部１１６、ネットワークの伝送路１上にフレームを送信する任意の送信周期を生成する送信周期情報生成部１１７、送信周期情報生成部１１７から得られた送信周期に従ってフレーム生成部１１６にフレームの送信指示を行なう送信周期生成部１１８、フレーム入力部１１０で受信したフレームをバッファメモリ１１１を介して次ノードに中継処理する中継部１１９、フレーム生成部１１６における送信処理と中継部１１９における中継処理が競合した際に処理を選択出力する送信選択部１２０、送信選択部１２０で選択されたフレームを送信するフレーム出力部１２１を備えている。
【００１６】
なお、マスタノード＃１（１００−１）は、自ノードのデータを他のスレーブノードへ送信する必要がない場合は、データ生成部１１４、データ保存メモリ１１２の送信領域１１２ｂ、メモリ読み出し制御部１１５は省略できる。またフレーム入力部１１０で受信したフレームを次ノードに中継処理する必要がない場合は中継部１１９を省略することもできる。
【００１７】
図５は図１の構成において、通信ノード＃２（１００−２）〜通信ノード＃４（１００−４）に設定したスレーブノードの内部を示すブロック図である。
スレーブノード＃２（１００−２）〜＃４（１００−４）は、リング状に接続された前の通信ノード１００からのフレームを受信して入力するフレーム入力部１１０、フレーム入力部１１０で入力されたフレームが一時格納されるバッファメモリ１１１、バッファメモリ１１１に格納されたフレームの中のデータを保存する受信領域１１２ａを有したデータ保存メモリ１１２、データ保存メモリ１１２の受信領域１１２ａにバッファメモリ１１１に格納されたフレームのデータを書き込み制御するメモリ書き込み制御部１１３を備えている。
【００１８】
また、スレーブノード＃２（１００−２）〜＃４（１００−４）は、自ノードにおける
データを生成するノード外部に設けられたデータ生成部１１４、データ生成部１１４で生成されたデータを格納する送信領域１１２ｂを有したデータ保存メモリ１１２、データ送信を指示されてからデータ保存メモリ１１２の送信領域１１２ｂからデータを読み出すメモリ読み出し制御部１１５、データ保存メモリ１１２から読み出したデータのフレームを生成するフレーム生成部１１６、フレーム入力部１１０で受信したフレームをバッファメモリ１１１を介して次ノードに中継処理する中継部１１９、フレーム生成部１１６における自ノードのデータフレームの送信処理と中継部１１９を介したフレームの中継処理とが競合した際に処理を選択（一般には中継処理が優先）出力する送信選択部１２０、送信選択部１２０で選択されたフレームを送信するフレーム出力部１２１、フレーム入力部１１０で受信したマスタノード＃１（１００−１）からの送信指示フレームの送信周期の情報を記憶し、マスタノードから送信指示フレームを受信できなかった場合に、自ノードで記憶した送信周期に従ってフレームの送信タイミングを生成する送信周期生成部１２２を備えている。
【００１９】
図６は図１の構成において、マスタノードである通信ノード＃１（１００−１）がフレームを送信し、受信するまでの処理タイミングを示す図で、横軸に時間経過を示す。
図６を参照して、基本的なネットワークの動作について説明する。マスタノードとして設定された通信ノード＃１（１００−１）は、送信周期情報生成部１１７に任意に設定された送信周期から送信周期生成部１１８でネットワークに接続された全ての通信ノードが使用する送信周期Ｔｓを設定して生成し、その送信タイミングに従い、図２に示したフォーマットの送信指示フレームを送信する。マスタノードから送信された送信指示フレームは順次リング状に接続された次の通信ノードが受信し、受信した通信ノードは次の通信ノードへ中継されていく。
【００２０】
マスタノード＃１（１００−１）から送信された送信指示フレームを受信したスレーブノードは、マスタノードからの送信指示に基づき、自ノードの送信データを読み出して図３に示したフォーマットのデータフレームをマスタノードへ送信し、同時にマスタノードから送信されてきた送信周期Ｔｓの情報を記憶する。マスタノード＃１は各スレーブノード＃２（１００−２）〜＃４（１００−４）からのデータフレームを順次受信し、データ保存メモリに書き込み、該データフレームは中継することなく破棄する。またマスタノード＃１は、自ノードから送信した送信指示フレームが周回して戻ってきたら、そのフレームは破棄する。再び、送信周期Ｔｓのタイミングが来たら、マスタノード＃１はスレーブノードに送信指示フレームを送信し、以降上記と同様の動作を繰り返す。マスタノードが全スレーブノードにデータを送信する場合は、図２に示す送信指示フレームにデータパケットを入れて送信する。
【００２１】
図７は図１の構成において、スレーブノード＃３（１００−３）がフレームを中継、送信するまでの処理タイミングを示す図で、横軸に時間経過を示す。
図７を参照して、基本的なネットワークの動作について説明する。スレーブノードとして設定された通信ノード＃３（１００−３）は、マスタノードが設定した送信周期Ｔｓで、マスタノードから送信された図２に示すフォーマットの送信指示フレーム、及び前ノードのスレーブノード＃２（１００−２）から送信された図３に示すフォーマットのデータフレームを受信し、次の通信ノードに送信して中継する。また通信ノード＃３（１００−３）は、自ノードのデータ保存メモリからデータを読み出し、データを図３に示したフォーマットのデータフレームにしてマスタノード＃１へ送信する。再び、送信周期Ｔｓのタイミングが来たら、スレーブノード＃３（１００−３）は上記と同様の動作を繰り返す。
【００２２】
次に、リング周回するフレームの遷移事例（全スレーブノードがマスタノード宛にフレーム送信する場合）を示す図８について説明する。
図８において、横軸に時間経過を示し、通信ノード＃１〜＃４の処理時間をそれぞれ横
棒（枠幅）で示す。通信ノード＃１がマスタノード、通信ノード＃２〜＃４がスレーブノードの場合、マスタノード（ノード＃１）から送信指示フレームを送信する。送信された送信指示フレームはスレーブノード（ノード＃２→＃３→＃４）を順次経由してネットワークを周回し、該送信指示フレームはマスタノード＃１で受信後に廃棄される。
【００２３】
マスタノード＃１から送信された送信指示フレームを受信したスレーブノード＃２は、該送信指示フレームを中継すると共に自ノードのデータフレームを送信する。スレーブノード＃３は、前ノード＃２からの送信指示フレーム及びノード＃２のデータフレーム中継後、自ノードのデータフレームを送信する。同様にスレーブノード＃４は、前ノード＃３からの送信指示フレーム、ノード＃２のデータフレーム及びノード＃３のデータフレーム中継後、自ノードのデータフレームを送信する。マスタノード＃１は、各スレーブノード（ノード＃２、＃３、＃４）から送信されたデータフレーム受信し、データ保存メモリに書き込んだ後に廃棄される。以後上記と同様な動作を繰り返す。
【００２４】
次にマスタノード＃１が何らかの障害により、送信指示フレームが送信できなくなった場合、または伝送路上の障害により、スレーブノードが送信指示フレームを受信できなくなった場合について、図９により説明する。
図９において、横軸は時間経過を示し、通信ノード＃１〜＃４の処理時間をそれぞれ横棒（枠幅）で示し、その枠の中に記載した数字（１）〜（４）は図８に示す送信指示フレームおよびデータフレームに付した数字（１）〜（４）と同じものである。
【００２５】
図９は、マスタノード＃１の何らかの障害により、左から３番目の送信周期Ｔｓで送信指示フレームが送信できなくなり、スレーブノード＃２〜＃４は、例えば送信周期Ｔｓ×２の期間で送信指示フレームを受信できなかった場合を示す。この場合、スレーブノード＃２〜＃４は、該送信指示フレームが受信できなくなって３周期目で、予め自ノードの送信周期生成部１２２に記憶していた送信指示フレームからの送信周期Ｔｓを生成し、その送信周期Ｔｓに従ってデータフレームを送信することで、マスタノード＃１が送信指示フレームを送信できなくなっても、スレーブノード＃２〜＃４は通信を継続することができるようにしたものである。
【００２６】
次に、マスタノード＃１（１００−１）の動作を図４に基づき説明する。
図４において、マスタノード＃１立ち上げ後、送信指示フレーム送信時には、送信周期情報生成部１１７が送信周期生成部１１８に送信周期情報を与え、送信周期生成部１１８は送信周期情報から送信周期Ｔｓを設定し、設定した送信周期Ｔｓに従いフレーム生成部１１６に送信要求する。フレーム生成部１１６は周期情報、ヘッダ等の情報を付加して送信指示フレームを生成し、送信選択部１２０に送信要求を出して許可が得られてから、フレーム出力部１２１から送信指示フレームを次ノードに送信する。該送信指示フレームがネットワークの伝送路１を周回してマスタノード＃１に返ってきたら、マスタノード＃１は該送信指示フレームを廃棄する。
【００２７】
マスタノード＃１が送信指示フレーム兼データフレームの送信時には、送信周期生成部１１８から送信要求されたフレーム生成部１１６がメモリ読み出し制御部１１５にデータ読み出し指示を出し、メモリ読み出し制御部１１５は、データ生成部１１４からデータ保存メモリ１１２の送信領域１１２ｂに書き込まれたデータを読み出し、フレーム生成部１１６にデータを与える。フレーム生成部１１６は送信指示フレームに先頭アドレス、サイズ、ヘッダ等の情報を付加し、送信選択部１２０に送信要求を出して許可が得られてから、フレーム出力部１２１を経由して次ノードに送信する。
【００２８】
データフレーム中継時には、前ノードから受信された該データフレームはフレーム入力部１１０を経由し、一旦バッファメモリ１１１に溜め込み、フレーム中継部１１９に送る
。フレーム中継部１１９は送信選択部１２０に送信要求を出して許可が得られてから、中継したデータフレームをフレーム出力部１２１を経由して次ノードに送信する。
データフレーム受信時には、フレーム入力部１１０を経由して入力され、一旦バッファメモリ１１１に溜め込まれる。バッファメモリ１１１に溜め込まれたデータフレームの中のデータは、メモリ書き込み制御部１１３によりデータ保存メモリ１１２の受信領域１１２ａに書き込まれる。この時、該データフレームは次ノードに中継することなく廃棄される。
【００２９】
次に、スレーブノード＃２（１００−２）〜＃４（１００−４）の動作を図５に基づき説明する。
図５において、送信指示フレーム中継時には、前ノードから受信された該送信指示フレームはフレーム入力部１１０を経由し、一旦バッファメモリ１１１に溜め込み、フレーム中継部１１９に送る。フレーム中継部１１９は、送信選択部１２０に送信要求を出して許可が得られてから、送信指示フレームをフレーム出力部１２１から送信して、次ノードに送る。フレーム入力部１１０が送信指示フレームを入力した時、フレーム入力部１１０は送信指示フレームの中の送信周期情報を送信周期生成部１２２に記憶させる。
【００３０】
また、自ノードのデータを送信する時は、フレーム入力部１１０はフレーム生成部１１６へ送信要求を出し、フレーム生成部１１６がメモリ読み出し制御部１１５にデータ読み出し指示を出し、メモリ読み出し制御部１１５は、データ生成部１１４からデータ保存メモリ１１２の送信領域１１２ｂに書き込まれたデータを読み出し、フレーム生成部１１６にデータを与える。フレーム生成部１１６は読み出したデータに、先頭アドレス、サイズ、ヘッダ等の情報を付加してデータフレームを生成し、送信選択部１２０に送信要求を出して許可が得られてから、フレーム出力部１２１を経由して次ノードに送信させる。
【００３１】
マスタノード＃１（１００−１）に障害が発生し、スレーブノード＃２（１００−２）〜＃４（１００−４）が送信周期Ｔｓ×２の期間で送信指示フレームが受信できなかった場合は、送信周期生成部１２２は記憶した送信周期情報を基に、送信周期Ｔｓを生成し、その送信周期Ｔｓに従ってフレーム生成部１１６へ送信要求を出し、上記と同様の動作を行なう。
なお、マスタノードに障害が発生して長時間が経過した場合は、クロックの誤差により各スレーブノードが生成する送信周期Ｔｓの送信タイミングにずれが生じ、同期が取れなく恐れがあるが、少なくともマスタノード障害後の所定時間は通信データの同期をとったまま通信することができる。
【００３２】
送信指示フレーム兼データフレーム中継時には、前ノードから受信された該フレームはフレーム入力部１１０を経由し、一旦バッファメモリ１１１に溜め込み、フレーム中継部１１９に送る。フレーム中継部１１９は、送信選択部１２０に送信要求を出して許可が得られてから、送信指示フレーム兼データフレームをフレーム出力部１２１を経由して、次ノードに送信する。同時に、受信したデータフレームが自ノード宛の場合は、バッファメモリ１１１に溜め込まれた送信指示フレーム兼データフレームの中のデータはメモリ書き込み制御部１１３によりデータ保存メモリ１１２の受信領域１１２ａに書き込む。この時、該フレームは次ノードに中継することなく廃棄する。
【００３３】
次にマスタノード＃１（１００−１）のノード動作を示すフローチャートである図１０に基づいて説明する。
図１０において、マスタノード立ち上がりが完了し（Ｓ１）、送信周期Ｔｓの設定がなされると（Ｓ２）、送信指示フレームが送信される（Ｓ３）。次に、データフレームの受信があるかどうかが判断され（Ｓ４）、フレーム受信があれば（Ｙｅｓ）バッファメモリへの書き込み動作が行われる（Ｓ５）。受信したデータフレームの宛先が自ノードである
か判断され（Ｓ６）、データフレームの宛先が自ノードであれば（Ｙｅｓ）、データ保存メモリに受信データが格納される（Ｓ７）。
【００３４】
ステップＳ６で、受信したデータフレームの宛先が自ノードでない場合（Ｎｏ）は、データフレームの中継処理を行う（Ｓ８）。
次に、送信指示フレームの送信時期になっているかどうか判断される（Ｓ９）。ステップＳ９で送信時期になっている場合（Ｙｅｓ）、自ノードの送信データがあるかどうか判断され（Ｓ１０）、送信データがない場合（Ｎｏ）はステップＳ３に戻って、送信指示フレームが送信される。ステップＳ１０で送信データがある場合（Ｙｅｓ）は、送信指示フレーム兼データフレームが送信される（Ｓ１１）。
【００３５】
次にスレーブノード＃２（１００−２）〜＃４（１００−４）のノード動作を示すフローチャートである図１１に基づいて説明する。
図１１において、スレーブノード立ち上がりが完了し（Ｓ２１）、送信指示フレームの受信があるかどうか判断される（Ｓ２２）。ステップＳ２２で、送信指示フレームの受信がある場合（Ｙｅｓ）、送信指示フレームの中の送信周期Ｔｓの情報を記憶する（Ｓ２３）と共に、バッファメモリへの書き込み動作が行われる（Ｓ２４）。バッファメモリに書き込まれた送信指示フレームは次の通信ノードへ中継する処理が行われ（Ｓ２５）、同時に受信したフレームにデータフレームの受信があるかどうか判断される（Ｓ２６）。ステップＳ２６で、データフレームの受信があれば（Ｙｅｓ）、データフレームをバッファメモリに書き込む動作（Ｓ２７）が行われる。
【００３６】
バッファメモリに書き込まれたデータフレームは次の通信ノードへ中継する処理が行われ（Ｓ２８）、同時にデータ保存メモリに受信データが格納される（Ｓ２９）。次に、自ノードの送信データがあるかどうか判断され（Ｓ３０）、送信データがある場合（Ｙｅｓ）は、データフレームが送信される（Ｓ３１）。再び、送信指示フレームの受信があるかどうか判断され（Ｓ３２）、送信指示フレームの受信があれば（Ｙｅｓ）、ステップＳ２４に戻って上記と同じ動作が行われる。ステップＳ３２で、送信指示フレームの受信がなければ（Ｎｏ）、一定時間が経過したかどうか判断される（Ｓ３３）。ステップＳ３３で、一定時間が経過すれば（Ｙｅｓ）、ステップＳ２６に戻って、再びデータフレームの受信があるかどうか判断される。
【００３７】
ステップＳ２２で、送信周期Ｔｓ×２の期間で送信指示フレームが受信できなかった場合は、ステップ２３で記憶した送信周期情報を基に、送信周期Ｔｓを生成し、その送信周期Ｔｓに従って送信要求を出し、スレーブノードはステップＳ２６からステップＳ３３の動作を所定時間行なうことができる。
【００３８】
上記したように実施の形態１の発明では、マスタノードが全スレーブノードを制御するので、データは全てマスタノードに同期し、通信データの同期を取ることができる。また、各スレーブノードがマスタノードに同期した送信周期を生成するため、マスタノード故障時でもある所定時間は通信データの同期を取ったまま通信することができ、耐故障性が向上する。
【００３９】
実施の形態２．
次に、この発明の実施の形態２におけるリング型ネットワークシステムを図１２に基づいて説明する。図１２は実施の形態２のマスタノードの動作フローチャートを示し、リング型ネットワークシステムにおけるマスタノードおよびスレーブノードの内部ブロックの構成図は実施の形態１の図４および図５と同じにつき、その説明は省略する。
実施の形態１では送信周期Ｔｓが固定の場合について述べたが、実施の形態２では送信指示フレームで送信周期情報を送信し直すことで、ネットワークシステムを停止させるこ
となく、送信周期を変化させることができるようにしたものである。
【００４０】
図１２において、ステップＳ１からステップＳ１１までは実施の形態１の図１０と同じにつき、説明を省略する。ステップＳ１２およびステップＳ１３は、送信指示フレームまたはデータフレームを送信する場合に、送信周期Ｔｓを変更するかどうか判断する。送信周期Ｔｓを変更する場合（Ｙｅｓ）は、送信周期情報生成部１１７から今まで使用していた送信周期Ｔｓとは異なる送信周期Ｔｎを送信周期生成部１１８が生成し、ステップＳ１２においてはステップＳ２で新しい送信周期Ｔｎを設定し、ステップＳ１３においてはステップＳ１４で新しい送信周期Ｔｎを設定する。ステップＳ１４で送信周期Ｔｎを設定したら、ステップＳ１５で送信指示フレーム兼データフレームを送信する。
送信指示フレームまたは（兼）データフレームを送信する場合のフレームフォーマットは図２と同じであり、ペイロード内の送信周期を記載している送信周期パケットに新しい送信周期Ｔｎが記載される。
【００４１】
上記した実施の形態２の発明では、マスタノードが全スレーブノードを制御するので、マスタノードが送信周期を変化させても、スレーブノードからのデータは全てマスタノードに同期し、通信データの同期を取ることができる。また、送信周期を変化させることで、保守性が向上する。
【００４２】
実施の形態３．
次に、この発明の実施の形態３におけるリング型ネットワークシステムを図１３に基づいて説明する。図１３は実施の形態３のネットワークシステムにおいて、リング周回するフレームの遷移事例を示し、リング型ネットワークシステムにおけるマスタノードおよびスレーブノードの内部構成のブロック図は実施の形態１の図４および図５と同じにつき、その説明は省略する。
実施の形態１、２では、全てのノードが同じ送信周期でデータフレームを送信する場合について述べたが、実施の形態３の発明では、ノードを指定してそのノードの送信周期を設定することで、各ノードによって送信周期を変えることができるようにしたものである。
【００４３】
図１３は、通信ノード＃１＃〜４のうち、通信ノード＃２のみ送信周期Ｔを（送信周期をＴｓ×２）に変更し、その他の通信ノード＃１、＃３、＃４の送信周期はＴｓにした場合の、リング周回するフレームの遷移事例を図示したもので、横軸に時間経過を示し、各通信ノード＃１〜＃４の処理時間をそれぞれ横棒（枠幅）で示す。
横棒の枠の中に記載した数字（１）〜（４）は図９に示す送信指示フレームおよびデータフレームに付した数字（１）〜（４）と同じもので、数字（１）はマスタノード＃１から送信された送信指示フレーム、数字（２）〜（４）はスレーブノード＃２〜＃４から送信されたデータフレームであり、それぞれのフレームが中継または送信されていく遷移を示している。
【００４４】
定期的にマスタノード＃１から送信する送信指示フレームとは別に、図２に示すフレームフォーマットで、宛先ノードアドレスに通信ノード＃２のアドレスを入れ、送信周期をＴｓ×２にした送信指示フレームを、その周期の設定時のみ送信する。該送信指示フレームを受信した通信ノード＃２は、宛先アドレスがマスタノードである送信指示フレームを基準にして、その２倍の周期で送信することを記憶し、フレームを廃棄する。新たに送信周期を設定された通信ノード＃２は、基準となる送信指示フレームを２回受信すると、データフレームを送信する。なお、この送信周期の設定は、基準となる、宛先アドレスがマスタノードである送信指示フレームの送信周期Ｔｓの倍数でなければならない。
【００４５】
上記のように送信周期を設定することで、図１３に示すように、マスタノード＃１とス
レーブノード＃３、＃４は送信周期Ｔｓでフレームを中継または送信し、スレーブノード＃２は送信周期Ｔｓ×２の送信周期でデータフレームを送信することになる。
このように、データを送信する頻度が少なくてもよい通信ノードがある場合は、その通信ノードの送信周期を他の通信ノードの送信周期よりも長くすることで、ネットワークを効率よく利用することができる。
【００４６】
実施の形態４．
次に、この発明の実施の形態４におけるリング型ネットワークシステムを図１４に基づいて説明する。図１４は実施の形態４のネットワークシステムにおいて、リング周回するフレームの遷移事例を示し、リング型ネットワークシステムにおけるマスタノードおよびスレーブノードの内部構成のブロック図は実施の形態１の図４および図５と同じにつき、その説明は省略する。
実施の形態１、２、３では同期したフレームのみの通信を行なっていたが、実施の形態４の発明は、同期通信を行なっていない期間を利用することで、汎用通信（プリンタ等の汎用機器との通信）を行なうことができるようにしたものである。
【００４７】
図１４において、横軸に時間経過を示し、各通信ノード＃１〜＃４の処理時間をそれぞれ横棒（枠幅）で示す。横棒の枠の中に記載した数字（１）〜（４）は図９に示す送信指示フレームおよびデータフレームに付した数字（１）〜（４）と同じものである。
例えば、安定して１００回同じ送信周期Ｔｓで全ての通信ノードが通信していたとすると、各通信ノードは通信していない期間を記憶し、自ノードでの処理の前後にある程度のマージンを持たせて、残りの期間で非同期通信を行なうようにする。
このように全通信ノードで同期をとった上で、さらに同期通信していない期間を利用して汎用通信を行なうことで、用途を拡大することができる。
【産業上の利用可能性】
【００４８】
この発明は、例えば産業用のサイクリックデータや画像データのように一定の更新期間を要求される用途で、かつ物理層は汎用のイーサネット（登録商標）などを使用した通信システムに利用される。
【符号の説明】
【００４９】
１：ネットワークの伝送路
１００：通信ノード                      １００−１：マスタノード
１００−２〜１００−４：スレーブノード  １１０：フレーム入力部
１１１：バッファメモリ                  １１２：データ保存メモリ
１１３：メモリ書き込み制御部            １１４：データ生成部
１１５：メモリ読み出し制御部            １１６：フレーム生成部
１１７：送信周期情報生成部              １１８：送信周期生成部
１１９：中継部                          １２０：送信選択部
１２１：フレーム出力部                  １２２：送信周期生成部。
【図１】
2011109491.tif 000003
【図２】
2011109491.tif 000004
【図３】
2011109491.tif 000005
【図４】
2011109491.tif 000006
【図５】
2011109491.tif 000007
【図６】
2011109491.tif 000008
【図７】
2011109491.tif 000009
【図８】
2011109491.tif 000010
【図９】
2011109491.tif 000011
【図１０】
2011109491.tif 000012
【図１１】
2011109491.tif 000013
【図１２】
2011109491.tif 000014
【図１３】
2011109491.tif 000015
【図１４】
2011109491.tif 000016