(57)【要約】【課題】パケットにシーケンス番号を設定し、または受信パケット数を受信側から送信側へ通知しなくても、パケットの消失を検出できるようにすることを目的とする。【解決手段】送信側制御装置１１０は、制御周期１０３毎に所定の予定パケット数１０２のパケットを送信する。受信側制御装置２００は、制御情報記憶部２９０と、パケット受信部２１０と、受信パケット計数部２２０と、パケット受信異常検出部２３０とを備える。制御情報記憶部２９０は、予定パケット数１０２を予め記憶する。パケット受信部２１０は、送信側制御装置１１０により送信されたパケット１０１を受信する。受信パケット計数部２２０は、受信されたパケット１０１の数を制御周期１０３毎に数える。パケット受信異常検出部２３０は、受信パケット数２２１と予定パケット数１０２とを制御周期１０３毎に比較し、受信できなかったパケット１０１の有無を判定する。【選択図】図３
2012124747.tif 000002
【特許請求の範囲】
【請求項１】
所定の制御周期でパケットを通信する送信装置と受信装置とを有するサイクリック通信システムにおいて、
前記送信装置は、制御周期毎に所定の予定パケット数のパケットを送信し、
前記受信装置は、
予定パケット数を記憶する予定パケット数記憶部と、
前記送信装置により送信されたパケットを受信するパケット受信部と、
前記パケット受信部により受信されたパケットの数を制御周期毎に受信パケット数として数える受信パケット計数部と、
前記受信パケット計数部により数えられた受信パケット数と前記予定パケット数記憶部に記憶された予定パケット数とを制御周期毎に比較し、受信できなかったパケットの有無を制御周期毎に判定するパケット受信判定部とを備える
ことを特徴とするサイクリック通信システム。
【請求項２】
前記サイクリック通信システムは、複数の送信装置を有し、
前記予定パケット数記憶部は、送信装置毎に予定パケット数を記憶し、
前記受信パケット計数部は、送信装置毎に制御周期内の受信パケット数を数え、
前記パケット受信判定部は、送信装置毎に制御周期内に受信できなかったパケットの有無を判定する
ことを特徴とする請求項１記載のサイクリック通信システム。
【請求項３】
前記受信装置は、さらに、
予定パケット数を入力し、入力した予定パケット数を前記予定パケット数記憶部に記憶する予定パケット数設定部を備える
ことを特徴とする請求項１または請求項２記載のサイクリック通信システム。
【請求項４】
前記受信装置は、さらに
制御周期を記憶する制御周期記憶部と、
制御周期を入力し、入力した制御周期を前記制御周期記憶部に記憶する制御周期設定部とを備え、
前記受信パケット計数部は、前記制御周期記憶部に記憶された制御周期に基づいて、受信パケット数を制御周期毎に数え、
前記パケット受信判定部は、前記制御周期記憶部に記憶された制御周期に基づいて、受信できなかったパケットの有無を制御周期毎に判定する
ことを特徴とする請求項１から請求項３いずれかに記載のサイクリック通信システム。
【請求項５】
送信装置から制御周期毎に送信されるパケットの予定数を予定パケット数として記憶する予定パケット数記憶部と、
前記送信装置により送信されたパケットを受信するパケット受信部と、
前記パケット受信部により受信されたパケットの数を制御周期毎に受信パケット数として数える受信パケット計数部と、
前記受信パケット計数部により数えられた受信パケット数と前記予定パケット数記憶部に記憶された予定パケット数とを制御周期毎に比較し、受信できなかったパケットの有無を制御周期毎に判定するパケット受信判定部と
を備えることを特徴とする受信装置。
【請求項６】
所定の制御周期でパケットを通信する送信装置と受信装置とを有するサイクリック通信システムのサイクリック通信方法において、
前記送信装置が、制御周期毎に所定の予定パケット数のパケットを送信し、
前記受信装置が、予定パケット数を記憶する予定パケット数記憶部を備え、
前記受信装置のパケット受信部が、前記送信装置により送信されたパケットを受信し、
前記受信装置の受信パケット計数部が、前記パケット受信部により受信されたパケットの数を制御周期毎に受信パケット数として数え、
前記受信装置のパケット受信判定部が、前記受信パケット計数部により数えられた受信パケット数と前記予定パケット数記憶部に記憶された予定パケット数とを制御周期毎に比較し、受信できなかったパケットの有無を制御周期毎に判定する
ことを特徴とするサイクリック通信システムのサイクリック通信方法。
【請求項７】
送信装置から制御周期毎に送信されるパケットの予定数を予定パケット数として記憶する予定パケット数記憶部を備え、
パケット受信部が、前記送信装置により送信されたパケットを受信し、
受信パケット計数部が、前記パケット受信部により受信されたパケットの数を制御周期毎に受信パケット数として数え、
パケット受信判定部が、前記受信パケット計数部により数えられた受信パケット数と前記予定パケット数記憶部に記憶された予定パケット数とを制御周期毎に比較し、受信できなかったパケットの有無を制御周期毎に判定する
ことを特徴とする受信装置の受信方法。
【請求項８】
送信装置から制御周期毎に送信されるパケットの予定数を予定パケット数として記憶する予定パケット数記憶部を用いる受信プログラムにおいて、
前記送信装置により送信されたパケットを受信するパケット受信処理と、
前記パケット受信処理により受信されたパケットの数を制御周期毎に受信パケット数として数える受信パケット計数処理と、
前記受信パケット計数処理により数えられた受信パケット数と前記予定パケット数記憶部に記憶された予定パケット数とを制御周期毎に比較し、受信できなかったパケットの有無を制御周期毎に判定するパケット受信判定処理と
をコンピュータに実行させる受信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サイクリック通信を行うサイクリック通信システム、受信装置、サイクリック通信システムのサイクリック通信方法、受信装置の受信方法および受信プログラムに関するものである。
【背景技術】
【０００２】
特許文献１には、パケットにシーケンス番号を設定してサイクリック通信を監視する技術が開示されている。受信側の端末は、シーケンス番号の連続性が確認できなかった場合にエラーを通知する。
この技術により、受信すべきパケットが受信できなかったことを検出することができる。
しかし、パケットに設定できるシーケンス番号は有限であるため、シーケンス番号が一巡する個数のパケットがネットワークで消失してしまうとパケットの消失を検出することができない。この課題を解決するためには、タイマを併用するなど別な仕組みが必要である。
【０００３】
特許文献２には、受信側で計数した受信パケット数をパケットの消失を検出するために受信側から送信側へ通知することが記載されている。
この技術には、受信パケット数を設定したパケットがネットワークで消失してしまうと送信側でパケットの消失を検出できない、という課題がある。
また、本来のパケット通信で使用する通信帯域とは別に、受信側から送信側へ受信パケット数を通知するために通信帯域が必要になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４１４７３号公報
【特許文献２】特開２００９−１３０７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、例えば、パケットにシーケンス番号を設定し、または受信パケット数を受信側から送信側へ通知しなくても、パケットの消失を検出できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明のサイクリック通信システムは、所定の制御周期でパケットを通信する送信装置と受信装置とを有する。
前記送信装置は、制御周期毎に所定の予定パケット数のパケットを送信し、
前記受信装置は、
予定パケット数を記憶する予定パケット数記憶部と、
前記送信装置により送信されたパケットを受信するパケット受信部と、
前記パケット受信部により受信されたパケットの数を制御周期毎に受信パケット数として数える受信パケット計数部と、
前記受信パケット計数部により数えられた受信パケット数と前記予定パケット数記憶部に記憶された予定パケット数とを制御周期毎に比較し、受信できなかったパケットの有無を制御周期毎に判定するパケット受信判定部とを備える。
【発明の効果】
【０００７】
本発明によれば、例えば、パケットにシーケンス番号を設定し、または受信パケット数を受信側から送信側へ通知しなくても、パケットの消失を検出することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１におけるサイクリック通信システム１００の構成図。
【図２】実施の形態１におけるサイクリック通信方法を示すフローチャート。
【図３】実施の形態１における受信側制御装置２００の機能構成図。
【図４】実施の形態１におけるパケット数管理テーブル２９１を示す図。
【図５】実施の形態１におけるサイクリック通信処理（受信側）を示すフローチャート。
【図６】実施の形態１における受信パケット計数処理（Ｓ２１０）のフローチャート。
【図７】実施の形態１における受信パケット数比較処理（Ｓ２２０）のフローチャート。
【図８】実施の形態１における受信側制御装置２００および送信側制御装置１１０のハードウェア資源の一例を示す図。
【図９】実施の形態２におけるサイクリック通信システム１００の構成図。
【図１０】実施の形態２におけるパケット数管理テーブル２９１を示す図。
【図１１】実施の形態２における受信パケット計数処理（Ｓ２１０）のフローチャート。
【図１２】実施の形態２における受信パケット数比較処理（Ｓ２２０）のフローチャート。
【図１３】実施の形態３における受信側制御装置２００の機能構成図。
【図１４】実施の形態３における制御情報設定処理のフローチャート。
【発明を実施するための形態】
【０００９】
実施の形態１．
周期的に通信を行うサイクリック通信システムについて説明する。
【００１０】
図１は、実施の形態１におけるサイクリック通信システム１００の構成図である。
実施の形態１におけるサイクリック通信システム１００の構成について、図１に基づいて説明する。
【００１１】
サイクリック通信システム１００は、送信側制御装置１１０（送信装置の一例）と受信側制御装置２００（受信装置の一例）とネットワーク１０９とを備える。
送信側制御装置１１０と受信側制御装置２００は、ネットワーク１０９に接続し、ネットワーク１０９を介してパケット１０１をサイクリック通信する。
サイクリック通信とは、周期的に行う通信のことである。
【００１２】
図２は、実施の形態１におけるサイクリック通信方法を示すフローチャートである。
実施の形態１におけるサイクリック通信方法の処理の概要について、図２に基づいて説明する。
【００１３】
Ｓ１１０において、送信側制御装置１１０と受信側制御装置２００とのそれぞれの電源を入れると、送信側制御装置１１０と受信側制御装置２００はリセットされ、制御情報（例えば、後述する予定パケット数１０２や制御周期１０３）が所定の記憶部（例えば、後述する制御情報記憶部２９０）に設定される。
これにより、送信側制御装置１１０と受信側制御装置２００は、サイクリック通信が可能な状態となる。
そして、送信側制御装置１１０と受信側制御装置２００は、同期を取ってサイクリック通信を開始する。
【００１４】
例えば、送信側制御装置１１０と受信側制御装置２００は、ネットワーク１０９に接続するシステム監視装置（図示省略）に通信可能状態を通知し、両方の制御装置から通知を受けたシステム監視装置は、両方の制御装置へサイクリック通信の開始を通知する。送信側制御装置１１０と受信側制御装置２００は、システム監視装置から通知を受けたときにサイクリック通信を開始する。
または、受信側制御装置２００が通信可能状態を送信側制御装置１１０へ通知し、通知を受けた送信側制御装置１１０がサイクリック通信の開始を受信側制御装置２００へ通知する。そして、送信側制御装置１１０と受信側制御装置２００は、サイクリック通信を開始する。
【００１５】
Ｓ１２０において、送信側制御装置１１０は、制御周期内の所定のタイミングで所定の予定パケット数のパケット１０１をネットワーク１０９を介して受信側制御装置２００へ送信する。
受信側制御装置２００は、送信側制御装置１１０により送信されたパケット１０１をネットワーク１０９を介して受信する。
【００１６】
Ｓ１３０において、受信側制御装置２００は、受信したパケット１０１の数と所定の予定パケット数とを比較し、ネットワーク１０９でのパケット消失の有無を判定する。
受信したパケット１０１の数と予定パケット数とが一致しなければ、つまり、受信したパケット１０１の数が予定パケット数より少なければ、幾つかのパケット１０１がネットワーク１０９で消失したものと考えられる。
【００１７】
コンフィグレーション処理（Ｓ１１０）は、サイクリック通信システム１００の起動時に実行する。
また、サイクリック通信処理（Ｓ１２０、Ｓ１３０）は、所定の制御周期毎に実行する。
【００１８】
以下、サイクリック通信システム１００の詳細について説明する。
【００１９】
図３は、実施の形態１における受信側制御装置２００の機能構成図である。
実施の形態１における受信側制御装置２００の機能構成について、図３に基づいて説明する。
【００２０】
受信側制御装置２００（受信装置の一例）は、パケット受信部２１０、受信パケット計数部２２０、パケット受信異常検出部２３０、周期測定部２４０および制御情報記憶部２９０を備える。
【００２１】
制御情報記憶部２９０（予定パケット数記憶部、制御周期記憶部の一例）は、受信側制御装置２００で使用する各種データを記憶する記憶部（メモリ、レジスタなど）である。
パケット数管理テーブル２９１、予定パケット数１０２、受信パケット数２２１および制御周期１０３は、制御情報記憶部２９０に記憶されるデータの一例である。
【００２２】
制御周期１０３は、サイクリック通信システム１００の通信周期（通信間隔）として時間（例えば、秒）の値を示す。
予定パケット数１０２は、制御周期１０３に通信するパケット１０１の数を示す。
受信パケット数２２１は、パケット受信部２１０が受信したパケット１０１の数を示す。
パケット数管理テーブル２９１は、予定パケット数１０２と受信パケット数２２１とを対応付けたデータである。
【００２３】
コンフィグレーション処理（図２、Ｓ１１０）において、パケット数管理テーブル２９１は制御情報記憶部２９０に記憶され、予定パケット数１０２はパケット数管理テーブル２９１に設定され、制御周期１０３は制御情報記憶部２９０に設定される。
また、受信パケット数２２１は、コンフィグレーション処理により「０」に初期化され、パケット１０１が受信される度に「１」を加算され、制御周期１０３毎に「０」に初期化される。
【００２４】
パケット受信部２１０は、送信側制御装置１１０により送信されたパケット１０１を受信する。
【００２５】
受信パケット計数部２２０は、パケット数管理テーブル２９１を用いて、パケット受信部２１０により受信されたパケット１０１の数を制御周期１０３毎に受信パケット数２２１として数える。
【００２６】
パケット受信異常検出部２３０（パケット受信判定部の一例）は、受信パケット計数部２２０により数えられた受信パケット数２２１と、パケット数管理テーブル２９１に設定された予定パケット数１０２とを制御周期１０３毎に比較する。
そして、パケット受信異常検出部２３０は、受信できなかったパケット１０１の有無（パケット消失の有無）を制御周期１０３毎に判定する。
【００２７】
周期測定部２４０は、制御周期１０３を測定し、制御周期１０３が切り替わるタイミングを検出する。
【００２８】
図４は、実施の形態１におけるパケット数管理テーブル２９１を示す図である。
図４に示すように、パケット数管理テーブル２９１は、予定パケット数１０２と受信パケット数２２１とを対応付けたデータである。
予定パケット数１０２は、コンフィグレーション処理（図２、Ｓ１１０）でパケット数管理テーブル２９１に設定される。
受信パケット数２２１は、コンフィグレーション処理でパケット数管理テーブル２９１に初期設定（初期値「０」）され、パケット１０１が受信される度に「１」加算され、制御周期１０３毎に初期化される。
【００２９】
図５は、実施の形態１におけるサイクリック通信処理（受信側）を示すフローチャートである。
受信側制御装置２００のサイクリック通信処理について、図５に基づいて説明する。
【００３０】
送信側制御装置１１０には、受信側制御装置２００と同様に、予定パケット数１０２と制御周期１０３とがコンフィグレーション処理（図２、Ｓ１１０）により記憶される。
サイクリック通信処理が開始されると、送信側制御装置１１０は、制御周期１０３毎に予定パケット数１０２のパケット１０１を受信側制御装置２００へ送信する。
【００３１】
Ｓ２０１において、周期測定部２４０は、制御情報記憶部２９０を参照し、制御周期１０３を設定した制御周期タイマを起動する。
制御周期タイマは、起動後の経過時間を測定し、制御周期１０３が経過したときに周期測定部２４０にタイムアウトを通知する。
Ｓ２０１の後、Ｓ２０２に進む。
【００３２】
Ｓ２０２において、制御周期タイマがタイムアウトした場合（ＹＥＳ）、Ｓ２２０に進む。
制御周期タイマがタイムアウトしていない場合（ＮＯ）、Ｓ２０３に進む。
【００３３】
Ｓ２０３において、パケット受信部２１０は、送信側制御装置１１０から到達したパケット１０１を検出すると、検出したパケット１０１を所定の通信バッファに記憶する。以下、検出したパケット１０１を所定の通信バッファに記憶することを「受信」という。
パケット受信部２１０がパケット１０１を受信した場合（ＹＥＳ）、Ｓ２１０に進む。
パケット受信部２１０がパケット１０１を受信しなかった場合（ＮＯ）、Ｓ２０２に戻る。
【００３４】
Ｓ２１０において、受信パケット計数部２２０は、現在動作している制御周期タイマが起動してから現在までにパケット受信部２１０が受信したパケット１０１の数（受信パケット数２２１）を以下のようにして数える。
【００３５】
図６は、実施の形態１における受信パケット計数処理（Ｓ２１０）のフローチャートである。
実施の形態１における受信パケット計数処理（Ｓ２１０）について、図６に基づいて説明する。
【００３６】
受信パケット計数部２２０は、パケット数管理テーブル２９１を参照し、受信パケット数２２１を取得する（Ｓ２１１）。
受信パケット計数部２２０は、取得した受信パケット数２２１に「１」を加算して新たな受信パケット数２２１を算出する（Ｓ２１２）。
受信パケット計数部２２０は、算出した新たな受信パケット数２２１をパケット数管理テーブル２９１に設定して受信パケット数２２１を更新する（Ｓ２１３）。
Ｓ２１０の後、Ｓ２０２に戻る。
【００３７】
図５に戻り、サイクリック通信処理（受信側）の説明を続ける。
【００３８】
Ｓ２２０において、パケット受信異常検出部２３０は、受信パケット数２２１と予定パケット数１０２とが一致するか否かを以下のように判定する。
受信パケット数２２１と予定パケット数１０２とが一致した場合（ＹＥＳ）、Ｓ２４１に進む。
受信パケット数２２１と予定パケット数１０２とが一致しなかった場合（ＮＯ）、Ｓ２３０に進む。
【００３９】
図７は、実施の形態１における受信パケット数比較処理（Ｓ２２０）のフローチャートである。
実施の形態１における受信パケット数比較処理（Ｓ２２０）について、図７に基づいて説明する。
【００４０】
パケット受信異常検出部２３０は、パケット数管理テーブル２９１を参照し、受信パケット数２２１を取得する（Ｓ２２１）。
パケット受信異常検出部２３０は、パケット数管理テーブル２９１を参照し、予定パケット数１０２を取得する（Ｓ２２２）。
パケット受信異常検出部２３０は、受信パケット数２２１と予定パケット数１０２とを比較する（Ｓ２２３）。
【００４１】
図５に戻り、サイクリック通信処理（受信側）の説明を続ける。
【００４２】
Ｓ２３０において、パケット受信異常検出部２３０は、パケット１０１がネットワーク１０９で消失したこと、つまり、受信できなかったパケット１０１が有ることを示すパケット消失情報２３１を生成し、生成したパケット消失情報２３１を出力する。
例えば、パケット受信異常検出部２３０は、パケット消失情報２３１をディスプレイ装置に表示し、またはサイクリック通信システム１００のシステム監視装置に送信する。
Ｓ２３０の後、Ｓ２４１に進む。
【００４３】
Ｓ２４１において、受信パケット計数部２２０は、パケット数管理テーブル２９１を参照し、パケット数管理テーブル２９１に設定されている受信パケット数２２１を「０」に更新する。
Ｓ２４１の後、Ｓ２０１に戻る。
【００４４】
Ｓ２０１において、周期測定部２４０は、新たに制御周期タイマを起動する。
【００４５】
以上のように、受信側制御装置２００は、制御周期１０３毎に受信パケット数２２１と予定パケット数１０２とを比較し、パケット１０１がネットワーク１０９で消失したか否かを判定する。
【００４６】
図８は、実施の形態１における受信側制御装置２００および送信側制御装置１１０のハードウェア資源の一例を示す図である。
図８において、受信側制御装置２００および送信側制御装置１１０は、ＣＰＵ９０１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ９０１は、バス９０２を介してＲＯＭ９０３、ＲＡＭ９０４、通信ボード９０５、ディスプレイ装置９１１、キーボード９１２、マウス９１３、ドライブ装置９１４、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。ドライブ装置９１４は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などの記憶媒体を読み書きする装置である。
【００４７】
通信ボード９０５は、有線または無線で、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット、電話回線などの通信網に接続している。
【００４８】
磁気ディスク装置９２０には、ＯＳ９２１（オペレーティングシステム）、プログラム群９２２、ファイル群９２３が記憶されている。
【００４９】
プログラム群９２２には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、ＣＰＵ９０１により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【００５０】
ファイル群９２３には、実施の形態において説明する「〜部」で使用される各種データ（入力、出力、判定結果、計算結果、処理結果など）が含まれる。
【００５１】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【００５２】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【００５３】
実施の形態１において、例えば、以下のようなサイクリック通信システム１００について説明した。
【００５４】
サイクリック通信システム１００は、ネットワーク１０９を介して接続された送信側制御装置１１０と受信側制御装置２００とを有する。
送信側制御装置１１０と受信側制御装置２００は、パケット１０１の送受信によってデータ転送を行う。
送信側制御装置１１０と受信パケット計数部２２０はデータ転送をサイクリックに行う。送信側制御装置１１０は、一定周期（制御周期１０３）毎にパケット１０１を受信側制御装置２００に送信する。
受信側制御装置２００は、パケット検出手段（パケット受信部２１０）、パケット数記憶手段（制御情報記憶部２９０）、受信パケット数計数手段（受信パケット計数部２２０）、制御周期記憶手段（制御情報記憶部２９０）、期間測定手段（周期測定部２４０）およびパケット受信異常検出手段（パケット受信異常検出部２３０）を備える。パケット数記憶手段は、予め予測された受信すべきパケット数（予定パケット数１０２）と受信したパケット数（受信パケット数２２１）とを保持する。
【００５５】
受信側制御装置２００は、１制御周期内の受信すべきパケット個数（予定パケット数１０２）のパケット１０１を受信したか否かを判断する。
例えば、受信側制御装置２００がパケット消失を検出したことをシステム監視装置に通知することにより、システム動作としてパケット１０１が受信できなかったことへの対応が可能となる。
【００５６】
サイクリック通信システム１００は、特許文献２のようにパケット消失の有無を判定するために受信側から送信側へ受信パケット数を通知する必要がないため、受信パケット数を通知するパケット自体が消失してパケット消失の有無を判定できなくなることがない。
また、サイクリック通信システム１００は、受信側から送信側へ受信パケット数を通知するための通信帯域を用意する必要がない。
【００５７】
実施の形態２．
送信側制御装置１１０が複数存在する形態について説明する。
以下、実施の形態１と異なる事項について主に説明する。説明を省略する事項は実施の形態１と同様である。
【００５８】
図９は、実施の形態２におけるサイクリック通信システム１００の構成図である。
実施の形態２におけるサイクリック通信システム１００について、図９に基づいて説明する。
【００５９】
サイクリック通信システム１００は、複数の送信側制御装置１１０を有する。
また、サイクリック通信システム１００は、パケット中継装置１２０を有する。
【００６０】
各送信側制御装置１１０は、自己を識別する識別子を「送信元ＩＤ」としてパケット１０１に設定する。
【００６１】
サイクリック通信システム１００の制御周期１０３は複数の割当時間に時分割され、各送信側制御装置１１０にはいずれかの割当時間が割り当てられる。
各送信側制御装置１１０は、自己に割り当てられた割当時間にパケット１０１を送信する。つまり、各送信側制御装置１１０は時分割で通信を行う。
【００６２】
パケット中継装置１２０は、各送信側制御装置１１０により送信されたパケット１０１をネットワーク１０９を介して受信し、受信したパケット１０１を受信側制御装置２００へ転送する。つまり、パケット中継装置１２０は、送信側制御装置１１０により送信されたパケット１０１を受信側制御装置２００へ転送する。
【００６３】
受信側制御装置２００の機能構成は、実施の形態１（図３参照）と同様である。
【００６４】
但し、制御情報記憶部２９０（予定パケット数記憶部の一例）は、パケット数管理テーブル２９１を用いて、送信側制御装置１１０毎に予定パケット数１０２を記憶する。
【００６５】
受信パケット計数部２２０は、送信側制御装置１１０毎に制御周期１０３内の受信パケット数２２１を数える。
【００６６】
パケット受信異常検出部２３０（パケット受信判定部の一例）は、送信側制御装置１１０毎に制御周期１０３内に受信できなかったパケット１０１の有無を判定する。
【００６７】
図１０は、実施の形態２におけるパケット数管理テーブル２９１を示す図である。
実施の形態２におけるパケット数管理テーブル２９１について、図１０に基づいて説明する。
【００６８】
パケット数管理テーブル２９１は、送信側制御装置１１０の識別子（図中の「送信側制御装置」）と予定パケット数１０２と受信パケット数２２１とを対応付けたデータである。
以下、送信側制御装置１１０の識別子と予定パケット数１０２と受信パケット数２２１との組み合わせを「レコード」という。レコードは、図１０の一行に相当する。
【００６９】
サイクリック通信方法の処理の流れは、実施の形態１（図２参照）と同様である。
但し、コンフィグレーション処理（Ｓ１１０）では、複数の送信側制御装置１１０と受信側制御装置２００とが同期を取ってサイクリック通信を開始する。
【００７０】
例えば、各送信側制御装置１１０および受信側制御装置２００は、通信可能状態を特定の送信側制御装置１１０（またはシステム監視装置）に通知する。
全ての送信側制御装置１１０および受信側制御装置２００から通知を受けた特定の送信側制御装置１１０（またはシステム監視装置）は、全ての送信側制御装置１１０および受信側制御装置２００へサイクリック通信の開始を通知する。
各送信側制御装置１１０と受信側制御装置２００は、サイクリック通信の開始通知を受けたときにサイクリック通信を開始する。
【００７１】
サイクリック通信処理（受信側）の流れは、実施の形態１（図５参照）と同様である。
但し、送信側制御装置１１０が複数存在することに伴い、処理内容が一部異なる。
実施の形態２におけるサイクリック通信処理（受信側）について、図５に基づいて説明する。
【００７２】
Ｓ２０１において、周期測定部２４０は、制御情報記憶部２９０を参照し、制御周期１０３を設定した制御周期タイマを起動する。
Ｓ２０１の後、Ｓ２０２に進む。
【００７３】
Ｓ２０２において、制御周期タイマがタイムアウトした場合（ＹＥＳ）、Ｓ２２０に進む。
制御周期タイマがタイムアウトしていない場合（ＮＯ）、Ｓ２０３に進む。
【００７４】
Ｓ２０３において、パケット受信部２１０がパケット１０１を受信した場合（ＹＥＳ）、Ｓ２１０に進む。
パケット受信部２１０がパケット１０１を受信しなかった場合（ＮＯ）、Ｓ２０２に戻る。
【００７５】
Ｓ２１０において、受信パケット計数部２２０は、以下のようにして、送信側制御装置１１０毎に受信パケット数２２１を数える。
Ｓ２１０の後、Ｓ２０２に戻る。
【００７６】
図１１は、実施の形態２における受信パケット計数処理（Ｓ２１０）のフローチャートである。
実施の形態２における受信パケット計数処理（Ｓ２１０）について、図１１に基づいて説明する。
【００７７】
各パケット１０１には送信元の送信側制御装置１１０を識別する「送信元ＩＤ」が設定されている。
【００７８】
受信パケット計数部２２０は、パケット受信部２１０が受信したパケット１０１を参照し、パケット１０１に設定されている「送信元ＩＤ」を取得する（Ｓ２１１Ｂ）。
受信パケット計数部２２０は、パケット数管理テーブル２９１を参照し、送信元ＩＤに対応する受信パケット数２２１を取得する（Ｓ２１２Ｂ）。
受信パケット計数部２２０は、受信パケット数２２１に「１」を加算して新たな受信パケット数２２１を算出する（Ｓ２１３Ｂ）。
受信パケット計数部２２０は、算出した新たな受信パケット数２２１をパケット数管理テーブル２９１に設定して送信元ＩＤに対応する受信パケット数２２１を更新する（Ｓ２１４Ｂ）。
【００７９】
図５に戻り、サイクリック通信処理（受信側）の説明を続ける。
【００８０】
Ｓ２２０において、パケット受信異常検出部２３０は、以下のようにして、送信側制御装置１１０毎に受信パケット数２２１と予定パケット数１０２とを比較する。
全ての送信側制御装置１１０について受信パケット数２２１と予定パケット数１０２とが一致した場合（ＹＥＳ）、Ｓ２４１に進む。
少なくともいずれかの送信側制御装置１１０について受信パケット数２２１と予定パケット数１０２とが一致しなかった場合（ＮＯ）、Ｓ２３０に進む。
【００８１】
図１２は、実施の形態２における受信パケット数比較処理（Ｓ２２０）のフローチャートである。
実施の形態２における受信パケット数比較処理（Ｓ２２０）について、図１２に基づいて説明する。
【００８２】
Ｓ２２１Ｂにおいて、パケット受信異常検出部２３０は、パケット数管理テーブル２９１から未選択のレコードを一つ選択する。
例えば、パケット受信異常検出部２３０は、パケット数管理テーブル２９１の先頭レコードから順番にレコードを一つ選択する。
以下、選択したレコードを「選択レコード」という。
Ｓ２２１Ｂの後、Ｓ２２２Ｂに進む。
【００８３】
Ｓ２２２Ｂにおいて、パケット受信異常検出部２３０は、選択レコードを参照し、受信パケット数２２１を取得する。
Ｓ２２２Ｂの後、Ｓ２２３Ｂに進む。
【００８４】
Ｓ２２３Ｂにおいて、パケット受信異常検出部２３０は、選択レコードを参照し、予定パケット数１０２を取得する。
Ｓ２２３Ｂの後、Ｓ２２４Ｂに進む。
【００８５】
Ｓ２２４Ｂにおいて、パケット受信異常検出部２３０は、受信パケット数２２１と予定パケット数１０２とを比較し、比較結果をメモリに記憶する。
Ｓ２２４Ｂの後、Ｓ２２５Ｂに進む。
【００８６】
Ｓ２２５Ｂにおいて、パケット受信異常検出部２３０は、パケット数管理テーブル２９１に未選択のレコードが残っているか否かを判定する。
未選択のレコードが残っている場合（ＹＥＳ）、Ｓ２２１Ｂに戻る。
未選択のレコードが残っていない場合（ＮＯ）、受信パケット数比較処理（Ｓ２２０）は終了する。
【００８７】
図５に戻り、サイクリック通信処理（受信側）の説明を続ける。
【００８８】
Ｓ２３０において、パケット受信異常検出部２３０は、パケット１０１がネットワーク１０９で消失したこと及び消失したパケット１０１を送信した送信側制御装置１１０の識別子を示すパケット消失情報２３１を生成し、生成したパケット消失情報２３１を出力する。
Ｓ２３０の後、Ｓ２４１に進む。
【００８９】
Ｓ２４１において、受信パケット計数部２２０は、パケット数管理テーブル２９１を参照し、パケット数管理テーブル２９１に設定されている全ての受信パケット数２２１を「０」に更新する。
Ｓ２４１の後、Ｓ２０１に戻る。
【００９０】
Ｓ２０１において、周期測定部２４０は、新たに制御周期タイマを起動する。
【００９１】
以上のように、受信側制御装置２００は、パケット１０１がネットワーク１０９で消失したか否かを送信側制御装置１１０毎に判定する。
【００９２】
実施の形態３．
予定パケット数１０２または制御周期１０３を設定する設定部を備える形態について説明する。
以下、実施の形態１、２と異なる事項について主に説明する。説明を省略する事項は実施の形態１、２と同様である。
【００９３】
サイクリック通信システム１００の構成は、実施の形態１（図１参照）と同じである。
【００９４】
図１３は、実施の形態３における受信側制御装置２００の機能構成図である。
実施の形態３における受信側制御装置２００の機能構成について、図１３に基づいて説明する。
【００９５】
受信側制御装置２００は、実施の形態１の構成（図３参照）に加えて、制御情報設定部２５０を備える。
【００９６】
制御情報設定部２５０（予定パケット数設定部、制御周期設定部の一例）は、予定パケット数１０２を入力し、入力した予定パケット数１０２をパケット数管理テーブル２９１に設定する。
制御情報設定部２５０は、制御周期１０３を入力し、入力した制御周期１０３を制御情報記憶部２９０に設定する。
【００９７】
図１４は、実施の形態３における制御情報設定処理のフローチャートである。
実施の形態３における制御情報設定処理について、図１４に基づいて説明する。
制御情報設定処理は、例えば、コンフィグレーション処理（Ｓ１１０）の一部として実行する。
【００９８】
Ｓ１１１において、利用者は、予定パケット数１０２を初期設定または変更する必要がある場合、予定パケット数１０２を受信側制御装置２００に指定（入力、記憶）する。
予定パケット数１０２が指定された場合（“要”）、Ｓ１１２に進む。
予定パケット数１０２が指定されなかった場合（“否”）、Ｓ１１３に進む。
【００９９】
Ｓ１１２において、制御情報設定部２５０は、指定された予定パケット数１０２を入力し、入力した予定パケット数１０２をパケット数管理テーブル２９１に設定する。
Ｓ１１２の後、Ｓ１１３に進む。
【０１００】
Ｓ１１３において、利用者は、制御周期１０３を初期設定または変更する必要がある場合、制御周期１０３を受信側制御装置２００に指定する。
制御周期１０３が指定された場合（“要”）、Ｓ１１４に進む。
制御周期１０３が指定されなかった場合（“否”）、コンフィグレーション処理（Ｓ１１０）は終了する。
【０１０１】
Ｓ１１４において、制御情報設定部２５０は、指定された制御周期１０３を入力し、入力した制御周期１０３を制御情報記憶部２９０に設定する。
Ｓ１１４により、制御情報設定処理は終了する。
【０１０２】
以上のように、制御情報設定部２５０を備えることにより、予定パケット数１０２や制御周期１０３を初期設定または変更することができる。
【０１０３】
実施の形態２と同様に、送信側制御装置１１０が複数存在しても構わない。
この場合、利用者は、予定パケット数１０２や制御周期１０３を送信側制御装置１１０毎に指定する。制御情報設定部２５０は、送信側制御装置１１０毎に指定された予定パケット数１０２や制御周期１０３を送信側制御装置１１０の識別子と対応付けて設定する。
【符号の説明】
【０１０４】
１００  サイクリック通信システム、１０１  パケット、１０２  予定パケット数、１０３  制御周期、１０９  ネットワーク、１１０  送信側制御装置、１２０  パケット中継装置、２００  受信側制御装置、２１０  パケット受信部、２２０  受信パケット計数部、２２１  受信パケット数、２３０  パケット受信異常検出部、２３１  パケット消失情報、２４０  周期測定部、２５０  制御情報設定部、２９０  制御情報記憶部、２９１  パケット数管理テーブル、９０１  ＣＰＵ、９０２  バス、９０３  ＲＯＭ、９０４  ＲＡＭ、９０５  通信ボード、９１１  ディスプレイ装置、９１２  キーボード、９１３  マウス、９１４  ドライブ装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  プログラム群、９２３  ファイル群。
【図１】
2012124747.tif 000003
【図２】
2012124747.tif 000004
【図３】
2012124747.tif 000005
【図４】
2012124747.tif 000006
【図５】
2012124747.tif 000007
【図６】
2012124747.tif 000008
【図７】
2012124747.tif 000009
【図８】
2012124747.tif 000010
【図９】
2012124747.tif 000011
【図１０】
2012124747.tif 000012
【図１１】
2012124747.tif 000013
【図１２】
2012124747.tif 000014
【図１３】
2012124747.tif 000015
【図１４】
2012124747.tif 000016