(57)【要約】【課題】  反転方向によってバックラッシ発生の挙動が相違する場合でも、より適正なバックラッシ補正ができる数値制御装置を提供する。【解決手段】  移動反転方向に応じて、「一括して設定補正量を出力する」、「移動距離に応じて補正量を出力する」、「時間経過に応じて補正量を出力する」の３つのバックラッシ補正量の出力方式のいずれかをパラメータ設定する(S3,S4)。一括補正方式は、反転時に一括してバックラッシ補正量が出力される(S5,S11)。距離に応じて出力する場合は、所定距離Ｂ移動する毎に分割補正量が出力される(S11,S13〜S17）。経過時間による場合は、反転後所定数の分配周期において分割補正量補正量が出力される(S11,S18,S19)。反転方向に応じて、それぞれ補正量の出力方式が選択設定できるので、重力が作用する軸等のバックラッシの挙動が方向によって異なる場合に最適なバックラッシ補正ができる。【選択図】          図２
2006039807.tif 000002
【特許請求の範囲】
【請求項１】
可動軸がその移動方向を反転する際に生じるバックラッシに対し、バックラッシ補正量を位置制御部に出力するバックラッシ補正機能を有する数値制御装置において、
前記可動軸の移動方向が反転する際の反転方向と前記位置制御部へのバックラッシ補正量の出力方式を対応付けて設定する設定手段と、
前記可動軸の移動方向反転時の反転方向を判定する判定手段と、
前記判定された方向に対応する出力方式にてバックラッシ補正量を前記位置制御部へ出力するバックラッシ補正量出力手段と、
を有することを特徴とする数値制御装置。
【請求項２】
前記予め設定されたバックラッシ補正量の出力方式は、反転時に一括してバックラッシ補正量を出力する方式、反転位置からの距離に応じてバックラッシ補正量を出力する方式、反転からの時間経過に応じてバックラッシ補正量を出力する方式のいずれかである請求項１に記載の数値制御装置。
【請求項３】
前記出力方式が、反転位置からの距離に応じてバックラッシ補正量を出力する方式で、かつ、各分配周期毎のバックラッシ補正１段当たりの出力補正量が反転方向に応じて別々に設定されている請求項１に記載の数値制御装置。
【請求項４】
前記出力方式が、反転からの時間経過に応じてバックラッシ補正量を出力する方式で、かつ、各分配周期毎のバックラッシ補正１段当たりの出力補正量が反転方向に応じて別々に設定されている請求項１に記載の数値制御装置。
【請求項５】
前記出力方式は、パラメータ設定により指定することを特徴とする請求項１乃至４の内いずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械における送り軸等の可動軸のバックラッシ補正機能を有する数値制御装置に関する。
【背景技術】
【０００２】
工作機械における送り軸等の可動軸は、移動方向反転時に、ボールねじ／ナット機構や歯車機構等の伝動機構におけるバックラッシによるロストモーションが発生する。工作機械を制御する数値制御装置には、このロストモーションを補正するための機能として、バックラッシ補正機能が設けられている。このバックラッシ補正機能は、可動軸の移動方向反転時に設定されたバックラッシ補正量を出力する出力方式として、以下のような方式が採用されている。  
軸方向反転時に、一括して設定補正量を出力する。  
軸方向反転時開始時から、移動距離に応じて補正量を出力する。  
軸方向反転時開始時から、時間経過に応じて補正量を出力する。
【０００３】
バックラッシ補正量が大きいと、一括してバックラッシ補正量を出力した場合、機械に振動が発生したり、工作機械による加工で食い込みが発生する場合がある。これらの不具合を抑制するために、バックラッシ補正量を一括して出力して補正する代わりに、上述したように、軸方向反転時開始時から、移動距離又は経過時間に応じてバックラッシ補正量を分散して出力して補正する方式がとられている。
【０００４】
このバックラッシ補正は、設定された出力方式を一律的に適用する方式が一般的である。ただし、数値制御装置で制御される工作機械の加工精度の向上をすることを目的とし、現ブロックの指令による切削完了後で、次のブロックの切削開始前にバックラッシ補正を行い、その後に、次のブロック指令に基づいて切削を行う第１のバックラッシ補正モードと、現ブロックの指令による切削完了後、次のブロックの切削開始と同時にバックラッシ補正う第２のバックラッシ補正モードとの２つのモードを設けて、必要に応じていずれかのモードを選択してバックラッシ補正を行うものがすでに知られている（特許文献１参照）。
【０００５】
【特許文献１】特開昭５８−６８１１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、数値制御装置で制御される工作機械においては、バックラッシ補正機能とし、３種類のバックラッシ補正量出力方式のいずれかが使用されている。可動軸の移動反転方向に応じて、このバックラッシ補正量出力方式が選択されるようなものはない。上述した特許文献１に記載された技術も、加工精度の向上を目的とし、２種類のバックラッシ補正モードを選択指定するものであり、反転方向によって選択されるものではない。
【０００７】
一方、工作機械においては、軸重力が作用する垂直方向に移動する可動軸や、重力方向に対して垂直ではない傾斜した方向に移動する軸（水平方向に移動しない軸）などの、可動軸の移動に重力が作用する可動軸や、さらに、常に所定方向に負荷が加えられているような可動軸に対しては、駆動源から可動軸までの伝動機構で生じるバックラッシの発生状態が、その反転方向によって異なる。  
そこで、本発明は、反転方向によってバックラッシ発生の挙動が相違する場合でも、より適正なバックラッシ補正ができる数値制御装置を提供することを課題とするものである。
【課題を解決するための手段】
【０００８】
本願請求項１に変わる発明は、可動軸がその移動方向を反転する際に生じるバックラッシに対し、バックラッシ補正量を位置制御部に出力するバックラッシ補正機能を有する数値制御装置において、前記可動軸の移動方向が反転する際の反転方向と前記位置制御部へのバックラッシ補正量の出力方式を対応付けて設定する設定手段と、前記可動軸の移動方向反転時の反転方向を判定する判定手段と、前記判定された方向に対応する出力方式にてバックラッシ補正量を前記位置制御部へ出力するバックラッシ補正量出力手段とを備え、移動方向が反転したときのバックラッシ補正量の出力方式を反転方向に応じて選択設定できるようにしたものである。
【０００９】
又、請求項２に係わる発明は、前記予め設定されたバックラッシ補正量の出力方式を、反転時に一括してバックラッシ補正量を出力する方式、反転位置からの距離に応じてバックラッシ補正量を出力する方式、反転からの時間経過に応じてバックラッシ補正量を出力する方式のいずれかのものとした。さらに、請求項３に係わる発明は、前記出力方式が、反転位置からの距離に応じてバックラッシ補正量を出力する方式で、かつ、各分配周期毎のバックラッシ補正１段当たりの出力補正量が反転方向に応じて別々に設定できるものとした。又、請求項４に係わる発明は、前記出力方式が、反転からの時間経過に応じてバックラッシ補正量を出力する方式で、かつ、各分配周期毎のバックラッシ補正１段当たりの出力補正量が反転方向に応じて別々に設定できるものとした。請求項５に係わる発明は、前記出力方式を、パラメータにより設定できるものとした。
【発明の効果】
【００１０】
本発明は、工作機械の可動軸の移動方向が反転する際、その反転の方向に応じて、バックラッシ補正量の出力方式を選択してそれぞれ設定できるから、重力軸が作用する可動軸等の、反転方向によってバックラッシの挙動が異なる場合等において、最適なバックラッシ補正ができるものとなる。よって工作機械の加工精度を向上させることができる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の一実施形態の数値制御装置の要部ブロック図である。  
数値制御装置１０のプロセッサ１にはバス６を介してメモリ２と、インタフェース３を介して表示手段／手動入力ユニット１１が接続され、さらに各可動軸の軸制御回路４が接続されている。なお、プログラマブルコントローラや主軸制御回路等もバス６に接続されるものであるが、これらの要素は本発明と直接関係ないことから、図１では省略している。
【００１２】
メモリ２は、ＲＯＭ、ＲＡＭ、不揮発性ＲＡＭ等で構成され、プロセッサ１は、ＲＯＭに格納されたシステムプログラムに基づいて数値制御装置全体を制御する。またＲＡＭには加工プログラム等が格納されて該加工プログラムに基づいて該数値制御装置１０に接続された工作機械を制御して加工を制御する。又、不揮発性ＲＡＭには加工プログラムや、各種設定値、パラメータ設定値等が記憶される。
【００１３】
表示手段／手動入力ユニット１１は、ＣＲＴや液晶等で構成された表示装置と、キーボード、ポインティングディバイス等で構成された、設定値や各種データを入力する手動入力手段で構成されている。  
軸制御回路４は、工作機械の送り軸等の各可動軸のサーボモータ１２を駆動制御する軸制御回路であり、プロセッサ、ＲＯＭ，ＲＡＭ等のメモリ、入出力回路等で構成され、プロセッサ１から出力される移動指令と、サーボモータ１２に取り付けれた該サーボモータの位置、速度を検出する位置・速度検出器１３からの位置、速度フィードバックに基づいて、位置ループ制御処理を行う位置制御部、速度ループ制御処理を行う速度制御部、さらには、電流フィードバック信号に基づいて電流ループ制御処理を行う電流制御部を備え、、サーボアンプ５を介してサーボモータ１２を駆動制御するものである。
【００１４】
なお、図１では、軸制御回路４、サーボアンプ５，サーボモータ１２、位置・速度検出器を１つのみ表示しているが、工作機械に設けられた可動軸（送り軸）毎にこれらの要素は設けられているものである。ただし、軸制御回路４は複数の可動軸（送り軸）を制御する場合もある。
【００１５】
上述した数値制御装置１０の構成は従来の数値制御装置の構成と同一であり、差異はない。相違する点は、バックラッシ補正機能としてメモリ２の不揮発性ＲＡＭに記憶されたバックラッシ補正機能ソフトウェアが相違するものである。
【００１６】
本実施形態では、数値制御装置で制御される工作機械において、軸重力が作用する垂直方向に移動する可動軸や、重力方向に対して垂直ではない傾斜した方向に移動する軸（水平方向に移動しない軸）などの、可動軸の移動に重力が作用する可動軸、さらに、常に所定方向に力が加えられているような可動軸に対しては、駆動源から可動軸までの伝動機構で生じるバックラッシの発生状態がその反転方向によって異なるような場合がある。このようなバックラッシの挙動が反転方向において異なるような場合に対応して、バックラッシ補正量の出力方式を、前述した軸方向反転時に設定バックラッシ補正量を一括出力する方式、移動距離に応じて出力する方式、時間経過に応じて出力する方式のいずれか最適な方式を選択できるようにしたものである。
【００１７】
本実施形態では、分配移動指令が＋から−に変わったとき、又は−から＋に変わったとき、すなわち、分配移動指令の指令方向が変わって、変わった方向に応じて、上述した３つのバックラッシ補正量の出力方式のいずれかを設定するようにしたもので、表示手段／手動入力ユニット１１によりパラメータによって各軸毎に設定されるようにしている。
【００１８】
図２は、本実施形態における数値制御装置１０のプロセッサ１が実施するこのバックラッシ補正機能の処理のフローチャートである。プロセッサ１は、メモリ２に格納された加工プログラムに基づいて該数値制御装置１０に接続された工作機械を制御し、分配周期毎、各可動軸（送り軸）に対して移動指令を分配する点は、従来と同じである。そして、この実施形態では、分配周期毎、図２に示すバックラッシ補正処理を各軸毎実行する。
【００１９】
まず、前周期と今周期における分配移動指令の指令方向が変化したか判断し（ステップＳ１）、変化がなければ、当該可動軸は、同一方向に移動するよう指令されているものであるから、ステップＳ１２に移行し、フラグＦの設定値を判別する。なお、このフラグは電源投入時等の加工開始時に「０」にセットされている。最初は、このフラグＦは「０」にセットされているから、当該補間周期ではバックラッシ補正の補正量を出力することなく、この処理を終了する。以下、分配移動指令の符号が反転しない限り（前周期と今周期の移動指令方向が反転しない限り）、ステップＳ１、Ｓ１２の処理をしてこの処理を終了し、バックラッシ補正量の出力は行わない。
【００２０】
一方、分配移動指令の符号が反転し、移動指令方向が反転したとき（ステップＳ１）、該方向反転が、前周期での分配移動指令の符号が＋でから今周期での分配移動指令の符号が−に変わったのか、逆に−から＋へ反転したのか判断し（ステップＳ２）、分配移動指令の符号が＋から−に変わったのであれば、この符号が＋から−に変わったときのパラメータ設定は何か判別する（ステップＳ３）。又、分配移動指令の符号が−から＋に変わったのであれば、この符号が−から＋に変わったときのパラメータ設定は何か判別する（ステップＳ４）。
【００２１】
一括してバックラッシ補正量を出力するように設定されていれば、当該周期でのバックラッシ補正量Ａを設定補正量Ｑとし（ステップＳ５）、軸制御回路４の位置制御部に出力する（ステップＳ１１）。軸制御回路４の位置制御部では、当該分配周期の分配移動指令にこのバックラッシ補正量が加算された移動指令と位置・速度検出器１３からの位置フィードバックに基づいて位置ループ制御処理し速度指令を求める。速度制御部ではこの速度指令と位置・速度検出器１３からの速度フィードバックに基づいて速度ループ制御処理してトルク指令（電流指令）を求め、電流制御部ではこのトルク指令と、電流フィードバックに基づいて電流ループ制御処理してサーボモータ１２への指令を求めサーボアンプ５を介してサーボモータを駆動制御する。
【００２２】
ステップＳ３又はステップＳ４で、パラメータ設定が、反転開始時からの移動量に応じてバックラッシ補正量を出力する方式が設定されていると判別されたとき、設定バックラッシ補正量Ｑを設定分割数Ｎで除して、分割したバックラッシ補正量Ａを算出し（ステップＳ６）、レジスタＲに当該分配周期による当該軸への移動指令量をセットし、指令移動量の積算を開始する（ステップＳ７）。そして、フラグＦを「１」にセットすると共に、指標ｎを「１」にセットし（ステップＳ８）、ステップＳ１１に移行して、ステップＳ６で求めた分割したバックラッシ補正量Ａを軸制御回路４に出力する。
なお、設定分割数Ｎは、＋方向から−方向への反転時、−方向から＋方向への反転時で別々に設定することで、＋方向から−方向への反転時、−方向から＋方向への反転時で各補間周期毎に出力するバックラッシ補正量を変更することもできるものである。  
例えば、ステップＳ３で、パラメータ設定が、反転開始時からの移動量に応じてバックラッシ補正量を出力する方式が設定されていると判別された時には、＋方向から−方向への反転時に対して設定されている分割数を分割数Ｎとして設定し、ステップＳ６では、この分割数Ｎで設定バックラッシ補正量Ｑを除して、分割したバックラッシ補正量Ａを算出することになる。また、ステップＳ４で、パラメータ設定が、反転開始時からの移動量に応じてバックラッシ補正量を出力する方式が設定されていると判別された時には、−方向から＋方向への反転時に対して設定されている分割数を分割数Ｎとして設定し、ステップＳ６では、この分割数Ｎで設定バックラッシ補正量Ｑを除して、分割したバックラッシ補正量Ａを算出することになる。
【００２３】
軸制御回路４は、前述したように、当該分配周期の移動指令にこのバックラッシ補正量Ａを加算して位置ループ制御処理、速度ループ制御処理、電流ループ制御処理してサーボモータ１２を駆動する。
【００２４】
ステップＳ３又はステップＳ４で、パラメータ設定が、反転開始時からの経過時間に応じてバックラッシ補正量を出力する方式に設定されていると判別されたとき、設定バックラッシ補正量Ｑを設定分割Ｍで除して、分配周期毎のバックラッシ補正量Ａを算出し（ステップＳ９）、フラグＦを「２」にセットすると共に、指標ｍを「１」にセットし（ステップＳ１０）、ステップＳ１１に移行して、ステップＳ９で求めた分配周期毎のバックラッシ補正量Ａを軸制御回路４に出力する。
なお、この反転開始時からの経過時間に応じてバックラッシ補正量を出力する方式の場合においても、先に述べた移動量による場合と同じように、設定分割数Ｍを、＋方向から−方向への反転時、−方向から＋方向への反転時で別々に設定することで、＋方向から−方向への反転時、−方向から＋方向への反転時で各補間周期毎に出力するバックラッシ補正量を変更するようにしてもよいものである。  
この場合も、例えば、パラメータ設定が、反転開始時からの経過時間に応じてバックラッシ補正量を出力する方式であると、ステップＳ３で判別された時には、＋方向から−方向への反転時に対して設定されている分割数を分割数Ｍとして設定し、ステップＳ４で判別された時には、−方向から＋方向への反転時に対して設定されている分割数を分割数Ｍとして設定し、ステップＳ６では、この分割数Ｍで設定バックラッシ補正量Ｑを除して、分割したバックラッシ補正量Ａを算出することになる。
【００２５】
次の周期では、移動方向は反転しないので、ステップＳ１からステップＳ１２に移行し、フラグＦの値を読む（ステップＳ１２）、該フラグＦが「０」であれば、このままこの分配周期のバックラッシ補正処理は終了する。すなわち、この場合、移動方向が反転した分配周期に設定バックラッシ補正量Ｑが全て出力されて、以後の補間周期では、出力されないものである。
【００２６】
又、フラグＦがステップＳ８で「１」にセットされているときには、レジスタＲに記憶する移動方向反転からの移動量が、設定値Ｂに指標ｎの値を乗じて得られる値以上か判断する（ステップＳ１３）。以上でなければ、レジスタＲに当該分配周期での移動指令量を加算して移動指令量の積算を行い（ステップＳ１７）、当該分配周期におけるバックラッシ補正処理を終了する。
【００２７】
以下、分配周期毎、ステップＳ１、Ｓ１２、Ｓ１３，Ｓ１７の処理をを行い、ステップＳ１３で、レジスタＲに記憶する移動指令量の積算値が、設定値Ｂに指標ｎの値を乗じた値以上になると、指標ｎを１インクリメントし（ステップＳ１４）、該指標ｎが設定値（バックラッシ補正量の分割出力回数）Ｎを超えたか判断し（ステップＳ１５）、超えてなければ、レジスタＲに当該分配周期での移動指令量を加算して移動指令量の積算を行い（ステップＳ１６）、ステップＳ１１に移行して、バックラッシ補正量としてステップＳ６で求めた補正量Ａを出力し当該分配周期の処理を終了する。
【００２８】
以下、レジスタＲに分配移動指令量を積算しながら、該移動量の積算値が設定量Ｂだけ増加する毎にバックラッシ補正量Ａが出力されることになる。そして、指標ｎの値が設定値Ｎを超えたと判断されたときには（ステップＳ１５）、フラグＦを「０」にセットして（ステップＳ２０）、当該分配周期でのバックラッシ補正処理は終了する。その後は、移動方向の反転がない限り、ステップＳ１，Ｓ１２，の処理が繰り返し行われることになる。以上のようにして、移動方向が反転してからの移動距離に応じて、分割バックラッシ補正量が出力され、合計で設定バックラッシ補正量Ｑが出力されることになる。
【００２９】
一方、バックラッシ補正量の出力方式を指定するパラメータ設定が時間の経過に応じて出力する方式を指定しているときは、ステップＳ１０でフラグＦは「２」にセットされているから、ステップＳ１２からステップＳ１８に移行し、指標ｍを１インクリメントし、該指標ｍが設定値Ｍ（分割したバックラッシ補正量Ａを出力する分配周期の数）を超えたか判断し（ステップＳ１９）、超えてなければ、ステップＳ９で求めたバックラッシ補正量Ａを出力する（ステップＳ１１）。以下、指標ｍが設定値Ｍを超えるまで、ステップＳＳ１，Ｓ１２，Ｓ１８，Ｓ１９，Ｓ１１の処理を実行し、指標ｍが設定値Ｍを超えると、ステップＳ１９よりステップＳ２０に移行してフラグＦを「０」にセットし、当該分配周期の処理を終了する。以後は、ステップＳ１，Ｓ１２，の処理が繰り返し行われることになる。
【００３０】
この時間の経過に応じてバックラッシ補正量を出力する方式を選択された場合、移動方向が反転してから、補間周期数が設定値Ｍに達するまで、補間周期毎、分割バックラッシ補正量Ａ＝Ｑ／Ｍが出力され、合計で設定バックラッシ補正量Ｑが出力されることになる。
【００３１】
以上のように、本実施形態では、可動軸の移動方向が反転したとき、その反転方向に応じて、バックラッシ補正量Ｑは変わらずその補正量の出力方式を選択設定できるものであり、実際の可動軸の挙動に応じて、最適なバックラッシ補正量の出力方式を選択設定できるものである。
【００３２】
例えば、重力が作用する可動軸で、上昇方向から下降方向に移動方向が反転したときは、反転位置からの移動距離に応じてバックラッシ補正量を出力する方式を設定し、下降方向から上昇方向に移動方向が反転したときは、バックラッシ補正量を一括して出力する方式に設定しておくことにより、それぞれの反転位置での加工精度を向上させることができる。
【００３３】
又、上述した実施形態では移動距離に応じたバックラッシ補正量出力方式、経過時間に応じたバックラッシ補正量出力方式の場合、ステップＳ７，ステップＳ９で１回のバックラッシ補正量Ａを設定補正量Ｑより算出したが、予めこの１回のバックラッシ補正量Ａを求めておき、設定するようにしてもよい。この場合はステップＳ７，Ｓ９の処理が必要でなくなる。
【００３４】
又、上述した実施形態では、移動方向反転時からの所定距離移動する毎に、又は、所定時間（分配周期時間）毎に所定量（Ｑ／Ｎ又はＱ／Ｍ）のバックラッシ補正量を出力するようにしたが、反転位置からの移動距離又は経過時間に応じて、各分配周期毎に出力するバックラッシ補正量の値を変えてもよい。この場合、関数によって分配周期でのバックラッシ補正量を求めても、さらには、反転開始からの移動量に応じて又は経過時間に応じて、出力するバックラッシ補正量を設定記憶しておき、この記憶したバックラッシ補正量を読み出し出力するようにしてもよい。
【図面の簡単な説明】
【００３５】
【図１】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図２】同実施形態における分配周期毎実施するバックラッシ補正処理のフローチャートである。
【符号の説明】
【００３６】
１  プロセッサ（ＣＰＵ）
２  メモリ
３  インタフェース
４  軸制御回路
５  サーボアンプ
６  バス
１０  数値制御装置
１１  表示手段／手動入力ユニット
１２  サーボモータ
１３  位置・速度検出器
【図１】
2006039807.tif 000003
【図２】
2006039807.tif 000004