(57)【特許請求の範囲】
【請求項１】
数値制御工作機械の送り軸の移動方向反転時に生ずる象限突起を補正する象限突起補正方法において、
前記数値制御工作機械のＮＣプログラムから、前記送り軸のサーボモータに指令されるべき位置指令を現在の位置指令から所定時間後の位置指令まで所定の制御周期毎に記憶部に記憶し、
記憶された前記位置指令に基づいて反転補正指令を算出し、
前記記憶部に記憶された位置指令から求めた加速度、前記位置指令と前記サーボモータの実際の位置との間の位置偏差、前記サーボモータのトルク指令と実際のトルクとの間のトルク偏差、前記サーボモータの電流指令と実際の電流との間の電流偏差のいずれかと、前記反転補正指令を前記サーボモータの速度指令またはトルク指令に付加する時刻を前記サーボモータの反転時刻から繰上げる繰上時間との関係を予め求め、
実際の前記送り軸の移動に際し、前記予め求めた関係に基づいて、前記記憶部に記憶された位置指令から求めた加速度、前記位置指令と前記サーボモータの実際の位置との間の位置偏差、前記サーボモータのトルク指令と実際のトルクとの間のトルク偏差、前記サーボモータの電流指令と実際の電流との間の電流偏差のいずれかに対応した前記繰上時間を算出し、
前記サーボモータの反転時刻よりも前記繰上時間だけ繰上げた時刻に前記反転補正指令を前記サーボモータの速度指令またはトルク指令に付加して象限突起を補正する、ことを特徴とする象限突起補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御工作機械の送り軸の移動方向反転時に生ずる象限突起を補正する補正方法に関する。
【背景技術】
【０００２】
工作機械は一つ以上の直動軸および／または回転送り軸（以下、これら直動軸および回転送り軸を単に「送り軸」と呼ぶ場合がある）を含んでおり、これら送り軸を駆動するためのモータは数値制御装置により制御されている。工作機械においては、ワークの加工処理内容に応じて異なる工具が取付けられ、また、ワークを工作機械に取付けるための治具もワークに応じて使用される。
【０００３】
このような工作機械において、ワークが設置された作業台または工具を互いに垂直な二つの方向に移動させることにより、ワークを例えば円弧状軌跡に沿って移動させることが行われている。このような加工を行う場合には、一方の送り軸に関するサーボモータを動作させつつ、他方の送り軸に関するサーボモータを瞬間的に停止させて再動作させる場合がある。
【０００４】
従って、他方のサーボモータの出力軸は、動摩擦状態から静止摩擦状態を経て再び動摩擦状態になる。さらに、サーボモータの反転時にはサーボモータの伝達系におけるバックラッシや弾性変形の影響を受ける。このため、他方のサーボモータの動作に応答遅れが生じ、これが象限突起Ｐとして実測値に出現する。それゆえ、ワークを例えば円弧に沿って切削加工する場合には、ワークが象限突起Ｐに対応する切削箇所において過剰に切削されるなどの問題が発生する。
【０００５】
このような問題を解決するために、特許文献１においては、位置指令に対して、補正指令を追加し、それにより、象限突起を抑えることが行われている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２８７５６４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、補正指令の追加は、反転時よりも前から行うのが好ましい。その理由は、ボールねじ駆動の送り軸等の場合には、弾性要素とみなされる機械系の一部によりロストモーションが発生し、これを補償するために指令に先行して動作させる必要があるためである。
【０００８】
特許文献１においては、反転時を基準として制御周期の範囲において象限突起の補正指令を反転時よりも早めに追加している。しかしながら、制御周期は通常、数ミリ秒単位であるので、補正指令を追加する時刻と反転時との間はせいぜい数ミリ秒である。しかしながら、補正指令の追加は反転時よりも数十ミリ秒前に行われるのが望ましい場合が多い。従って、特許文献１においては補正指令の追加を行う時期を早めているにも関わらず、その時期は十分に早いとはいえない。従って、従来技術においては、補正指令を追加したとしても、象限突起が依然として残るという事態が起きていた。
【０００９】
本発明はこのような事情に鑑みてなされたものであり、象限突起を高精度で補正することのできる象限突起補正方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前述した目的を達成するために１番目の発明によれば、数値制御工作機械の送り軸の移動方向反転時に生ずる象限突起を補正する象限突起補正方法において、前記数値制御工作機械のＮＣプログラムから、前記送り軸のサーボモータに指令されるべき位置指令を現在の位置指令から所定時間後の位置指令まで所定の制御周期毎に記憶部に記憶し、記憶された前記位置指令に基づいて反転補正指令を算出し、前記記憶部に記憶された位置指令から求めた加速度、前記位置指令と前記サーボモータの実際の位置との間の位置偏差、前記サーボモータのトルク指令と実際のトルクとの間のトルク偏差、前記サーボモータの電流指令と実際の電流との間の電流偏差のいずれかと、前記反転補正指令を前記サーボモータの速度指令またはトルク指令に付加する時刻を前記サーボモータの反転時刻から繰上げる繰上時間との関係を予め求め、実際の前記送り軸の移動に際し、前記予め求めた関係に基づいて、前記記憶部に記憶された位置指令から求めた加速度、前記位置指令と前記サーボモータの実際の位置との間の位置偏差、前記サーボモータのトルク指令と実際のトルクとの間のトルク偏差、前記サーボモータの電流指令と実際の電流との間の電流偏差のいずれかに対応した前記繰上時間を算出し、前記サーボモータの反転時刻よりも前記繰上時間だけ繰上げた時刻に前記反転補正指令を前記サーボモータの速度指令またはトルク指令に付加して象限突起を補正する、ことを特徴とする象限突起補正方法が提供される。
【発明の効果】
【００１４】
１番目の発明においては、サーボモータの動作またはサーボモータへの指令により得られる情報に基づいて、サーボモータの反転時刻から繰上げる繰上時間を算出し、繰上時間を考慮した時刻において、補正指令を追加するようにしている。繰上時間は、数値制御工作機械の制御周期に関わらずに決定できるので、補正指令の追加を行う時期を十分に早く設定できる。このため、象限突起を高精度で補正することができ、ワークの加工面の品位向上を図ることができる。
さらに、１番目の発明においては、記憶部に記憶された複数の位置指令から求められる加速度を利用しているので、新たな特別な情報を必要とすることなしに、繰上時間を簡易に求めることができる。なお、加速度の平方根と繰上時間との間の関係を予め求めておき、この関係から繰上時間を決定するのが好ましい。
さらに、１番目の発明においては、位置指令とサーボモータの実際の位置とから得られる位置偏差を用いているので、ロストモーションの影響が十分に考慮された繰上時間を求めることができる。
さらに、１番目の発明においては、トルク偏差または電流偏差を用いて繰上時間を調節している。従って、トルク偏差または電流偏差が考慮された、より正確な繰上時間を求めることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の数値制御工作機械の概略図である。
【図２】本発明の数値制御工作機械を制御するサーボ制御部の構成ブロック線図である。
【図３】象限突起を補正する補正方法を説明するためのフローチャートである。
【図４】加速度の平方根と繰上時間との関係を示す図である。
【図５】（ａ）加速度と繰上時間とのマップを示す図である。（ｂ）位置偏差と繰上時間とのマップを示す図である。（ｃ）トルク偏差と繰上時間とのマップを示す図である。（ｄ）電流偏差と繰上時間とのマップを示す図である。
【図６】速度指令と時間との関係を示す図である。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。理解を容易にするために、これら図面は縮尺を適宜変更している。
【００２０】
図１は本発明の数値制御工作機械の概略図である。図１において、数値制御工作機械１０は所謂横形マシニングセンタであり、工場等の床面に設置されるベッド１２を具備している。ベッド１２の上面には、Ｚ軸ガイドレール２８が水平なＺ軸方向（図１において左右方向）に延設されており、Ｚ軸ガイドレール２８には、ワーク用ジグＧを介してワークＷを固定するためのテーブル１４が摺動自在に取り付けられている。図１は、テーブル１４上にＢ軸方向に回転送り可能なＮＣロータリテーブルを固定し、その上にワークＷを積載している例を示しているが、ＮＣロータリテーブルを介在させることなくテーブル１４上に直接ワークＷを積載しても良い。
【００２１】
ベッド１２の上面には、更に、Ｘ軸ガイドレール３６がＺ軸に直交し、かつ水平なＸ軸方向（図１の紙面に垂直方向）に延設されており、Ｘ軸ガイドレール３６にはコラム１６が摺動自在に取り付けられている。コラム１６においてワークＷに対面する前面には、Ｘ軸およびＺ軸に直交するＹ軸方向（図１において上下方向）にＹ軸ガイドレール３４が延設されており、Ｙ軸ガイドレール３４には、主軸２０を回転自在に支持する主軸頭１８が摺動自在に取り付けられている。
【００２２】
ベッド１２内においてテーブル１４の下側にはＺ軸送りねじ２４がＺ軸方向に延設されており、テーブル１４の下面にはＺ軸送りねじ２４に螺合するナット２６が固定されている。Ｚ軸送りねじ２４の一端にはＺ軸送りサーボモータＭｚが連結されており、Ｚ軸送りサーボモータＭｚを駆動しＺ軸送りねじ２４を回転させることにより、テーブル１４はＺ軸ガイドレール２８に沿って移動する。同様にベッド１２内においてコラム１６の下側にはＸ軸送りねじ（図示せず）がＸ軸方向に延設されており、コラム１６の下面には前記Ｘ軸送りねじに螺合するナット（図示せず）が固定されている。
【００２３】
前記Ｘ軸送りねじの一端にはＸ軸送りサーボモータＭｘが連結されており、Ｘ軸送りサーボモータＭｘを駆動し前記Ｘ軸送りねじを回転させることにより、コラム１６はＸ軸ガイドレール３６に沿って移動する。更に、コラム１６内にはＹ軸送りねじ３２がＹ軸方向に延設されており、主軸頭１８の背面にはＹ軸送りねじ３２に螺合するナット３０が固定されている。Ｙ軸送りねじ３２の上端にはＹ軸送りサーボモータＭｙが連結されており、Ｙ軸送りサーボモータＭｙを駆動しＹ軸送りねじ３２を回転させることにより、主軸頭１８はＹ軸ガイドレール３４に沿って移動する。
【００２４】
主軸２０の先端には工具２２、例えばエンドミルが装着されている。工具２２を回転させながら、コラム１６、主軸頭１８、テーブル１４を各々Ｘ軸、Ｙ軸、Ｚ軸方向に動作させることにより、テーブル１４に固定されたワークＷを所望形状に切削加工する。ＮＣロータリテーブルが固定されている場合、数値制御工作機械１０は、更にＢ軸を有する４軸の数値制御工作機械と言える。
【００２５】
数値制御工作機械１０は、コラム１６、主軸頭１８、テーブル１４のＸ軸、Ｙ軸、Ｚ軸方向に移動させるＸ軸、Ｙ軸、Ｚ軸送りサーボモータＭｘ、Ｍｙ、Ｍｚを制御する数値制御部４０を具備している。ＮＣロータリテーブルを有する場合には、Ｂ軸送りサーボモータ（図示せず）を具備している。
【００２６】
数値制御部４０は、ＮＣプログラム４２を読み取りこれを解釈するプログラム読取解釈部４４、解釈されたプログラムを一時的に記憶する解釈済みプログラム記憶部４６、解釈済みプログラム記憶部４６からプログラムを適宜引き出して実行プログラムデータを発するプログラム実行指令部４８、プログラム実行指令部４８からの実行プログラムデータに基づいてＸ軸、Ｙ軸、Ｚ軸の各々への位置指令値、速度指令値、トルク指令値を発する分配制御部５０、分配制御部５０からの位置指令値、速度指令値、トルク指令値および後述するフィードバック信号に基づいて送り軸モータ駆動部５４へトルク指令値または電流指令値を発するサーボ制御部５２を含んでいる。なお、Ｂ軸についても同様に、分配制御部５０がＢ軸への位置指令値、角速度指令値、角加速度指令値等を発する。
【００２７】
送り軸モータ駆動部５４は、サーボ制御部５２からのトルク指令値または電流指令値に基づき電流を出力してＸ軸、Ｙ軸、Ｚ軸の各々の送り軸モータ（サーボモータ）Ｍｘ、Ｍｙ、Ｍｚを駆動する。更に、本実施形態では、サーボ制御部５２から送り軸モータ駆動部５４へのトルク指令値または電流指令値を補正する演算制御部５６が設けられている。演算制御部５６は、後述するモデル化処理、制御パラメータの算出などの各種の処理を行う役目を果たす。
【００２８】
図２は本発明の数値制御工作機械を制御するサーボ制御部の構成ブロック線図である。以下の記載ではテーブル１４に関するＺ軸の送り制御についてのみ説明するが、Ｘ軸、Ｙ軸およびＢ軸の送り制御についても概ね同様に構成されていることは理解されよう。
【００２９】
図２に示されるように、サーボ制御部５２は、位置・速度・加速度指令分配制御部５０からの位置指令値、速度指令値、加速度指令値と、テーブル１４に取着したデジタル直線スケール等の位置検出器ＳＰからの位置フィードバック信号とを比較する減算器５８、減算器５８からの出力を増幅する位置制御部６０、位置制御部６０の出力値と送り軸モータＭｚに設けたパルスコーダＰＣからの速度フィードバック信号を比較する減算器６２、減算器６２の出力を増幅する速度制御部６４を含んでいる。
【００３０】
図２から分かるように、分配制御部５０から供給された制御周期毎の位置指令はバッファ９０に一時的に記憶され、減算器５８に順に入力される。図２に示されるバッファ９０は、Ｄ１〜Ｄ５０の５０個のカラムを有し、各カラムに単一の位置指令が記憶されている。現在の位置指令はカラムＤ５０内の位置指令であり、カラムＤ１〜Ｄ４９内の位置指令は将来の位置指令である。図２から分かるように、次の制御周期では、カラムＤ１〜Ｄ４９の位置指令がそれぞれカラムＤ２〜Ｄ５０に移動すると共に、カラムＤ５０内の位置指令が減算器５８に入力される。そして、新たな位置指令がカラムＤ１に記憶される。このような処理を制御周期毎、例えば１ミリ秒毎に行い、位置指令が順次、減算器５８に入力される。
【００３１】
さらに、サーボ制御部５２は、反転補正指令を減算器６２に入力する繰上時間Ｔａを計算する反転補正繰上時間計算部９２と、送り軸のバックラッシに関する反転補正指令Ｃａを計算する反転補正計算部９４とを含んでいる。ここで、繰上時間Ｔａとは、反転補正指令を減算器６２に入力する時刻をサーボモータの反転時から繰上げる時間を指す。なお、反転補正繰上時間計算部９２および反転補正計算部９４には、バッファ９０の少なくとも一つの位置指令が適宜入力されるものとする。さらに、図２から分かるように、トルク検出部７２により検出された送り軸モータＭのトルクと、電流検出部７４により検出された送り軸モータＭに流れる電流とは、反転補正繰上時間計算部９２に入力されうる。
【００３２】
図３は、象限突起を補正する補正方法を説明するためのフローチャートである。以下、図２および図３を参照しつつ、本発明における象限突起Ｐの補正について説明する。はじめに、ステップＳ１１において、分配制御部５０からの位置指令を制御周期毎にバッファ９０に記憶する。前述したようにバッファ９０は複数のカラムＤ１〜Ｄ５０を含んでいるので、最新の位置指令がカラムＤ１に記憶されると、カラムＤ１〜Ｄ４９に記憶されていた位置指令はカラムＤ２〜カラムＤ５０に移動する。そして、カラムＤ５０の位置指令が現在の位置指令として使用される。
【００３３】
次いで、ステップＳ１２において、反転補正計算部９４は、バッファ９０の位置指令を用いて、象限突起Ｐを補正するための反転補正指令Ｃａを計算する。なお、他の手法を用いて、反転補正指令Ｃａを作成してもよい。
【００３４】
その後、ステップＳ１３において、反転補正繰上時間計算部９２は、送り軸モータＭの動作または送り軸モータＭへの指令により得られる情報を用いて、繰上時間Ｔａを算出する。ここで、送り軸モータＭの動作または送り軸モータＭへの指令により得られる情報は、例えば送り軸モータＭの加速度である。加速度は、バッファ９０に記憶された、連続する少なくとも三つの位置指令から算出される。また、送り軸モータＭに設けた図示しない加速度検出器から、送り軸モータＭの加速度を検出するようにしてもよい。
【００３５】
図４は加速度の平方根と繰上時間Ｔａとの関係を示す図であり、加速度の平方根と繰上時間Ｔａとは、図示される指数関数の関係をなしている。このような関係は実験等により予め求められているものとする。本発明では、図示される関数から、送り軸モータＭの加速度の平方根に対応する繰上時間Ｔａを求める。あるいは、図５（ａ）に示されるような予め求められた加速度と繰上時間とのマップに基づいて、繰上時間Ｔａを決定するようにしてもよい。
【００３６】
最終的に、ステップＳ１４においては、バッファ９０における位置指令の値から送り軸モータＭが反転する反転時刻を求める。反転時刻は、位置指令の符号が切り替わるときであり、図２においてはカラムＤ２からカラムＤ１への切替時期である。従って、カラムＤ１の位置指令が実際の位置指令として使用される時刻に送り軸モータＭは反転する。そのような反転時刻は、現在の位置指令を含むカラムＤ５０と反転時の位置指令を含むカラムＤ１との間の所定の制御周期の数を用いて算出できる。
【００３７】
そして、反転時刻を繰上時間Ｔａだけ繰上た時刻に、減算器６２に反転補正指令Ｃａを付加する。図６は、速度指令と時間との関係を示す図である。実線で示すＤ５０の位置指令の曲線は、カラムＤ５０から送出される刻々の位置指令の軌跡である。破線で示すＤ１の位置指令の曲線は、カラムＤ１に入力される刻々の位置指令の軌跡であり、実線で示すＤ５０の位置指令の軌跡の５０ミリ秒前の状態を表わしている仮想の軌跡である。実線で示すＤ５０の位置指令の軌跡の頂点が、実際の送り軸モータＭの反転時刻である。破線で示すＤ１の位置指令の軌跡の頂点は、実際の送り軸モータＭの反転時刻より５０ミリ秒前の仮想の反転時刻である。その仮想の反転時刻においてカラムＤ５０から送出される実際の位置指令は、−０．４８であることを示している。そして、図６には、反転補正指令Ｃａ０、Ｃａが示されている。一方の破線で示す反転補正指令Ｃａ０は、特許文献１に示すような従来の技術では制御周期の範囲内でカラムＤ５０の位置指令を表わす軌跡曲線の頂点の直前に入力されるものであり、繰上時間Ｔａ０が短すぎて、象限突起Ｐを部分的にしか解消できない。
【００３８】
これに対し、図６に実線で示される本発明の反転補正指令Ｃａは、送り軸モータＭの実際の反転時刻より繰上時間Ｔａだけ早めて入力される。繰上時間Ｔａは繰上時間Ｔａ０よりも十分に長いので、反転補正指令Ｃａにより速度指令が十分に早く補正され、その結果、象限突起Ｐをほぼ完全に解消できる。なお、図２等を参照して説明した実施形態においては、反転補正指令Ｃａを速度指令に追加しているが、同様にして別途作成された反転補正指令Ｃａをトルク指令に追加するようにしてもよい。
【００３９】
このように、本発明では、サーボモータの動作により得られる情報、例えば加速度に基づいて、繰上時間Ｔａを算出し、繰上時間Ｔａが考慮された時刻において、反転補正指令Ｃａを追加している。そして、繰上時間Ｔａは、数値制御工作機械１０の制御周期に依存せずに定まるので、制御周期よりもかなり長い繰上時間Ｔａ、例えば制御周期の数十倍の長さの繰上時間Ｔａを作成できる。従って、補正指令の追加を行う時期を十分に早く設定することが可能となる。それゆえ、本発明においては、象限突起Ｐを高精度で補正でき、その結果、ワークＷの加工面の品位を高めることが可能となる。
【００４０】
また、図５（ｂ）は位置偏差と繰上時間とのマップを示す図５（ａ）と同様な図である。ここで、図５（ｂ）における位置偏差ΔＰは、位置検出器Ｓｐで検出される送り軸モータＭの位置と分配制御部５０から出力される位置指令との間の偏差である。本発明では、この位置偏差ΔＰをサーボモータの動作により得られる情報として使用することもできる。
【００４１】
すなわち、位置偏差ΔＰから図５（ｂ）のマップを用いて繰上時間Ｔｂを定め、繰上時間Ｔｂを繰上時間Ｔａの代わりに用いる。このようにして位置偏差ΔＰから求められた繰上時間Ｔｂは、ロストモーションの影響を排除するのに十分な値である。従って、より適切な繰上時間Ｔｂを求められ、その結果、象限突起Ｐをさらに高精度で補正して、ワークＷの加工面の品位をさらに高められるのが分かるであろう。
【００４２】
また、図５（ｃ）はトルク偏差と繰上時間とのマップを示す図である。分配制御部５０からのトルク指令と、トルク検出部７２により検出される実際のトルクとの間のトルク偏差Δτを算出し、トルク偏差Δτに基づいて予め定めたマップから繰上時間Ｔｃを求めてもよい。また、図５（ｄ）は電流偏差と繰上時間とのマップを示す図である。分配制御部５０からの電流指令と、電流検出部７４により検出される実際の電流との間の電流偏差ΔＩを算出し、電流偏差ΔＩに基づいて予め定めたマップから繰上時間Ｔｄを求めてもよい。
【００４３】
これら繰上時間Ｔｃ、Ｔｄを、繰上時間Ｔａの代わりに使用してもよい。あるいは、これら繰上時間Ｔｃ、Ｔｄのうちの少なくとも一方と繰上時間Ｔａとの平均値を算出し、その平均値を新たな繰上時間として使用することも可能である。そのような場合には、トルク偏差Δτおよび／または電流偏差ΔＩが考慮された、より正確な繰上時間を求められるのが分かるであろう。なお、他の方法を用いて、繰上時間Ｔｃ、Ｔｄの少なくとも一方により繰上時間Ｔａを調節してもよい。このような場合であっても、本発明の範囲に含まれる。
【符号の説明】
【００４４】
１０    数値制御工作機械
１４    テーブル
１６    コラム
２０    主軸
２２    工具
２４    送りねじ
２６    ナット
２８    Ｚ軸ガイドレール
３６    Ｘ軸ガイドレール
４０    数値制御部
４２    ＮＣプログラム
４４    プログラム読取解釈部
４６    解釈済みプログラム記憶部
４８    プログラム実行指令部
５０    分配制御部
５２    サーボ制御部
５４    送り軸モータ駆動部
６０    位置制御部
６２    減算器
６４    速度制御部
７２    トルク検出部
７４    電流検出部
９０    バッファ（記憶部）
９２    反転補正繰上時間計算部
９４    反転補正計算部
【図１】
0005111589.tif 000002
【図２】
0005111589.tif 000003
【図３】
0005111589.tif 000004
【図４】
0005111589.tif 000005
【図５】
0005111589.tif 000006
【図６】
0005111589.tif 000007