(57)【特許請求の範囲】
【請求項１】
周期的にマスタユニット側タイミング信号を生成する手段を有し、マスタユニットで制御されるモータに対し前記マスタユニット側タイミング信号に基づいて定量的な指示量を出力するマスタユニットとなる１台の制御装置と、周期的にスレーブユニット側タイミング信号を生成する手段を有し、スレーブユニットで制御されるモータに対し前記スレーブユニット側タイミング信号に基づいて定量的な指示量を出力するスレーブユニットとなる１台以上の制御装置とを通信路で接続し、これら異なる制御装置で制御されるモータ同士の同期制御を行う同期制御システムにおいて、
前記マスタユニット側タイミング信号に基づいて、前記スレーブユニットのための同期用パケットを発生させ、前記スレーブユニットに渡す手段と、
前記同期用パケットの前記スレーブユニットによる受信に応じてスレーブユニット内のバスサイクルを発生させるバスサイクル発生手段と、
前記バスサイクル発生手段による前記バスサイクルの発生タイミングと、前記スレーブユニット側タイミング信号の発生タイミングとの位相差を算出し、記憶するサイクル監視手段と、
該サイクル監視手段から検出される位相差に基づいて、前記スレーブユニットで制御されるモータの制御に関する移動量、速度、加速度、回転数、電流、電圧、および電力のうち少なくとも一つの前記定量的な指示量を補正し出力する手段とを備えたことを特徴とする、同期制御システム。
【請求項２】
周期的にマスタユニット側タイミング信号を生成する手段を有し、マスタユニットで制御されるモータに対し前記マスタユニット側タイミング信号に基づいて定量的な指示量を出力するマスタユニットとなる１台の制御装置と、周期的にスレーブユニット側タイミング信号を生成する手段を有し、スレーブユニットで制御されるモータに対し前記スレーブユニット側タイミング信号に基づいて定量的な指示量を出力するスレーブユニットとなる１台以上の制御装置とを通信路で接続し、これら異なる制御装置で制御されるモータ同士の同期制御を行う同期制御システムにおいて、
前記マスタユニット側タイミング信号に基づいて、前記スレーブユニットのための同期用パケットを発生させ、前記スレーブユニットに渡す手段と、
前記同期用パケットの前記スレーブユニットによる受信に応じてスレーブユニット内のバスサイクルを発生させるバスサイクル発生手段と、
前記バスサイクル発生手段による前記バスサイクルの発生タイミングと、前記スレーブユニット側タイミング信号の発生タイミングとの位相差を算出し、記憶するサイクル監視手段と、
前記スレーブユニット側タイミング信号の発生周期を調整する調整手段と、
前記サイクル監視手段から得られる位相差情報に基づいて、前記スレーブユニット側タイミング信号の発生タイミングの調整量を、前記調整手段に出力するディジタルフィルタ手段を備えたことを特徴とする、同期制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタユニットとなる１台の制御装置と、スレーブユニットとなる１台以上の制御装置とを通信路で接続し、これら異なる制御装置で制御されるモータ同士の同期制御を行う同期制御システムに関する。
【背景技術】
【０００２】
夫々１台以上のモータを制御する複数の制御装置も含むシステム（例えば同種または異種の工作機械を制御する複数のＣＮＣシステム）においては、各制御装置によるモータ制御を同期させて行うニーズがしばしば生じ、そのような同期制御を行うシステムは、「同期制御システム」と呼ばれている。
【０００３】
同期制御システムを組む場合、システムに含まれるいずれか１台の制御装置を「マスタユニット」とし、残る１台以上の制御装置を「スレーブユニット」とし、マスタユニットと各スレーブユニットの間をバスやネットワークで接続するのが通例となっている。
【０００４】
そして、各スレーブユニット（各スレーブユニット側制御装置）によるモータ制御を、マスタユニット（各マスタユニット側制御装置）によるモータ制御に同期させるために、マスタユニットよりスレーブユニットに、バスサイクルまたはパケットという形でタイミング信号を送り、これを利用してスレーブユニット内で、マスタユニットにおける制御との同期をとることになる。
【０００５】
その際の同期のとり方であるが、従来の同期方式では、バスサイクルまたはパケットを受けるスレーブユニット内のデバイスを、スレーブユニットのプロセッサが定期的にチェックする、もしくは、パケットやバスサイクルを受けたスレーブユニット内のデバイスがスレーブユニットのプロセッサに割込みをかけてプロセッサに知らせるという方法で、スレーブユニットはマスタユニットのタイミング信号の発生タイミングを知っていた。
【０００６】
そのため、プロセッサが別処理のため忙しい場合には、これらの一連の処理が遅れることがあり、この遅れが同期制御の精度のばらつきをもたらすことがあった。そして、この問題を簡便に解決できる技術を開示した公知文献は見当らない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、周期的にマスタユニット側タイミング信号を生成する手段を有するマスタユニットとなる１台の制御装置と、周期的にスレーブユニット側タイミング信号を生成する手段を夫々有するスレーブユニットとなる１台以上の制御装置とを通信路で接続し、これら異なる制御装置で制御されるモータ同士の同期制御を行う同期制御システムにおいて、上記問題を解決し、同期制御の精度が実質的に維持されるようにする技術を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の第１の形態に従えば、上記のタイプの同期制御システム（周期的にマスタユニット側タイミング信号を生成する手段を有し、マスタユニットで制御されるモータに対し前記マスタユニット側タイミング信号に基づいて定量的な指示量を出力するマスタユニットとなる１台の制御装置と、周期的にスレーブユニット側タイミング信号を生成する手段を有し、スレーブユニットで制御されるモータに対し前記スレーブユニット側タイミング信号に基づいて定量的な指示量を出力するスレーブユニットとなる１台以上の制御装置とを通信路で接続し、これら異なる制御装置で制御されるモータ同士の同期制御を行う同期制御システム）に、前記マスタユニット側タイミング信号に基づいて、前記スレーブユニットのための同期用パケットを発生させ、前記スレーブユニットに渡す手段と、前記同期用パケットの前記スレーブユニットによる受信に応じてスレーブユニット内のバスサイクルを発生させるバスサイクル発生手段と、前記バスサイクル発生手段による前記バスサイクルの発生タイミングと、前記スレーブユニット側タイミング信号の発生タイミングとの位相差を算出し、記憶するサイクル監視手段と、該サイクル監視手段から検出される位相差に基づいて、前記スレーブユニットで制御されるモータの制御に関する移動量、速度、加速度、回転数、電流、電圧、および電力のうち少なくとも一つの前記定量的な指示量を補正し出力する手段を設けることで、上記課題が解決される（請求項１）。
【０００９】
また、本発明の第２の形態に従えば、上記のタイプの同期制御システム（周期的にマスタユニット側タイミング信号を生成する手段を有し、マスタユニットで制御されるモータに対し前記マスタユニット側タイミング信号に基づいて定量的な指示量を出力するマスタユニットとなる１台の制御装置と、周期的にスレーブユニット側タイミング信号を生成する手段を有し、スレーブユニットで制御されるモータに対し前記スレーブユニット側タイミング信号に基づいて定量的な指示量を出力するスレーブユニットとなる１台以上の制御装置とを通信路で接続し、これら異なる制御装置で制御されるモータ同士の同期制御を行う同期制御システム）に、前記マスタユニット側タイミング信号に基づいて、前記スレーブユニットのための同期用パケットを発生させ、前記スレーブユニットに渡す手段と、前記同期用パケットの前記スレーブユニットによる受信に応じてスレーブユニット内のバスサイクルを発生させるバスサイクル発生手段と、前記バスサイクル発生手段による前記バスサイクルの発生タイミングと、前記スレーブユニット側タイミング信号の発生タイミングとの位相差を算出し、記憶するサイクル監視手段と、前記スレーブユニット側タイミング信号の発生周期を調整する調整手段と、前記サイクル監視手段から得られる位相差情報に基づいて、前記スレーブユニット側タイミング信号の発生タイミングの調整量を、前記調整手段に出力するディジタルフィルタ手段が設けられる（請求項２）。
【００１０】
つまり、本発明では、周期的にマスタユニット側タイミング信号を生成する手段を有し、マスタユニットで制御されるモータに対し前記マスタユニット側タイミング信号に基づいて定量的な指示量を出力するマスタユニットとなる１台の制御装置と、周期的にスレーブユニット側タイミング信号を生成する手段を有し、スレーブユニットで制御されるモータに対し前記スレーブユニット側タイミング信号に基づいて定量的な指示量を出力するスレーブユニットとなる１台以上の制御装置とを通信路で接続し、これら異なる制御装置で制御されるモータ同士の同期制御を行う同期制御システムにおいて、マスタユニットより同期用パケットの形で送られるタイミング信号をスレーブユニットが受信することで発生する「スレーブユニット内のバスサイクル」を監視し、同バスサイクルの発生タイミングと、スレーブユニット自身が内部で周期的に発生しているタイミング信号の発生タイミングとの位相差情報を知る手段がスレーブユニット内に設けられる。
【００１１】
そして、この位相差情報を利用してスレーブユニットから出力されるモータ制御のための定量的な指示量を補正する方式（第１の形態）、あるいは、この位相差情報を、スレーブユニット内に設けられたディジタルフィルタを通して、スレーブユニットのタイミング信号の発生タイミングそのものをマスタユニットのタイミング信号の発生タイミングに安定的に合わせ込む方式（第２の形態）が採用される。
【００１２】
ここで、「モータ制御のための定量的な指示量」の具体例としては、例えば「モータで駆動される軸の移動量、速度、加速度」や、「モータの回転数」、「モータに供給する電流、電圧あるいは電力」などの各量を指示する指示量がある。なお、指示量はあくまで制御量を指示するデータ（通常はディジタルデータ）のことであり、モータへの供給電圧や供給電流を制御する場合であっても、それら電圧や電流自体を指している訳ではない。
【発明の効果】
【００１３】
本発明によれば、スレーブユニットのプロセッサが別処理のため忙しい場合でも、同期制御の精度のばらつきを抑えることが可能になる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明に従った実施形態に係る同期制御システムの全体構成を概略描示したものである。図示されているように、同期制御システムは、３つのＣＮＣ（数値制御装置）を含み、その内の１台がマスタユニットとされ、残る２台がスレーブユニット＃１、＃２とされる。マスタユニットと、各スレーブユニット＃１、＃２の間は、例えばイーサネット（登録商標）のようなネット回線で結ばれている。マスタユニット及びスレーブユニット＃１、＃２の概略構成及び機能は、下記の通りである。
【００１５】
［マスタユニット］
基本となる構成は通常のＣＮＣと同様であり、それに、スレーブユニット＃１、＃２との同期制御のための信号をネット回線を介して送受するための構成が追加装備されている。即ち、マスタユニットは、プロセッサ（ＣＰＵ）を有し、そのバスラインには先ず通常のＣＮＣと同様の機能を果たすメモリ（図示省略）、サーボ制御部等が接続されている。また、それら要素に加えて、ネット回線を介してのデータ授受のために、例えばイーサネット（登録商標）デバイスのようなネット回線デバイスがバスラインに接続されている。
【００１６】
そして更に、マスタユニット内には、マスタユニット側のタイミング信号を生成するタイミング信号発生部（“タイミング信号”のブロックで表示）が設けられている。このタイミング信号発生部は、その結線関係は省略したが、プロセッサに内蔵されたクロックの出力（クロック信号）を利用（一定周期でサンプリング）して、システムの同期をとるための基準となるタイミング信号（マスタユニット側タイミング信号）を周期的に生成し、マスタユニットのプロセッサ、ネット回線デバイス等に出力している。タイミング信号の発生周期は設計的に定められるもので、一例を挙げれば０．００１secである。
【００１７】
このタイミング信号は、マスタユニットのプロセッサがサーボ制御部へモータの制御に関する定量的な指示量［例えば１処理周期（ＩＴＰ）分の移動量を表わす指示量］をモータに接続されたサーボ制御部に出力するタイミングの決定に先ず利用される。なお、モータ及びサーボ制御部の数が、１個の場合、複数の場合いずれもあり得ることは言うまでもなく、この点は、後記するスレーブユニット＃１、＃２についても同様である。
【００１８】
一方、ネット回線デバイスに与えられたマスタユニット側タイミング信号は、ネット回線デバイスを介してスレーブユニット＃１、＃２に転送される。転送は、同期用パケットの形で行われ、その送信タイミングは、マスタユニット側タイミング信号を受けているマスタユニットのプロセッサが、マスタユニット側タイミング信号に基づいて決定し、送信（転送）をネット回線デバイスに指令する。
【００１９】
［スレーブユニット＃１］
基本となる構成が通常のＣＮＣと同様であることは、マスタユニットと同じであり、それに、マスタユニットとの間で同期制御を実行するための装備が設けられている。プロセッサ（ＣＰＵ）には、バスラインを介してメモリ、サーボ制御部等が接続されている。なお、サーボ制御部及びそれに接続されたモータの図示は省略した。
【００２０】
また、これら要素に加えて、ネット回線を介してマスタユニットとの間でデータ授受を行うために、例えばイーサネット（登録商標）デバイスのようなネット回線デバイスがバスラインに接続されている。そして、スレーブユニット＃１内には、当該スレーブユニット側のタイミング信号を生成するタイミング信号発生部（“タイミング信号”のブロックで表示）が設けられている。
【００２１】
このタイミング信号発生部は、マスタユニットに設けられたタイミング信号発生部と同様のもので、スレーブユニット＃１内のプロセッサに内蔵されたクロックの出力（クロック信号）を利用（一定周期でサンプリング）して、当該スレーブユニット側のタイミング信号を周期的に生成し、スレーブユニット＃１内のプロセッサ、ネット回線デバイス、サイクル監視＆位相差保持手段（後述）等に出力している。タイミング信号の発生周期は、例えばマスタユニットに設けられたタイミング信号発生部のそれと同一とされている（同一でない周期、例えば整数倍、整数分の１などとすることも可能であるが、処理が複雑になる）。なお、タイミング信号発生部の結線関係は図示を省略した。
【００２２】
このタイミング信号は、スレーブユニット＃１のプロセッサがサーボ制御部へモータの制御に関する定量的な指示量［例えば１処理周期（ＩＴＰ）分の移動量を表わす指示量］をモータに接続されたサーボ制御部に出力するタイミングの決定に利用される。但し、ここではマスタユニットとの間で同期をとるために、スレーブユニット＃１内で次々と出力されるタイミング信号のいずれをトリガとしてプロセッサから指示量をサーボ制御部に出力するかは、マスタユニットから送られて来る同期タイミング信号に基づいて決められる。また、以下の説明の中で述べるように、スレーブユニット＃１では指示量にも必要に応じて補正が施される。
【００２３】
マスタユニットから送信される同期タイミング信号は、ネットワーク回線を介してパケットの形でスレーブユニット＃１、＃２に同時に転送される。スレーブユニット＃１は、同ユニット内に設けられたネット回線デバイスでこれを受信し、そのデータを直ちにメモリデバイスに書き込む。一方、スレーブユニット＃１内にはサイクル監視＆位相差保持手段が設けられ、この書き込みイベントを、タイミング信号の周期よりも十分短い周期で監視し、書き込みサイクル（ライトサイクル）を検出（計測）している。
【００２４】
ここで、このライトサイクルは、マスタユニット内で生成されるタイミング信号に由来するものであり、諸要因により、スレーブユニット＃１内で生成されるタイミング信号との間に未知のずれ（位相差）を持っている（もちろん、位相差は実質的に０ということもあり得る）。なぜならば、例えばシステム起動時に、マスタユニットとスレーブユニット＃１のタイミング信号スタートの同期をとる処理を行ったとしても、その処理自体に遅れや誤差があり、また、その後、微小な誤差（位相差）が長時間にわたりパイルアップするなどして、位相差が大きくなることもあり得る。
【００２５】
スレーブユニット＃１内のサイクル監視＆位相差保持手段は、スレーブユニット＃１内のタイミング信号を受け取っており、同信号と上記のように検出したライトサイクルとの位相差を検出し、保持（記憶）する。位相差の検出・保持（検出値の更新）の周期は、設計的に定めれば良く、例えばユニット＃１内のタイミング信号の受け取りを１０回行った毎に、位相差を算出し、検出値の更新を行えば良い。
【００２６】
その一方、スレーブユニット＃１内のプロセッサは、サイクル監視＆位相差保持手段に保持された位相差情報を処理周期（ＩＴＰ）毎に読み出し、位相差分を補償するようにスレーブユニット＃１で制御されるモータの制御に関する指示量を補正（変更）し、マスタユニットのモータとの同期のずれを補償するようなモータ制御を行なう。位相差に応じた指示量の補正の例については、後述する。このように、スレーブユニット＃１は、前述した「発明の第１の形態」に対応する方式を採用したものである。
【００２７】
［スレーブユニット＃２］
スレーブユニット＃２は、前述した「発明の第２の形態」に対応する方式を採用したものである。基本となる構成が通常のＣＮＣと同様であることは、マスタユニットやスレーブユニット＃１と同じであり、それに、発明の第２の形態に従ってマスタユニットとの間で同期制御を実行するための装備が設けられている。プロセッサ（ＣＰＵ）には、バスラインを介してメモリ、サーボ制御部等が接続されている。なお、サーボ制御部及びそれに接続されたモータの図示は省略した。
【００２８】
また、これら要素に加えて、ネット回線を介してマスタユニットとの間でデータ授受を行うために、例えばイーサネット（登録商標）デバイスのようなネット回線デバイスがバスラインに接続されている。そして、スレーブユニット＃２内には、当該スレーブユニット側のタイミング信号を生成するタイミング信号発生部（“タイミング信号”のブロックで表示）が設けられている。
【００２９】
このタイミング信号発生部は、マスタユニットに設けられたタイミング信号発生部と同様のもので、スレーブユニット＃２内のプロセッサに内蔵されたクロックの出力（クロック信号）を利用（一定周期でサンプリング）して、当該スレーブユニット側のタイミング信号を周期的に生成し、スレーブユニット＃２内のプロセッサ、ネット回線デバイス等に出力している。タイミング信号の発生周期は、例えばマスタユニットに設けられたタイミング信号発生部のそれと同一とされている（同一でない周期、例えば整数倍、整数分の１などとすることも可能であるが、処理が複雑になる）。なお、タイミング信号発生部の結線関係は図示を省略した。
【００３０】
このタイミング信号は、スレーブユニット＃２のプロセッサがサーボ制御部へモータの制御に関する定量的な指示量［例えば１処理周期（ＩＴＰ）分の移動量を表わす指示量］をモータに接続されたサーボ制御部に出力するタイミングの決定に利用される。マスタユニットとの間で同期をとるために、スレーブユニット＃２内で次々と出力されるタイミング信号のいずれをトリガとしてプロセッサから指示量をサーボ制御部に出力するかは、マスタユニットから送られて来るパケットに含まれるデータに基づいて決められる。
【００３１】
既述の通り、マスタユニットから送信される同期タイミング信号は、ネットワーク回線を介してパケットの形でスレーブユニット＃１、＃２に同時に転送される。スレーブユニット＃２は、同ユニット内に設けられたネット回線デバイスでこれを受信し、そのデータを直ちにメモリデバイスに書き込む。一方、スレーブユニット＃２内にもサイクル監視＆位相差保持手段が設けられ、スレーブユニット＃１の場合と同様の態様で、この書き込みイベントを、タイミング信号の周期よりも十分短い周期で監視し、書き込みサイクル（ライトサイクル）を検出（計測）するとともに、例えばユニット＃２内のタイミング信号の受け取りを１０回行った毎に、位相差を算出し、検出値の更新を行なっている。
【００３２】
このように、スレーブユニット＃２のサイクル監視＆位相差保持手段は、ネット回線デバイスの書き込みサイクルとタイミング信号の位相差を保持する。そして、スレーブユニット＃２には、入力側をサイクル監視＆位相差保持手段に接続され、出力側をタイミング信号発生周期調整手段（“調整”のブロックで表示）に接続されたディジタルフィルタが設けられ、このタイミング信号発生周期調整手段により、タイミング信号発生部で生成されるタイミング信号の発生タイミングが調整（シフト）されるようになっている。
【００３３】
即ち、サイクル監視＆位相差保持手段で検出・保持された位相差は、ディジタルフィルタを通り、タイミング信号発生周期調整手段に伝達され、タイミング信号発生部で生成されるタイミング信号の発生タイミングが調整（シフト）される。
【００３４】
このディジタルフィルタの一例としては、ある決められた回数分の過去の出力データと入力データの差分を合計し、現在の出力データに加味する事で、平均化された出力データ（平均化された位相差データ）を算出するフィルタなどが考えられる。
【００３５】
タイミング信号発生周期調整手段は、ディジタルフィルタから送られた位相差のデータを元に、発生周期を調整し、マスタユニットのタイミング信号に同期させる。なお、スレーブユニット＃２内で次々と出力されるタイミング信号のいずれをトリガとしてプロセッサから指示量をサーボ制御部に出力するかは、前述の通り、マスタユニットから送られて来る同期タイミング信号のパケット中に含まれるデータ（例えば、Ｘ番目のタイミング信号をトリガにして、サーボ制御部へモータ制御のための指示量を出力する旨のデータ）に基づいて決められる。そのために、スレーブユニット＃２内のプロセッサは、スレーブユニット＃２内のメモリに処理周期毎にアクセスし、メモリに書き込まれたパケットデータの読み取りを行っている。
【００３６】
次に、スレーブユニット＃１で行われる「モータの制御に関する指示量の補正（変更）」（以下、「指示量補正」などとも略称する）について図２を参照して説明する。
【００３７】
先ず、同期制御のために指示量補正を行うタイミングを具体的に何時にするかということであるが、原理的には制約はない。即ち、任意のタイミングで、未補償の位相差を補償するための指示量補正を行えば良い。しかし、実際問題としては、スレーブユニット＃１のサイクル監視＆位相差保持手段で検出される上述の位相差は、短期間で大きく変動するものではないことを考慮すれば、プログラム（システムの動作プログラム；以下、同じ）開始時と終了時に指示量補正を実行することが好ましい。
【００３８】
図２は、指示量補正の具体例について説明するタイムチャートで、プログラム開始時と終了時に指示量補正を実行するケースを示している。指示量は、一例として「移動指示量」（モータで駆動される軸の移動量を表わす指示量）を考えるが、他の指示量（例えば、「モータで駆動される軸の速度、加速度」や、「モータの回転数」、「モータに供給する電流、電圧あるいは電力を指示する量」）に置き換えた場合も、説明内容は同様となる。
【００３９】
図２において、上半の３段分のチャートは上から順に、プログラム開始直前から直後の「マスタユニットのタイミング信号と指示量」、「マスタユニットと同期信号（タイミング信号）の発生タイミングが完全に一致していると仮定した場合のスレーブユニット（以下、“仮想スレーブユニット”とも言う）のタイミング信号と指示量」、「実際の同期信号（タイミング信号）のタイミングが一致していないスレーブユニット（図１においてはスレーブユニット＃１に相当；以下、同じ）のタイミング信号と指示量」を示している。
【００４０】
同様に、下半の３段分のチャートは上から順に、プログラム終了直前から終了時にかけての「マスタユニットのタイミング信号と指示量」、「仮想スレーブユニットのタイミング信号と指示量」、「実際の同期信号（タイミング信号）のタイミングが一致していないスレーブユニットのタイミング信号と指示量」を示している。なお、上向きの矢印群↑↑↑・・・は、マスタユニットあるいはスレーブユニット内で生成されるタイミング信号の出力タイミングを表わしている。
【００４１】
各段のチャートにおいて、マスタユニットの指示量は、同マスタユニットで制御されるモータの制御のための定量的指示量であり、スレーブユニットの指示量は、同スレーブユニットで制御されるモータの制御のための定量的指示量である。そして、ここでは一例として、「プログラムで指定されるマスタユニットの指示量は、１回のタイミング信号あたり移動量指示値１０である一方、同じプログラムで指定されるスレーブユニットの指示量（補正前）は、１回のタイミング信号あたり移動量指示値２０であり、これら各指示量で表わされる移動が、マスタユニットとスレーブユニットで同期して開始される」ように制御するケースを想定する。
【００４２】
先ず、プログラム開始前後及び終了前後のマスタユニットと仮想スレーブユニットのタイムチャートを見ると、両ユニット間で同期信号のタイミングが一致しているので、移動開始の指示量が出力されるタイミングも、両ユニットで一致している。仮想スレーブユニットにおける指示量も、プログラムで指定された通りであり、「指示量の補正」は行われない。
【００４３】
これに対して、プログラム開始前後及び終了前後のマスタユニットと実際のずれが想定されるスレーブユニットのタイムチャートを見ると、両ユニット間で同期信号のタイミングがずれており、このずれが前述のサイクル監視＆位相差保持手段により“位相差δph”として検出・記憶される。従って、この位相差δphを補償できるように、指示量の補正が行われる。即ち、プログラム開始後のマスタユニットで最初に移動量１０が指示された直後のスレーブユニット内のタイミング信号に合わせたタイミングで、補正された指示量を出力する。図示されている３０と言う指示量は、位相差δph＝０．５である場合の値であり、例えば位相差δph＝０．１であれば、２２（＝２０＋２０δph）が、スレーブユニットのサーボ制御部へ出力される。
【００４４】
このように、出力時に、検出された位相差δphを指示量のずれのデータに換算（補間計算）し、そのデータを本来の指示量に加算して指示する。そして、プログラムの終了時には、マスタユニットで最後に移動量１０が指示された直後のスレーブユニット内のタイミング信号に合わせたタイミングで、タイミングのずれ相当のデータを減算して指示し、全体の移動量に誤差がでないようにする。なお、本例では移動指示量の例として１０や２０という値を使用しているが、これらはあくまで一例であり、どのような値でも、ずれに見合った補正量計算を行う上で何等問題はない。
【００４５】
なお、スレーブユニット＃２で行われる「タイミング信号」の発生タイミングの調整方式では、このような補正は行われず、その代わりに、“位相差δph”を監視し、これを前述のデジタルフィルタを通してタイミング信号発生周期調整手段に与え、タイミング信号発生部で生成されるタイミング信号の発生タイミングを、そのずれを解消するように調整（シフト）することで同時制御が行われるようにする。換言すれば、スレーブユニット＃２では、スレーブユニット＃２を上記の「仮想スレーブユニット」に近付けるようなタイミング信号発生部の調整が行われ、それによって同期制御が達成される。
【００４６】
図３は、スレーブユニット＃１の例で説明した如く、指示量補正を行ってマスタユニットとの間で同期制御を行う場合の処理の概要を説明するフローチャートである。電源が投入されると、マスタユニット側、スレーブユニット側で夫々処理が時間進行（１点鎖線矢印参照）とともに進行する。なお、ここでは、「指示量」は、モータへ供給する電流の指示量であるとする。各ステップの要点を記せば、次のようになる。
【００４７】
（マスタユニット側）
●ステップＳ１；プロセッサは、ネット回線デバイスに同期タイミングを伝達する。  
●ステップＳ２；ネット回線デバイスは、プロセッサから受け取った同期タイミングに基づき、それに対応するタイミング信号（タイミング信号生成部で生成）を指定した同期用パケットを作成し、スレーブユニットに送信する。
【００４８】
●ステップＳ３；ネット回線で処理周期（ＩＴＰ）Ｎ回後（Ｎは予め定めた正整数）に、プログラムをスタートする旨の内容をスレーブユニットに送信する。
【００４９】
●ステップＳ４；Ｎ回の処理周期後まで待って、ステップＳ５へ進む。  
●ステップＳ５；プロセッサはプログラムの処理を開始する。  
●ステップＳ６；プロセッサはプログラムの諸処理が実行されたら、プログラムを終了する。
【００５０】
（スレーブユニット側）
●ステップＴ１；マスタユニットから送信された同期タイミング信号（同期パケット）を、ネット回線デバイスで受信する。  
●ステップＴ２；ネット回線デバイスは、受信した同期タイミング信号をメモリに書き込む。  
●ステップＴ３；サイクル監視＆位相差保持デバイスは、ネット回線デバイスによる上記書き込みのサイクルとシステム内（スレーブユニット内）のタイミング信号の位相差を保持する。
【００５１】
●ステップＴ４；プロセッサは、サイクル監視＆位相差保持デバイスから位相差を読み出す。なお、この時点から、スレーブユニットは位相差情報を得たことになり、以後、指示量（ここではモータへの電流指示量）の補正が可能となる。
【００５２】
●ステップＴ５；ネット回線デバイスは、マスタユニット側のステップＳ３から送信された内容を受信し、メモリに書き込む。  
●ステップＴ６；メモリから、処理周期Ｎ回後に、プログラムをスタートする旨の内容を読み出す。
【００５３】
●ステップＴ７；Ｎ回の処理周期後まで待って、ステップＴ８へ進む。  
●ステップＴ８；プロセッサは、プログラムの処理を開始する。但し、１回目の処理周期でのみ、ステップＴ４で読み出された位相差に応じて指示量（ここではモータへの電流指示量）を前述した態様にならって補正する。
【００５４】
●ステップＴ９；プロセッサはプログラムの諸処理が実行されたら、プログラムを終了する。
【００５５】
最後に図４のフローチャートを参照して、スレーブユニット＃２の例で説明した如く、スレーブ内のタイミング信号の発生タイミングを調整（修正）し、マスタユニットとの間で同期制御を行う場合の処理の概要を説明する。電源が投入されると、マスタユニット側、スレーブユニット側で夫々処理が時間進行（１点鎖線矢印参照）とともに進行する。なお、ここでは、「指示量」は、モータへ供給する電流の指示量であるとする。各ステップの要点を記せば、次のようになる。
【００５６】
（マスタユニット側）
●ステップＡ１；プロセッサは、ネット回線デバイスに同期タイミングを伝達する。  
●ステップＡ２；ネット回線デバイスは、プロセッサから受け取った同期タイミングに基づき、それに対応するタイミング信号（タイミング信号生成部で生成）を指定した同期用パケットを作成し、スレーブユニットに送信する。
【００５７】
●ステップＡ３；ネット回線で処理周期（ＩＴＰ）Ｎ回後（Ｎは予め定めた正整数）に、プログラムをスタートする旨の内容をスレーブユニットに送信する。
【００５８】
●ステップＡ４；Ｎ回の処理周期後まで待って、ステップＡ５へ進む。  
●ステップＡ５；プロセッサはプログラムの処理を開始する。  
●ステップＡ６；プロセッサはプログラムの諸処理が実行されたら、プログラムを終了する。
【００５９】
（スレーブユニット側）
●ステップＢ１；マスタユニットから送信された同期タイミング信号（同期パケット）を、ネット回線デバイスで受信する。  
●ステップＢ２；ネット回線デバイスは、受信した同期タイミング信号をメモリに書き込む。  
●ステップＢ３；サイクル監視＆位相差保持デバイスは、ネット回線デバイスによる上記書き込みのサイクルとシステム内（スレーブユニット内）のタイミング信号の位相差を保持する。
【００６０】
●ステップＢ４；サイクル監視＆位相差保持デバイスは、ディジタルフィルタに位相差情報を伝達する。  
●ステップＢ５；タイミング周期調整手段は、ディジタルフィルタから位相差情報をもらい、マスタユニット側のタイミング信号に合わせたタイミング信号を生成する。  
●ステップＢ６；ネット回線デバイスは、マスタユニット側のステップＡ３から送信された内容を受信し、メモリに書き込む。  
●ステップＢ７；メモリから、処理周期Ｎ回後に、プログラムをスタートする旨の内容を読み出す。
【００６１】
●ステップＢ８；Ｎ回の処理周期後まで待って、ステップＢ９へ進む。  
●ステップＢ９；プロセッサは、プログラムの処理を開始する。  
●ステップＢ１０；プロセッサはプログラムの諸処理が実行されたら、プログラムを終了する。
【図面の簡単な説明】
【００６２】
【図１】本発明に従った実施形態に係る同期制御システムの全体構成を概略描示した図である。
【図２】本発明の第１の形態で行われる指示量補正の具体例について説明するタイムチャートである。
【図３】スレーブユニットで指示量補正を行ってマスタユニットとの間で同期制御を行う場合の処理の概要を説明するフローチャートである。
【図４】スレーブユニットでタイミング信号発生のタイミング調整を行ってマスタユニットとの間で同期制御を行う場合の処理の概要を説明するフローチャートである。
【図１】
0004498250.tif 000002
【図２】
0004498250.tif 000003
【図３】
0004498250.tif 000004
【図４】
0004498250.tif 000005