(57)【要約】【課題】ケーブルの総数を低減しつつ、ネットワークに多数の子局を接続可能にする。【解決手段】親局と複数の子局とを備える通信システムであって、親局と複数の子局とは、複数段ライン接続またはループ接続されており、親局は、複数の子局のそれぞれが、前段の局から受信したデータから再生された再生クロックに従って後段の局へのデータ送信を行う第一のデータ中継方式と、自局において生成されたローカルクロックに従って後段の局へのデータ送信を行う第二のデータ中継方式と、の何れの中継方式を採用すべきかを、複数の子局の状態を示す情報に基づいて決定する決定部を備える。【選択図】  図３
2013085116.tif 000002
【特許請求の範囲】
【請求項１】
親局と複数の子局とを備える通信システムであって、
前記親局と前記複数の子局とは、複数段ライン接続またはループ接続されており、
前記親局は、
前記複数の子局のそれぞれが、前段の局から受信したデータから再生された再生クロックに従って後段の局へのデータ送信を行う第一のデータ中継方式と、自局において生成されたローカルクロックに従って後段の局へのデータ送信を行う第二のデータ中継方式と、の何れの中継方式を採用すべきかを、前記複数の子局の状態を示す情報に基づいて決定する決定手段を備えることを特徴とする通信システム。
【請求項２】
前記複数の子局の状態を示す情報は、前記親局から送信されたデータを中継する子局の数を示す中継局数であり、
前記決定手段は、前記中継局数と、予め定められた許容中継局数と、に基づいて、前記複数の子局のそれぞれが採用すべき中継方式を決定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記決定手段は、前記中継局数が前記許容中継局数を超過する場合、前記許容中継局数の整数倍に対応する位置にある子局が前記第二のデータ中継方式を採用し、その他の位置に対応する子局が前記第一のデータ中継方式を採用するように決定することを特徴とする請求項２に記載の通信システム。
【請求項４】
前記複数の子局の状態を示す情報は、前記複数の子局のそれぞれにおけるデータ誤り発生率であり、
前記決定手段は、前記データ誤り発生率のそれぞれと、予め定められた許容値とに基づいて、前記複数の子局のそれぞれが採用すべき中継方式を決定することを特徴とする請求項１に記載の通信システム。
【請求項５】
前記決定手段は、前記データ誤り発生率が前記許容値を超過する子局の前段の局が、前記第二のデータ中継方式を採用するように決定することを特徴とする請求項４に記載の通信システム。
【請求項６】
前記複数の子局のそれぞれは、
前記親局から出力されたテスト信号に基づいて自局のデータ誤り発生率を計測する計測手段を備えることを特徴とする請求項４または５に記載の通信システム。
【請求項７】
前記計測手段は、前記テスト信号と、本来受信されるべきテスト信号との差異に基づいて自局のデータ誤り発生率を計測することを特徴とする請求項６に記載の通信システム。
【請求項８】
前記複数の子局の状態を示す情報は、前記複数の子局のそれぞれにおける前記再生クロックのジッタ量であり、
前記決定手段は、前記ジッタ量のそれぞれと、予め定められた許容値とに基づいて、前記複数の子局のそれぞれが採用すべき中継方式を決定することを特徴とする請求項１に記載の通信システム。
【請求項９】
前記決定手段は、前記ジッタ量が前記許容値を超過する子局の前段の局が、前記第二のデータ中継方式を採用するように決定することを特徴とする請求項８に記載の通信システム。
【請求項１０】
前記子局は、
前段の局から受信したデータを前記再生クロックに同期して取り入れ、第一のデータとして出力する受信手段と、
前記ローカルクロックと前記再生クロックのどちらか一方を選択し、送信クロックとして出力する第一のセレクタ手段と、
前記第一のデータを前記再生クロックに同期して取り入れ、前記送信クロックに同期して取り出し、第二のデータとして出力するバッファ手段と、
所定長の任意のデータを生成する生成手段と、
前記第一のデータ、前記第二のデータ、前記任意のデータのどれか１つを選択し、第三のデータとして出力する第二のセレクタ手段と、
前記第一のセレクタ手段及び前記第二のセレクタ手段を制御するセレクタ制御手段と、
前記送信クロックに従って後段の局へデータ送信を行う送信手段と、を備え、
前記セレクタ制御手段は、
自局が前記第二のデータ中継方式を採用しており、且つ前記決定手段が前記第一のデータ中継方式への変更を決定した場合には、
前記再生クロックと前記ローカルクロックとの位相差が許容値以内の期間に前記送信クロックとして前記再生クロックを選択し、その後、有効なデータが伝送されないアイドル期間に前記第三のデータとして前記第一のデータを選択するよう前記第一のセレクタ手段及び前記第二のセレクタ手段を制御し、
自局が前記第一のデータ中継方式を採用しており、且つ前記決定手段が前記第二のデータ中継方式への変更を決定した場合には、
前記再生クロックと前記ローカルクロックとの位相差が許容値以内の期間に前記送信クロックとして前記ローカルクロックを、前記第三のデータとして前記任意のデータをそれぞれ選択し、前記任意のデータの送信の後、前記第三のデータとして前記第二のデータを選択するよう前記第一のセレクタ手段及び前記第二のセレクタ手段を制御することを特徴とする請求項１乃至９の何れか１項に記載の通信システム。
【請求項１１】
親局と複数の子局とを備える通信システムの制御方法であって、
前記親局と前記複数の子局とは、複数段ライン接続またはループ接続されており、
前記親局において、
前記複数の子局のそれぞれが、前段の局から受信したデータから再生された再生クロックに従って後段の局へのデータ送信を行う第一のデータ中継方式と、自局において生成されたローカルクロックに従って後段の局へのデータ送信を行う第二のデータ中継方式と、の何れの中継方式を採用すべきかを、前記複数の子局の状態を示す情報に基づいて決定する決定工程を有することを特徴とする通信システムの制御方法。
【請求項１２】
コンピュータを、請求項１に記載の通信システムの親局として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信システムの制御方法、およびプログラムに関する。
【背景技術】
【０００２】
産業用機器などの制御システムは一般的に、演算処理部（ＣＰＵ等）と複数のセンサ及びアクチュエータにより構成される。センサは現在値に関する外部情報を取得し、演算処理部へ出力する。演算処理部はその外部情報から目標値とのずれを算出し、その補正値をアクチュエータへ出力する。アクチュエータはその補正値に基づき駆動される。制御システムは、以上のようなフィードバック制御を周期的に繰り返すことで所望の動作を達成する。制御システムの１つに、産業用ロボットに代表されるロボットシステムがある。
【０００３】
特許文献１では、機械的・電気的に独立した関節モジュールを組み合わせて接続し、関節モジュール内部に具備される通信部を用いて動作制御に関わる情報を送受信することで全体の動作制御を行うロボットシステムが開示されている。なお、特許文献１の図２に示されるように、各関節モジュールは通信部を有しており、他の関節モジュールとネットワークを構築する構造となっている。この構造により、多数の関節モジュールを組み合わせた場合においても、作業内容の変化に応じて組替えができる柔軟なロボットシステムを構築している。
【０００４】
特許文献２では、作業内容を認識し、作業内容に応じて適切なエンドエフェクタを選択し、自律的に交換を行うロボットシステムが開示されている。
【０００５】
フィードバック制御を行う周期はサンプリング周期と呼ばれる。一般的にサンプリング周期を高速にすれば、高速且つ精密な動作を可能とする制御システムを構築できる。しかしながら、サンプリング周期の高速化はいくつかの要因により制限される。その要因の１つに無駄時間がある。無駄時間とは制御システムの内部に生じる時間遅れである。具体的にはセンサが外部情報を取得し、その外部情報から算出された補正値に基づいてアクチュエータが駆動するまでに要する時間遅れである。この無駄時間は、サンプリング周期と比較して十分に小さくする必要がある。もし無駄時間がサンプリング周期に対して無視できないほど大きいと、フィードバック制御は不安定になる。つまり高速且つ精密な動作を実現する制御システムを構築する為には、無駄時間を可能な限り小さくする必要がある。無駄時間は情報の伝送に要する伝送時間と、演算処理部が外部情報から補正値を算出するまでに要する演算時間の和として表される。
【０００６】
信号伝送の観点から無駄時間を小さくする最も単純な構成は、演算処理部と全てのセンサ、アクチュエータ間を１対１の配線で接続する構成である。このようにすれば、伝送時間を最も短縮でき、つまりは無駄時間を小さくできる。しかしながら、この構成では、センサ、アクチュエータの個数分だけケーブルが必要となる。したがって多数のセンサ、アクチュエータを具備する制御システムにおいて、ケーブルの数は膨大なものとなる。その為、ケーブルコストが増大する、ケーブル引き回しが複雑になる、ケーブルの重量や振動が制御へ影響を与える、といった問題が生じる。そのため、演算制御部と各センサ、アクチュエータ間の配線をネットワーク化することで省配線化する取り組みが広く行われている。
【０００７】
特許文献３では、演算制御部を内蔵する親局とセンサやアクチュエータが接続された子局間とをライン接続する制御システムが開示されている。ネットワーク化し、且つ無駄時間を小さくする為には、各端局においてデータの中継に要する時間（以降、「データ中継時間」と称する）をできる限り短くする必要がある。
【０００８】
ところでネットワーク接続される端局の同期方式として、従属同期方式と独立同期方式がある。独立同期方式では、特許文献４の図１０に記載されるように、ローカルに持つクロック発振部が発振するクロックを用いて下位局へデータ送信を行う。そのため、独立同期方式では、クロックリカバリ部により再生された再生クロックとローカルクロックとの間の周波数偏差による伝送レートの差異を吸収する為、レートマッチＦＩＦＯを設ける必要がある。一方、従属同期方式では、特許文献５の図６に記載されるように、クロックリカバリ部により再生した再生クロックを用いて下位局へデータ送信を行う。そのため、従属同期方式では、独立同期方式のように、レートマッチＦＩＦＯを設ける必要はない。
【０００９】
無駄時間の短縮という観点で両方式を比較した場合、独立同期方式より従属同期方式を採用した方が良い。なぜなら従属同期方式はレートマッチＦＩＦＯを設ける必要がない為、独立同期方式と比較してレートマッチＦＩＦＯを通過する分だけデータ中継遅延を短くすることができる。
【００１０】
しかしながら、従属同期方式は独立同期方式とは違い、ネットワークに接続できる子局の総数が制限される。なぜなら送信クロックに再生クロックを用いる従属同期方式は、子局を経由するごとにジッタ量が加算される為、その結果、所定段数以上の端局ではデータ誤りが生じてしまう為である。従属同期方式を用いたネットワークにおいて、特許文献６、特許文献７では、接続可能な子局の総数を増やす従来技術が開示されている。特許文献６では、隣接しない子局間でクロックを伝送する為のバイパスを設け、データの伝送方向からみて親局に近い側の子局で再生したクロックを、親局から遠い側の子局の送信クロックとして使用する通信システムが開示されている。また特許文献７では、親局に最も近い子局で再生されたクロックを伝送するクロック伝送経路を設け、各子局は通信信号から再生したクロックとクロック伝送経路からのクロックとのどちらか一方を送信クロックとして使用する通信システムが開示されている。これらの技術を用いれば、単純な従属同期方式と比較して、子局を経由するごとに加算されるジッタ量を抑制することができ、つまりはネットワークに接続できる子局の総数を増やすことができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平０９−０２９６７１号公報
【特許文献２】特開２００９−１４８８４５号公報
【特許文献３】特開２００６−９４３０２号公報
【特許文献４】特開平１１−２５２１４４号公報
【特許文献５】特開２００３−２０９５５６号公報
【特許文献６】特開昭６２−７２２５０号公報
【特許文献７】特開２００８−１４５９０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献６および特許文献７では、ネットワークに接続できる子局の総数を増す為には、子局の総数の増加に応じた相当数のケーブルをデータ伝送用以外に設ける必要がある。その為、ケーブルコストが増大する、ケーブル引き回しが複雑になる、ケーブルの重量や振動が制御へ影響を与える、といった問題が生じる。逆に言えば、データ伝送用以外のケーブルを少なくすればするほど、ネットワークに接続できる子局の総数は制限される。つまり、ネットワークに接続できる子局の総数とケーブルの省配線化はトレードオフの関係にある。
【００１３】
上記の課題に鑑み、本発明は、ケーブルの総数を低減しつつ、ネットワークに多数の子局を接続できるデータ伝送技術を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成する本発明に係る通信システムは、
親局と複数の子局とを備える通信システムであって、
前記親局と前記複数の子局とは、複数段ライン接続またはループ接続されており、
前記親局は、
前記複数の子局のそれぞれが、前段の局から受信したデータから再生された再生クロックに従って後段の局へのデータ送信を行う第一のデータ中継方式と、自局において生成されたローカルクロックに従って後段の局へのデータ送信を行う第二のデータ中継方式と、の何れの中継方式を採用すべきかを、前記複数の子局の状態を示す情報に基づいて決定する決定手段を備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ケーブルの総数を低減しつつ、ネットワークに多数の子局を接続することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明を適用可能なロボットシステムの概要図。
【図２】第１実施形態に係るネットワーク構成図。
【図３】第１実施形態に係る親局及び子局の内部構成図。
【図４】第１実施形態に係る親局データ処理部の内部構成図。
【図５】第１実施形態に係る子局データ処理部の内部構成図。
【図６】第１乃至第３実施形態の各種信号生成部が生成する信号を説明する図。
【図７】第１実施形態に係る初期シーケンスの動作フロー図。
【図８】第１実施形態に係る動作を説明する図。
【図９】第１実施形態に係る同期方式割当信号として出力されるテーブル情報。
【図１０】第２実施形態に係る動作を説明する図。
【図１１】第２実施形態に係る親局及び子局の内部構成図。
【図１２】第２実施形態に係る親局データ処理部の内部構成図。
【図１３】第２実施形態に係る子局データ処理部の内部構成図。
【図１４】第２実施形態に係る初期シーケンスの動作フロー図。
【図１５】第２実施形態に係る同期方式割当信号として出力されるテーブル情報。
【図１６】第３実施形態に係る動作を説明する図。
【図１７】第３実施形態に係る親局及び子局の内部構成図。
【図１８】第３実施形態に係る子局データ処理部の内部構成図。
【図１９】第３実施形態に係る同期方式割当信号として出力されるテーブル情報。
【図２０】第３実施形態に係るデータ伝送フェーズ中に独立同期方式から従属同期方式へ切り替える子局の動作について説明する図。
【図２１】第３実施形態に係るデータ伝送フェーズ中に従属同期方式から独立同期方式へ切り替える子局の動作について説明する図。
【図２２】ライン型にした場合のネットワーク構成図。
【発明を実施するための形態】
【００１７】
（第１実施形態）
図１は、本発明を適用可能なロボットシステムの概要図である。制御部１は、ロボットシステム全体の動作を制御する。また制御部１は、不図示の管理システムへ作業進捗状況やエラーログ等の情報を随時出力する。ロボットアーム２は、後述するエンドエフェクタ３またはエンドエフェクタ４と接続可能であり、所定の作業を実施する。エンドエフェクタ３は、図示のようにロボットアーム２の先端に取り付けられ、加工対象物５に対して所定の作業を行う。エンドエフェクタ４もまたエンドエフェクタ３と同様、ロボットアーム２の先端に取り付けられ、エンドエフェクタ３とは異なる所定の作業を行う。すなわち、エンドエフェクタは、所定の作業に対応した所定の構造を有している。本ロボットシステムは、作業内容に応じてエンドエフェクタ３及びエンドエフェクタ４の交換を、人手を介さず自立的に行うものとする。
【００１８】
図２は、本実施形態のネットワーク構成図である。親局と、複数の子局とは、複数段ライン接続またはループ接続される。ライン接続の例は、図２２を参照して後述する。親局１０は、図１で図示した制御部１に内蔵される。複数の子局２０は、図１で図示したロボットアーム２またはエンドエフェクタ３、エンドエフェクタ４に内蔵される。
【００１９】
親局１０は、子局接続コネクタ１１、子局接続コネクタ１２を有し、子局接続コネクタ１１を介して後述する子局２０Ａの上位局接続コネクタ２１Ａと接続され、子局接続コネクタ１２を介して後述する子局２０Ｎの下位局接続コネクタ２２Ｎと接続される。また子局２０は、上位局接続コネクタ２１と下位局接続コネクタ２２とを有し、これらを介して上位局及び下位局へ相互に接続される。以上のように親局１０と各子局２０は接続され、図示するようなループ型のネットワークとなる。図２の例では、親局１０が１つと、子局２０Ａ、子局２０Ｂ、子局２０Ｃ、子局２０Ｄ、…、子局２０Ｎが存在する。そして、子局２０Ａは上位局接続コネクタ２１Ａおよび下位局接続コネクタ２２Ａを備える。同様に、子局２０Ｂ、２０Ｃ、２０Ｄ、…２０Ｎは、上位局接続コネクタ２１Ｂ、２１Ｃ、２１Ｄ、…、２１Ｎおよび下位局接続コネクタ２２Ｂ、２２Ｃ、２２Ｄ、…、２２Ｎを備える。
【００２０】
子局２０にはアクチュエータ２３、センサ２４がデバイスコネクタ２５を介して接続される。ここでアクチュエータ２３は例えばサーボ制御されるモータであり、センサ２４は例えば角度／位置検出を行うエンコーダである。各子局は、親局１０から出力される駆動信号に基づき、アクチュエータ２３を駆動する。また各子局は、センサ２４が取得した外部情報を、センサ信号として親局１０へ出力する。親局１０には後述する演算処理部が内蔵されており、当該演算処理部にて各子局から出力されるセンサ信号から、目標値とのずれを算出する。そしてその補正値を駆動信号として各子局へ出力する。本ロボットシステムは、以上に示したフィードバック制御を行うことで所望の動作を得ることができる。
【００２１】
図２の例では、子局２０Ａは、アクチュエータ２３Ａ、センサ２４Ａ、デバイスコネクタ２５Ａを備える。同様に、子局２０Ｂ、２０Ｃ、２０Ｄ、…、２０Ｎは、それぞれ、アクチュエータ２３Ｂ、２３Ｃ、２３Ｄ、…、２３Ｎ、センサ２４Ｂ、２４Ｃ、２４Ｄ、…、２４Ｎ、デバイスコネクタ２５Ｂ、２５Ｃ、２５Ｄ、…、２５Ｎを備える。
【００２２】
本実施形態では、センサ信号や駆動信号といった有効なデータの伝送を行う前に、初期シーケンスを実施し、親局１０が各子局の中継局数を把握し、各子局の同期方式を決定する構成について説明する。すなわち、親局は、複数の子局のそれぞれが、前段の端局から受信したデータから再生された再生クロックに従って後段の端局へのデータ送信を行う従属同期方式（第一のデータ中継方式）と、自局において生成されたローカルクロックに従って後段の端局へのデータ送信を行う独立同期方式（第二のデータ中継方式）と、の何れの中継方式を採用すべきかを、複数の子局の状態を示す情報に基づいて決定する。本実施形態において、複数の子局の状態を示す情報は、親局から送信されたデータを中継する子局の中継局数である。
【００２３】
図３（ａ）および（ｂ）は、本実施形態における親局１０及び子局２０の内部構成を示す。
【００２４】
＜親局の構成＞
図３（ａ）は、本実施形態における親局１０の内部構成を示す図である。親局１０は、子局接続コネクタ１１と、子局接続コネクタ１２と、親局通信部１３と、演算制御部１４とを備える。
【００２５】
親局通信部１３は、クロックリカバリ部１００と、ローカルクロック発振部１０１と、受信部１０２と、レートマッチＦＩＦＯ１０３と、親局データ処理部１０４と、送信部１０５とを備える。
【００２６】
クロックリカバリ部１００は、前段の端局（親局１０の場合は子局２０Ｎ）から出力される通信信号からクロックを再生し、再生クロックＣ１を出力する。ローカルクロック発振部１０１は、再生クロックＣ１と略同等の周波数をもつローカルクロックＣ２を発振する。
【００２７】
受信部１０２は、再生クロックＣ１に同期して通信信号を取り込み、所定の復号化処理を施し、データＤ１を出力する。ここで所定の復号化処理とは、クロックリカバリを容易にするための復号化処理（例えばマンチェスター符号、５Ｂ４Ｂ変換／１０Ｂ８Ｂ変換等）を指す。なお当該復号化処理は行うことが望ましいが、必須ではない。
【００２８】
レートマッチＦＩＦＯ１０３は、再生クロックＣ１に同期して、データＤ１を一時的に記憶し、ローカルクロックＣ２に同期して先入れ先出しの順序で、データＤ２を出力する。レートマッチＦＩＦＯ１０３は、再生クロックＣ１とローカルクロックＣ２との間の周波数偏差による伝送レートの差異を吸収する為に設けられる。親局データ処理部１０４は、親局１０における各種データを処理する。親局データ処理部１０４の処理の詳細については、図４（ａ）を参照して後述する。
【００２９】
送信部１０５は、入力される各種信号に対し、所定の符号化処理を施して出力する。ここで所定の符号化処理とは、クロックリカバリを容易にするための復号化処理（マンチェスター符号、５Ｂ４Ｂ変換／１０Ｂ８Ｂ変換等）を指す。送信部１０５で施される符号化処理は、受信部１０２で施される復号化処理に対応している。
【００３０】
演算制御部１４は、各子局から出力されるセンサ信号に基づき、目標値とのずれを算出し、その補正値を駆動信号として出力する。なお図３（ａ）において、点線Ｔ１より右に図示する各ブロックはローカルクロックＣ２に同期して動作する。
【００３１】
次に、図４（ａ）を参照して親局データ処理部１０４の内部構成を説明する。親局データ処理部１０４は、同期方式決定部１２０と、センサ信号検出部１２１と、駆動信号記憶部１２２と、親局送信制御部１２３、各種信号生成部１２４とを備える。
【００３２】
同期方式決定部１２０は、子局中継局数記憶部１３０と、許容中継局数記憶部１３１と、同期方式判定部１３２とを備える。子局中継局数記憶部１３０は、ネットワークに接続された子局の総数を把握し、記憶する。その方法については後述する。許容中継局数記憶部１３１は、従属同期方式（第一のデータ中継方式）で接続可能な中継局数（以降、「許容中継局数」と称する）を記憶する。本実施形態では、許容中継局数は３であり、事前に分かっているものとする。ゆえに、許容中継局数記憶部１３１には数値３が記憶される。同期方式判定部１３２は、子局中継局数記憶部１３０と許容中継局数記憶部１３１とが記憶する各情報に基づいて、各子局の同期方式を決定する。
【００３３】
センサ信号検出部１２１は、各子局から出力されるセンサ信号を検出し、演算制御部１４へ出力する。駆動信号記憶部１２２は、演算制御部１４から出力される駆動信号を一時的に記憶する。親局送信制御部１２３は、データＤ２に基づいて、後述するフローに従い、駆動信号記憶部１２２と、後述する各種信号生成部１２４と、の出力を制御する。各種信号生成部１２４は、図６（ａ）−（ｄ）に記載する各種信号を生成し、出力する。各種信号の詳細については後述する。
【００３４】
＜子局の構成＞
図３（ｂ）は、本実施形態における子局２０の内部構成を示す図である。子局２０は、上位局接続コネクタ２１と、下位局接続コネクタ２２と、アクチュエータ２３と、センサ２４と、デバイスコネクタ２５と、子局通信部２６と、デバイス制御部２７とを備える。子局通信部２６は、クロックリカバリ部１００と、ローカルクロック発振部１０１と、受信部１０２と、レートマッチＦＩＦＯ１０３と、送信部１０５と、クロックセレクタ１０６（第一のセレクタ）と、受信データセレクタ１０７（第二のセレクタ）と、子局データ処理部１０８と、セレクタ制御部１０９とを備える。ここでクロックリカバリ部１００、ローカルクロック発振部１０１、受信部１０２、送信部１０５は親局１０と同様の動作を行う為、説明を省略する。
【００３５】
クロックセレクタ１０６は、セレクタ制御部１０９による制御に応じて、再生クロックＣ１とローカルクロックＣ２とのどちらか一方を選択し、送信クロックＣ３として出力する。
【００３６】
レートマッチＦＩＦＯ１０３は、親局１０のレートマッチＦＩＦＯ１０３と同じ構成であるが、ローカルクロックＣ２ではなく送信クロックＣ３に同期してデータＤ２を出力する。当該レートマッチＦＩＦＯ１０３は、親局１０と同様、再生クロックＣ１とローカルクロックＣ２との間の周波数偏差による伝送レートの差異を吸収する為に設けられる。
【００３７】
受信データセレクタ１０７もまた、セレクタ制御部１０９による制御に応じて、データＤ１とデータＤ２とのどちらか一方を選択し、データＤ４を出力する。子局データ処理部１０８は、子局２０における各種データを処理する。子局データ処理部１０８の処理の詳細については、図５を参照して後述する。
【００３８】
セレクタ制御部１０９は、詳細については後述するが、子局データ処理部１０８からのデータＤ５、データＤ６に基づいて、採用すべき同期方式を判断し、クロックセレクタ１０６、受信データセレクタ１０７を制御する。具体的には、独立同期方式（第二のデータ中継方式）を採用すべきと判断した場合には、送信クロックＣ３としてローカルクロックＣ２を選択するようにクロックセレクタ１０６を制御する。またデータＤ４としてデータＤ２を選択するよう受信データセレクタ１０７を制御する。逆に従属同期方式を採用すべきと判断した場合には、送信クロックＣ３として再生クロックＣ１を選択するようにクロックセレクタ１０６を制御する。またデータＤ４としてデータＤ１を選択するように受信データセレクタ１０７を制御する。
【００３９】
デバイス制御部２７は、子局データ処理部１０８より駆動信号が入力されると、それに従ってアクチュエータ２３の駆動制御を行う。またセンサ２４が取得したセンサ信号が入力されると、そのセンサ信号を子局データ処理部１０８へ出力する。なお、図３（ｂ）において点線Ｔ１０より右に図示する各ブロックはローカルクロックＣ２に同期して動作する。
【００４０】
次に、図５を参照して子局データ処理部１０８の内部構成を説明する。子局データ処理部１０８は、段数信号検出部１４０と、同期方式割当信号検出部１４１と、段数信号インクリメント部１４２と、駆動信号検出部１４３と、センサ信号記憶部１４４と、データ合成部１４５と、子局送信制御部１４６と、送信データセレクタ１４７とを備える。
【００４１】
段数信号検出部１４０は、親局１０から出力される後述する段数信号を検出し、データＤ６を出力する。同期方式割当信号検出部１４１は、親局１０から出力される後述する同期方式割当信号を検出し、データＤ７を出力する。段数信号インクリメント部１４２は、親局１０から出力される後述する段数信号を検出し、その数値を１インクリメントして、データＤ８として出力する。駆動信号検出部１４３は、親局１０から出力される駆動信号を検出し、デバイス制御部２７へ出力する。センサ信号記憶部１４４は、デバイス制御部２７から出力されるセンサ信号を一時的に記憶する。
【００４２】
データ合成部１４５は、親局１０から出力される後述するデータ伝送フレームに、センサ信号記憶部１４４が出力したセンサ信号を合成し、データＤ９を出力する。センサ信号記憶部１４４がセンサ信号の出力をしていない間は、データＤ４をデータＤ９としてそのまま出力する。子局送信制御部１４６は、段数信号を検出すると、段数信号インクリメント部１４２が出力するデータＤ８を、データＤ５として出力するように送信データセレクタ１４７を制御する。それ以外の期間は、データ合成部１４５が出力するデータＤ９をデータＤ５として出力するよう送信データセレクタ１４７を制御する。またセンサ信号記憶部１４４の出力制御を行う。送信データセレクタ１４７は、子局送信制御部１４６による制御により、データＤ８またはデータＤ９のどちらか一方を選択し、データＤ５として出力する。
【００４３】
＜伝送制御手順＞
続いて本実施形態における伝送制御手順について説明する。本実施形態では上述したように有効なデータの伝送を行う前に、初期シーケンスを実施する。図７は、本実施形態の初期シーケンスをフローチャートとして図示したものである。なお、初期シーケンスの開始トリガーは、例えば電源投入時やリセット時、エンドエフェクタの交換時であるとする。
【００４４】
最初に図７のステップＳ１０の動作について説明する。ステップＳ１０において、親局１０の親局送信制御部１２３は、図６（ａ）に示す段数信号フレームを出力するように各種信号生成部１２４を制御する。段数信号フレームは、同期信号と段数信号とを含む。ここで同期信号は、プリアンブルとフレーム同期信号とを含む。プリアンブルはクロック同期用のデータ列であり、子局２０が独立同期方式を採用していた場合に、任意の子局の送信クロックＣ３と、その後段の子局の再生クロックＣ１とが同期するのに十分な時間長を有する。フレーム同期信号は、フレーム同期及び後述するタイムスロット同期を行う為の特定のデータ列であり、プリアンブルの後に出力される。段数信号は、各子局が親局１０からの中継局数を把握する為と、親局１０がネットワークに接続された子局２０の総数を把握する為に用いられる。親局１０は当該段数信号に数値１を入力して出力する。
【００４５】
ステップＳ１０において、子局２０のセレクタ制御部１０９は、独立同期方式を採用するようにクロックセレクタ１０６、受信データセレクタ１０７を制御する。具体的には上述したように、送信クロックＣ３としてローカルクロックＣ２を選択するようにクロックセレクタ１０６を制御し、またデータＤ４としてデータＤ２を選択するように受信データセレクタ１０７を制御する。独立同期方式を採用する理由は、全子局が段数信号フレームの同期信号によってクロック同期、フレーム同期、タイムスロット同期を行い、段数信号を受信することができる為である。
【００４６】
子局データ処理部１０８の子局送信制御部１４６は、段数信号を検出すると、段数信号インクリメント部１４２が出力するデータＤ８を、データＤ５として出力するように送信データセレクタ１４７を制御する。また段数信号インクリメント部１４２は、親局１０から出力される段数信号を検出し、その数値に１をインクリメントしてデータＤ８として出力する。例えば子局２０Ａでは、段数信号に数値１が既に入力されている為、数値２にインクリメントして出力する。同様に子局２０Ｂでは、段数信号に数値２が既に入力されている為、数値３にインクリメントして出力する。段数信号フレームが中継される様子を図８（ａ）に示す。段数信号は、隣接する子局へ移るにつれて１ずつインクリメントされていく。
【００４７】
子局データ処理部１０８の段数信号検出部１４０は、親局１０から出力される段数信号を検出すると、その段数信号の数値をデータＤ６として出力する。例えば子局２０Ａは数値１を、子局２０Ｂは数値２を、データＤ６として出力する。セレクタ制御部１０９は、データＤ６が入力されるとその数値を中継局数値として記憶する。以上の動作により、各子局のセレクタ制御部１０９には、親局１０からの中継局数が記憶されることになる。
【００４８】
親局１０の親局データ処理部１０４の子局中継局数記憶部１３０は、全子局を一巡して戻ってきた段数信号を検知すると、その段数信号の数値を１デクリメントして記憶する。このとき段数信号には上記した一連の中継動作により、ネットワークに接続された子局２０の総数＋１が入力されている。本実施形態においてネットワークに接続された子局２０の総数はＮである為、段数信号にはＮ＋１が入力されている。ゆえに、子局中継局数記憶部１３０は数値Ｎを記憶する。
【００４９】
同期方式判定部１３２は、子局中継局数記憶部１３０と許容中継局数記憶部１３１とが記憶する数値情報から、子局２０の総数を把握し、各子局の同期方式を決定する。本実施形態では、許容中継局数は３である。その為、同期方式判定部１３２は、３の整数倍の中継局数にある子局２０Ｃ、２０Ｆ・・は独立同期方式を、それ以外の子局（子局２０Ａ、２０Ｂ、２０Ｄ、２０Ｅ、２０Ｇ・・）は従属同期方式を採用するように決定する。親局送信制御部１２３が、全子局を一巡して戻ってきた段数信号を検知すると、ステップＳ１１へ移行する。
【００５０】
続いてステップＳ１１の動作について説明する。ステップＳ１１において、親局１０の親局送信制御部１２３は、図６（ｂ）に示す同期方式割当フレームを出力するように各種信号生成部１２４を制御する。同期方式割当フレームは同期信号と同期方式割当信号とを含む。同期方式割当信号は、ステップＳ１０での同期方式決定部１２０の決定に基づいて生成される。本実施形態では図９に示すテーブル情報が同期方式割当信号として出力される。ステップＳ１１において、子局２０の子局データ処理部１０８の子局送信制御部１４６は、データ合成部１４５が出力するデータＤ９をデータＤ５として出力するように送信データセレクタ１４７を制御する。またデータ合成部１４５は、親局１０から出力される同期方式割当フレームを中継する。以上の動作により、同期方式割当フレームは各子局へ中継伝送される。
【００５１】
子局データ処理部１０８の同期方式割当信号検出部１４１は、親局１０から出力される同期方式割当信号を検出すると、その同期方式割当信号をデータＤ７として出力する。セレクタ制御部１０９は、データＤ７が入力されるとその同期方式割当信号に入力されたテーブル情報を記憶する。本実施形態では図９のテーブル情報が記憶される。セレクタ制御部１０９は、当該テーブル情報と、ステップＳ１０で記憶した中継局数値とに基づいて、自局が採用すべき同期方式を判断する。例えば子局２０Ａは中継局数値が１である為、従属同期方式を採用すべきと判断する。また子局２０Ｃは中継局数値が３である為、独立同期方式を採用すべきと判断する。
【００５２】
セレクタ制御部１０９は、上記判断結果に基づいて、クロックセレクタ１０６及び受信データセレクタ１０７を制御する。つまり、独立同期方式を採用すべきと判断した子局２０Ｃ、２０Ｆ、・・、のセレクタ制御部１０９は、現在の独立同期方式を維持するようにクロックセレクタ１０６及び受信データセレクタ１０７を制御する。一方、従属同期方式を採用すべきと判断した子局２０Ａ、２０Ｂ、２０Ｄ、２０Ｅ、２０Ｇ、・・は、独立同期方式から従属同期方式へ切り替えるようにクロックセレクタ１０６及び受信データセレクタ１０７を制御する。具体的には、上述したように送信クロックＣ３としてローカルクロックＣ２ではなく再生クロックＣ１を選択するようクロックセレクタ１０６を制御する。またデータＤ４としてデータＤ２からデータＤ１へ切り替えて選択するように受信データセレクタ１０７を制御する。なお同期方式の切り替えは、データ誤り防止の為、後段の子局へ同期方式割当フレームを伝送し終えた後に行うものとする。以上の動作より、ステップＳ１１において、図８（ｂ）に示すように各子局の同期方式が変更される。親局送信制御部１２３が、全子局を一巡して戻ってきた同期方式割当信号を検知すると、ステップＳ１２へ移行する。
【００５３】
続いてステップＳ１２の動作について説明する。ステップＳ１２において、親局１０の親局送信制御部１２３は、図６（ｃ）に示す同期用フレームを出力するように各種信号生成部１２４を制御する。同期用フレームはクロック同期用のデータ列であり、ステップＳ１１にて独立同期方式を採用した子局の送信クロックＣ３と、その子局の後段に位置する最初の独立同期方式を採用した子局の再生クロックＣ１とを同期させるのに十分な時間長を有する。つまり同期用フレーム伝送完了後には、独立同期方式を採用した子局の送信クロックＣ３と、その子局の後段に位置する最初の独立同期方式を採用した子局の再生クロックＣ１及び、その間にある従属同期方式を採用した子局の送信クロックＣ３は同期する。親局送信制御部１２３が、同期用フレームの出力を完了すると、初期シーケンスは終了し、データ伝送フェーズへ移行する。
【００５４】
続いてデータ伝送フェーズの動作について説明する。データ伝送フェーズにおいて、親局１０の親局送信制御部１２３は、図６（ｄ）に示すデータ伝送フレームを連続して出力するように各種信号生成部１２４を制御する。また親局送信制御部１２３は、駆動信号記憶部１２２に、出力すべき駆動信号が記憶されている場合には、当該駆動信号を出力するように駆動信号記憶部１２２を制御する。
【００５５】
データ伝送フレームは、同期信号、有効データ伝送期間、アイドル期間を含んでいる。有効データ伝送期間は、任意の数のタイムスロットにより構成されており、当該タイムスロットによって駆動信号、センサ信号、その他エラー通知などの制御信号が伝送される。本実施形態では、有効データ伝送期間は、１６個のタイムスロットにより構成されるものとして説明を行う。ここでタイムスロットはフラグ部とデータ部とを含むフラグ部は、当該タイムスロットのデータ部に有効データが入っているか否かを示すフラグが入力される。以降、有効なデータが入っているタイムスロットのフラグを有効フラグ、有効なデータが入っていないタイムスロット（以降、「空タイムスロット」と称する）のフラグを空フラグと呼ぶこととする。各種信号生成部１２４は、駆動信号記憶部１２２が出力した駆動信号を任意のタイムスロットに挿入して、出力する。
【００５６】
アイドル期間は、親局及び子局間の同期を補正し、維持する為の期間として設けられている。本アイドル期間において、親局１０のレートマッチＦＩＦＯ１０３及び、独立同期方式を採用した子局２０のレートマッチＦＩＦＯ１０３は、オーバーフロー、アンダーフローを起さないように補正を行う。本アイドル期間は有効なデータが伝送されない期間であり、本来ならば無信号期間で良いが、本実施形態ではクロック同期を維持するため、特定のビットパターン（例えば１０１０１０・・・）を挿入する。データ伝送フェーズにおいて、子局２０の子局データ処理部１０８の駆動信号検出部１４３は、親局１０から出力される自局の駆動信号を検出し、デバイス制御部２７へ出力する。子局送信制御部１４６は、データ合成部１４５が出力するデータＤ９をデータＤ５として出力するように送信データセレクタ１４７を制御する。またセンサ信号記憶部１４４に、出力すべきセンサ信号が記憶されている場合には、空フラグを検出し、当該センサ信号を出力するようにセンサ信号記憶部１４４を制御する。
【００５７】
データ合成部１４５は、センサ信号記憶部１４４からセンサ信号が入力されると、当該空タイムスロットのデータ部にセンサ信号を入力し、データＤ９として出力する。またフラグ部を空フラグから有効フラグに書き換え、後段の子局に上書されるのを防ぐ。それ以外の期間（センサ信号記憶部１４４からセンサ信号が入力されない期間）は、データＤ４をそのままデータＤ９として出力する。以上の動作により親局１０及び各子局は、駆動信号及びセンサ信号等の制御信号を伝送する。
【００５８】
以上説明した構成を用いれば、図８（ｂ）に示すように、従属同期方式で接続可能な許容中継局数を越える前に、独立同期方式を採用する子局が挿入されることとなる。これにより、従属同期方式を採用した子局を経由することで加算されるジッタ量を、許容値を超過する前にリセットすることができる。よって、データ伝送用以外のケーブルを必要とせず、ネットワークに多数の子局を接続することができる。また全ての子局が独立同期方式を採用した場合と比べてデータ中継時間を短くすることができる。
【００５９】
本実施形態は、上述したようにネットワークに接続される子局の中継局数を把握し、それに応じて同期方式を適応的に切り替えることが可能である。その為、例えばエンドエフェクタを交換するロボットシステムのようにネットワーク構成が動的に切り替わる制御システムに適している。
【００６０】
本実施形態では、親局からの中継局数のみで各子局の同期方式を決定する構成について説明した。しかしこれに限らず、図４（ｂ）に示すように、同期方式決定部１２０に新たに各子局間の伝送路長を記憶する子局間伝送路長記憶部１３３を設け、例えば所定の長さ以上の伝送路がある区間は許容中継局数を減らすなど、その情報を同期方式の決定に反映しても良い。ここで子局間の伝送路長の把握は、例えば子局間の伝送遅延を計測し、その計測結果から伝送路長を推定する方法を採用しても良いし、また伝送路長があらかじめ規定されている場合は、その情報をＲＯＭに記憶し、必要に応じて読み出す方法を採用しても良い。また本実施形態では、親局が各子局の同期方式を決定する構成について説明した。しかしこれに限らず、各子局が自律的に自局の採用すべき同期方式を決定する構成であっても良い。例えば、各子局が許容中継局数記憶部を具備し、本実施形態に示した方法等を用いて親局からの中継局数を把握することで、自局の同期方式を決定する構成であっても良い。
【００６１】
また本実施形態では、タイムスロットにフラグ部を設け、子局においてセンサ信号を出力する為の空タイムスロットを検出する構成について説明したが、これに限らず、各子局に送受信を行うタイムスロットをあらかじめ割り当てておく構成であっても良い。
【００６２】
また本実施形態では、許容中継局数記憶部に記憶される許容中継局数は一意であるとして説明を行った。しかしこれに限らず、例えば接続されるエンドエフェクタの種別や、制御内容に応じて許容中継局数の数値を変えても良い。またデータ伝送フェーズにおいて許容値を超過するデータ誤りが発生した場合には、許容中継局数を１減らして、再度初期シーケンスから再開する構成であっても良い。例えば本実施形態を用いて説明すると、データ伝送フェーズにおいて許容値を超過するデータ誤りの発生を親局送信制御部１２３が検知した場合、許容中継局数記憶部１３１が記憶する許容中継局数を３から２に変更して、初期シーケンスから再度行う制御を行ってもよい。
【００６３】
本実施形態によれば、データ伝送用以外のケーブルを必要とせず、ネットワークに多数の子局を接続することができ、また全ての端局が独立同期方式を採用する場合と比較してデータ中継時間を短くできる。ゆえに本発明における通信システム及び通信方法は、多数のデバイスを具備し、高速なフィードバック制御を要求する制御システムに適している。
【００６４】
（第２実施形態）
第１実施形態では、初期シーケンス時に、親局１０が各子局の中継局数を把握し、各子局の同期方式を決定する構成について説明した。またデータ伝送フェーズにおいて、データ誤りが許容値を超過する場合には、許容中継局数を１減らして、再度初期シーケンスから再開する方法についても説明した。しかしこの方法では、データ誤りの起因となる子局とは直接関係ない箇所の許容中継局数も減らしてしまう可能性がある。
【００６５】
本実施形態では、データ誤りの起因となる子局を推測し、その子局のみを従属同期方式から独立同期方式へ切り替える。
【００６６】
図１０は、本実施形態のネットワーク構成図である。本実施形態では、図１０（ａ）に示すように、子局Ｅ-Ｆ間の伝送路が他よりも長く、信号の減衰や外来ノイズ等の影響により、子局Ｆの再生クロックＣ１に許容値を超過するジッタが発生しており、誤り発生率が許容値を超過しているとする。本実施形態ではデータを中継伝送する為、子局Ｆで発生したデータ誤りはそれ以降の子局へ伝搬される。ゆえに子局Ｆ以降の子局も誤り発生率が許容値を超過することとなる。図１１は、本実施形態における親局１０及び子局２０の内部構成を示す。
【００６７】
＜親局の構成＞
図１１（ａ）は、本実施形態における親局１０の内部構成を示す図である。なお、第１実施形態と同じ動作をするブロックには、同一の符号が付加されており、説明を省略する。親局データ処理部２００の処理が第１実施形態とは異なる。
【００６８】
図１２（ａ）は、親局データ処理部２００の内部構成を示す図である。親局データ処理部２００は、センサ信号検出部１２１と、駆動信号記憶部１２２と、同期方式決定部２２０と、親局送信制御部２２１と、各種信号生成部２２２とを備える。ここでセンサ信号検出部１２１、駆動信号記憶部１２２は、第１実施形態と同様の動作を行う為、説明を省略する。
【００６９】
同期方式決定部２２０は、子局中継局数記憶部１３０、許容中継局数記憶部１３１、子局誤り発生率記憶部２３０、同期方式判定部２３１より構成される。子局中継局数記憶部１３０、許容中継局数記憶部１３１は第１実施形態と同様の動作を行う為、説明を省略する。子局誤り発生率記憶部２３０は、後述する子局２０から出力される誤り発生率計測信号を検出して記憶する。同期方式判定部２３１は、子局中継局数記憶部１３０、子局誤り発生率記憶部２３０、許容中継局数記憶部１３１が記憶する情報に基づいて、各子局の同期方式を判定して、決定する。また詳細については後述するが、子局の誤り発生率に応じて、親局送信制御部２２１へ動作指示を出力する。
【００７０】
親局送信制御部２２１は、データＤ２と、同期方式判定部２３１からの動作指示とに基づいて、後述するフローに従い、駆動信号記憶部１２２の出力制御と、後述する各種信号生成部２２２の出力制御とを行う。
【００７１】
各種信号生成部２２２は、図６（ａ）−（ｅ）に記載する各種信号を生成して、出力する。図６（ａ）−（ｄ）の信号については第１実施形態と同様である。図６（ｅ）の信号の内容については後述する。
【００７２】
＜子局の構成＞
図１１（ｂ）は、本実施形態における子局２０の内部構成を示す図である。なお、第１実施形態と同じ動作をするブロックには、同一の符号が付加されており、説明を省略する。子局データ処理部２０１の処理が第１実施形態とは異なる。
【００７３】
図１３は、子局データ処理部２０１を示す図である。子局データ処理部２０１は、段数信号検出部１４０と、同期方式割当信号検出部１４１と、段数信号インクリメント部１４２と、駆動信号検出部１４３と、センサ信号記憶部１４４と、データ合成部１４５と、子局送信制御部２４１と、送信データセレクタ２４２と、自局誤り発生率計測部２４０とを備える。ここで段数信号検出部１４０、同期方式割当信号検出部１４１、段数信号インクリメント部１４２、駆動信号検出部１４３、センサ信号記憶部１４４、データ合成部１４５は第１実施形態と同様の動作を行う為、説明を省略する。
【００７４】
自局誤り発生率計測部２４０は、後述する親局１０から出力されるテスト信号を用いて、自局の誤り発生率を計測する。計測が終了すると、子局送信制御部２４１へ出力指示を出し、誤り発生率計測信号をデータＤ１０として出力する。
【００７５】
子局送信制御部２４１は、第１実施形態の動作に加えて、自局誤り発生率計測部２４０からの出力指示を検出すると、自局誤り発生率計測部２４０が出力するデータＤ１０を、データＤ５として出力するように送信データセレクタ２４２を制御する。送信データセレクタ２４２は、子局送信制御部２４１からの制御により、データＤ８、データＤ９、データＤ１０のいずれかを選択し、データＤ５として出力する。
【００７６】
＜伝送制御手順＞
続いて本実施形態におけるデータの伝送制御手順について説明する。本実施形態では、第１実施形態と同様、有効なデータの伝送を行う前に、初期シーケンスを実施する。図１４は、本実施形態の初期シーケンスをフローチャートとして図示したものである。ステップＳ１０乃至ステップＳ１２までの各処理は、第１実施形態と同様の動作を行う為、説明を省略する。
【００７７】
ステップＳ２０の動作について説明する。ステップＳ２０において、親局１０の親局送信制御部２２１は、図６（ｅ）に示すテストフレームを出力するように各種信号生成部２２２を制御する。テストフレームは、同期信号とテスト信号とを含む。テスト信号には例えば疑似ランダムパターンが入力されている。
【００７８】
ステップＳ２０において、子局２０の子局データ処理部２０１の子局送信制御部２４１は、データ合成部１４５が出力するデータＤ９をデータＤ５として出力するように送信データセレクタ１４７を制御する。またデータ合成部１４５は、親局１０から出力されるテストフレームを中継する。以上の動作により、テストフレームは各子局２０へ中継伝送される。
【００７９】
子局データ処理部２０１の自局誤り発生率計測部２４０は、親局１０から出力されるテスト信号を検出すると、そのテスト信号を用いて自局における誤り発生率を計測する。計測方法としては例えば、受信したテスト信号と本来受信されるべきテスト信号とを比較することでエラー発生率を算出する方法を用いても良いし、データに誤り検出符号化を施し、データ誤りをカウントする方法を用いても良い。テスト信号を全て受信し、誤り発生率の計測が完了すると、子局送信制御部２４１へ出力指示を出して、誤り率計測信号をデータＤ１０として出力する。子局送信制御部２４１は、自局誤り発生率計測部２４０からの出力指示を検出すると、自局誤り発生率計測部２４０が出力するデータＤ１０を、データＤ５として出力するように送信データセレクタ２４２を制御する。以上の動作より、各子局において計測された誤り率計測信号が親局１０へ伝送される。親局１０の親局データ処理部２００の子局誤り発生率記憶部２３０は、各子局からの誤り率計測信号を検出して記憶する。その後、ステップＳ２１へ移行する。
【００８０】
続いてステップＳ２１の動作について説明する。ステップＳ２１において、親局１０の同期方式判定部２３１は、子局誤り発生率記憶部２３０から各子局の誤り発生率を読み取る。そして、同期方式判定部２３１は、全子局のエラー発生率が許容値以下であるか否かを判定する。全子局のエラー発生率が許容値以下であると判定された場合（Ｓ２１；ＹＥＳ）、初期シーケンスを完了し、データ伝送フェーズに移行するよう親局送信制御部２２１へ動作指示を出力する。
【００８１】
しかし、もし１つでも誤り発生率が許容値を超過する子局が存在した場合には、データ誤りの起因となる子局を推測する。推測方法としてはどのような方法を用いても構わないが、本実施形態では、どの子局からエラー発生率が高くなっているか検出することで推測を行う。本実施形態では、上述したように図１０（ａ）に示すよう子局Ｆから子局Ｎまでの誤り発生率が許容値を超過している。その為、同期方式判定部２３１は、子局Ｆの再生クロックＣ１に許容値を超過するジッタが発生していると判断し、子局Ｆの前段にある子局Ｅの同期方式を従属同期方式から独立同期方式へ変更するよう決定する。そして、再度ステップＳ１１から開始するように親局送信制御部２２１へ動作指示を出力する。すなわち、１つでも誤り発生率が許容値を超過する子局が存在すると判定された場合（Ｓ２１；ＮＯ）、上述した処理を行った後に、Ｓ１１へ戻る。
【００８２】
その指示を受けた親局送信制御部２２１は、再度ステップＳ１１から処理を開始する。つまり、親局送信制御部２２１は、図６（ｂ）に示す同期方式割当フレームを出力するように各種信号生成部２２２を制御する。この時、図１５に示すテーブル情報が同期方式割当信号として出力される。以上の動作より、図１０（ｂ）に図示するように各子局の同期方式が変更される。
【００８３】
その後、ステップＳ２１において、全子局のエラー発生率が許容値以下になった場合は、初期シーケンスを終了して、データ伝送フェーズに移行する。もし、誤り発生率が許容値を超過する子局が存在する場合は、再びデータ誤りの起因となる子局を推測し、当該子局の同期方式を変更するように、ステップＳ１１へ戻って処理を行う。
【００８４】
なお本実施形態では、親局が各子局のデータ誤りに関する情報を収集し、データ誤りの起因となる子局を推測する構成について説明を行った。しかしこれに限らず、各子局が、自身のジッタ量に関する情報を収集し、データ誤りの起因となる子局を推測する構成をとっても良い。例えば各子局に自局の再生クロックのジッタ量を計測する構成を新たに設け、そこで計測したジッタ計測量を親局へ出力する。親局には図１２（ｂ）に示すように、同期方式決定部２２０は、子局誤り発生率記憶部２３０に代えて子局ジッタ量を記憶する子局ジッタ量記憶部２３２を備える、子局ジッタ量記憶部２３２は、子局から出力されるジッタ計測量を記憶する。同期方式判定部２３３は、子局ジッタ量記憶部２３２に記憶される情報に基づいて、許容値を超過するジッタ量となる子局が存在しないか否か探索する。もし許容値を超過するジッタ量となる子局が存在した場合には、当該子局の前段になる子局の同期方式を従属同期方式から独立同期方式へ変更するよう決定する。以上のように、各子局におけるジッタ量に応じて同期方式を切り替える構成をとっても良い。
【００８５】
以上説明したように、本実施形態によれば、データ誤りの起因となる子局のみを従属同期方式から独立同期方式へ変更することができる。ゆえに、システム全体におけるデータ中継時間を最小限に抑えることができる。
【００８６】
（第３実施形態）
第１および第２実施形態では、初期シーケンス時に、親局１０が各子局の中継局数を把握し、各子局の同期方式を決定する構成について説明した。しかし、初期シーケンスのみではなく、データ伝送フェーズ中にも同期方式の切り替えを行うことができる方がより使い勝手の良い制御システムが存在する。例えば、作業内容や周辺環境に応じて適応的に、制御に用いるセンサやアクチュエータを切り替える制御システムがそれにあたる。
【００８７】
図１６（ａ）−（ｃ）は、本実施形態のネットワーク構成を示す。
【００８８】
本ネットワークには、図示するようなトポロジーセレクタ４００、４０１が具備されている。トポロジーセレクタ４００、４０１は、本ネットワークを具備する制御システムが、所定の動作を行う場合には図１６（ａ）のトポロジーを選択し、それとは別の動作を行う場合には図１６（ｂ）のトポロジーを選択するように動作する。本実施形態において、親局１０とトポロジーセレクタ４００、４０１とは図示しない制御線により接続されており、親局１０がトポロジーセレクタ４００、４０１の制御を行うものとする。
【００８９】
以上のように作業内容や周辺環境に応じて適応的にネットワークトポロジーを切り替える制御システムにおいて、トポロジーの切り替えを行う都度、初期シーケンスを行っていたのでは作業効率が落ちてしまう。
【００９０】
本実施形態ではこの問題を解決する構成について説明する。具体的にはデータ伝送フェーズ中に同期方式の切り替えが可能な構成について説明する。図１７（ａ）−（ｂ）は、本実施形態における親局１０及び子局２０の内部構成を示す図である。
【００９１】
＜親局の構成＞
図１７（ａ）は、本実施形態における親局１０の内部構成を示す図である。図１７（ａ）は第１実施形態の図３（ａ）と同様の構成である為、説明を省略する。
【００９２】
＜子局の構成＞
図１７（ｂ）は、本実施形態における子局２０の内部構成を示す図である。なお、第１実施形態と同じ動作をするブロックには、同一の符号が付加されており、説明を省略する。子局２０の子局通信部２６は、クロックリカバリ部１００と、ローカルクロック発振部１０１と、受信部１０２と、レートマッチＦＩＦＯ１０３と、送信部１０５と、クロックセレクタ１０６と、位相比較部３００と、空タイムスロット生成部３０１と、子局データ処理部３０２と、受信データセレクタ３０３と、セレクタ制御部３０４とを備える。
【００９３】
位相比較部３００は、再生クロックＣ１とローカルクロックＣ２との位相差が許容値以内であるか否かを検知し、データＤ１２を出力する。
【００９４】
空タイムスロット生成部３０１は、空タイムスロットを生成し、所定長のデータＤ１３（任意のデータ）を出力する。子局データ処理部３０２は、各種データの処理を行う。詳細については、図１８を参照して後述する。
【００９５】
受信データセレクタ３０３は、セレクタ制御部３０４からの制御に応じて、データＤ１、データＤ２、データＤ１３のいずれか１つを選択し、データＤ４（第三のデータ）として出力する。
【００９６】
セレクタ制御部３０４は、第１実施形態の動作に加えて、データ伝送フェーズにて同期方式の切り替えを判断した場合には、データＤ１１、データＤ１２に基づいて、後述するフローでクロックセレクタ１０６、送信データセレクタ１４７を制御する。
【００９７】
図１８は、子局データ処理部３０２を示す図である。子局データ処理部３０２は、段数信号検出部１４０と、同期方式割当信号検出部１４１と、段数信号インクリメント部１４２と、駆動信号検出部１４３と、センサ信号記憶部１４４と、データ合成部１４５と、子局送信制御部１４６と、送信データセレクタ１４７と、アイドル期間判定部３４０とを備える。ここで段数信号検出部１４０と、同期方式割当信号検出部１４１と、段数信号インクリメント部１４２と、駆動信号検出部１４３と、センサ信号記憶部１４４と、データ合成部１４５と、送信データセレクタ１４７とは第１実施形態と同様の動作を行う為、説明を省略する。アイドル期間判定部３４０は、親局１０から出力されるデータ伝送フレーム中のアイドル期間を判定し、データＤ１１を出力する。
【００９８】
＜伝送制御手順＞ 
続いて本実施形態における伝送制御手順について説明する。初期シーケンス及びデータ伝送フェーズの動作は第１実施形態と同様である為、説明を省略する。ここでは本実施形態の特徴であるデータ伝送フェーズ中に同期方式を切り替える動作について説明する。なお本実施形態でも、許容中継局数は３とする。
【００９９】
データ伝送フェーズ中に図１６（ａ）から図１６（ｂ）へネットワークトポロジーが切り替わった場合の動作について説明する。なお、ネットワークトポロジーの切り替えは、有効なデータの破壊を防ぐためアイドル期間中に行われるものとする。また図１６（ａ）から図１６（ｂ）へ切り替わった直後の子局２０Ｈ、２０Ｉ、２０Ｊ、２０Ｋ、２０Ｌは、独立同期方式を採用する。独立同期方式を採用する理由は、同期信号によりクロック同期、フレーム同期、タイムスロット同期を行うことができ、即座に通信へ参加できる為である。また子局２０Ｈ、２０Ｉ、２０Ｊ、２０Ｋ、２０Ｌが従属同期方式を採用していた場合、許容接続段数を超えてしまう。ゆえに子局２０Ｈ、２０Ｉ、２０Ｊ、２０Ｋ、２０Ｌのように、ネットワークトポロジーを切り替えた直後にネットワークに接続される子局は、独立同期方式を採用しておく。
【０１００】
親局１０の親局送信制御部１２３は、図１６（ａ）から図１６（ｂ）へ切り替わった直後に、データ伝送フレームの任意の空タイムスロットを用いて段数信号を挿入して出力するように各種信号生成部１２４を制御する。
【０１０１】
子局２０の子局データ処理部３０２の子局送信制御部１４６は、第１実施形態と同様、段数信号を検出すると、段数信号インクリメント部１４２が出力するデータＤ８をデータＤ５として出力するように送信データセレクタ１４７を制御する。また段数信号インクリメント部１４２は、段数信号を１インクリメントして出力する。
【０１０２】
また子局データ処理部３０２の段数信号検出部１４０は、第１実施形態と同様、親局１０から出力される段数信号を検出すると、その段数信号の数値をデータＤ６として出力する。セレクタ制御部３０４は、データＤ６が入力されるとその数値を中継局数値として記憶する。以上の動作により、データ伝送フェーズ中に、各子局のセレクタ制御部１０９には、図１６（ｂ）における親局１０からの中継局数が新たに記憶される。
【０１０３】
親局１０の親局データ処理部１０４の子局中継局数記憶部１３０は、第１実施形態と同様、全子局を一巡して戻ってきた段数信号を検知すると、その段数信号の数値を１デクリメントして記憶する。本実施形態においてネットワークに接続された子局２０の総数は、図１６（ａ）よりも２つ多いＮ＋２であったとする。ゆえに、子局中継局数記憶部１３０には数値Ｎ＋２が記憶される。
【０１０４】
同期方式判定部１３２は、第１実施形態と同様、子局中継局数記憶部１３０と許容中継局数記憶部１３１とが記憶する数値情報から、子局２０の総数を把握し、各子局の同期方式を決定する。本実施形態では、許容中継局数は３である。その為、同期方式判定部１３２は、３の整数倍の番号に対応する中継局にあたる子局２０Ｃ、２０Ｊ・・は独立同期方式を、それ以外の子局（子局２０Ａ、２０Ｂ、２０Ｈ、２０Ｉ、２０Ｋ、２０Ｌ・・）は従属同期方式を採用するように決定する。なお、必ずしも許容中継局数の整数倍に限らず、その他の法則に従った位置に対応する子局が独立同期方式を採用するように決定してもよい。
【０１０５】
親局送信制御部１２３は、全子局を一巡して戻ってきた段数信号を検知すると、データ伝送フレーム中の任意の空タイムスロットを用いて同期方式割当信号を出力するように各種信号生成部１２４を制御する。本実施形態では、図１９に示すテーブル情報が同期方式割当信号として出力される。なお図１９のテーブル情報を１つのデータ伝送フレームで伝送せず、例えば１つのデータ伝送フレームで１つの子局の同期方式に関する情報を伝送するなど、分割して伝送しても良い。
【０１０６】
子局２０の子局データ処理部３０２の同期方式割当信号検出部１４１は、第１実施形態と同様、親局１０から出力される同期方式割当信号を検出すると、その同期方式割当信号をデータＤ７として出力する。セレクタ制御部３０４は、データＤ７が入力されるとその同期方式割当信号に入力されたテーブル情報を記憶する。本実施形態では図１９のテーブル情報が記憶される。セレクタ制御部３０４は、当該テーブル情報と、ステップＳ１０で記憶した中継局数値とに基づいて、自局が採用すべき同期方式を判断する。例えば子局２０Ａは中継局数値が１である為、従属同期方式を採用すべきと判断する。また子局Ｉは中継局数値が６である為、独立同期方式を採用すべきと判断する。
【０１０７】
＜独立同期方式から従属同期方式への切り替え＞
図２０（ａ）−（ｂ）を参照して、子局２０Ｈ、２０Ｉ、２０Ｋ、２０Ｌのように、データ伝送フェーズ中に独立同期方式から従属同期方式へ切り替える子局の動作について説明する。図２０（ａ）は、データ伝送フェーズ中に独立同期方式から従属同期方式へ切り替える子局における再生クロックＣ１、ローカルクロックＣ２、送信クロックＣ３及びデータＤ１、Ｄ２、Ｄ３、Ｄ１１、Ｄ１２について図示している。本図ではデータ伝送フレームＡの１番目のタイムスロットにおいて、自局に関する同期方式割当信号が伝送されたとして説明を行う。なお図中の期間ｔ１はレートマッチＦＩＦＯを通過する際に生じる遅延時間である。ゆえにレートマッチＦＩＦＯを通過しないデータＤ１と、通過するデータＤ２とでは、図示のように期間ｔ１だけの遅延差が生じる。また、レートマッチＦＩＦＯにはデータ伝送フレーム開始時点においてＰビット、バッファされるとする。
【０１０８】
なおデータＤ１１は、アイドル期間判定部３４０が出力する信号であり、アイドル期間中はＨＩＧＨを、それ以外の期間はＬＯＷを出力する。またデータＤ１２は、位相比較部３００が出力する信号であり、再生クロックＣ１とローカルクロックＣ２との位相差が許容値以内の期間はＨＩＧＨを、それ以外の期間はＬＯＷを出力する。ここでの許容値とは、送信クロックＣ３を、再生クロックＣ１からローカルクロックＣ２へ、またはローカルクロックＣ２から再生クロックＣ１へ切り替えても、下位の端局へデータ誤りなくデータ送信できる位相差範囲であるものとする。
【０１０９】
時刻Ｔ１において、当該子局は独立同期方式を採用している。その為、図示のように送信クロックＣ３としてローカルクロックＣ２が、データＤ３としてデータＤ２が選択される。
【０１１０】
時刻Ｔ２において、１番目のタイムスロットで伝送される同期方式割当信号により、セレクタ制御部３０４が独立同期方式から従属同期方式への切り替えを判断したとする。しかし、この時点ではまだ同期方式の切り替え制御は行われない。
【０１１１】
時刻Ｔ３において、データＤ１２がＨＩＧＨであることをセレクタ制御部３０４が検知する。セレクタ制御部３０４は、その検知結果より現時刻における再生クロックＣ１とローカルクロックＣ２との位相差が許容値以内であると判断する。そして、セレクタ制御部３０４は、当該時刻Ｔ３において送信クロックＣ３をローカルクロックＣ２から再生クロックＣ１へ切り替えるようにクロックセレクタ１０６を制御する。図２０（ｂ）は、図２０（ａ）の点線範囲Ａを拡大した図である。このように再生クロックＣ１とローカルクロックＣ２とを切り替えることにより、送信クロックＣ３の位相の連続性を確保し、下位局でデータ誤りが発生することを防ぐ。しかし、セレクタ制御部３０４はこの時点では受信データセレクタ３０３の制御は行わない。なぜなら、もしこの時点でデータＤ３をデータＤ２からデータＤ１へ切り替えた場合、図からもわかるように７番目のタイムスロットと８番目のタイムスロットが壊れてしまう。よって、セレクタ制御部３０４は、本時刻Ｔ３から後述する時刻Ｔ４までの間、データＤ３としてデータＤ２を選択することを維持するように受信データセレクタ３０３を制御する。
【０１１２】
時刻Ｔ４において、データＤ１１がＨＩＧＨであることをセレクタ制御部３０４が検知する。セレクタ制御部３０４は、その検知結果より現時刻はアイドル期間であると判断し、当該時刻Ｔ４においてデータＤ３をデータＤ２からデータＤ１へ切り替えるように受信データセレクタ３０３を制御する。このようにアイドル期間でデータを切り替えることにより、有効なデータが含まれるタイムスロットを壊してしまうことを防ぐ。
【０１１３】
以上の手順でセレクタ制御部３０４が、クロックセレクタ１０６及び受信データセレクタ３０３を制御することで、データ伝送フェーズ中にも、データ誤りを起こすことなく、図１６（ｃ）に示されるように独立同期方式から従属同期方式へ切り替えることができる。
【０１１４】
なお本実施形態では、データ伝送フレームのアイドル期間においてデータを切り替える構成について説明したが、これに限らず、有効なデータが伝送されていない期間であればどの期間で切り替えても良い。
【０１１５】
＜従属同期方式から独立同期方式への切り替え＞
続いて図２１を参照して、図１６（ｃ）に示される子局２０Ｇのようにデータ伝送フェーズ中に従属同期方式から独立同期方式へ切り替える子局の動作について説明する。図２１（ａ）は、データ伝送フェーズ中に従属同期方式から独立同期方式へ切り替える子局における再生クロックＣ１、ローカルクロックＣ２、送信クロックＣ３及びデータＤ１、Ｄ２、Ｄ３、Ｄ１１、Ｄ１２について図示している。本図では、図２０（ａ）−（ｂ）と同様、データ伝送フレームＡの１番目のタイムスロットにおいて、自局に関する同期方式割当信号が伝送されたとして説明を行う。
【０１１６】
時刻Ｔ５において、当該子局は従属同期方式を採用している。その為、図示のように送信クロックＣ３として再生クロックＣ１が、データＤ３としてデータＤ１が選択される。
【０１１７】
時刻Ｔ６において、１番目のタイムスロットで伝送される同期方式割当信号により、セレクタ制御部３０４が従属同期方式から独立同期方式への切り替えを判断したとする。しかし、この時点ではまだ同期方式の切り替え制御は行われない。
【０１１８】
時刻Ｔ７において、データＤ１２がＨＩＧＨであることをセレクタ制御部３０４が検知する。セレクタ制御部３０４は、その検知結果より時刻Ｔ７における再生クロックＣ１とローカルクロックＣ２との位相差が許容値以内であると判断する。そして、セレクタ制御部３０４は、当該時刻Ｔ７において、送信クロックＣ３を、再生クロックＣ１からローカルクロックＣ２へ切り替えるようにクロックセレクタ１０６を制御する。図２１（ｂ）は、図２１（ａ）の点線範囲Ｂを拡大した図である。このように再生クロックＣ１とローカルクロックＣ２とを切り替えることで、送信クロックＣ３の位相の連続性を確保し、下位局でデータ誤りが発生することを防ぐ。しかし、セレクタ制御部３０４は、この時点では受信データセレクタ３０３の制御は行わない。なぜなら、もしこの時点でデータＤ３をデータ１からデータＤ２へ切り替えた場合、図２１（ａ）からもわかるように８番目のタイムスロットが壊れてしまう。よって、セレクタ制御部３０４は、８番目のタイムスロットが受信データセレクタ３０３を通過するまで、データＤ３としてデータＤ１の選択を維持するよう受信データセレクタ３０３を制御する。
【０１１９】
時刻Ｔ８において、８番目のタイムスロットが全て受信データセレクタ３０３を通過する。セレクタ制御部３０４は、当該時刻Ｔ８においてデータＤ３をデータＤ２からデータＤ１３へ切り替えるよう受信データセレクタ３０３を制御する。ここでデータＤ１３は、上述したように、空タイムスロット生成部３０１が生成する空タイムスロットである。
【０１２０】
時刻Ｔ９において、空タイムスロット生成部３０１が出力する空タイムスロットが全て受信データセレクタ３０３を通過する。セレクタ制御部３０４は、当該時刻Ｔ９においてデータＤ３をデータＤ１３からデータＤ２へ切り替えるように受信データセレクタ３０３を制御する。以上の動作により、データＤ３は、データＤ１から空タイムスロットを挿入した後、データＤ２へ切り替わることとなる。
【０１２１】
ここで空タイムスロットを挿入する必要がある理由を説明する。レートマッチＦＩＦＯ１０３は、上述したように再生クロックＣ１とローカルクロックＣ２との間の周波数偏差による伝送レートの差異を吸収する為に設けられる。その為、レートマッチＦＩＦＯ１０３には、伝送レートを吸収できる分だけのデータをバッファさせておく必要がある。より具体的に言うと、レートマッチＦＩＦＯ１０３には、同期信号から次の同期信号を受信するまでの間、アンダーフローまたはオーバーフローを起さない分だけのデータ量をバッファさせておく必要がある。空タイムスロットは、レートマッチＦＩＦＯ１０３にその分だけのデータ量をバッファさせる時間を稼ぐ為に挿入される。ゆえに、空タイムスロットのビット数をＱビットとすると、Ｑ≧Ｐである必要がある。またレートマッチＦＩＦＯ１０３のバッファ可能なビット数は、オーバーフローを起さないようにＱ＋Ｐ以上にしておく必要がある。なおＱ＞Ｐであった場合でも、次のデータ伝送フレーム開始時点では、レートマッチＦＩＦＯ１０３にビット数Ｐがバッファされるようにアイドル期間で調整するものとする。
【０１２２】
以上の手順で、セレクタ制御部３０４が、クロックセレクタ１０６及び受信データセレクタ３０３を制御することにより、データ伝送フェーズ中にも、データ誤りを起こすことなく、図１６（ｃ）に示される子局２０Ｇのように従属同期方式から独立同期方式へ切り替えることができる。
【０１２３】
なお本実施形態においてデータＤ１３は空タイムスロットであるとしたが、これに限らず識別可能な任意のデータパターンで良い。例えば特定のビットパターンでも良いし、また直前に伝送されたタイムスロット（図２１（ａ）では８番目のタイムスロット）を再度送るような構成にしても良い。
【０１２４】
また第１乃至第３実施形態においてネットワークトポロジーはループ接続型であるとして説明を行ったが、これに限らず、例えば図２２に示すようにライン接続型のネットワークトポロジーの構成であっても良い。図２２では、親局１０と、子局２０Ａ、２０Ｂ、…、子局２０Ｎが、隣接する局同士連結されている。
【０１２５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013085116.tif 000003
【図２】
2013085116.tif 000004
【図３】
2013085116.tif 000005
【図４】
2013085116.tif 000006
【図５】
2013085116.tif 000007
【図６】
2013085116.tif 000008
【図７】
2013085116.tif 000009
【図８】
2013085116.tif 000010
【図９】
2013085116.tif 000011
【図１０】
2013085116.tif 000012
【図１１】
2013085116.tif 000013
【図１２】
2013085116.tif 000014
【図１３】
2013085116.tif 000015
【図１４】
2013085116.tif 000016
【図１５】
2013085116.tif 000017
【図１６】
2013085116.tif 000018
【図１７】
2013085116.tif 000019
【図１８】
2013085116.tif 000020
【図１９】
2013085116.tif 000021
【図２０】
2013085116.tif 000022
【図２１】
2013085116.tif 000023
【図２２】
2013085116.tif 000024