(57)【特許請求の範囲】
【請求項１】
記憶手段に記憶される記憶データを共有するための通信を予め定められた周期毎に実施する第１通信装置及び第２通信装置を有する通信システムであって、
前記第１通信装置によって送信される通信データは、該通信データに関する周期を該周期の前後の他の周期と識別して示す識別情報と、該通信データが周期毎の通信の対象であるか又は該対象から除外される例外であるかを示す対象情報と、を含み、
前記第２通信装置は、前記通信データを受信して、受信した前記通信データに含まれる前記対象情報により前記通信データが前記対象であることが示され、かつ該通信データに含まれる前記識別情報により示される周期が現在の周期とは異なる場合に、前記通信データを破棄し、前記通信データに含まれる前記対象情報により前記通信データが前記例外であることが示される場合に、前記通信データを処理する、通信システム。
【請求項２】
前記第１通信装置は、ソフトウェア処理に従って通信する場合に、前記例外であることを示す前記対象情報を含む前記通信データを送信する、
請求項１に記載の通信システム。
【請求項３】
前記第１通信装置、前記第２通信装置及び第３通信装置を有する通信システムであって、
前記第１通信装置は、前記第３通信装置より低速で通信する場合に、前記例外であることを示す前記対象情報を含む前記通信データを送信する、
請求項１又は２に記載の通信システム。
【請求項４】
前記第２通信装置は、前記第１通信装置に関する装置情報を収集し、収集した前記装置情報により前記第１通信装置が前記第３通信装置より低速で通信することが示される場合に、前記例外であることを示す前記対象情報を含む前記通信データを送信することを前記第１通信装置に指示し、
前記第１通信装置は、前記第２通信装置による指示に従って、前記例外であることを示す前記対象情報を含む前記通信データを送信する、
請求項３に記載の通信システム。
【請求項５】
前記第１通信装置は、前記第２通信装置からの通知に応じて、前記例外であることを示す前記対象情報を含む前記通信データを送信する、
請求項１から４のいずれか一項に記載の通信システム。
【請求項６】
前記第２通信装置は、ソフトウェア処理に従って通信することを前記第１通信装置に通知する、
請求項５に記載の通信システム。
【請求項７】
前記第１通信装置、前記第２通信装置、及び第４通信装置を有する通信システムであって、
前記第２通信装置は、前記第４通信装置より低速で通信することを前記第１通信装置に通知する、
請求項５又は６に記載の通信システム。
【請求項８】
前記通信データは、ヘッダを有するフレームであって、
前記対象情報は、前記ヘッダに含まれる、
請求項１から７のいずれか一項に記載の通信システム。
【請求項９】
記憶手段に記憶される記憶データを共有するための通信を予め定められた周期毎に他の通信装置と実施する通信装置であって、
前記通信により伝送される通信データに関する周期を該周期の前後の他の周期と識別して示す識別情報と、該通信データが周期毎の通信の対象であるか又は該対象から除外される例外であるかを示す対象情報と、を含む前記通信データを前記他の通信装置から受信する通信インタフェースと、
前記通信データに含まれる前記対象情報により前記通信データが前記対象であることが示され、かつ該通信データに含まれる前記識別情報により示される周期が現在の周期とは異なる場合に、前記通信データを破棄し、前記通信データに含まれる前記対象情報により前記通信データが前記例外であることが示される場合に、前記通信データを処理する処理手段と、
を備える通信装置。
【請求項１０】
予め定められた周期毎に通信装置と通信するコンピュータに、
データに関する周期を該周期の前後の他の周期と識別して示す識別情報と、該データが周期毎の通信の対象であるか又は該対象から除外される例外であるかを示す対象情報と、を含む前記データを前記通信装置から受信し、
前記データに含まれる前記対象情報により前記データが前記対象であることが示され、かつ該データに含まれる前記識別情報により示される周期が現在の周期とは異なる場合に、前記データを破棄し、前記データに含まれる前記対象情報により前記データが前記例外であることが示される場合に、前記データを処理する、
ことを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信装置及びプログラムに関する。
【背景技術】
【０００２】
工場に代表される施設では、通信ネットワークを介して複数の機器を制御するシステムが運用されている。このようなシステムには、複数の機器を効率的に協働させることが求められる。そこで、各機器が有するメモリに共通のデータが格納されるような、いわゆるサイクリック通信が採用されるケースがある。サイクリック通信では、メモリのうち各機器に割り当てられた領域の内容を他の機器と共有するための通信が周期的に実行される。【０００３】
サイクリック通信では、通常、周期毎に各機器が通信することで、連続する周期の各々でメモリに記憶されるデータが同期される。ここで、機器間で伝送されるデータに、当該データに関する周期を識別するための周期情報が付与されることがある（例えば、特許文献１を参照）。【０００４】
特許文献１には、複数の端末がネットワークを介してサイクリック通信を行うサイクリック通信システムについて記載されている。このサイクリック通信システムでは、サイクリック通信データを複数のデータに分割して送信する場合に、サイクリック通信の周期ごとにカウントされるカウンタ値が各データに付加される。そして、分割されたデータを受信した端末がカウンタ値を参照することで、分割された複数のデータについての同時性が確保される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−８２２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
サイクリック通信では、データを同期させるための通信を各周期内で行う必要がある。特許文献１の技術に例示されるように周期情報を含むデータが伝送される場合には、当該データを受信した機器が、周期情報により示される周期を、内部で管理している現在の周期と照合することが考えられる。そして、この機器は、周期が一致する場合には受信したデータを有効と判断して処理し、周期が異なる場合には受信したデータを無効と判断して破棄すればよい。これにより、各周期で伝送されるべきデータとして送信側と受信側とで共通のデータを管理することができる。【０００７】
しかしながら、高速に通信する第１の機器と低速に通信する第２の機器とが混在するような場合には、第２の機器について各周期での通信が完了しないおそれがある。具体的には、一の周期で伝送されるべきデータが、当該一の周期の期間内に受信されずに次の周期で受信された場合には、データが処理対象とされず、その結果としてメモリに格納すべきデータが格納されないおそれがある。そこで、各周期で通信を完了させるために、高速に通信する機器の速度を落として稼働させるか、或いは低速に通信する機器を高性能な機器に置き換える必要がある。このため、通信性能が異なる機器を混在させたままその通信性能を活用することができず、通信システムの効率を向上させる余地があった。【０００８】
本発明は、上記の事情に鑑みてなされたものであり、通信システムの効率を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の通信システムは、記憶手段に記憶される記憶データを共有するための通信を予め定められた周期毎に実施する第１通信装置及び第２通信装置を有する通信システムであって、第１通信装置によって送信される通信データは、該通信データに関する周期を該周期の前後の他の周期と識別して示す識別情報と、該通信データが周期毎の通信の対象であるか又は該対象から除外される例外であるかを示す対象情報と、を含み、第２通信装置は、通信データを受信して、受信した通信データに含まれる対象情報により通信データが対象であることが示され、かつ該通信データに含まれる識別情報により示される周期が現在の周期とは異なる場合に、通信データを破棄し、通信データに含まれる対象情報により通信データが例外であることが示される場合に、通信データを処理する。
【発明の効果】
【００１０】
本発明によれば、第２通信装置は、通信データを受信して、受信した通信データに含まれる対象情報により通信データが対象であることが示され、かつ該通信データに含まれる識別情報により示される周期が現在の周期とは異なる場合に、通信データを破棄し、通信データに含まれる対象情報により通信データが例外であることが示される場合に、通信データを処理する。このため、通信性能が異なる機器を混在させたままその通信性能を活用することができ、通信システムの効率を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係る通信システムの構成を示す図
【図２】実施の形態に係るサイクリックメモリを示す図
【図３】実施の形態に係る通信装置による周期毎の通信を示す図
【図４】実施の形態に係る通信装置のハードウェア構成を示す図
【図５】実施の形態に係る通信装置の機能的な構成を示す図
【図６】実施の形態に係るマスタ処理を示すフローチャート
【図７】実施の形態に係るスレーブ処理を示すフローチャート
【図８】実施の形態に係るマスタ初期化処理を示すフローチャート
【図９】実施の形態に係るマスタ初期化処理において送信されるフレームの形式を示す図
【図１０】実施の形態に係るスレーブ初期化処理を示すフローチャート
【図１１】実施の形態に係るスレーブ初期化処理において送信されるフレームの形式を示す図
【図１２】実施の形態に係る通信処理の一例を示す第１の図
【図１３】実施の形態に係る通信処理の一例を示す第２の図
【図１４】実施の形態に係るマスタ通信処理を示すフローチャート
【図１５】実施の形態に係るマスタ通信処理において送信されるフレームの形式を示す図
【図１６】実施の形態に係る通信処理の一例を示す第３の図
【図１７】比較例に係る通信処理の一例を示す図
【図１８】変形例に係る通信処理の一例を示す図
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態に係る通信システム１０００について、図面を参照しつつ詳細に説明する。
【００１３】
実施の形態．
本実施の形態に係る通信システム１０００は、工場に設置されるＦＡシステムの一部に相当する。通信システム１０００は、ＦＡシステムとしての生産システム、検査システム、加工システム、その他のシステムを構成する機器同士を、通信路を介して接続することで形成される。図１に示されるように、通信システム１０００は、通信装置として、マスタ装置１０及びスレーブ装置２１，２２，３０を有する。
【００１４】
マスタ装置１０及びスレーブ装置２１，２２，３０は、例えば、ＰＬＣ（Programmable Logic Controller）、ＰＬＣと連動するデバイス、又はＩＰＣ（Industrial Personal Computer）である。マスタ装置１０及びスレーブ装置２１，２２，３０は、通信ネットワーク５０を介して互いに接続される。通信ネットワーク５０は、例えば、ネットワークケーブルにより形成されるフィールドネットワークである。
【００１５】
マスタ装置１０は、通信システム１０００のマスターノードに相当し、スレーブ装置２１，２２，３０はそれぞれ、通信システム１０００のスレーブノードに相当する。マスタ装置１０は、スレーブ装置２１，２２，３０に対する制御指示を、通信ネットワーク５０を介して送信する。スレーブ装置２１，２２，３０はそれぞれ、制御指示に従って、自機に接続された不図示の機器を制御する。この機器は、例えば、センサ装置、アクチュエータ又はロボットである。
【００１６】
マスタ装置１０及びスレーブ装置２１，２２，３０はそれぞれ、共通のデータが格納されるサイクリックメモリ４１を有する。サイクリックメモリ４１は、通信装置それぞれに割り当てられた記憶領域を含む。詳細には、サイクリックメモリ４１は、図２に示されるように、マスタ装置１０に割り当てられた記憶領域Ａ１０と、スレーブ装置２１に割り当てられた記憶領域Ａ２１と、スレーブ装置２２に割り当てられた記憶領域Ａ２２と、スレーブ装置３０に割り当てられた記憶領域Ａ３０と、を有する。これらの記憶領域にはそれぞれ、割り当てられた通信装置によって更新されるデータが格納される。例えば、記憶領域Ａ１０には、マスタ装置１０によって更新されるデータが格納され、記憶領域Ａ１０に格納されたデータは、スレーブ装置２１，２２，３０によって更新されることはない。なお、サイクリックメモリ４１は、マスタ装置１０及びスレーブ装置２１，２２，３０によって共有されるデータを記憶する記憶手段の一例である。以下では、サイクリックメモリ４１に記憶されるデータを記憶データと表記する。
【００１７】
マスタ装置１０及びスレーブ装置２１，２２，３０は、予め定められた周期毎にサイクリックメモリ４１に記憶される記憶データを共有するためのサイクリック通信を実施する。図３には、このような通信について例示されている。ただし、図３では、スレーブ装置２１，２２を代表してスレーブ装置２１が示されており、スレーブ装置２２が省略されている。
【００１８】
図３に示されるように、周期Ｔ１において、各通信装置が、サイクリックメモリ４１の内容を更新するための通信データを送信する。例えば、マスタ装置１０が、記憶領域Ａ１０の内容を更新するためのデータを含む通信データをスレーブ装置２１，３０に送信することが、矢印５０１により示されている。同様に、スレーブ装置２１，３０もそれぞれ、周期Ｔ１において、記憶領域Ａ２１，３０の内容を更新するための通信データを他の通信装置に送信する。そして、周期Ｔ１の終了時刻までにサイクリックメモリ４１の内容がすべての通信装置で共有される。
【００１９】
周期Ｔ１と同様の通信が、他の周期Ｔ２，Ｔ３でも実施される。周期Ｔ１〜Ｔ３の長さは、例えば、１マイクロ秒間又は１ミリ秒間である。周期Ｔ１，Ｔ２，Ｔ３は、複数の通信装置がＮＴＰ（Network Time Protocol）サーバに接続されて時刻を管理することにより規定される周期であってもよいし、マスタ装置１０が通信データを送信するたびに開始する周期であってもよい。周期Ｔ１，Ｔ２，Ｔ３が、マスタ装置１０からの通信データの送信により開始する場合には、周期Ｔ１，Ｔ２，Ｔ３の長さが異なっていてもよい。また、このような場合においては、スレーブ装置２１，３０は、前回の周期の開始時刻から経過した時間を計測することで現在の周期を判断してもよい。また、この場合には、スレーブ装置２１，３０がマスタ装置１０から送信された通信データをトリガーとしてある程度高速に応答して通信データを送信すれば、各周期内で通信が完了する。
【００２０】
ここで、スレーブ装置３０は、スレーブ装置２１，２２より低速で通信する機器であって、矢印５０３で示されるように、スレーブ装置３０からの通信データの伝送が周期内で完了しないことが起こり得る。本実施の形態に係る通信装置は、このように伝送された通信データを、当該通信データの内容に応じて、各周期で通信を完了すべきサイクリック通信の対象として扱い破棄し、又は、サイクリック通信の例外としてサイクリックメモリ４１の更新に利用する。
【００２１】
スレーブ装置３０より高速で通信するスレーブ装置２１，２２は、例えば、高性能なプロセッサでソフトウェア処理を実行する機器である。ただし、スレーブ装置２１，２２は、専用の通信回路チップでハードウェア実装した機器であってもよい。また、スレーブ装置２１，２２より低速で通信するスレーブ装置３０は、例えば、低性能なプロセッサでソフトウェア処理を実行する機器である。マスタ装置１０は、スレーブ装置２１，２２との間では上述のサイクリック通信を実施し、スレーブ装置３０との間では伝送される通信データをサイクリック通信の例外として扱う例外通信を実施する。ただし、マスタ装置１０自体が低速で通信する機器である場合には、マスタ装置１０は、すべてのスレーブ装置２１，２２，３０との間で例外通信を実施する。
【００２２】
以下では、マスタ装置１０及びスレーブ装置２１，２２，３０を総称して通信装置４０と表記する。
【００２３】
通信装置４０は、そのハードウェア構成として、図４に示されるように、プロセッサ４０１と、主記憶部４０２と、補助記憶部４０３と、入力部４０４と、出力部４０５と、通信部４０６と、を有する。主記憶部４０２、補助記憶部４０３、入力部４０４、出力部４０５及び通信部４０６はいずれも、内部バス４０７を介してプロセッサ４０１に接続される。
【００２４】
プロセッサ４０１は、ＣＰＵ（Central Processing Unit）を含む。プロセッサ４０１は、補助記憶部４０３に記憶されるプログラムＰ１を実行することにより、通信装置４０の種々の機能を実現して、後述の処理を実行する。
【００２５】
主記憶部４０２は、ＲＡＭ（Random Access Memory）を含む。主記憶部４０２には、補助記憶部４０３からプログラムＰ１がロードされる。そして、主記憶部４０２は、プロセッサ４０１の作業領域として用いられる。
【００２６】
補助記憶部４０３は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）及びＨＤＤ（Hard Disk Drive）に代表される不揮発性メモリを含む。補助記憶部４０３は、プログラムＰ１の他に、プロセッサ４０１の処理に用いられる種々のデータを記憶する。補助記憶部４０３は、プロセッサ４０１の指示に従って、プロセッサ４０１によって利用されるデータをプロセッサ４０１に供給し、プロセッサ４０１から供給されたデータを記憶する。
【００２７】
入力部４０４は、入力キー及びポインティングデバイスに代表される入力デバイスを含む。入力部４０４は、通信装置４０のユーザによって入力された情報を取得して、取得した情報をプロセッサ４０１に通知する。
【００２８】
出力部４０５は、ＬＣＤ（Liquid Crystal Display）及びスピーカに代表される出力デバイスを含む。出力部４０５は、プロセッサ４０１の指示に従って、種々の情報をユーザに提示する。
【００２９】
通信部４０６は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部４０６は、外部から信号を受信して、この信号により示されるデータをプロセッサ４０１へ出力する。また、通信部４０６は、プロセッサ４０１から出力されたデータを示す信号を外部の装置へ送信する。
【００３０】
図４に示されるハードウェア構成が協働することで、通信装置４０は、種々の機能を発揮する。詳細には、通信装置４０は、図５に示されるように、その機能として、サイクリックメモリ４１と、通信ネットワーク５０へ通信データを送信し通信ネットワーク５０から通信データを受信する通信インタフェース４２と、通信インタフェース４２を介して受信した通信データを処理する受信処理部４３と、通信インタフェース４２を介して通信データを送信する処理を実行する送信処理部４４と、を有する。
【００３１】
サイクリックメモリ４１は、主として主記憶部４０２により実現される。ただし、これには限定されず、サイクリックメモリ４１は、補助記憶部４０３により実現されてもよい。
【００３２】
通信インタフェース４２は、通信部４０６により実現される。通信インタフェース４２は、通信ネットワーク５０から受信した通信データを受信処理部４３に送出し、送信処理部４４から送出された通信データを通信ネットワーク５０へ送信する。
【００３３】
受信処理部４３は、プロセッサ４０１及び主記憶部４０２の協働により実現される。受信処理部４３は、受信した通信データを破棄し又は処理する処理手段の一例である。受信処理部４３は、受信された通信データを解析する受信データ解析部４３１と、受信された通信データが一時的に格納される受信バッファ４３２と、を有する。受信データ解析部４３１は、受信された通信データに含まれる情報を読み出して、当該通信データを受信バッファ４３２に格納するか否かを判定する。受信データ解析部４３１によって格納することが決定された通信データは受信バッファ４３２に格納され、格納しないことが決定された通信データは破棄される。そして、受信バッファ４３２に格納された通信データから記憶データが抽出され、抽出された記憶データは、サイクリックメモリ４１に格納される。なお、受信バッファ４３２に通信データが格納される例について説明したが、受信データ解析部４３１によって通信データから抽出された記憶データが受信バッファ４３２に格納されてもよい。
【００３４】
送信処理部４４は、プロセッサ４０１及び主記憶部４０２の協働により実現される。送信処理部４４は、通信データを生成する送信データ生成部４４１と、送信すべき通信データが一時的に格納される送信バッファ４４２と、を有する。送信データ生成部４４１は、送信すべき通信データがサイクリック通信の対象であるか例外であるかを、受信データ解析部４３１による解析の結果に応じて、又は送信データ生成部４４１自体の判断により決定する。そして、送信データ生成部４４１は、決定した内容とサイクリックメモリ４１から読み出した記憶データとを含む通信データを生成して送信バッファ４４２に格納する。送信バッファ４４２に格納された通信データは、送信処理部４４によって制御されたタイミングで、通信インタフェース４２を介して通信ネットワーク５０へ送信される。なお、送信バッファ４４２に通信データが格納される例について説明したが、送信バッファ４４２には、サイクリックメモリ４１から読み出された記憶データが格納され、送信データ生成部４４１は、送信バッファ４４２から記憶データを読み出して通信データを生成してもよい。
【００３５】
続いて、複数の通信装置４０によって実行される通信処理について、図６〜１５を用いて説明する。マスタ装置１０は、図６に示されるマスタ処理を実行し、スレーブ装置２１，２２，３０は、図７に示されるスレーブ処理を実行する。これらの処理は、通信装置４０の電源が投入されて通信ネットワーク５０を介して通信可能な状態になることで開始する。
【００３６】
図６に示されるマスタ処理において、マスタ装置１０は、マスタ初期化処理を実行する（ステップＳ１１）。マスタ初期化処理は、通信システム１０００の初期化フェーズにおいてマスタ装置１０が実行する処理であって、マスタ装置１０がサイクリック通信を実施するか例外通信を実施するかを設定する処理である。次に、マスタ装置１０は、マスタ通信処理を実行する（ステップＳ１２）。マスタ通信処理は、マスタ初期化処理の設定に従って、周期毎にスレーブ装置２１，２２，３０と通信する処理である。これらのマスタ初期化処理及びマスタ通信処理の詳細については後述する。
【００３７】
また、図７に示されるスレーブ処理に関しては、スレーブ装置３０が実行する場合を例に説明する。ただし、スレーブ装置２１，２２によって実行されるスレーブ処理は、スレーブ装置３０と同等の処理である。スレーブ処理において、スレーブ装置３０は、スレーブ初期化処理を実行する（ステップＳ２１）。スレーブ初期化処理は、通信システム１０００の初期化フェーズにおいてスレーブ装置３０が実行する処理であって、スレーブ装置３０がサイクリック通信を実施するか例外通信を実施するかを設定する処理である。スレーブ初期化処理は、マスタ初期化処理と並行して実行される。次に、スレーブ装置３０は、スレーブ通信処理を実施する（ステップＳ２２）。スレーブ通信処理は、スレーブ初期化処理の設定に従って、周期毎にマスタ装置１０及びスレーブ装置２１，２２と通信する処理である。これらのスレーブ初期化処理及びスレーブ通信処理の詳細については後述する。
【００３８】
続いて、マスタ初期化処理及びスレーブ初期化処理について順に説明する。マスタ初期化処理では、図８に示されるように、マスタ装置１０が、自機がソフトウェア処理に従って通信するか否かを判定する（ステップＳ１１１）。具体的には、マスタ装置１０の送信処理部４４が、他の通信装置４０と記憶データを共有するための通信に、自機のソフトウェア処理が伴うか否かを判定する。ソフトウェア処理は、ハードウェア処理に比して処理の完了までに時間がかかることから、ソフトウェア処理に従う通信は、低速な通信になるといえる。
【００３９】
ただし、マスタ装置１０が高性能なプロセッサ４０１を備える場合には、ソフトウェア処理を伴っても高速に通信することができるため、通信にソフトウェア処理が伴うことに加えて、マスタ装置１０が予め定められた種類のプロセッサ４０１を備えるという条件が成立するときにステップＳ１１１の判定が肯定されてもよい。また、通信にソフトウェア処理が伴っていても、予め定められた種類のプロセッサ４０１を備えるときにはステップＳ１１１の判定が否定されてもよい。さらに、通信にソフトウェア処理が伴うことに加えて、このソフトウェア処理の演算負荷がある程度重いという条件が成立するときにステップＳ１１１の判定が肯定されてもよい。演算負荷が重いか否かは、ソースコードのサイズが閾値を超えるか否かを判定することで判断してもよいし、過去の実行時にかかった時間が閾値を超えるか否かを判定することで判断してもよい。
【００４０】
自機がソフトウェア処理に従って通信すると判定した場合（ステップＳ１１１；Ｙｅｓ）、マスタ装置１０は、自機が低速で通信することを全スレーブ装置に通知して、自機と例外通信をすることを指示する（ステップＳ１１２）。具体的には、送信処理部４４が、図９に例示される形式のフレーム６０を生成する。このフレーム６０は、ヘッダ部６１とデータ部６２とフッタ部６３とを備える。ヘッダ部６１は、このフレーム６０の送信先である通信装置４０を示す送信先アドレス６１１と、このフレーム６０の送信元である通信装置４０を示す送信元アドレス６１２と、このフレーム６０の種別を示すフレーム種別情報６１３と、を含む。また、データ部６２は、スレーブ装置２１，２２，３０に対して例外通信の実施を指示するか否かを示す指示情報６２１を含む。指示情報６２１は、例えば、１ｂｉｔのフラグである。このフラグの値がゼロであれば、例外通信の実施が指示されず、各スレーブ装置は、自機の通信性能に従ってサイクリック通信を実施してもよいし、例外通信を実施してもよい。フラグの値が１であれば、マスタ装置１０が低速であることが通知されるとともに、全スレーブ装置に例外通信を実施することが指示される。
【００４１】
図８に戻り、ステップＳ１１２の後に、マスタ装置１０によって実行される処理は、マスタ初期化処理から図６に示されるマスタ処理に戻る。
【００４２】
一方、自機がソフトウェア処理に従って通信する装置ではないと判定した場合（ステップＳ１１１；Ｎｏ）、マスタ装置１０は、自機が他の通信装置４０より低速で通信するか否かを判定する（ステップＳ１１３）。具体的には、送信処理部４４が、マスタ装置１０が低速で通信する装置であることを示すパラメータがマスタ装置１０の補助記憶部４０３に格納されているか否かを判定する。このパラメータは、マスタ装置１０の製品出荷時に予め設定されていてもよいし、ユーザにより予め設定されてもよい。また、マスタ装置１０が、他の通信装置４０に通信性能を問い合わせて、自機の通信性能と比較することで、ステップＳ１１３の判定をしてもよい。
【００４３】
自機が他の通信装置４０より低速で通信すると判定した場合（ステップＳ１１３；Ｙｅｓ）、マスタ装置１０は、ステップＳ１１２へ処理を移行する。一方、自機が他の通信装置４０より低速で通信する装置でないと判定した場合（ステップＳ１１３；Ｎｏ）、マスタ装置１０は、スレーブ装置２１，２２，３０に関する装置情報を各スレーブ装置に対して要求する（ステップＳ１１４）。具体的には、送信処理部４４が、スレーブ装置２１，２２，３０それぞれに対して、低速で通信するか高速で通信するかを問い合わせるためのフレームを生成する。このフレームは、図９に例示された形式に従ってもよい。図９に示される形式のフレームが生成される場合には、このフレームは、例外通信の実行を指示しない指示情報６２１を含むこととなる。そして、生成されたフレームが通信インタフェース４２を介してスレーブ装置２１，２２，３０へ送信される。
【００４４】
次に、マスタ装置１０は、スレーブ装置２１，２２，３０から装置情報を受信する（ステップＳ１１５）。具体的には、受信処理部４３が、ステップＳ１１４の要求に対するスレーブ装置２１，２２，３０からの応答を、通信インタフェース４２を介して受信する。これにより、マスタ装置１０は、スレーブ装置２１，２２，３０がそれぞれ低速で通信する装置であるか高速で通信する装置であるかを判断することができる。
【００４５】
次に、マスタ装置１０は、他の通信装置４０より低速で通信するスレーブ装置とは例外通信を実施して、その他のスレーブ装置とはサイクリック通信を実施することを決定する。具体的には、受信処理部４３が、ステップＳ１１５で得た装置情報を送信処理部４４に通知する。これにより、送信処理部４４は、高速で通信するスレーブ装置２１，２２に対してはサイクリック通信をするためのフレームを生成し、低速で通信するスレーブ装置３０に対しては例外通信をするためのフレームを生成する。その後、マスタ装置１０による処理は、マスタ初期化処理から図６に示されるマスタ処理に戻る。
【００４６】
以上のマスタ初期化処理と連動してスレーブ装置３０により実行されるスレーブ初期化処理では、図１０に示されるように、スレーブ装置３０が、マスタ装置１０から例外通信の指示があるか否かを判定する（ステップＳ２１１）。具体的には、スレーブ装置３０の受信処理部４３が、図８中のステップＳ１１２の指示を、通信インタフェース４２を介して受信したか否かを判定する。
【００４７】
マスタ装置１０から例外通信の指示があると判定した場合（ステップＳ２１１；Ｙｅｓ）、スレーブ装置３０は、例外通信を実施することを決定する（ステップＳ２１２）。これにより、スレーブ装置３０の送信処理部４４が生成する通信データには、当該通信データをサイクリック通信の例外として扱うことを示す情報が含まれることとなる。その後、スレーブ装置３０によって実行される処理は、スレーブ初期化処理から図７に示されるスレーブ処理に戻る。
【００４８】
一方、マスタ装置１０から例外通信の指示がないと判定した場合（ステップＳ２１１；Ｎｏ）、スレーブ装置３０は、マスタ装置１０からの装置情報の要求があるか否かを判定する（ステップＳ２１３）。具体的には、スレーブ装置３０の受信処理部４３が、図８中のステップＳ１１４の要求を示すデータを、通信インタフェースを介して受信したか否かを判定する。
【００４９】
装置情報の要求がないと判定した場合（ステップＳ２１３；Ｎｏ）、スレーブ装置３０は、ステップＳ２１３の判定を繰り返して装置情報の要求があるまで待機する。一方、装置情報の要求があると判定した場合（ステップＳ２１３；Ｙｅｓ）、スレーブ装置３０は、自機がソフトウェア処理に従って通信するか否かを判定する（ステップＳ２１４）。この判定は、図８に示されるマスタ初期化処理におけるステップＳ１１１の判定と同様の処理である。
【００５０】
自機がソフトウェア処理に従って通信すると判定した場合（ステップＳ２１４；Ｙｅｓ）、スレーブ装置３０は、例外通信を実施することを決定し、自機が低速であることを示す装置情報をマスタ装置１０に対する応答として送信する（ステップＳ２１５）。具体的には、スレーブ装置３０の送信処理部４４が、図１１に例示される形式のフレーム６０を生成して、通信インタフェース４２を介して送信する。このフレーム６０のデータ部６２は、スレーブ装置３０自体が低速で通信することを示す装置情報６２２を含む。装置情報６２２は、例えば、１ｂｉｔのフラグである。このフラグの値がゼロであれば、低速で通信することを示し、このフラグの値が１であれば、高速で通信することを示す。図１０に戻り、ステップＳ２１５の後に、スレーブ装置３０によって実行される処理は、スレーブ初期化処理から図７に示されるスレーブ処理に戻る。
【００５１】
一方、自機がソフトウェア処理に従って通信する装置でないと判定した場合（ステップＳ２１４；Ｎｏ）、スレーブ装置３０は、自機が他の通信装置４０より低速で通信するか否かを判定する（ステップＳ２１６）。この判定は、図８に示されるマスタ初期化処理におけるステップＳ１１３の判定と同様の処理である。
【００５２】
自機が他の通信装置４０より低速で通信すると判定した場合（ステップＳ２１６；Ｙｅｓ）、スレーブ装置３０は、ステップＳ２１５に処理を移行する。一方、自機が他の通信装置４０より低速で通信する装置でないと判定した場合（ステップＳ２１６；Ｎｏ）、スレーブ装置３０は、サイクリック通信を実施することを決定し、自機が高速であることを示す装置情報をマスタ装置１０に対する応答として送信する（ステップＳ２１７）。具体的には、スレーブ装置３０の送信処理部４４が、図１１に示される形式のフレーム６０を生成して、通信インタフェース４２を介して送信する。このフレーム６０のデータ部６２は、スレーブ装置３０自体が高速で通信することを示す装置情報６２２を含む。その後、スレーブ装置３０によって実行される処理は、スレーブ初期化処理から図７に示されるスレーブ処理に戻る。
【００５３】
以上のマスタ初期化処理及びスレーブ初期化処理により、各通信装置４０についてサイクリック通信を実施するか例外通信を実施するかが決定される。具体的には、低速で通信するスレーブ装置３０と、その主たる通信相手であるマスタ装置１０と、が例外通信を実施し、他のスレーブ装置２１，２２とマスタ装置１０とがサイクリック通信を実施する。ここで、マスタ装置１０が低速で通信する場合には、マスタ装置１０と全スレーブ装置２１，２２，３０とが例外通信を実施するここで、例外通信を実施する通信装置４０は、例外通信の対象として扱われることを示す情報を含む通信データを送信し、サイクリック通信を実施する通信装置４０は、サイクリック通信の対象として扱われることを示す情報を含む通信データを送信する。
【００５４】
例えば、マスタ装置１０が低速で通信する機器である場合には、図１２に示されるように、マスタ装置１０とすべてのスレーブ装置とが例外通信を実施する。詳細には、図１２に示されるように、マスタ装置１０が、自機が低速で通信する機器であることを確認する（ステップＳ３１）。このステップＳ３１は、図８に示されるマスタ初期化処理におけるステップＳ１１１の判定の肯定、及びステップＳ１１３の判定の肯定に対応する。
【００５５】
次に、マスタ装置１０は、マスタ装置１０自体が低速で通信することをスレーブ装置２１，２２，３０に通知する（ステップＳ３２）。なお、図１２では、スレーブ装置２１，２２，３０を代表してスレーブ装置２１のみが示されている。このステップＳ３２は、図８に示されるマスタ初期化処理におけるステップＳ１１２に対応する。
【００５６】
次に、スレーブ装置２１は、ステップＳ３２の通知を受けて例外通信をすることを決定する（ステップＳ３３）。このステップＳ３３は、図１０に示されるスレーブ初期化処理におけるステップＳ２１２に対応する。その後、スレーブ装置２１は、通信システム１０００の通信フェーズにおいてサイクリック通信の例外であることを示す対象情報を含む通信データをマスタ装置１０との間で送受信する。この通信フェーズの詳細については後述する。
【００５７】
また、例えば、マスタ装置１０が高速で通信する機器であり、スレーブ装置３０が低速で通信する機器である場合には、図１３に示されるように、スレーブ装置３０が、自機が低速で通信する機器であることを確認する（ステップＳ３５）。このステップＳ３５は、図１０に示されるスレーブ初期化処理におけるステップＳ２１４の判定の肯定、及びステップＳ２１６の判定の肯定に対応する。
【００５８】
次に、スレーブ装置３０は、スレーブ装置３０自体が低速で通信することをマスタ装置１０に通知する（ステップＳ３６）。このステップＳ３６は、図１０に示されるスレーブ初期化処理におけるステップＳ２１５に対応する。
【００５９】
次に、マスタ装置１０は、ステップＳ３６の通知を受けて、スレーブ装置３０とは例外通信をすることを決定する（ステップＳ３７）。このステップＳ３７は、図８に示されるマスタ初期化処理におけるステップＳ１１６に対応する。その後、マスタ装置１０は、通信システム１０００の通信フェーズにおいてサイクリック通信の例外であることを示す対象情報を含む通信データをスレーブ装置３０との間で送受信する。
【００６０】
続いて、通信システム１０００の通信フェーズにおいてマスタ装置１０によって実行されるマスタ通信処理について、図１４，１５を用いて説明する。このマスタ通信処理では、マスタ装置１０は、送信すべき通信データに、この通信データに関する周期を識別して示す識別情報と、この通信データがサイクリック通信の対象であるか例外であるかを示す対象情報と、を含めてスレーブ装置２１，２２，３０に送信する（ステップＳ１２１）。
【００６１】
具体的には、マスタ装置１０の送信処理部４４が、図１５に例示される形式のフレーム６０を生成して、通信インタフェース４２を介して送信する。このフレーム６０のヘッダ部６１は、送信先アドレス６１１、送信元アドレス６１２及びフレーム種別情報６１３に加えて、周期をその前後の他の周期と識別するための識別情報６１４と、フレーム６０がサイクリック通信の対象であるかサイクリック通信の対象から除外される例外であるを示す対象情報６１５と、を含む。また、このフレーム６０のデータ部６２には、サイクリックメモリ４１を更新するための記憶データが格納される。
【００６２】
識別情報６１４は、例えば７ｂｉｔのデータであって、識別情報６１４により示される周期は、例えばマスタ装置１０がフレーム６０を送信する時刻を含む周期の番号である。この番号は、連番の数値であって、周期が更新されるたびにインクリメントされる。なお、識別情報６１４により示される周期は、これに限定されず、任意に変更してもよい。
【００６３】
対象情報６１５は、例えば１ｂｉｔのフラグであって、このフラグの値がゼロであればフレーム６０がサイクリック通信の対象であることが示され、このフラグの値が１であればフレーム６０がサイクリック通信の例外であり例外通信の対象であることが示される。
【００６４】
図１４に戻り、マスタ装置１０は、通信データを受信したか否かを判定する（ステップＳ１２２）。具体的には、受信処理部４３が、通信インタフェース４２を介して他の通信装置４０から通信データを受信したか否かを判定する。
【００６５】
通信データを受信していないと判定した場合（ステップＳ１２２；Ｎｏ）、マスタ装置１０は、ステップＳ１２８に処理を移行する。一方、通信データを受信したと判定した場合（ステップＳ１２２；Ｙｅｓ）、マスタ装置１０は、受信した通信データに含まれる対象情報により、当該通信データがサイクリック通信の対象であることが示されるか否かを判定する（ステップＳ１２３）。
【００６６】
対象情報によりサイクリック通信の対象であることが示されていないと判定した場合（ステップＳ１２３；Ｎｏ）、マスタ装置１０は、受信した通信データが例外通信の対象であると判断し、この通信データを処理する（ステップＳ１２４）。詳細には、マスタ装置１０は、その識別情報により示される周期に関わらず、受信した通信データを処理する。具体的には、受信処理部４３が、通信データを受信バッファ４３２に格納する。これにより、通信データに含まれる対象情報により通信データがサイクリック通信の例外であることが示される場合に、受信処理部４３は通信データを処理することとなる。
【００６７】
一方、対象情報によりサイクリック通信の対象であることが示されると判定した場合（ステップＳ１２３；Ｙｅｓ）、マスタ装置１０は、自機が管理している現在の周期を取得する（ステップＳ１２５）。具体的には、受信処理部４３が、主記憶部４０２に格納されている現在の周期を示すデータを読み出す。
【００６８】
次に、マスタ装置１０は、受信した通信データに含まれる識別情報により示される周期が、ステップＳ１２５にて取得した現在の周期に等しいか否かを判定する（ステップＳ１２６）。周期が等しいと判定した場合（ステップＳ１２６；Ｙｅｓ）、マスタ装置１０は、ステップＳ１２４に処理を移行する。一方、周期が等しくはないと判定した場合（ステップＳ１２６；Ｎｏ）、マスタ装置１０は、受信した通信データを破棄する（ステップＳ１２７）。これにより、サイクリック通信の対象である通信データが、その通信データにより示される周期と異なる周期で受信された場合には、当該通信データが破棄される。すなわち、通信データに含まれる対象情報により通信データがサイクリック通信の対象であることが示され、かつ、この通信データに含まれる識別情報により示される周期が現在の周期とは異なる場合に、受信処理部４３は、通信データを破棄する。
【００６９】
ステップＳ１２４又はステップＳ１２７の終了後、若しくはステップＳ１２２の判定が否定された場合、マスタ装置１０は、現在時刻が周期の更新タイミングを経過した時刻であるか否かを判定する（ステップＳ１２８）。
【００７０】
現在時刻が更新タイミングを経過していないと判定した場合（ステップＳ１２８；Ｎｏ）、マスタ装置１０は、ステップＳ１２２以降の処理を実行する。一方、現在時刻が更新タイミングを経過したと判定した場合（ステップＳ１２８；Ｙｅｓ）、マスタ装置１０は、周期を更新する（ステップＳ１２９）。具体的には、マスタ装置１０は、自機が管理している現在の周期を更新する。その後、マスタ装置１０による処理は、図１４に示されるマスタ通信処理から図６に示されるマスタ処理に戻る。
【００７１】
通信システム１０００の通信フェーズでは、以上のマスタ通信処理と並行に、図７に示されるスレーブ通信処理が実行される。スレーブ通信処理は、図１４に示されるマスタ通信処理と同等の処理である。ただし、スレーブ通信処理では、ステップＳ１２１に対応するデータの送信が、スレーブ装置３０自体が管理している周期が更新したタイミングで実行されてもよいし、マスタ装置１０からのデータの受信をトリガーとして実行されてもよい。また、ステップＳ１２２に対応する手順において、受信したと判定される通信データは、マスタ装置１０からの通信データ、及び、他のスレーブ装置からの通信データである。
【００７２】
以上、説明したように、マスタ装置１０とスレーブ装置２１，２２，３０とのいずれが一方を、通信データを送信する第１通信装置として、他方を、通信データを受信する第２通信装置としたときに、第２通信装置は、受信した通信データに含まれる対象情報により通信データがサイクリック通信の対象であることが示され、かつ該通信データに含まれる識別情報により示される周期が現在の周期とは異なる場合に、通信データを破棄する。また、第２通信装置は、通信データに含まれる対象情報により通信データがサイクリック通信の例外であることが示される場合に、通信データを処理する。このため、通信性能が異なる機器を混在させたままその通信性能を活用することができ、通信システムの効率を向上させることができる。
【００７３】
具体的には、マスタ装置１０或いはスレーブ装置２１，２２，３０である通信装置４０は、通信データがサイクリック通信の対象であるか例外であるかを、通信データを送信又は受信する装置が低速で通信するか否かに応じて変更する。これにより、マスタ装置１０及びスレーブ装置２１が高速で通信し、スレーブ装置３０が低速で通信するようなケースにおいては、マスタ装置１０とスレーブ装置２１との間でサイクリック通信が実施され、マスタ装置１０とスレーブ装置３０との間では例外通信が実施される。
【００７４】
図１６には、このようなケースにおけるデータの伝送が、識別情報６１４及び対象情報６１５の内容とともに例示されている。図１６に示されるように、スレーブ装置３０は低速であるため、スレーブ装置３０から周期Ｔ２において送信されたデータが、マスタ装置１０によって周期Ｔ３において受信されることがある。マスタ装置１０は、、このようなデータを破棄することなく、受信して処理することができる。これにより、通信性能が異なる通信装置４０を混在させたままその通信性能を活用した通信をすることができる。
【００７５】
図１７には、すべての通信装置４０がサイクリック通信を実施する比較例が示されている。この例では、低速で通信するスレーブ装置３０から周期Ｔ２において送信されたデータは、マスタ装置１０によって周期Ｔ３において受信されると破棄されてしまい、結果としてスレーブ装置３０からの情報がマスタ装置１０に伝送されることがなく、サイクリックメモリ４１がマスタ装置１０とスレーブ装置３０との間で共有されない。したがって、通信システム１０００を含むＦＡシステムの運用に不都合が生じる事態となる可能性がある。本実施の形態に係る通信システム１０００によれば、マスタ装置１０がスレーブ装置３０からのデータを受信して処理するため、上述のような事態になることを回避することができる。
【００７６】
また、通信データがサイクリック通信の対象であるか否かを示す対象情報は、通信データであるフレームのヘッダ部に格納された。このため、通信データを受信した通信装置４０は、データ部を確認する前であっても、ヘッダ部を確認するだけで、通信データがサイクリック通信の対象であるか否かを判定することができる。
【００７７】
なお、例外通信をすることで、周期それぞれの内にすべての通信装置４０で共有されることが保証されなくなってしまうが、低速に通信する機器についてはそのような保証がされないことを加味した運用をすればよい。
【００７８】
また、通信データを送信する第１通信装置は、自機がソフトウェア処理に従って通信する場合に、サイクリック通信の例外であることを示す対象情報を含む通信データを送信する。このため、低速で通信する第１通信装置から送信される通信データが例外通信の対象とされ、適当な通信データを例外通信の対象とすることができる。
【００７９】
また、通信データを送信する第１通信装置は、他の通信装置より低速で通信する場合に、サイクリック通信の例外であることを示す対象情報を含む通信データを送信する。このため、低速で通信する第１通信装置から送信される通信データが例外通信の対象とされ、適当な通信データを例外通信の対象とすることができる。
【００８０】
また、通信データを送信する第１通信装置は、通信データの送信先である第２通信装置からの通知に応じて、サイクリック通信の例外であることを示す対象情報を含む通信データを送信する。具体的には、スレーブ装置２１，２２，３０が、図８中のステップＳ１１２の通知を受けて、例外通信を実施する。また、マスタ装置１０が、スレーブ装置２１，２２，３０が低速であることの通知として、図８中のステップＳ１１５に示されるように装置情報を受信して、例外通信を実施する。これにより、低速である通信装置４０の通信相手が、当該通信装置４０と互いに例外通信を実施することができる。低速で通信する装置は、送信するタイミングを制御することができない可能性があり、さらに、高速な周期で送信された通信データをすべて受信して処理することができない可能性がある。このため、低速である通信装置４０の通信相手も、例外通信を実施することが望ましい。
【００８１】
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態によって限定されるものではない。
【００８２】
例えば、通信装置４０の数は、図１に例示した数に限られず、任意に変更してもよい。
【００８３】
また、第１通信装置が低速であることが、１ｂｉｔのフラグにより通知される例について説明したが、これには限定されない。例えば、第１通信装置は、第２通信装置がソフトウェア処理に従って通信することの通知を受けて、この通知に応じて例外通信を実施してもよい。第２通信装置は、自機がソフトウェア通信に従って通信することを第１通信装置に通知してもよい。このような通知は、例えば、２ｂｉｔ以上のコードで表されるパターンにより実現される。
【００８４】
また、マスタ装置１０が装置情報を収集する際に、スレーブ装置２１，２２，３０が、装置情報を送信するとともに自機がサイクリック通信を実施するか例外通信を実施するかを決定する例について説明したが、これには限定されない。例えば、図１８に示されるように、マスタ装置１０が、収集した装置情報に応じて、サイクリック通信又は例外通信のいずれか一方を実施することを各スレーブ装置に指示し、各スレーブ装置は、この指示に従ってサイクリック通信又は例外通信を実施してもよい。例えば、マスタ装置１０が、収集した装置情報により一のスレーブ装置が低速で通信することが示される場合に、当該一のスレーブ装置に対して、サイクリック通信の例外であることを示す対象情報を含む通信データを送信することを指示してもよい。この指示は、図９に示される形式のフレーム６０によりなされてもよい。
【００８５】
なお、図１８においては、マスタ装置１０とスレーブ装置３０とが互いに例外通信を実施することなく、マスタ装置１０が、すべてのスレーブ装置に対してサイクリック通信の対象である通信データを送信する例について示されている。上記実施の形態では、互いに例外通信をするペアとなる通信装置が決定される例について説明した。しかしながら、図１８に示されるように、低速で通信する第１通信装置が、例外通信の対象である通信データを送信し、この通信データを受信する第２通信装置は、サイクリック通信の例外として通信データを扱い、第１通信装置に対しては、サイクリック通信の対象となる通信データを送信してもよい。
【００８６】
また、例外通信の対象である通信データは、識別情報６１４を含まなくてもよい。この通信データを受信した通信装置４０は、識別情報６１４の有無に関わらず、通信データを処理すればよい。
【００８７】
また、通信装置４０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【００８８】
例えば、プロセッサ４０１によって実行されるプログラムＰ１を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムＰ１をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read−Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto−Optical Disc）が考えられる。
【００８９】
また、プログラムＰ１をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
【００９０】
また、通信ネットワークを介してプログラムＰ１を転送しながら起動実行することによっても、上述の処理を達成することができる。
【００９１】
さらに、プログラムＰ１の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
【００９２】
なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【００９３】
また、通信装置４０の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【００９４】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【００９５】
本発明は、通信性能が異なる複数の通信装置の運用に適している。
【符号の説明】
【００９６】
１０００  通信システム、  １０  マスタ装置、  ２１，２２，３０  スレーブ装置、  ４０  通信装置、  ４１  サイクリックメモリ、  ４２  通信インタフェース、  ４３  受信処理部、  ４３１  受信データ解析部、  ４３２  受信バッファ、  ４４  送信処理部、  ４４１  送信データ生成部、  ４４２  送信バッファ、  ４０１  プロセッサ、  ４０２  主記憶部、  ４０３  補助記憶部、  ４０４  入力部、  ４０５  出力部、  ４０６  通信部、  ５０  通信ネットワーク、  ６０  フレーム、  ６１  ヘッダ部、  ６１１  送信先アドレス、  ６１２  送信元アドレス、  ６１３  フレーム種別情報、  ６１４  識別情報、  ６１５  対象情報、  ６２  データ部、  ６２１  指示情報、  ６２２  装置情報、  ６３  フッタ部、  Ａ１０，Ａ２１，Ａ２２，Ａ３０  記憶領域、  Ｐ１  プログラム。
【要約】
通信システム（１０００）は、サイクリックメモリ（４１）に記憶される記憶データを共有するための通信を予め定められた周期毎に実施するマスタ装置（１０）及びスレーブ装置（３０）を有する。マスタ装置（１０）によって送信される通信データは、該通信データに関する周期を該周期の前後の他の周期と識別して示す識別情報と、該通信データが周期毎の通信の対象であるか又は該対象から除外される例外であるかを示す対象情報と、を含む。スレーブ装置（３０）は、通受信した通信データに含まれる対象情報により通信データが対象であることが示され、かつ該通信データに含まれる識別情報により示される周期が現在の周期とは異なる場合に、通信データを破棄し、通信データに含まれる対象情報により通信データが例外であることが示され、かつ該通信データに含まれる識別情報により示される周期が現在の周期とは異なる場合に、通信データを処理する。【図１】
0006570804.tif 000002
【図２】
0006570804.tif 000003
【図３】
0006570804.tif 000004
【図４】
0006570804.tif 000005
【図５】
0006570804.tif 000006
【図６】
0006570804.tif 000007
【図７】
0006570804.tif 000008
【図８】
0006570804.tif 000009
【図９】
0006570804.tif 000010
【図１０】
0006570804.tif 000011
【図１１】
0006570804.tif 000012
【図１２】
0006570804.tif 000013
【図１３】
0006570804.tif 000014
【図１４】
0006570804.tif 000015
【図１５】
0006570804.tif 000016
【図１６】
0006570804.tif 000017
【図１７】
0006570804.tif 000018
【図１８】
0006570804.tif 000019