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