(57)【要約】  サーボ制御部（５２）により工作機械（１０）の送り軸を駆動する数値制御方法において、送り軸のサーボ制御部（５２）の動作をモデル化して伝達関数を求め、送り軸の周波数応答を用いて、工作機械のサーボ制御部（５２）における位置ループの閉ループ伝達関数（ＧＢＰ）および速度ループの閉ループ伝達関数のうちの少なくとも一方を測定し、測定された閉ループ伝達関数を用いて位置ループの制御対象（ＰＰ）および速度ループの制御対象のうちの少なくとも一方を求め、制御対象から位置ループのモデル化誤差（ΔＰＰ）および速度ループのモデル化誤差のうちの少なくとも一方を求め、閉ループ伝達関数およびモデル化誤差のうちの少なくとも一方を用いてサーボ制御部（５２）の少なくとも一つの制御パラメータを算出するようにした。これにより、送り軸の状態に応じた最適な複数の制御パラメータを簡単かつ自動で求める。
2012057235.tif 000002
【特許請求の範囲】
【請求項１】
サーボ制御部により工作機械の送り軸を駆動する数値制御方法において、
前記送り軸のサーボ制御部の動作をモデル化して伝達関数を求め、
前記送り軸の周波数応答を用いて、前記工作機械のサーボ制御部における位置ループの閉ループ伝達関数および速度ループの閉ループ伝達関数のうちの少なくとも一方を測定し、
測定された閉ループ伝達関数を用いて前記位置ループの制御対象および前記速度ループの制御対象のうちの少なくとも一方を求め、
前記制御対象から前記位置ループのモデル化誤差および前記速度ループのモデル化誤差のうちの少なくとも一方を求め、
前記閉ループ伝達関数およびモデル化誤差のうちの少なくとも一方を用いて前記サーボ制御部の少なくとも一つの制御パラメータを算出することを特徴とする数値制御方法。
【請求項２】
前記位置ループのモデル化誤差を用いて、前記位置ループのフィードフォワードゲインを制御パラメータとして求めるか、または、前記速度ループのモデル化誤差を用いて、前記速度ループのフィードフォワードゲインを制御パラメータとして求めるようにした請求項１に記載の数値制御方法。
【請求項３】
前記位置ループの閉ループ伝達関数および前記位置ループのモデル化誤差からスモールゲイン定理を用いて、前記位置ループのフィードバックゲインを求めるか、または、前記速度ループの閉ループ伝達関数および前記速度ループのモデル化誤差からスモールゲイン定理を用いて、前記速度ループのフィードバックゲインを求めるようにした請求項１に記載の数値制御方法。
【請求項４】
前記工作機械のサーボ制御部における位置ループの閉ループ伝達関数を求め、
予め定めた加速度および時間を少なくとも含む複数の組を前記位置ループの閉ループ伝達関数に入力し、
前記送り軸の位置指令と実際の位置との間の偏差が所望の値以下になるように、前記複数の組から、加速度および時間を少なくとも含む一つの組を加減速パラメータとして選択する請求項１に記載の数値制御方法。
【請求項５】
算出された制御パラメータと、当該制御パラメータ用の所定の閾値とを比較し、
前記制御パラメータが前記閾値以上である場合には、警告するようにした請求項１に記載の数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボ制御部により工作機械の送り軸を駆動する数値制御方法に関する。特に、本発明は、複数の送り軸を備えた工作機械の数値制御方法に関する。
【背景技術】
【０００２】
工作機械は一つ以上の直動軸および／または回転送り軸（以下、これら直動軸および回転送り軸を単に「送り軸」と呼ぶ場合がある）を含んでおり、これら送り軸を駆動するためのモータは数値制御装置により制御されている。工作機械においては、ワークの加工処理内容に応じて異なる工具が取付けられ、また、ワークを工作機械に取付けるための治具もワークに応じて使用される。【０００３】
このような工作機械を含むシステムにおいて、送り軸には、加減速時定数、反転補正値、各種ゲイン、共振フィルタ定数などの制御パラメータを設定する必要がある。特許文献１には、モータの時間応答と理想的な応答誤差によって、制御パラメータとしてのフィードバック補償器（積分ゲイン）を調整することが開示されている。また、特許文献２には、機械損傷係数を算出し、これを閾値と比較することで異常を判断することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２９９１２２号公報
【特許文献２】特開２００９−１５４２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１においては、フィードバック補償器の調整を繰返す必要があるので、処理に時間が掛かり、調整を頻繁に行うのは困難である。また、特許文献１では、フィードバック補償器以外の制御パラメータの設定については開示されていない。さらに、送り軸の現在の状態に適した加減速パラメータ（加減速時における加速度、加速度変化率および所要時間）を自動的に設定することも開示されていない。【０００６】
さらに、特許文献２では、機械損傷係数を通じて特定の異常を判断しているにすぎず、機械損傷係数では判断できない異常を検出することまではできない。このため、特許文献２に開示される異常判断の信頼性は比較的低く、多面的な判断を通じて異常判断の信頼性を高めることが望まれている。【０００７】
本発明はこのような事情に鑑みてなされたものであり、送り軸の状態に応じた最適な複数の制御パラメータおよび加減速パラメータを簡単に求められると共に、信頼性の高い異常判断を行うことのできる数値制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前述した目的を達成するために１番目の発明によれば、サーボ制御部により工作機械の送り軸を駆動する数値制御方法において、前記送り軸のサーボ制御部の動作をモデル化して伝達関数を求め、前記送り軸の周波数応答を用いて、前記工作機械のサーボ制御部における位置ループの閉ループ伝達関数および速度ループの閉ループ伝達関数のうちの少なくとも一方を測定し、測定された閉ループ伝達関数を用いて前記位置ループの制御対象および前記速度ループの制御対象のうちの少なくとも一方を求め、前記制御対象から前記位置ループのモデル化誤差および前記速度ループのモデル化誤差のうちの少なくとも一方を求め、前記閉ループ伝達関数およびモデル化誤差のうちの少なくとも一方を用いて前記サーボ制御部の少なくとも一つの制御パラメータを算出する数値制御方法が提供される。【０００９】
２番目の発明によれば、１番目の発明において、前記位置ループのモデル化誤差を用いて、前記位置ループのフィードフォワードゲインを制御パラメータとして求めるか、または、前記速度ループのモデル化誤差を用いて、前記速度ループのフィードフォワードゲインを制御パラメータとして求めるようにした。【００１０】
３番目の発明によれば、１番目の発明において、前記位置ループの閉ループ伝達関数および前記位置ループのモデル化誤差からスモールゲイン定理を用いて、前記位置ループのフィードバックゲインを求めるか、または、前記速度ループの閉ループ伝達関数および前記速度ループのモデル化誤差からスモールゲイン定理を用いて、前記速度ループのフィードバックゲインを求めるようにした。【００１１】
４番目の発明によれば、１番目の発明において、前記工作機械のサーボ制御部における位置ループの閉ループ伝達関数を求め、予め定めた加速度および時間を少なくとも含む複数の組を前記位置ループの閉ループ伝達関数に入力し、前記送り軸の位置指令と実際の位置との間の偏差が所望の値以下になるように、前記複数の組から、加速度および時間を少なくとも含む一つの組を加減速パラメータとして選択する。【００１２】
５番目の発明によれば、１番目の発明において、算出された制御パラメータと、当該制御パラメータ用の所定の閾値とを比較し、前記制御パラメータが前記閾値以上である場合には、警告するようにした。
【発明の効果】
【００１３】
１番目の発明においては、サーボ制御部の動作をモデル化して得られた閉ループ伝達関数および／またはモデル化誤差を用いているので、最適な複数種類の制御パラメータを迅速かつ自動的に求めることができる。【００１４】
２番目の発明においては、位置ループのフィードフォワードゲインまたは速度ループのフィードフォワードゲインを制御パラメータとして求めることができる。【００１５】
３番目の発明においては、位置ループのフィードバックゲインまたは速度ループのフィードバックゲインを制御パラメータとして求めることができる。【００１６】
４番目の発明においては、送り軸の状態に応じて適切な加減速パラメータ（加減速時における加速度、加速度変化率および所要時間）を設定することができる。また、このような設定を自動的に行えるので、工作機械による加工時間全体を短くすることも可能である。【００１７】
５番目の発明においては、複数種類の最適化された制御パラメータを用いて異常判断できるので、異常判断を多面的に行うことができ、その信頼性を高めることができる。また、このような異常判断を自動的に行えるので、オペレータに対する負担を軽減できる。なお、閾値は加工されるべきワークの種類、工具の質量などに応じて異なるものとする。
【図面の簡単な説明】
【００１８】
【図１】本発明の数値制御工作機械の概略図である。
【図２】本発明の数値制御工作機械を制御するサーボ制御部の構成ブロック線図である。
【図３】図２に示される位置制御部およびその周辺を示すブロック線図である。
【図４】位置制御部に関する制御パラメータを算出するためのフローチャートである。
【図５ａ】モデル化誤差を近似的にカーブフィットする手法を示す第一の図である。
【図５ｂ】モデル化誤差を近似的にカーブフィットする手法を示す第二の図である。
【図６】スモールゲイン定理を用いてモデル化誤差からフィードバックゲインを求めることを説明するための図である。
【図７】図２に示される速度制御部およびその周辺を示すブロック線図である。
【図８】速度制御部に関する制御パラメータを算出するためのフローチャートである。
【図９ａ】速度ループのモデル化誤差を求める手法を示す第一の図である。
【図９ｂ】速度ループのモデル化誤差を求める手法を示す第二の図である。
【図１０ａ】ゲインと周波数との関係を示す図である。
【図１０ｂ】ゲインと周波数との関係を示す図である。
【図１１】（ａ）送り軸の送り速度と時間との関係を示す図である。（ｂ）加速度と時間との関係を示す図である。（ｃ）加速度、時間などの表を示す図である。
【図１２】制御パラメータに基づいて異常判断を行うための処理を示すフローチャートである。
【図１３ａ】位置ループを簡潔に示す図である。
【図１３ｂ】速度ループを簡潔に示す図である。
【図１４】工作機械の工具の一つの加工経路を示す図である。
【図１５ａ】図１４におけるＸ方向速度、Ｘ方向加速度およびＸ方向誤差と時間との関係を示す図である。
【図１５ｂ】図１４におけるＸ方向速度、Ｘ方向加速度およびＸ方向誤差と時間との関係を示す図である。
【図１６】図１４の閾値パラメータを計算するためのフローチャートである。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
【００２０】
図１は本発明の数値制御工作機械の概略図である。図１において、数値制御工作機械１０は所謂横形マシニングセンタであり、工場等の床面に設置されるベッド１２を具備している。ベッド１２の上面には、Ｚ軸ガイドレール２８が水平なＺ軸方向（図１において左右方向）に延設されており、Ｚ軸ガイドレール２８には、ワーク用ジグＧを介してワークＷを固定するためのテーブル１４が摺動自在に取り付けられている。図１は、テーブル１４上にＢ軸方向に回転送り可能なＮＣロータリテーブルを固定し、その上にワークＷを積載している例を示しているが、ＮＣロータリテーブルを介在させることなくテーブル１４上に直接ワークＷを積載しても良い。
【００２１】
ベッド１２の上面には、更に、Ｘ軸ガイドレール３６がＺ軸に直交し、かつ水平なＸ軸方向（図１の紙面に垂直方向）に延設されており、Ｘ軸ガイドレール３６にはコラム１６が摺動自在に取り付けられている。コラム１６においてワークＷに対面する前面には、Ｘ軸およびＺ軸に直交するＹ軸方向（図１において上下方向）にＹ軸ガイドレール３４が延設されており、Ｙ軸ガイドレール３４には、主軸２０を回転自在に支持する主軸頭１８が摺動自在に取り付けられている。
【００２２】
ベッド１２内においてテーブル１４の下側にはＺ軸送りねじ２４がＺ軸方向に延設されており、テーブル１４の下面にはＺ軸送りねじ２４に螺合するナット２６が固定されている。Ｚ軸送りねじ２４の一端にはＺ軸送りサーボモータＭｚが連結されており、Ｚ軸送りサーボモータＭｚを駆動しＺ軸送りねじ２４を回転させることにより、テーブル１４はＺ軸ガイドレール２８に沿って移動する。同様にベッド１２内においてコラム１６の下側にはＸ軸送りねじ（図示せず）がＸ軸方向に延設されており、コラム１６の下面には前記Ｘ軸送りねじに螺合するナット（図示せず）が固定されている。
【００２３】
前記Ｘ軸送りねじの一端にはＸ軸送りサーボモータＭｘが連結されており、Ｘ軸送りサーボモータＭｘを駆動し前記Ｘ軸送りねじを回転させることにより、コラム１６はＸ軸ガイドレール３６に沿って移動する。更に、コラム１６内にはＹ軸送りねじ３２がＹ軸方向に延設されており、主軸頭１８の背面にはＹ軸送りねじ３２に螺合するナット３０が固定されている。Ｙ軸送りねじ３２の上端にはＹ軸送りサーボモータＭｙが連結されており、Ｙ軸送りサーボモータＭｙを駆動しＹ軸送りねじ３２を回転させることにより、主軸頭１８はＹ軸ガイドレール３４に沿って移動する。
【００２４】
主軸２０の先端には工具２２、例えばエンドミルが装着されている。工具２２を回転させながら、コラム１６、主軸頭１８、テーブル１４を各々Ｘ軸、Ｙ軸、Ｚ軸方向に動作させることにより、テーブル１４に固定されたワークＷを所望形状に切削加工する。ＮＣロータリテーブルが固定されている場合、数値制御工作機械１０は、更にＢ軸を有する４軸の数値制御工作機械と言える。
【００２５】
数値制御工作機械１０は、コラム１６、主軸頭１８、テーブル１４のＸ軸、Ｙ軸、Ｚ軸方向に移動させるＸ軸、Ｙ軸、Ｚ軸送りサーボモータＭｘ、Ｍｙ、Ｍｚを制御する数値制御部４０を具備している。ＮＣロータリテーブルを有する場合には、Ｂ軸送りサーボモータ（図示せず）を具備している。
【００２６】
数値制御部４０は、ＮＣプログラム４２を読み取りこれを解釈するプログラム読取解釈部４４、解釈されたプログラムを一時的に記憶する解釈済みプログラム記憶部４６、解釈済みプログラム記憶部４６からプログラムを適宜引き出して実行プログラムデータを発するプログラム実行指令部４８、プログラム実行指令部４８からの実行プログラムデータに基づいてＸ軸、Ｙ軸、Ｚ軸の各々への位置指令値、速度指令値、トルク指令値を発する分配制御部５０、分配制御部５０からの位置指令値、速度指令値、トルク指令値および後述するフィードバック信号に基づいて送り軸モータ駆動部５４へトルク指令値または電流指令値を発するサーボ制御部５２を含んでいる。なお、Ｂ軸についても同様に、分配制御部５０がＢ軸への位置指令値、角速度指令値、角加速度指令値等を発する。
【００２７】
送り軸モータ駆動部５４は、サーボ制御部５２からのトルク指令値または電流指令値に基づき電流を出力してＸ軸、Ｙ軸、Ｚ軸の各々の送り軸モータＭｘ、Ｍｙ、Ｍｚを駆動する。更に、本実施形態では、サーボ制御部５２から送り軸モータ駆動部５４へのトルク指令値または電流指令値を補正する演算制御部５６が設けられている。演算制御部５６は、後述するモデル化処理、制御パラメータの算出などの各種の処理を行う役目を果たす。
【００２８】
図２は本発明の数値制御工作機械を制御するサーボ制御部の構成ブロック図である。図２の実施形態では、図１に対応する構成要素は同じ参照符号にて指示されている。
【００２９】
サーボ制御部５２は、分配制御部５０からの位置指令値を加減速処理する加減速処理部１０２、テーブル１４に取り付けたデジタル直線スケール等の位置検出器Ｓｐの位置フィードバック信号を位置指令値から減算する減算器５８、減算器５８からの出力に基づき位置を制御する位置制御部６０を含んでいる。さらに、サーボ制御部５２は、分配制御部５０からの位置指令値などに基づいて、送り軸のバックラッシに関する補正値を公知の手法で算出する反転補正値算出部９６を含んでいる。さらに、サーボ制御部５２は算出された反転補正値を位置制御部６０から出力された速度指令に加算する加算器６１、送り軸モータＭに設けたパルスコーダＰＣからの速度フィードバック信号を速度指令から減算する減算器６２、減算器６２の出力に基づき速度を制御する速度制御部６４を含んでいる。
【００３０】
一方、分配制御部５０からの位置指令値、速度指令値、トルク指令値は、速度フィードフォワード制御部９０およびトルクフィードフォワード制御部９２へも刻々と送出されている。速度フィードフォワード制御部９０およびトルクフィードフォワード制御部９２は、分配制御部５０からの位置指令値等に基づいて、速度フィードフォワード値およびトルクフィードフォワード値を生成する。速度フィードフォワード値と位置制御部６０からの出力とは加算機９８において加算され、送り軸モータ駆動部５４に供給される。さらに、トルクフィードフォワード値と、速度制御部６４からの出力とは、加算器９４において加算され、送り軸モータ駆動部５４に供給される。
【００３１】
図３は図２に示される位置制御部およびその周辺を示すブロック線図である。図３に示されるように、減算器５８からの出力には、位置比例ゲイン（位置ループのフィードバックゲイン）Ｋｐｐが乗算される。また、図３においては、速度フィードフォワード制御部９０のフィードフォワードゲインは伝達関数ＧVFでモデル化される。
【００３２】
図３においては、加減速処理後の位置指令と、位置検出器Ｓｐで検出される実位置との間の領域は、位置ループの閉ループ伝達関数ＧBPとしてモデル化される。さらに、図３に示されるように、閉ループ伝達関数ＧBP内においては、位置ループの制御対象ＰPがモデル化されており、さらに、位置ループの制御対象ＰP内には、位置ループの制御対象モデルＰP0が示されている。なお、図中における「ｓ」はラプラス演算子である。また、図３の「ΔＰP」は工作機械の状態によって変化するとともに、加減速処理部１０２、伝達関数ＧVFおよび位置比例ゲインＫｐｐは最適化によって変化するものとする。
【００３３】
図４は、位置制御部に関する制御パラメータを算出するためのフローチャートである。なお、以下の処理は演算制御部５６が行うものとする。本発明においては、図４に示される処理により、位置制御部６０の制御パラメータとしての伝達関数ＧVF（フィードフォワードゲイン）および位置比例ゲインＫｐｐ（フィードバックゲイン）を算出する。
【００３４】
はじめに、ステップＳ１で、位置ループの閉ループ伝達関数ＧBPを測定する。これは、図３に示される加減速処理後の位置指令と、位置検出器Ｓｐにより検出される実位置との比から求められる。
【００３５】
次いで、ステップＳ２において、位置ループの閉ループ伝達関数ＧBPに基づいて以下の式（１）により位置ループの制御対象ＰPを求める。
【数１】
2012057235.tif 000003
【００３６】
次いで、ステップＳ３において、以下の式（２）により位置ループの制御対象ＰPからモデル化誤差ΔＰPを求める。ここで、モデル化誤差ΔＰPは、モデル化することにより生じた実際の値に対する誤差を意味する。
【数２】
2012057235.tif 000004
【００３７】
その後、ステップＳ４において、以下の式（３）により、モデル化誤差ΔＰPに基づいてフィードフォワードゲインＧVF（図３参照）を算出する。
【数３】
2012057235.tif 000005
【００３８】
このとき、以下の式（４）を用いて、モデル化誤差ΔＰPを近似的にカーブフィットする手法を利用する。
【数４】
2012057235.tif 000006
【００３９】
具体的にはモデル化誤差のデータ群を用い、次数ｎの伝達関数Δcf（ｓ）で近似する。本発明では、近似する目的で偏分反復法を用いて、伝達関数の係数を求める。なお、計算時間は次数ｎの値に応じて定まる。次数ｎが比較的小さい場合には、計算時間は短くて足りるが、高周波数側での精度に乏しい。
【００４０】
図５ａはモデル化誤差を近似的にカーブフィットする手法を示す第一の図であり、縦軸はゲイン（ｄｂ）、横軸は周波数ｆ（Ｈｚ）を示している。図５ａに示されるように、近似のための伝達関数Δcf（ｓ）は、低周波数側では実際のモデル化誤差Δに概ね一致するものの、高周波数側ではモデル化誤差Δから大きく離間する。
【数５】
2012057235.tif 000007
【００４１】
これに対し、次数ｎが比較的大きい場合には、図５ａと同様な図である図５ｂに示されるように、伝達関数Δcf（ｓ）は、実際のモデル化誤差Δに全周波数領域に亙って概ね一致する。ただし、次数ｎが大きいと計算時間がかかるので、演算制御部５６の処理能力を考慮して決める。このようにして得られた伝達関数Δcf（ｓ）をモデル化誤差ΔＰPとして使用して式（３）よりフィードフォワードゲインＧVFを求める。
【００４２】
最終的に、図４のステップＳ５において、スモールゲイン定理を用いて、位置ループの閉ループ伝達関数ＧBPおよびモデル化誤差ΔＰPに基づいて位置比例ゲインＫｐｐを式（５）より求める。スモールゲイン定理により導かれる関係から、閉ループ伝達関数（式（５）では、「Ｔ」とする）の逆数が、モデル化誤差Δよりも周波数応答でみて、全周波数領域で大きいか否かで安定性を評価する。
【００４３】
図６はスモールゲイン定理を用いてモデル化誤差からフィードバックゲインを求めることを説明するための図である。図６においては、縦軸はゲイン（ｄｂ）、横軸は周波数ｆ（Ｈｚ）を示している。ここで、閉ループ伝達関数Ｔの逆数は、モデル化誤差Δに近いことが好ましく、閉ループ伝達関数Ｔの逆数をモデル化誤差Δに向かって矢印方向にシフトさせることが望まれる。
【００４４】
しかしながら、図６において破線で示されるように、閉ループ伝達関数Ｔの逆数の少なくとも一部分がモデル化誤差Δと交差すると、モデル化誤差Δが閉ループ伝達関数Ｔの逆数よりも大きい領域が発生する。この場合には、スモールゲイン定理を満たさないようになり、機械の安定性が損なわれる。従って、モデル化誤差Δに交差または接することなしに、閉ループ伝達関数Ｔの逆数をモデル化誤差Δ近傍に設定する（図６の実線を参照されたい）。このようにして位置ループの閉ループ伝達関数ＧBPを定め、式（１）等より位置比例ゲインＫｐｐを算出する。
【００４５】
図７は図２に示される速度制御部およびその周辺を示すブロック線図である。図７においては、反転補正値算出部９６により作成された反転補正値が加算器６１において速度指令に加算され、さらに、パルスコーダＰＣで検出された速度が減算器６２において減算される。そのような速度指令は速度ループのコントローラＣｖ（＝Ｋｖｐ・Ｋｖｉ／ｓ）に入力される。
【００４６】
図７に示されるように、速度ループのコントローラＣｖにおいては、減算器６２からの出力は分岐され、一方では比例ゲインＫｖｐ（速度ループの第一のフィードバックゲイン）が乗算されると共に、他方では積分ゲインＫｖｉ（速度ループの第二のフィードバックゲイン）およびラプラス演算子ｓの逆数が乗算され、加算器９４で互いに加算される。さらに、トルクフィードフォワード制御部９２は伝達関数ＧAFでモデル化されており、その出力も加算器９４で加算され、制振フィルタ１００に入力される。
【００４７】
図７においては、分配制御部５０からの速度指令と、パルスコーダＰＣで検出される実速度との間の領域は、速度ループの閉ループ伝達関数ＧBVとしてモデル化される。さらに、図７に示されるように、閉ループ伝達関数ＧBV内においては、速度ループの制御対象ＰVがモデル化されており、さらに、速度ループの制御対象ＰV内には、速度ループの制御対象モデルＰV0が示されている。なお、図中における「ｓ」はラプラス演算子であり、「Ｊ」はイナーシャであり、「Ｋｔ」はトルク定数である。図７におけるトルク定数Ｋｔ、「１／Ｊｓ」および「ΔＰV」は工作機械の状態によって変化するとともに、伝達関数ＧAF、比例ゲインＫｖｐ、積分ゲインＫｖｉおよび共振フィルタ１００は最適化によって変化するものとする。
【００４８】
図８は、速度制御部に関する制御パラメータを算出するためのフローチャートである。なお、以下の処理は演算制御部５６が行うものとする。本発明においては、図８に示される処理により、速度制御部６４の制御パラメータとしての伝達関数ＧAF（フィードフォワードゲイン）ならびに比例ゲインＫｖｐおよび積分ゲインＫｖｉ（フィードバックゲイン）を算出する。
【００４９】
はじめに、ステップＳ１１で、速度ループの閉ループ伝達関数ＧBVを測定する。これは、図７に示される速度指令と、パルスコーダＰＣにより検出される実速度との比から求められる。
【００５０】
次いで、ステップＳ１２において、速度ループの閉ループ伝達関数ＧBVに基づいて以下の式（６）により速度ループの制御対象ＰVを求める。
【数６】
2012057235.tif 000008
【００５１】
次いで、ステップＳ１３において、以下の式（７）により速度ループの制御対象ＰVからモデル化誤差ΔＰVを求める。
【数７】
2012057235.tif 000009
【００５２】
図９ａおよび図９ｂは速度ループのモデル化誤差ΔＰＶを求める手法を示す図であり、縦軸はゲイン（ｄｂ）、横軸は周波数ｆ（Ｈｚ）を示している。図９ａに示されるように、速度ループの制御対象モデルＰV0を実際にプロットすると、直線状にはならず、高周波数側で誤差を多く含んでいる。
【００５３】
そのため、図９ｂに示されるように、低周波数側で速度ループの制御対象モデルＰV0に合うように速度ループの制御対象ＰVを設定する。そして、設定された制御対象ＰVと制御対象モデルＰV0との間の差の領域をモデル化誤差ΔＰVとして定める。また、図７から分かるように、制御対象モデルＰV0は、制振フィルタ１００からの出力にＫｔ／Ｊｓ（＝λ）が乗算されている。このため、実際のＪ（イナーシャ）は、λをトルク定数Ｋｔで除算することにより得られる。
【００５４】
その後、ステップＳ１４において、以下の式（８）により、モデル化誤差ΔＰVに基づいてフィードフォワードゲインＧAF（図７参照）を算出する。このとき、式（４）を参照して説明したのと同様に、モデル化誤差ΔＰVを近似的にカーブフィットする手法を利用する。
【数８】
2012057235.tif 000010
【００５５】
最終的に、ステップＳ１５において、スモールゲイン定理を用いて、速度ループの閉ループ伝達関数ＧBVおよびモデル化誤差ΔＰVに基づいて速度比例ゲインＫｖｉおよび積分ゲインＫｖｐを求める。それらゲインの求め方は、図４のステップＳ５と概ね同様であるので詳細を省略する。ただし、図６に示される伝達関数Ｔの逆数をモデル化誤差Δに向かってシフトさせるときに伝達関数Ｔの逆数がモデル化誤差Δに交差しないように、速度比例ゲインＫｖｉおよび積分ゲインＫｖｐの比を調節する必要がある。このようにして速度ループの閉ループ伝達関数ＧBVを定め、式（６）等より速度比例ゲインＫｖｉおよび積分ゲインＫｖｐを定める。
【００５６】
このように本発明においては、サーボ制御部５２の動作をモデル化することにより得られた位置ループおよび速度ループのモデル化誤差ΔＰP、ΔＰVを用いて、フィードフォワードゲインＧVF、ＧAFをそれぞれ算出している。さらに、本発明においては、位置ループおよび速度ループの閉ループ伝達関数ＧBP、ＧBVとモデル化誤差ΔＰP、ΔＰVとを用いて、フィードバックゲインＫｐｐ、Ｋｖｉ、Ｋｖｐを求めている。
【００５７】
そして、これらゲインＧVF、ＧAF、Ｋｐｐ、Ｋｖｉ、Ｋｖｐはいずれも数値制御工作機械１０の制御パラメータである。本発明においては、モデル化により得られた閉ループ伝達関数および／またはモデル化誤差を用いているので、送り軸の状態に適した最適な制御パラメータが得られる。このため、本発明では、加工時において複数種類の制御パラメータを計算により迅速かつ自動的に求めることができる。それゆえ、本発明では、ワークＷの加工面品位、形状精度を高いレベルで維持することが可能となっている。
【００５８】
ところで、図１０はゲインと周波数との関係を示す図であり、図９ｂの内容からモデル化誤差ΔＰｖを抽出したものである。図１０ａから分かるように、比較的高周波数側の領域Ｚに誤差が集中している。この領域Ｚは、ゲインの平均値と各ゲインの値との比較から自動的に容易に特定できる。従って、この領域Ｚの値を抑えるように制振フィルタ１００の共振フィルタ定数を選択すれば、図１０ｂに示されるように誤差の少ない制御対象モデルＰv0を作成することができる。
【００５９】
この制振フィルタ１００の共振フィルタ定数も数値制御工作機械１０の制御パラメータの一つである。従って、このような処理により、本発明では、さらに多数の制御パラメータを自動的に設定できることが分かるであろう。
【００６０】
ところで、送り軸には加減速パラメータ（加減速時における加速度、加速度変化率および所要時間、ならびに許容加速度、コーナ減速、補間後加減速）が設定されているが、このような加減速パラメータは、ワークＷの質量、つまり送り軸の負荷に応じて変更する必要がある。ここで、許容加速度パラメータは、工具軌跡の曲率半径と指令速度で定義される加速度であり、コーナ減速パラメータは、コーナ部における加速度の不連続性の影響により発生する位置誤差を抑えるための減速速度であり、補間後加減速パラメータは、加速度および加速度変化率が無限大になることを防ぐために用いるフィルタの時定数である。従来では、ワークＷをテーブル１４に載せて実際に数値制御工作機械１０を動作させることにより加減速パラメータを決定していた。このため、送り軸の状態に応じて加減速パラメータを自動的かつ高速に設定することが望まれている。そこで、本発明では、実際に工作機械を動作させることなく、計算機上の送り軸システムを使って、高速に最適な加減速パラメータを計算する。
【００６１】
図１１（ａ）は、送り軸の送り速度と時間との関係を示す図であり、図１１（ｂ）は加速度と時間との関係を示す図である。送り速度が図１１（ａ）に示されるようにゼロから所定値まで上昇するときには、加速度は図１１（ｂ）に示されるように一定の割合で上昇し、所定の値を維持した後、一定の割合で下降している。加速度が早く上昇または下降するとき、つまり加速度変化率が大きい場合には、図１１（ａ）に破線で示されるように、誤差が大きくなって揺れや振動が発生する場合がある。
【００６２】
本発明では、図１１（ｃ）に示されるように、加速度α、加速度変化率α’からなる組が記憶部（図示しない）に複数、記憶されている。ここで、図１１（ｂ）から分かるように、時間ＴＡは、送り速度がゼロから一定値になるまでの時間を示し、時間ＴＢは、加速度αがゼロから一定値になるまでの時間を示している。
【００６３】
そして、加速度α、加速度変化率α’からなる組を一つずつ順番に加減速処理部１０２に入力して、位置指令を加減速処理する。位置ループの閉ループ伝達関数ＧＢＰから得られる値を実位置と比較して、それらの差が所定の範囲内にあるか否かを判定する。
【００６４】
そのような処理をｎ組まで順に行い、上記差が所定の範囲内に在る組を抽出する。次いで、そのような組から加速度変化率α’が所定値以下の組を抽出する。これは、加速度変化率が大きい場合に、揺れや振動などが数値制御工作機械１０に発生するので、そのような場合を除くためである。最終的に、抽出された組の中から、時間ＴＡの最も短い組を選択し、これを加減速パラメータとして設定する。
【００６５】
さらに、図１４は工作機械の工具の一つの加工経路を示す図である。図１４においては、工具２２が一方の直線経路ＡＢから円弧経路ＢＣを通って他方の直線経路ＣＤに移動するのを示している。円弧経路ＢＣの半径をＲとする。このような加工経路はＮＣプログラム４２を解析することにより求められる。また、破線はこの加工経路に対して機械が動作したときの実軌跡を拡大して表している。
【００６６】
そして図１５ａ、図１５ｂは、図１４におけるＸ方向速度、Ｘ方向加速度およびＸ方向誤差と時間の関係を示す図である。図１５ａ、図１５ｂにおいて、各波形はシミュレーションにより求められた結果を示している。図１５ａは速度ＶXが比較的大きい（Ｆ1）ため、加速度αXも大きく（−Ｆ12／Ｒ）、その結果、Ｃ点における誤差ＥXも大きい（ｅ1）様子を示している。一方、図１５ａは速度ＶXが比較的小さい（Ｆ2）ため、加速度αXも小さく（−Ｆ22／Ｒ）、その結果、Ｃ点における誤差ＥXも小さい（ｅ2）様子を示している。
【００６７】
図１５ａのように速度（Ｆ1）が大きいと、Ｃ点において大きな加速度（−Ｆ12／Ｒ）が瞬間的に消失するため大きな誤差（ｅ1）が発生し、図１４の実軌跡が乱れ、工作機械に振動が発生したり、ワークに加工不良が生じたりする。図１５ｂのように、誤差（ｅ2）が小さいと工作機械に振動が発生したり、ワークに加工不良が生じたりすることがない。
【００６８】
そこで、図１６に示すフローチャートで実軌跡の乱れが許容値に入るように適正な速度ＶXを求め、図２の加減速処理部１０２に含まれる半径Ｒと指令速度Ｆから計算される加速度（Ｆ2／Ｒ）の閾値パラメータを自動決定する。ステップＳ３１において、図１４に示す指令速度Ｆと半径Ｒに予め決めておいた初期値Ｆ0と半径Ｒ（固定値）を設定する。次にステップＳ３２のＸ軸に関する位置指令を作成する。次にステップＳ３３ではその位置指令を図３の位置制御部６０の位置指令に入力し、誤差（位置指令−実位置）をシミュレーションする。ステップＳ３４において、Ｃ点における誤差（ＥX）が許容値以下になっているか判断する。その結果、まだ誤差が許容値（ｅ2）より大きい場合は、ステップＳ３５において予め設定されるΔＦをステップＳ３２で使用したＦ（Ｆold）から引いて、次回ステップＳ３２で使用するＦとし、ステップＳ３２、Ｓ３３を繰り返す。ステップＳ３４において誤差が許容値（ｅ2）以下になったら、ステップＳ３６において図２の加減速処理部１０２に含まれる閾値パラメータ（＝Ｆ2／Ｒ）を現在のＦで計算し設定する。
【００６９】
このようにして、図２の加減速処理部１０２に設定された加減速パラメータは送り軸の状態に対して適切となる。また、位置制御部６０を用いて、工作機械を実際動作させることなしにシミュレーションによって計算することから、短時間で最適な加減速パラメータを求めることができる。
【００７０】
さらに、図１２は制御パラメータに基づいて異常判断を行うための処理を示すフローチャートである。図１２に示されるように、ステップＳ２１においては、本発明により算出された制御パラメータが、どの制御パラメータであるかを確認する。
【００７１】
次いで、ステップＳ２２において、その制御パラメータに関して予め設定された閾値の組を記憶部（図示しない）から読込む。閾値の組は実験等により定められ、第一閾値と、第一閾値よりも大きい第二閾値とを含んでいる。これら閾値は加工されるべきワークＷの種類、工具の質量などに応じて異なるものとする。
【００７２】
そして、ステップＳ２３において制御パラメータが第一閾値よりも大きいと判定された場合には、ステップＳ２４に進んで、操作者に対し視覚的または聴覚的な警告を発令する。そして、ステップＳ２５において、制御パラメータが第二閾値よりも大きいと判定された場合には、ステップＳ２６に進んで数値制御工作機械１０自体を停止させる。
【００７３】
前述したように、本発明においては、複数種類の制御パラメータが得られ、また、それら制御パラメータのそれぞれを異常判断の指標として使用している。従って、各制御パラメータに応じた固有の異常判断を行うことができる。
【００７４】
例えば、制御パラメータが制振フィルタ１００の共振フィルタ定数である場合には、送り軸の剛性低下を判定することができる。その理由は、送り軸を構成するボールねじ装置の予圧が低下すると、送り軸の剛性も低下するためである。当然のことながら、他の制御パラメータを選択した場合には、他の種類の異常判断を行うことができる。
【００７５】
従って、本発明においては、複数種類の最適化された制御パラメータを用いて異常判断を多面的に行うことができ、その結果、異常判断の信頼性を高めることができる。さらに、本発明においては、このような異常判断を自動的に行えるので、オペレータに対する負担を軽減することも可能である。本発明の数値制御方法を工作機械の電源立上げ時に自動的に実行させ、最適化された制御パラメータの日々の変化から工作機械の状態チェックを行うこともできる。
【００７６】
ところで、図１３ａは位置ループを簡潔に示す図である。図４のステップＳ１において位置ループの閉ループ伝達関数ＧBPを求めるときには、図１３ａに示される工作機械の位置指令を振幅を維持しつつ周波数を変えて、例えば１０Ｈｚ〜１０００Ｈｚの範囲で入力する。そして、補償器８１およびプラント８２を通過した出力が、スケールまたはサーボモータのエンコーダにより検出される。次いで、入力と出力とをフーリエ変換して、それらの比を求めることにより、伝達関数ＧBPを求めることができる。
【００７７】
同様に、図１３ｂは速度ループを簡潔に示す図である。図８のステップＳ１１において速度ループの速度ループ伝達関数ＧBVを求めるときには、サーボモータを動作させて図１３ｂに示されるように、そのトルクを振幅を維持しつつ周波数を変えて、例えば１０Ｈｚ〜１０００Ｈｚの範囲で入力する。そして、補償器８１およびプラント８２を通過した出力をトルク検出器などで検出する。次いで、入力と出力とをフーリエ変換して、それらの比を求めることにより、伝達関数ＧBVを求めることができる。なお、当然のことながら、トルクの代わりに、速度を直接的に入力してもよい。
【００７８】
このように周波数を例えば１０Ｈｚ〜１０００Ｈｚの範囲で変えつつ位置指令などを入力するのに要する時間は数秒で足りる。また、このような作業においては、工作機械を実際に動作させる必要がない。このため、伝達関数ＧBP、ＧBVの算出は極めて短時間で行えるのが分かるであろう。さらに、プラント８２は工作機械のモデルと誤差、例えばアナログデジタル変換時の変換遅れ等とを通常は含んでいる。本発明では伝達関数ＧBP、ＧBVを通じて各種の判定を行っているので、実際の工作機械の動作により近い結果が得られるのが分かるであろう。
【符号の説明】
【００７９】
１０    数値制御工作機械
１４    テーブル
１６    コラム
２０    主軸
２２    工具
４０    数値制御部
４２    ＮＣプログラム
４６    解釈済みプログラム記憶部
４８    プログラム実行指令部
５０    分配制御部
５２    サーボ制御部
５４    送り軸モータ駆動部
５６    演算制御部
５８    減算器
６０    位置制御部
６１    加算器
６２    減算器
６４    速度制御部
９２    トルクフィードフォワード制御部
９４    加算器
９６    反転補正値算出部
９８    パラメータ演算部
１００    制振フィルタ
１０２    加減速処理部
【図１】
2012057235.tif 000011
【図２】
2012057235.tif 000012
【図３】
2012057235.tif 000013
【図４】
2012057235.tif 000014
【図５ａ】
2012057235.tif 000015
【図５ｂ】
2012057235.tif 000016
【図６】
2012057235.tif 000017
【図７】
2012057235.tif 000018
【図８】
2012057235.tif 000019
【図９ａ】
2012057235.tif 000020
【図９ｂ】
2012057235.tif 000021
【図１０ａ】
2012057235.tif 000022
【図１０ｂ】
2012057235.tif 000023
【図１１】
2012057235.tif 000024
【図１２】
2012057235.tif 000025
【図１３ａ】
2012057235.tif 000026
【図１３ｂ】
2012057235.tif 000027
【図１４】
2012057235.tif 000028
【図１５ａ】
2012057235.tif 000029
【図１５ｂ】
2012057235.tif 000030
【図１６】
2012057235.tif 000031
【国際調査報告】
2012057235.tif 000032
2012057235.tif 000033
2012057235.tif 000034
2012057235.tif 000035
2012057235.tif 000036
2012057235.tif 000037
2012057235.tif 000038
2012057235.tif 000039
2012057235.tif 000040
2012057235.tif 000041