(57)【要約】【課題】移動対象物の移動量に相当する速度指令パルス数を容易に求めることを可能にするモータ制御装置を提供する。【解決手段】補間制御部240は、パルス発生部230から入力される速度指令パルス231に基づいて、Ｘ軸用及びＹ軸用の駆動パルス241a,241bを生成する。総パルス数カウント部250は、速度指令パルス231のパルス数をカウントする。終点検出部270が補間終了位置に達したことを検出し終点検出信号271を出力すると、総パルス数カウント部250は、速度指令パルス231のカウントを終了し、その時点でのカウント値を、各種レジスタ群210のうちの所定のレジスタにセットする。上位ＣＰＵ110は、補間動作が終了したことを割り込み等によって知ると、各種レジスタ群210から、総パルス数カウント部250がカウントしたカウント値、すなわち、移動対象物を所望の移動経路に沿って移動させるのに必要な総パルス数を読み出す。【選択図】図２
2005149182.tif 000002
【特許請求の範囲】
【請求項１】
複数のパルス列入力型モータを駆動するため、各パルス列入力型モータ用の駆動パルスを出力するモータ制御装置であって、
速度指令パルスに基づいて補間処理を行い、前記駆動パルスを生成する補間制御部と、
補間開始位置から補間終了位置まで、前記速度指令パルスのパルス数をカウントする総パルス数カウント部と
を備えたことを特徴とするモータ制御装置。
【請求項２】
前記補間終了位置に達したことを検出する終点検出部を更に備え、
前記総パルス数カウント部は、前記終点検出部が前記補間終了位置を検出するまで、前記速度指令パルスのパルス数をカウントする
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記終点検出部は、複数の補間動作が連続して指示された場合、一番最後の補間動作についての補間終了位置に達したことを検出し、
前記総パルス数カウント部は、前記終点検出部が前記一番最後の補間動作についての補間終了位置を検出するまで、前記速度指令パルスのパルス数をカウントする
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記駆動パルスをモータ制御装置の外部へ出力するか否かを制御するパルス出力制御部を更に備えた
ことを特徴とする請求項１〜３のいずれか一項に記載のモータ制御装置。
【請求項５】
動作モードとして、総パルス数を求めるためのトレースモードと実動作のための通常動作モードとを有し、
前記パルス出力制御部は、前記トレースモード時には、前記駆動パルスをモータ制御装置の外部へ出力せず、前記通常動作モード時には、前記駆動パルスをモータ制御装置の外部へ出力する
ことを特徴とする請求項４に記載のモータ制御装置。
【請求項６】
前記総パルス数カウント部のカウント値をモータ制御装置の外部から読み出すためのインタフェース部を更に備えた
ことを特徴とする請求項１〜５のいずれか一項に記載のモータ制御装置。
【請求項７】
前記補間終了位置に到達したときの前記総パルス数カウント部のカウント値を格納する記憶部を更に備えた
ことを特徴とする請求項１〜６のいずれか一項に記載のモータ制御装置。
【請求項８】
前記記憶部を複数備えた
ことを特徴とする請求項７に記載のモータ制御装置。
【請求項９】
前記速度指令パルスを生成するパルス発生部を更に備え、
当該パルス発生部は、前記記憶部に格納されたカウント値に基づいて、減速開示位置を自動検出する
ことを特徴とする請求項７又は請求項８に記載のモータ制御装置。
【請求項１０】
請求項１〜９のいずれか一項に記載のモータ制御装置と、
複数のパルス列入力型モータと、
前記モータ制御装置が出力する駆動パルスに基づいて、前記複数のパルス列入力型モータを駆動する複数のモータドライバと
を備えたことを特徴とするモータ制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パルスモータ（ステッピングモータ）やパルス列入力型サーボモータの制御を行うモータ制御装置に関する。
【背景技術】
【０００２】
数値制御（ＮＣ）工作機械や搬送機器等における位置制御には、パルスモータ（ステッピングモータ）やパルス列入力型サーボモータ等、駆動回路に入力されるパルス数に応じた回転量が得られるモータ（以下、パルス列入力型モータという）が利用されている。例えば、ＸＹ平面上を移動対象物（例えば、工具）を移動させるためには、Ｘ軸用及びＹ軸用の２個のパルス列入力型モータが利用される。
【０００３】
パルス列入力型モータでは、パルス１個あたりの回転角である最小回転角が決まっているので、パルス列入力型モータによって制御される移動対象物の移動量は連続的に変化させることはできず、前記最小回転角で決まる最小移動量が存在する。したがって、所定の移動経路が与えられた場合であっても、実際は、実現可能な近似的な経路に置き換えて、移動対象物の移動が行われる。与えられた移動経路に対して、実現可能な近似的な経路を算出することを補間という。現在、直線及び円弧に対する補間を自動的に行う機能を備えたモータ制御用ＬＳＩ（例えば、補間制御専用ＬＳＩや、補間機能付きモータコントロールＬＳＩ）が存在する。このようなモータ制御ＬＳＩを利用する場合、基本経路（例えば、直線及び円弧）を組み合わせることで所望の移動経路を実現する。
【０００４】
上記モータ制御用ＬＳＩにおいて、ＸＹ２軸の直交座標系で円弧に沿った軌道上を移動対象物が動くようにモータを制御（円弧補間）する場合、円弧の開始位置及び終了位置の座標を指定する必要がある。開始位置及び終了位置の指定は、例えば、上位コントローラが、モータ制御用ＬＳＩ内部のレジスタに座標パラメータを書き込むことによって行われる。開始位置及び終了位置を指定後、上位コントローラによって円弧補間動作が指示されると、モータ制御用ＬＳＩは、パルスジェネレータが発生する速度指令パルスに基づいて、円弧（近似経路）上を移動対象物が開始位置から終了位置まで移動するように、Ｘ軸用モータ駆動パルス及びＹ軸用モータ駆動パルスを適宜出力する。なお、上記パルスジェネレータは、上位ＣＰＵからの指示に従って速度指令パルスを発生するものであり、上記モータ制御用ＬＳＩが補間制御専用ＬＳＩの場合は、通常、独立した専用ＬＳＩとして実装されたものが用いられ、また、上記モータ制御用ＬＳＩが補間機能付きモータコントロールＬＳＩの場合は、通常、当該モータコントロールＬＳＩ内に実装される。
【０００５】
移動対象物を移動開始位置から移動終了位置まで移動させる際、移動開始時及び移動停止時における急激な速度変化による移動対象物への影響（例えば、振動の発生）を低減させるため、直線加減速制御やＳ字状加減速制御が行われる。このような加減速制御は、通常、上記パルスジェネレータが、上位コントローラからの指示に従って速度指令パルス列の周波数を変化させることで実現される。
【０００６】
このような加減速制御を実現するためには、減速開始位置を自動検出するか、手動で指定する必要があるが、この減速開始位置を求めるためには、移動対象物を移動開始位置から移動終了位置まで移動させるのに必要な速度指令パルスのパルス数（移動開始位置から移動終了位置までの移動量に相当）を求める必要がある。この移動量に相当する総パルス数がわかれば、例えば、パルスジェネレータにおいて、加速時に要したパルス数をカウントし、加速と減速は対称であると仮定することによって、減速開始位置を自動検出することが可能になる。
【０００７】
しかしながら、この総パルス数の算出は必ずしも容易ではない。例えば、所望の経路が円弧補間で実現される場合、円弧の位置や角度などに応じた計算をする必要があり、手間がかかる。更に、所望の経路が複数の円弧補間や直線補間などを連続的に実行することで実現される場合は、総パルス数の算出に非常に手間がかかることになる。
【０００８】
なお、特開平８−１９０４１９号公報（特許文献１）には、円弧補間等の曲線補間の場合に、補間終了位置までの総移動量の計算が複雑になることに鑑み、総移動量を計算することなく減速開始位置を簡単に決定できるようにした２軸補間制御装置の加減速制御法が開示されている。具体的には、所定の加速が終了したあと、開始位置と加速終了位置までの直線距離ＡＦＰを算出し、現在位置と終了位置までの直線距離ＤＦＰが前記直線距離ＡＦＰ以下となった位置を減速開始位置と決定することによって、予め総移動量距離を計算する必要をなくしている。
【０００９】
しかしながら、特許文献１記載の方法では、例えば、所望の移動経路が複数の円弧で構成される場合であって、最初の円弧と最後の円弧の半径が異なる場合等に、適切な減速開始位置を求めることができない。
【特許文献１】特開平８−１９０４１９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、移動対象物の総移動量に相当する速度指令パルス数を容易に求めることを可能にするモータ制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明に係るモータ制御装置は、複数のパルス列入力型モータを駆動するため、各パルス列入力型モータ用の駆動パルスを出力するモータ制御装置であって、速度指令パルスに基づいて補間処理を行い、前記駆動パルスを生成する補間制御部と、補間開始位置から補間終了位置まで、前記速度指令パルスのパルス数をカウントする総パルス数カウント部とを備えたことを特徴とする。
【００１２】
この場合において、前記補間終了位置に達したことを検出する終点検出部を更に備え、前記総パルス数カウント部は、前記終点検出部が前記補間終了位置を検出するまで、前記速度指令パルスのパルス数をカウントするようにしてもよい。更に、前記終点検出部は、複数の補間動作が連続して指示された場合、一番最後の補間動作についての補間終了位置に達したことを検出し、前記総パルス数カウント部は、前記終点検出部が前記一番最後の補間動作についての補間終了位置を検出するまで、前記速度指令パルスのパルス数をカウントするようにしてもよい。
【００１３】
また、以上の場合において、前記駆動パルスをモータ制御装置の外部へ出力するか否かを制御するパルス出力制御部を更に備えるようにしてもよい。更に、動作モードとして、総パルス数を求めるためのトレースモードと実動作のための通常動作モードとを有し、前記パルス出力制御部は、前記トレースモード時には、前記駆動パルスをモータ制御装置の外部へ出力せず、前記通常動作モード時には、前記駆動パルスをモータ制御装置の外部へ出力するようにしてもよい。
【００１４】
また、以上の場合において、前記総パルス数カウント部のカウント値をモータ制御装置の外部から読み出すためのインタフェース部を更に備えるようにしてもよい。また、前記補間終了位置に到達したときの前記総パルス数カウント部のカウント値を格納する記憶部（例えば、レジスタ）を更に備えるようにしてもよい。更に、前記記憶部を複数備えるようにしてもよい。また、前記速度指令パルスを生成するパルス発生部を更に備え、当該パルス発生部は、前記記憶部に格納されたカウント値に基づいて、減速開始位置を自動検出するようにしてもよい。
【００１５】
一方、本発明に係るモータ制御システムは、前記モータ制御装置と、複数のパルス列入力型モータと、前記モータ制御装置が出力する駆動パルスに基づいて、前記複数のパルス列入力型モータを駆動する複数のモータドライバとを備えたことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、補間開始位置から補間終了位置まで、総パルス数カウント部が速度指令パルスをカウントするので、繁雑な計算等をすることなく容易に、総移動量に相当する速度指令パルス数を求めることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について、図面を参照しつつ詳細に説明する。
【００１８】
≪第一実施形態≫
図１は、本発明によるモータ制御システム１００の構成を示すブロック図である。モータ制御システム１００は、ＸＹ平面上における移動対象物（不図示）の位置制御を行うものである。
【００１９】
同図に示すように、モータ制御システム１００は、上位ＣＰＵ１１０と、補間機能付きモータコントロールＬＳＩ１２０と、Ｘ軸用及びＹ軸用モータドライバ１３０ａ，１３０ｂと、Ｘ軸用及びＹ軸用モータ１４０ａ，１４０ｂとを備える。
【００２０】
上位ＣＰＵ１１０は、ＣＰＵバス１１１を介して補間機能付きモータコントロールＬＳＩ１２０と接続され、補間機能付きモータコントロールＬＳＩ１２０の動作を制御する上位コントローラである。具体的には、上位ＣＰＵ１１０は、補間機能付きモータコントロールＬＳＩ１２０に対して、各種パラメータを設定し、所望の動作（直線補間や円弧補間等）を指示する。
【００２１】
補間機能付きモータコントロールＬＳＩ（以下、単にモータコントロールＬＳＩという）１２０は、本発明が適用されるモータ制御装置であって、上位ＣＰＵ１１０からの指示に従って、Ｘ軸用及びＹ軸用駆動パルス１２１ａ，１２１ｂを発生させる。モータコントロールＬＳＩ１２０の内部構成については後述する。
【００２２】
モータドライバ１３０ａは、モータコントロールＬＳＩ１２０から出力される駆動パルス１２１ａに基づいて、モータ１４０ａを駆動する。同様に、モータドライバ１３０ｂは、モータコントロールＬＳＩ１２０から出力される駆動パルス１２１ｂに基づいて、モータ１４０ｂを駆動する。
【００２３】
モータ１４０ａは、モータドライバ１３０ａによって駆動されるＸ軸用のパルスモータであり、モータドライバ１３０ａに入力されるパルス数に応じた回転を行う。同様に、モータ１４０ｂは、モータドライバ１３０ｂによって駆動されるＹ軸用のパルスモータであり、モータドライバ１３０ｂに入力されるパルス数に応じた回転を行う。モータ１４０ａは、移動対象物のＸ軸方向の移動を制御し、モータ１４０ｂは、移動対象物のＹ軸方向の移動を制御する。
【００２４】
次に、モータコントロールＬＳＩ１２０の内部構成について説明する。
【００２５】
図２は、モータコントロールＬＳＩ１２０の内部構成を示すブロック図である。
【００２６】
同図に示すように、モータコントロールＬＳＩ１２０は、ＣＰＵインタフェース部２００と、各種レジスタ群２１０と、主制御部２２０と、パルス発生部２３０と、補間制御部２４０と、総パルス数カウント部２５０と、パルス出力制御部２６０と、終点検出部２７０とを備える。なお、各部は外部から入力される基準クロックに同期して動作する。
【００２７】
ＣＰＵインタフェース部２００は、外部とのデータのやり取りを可能にするもので、具体的には、上位ＣＰＵ１１０が各種レジスタ群２１０に対して読み書きをすることを可能にする。
【００２８】
各種レジスタ群２１０は、モータコントロールＬＳＩ１２０の動作を制御するためのレジスタ群であって、上位ＣＰＵ１１０がコマンドを書き込むためのコマンドレジスタや、動作モードを設定するためのモードレジスタ等、各種パラメータを設定するための書き込み用レジスタや、各種ステータスを読み出すための読み出し用レジスタなど、複数のレジスタから構成される。
【００２９】
主制御部２２０は、モータコントロールＬＳＩ１２０の各構成要素の制御を行うもので、具体的には、上位ＣＰＵ１１０によって書き込まれるコマンドを解釈し、指定されたコマンドに応じた動作をパルス発生部２３０や補間制御部２４０などに行わせる。
【００３０】
パルス発生部２３０は、上位ＣＰＵ１１０によって設定された各種パラメータ（初速度、駆動速度、加減速度等）に従って、速度指令パルス２３１を生成する。
【００３１】
補間制御部２４０は、上位ＣＰＵ１１０によって設定された各種パラメータ（補間開始位置座標、補間終了位置座標等）に従って、パルス発生部２３０によって生成された速度指令パルス２３１に対して所定の補間処理を行い、Ｘ軸用及びＹ軸用の駆動パルス２４１ａ，２４１ｂを生成する。なお、補間制御部２４０は、必要に応じて、１軸のみの駆動時と複数軸同時の駆動時とで合成速度が一定になるような制御（合成速度一定制御）も行う。
【００３２】
終点検出部２７０は、補間制御部２４０から出力されるＸ軸用及びＹ軸用駆動パルス２４１ａ，２４１ｂの数をカウントし、当該カウント値（現在位置を表す）と、上位ＣＰＵ１１０によって設定された補間終了位置座標値とを比較して、補間終了位置に達したか否かを判定する。パルス列入力型モータの場合、通常、１パルスあたりの距離を決めておき（例えば、１パルスが1μm）、位置座標についてはパルス数で指定するようにするので、Ｘ軸用及びＹ軸用駆動パルス２４１ａ，２４１ｂのカウント値と補間終了位置座標値とは直接比較することができる。終点検出部２７０は、補間終了位置に達したことを検出すると、終点検出信号２７１を出力する。なお、１個の補間コマンド（補間動作の開始を指示するコマンド）を実行している間に、次の補間コマンドが指示された場合、すなわち、連続補間処理の場合は、１個の補間コマンドについて設定された補間終了位置に達した場合であっても、終点検出信号２７１を出力することなく、次の補間コマンドについて設定されたパラメータに基づいて、次の補間コマンドについての補間終了位置の検出を開始し、連続補間処理が終了した時点、すなわち、一番最後の補間コマンドについて設定された補間終了位置に達した時点で、終点検出信号２７１を出力する。
【００３３】
総パルス数カウント部２５０は、パルス発生部２３０が生成した速度指令パルス２３１のカウント（計数）を行う。総パルス数カウント部２５０は、速度指令パルス２３１の入力が開始されてから、終点検出部２７０が終点検出信号２７１を出力するまで、速度指令パルス２３１のカウントを行う。総パルス数カウント部２５０は、終点検出信号２７１が入力されると、その時点でのカウント値を、各種レジスタ群２１０のうちの所定のレジスタ（以下、総パルス数カウント値レジスタという）に設定する。総パルス数カウント部２５０は、カウント値の総パルス数カウント値レジスタへの格納が済むと、カウント値をゼロにリセットする。なお、カウント値のリセットは、他の適当なタイミング、例えば、主制御部２２０によって動作開始が指示された時点で行うようにしてもよい。
【００３４】
パルス出力制御部２６０は、補間制御部２４０によって生成された駆動パルス２４１ａ，２４１ｂを、モータコントロールＬＳＩ１２０外部に出力するか否かを制御する。すなわち、通常動作モードの時は、補間制御部２４０によって生成された駆動パルス２４１ａ，２４１ｂを、そのまま駆動パルス１２１ａ，１２１ｂとしてＬＳＩ外部に出力する。一方、トレースモードの時は、補間制御部２４０によって生成された駆動パルス２４１ａ，２４１ｂがＬＳＩ外部に出力されないようにする。トレースモード及び通常動作モードについては後述する。
【００３５】
次に、モータ制御システム１００の動作について説明する。ここでは、移動対象物を、図３（ａ）に示すような経路に沿って、同図（ｂ）に示すような加減速制御のもと、移動させる場合について説明する。同図（ａ）に示す経路は、２つの円弧３０１，３０２から構成されており、２個の円弧補間コマンドによって実現される。また、同図（ｂ）に示す加減速制御は、直線加減速モードでの所定パルス数の駆動（定量駆動）により実現される。なお、同図（ｂ）に示すように、加速と減速は対称であるので、減速開始位置については、自動検出するものとする。このような加減速制御を実現するためには、同図（ａ）に示すような経路に沿って移動対象物を点Ａから点Ｃまで移動させるために必要な速度指令パルスの総パルス数を求める必要がある。
【００３６】
まず、トレースモードにおいて、総パルス数をカウントする動作について説明する。トレースモードとは、移動対象物の移動開始位置から移動終了位置までの移動量に相当する総パルス数のカウントを行うための動作モードである。
【００３７】
トレースモードにおいては、モータコントロールＬＳＩ１２０は、内部的には、通常動作モード時と同様の動作を行うが、Ｘ軸用及びＹ軸用駆動パルスは外部に出力されない。つまり、トレースモードにおいては、実際にモータによって駆動される機械系の動作は行われない。このため、加減速制御は必ずしも必要ではなくなる。そこで、トレースモードにおいては、加減速制御は行わず、図３（ｃ）に示すように、開始位置から終了位置まで一定の駆動速度で駆動する一定速（連続）駆動動作を行う。加減速制御を行わないことにより、総パルス数のカウントに要する時間を短縮させることができる。更に、トレースモードでは、実際に機械系の動作は行われないため、駆動速度を実動作時より速くすることも可能である。したがって、モータコントロールＬＳＩ１２０に設定する速度パラメータ（駆動速度）を設定可能な最大値に設定することで、総パルス数のカウントに要する時間を更に短縮させることができる。図３（ｃ）の場合も、加減速制御を行わず、かつ、駆動速度として同図（ｂ）の場合より大きな値を設定することで、同図（ｂ）の場合に比べて、移動対象物を点Ａから点Ｃまで移動させる時間、すなわち、総パルス数のカウントに要する時間が短縮されている。
【００３８】
上位ＣＰＵ１１０は、まず、モータコントロールＬＳＩ１２０の動作モードを、トレースモードにするため、ＣＰＵインタフェース部２００を介して、各種レジスタ群２１０のうちのモードレジスタに対して所定のビットパターンを書き込む。
【００３９】
次に、上位ＣＰＵ１１０は、所望の動作に必要なパラメータを設定するため、ＣＰＵインタフェース部２００を介して、各種レジスタ群２１０に所定のデータを書き込む。具体的には、最初の円弧３０１についての円弧補間動作のために必要なパラメータとして、開始位置座標（点Ａの座標）、終了位置座標（点Ｂの座標）、補間動作の種類（時計回り円弧補間）等を設定する。ここでは、円弧補間の場合、開始位置座標及び終了位置座標は、円弧の中心（円弧３０１の場合、点Ｏ１）を原点（０，０）とした場合の座標を指定するものとする。すなわち、円弧３０１の場合、補間開始位置座標は（−２０００，０）で、補間終了位置座標は（２０００，０）となる。また、一定速・連続駆動動作のために必要なパラメータとして、駆動速度を設定する。
【００４０】
上位ＣＰＵ１１０は、必要なパラメータ等の設定が終わると、モータコントロールＬＳＩ１２０に時計回りの円弧補間動作及び一定速・連続駆動動作を行わせるため、各種レジスタ群２１０のうちのコマンドレジスタに対して、該当するコマンドを書き込む。当該コマンドの書き込みに応じてモータコントロールＬＳＩ１２０の動作が開始されると、上位ＣＰＵ１１０は、続けて、第二の円弧３０２についての円弧補間動作のために必要なパラメータとして、開始位置座標（点Ｏ２を原点とした場合の点Ｂの座標（−３０００，０））、終了位置座標（点Ｏ２を原点とした場合の点Ｃの座標（３０００，０））、補間動作種類（反時計回り円弧補間）等を設定し、モータコントロールＬＳＩ１２０に反時計回りの円弧補間動作を行わせるため、コマンドレジスタに対して、該当するコマンドを書き込む。当該コマンドは、最初のコマンドについての処理が終了した後に、続けて処理される（連続補間処理）。
【００４１】
モータコントロールＬＳＩ１２０では、コマンドレジスタにコマンドが書き込まれると、主制御部２２０がコマンドを解釈して、指示されたコマンドに応じた動作をするため、パルス発生部２３０や補間制御部２４０等に対して動作開始を指示する。
【００４２】
パルス発生部２３０は、動作開始が指示されると、設定されたパラメータに基づいて、所定の速度指令パルス列を発生させる。すなわち、パルス発生部２３０は、図３（ｃ）に示すように、駆動速度として指定された速度（パルス周波数）の速度指令パルス２３１の発生を開始し、終点検出部２７０が補間終了位置を検出するまで、速度指令パルス２３１を発生し続ける。
【００４３】
補間制御部２４０は、パルス発生部２３０から入力される速度指令パルス２３１と、上位ＣＰＵ１１０によって各種レジスタ群２１０に設定されたパラメータに基づいて、Ｘ軸用及びＹ軸用の駆動パルス２４１ａ，２４１ｂを生成する。一方、総パルス数カウント部２５０は、パルス発生部２３０によって生成された速度指令パルス２３１のパルス数をカウントする。
【００４４】
パルス出力制御部２６０は、現在の動作モードがトレースモードであるので、補間制御部２４０から入力されるＸ軸用及びＹ軸用駆動パルス２４１ａ，２４１ｂをマスクして、ＬＳＩ外部に出力されないようにする。
【００４５】
終点検出部２７０は、補間終了位置（図３の点Ｃ）に達したことを検出すると、終点検出信号２７１を出力する。なお、最初の円弧補間コマンドについての補間終了位置（図３の点Ｂ）に達した時点では、次の補間コマンドが指示されているので、終点検出信号２７１を出力することはない。
【００４６】
総パルス数カウント部２５０は、終点検出部２７０から終点検出信号２７１が出力されると、速度指令パルス２３１のカウントを終了し、その時点でのカウント値を、総パルス数カウント値レジスタにセットする。
【００４７】
上位ＣＰＵ１１０は、補間動作が終了したことを割り込み等によって知ると、総パルス数カウント値レジスタに対してアクセスして、総パルス数カウント部２５０がカウントしたカウント値、すなわち、移動対象物を所望の移動経路（図３（ａ））に沿って移動させるのに必要な総パルス数を読み出す。
【００４８】
以上のようにして、上位ＣＰＵ１１０は、移動対象物を所望の移動経路に沿って移動させるのに必要な総パルス数を得ることができる。
【００４９】
次に、実際に移動対象物を所望の移動経路に沿って移動させるために、以上のようにして得られた総パルス数を使って、所定パルス数の駆動（定量駆動）を行う動作について説明する。
【００５０】
上位ＣＰＵ１１０は、まず、モータコントロールＬＳＩ１２０の動作モードを、トレースモードから通常動作モードに変えるため、ＣＰＵインタフェース部２００を介して、各種レジスタ群２１０のうちのモードレジスタに対して所定のビットパターンを書き込む。
【００５１】
次に、上位ＣＰＵ１１０は、所望の動作に必要なパラメータを設定するため、ＣＰＵインタフェース部２００を介して、各種レジスタ群２１０に所定のデータを書き込む。具体的には、最初の円弧３０１についての円弧補間動作のために必要なパラメータとして、開始位置座標（点Ｏ１を原点（０，０）とした場合の点Ａの座標（−２０００，０））、終了位置座標（点Ｏ１を原点（０，０）とした場合の点Ｂの座標（２０００，０））、補間動作種類（時計回り円弧補間）等を設定する。また、直線加減速・定量駆動動作のために必要なパラメータとして、初速度、駆動速度、加減速度及び前述したようにして得られた総パルス数を設定する。
【００５２】
上位ＣＰＵ１１０は、必要なパラメータ等の設定が終わると、モータコントロールＬＳＩ１２０に時計回りの円弧補間動作及び定量駆動動作を行わせるため、コマンドレジスタに対して、該当するコマンドを書き込む。当該コマンドの書き込みに応じてモータコントロールＬＳＩ１２０の動作が開始されると、上位ＣＰＵ１１０は、続けて、第二の円弧３０２についての円弧補間動作のために必要なパラメータとして、開始位置座標（点Ｏ２を原点とした場合の点Ｂの座標（−３０００，０））及び終了位置座標（点Ｏ２を原点とした場合の点Ｃの座標（３０００，０））、補間動作種類（反時計回り円弧補間）等を設定し、モータコントロールＬＳＩ１２０に反時計回りの円弧補間動作を行わせるため、コマンドレジスタに対して、該当するコマンドを書き込む。当該コマンドは、最初のコマンドについての処理が終了した後に、続けて処理される（連続補間処理）。
【００５３】
モータコントロールＬＳＩ１２０では、コマンドレジスタにコマンドが書き込まれると、主制御部２２０がコマンドを解釈して、各コマンドに応じた動作をするため、パルス発生部２３０や補間制御部２４０などに対して動作開始を指示する。
【００５４】
パルス発生部２３０は、動作開始が指示されると、設定されたパラメータに基づいて、所定の速度指令パルス列を発生させる。すなわち、パルス発生部２３０は、まず、初速度として指定された速度（パルス周波数）の速度指令パルス列２３１を発生させ、指定された加減速度で速度指令パルス列２３１のパルス周波数を増加させていき、指定された駆動速度に達した後は、そのまま指定された駆動速度のパルス列を発生し続ける。また、パルス発生部２３０は、加速時に要したパルス数をカウントし、指定された駆動速度に達した時点で、当該カウント値と設定された総パルス数とに基づいて減速開始位置を算出する。そして、指定された駆動速度のパルス列を発生し続けている間に、減速開始位置に達したことを検出すると、指定された加減速度で速度指令パルス列２３１のパルス周波数を減少させていく。このようにして、自動減速停止が行われる。
【００５５】
補間制御部２４０は、パルス発生部２３０から入力される速度指令パルス２３１と、上位ＣＰＵ１１０によって各種レジスタ群２１０に設定されたパラメータに基づいて、Ｘ軸用及びＹ軸用の駆動パルス２４１ａ，２４１ｂを生成する。
【００５６】
パルス出力制御部２６０は、現在の動作モードが通常動作モードであるので、補間制御部２４０から入力されるＸ軸用及びＹ軸用駆動パルス２４１ａ，２４１ｂをそのままＬＳＩ外部に出力する。
【００５７】
終点検出部２７０は、補間終了位置（図３の点Ｃ）に達したことを検出すると、終点検出信号２７１を出力する。なお、前述したように、図３の点Ｂに達した時点では、終点検出信号２７１を出力することはない。
【００５８】
総パルス数カウント部２５０は、通常動作モード時においてもトレースモード時と同様に速度指令パルス２３１のカウントを行い、終点検出部２７０から終点検出信号２７１が出力されると、速度指令パルス２３１のカウントを終了する。但し、その時点でのカウント値は特に必要ないので、当該カウント値の総パルス数カウント値レジスタへの格納は行わない。
【００５９】
以上のようにして、移動対象物を、図３（ａ）に示すような経路に沿って、同図（ｂ）に示すような加減速制御のもと、移動させることができる。
【００６０】
なお、上述した実施形態では、パルス出力制御部２６０を設けて、トレースモード時には、Ｘ軸用及びＹ軸用駆動パルスを出力しないようにしていたが、総パルス数のカウントを行う際に、機械系を実際に動作させても問題がないような応用例の場合は、パルス出力制御部２６０を省略することも可能である。
【００６１】
また、上述した実施形態では、モータコントロールＬＳＩ１２０の動作モードをトレースモードにするのに、モードレジスタに対して所定のビットパターンを書き込むことで行っていたが、通常動作のために必要なコマンドに対応させてトレースモード専用のコマンドを用意するようにしてもよい。この場合、モータコントロールＬＳＩ１２０は、トレースモード専用のコマンドを実行している間は、上述したトレースモード時の動作と同様の動作を行い、通常動作用のコマンドを実行している間は、上述した通常動作モード時の動作と同様の動作を行うことになる。
【００６２】
また、上述した実施形態では、トレースモードでの動作を行った後に、上位ＣＰＵ１１０が、総パルス数カウント値レジスタから、移動対象物を所望の移動経路に沿って移動させるのに必要な総パルス数を読み出し、上位ＣＰＵ１１０が、改めて、当該総パルス数をモータコントロールＬＳＩ１２０の所定のレジスタに設定するようにしていたが、上位ＣＰＵ１１０から所定の補間動作が指示された場合に、パルス発生部２３０が総パルス数カウント値レジスタの値を自動的に読み出して、定量駆動動作や自動減速停止動作等を行うようにしてもよい。
【００６３】
また、この場合、総パルス数カウント部２５０がカウントしたカウント値を格納する総パルス数カウント値レジスタを複数設けるようにしてもよい。総パルス数カウント値レジスタを複数設けることにより、例えば、複数種類の経路を切り替えながら利用する場合などに、パルス発生部２３０は、各経路に対応する総パルス数カウント値レジスタを自動的に読み出して、定量駆動動作等を行うことが可能になる。
【００６４】
≪第二実施形態≫
図４は、本発明による別のモータ制御システム４００の構成を示すブロック図である。モータ制御システム４００も、モータ制御システム１００と同様に、ＸＹ平面上における移動対象物（不図示）の位置制御を行うものである。
【００６５】
同図に示すように、モータ制御システム４００は、上位ＣＰＵ４１０と、パルスジェネレータ４２０と、補間制御用ＬＳＩ４２５と、Ｘ軸用及びＹ軸用モータドライバ４３０ａ，４３０ｂと、Ｘ軸用及びＹ軸用モータ４４０ａ，４４０ｂとを備える。
【００６６】
上位ＣＰＵ４１０は、ＣＰＵバス４１１を介してパルスジェネレータ４２０及び補間制御用ＬＳＩ４２５と接続され、パルスジェネレータ４２０及び補間制御用ＬＳＩ４２５の動作を制御する上位コントローラである。具体的には、上位ＣＰＵ１１０は、パルスジェネレータ４２０に対して、各種パラメータを設定し、所定の速度指令パルス列４２１の生成を指示する。また、上位ＣＰＵ１１０は、補間制御用ＬＳＩ４２５に対して、各種パラメータを設定し、所望の動作（直線補間や円弧補間等）を指示する。
【００６７】
パルスジェネレータ４２０は、上位ＣＰＵ４１０からの指示に基づいて、所定の速度指令パルス列４２１を生成する。
【００６８】
補間制御用ＬＳＩ４２５は、本発明が適用されるモータ制御装置であって、上位ＣＰＵ４１０からの指示に従って、速度指令パルス４２１からＸ軸用及びＹ軸用駆動パルス４２６ａ，４２６ｂを発生させる。補間制御用ＬＳＩ４２５の内部構成については後述する。
【００６９】
モータドライバ４３０ａは、補間制御用ＬＳＩ４２５から出力される駆動パルス４２６ａに基づいて、モータ４４０ａを駆動する。同様に、モータドライバ４３０ｂは、補間制御用ＬＳＩ４２５から出力される駆動パルス４２６ｂに基づいて、モータ４４０ｂを駆動する。
【００７０】
モータ４４０ａは、モータドライバ４３０ａによって駆動されるＸ軸用のパルスモータであり、モータドライバ４３０ａに入力されるパルス数に応じた回転を行う。同様に、モータ４４０ｂは、モータドライバ４３０ｂによって駆動されるＹ軸用のパルスモータであり、モータドライバ４３０ｂに入力されるパルス数に応じた回転を行う。
【００７１】
次に、補間制御用ＬＳＩ４２５の内部構成について説明する。
【００７２】
図５は、補間制御用ＬＳＩ４２５の内部構成を示すブロック図である。
【００７３】
同図に示すように、補間制御用ＬＳＩ４２５は、ＣＰＵインタフェース部５００と、各種レジスタ群５１０と、主制御部５２０と、補間制御部５４０と、総パルス数カウント部５５０と、パルス出力制御部５６０と、終点検出部５７０とを備える。なお、各部は外部から入力される基準クロックに同期して動作する。
【００７４】
ＣＰＵインタフェース部５００は、外部とのデータのやり取りを可能にするもので、具体的には、上位ＣＰＵ４１０が各種レジスタ群５１０に対して読み書きをすることを可能にする。
【００７５】
各種レジスタ群５１０は、補間制御用ＬＳＩ４２５の動作を制御するためのレジスタ群であって、上位ＣＰＵ４１０がコマンドを書き込むためのコマンドレジスタや、動作モードを設定するためのモードレジスタ等、各種パラメータを設定するための書き込み用レジスタや、各種ステータスを読み出すための読み出し用レジスタなど、複数のレジスタから構成される。
【００７６】
主制御部５２０は、補間制御用ＬＳＩ４２５の各構成要素の制御を行うもので、具体的には、上位ＣＰＵ４１０によって書き込まれるコマンドを解釈し、指定されたコマンドに応じた動作を補間制御部５４０などに行わせる。
【００７７】
補間制御部５４０は、上位ＣＰＵ４１０によって設定された各種パラメータ（補間開始位置座標、補間終了位置座標等）に従って、パルスジェネレータ４２０から入力される速度指令パルス４２１に対して所定の補間処理を行い、Ｘ軸用及びＹ軸用の駆動パルス５４１ａ，５４１ｂを生成する。なお、補間制御部５４０は、必要に応じて、合成速度一定制御も行う。
【００７８】
終点検出部５７０は、補間制御部５４０から出力されるＸ軸用及びＹ軸用駆動パルス５４１ａ，５４１ｂの数をカウントし、当該カウント値（現在位置を表す）と、上位ＣＰＵ４１０によって設定された補間終了位置座標値とを比較して、補間終了位置に達したか否かを判定する。終点検出部５７０は、補間終了位置に達したことを検出すると、終点検出信号５７１を出力する。なお、連続補間処理の場合は、最初の補間コマンドについて設定された補間終了位置に達した場合であっても、終点検出信号５７１を出力することなく、次の補間コマンドについて設定されたパラメータに基づいて、次の補間コマンドについての補間終了位置の検出を開始し、連続補間処理が終了した時点で、終点検出信号５７１を出力する。
【００７９】
総パルス数カウント部５５０は、パルスジェネレータ４２０から入力される速度指令パルス４２１のカウント（計数）を行う。総パルス数カウント部５５０は、補間動作の開始が指示されると、速度指令パルス４２１のカウントを開始し、終点検出部５７０から終点検出信号５７１が入力されまで、速度指令パルス４２１のカウントを行う。総パルス数カウント部５５０は、終点検出信号５７１が入力されると、その時点でのカウント値を、各種レジスタ群５１０のうちの所定のレジスタ（以下、総パルス数カウント値レジスタという）に設定する。総パルス数カウント部５５０は、カウント値の総パルス数カウント値レジスタへの格納が済むと、カウント値をゼロにリセットする。なお、カウント値のリセットは、他の適当なタイミング、例えば、主制御部５２０によって動作開始が指示された時点で行うようにしてもよい。
【００８０】
パルス出力制御部５６０は、補間制御部５４０によって生成された駆動パルス５４１ａ，５４１ｂを、補間制御用ＬＳＩ４２５外部に出力するか否かを制御する。すなわち、通常動作モードの時は、補間制御部５４０によって生成された駆動パルス５４１ａ，５４１ｂを、そのまま駆動パルス４２６ａ，４２６ｂとしてＬＳＩ外部に出力する。一方、トレースモードの時は、補間制御部５４０によって生成された駆動パルス５４１ａ，５４１ｂがＬＳＩ外部に出力されないようにする。
【００８１】
次に、モータ制御システム４００の動作について説明する。ここでは、モータ制御システム１００の場合と同様に、移動対象物を、図３（ａ）に示すような経路に沿って、同図（ｂ）に示すような加減速制御のもと、移動させる場合について説明する。
【００８２】
まず、トレースモードにおいて、総パルス数をカウントする動作について説明する。
【００８３】
トレースモードにおいては、補間制御用ＬＳＩ４２５は、モータコントロールＬＳＩ１２０と同様に、内部的には、通常動作モード時と同様の動作を行うが、Ｘ軸用及びＹ軸用駆動パルスは外部に出力されない。
【００８４】
上位ＣＰＵ４１０は、まず、補間制御用ＬＳＩ４２５の動作モードを、トレースモードにするため、ＣＰＵインタフェース部５００を介して、各種レジスタ群５１０のうちのモードレジスタに対して所定のビットパターンを書き込む。
【００８５】
次に、上位ＣＰＵ４１０は、所望の動作に必要なパラメータを設定するため、ＣＰＵインタフェース部５００を介して、各種レジスタ群５１０に所定のデータを書き込む。具体的には、最初の円弧３０１についての円弧補間動作のために必要なパラメータとして、開始位置座標（点Ｏ１を原点（０，０）とした場合の点Ａの座標（−２０００，０））及び終了位置座標（点Ｏ１を原点（０，０）とした場合の点Ｂの座標（２０００，０））を設定する。また、上位ＣＰＵ４１０は、パルスジェネレータ４２０に一定速・連続駆動動作を行わせるため、パルスジェネレータ４２０内の所定のレジスタにアクセスして、駆動速度を設定する。
【００８６】
上位ＣＰＵ４１０は、必要なパラメータ等の設定が終わると、補間制御用ＬＳＩ４２５に時計回りの円弧補間動作を行わせるため、各種レジスタ群５１０のうちのコマンドレジスタに対して、該当するコマンドを書き込む。続けて、上位ＣＰＵ４１０は、パルスジェネレータ４２０に対して、一定速・連続駆動動作の開始を指示する。
【００８７】
パルスジェネレータ４２０は、動作開始が指示されると、設定されたパラメータに基づいて、所定の速度指令パルス列４２１を発生させる。すなわち、パルスジェネレータ４２０は、図３（ｃ）に示すように、駆動速度として指定された速度（パルス周波数）の速度指令パルス４２１の発生を開始し、上位ＣＰＵ４１０によって動作停止が指示されるまで、速度指令パルス４２１を発生し続ける。
【００８８】
第一の円弧３０１についての円弧補間コマンドの書き込み及び速度指令パルス４２１の入力に応じて補間制御用ＬＳＩ４２５の動作が開始されると、上位ＣＰＵ４１０は、続けて、補間制御用ＬＳＩ４２５に対して、第二の円弧３０２についての円弧補間動作のために必要なパラメータとして、開始位置座標（点Ｏ２を原点（０，０）とした場合の点Ｂの座標（−３０００，０））及び終了位置座標（点Ｏ２を原点（０，０）とした場合の点Ｃの座標（３０００，０））を設定する。上位ＣＰＵ４１０は、必要なパラメータ等の設定が終わると、補間制御用ＬＳＩ４２５に反時計回りの円弧補間動作を行わせるため、コマンドレジスタに対して、該当するコマンドを書き込む。当該コマンドは、最初のコマンドについての処理が終了した後に、続けて処理される（連続補間処理）。
【００８９】
補間制御用ＬＳＩ４２５では、コマンドレジスタにコマンドが書き込まれると、主制御部５２０がコマンドを解釈して、指示されたコマンドに応じた動作をするため、補間制御部２４０等に対して動作開始を指示する。
【００９０】
補間制御部５４０は、パルスジェネレータ４２０から入力される速度指令パルス４２１と、上位ＣＰＵ４１０によって各種レジスタ群５１０に設定されたパラメータに基づいて、Ｘ軸用及びＹ軸用の駆動パルス５４１ａ，５４１ｂを生成する。一方、総パルス数カウント部５５０は、パルスジェネレータ４２０から入力される速度指令パルス４２１のパルス数をカウントする。
【００９１】
パルス出力制御部５６０は、現在の動作モードがトレースモードであるので、補間制御部５４０から入力されるＸ軸用及びＹ軸用駆動パルス５４１ａ，５４１ｂをマスクして、ＬＳＩ外部に出力されないようにする。
【００９２】
終点検出部５７０は、補間終了位置（図３の点Ｃ）に達したことを検出すると、終点検出信号５７１を出力する。なお、最初の円弧補間コマンドについての補間終了位置（図３の点Ｂ）に達した時点では、次の補間コマンドが指示されているので、終点検出信号５７１を出力することはない。
【００９３】
総パルス数カウント部５５０は、終点検出部５７０から終点検出信号５７１が入力されると、速度指令パルス４２１のカウントを終了し、その時点でのカウント値を、総パルス数カウント値レジスタにセットする。
【００９４】
上位ＣＰＵ４１０は、補間動作が終了したことを割り込み等によって知ると、総パルス数カウント値レジスタに対してアクセスして、総パルス数カウント部５５０がカウントしたカウント値、すなわち、移動対象物を所望の移動経路（図３（ａ））に沿って移動させるのに必要な総パルス数を読み出す。
【００９５】
以上のようにして、上位ＣＰＵ４１０は、移動対象物を所望の移動経路に沿って移動させるのに必要な総パルス数を得ることができる。
【００９６】
次に、実際に移動対象物を所望の移動経路に沿って移動させるために、以上のようにして得られた総パルス数を使って、所定パルス数の駆動（定量駆動）を行う動作について説明する。
【００９７】
上位ＣＰＵ４１０は、まず、補間制御用ＬＳＩ４２５の動作モードを、トレースモードから通常動作モードに変えるため、ＣＰＵインタフェース部５００を介して、各種レジスタ群５１０のうちのモードレジスタに対して所定のビットパターンを書き込む。
【００９８】
次に、上位ＣＰＵ４１０は、所望の動作に必要なパラメータを設定するため、ＣＰＵインタフェース部５００を介して、各種レジスタ群５１０に所定のデータを書き込む。具体的には、最初の円弧３０１についての円弧補間動作のために必要なパラメータとして、開始位置座標（点Ａの座標）及び終了位置座標（点Ｂの座標）を設定する。また、上位ＣＰＵ４１０は、パルスジェネレータ４２０に直線加減速・定量駆動動作を行わせるため、パルスジェネレータ４２０内の所定のレジスタにアクセスして、初速度、駆動速度、加減速度及び前述したようにして得られた総パルス数を設定する。
【００９９】
上位ＣＰＵ４１０は、必要なパラメータ等の設定が終わると、補間制御用ＬＳＩ４２５に時計回りの円弧補間動作を行わせるため、コマンドレジスタに対して、該当するコマンドを書き込む。次に、上位ＣＰＵ４１０は、パルスジェネレータ４２０に対して、定量駆動動作の開始を指示する。
【０１００】
パルスジェネレータ４２０は、動作開始が指示されると、設定されたパラメータに基づいて、所定の速度指令パルス列を発生させる。すなわち、パルスジェネレータ４２０は、まず、初速度として指定された速度（パルス周波数）の速度指令パルス列４２１を発生させ、指定された加減速度で速度指令パルス列４２１のパルス周波数を増加させていき、指定された駆動速度に達した後は、そのまま指定された駆動速度のパルス列を発生し続ける。また、パルスジェネレータ４２０は、加速時に要したパルス数をカウントし、指定された駆動速度に達した時点で、当該カウント値と設定された総パルス数とに基づいて減速開始位置を算出する。そして、指定された駆動速度のパルス列を発生し続けている間に、減速開始位置に達したことを検出すると、指定された加減速度でパルス列のパルス周波数を減少させていく。このようにして、自動減速停止が行われる。
【０１０１】
第一の円弧３０１についての円弧補間コマンドの書き込み及び速度指令パルス４２１の入力に応じて補間制御用ＬＳＩ４２５の動作が開始されると、上位ＣＰＵ４１０は、続けて、補間制御用ＬＳＩ４２５に対して、第二の円弧３０２についての円弧補間動作のために必要なパラメータとして、開始位置座標（点Ｂの座標）及び終了位置座標（点Ｃの座標）を設定する。上位ＣＰＵ４１０は、必要なパラメータ等の設定が終わると、補間制御用ＬＳＩ４２５に反時計回りの円弧補間動作を行わせるため、コマンドレジスタに対して、該当するコマンドを書き込む。当該コマンドは、最初のコマンドについての処理が終了した後に、続けて処理される（連続補間処理）。
【０１０２】
補間制御用ＬＳＩ４２５では、コマンドレジスタにコマンドが書き込まれると、主制御部５２０がコマンドを解釈して、各コマンドに応じた動作をするため、補間制御部５４０に対して動作開始を指示する。
【０１０３】
補間制御部５４０は、速度指令パルス４２１と、上位ＣＰＵ４１０によって各種レジスタ群５１０に設定されたパラメータに基づいて、Ｘ軸用及びＹ軸用の駆動パルス５４１ａ，５４１ｂを生成する。
【０１０４】
パルス出力制御部５６０は、現在の動作モードが通常動作モードであるので、補間制御部５４０から入力されるＸ軸用及びＹ軸用駆動パルス５４１ａ，５４１ｂをそのままＬＳＩ外部に出力する。
【０１０５】
終点検出部５７０は、補間終了位置（図３の点Ｃ）に達したことを検出すると、終点検出信号５７１を出力する。なお、前述したように、最初の円弧補間コマンドについての補間終了位置（図３の点Ｂ）に達した時点では、終点検出信号５７１を出力することはない。
【０１０６】
総パルス数カウント部５５０は、通常動作モード時においてもトレースモード時と同様に速度指令パルス４２１のカウントを行い、終点検出部５７０から終点検出信号５７１が出力されると、速度指令パルス５３１のカウントを終了する。但し、その時点でのカウント値は特に必要ないので、当該カウント値の総パルス数カウント値レジスタへの格納は行わない。
【０１０７】
以上のようにして、移動対象物を、図３（ａ）に示すような経路に沿って、同図（ｂ）に示すような加減速制御のもと、移動させることができる。
【０１０８】
なお、上述した実施形態では、パルス出力制御部５６０を設けて、トレースモード時には、Ｘ軸用及びＹ軸用駆動パルスを出力しないようにしていたが、総パルス数のカウントを行う際に、機械系を実際の動作させても問題がないような応用例の場合は、パルス出力制御部５６０を省略することも可能である。
【０１０９】
また、上述した実施形態では、補間制御用ＬＳＩ４２５の動作モードをトレースモードにするのに、モードレジスタに対して所定のビットパターンを書き込むことで行っていたが、通常動作のために必要なコマンドに対応させてトレースモード専用のコマンドを用意するようにしてもよい。この場合、補間制御用ＬＳＩ４２５は、トレースモード専用のコマンドを実行している間は、上述したトレースモード時の動作と同様の動作を行い、通常動作用のコマンドを実行している間は、上述した通常動作モード時の動作と同様の動作を行うことになる。
【０１１０】
なお、上述した２つの実施形態では、本発明に係るモータ制御装置をＬＳＩとして実装した場合について説明したが、当然のことながらこれに限られず、本発明に係るモータ制御装置には、上記したようなＬＳＩ等を備えたモータ制御用ボードやモータ制御用ユニット等も含まれる。
【図面の簡単な説明】
【０１１１】
【図１】本発明によるモータ制御システム１００の構成を示すブロック図である。
【図２】モータコントロールＬＳＩ１２０の内部構成を示すブロック図である。
【図３】モータ制御システムの動作を説明するための図である。
【図４】本発明による別のモータ制御システム４００の構成を示すブロック図である。
【図５】補間制御用ＬＳＩ４２５の内部構成を示すブロック図である。
【符号の説明】
【０１１２】
１００      モータ制御システム
１１０      上位ＣＰＵ
１１１      ＣＰＵバス
１２０      補間機能付きモータコントロールＬＳＩ
１２１ａ    Ｘ軸用駆動パルス
１２１ｂ    Ｙ軸用駆動パルス
１３０ａ    Ｘ軸用モータドライバ
１３０ｂ    Ｙ軸用モータドライバ
１４０ａ    Ｘ軸用モータ
１４０ｂ    Ｙ軸用モータ
２００      ＣＰＵインタフェース部
２１０      各種レジスタ群
２２０      主制御部
２３０      パルス発生部
２３１      速度指令パルス
２４０      補間制御部
２４１ａ    Ｘ軸用駆動パルス
２４１ｂ    Ｙ軸用駆動パルス
２５０      総パルス数カウント部
２６０      パルス出力制御部
２７０      終点検出部
２７１      終点検出信号
３０１，３０２      円弧
４００      モータ制御システム
４１０      上位ＣＰＵ
４１１      ＣＰＵバス
４２０      パルスジェネレータ
４２１      速度指令パルス
４２５      補間制御用ＬＳＩ
４２６ａ    Ｘ軸用駆動パルス
４２６ｂ    Ｙ軸用駆動パルス
４３０ａ    Ｘ軸用モータドライバ
４３０ｂ    Ｙ軸用モータドライバ
４４０ａ    Ｘ軸用モータ
４４０ｂ    Ｙ軸用モータ
５００      ＣＰＵインタフェース部
５１０      各種レジスタ群
５２０      主制御部
５４０      補間制御部
５４１ａ    Ｘ軸用駆動パルス
５４１ｂ    Ｙ軸用駆動パルス
５５０      総パルス数カウント部
５６０      パルス出力制御部
５７０      終点検出部
５７１      終点検出信号
【図１】
2005149182.tif 000003
【図２】
2005149182.tif 000004
【図３】
2005149182.tif 000005
【図４】
2005149182.tif 000006
【図５】
2005149182.tif 000007
【手続補正書】
【提出日】平成16年11月30日(2004.11.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のパルス列入力型モータを駆動するため、各パルス列入力型モータ用の駆動パルスを出力するモータ制御装置であって、
速度指令パルスに基づいて補間処理を行い、前記駆動パルスを生成する補間制御部と、
補間開始位置から補間終了位置まで、前記速度指令パルスのパルス数をカウントする総パルス数カウント部と、
前記駆動パルスをモータ制御装置の外部へ出力するか否かを制御するパルス出力制御部と
を備えると共に、
動作モードとして、総パルス数を求めるためのトレースモードと実動作のための通常動作モードとを有し、
前記パルス出力制御部は、前記トレースモード時には、前記駆動パルスをモータ制御装置の外部へ出力せず、前記通常動作モード時には、前記駆動パルスをモータ制御装置の外部へ出力する
ことを特徴とするモータ制御装置。
【請求項２】
前記補間終了位置に達したことを検出する終点検出部を更に備え、
前記総パルス数カウント部は、前記終点検出部が前記補間終了位置を検出するまで、前記速度指令パルスのパルス数をカウントする
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記終点検出部は、複数の補間動作が連続して指示された場合、一番最後の補間動作についての補間終了位置に達したことを検出し、
前記総パルス数カウント部は、前記終点検出部が前記一番最後の補間動作についての補間終了位置を検出するまで、前記速度指令パルスのパルス数をカウントする
ことを特徴とする請求項２に記載のモータ制御装置。
【請求項４】
前記総パルス数カウント部のカウント値をモータ制御装置の外部から読み出すためのインタフェース部を更に備えた
ことを特徴とする請求項１〜３のいずれか一項に記載のモータ制御装置。
【請求項５】
前記補間終了位置に到達したときの前記総パルス数カウント部のカウント値を格納する記憶部を更に備えた
ことを特徴とする請求項１〜４のいずれか一項に記載のモータ制御装置。
【請求項６】
前記記憶部を複数備えた
ことを特徴とする請求項５に記載のモータ制御装置。
【請求項７】
前記速度指令パルスを生成するパルス発生部を更に備え、
当該パルス発生部は、前記記憶部に格納されたカウント値に基づいて、減速開始位置を自動検出する
ことを特徴とする請求項５又は請求項６に記載のモータ制御装置。
【請求項８】
請求項１〜７のいずれか一項に記載のモータ制御装置と、
複数のパルス列入力型モータと、
前記モータ制御装置が出力する駆動パルスに基づいて、前記複数のパルス列入力型モータを駆動する複数のモータドライバと
を備えたことを特徴とするモータ制御システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
総パルス数カウント部５５０は、パルスジェネレータ４２０から入力される速度指令パルス４２１のカウント（計数）を行う。総パルス数カウント部５５０は、補間動作の開始が指示されると、速度指令パルス４２１のカウントを開始し、終点検出部５７０から終点検出信号５７１が入力されるまで、速度指令パルス４２１のカウントを行う。総パルス数カウント部５５０は、終点検出信号５７１が入力されると、その時点でのカウント値を、各種レジスタ群５１０のうちの所定のレジスタ（以下、総パルス数カウント値レジスタという）に設定する。総パルス数カウント部５５０は、カウント値の総パルス数カウント値レジスタへの格納が済むと、カウント値をゼロにリセットする。なお、カウント値のリセットは、他の適当なタイミング、例えば、主制御部５２０によって動作開始が指示された時点で行うようにしてもよい。