(57)【特許請求の範囲】
【請求項１】
工作機械による被加工対象の加工プログラムの動作指令が切削送り動作指令であるときに被加工対象の切削を行いながら工作機械の送り軸を移動させる切削送り動作及び工作機械による被加工対象の加工プログラムの動作指令が早送り動作指令であるときに被加工対象の切削を行わずに工作機械の送り軸を移動させる早送り動作を行うために工作機械の送り軸を駆動するサーボモータに対して、フィードバック制御を行うサーボモータ制御装置であって、
フィードバック制御用演算係数を、切削送り動作用に設定される第１のフィードバック制御用演算係数値と前記第１のフィードバック制御用演算係数値より小さい早送り動作用の第２のフィードバック制御用演算係数値との間の値に設定する演算係数設定部と、
早送り動作中の任意の時点である第１の時点の後の第２の時点において動作指令が早送り動作指令から切削送り動作指令に切り替わることが前記第１の時点で予測される場合、前記第１の時点と前記第２の時点との間の第１の期間又は前記第１の時点より後かつ前記第２の時点より前の第３の時点と前記第２の時点との間の第２の期間に亘って、前記フィードバック制御用演算係数を前記第２のフィードバック制御用演算係数値から前記第１のフィードバック制御用演算係数値に連続的に変更する演算係数変更部と、
サーボモータに対するトルク指令を、サーボモータに対する位置指令と速度指令のうちの少なくとも一方、サーボモータの位置偏差と速度偏差のうちの少なくとも一方及び前記フィードバック制御用演算係数に基づいて生成するトルク指令生成部と、
を備えることを特徴とするサーボモータ制御装置。
【請求項２】
前記演算係数変更部は、前記第２の時点において動作指令が早送り動作指令から切削送り動作指令に切り替わるか否かを、前記第２の時点の動作指令を加工プログラムから先読みした外部制御装置から供給される前記第２の時点の動作指令に関する動作指令情報に基づいて予測する請求項１に記載のサーボモータ制御装置。
【請求項３】
前記第２の時点の動作指令を加工プログラムから先読みし、前記第２の時点の動作指令に関する動作指令情報を作成して前記演算係数変更部に提供する動作指令情報作成部を更に有し、
前記演算係数変更部は、前記第２の時点において動作指令が早送り動作から切削送り動作に切り替わるか否かを前記動作指令情報に基づいて予測する請求項１に記載のサーボモータ制御装置。
【請求項４】
前記演算係数変更部は、前記第２の時点の動作指令を加工プログラムから先読みし、前記第２の時点の動作指令に関する動作指令情報を作成する動作指令情報作成部を更に有し、前記第２の時点において動作指令が早送り動作から切削送り動作に切り替わるか否かを前記動作指令情報に基づいて予測する請求項１に記載のサーボモータ制御装置。
【請求項５】
前記演算係数変更部は、前記フィードバック制御用演算係数の前記第２のフィードバック制御用演算係数値から前記第１のフィードバック制御用演算係数値への変更を線形的に行う請求項１から４のうちのいずれか１項に記載のサーボモータ制御装置。
【請求項６】
前記演算係数変更部は、動作指令が切削送り動作指令から早送り動作指令に切り替わることが予測される場合、動作指令が切削送り動作指令から早送り動作指令に切り替わる第４の時点と前記第４の時点より後の当該早送り動作指令に従う早送り動作中の任意の時点である第５の時点との間の第３の期間に亘って、前記フィードバック制御用演算係数を前記第１のフィードバック制御用演算係数値から前記第２のフィードバック制御用演算係数値に連続的に変更する請求項１から５のうちのいずれか１項に記載のサーボモータ制御装置。
【請求項７】
前記演算係数変更部は、前記フィードバック制御用演算係数の前記第１のフィードバック制御用演算係数値から前記第２のフィードバック制御用演算係数値への変更を線形的に行う請求項６に記載のサーボモータ制御装置。
【請求項８】
工作機械による被加工対象の加工プログラムの動作指令が切削送り動作指令であるときに被加工対象の切削を行いながら工作機械の送り軸を移動させる切削送り動作及び工作機械による被加工対象の加工プログラムの動作指令が早送り動作指令であるときに被加工対象の切削を行わずに工作機械の送り軸を移動させる早送り動作を行うために工作機械の送り軸を駆動するサーボモータに対して、フォードフォワード制御及びフィードバック制御を行うサーボモータ制御装置であって、
フィードフォワード制御用演算係数を、切削送り動作用に設定される第１のフィードフォワード制御用演算係数値と前記第１のフィードフォワード制御用演算係数値より小さい早送り動作用の第２のフィードフォワード制御用演算係数値との間の値に設定する演算係数設定部と、
早送り動作中の任意の時点である第１の時点の後の第２の時点において動作指令が早送り動作指令から切削送り動作指令に切り替わることが前記第１の時点で予測される場合、前記第１の時点と前記第２の時点との間の第１の期間又は前記第１の時点より後かつ前記第２の時点より前の第３の時点と前記第２の時点との間の第２の期間に亘って、前記フィードフォワード制御用演算係数を前記第２のフィードフォワード制御用演算係数値から前記第１のフィードフォワード制御用演算係数値に連続的に変更する演算係数変更部と、
サーボモータに対するトルク指令を、サーボモータに対する位置指令と速度指令のうちの少なくとも一方及び前記フィードフォワード制御用演算係数に基づいて生成するトルク指令生成部と、
を備えることを特徴とするサーボモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の送り軸を駆動するサーボモータに対してフィードバック制御を行うサーボモータ制御装置に関する。
【背景技術】
【０００２】
サーボモータによって駆動される工作機械の送り軸の動作には、工作機械による被加工対象の加工プログラムの動作指令が切削送り動作指令であるときに被加工対象の切削を行いながら工作機械の送り軸を移動させる切削送り動作と、工作機械による被加工対象の加工プログラムの動作指令が早送り動作指令であるときに被加工対象の切削を行わずに工作機械の送り軸を移動させる早送り動作とがある。切削送り動作が目的位置までの迅速な移動よりも正確な切削が優先されるのに対して、早送り動作が目的位置までの迅速な移動が要求されるので、切削送り動作中の送り軸の送り速度及び加速度は、早送り動作中の送り軸の送り速度及び加速度より低く設定される。
【０００３】
工作機械の送り軸を駆動するサーボモータに対してフィードバック制御を行うサーボモータ制御装置において、サーボモータの振動を抑制するために、サーボモータに対する速度指令及びトルク指令を作成するための位置制御ゲイン、比例ゲイン、積分ゲイン等の演算係数として、早送り動作用の演算係数値と早送り動作用の演算係数値より高い切削動作用の演算係数値を用いるサーボモータ制御装置が提案されている（例えば、特許文献１，２）。この場合、サーボモータ制御装置は、送り軸の動作を早送り動作から切削送り動作に切り替え又は切削送り動作から早送り動作に切り替える際に、サーボモータを一時停止し、演算係数を早送り動作用の演算係数値から切削送り動作用の演算係数値に又は切削送り動作用の演算係数値から早送り動作用の演算係数値に不連続に変更している。
【０００４】
このように演算係数を不連続に変更するサーボモータ制御装置において、加工時間を短縮するためにサーボモータを停止することなく演算係数を不連続に変更した場合、速度指令が不連続になるためにトルク指令が不連続になり、サーボモータのショックが増大するという不都合がある。
【０００５】
一方、フィードバック制御を行う制御装置において、演算係数を二つのモード間で連続的に変更する制御装置が提案されている（例えば、特許文献３〜６）。このような制御装置をサーボモータ制御装置に適用し、送り軸の動作を早送り動作から切削送り動作に切り替え又は切削送り動作から早送り動作に切り替える場合、サーボモータを停止しなくても演算係数が連続的に変化する。これにより、速度指令が連続的に変化するためにトルク指令が不連続にならず、サーボモータのショックの増大を回避することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−２７７９９４号公報
【特許文献２】特開２００３−２１６２４３号公報
【特許文献３】特開２０００−３９０６１号公報
【特許文献４】特開２００１−２９０５０１号公報
【特許文献５】特開２００９−３０３４２３号公報
【特許文献６】特許第４４４１４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
演算係数を二つのモード間で連続的に変更する制御装置において送り軸の動作を早送り動作から切削送り動作に切り替える場合、演算係数の変更を早送り動作から切削送り動作への切替時に開始し、切削送り動作を開始してから所定の時間が経過したときに演算係数が切削送り動作用の演算係数値に到達する。このために、切削送り動作を開始してから演算係数が切削送り動作用の演算係数値に到達するまでの間は、演算係数が切削送り動作用の演算係数値より低いためにトルク指令の値が低くなり、サーボモータのトルクが十分でないことがある。したがって、工作機械の送り軸が早送り動作から切削送り動作に切り替わる直後に加工精度が悪化することがある。
【０００８】
本発明の目的は、工作機械による被加工対象の加工時間を短縮し、かつ、工作機械の送り軸が早送り動作から切削送り動作に切り替わる直後に加工精度が悪化しないサーボモータ制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明によるサーボモータ制御装置は、工作機械による被加工対象の加工プログラムの動作指令が切削送り動作指令であるときに被加工対象の切削を行いながら工作機械の送り軸を移動させる切削送り動作及び工作機械による被加工対象の加工プログラムの動作指令が早送り動作指令であるときに被加工対象の切削を行わずに工作機械の送り軸を移動させる早送り動作を行うために工作機械の送り軸を駆動するサーボモータに対して、フィードバック制御を行うサーボモータ制御装置であって、フィードバック制御用演算係数を、切削送り動作用に設定される第１のフィードバック制御用演算係数値と第１のフィードバック制御用演算係数値より小さい早送り動作用の第２のフィードバック制御用演算係数値との間の値に設定する演算係数設定部と、早送り動作中の任意の時点である第１の時点の後の第２の時点において動作指令が早送り動作指令から切削送り動作指令に切り替わることが第１の時点で予測される場合、第１の時点と第２の時点との間の第１の期間又は第１の時点より後かつ第２の時点より前の第３の時点と第２の時点との間の第２の期間に亘って、フィードバック制御用演算係数を第２のフィードバック制御用演算係数値から第１のフィードバック制御用演算係数値に連続的に変更する演算係数変更部と、サーボモータに対するトルク指令を、サーボモータに対する位置指令と速度指令のうちの少なくとも一方、サーボモータの位置偏差と速度偏差のうちの少なくとも一方及びフィードバック制御用演算係数に基づいて生成するトルク指令生成部と、を備えることを特徴とする。
【００１０】
好適には、演算係数変更部は、第２の時点において動作指令が早送り動作指令から切削送り動作指令に切り替わるか否かを、第２の時点の動作指令を加工プログラムから先読みした外部制御装置から供給される第２の時点の動作指令に関する動作指令情報に基づいて予測する。
【００１１】
好適には、サーボモータ制御装置は、第２の時点の動作指令を加工プログラムから先読みし、第２の時点の動作指令に関する動作指令情報を作成して演算係数変更部に提供する動作指令情報作成部を更に有し、演算係数変更部は、第２の時点において動作指令が早送り動作から切削送り動作に切り替わるか否かを動作指令情報に基づいて予測する。
【００１２】
好適には、演算係数変更部は、第２の時点の動作指令を加工プログラムから先読みし、第２の時点の動作指令に関する動作指令情報を作成する動作指令情報作成部を更に有し、第２の時点において動作指令が早送り動作から切削送り動作に切り替わるか否かを動作指令情報に基づいて予測する。
【００１３】
好適には、演算係数変更部は、フィードバック制御用演算係数の第２のフィードバック制御用演算係数値から第１のフィードバック制御用演算係数値への変更を線形的に行う。
【００１４】
好適には、演算係数変更部は、動作指令が切削送り動作指令から早送り動作指令に切り替わることが予測される場合、動作指令が切削送り動作指令から早送り動作指令に切り替わる第４の時点と第４の時点より後の当該早送り動作指令に従う早送り動作中の任意の時点である第５の時点との間の第３の期間に亘って、フィードバック制御用演算係数を第１のフィードバック制御用演算係数値から第２のフィードバック制御用演算係数値に連続的に変更する。
【００１５】
好適には、演算係数変更部は、フィードバック制御用演算係数の第１のフィードバック制御用演算係数値から第２のフィードバック制御用演算係数値への変更を線形的に行う。
【００１６】
本発明による他のサーボモータ制御装置は、工作機械による被加工対象の加工プログラムの動作指令が切削送り動作指令であるときに被加工対象の切削を行いながら工作機械の送り軸を移動させる切削送り動作及び工作機械による被加工対象の加工プログラムの動作指令が早送り動作指令であるときに被加工対象の切削を行わずに工作機械の送り軸を移動させる早送り動作を行うために工作機械の送り軸を駆動するサーボモータに対して、フォードフォワード制御及びフィードバック制御を行うサーボモータ制御装置であって、フィードフォワード制御用演算係数を、切削送り動作用に設定される第１のフィードフォワード制御用演算係数値と第１のフィードフォワード制御用演算係数値より小さい早送り動作用の第２のフィードフォワード制御用演算係数値との間の値に設定する演算係数設定部と、早送り動作中の任意の時点である第１の時点の後の第２の時点において動作指令が早送り動作指令から切削送り動作指令に切り替わることが前記第１の時点で予測される場合、第１の時点と前記第２の時点との間の第１の期間又は第１の時点より後かつ第２の時点より前の第３の時点と第２の時点との間の第２の期間に亘って、フィードフォワード制御用演算係数を第２のフィードフォワード制御用演算係数値から第１のフィードフォワード制御用演算係数値に連続的に変更する演算係数変更部と、サーボモータに対するトルク指令を、サーボモータに対する位置指令と速度指令のうちの少なくとも一方及びフィードフォワード制御用演算係数に基づいて生成するトルク指令生成部と、を備える。
【発明の効果】
【００１７】
本発明によれば、工作機械による被加工対象の加工時間を短縮し、かつ、工作機械の送り軸が早送り動作から切削送り動作に切り替わる直後に加工精度が悪化しない。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施の形態によるサーボモータ駆動制御装置を有するシステムのブロック図である。
【図２】図１の演算係数設定部を詳細に示すブロック図である。
【図３】図１の動作指令情報作成部の演算係数変更信号の作成処理のフローチャートである。
【図４】図１の演算係数変更部の演算係数変更処理のフローチャートである。
【図５】図１のサーボモータ駆動制御装置の動作を説明するためのグラフである。
【図６】本発明の第２の実施の形態によるサーボモータ駆動制御装置を有するシステムのブロック図である。
【図７】図６の演算係数変更部及び動作指令情報作成部の演算係数変更信号の作成処理及び演算係数変更処理のフローチャートである。
【図８】本発明の第３の実施の形態によるサーボモータ駆動制御装置を有するシステムのブロック図である。
【発明を実施するための形態】
【００１９】
本発明によるサーボモータ駆動制御装置の実施の形態を、図面を参照しながら説明する。なお、図面中、同一構成要素には同一符号を付す。
図１は、本発明の第１の実施の形態によるサーボモータ駆動制御装置を有するシステムのブロック図である。図１に示すシステムは、三相交流電源１と、コンバータ２と、平滑用コンデンサ３と、インバータ４と、サーボモータ５と、位置検出部６と、速度検出部７と、サーボモータ制御装置８と、電圧指令生成部９と、ＰＷＭ信号生成部１０と、外部制御装置としての上位制御装置１１と、を有する。
【００２０】
三相交流電源１は、商用交流電源によって構成される。コンバータ２は、例えば、複数（３相交流の場合は６個）の整流ダイオード及びこれらの整流ダイオードのそれぞれに逆並列に接続されたトランジスタによって構成され、三相交流電源１から供給される交流電力を直流電力に変換する。平滑用コンデンサ３は、コンバータ２の整流ダイオードによって整流された電圧を平滑化するためにコンバータ２に並列に接続される。インバータ４は、平滑用コンデンサ３に並列に接続され、例えば、複数（３相交流の場合は６個）の整流ダイオード及びこれらの整流ダイオードのそれぞれに逆並列に接続されたトランジスタによって構成され、後に説明するＰＷＭ信号に基づいてトランジスタのオンオフ動作を行うことによって、コンバータ２によって変換された直流電力を交流電力に変換する。
【００２１】
サーボモータ５は、工作機械による被加工対象の加工プログラム（例えば、ＮＣプログラム）１２の動作指令が切削送り動作指令であるときに被加工対象の切削を行いながら工作機械の送り軸を移動させる切削送り動作及び工作機械による被加工対象の加工プログラム１２の動作指令が早送り動作指令であるときに被加工対象の切削を行わずに工作機械の送り軸を移動させる早送り動作を行うために工作機械の送り軸を駆動する。なお、サーボモータ５として、ロータとステータのうちのいずれか一方に永久磁石が設けられた回転型サーボモータ、ステータとスライダのうちのいずれか一方に永久磁石が設けられたリニアサーボモータ、ステータとバイブレータのうちのいずれか一方に永久磁石が設けられた振動型サーボモータ等を用いる。なお、図１において、一つのサーボモータ５を示すが、サーボモータ５の個数を２以上にし、工作機械のテーブル又は工具を移動させる互いに直交した少なくとも二つの送り軸を駆動させるようにしてもよい。
【００２２】
位置検出部６は、エンコーダ、ホール素子、レゾルバ等によって構成され、サーボモータ５すなわち送り軸の位置を検出し、送り軸の位置情報を速度検出部７及びサーボモータ制御装置８に出力する。速度検出部７は、送り軸の位置情報が入力され、送り軸の位置を時間で微分することによって送り軸の送り速度を検出し、送り軸の速度情報をサーボモータ制御装置８に出力する。
【００２３】
サーボモータ制御装置８は、サーボモータに対して、フィードフォワード制御とフィードバック制御の両方を行う。このために、サーボモータ制御装置８は、トルク指令生成部１０１と、微分器１０２，１０３と、演算係数変更部１０４と、積分器１０５と、演算係数設定部１０６と、を有する。
【００２４】
トルク指令生成部１０１は、サーボモータ５に対する後に説明するトルク指令を、送り軸の位置指令と速度指令の両方、サーボモータの位置偏差と速度偏差の両方及び後に説明するフィードフォワード制御用演算係数とフィードバック制御用演算係数の両方に基づいて生成する。このために、トルク指令生成部１０１は、位置制御部１１１と、速度制御部１１２と、を有する。
【００２５】
位置制御部１１１は、送り軸の位置指令及び位置情報を用いて送り軸の位置を制御する。このために、位置制御部１１１は、減算器１１１ａと、加算器１１１ｂと、を有する。減算器１１１ａは、上位制御装置１１から送り軸の位置指令が入力される＋入力端子と、位置検出部６から送り軸の位置情報が入力される−入力端子と、送り軸の位置指令値と送り軸の位置の値との位置偏差を演算係数設定部１０６に出力する出力端子と、を有する。加算器１１１ｂは、演算係数設定部１０６からの信号が入力される第１の＋入力端子及び第２の＋入力端子と、入力された信号に基づいて送り軸の速度指令を生成して速度制御部１１２に出力する出力端子と、を有する。
【００２６】
速度制御部１１２は、送り軸の速度指令及び速度情報を用いて送り軸の速度を制御する。このために、速度制御部１１２は、減算器１１２ａと、加算器１１２ｂ，１１２ｃと、を有する。減算器１１２ａは、加算器１１１ｂの出力端子から送り軸の速度指令が入力される＋入力端子と、速度検出部７から送り軸の速度情報が入力される−入力端子と、送り軸の速度指令値と送り軸の速度の値との速度偏差を演算係数設定部１０６に出力する出力端子と、を有する。加算器１１２ｂは、演算係数設定部１０６からの信号が入力される第１の＋入力端子及び第２の＋入力端子と、入力された信号と、これらの信号の和を加算器１１２ｃに出力する出力端子と、を有する。加算器１１２ｃは、加算器１１２ｂの出力端子からの信号が入力される第１の＋入力端子と、演算係数設定部１０６からの信号が入力される第２の＋入力端子と、入力された信号に基づいてトルク指令を生成して電圧指令生成部９に出力する出力端子と、を有する。
【００２７】
微分器１０２は、上位制御装置１１から送り軸の位置指令が入力され、送り軸の位置指令の値を時間で１階微分し、送り軸の位置指令の値を１階微分したもの（１階微分位置指令値）を微分器１０３及び演算係数設定部１０６に入力する。微分器１０３は、１階微分位置指令値が微分器１０２から入力され、送り軸の位置指令の値を２階微分したもの（２階微分位置指令値）を演算係数設定部１０６に入力する。
【００２８】
演算係数変更部１０４は、後に説明するように、フィードフォワード制御用演算係数を、切削送り動作用に設定される第１のフィードフォワード制御用演算係数値と第１のフィードフォワード制御用演算係数値より小さい早送り動作用の第２のフィードフォワード制御用演算係数値との間で連続的に変更し、フィードバック制御用演算係数を、切削送り動作用に設定される第１のフィードバック制御用演算係数値と第１のフィードバック制御用演算係数値より小さい早送り動作用の第２のフィードバック制御用演算係数値との間で連続的に変更する。積分器１０５は、加算器１１２ａから供給される速度偏差の値を１階積分し、速度偏差を１階積分したもの（１階積分速度偏差）を演算係数設定部１０６に出力する。
【００２９】
演算係数設定部１０６は、フィードフォワード制御用演算係数を、切削送り動作用に設定される第１のフィードフォワード制御用演算係数値と第１のフィードフォワード制御用演算係数値より小さい早送り動作用の第２のフィードフォワード制御用演算係数値との間に設定し、フィードバック制御用演算係数を、切削送り動作用に設定される第１のフィードバック制御用演算係数値と第１のフィードバック制御用演算係数値より小さい早送り動作用の第２のフィードバック制御用演算係数値との間に設定する。このために、演算係数設定部１０６は、図２に示すように、位置フィードフォワード係数設定部１０６ａと、速度フィードフォワード係数設定部１０６ｂと、位置制御ゲイン設定部１０６ｃと、比例ゲイン設定部１０６ｄと、積分ゲイン設定部１０６ｅと、を有する。
【００３０】
位置フィードフォワード係数設定部１０６ａは、フィードフォワード制御用演算係数としての位置フィードフォワード係数を、切削送り動作用に設定される第１の位置フィードフォワード係数値と第１の位置フィードフォワード係数値より小さい早送り動作用の第２の位置フィードフォワード係数値との間の値に設定する。位置フィードフォワード係数を設定するために、演算係数変更部１０４は、位置フィードフォワード係数を第１の位置フィードフォワード係数値と第２の位置フィードフォワード係数値との間で連続的に変更する。また、位置フィードフォワード係数設定部１０６ａは、微分器１０２から１階微分位置指令値が入力され、設定した位置フィードフォワード係数と１階微分位置指令値との積を、加算器１１１ｂの第１の＋入力端子に入力する。
【００３１】
速度フィードフォワード係数設定部１０６ｂは、フィードフォワード制御用演算係数としての速度フィードフォワード係数を、切削送り動作用に設定される第１の速度フィードフォワード係数値と第１の速度フィードフォワード係数値より小さい早送り動作用の第２の速度フィードフォワード係数値との間の値に設定する。速度フィードフォワード係数を設定するために、演算係数変更部１０４は、速度フィードフォワード係数を第１の速度フィードフォワード係数値と第２の速度フィードフォワード係数値との間で連続的に変更する。また、速度フィードフォワード係数設定部１０６ｂは、微分器１０３から２階微分位置指令値が入力され、設定した速度フィードフォワード係数と２階微分位置指令値との積を、加算器１１２ｂの第１の＋入力端子に入力する。
【００３２】
位置制御ゲイン設定部１０６ｃは、フィードバック制御用演算係数としての位置制御ゲインを、切削送り動作用に設定される第１の位置制御ゲイン値と第１の位置制御ゲイン値より小さい早送り動作用の第２の位置制御ゲイン値との間の値に設定する。位置制御ゲインを設定するために、演算係数変更部１０４は、位置制御ゲインを第１の位置制御ゲイン値と第２の位置制御ゲイン値との間で連続的に変更する。また、位置制御ゲイン設定部１０６ｃは、減算器１１１ａから位置偏差が入力され、設定した位置制御ゲインと位置偏差との積を、加算器１１１ｂの第２の＋入力端子に入力する。
【００３３】
比例ゲイン設定部１０６ｄは、フィードバック制御用演算係数としての比例ゲインを、切削送り動作用に設定される第１の比例ゲイン値と第１の比例ゲイン値より小さい早送り動作用の第２の比例ゲイン値との間の値に設定する。比例ゲインを設定するために、演算係数変更部１０４は、比例ゲインを第１の比例ゲイン値と第２の比例ゲイン値との間で連続的に変更する。また、比例ゲイン設定部１０６ｄは、減算器１１２ａから速度偏差が入力され、設定した比例ゲインと速度偏差との積を、加算器１１２ｂの第２の＋入力端子に入力する。
【００３４】
積分ゲイン設定部１０６ｅは、フィードバック制御用演算係数としての積分ゲインを、切削送り動作用に設定される第１の積分ゲイン値と第１の積分ゲイン値より小さい早送り動作用の第２の積分ゲイン値との間の値に設定する。積分ゲインを設定するために、演算係数変更部１０４は、積分ゲインを第１の積分ゲイン値と第２の積分ゲイン値との間で連続的に変更する。また、積分ゲイン設定部１０６ｅは、積分器１０５から１階積分速度偏差が入力され、設定した積分ゲインと１階積分速度偏差との積を、加算器１１２ｃの第２の＋入力端子に入力する。
【００３５】
なお、以下の説明において、演算係数は、位置フィードフォワード係数、速度フィードフォワード係数、位置制御ゲイン、比例ゲイン及び積分ゲインの全てを意味し、第１の演算係数値は、第１の位置フィードフォワード係数値、第１の速度フィードフォワード係数値、第１の位置制御ゲイン値、第１の比例ゲイン値及び第１の積分ゲイン値の全てを意味し、第２の演算係数値は、第２の位置フィードフォワード係数値、第２の速度フィードフォワード係数値、第２の位置制御ゲイン値、第２の比例ゲイン値及び第２の積分ゲイン値の全てを意味する。
【００３６】
電圧指令生成部９は、トルク指令を電流指令に変換し、電流指令の値とサーボモータ５の電流値との電流偏差に基づいて電圧指令を生成する。ＰＷＭ信号生成部１０は、電圧指令をＰＷＭ信号に変換し、ＰＷＭ信号をインバータ４に出力する。
【００３７】
本実施の形態では、速度検出部７、サーボモータ制御装置８、電圧指令生成部９及びＰＷＭ信号生成部１０は、入出力ポート、シリアル通信回路、Ａ／Ｄ変換器、カウンタ等を備えたプロセッサによって実現され、図示しないメモリに格納された処理プログラムに従って後に説明する処理を実行する。
【００３８】
上位制御装置１１は、ＣＮＣ（数値制御装置）等によって構成され、加工プログラム１２を解析し、後に説明するモード切替信号及び位置指令をサーボモータ制御装置８に出力する。このために、上位制御装置１１は、動作指令情報作成部１１ａ及び位置指令作成部１１ｂを有する。
【００３９】
動作指令情報作成部１１ａは、送り軸の現在の動作が早送り動作中である場合には加工プログラム１２の現在から所定の期間経過した後の動作指令を先読みし、送り軸の現在の動作が切削動作中である場合には加工プログラムの現在の動作指令を解析する。そして、動作指令情報作成部１１ａは、先読み又は解析した動作指令に応じてハイ又はローの演算係数変更信号を演算係数変更部１０４に出力する。したがって、演算係数変更部１０４は、演算係数変更信号がローからハイに切り替わった時点において演算係数を第２の演算係数値から第１の演算係数値に連続的に変更し、演算係数変更信号がハイからローに切り替わった時点において演算係数を第１の演算係数値から第２の演算係数値に連続的に変更する。このように演算係数変更部１０４にハイ又はローの演算係数変更信号が入力されることによって、加工プログラム１２の現在又は現在から所定の期間経過した後の動作指令に関する動作指令情報が演算係数変更部１０４に提供される。
【００４０】
なお、上述した「所定の期間」は、例えば、サーボモータ５に生じるショックが工作機械によって許容されるように設定された第１の演算係数値から第２の演算係数値に変更するまでの期間のうちの最短期間とする。
【００４１】
動作指令情報作成部１１ｂは、加工プログラム１２から現在の位置指令を解析し、位置指令を加算器１１１ａの＋入力端子に入力する。
【００４２】
図３は、図１の動作指令情報作成部の演算係数変更信号の作成処理のフローチャートである。このフローチャートは、工作機械による被加工対象の加工処理中に実行され、上位制御装置１１で実行される処理プログラムによって制御される。
【００４３】
先ず、動作指令情報作成部１１ａは、前回解析した加工プログラム１２の前回の動作指令すなわち早送り動作と切削送り動作のいずれかの動作を行わせる指令に基づいて、送り軸が早送り動作中であるか否か判断する（ステップＳ１）。
【００４４】
送り軸が早送り動作中である場合、送り軸の動作が所定期間経過後に早送り動作から切削送り動作に切り替わるか否かを判断するために、動作指令情報作成部１１ａは、加工プログラム１２の現在から所定の期間経過した後の動作指令を先読みする（ステップＳ２）。それに対し、送り軸が早送り動作中でない、即ち、送り軸が切削送り動作中である場合、送り軸の動作がすぐに切削送り動作から早送り動作に切り替わるか否かを判断するために、動作指令情報作成部１１ａは、加工プログラム１２の現在の動作指令を解析する（ステップＳ３）。
【００４５】
ステップＳ２又はステップＳ３の後、動作指令情報作成部１１ａは、先読みし又は解析した動作指令が早送り動作指令であるか否か判断する（ステップＳ４）。先読みし又は解析した動作指令が早送り動作指令である場合、動作指令情報作成部１１ａは、ローの演算係数変更信号を演算係数変更部１０４に送信し（ステップＳ５）、処理フローを終了する。それに対し、先読みし又は解析した動作指令が早送り動作指令でない、すなわち、先読みし又は解析した動作指令が切削送り動作指令である場合、動作指令情報作成部１１ａは、ハイの演算係数変更信号を演算係数変更部１０４に送信し（ステップＳ６）、処理フローを終了する。
【００４６】
なお、現在の動作指令は、例えばフラグを付した信号を上位制御装置１１からサーボモータ制御装置８に供給することによって上位制御装置１１からサーボモータ制御装置８に供給され、現在の動作指令に関する情報が、サーボモータ制御装置８に内蔵されたメモリ（図示せず）に格納される。サーボモータ制御装置８は、メモリに格納された現在の動作指令に関する情報を読み出すことによって送り軸の動作状態を判断することができる。
【００４７】
図４は、図１の演算係数変更部の演算係数変更処理のフローチャートである。このフローチャートは、工作機械による被加工対象の加工処理中に演算係数変更部１０４が演算係数変更信号を受信する度に実行され、サーボモータ制御装置８で実行される処理プログラムによって制御される。
【００４８】
先ず、演算係数変更部１０４は、今回受信した演算係数変更信号がローであるか否か判断する（ステップＳ１１）。今回受信した演算係数変更信号がローである場合、演算係数変更部１０４は、前回受信した演算係数変更信号がローであるか否か判断する（ステップＳ１２）。前回受信した演算係数変更信号がローである場合、演算係数変更部１０４は、サーボモータ制御装置８に内蔵されたカウンタのカウンタ値を１だけ増分する（ステップＳ１３）。それに対し、前回受信した演算係数変更信号がローである、すなわち、前回受信した演算係数変更信号がハイである場合、演算係数変更部１０４は、当該カウンタのカウンタ値を０にクリアする（ステップＳ１４）。
【００４９】
ステップＳ１３又はステップＳ１４の後、演算係数変更部１０４は、サーボモータ制御装置８に内蔵されたカウンタのカウンタ値が１未満であるか否か判断する（ステップＳ１５）。カウンタ値が１未満でない場合、演算係数変更部１０４は、送り軸が早送り動作を継続すると判断し、演算係数を第２の演算係数値のままにし（ステップＳ１６）、処理フローを終了する。それに対し、カウンタ値が１未満である場合、演算係数変更部１０４は、送り軸の動作が所定の期間経過後に早送り動作から切削送り動作に切り替わると予測し、演算係数を第２の演算係数値から第１の演算係数値に連続的に変更し（ステップＳ１７）、処理フローを終了する。
【００５０】
一方、ステップＳ１１において今回受信した演算係数変更信号がローであると判断された場合、演算係数変更部１０４は、前回受信した演算係数変更信号がローであるか否か判断する（ステップＳ１８）。前回受信した演算係数変更信号がローである場合、演算係数変更部１０４は、サーボモータ制御装置８に内蔵されたカウンタのカウンタ値を０にクリアする（ステップＳ１９）。それに対し、前回受信した演算係数変更信号がローである、すなわち、前回受信した演算係数変更信号がハイである場合、演算係数変更部１０４は、当該カウンタのカウンタ値を１だけ増分する（ステップＳ１４）。
【００５１】
カウンタ値を１だけ増分し又はカウンタ値を０にクリアした後、演算係数変更部１０４は、サーボモータ制御装置８に内蔵されたカウンタのカウンタ値が１未満であるか否か判断する（ステップＳ２１）。カウンタ値が１未満でない場合、演算係数変更部１０４は、送り軸が切削送り動作を継続すると判断し、演算係数を第２の演算係数値のままにし（ステップＳ２２）、処理フローを終了する。それに対し、カウンタ値が１未満である場合、演算係数変更部１０４は、送り軸の動作がすぐに切削送り動作から早送り動作に切り替わると予測し、演算係数を第１の演算係数値から第２の演算係数値に連続的に変更し（ステップＳ２３）、処理フローを終了する。
【００５２】
図５は、図１のサーボモータ駆動制御装置の動作を説明するためのグラフである。図５において、演算係数変更信号の時間変化を示すグラフ、演算係数の時間変化を示すグラフ、速度指令の時間変化を示すグラフ及びトルク指令の時間変化を示すグラフを上から順に示す。
【００５３】
図５において、演算係数変更部１０４は、早送り動作中の任意の時点である第１の時点としての時点ｔ１の後の第２の時点としての時点ｔ２において加工プログラム１２の動作指令が早送り動作指令から切削送り動作指令に切り替わることを、上位制御装置１１によって先読みした時点ｔ２の動作命令に基づいて時点ｔ１で予測する。その後、演算係数変更部１０４は、時点ｔ１と時点ｔ２との間の期間（第１の期間）に亘って演算係数を第２の演算係数値から第１の演算係数値に連続的に変更する。なお、演算係数の第２の演算係数値から第１の演算係数値への連続的な変更を、時点ｔ１より後かつ時点ｔ２より前の第３の時点としての時点ｔ３と時点ｔ２との間の期間（第２の期間）に亘って行ってもよい。また、図５において、第２の演算係数値から第１の演算係数値への連続的な変更を、線形的に、すなわち、第１の期間又は第２の期間を時定数とする直線補間によって行っているが、連続的な変更は線形的な変更である必要はなく、連続的な変更を例えば指数関数的な変更とすることもできる。
【００５４】
このように演算係数を第１の期間又は第２の期間に亘って第２の演算係数値から第１の演算係数値に連続的に変更することによって、切削送り動作開始時である時点ｔ２には演算係数が切削送り動作用の第１の演算係数値に設定されるので、工作機械の送り軸が早送り動作から切削送り動作に切り替わる直後に加工精度が悪化しない。また、演算係数を第１の期間又は第２の期間に亘って第２の演算係数値から第１の演算係数値に連続的に変更することによって、サーボモータ５の速度指令を零にしなくてもトルク指令が不連続にならないので、サーボモータ５のショックが発生しない。したがって、工作機械による被加工対象の加工中にサーボモータ５を停止させる必要がなくなり、工作機械による被加工対象の加工時間を短縮することができる。
【００５５】
また、演算係数変更部１０４は、第４の時点としての時点ｔ４において動作指令が切削送り動作指令から早送り動作指令に切り替わると予測する。その後、演算係数変更部１０４は、時点ｔ４と時点ｔ４より後の当該早送り動作指令に従う早送り動作中の任意の時点である第５の時点としてのｔ５との間の期間（第３の期間）に亘って、演算係数を第１の演算係数値から第２の演算係数値に連続的に変更する。これによって、送り軸の送り動作が切削送り動作から早送り動作に切り替わるとすぐに演算係数の第１の演算係数値から第２の演算係数値への変更を開始するので、送り軸の切削送り動作時には演算係数が常に第１の演算係数値に設定される。
【００５６】
したがって、本実施の形態によれば、工作機械による被加工対象の加工時間を短縮し、かつ、工作機械の送り軸が早送り動作から切削送り動作に切り替わる直後に加工精度が悪化しない。
【００５７】
図６は、本発明の第２の実施の形態によるサーボモータ駆動制御装置を有するシステムのブロック図である。図１に示すシステムは、三相交流電源１と、コンバータ２と、平滑用コンデンサ３と、インバータ４と、サーボモータ５と、位置検出部６と、速度検出部７と、サーボモータ制御装置８’と、電圧指令生成部９と、ＰＷＭ信号生成部１０と、外部制御装置としての上位制御装置１１’と、を有する。
【００５８】
図６において、三相交流電源１、コンバータ２、平滑用コンデンサ３、インバータ４、サーボモータ５、位置検出部６、速度検出部７、電圧指令生成部９及びＰＷＭ信号生成部１０は、図１に示した第１の実施の形態の三相交流電源１、コンバータ２、平滑用コンデンサ３、インバータ４、サーボモータ５、位置検出部６、速度検出部７、電圧指令生成部９及びＰＷＭ信号生成部１０と同一構成を有するので、これらの説明を省略する。
【００５９】
図６に示す実施の形態において、サーボモータ制御装置８’は、図１の動作指令情報作成部１１ａと同一機能を有する動作指令情報作成部１０７を更に有する。また、上位制御装置１１’は、図１に示した第１の実施の形態の動作指令情報作成部１１ａの代わりに、加工プログラム１２を取得して動作指令情報作成部１０７に提供する加工プログラム提供部１１ａ’を有する。
【００６０】
図７は、図６の演算係数変更部及び動作指令情報作成部の演算係数変更信号の作成処理及び演算係数変更処理のフローチャートである。このフローチャートは、工作機械による被加工対象の加工処理中に実行され、サーボモータ制御装置８’で実行される処理プログラムによって制御される。
【００６１】
先ず、動作指令情報作成部１０７は、前回解析した加工プログラム１２の前回の動作指令すなわち早送り動作と切削送り動作のいずれかの動作を行わせる指令に基づいて、送り軸が早送り動作中であるか否か判断する（ステップＳ３１）。
【００６２】
送り軸が早送り動作中である場合、送り軸の動作が所定期間経過後に早送り動作から切削送り動作に切り替わるか否かを判断するために、動作指令情報作成部１０７は、加工プログラム１２の現在から所定の期間経過した後の動作指令を先読みする（ステップＳ３２）。それに対し、送り軸が早送り動作中でない、即ち、送り軸が切削送り動作中である場合、送り軸の動作がすぐに切削送り動作から早送り動作に切り替わるか否かを判断するために、動作指令情報作成部１０７は、加工プログラム１２の現在の動作指令を解析する（ステップＳ３３）。
【００６３】
ステップＳ３２又はステップＳ３３の後、動作指令情報作成部１０７は、先読みし又は解析した動作指令が早送り動作指令であるか否か判断する（ステップＳ３４）。先読みし又は解析した動作指令が早送り動作指令である場合、動作指令情報作成部１０７は、ローの演算係数変更信号を演算係数変更部１０４に送信する（ステップＳ３５）。それに対し、先読みし又は解析した動作指令が早送り動作指令でない、すなわち、先読みし又は解析した動作指令が切削送り動作指令である場合、動作指令情報作成部１０７は、ハイの演算係数変更信号を演算係数変更部１０４に送信する（ステップＳ３６）。
【００６４】
ステップＳ３５又はステップＳ３６の後、演算係数変更部１０４は、今回受信した演算係数変更信号がローであるか否か判断する（ステップＳ３７）。今回受信した演算係数変更信号がローである場合、演算係数変更部１０４は、前回受信した演算係数変更信号がローであるか否か判断する（ステップＳ３８）。前回受信した演算係数変更信号がローである場合、演算係数変更部１０４は、サーボモータ制御装置８’に内蔵されたカウンタのカウンタ値を１だけ増分する（ステップＳ３９）。それに対し、前回受信した演算係数変更信号がローである、すなわち、前回受信した演算係数変更信号がハイである場合、演算係数変更部１０４は、当該カウンタのカウンタ値を０にクリアする（ステップＳ４０）。
【００６５】
ステップＳ３９又はステップＳ４０の後、演算係数変更部１０４は、サーボモータ制御装置８’に内蔵されたカウンタのカウンタ値が１未満であるか否か判断する（ステップＳ４１）。カウンタ値が１未満でない場合、演算係数変更部１０４は、送り軸が早送り動作を継続すると判断し、演算係数を第２の演算係数値のままにし（ステップＳ４２）、処理フローを終了する。それに対し、カウンタ値が１未満である場合、演算係数変更部１０４は、送り軸の動作が所定の期間経過後に早送り動作から切削送り動作に切り替わると予測し、演算係数を第２の演算係数値から第１の演算係数値に連続的に変更し（ステップＳ４３）、処理フローを終了する。
【００６６】
一方、ステップＳ３７において今回受信した演算係数変更信号がローであると判断された場合、演算係数変更部１０４は、前回受信した演算係数変更信号がローであるか否か判断する（ステップＳ４４）。前回受信した演算係数変更信号がローである場合、演算係数変更部１０４は、サーボモータ制御装置８’に内蔵されたカウンタのカウンタ値を０にクリアする（ステップＳ４５）。それに対し、前回受信した演算係数変更信号がローである、すなわち、前回受信した演算係数変更信号がハイである場合、演算係数変更部１０４は、当該カウンタのカウンタ値を１だけ増分する（ステップＳ４６）。
【００６７】
ステップＳ４４又はステップＳ４５の後、演算係数変更部１０４は、サーボモータ制御装置８’に内蔵されたカウンタのカウンタ値が１未満であるか否か判断する（ステップＳ４７）。カウンタ値が１未満でない場合、演算係数変更部１０４は、送り軸が切削送り動作を継続すると判断し、演算係数を第２の演算係数値のままにし（ステップＳ４８）、処理フローを終了する。それに対し、カウンタ値が１未満である場合、演算係数変更部１０４は、送り軸の動作がすぐに切削送り動作から早送り動作に切り替わると予測し、演算係数を第１の演算係数値から第２の演算係数値に連続的に変更し（ステップＳ４９）、処理フローを終了する。
【００６８】
本実施の形態によれば、加工プログラム１２の所定の期間経過後の動作指令の先読みを、サーボモータ制御装置８’内で行うことができる。
【００６９】
図８は、本発明の第３の実施の形態によるサーボモータ駆動制御装置を有するシステムのブロック図である。図１に示すシステムは、三相交流電源１と、コンバータ２と、平滑用コンデンサ３と、インバータ４と、サーボモータ５と、位置検出部６と、速度検出部７と、サーボモータ制御装置８”と、電圧指令生成部９と、ＰＷＭ信号生成部１０と、外部制御装置としての上位制御装置１１’と、を有する。
【００７０】
図８において、三相交流電源１、コンバータ２、平滑用コンデンサ３、インバータ４、サーボモータ５、位置検出部６、速度検出部７、電圧指令生成部９、ＰＷＭ信号生成部１０及び上位制御装置１１’は、図６に示した第２の実施の形態の三相交流電源１、コンバータ２、平滑用コンデンサ３、インバータ４、サーボモータ５、位置検出部６、速度検出部７、電圧指令生成部９、ＰＷＭ信号生成部１０及び上位制御装置１１’と同一構成を有するので、これらの説明を省略する。
【００７１】
図８に示す実施の形態において、サーボモータ制御装置８”は、演算係数変更部１０４及び動作指令情報作成部１０７の代わりに、動作指令情報作成部１０７’を有する演算係数変更部１０４’を有し、動作指令情報作成部１０７’は、図６の動作指令情報作成部１０７と同一機能を有する。
【００７２】
本実施の形態によれば、加工プログラム１２の所定の期間経過後の動作を予測するために演算係数変更信号を送受信する必要がない。
【００７３】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、商用交流電源として三相交流電源３を用いたが、三相以外の多相交流電源を商用交流電源として用いることもできる。
【００７４】
また、フィードフォワード用演算係数とフィードバック用演算係数の両方を第１の演算係数値と第２の演算係数値との間に設定する場合について説明したが、フィードフォワード用演算係数とフィードバック用演算係数のいずれか一方を第１の演算係数値と第２の演算係数値との間に設定する場合にも本発明を適用することができる。
【００７５】
また、演算係数として位置フィードフォワード係数、速度フィードフォワード係数、位置制御ゲイン、比例ゲイン及び積分ゲインを用いる場合について説明したが、演算係数としてこれら位置フィードフォワード係数、速度フィードフォワード係数、位置制御ゲイン、比例ゲイン及び積分ゲインのうちの少なくとも一つを用いた場合、演算係数として位置フィードフォワード係数、速度フィードフォワード係数、位置制御ゲイン、比例ゲイン及び積分ゲイン以外の演算係数を用いる場合等にも本発明を適用することができる。
【００７６】
また、トルク指令を生成するために位置指令と速度指令の両方を用いる場合について説明したが、トルク指令を生成するために位置指令と速度指令のいずれか一方を用いる場合にも本発明を適用することができる。
【００７７】
また、トルク指令を生成するために位置情報と速度情報の両方を提供する場合について説明したが、トルク指令を生成するために位置情報と速度情報のいずれか一方を用いる場合にも本発明を適用することができる。
【００７８】
さらに、フィードフォワード制御とフィードバック制御の両方を行う場合について説明したが、フィードバック制御のみを行う場合にも本発明を適用することができる。
【符号の説明】
【００７９】
１    三相交流電源
２    コンバータ
３    平滑用コンデンサ
４    インバータ
５    サーボモータ
６    位置検出部
７    速度検出部
８，８’，８’’    サーボモータ制御装置
９    電圧指令生成部
１０    ＰＷＭ信号生成部
１１，１１’    上位制御装置
１１ａ，１０７，１０７’    動作指令情報作成部
１１ｂ    位置指令作成部
１２    加工プログラム
１０１    トルク指令生成部
１０２，１０３    微分器
１０４，１０４’    演算係数変更部
１０５    積分器
１０６    演算係数設定部
１０６ａ    位置フィードフォワード係数設定部
１０６ｂ    速度フィードフォワード係数設定部
１０６ｃ    位置制御ゲイン設定部
１０６ｄ    比例ゲイン設定部
１０６ｅ    積分ゲイン設定部
１１１    位置制御部
１１１ａ，１１２ａ    減算器
１１１ｂ，１１２ｂ，１１２ｃ    加算器
１１２    速度制御部
【要約】
【課題】工作機械による被加工対象の加工時間を短縮し、かつ、工作機械の送り軸が早送り動作から切削送り動作に切り替わる直後に加工精度が悪化しないサーボモータ制御装置を提供する。
【解決手段】演算係数設定部１２５は、フィードフォワード制御情報とフィードバック制御情報のうちの少なくとも一方を作成するための演算係数を、切削送り動作用に設定される第１の演算係数値と第１の演算係数値より小さい早送り動作用の第２の演算係数値との間の値に設定する。演算係数変更部１２３は、早送り動作中の任意の時点である第１の時点の後の第２の時点において動作指令が早送り動作指令から切削送り動作指令に切り替わることが第１の時点で予測される場合、演算係数を第２の値から第１の演算係数値に連続的に変更する。
【選択図】図１【図１】
0005324679.tif 000002
【図２】
0005324679.tif 000003
【図３】
0005324679.tif 000004
【図４】
0005324679.tif 000005
【図５】
0005324679.tif 000006
【図６】
0005324679.tif 000007
【図７】
0005324679.tif 000008
【図８】
0005324679.tif 000009