(57)【特許請求の範囲】
【請求項１】
モータの駆動を制御するモータ駆動制御装置であって、
位置検出手段によって検出された前記モータの位置情報に基づいて、前記モータの現在速度、前記モータの減速度、および現在位置と停止位置との差分値を算出するモータ状態算出部と、
前記モータの最大減速度にマージン設定用比率を掛け合わせて位置制御用減速度を算出する位置制御用減速度算出部と、
前記最大減速度と、前記最大減速度が算出されるタイミングにおけるモータ速度を示す第一制御速度と、前記差分値と、前記マージン設定用比率と、前記位置制御用減速度で駆動制御する時間の最小値として設定される位置制御時間とに基づいて、前記最大減速度での移動距離と前記位置制御用減速度での移動距離との和が最小となる速度を、前記モータの駆動制御を速度制御から位置制御に切り換える第二制御速度として算出する切換速度算出部と、
前記モータの速度が前記第二制御速度よりも大きいうちは最大トルクで減速制御するとともに、前記モータの速度が前記第二制御速度よりも小さくなった後には前記位置制御用減速度で減速制御を実行する減速制御部と、
を有する、モータ駆動制御装置。
【請求項２】
前記切換速度算出部は、下記式（２）を満たす前記モータが停止するまでに必要な回転数ｎの最小値を用いて、下記式（１）によって前記第二制御速度ω２を算出する、請求項１に記載のモータ駆動制御装置；
ω２＝√［｛Ｘ／（１−Ｘ）｝・｛２ａ１（Ｌ＋２πｎ）−ω１２｝］  …式（１）
ｎ≧〔［ω１２＋｛（１−Ｘ）／Ｘ｝（ａ１ＸＴ）２］／２ａ１−Ｌ〕／２π  …式（２）
ただし、各記号は以下を表す。
ω１：第一制御速度（ベース回転速度）
ω２：第二制御速度（切換速度）
ａ１：最大減速度
ｎ：モータが停止するまでに必要な回転数
Ｌ：現在位置と停止位置との差分値
Ｘ：マージン設定用比率
Ｔ：位置制御時間
【請求項３】
前記減速制御部が、前記第二制御速度よりも小さい速度で前記モータを減速制御している間、最新の前記位置情報に基づいて前記位置制御用減速度を調整する位置制御用減速度調整部を有する、請求項１または請求項２に記載のモータ駆動制御装置。
【請求項４】
請求項１から請求項３のいずれかに記載のモータ駆動制御装置を備えてなる工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械等に用いられるモータの駆動を制御するためのモータ駆動制御装置およびこれを備えた工作機械に関するものである。
【背景技術】
【０００２】
従来、工作機械等に用いられるモータを回転状態から所定の停止位置（角度）に位置決めする際には、速度制御によって最大トルクで減速させた後、制御モードを位置制御に切り換えて停止させるシーケンスが採用されている。速度制御では、最大トルクを発生させて迅速に減速できる一方、当該最大トルクでは振動、オーバーシュート、計測誤差等が発生し、正確な位置決めができないためである。
【０００３】
上記シーケンスにおいては、図１０に示すように、位置制御への切り換えタイミングが遅すぎると、最大トルクで減速させる時間が長くなり、速度が低下し過ぎるため、位置決めにかかる時間が長くなってしまう。一方、位置制御への切り換えタイミングが早すぎると、最大トルクで減速させる時間が短くなり、回転量が無駄に多くなるため、減速にかかる時間が長くなってしまう。このため、モータの総回転数が最も少なくなるように位置決め動作を最適化するには、最適なタイミングで位置制御へ切り換えることが重要である。
【０００４】
ただし、工作機械等のモータおいては、回転軸に把持されるワーク（被切削物）の重さや形状等によって、発生するイナーシャ（回転慣性モーメント）が異なる。このため、図１１に示すように、当該イナーシャが小さいときは、最大トルクで減速する際の減速度が大きく、図１２に示すように、当該イナーシャが大きいときは、最大トルクで減速する際の減速度が小さい。したがって、上述した最適な切り換えタイミングは、イナーシャによっても異なるし、回転軸の初期角度や位置決め角度によっても変わってしまう。
【０００５】
なお、特開２０１４−７７９０号公報の第二実施形態には、上述した切り換えタイミングをモータに固有のベース回転速度で固定し、当該ベース回転速度までは最大トルクで減速するとともに、当該ベース回転速度よりも低い場合には、減速に最低限必要な減速所要距離に基づいて、停止位置まで一定の減速度で減速させるモータ駆動制御装置が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−７７９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された発明においては、最大トルクでの高速回転中に位置検出値や最大加速度を計測する必要があるため、計測誤差が発生しやすく、オーバーシュート対策が取りにくいという問題がある。また、当該オーバーシュート等によって、所定の停止位置で停止できなかった場合には、図１３に示すように、一旦停止してから再度加減速して、もう１回転させる必要があるため、結局、停止するまでの時間が無駄に長引いてしまうという問題もある。
【０００８】
本発明は、このような問題点を解決するためになされたものであって、速度制御から位置制御への切り換えタイミングを最適化することにより、できるだけ少ない回転数で迅速かつ確実にモータを所定の停止位置に停止させることができるモータ駆動制御装置およびこれを備えた工作機械を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明に係るモータ駆動制御装置は、モータの駆動を制御するモータ駆動制御装置であって、位置検出手段によって検出された前記モータの位置情報に基づいて、前記モータの現在速度、前記モータの最大減速度、および現在位置と停止位置との差分値を算出するモータ状態算出部と、前記モータの最大減速度にマージン設定用比率を掛け合わせて位置制御用減速度を算出する位置制御用減速度算出部と、前記最大減速度と、前記最大減速度が算出されるタイミングにおけるモータ速度を示す第一制御速度と、前記差分値と、前記マージン設定用比率と、前記位置制御用減速度で駆動制御する時間の最小値として設定される位置制御時間とに基づいて、前記最大減速度での移動距離と前記位置制御用減速度での移動距離との和が最小となる速度を、前記モータの駆動制御を速度制御から位置制御に切り換える第二制御速度として算出する切換速度算出部と、前記モータの速度が前記第二制御速度よりも大きいうちは最大トルクで減速制御するとともに、前記モータの速度が前記第二制御速度よりも小さくなった後には前記位置制御用減速度で減速制御を実行する減速制御部と、を有する。
【００１０】
また、本発明の一態様として、前記切換速度算出部は、下記式（２）を満たす前記モータが停止するまでに必要な回転数ｎの最小値を用いて、下記式（１）によって前記第二制御速度ω２を算出してもよい。
ω２＝√［｛Ｘ／（１−Ｘ）｝・｛２ａ１（Ｌ＋２πｎ）−ω１２｝］  …式（１）
ｎ≧〔［ω１２＋｛（１−Ｘ）／Ｘ｝（ａ１ＸＴ）２］／２ａ１−Ｌ〕／２π  …式（２）
ただし、各記号は以下を表す。
ω１：第一制御速度（ベース回転速度）
ω２：第二制御速度（切換速度）
ａ１：最大減速度
ｎ：モータが停止するまでに必要な回転数
Ｌ：現在位置と停止位置との差分値
Ｘ：マージン設定用比率
Ｔ：位置制御時間
【００１１】
さらに、本発明の一態様として、前記減速制御部が、前記第二制御速度よりも小さい速度で前記モータを減速制御している間、最新の前記位置情報に基づいて前記位置制御用減速度を調整する位置制御用減速度調整部を有していてもよい。
【００１２】
また、本発明に係る工作機械は、請求項１から請求項３のいずれかに記載のモータ駆動制御装置を備えてなる。
【発明の効果】
【００１３】
本発明によれば、速度制御から位置制御への切り換えタイミングを最適化することにより、できるだけ少ない回転数で迅速かつ確実にモータを所定の停止位置に停止させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係るモータ駆動制御装置およびこれを備えた工作機械の一実施形態を示すブロック図である。
【図２】モータのトルク特性を示す図である。
【図３】本実施形態の駆動制御によるモータの動作を示す図である。
【図４】本実施形態の駆動制御によるモータの動作と、位置制御時間を設定しない場合の動作を示す図である。
【図５】本実施形態の駆動制御によるモータの動作と、高速領域から減速度にマージンを持たせた場合の動作を示す図である。
【図６】本実施形態において、第二制御速度の算出方法を説明する図である。
【図７】本実施形態において、位置制御用減速度の調整方法を示す図である。
【図８】本実施形態のモータ駆動制御装置の動作を示すフローチャートである。
【図９】本発明に係るモータ駆動制御装置による動作と、特許文献１の動作とを比較した図である。
【図１０】モータの駆動制御において、速度制御から位置制御への切り換えタイミングと停止までにかかる時間との関係を示す図である。
【図１１】モータの駆動制御において、ワークのイナーシャが小さいときの切り換えタイミングを示す図である。
【図１２】モータの駆動制御において、ワークのイナーシャが大きいときの切り換えタイミングを示す図である。
【図１３】特許文献１の駆動制御において、停止位置で停止できなかった場合の動作を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明に係るモータ駆動制御装置およびこれを備えた工作機械の一実施形態について図面を用いて説明する。
【００１６】
本実施形態のモータ駆動制御装置１は、図１に示すように、上位コントローラ１０からの指示に基づいて、工作機械１１に用いられるモータ１１ａの駆動を制御し、所定の停止位置に位置決めを行うためのものである。以下、各構成について詳細に説明する。
【００１７】
上位コントローラ１０は、モータ駆動制御装置１にモータ１１ａの駆動制御に関する指示を出すものであり、プログラマブル・ロジック・コントローラ（ＰＬＣ）やパーソナルコンピュータ等によって構成されている。上位コントローラ１０は、モータ駆動制御装置１へ出力する設定条件として、停止位置と、位置決め条件と、停止判定速度と、第一制御速度と、マージン設定用比率と、位置制御時間とが設定可能に構成されている。
【００１８】
停止位置は、モータ１１ａの回転軸を停止させたい位置（角度）を設定するものである。位置決め条件は、停止位置に対する許容誤差範囲を設定するものであり、例えば「停止位置に対して±１度以内」のように設定される。停止判定速度は、モータ１１ａの位置決めが完了したか否かを判定するための速度を設定するものである。
【００１９】
第一制御速度は、モータ１１ａの減速度の最大値である最大減速度が算出されるタイミングにおけるモータ速度を示すものである。一般的に、モータ１１ａにおけるトルク特性は、図２に示すように、モータ１１ａに固有のベース回転速度（ベース回転数）までは一定のトルクを出力するのに対し、ベース回転速度以上では、弱め界磁制御によって出力（＝トルク×回転速度）が一定となるように制御されている。このため、本実施形態では、図３に示すように、モータ速度がベース回転速度まで減速された直後の減速度（傾き）を最大減速度と考え、第一制御速度としては、制御対象となるモータ１１ａのベース回転速度が設定されている。
【００２０】
マージン設定用比率は、モータ１１ａの最大減速度に掛け合わせて、位置制御時の減速度である位置制御用減速度を算出するためパラメータである。本実施形態において、マージン設定用比率は、図３に示すように、後述する第二制御速度以下での位置制御用減速度を最大減速度よりも緩やかにしてマージンを持たせ、モータ１１ａが必ず安定して停止しうるようになっており、例えば９０〜９５％程度の値が設定される。
【００２１】
位置制御時間は、位置制御用減速度で駆動制御する時間の最小値として設定されるパラメータである。上述したとおり、本実施形態では、位置制御用減速度にマージンが設定されるが、位置制御用減速度で駆動制御する時間が短すぎると、図４に示すように、最大トルクで減速時の計測誤差を吸収し切れない場合がある。この場合、モータ１１ａの停止後、さらに１回転させる必要があるため、停止するまでの時間が無駄に長引いてしまう。そこで、本実施形態では、最低でも位置制御時間の間は、位置制御を実行するようにマージンが設定されており、例えば１０〜１００ｍｓｅｃ程度の値が設定される。
【００２２】
工作機械１１は、旋盤、ボール盤、中ぐり盤、フライス盤、歯切り盤、研削盤等のように、金属、木材、石材、樹脂等のワークに対して、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ等の加工を施すための機械である。工作機械１１は、モータ駆動制御装置１から供給される駆動信号に基づいて駆動制御されるモータ１１ａと、このモータ１１ａの位置情報（回転角度位置）を検出するロータリエンコーダ等の位置検出手段１１ｂとを有している。なお、本実施形態では、工作機械１１の主軸モータを制御対象としているが、他のモータ１１ａを制御することも可能である。
【００２３】
モータ駆動制御装置１は、工作機械１１を制御する数値制御装置等のコンピュータによって構成されており、図１に示すように、各種のデータを記憶するとともに、演算処理手段が演算処理を行う際のワーキングエリアとして機能する記憶手段２と、記憶手段２にインストールされたモータ駆動制御プログラム１ａを実行することにより、各種の演算処理を実行し後述する各構成部として機能する演算処理手段３とを有している。以下、各構成手段について説明する。
【００２４】
記憶手段２は、ハードディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等で構成されており、図１に示すように、プログラム記憶部２１と、設定条件記憶部２２とを有している。
【００２５】
プログラム記憶部２１には、本実施形態のモータ駆動制御装置１を制御するためのモータ駆動制御プログラム１ａがインストールされている。そして、演算処理手段３が、当該モータ駆動制御プログラム１ａを実行することにより、コンピュータとしてのモータ駆動制御装置１を後述する各構成部としてとして機能させるようになっている。また、本実施形態において、モータ駆動制御プログラム１ａは、モータ１１ａの制御モードとして、一定速度に制御するための速度制御モードと、回転軸を所望の停止位置に位置決めするための位置制御モードとを備えている。
【００２６】
なお、モータ駆動制御プログラム１ａの利用形態は、上記構成に限られるものではない。例えば、ＣＤ−ＲＯＭやＵＳＢメモリ等のように、コンピュータで読み取り可能な非一時的な記録媒体にモータ駆動制御プログラム１ａを記憶させておき、当該記録媒体から直接読み出して実行してもよい。また、外部サーバ等からクラウドコンピューティング方式やＡＳＰ（Application Service Provider）方式等で利用してもよい。
【００２７】
設定条件記憶部２２は、上位コントローラ１０から出力された各種の設定条件を記憶するものである。本実施形態では、上述したとおり、停止位置と、位置決め条件と、停止判定速度と、第一制御速度と、マージン設定用比率と、位置制御時間とが、上位コントローラ１０で予め設定されており、これらの設定条件が設定条件記憶部２２に記憶されるようになっている。
【００２８】
つぎに、演算処理手段３は、ＣＰＵ（Central Processing Unit）等によって構成されており、記憶手段２にインストールされたモータ駆動制御プログラム１ａを実行することにより、図１に示すように、設定条件取得部３１と、位置情報取得部３２と、モータ状態算出部３３と、最大減速度確定部３４と、位置制御用減速度算出部３５と、切換速度算出部３６と、位置決め完了判定部３７と、位置制御用減速度調整部３８と、減速制御部３９として機能するようになっている。以下、各構成部についてより詳細に説明する。
【００２９】
設定条件取得部３１は、モータ１１ａの位置決めに必要な各種の設定条件を取得するものである。本実施形態において、設定条件取得部３１は、上位コントローラ１０から出力された停止位置、位置決め条件、停止判定速度、第一制御速度、マージン設定用比率および位置制御時間からなる設定条件を取得し、これらの設定条件を設定条件記憶部２２に保存するようになっている。
【００３０】
位置情報取得部３２は、モータ１１ａの位置情報（回転角度位置）を取得するものである。本実施形態において、位置情報取得部３２は、位置検出手段１１ｂによって検出された位置情報を取得し、モータ状態算出部３３へ出力するようになっている。
【００３１】
モータ状態算出部３３は、モータ１１ａの状態を示す各種の値を算出するものである。本実施形態において、モータ状態算出部３３は、位置検出手段１１ｂによって検出されたモータ１１ａの位置情報を位置情報取得部３２から取得し、当該位置情報に基づいてモータ１１ａの状態を算出する。具体的には、モータ状態算出部３３は、位置情報を１回微分した値をモータ１１ａの現在速度として算出し、位置情報を２回微分した値をモータ１１ａの減速度として算出する。また、モータ状態算出部３３は、位置情報によって特定される現在位置と、設定条件として記憶されている停止位置との差分値を算出するようになっている。
【００３２】
最大減速度確定部３４は、モータ１１ａの減速度の最大値である最大減速度を確定するものである。本実施形態において、最大減速度確定部３４は、モータ状態算出部３３により算出されたモータ１１ａの現在速度が、設定条件記憶部２２に記憶されている第一制御速度よりも遅くなったか否かを常時監視する。そして、当該現在速度が第一制御速度よりも遅くなった直後に、算出されていた減速度を最大減速度として確定するようになっている。
【００３３】
位置制御用減速度算出部３５は、位置制御時に使用する減速度である位置制御用減速度を算出するものである。本実施形態において、位置制御用減速度算出部３５は、最大減速度確定部３４によって確定されたモータ１１ａの最大減速度を取得するとともに、設定条件記憶部２２からマージン設定用比率を取得する。そして、位置制御用減速度算出部３５は、当該最大減速度にマージン設定用比率を掛け合わせて位置制御用減速度を算出するようになっている。
【００３４】
切換速度算出部３６は、モータ１１ａの駆動制御を速度制御から位置制御に切り換えるタイミングを規定する第二制御速度を算出するものである。図５に示すように、高速領域から減速度にマージンを持たせてしまうと、わずかなマージンでも停止までにかかる時間が増大し、無駄が発生してしまう。そこで、切換速度算出部３６は、できるだけ最大トルクで減速させる時間を確保しつつ、かつ、確実に停止位置で停止しうるような切り換えタイミングを特定するようになっている。
【００３５】
具体的には、切換速度算出部３６は、最大減速度確定部３４によって確定された最大減速度と、設定条件記憶部２２に記憶されている第一制御速度、マージン設定用比率および位置制御時間と、モータ状態算出部３３によって算出された差分値とに基づいて、最大減速度での移動距離と位置制御用減速度での移動距離との和が最小となる速度を第二制御速度として算出するようになっている。
【００３６】
ここで、第二制御速度の算出方法について具体的に説明する。図６に示すように、第一制御速度ω１から第二制御速度ω２までは、最大減速度ａ１で時間ｔ１をかけて減速し、第二制御速度ω２から停止するまでは、位置制御用減速度ａ２で時間ｔ２をかけて減速した場合、以下の式（ａ）〜（ｄ）が成り立つ。
Ｓ１＝（ω１＋ω２）ｔ１／２：ａ１で減速したときの移動距離  …式（ａ）
Ｓ２＝ω２ｔ２／２：ａ２で減速したときの移動距離  …式（ｂ）
ω１＝ａ１ｔ１＋ａ２ｔ２  …式（ｃ）
ω２＝ａ２ｔ２  …式（ｄ）
【００３７】
また、停止するまでの移動距離は、現在位置と停止位置との差分値Ｌおよびモータ１１ａの回転数ｎを用いてＬ＋２πｎと表されるから、上記式（ａ）〜（ｄ）より、以下の式（ｅ）が成り立つ。
Ｓ１＋Ｓ２＝ω１ｔ１／２＋ω２（ｔ１＋ｔ２）／２＝Ｌ＋２πｎ  …式（ｅ）
さらに、上述したマージン設定用比率Ｘおよび位置制御時間Ｔのマージンパラメータを用いて以下の関係式（ｆ），（ｇ）が成り立つ。  
ａ２＝ａ１Ｘ  …式（ｆ）
ｔ２≧Ｔ  …式（ｇ）
【００３８】
以上において、上記式（ｃ），（ｄ）より導出される、ｔ１＝（ω１−ω２）／ａ１およびｔ２＝ω２／ａ２を、上記式（ｅ）に代入すると、下記式（ｈ）が成り立つ。
ω２２（１／２ａ２−１／２ａ１）＋ω１２／２ａ１＝Ｌ＋２πｎ  …式（ｈ）
よって、上記式（ｈ）および上記式（ｆ）により、第二制御速度ω２については、下記式（１）が導出される。
ω２＝√［｛Ｘ／（１−Ｘ）｝・｛２ａ１（Ｌ＋２πｎ）−ω１２｝］  …式（１）
【００３９】
ここで、上記式（１）のルート（根号）の中が正の数であるためには、下記式（ｉ）を満たす必要がある。
ｎ≧（ω１２／２ａ１−Ｌ）／２π  …式（ｉ）
一方、上記式（ｄ），（ｆ），（ｇ）より、マージンに対する制限として、下記式（ｊ）が成り立つ。
ω２≧ａ２Ｔ＝ａ１ＸＴ  …式（ｊ）
よって、上記式（ｉ）および上記式（ｊ）により、モータ１１ａが停止するまでに必要な回転数ｎについては、下記式（２）が導出される。
ｎ≧〔［ω１２＋｛（１−Ｘ）／Ｘ｝（ａ１ＸＴ）２］／２ａ１−Ｌ〕／２π  …式（２）
【００４０】
すなわち、切換速度算出部３６は、下記式（２）を満たすモータ１１ａが停止するまでに必要な回転数ｎの最小値を用いて、下記式（１）によって第二制御速度ω２を算出するようになっている。
ω２＝√［｛Ｘ／（１−Ｘ）｝・｛２ａ１（Ｌ＋２πｎ）−ω１２｝］  …式（１）
ｎ≧〔［ω１２＋｛（１−Ｘ）／Ｘ｝（ａ１ＸＴ）２］／２ａ１−Ｌ〕／２π  …式（２）
ただし、各記号は以下を表す。
ω１：第一制御速度（ベース回転速度）
ω２：第二制御速度（切換速度）
ａ１：最大減速度
ｎ：モータが停止するまでに必要な回転数
Ｌ：現在位置と停止位置との差分値
Ｘ：マージン設定用比率
Ｔ：位置制御時間
【００４１】
位置決め完了判定部３７は、モータ１１ａの位置決めが完了したか否かを判定するものである。本実施形態において、位置決め完了判定部３７は、設定条件記憶部２２に記憶されている停止位置、位置決め条件および停止判定速度を参照し、位置情報取得部３２によって取得された位置情報（現在位置）が、当該停止位置に対して許容誤差範囲内にあるか否か、およびモータ状態算出部３３によって算出された現在速度が、当該停止判定速度以下であるか否かを判定する。そして、位置決め完了判定部３７は、現在位置が停止位置に対して許容誤差範囲内であり、かつ、現在速度が停止判定速度以下である場合のみ、位置決めが完了したと判定するようになっている。
【００４２】
位置制御用減速度調整部３８は、位置検出手段１１ｂによる測定誤差を吸収するように位置制御用減速度を調整するものである。本実施形態において、位置制御用減速度調整部３８は、減速制御部３９が、第二制御速度よりも小さい速度でモータ１１ａを減速制御している間、最新の位置情報に基づいて位置制御用減速度を調整する。
【００４３】
具体的には、図７に示すように、第二制御速度よりも小さい速度ω３でモータ１１ａを減速制御している時点において、停止位置までの残りの移動距離Ｓ３を時間ｔ３をかけて減速する場合、上記式（ｂ）と同様、下記式（ｋ）が成り立つ。
Ｓ３＝ω３ｔ３／２  …式（ｋ）
また、当該時点において、位置制御用減速度ａ２で減速している場合、速度ω３については、上記式（ｄ）と同様、下記式（ｌ）が成り立つ。
ω３＝ａ２ｔ３  …式（ｌ）
よって、上記式（ｋ），（ｌ）により、以下の式（ｍ）が導出される。
Ｓ３＝ω３２／２ａ２  …式（ｍ）
【００４４】
以上より、位置制御用減速度調整部３８は、位置制御を実行している間、最新の位置情報に基づいて、モータ状態算出部３３によって算出された残りの移動距離Ｓ３および速度ω３を取得し、上記式（ｍ）が成立するか否かを常時監視する。そして、上記式（ｍ）が成り立たなくなったとき（Ｓ３≠ω３２／２ａ２となったとき）は、位置制御用減速度ａ２のままでは停止位置に停止できないことを意味するから、位置制御用減速度の調整が必要と判断し、上記式（ｍ）を変形した下記式（ｎ）により調整後の位置制御用減速度ａ３を算出する。
ａ３＝ω３２／２Ｓ３  …式（ｎ）
そして、位置制御用減速度調整部３８は、当該調整後の位置制御用減速度ａ３を減速制御部３９へ指示するようになっている。
【００４５】
なお、上述した位置制御用減速度の調整に際し、仮に大きな外乱等の発生により、調整後の位置制御用減速度ａ３が、最大減速度ａ１よりも大きくなってしまった場合、オーバーシュートが発生する等、所望の制御が不能となってしまうおそれがある。そこで、上記のような場合（ａ３＞ａ１）には、位置制御用減速度調整部３８が、マージン設定用比率Ｘを適宜低減させ、再設定するようにしてもよい。例えば、マージン設定用比率Ｘが９５％に設定されていた場合には、９０％にすることで上記のような場合が回避される。
【００４６】
減速制御部３９は、モータ１１ａに駆動信号を出力し減速制御を実行するものである。本実施形態において、減速制御部３９は、モータ状態算出部３３によって算出されたモータ１１ａの現在速度を常時監視する。そして、図３に示すように、モータ１１ａの速度が第二制御速度よりも大きいうちは最大トルクで減速制御（速度制御）するとともに、モータ１１ａの速度が第二制御速度よりも小さくなった後には、位置制御用減速度算出部３５によって算出された位置制御用減速度で減速制御（位置制御）を実行するようになっている。また、本実施形態において、減速制御部３９は、位置制御用減速度調整部３８によって位置制御用減速度が調整された場合には、当該調整後の位置制御用減速度ａ３によって減速制御（位置制御）を実行するようになっている。
【００４７】
つぎに、本実施形態のモータ駆動制御装置１による作用について、図８のフローチャートを参照しつつ説明する。
【００４８】
本実施形態のモータ駆動制御装置１によって工作機械１１のモータ１１ａを制御し、所定の停止位置に位置決めを行う場合、まず、設定条件取得部３１が、上位コントローラ１０から出力された停止位置、位置決め条件、停止判定速度、第一制御速度、マージン設定用比率および位置制御時間からなる設定条件を取得し、設定条件記憶部２２に保存する（ステップＳ１）。これにより、モータ駆動制御装置１が位置決めシーケンスへ移行し、位置決めが完了するまで、以降のステップＳ２〜Ｓ１４の処理が所定の周期で繰り返される。
【００４９】
つぎに、位置情報取得部３２が、位置検出手段１１ｂによって検出された位置情報を取得すると（ステップＳ２）、モータ状態算出部３３が、当該位置情報に基づいて、モータ１１ａの現在速度、減速度、および現在位置と停止位置との差分値を算出する（ステップＳ３）。これにより、モータ１１ａの現在の状態が把握される。
【００５０】
つづいて、最大減速度確定部３４は、モータ１１ａの現在速度が、第一制御速度よりも遅くなったか否かを監視する（ステップＳ４）。そして、当該現在速度が第一制御速度よりも遅くなった直後に（ステップＳ４：ＹＥＳ）、最大減速度が未だ確定していなければ（ステップＳ５：ＮＯ）、ステップＳ３で算出されていた減速度を最大減速度として確定する（ステップＳ６）。
【００５１】
これにより、制御対象とするモータ１１ａに固有のベース回転速度（第一制御速度）を設定しておくだけで、モータ１１ａの最大減速度が特定される。また、後述するとおり、最大トルクでの減速中に最大減速度が確定されることとなるため、イナーシャ（回転慣性モーメント）の異なるワークのそれぞれに対しても、常に最適な減速が可能となる。
【００５２】
一方、モータ１１ａの現在速度が第一制御速度以上ある場合は（ステップＳ４：ＮＯ）、後述するステップＳ１４へと処理が進められ、減速制御部３９によって最大トルクで減速制御（速度制御）が実行される。また、ステップＳ５において、最大減速度が既に確定している場合には（ステップＳ５：ＹＥＳ）、後述するステップＳ９へと処理が進められる。
【００５３】
ステップＳ６で最大減速度が確定されると、位置制御用減速度算出部３５が、当該最大減速度にマージン設定用比率を掛け合わせて位置制御用減速度を算出する（ステップＳ７）。これにより、適切なマージン設定用比率を設定しておくことで、モータ１１ａが必ず安定して停止しうるような位置制御用減速度が算出される。
【００５４】
つづいて、切換速度算出部３６が、最大減速度と、第一制御速度と、マージン設定用比率、位置制御時間と、差分値とに基づいて、最大減速度での移動距離と位置制御用減速度での移動距離との和が最小となる速度を第二制御速度として算出する（ステップＳ８）。これにより、最も少ない回転数でモータ１１ａを停止位置に停止しうるような、モータ１１ａの駆動制御を速度制御から位置制御に切り換えるのに最適なタイミングが特定される。
【００５５】
また、本実施形態において、第二制御速度の算出には、マージン設定用比率および位置制御時間という二つのマージンパラメータが使用される。このため、位置検出手段１１ｂによる計測誤差や外乱の影響があったとしても安定して制御でき、停止位置に位置決めできずに一回転多く回転させたり、オーバーシュートを防止できずに逆回転させる必要がない。また、各マージンパラメータの設定値は、ワークによって変更する必要がなく、直感的でもあるため設定や調整が極めて容易である。
【００５６】
つぎに、位置決め完了判定部３７が、停止位置、位置決め条件、停止判定速度、位置情報（現在位置）および現在速度に基づいて、モータ１１ａの位置決めが完了したか否かを判定する（ステップＳ９）。その判定の結果、位置決めが完了した場合には（ステップＳ９：ＹＥＳ）、当該停止位置を保持し続けた状態で（ステップＳ１５）、本シーケンスを終了する。
【００５７】
一方、位置決めが完了していなければ（ステップＳ９：ＮＯ）、減速制御部３９が、モータ１１ａの現在速度が、第二制御速度よりも遅くなったか否かを監視する（ステップＳ１０）。そして、モータ１１ａの速度が第二制御速度よりも大きいうちは（ステップＳ１０：ＮＯ）、最大トルクで減速制御（速度制御）する（ステップＳ１４）。このため、最大トルクでの減速時間ができるだけ確保され、位置制御へ切り換える前までは迅速に減速されるため、位置決め完了までの時間が短縮される。
【００５８】
一方、モータ１１ａの速度が第二制御速度よりも小さくなると（ステップＳ１０：ＹＥＳ）、位置制御用減速度調整部３８が、位置制御用減速度の調整が必要か否かを判定する（ステップＳ１１）。そして、調整が必要であれば（ステップＳ１１：ＹＥＳ）、位置制御用減速度調整部３８が、新たな位置制御用減速度を算出して調整を行う（ステップＳ１２）。
【００５９】
これにより、位置検出手段１１ｂの計測誤差等に起因して、停止位置で停止できないような位置制御用減速度が設定されていたとしても、位置制御時間によってマージンが確保されているため、最低でも位置制御時間の間は位置制御が実行される。このため、最新の位置情報に基づいて、確実に停止位置で停止できるように位置制御用減速度が適宜調整される。
【００６０】
つづいて、減速制御部３９は、位置制御用減速度が調整されなければ（ステップＳ１１：ＮＯ）、ステップＳ７で算出された位置制御用減速度で減速制御（位置制御）を実行する（ステップＳ１３）。また、位置制御用減速度が調整された場合は（ステップＳ１１：ＹＥＳ）、当該調整後の位置制御用減速度によって減速制御（位置制御）を実行する（ステップＳ１３）。
【００６１】
これにより、マージンが設定された位置制御用減速度で位置制御されるため、モータ１１ａの位置決め動作における安定性が向上する。また、位置制御時間によって予めマージンを確保することで、モータ１１ａが必ず停止位置で停止するため、モータ１１ａの位置決め動作における確実性が向上する。さらに、設定された位置制御時間を超えて駆動されることがないため、停止するまでの時間に想定外の無駄が発生しない。
【００６２】
以上のステップＳ２〜Ｓ１４の処理は、ステップＳ９で位置決めが完了したと判定されない限り、所定の周期で繰り返される。
【００６３】
以上のような本実施形態によれば、以下のような効果を奏する。
１．速度制御から位置制御への切り換えタイミングを最適化することにより、できるだけ少ない回転数で迅速かつ確実にモータ１１ａを所定の停止位置に停止させることができる。
２．マージン設定用比率および位置制御時間という二つのマージンパラメータを用いた第二制御速度を切り換えタイミングとするため、計測誤差や外乱の影響があったとしても必ず安定して停止位置に位置決めすることができる。
３．マージン設定用比率および位置制御時間は、ワークによって変更する必要がなく、直感的でもあるため簡単に設定や調整を行うことができる。
４．位置制御において、位置制御用減速度を調整できるため、計測誤差等があったとしても、確実に停止位置に停止することができる。
【００６４】
また、本発明に係るモータ駆動制御装置１の動作と、上述した特許文献１の動作とを比較すると、誤差が全くなく理論通りに停止位置で停止できた場合には、特許文献１の方が早く停止できる場合も存在しうる。しかしながら、現実的には、図９に示すように、特許文献１では、低速領域においても最大減速度に近い減速度のままで減速するため、多くの場合では計測誤差等により、停止位置で停止できず、さらに一回転させることとなる。
【００６５】
これに対し、本発明に係るモータ駆動制御装置１の動作によれば、上述したとおり、第二制御速度までは最大トルクで減速するため、停止するまでの時間が短縮される。また、第二制御速度以下では、マージンを持たせた位置制御用減速度で減速するため安定性が高く、最低でも位置制御時間の間は位置制御を行うため、必ず停止位置で停止できるという作用効果を奏し、現実的かつ理想的な制御結果が得られる。
【００６６】
なお、本発明に係るモータ駆動制御装置１およびこれを備えた工作機械１１は、前述した実施形態に限定されるものではなく、適宜変更することができる。
【００６７】
例えば、上述した本実施形態では、数値制御装置の一機能としてモータ駆動制御装置１を実現させているが、この構成に限定されるものでない。すなわち、数値制御装置とは別個独立に、モータ駆動制御装置１を設けてもよい。
【符号の説明】
【００６８】
１  モータ駆動制御装置
１ａ  モータ駆動制御プログラム
２  記憶手段
３  演算処理手段
１０  上位コントローラ
１１  工作機械
１１ａ  モータ
１１ｂ  位置検出手段
２１  プログラム記憶部
２２  設定条件記憶部
３１  設定条件取得部
３２  位置情報取得部
３３  モータ状態算出部
３４  最大減速度確定部
３５  位置制御用減速度算出部
３６  切換速度算出部
３７  位置決め完了判定部
３８  位置制御用減速度調整部
３９  減速制御部
【図１】
0006490520.tif 000002
【図２】
0006490520.tif 000003
【図３】
0006490520.tif 000004
【図４】
0006490520.tif 000005
【図５】
0006490520.tif 000006
【図６】
0006490520.tif 000007
【図７】
0006490520.tif 000008
【図８】
0006490520.tif 000009
【図９】
0006490520.tif 000010
【図１０】
0006490520.tif 000011
【図１１】
0006490520.tif 000012
【図１２】
0006490520.tif 000013
【図１３】
0006490520.tif 000014