(57)【要約】【課題】１つの主軸を駆動するモータを２つのモータの間で選択的に切り替えるモータ制御装置において、モータに異常があっても主軸の安全を確保することができるモータ制御装置を実現する。【解決手段】モータ制御装置１は、１つの主軸２を駆動するモータを、２つのモータ３−Ａ、３−Ｂの間で選択的に切り替える切替部１１と、主軸２の位置情報を検出する位置検出部１２と、２つのモータ３−Ａ、３−Ｂの各々に対応して設けられる２つのモータ制御部１３−Ａ、１３−Ｂと、２つのモータ３−Ａ、３−Ｂのうち主軸２を駆動するモータの異常を検出する異常検出部１４と、異常検出部１４が主軸２を駆動するモータの異常を検出した場合、主軸２を駆動するモータを当該異常が検出されたモータから異常が検出されていないモータへ切り替え、かつ異常が検出されていないモータを停止させることで、主軸２を停止させる安全制御部１５とを備える。【選択図】図１
2019216574.tif 000002
【特許請求の範囲】
【請求項１】
１つの主軸を駆動するモータを、２つのモータの間で選択的に切り替える切替部と、
前記主軸の位置情報を検出する位置検出部と、
前記２つのモータの各々に対応して設けられ、前記位置情報を用いて前記モータをそれぞれ制御する、２つのモータ制御部と、
前記２つのモータのうち前記主軸を駆動するモータの異常を検出する異常検出部と、
前記異常検出部が前記主軸を駆動するモータの異常を検出した場合、前記切替部を制御して前記主軸を駆動するモータを当該異常が検出されたモータから異常が検出されていないモータへ切り替え、かつ前記モータ制御部を制御して前記異常が検出されていないモータを停止させることで、前記主軸を停止させる安全制御部と、
を備える、モータ制御装置。
【請求項２】
前記２つのモータ制御部の間でデータを転送するデータ転送部と、
前記データ転送部にて転送されるデータとして、少なくとも前記位置情報を含む転送データを生成するデータ生成部と、
をさらに備える、請求項１に記載のモータ制御装置。
【請求項３】
前記位置検出部が検出した位置情報が、前記２つのモータ制御部のうちの第１のモータ制御部に入力され、
前記第１のモータ制御部内に設けられた前記データ生成部が生成した前記転送データが、前記データ転送部を介して前記２つのモータ制御部のうちの第２のモータ制御部に転送される、請求項２に記載のモータ制御装置。
【請求項４】
前記データ転送部は、ＤＭＡ転送方式によりデータを転送する、請求項２または３に記載のモータ制御装置。
【請求項５】
前記２つのモータのうち、いずれか一方はサーボモータであり、もう一方はスピンドルモータである、請求項１〜４のいずれか一項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの主軸を２つのモータで切り替えて駆動するモータ制御装置に関する。
【背景技術】
【０００２】
工作機械において、サーボモータとスピンドルモータとの間で選択的に切り替えて１つの主軸を駆動するものがある。このような工作機械では、例えば位置決め時にはサーボモータで主軸を駆動し、高速回転時にはスピンドルモータで主軸を駆動するといったように、目的に応じて主軸を駆動するモータが使い分けられる。
【０００３】
例えば、ロボットの動作を規定する可動部分を駆動する駆動軸と、マスタ動力伝達機構を介して前記駆動軸を回転駆動するマスタモータと、スレーブ動力伝達機構を介して前記駆動軸を回転駆動するスレーブモータと、前記マスタモータの現在位置を検出する位置検出器と、を備えたロボットの制御装置であって、前記マスタモータへの位置指令値と前記位置検出器により検出される前記マスタモータの現在位置を示す値との偏差（以下、マスタ位置偏差）に基づいて前記マスタモータへの電流指令値（以下、第１電流指令値）を生成する第１電流指令値生成部と、前記マスタ位置偏差または所定のトルク指令値に基づいて前記スレーブモータへの電流指令値（以下、第２電流指令値）を生成する第２電流指令値生成部と、前記マスタモータが前記第１電流指令値に基づいて発生した出力トルクに応じた電流値と前記第１電流指令値との偏差（以下、第１電流偏差）を監視する第１電流偏差監視部と、前記スレーブモータが前記第２電流指令値に基づいて発生した出力トルクに応じた電流値と前記第２電流指令値との偏差（以下、第２電流偏差）を監視する第２電流偏差監視部と、前記第１電流偏差と前記第２電流偏差との差が予め定められたしきい値以上である場合に、前記第１電流偏差と前記第２電流偏差との差が小さくなるように前記第１電流指令値および／または前記第２電流指令値を変更する電流指令値変更部と、を備えた、ロボットの制御装置が知られている（例えば、特許文献１参照。）。
【０００４】
例えば、マスタ軸モータとスレーブ軸モータとを用いて、一つの可動部を駆動するタンデム制御を行うモータ制御装置であって、前記モータ毎に、可動部の位置を制御するための共通の位置指令に基づき、対応するモータの速度指令を演算する位置制御部と、前記位置制御部で演算された速度指令に基づき、対応するモータのトルク指令を演算する速度制御部と、前記速度制御部で演算されたトルク指令に基づき、対応するモータの電流指令を演算する電流制御部とをそれぞれ備えるモータ制御装置において、マスタ軸モータに対応する速度制御部で演算されたトルク指令と、スレーブ軸モータに対応する速度制御部で演算されたトルク指令の差に対してローパスフィルタ処理を行い、スレーブ軸のトルク指令を補正するためのトルク調停値を演算するトルク調停部を備え、スレーブ軸のトルク指令を補正することを特徴とするモータ制御装置が知られている（例えば、特許文献２参照。）。
【０００５】
例えば、１つの主動作軸の位置に同期するように従動作軸をモータで駆動する同期制御装置であって、前記主動作軸の位置である主軸位置を検出する主軸位置検出手段と、前記主動作軸の速度である主軸速度を検出する主軸速度検出手段と、前記主動作軸の加速度である主軸加速度を検出する主軸加速度検出手段と、前記従動作軸を駆動する前記モータである従軸モータを駆動制御する従軸駆動制御装置と、前記主軸位置あるいは補正主軸位置のどちらか一方を少なくとも含む主軸データを前記従軸駆動制御装置に転送するデータ転送手段と、前記データ転送手段を介して前記主軸データを転送するのに要する転送時間と前記主軸加速度との積を前記主軸速度に加算して補正主軸速度を生成する主軸速度補正手段と、前記補正主軸速度と前記転送時間との積を前記主軸位置に加算して前記補正主軸位置を生成する主軸位置補正手段とを備え、前記従軸駆動制御装置は、前記補正主軸位置を前記従動作軸の位置指令とし、該位置指令と前記従動作軸の位置とに基づいて速度指令を生成する位置制御手段と、該速度指令と前記補正主軸速度との和と前記従動作軸の速度とに基づいて電流指令を生成する速度制御手段と、該電流指令と前記主軸加速度に所定の係数を乗じた値との和に基づいて前記従軸モータへの供給電流を制御する電流制御手段とを備えることを特徴とする同期制御装置が知られている（例えば、特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１２２９３２号公報
【特許文献２】特開２００３−０７９１８０号公報
【特許文献３】特開２００６−２５２３９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
サーボモータとスピンドルモータとの間で選択的に切り替えて１つの主軸を駆動する工作機械において、サーボモータ及びスピンドルモータのうちのいずれか一方に異常があった場合、異常のあったモータを放置したままにしてもう一方のモータを動かすと、主軸を含む機構が故障する可能性がある。したがって、１つの主軸を駆動するモータを２つのモータの間で選択的に切り替えるモータ制御装置において、モータに異常があっても主軸の安全を確保することができる技術が望まれている。
【課題を解決するための手段】
【０００８】
本開示の一態様によれば、モータ制御装置は、１つの主軸を駆動するモータを、２つのモータの間で選択的に切り替える切替部と、主軸の位置情報を検出する位置検出部と、２つのモータの各々に対応して設けられ、位置情報を用いてモータをそれぞれ制御する、２つのモータ制御部と、２つのモータのうち主軸を駆動するモータの異常を検出する異常検出部と、異常検出部が主軸を駆動するモータの異常を検出した場合、切替部を制御して主軸を駆動するモータを当該異常が検出されたモータから異常が検出されていないモータへ切り替え、かつモータ制御部を制御して異常が検出されていないモータを停止させることで、主軸を停止させる安全制御部とを備える。
【発明の効果】
【０００９】
本開示の一態様によれば、１つの主軸を駆動するモータを２つのモータの間で選択的に切り替えるモータ制御装置において、モータに異常があっても主軸の安全を確保することができる。
【図面の簡単な説明】
【００１０】
【図１】本開示の実施形態によるモータ制御装置を示す図である。
【図２】本開示の実施形態によるモータ制御装置における切替部の切替動作の一例を示す図である。
【図３】本開示の実施形態によるモータ制御装置の動作フローを示すフローチャートである。
【図４】本開示のさらなる実施形態によるモータ制御装置を示す図である。
【発明を実施するための形態】
【００１１】
以下図面を参照して、１つの主軸を２つのモータで切り替えて駆動するモータ制御装置について説明する。各図面において、同様の部材には同様の参照符号が付けられている。また、理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は実施するための一つの例であり、図示された形態に限定されるものではない。
【００１２】
図１は、本開示の実施形態によるモータ制御装置を示す図である。
【００１３】
本開示の実施形態によるモータ制御装置１は、切替部１１と、位置検出部１２と、第１のモータ制御部１３−Ａと、第２のモータ制御部１３−Ｂと、異常検出部１４と、安全制御部１５と、を備える。また、モータ制御装置１は、上位制御部１００を備える。
【００１４】
上位制御部１００は、主軸２の動作について予め規定された動作プログラムに基づいて、第１のモータ制御部１３−Ａ、第２のモータ制御部１３−Ｂ、及び切替部１１の動作を制御する。上位制御部１００の例としては、工作機械の数値制御装置などがある。なお、後述するように、第１のモータ制御部１３−Ａ、第２のモータ制御部１３−Ｂ、及び切替部１１の動作は、安全制御部１５によっても制御される。
【００１５】
モータ制御装置１は、１つの主軸２を駆動するモータを、第１のモータ３−Ａと第２のモータ３−Ｂとの間で選択的に切り替えて制御する。図１では、第１のモータ３−Ａ及び第２のモータ３−Ｂに駆動電力を供給する電源及び電力変換器については図示を省略しているが、例えば、モータ制御装置１は、整流器並びに第１及び第２のアンプを有する。交流電源から供給される交流電力は、整流器（図示せず）によって直流電力に変換されて直流リンクへ出力される。直流リンクにおける電圧は、第１のモータ３−Ａを駆動する第１のアンプ（図示せず）及び第２のモータ３−Ｂを駆動する第２のアンプ（図示せず）に印加される。第１のアンプ及び第２のアンプは、例えば半導体スイッチング素子のフルブリッジ回路からなるインバータで構成される。第１のアンプは、直流リンクにおける直流電力を交流電力に変換して第１のモータ３−Ａへ供給する。第２のアンプは、直流リンクにおける直流電力を交流電力に変換して第２のモータ３−Ｂへ供給する。第１のモータ３−Ａ及び第２のモータ３−Ｂは、それぞれ第１のアンプ及び第２のアンプから供給される例えば電圧可変及び周波数可変の交流電力に基づいて、速度、トルクまたは回転子の位置が制御されるので、第１のモータ３−Ａ及び第２のモータ３−Ｂの制御は、第１のアンプ及び第２のアンプにおける各電力変換動作を制御することで実現される。つまり、第１のモータ制御部１３−Ａは、第１のアンプにおける電力変換動作を制御することで第１のモータ３−Ａが所定の動作パターンに従って動作するよう制御し、第２のモータ制御部１３−Ｂは、第２のアンプにおける電力変換動作を制御することで第２のモータ３−Ｂが所定の動作パターンに従って動作するよう制御する。なお、交流電源の相数は本発明を特に限定するものではなく、例えば単相、三相、その他の多相の交流電源であってもよい。交流電源の一例を挙げると、三相交流４００Ｖ電源、三相交流２００Ｖ電源、三相交流６００Ｖ電源、単相交流１００Ｖ電源などがある。
【００１６】
第１のモータ３−Ａ及び第２のモータ３−Ｂは、例えば、いずれか一方がサーボモータであり、もう一方がスピンドルモータである。図１に示す例では、一例として、第１のモータ３−Ａはスピンドルモータであり、第２のモータ３−Ｂはサーボモータである。また、第１のモータ３−Ａ及び第２のモータ３−Ｂの相数は本発明を特に限定するものではなく、例えば単相、三相、その他の多相のモータであってもよい。
【００１７】
切替部１１は、１つの主軸２を駆動するモータを、２つのモータすなわち第１のモータ３−Ａと第２のモータ３−Ｂとの間で選択的に切り替える。切替部１１による切替動作は、例えば上位制御部１００によって制御される。
【００１８】
図２は、本開示の実施形態によるモータ制御装置における切替部の切替動作の一例を示す図である。切替部１１は、１つの主軸２の駆動源となるモータを、第１のモータ３−Ａと第２のモータ３−Ｂとの間で選択的に切り替えるための可動部４１−Ａ及び４１−Ｂを有する。図２に示す切替部１１の切替機構はあくまでも一例であって、主軸２に設けられたギヤ５１の機械的連結先を、第１のモータ３−Ａの回転軸３１−Ａに設けられたギヤ３２−Ａと第２のモータ３−Ｂの回転軸３１−Ｂに設けられたギヤ３２−Ｂとの間で選択的に切り替える機構であれば、どのようなものであってもよい。
【００１９】
例えば、図２（Ａ）に示すように、第１のモータ３−Ａで主軸２を駆動する場合、切替部１１は、可動部４１−Ｂを動作させて第２のモータ３−Ｂの回転軸３１−Ｂに設けられたギヤ３２−Ｂと主軸２に設けられたギヤ５１とを切り離す。この場合、第１のモータ３−Ａの回転軸３１−Ａに設けられたギヤ３２−Ａと主軸２に設けられたギヤ５１とが連結された（以下、単に「第１のモータ３−Ａが主軸２に連結された」と記載することがある。）状態となり、第１のモータ３−Ａの回転軸３１−Ａの回転力が主軸２に伝達される。
【００２０】
また例えば、図２（Ｂ）に示すように、第２のモータ３−Ｂで主軸２を駆動する場合、切替部１１は、可動部４１−Ａを動作させて第１のモータ３−Ａの回転軸３１−Ａに設けられたギヤ３２−Ａと主軸２に設けられたギヤ５１とを切り離す。この場合、第２のモータ３−Ｂの回転軸３１−Ｂに設けられたギヤ３２−Ｂと主軸２に設けられたギヤ５１とが連結された（以下、単に「第２のモータ３−Ｂが主軸２に連結された」と記載することがある。）状態となり、第２のモータ３−Ｂの回転軸３１−Ｂの回転力が主軸２に伝達される。
【００２１】
位置検出部１２は、主軸２の位置情報を検出するために１つ設けられる。本実施形態では、位置検出部１２が検出した位置情報は、第１のモータ制御部１３−Ａ及び第２のモータ制御部１３−Ｂに入力される。位置検出部１２としては、例えばエンコーダなどがある。
【００２２】
第１のモータ制御部１３−Ａは、位置検出部１２から入力された主軸２の位置情報を用いて第１のモータ３−Ａを制御する。このため、第１のモータ制御部１３−Ａは、位置指令生成部２１−Ａと、減算器２２−Ａと、位置制御部２３−Ａと、減算器２４−Ａと、速度制御部２５−Ａとを有する。位置指令生成部２１−Ａは、上位制御部１００の制御により位置指令を生成する。減算器２２−Ａは、位置指令と位置検出部１２によって検出された主軸２の位置情報との差を計算し、位置制御部２３−Ａは、この差がゼロとなるような速度指令を生成する。位置制御部２３−Ａによる速度指令生成処理には、例えばＰ制御、ＰＩ制御やＰＩＤ制御が用いられる。減算器２４−Ａは、速度指令と速度検出部２６−Ａによって検出された第１のモータ３−Ａの速度情報との差を計算し、速度制御部２５−Ａは、この差がゼロとなるような電流指令を生成する。速度制御部２５−Ａによる電流指令生成処理には、例えばＰＩ制御やＰＩＤ制御が用いられる。第１のアンプ（図示せず）は、速度制御部２５−Ａによって生成された電流指令に基づいて電力変換動作が制御され、第１のモータ３−Ａを駆動するための交流電力を出力する。第１のモータ３−Ａは、第１のアンプから出力された交流電力により駆動される。第１のモータ３−Ａが主軸２に連結されている場合、第１のモータ３−Ａの回転軸３１−Ａの回転力が主軸２に伝達される。なお、ここで定義した第１のモータ制御部１３−Ａの構成はあくまでも一例であって、例えば、電流制御部、トルク指令作成部、及びスイッチング指令作成部などの用語を含めて第１のモータ制御部１３−Ａの構成を規定してもよい。
【００２３】
第２のモータ制御部１３−Ｂは、位置検出部１２から入力された主軸２の位置情報を用いて第２のモータ３−Ｂを制御する。このため、第２のモータ制御部１３−Ｂは、位置指令生成部２１−Ｂと、減算器２２−Ｂと、位置制御部２３−Ｂと、減算器２４−Ｂと、速度制御部２５−Ｂとを有する。位置指令生成部２１−Ｂは、上位制御部１００の制御により位置指令を生成する。減算器２２−Ｂは、位置指令と位置検出部１２によって検出された主軸２の位置情報との差を計算し、位置制御部２３−Ｂは、この差がゼロとなるような速度指令を生成する。位置制御部２３−Ｂによる速度指令生成処理には、例えばＰ制御、ＰＩ制御やＰＩＤ制御が用いられる。減算器２４−Ｂは、速度指令と速度検出部２６−Ｂによって検出された第２のモータ３−Ｂの速度情報との差を計算し、速度制御部２５−Ｂは、この差がゼロとなるような電流指令を生成する。速度制御部２５−Ｂによる電流指令生成処理には、例えばＰＩ制御やＰＩＤ制御が用いられる。第２のアンプ（図示せず）は、速度制御部２５−Ｂによって生成された電流指令に基づいて電力変換動作が制御され、第２のモータ３−Ｂを駆動するための交流電力を出力する。第２のモータ３−Ｂは、第２のアンプから出力された交流電力により駆動される。第２のモータ３−Ｂが主軸２に連結されている場合、第２のモータ３−Ｂの回転軸３１−Ｂの回転力が主軸２に伝達される。なお、ここで定義した第２のモータ制御部１３−Ｂの構成はあくまでも一例であって、例えば、電流制御部、トルク指令作成部、及びスイッチング指令作成部などの用語を含めて第２のモータ制御部１３−Ｂの構成を規定してもよい。
【００２４】
このように、第１のモータ３−Ａは第１のモータ制御部１３−Ａによって制御され、第２のモータ３−Ｂは第２のモータ制御部１３−Ｂによって制御される。第１のモータ３−Ａで主軸２を駆動する場合、切替部１１は第１のモータ３―Ａの回転軸３１−Ａに設けられたギヤ３２−Ａと主軸２に設けられたギヤ５１とを連結し、これにより、第１のモータ３−Ａの回転軸の回転力が主軸２に伝達される。同様に、第２のモータ３−Ｂで主軸２を駆動する場合、切替部１１は第２のモータ３−Ｂの回転軸３１−Ｂに設けられたギヤ３２−Ｂと主軸２に設けられたギヤ５１とを連結し、これにより、第２のモータ３−Ｂの回転軸の回転力が主軸２に伝達される。
【００２５】
異常検出部１４は、第１のモータ３−Ａ及び第２のモータ３−Ｂのうち、主軸２を駆動するモータの異常を検出する。ここで、「主軸２を駆動するモータ」とは、第１のモータ３−Ａ及び第２のモータ３−Ｂのうち、切替部１１の切替動作により主軸２に連結されているモータ（すなわち、主軸２に設けられたギヤ５１に連結されているギヤが設けられた回転軸を有するモータ）である。異常検出部１４による検出結果は、安全制御部１５に通知される。
【００２６】
モータに発生し得る異常としては、モータ回転速度の異常、モータに対する異常負荷、モータ巻線における過電流及び低電流、モータ端子間の過電圧及び低電圧、モータの異常発熱、モータの異常振動、モータの異臭、並びにモータ回転時の異音などがある。モータ回転速度の異常は、速度検出部２６−Ａ及び２６−Ｂによって取得された速度情報に基づいて、検出することができる。モータに対する異常負荷は、例えば力センサによる測定結果やモータ回転速度及びモータ巻線の電流に基づく計算結果に基づいて、検出することができる。なお、異常検出対象であるモータは主軸２に連結されているので、当該モータに連結された主軸２に対する異常負荷も、「モータに対する異常負荷」に含まれると解釈することができる。これに関し、主軸２の位置情報に基づいて、主軸２に対する異常負荷（換言すれば、モータに対する異常負荷）を検出してもよい。また、モータ巻線における過電流及び低電流は、モータ巻線に設けられた電流検出器（図示せず）によって取得された電流値に基づいて、検出することができる。モータ端子間の過電圧や無電圧は、モータ端子間に設けられた電圧検出器（図示せず）によって取得された電圧値に基づいて、検出することができる。モータの異常発熱は、モータ近傍に設けられた温度センサ（図示せず）によって取得された温度に基づいて、検出することができる。モータの異常振動は、モータ近傍に設けられた振動センサ（図示せず）、加速度センサ（図示せず）、またはカメラ（図示せず）などによって取得された情報に基づいて、検出することができる。モータの異臭は、モータ近傍に設けられた臭気センサ（図示せず）によって取得された情報に基づいて、検出することができる。モータ回転時の異音は、モータ近傍に設けられたマイクによって取得された情報に基づいて、検出することができる。またあるいは、異常検出部１４は、モータに設置された各種センサやモータの周辺機器などから出力されるアラーム信号を受信したときに、主軸２を駆動するモータに異常が発生したと判定してもよい。例えば、速度検出部においてノイズの影響でデータエラーが発生した場合や速度検出部が故障し速度検出部自体がその故障を検知した場合に速度検出部からはアラーム信号が出力されるが、異常検出部１４は、このようなアラーム信号を受信したときに主軸２を駆動するモータに異常が発生したと判定してもよい。
【００２７】
安全制御部１５は、異常検出部１４が主軸２を駆動するモータの異常を検出した場合、切替部１１を制御して主軸２を駆動するモータを当該異常が検出されたモータから異常が検出されていないモータへ切り替え、かつモータ制御部を制御して異常が検出されていないモータを停止させることで、主軸２を停止させる。すなわち、異常検出部１４が主軸２を駆動するモータの異常を検出した場合、安全制御部１５は、切替部１１に対しては切替指令を出力し、切替え後のモータ（すなわち異常が検出されていないモータ）を制御するモータ制御部に対しては停止指令を出力する。
【００２８】
例えば、第１のモータ３−Ａで主軸２を駆動している場合（図２（Ａ））において、異常検出部１４が第１のモータ３−Ａの異常を検出すると、安全制御部１５は、切替部１１を制御して主軸２を駆動するモータを第１のモータ３−Ａ（異常が検出されたモータ）から第２のモータ３−Ｂ（異常が検出されていないモータ）へ切り替え（図２（Ｂ））、かつ第２のモータ制御部１３−Ｂを制御して第２のモータ３−Ｂを徐々に減速させ、最終的には停止させる。第２のモータ３−Ｂは主軸２に連結した状態において、安全制御部１５の制御により第２のモータ３−Ｂを停止させことで、主軸２は停止する。
【００２９】
また例えば、第２のモータ３−Ｂで主軸２を駆動している場合（図２（Ｂ））において、異常検出部１４が第２のモータ３−Ｂの異常を検出すると、安全制御部１５は、切替部１１を制御して主軸２を駆動するモータを第２のモータ３−Ｂ（異常が検出されたモータ）から第１のモータ３−Ａ（異常が検出されていないモータ）へ切り替え（図２（Ａ））、かつ第１のモータ制御部１３−Ａを制御して第１のモータ３−Ａを徐々に減速させ、最終的には停止させる。第１のモータ３−Ａは主軸２に連結した状態において、安全制御部１５の制御により第１のモータ３−Ａを停止させことで、主軸２は停止する。
【００３０】
上述のように、第１のモータ制御部１３−Ａは、第１のアンプ（図示せず）における電力変換動作を制御することで第１のモータ３−Ａが所定の動作パターンに従って動作するよう制御し、第２のモータ制御部１３−Ｂは、第２のアンプ（図示せず）における電力変換動作を制御することで第２のモータ３−Ｂが所定の動作パターンに従って動作するよう制御する。したがって、安全制御部１５による第１のモータ３−Ａの停止制御及び第２のモータ３−Ｂの停止制御は、安全制御部１５によって生成された停止指令を、異常が検出されていないモータを制御するためのモータ制御部（第１のモータ制御部１３−Ａまたは第２のモータ制御部１３−Ｂのいずれか一方）に入力し、当該モータ制御部により対応のアンプ（第１のアンプまたは第２のアンプのいずれか一方）における電力変換動作を制御することによって、実現される。すなわち、第１のモータ制御部１３−Ａまたは第２のモータ制御部１３−Ｂは、対応するアンプを構成するインバータ内の半導体スイッチング素子に対して、当該インバータから出力されるモータ駆動のための交流電力が減少するようなスイッチング指令を出力する。例えば、第１のアンプ及び第２のアンプを構成するインバータがＰＷＭインバータである場合、半導体スイッチング素子に対するオン指令に対するオフ指令の割合を徐々に増加させながらオン指令およびオフ指令を交互に出力し、最終的にはオフ指令のみを出力するようにすれば、モータは徐々に減速し、最終的には停止する。つまり、当該モータにより駆動される主軸２は、徐々に減速し、最終的には停止する。
【００３１】
なお、図１に示す例では安全制御部１５による第１のモータ３−Ａの停止制御及び第２のモータ３−Ｂの停止制御は、第１のモータ制御部１３−Ａ及び第２のモータ制御部１３−Ｂを介してそれぞれ第１のアンプ及び第２のアンプの電力変換動作を制御することにより実現されるものとした。この代替例として、安全制御部１５が第１のアンプ及び第２のアンプの電力変換動作を直接に制御することで、第１のモータ３−Ａの停止制御及び第２のモータ３−Ｂの停止制御を実現してもよい。この場合、安全制御部１５が、対応するアンプを構成するインバータ内の半導体スイッチング素子に対して、当該インバータから出力されるモータ駆動のための交流電力が減少するようなスイッチング指令を出力する。
【００３２】
このように、本実施形態によれば、１つの主軸２を駆動するモータを２つのモータ（第１のモータ３−Ａ及び第２のモータ３−Ｂ）の間で選択的に切り替えるモータ制御装置１において、主軸２を駆動しているモータに異常が発生した場合、切替部１１により主軸２を駆動するモータを当該異常が検出されたモータから異常が検出されていないモータへ切り替え、かつモータ制御部を制御して異常が検出されていないモータを停止させることで、主軸を停止させるので、モータ２に異常があっても主軸の安全を確保することができる。なお、本実施形態では、主軸２を駆動するモータの異常発生時に、切替部１１により、当該異常が検出されたモータから主軸２を切り離して異常が検出されていないモータに主軸２を連結することから、当該モータの異常発生時において切替部１１による切替動作をスムースに行うためにも、第１のモータ３−Ａの回転軸３１−Ａに設けられたギヤ３２−Ａと第２のモータ３−Ｂの回転軸３１−Ｂに設けられたギヤ３２−Ｂとが同速度で回転していることが好ましい。このためには、例えば、通常の動作時（すなわちいずれのモータも異常がない時）において、第１のモータ３−Ａの回転軸３１−Ａに設けられたギヤ３２−Ａと第２のモータ３−Ｂの回転軸３１−Ｂに設けられたギヤ３２−Ｂとが同速度で常時回転するよう、第１のモータ制御部１３−Ａ及び第２のモータ制御部１３−Ｂは第１のモータ３−Ａ及び第２のモータ３−Ｂを制御すればよい。また例えば、通常の動作時（すなわちいずれのモータも異常がない時）において、主軸２を駆動するモータを回転制御するとともに主軸２を駆動しないモータについては回転制御を行わず、モータの異常が発生した場合は、主軸２を駆動しないモータ（すなわち異常が検出されていないモータ）を急速に加速させ、その回転軸に設けられたギヤが、主軸２を駆動していたモータ（すなわち異常が検出されたモータ）の回転軸に設けられていたギヤと同速度になってから、切替部１１による切替動作を行うようにしてもよい。
【００３３】
図３は、本開示の実施形態によるモータ制御装置の動作フローを示すフローチャートである。
【００３４】
本実施形態によるモータ制御装置１により、２つのモータ（第１のモータ３−Ａ及び第２のモータ３−Ｂ）のうちのいずれか一方を１つの主軸２に連結して駆動している場合（ステップＳ１０１）において、ステップＳ１０２において、異常検出部１４は、主軸２を駆動しているモータに異常が発生したか否かを判定する。ステップＳ１０２において異常検出部１４により主軸２を駆動しているモータに異常が発生したと判定された場合はステップＳ１０３へ進み、そうでない場合はステップＳ１０１へ戻る。
【００３５】
ステップＳ１０３において、安全制御部１５は、切替部１１を制御して主軸２を駆動するモータを当該異常が検出されたモータから異常が検出されていないモータへ切り替える。
【００３６】
ステップＳ１０４において、安全制御部１５は、異常が検出されていないモータ（すなわち切替え後のモータ）を制御するためのモータ制御部に対して停止指令を出力し、当該異常が検出されていないモータを徐々に減速させ、最終的には停止させる。これにより主軸２は停止する。
【００３７】
続いて、本開示のさらなる実施形態によるモータ制御装置について説明する。図４は、本開示のさらなる実施形態によるモータ制御装置を示す図である。
【００３８】
本開示のさらなる実施形態によるモータ制御装置１は、図１〜図３を参照して説明したモータ制御装置１において、さらに２つのモータ制御部の間（すなわち第１のモータ制御部１３−Ａと第２のモータ制御部１３−Ｂとの間）でデータを転送するデータ転送部１６と、データ転送部にて転送されるデータとして少なくとも位置情報を含む転送データを生成するデータ生成部１７とを備えるものである。
【００３９】
第１のモータ制御部１３−Ａと第２のモータ制御部１３−Ｂとの間では、データ転送部１６によってデータ転送が行われる。データ転送部１６は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ：ダイレクトメモリアクセス）転送方式により、第１のモータ制御部１３−Ａと第２のモータ制御部１３−Ｂとの間でデータを転送する。ＤＭＡ転送方式は、ＣＰＵを介さずに周辺機器やメインメモリ（ＲＡＭ）などの間で直接データ転送を行う方式であり、第１のモータ制御部１３−Ａ及び第２のモータ制御部１３−Ｂの各々に設けられたマザーボードのチップセットに内蔵されたＤＭＡコントローラによって、データ転送が制御される。第１のモータ制御部１３−Ａと第２のモータ制御部１３−Ｂとの間には、複数のＤＭＡチャネルが設けられており、データ転送部１６によるデータ転送は、このうちの１つのチャネルを占有して行われる。データ転送が終わるとチャネルは解放され、他の装置が使用できるようになる。
【００４０】
第１のモータ制御部１３−Ａは、位置検出部１２から入力された主軸２の位置情報を用いて第１のモータ３−Ａを制御する。このため、第１のモータ制御部１３−Ａは、上述した位置指令生成部２１−Ａと、減算器２２−Ａと、位置制御部２３−Ａと、減算器２４−Ａと、速度制御部２５−Ａとを有するが、これについては図１を参照して説明した通りである。
【００４１】
また、第１のモータ制御部１３−Ａに入力された主軸２の位置情報は、データ転送部１６によって、ＤＭＡ転送方式により第２のモータ制御部１３−Ｂに転送される。データ転送部１６は複数のＤＭＡチャネルを通じて種々のデータを転送可能であるが、データ転送中のＤＭＡチャネルは占有される。そこで本実施形態では、第１のモータ制御部１３−Ａ内に、転送すべきデータを生成するデータ生成部１６を設け、データの転送量を削減しＤＭＡチャネルのリソースを有効利用する。データ生成部１６は、データ転送部１６によって第１のモータ制御部１３−Ａから第２のモータ制御部１３−Ｂへ転送されるデータとして、位置検出部１２によって検出された位置情報を少なくとも含む転送データを生成する。データ生成部１６によって生成された位置情報を含む転送データは、データ転送部１６によって、ＤＭＡ転送方式により第２のモータ制御部１３−Ｂに転送される。
【００４２】
第２のモータ制御部１３−Ｂは、データ転送部１６を介して入力された転送データ内の主軸２の位置情報を用いて、第２のモータ３−Ｂを制御する。このため、第２のモータ制御部１３−Ｂは、位置指令生成部２１−Ｂと、減算器２２−Ｂと、位置制御部２３−Ｂと、減算器２４−Ｂと、速度制御部２５−Ｂとを有する。位置指令生成部２１−Ｂ、位置制御部２３−Ｂ、減算器２４−Ｂ、及び速度制御部２５−Ｂについては図１を参照して説明した通りである。減算器２２−Ｂは、位置指令生成部２１−Ｂによって生成された位置指令とデータ転送部１６によって第１のモータ制御部１３−Ａから転送された位置情報との差を計算し、位置制御部２３−Ｂは、この差がゼロとなるような速度指令を生成する。
【００４３】
図４に示すさらなる実施形態において、データ転送部１６、データ生成部１７、及び減算器２２−Ｂ以外の回路構成要素については図１に示した回路構成要素と同様であるので、同一の回路構成要素には同一符号を付して当該回路構成要素についての詳細な説明は省略する。また、図４に示すさらなる実施形態によるモータ制御装置１の動作フローは図３に示したものと同様である。
【００４４】
図４に示すさらなる実施形態によれば、第１のモータ３−Ａを制御する第１のモータ制御部１３−Ａと第２のモータ３−Ｂを制御する第２のモータ制御部１３−Ｂとの間でデータを転送するデータ転送部１６により、第１のモータ制御部１３−Ａに入力された主軸２の位置情報が、ＤＭＡ転送方式により第２のモータ制御部１３−Ｂに転送されるので、追加のハードウェアを設けることなく主軸の位置情報を２つのモータの制御で共有し、かつ主軸の効率的な駆動及び安全を確保することができる。
【００４５】
上述した各実施形態における第１のモータ制御部１３−Ａ、第２のモータ制御部１３−Ｂ、異常検出部１４、安全制御部１５、及び上位制御部１００は、例えばソフトウェアプログラム形式で構築されてもよく、あるいは各種電子回路とソフトウェアプログラムとの組み合わせで構築されてもよい。この場合、例えばＭＰＵやＤＳＰなどの演算処理装置にこのソフトウェアプログラムを動作させて各部の機能を実現することができる。またあるいは、第１のモータ制御部１３−Ａ、第２のモータ制御部１３−Ｂ、異常検出部１４、安全制御部１５、及び上位制御部１００の機能を実現するソフトウェアプログラムを書き込んだ半導体集積回路として実現してもよい。また、第１のモータ制御部１３−Ａ、第２のモータ制御部１３−Ｂ、異常検出部１４、安全制御部１５、及び上位制御部１００のうちの少なくとも１つは、工作機械の数値制御装置内に設けられてもよい。
【符号の説明】
【００４６】
１    モータ制御装置
２    主軸
３−Ａ    第１のモータ
３−Ｂ    第２のモータ
１１    切替部
１２    位置検出部
１３−Ａ    第１のモータ制御部
１３−Ｂ    第２のモータ制御部
１４    異常検出部
１５    安全制御部
１６    データ転送部
１７    データ生成部
２１−Ａ、２１−Ｂ    位置指令生成部
２２−Ａ、２２−Ｂ、２４−Ａ、２４−Ｂ、    減算器
２３−Ａ、２３−Ｂ    位置制御部
２５−Ａ、２５−Ｂ    速度制御部
２６−Ａ、２６−Ｂ    速度検出部
３１−Ａ、３１−Ｂ    回転軸
３２−Ａ、３２−Ｂ    ギヤ
４１−Ａ、４１−Ｂ    可動部
５１    ギヤ
１００    上位制御部
【図１】
2019216574.tif 000003
【図２】
2019216574.tif 000004
【図３】
2019216574.tif 000005
【図４】
2019216574.tif 000006