(57)【要約】【課題】指令受信間隔のばらつきを改善することが可能なサーボ制御装置を提供する。【解決手段】サーボ制御装置１００は、制御装置２００が指令更新周期ごとに出力する指令を、指令受信周期ごとに非同期で受信する指令受信部１１０と、前記指令に応じてモータを制御するサーボ制御演算部１２０と、を有する。測定モードにおいて、指令受信部１１０は制御装置２００が指令更新周期ごとに出力するカウンタを、指令受信周期ごとに非同期で受信する。サーボ制御装置１００はさらに、測定モードにおいて、カウンタの受信間隔にばらつきが生じるイベントの発生を検知するイベント検出部１１１、測定モードにおいて、イベントの発生周期と、指令受信周期と、に基づいて、制御装置２００とサーボ制御装置１００との時計のずれ量を算出するずれ算出部１１２、運転モードにおいて、ずれ量に基づいて、指令受信周期を調整する受信周期調整部１１４を有する。【選択図】図１０
2020052829.tif 000002
【特許請求の範囲】
【請求項１】
制御装置が指令更新周期ごとに出力する指令を、指令受信周期ごとに非同期で受信する指令受信部と、前記指令に応じてモータを制御するサーボ制御演算部と、を有するサーボ制御装置であって、
測定モードにおいて、前記指令受信部は前記制御装置が前記指令更新周期ごとに出力するカウンタを、前記指令受信周期ごとに非同期で受信し、
前記測定モードにおいて、前記カウンタの受信間隔にばらつきが生じるイベントの発生を検知するイベント検出部と、
前記測定モードにおいて、前記イベントの発生周期と、前記指令受信周期と、に基づいて、前記制御装置と前記サーボ制御装置との時計のずれ量を算出するずれ量算出部と、
運転モードにおいて、前記ずれ量に基づいて、前記指令受信周期を調整する受信周期調整部と、を有することを特徴とする
サーボ制御装置。
【請求項２】
前記受信周期調整部による前記指令受信周期の調整時間は、前記サーボ制御装置の最小クロック値の整数倍であることを特徴とする
請求項１記載のサーボ制御装置。
【請求項３】
前記受信周期調整部による前記指令受信周期の調整前後において、前記指令受信周期の位相は略半周期ずれていることを特徴とする
請求項１記載のサーボ制御装置。
【請求項４】
前記ずれ量を記憶するずれバッファ部をさらに有することを特徴とする
請求項１記載のサーボ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボ制御装置に関し、特に指令受信間隔のばらつきを改善することが可能なサーボ制御装置に関する。
【背景技術】
【０００２】
図１に示すような、モーションコントローラである制御装置（数値制御装置など）とサーボ制御装置（サーボドライブなど）とが非同期で通信を行うモーションシステムが知られている（特許文献１及び２参照）。制御装置が一定周期で指令を出力し、サーボ制御装置の指令受信部が一定周期で当該指令を受信する。サーボ制御演算部は、受信した指令にしたがってモータを駆動する。パルスコーダは、位置又は速度をサーボ制御演算部にフィードバックする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３５０７６８号公報
【特許文献２】特開２００８−１７６６７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなモーションシステムにおいては、制御装置が一定周期で指令更新（すなわち指令出力）を行っていても、サーボ制御装置が当該指令を一定周期で受信できないことがある。具体的には、指令受信タイミングがサーボ制御装置の動作周期１回分だけずれる事象が、周期的に発生する。
【０００５】
図２に具体例を示す。制御装置は、指令更新周期Ｍにしたがって周期的に指令を更新する。サーボ制御装置は、指令受信周期Ｓにしたがって周期的に指令の受信を試行する。例えば指令更新周期Ｍ＝指令受信周期Ｓ×３であれば、理論的には、サーボ制御装置は必ず３回の指令受信周期毎に１度のタイミングで指令を受信できるはずである。しかしながら、実際には図２に示すように、３回でなく４回の指令受信周期を隔てて指令を受信する事象が、一定時間毎に発生する。
【０００６】
このような事象の主な発生原因として、制御装置とサーボ制御装置とがそれぞれ別個の時計を持っていることが挙げられる。両装置の時計は、基準時刻やクロック間隔において完全に一致していることが理想であるが、実際にはわずかなずれがある。こうしたずれが蓄積し、指令受信周期Ｓを上回るまでに達すると、上述の事象が発生することとなる。
【０００７】
制御装置とサーボ制御装置とは、一定周期で指令を更新及び受信することを前提とした制御を行っている。そのため、サーボ制御装置における指令受信が一定周期でなくなると、制御装置が出力する指令と、サーボ制御装置が駆動するモータの速度又は位置との間に不一致が生じ、位置決め精度が低下してしまう。また、指令更新からサーボ制御装置が受信してモータが駆動するまでの応答時間が遅れてしまう。
【０００８】
図３に、ある位置における、制御装置が出力する移動指令（実線）と、サーボ制御装置の受信指令に基づくモータの速度（破線）との比較を示す。サーボ制御装置における指令受信が完全に一定周期であれば、すなわち指令更新周期Ｍが厳密に指令受信周期Ｓの整数倍であれば、両者は本来は一致するはずである。しかし、サーボ制御装置における指令受信に１周期分のずれが生じると、図中に円囲みで示したように、制御装置が出力する移動指令（実線）と、サーボ制御装置の受信指令に基づくモータの動作（破線）との間には１×指令受信周期Ｓに相当する差分が生じてしまう。なお、図３では速度指令を例として取り上げたが、位置指令でも同様の問題が生じうる。
【０００９】
本発明はこのような課題を解決するためのものであり、指令受信間隔のばらつきを改善することが可能なサーボ制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一実施形態にかかるサーボ制御装置は、制御装置が指令更新周期ごとに出力する指令を、指令受信周期ごとに非同期で受信する指令受信部と、前記指令に応じてモータを制御するサーボ制御演算部と、を有するサーボ制御装置であって、測定モードにおいて、前記指令受信部は前記制御装置が前記指令更新周期ごとに出力するカウンタを、前記指令受信周期ごとに非同期で受信し、前記測定モードにおいて、前記カウンタの受信間隔にばらつきが生じるイベントの発生を検知するイベント検出部と、前記測定モードにおいて、前記イベントの発生周期と、前記指令受信周期と、に基づいて、前記制御装置と前記サーボ制御装置との時計のずれ量を算出するずれ量算出部と、運転モードにおいて、前記ずれ量に基づいて、前記指令受信周期を調整する受信周期調整部と、を有することを特徴とする。
本発明の一実施形態にかかるサーボ制御装置は、前記受信周期調整部による前記指令受信周期の調整時間は、前記サーボ制御装置の最小クロック値の整数倍であることを特徴とする。
本発明の一実施形態にかかるサーボ制御装置は、前記受信周期調整部による前記指令受信周期の調整前後において、前記指令受信周期の位相は略半周期ずれていることを特徴とする。
本発明の一実施形態にかかるサーボ制御装置は、前記ずれ量を記憶するずれバッファ部をさらに有することを特徴とする。
【発明の効果】
【００１１】
本発明により、指令受信間隔のばらつきを改善することが可能なサーボ制御装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】サーボ制御装置を含むモーションシステムの構成を説明する図である。
【図２】従来のサーボ制御装置を含むモーションシステムの動作を示す図である。
【図３】従来のサーボ制御装置を含むモーションシステムの動作を示す図である。
【図４】サーボ制御装置１００がずれ量を算出する手法を示す図である。
【図５】サーボ制御装置１００がずれ量を算出する手法を示す図である。
【図６】実施例１のサーボ制御装置１００を含むモーションシステム１の動作を示す図である。
【図７】実施例１のサーボ制御装置１００を含むモーションシステム１の動作を示す図である。
【図８】実施例２のサーボ制御装置１００を含むモーションシステム１の動作を示す図である。
【図９】実施例２のサーボ制御装置１００を含むモーションシステム１の動作を示す図である。
【図１０】サーボ制御装置１００を含むモーションシステム１の構成を示す図である。
【図１１】サーボ制御装置１００を含むモーションシステム１の他の構成例を示す図である。
【発明を実施するための形態】
【００１３】
本発明にかかるサーボ制御装置１００の動作の概要を説明する。サーボ制御装置１００は、指令受信間隔のばらつきを検出し、ばらつきを補正する機構を備える。サーボ制御装置１００は、測定モード及び運転モードの２つの動作モードを有する。
【００１４】
測定モードとは、実際の指令に基づいて運転する前に、制御装置２００とサーボ制御装置１００との時計のずれ量を算出するためのモードである。サーボ制御装置１００は、予め以下のような両装置の指令更新周期の関係を記憶しているものとする。
指令更新周期Ｍ  ＝  指令受信周期Ｓ  ×  ａ  （ａ＝１，２，３・・・）
【００１５】
図４及び図５を用いて、サーボ制御装置１００が両装置の時計のずれ量を算出する手法について説明する。制御装置２００は、指令の代わりにカウンタと呼ばれる信号をサーボ制御装置１００に対して周期的に出力する。カウンタの出力周期は指令更新周期Ｍである。サーボ制御装置１００は、カウンタの受信を周期的に試行する。受信試行周期は指令受信周期Ｓである。サーボ制御装置１００は、殆どの場合はａ回の受信試行毎にカウンタを受信するが、時計のずれが蓄積してくると、ａ回の受信試行毎にカウンタを受信できない事象（以下、イベントと称する）が発生する。具体的にいえば、イベント発生時のサーボ制御装置１００は、前回の受信からａ＋１回目（図４参照）又はａ−１回目（図５参照）の受信試行時にカウンタを受信する。イベントの発生には周期性があり、その周期はカウンタ更新ｘ回毎である。サーボ制御装置１００は、この周期ｘを測定する。そして、イベント発生周期ｘと指令受信周期Ｓとから、以下の式により時計のずれ量ｔを算出する。ずれ量ｔは、指令受信周期Ｓあたりの、制御装置２００の時計に対するサーボ制御装置１００の時計の進み具合を示す。ずれ量ｔが正であればサーボ制御装置１００の時計のほうが進んでおり、ずれ量ｔが負であればサーボ制御装置１００の時計のほうが遅れていることを示している。
・カウンタ更新ｘ回毎に、サーボ制御装置１００がａ＋１回の受信試行時にカウンタを受信する場合（図４参照）、ずれ量ｔは次式で表される。
ｔ  ＝  Ｓ／（ｘ×ａ）  （受信間隔＞ａ）
・カウンタ更新ｘ回毎に、サーボ制御装置１００がａ−１回の受信試行時にカウンタを受信する場合（図５参照）、ずれ量ｔは次式で表される。
ｔ  ＝  −Ｓ／（ｘ×ａ）  （受信間隔＜ａ）
【００１６】
運転モードとは、制御装置２００が出力する実際の指令に基づいて運転するモードである。サーボ制御装置１００は、測定モードにおいて算出した時計のずれ量に基づいて、指令受信時毎に、イベントが発生しなくなるように指令受信周期Ｓを調整する。すなわち指令受信周期Ｓの長さを変化させる。
【００１７】
サーボ制御装置１００におけるｎ回目の指令受信時におけるずれ量Ｄｎは次式で表される。ｔは指令受信周期Ｓあたりのずれ量、Ｒｎ−１は前回（ｎ−１回目）の指令受信時に調整しきれなかったずれ量（以下、繰越時間と称する）を示す。
Ｄｎ  ＝  ｔ＋Ｒｎ−１
【００１８】
Ｄｎのうち、ｎ回目の指令受信時に調整可能なずれ量（以下、調整時間と称する）は、最小クロック値Ｔに依存する。最小クロック値Ｔは、サーボ制御装置１００のあらゆる処理のタイミングを規定するクロック周期であり、指令受信周期Ｓの長さを調整する際の最小時間単位である。よって調整時間は、最小クロック値Ｔの整数倍となり、次式で表される。
調整時間  ＝  Ｑｎ×Ｔ
Ｑｎ  ＝  Ｄｎ／Ｔ  の商の整数部
【００１９】
サーボ制御装置１００は、算出された調整時間を指令受信周期Ｓに加算する。これにより、指令受信周期Ｓの長さが調整される。ｎ回目の指令受信時に調整しきれなかったずれ量は、次回（ｎ＋１回目）の指令受信時に繰越時間として扱われる。ｎ＋１回目への繰越時間Ｒｎは次式で表される。
Ｒｎ  ＝  Ｄｎ−（Ｑｎ×Ｔ）
【００２０】
これらの処理によれば、指令受信の各回において、最小クロック値Ｔ単位で受信周期が調整される。これにより、制御装置２００とサーボ制御装置１００との時計のずれ量ｔの蓄積が随時解消され、イベントの発生が抑制される。
【００２１】
なお、サーボ制御装置１００を含むモーションシステム１を再起動しても、ずれ量ｔは不変であるので、再度算出する必要はない。しかし、処理開始のタイミングは変化する。したがって、再起動後は一度、測定モードで次回のイベント発生タイミングを予測し、それから運転モードに切り替えて、指令受信周期Ｓを調整することが好ましい。
【００２２】
図１０は、本発明の実施の形態にかかるサーボ制御装置１００を含むモーションシステム１の構成を示すブロック図である。モーションシステム１は、サーボ制御装置１００、制御装置２００、モータ３００及びパルスコーダ３１０を含む。
【００２３】
制御装置２００は、例えば数値制御装置やＰＬＣなどの上位制御装置である。測定モードではカウンタを、運転モードでは位置指令や速度指令などの指令を、サーボ制御装置１００に対して出力する。
【００２４】
サーボ制御装置１００は、指令受信部１１０、イベント検出部１１１、ずれ算出部１１２、ずれバッファ部１１３、受信周期調整部１１４、サーボ制御演算部１２０を含む。
【００２５】
指令受信部１１０は、制御装置２００が出力したカウンタ、又は位置指令や速度指令などの指令を受信する。
【００２６】
イベント検出部１１１は、測定モードにおいて、サーボ制御装置１００におけるイベントの発生を検出する。
【００２７】
ずれ算出部１１２は、測定モードにおいて、イベント発生周期ｘ（カウンタ更新ｘ回毎にイベントが発生）と指令受信周期Ｓとに基づいて、制御装置２００とサーボ制御装置１００との相対的な内部時計のずれ量ｔを算出する。
【００２８】
ずれバッファ部１１３は、測定モードにおいてずれ算出部１１２が算出したずれ量ｔを一時的に保存する。
【００２９】
受信周期調整部１１４は、運転モードにおいて、ずれバッファ部１１３に保存されたずれ量ｔに基づいて指令受信周期Ｓを調整し、イベント発生を抑制する。
【００３０】
サーボ制御演算部１２０は、指令に応じた指令パルス信号をモータ３００に対して出力する。モータ３００は、指令パルス信号に応じた回転角度及び回転速度で駆動する。パルスコーダ３１０は、モータ３００の軸の回転角度及び回転速度を検知し、サーボ制御演算部１２０にエンコーダ信号としてフィードバックする。サーボ制御演算部１２０は、エンコーダ信号に基づいてフィードバック制御を行い、指令パルス信号を調整する。
【００３１】
実施例として、サーボ制御装置１００の具体的な動作例を開示する。
＜実施例１＞
図６及び図７を用いて、実施例１にかかるサーボ制御装置１００を含むモーションシステム１の動作について説明する。図６に示すように、測定モードにおいて、制御装置２００は、指令更新周期Ｍ≒１ｍｓｅｃでカウンタを出力した。調整前の、すなわち測定モードにおけるサーボ制御装置１００は、指令受信周期Ｓ＝２５０μｓｅｃでカウンタの受信を試行した。その結果、指令受信間隔が長くなるイベントが周期的に発生し、その際のｘ＝５０００、ａ＝４であった。つまり、殆どの場合、指令受信部１１０は４回の受信試行毎にカウンタを受信したが、まれに５回の受信試行でカウンタを受信した（イベント発生）。イベントは５０００回の指令更新毎に発生した。その結果、ずれ算出部１１２は、指令受信周期Ｓあたりのずれ量ｔを１２．５と算出した。
【００３２】
運転モードにおいて、サーボ制御装置１００の受信周期調整部１１４は、指令受信毎に、ずれ量Ｄｎ、調整量Ｑｎ、繰越時間Ｒｎを算出した。図７は、算出されたずれ量Ｄｎ、調整量Ｑｎ、繰越時間Ｒｎの遷移を示している。調整量Ｑｎが１となった指令受信回（星印で示す）においては、最小クロック値Ｔ＝２０ｎｓｅｃ単位で指令受信周期Ｓが調整されてずれ量の蓄積が一部解消されたため、次の指令受信回においては、ずれ量Ｄｎが減少していることがわかる。
【００３３】
図６に示すように、調整後の、すなわち運転モードにおけるサーボ制御装置１００は、星印で示した指令受信回において、指令受信周期Ｓを２５０μｓｅｃ＋２０ｎｓｅｃに調整した。なお、無印の指令受信回においては調整がなされないので、指令受信周期Ｓは２５０μｓｅｃのままである。この調整により、時計のずれ量ｔの蓄積が随時解消されたため、運転モードにおいてはイベントが発生していない。
【００３４】
なお、図６に示すように、サーボ制御装置１００は、測定モードから運転モードに移行するとき、換言すれば調整を開始するとき、調整前の指令受信周期と、調整後の指令受信周期と、の位相を約ａ／２ほど割込みによりずらすことが好ましい。これにより、イベントが最も発生しにくいタイミングで指令受信を開始することができる。また、この割込みは、イベントの発生が予測される指令受信回よりも１回以上前のタイミングで行うことが好ましい。これにより、指令受信周期Ｓの調整を行うための処理時間を確保することができるため、スムーズに運転モードへ移行することが可能となる。
【００３５】
＜実施例２＞
図８及び図９を用いて、実施例２にかかるサーボ制御装置１００を含むモーションシステム１の動作について説明する。図８に示すように、測定モードにおいて、制御装置２００は、指令更新周期Ｍ≒１ｍｓｅｃでカウンタを出力した。調整前の、すなわち測定モードにおけるサーボ制御装置１００は、指令受信周期Ｓ＝２５０μｓｅｃでカウンタの受信を試行した。その結果、指令受信間隔が短くなるイベントが周期的に発生し、その際のｘ＝５０００、ａ＝４であった。つまり、殆どの場合、指令受信部１１０は４回の受信試行毎にカウンタを受信したが、まれに３回の受信試行でカウンタを受信した（イベント発生）。イベントは５０００回の指令更新毎に発生した。その結果、ずれ算出部１１２は、指令受信周期Ｓあたりのずれ量ｔを−１２．５と算出した。
【００３６】
運転モードにおいて、サーボ制御装置１００の受信周期調整部１１４は、指令受信毎に、ずれ量Ｄｎ、調整量Ｑｎ、繰越時間Ｒｎを算出した。図９は、算出されたずれ量Ｄｎ、調整量Ｑｎ、繰越時間Ｒｎの遷移を示している。調整量Ｑｎが−１となった指令受信回（星印で示す）においては、最小クロック値Ｔ＝２０ｎｓｅｃ単位で指令受信周期Ｓが調整されてずれ量の蓄積が一部解消されたため、次の指令受信回においては、ずれ量Ｄｎの絶対値が減少していることがわかる。
【００３７】
図８に示すように、調整後の、すなわち運転モードにおけるサーボ制御装置１００は、星印で示した指令受信回において、指令受信周期Ｓを２５０μｓｅｃ−２０ｎｓｅｃに調整した。なお、無印の指令受信回においては調整がなされないので、指令受信周期Ｓは２５０μｓｅｃのままである。この調整により、時計のずれ量ｔの蓄積が随時解消されたため、運転モードにおいてはイベントが発生していない。
【００３８】
なお、実施例２においても、図８に示すように、サーボ制御装置１００は、測定モードから運転モードに移行するとき、換言すれば調整を開始するとき、調整前の指令受信周期と、調整後の指令受信周期と、の位相を約ａ／２ほど割込みによりずらすことが好ましい。これにより、イベントが最も発生しにくいタイミングで指令受信を開始することができる。また、この割込みは、イベントの発生が予測される指令受信回よりも１回以上前のタイミングで行うことが好ましい。これにより、指令受信周期Ｓの調整を行うための処理時間を確保することができるため、スムーズに運転モードへ移行することが可能となる。
【００３９】
本実施の形態によれば、制御装置２００による指令更新とサーボ制御装置１００による指令受信が非同期である場合であっても、サーボ制御装置１００は、両装置の時計のずれ量を算出し、ずれ量に基づいて指令受信周期を調整するので、指令受信間隔のばらつきを抑制することができる。その結果、制御装置２００が出力した指令と、サーボ制御装置１００が実際に出力する指令との不一致が改善されるので、応答性が向上する。また、位置決め精度が向上する。さらに、加工精度が向上することで不良率が低減し、生産性が向上する。また、安定した試験設備の運用が可能となる。
【００４０】
なお、本発明は上述の実施の形態に限定されるものではなく、発明の趣旨を損なわない範囲内において種々の変形を行うことが可能である。例えば、図１１に示すように、制御装置２００には複数のサーボ制御装置１００が接続されていても良い。この場合、制御装置２００と、個々のサーボ制御装置１００との間で、上述の実施の形態で示した処理が実施される。
【符号の説明】
【００４１】
１  モーションシステム
１００  サーボ制御装置
１１０  指令受信部
１１１  イベント検出部
１１２  ずれ算出部
１１３  ずれバッファ部
１１４  受信周期調整部
１２０  サーボ制御演算部
２００  制御装置
３００  モータ
３１０  パルスコーダ
【図１】
2020052829.tif 000003
【図２】
2020052829.tif 000004
【図３】
2020052829.tif 000005
【図４】
2020052829.tif 000006
【図５】
2020052829.tif 000007
【図６】
2020052829.tif 000008
【図７】
2020052829.tif 000009
【図８】
2020052829.tif 000010
【図９】
2020052829.tif 000011
【図１０】
2020052829.tif 000012
【図１１】
2020052829.tif 000013