(57)【要約】【課題】通常のコントローラ等に標準装備されている汎用通信手段を用いた場合でも高精度な同期、同時起動を実現するモータ駆動装置を提供する。【解決手段】通信の送受信部１と、一定のクロックでカウントを行い送受信部１の受信完了割込み信号１１で受信時タイマー値を出力するタイマー部２と、自軸と他軸との受信時タイマー値のずれを補正する同期処理部３とを備え、送受信部１は、上位コントローラから自軸への命令の場合は受信時タイマー値１２を上位コントローラへ返信し、他軸への命令の場合は他軸が上位コントローラに返信したデータから他軸の受信時タイマー値１３を取得して同期処理部３へ出力し、タイマー部２は自軸の受信時タイマー値１２を送受信部１と同期処理部３に出力し、同期処理部３において、自軸と他軸の受信時タイマー値の誤差をなくすよう同期処理を行うことで、通信に接続された複数軸間で同期運転を実現する。【選択図】図１
2008067487.tif 000002
【特許請求の範囲】
【請求項１】
上位コントローラと複数軸のモータ駆動装置とを通信によって接続するモータ駆動システムにおいて、通信の送受信部と、一定のクロックでカウントを行い前記送受信部の受信完了割込み信号で受信時タイマー値を出力するタイマー部と、自軸と他軸との受信時タイマー値のずれを補正する同期処理部とを備え、前記送受信部は、上位コントローラから自軸への命令の場合は受信時タイマー値を上位コントローラへ返信し、他軸への命令の場合は他軸が上位コントローラに返信したデータから他軸の受信時タイマー値を取得して同期処理部へ出力し、前記タイマー部は自軸の受信時タイマー値を前記送受信部と同期処理部に出力し、前記同期処理部は、自軸と他軸の受信時タイマー値の誤差をなくすよう同期処理を行うことで、通信に接続された複数軸間で同期運転を実現することを特徴としたモータ駆動装置。
【請求項２】
上位コントローラと複数軸のモータ駆動装置とを通信によって接続するモータ駆動システムにおいて、通信の送受信部と、一定のクロックでカウントを行い前記送受信部の受信完了割込み信号で受信時タイマー値を出力するタイマー部と、通信を受信してから動作を開始するまでの時間を設定する起動開始時間設定部とを備え、前記送受信部は、複数軸のうち自軸がマスタ軸の場合には上位コントローラへ受信時タイマー値を返信し、マスタ軸でない場合にはマスタ軸が上位コントローラに返信したデータから受信時タイマー値を取得して起動開始時間設定部へ出力し、前記タイマー部は受信時タイマー値を、自軸がマスタ軸の場合には送受信部に出力し、マスタ軸でない場合には起動開始時間設定部に出力し、マスタ軸でない起動開始時間設定部は、自軸とマスタ軸の受信時タイマー値の誤差に応じて動作開始信号の出力タイミングをずらすことで、マスタ軸との同時起動を実現することを特徴としたモータ駆動装置。
【請求項３】
上位コントローラと複数軸のモータ駆動装置とを通信によって接続するモータ駆動システムにおいて、上位からの通信を受信後に受信完了割込みを発生するステップ１と、その受信完了割込み時にタイマー値をラッチするステップ２と、上位コントローラからの命令が自軸か他軸かを判定するステップにおいて自軸の場合に上位へ受信時タイマー値を返信するステップ３と、他軸の場合に他軸が上位へ返信するデータを受信するステップ４と、自軸の受信時タイマー値と他軸の受信時タイマー値から内部同期タイマーを補正するステップ５とを備え、上位コントローラが他軸に対して通信を行うたびにステップ５にて自軸の受信時タイマー値を他軸の受信時タイマー値にあわせこむ処理を行うことで、通信に接続された複数軸間の同期運転を可能にするモータ駆動システムの同期方法。
【請求項４】
上位コントローラと複数軸のモータ駆動装置とを通信によって接続するモータ駆動システムにおいて、上位コントローラからの通信を受信後に受信完了割込みを発生するステップ１１と、その受信完了割込み時にタイマー値をラッチするステップ１２と、上位コントローラからの命令が自軸か他軸かを判定するステップにおいて自軸の場合に上位へ受信時タイマー値を返信するステップ１３と、他軸の場合に他軸が上位へ返信するデータを受信するステップ１４と、自軸とマスタ軸の受信時タイマー値から動作開始信号の出力タイミングを調整するステップ１５とを備え、ステップ１５において、マスタ軸以外の軸の動作開始タイミングをマスタ軸の動作開始タイミングにあわせることで、マスタ軸との同時起動を実現するモータ駆動システムの同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位コントローラと複数軸のモータ駆動装置とを通信によって接続するモータ駆動システムにおける同期方法に関する。
【背景技術】
【０００２】
複数のモータ駆動装置を持つモータ駆動システムでは、それぞれの軸が別々の動作を独立して行う通常動作に対し、ある特定の軸同士が同期して動作する同期動作が要望される場合がある。その場合、上位コントローラと同期運転を行う複数軸は、ある同じ基準に基づいて同期をとらなければならない。
【０００３】
同期の方法としては、高速通信装置を備えた通信システムを用い、通信周期を基準にして同期をとるのが一般的であるが、そのためには高速通信を実現するための特別な装置等が必要になり、コスト高、汎用性の低下、上位コントローラを含めた開発工数の増大といった課題がある。そのため、汎用的は非同期通信を用いた同期手法が求められている。
【０００４】
その中で、上位コントローラが持つ時間情報を通信処理で各モータ駆動装置に送信し、モータ駆動装置内でその時間情報に合わせることで汎用的な非同期通信を用いた同期方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２３７１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術では、実際には上位コントローラでラッチした時刻情報は通信を介して各モータ駆動装置に伝達されるため、その通信時間分の遅れを補正する処理が必要となる。また、上位コントローラ側のカウンタ精度に依存する部分が大きく、汎用的な通信手段を用いれば、さらに上位コントローラへの依存性が高くなるという問題がある。
【０００６】
本発明は上記従来の課題を解決するものであり、上位コントローラには全く依存せず、通常の通信処理を行うだけで、モータ駆動装置側だけで同期運転と高精度な同時起動を実現できるモータ駆動装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上位コントローラと複数軸のモータ駆動装置とを通信によって接続するモータ駆動システムにおいて、通信の送受信部と、一定のクロックでカウントを行い前記送受信部の受信完了割込み信号で受信時タイマー値を出力するタイマー部と、自軸と他軸との受信時タイマー値のずれを補正する同期処理部とを備え、前記送受信部は、上位コントローラから自軸への命令の場合は受信時タイマー値を上位コントローラへ返信し、他軸への命令の場合は他軸が上位コントローラに返信したデータから他軸の受信時タイマー値を取得して同期処理部へ出力し、前記タイマー部は自軸の受信時タイマー値を前記送受信部と同期処理部に出力し、前記同期処理部は、自軸と他軸の受信時タイマー値の誤差をなくすよう同期処理を行うことで、通信に接続された複数軸間で同期運転を実現する。
【０００８】
また、通信の送受信部と、一定のクロックでカウントを行い前記送受信部の受信完了割込み信号で受信時タイマー値を出力するタイマー部と、通信を受信してから動作を開始するまでの時間を設定する起動開始時間設定部とを備え、前記送受信部は、複数軸のうち自軸がマスタ軸の場合には上位コントローラへ受信時タイマー値を返信し、マスタ軸でない
場合にはマスタ軸が上位コントローラに返信したデータから受信時タイマー値を取得して起動開始時間設定部へ出力し、前記タイマー部は受信時タイマー値を、自軸がマスタ軸の場合には送受信部に出力し、マスタ軸でない場合には起動開始時間設定部に出力し、マスタ軸でない起動開始時間設定部は、自軸とマスタ軸の受信時タイマー値の誤差に応じて動作開始信号の出力タイミングをずらすことで、マスタ軸との同時起動を実現する。
【０００９】
また、上位からの通信を受信後に受信完了割込みを発生するステップ１と、その受信完了割込み時にタイマー値をラッチするステップ２と、上位コントローラからの命令が自軸か他軸かを判定するステップにおいて自軸の場合に上位へ受信時タイマー値を返信するステップ３と、他軸の場合に他軸が上位へ返信するデータを受信するステップ４と、自軸の受信時タイマー値と他軸の受信時タイマー値から内部同期タイマーを補正するステップ５とを備え、上位コントローラが他軸に対して通信を行うたびにステップ５にて自軸の受信時タイマー値を他軸の受信時タイマー値にあわせこむ処理を行うことで、通信に接続された複数軸間の同期運転を可能にするモータ駆動システムの同期方法である。
【００１０】
さらに、上位コントローラからの通信を受信後に受信完了割込みを発生するステップ１１と、その受信完了割込み時にタイマー値をラッチするステップ１２と、上位コントローラからの命令が自軸か他軸かを判定するステップにおいて自軸の場合に上位へ受信時タイマー値を返信するステップ１３と、他軸の場合に他軸が上位へ返信するデータを受信するステップ１４と、自軸とマスタ軸の受信時タイマー値から動作開始信号の出力タイミングを調整するステップ１５とを備え、ステップ１５において、マスタ軸以外の軸の動作開始タイミングをマスタ軸の動作開始タイミングにあわせることで、マスタ軸との同時起動を実現するモータ駆動システムの同期方法である。
【発明の効果】
【００１１】
本発明のモータ駆動装置によれば、上位コントローラが他軸に対して通信を行うたびに同期処理部において自軸と他軸の受信時タイマー値の誤差をなくすよう同期処理を行うことで、通信に接続された複数軸の同期運転を行うことができる。
【００１２】
また、マスタ軸でない起動開始時間設定部は、自軸とマスタ軸の受信時タイマー値の誤差に応じて動作開始信号の出力タイミングを調整してマスタ軸に合わせることで、マスタ軸との同時起動を実現することができる。
【００１３】
このように、汎用的な非同期通信を用いた通信システムでも、高精度な同期運転と同時起動を行うことができる。
【発明を実施するための最良の形態】
【００１４】
通信の送受信部と、一定のクロックでカウントを行い前記送受信部の受信完了割込み信号で受信時タイマー値を出力するタイマー部と、自軸の受信時タイマー値と他軸の受信時タイマー値とのずれを補正する同期処理部とを備え、上位からの通信において、自軸への命令の場合は受信時タイマー値を上位へ返信し、他軸への命令の場合は受信時タイマー値を同期処理部へ出力し、他軸から上位への返信データから他軸の受信時タイマー値を取得し、同期処理部においてその２つの受信時タイマー値の誤差をなくすよう同期処理を行うことで、通信に接続された複数軸の同期を行うようにしている。
【実施例１】
【００１５】
以下、本発明の実施例１について図を参照して説明する。
【００１６】
図１は、モータ駆動システムにおけるモータ駆動装置の要部ブロック図であり、複数軸のモータ駆動装置は、上位コントローラからの通信処理を行う送受信部１と、一定のクロ
ックでカウントアップし受信完了割込み信号が入力されたときのタイマー値を出力するタイマー部２と、タイマー部２からの受信時タイマー値１２と、送受信部１からの他軸の受信時タイマー値１３とが入力され、２つのタイマー値の誤差をなくすよう内部同期タイマーを調整する同期処理部３を備えている。
【００１７】
図２の動作フローチャートについて、図１を併用して説明する。まず、上位コントローラから通信を受信すると、送受信部１は受信完了割込み信号１１をタイマー部２に出力する（ステップ１）。タイマー部２は、受信完了割込み信号１１が入力されたときのタイマー値をラッチする（ステップ２）。
【００１８】
上位コントローラからの命令が自軸のモータ駆動装置への命令であった場合には、通常の通信処理を行い、タイマー部２は自軸の受信時タイマー値１２を送受信部１と同期処理部３に出力すると、送受信部１は上位コントローラに受信時タイマー値１２を返信する（ステップ３）。一方、他軸のモータ駆動装置への命令の場合には、送受信部１は他軸が受信時タイマー値１３を上位コントローラへ返信するのを待つ。
【００１９】
上位コントローラからの命令は、どの軸に対する命令であっても同じ通信線を通るため、すべての軸で一旦は受信する。通常は、受信後、自軸への命令かどうかを判断し、自軸であれば返信を行い、それ以外であればそのまま受信データを破棄し、受信待ち状態となる。その返信データも同じ通信線を通るため、上位コントローラ以外の接続されているモータ駆動装置全てで受信することができる。
【００２０】
このように、他軸が上位コントローラへ返信するデータ（他軸の受信時タイマー値１３）は自軸でも受信することができるため、自軸の送受信部１は受信データから他軸の受信時タイマー値１３を抽出し、同期処理部３に出力する（ステップ４）。
【００２１】
同期処理部３は、上位コントローラが他軸に対して通信を行うたびに、自軸の受信時タイマー値１２と他軸の受信時タイマー値１３の誤差をなくすよう内部同期タイマーを調整する（ステップ５）。
【００２２】
本発明のモータ駆動装置は、上位コントローラからの命令を受信したときの受信時タイマー値を、命令の宛先に関わらず、すべての軸で保存する。そして、命令の宛先の受信時タイマー値だけは上位コントローラに返信するため、すべての軸で他軸の受信時タイマー値に自軸の受信時タイマー値をあわせるように内部同期タイマーの値を調整する。
【００２３】
これを繰り返すことで、上位コントローラと各モータ駆動装置が通常の通信を行うだけで、すべてのモータ駆動装置において、受信時タイマー値１２および受信時タイマー値１３が同じ値をとるようになり、同期運転が実現できる。
【００２４】
次に、コントローラとモータ駆動装置２台の具体例において、モータ駆動装置同士を同期させることについて、図３を用いて説明する。
【００２５】
まず、上位コントローラからアドレス０に対して通信を行う。受信時タイマー値をアドレス０とアドレス１でそれぞれラッチする。アドレス０は上位コントローラに対して受信時タイマー値を返信する。アドレス１では、その返信データを受信し、アドレス０の受信時タイマー値と自軸の受信時タイマー値とを比較し、誤差を小さくするよう自軸の内部同期タイマー値を調整する。これにより、補正前の同期誤差に対し、補正後の同期誤差は小さくなる。これを繰り返すことで同期誤差を０に近づけることができる。
【００２６】
上位コントローラとの通信相手がアドレス１の場合は、同期誤差に対する補正処理を行
うのがアドレス０になるだけで同じ効果を得ることができる。もちろん、常に一つのアドレスに対して通信を行う場合でも、アドレス０、アドレス１と交互に通信を行う場合でも、全く同じ効果を得ることができる。通信相手を限定する必要がなく、いずれかの軸に対して通信さえ行えば同じ効果を得ることができるのも特徴の一つである。
【００２７】
なお、同期させるタイマー値を内部のすべての割込みの基準タイマーとすることにより、内部のすべての割り込みを同期させることができ、高精度な同期運転が可能となる。
【００２８】
また、軸数が増えた場合でも、各軸で同様の処理を行うことで、軸数の制限を受けることなく、高精度な複数軸の同期運転を実現できる。
【実施例２】
【００２９】
以下、本発明の実施例２について図を参照して説明する。
【００３０】
図４は、モータ駆動装置の要部ブロック図であり、上位コントローラからの通信処理を行う送受信部１と、一定のクロックでカウントアップし受信完了割込み信号が入力されたときのタイマー値を出力するタイマー部２と、その受信時タイマー値１２と他軸の受信時タイマー値１３から自軸の動作開始信号を出力する起動開始時間設定部４を備えている。
【００３１】
同時起動を行うには、まず上位コントローラからブロードキャスト命令で動作開始命令を送信する。これにより、基本的には全軸同時に命令を受信することが可能だが、実際に動作が開始するのは、内部制御周期分誤差が生じてしまう。
【００３２】
本手法では、接続されたモータ駆動装置のうち１軸をマスタ軸とし、そのマスタ軸にそれ以外の軸の起動タイミングを合わせることでより高精度な同時起動を実現することができる。
【００３３】
図５の動作フローチャートについて、図４を併用して説明する。上位コントローラからの同時起動用の通信を受信すると、送受信部１から受信完了割込み信号１１が出力される（ステップ１１）。タイマー部２は受信完了割込み信号１１が入力されたときのタイマー値をラッチ（ステップ１２）する。あらかじめ返信を行う１軸をマスタ軸と決めておき、自軸がマスタ軸であった場合は、上位コントローラへ受信時タイマー値１２を返信する（ステップ１３）。マスタ軸でない場合は、マスタ軸が上位コントローラへ返信するマスタ軸の受信時タイマー値１５を受信する（ステップ１４）。起動開始時間設定部４は、マスタ軸の受信時タイマー値１５と自軸の受信時タイマー値１２との差から動作開始信号を出力するタイミングを調整する（ステップ１５）。
【００３４】
これにより、マスタ軸との動作開始誤差を小さくすることができる。特にモータ駆動装置同士で同期がとれている場合は起動誤差を同期誤差のレベルまで小さくすることができる。
【００３５】
次に、上位コントローラとモータ駆動装置２台の具体例において、モータ駆動装置同士を同時起動させることについて、図６を用いて説明する。
【００３６】
図６に示すように、アドレス０とアドレス１の同期誤差が小さい場合でも、図中のタイミングで同時起動命令を受信するとアドレス０の動作開始タイミングはＡ点、アドレス１はＢ点となり、内部タイマー周期分だけ起動誤差が生じる。
【００３７】
そこで提案手法では、まずマスタ軸、ここではアドレス０の動作開始タイミングを強制的に１周期分だけずらし、Ｃ点とする。アドレス１ではマスタ軸から上位への返信データ
からマスタ軸の受信時タイマー値を読出し、その値と自軸の受信時タイマー値とを比較して、制御周期をまたぐ場合は動作開始タイミングを調整する。図６の場合は、動作開始タイミングを２周期分ずらし、Ｄ点とする。これにより、起動誤差を同期誤差と同等レベルまで小さくすることができる。
【００３８】
動作開始タイミングの調整は、基本的に図７に示す３パターンがあり、それぞれマスタ軸に対して１制御周期進める、遅らせる、同じの３通りの処理を行うことで高性能な同時起動を実現できる。
【００３９】
なお、動作開始タイミングの調整（ずらす量）は、マスタ軸に対してそれ以外の軸を進ませるか、遅らせるかによって調整するため、マスタ軸の遅れを任意に決めたい場合は、その遅れに対して＋１、０、−１とすればよい。
【００４０】
また、軸数が増えた場合もすべてマスタ軸を基準に考えて各軸で同様の処理を行うことで軸数の制限を受けることなく、高精度な複数軸の同時起動を行うことができる。
【産業上の利用可能性】
【００４１】
本発明のモータ駆動装置は、専用のハードウェアを持つことなく、さらにはスレーブ側だけで高精度な同期処理、同時起動を実現するものであり、一般的に高速リアルタイム性を有しないパーソナルコンピュータなどの上位システムや、インターネット、無線通信等の不安定な通信路を経由したモータの同期制御などにも有用である。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施例１におけるモータ駆動装置の要部ブロック図
【図２】本発明の実施例１における動作フローチャート
【図３】本発明の実施例１における同期処理の説明図
【図４】本発明の実施例２におけるモータ駆動装置の要部ブロック図
【図５】本発明の実施例２における動作フローチャート
【図６】本発明の実施例２における同時起動処理の説明図
【図７】本発明の実施例２における起動時間調整処理の説明図
【符号の説明】
【００４３】
１  送受信部
２  タイマー部
３  同期処理部
４  起動開始時間設定部
１１  受信完了割込み信号
１２  受信時タイマー値
１３  他軸の受信時タイマー値
１４  マスタ軸の受信時タイマー値
１５  動作開始信号
【図１】
2008067487.tif 000003
【図２】
2008067487.tif 000004
【図３】
2008067487.tif 000005
【図４】
2008067487.tif 000006
【図５】
2008067487.tif 000007
【図６】
2008067487.tif 000008
【図７】
2008067487.tif 000009