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