(57)【要約】  他のネットワークユニットとの間で通信を行なう送信ポート３１３、受信ポート３１４と、同期対象との間で通信を行なうシステムバスＩ／Ｆ部３１１と、所定の時間をカウントするｎ個（ｎは２以上の整数）の遅延カウンタ３１６−１，３１６−２と、所定の周期で入力される同期パケットを受信ポート３１４から受信すると、所定の周期のｎ倍の周期を遅延カウンタ３１６−１，３１６−２にカウントさせ、かつそれぞれの遅延カウンタ３１６−１，３１６−２でのカウントのクリアのタイミングが異なるように遅延カウンタ３１６−１，３１６−２の制御を行なう遅延カウンタ制御部３１７と、クリアされてからのカウント値が同期パルス出力値に等しい値の遅延カウンタ３１６−１，３１６−２がある場合に、システムバスＩ／Ｆ部３１１を介して同期対象に対して同期パルスを出力する同期パルス出力部と、を備える。
2014020726.tif 000002
【特許請求の範囲】
【請求項１】
他の通信装置との間で通信を行なう第１通信手段と、
同期対象との間で通信を行なう第２通信手段と、
所定の時間をカウントするｎ個（ｎは２以上の整数）のカウンタと、
所定の周期で入力される同期パケットを前記第１通信手段から受信すると、前記所定の周期のｎ倍の周期を前記カウンタにカウントさせ、かつそれぞれの前記カウンタでのカウントのクリアのタイミングが異なるように前記カウンタの制御を行なうカウンタ制御手段と、
クリアされてからのカウント値が同期パルス出力値に等しい値の前記カウンタがある場合に、前記第２通信手段を介して前記同期対象に対して同期パルスを出力する同期パルス出力手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記カウンタのカウントをクリアさせるタイミングを、前記カウンタでのカウント開始から前記ｎ倍の周期が経過した時間を基準とした所定の時間範囲内に制限するフィルタ手段をさらに備え、
前記フィルタ手段は前記各カウンタに対して設けられることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記ｎ個のカウンタのうち、カウントをクリアするカウンタを指定するクリアカウンタ指定情報を前記同期パケットに含める同期パケット送信手段と、
受信した前記同期パケット中の前記クリアカウンタ指定情報で指定されるカウンタを、前記同期パケットの受信とともに前記カウンタ制御手段に通知する同期パケット受信手段と、
をさらに備え、
前記カウンタ制御手段は、前記同期パケット受信手段から通知された前記カウンタでのカウントのクリアを行なうことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
同期パルスを周期的に出力する同期マスタに接続される第１通信装置と、同期対象と接続される複数の第２通信装置とが、ネットワークを介して接続される通信システムにおいて、
前記同期マスタは、
所定の周期で同期パルスを出力する同期信号送信手段と、
自同期マスタから前記同期対象に接続される前記第２通信装置までの通信遅延時間を測定し、それぞれの前記第２通信装置に対して前記通信遅延時間に基づいて算出した同期パルス出力値を設定する通信遅延時間測定手段と、
を備え、
前記第１通信装置は、前記同期マスタからの同期パルスを受信すると、前記ネットワークに接続されるすべての前記第２通信装置に対して同期パケットを送信する同期パケット送信手段を有し、
前記第２通信装置は、
前記第１通信装置または他の前記第２通信装置との間で通信を行なう第１通信手段と、
前記同期対象との間で通信を行なう第２通信手段と、
所定の時間をカウントするｎ個（ｎは２以上の整数）のカウンタと、
前記同期パケットを所定の周期で前記第１通信手段から受信すると、前記所定の周期のｎ倍の周期を前記カウンタにカウントさせ、かつそれぞれの前記カウンタでのカウントのクリアのタイミングが異なるように前記カウンタの制御を行なうカウンタ制御手段と、
クリアされてからのカウント値が前記同期パルス出力値に等しい値の前記カウンタがある場合に、前記第２通信手段を介して前記同期対象に対して同期パルスを出力する同期パルス出力手段と、
を備えることを特徴とする通信システム。
【請求項５】
前記第２通信装置は、前記カウンタのカウントをクリアさせるタイミングを前記カウンタでのカウント開始から前記ｎ倍の周期が経過した時間を基準とした所定の時間範囲内に制限するフィルタ手段を、前記カウンタごとにさらに備えることを特徴とする請求項４に記載の通信システム。
【請求項６】
前記第２通信装置は、
前記第２通信装置中の前記ｎ個のカウンタのうち、カウントをクリアするカウンタを指定するクリアカウンタ指定情報を前記同期パケットに含める同期パケット送信手段と、
受信した前記同期パケット中の前記クリアカウンタ指定情報で指定されるカウンタを、前記同期パケットの受信とともに前記カウンタ制御手段に通知する同期パケット受信手段と、
をさらに備え、
前記カウンタ制御手段は、前記同期パケット受信手段から通知された前記カウンタでのカウントのクリアを行なうことを特徴とする請求項４または５に記載の通信システム。
【請求項７】
前記同期マスタと前記第１通信装置とはシステムバスを介して接続され、
前記同期対象と前記第２通信装置とはシステムバスを介して接続されることを特徴とする請求項４から６のいずれか１つに記載の通信システム。
【請求項８】
前記同期パルスの周期は、前記第１通信装置から前記ネットワークで接続される長さが最も短い位置にある前記第２通信装置に対する前記第１通信装置から前記ネットワークで接続される長さが最も長い位置にある前記第２通信装置の遅延時間よりも短いことを特徴とする請求項４から７のいずれか１つに記載の通信システム。
【請求項９】
同期パルスを周期的に出力する同期マスタに接続される第１通信装置と、同期対象と接続される複数の第２通信装置とが、ネットワークを介して接続される通信システムでの同期制御方法において、
前記第１通信装置は、前記同期マスタからの前記同期パルスを受信すると、前記ネットワークを介して接続されるすべての前記第２通信装置に同期パケットを送信する第１工程と、
前記第２通信装置は、前記同期パケットを受信すると、ｎ個（ｎは２以上の整数）のカウンタのうち同期パルス出力値に等しい数をカウントした前記カウンタをクリアして新たにカウントを開始させる第２工程と、
前記第２通信装置は、前記ｎ個のカウンタのうち、前記同期マスタからの前記ネットワークで接続される長さに応じて設定された同期パルス出力値に等しい値をカウントした前記カウンタが存在する場合に、該第２通信装置に接続される前記同期対象に同期パルスを出力する第３工程と、
を含むことを特徴とする同期制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信装置、通信システムおよび同期制御方法に関するものである。
【背景技術】
【０００２】
工作機械や半導体製造装置、産業用ロボットなど、複数の軸を使用した高精度なモーション動作が必要とされるモーションコントールシステムにおいて、モーションコントローラと複数の制御される軸はお互いに同期して動作を行う必要がある。【０００３】
従来のモーションコントロールシステムには、複数のモーションコントローラに同じ補間指令が入力され、複数のサーボドライブのサーボ位置指令またはサーボトルク指令をすこしずつずらして作成し、複数のサーボドライブに送信することで、単体のモーションコントローラでは所望の制御周期で処理できないような多軸補間指令であっても、所望の制御周期でサーボドライブへ指令を出力できる技術が提案されている（たとえば、特許文献１参照）。【０００４】
特許文献１に記載の技術では、モーションコントローラと複数のサーボドライブとを、同期通信機能を備えない高速シリアルバスまたはシリア通信で接続したモーションコントロールシステムにおいて、モーションコントローラは、設定時間毎に起動割込みでモーション指令をサーボドライブへ出力し、モーション指令の出力から設定時間遅延させた起動割込みでタイマクリア要求をサーボドライブへ出力している。また、サーボドライブは、モーションコントローラからのタイマクリア要求を設定時間遅延させてサーボドライブ内のタイマをクリアするようにしている。これによって、各サーボドライブのサーボ制御処理を同時に実行させている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２４４５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の技術では、モーションコントローラが位置指令等のモーション指令を送信した後、モーションコントローラからの物理的距離が近いサーボドライブと遠いサーボドライブとではモーション指令を受け取るタイミングが異なるが、複数のサーボドライブを同期して動作させるために、早く指令を受取ったサーボドライブは、指令を最も受け取るのが遅いサーボドライブが指令を受け取るまで待ち状態となってしまう。したがって、モーションコントローラと同期対象との通信距離が延長されていったり、同期対象のサーボドライブが増加されていったりするに従って、遅延時間は大きくなる。遅延時間が増大すると、モーションコントローラからサーボドライブへの位置指令等のモーション指令が送信されてから、実際の起動割込みが出力されるまでの時間が延びることになり、所望の起動周期が実現できなくなるという問題点があった。【０００７】
この発明は上記に鑑みてなされたもので、モーションコントロールシステムでモーションコントローラに接続されるサーボドライブの数が増大していった場合でも、モーションコントローラからサーボドライブへのモーション指令が送信されてから実際の起動割り込みが出力されるまでの時間の増大を抑制することができる通信装置、通信システムおよび同期制御方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、この発明にかかる通信装置は、他の通信装置との間で通信を行なう第１通信手段と、同期対象との間で通信を行なう第２通信手段と、所定の時間をカウントするｎ個（ｎは２以上の整数）のカウンタと、所定の周期で入力される同期パケットを前記第１通信手段から受信すると、前記所定の周期のｎ倍の周期を前記カウンタにカウントさせ、かつそれぞれの前記カウンタでのカウントのクリアのタイミングが異なるように前記カウンタの制御を行なうカウンタ制御手段と、クリアされてからのカウント値が同期パルス出力値に等しい値の前記カウンタがある場合に、前記第２通信手段を介して前記同期対象に対して同期パルスを出力する同期パルス出力手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
この発明によれば、ｎ個のカウンタと、所定の周期で入力される同期パケットを受信すると、所定の周期のｎ倍の周期をカウンタにカウントさせ、かつそれぞれのカウンタでのカウントのクリアのタイミングが異なるようにカウンタの制御を行なうカウンタ制御手段と、を備えるようにしたので、１つのカウンタによって同期パケットが末端の制御対象に到着するまで待っている間も、つぎの同期パケットを受け取ることができるという効果を有する。また、複数ある遅延カウンタのどれかが同期パルス出力値の値になるたびに同期パルスを出力するため、遅延カウンタが１つの場合より早い周期で同期パルスを出力することができるという効果も有する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態が適用されるモーションコントロールシステムの構成の一例を模式的に示す図である。
【図２】図２は、同期マスタの機能構成の一部を模式的に示すブロック図である。
【図３】図３は、ネットワークユニットの機能構成の一例を模式的に示す図である。
【図４】図４は、ネットワークユニット３１Ａの遅延カウンタの動作の一例を示す図である。
【図５】図５は、同期対象２１Ａの動作の一例を示す図である。
【図６】図６は、ネットワークユニット３１Ｂの遅延カウンタの動作の一例を示す図である。
【図７】図７は、同期対象２１Ｂの動作の一例を示す図である。
【図８】図８は、ネットワークユニット３１Ｃの遅延カウンタの動作の一例を示す図である。
【図９】図９は、同期対象２１Ｃの動作の一例を示す図である。
【図１０】図１０は、ネットワークユニット３１Ｄの遅延カウンタの動作の一例を示す図である。
【図１１】図１１は、同期対象２１Ｄの動作の一例を示す図である。
【図１２】図１２は、実施の形態によるモーションコントロールシステムでの各同期対象の動作の一例を示す図である。
【図１３】図１３は、一般的な方法によるモーションコントロールシステムでの各同期対象の動作の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明にかかる通信装置、通信システムおよび同期制御方法の好適な実施の形態を詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
図１は、実施の形態が適用されるモーションコントロールシステムの構成の一例を模式的に示す図である。モーションコントロールシステムは、モーションコントローラなどの同期マスタ１１と、サーボドライブなどの同期対象２１Ａ〜２１Ｄとが、ネットワーク４０を介して接続される構成を有する。
【００１３】
同期マスタ１１とネットワークユニット３１Ｍとは、システムバス１２を介して接続される。また、同期対象２１Ａとネットワークユニット３１Ａとは、システムバス２２Ａを介して接続され、他の同期対象２１Ｂ〜２１Ｄとネットワークユニット３１Ｂ〜３１Ｄも同様にそれぞれシステムバス２２Ｂ〜２２Ｄを介して接続される。そして、ネットワークユニット３１Ｍとネットワークユニット３１Ａ〜３１Ｄは、たとえばEthernet（登録商標）などのネットワーク４０を介してライン状に接続される。なお、この例では、同期マスタ１１に接続されるネットワークユニット３１Ｍと、４つの同期対象２１Ａ〜２１Ｄに接続されるネットワークユニット３１Ａ〜３１Ｄとによって、モーションコントロールシステムが構成されているが、その数はこれに特定されるものではない。また、ネットワークユニット３１Ｍ，３１Ａ〜３１Ｄ間の接続形態は、ライン状だけではなく、スター状やリング状、これらが混在したものなどとすることもできる。
【００１４】
図２は、同期マスタの機能構成の一部を模式的に示すブロック図である。同期マスタ１１は、インターバルタイマ１１１と、システムバスインタフェース（以下、Ｉ／Ｆという）部１１２と、通信遅延測定部１１３と、を有する。なお、モーションコントローラなどがもつ同期マスタ１１としてのその他の基本的な機能については、ここでは省略している。
【００１５】
インターバルタイマ１１１は、所定時間ごとに起動割り込みを発生し、図示しない処理部でのモーション処理を起動する。
【００１６】
システムバスＩ／Ｆ部１１２は、システムバス１２に対してコマンドの送受信や制御信号の入出力を行う機能を有する。この実施の形態では、システムバス１２として、シリアルバス、パラレルバスなどの形態は問わない。また、システムバスＩ／Ｆ部１１２から出力される同期パルスは、システムバス１２を通じて接続されているすべてのネットワークユニット３１Ａに同期タイミングを通知する。また、システムバス１２に出力される形態が同期パケットであれば、特定のユニットに対して同期タイミングを通知することもできる。
【００１７】
通信遅延測定部１１３は、同期マスタ１１が同期パルスを出力してから、同期対象２１Ａ〜２１Ｄが接続されているネットワークユニット３１Ａ〜３１Ｄまでの遅延時間を測定する。遅延時間を測定する方法について、特に限定するものではないが、たとえばＩＥＥＥ１５８８などの規格を用いて遅延時間を測定することができる。測定した遅延時間は、各ネットワークユニット３１Ａ〜３１Ｄの同期パルス出力値記憶部に記憶される。
【００１８】
ネットワークユニット３１Ｍ，３１Ａ〜３１Ｄは、ネットワーク４０を通じて定周期でネットワークユニット同士で通信を行う機能を有する。ネットワークユニット３１Ｍ，３１Ａ〜３１Ｄには通信に関する様々な機能が存在するが、ここでは、実施の形態に関連する同期機能に絞ってネットワークユニット３１Ｍ，３１Ａ〜３１Ｄの機能について説明する。図３は、ネットワークユニットの機能構成の一例を模式的に示す図である。図１の同期マスタ１１に接続されるネットワークユニット３１Ｍと、同期対象２１Ａ〜２１Ｄに接続されるネットワークユニット３１Ａ〜３１Ｄとは、それぞれ同じ構成を有し、ここでは、ネットワークユニット３１と表記してその構成を説明する。
【００１９】
ネットワークユニット３１は、システムバスＩ／Ｆ部３１１、同期パケット送信部３１２、送信ポート３１３、受信ポート３１４、同期パケット受信部３１５、遅延カウンタ３１６−１，３１６−２、遅延カウンタ制御部３１７、フィルタ部３１８−１，３１８−２、同期パルス出力値記憶部３１９および同期パルス出力部３２０を備える。この実施の形態の例では、遅延カウンタ３１６−１，３１６−２およびフィルタ部３１８−１，３１８−２はそれぞれ２つずつ設けられる構成を有しているが、その数は限定されるものではない。また、マイコンやメモリ、クロックなどネットワークユニットを構成する一般的な機能は、明示的に図示していないが存在するものとする。
【００２０】
システムバスＩ／Ｆ部３１１は、同期マスタ１１のシステムバスＩ／Ｆ部１１２と同様にシステムバス１２，２２Ａ〜２２Ｄに対してコマンドの送受信や制御信号の入出力を行う機能を有する。
【００２１】
同期パケット送信部３１２は、システムバスＩ／Ｆ部３１１が受信した同期パルスをトリガとして他のネットワークユニットへの同期パケットを生成し、生成した同期パケットを送信ポート３１３に対して出力する。なお、この実施の形態では、同期パケットの形式については、特に限定されない。たとえば、Ethernet（登録商標）のヘッダやデータ領域に１ｂｉｔの同期パケットであるかどうかのフラグ情報を格納させて、同期パケットとするようにしてもよい。また、同期パケット送信部３１２は、クリアする遅延カウンタ３１６−１，３１６−２を指定するクリアカウンタ指定情報を含ませるようにしてもよい。
【００２２】
送信ポート３１３および受信ポート３１４は、ネットワーク４０との間でパケットを送受信するＩ／Ｆである。ネットワーク４０のトポロジは限定されるものではないが、この例では、ライン型のトポロジを有しているので、２つの送信ポート３１３と受信ポート３１４を有している。また、スター型のトポロジを有する場合であれば通信ポートは１つであってもよい。さらに、送信ポート３１３と受信ポート３１４は双方の機能を有する一つのポートで構成されていてもよい。
【００２３】
同期パケット受信部３１５は、受信ポート３１４または送信ポート３１３から自分宛の同期パケットを受取り解析する機能を有する。同期パケットを受信した場合には、遅延カウンタ制御部３１７に同期パケットの到着を通知する。たとえば、上記した例では、Ethernet（登録商標）のヘッダやデータ領域に設けられる同期パケットであるかどうかのフラグ情報を確認することで、同期パケットであるか否かを判定する。また、同期パケットにクリアカウンタ指定情報が含まれる場合には、遅延カウンタ制御部３１７に対して、同期パケットの到着の通知とともにクリアする遅延カウンタ３１６−１，３１６−２も通知する。
【００２４】
遅延カウンタ３１６−１，３１６−２は、クロックに同期してカウントアップする機能を有する。この実施の形態では、ネットワークユニット３１は２つの遅延カウンタ３１６−１，３１６−２を有しているが、複数有していればよい。
【００２５】
遅延カウンタ制御部３１７は、遅延カウンタ３１６−１，３１６−２の開始、停止、リセットの動作を制御する。具体的には、遅延カウンタ制御部３１７は、同期パケット受信部３１５から同期パケットの到着と同期対象の遅延カウンタ３１６−１，３１６−２の情報を受取り、対象の遅延カウンタ３１６−１，３１６−２をクリアする。
【００２６】
この実施の形態では、遅延カウンタ制御部３１７は、それぞれの遅延カウンタ３１６−１，３１６−２に対して、各同期対象２１Ａ〜２１Ｄに対して同期パルスを出力する周期よりも長い所定の周期をカウントさせる。カウントさせる周期としては、たとえば同期マスタ１１からのネットワーク４０を介した物理的な距離が最も近いネットワークユニット３１Ａに対する最も遠いネットワークユニット３１Ｄの遅延時間よりも長い時間とすることができる。また、各遅延カウンタ３１６−１，３１６−２でのカウント開始時期は、それぞれ異なるように制御される。具体的には、遅延カウンタ３１６−１，３１６−２でカウントされる周期を遅延カウンタ３１６−１，３１６−２の数で割った値だけずらして、各遅延カウンタ３１６−１，３１６−２でカウントを開始させるようにしている。これによって、遅延カウンタ制御部３１７は、遅延カウンタ３１６−１，３１６−２でのカウント周期よりも短い（遅延カウンタ３１６−１，３１６−２の数分の１）の周期を遅延カウンタ３１６−１，３１６−２を用いて計測することが可能となる。
【００２７】
フィルタ部３１８−１，３１８−２は、同期パケットの受付け可能な時間範囲を制御する機能を有する。具体的には、同期パケットは、定周期で届くことが期待されているため、何らかの要因によって定周期以外で届いた同期パケットで同期タイミングが乱されることがないように、定周期以外で届く同期パケットを排除する機能である。なお、従来技術では、同期パケットの到着によってクリアする遅延カウンタは１対１で対応していた。しかし、この実施の形態では、遅延カウンタ３１６−１，３１６−２が複数あるため同期パケットがクリアする遅延カウンタ３１６−１，３１６−２を選択する必要がある。この選択の方法として、たとえばフィルタ部３１８−１，３１８−２毎にクリアする遅延カウンタ３１６−１，３１６−２を１対１で対応させることで実現する。
【００２８】
同期パルス出力値記憶部３１９は、遅延カウンタ３１６−１，３１６−２が取りうる範囲で設定可能な同期パルス出力値が記憶される。具体的には、同期パルス出力値記憶部３１９には、同期マスタ１１が同期パルスを出力し、同期対象２１Ａ〜２１Ｄが接続されているネットワークユニット３１Ａ〜３１Ｄに到着するまでの遅延時間が設定される。この同期パルス出力値は、同期マスタ１１の通信遅延測定部１１３によって測定された値が記憶される。
【００２９】
同期パルス出力部３２０は、同期パルス出力値記憶部３１９に記憶されている同期パルス出力値とすべての遅延カウンタ３１６−１，３１６−２の値とを比較し、同期パルス出力値に一致する遅延カウンタ３１６−１，３１６−２が１つでもある場合に、システムバスＩ／Ｆ部３１１を通して、システムバス２２Ａ〜２２Ｄに同期パルスを出力する。なお、同期パルスは、システムバスを通じて他のネットワークユニットに同期タイミングを通知する場合もあるため、同期パケットなどの形態であってもよい。
【００３０】
このような構造のネットワークユニット３１では、遅延カウンタ３１６−１，３１６−２でカウントする周期の１／２の周期を計測することができる。また、各遅延カウンタ３１６−１，３１６−２の値が、同期パルス出力値記憶部３１９中の同期パルス出力値と同じ値になった場合に同期パルス出力部３２０がシステムバスＩ／Ｆ部３１１を介して同期対象２１Ａ〜２１Ｄに同期パルスを出力するようにしている。これによって、遅延カウンタ３１６−１，３１６−２のカウント周期の１／２の周期で同期パルスを出力することができるとともに、システム中のすべてのネットワークユニット３１で同期マスタ１１からの信号の到達時間の遅延を考慮したタイミングで同期を取ることができる。
【００３１】
つぎに、図１に示されるような同期マスタ１１およびこれに接続されるネットワークユニット３１Ｍと、同期対象２１Ａ〜２１Ｄおよびこれらそれぞれに接続されるネットワークユニット３１Ａ〜３１Ｄと、を有するモーションコントロールシステムでの同期制御方法について説明する。なお、この例では、図３に示したように各ネットワークユニット３１Ｍ，３１Ａ〜３１Ｄは、２つの遅延カウンタ３１６−１，３１６−２を有するものとする。
【００３２】
＜同期マスタ１１の動作＞
同期マスタ１１は、インターバルタイマ１１１によって周期的にシステムバスＩ／Ｆ部１１２を通して同期パルスを出力する。ここでは、時刻ｔ１，ｔ２，ｔ３，ｔ４，ｔ５，・・・で同期パルスを周期的に出力しているものとする。
【００３３】
＜ネットワークユニット３１Ｍの動作＞
同期マスタ１１と同じシステムバス１２に接続されているネットワークユニット３１Ｍは、時刻ｔ１，ｔ２，ｔ３，・・・で同期マスタ１１から同期パルスを受け付け、システムバスＩ／Ｆ部３１１で同期パルスを取り込み、同期パケット送信部３１２に同期パケットの到着を通知する。
【００３４】
同期パケット送信部３１２では、時刻ｔ１，ｔ２，ｔ３，・・・で通知される同期パケット到着の通知で、同期パケットを作成し、送信ポート３１３からネットワーク４０に繋がるすべてのネットワークユニット３１Ａ〜３１Ｄ宛てに送信する。なお、ここでは説明を容易にするために、同期パルスの到着から同期パケットの送信までの遅延はないものとする。
【００３５】
＜ネットワークユニット３１Ａの動作＞
つぎに、ネットワークユニット３１Ａでは、受信ポート３１４にネットワークユニット３１Ｍからの同期パケットが到着する。受信ポート３１４は、同期パケットの宛先が全ネットワーク宛であることから、同期パケットを取り込み、同期パケット受信部３１５に転送すると共に、送信ポート３１３にも同期パケットを転送する。そして、送信ポート３１３は、同期パケットをネットワーク４０へと送信する。この受信ポート３１４から送信ポート３１３の同期パケットの転送動作は、説明例のネットワークトポロジがライン構成のため、全ネットワーク４０にパケットを送信するのに必要となるが、たとえばネットワークトポロジがスター型などの場合には必要ない。
【００３６】
また、ネットワークユニット３１Ａ内の同期パケット受信部３１５は、受信ポート３１４より転送された同期パケットを解析し、同期パケットであるかを判定する。到着パケットが同期パケットである場合には、同期パケット受信部３１５は、フィルタ部３１８−１，３１８−２へ同期パケットの到着を通知する。
【００３７】
このネットワークユニット３１Ｍからネットワークユニット３１Ａに同期パケットが届き、ネットワークユニット３１Ａのフィルタ部３１８−１，３１８−２に同期パケットの到着を通知するまでの遅延時間をβとする。この遅延時間βは、同期パケットがネットワークケーブルを伝送する時間や、ネットワークユニット３１Ａ内での処理時間を合計したものである。したがって、ネットワークユニット３１Ａでフィルタ部３１８−１，３１８−２に最初の同期パケットが到着した時刻はｔ１＋βとなる。そして、同様に２番目の同期パケットが到着する時刻はｔ２＋βとなり、３番目の同期パケットが到着する時刻はｔ３＋β、・・・となる。
【００３８】
ネットワークユニット３１Ａは、上記したように２つの遅延カウンタ３１６−１，３１６−２を有する。フィルタ部３１８−１は遅延カウンタ３１６−１用に設けられ、フィルタ部３１８−２は遅延カウンタ３１６−２用に設けられる。ただし、起動直後は、フィルタ部３１８−１，３１８−２は停止しており、フィルタ部３１８−１，３１８−２は同期パケットをフィルタリングしない。ここで、フィルタ部３１８−１，３１８−２のウィンドウ幅と周期は事前に設定してあるものとする。
【００３９】
図４は、ネットワークユニット３１Ａの遅延カウンタの動作の一例を示す図であり、（ａ）は遅延カウンタ３１６−１の動作を示しており、（ｂ）は遅延カウンタ３１６−２の動作を示しており、（ｃ）は（ａ）と（ｂ）を重ねて表示したものである。これらの図において、横軸は、時間（時刻）を示し、縦軸は遅延カウンタ３１６−１，３１６−２の値を示している。
【００４０】
図４に示されるように、ネットワークユニット３１Ａの２つの遅延カウンタ３１６−１，３１６−２も起動直後はカウントアップしていない。時刻ｔ１＋βの最初の同期パケットの到着通知で、遅延カウンタ制御部３１７は遅延カウンタ３１６−１をクリアし、カウントアップを開始させる。同様に時刻ｔ２＋βに到着した同期パケットによって、遅延カウンタ制御部３１７は遅延カウンタ３１６−２をクリアし、カウントアップを開始させる。つまり、各遅延カウンタ３１６−１，３１６−２は、同期パケットが到着する周期の２倍の周期でリセットされ、リセット（クリア）されるタイミングが半周期ずれるように設定されている。また、一般的には、遅延カウンタの数がｎ（ｎは２以上の整数）の場合には、各遅延カウンタは同期パケットが到着する周期のｎ倍の周期でリセットされ、リセットされるタイミングがそれぞれ１／ｎ周期ずれるように設定される。
【００４１】
また、最初の同期パケット到着を起点として、フィルタ部３１８−１，３１８−２を有効にする。つまり、この例では、時刻ｔ１＋βに到着した同期パケットでフィルタ部３１８−１を有効にし、時刻ｔ２＋βに到着した同期パケットでフィルタ部３１８−２を有効にする。したがって、時刻ｔ３＋βに到着した同期パケットではフィルタ部３１８−１が設定するウィンドウ幅に入っていなければ、廃棄される。
【００４２】
ここで、ネットワークユニット３１Ａの同期パルス出力値記憶部３１９に同期パルス出力値ｂが設定されているものとする。この実施の形態では、遅延カウンタ３１６−１が０からカウントアップしていったときｔ２分の時間が経過すると遅延カウンタ３１６−１の値＝同期パルス出力値記憶部３１９の同期パルス出力値ｂとなる値としている。
【００４３】
そして、時刻ｔ１＋βで遅延カウンタ３１６−１がクリアされてからカウントアップしていき、遅延カウンタ３１６−１＝同期パルス出力値記憶部３１９の同期パルス出力値ｂとなったときに、ネットワークユニット３１Ａの同期パルス出力部３２０は、システムバスＩ／Ｆ部３１１を通して同期パルスを出力する。
【００４４】
また、同様にネットワークユニット３１Ａの遅延カウンタ３１６−２＝同期パルス出力値記憶部３１９の同期パルス出力値ｂとなったときにもシステムバスＩ／Ｆ部３１１を通して同期パルスを出力する。
【００４５】
図４（ｃ）に示されるように、時刻ｔ３＋β，ｔ５＋β，・・・は遅延カウンタ３１６−１でカウントされ、時刻ｔ４＋β，・・・は遅延カウンタ３１６−２でカウントされることになる。
【００４６】
ネットワークユニット３１Ａから出力された同期パルスは、ネットワークユニット３１Ａと同じシステムバス２２Ａに接続されているサーボドライブなどの同期対象２１Ａに伝わる。同期対象２１Ａは、同期パルスの指定されたタイミングでメインプログラムの処理を行う。
【００４７】
図５は、同期対象２１Ａの動作の一例を示す図である。この図に示されるように、同期対象２１Ａは、時刻ｔ３＋βまでは同期パルスが入ってこないので、同期パルス待ちの状態となる。そして、時刻ｔ３＋βで同期パルスが入力され、メインプログラムの処理が実行された後、同期パルス待ち状態となる。そして、これ以降、ｔ４＋β，ｔ５＋β，・・・の時間で同期パルスが入力され、メインプログラムの処理が実行された後、同期パルス待ち状態となる処理が繰り返される。
【００４８】
＜ネットワークユニット３１Ｂの動作＞
つぎに、ネットワークユニット３１Ｂでは、受信ポート３１４に同期パケットが到着する。ネットワークユニット３１Ｂの受信ポート３１４に到着してから、送信ポート３１３へ同期パケットを転送する処理と、同期パケット受信部３１５による同期パケットの解析と検知、およびフィルタ部３１８−１，３１８−２への同期パケット到着の通知処理とは、ネットワークユニット３１Ａと同じであるため説明を省略する。
【００４９】
ネットワークユニット３１Ｍからネットワークユニット３１Ａを経由しネットワークユニット３１Ｂへ同期パケットが届き、ネットワークユニット３１Ｂのフィルタ部３１８−１，３１８−２に同期パケットの到着を通知するまでの遅延時間をγとする。この遅延時間γは、同期パケットがネットワークユニット３１Ｍから出力されてからネットワークユニット３１Ａを経由して、ネットワークユニット３１Ｂに到着後、ネットワークユニット３１Ｂ内での処理時間を合計したものである。したがって、ネットワークユニット３１Ｂでフィルタ部３１８−１，３１８−２に最初の同期パケットが到着した時刻はｔ１＋γとなる。そして、同様に２番目の同期パケットが到着する時刻はｔ２＋γとなり、３番目の同期パケットが到着する時刻はｔ３＋γ、・・・となる。
【００５０】
ネットワークユニット３１Ｂは、２つの遅延カウンタ３１６−１，３１６−２を有する。図６は、ネットワークユニット３１Ｂの遅延カウンタの動作の一例を示す図である。この図において、横軸は、時間を示し、縦軸は遅延カウンタ３１６−１，３１６−２の値を示している。
【００５１】
これらの遅延カウンタ３１６−１，３１６−２は、起動直後はカウントアップしていない。そして、時刻ｔ１＋γに最初の同期パケットの到着通知で、遅延カウンタ制御部３１７は遅延カウンタ３１６−１をクリアし、カウントアップを開始させる。同様に時刻ｔ２＋γに到着した同期パケットによって、遅延カウンタ制御部３１７は遅延カウンタ３１６−２をクリアし、カウントアップを開始させる。
【００５２】
また、最初の同期パケット到着を起点とし、フィルタ部３１８−１，３１８−２を有効にする。つまり、この例では、時刻ｔ１＋γに到着した同期パケットでフィルタ部３１８−１を有効にし、時刻ｔ２＋γに到着した同期パケットでフィルタ部３１８−２を有効にする。したがって、時刻ｔ３＋γに到着した同期パケットではフィルタ部３１８−１のウィンドウ幅に入っていなければ、廃棄される。
【００５３】
ここで、ネットワークユニット３１Ｂの同期パルス出力値記憶部３１９に同期パルス出力値ｃが設定されているものとする。この同期パルス出力値ｃは、同期マスタ１１の通信遅延測定部１１３によって設定されるものであるが、この実施の形態では、同期パルス出力値ｃ＝ネットワークユニット３１Ａの同期パルス出力値ｂ×２／３となっているものとする。したがって、遅延カウンタ３１６−１が０からカウントアップしていったときｔ２×２／３分の時間が経過すると遅延カウンタ３１６−１の値＝同期パルス出力値ｃとなる。
【００５４】
そして、時刻ｔ１＋γで遅延カウンタ３１６−１がクリアされてからカウントアップしていき、遅延カウンタ３１６−１＝同期パルス出力値記憶部３１９の同期パルス出力値ｃとなったｔ３＋βのときに、ネットワークユニット３１Ｂの同期パルス出力部３２０は、システムバスＩ／Ｆ部３１１を通して同期パルスを出力する。
【００５５】
また、同様に時刻ｔ２＋γで遅延カウンタ３１６−２がクリアされてからカウントアップしていき、遅延カウンタ３１６−２＝同期パルス出力値記憶部３１９の同期パルス出力値ｃとなったｔ４＋βのときにもシステムバスＩ／Ｆ部３１１を通して同期パルスを出力する。
【００５６】
図６に示されるように、時刻ｔ３＋β，ｔ５＋β，・・・は遅延カウンタ３１６−１でカウントされ、時刻ｔ４＋β，・・・は遅延カウンタ３１６−２でカウントされることになる。なお、ネットワークユニット３１Ａに対する遅延を含めて同期パルス出力値記憶部３１９中の同期パルス出力値ｃが設定されているので、ネットワークユニット３１Ｂの同期パルスを出力する時間は、ネットワークユニット３１Ａと一致している。
【００５７】
ネットワークユニット３１Ｂから出力された同期パルスは、ネットワークユニット３１Ｂと同じシステムバス２２Ｂに接続されているサーボドライブなどの同期対象２１Ｂに伝わる。同期対象２１Ｂは、同期パルスの指定されたタイミングでメインプログラムの処理を行う。
【００５８】
図７は、同期対象２１Ｂの動作の一例を示す図である。この図に示されるように、同期対象２１Ｂは、時刻ｔ３＋βまでは同期パルスが入ってこないので、同期パルス待ちの状態となる。そして、時刻ｔ３＋βで同期パルスが入力され、メインプログラムの処理が実行された後、同期パルス待ち状態となる。そして、これ以降、ｔ４＋β，ｔ５＋β，・・・の時間で同期パルスが入力され、メインプログラムの処理が実行された後、同期パルス待ち状態となる処理が繰り返される。
【００５９】
＜ネットワークユニット３１Ｃの動作＞
同様に、ネットワークユニット３１Ｃでも、受信ポート３１４に同期パケットが到着する。ネットワークユニット３１Ｃの受信ポート３１４に到着してから、送信ポート３１３へ同期パケットを転送する処理と、同期パケット受信部３１５による同期パケットの解析と検知、およびフィルタ部３１８−１，３１８−２への同期パケット到着の通知処理とは、ネットワークユニット３１Ａ，３１Ｂと同じであるため説明を省略する。
【００６０】
ネットワークユニット３１Ｍからネットワークユニット３１Ａ，３１Ｂを経由してネットワークユニット３１Ｃへ同期パケットが届き、ネットワークユニット３１Ｃのフィルタ部３１８−１，３１８−２に同期パケットの到着を通知するまでの遅延時間をδとする。この遅延時間δは、同期パケットがネットワークユニット３１Ｍから出力されてからネットワークユニット３１Ａ，３１Ｂを経由して、ネットワークユニット３１Ｃに到着後、ネットワークユニット３１Ｃ内での処理時間を合計したものである。したがって、ネットワークユニット３１Ｃでフィルタ部３１８−１，３１８−２に最初の同期パケットが到着する時刻はｔ１＋δとなる。そして、同様に２番目の同期パケットが到着する時刻はｔ２＋δとなり、３番目の同期パケットが到着する時刻はｔ３＋δ、・・・となる。
【００６１】
ネットワークユニット３１Ｃは、２つの遅延カウンタ３１６−１，３１６−２を有する。図８は、ネットワークユニット３１Ｃの遅延カウンタの動作の一例を示す図である。この図において、横軸は、時間を示し、縦軸は遅延カウンタ３１６−１，３１６−２の値を示している。
【００６２】
これらの遅延カウンタ３１６−１，３１６−２も、起動直後はカウントアップしていない。そして、時刻ｔ１＋δに最初の同期パケットの到着通知で、遅延カウンタ制御部３１７は遅延カウンタ３１６−１をクリアし、カウントアップを開始させる。同様に時刻ｔ２＋δに到着した同期パケットによって、遅延カウンタ制御部３１７は遅延カウンタ３１６−２をクリアし、カウントアップを開始させる。
【００６３】
また、最初の同期パケット到着を起点とし、フィルタ部３１８−１，３１８−２を有効にする。つまり、この例では、時刻ｔ１＋δに到着した同期パケットでフィルタ部３１８−１を有効にし、時刻ｔ２＋δに到着した同期パケットでフィルタ部３１８−２を有効にする。したがって、時刻ｔ３＋δに到着した同期パケットではフィルタ部３１８−１のウィンドウ幅に入っていなければ、廃棄される。
【００６４】
ここで、ネットワークユニット３１Ｃの同期パルス出力値記憶部３１９に同期パルス出力値ｄが設定されているものとする。この同期パルス出力値ｄは、同期マスタ１１の通信遅延測定部１１３によって設定されるものであるが、この実施の形態では、同期パルス出力値ｄ＝ネットワークユニット３１Ａの同期パルス出力値ｂ×１／３となっているものとする。したがって、遅延カウンタ３１６−１が０からカウントアップしていったときｔ２×１／３分の時間が経過すると遅延カウンタ３１６−１の値＝同期パルス出力値ｄとなる。
【００６５】
そして、時刻ｔ１＋δで遅延カウンタ３１６−１がクリアされてからカウントアップしていき、遅延カウンタ３１６−１＝同期パルス出力値記憶部３１９の同期パルス出力値ｄとなったｔ３＋βのときに、ネットワークユニット３１Ｃの同期パルス出力部３２０は、システムバスＩ／Ｆ部３１１を通して同期パルスを出力する。
【００６６】
また、同様に時刻ｔ２＋δで遅延カウンタ３１６−２がクリアされてからカウントアップしていき、遅延カウンタ３１６−２＝同期パルス出力値記憶部３１９の同期パルス出力値ｄとなったｔ４＋βのときにもシステムバスＩ／Ｆ部３１１を通して同期パルスを出力する。
【００６７】
図８に示されるように、時刻ｔ３＋β，ｔ５＋β，・・・は遅延カウンタ３１６−１でカウントされ、時刻ｔ４＋β，・・・は遅延カウンタ３１６−２でカウントされることになる。なお、ネットワークユニット３１Ａに対する遅延を含めて同期パルス出力値記憶部３１９中の同期パルス出力値ｄが設定されているので、ネットワークユニット３１Ｃの同期パルスを出力する時間は、ネットワークユニット３１Ａ，３１Ｂと一致している。
【００６８】
ネットワークユニット３１Ｃから出力された同期パルスは、ネットワークユニット３１Ｃと同じシステムバス２２Ｃに接続されているサーボドライブなどの同期対象２１Ｃに伝わる。同期対象２１Ｃは、同期パルスの指定されたタイミングでメインプログラムの処理を行う。
【００６９】
図９は、同期対象２１Ｃの動作の一例を示す図である。この図に示されるように、同期対象２１Ｃは、時刻ｔ３＋βまでは同期パルスが入ってこないので、同期パルス待ちの状態となる。そして、時刻ｔ３＋βで同期パルスが入力され、メインプログラムの処理が実行された後、同期パルス待ち状態となる。そして、これ以降、ｔ４＋β，ｔ５＋β，・・・の時間で同期パルスが入力され、メインプログラムの処理が実行された後、同期パルス待ち状態となる処理が繰り返される。
【００７０】
＜ネットワークユニット３１Ｄの動作＞
同様に、ネットワークユニット３１Ｄでも、受信ポート３１４に同期パケットが到着する。ネットワークユニット３１Ｄの受信ポート３１４に到着してから、送信ポート３１３へ同期パケットを転送する処理と、同期パケット受信部３１５による同期パケットの解析と検知、およびフィルタ部３１８−１，３１８−２への同期パケット到着の通知処理とは、ネットワークユニット３１Ａ〜３１Ｃと同じであるため説明を省略する。
【００７１】
ネットワークユニット３１Ｍからネットワークユニット３１Ａ，３１Ｂ，３１Ｃを経由してネットワークユニット３１Ｄへ同期パケットが届き、ネットワークユニット３１Ｄのフィルタ部３１８−１，３１８−２に同期パケットの到着を通知するまでの遅延時間をεとする。この遅延時間εは、同期パケットがネットワークユニット３１Ｍから出力されてからネットワークユニット３１Ａ，３１Ｂ，３１Ｃを経由して、ネットワークユニット３１Ｄに到着後、ネットワークユニット３１Ｄ内での処理時間を合計したものである。したがって、ネットワークユニット３１Ｄでフィルタ部３１８−１，３１８−２に最初の同期パケットが到着する時刻はｔ１＋εとなる。そして、同様に２番目の同期パケットが到着する時刻はｔ２＋ε、３番目の同期パケットが到着する時刻はｔ３＋ε、・・・となる。
【００７２】
ネットワークユニット３１Ｄは、２つの遅延カウンタ３１６−１，３１６−２を有する。図１０は、ネットワークユニット３１Ｄの遅延カウンタの動作の一例を示す図である。この図において、横軸は、時間を示し、縦軸は遅延カウンタ３１６−１，３１６−２の値を示している。
【００７３】
これらの遅延カウンタ３１６−１，３１６−２も、起動直後はカウントアップしていない。そして、時刻ｔ１＋εに最初の同期パケットの到着通知で、遅延カウンタ制御部３１７は遅延カウンタ３１６−１をクリアし、カウントアップを開始させる。同様に時刻ｔ２＋εに到着した同期パケットによって、遅延カウンタ制御部３１７は遅延カウンタ３１６−２をクリアし、カウントアップを開始させる。
【００７４】
また、最初の同期パケット到着を起点とし、フィルタ部３１８−１，３１８−２を有効にする。つまり、この例では、時刻ｔ１＋εに到着した同期パケットでフィルタ部３１８−１を有効にし、時刻ｔ２＋εに到着した同期パケットでフィルタ部３１８−２を有効にする。したがって、時刻ｔ３＋εに到着した同期パケットではフィルタ部３１８−１のウィンドウ幅に入っていなければ、廃棄される。
【００７５】
ここで、ネットワークユニット３１Ｄの同期パルス出力値記憶部３１９に同期パルス出力値ｅが設定されているものとする。この同期パルス出力値ｅは、同期マスタ１１の通信遅延測定部１１３によって設定されるものであるが、この実施の形態では、同期パルス出力値ｅ＝ネットワークユニット３１Ａの同期パルス出力値ｂ×０／３となっている物とする。したがって、遅延カウンタ３１６−１が０となったときに遅延カウンタ３１６−１の値＝パルス出力値ｅになる。
【００７６】
つまり、時刻ｔ１＋εで遅延カウンタ３１６−１がクリアされてからカウントアップすると同時に、遅延カウンタ３１６−１＝同期パルス出力値記憶部３１９の同期パルス出力値ｅとなり、ネットワークユニット３１Ｄの同期パルス出力部３２０は、システムバスＩ／Ｆ部３１１を通して同期パルスを出力する。このときの時刻はｔ３＋βである。その後、遅延カウンタ３１６−１は、カウントアップしていく。
【００７７】
また、同様に時刻ｔ２＋εで遅延カウンタ３１６−２がクリアされてからカウントアップすると同時に、遅延カウンタ３１６−２＝同期パルス出力値記憶部３１９の同期パルス出力値ｅとなり、同期パルス出力部３２０は、システムバスＩ／Ｆ部３１１を通して同期パルスを出力する。このときの時刻はｔ４＋βである。その後、遅延カウンタ３１６−２は、カウントアップしていく。
【００７８】
図１０に示されるように、時刻ｔ３＋β（＝ｔ１＋ε），ｔ５＋β（＝ｔ３＋ε），・・・は遅延カウンタ３１６−１でカウントされ、時刻ｔ４＋β（＝ｔ２＋ε），・・・は遅延カウンタ３１６−２でカウントされることになる。なお、ネットワークユニット３１Ａに対する遅延を含めて同期パルス出力値記憶部３１９中の同期パルス出力値ｅが設定されているので、ネットワークユニット３１Ｄの同期パルスを出力する時間は、ネットワークユニット３１Ａ〜３１Ｃと一致している。
【００７９】
ネットワークユニット３１Ｄから出力された同期パルスは、ネットワークユニット３１Ｄと同じシステムバス２２Ｄに接続されているサーボドライブなどの同期対象２１Ｄに伝わる。同期対象２１Ｄは、同期パルスの指定されたタイミングでメインプログラムの処理を行う。
【００８０】
図１１は、同期対象２１Ｄの動作の一例を示す図である。この図に示されるように、同期対象２１Ｄは、時刻ｔ３＋βまではカウントアップしていない状態であり、時刻ｔ３＋βでの同期パルスの入力と同時に、メインプログラムの処理が実行された後、同期パルス待ち状態となる。そして、これ以降、ｔ４＋β，ｔ５＋β，・・・の時間で同期パルスが入力され、メインプログラムの処理が実行された後、同期パルス待ち状態となる処理が繰り返される。
【００８１】
＜動作まとめ＞
図１２は、実施の形態によるモーションコントロールシステムでの各同期対象の動作の一例を示す図である。この図は、図５、図７、図９および図１１をまとめたものである。この図に示されるように、同期マスタ１１から物理的に最も近い（配線長さが最も短い）位置に配置されているネットワークユニット３１Ａに対する物理的に最も遠い（配線長さが最も長い）位置に配置されているネットワークユニット３１Ｄまでの遅延時間（ε−β）よりも短い周期で、各ネットワークユニット３１Ａ〜３１Ｄで同期を取ることが可能になる。これは、各ネットワークユニット３１Ａ〜３１Ｄに２つの遅延カウンタ３１６−１，３１６−２を設け、受信する同期パケットの周期の２倍で、異なるタイミングで遅延カウンタ３１６−１，３１６−２にリセットさせるようにするとともに、各ネットワークユニット３１Ａ〜３１Ｄでネットワークユニット３１Ａからの遅延を考慮した同期パルス出力値に遅延カウンタ３１６−１，３１６−２が一致した場合に同期パルスを出力することによるものである。
【００８２】
図１３は、一般的な方法によるモーションコントロールシステムでの各同期対象の動作の一例を示す図である。ここでは、上記特許文献１のように、各ネットワークユニットは、１つの遅延カウンタのみを有している場合を示している。この図に示されるように、従来の技術では、各同期対象が同期を取るタイミングは、同期マスタ１１から物理的に最も近い位置に配置されているネットワークユニット３１Ａから物理的に最も遠い位置に配置されているネットワークユニット３１Ｄまでの遅延時間（ε−β）以上となる。
【００８３】
なお、上記した例では、ネットワークユニットは２つの遅延カウンタを設ける場合を示したが、３つ以上の遅延カウンタを設けるようにしてもよい。
【００８４】
上記したように、この実施の形態では、モーションコントロールシステムに接続されるネットワークユニット３１Ｍ，３１Ａ〜３１Ｄに、ｎ個（ｎは２以上の整数）の遅延カウンタ３１６−１，３１６−２を設け、遅延カウンタ制御部３１７が、同期マスタ１１から出力される所定の周期の同期パルス信号のｎ倍の周期を各遅延カウンタ３１６−１，３１６−２でカウントさせ、各遅延カウンタ３１６−１，３１６−２をリセットさせるタイミングを異ならせるようにした。また、各遅延カウンタ３１６−１，３１６−２でのカウント中に、各ネットワークユニット３１Ｂ〜３１Ｄについて、同期マスタ１１から物理的に最も近い位置に配置されているネットワークユニット３１Ａからの遅延時間に応じて同期パルス出力値を設定し、各遅延カウンタ３１６−１，３１６−２がカウントをリセットしてから同期パルス出力値になると、同期パルス出力部３２０は、同期対象２１Ａ〜２１Ｄに対して同期パルスを出力するようにした。
【００８５】
これによって、各ネットワークユニット３１Ａ〜３１Ｄに接続される同期対象２１Ａ〜２１Ｄでの同期を取ることができるとともに、各遅延カウンタ３１６−１，３１６−２では、同期マスタ１１から物理的に最も近い位置に配置されているネットワークユニット３１Ａから物理的に最も遠い位置に配置されているネットワークユニット３１Ｄまでの遅延時間（ε−β）以上の時間をカウントすることになるが、同期対象２１Ａ〜２１Ｄへの同期パルスの出力間隔は、ネットワークユニット３１Ａからネットワークユニット３１Ｄまでの遅延時間（ε−β）よりも短い時間とすることができる。つまり、遅延カウンタ３１６−１，３１６−２が１つの場合に比して、早い周期で同期パルスを出力することができるという効果を有する。
【００８６】
その結果、モーションコントロールシステムで、同期マスタ１１であるモーションコントローラと同期対象２１Ａ〜２１Ｄであるサーボドライブとの通信距離が延長されていったり、サーボドライブの数が増加していったりして、モーションコントローラから物理的に最も遠い位置にあるサーボドライブの遅延時間が増大する場合でも、所望の周期でサーボドライブに対する制御を実行することができるという効果を有する。
【００８７】
また、ジッタなどがないかつ正確な遅延時間を測定できる理想的なシステムでは、最適な数の遅延カウンタ３１６−１，３１６−２を有することで、遅延待ち時間をゼロにすることができる。
【産業上の利用可能性】
【００８８】
以上のように、この発明にかかる通信装置は、並列処理して制御する分散モーションコントローラシステムで使用される通信装置に有用であり、特に、ネットワークを通してモーションの同期制御を行う通信装置に適している。
【符号の説明】
【００８９】
１１  同期マスタ、１２，２２Ａ〜２２Ｄ  システムバス、２１Ａ〜２１Ｄ  同期対象、３１Ｍ，３１Ａ〜３１Ｄ  ネットワークユニット、４０  ネットワーク、１１１  インターバルタイマ、１１２，３１１  システムバスＩ／Ｆ部、１１３  通信遅延測定部、３１２  同期パケット送信部、３１３  送信ポート、３１４  受信ポート、３１５  同期パケット受信部、３１６−１，３１６−２  遅延カウンタ、３１７  遅延カウンタ制御部、３１８−１，３１８−２  フィルタ部、３１９  同期パルス出力値記憶部、３２０  同期パルス出力部。
【図１】
2014020726.tif 000003
【図２】
2014020726.tif 000004
【図３】
2014020726.tif 000005
【図４】
2014020726.tif 000006
【図５】
2014020726.tif 000007
【図６】
2014020726.tif 000008
【図７】
2014020726.tif 000009
【図８】
2014020726.tif 000010
【図９】
2014020726.tif 000011
【図１０】
2014020726.tif 000012
【図１１】
2014020726.tif 000013
【図１２】
2014020726.tif 000014
【図１３】
2014020726.tif 000015
【国際調査報告】
2014020726.tif 000016
2014020726.tif 000017
2014020726.tif 000018
2014020726.tif 000019