(57)【要約】【課題】複数の通信フレームからなる大容量データにおいても同時性を確保しつつ、高優先通信フレームの通信高速化を行えるサイクリック通信システムを得る。【解決手段】ネットワークを介してサイクリック通信を行う各端末は、通信制御部１３ａによってサイクリック用メモリ１１ａのデータを用いて通信フレームを送受信するように構成され、受信データについては、サイクリック用メモリ１１ａに格納し、そこから、書込み側メモリと読み出し側メモリとを有する受信データメモリに、データ監視制御部２０２１ａによって、受信データをコピーするが、このとき、高優先フラグの付いていない受信データについては、受信データメモリの書込み側メモリにコピーするとともに、高優先フラグの付いた受信データについては、受信データメモリの読み出し側メモリにコピーする。【選択図】図５
2018088210.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末がネットワークを介してサイクリック通信を行うサイクリック通信システムであって、
上記端末は、
上記サイクリック通信に使用されるデータを格納するサイクリック用メモリ、
上記サイクリック用メモリの送信データから通信フレームを作成し、この作成した通信フレームを送信するとともに、上記ネットワークを介して受信した通信フレーム内の受信データを上記サイクリック用メモリに格納する通信制御部、
上記受信データが書き込まれる書込み側メモリと、上記受信データが読み出される読み出し側メモリとを有する受信データメモリ、
上記受信データメモリの書込み側メモリと読み出し側メモリとを互いに切り替える受信データ切替部、
および上記サイクリック用メモリから上記受信データを上記受信データメモリにコピーするデータ監視制御部を備え、
サイクリック通信データを複数の通信フレームによって送受信する場合の各データの同時性を確保するために、上記通信フレームには、サイクリック通信の周期ごとにカウントされるカウンタ値が付加されるとともに、優先的に処理する必要のある通信フレームには高優先フラグが付与され、
上記受信データ切替部は、上記カウンタ値を用いて、各データの同時性を確認してから上記書込み側メモリと読み出し側メモリとを切り替え、
上記データ監視制御部は、上記高優先フラグの付いていない受信データについては、上記受信データメモリの書込み側メモリにコピーするとともに、上記高優先フラグの付いた受信データについては、上記受信データメモリの読み出し側メモリにコピーすることを特徴とするサイクリック通信システム。
【請求項２】
自端末が受信する全ての受信データについて、各端末ごとかつサイクリック通信データごとに付与されたブロック番号と、上記サイクリック用メモリに格納されるときの先頭アドレスであるオフセットと、当該受信データのデータサイズとを有する受信マップを備え、
上記受信データ切替部は、上記受信データメモリの切り替えを上記受信マップを参照して行い、
上記データ監視制御部は、上記受信マップの上記ブロック番号を参照して、当該受信データが単一フレームであることを判断するとともに、単一フレームと判断された受信データを、上記受信データメモリの読み出し側メモリにコピーすることを特徴とする請求項１記載のサイクリック通信システム。
【請求項３】
自端末が送信する全ての送信データについて、各端末ごとかつサイクリック通信データごとに付与されたブロック番号と、上記サイクリック用メモリに格納されるときの先頭アドレスであるオフセットと、当該送信データのデータサイズとを有する送信マップ、
上記通信制御部が通信フレームを送信した場合に、ネットワーク上で当該通信フレームが他の通信フレームと衝突したことを検出する送信衝突検出部、
およびこの送信衝突検出部により、通信フレームの衝突が検出された場合に、衝突した通信フレームの情報を時系列で格納する送信衝突履歴情報部を備え、
上記データ監視制御部は、上記送信マップの送信データを送信するように制御するとともに、上記送信衝突検出部により、衝突検出された場合には、上記送信衝突履歴情報部を参照して、上記送信マップの送信データを送信した後に、上記衝突した通信フレームを再送信するよう制御することを特徴とする請求項１または請求項２記載のサイクリック通信システム。
【請求項４】
上記送信マップは、上記通信フレームを再送信する順序を含み、
上記データ監視制御部は、上記送信衝突検出部により、通信フレームの衝突が検出された場合の通信フレームの再送信に当たって、上記送信マップを参照し、上記送信マップの再送信順序により再送信するように制御することを特徴とする請求項３記載のサイクリック通信システム。
【請求項５】
上記通信制御部が通信フレームを送信した場合に、ネットワーク上で当該通信フレームが他の通信フレームと衝突したことを検出する送信衝突検出部を備え、
上記データ監視制御部は、上記送信衝突検出部により、通信フレームの衝突が検出された場合には、直ちに、衝突した通信フレームを再送信するよう制御することを特徴とする請求項１または請求項２記載のサイクリック通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の端末（通信ノード）がネットワーク（伝送路）を介して、サイクリック通信を行うネットワークシステムで、特に、例えば産業用のサイクリックデータおよび画像データのように一定の更新期間を要求される用途で、かつ物理層は汎用のイーサネット（登録商標）などを使用したサイクリック通信システムに関するものである。
【背景技術】
【０００２】
従来のサイクリック通信システムにおいては、複数の端末がネットワーク上に一定周期で送信し、受信する端末がメモリイメージで最新データを格納し、そのメモリを読出している（例えば、特許文献１、特許文献２を参照）。
特許文献１は、サイクリック用メモリをプロセッサが読出し／書込みをする際、通信フレームの受信／送信を停止させることにより、プロセッサが読み出したデータの同時性を保証している。
また、特許文献２では、プロセッサが読出し／書込みした時、通信フレームが受信／送信している場合は、読出し／書込みを停止させることにより、プロセッサが読み出したデータの同時性を保証している。
【０００３】
また、特許文献５は、サイクリック用メモリをプロセッサが読出し／書込みをする際、サイクリック通信データを送受信する処理を、そのままとして部品コストを増加させる通信バッファや複雑な通信制御をすることなく、通信フレーム内にカウンタ値を設けて、受信データを格納したメモリを参照して新旧データが混在していない時に面切替する機能を実現し、複数の通信フレーム時の大容量データでも、プロセッサが同時性を確保したサイクリック通信データを常に読出しできるようにして、プロセッサ処理の負荷を軽減させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２８５８９号公報（第４〜５頁、第１図）
【特許文献２】特開平９−２６９９３４号公報（第４〜６頁、第１図）
【特許文献３】特開平１０−２１００８５号公報（第４〜６頁、第１図）
【特許文献４】特開昭６２−２９５１５７号公報（第３〜５頁、第１図）
【特許文献５】特開２０１５−８２２７１号公報（第６〜１１頁、第１図）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のサイクリック通信システムは、以上のように構成されているので、送信端末の通信フレーム送信周期と受信端末のプロセッサ読出し周期が同期されていなくても、プロセッサが読み出したサイクリックデータの範囲の中で、旧データ（読出したデータ内で、通信フレームの送信周期が１回前のデータ）と新データ（読出したデータ内で、通信フレームの送信周期が旧データより１回後のデータ）が混在することがない。
このため、混在したサイクリックデータをプロセッサが読み出して、プロセッサ上のアプリケーションが処理して、誤った動作を引き起こす問題が解消されている。
しかし、プロセッサが読み出したデータの同時性を保証している反面、同時性を保障するため、読み出しが遅れるため、高優先の通信フレームが遅れる問題があった。
【０００６】
特許文献１は、サイクリック用メモリをプロセッサが読出し／書込みをする際、通信フレームの受信／送信を停止させることにより、プロセッサが読み出したデータの同時性を
保証している。しかし、通信フレームの受信／送信を停止させるため、高優先の通信フレームの受信／送信が待たされて、通信システムの性能が低下する問題があった。
また、特許文献２では、プロセッサが読出し／書込みした時、通信フレームが受信／送信している場合は、読出し／書込みを停止させることにより、プロセッサが読み出したデータの同時性を保証している。しかし、読出し／書込みを停止させた後、しばらく待ってから、プロセッサが最初から読出し／書込みを行うため、プロセッサ性能が低下する問題があった。
【０００７】
さらに、特許文献３では、特許文献２に記載されたプロセッサ性能の低下を解決する手段として、プロセッサが読出し／書込みするサイクリック用メモリ（１面）と、受信／送信時に通信制御部が読出し／書込みするサイクリック用メモリ（２面）を物理的に分けて、通信フレームが受信／送信している場合でも、プロセッサが常に読出し／書込みできるようにして、プロセッサ性能を低下しないようにしている。
しかし、ひとつの通信フレーム単位で受信／送信する毎に、１面／２面を切り替えてデータの同時性を保証するので、複数の通信フレームに分割された大容量データの同時性を保証する際、プロセッサが複数の通信フレームのデータ内容を解析してから、データを処理することとなり、複数の通信フレーム時にはプロセッサ性能が低下する問題が残っている。
【０００８】
また、特許文献４も、特許文献２に記載されたプロセッサ性能の低下を解決する手段として、サイクリック用メモリを用途に応じて、物理的に３面所持して、通信フレームが受信している場合でも、プロセッサが常に読出しできるようにして、プロセッサ性能を低下しないようにしている。
しかし、特許文献３と同様に、一つの通信フレーム単位で受信する毎に、３面を切り替えてデータの同時性を保証するので、複数の通信フレーム時にはデータの同時性を保証できない。このため、複数の通信フレーム時にはプロセッサ性能が低下する問題が残っている。
【０００９】
さらに、特許文献５では、サイクリック用メモリをプロセッサが読出し／書込みをする際、サイクリック通信データを送受信する処理を、そのままとして部品コストを増加させる通信バッファや複雑な通信制御をすることなく、通信フレーム内にカウンタ値を設けて、受信データを格納したメモリを参照して新旧データが混在していない時に面切替する機能を実現し、複数の通信フレーム時の大容量データでもプロセッサが同時性を確保したサイクリック通信データを常に読出しできるようにして、プロセッサ処理の負荷を軽減させている。
しかしながら、同時性保障するために面切り替えが待たされて、通信システムの性能が低下する問題があった。
【００１０】
この発明は、上述のような課題を解決するためになされたものであり、複数の通信フレームからなる大容量データにおいても同時性を確保しつつ、高優先通信フレームの通信高速化を行えるサイクリック通信システムを得ることを目的とする。
【００１１】
この発明に係わるサイクリック通信システムにおいては、複数の端末がネットワークを介してサイクリック通信を行うサイクリック通信システムであって、端末は、サイクリック通信に使用されるデータを格納するサイクリック用メモリ、サイクリック用メモリの送信データから通信フレームを作成し、この作成した通信フレームを送信するとともに、ネットワークを介して受信した通信フレーム内の受信データをサイクリック用メモリに格納する通信制御部、受信データが書き込まれる書込み側メモリと、受信データが読み出される読み出し側メモリとを有する受信データメモリ、受信データメモリの書込み側メモリと読み出し側メモリとを互いに切り替える受信データ切替部、およびサイクリック用メモリから受信データを受信データメモリにコピーするデータ監視制御部を備え、サイクリック通信データを複数の通信フレームによって送受信する場合の各データの同時性を確保するために、通信フレームには、サイクリック通信の周期ごとにカウントされるカウンタ値が付加されるとともに、優先的に処理する必要のある通信フレームには高優先フラグが付与され、受信データ切替部は、カウンタ値を用いて、各データの同時性を確認してから書込み側メモリと読み出し側メモリとを切り替え、データ監視制御部は、高優先フラグの付いていない受信データについては、受信データメモリの書込み側メモリにコピーするとともに、高優先フラグの付いた受信データについては、受信データメモリの読み出し側メモリにコピーするものである。
【発明の効果】
【００１２】
この発明によれば、複数の端末がネットワークを介してサイクリック通信を行うサイクリック通信システムであって、端末は、サイクリック通信に使用されるデータを格納するサイクリック用メモリ、サイクリック用メモリの送信データから通信フレームを作成し、この作成した通信フレームを送信するとともに、ネットワークを介して受信した通信フレーム内の受信データをサイクリック用メモリに格納する通信制御部、受信データが書き込まれる書込み側メモリと、受信データが読み出される読み出し側メモリとを有する受信データメモリ、受信データメモリの書込み側メモリと読み出し側メモリとを互いに切り替える受信データ切替部、およびサイクリック用メモリから受信データを受信データメモリにコピーするデータ監視制御部を備え、サイクリック通信データを複数の通信フレームによって送受信する場合の各データの同時性を確保するために、通信フレームには、サイクリック通信の周期ごとにカウントされるカウンタ値が付加されるとともに、優先的に処理する必要のある通信フレームには高優先フラグが付与され、受信データ切替部は、カウンタ値を用いて、各データの同時性を確認してから書込み側メモリと読み出し側メモリとを切り替え、データ監視制御部は、高優先フラグの付いていない受信データについては、受信データメモリの書込み側メモリにコピーするとともに、高優先フラグの付いた受信データについては、受信データメモリの読み出し側メモリにコピーするので、複数の通信フレームからなる大容量データでも同時性を確保させた上で、高優先通信フレームの通信高速化を行なうことができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１によるサイクリック通信システムを示す全体構成図である。
【図２】この発明の実施の形態１によるサイクリック通信を示すイメージ図である。
【図３】この発明の実施の形態１によるサイクリック通信のタイミングを示す図である。
【図４】従来技術のサイクリック用メモリからの読出しの問題点を説明するためのタイミング図である。
【図５】この発明の実施の形態１によるサイクリック通信システムの端末の構成を示すブロック図である。
【図６】この発明の実施の形態１によるサイクリック通信システムの受信フレームフォーマットを示す図である。
【図７】この発明の実施の形態１によるサイクリック通信システムの送信マップを示すイメージ図である。
【図８】この発明の実施の形態１によるサイクリック通信システムの受信マップを示すイメージ図である。
【図９】この発明の実施の形態１によるサイクリック通信システムのサイクリック用メモリの受信データの読み出しを示すタイミング図である。
【図１０】この発明の実施の形態２によるサイクリック通信システムの端末の構成を示すブロック図である。
【図１１】この発明の実施の形態２によるサイクリック通信システムの受信マップを示すイメージ図である。
【図１２】この発明の実施の形態３によるサイクリック通信システムの端末の構成を示すブロック図である。
【図１３】この発明の実施の形態３によるサイクリック通信システムの送信衝突履歴部を示すイメージ図である。
【図１４】この発明の実施の形態３によるサイクリック通信システムの送信処理を示すフローチャートである。
【図１５】この発明の実施の形態４によるサイクリック通信システムの端末の構成を示すブロック図である。
【図１６】この発明の実施の形態４によるサイクリック通信システムの送信マップを示すイメージ図である。
【図１７】この発明の実施の形態４によるサイクリック通信システムの送信処理を示すフローチャートである。
【図１８】この発明の実施の形態５によるサイクリック通信システムの端末の構成を示すブロック図である。
【図１９】この発明の実施の形態５によるサイクリック通信システムの送信処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、この発明の実施の形態１によるサイクリック通信システムを示す全体構成図である。
図１において、通信ノードである端末Ａ１、端末Ｂ２、端末Ｃ３は、伝送路のネットワーク４を介して、サイクリック通信フレームの送受信を行うとともに、アプリケーションを実行してシステムを稼働させている。端末Ａ１、端末Ｂ２、端末Ｃ３の内部構成は、後述するように全て同じである。
端末Ａ１、端末Ｂ２、端末Ｃ３は、それぞれサイクリック通信のデータを格納するサイクリック用メモリ１１ａ、１１ｂ、１１ｃをもっている。
なお、以下では、サイクリック通信フレームを受信フレームまたは送信フレームとも称する。
【００１５】
図２は、この発明の実施の形態１によるサイクリック通信を示すイメージ図である。
図２において、端末Ａからみた場合、自身（端末Ａ）が送信するデータを１１１ａ〜１１３ａで示し、他端末である端末Ｂ／Ｃで受信し格納されたデータは１１１ｂ〜１１３ｂ／１１１ｃ〜１１３ｃで示す。
同様に端末Ｂが送信するデータを１１４ｂ〜１１６ｂ、端末Ａで受信し格納されたデータを１１４ａ〜１１６ａで示す（端末Ｃが送信する場合も同様で、それぞれ１１７ｃ〜１１９ｃと１１７ａ〜１１９ａで示す）。
なお、一つの端末が送信するデータは複数個のデータを含んでいるため、図２上ではアドレスが連続したデータを＃１〜＃３で示す（例：端末Ａが端末Ｂから送信されたデータは＃１が１１４ａ、＃２が１１５ａ、＃３が１１６ａ）。
以上のように、サイクリック通信では、一つの端末上のサイクリック用メモリ１１ａを参照することで、ネットワーク４上に接続されている全ての端末のデータが、メモリイメージで参照できることを特徴としている。
【００１６】
図３は、この発明の実施の形態１によるサイクリック通信のタイミングを示す図である。
図３において、図２のサイクリック通信イメージの通り、サイクリック通信では、一つの端末上のサイクリック用メモリ１１ａを参照することで、ネットワーク４上に接続され
ている全ての端末のデータが、メモリイメージで参照できることを示している。
なお、サイクリック通信フレームは、送信する端末それぞれで持つ非同期タイミングで送信され、全ての端末は全ての通信フレームを受信し、サイクリック用メモリ１１ａに格納することを示している。
【００１７】
図４は、従来技術のサイクリック用メモリからの読出しの問題点を説明するためのタイミング図である。
図４において、データ♯１、♯２、♯３の受信タイミングがずれることにより、３回目データと４回目データの新旧データが混在する期間が生じる。この混在期間にプロセッサが読出した場合、サイクリック通信データの中で新旧データの混在状態で読出される。
データ＃１の１１４ａでは新データを読み出しているが、データ＃２の１１５ａでは旧データを読み出したため、データの同時性が保証できなくなり、プロセッサ内のアプリケーションが誤動作するタイミングがあることを示している。
このように、データ同時性確保のための機能を持たない場合には、同時性が保証できないタイミングが生じている。
【００１８】
図５は、この発明の実施の形態１によるサイクリック通信システムの端末の構成を示すブロック図である。
図５において、符号１〜３、１１ａ、１１ｂ、１１ｃは図１におけるものと同一のものである。図５は、図１の端末Ａ１の内部構成を示している。なお、端末Ｂ２、端末Ｃ３も同じ構成である。
図５では、基本的には、サイクリック通信による受信データは、サイクリック用メモリ１１ａに格納され、プロセッサ１４ａがプロセッサ制御部１０１５ａに指示して、データの同時性を保証するための構成及びメモリ制御部１２ａを介して読出す。
自端末が送信する送信データは、プロセッサ１４ａが、プロセッサ制御部１０１５ａに指示して、データの同時性を保証するための構成及びメモリ制御部１２ａを介してサイクリック用メモリ１１ａに書込むようになっている。
【００１９】
ここで、データの同時性を保証するための構成は、後述するデータ監視制御部２０２１ａ、送信データ切替部２２ａ、送信データメモリ２３ａ、送信データメモリ２４ａ、送信マップ２８ａ、受信データ切替部２５ａ、受信データメモリ２６ａ、受信データメモリ２７ａ、受信マップ２９ａを有している。
【００２０】
通信制御部１３ａは、サイクリック通信フレームを送受信させる制御を行う。メモリ制御部１２ａは、サイクリック用メモリ１１ａへのデータのリード／ライトを実行する。
通信制御部１３ａは、ネットワーク４からサイクリック通信により受信した受信フレーム内のデータ及び後述するカウンタ値を、メモリ制御部１２ａ経由でサイクリック用メモリ１１ａへ書込むとともに、サイクリック用メモリ１１ａから送信データの読出しを行い、送信フレームを生成して、自端末の周期でネットワーク４へ送信する。
プロセッサ１４ａは、アプリケーションを実行するとともに、プロセッサ制御部１０１５ａに対し、サイクリック用メモリ１１ａに対するデータの読出し／書込みを指示する。
プロセッサ制御部１０１５ａは、プロセッサ１４ａの指示を受けて、サイクリック用メモリ１１ａに対するデータの読出し／書込みを行い、読出したデータをプロセッサ１４ａに返す。
【００２１】
ただし、このときのプロセッサ制御部１０１５ａの読出し／書込み要求先は、送信データ切替部２２ａと受信データ切替部２５ａとする。読出しの場合は、受信データ切替部２５ａ、書込みの場合は、送信データ切替部２２ａが要求先である。
送信データメモリ２３ａと、送信データメモリ２４ａとは一対で、送信データ切替部２２ａによって一方を読出し側（読出し側メモリ）、他方を書込み側（書込み側メモリ）とする切替え（面切替え）が行われる。書込み側のときは、プロセッサ制御部１０１５ａによりサイクリック通信データが書込まれる。読出し側のときは、後述するデータ監視制御部２０２１ａによりサイクリック通信データが読出され、サイクリック用メモリ１１ａにコピーされる。
【００２２】
受信データメモリ２６ａと受信データメモリ２７ａとは一対で、受信データ切替部２５ａによって読出し側と書込み側が切替えられる。読出し側のときは、プロセッサ制御部１０１５ａにより受信データが読出される。書込み側のときは、後述するデータ監視制御部２０２１ａにより、サイクリック用メモリ１１ａからの受信データがコピーされる。
【００２３】
データ監視制御部２０２１ａは、通信制御部１３ａによるサイクリック通信フレームの受信処理とは無関係な一定周期で、メモリ制御部１２ａ経由で、サイクリック用メモリ１１ａの受信データを読出し、書込み側の受信データメモリに、コピーする。
受信データ切替部２５ａは、データ監視制御部２０２１ａのコピー処理とは無関係に、後述する受信マップ２９ａを参照して、受信データメモリ２６ａと受信データメモリ２７ａとの面（書込み側と読出し側）の切替えを行う。
【００２４】
送信データ切替部２２ａは、プロセッサ制御部１０１５ａの書込み要求を監視し、送信マップ２８ａを参照して、送信データメモリ２３ａ／２４ａの面（書込み側と読出し側）を切替える。
データ監視制御部２０２１ａは、サイクリック通信データの送信データメモリの書込み側への書込み処理とは無関係な一定周期で、読出し側の送信データメモリのデータを読出し、サイクリック用メモリ１１ａにメモリ制御部１２ａ経由でコピーする。
【００２５】
図５では、データ監視制御部２０２１ａが、後述する高優先フラグ付きの通信フレームについては、面切替えに関わらず、プロセッサ１４ａが読み出す面の受信データメモリにも直接コピーして、通信の高速化をすることにより、送受信するプロセッサ間で複数フレーム間のデータ同時性が不要、且つ優先的に通信速度を向上させたい高優先データの高速化を図ることで、通信システム全体の通信性能を向上させる。
【００２６】
図６は、この発明の実施の形態１によるサイクリック通信システムの受信フレームフォーマットを示す図である。
図６において、受信フレーム２００５は、ネットワーク４上に流れるサイクリック通信フレームのフォーマットである。
ノードＩＤ５ａは、受信する端末を示すが、サイクリック通信の場合は、全ての端末を示すＡＬＬ−Ｆとする。ブロックＮＯ５ｂは、各端末ごとかつサイクリック通信データごとにユニークに付与されたサイクリック通信データの番号、オフセット５ｃは、サイクリック用メモリ１１ａに格納する先頭アドレス、サイズ５ｄは、その受信フレーム２００５のデータサイズ、データ５ｅは、サイクリック用メモリ１１ａに格納すべきデータである。
【００２７】
図６では、サイクリック通信フレームを送信する周期毎に加算するカウンタ値５ｆ／５ｇを、データ５ｅ領域の先頭と最後に配置させることで、読出し時に、同じサイクリック通信データのすべての受信フレーム２００５の先頭と最後のカウンタ値が一致すれば、新データと旧データが混在していないことを証明できるようにしている。（図９のカウンタ値参照）
さらに、受信フレーム２００５の最後にＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）値５ｈ（ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）などのフレームチェックシーケンス）を設けることで、受信時にＦＣＳ値５ｈのチェックをして、受信フレーム２００５内のデータの正当性を保証できるようにしている。
【００２８】
高優先フラグ５ｋは、複数フレーム間のデータ同時性を不要とし、且つ優先的に通信速度を向上させる高優先フレームであることを示す。
図６では、受信フレーム２００５が、複数フレーム間のデータ同時性を不要とし、且つ優先的に通信速度を向上させたい高優先フレームであることを示す高優先フラグ５ｋを、データ領域の先頭に配置させることで、データ監視制御部２０２１ａが、この高優先フラグ付の受信データを面切替えに関わらず、プロセッサ１４ａが読み出す面の受信データメモリにコピーできるようにする。
【００２９】
図７は、この発明の実施の形態１によるサイクリック通信システムの送信マップを示すイメージ図である。
図７において、送信マップ２８ａは、自端末が送信する全てのサイクリック通信データについて、通信フレーム内の格納するブロックＮＯ５ｂとオフセット５ｃとサイズ５ｄを対応付けて、通信フレーム毎に登録している。
但し、サイクリック通信データが大容量になった場合、サイクリック通信データを分割して通信フレームが複数になるため、通信フレーム内のオフセット５ｃとサイズ５ｄは通信フレームによって変化する。
【００３０】
例えば、通信フレームの最大サイズが４Ｋｂｙｔｅであった場合、サイクリック通信データが１２Ｋｂｙｔｅの時は、三つの通信フレームに分割されるので、サイズは三つとも４Ｋｂｙｔｅとなるが、オフセットは一つ目の通信フレームのオフセットアドレスに４Ｋｂｙｔｅずつ加算したものを二つ目以降の通信フレームのオフセット５ｃに配置する。
送信データ切替部２２ａは、送信データメモリ２３ａ／２４ａに送信データを書込みする都度、送信マップ２８ａに登録されたオフセット５ｃとサイズ５ｄの連続アドレス領域が全て書込みされたことを判断すれば、送信データメモリ２３ａ／２４ａの面を瞬時に切り替えて、データ監視制御部２０２１ａが常に同時性を確保したデータを送信データメモリ２３ａ／２４ａから読出しできるようにする。
【００３１】
図８は、この発明の実施の形態１によるサイクリック通信システムの受信マップを示すイメージ図である。
図８において、受信マップ２９ａは、自端末が受信する全てのサイクリック通信データについて、オフセット５ｃとサイズ５ｄを対応付けて、サイクリック通信データの連続アドレス領域毎に登録している。
受信データ切替部２５ａは、データ監視制御部２０２１ａの動作とは無関係に一定周期で書込み側の受信データメモリ２７ａを参照して、オフセット５ｃとサイズ５ｄからカウンタ値５ｆ／５ｇのアドレスを計算して読出し、連続アドレス領域内の全てのカウンタ値５ｆ／５ｇが一致した時に、受信データメモリ２６ａ／２７ａの面を瞬時に切り替えて、プロセッサ制御部１０１５ａが常に同時性を確保したデータを受信データメモリ２６ａ／２７ａから読出しできるようにする。
例えば、サイクリック通信データのサイズが１２Ｋｂｙｔｅであった場合、通信フレームは三つとなり、カウンタ値５ｆ／５ｇは先頭と最後が三つあるので全６つのカウンタ値５ｆ／５ｇを全て参照することになる。
【００３２】
次に、動作について説明する。
（１）まず、高優先フラグ付きでない受信フレームの場合の処理について説明する。
通信制御部１３ａは、通信フレームを受信する毎に、通信フレーム内のＦＣＳ値５ｈを使って通信フレーム内の正当性を保証できた通信フレームを、メモリ制御部１２ａ経由でサイクリック用メモリ１１ａに転送することで、通信フレーム内のデータ５ｅとカウンタ値５ｆ／５ｇを書き込む。
データ監視制御部２０２１ａは、この通信フレームの受信処理とは無関係な一定周期で
サイクリック用メモリ１１ａを読み出し、書込み側の受信データメモリ２７ａに、通信フレーム内のデータ５ｅとカウンタ値５ｆ／５ｇをコピーする。
【００３３】
受信データ切替部２５ａは、データ監視制御部２０２１ａのコピー処理とは無関係に一定周期で書込み側の受信データメモリ２７ａを読み出し、受信マップ２９ａを参照して、連続アドレス領域のサイクリック通信データ内のカウンタ値５ｆ／５ｇが全て一致した時に、受信データメモリ２６ａ／２７ａの面を切り替える。
そして、プロセッサ１４ａは、プロセッサ制御部１０１５ａ経由で読出し側の受信データメモリ２６ａに読出し要求すると、常に受信マップ２９ａに登録されたサイクリック通信データ単位で同時性を確保したデータを読み出せる。
【００３４】
上記の受信処理により、サイクリック通信データ単位で同時性を確保できるようになるが、送信処理でも通信フレーム内のデータ同時性を確保しなければならない。プロセッサ１４ａは、常にプロセッサ制御部１０１５ａ経由で書込み側の送信データメモリ２３ａに書込み要求できる。
【００３５】
送信データ切替部２２ａは、プロセッサ制御部１０１５ａの書込み要求を監視して、送信マップ２８ａのオフセット５ｃとサイズ５ｄで示される連続アドレスが全て書込みされたことを検知してから、送信データメモリ２３ａ／２４ａの面を切り替える。
データ監視制御部２０２１ａは、サイクリック通信データの書込み処理とは無関係な一定周期で読出し側の送信データメモリ２４ａを読み出し、サイクリック用メモリ１１ａにメモリ制御部１２ａ経由で、通信フレーム内のデータ５ｅをコピーする。
通信制御部１３ａが自端末のサイクリック送信周期に従い、メモリ制御部１２ａ経由でサイクリック用メモリ１１ａを読み出して、サイクリック通信フレームを送出する。この時に、送信周期毎に加算するカウンタ値５ｆ／５ｇを、通信制御部１３ａが通信フレーム内に配置する。
このような送信データメモリ２３ａ／２４ａの面切替えにより、サイクリック通信データ単位で同時性を確保したデータを自端末から送信できるようになる。
【００３６】
次に、図９を用いて、サイクリック用メモリ１１ａの受信データを読み出すタイミングについて説明する。
複数の通信フレーム（図９のデータ＃１〜データ＃３）をサイクリック用メモリ１１ａに格納するまでの時間がかかるため、データ監視制御部２０２１ａが、一定周期でサイクリック用メモリ１１ａを読み出すタイミングによっては、旧データ（図９の３回目）と新データ（図９の４回目）が混在したサイクリック通信データを読み出すことがある。
【００３７】
図９では、書込み側の受信データメモリ２７ａに４回目のデータ＃１が書き込まれた時から新旧データが混在するサイクリック通信データとなるが、混在時には受信データ切替部２５ａが受信データメモリ２６ａ／２７ａの面を切り替えないので、プロセッサ１４ａが読出し側の受信データメモリ２７ａから読み出すサイクリック通信データは、３回目の旧データのままであり、データの同時性を確保できるようにしている。
すなわち、受信データ切替部２５ａは、一定周期で書込み側の受信データメモリ２７ａを読み出し、受信マップ２９ａに登録されたオフセット５ｃとサイズ５ｄを元にカウンタ値５ｆ／５ｇが全て同じ値になった時に、受信データメモリ２６ａ／２７ａの面を切り替えるが（図９では２回目から３回目のデータに切り替えている）、カウンタ値５ｆ／５ｇが全て同じ値にならない時には、受信データメモリ２６ａ／２７ａの面を切り替えないようにする。
その後、カウンタ値５ｆ／５ｇが同じ値の受信データが、書込まれた際に、カウンタ値５ｆ／５ｇの小さい値の受信データを上書きし、カウンタ値５ｆ／５ｇが全て同じ値になった時に、受信データメモリ２６ａ／２７ａの面を切り替える。
【００３８】
（２）次に、高優先フラグ付きの受信フレームの場合の処理について説明する。
図９で、高優先フラグ付きのデータ＃２に限っては、プロセッサ制御部１０１５ａが即座に読み出せるように、データ監視制御部２０２１ａが受信データメモリ２６ａ／２７ａ両面ともに書込む。すなわち、読み出す面の受信データメモリにも書込むようにする。
こうすることで、受信データ切替部２５ａは、高優先フラグ付きでない受信フレームの場合の上述の処理を行っていても、プロセッサ制御部１０１５ａが高優先フラグ付きのデータ＃２を即座に読み出すことができる。
【００３９】
実施の形態１によれば、サイクリック通信フレームの送受信処理で、通信フレーム内のデータ同時性を確保する動作中であっても、プロセッサ制御部１０１５ａが高優先フラグ付きのデータを即座に読み出すことができる。
【００４０】
実施の形態２．
図１０は、この発明の実施の形態２によるサイクリック通信システムの端末の構成を示すブロック図である。
図１０において、符号１、１１ａ〜１４ａ、２２ａ〜２８ａ、１０１５ａは図５におけるものと同一のものである。図１０では、図１１に後述する受信マップ３０２９ａを有し、データ監視制御部３０２１ａは、受信マップ３０２９ａを参照して、単一フレームかどうかを判断する。
【００４１】
図１１は、この発明の実施の形態２によるサイクリック通信システムの受信マップを示すイメージ図である。
図１１において、５ｃ、５ｄは図８におけるものと同一である。図１１では、受信マップ３０２９ａに、送信マップ２８ａと同じブロックＮＯ５ｂを付加している。自端末が受信する全てのサイクリック通信データにおいて、オフセット５ｃとサイズ５ｄを対応付けて、サイクリック通信データの連続アドレス領域毎に登録するだけでなく、ブロックＮＯ５ｂも対応付けている。
【００４２】
実施の形態２は、送信マップと同じブロックＮＯ５ｂを付加した受信マップ３０２９ａを、データ監視制御部３０２１ａが参照できるようにしている。
データ監視制御部３０２１ａは、受信データの通信フレーム内のブロックＮＯ５ｂを抽出し、受信マップ３０２９ａ内の該当するブロックＮＯ５ｂが一つしか登録されていない場合、単一フレームと判断する。
単一フレームと判断された場合、実施の形態１の高優先フラグ付きデータと同様に処理することで、受信データの同時性を確保したまま、単一フレームの通信性能を向上することができる。
【００４３】
実施の形態２によれば、データ監視制御部が単一フレームかどうかを判断でき、受信データの同時性を確保したまま、単一フレームの通信性能を向上することができる。
【００４４】
実施の形態３．
図１２は、この発明の実施の形態３によるサイクリック通信システムの端末の構成を示すブロック図である。
図１２において、符号１、１１ａ〜１４ａ、２２ａ〜２８ａ、１０１５ａ、３０２９ａは図１０におけるものと同一のものである。送信衝突検出部４０５０ａは、例えばＣＳＭＡ／ＣＤ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ／Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ）方式のように送信動作中に常に受信して自身が送信したデータと異なるデータを受信した場合に衝突と判断する。
送信衝突履歴情報４０５２ａ（送信衝突履歴情報部）には、衝突したフレームのフレー
ム送信情報が登録される。衝突検出信号４０５１ａは、衝突が発生したことを示す信号であり、送信衝突検出部４０５０ａからデータ監視制御部４０２１ａに通知される。データ監視制御部４０２１ａは、送信衝突履歴情報４０５２ａの登録順序に従い、消失した通信フレームを再送信する。
【００４５】
図１３は、この発明の実施の形態３によるサイクリック通信システムの送信衝突履歴部を示すイメージ図である。
図１３において、送信衝突履歴情報４０５２ａは、図７の送信マップと同じフォーマットであり、自端末が再送信するサイクリック通信データにおいて、ブロックＮＯ５ｂとオフセット５ｃとサイズ５ｄを対応付けて、再送信するべきサイクリック通信データが登録される。
【００４６】
実施の形態３は、ネットワーク上に通信フレームが存在している時間帯で、通信制御部１３ａが通信フレームを送信した時に、二つの通信フレームが衝突したことを検出して、全ての送信が完了した後で、衝突時に消失した通信フレームを再送信して、ネットワークのデータ損失を回避する。
送信衝突検出部４０５０ａは、例えばＣＳＭＡ／ＣＤ方式のように送信動作中に常に受信して自身が送信したデータと異なるデータを受信した場合に衝突と判断し、送信動作を緊急停止して受信動作に切り替えて、衝突が発生したことを示す衝突検出信号４０５１ａによりデータ監視制御部４０２１ａに通知する。
この通知する手段として、送信衝突検出部４０５０ａが送信衝突履歴情報４０５２ａを生成し、衝突したフレームのブロックＮＯ５ｂ、オフセット５ｃ、サイズ５ｄのように次回再送信できるフレーム送信情報を登録する。
データ監視制御部４０２１ａは、送信マップ２８ａに登録された通信フレームを全て送信した後で、送信衝突履歴情報４０５２ａの登録順序に従い、消失した通信フレームを再送信することで、フレーム衝突が多発する状態でも通信データを確実に送受信できるようにする。
【００４７】
次に、図１４を用いて、実施の形態３のデータ監視制御部４０２１ａの送信処理について説明する。
データ監視制御部４０２１ａが持つ送信周期タイミングに従い、送信開始する時刻になるまで待った後（ステップＳ１）、送信開始になれば、送信マップ２８ａを参照して、送信手順（ブロックＮＯ５ｂとオフセット５ｃとサイズ５ｄ）を取得する（ステップＳ２）。
この取得した情報を元に送信データメモリ（読出し側）２４ａから送信データを読み出して（ステップＳ３）、メモリ制御部１２ａに転送する（ステップＳ４）。
以上の処理を送信マップ２８ａに登録された回数まで繰り返して、送信完了させる（ステップＳ５）。送信完了後、衝突検出信号４０５１ａの通知があった場合（ステップＳ６）、送信衝突履歴情報４０５２ａを参照し、再送信するフレーム（ブロックＮＯ５ｂとオフセット５ｃとサイズ５ｄ）を全て取得し（ステップＳ７）、予め設定した時間を待った後、登録順序に従い送信手順を決定する（ステップＳ８）。
【００４８】
送信手順に従う処理は、上記の通常送信と同じく行う。すなわち、決定した送信手順に従い、送信データメモリ（読出し側）２４ａから送信データを読み出して、設定した一定時間を待つ（ステップＳ９）。そして、送信データをメモリ制御部１２ａに転送する（ステップＳ１０）。
再送信が完了したら（ステップＳ１１）、送信処理を終了し、送信開始待ちに戻る。
【００４９】
実施の形態３によれば、通信フレームの衝突により消失した通信フレームを再送信することで、通信フレーム衝突が多発する状態でも、通信データを確実に送受信できるように
して、ネットワークのデータ損失を回避することができる。
また、ネットワーク上で送受信のどちらか一方しか処理できない半二重ネットワークにも対応することができる。
【００５０】
実施の形態４．
図１５は、この発明の実施の形態４によるサイクリック通信システムの端末の構成を示すブロック図である。
図１５において、符号１、１１ａ〜１４ａ、２２ａ〜２７ａ、１０１５ａ、３０２９ａ、４０５０ａ〜４０５２ａは図１２におけるものと同一のものである。図１５の端末Ａ１は、再送信する通信フレームの優先順位を有する送信マップ５０２８ａと、この送信マップ５０２８ａを参照するデータ監視制御部５０２１ａを有している。
【００５１】
図１６は、この発明の実施の形態４によるサイクリック通信システムの送信マップを示すイメージ図である。
図１６において、５ｂ、５ｃ、５ｄは図７におけるものと同一のものである。図１６の送信マップ５０２８ａは、再送信する順番を決めるための優先順位５ｍを有する。優先順位５ｍは、例えば、最高優先であれば１、最低優先であれば５に設定するものとし、同一であれば先頭行から順次送信するように決められている。
【００５２】
実施の形態４は、全ての送信が完了した後で、予め設定された優先順位に従い、衝突時に消失した通信フレームを再送信して、ネットワークのデータ損失を回避するようになっている。
送信マップ５０２８ａに登録された通信フレームを全て送信した後で、送信衝突履歴情報４０５２ａに登録された全ての再送信フレームについて、送信マップ５０２８ａの優先順位５ｍを取得して、その優先順位に従い、消失した通信フレームを再送信する送信手順を見直すようにした。
これにより、フレーム衝突が多発する状態でも、緊急度の高いデータを優先的に送受信できるようにする。
【００５３】
ここで、送信マップ５０２８ａは、自端末が送信する全てのサイクリック通信データにおいて、ブロックＮＯ５ｂとオフセット５ｃとサイズ５ｄを対応付けて、サイクリック通信データの連続アドレス領域毎に登録するだけでなく、優先順位５ｍも対応付けている。
この優先順位５ｍは、再送信する順番を決めるもので、例えば、最高優先であれば１、最低優先であれば５に設定するものとし、同一であれば先頭行から順次送信する。
【００５４】
次に、図１７を用いて、実施の形態４におけるデータ監視制御部５０２１ａの送信処理について説明する。
なお、図１７のステップＳ１〜ステップＳ７、ステップＳ９〜ステップＳ１１の処理は図１４の処理と同一であり、その説明を省略する。
図１７では、ステップＳ７に次いで、ステップＳ２１とステップＳ２２の処理を実行する。
送信完了後（ステップＳ５）、衝突検出信号４０５１ａの通知があった場合（ステップＳ６）、再送信するフレーム（ブロックＮＯ５ｂとオフセット５ｃとサイズ５ｄ）を全て取得する（ステップＳ７）。
【００５５】
次いで、送信マップ５０２８ａを参照して、優先順位５ｍを取得し（ステップＳ２１）、この優先順位５ｍに従い、送信手順を並び替えて送信手順を見直す。そして、予め設定した時間を待った後、登録順序に従い送信手順を決定する（ステップＳ２２）。
以下、ステップＳ９以降の処理により、再送信を実行する。
【００５６】
なお、予め設定した時間を待つのではなく、送信マップ５０２８ａの優先順位５ｍに示す数値×一定時間を待つ方式にすることで、優先順位に従う待ち時間を与えるようにして、ネットワーク全体の通信負荷を軽減することもできる。
【００５７】
実施の形態４によれば、送信マップ５０２８ａに、通信フレームを再送信する場合の優先順位を持たせたので、消失した通信フレームを再送信する場合の送信手順を見直すことで、フレーム衝突が多発する状態でも、緊急度の高いデータを優先的に送受信できるようになる。
また、ネットワーク上で送受信のどちらか一方しか処理できない半二重ネットワークにも対応することができる。
【００５８】
実施の形態５．
図１８は、この発明の実施の形態５によるサイクリック通信システムの端末の構成を示すブロック図である。
図１８において、符号１、１１ａ〜１４ａ、２２ａ〜２８ａ、１０１５ａ、３０２９ａ、４０５０ａ〜４０５２ａは図１２におけるものと同一のものである。図１８の端末Ａ１は、データ監視制御部６０２１ａに特徴を有している。
【００５９】
実施の形態５では、データ監視制御部６０２１ａが、送信マップ２８ａに登録された通信フレームを全て送信した後ではなく、衝突検出信号４０５１ａを通知された直後に、衝突時に消失した通信フレームを再送信して、ネットワークのデータ損失を回避している。
送信マップ２８ａに登録された通信フレームを順次送信している途中で、衝突検出信号４０５１ａが通知されると、送信衝突履歴情報４０５２ａに登録された再送信フレームを即座に読み出して、消失した通信フレームを連続的に再送信することで、フレーム衝突が多発する状態でも、優先度に無関係なシステムでも、確実に送受信できるようにしている。
【００６０】
次に、図１９を用いて、実施の形態５におけるデータ監視制御部６０２１ａの送信処理について説明する。
なお、図１９のステップＳ１〜ステップＳ１１の各処理は図１４の処理と同一であり、その説明を省略する。
図１９では、ステップＳ４に次いで、ステップＳ６以降を実行し、ステップＳ１１の再送信が完了したときに、ステップＳ５を実行するように、図１４の実行順序を変更している。
【００６１】
すなわち、図１９では、通信フレームの送信途中でも、衝突検出信号４０５１ａの通知があった場合（ステップＳ６）、送信衝突履歴情報４０５２ａを参照し、再送信するフレーム（ブロックＮＯ５ｂとオフセット５ｃとサイズ５ｄ）を全て取得し（ステップＳ７）、予め設定した時間を待った後、該当する再送信するフレームのひとつを送信手順に決定する（ステップＳ８）。
次いで、決定した送信手順に従い、送信データメモリ（読出し側）２４ａから送信データを読み出して、設定した一定時間を待った後（ステップＳ９）。再送信する通信フレームをメモリ制御部１２ａに転送する（ステップＳ１０）。
そして、再び衝突に伴うフレーム衝突が発生した場合でも再送信できるよう、再送信完了を確認した後（ステップＳ１１）、送信マップ２８ａに従う次の通信フレームを送信する（ステップＳ５）ので、更に確実に送受信できるようにしてから送信開始待ちに戻ることができる。
【００６２】
実施の形態５によれば、送信マップ２８ａに登録された通信フレームの送信途中でも、衝突検出信号が通知されると、即座に消失した通信フレームを連続的に再送信することで
、フレーム衝突が多発する状態でも、確実に送受信することができる。
また、ネットワーク上で送受信のどちらか一方しか処理できない半二重ネットワークにも対応することができる。
【００６３】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００６４】
１  端末Ａ、２  端末Ｂ、３  端末Ｃ、４  ネットワーク、
１１ａ  サイクリック用メモリ、１１ｂ  サイクリック用メモリ、
１１ｃ  サイクリック用メモリ、１２ａ  メモリ制御部、１３ａ  通信制御部、
１４ａ  プロセッサ、２２ａ  送信データ切替部、２３ａ  送信データメモリ、
２４ａ  送信データメモリ、２５ａ  受信データ切替部、２６ａ  受信データメモリ、
２７ａ  受信データメモリ、２８ａ  送信マップ、２９ａ  受信マップ、
１０１５ａ  プロセッサ制御部、２００５  受信フレーム、
２０２１ａ  データ監視制御部、３０２１ａ  データ監視制御部、
３０２９ａ  受信マップ、４０２１ａ  データ監視制御部、４０５０ａ  送信衝突検出部、
４０５１ａ  衝突検出信号、４０５２ａ  送信衝突履歴情報、
５０２１ａ  データ監視制御部、５０２８ａ  送信マップ、
６０２１ａ  データ監視制御部
【図１】
2018088210.tif 000003
【図２】
2018088210.tif 000004
【図３】
2018088210.tif 000005
【図４】
2018088210.tif 000006
【図５】
2018088210.tif 000007
【図６】
2018088210.tif 000008
【図７】
2018088210.tif 000009
【図８】
2018088210.tif 000010
【図９】
2018088210.tif 000011
【図１０】
2018088210.tif 000012
【図１１】
2018088210.tif 000013
【図１２】
2018088210.tif 000014
【図１３】
2018088210.tif 000015
【図１４】
2018088210.tif 000016
【図１５】
2018088210.tif 000017
【図１６】
2018088210.tif 000018
【図１７】
2018088210.tif 000019
【図１８】
2018088210.tif 000020
【図１９】
2018088210.tif 000021