(57)【要約】【課題】再送制御を行う非同期型通信回線を用いてマスタ装置とスレーブ装置の動作を同期させることができる制御システムを得ること。【解決手段】マスタ装置１とスレーブ装置２−１〜２−Ｍとを備える制御システムであって、マスタ装置１は、トレーニング信号を一定周期でスレーブ装置２−１〜２−Ｍへ送信し、最後のトレーニング信号の送信時刻を基点とし一定周期に基づいて算出した命令データ送信周期で命令データを送信する命令データ生成部と、再送制御を行う非同期型通信回線処理部４と、を備え、スレーブ装置２−１は、トレーニング信号の受信間隔に基づいて参照周期の周期タイミングを求め、最新の前記周期タイミングと命令データの受信タイミングとに基づいて当該命令データの再送回数を判定し、命令データの受信タイミングと判定した再送回数とに基づいて求めた動作タイミングで命令データを従った命令動作を実施する命令動作部７と、を備える。【選択図】図１
2012120029.tif 000002
【特許請求の範囲】
【請求項１】
マスタ装置と前記マスタ装置から送信された命令データに基づいて命令動作を実施するスレーブ装置とを備える制御システムであって、
前記マスタ装置は、
トレーニング信号を一定周期で所定の回数、前記スレーブ装置へ送信するトレーニング信号送信部と、
前記所定の回数のトレーニング信号の送信時刻を基点とした前記一定周期に基づいて算出した命令データ送信周期で前記命令データを送信する命令データ生成部と、
所定の再送周期を用いて前記命令データの再送制御を行う再送制御部と、
を備え、
前記スレーブ装置は、
前記トレーニング信号の受信間隔に基づいて前記命令データの再送回数を判定するために用いる参照周期を算出し、前記参照周期の周期タイミングを求める周期タイミング生成部と、
最新の前記周期タイミングと前記命令データの受信タイミングとに基づいて当該命令データの再送回数を判定する再送回数判定部と、
前記命令データの受信タイミングと当該命令データに対応する判定した前記再送回数とに基づいて求めた動作タイミングで当該命令データを従った前記命令動作を実施する命令動作部と、
を備えることを特徴とする制御システム。
【請求項２】
前記命令データ送信周期を前記一定周期の整数倍とする、ことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記参照周期を、前記所定の回数の前記トレーニング信号の受信間隔の平均値とする、ことを特徴とする請求項１または２に記載の制御システム。
【請求項４】
前記周期タイミング生成部は、前記所定の回数の前記トレーニング信号の受信間隔の標準偏差が所定のエラー閾値を超える場合、エラー表示を行うとともに前記マスタ装置へエラーを通知する、ことを特徴とする請求項１、２または３に記載の制御システム。
【請求項５】
前記周期タイミング生成部は、前記所定の回数の前記トレーニング信号の受信間隔のうち、下限閾値を超え上限閾値未満となる前記トレーニング信号の受信間隔を用いて前記参照周期を算出する、ことを特徴とする請求項１〜４のいずれか１つに記載の制御システム。
【請求項６】
マスタ装置と前記マスタ装置から送信された命令データに基づいて命令動作を実施するスレーブ装置とを備える制御システムにおいて前記マスタ装置として動作する通信装置であって、
トレーニング信号を一定周期で所定の回数、前記スレーブ装置へ送信するトレーニング信号送信部と、
前記所定の回数のトレーニング信号の送信時刻を基点とした前記一定周期に基づいて算出した命令データ送信周期で前記命令データを送信する命令データ生成部と、
所定の再送周期を用いて前記命令データの再送制御を行う再送制御部と、
を備えることを特徴とする通信装置。
【請求項７】
マスタ装置と前記マスタ装置から送信された命令データに基づいて命令動作を実施するスレーブ装置とを備える制御システムにおいて前記スレーブ装置として動作する通信装置であって、
一定周期で前記マスタ装置から送信されるトレーニング信号の受信間隔に基づいて前記命令データの再送回数を判定するために用いる参照周期を算出し、前記参照周期の周期タイミングを求める周期タイミング生成部と、
最新の前記周期タイミングと、前記一定周期に基づいて算出された命令データ送信周期で前記マスタ装置から送信される前記命令データの受信タイミングと、に基づいて当該命令データの再送回数を判定する再送回数判定部と、
前記命令データの受信タイミングと当該命令データに対応する判定した前記再送回数とに基づいて求めた動作タイミングで当該命令データを従った前記命令動作を実施する命令動作部と、
を備えることを特徴とする通信装置。
【請求項８】
マスタ装置と前記マスタ装置から送信された命令データに基づいて命令動作を実施するスレーブ装置とを備える制御システムにおける通信方法であって、
前記マスタ装置が、トレーニング信号を一定周期で所定の回数、前記スレーブ装置へ送信するトレーニング信号送信ステップと、
前記スレーブ装置が、前記トレーニング信号の受信間隔に基づいて前記命令データの再送回数を判定するために用いる参照周期を算出し、前記参照周期の周期タイミングを求める周期タイミング生成ステップと、
前記マスタ装置が、前記所定の回数のトレーニング信号の送信時刻を基点とした前記一定周期に基づいて算出した命令データ送信周期で前記命令データを送信する命令データ生成ステップと、
前記マスタ装置が、所定の再送周期を用いて前記命令データの再送制御を行う再送制御ステップと、
前記スレーブ装置が、最新の前記周期タイミングと前記命令データの受信タイミングとに基づいて当該命令データの再送回数を判定する再送回数判定ステップと、
前記スレーブ装置が、前記命令データの受信タイミングと当該命令データに対応する判定した前記再送回数とに基づいて求めた動作タイミングで当該命令データを従った前記命令動作を実施する命令動作ステップと、
を含むことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ装置とスレーブ装置を備える制御システムに関する。
【背景技術】
【０００２】
通信方式コントローラ等のマスタ装置とサーボアンプ等のスレーブ装置とで構成される従来の制御システムでは、マスタ装置とスレーブ装置の間での命令動作を同期させるために、通信回線を用いた同期処理を行っている。この同期処理に関する技術が、例えば下記特許文献１に記載されている。
【０００３】
下記特許文献１に記載の通信方式では、マスタ装置とスレーブ装置間では通信回線上の通信周期Ｓを所定のタイムスロット（ＳＬ）に区切って通信している。下記特許文献１には、例えば、通信周期内が５個のタイムスロット（ＳＬ１〜ＳＬ５）に区切られており、マスタ装置と５台のスレーブ装置間で通信する例が示されており、マスタ装置はこれらのタイムスロット単位でスレーブ装置とそれぞれ通信を行っている。
【０００４】
この通信方式では、マスタ装置と各スレーブ装置、およびスレーブ装置間を同期させるために、マスタ装置から通信周期Ｓ毎に同期フレーム（ＳＹＮＣ）が送信され、通信回線に接続される各スレーブ装置は同期フレーム（ＳＹＮＣ）を受信したタイミングで、自身で持つクロックが同期するように構成されている。マスタ装置は各スレーブ装置に対して対応するタイムスロット（ＳＬ１〜ＳＬ５）内に命令データ送信することにより、通信周期Ｓ毎に各スレーブに対する命令データの通信周期をタイムスロットの範囲内で一定に保つ。
【０００５】
下記特許文献１に記載の通信方式では、専用の同期型回線を用いることを前提としている。マスタ装置は、送信間隔ごとに同期フレームを生成して同期型回線に送信し、スレーブ装置は受信した同期フレームの受信間隔を用いてクロックを抽出して参照クロックとする。スレーブ装置では、参照クロックに基づいて自装置の命令動作用のクロックを生成する。命令データの送受信については、マスタ装置が、適切なタイムスロット（ＳＬ）に命令データを設定してスレーブ装置へ送信し、スレーブ装置では、命令動作用のクロックを用いて命令動作を行う。これにより、スレーブ装置はマスタ装置に回線同期し、命令データの通信周期が一定に保たれ、命令動作が同期する。
【０００６】
一方、一般的な再送制御を行う非同期型通信回線を用いてマスタ装置とスレーブ装置間の送受信を行なう場合のシーケンスは以下のようになる。下記特許文献１には非同期回線を用いる例も記載されているが、再送制御については述べられていない。ここでは、初送のデータ、及び再送１回目のデータがスレーブ装置に到達せず、再送２回目のデータが到達した例を説明する。
【０００７】
まず、マスタ装置がデータを生成して非同期型通信回線を用いてスレーブ装置へ送信（初送）する。通信相手であるスレーブ装置はデータ（初送）を受信すると、本来はＡｃｋ（初送対応）を非同期型通信回線経由でマスタ装置へ送信するが、ここではデータ（初送）が何らかの通信障害でスレーブ装置へ到達しなかったとする。マスタ装置は、スレーブ装置からのＡｃｋが返送されないため、一定時間後にデータ（再送１回目）を送信する。ここでは、スレーブ装置には、データ（初送）と同様に何らかの通信障害によりデータ（再送１回目）も到達しなかったとする。マスタ装置は、スレーブ装置からのＡｃｋが返送されないため、一定時間後にデータ（再送２回目）を送信する。
【０００８】
なお、この再送を行う最大回数は、一般的には事前にシステムによって設定され、送信側のマスタ装置がデータの送達確認ができない場合、再送の最大回数まで同様の再送処理が行われる。ここでは、再送２回目でスレーブ装置にデータが到着したとし、マスタ装置は、再送２回目のデータに対するＡｃｋを受信することにより送達確認ができ、再送処理は終了する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−１８７２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来の技術によれば、再送制御を行う非同期型通信を用いる場合では、受信したデータが初送による受信であるか、再送による受信であるかにより、データ受信間隔が揺らいでしまい、通信周期が一定にならない。また、スレーブ装置では、受信したデータが初送による受信であるまたは何回目の再送であるかに関して、一般的には通信回線レイヤでのみ識別しており、データを用いて動作を行なう動作部などの上位レイヤには通知されず、命令動作がマスタ装置に同期ができない可能性がある。
【００１１】
そのため、マスタ装置とスレーブ装置を同期させるためには、同期型通信回線を使用する必要があり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）回線や無線ＬＡＮ等の汎用の再送制御を行う非同期型通信回線を使用できず、高コストになる、という問題があった。
【００１２】
本発明は、上記に鑑みてなされたものであって、再送制御を行う非同期型通信回線を用いてマスタ装置とスレーブ装置の動作を同期させることができる制御システム、通信装置および通信方法を得ることを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するために、本発明は、マスタ装置と前記マスタ装置から送信された命令データに基づいて命令動作を実施するスレーブ装置とを備える制御システムであって、前記マスタ装置は、トレーニング信号を一定周期で所定の回数、前記スレーブ装置へ送信するトレーニング信号送信部と、前記所定の回数のトレーニング信号の送信時刻を基点とした前記一定周期に基づいて算出した命令データ送信周期で前記命令データを送信する命令データ生成部と、所定の再送周期を用いて前記命令データの再送制御を行う再送制御部と、を備え、前記スレーブ装置は、前記トレーニング信号の受信間隔に基づいて前記命令データの再送回数を判定するために用いる参照周期を算出し、前記参照周期の周期タイミングを求める周期タイミング生成部と、最新の前記周期タイミングと前記命令データの受信タイミングとに基づいて当該命令データの再送回数を判定する再送回数判定部と、前記命令データの受信タイミングと当該命令データに対応する判定した前記再送回数とに基づいて求めた動作タイミングで当該命令データを従った前記命令動作を実施する命令動作部と、を備えることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、再送制御を行う非同期型通信回線を用いてマスタ装置とスレーブ装置の動作を同期させることができる、という効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態１の制御システムの構成例を示す図である。
【図２】図２は、実施の形態１のマスタ装置がスレーブ装置にトレーニング信号を送信する手順の一例を示すシーケンス図である。
【図３】図３は、トレーニング信号のフォーマットの一例を示す図である。
【図４】図４は、マスタ装置からの命令データ送信までの動作の一例を示すチャート図である。
【図５】図５は、命令データの再送を伴う場合のマスタ装置とスレーブ装置の動作の一例を示すシーケンス図である。
【図６】図６は、命令データが初送で送信されたか、または何回目の再送で送信されたかを判定する判定方法の一例を示す図である。
【図７】図７は、スレーブ装置における命令動作を行う動作タイミングの生成方法の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、本発明にかかる制御システム、通信装置および通信方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１７】
実施の形態１．
図１は、本発明にかかる制御システムの実施の形態１の構成例を示す図である。本実施の形態の制御システムは、マスタ装置１と、スレーブ装置２−１〜２−Ｍ（Ｍは１以上の整数）と、で構成される。マスタ装置１とスレーブ装置２−１〜２−Ｍとは、通信回線で接続されている。通信回線は、例えば有線ＬＡＮ回線や無線ＬＡＮ回線等の再送制御を行う非同期通信回線である。
【００１８】
マスタ装置１は、各スレーブ装置２−１〜２−Ｍに対して命令動作を行わせるための命令データを生成する命令データ生成部３と、通信回線を用いて通信を行うための下位層（例えば、レイヤ３）の処理を行う非同期型通信回線処理部（再送制御部）４と、を備える。
【００１９】
スレーブ装置２−１〜２−Ｍは、それぞれ、通信回線を用いて通信を行うための下位層（例えば、レイヤ３）の処理を行う非同期型通信回線処理部６と、マスタ装置１からの命令データに従って命令動作を行なう命令動作部７と、自装置の時間を管理する時間管理部８と、を備える。
【００２０】
なお、図１では本実施の形態にかかるブロックのみを示しており、マスタ装置１、及び各スレーブ装置２−１〜２−Ｍは、これらのブロック以外に、他の機能を持つブロックを備えていてもよい。また、図１に示す構成は本実施の形態を説明するために記載しており、本実施の形態と同様の機能を実現できれば、実装時には本構成とは別の実装構成としてもよい。
【００２１】
マスタ装置１では、命令データ生成部３が、スレーブ装置２−１〜２−Ｍに対する命令データを生成すると、非同期型通信回線処理部４へ出力する。非同期型通信回線処理部４は、命令データに通信回線で送信するための下位層の処理を実施し、処理後の命令データを通信回線経由で宛先のスレーブ装置２−１〜２−Ｍへ送信する。
【００２２】
スレーブ装置２−１〜２−Ｍでは、非同期型通信回線処理部６が、マスタ装置１から通信回線を介して命令データを受信すると、必要に応じて命令動作部７へ命令データが通知される。ここでいう、必要に応じての意味は、自装置宛の命令データであり、かつ自装置が命令動作を行う必要があると判断した場合である。命令動作部７は、命令データを通知されると、命令データに従った動作を行なう。
【００２３】
以下、本実施の形態では、通信回線が無線ＬＡＮ回線である場合を例に説明するが、通信回線は無線ＬＡＮ回線以外の再送制御を行う非同期型通信回線であっても良い。
【００２４】
図２は、本実施の形態のマスタ装置１がスレーブ装置２−１〜２−Ｍにトレーニング信号を送信する手順の一例を示すシーケンス図である。図２では、スレーブ装置２−１〜２−Ｍとして１台のみを示しているが、マスタ装置１は各スレーブ装置２−１〜２−Ｍに対して、それぞれ同様にトレーニング信号を送信する。なお、スレーブ装置２−１〜２−Ｍが複数の場合（Ｍが２以上の場合）、マスタ装置１は、トレーニング信号をスレーブ装置２−１〜２−Ｍに同報、即ちブロードキャストで送信してもよいし、スレーブ装置２−１〜２−Ｍ毎にトレーニング信号をユニキャストにより送信しても良い。
【００２５】
トレーニング信号は、非同期型通信回線処理部４が生成し、再送なしモードまたは再送回数を０として送信する。この再送なしモードは、無線ＬＡＮではブロードキャスト送信モードによる送信、またはユニキャスト送信モードにおいて、再送回数を０回とすれば実現できる。
【００２６】
マスタ装置１の命令データ生成部３は、スレーブ装置２−１〜２−Ｍに対してトレーニング動作（トレーニング信号の送信）を開始する必要があるか否かをと判断する。トレーニング動作開始を必要と判断する例としては、制御システムの電源投入による立ち上げ時、マスタ装置１のリスタート時、またはスレーブ装置２−１〜２−Ｍのリスタート時等がある。
【００２７】
そして、マスタ装置１の命令データ生成部３は、トレーニング動作開始を必要と判断すると（ステップＳ１）、非同期型通信回線処理部４に対してトレーニング信号送信要求を一定周期で通知する（ステップＳ２）。図２ではこの一定周期をトレーニング信号送信周期Ｔｔと記載している。トレーニング信号送信要求には、各スレーブ装置２−１〜２−Ｍで受信した際に送信の順番が識別可能となるようにトレーニング信号を送信する送信順序＃ｋ（ｋは１以上の整数）を設定する。送信順序に格納する値は、１回のトレーニング動作の初回の送信時には初期値（例えば、ｋ＝“１”）とし、その後、トレーニング信号ごと（トレーニング信号送信要求ごと）に１ずつ加算した値とする。非同期型通信回線処理部４は、トレーニング信号送信要求を通知されると、設定された送信順序＃ｋを送信順序番号として格納したトレーニング信号を送信する（ステップＳ３）。
【００２８】
図３は、トレーニング信号のフォーマットの一例を示す図である。図３に示したフォーマットは一例であり、トレーニング信号のフォーマットはこれに限定されない。図３に示すように、トレーニング信号は、データ種別識別子と、送信順序番号と、トレーニングデータと、で構成される。データ種別識別子ではトレーニング信号を示す値を格納し、送信順序番号には、上述のトレーニング信号の送信された順序を示す送信順序（＃ｋ）が設定される。また、トレーニングデータについては、特に規定はせずどのようなデータを格納してもよい。なお、トレーニングデータ領域については無くても構わない。
【００２９】
１回のトレーニング動作でのマスタ装置１からのトレーニング信号の送信回数Ｎ（Ｎは１以上の整数）は、マスタ装置１、およびスレーブ装置２−１〜２−Ｍに予め設定される値であり、例えば通信環境等を考慮して設定されるがどのような値としてもよい。
【００３０】
スレーブ装置２−１〜２−Ｍでは、非同期型通信回線処理部６がトレーニング信号を受信すると、命令動作部７にトレーニング受信通知を通知し、命令動作部７はトレーニング受信通知を受信すると時間管理部８から受信時刻を取得して、受信時刻を用いてトレーニング信号の受信間隔を算出して保持する（ステップＳ４）。例えば、＃２のトレーニング信号と＃１のトレーニング信号の受信時刻の差を受信間隔ｔ１として算出する。すなわち、＃Ｎのトレーニング信号と＃（Ｎ−１）のトレーニング信号の受信時刻の差をｔ（Ｎ−１）として算出して保持する。
【００３１】
マスタ装置１の命令データ生成部３は、Ｎ回のトレーニング信号送信要求を送信するとトレーニング動作を終了する（ステップＳ５）。
【００３２】
スレーブ装置２−１〜２−Ｍの命令データ生成部３は、Ｎ回のトレーニング受信通知を受信すると、保持しているトレーニング信号の受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）を用いて、参照周期Ｔｓを算出し、算出した参照周期Ｔｓを用いて命令動作部７は最後のトレーニング信号受信タイミングを先頭として算出した周期時間を参照周期Ｔｓとする周期タイミング（参照周期Ｔｓ毎の当該周期の開始タイミングを示す信号）を生成する（ステップＳ６）。参照周期Ｔｓは、例えばトレーニング信号の受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）の平均値を求めることにより算出する。なお、参照周期Ｔｓは以上の手順により各スレーブ装置２−１〜２−Ｍがそれぞれ算出する。
【００３３】
図４は、マスタ装置１からの命令データ送信までの動作の一例を示すチャート図である。なお、図４では、一例としてスレーブ装置２−１とスレーブ装置２−２を示しているが、これら以外のスレーブ装置２−１〜２−Ｍについても同様の動作を行なう。
【００３４】
図２で説明したとおり、マスタ装置１では、命令データ生成部３がトレーニング動作の開始と判断する（ステップＳ１１）とトレーニング信号送信要求を一定周期毎に非同期型通信回線処理部６へ出力し、非同期型通信回線処理部６がトレーニング信号を送信する（ステップＳ１２）。
【００３５】
スレーブ装置２−１〜２−２では、図２で説明したように、命令動作部７が、トレーニング信号の受信間隔を算出して保持する。そして、最後のトレーニング信号（＃Ｎ）を受信すると、参照周期Ｔｓを算出し、参照周期Ｔｓの周期タイミングを生成する。
【００３６】
マスタ装置１では、命令データ生成部３が、最後のトレーニング信号（＃Ｎ）の送信タイミングを起点として命令データ送信周期Ｔｃの周期タイミングを生成する（ステップＳ１３）。なお、図４では命令データ送信周期Ｔｃとトレーニング信号送信周期Ｔｔは同じ周期（時間）とした例を示しているが、命令データ送信周期Ｔｃはトレーニング信号送信周期Ｔｔの自然数倍としてもよい（Ｔｃ＝Ｔｔ×ｎ、ｎ：自然数）。ＴｃをＴｔの何倍とするかは、マスタ装置１およびスレーブ装置２−１〜２−Ｍがそれぞれあらかじめ把握しているとする。
【００３７】
マスタ装置１では、スレーブ装置２−１，２−２に対して命令データを送信する場合、命令データ生成部３は、命令データ送信周期Ｔｃの周期タイミングで（最後のトレーニング信号の送信タイミングを起点として命令データ送信周期Ｔｃ毎に）命令データとともに命令データ送信要求を非同期型通信回線処理部４へ通知する（ステップＳ１４）。そして、非同期型通信回線処理部４は受け取った命令データをスレーブ装置２−１，２−２へ送信する（ステップＳ１５）。なお、図４では、マスタ装置１がスレーブ装置２−１へ命令データを送信する例を示している。
【００３８】
図５は、命令データの再送を伴う場合のマスタ装置１とスレーブ装置２−１〜２−Ｍの動作の一例を示すシーケンス図である。まず、上述のトレーニング動作によりマスタ装置１の命令データ生成部３は、命令データ送信周期Ｔｃの周期タイミングを生成しているとする。命令データ生成部３は、命令データ送信周期Ｔｃの周期タイミングで命令データとともに命令データ送信要求を非同期型通信回線処理部４へ通知する（ステップＳ２１）。
【００３９】
非同期型通信回線処理部４は、命令データ送信要求を通知されると、通知された命令データ（初送）を宛先のスレーブ装置２−１〜２−Ｍへ送信する（ステップＳ２２）。スレーブ装置２−１〜２−Ｍでは、非同期型通信回線処理部６が、命令データ（初送）を受信した場合、Ａｃｋをマスタ装置１へ送信する（ステップＳ２３）。また、非同期型通信回線処理部６は、命令動作部７へ命令データとともに命令データの受信を通知する（ステップＳ２４）。
【００４０】
宛先のスレーブ装置２−１〜２−Ｍが、通常の通信回線で発生しうる通信エラーや、事故的に発生する通信障害等により初送の命令データを受信できない場合はＡｃｋが送信されない。なお、スレーブ装置２−１〜２−Ｍが初送で命令データを受信できなかった場合は、上述のステップＳ２３、Ｓ２４は実施されない。マスタ装置１の非同期型通信回線処理部４は、命令データの送信から再送間隔Ｔｒが経過した時点でＡｃｋを受信できていない場合には、再送１回目の命令データを送信する（ステップＳ２５）。スレーブ装置２−１〜２−Ｍでは、非同期型通信回線処理部６が、命令データ（再送１回目）を受信した場合、Ａｃｋをマスタ装置１へ送信する（ステップＳ２６）。また、非同期型通信回線処理部６は、命令動作部７へ命令データとともに命令データの受信を通知する（ステップＳ２７）。なお、スレーブ装置２−１〜２−Ｍが初送で命令データを受信できた場合には、ステップＳ２５〜ステップＳ２７は実施されない。
【００４１】
宛先のスレーブ装置２−１〜２−Ｍが再送１回目の命令データを受信できない場合はＡｃｋが送信されない。マスタ装置１の非同期型通信回線処理部４は、再送１回目の命令データの送信から再送間隔Ｔｒが経過した時点でＡｃｋを受信できていない場合には、再送２回目の命令データを送信する（ステップＳ２８）。スレーブ装置２−１〜２−Ｍでは、非同期型通信回線処理部６が、命令データ（再送２回目）を受信した場合、Ａｃｋをマスタ装置１へ送信する（ステップＳ２９）。また、非同期型通信回線処理部６は、命令動作部７へ命令データとともに命令データの受信を通知する（ステップＳ３０）。なお、スレーブ装置２−１〜２−Ｍが初送または再送１回目で命令データを受信できた場合には、ステップＳ２８〜Ｓ３０は実施されない。
【００４２】
図５では２回目の再送回数までを示しているが、２回目の再送でもスレーブ装置２−１〜２−ＭからのＡｃｋを受信できない場合には、マスタ装置１は、最大再送回数まで再送を繰り返す。なお、再送時の再送間隔Ｔｒは、マスタ装置１、及び各スレーブ装置２−１〜２−Ｍに設定される値である。
【００４３】
スレーブ装置２−１〜２−Ｍの命令動作部７は、ステップＳ２４、ステップＳ２７、ステップＳ３０、…のいずれかで命令データの受信が通知されると、自身で生成している参照周期Ｔｓの最新の周期タイミングと命令データの受信タイミングとの間の時間差分ｔｉｘ（ｘは、０以上の整数であり再送回数を示す）を算出する。図５では、初送で命令データを受信できた場合の参照周期Ｔｓの最新の周期タイミングと命令データの受信タイミングとの間の時間差分をｔｉ０とし、同様に再送１回目で受信できた場合の時間差分をｔｉ１とし、再送２回目で受信できた場合の時間差分をｔｉ２としている。実際には、１つの命令データに対してｔｉ０、ｔｉ１、ｔｉ２、…のうちのいずれか１つが算出される。
【００４４】
図６は、命令データが初送で送信されたか、または何回目の再送で送信されたかを判定する判定（受信タイミング判定）方法の一例を示す図である。図６のｔｉｘは再送ｘ番目で命令データを受信した時の時間差分を表している。なお、ｘ＝０は初送で命令データを受信したことを示す。
【００４５】
Ｔｈは予めスレーブ装置２−１〜２−Ｍに設定するパラメータである。Ｔｈの選定方法は、例えば、スレーブ装置２−１〜２−Ｍで必要とする命令データの受信間隔の精度によって決定すれば良い。例えばスレーブ装置２−１での命令動作周期の必要精度が±１ｍｓである場合、命令データの受信間隔精度を±１ｍｓとすれば良いので、スレーブ装置２−１ではＴｈ＝１ｍｓと設定すれば良い。
【００４６】
図６に示すようにｔｉｘが、
−Ｔｈ＜ｔｉｘ＜Ｔｈを満たす場合は初送での受信、
−Ｔｈ＋Ｔｒ×１＜ｔｉｘ＜Ｔｒ×１＋Ｔｈを満たす場合は再送１回めでの受信、
−Ｔｈ＋Ｔｒ×２＜ｔｉｘ＜Ｔｒ×２＋Ｔｈを満たす場合は再送２回めでの受信
と判定する。なお、ここでは、Ｔｒが参照周期Ｔｓに比べ十分短いことを前提としている。例えば、最大再送回数×ＴｒがＴｓより短くなるように各パラメータを設定しておくことにより、上記のｔｉｘを用いて判別ができる。
【００４７】
なお、図６では再送２回目までの受信判別方法を示しているが、例えば再送Ｌ回目での受信タイミングを判定する場合は、
−Ｔｈ＋Ｔｒ×Ｌ＜ｔｘｉ＜Ｔｒ×Ｌ＋Ｔｈ
を満たすか否かを判定すればよい。
【００４８】
図７は、スレーブ装置２−１〜２−Ｍにおける命令動作を行う動作タイミングの生成方法の一例を示す図である。上述のスレーブ装置２−１〜２−Ｍでの受信タイミング判定の後、スレーブ装置２−１〜２−Ｍでは、受信した命令データに従った命令動作を行なうが、この際、受信した命令データの再送回数に応じて命令動作の動作タイミングを生成する。
【００４９】
図７では、マスタ装置１が命令データ送信周期Ｔｃごとに、３回（３つ）の命令データをスレーブ装置２−１へ送信する例を示している。図７の例では、最初の命令データは再送２回目でスレーブ装置２−１の命令動作部７に通知され、次の命令データは再送１回目でスレーブ装置２−１の命令動作部７に通知され、その次の命令データは初送でスレーブ装置２−１の命令動作部７に通知される。
【００５０】
まず、マスタ装置１の命令データ生成部３は、最初の命令データとともに命令データ送信要求を非同期型通信回線処理部４へ出力する（ステップＳ４１）。非同期型通信回線処理部４は、図５で示したように命令データを送信するが、ここでは、初送と１回目の再送ではＡｃｋを受信できず命令データの２回目の再送を行なう（ステップＳ４２）。スレーブ装置２−１の非同期型通信回線処理部６は、命令データを受信すると、命令データとともに命令データの受信を命令動作部７へ通知し、命令動作部７は、図５、６で説明したように、ｔｉ２を算出する（ステップＳ４３）。
【００５１】
そして、命令動作部７は、受信タイミング判定により受信した命令データの再送回数を判定し、再送回数に基づいて自装置での命令動作の動作タイミングを生成する（ステップＳ４４）。具体的には、例えば、命令データの受信タイミングから補正時間Ｔｂ＋再送間隔Ｔｒ×（２−ｐ）（ｐは再送回数）後に命令動作を行うよう動作タイミングを生成する。最初の命令データについては再送回数が２回であるから、命令データの受信タイミングから補正時間Ｔｂ後に命令動作を行うよう動作タイミングを生成する。この際の補正時間Ｔｂ（補正時間の初期値）は、各スレーブ装置２−１〜２−Ｍに予め設定するパラメータである。Ｔｂの選定はスレーブ装置での命令動作周期には特に依存しないため、制御システムによって任意に設定すればよい。またＴｂ＝０とすることも可能である。
【００５２】
次に、マスタ装置１の命令データ生成部３は、２つめの命令データとともに命令データ送信要求を非同期型通信回線処理部４へ出力する（ステップＳ４５）。非同期型通信回線処理部４は、図５で示したように命令データを送信するが、ここでは、初送ではＡｃｋを受信できず命令データの１回目の再送を行なう（ステップＳ４６）。スレーブ装置２−１の非同期型通信回線処理部６は、命令データを受信すると、命令データとともに命令データの受信を命令動作部７へ通知し、命令動作部７は、図５、６で説明したように、ｔｉ１を算出する（ステップＳ４７）。その後、ステップＳ４４を実施する。この場合、再送回数が１回であることから、命令動作を行うよう動作タイミングは、命令データの受信タイミングから補正時間＝Ｔｂ＋再送間隔Ｔｒ×１後とする。
【００５３】
次に、マスタ装置１の命令データ生成部３は、３つめの命令データとともに命令データ送信要求を非同期型通信回線処理部４へ出力する（ステップＳ４８）。非同期型通信回線処理部４は、図５で示したように命令データを送信するが、ここでは、初送でスレーブ装置２−１へ送信できたとする（ステップＳ４９）。スレーブ装置２−１の非同期型通信回線処理部６は、命令データを受信すると、命令データとともに命令データの受信を命令動作部７へ通知し、命令動作部７は、図５、６で説明したように、ｔｉ０を算出する（ステップＳ５０）。その後、ステップＳ４４を実施する。この場合、再送回数が０回であることから、命令動作を行うよう動作タイミングは、命令データの受信タイミングから補正時間＝Ｔｂ＋再送間隔Ｔｒ×２後とする。
【００５４】
なお、ここでは、命令データの受信タイミングから補正時間＝Ｔｂ＋再送間隔Ｔｒ×（２−ｐ）（ｐは再送回数）後に命令動作を行うよう動作タイミングを生成するようにしたが、一般には、例えば最大再送回数をＡとするとき、補正時間＝Ｔｂ＋再送間隔Ｔｒ×（Ａ−ｐ）とすることができる。また、再送回数が１回増えるごとに補正時間がＴｒずつ減るような算出方法、すなわちマスタ装置１から命令データが送信されてからスレーブ装置２−１〜２−Ｍが命令動作を行うまでの時間が受信した命令データの再送回数によらず一定となるような補正時間の算出方法であれば、補正時間の算出方法はこれに限定されない。
【００５５】
なお、本実施の形態では、命令データ生成部３が非同期型通信回線処理部４経由でトレーニング信号を一定周期で送信するトレーニング信号送信部としての機能を有することとしたが、トレーニング信号送信部を命令データ生成部３と別に備えるようにしてもよい。また、本実施の形態では、命令動作部７が、参照周期Ｔｓの周期タイミングを生成する周期タイミング生成部としての機能と、周期タイミングと命令データの受信タイミングとに基づいて命令データの再送回数を判定する再送回数判定部としての機能を有することとしたが、命令動作部７とは別に周期タイミング生成部および再送回数判定部を備えるようにしてもよい。
【００５６】
このように、本実施の形態では、マスタ装置１が一定周期でＮ回のトレーニング信号を送信し、トレーニング信号を受信したスレーブ装置２−１〜２−Ｍは、トレーニング信号の受信周期に基づいて参照周期Ｔｓの周期タイミング（参照周期Ｔｓ毎の当該周期の開始タイミングを示す信号）を生成する。マスタ装置１では、最後のトレーニング信号（＃Ｎ）の送信タイミングを起点として命令データ送信周期Ｔｃの周期タイミングを生成し、この周期タイミングで命令データを送信する。スレーブ装置２−１〜２−Ｍでは、命令データを受信すると、最新の参照周期Ｔｓの周期タイミングと命令データの受信タイミングとの差に基づいて命令データの再送回数を求める。そして、スレーブ装置２−１〜２−Ｍは、命令データの再送回数に基づいて受信タイミングの補正時間を求め、補正時間に基づいて命令動作の動作タイミングを決定するようにした。このため、再送制御により通信周期が一定とならない非同期型通信回線を用いる場合でも、スレーブ装置２−１〜２−Ｍの命令動作をマスタ装置１に同期させることが可能となる。
【００５７】
実施の形態２．
次に本発明にかかる実施の形態２のスレーブ装置２−１〜２−Ｍの動作の算出方法について説明する。本実施の形態の制御システムの構成は実施の形態１と同様である。また、本実施の形態のマスタ装置１の構成およびスレーブ装置２−１〜２−Ｍの構成は、実施の形態１と同様である。実施の形態１と同様の機能を有する構成要素は同一の符号を付して説明し、実施の形態１と重複する説明は省略する。
【００５８】
実施の形態１では、スレーブ装置２−１〜２−Ｍの命令動作部７が参照周期Ｔｓの周期タイミングを生成する際にトレーニング信号の受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）の平均値を求めて参照周期Ｔｓとする例を示した。本実施の形態では、命令動作部７は、平均値を求める前に、受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）の標準偏差を求め、求めた偏差値を予めスレーブ装置２−１〜２−Ｍに設定された標準偏差の上限閾値と比較し、求めた標準偏差が上限閾値を超える場合はエラーであると判断し、運用者等にエラーを通知する。エラーの通知方法としては、命令動作部７が、自装置の図示しない表示装置（表示器、表示ランプ等）または外部の表示装置等にエラー表示を行うことが考えられる。具体的には、例えば表示機にエラーが発生したことを表示するまたは表示ランプを点灯させる、等が考えられる。
【００５９】
また、スレーブ装置２−１〜２−Ｍの命令動作部７は、エラーであると判断した場合、マスタ装置１にエラーが発生したことと当該エラーの内容とを通知するためのエラー表示データを非同期型通信回線処理部６および通信回線を介してマスタ装置１に通知する。以上述べた以外の本実施の形態の動作は、実施の形態１と同様である。
【００６０】
なお、ここでは、命令動作部７は、受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）の標準偏差に基づいてエラーか否かを判断するようにしたが、エラーか否かの判断方法はこれに限らず、受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）に基づいて判断する方法であればどのような方法としてもよい。例えば、受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）のうち１つでも予め定めた受信間隔の想定範囲を超えた場合にはエラーと判断する等の方法としてもよい。
【００６１】
このように、本実施の形態では、命令動作部７は、受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）に基づいてエラーであると判断した場合には、表示装置への表示等により運用者に通知するとともに、マスタ装置１にエラーを通知するようにした。これにより、不適切な参照周期Ｔｓにより命令動作が実行されるのを防ぐことができる。
【００６２】
実施の形態３．
次に本発明にかかる実施の形態３のスレーブ装置２−１〜２−Ｍの動作について説明する。本実施の形態の制御システムの構成は実施の形態１と同様である。また、本実施の形態のマスタ装置１の構成およびスレーブ装置２−１〜２−Ｍの構成は、実施の形態１と同様である。実施の形態１と同様の機能を有する構成要素は同一の符号を付して説明し、実施の形態１と重複する説明は省略する。
【００６３】
本実施の形態では、命令動作部７は、受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）の平均値等により参照周期Ｔｓを求める前に、受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）の各々を上限閾値および下限閾値と比較する。そして、ｎ番目の受信間隔の値をｔｎとするとき、以下の式（１）を満たさないｔｎは参照周期Ｔｓの算出に使用せず、以下の式（１）を満たすｔｎを用いて参照周期Ｔｓを算出する。
下限閾値＜ｔｎ＜上限閾値            …（１）
以上述べた以外の本実施の形態の動作は、実施の形態１と同様である。
【００６４】
このように、本実施の形態では、参照周期Ｔｓを算出する際に、受信間隔ｔ１、ｔ２、…、ｔ（Ｎ−１）のうち、所定の範囲（下限閾値より大きく上限閾値より小さい範囲）以外の受信間隔については参照周期Ｔｓの算出に使用しないようにした。このため、トレーニング動作中に一過性の通信障害等が発生することによる参照周期Ｔｓの精度低下を防ぐことが可能となる。
【産業上の利用可能性】
【００６５】
以上のように、本発明にかかる制御システム、通信装置および通信方法は、マスタ装置とスレーブ装置を備える制御システムに有用であり、特に、マスタ装置から送信される命令データに基づいてスレーブ装置が命令動作を行う制御システムに適している。
【符号の説明】
【００６６】
１  マスタ装置
２−１〜２−Ｍ  スレーブ装置
３  命令データ生成部
４，６  非同期型通信回線処理部
７  命令動作部
８  時間管理部
９  通信回線
【図１】
2012120029.tif 000003
【図２】
2012120029.tif 000004
【図３】
2012120029.tif 000005
【図４】
2012120029.tif 000006
【図５】
2012120029.tif 000007
【図６】
2012120029.tif 000008
【図７】
2012120029.tif 000009