JP2004326238A - Numerical control device and numerical control method - Google Patents

Numerical control device and numerical control method Download PDF

Info

Publication number
JP2004326238A
JP2004326238A JP2003117076A JP2003117076A JP2004326238A JP 2004326238 A JP2004326238 A JP 2004326238A JP 2003117076 A JP2003117076 A JP 2003117076A JP 2003117076 A JP2003117076 A JP 2003117076A JP 2004326238 A JP2004326238 A JP 2004326238A
Authority
JP
Japan
Prior art keywords
allowable
curvature
radius
acceleration
error amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003117076A
Other languages
Japanese (ja)
Inventor
Ichiro Matsumoto
本 一 郎 松
Jun Fujita
田 純 藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shibaura Machine Co Ltd
Original Assignee
Toshiba Machine Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Machine Co Ltd filed Critical Toshiba Machine Co Ltd
Priority to JP2003117076A priority Critical patent/JP2004326238A/en
Publication of JP2004326238A publication Critical patent/JP2004326238A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a numerical control device and a numerical control method which can realize high speed and highly accurate processing. <P>SOLUTION: A curvature radius in a predetermined path is acquired from a processing program in which a processing path of a cutting tool to a workpiece and a cutting feed rate are described, An allowable error amount corresponding to magnitude of the above curvature radius is calculated by using the above curvature radius and set error amount which prescribes the range of allowable path error. Moreover, the radius of curvature in predetermined path is acquired from the above processing program, and allowable acceleration corresponding to magnitude of the above radius of curvature is calculated by using the above curvature radius and the set acceleration as marginal acceleration at cutting and delivery time. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、工作機械を数値制御する数値制御装置及び数値制御方法に関する。
【0002】
【従来の技術】
一般的に、NC(Numerical Control)工作機械を用いて、金型などにおける自由曲面を、例えばボールエンドミルにより切削加工することが行われる。この加工では、NC工作機械を数値制御する数値制御装置が、CAM等によって作成されたNCプログラムを解析して、例えばX、Y、Z軸の各軸方向の移動指令を取得し、サーボ制御部に渡す。サーボ制御部は、受け取った各軸方向の移動指令に基づいてサーボ機構を制御することにより、切削工具を加工物上で移動させる。
【0003】
しかし、このサーボ機構においては通常、応答遅延などがあるため、加工の際には、切削工具の加工経路が加工プログラムに記述された経路からずれる経路誤差が生じる。この経路誤差は、切削工具の送り速度が大きい程、顕著に現れる。そこで、通常、許容可能な経路誤差を設定誤差量として数値制御装置に対して設定する。数値制御装置は、この設定誤差量以下に経路誤差を制限する許容速度を許容誤差量に基づき算出し、切削工具の送り速度を許容速度以下に調整する。
【0004】
【特許文献1】
特開2000−311010号公報
【特許文献2】
特開2000−148223号公報
【0005】
【発明が解決しようとする課題】
しかしながら、従来においては、ほとんどの場合、上述の設定誤差量は、加工を通じて、同じ値が用いられていた。例えば、荒加工及び仲仕上げ加工では100μm程度、仕上げ加工では20μm程度の一定値が用いられていた。通常、加工経路には、例えば、小さな円弧や大きな円弧等、様々な大きさの円弧が存在する。このような様々の大きさの各円弧(曲率半径)に対して上述のように1種類の設定誤差量を適用すると、小さな円弧では、大きな円弧よりも、曲率半径に対して経路誤差の比率が大きくなってしまう。例えば、仕上げ加工において、設定誤差量を20μmに設定した場合、曲率半径100μmの部分では20%(=20/100)、曲率半径50μmの部分では40%(=20/50)もの経路誤差が生じ得る。設定誤差量の値をもっと小さくすれば、小さな円弧における経路誤差の比率も抑えることができ、従って、きれいな加工も実現できる。しかし、これでは、加工時間が大幅に伸びてしまい、現実的でない。
【0006】
ところで、上述したように、加工経路には、様々な大きさの曲率半径の経路が含まれる。例えば、大きな曲率半径の経路が長くつづくもの(緩やかな経路)もあれば、それぞれ大きさの異なる小さな曲率半径の経路がつながったもの(複雑な経路)もある。このうち、複雑な経路においては、頻繁な加減速により、振動が連続して発生し、この結果、精細な加工が困難になるという問題があった。
【0007】
即ち、通常、円弧部における送り速度は、送り時の加速度や曲率半径等により制限され、例えば、曲率半径が小さい程、低速となる(後述する(式1)(式4)参照)。このため、上述の複雑な経路においては、例えば連続する円弧ごとに送り速度が変動し得る。つまり、連続する円弧ごとに、サーボ系による加減速が行われ得る。通常、加減速の際には機械振動が発生する。従って、上述の複雑な経路においては、頻繁な加減速の繰り返しにより、連続的な機械振動が発生する。
【0008】
ここで、加減速の際に発生する振動の大きさは、加減速の際に付与される加速度の大きさに依存し、加速度が大きいほど大きくなる。このため、上述の複雑な経路において加減速の際に大きな加速度を付与すると、大きな振動が連続して発生し、精細な加工が困難となる。従って、振動による加工への影響を低減するためには、加速度を十分に小さくすることが望ましい。
【0009】
しかし、従来においては、1つの機械に対して1つの加速度(あるいは時定数)しか設定できなかった。このため、経路の形状に拘わらず、1度設定した設定加速度が加工全体に適用されてしまい、それ故、振動の少ない高速な加工は困難であった。即ち、設定加速度として大きな値を設定すると、加工時間は短縮するものの、複雑な経路において大きな振動が連続して発生し、精度な加工が困難となってしまう。一方、設定加速度として小さな値を設定すると、発生する振動の大きさは小さくなるものの、加工時間が大幅に伸びてしまう。
【0010】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、高速且つ精度の高い加工を実現できる数値制御装置及び数値制御方法を提供することにある。
【0011】
【課題を解決するための手段】
本発明の数値制御装置は、加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから、所定の経路における前記切削工具の切削送り速度を取得する解析部と、前記加工プログラムから前記所定の経路における曲率半径を取得する曲率半径取得部と、前記切削工具を切削送りする際の、前記切削工具の経路誤差の許容範囲を規定する設定誤差量を保持した誤差量設定部と、取得された前記曲率半径と前記設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出する許容誤差量算出部と、算出された前記許容誤差量と前記曲率半径とを用いて、前記所定の経路における前記切削工具の経路誤差を前記許容誤差量以下に抑える許容速度を算出する許容速度算出部と、前記所定の経路における前記切削送り速度を前記許容速度以下の速度として算出する目標送り速度算出部と、を備えることを特徴とする。
【0012】
本発明の数値制御装置は、加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得する解析部と、許容可能な経路誤差の範囲を規定した設定誤差量を保持した設定誤差量保持部と、取得した前記曲率半径と、前記設定誤差量とを用いて、前記曲率半径に対応した許容誤差量を算出する許容誤差量算出部と、を備えることを特徴とする。
【0013】
本発明の数値制御方法は、加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得し、前記曲率半径と、許容可能な経路誤差の範囲を規定した設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出することを特徴とする。
【0014】
本発明の数値制御装置は、加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから、所定の経路における前記切削工具の切削送り速度を取得する解析部と、前記加工プログラムから前記所定の経路における曲率半径を取得する曲率半径取得部と、前記切削工具を切削送りする際の限界加速度としての設定加速度を保持し、前記設定加速度と前記曲率半径とを用いて、前記曲率半径の大きさに対応した許容加速度を算出する許容加速度算出部と、算出された前記許容加速度と前記曲率半径とを用いて許容速度を算出する許容速度算出部と、前記所定の経路における前記切削送り速度を前記許容速度以下の速度に最適化した目標送り速度を算出する目標送り速度算出部と、算出された前記目標送り速度が前記許容加速度以下の加減速となるように加減速処理を行う加減速処理部と、を備えることを特徴とする。前記許容加速度算出部に、前記設定加速度により最大切削送り速度に達するまでに要する時間としての設定時定数を保持させ、前記設定時定数と前記曲率半径とを用いて、前記曲率半径に対応した許容時定数を算出し、前記許容時定数と前記最大切削送り速度とを用いて、前記許容加速度を算出してもよい。
【0015】
本発明の数値制御装置は、加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得する解析部と、前記切削工具の切削送り時における限界加速度としての設定加速度を保持した設定加速度保持部と、取得した前記曲率半径と、前記設定加速度とを用いて、前記曲率半径に対応した許容加速度を算出することを特徴とする。前記設定加速度により最大切削送り速度に達するまでに要する時間としての設定時定数を保持した時定数設定部を、前記設定加速度保持部と共にあるいは前記設定加速度保持部の代わりに備えさせ、前記時定数設定部に保持された前記設定時定数と、前記曲率半径とを用いて、前記曲率半径に対応した許容時定数を算出し、前記最大切削送り速度と前記許容時定数とを用いて、前記許容加速度を算出するようにしてもよい。
【0016】
本発明の数値制御方法は、加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得し、前記曲率半径と、切削送り時における限界加速度としての設定加速度を用いて、前記曲率半径の大きさに対応した許容加速度を算出することを特徴とする。
【0017】
【発明の実施の形態】
図1は、本発明の第1の実施の形態としての数値制御装置1の構成を示すブロック図である。
【0018】
図1に示すように、解析部2は、CAM等によって出力された加工プログラムを解析して、後述する各種の情報を出力する。加工プログラムの一例を図2に示す。この加工プログラムに記述された切削工具の加工経路を図3に示す。但し、この加工プログラムにおいて切削工具の移動はX−Y平面上でのみ行われるのでZ軸は図示していない。
【0019】
図2に示すように、この加工プログラムは、5つのブロック、つまり、ブロック(0)〜ブロック(4)から構成されている。
【0020】
図2に示すように、ブロック(0)において、“N0”はシーケンス番号、“G00”は早送り指令、“X0 Y0 Z0”は目標座標である。従って、ブロック(0)は、図3に示すように、原点P0(0、0、0)に対して切削工具を早送りする指令である。なお、早送り速度は、あらかじめ数値制御装置1内に設定されているので、加工プログラム内で指定する必要はない。
【0021】
次に、ブロック(1)において、“N1”はシーケンス番号、“G03”は、反時計回りの円弧切削指令、“X0.2”は目標座標(Y、Z座標は共にブロック(1)と同じ。以下同様。)、“R”は円弧切削時における経路の曲率半径(この場合0.1mm)、“F”は切削送り速度(X−Y−Z軸の各軸方向における送り速度の合成)(この場合10000mm/分)を示す。従って、ブロック(1)は、図3に示すように、原点P0(0、0、0)から位置P1(0.2、0、0)まで、原点P0(0、0、0)と位置P1(0.2、0、0)との両方を通過する曲率半径0.1mmの円弧に沿って、切削工具を反時計回りに切削送りする指令である。なお、このブロック(1)において指定された切削送り速度F(10000mm/分)は、このブロック(1)より後のブロック(2)(3)に対しても適用される。
【0022】
次に、ブロック(2)において、“G02”は時計回りの円弧切削指令であり、“N”“X”“R”は上述した通りである。従って、ブロック(2)は、図3に示すように、位置P1(0.2、0、0)から位置P2(200.2、0、0)まで、位置P1(0.2、0、0)と位置P2(200.2、0、0)との両方を通過する曲率半径100mmの円弧に沿って、切削工具を時計回りに切削送りする指令である。
【0023】
次に、ブロック(3)において、“N”“G03”“X”“R”は上述した通りである。従って、ブロック(3)は、図3に示すように、位置P2(200.2、0、0)から位置P2(220.2、0、0)まで、位置P2(200.2、0、0)と位置P3(220.2、0、0)との両方を通過する曲率半径10mmの円弧に沿って、切削工具を時計回りに切削送りする指令である。
【0024】
次に、ブロック(4)において、“M02”はプログラムの終了を指示するコードを示す。従って、ブロック(4)は、加工プログラムを終了する指令である。
【0025】
以上のような複数のブロックからなる加工プログラムを解析部2は各ブロックについて所定のサンプリング時間(第1のサンプリング時間)ごとに解析する。そして、解析部2は、各ブロックから、切削有無情報(非切削あるいは切削)、切削工具の送り速度(各軸方向への送り速度の合成)、第1のサンプリング周期ごとの各軸(X、Y、Z軸)方向の切削工具の移動量を出力する。解析部2は、図示しないバッファを備え、出力した切削有無情報、送り速度、各軸方向への切削工具の移動量をこのバッファに記憶する。
【0026】
形状認識部3は、解析部2における図示しないバッファから各ブロックについて各軸方向の移動量を取得し、取得した各軸方向の移動量に基づいて、切削工具の移動軌跡を形成する。そして、形状認識部3は、この移動軌跡について形状認識を行い、例えば、円弧部(曲率半径の大きさも含む)、直線部などの形状情報をブロックごとに取得する。形状認識部3は、取得した形状情報を、後述する許容誤差量算出部6及び目標送り速度算出部9に送出する。
【0027】
誤差量設定部4は、切削時において許容できる経路誤差の最大値を表す設定誤差量を保持する。この経路誤差は、加工プログラム中に記述された加工経路からの誤差(あるいは形状認識部3によって形成された移動軌跡からの誤差)である。誤差量設定部4に保持されたこの設定誤差量は、後述するように、許容誤差量算出部6によって許容誤差量が算出される際に用いられる。
【0028】
パラメータ設定部5は、許容誤差量算出部6によって許容誤差量が算出される際に用いられる各種のパラメータ、つまり、最大曲率半径、最小曲率半径、最小設定比率を保持する。これらのパラメータについては後に詳しく述べる。
【0029】
許容誤差量算出部6は、形状認識部3から受け取った形状情報の内容を判断し、この形状情報が円弧であると判断した場合には、誤差量設定部4に保持された設定誤差量を、円弧の曲率半径の大きさに応じた値に調整した許容誤差量(設定誤差量以下の値)を算出する。算出に当たっては、受け取った形状情報に含まれる曲率半径と、誤差量設定部4により保持された設定誤差量と、パラメータ設定部5に保持された各種パラメータとを用いる。より詳しくは、以下の通りである。
【0030】
即ち、許容誤差量算出部6は、上述の形状情報に含まれる曲率半径に基づき、誤差量設定部4に保持された設定誤差量のどの程度の比率を許容誤差量として認めるかを示す許容誤差量設定比率(0<許容誤差量設定比率<=1)を、上述の曲率半径、設定誤差量及び各種パラメータを用いて算出する((式2)参照)。そして、許容誤差量算出部6は、この許容誤差量設定比率に設定誤差量を乗算したものを許容誤差量として出力する((式2)参照)。後述するように、例えば、加工経路の曲率半径が大きいときは誤差量設定比率を大きくして、許容誤差量を大き目に算出する。これにより、高速な加工を実現する。一方、加工経路の曲率半径が小さいときは誤差量設定比率を小さくして、許容誤差量を小さ目に算出する。これにより、経路誤差を少ない状態に抑えた加工を実現する。許容誤差量の算出手段については後に詳しく述べる。なお、上述において、許容誤差量算出部6が、形状認識部3から受け取った形状情報の内容が円弧以外のものと判断した場合は、許容誤差量算出部6は何も行わない。
【0031】
許容速度算出部8は、許容誤差量算出部6から許容誤差量及び形状情報を受け取り、この許容誤差量、及び形状情報に含まれる曲率半径とを用いて、この許容誤差量以下に経路誤差を制限する許容速度を算出する。より詳しくは、許容速度算出部8は、以下の(式1)を用いて、許容速度を算出する。
【数1】

Figure 2004326238
【0032】
この(式1)において、位置ループゲインは、サーボ系11の追従性の良さを示す指標であり、予めこの許容速度算出部8内に設定されたものである。許容速度算出部8は、算出した許容速度を目標送り速度算出部9に送出する。
【0033】
目標送り速度算出部9は、解析部2における図示しないバッファから各ブロックにおける切削有無情報及び送り速度を取得し、この送り速度を、切削有無情報、形状認識部3から受け取った形状情報、許容速度算出部8から受信した許容速度とに基づいて最適化した目標送り速度を算出する。
【0034】
即ち、まず、目標送り速度算出部9は切削有無情報の内容を判断し、切削有無情報が非切削であると判断した場合は、予め設定された早送り速度を目標送り速度として算出する。一方、目標送り速度算出部9が、切削有無情報が切削であると判断した場合は、次に、形状情報の内容を判断する。
【0035】
目標送り速度算出部9は、形状情報が円弧以外(例えば直線)のものであると判断した場合は、例えば解析部2から受信した送り速度をそのまま(あるいは周知の方法を用いて形状情報に応じた値に補正して)目標送り速度として出力する。
【0036】
一方、目標送り速度算出部9は、上述の形状情報が円弧であると判断した場合は、解析部2から受信した送り速度と、許容速度算出部8から受信した許容速度とを比較し、送り速度が許容速度以下であると判断すれば、この送り速度を目標送り速度として出力する。一方、目標送り速度算出部9は、送り速度が許容速度よりも大きいと判断すれば、この送り速度を、許容速度を超えない範囲内で最適化したものを目標送り速度として出力する。好適には、この目標送り速度を許容速度と同じにする。目標送り速度算出部9は、以上のようにして出力した目標送り速度を加減速処理部7に送出する。
【0037】
加減速処理部7は、目標送り速度算出部9から受信した各ブロックについての目標送り速度について、ブロック間における速度の変化が設定加速度以下となるように加減速処理を行う。設定加速度には、非切削時用の設定加速度と、切削時用の設定加速度があり、後者は、振動防止等の観点から低めに設定されている。これらの設定加速度は、予め加減速処理部7に保持されている。
【0038】
より詳しくは、加減速処理部7は、解析部2における図示しないバッファから各ブロックについての切削有無情報及び各軸方向の移動量を受け取る。これら切削有無情報及び各軸方向の移動量と、目標送り速度算出部9から受信した目標送り速度とに基づき、各ブロックについて、第2のサンプリング時間ごとに、サーボ制御を行うための各軸方向の移動量(最適化送り速度)を順次算出する。この際、ブロック間において目標送り速度に速度変化が生じる場合は(例えば曲率半径が変わるなど)、加減速処理部7は、速度変化が設定加速度以下になるように、各軸方向の移動量を算出する。
【0039】
例えば、目標送り速度が速度V1(第1のブロック)から速度V2(第2のブロック)(V2>V1)に変化し、この速度変化が設定加速度より大きい場合を想定する。この場合、例えば、まず、第2のブロックについて、速度V1に設定加速度を加算し、この算出結果と一致するような、各軸方向の移動量を求める。次いで、この加算結果にさらに設定加速度を加算した速度となるような、各軸方向の移動量を算出する。このようにして、各軸方向の移動量を繰り返し算出し、最終的に、速度V2となる各軸方向の移動量を算出する(算出結果が速度V2を超えた場合は、その算出結果をV2に置き換える)。これにより、速度V1から速度V2への加速を行う。速度V1から速度V2への速度変化が設定加速度以下の場合も、同様にして加減速処理を行う。上の例では、第2のブロックにおいて加速を始めたが、経路形状を先読みするなどして、第1のブロックにおいて加速を始めるようにしてもよい。
【0040】
分配部10は、加減速処理部7によって算出された、第2のサンプリング周期ごとの各軸方向の移動量(最適化送り速度)を、X、Y、Z軸位置指令として、サーボ系11におけるX軸制御部11a、Y軸制御部11b及びZ軸制御部11cに順次送出する。
【0041】
X、Y、Z軸制御部11a〜11cは、分配部10から受信したX、Y、Z軸位置指令に従って、X、Y、Z軸における各送り軸(図示せず)を駆動し、これにより、各送り軸上の移動対象物(図示せず)を移動する。
【0042】
次に、この数値制御装置1の動作について説明する。
【0043】
図4は、この数値制御装置1の動作を説明するためのフローチャートを示す図である。
【0044】
まず、解析部2(図1参照)がNCプログラムを受け取ると、この解析部2は、この加工プログラムをブロックごとに解析して、各ブロックについて、切削有無情報、送り速度及び第1のサンプリング周期ごとの各軸方向へ切削工具の移動量を算出する(ステップS1)。解析部2は、算出した切削有無情報、送り速度及び各軸方向の移動量をブロックごとに図示しないバッファに記憶すると共に、各軸方向の移動量を形状認識部3に送出する(ステップS1)。
【0045】
各軸方向の移動量を受信した形状認識部3は、受信した各軸方向の移動量に基づき、形状認識を行い、形状情報(円弧の場合は曲率半径の大きさも含む)を取得する(ステップS2)。形状認識部3は、取得した形状情報を、図1に示すように、許容誤差量算出部6及び目標送り速度算出部9へ送出する(ステップS2)。
【0046】
形状情報を受信した許容誤差量算出部6は、この形状情報の内容を判断し、この形状情報が円弧以外のものを示すものと判断した場合は、何も行わない(ステップS3)。一方、許容誤差量算出部6は、この形状情報が円弧を示すものと判断した場合は、誤差量設定部4から設定誤差量を受信し、また、パラメータ設定部5から最大曲率半径、最小曲率半径及び最小設定比率を受信する(ステップS3)。許容誤差量算出部6は、受信した曲率半径、設定誤差量、最大曲率半径、最小曲率半径及び最小設定比率を、後述する(式2)に適用して、曲率半径に応じた許容誤差量を算出する(ステップS3)。許容誤差量算出部6は、算出した許容誤差量及び形状認識部3から受け取った形状情報を、図1に示すように、許容速度算出部8に送出する(ステップS3)。
【0047】
許容速度算出部8は、許容誤差量算出部6から受信した許容誤差量及び形状情報に含まれる曲率半径を、上述の(式1)に適用して、経路誤差を許容誤差量以下に制限する許容速度を算出する(ステップS4)。許容速度算出部8は、算出した許容速度を、図1に示すように、目標送り速度算出部9に送出する(ステップS4)。
【0048】
一方、目標送り速度算出部9は、形状認識部3から形状情報を受信したら、解析部2における図示しないバッファから、各ブロックの切削有無情報及び送り速度を取得する(ステップS5)。目標送り速度算出部9は、形状情報の内容を判断し、形状情報が円弧以外のものであると判断した場合は、上述したように、切削有無情報及び送り速度に基づき、送り速度を最適化した目標送り速度を算出する(ステップS5)。一方、目標送り速度算出部9は、形状情報の内容が円弧であると判断した場合は、許容速度算出部8から許容速度を受信するまで待機し、許容速度を受信したら、上述したように、上述の送り速度と許容速度とに基づいて、許容速度を算出する(ステップS5)。このようにして目標送り速度を算出した目標送り速度算出部9は、算出した目標送り速度を、加減速処理部7に送出する(ステップS5)。
【0049】
目標送り速度を受信した加減速処理部7は、解析部2における図示しないバッファから切削有無情報及び各軸方向の移動量を受け取る(ステップS6)。そして、加減速処理部7は、受け取った切削有無情報、各軸方向の移動量、及び目標送り速度を用いて、設定加速度以下の加減速となるように、第2のサンプリング周期ごとの各軸方向の移動量を求める(ステップS6)。加減速処理部7は、算出した第2のサンプリング周期ごとの各軸方向の移動量を分配部10に送出する(ステップS6)。
【0050】
各軸方向の移動量を受信した分配部10は、受信した各軸方向の移動量を、X、Y、Z軸位置指令として、第2のサンプリング周期ごとに、X軸制御部11a、Y軸制御部11b及びZ軸制御部11cに送出する(ステップS7)。X、Y、Z軸制御部11a〜11cは、受信した各X、Y、Z軸位置指令に従って、各軸における送り軸を駆動し、各送り軸上の移動対象物を移動する(ステップS7)。
【0051】
ここで、許容誤差量算出部6が、曲率半径の大きさに応じて許容誤差量を算出する具体的な手段について説明する。
【0052】
以下に示す(式2)は、この算出手段の一例を示すものである(第1の算出手段)。
【数2】
Figure 2004326238
【0053】
ここで、Eorignは設定誤差量、Eovr_fは許容誤差量設定比率、Rmaxは最大曲率半径、Rminは最小曲率半径、Eovr_minは最小の許容誤差量設定比率(最小設定比率)、Rは許容誤差量の算出対象となる経路(ブロック)の曲率半径である。
【0054】
これらのうち、設定誤差量(Eorign)は、上述したように、誤差量設定部4に保持されたものである。また、最大曲率半径(Rmax)、最小曲率半径(Rmin)、最小設定比率(Eovr_min)は、パラメータ設定部5に保持されたものである。
【0055】
許容誤差量設定比率(Eovr_f)は、上述したように設定誤差量(Eorign)のどの程度の比率を許容誤差量(E)として認めるかを示すものであり、最小設定比率(Eovr_min)以上の値を有し、1以下の値を有する。最大曲率半径(Rmax)は、許容誤差量(E)を算出する対象となる最大の曲率半径(R)であり、これより大きな曲率半径の場合は、(式2)の但し書き上段に示すように、許容誤差量(E)は設定誤差量(Eorign)に等しくなる(このとき許容誤差量は最も大きな値となる)。最小曲率半径(Rmin)は、許容誤差量(E)を算出する対象となる最小の曲率半径(R)であり、これより小さな曲率半径の場合は、(式2)の但し書き下段に示すように、許容誤差量(E)は、設定誤差量(Eorign)に最小設定比率(Eovr_min)を乗算したものとなる(このとき許容誤差量は最も小さな値になる)。以上からも分かるように、許容誤差量(E)の上限は設定誤差量(Eorign)である。そして、曲率半径(R)が小さくなるほど許容誤差量(E)も小さくなり、許容誤差量(E)の下限は、設定誤差量(Eorign)×最小設定比率(Eovr_min)である。
【0056】
以下、許容誤差量算出部6が、この(式2)に従い、許容誤差量(E)を算出する例を、図2に示す加工プログラム(ブロック(1)〜ブロック(3))を用いて説明する。
【0057】
但し、設定誤差量(Eorign)=20μm、最大曲率半径(Rmax)=50mm、最小曲率半径(Rmin)=1mm、最小設定比率(Eovr_min)=10%とする。
【0058】
まず、ブロック(1)では、R(0.1mm)<Rmin(1mm)となる。従って、(式2)の但し書き下段に示すように、許容誤差量は、E=Eorign×Eovr_min=20μm×10%=2μmとなる。
【0059】
次に、ブロック(2)では、R(100mm)>Rmax(50mm)となる。従って、(式2)の但し書き上段に示すように、許容誤差量は、E=Eorign×1=20μm×1=20μmとなる。
【0060】
次に、ブロック(3)では、Rmin(1mm)<R(10mm)<Rmax(50mm)となる。従って、(式2)に示すように、許容誤差量は、E=20μm×{(1−0.1)/49*9+0.1}=5.3μmとなる。
【0061】
図5は、上の算出結果を、従来の場合と比較して示す図表である。
【0062】
図5に示すように、従来においては、上述したように、許容誤差量の値は、曲率半径の大きさに拘わらず、一定の値(20μm)とされる。このため、例えば、曲率半径が100mmと大きい場合、曲率半径に対する許容誤差量の比率は0.02%であるのに対し、曲率半径が0.1mmと小さい場合、この比率は20%にもなる。つまり、従来においては、曲率半径が小さい場合、曲率半径に対する経路誤差(経路の逸脱量)の比率は大きくなる。
【0063】
一方、本実施の形態においては、許容誤差量の大きさは、曲率半径が小さくなるに従って、小さくされる。従って、曲率半径が小さい場合においても、曲率半径に対する許容誤差量の比率を小さくすることができる。例えば、従来の場合においては、上述したように曲率半径が0.1mmのとき、曲率半径に対する許容誤差量の比率は20%にもなるが、本実施の形態の場合、この比率は2%である。従って、本実施の形態では、小さな曲率半径の経路においても、曲率半径に対する経路誤差の比率を小さくできることが分かる。
【0064】
さて、次に、上述した第1の算出手段(式2)とは別の算出手段(第2の算出手段)を用いて、許容誤差量を算出する手段について説明する。
【0065】
上述した第1の算出手段では、算出対象として図2に示す加工プログラムを用いたが、ここでは、図6に示す、3つの円弧A〜Cからなる経路を算出対象とする。即ち、曲率半径10mmの円弧A、曲率半径1mmの円弧B、曲率半径0.1mmの円弧Cを許容誤差量の算出対象とする。
【0066】
また、この第2の算出手段では、許容誤差量の算出に当たり、以下に示す(式3)を用いる。
【数3】
Figure 2004326238
【0067】
但し、Eorignは設定誤差量、Eovr_fは許容誤差量設定比率である。そして、この許容誤差量設定比率(Eovr_f)は、図7に示す、曲率半径と許容誤差量設定比率との関係を示すグラフに従うものとする。つまり、許容誤差量設定比率(Eovr_f)は、曲率半径が0.1以下のときは“1(%)”、0.1mmより大きく10mmより小さいときは、“10×曲率半径(%)”、10mm以上のときは“100(%)”となる。
【0068】
この図7に示す関係に従って、図6に示す各円弧A〜Cについて、許容誤差量を算出すると以下のようになる。但し、上述した第1の算出手段の場合と同様、設定誤差量(Eorign)は20μmとする。
【0069】
まず、円弧Aの場合、曲率半径は10mmである。また、図7に示すように、曲率半径10mmのとき、許容誤差量設定比率(Eovr_f)は100%である。よって、(式3)に示すように、許容誤差量は、E=20μm×100%=20μmである。
【0070】
次に、円弧Bの場合、曲率半径は1mmである。また、図7に示すように、曲率半径が1mmのとき、許容誤差量設定比率(Eovr_f)は10%である。よって、(式3)に示すように、許容誤差量は、E=20μm×10%=2μmとなる。
【0071】
次に、円弧Cの場合、曲率半径は0.1mmである。また、図7に示すように、曲率半径が0.1mmのとき、許容誤差量設定比率(Eovr_f)は、1%である。よって、(式3)に示すように、許容誤差量は、E=20μm×1%=0.2μmとなる。
【0072】
図8は、この算出結果を従来の場合と比較して示した図表である。
【0073】
図8に示すように、従来においては、上述したように、曲率半径の大きさに拘わらず、許容誤差量の大きさは一定とされる。このため、例えば、曲率半径が10mmと大きい場合(円弧A)、曲率半径に対する許容誤差量の比率は0.2%と小さいが、曲率半径が例えば0.1mmと小さい場合(円弧C)、この比率は20%と非常に大きくなる。
【0074】
これに対して、本実施の形態の場合においては、曲率半径の大きさに拘わらず、曲率半径に対する許容誤差量の比率は0.2%と、非常に小さい。つまり、曲率半径が小さくなるに従い、許容誤差量も小さくされる。従って、曲率半径に対する経路誤差の比率は、小さな曲率半径においても小さくされる。
【0075】
以上のように、本実施の形態によれば、加工経路の曲率半径の大きさに応じて設定誤差量の値を適正に調整するようにしたので、加工経路の曲率半径が小さい場合であっても、曲率半径に対する経路誤差の比率を小さくすることができる。つまり、小さな曲率半径の部分では、許容誤差量を小さくし、大きな曲率半径の部分では許容誤差量を大きくするようにしたので、曲率半径が小さいものと大きいものが混ざった加工プログラムであっても、高速且つ高精度な加工を実現することができる。
【0076】
次に、本発明の第2の実施の形態について説明する。
【0077】
上述の第1の実施の形態では、曲率半径の大きさに応じて設定誤差量を調整したが、本実施の形態では、曲率半径の大きさに応じて設定加速度を調整する。以下、本実施の形態について詳しく述べる。
【0078】
図9は、本発明の第2の実施の形態としての数値制御装置18の構成を示すブロック図である。図9中、第1の実施の形態と同等の部分には同一の符号を付してある。
【0079】
図9に示すように、解析部2、形状認識部3は、第1の実施の形態と同様であるので詳細な説明を省略する。
【0080】
時定数設定部13は、設定時定数を保持している。この設定時定数は、機械仕様上許容された、切削時における最大の送り速度(最大切削送り速度)に達するまでの時間(例えば速度0mm/minから10000mm/minに達するまでの時間)を表す。この設定時定数は、後述する許容加速度算出部14において許容加速度を算出する際に用いられる。また、上述の最大切削送り速度は、後述する許容加速度算出部14によって保持されている。
【0081】
パラメータ設定部16は、許容加速度算出部14によって許容加速度が算出される際に用いられる各種のパラメータ、つまり、最大曲率半径、最小曲率半径、最小設定比率を保持する。より詳しくは後述する。
【0082】
許容加速度算出部14は、形状認識部3から形状情報を受け取り、この形状情報の内容を判断し、形状情報が円弧以外であると判断した場合は、予め保持させた切削時用の設定加速度を許容加速度として出力する。一方、許容加速度算出部14は、形状情報が円弧であると判断した場合は、この円弧の曲率半径に応じた値を有する許容加速度(設定加速度以下の値)を算出する。許容加速度の算出に当たっては、まず、形状情報に含まれる曲率半径と、時定数設定部13により保持された設定時定数と、パラメータ設定部5に保持された各種パラメータとを、後述する(式5)に適用して、曲率半径に応じた値を有する許容時定数(設定時定数以上の値)を求める。次いで、許容加速度算出部14に保持された最大切削送り速度をこの許容時定数で除算して許容加速度を求める((式6)参照)。より詳しくは後述する。許容加速度算出部14は、図示しないバッファを備え、算出した許容加速度を、このバッファに記憶すると共に、この許容加速度と上述の形状情報とを許容速度算出部15に送出する。
【0083】
許容速度算出部15は、受信した許容加速度と形状情報に含まれる曲率半径とを以下に示す(式4)に適用して、円弧切削時において加速度と曲率半径により制限される許容速度を算出する。許容速度算出部15は、算出した許容速度を目標送り速度算出部9に送出する。
【数4】
Figure 2004326238
【0084】
目標送り速度算出部9は、第1の実施の形態と同様に、解析部2における図示しないバッファから切削有無情報及び送り速度を取得し、この切削有無情報と形状認識部3から受信した形状情報とに基づいて送り速度を最適化した目標送り速度を算出する。つまり、目標送り速度算出部9は、形状情報の内容が円弧である場合は、許容速度算出部15から受信した許容速度の範囲内でこの送り速度を最適化する。一方、目標送り速度算出部9は、形状情報の内容が円弧以外あるいは切削情報が非切削である場合は、例えば、送り速度をそのまま目標送り速度とする。目標送り速度算出部9は、算出した目標送り速度を加減速処理部17に送出する。
【0085】
加減速処理部17は、目標送り速度算出部9から目標送り速度を受信すると共に、解析部2から切削有無情報及び各軸方向の移動量を取得し、さらに、許容加速度算出部14から図示しないバッファに保存された許容加速度を取得する。そして、加減速処理部17は、この許容加速度あるいは予め保持した非切削時用の設定加速度を超えないように、第2のサンプリング周期ごとの各軸方向の移動量を算出する(第1の実施の形態と異なり、加減速処理部17は非切削時用の設定加速度のみを保持している)。つまり、第1の実施の形態では、切削時の場合、加減速処理部17に予め保持させた切削時用の設定加速度に基づき加減速処理を行ったが、本実施の形態では、ブロックごとに許容加速度算出部14によって算出された許容加速度に基づき加減速処理を行う。このようにして、加減速処理部17は、各ブロックについて、第2のサンプリング周期ごとの各軸方向の移動量(最適化送り速度)を算出する。
【0086】
ここで、第1の実施の形態と同様に、目標送り速度が速度V1(第1のブロック)から速度V2(第2のブロック)(V2>V1)に変化し、この速度変化が設定加速度より大きい場合を想定する。この場合、例えば、まず、第2のブロックに関して算出された許容加速度を速度V1に加算し、加算後の速度となるような、第2のサンプリング周期当たりの各軸方向の移動量を求める。次いで、この加算後の速度にさらに許容加速度を加算し、加算後の速度となるような、各軸方向の移動量を算出する。このようにして、各軸方向の移動量を繰り返し算出し、最終的に、速度V2となる各軸方向の移動量を算出する(算出結果が速度V2を超えた場合は、その算出結果をV2に置き換える)。上の例では、第2のブロックにおいて加速を始めたが、第1のブロックにおいて加速を始めるようにしてもよい。この場合は、速度V1に加算する加速度として、例えば、第1のブロックに関して算出された許容加速度を用いる。
【0087】
分配部10及びサーボ系11は、第1の実施の形態と同じなので、詳細な説明を省略する。
【0088】
次に、この数値制御装置18の動作について説明する。
【0089】
図10は、この数値制御装置18の動作を説明するためのフローチャートを示す。
【0090】
まず、第1の実施の形態と同様に、解析部2(図9参照)が加工プログラムを解析して、各ブロックについて、切削有無情報、送り速度及び第1のサンプリング周期ごとの各軸方向の切削工具の移動量を算出する(ステップS11)。解析部2は、算出した切削有無情報、送り速度及び各軸方向の移動量をブロックごとに図示しないバッファに記憶すると共に、各軸方向の移動量を形状認識部3に順次送出する(ステップS11)。
【0091】
各軸方向の移動量を受信した形状認識部3は、第1の実施の形態と同様に、受信した各軸方向の移動量に基づき、形状認識を行い、形状情報を取得する(ステップS12)。形状認識部3は、取得した形状情報を、許容加速度算出部14及び目標送り速度算出部9へ送出する(ステップS12)。
【0092】
形状情報を受信した許容加速度算出部14は、この形状情報の内容を判断し、この形状情報が円弧以外であると判断した場合は、何も行わない(ステップS13)。一方、許容加速度算出部14は、この形状情報が円弧であると判断した場合は、時定数設定部13から設定時定数を受信し、また、パラメータ設定部16から最大曲率半径、最小曲率半径及び最小設定比率を受信する(ステップS13)。許容加速度算出部14は、受信した曲率半径、設定時定数、最大曲率半径、最小曲率半径及び最小設定比率を、後述する(式5)に適用して許容時定数を算出する(ステップS13)。そして、許容加速度算出部14は、この許容時定数と最大切削送り速度とを後述する(式6)に適用して許容加速度を算出する(ステップS13)。許容加速度算出部14は、算出した許容加速度及び上述の形状情報を許容速度算出部15に送出すると共に、算出した許容加速度を図示しないバッファに記憶する(ステップS13)。
【0093】
許容速度算出部15は、受信した許容加速度及び形状情報に含まれる曲率半径を、上述の(式4)に適用して許容速度を算出する(ステップS14)。許容速度を算出した許容速度算出部15は、算出した許容速度を目標送り速度算出部9に送出する(ステップS14)。
【0094】
一方、目標送り速度算出部9は、上述の形状認識部3から形状情報を受信したら、第1の実施の形態と同様に、解析部2から切削有無情報及び送り速度を取得する(ステップS15)。目標送り速度算出部9は、形状情報の内容を判断し、形状情報が円弧以外のものであると判断した場合は、切削有無情報及び送り速度に基づき目標送り速度を算出する(ステップS15)。一方、目標送り速度算出部9は、形状情報の内容が円弧であると判断した場合は、解析部2から受信した送り速度と、目標送り速度算出部9から受信した許容速度を超えない範囲で最適化して目標送り度を算出する(ステップS15)。目標送り速度算出部9は、算出した目標送り速度を、加減速処理部17に送出する(ステップS15)。
【0095】
目標送り速度を受信した加減速処理部17は、解析部2における図示しないバッファから切削有無情報及び各軸方向の移動量を受け取ると共に、許容加速度算出部14における図示しないバッファに記憶された許容加速度を取得する(ステップS16)。そして、加減速処理部17は、受信した目標送り速度、切削有無情報、各軸方向の移動量、非切削時用の設定加速度あるいは上述の許容加速度を用いて、非切削時用の設定加速度あるいは許容加速度を超えないような、第2のサンプリング周期ごとの各軸方向の移動量を算出する。加減速処理部7は、算出した第2のサンプリング周期ごとの各軸方向の移動量を分配部10に送出する(ステップS16)。
【0096】
各軸方向の移動量を受信した分配部10は、第1の実施の形態と同様に、受信した受信した各軸方向の移動量(位置指令)を、X軸制御部11a、Y軸制御部11b及びZ軸制御部11cに送出する(ステップS17)。X、Y、Z軸制御部11a〜11cは、受信した各X、Y、Z軸位置指令に従って、各軸における送り軸を駆動し、送り軸上の移動対象物を移動する。(ステップS17)。
【0097】
ここで、許容加速度算出部14が、曲率半径の大きさに応じて許容加速度を算出する具体的な手段について説明する。
【0098】
以下に示す(式5)は、曲率半径の大きさに応じて許容時定数を算出する手段の一例を、(式6)は(式5)により算出された許容時定数を用いて許容加速度を算出する手段の一例を示す。
【数5】
Figure 2004326238
【0099】
ここで、(式5)において、Torignは設定時定数、Aovr_fは加速度設定比率、Rmaxは最大曲率半径、Rminは最小曲率半径、Aovr_minは最小の加速度設定比率(最小設定比率)、Rは許容加速度の算出対象となる経路の曲率半径である。加速度設定比率は、設定加速度のどの程度の比率を許容加速度として認めるかを表すものであり、最小設定比率(Aovr_min)以上で且つ1以下の値を有する。また、(式6)において、Fmaxは最大切削送り速度である。
【0100】
これらのうち、設定時定数(Torign)は、上述したように、時定数設定部13に保持されたものである。また、最大曲率半径(Rmax)、最小曲率半径(Rmin)、最小設定比率(Aovr_min)はパラメータ設定部16に保持されたものである。
【0101】
(式5)の但し書き上段に示すように、曲率半径(R)が最大曲率半径(Rmax)より大きいときは、許容時定数(T)は設定時定数(Torign)に等しくなる。従って、(式6)に示すように、このとき、許容加速度(A)は、設定加速度に等しくなり(最大切削送り速度を設定時定数で除算したものが設定加速度)、従って、許容加速度は最も大きくなる。
【0102】
一方、曲率半径(R)が最大曲率半径(Rmax)より小さいときは、(式5)の但し書き下段に示すように、許容時定数(T)は、設定時定数(Torign)を最小設定比率(Aovr_min)で除算したものとなり、このとき許容時定数(T)は最も大きくなる。従って、(式6)に示すように、最大切削送り速度をこの許容時定数で除算した許容加速度(A)はこのとき最も小さくなる。
【0103】
以上から分かるように、また、(式5)及び(式6)に示すように、曲率半径が小さくなるほど、許容加速度は小さくなる。
【0104】
以下、許容加速度算出部14が、この(式5)(式6)に従って、許容加速度(A)を算出する例を、図2の加工プログラム(ブロック(1)〜ブロック(3))を用いて説明する。
【0105】
但し、設定時定数(Torign)=400msec、最大曲率半径(Rmax)=50mm、最小曲率半径(Rmin)=1mm、最小設定比率(Aovr_min)=10%とする。また、最大切削送り速度(F)は、10000mm/minとする。
【0106】
まず、ブロック(1)では、R(0.1mm)<Rmin(1mm)である。従って、(式5)の但し書き下段に示すように、許容時定数は、T=Torign×(1/0.1)=400×(1/0.1)=4000msec=(4000/60000)min、となる。よって、(式6)に示すように、許容加速度は、A=10000/(4000/60000)=150000mm/minとなる。
【0107】
次に、ブロック(2)では、R(100mm)>Rmax(50mm)である。従って、(式5)の但し書き上段に示すように、許容時定数は、T=Torign×1=400×1=400msec=(400/60000)minとなる。よって、(式6)に示すように、許容加速度は、A=10000/(400/60000)=1500000mm/minとなる。
【0108】
次に、ブロック(3)では、Rmin(1mm)<R(10mm)<Rmax(50mm)である。従って、(式5)に示すように、許容時定数は、T=400×[1/{(1−0.1)/49*9+0.1}]=1508msec=(1508/60000)minとなる。よって、(式6)に示すように、許容加速度は、A=10000/(1508/60000)=397878mm/minとなる。
【0109】
図11は、上の算出結果を、従来の場合と比較して示した図表である。
【0110】
図11に示すように、従来においては、曲率半径の大きさに拘わらず、許容加速度は一定である(従来の許容加速度は、設定加速度と同じ、つまり、最大切削送り速度(10000mm/sec)を設定時定数(400msec)で除算したものと同じである)。
【0111】
これに対し、本実施の形態においては、曲率半径が小さくなるに従って、許容加速度は小さくされる。よって、小さな曲率半径の経路が連続した複雑な経路において頻繁な加減速による連続した振動が発生した場合であっても、加減速に付与される加速度は小さいため、振動の大きさを可及的に小さいものとすることができる。
【0112】
次に、本実施の形態による効果を、上述の加工プログラムとは別の例を用いて説明する。
【0113】
図12(a)は、ある加工プログラムに記述された加工経路を示す。図12(b)−1は、従来の手法によりこの加工プログラムに基づく加工を行った場合におけるX座標と速度との関係を示す。図12(b)−2は、本実施の形態によりこの加工プログラムに基づく加工を行った場合におけるX座標と速度との関係を示す。
【0114】
図12(a)に示すように、経路N0−N1、N2−N3、N4−N5は直線、N1−N2は曲率半径10mmの円弧、N3−N4は曲率半径50mmの円弧である。そして、N5−N11は、曲率半径1mmと2mmの円弧が交互に配置された経路、つまり、大きさの異なる曲率半径の円弧が連続した複雑な経路である。
【0115】
図12(b)−1に示すように、従来においては、例えば、複雑な経路N5−N11における各ノードN5、N6・・・N11(曲率の変わる部分)や、経路N6−N7、N8−N9、N10−N11の間において、加減速が開始あるいは終了されている。加速時及び減速時に付与される加速度の大きさ(速度の傾き)は、図12(b)−1に示すように、大きい。従って、加減速の開始及び終了の度に大きな振動が発生し、精細な加工が困難となる。なお、例えば、R10mmの経路N1−N2における始点及び終点(N1、N2)、及びR50mmの経路N3−N4における始点及び終点(N3、N4)においても、加減速が終了及び開始されているが、この際の加速度の付与は、単発的なものなので問題になりにくい。
【0116】
一方、図12(b)−2に示すように、本実施の形態においても、従来と同様に、加減速が開始あるいは終了されているものの、加減速時に付与される加速度の大きさ(速度の傾き)は小さい。このため、加減速に伴い発生する振動の大きさは、従来の場合よりも低減され、よって、複雑な経路においても精度の高い加工が可能となる。
【0117】
本実施の形態では、許容加速度の算出する際、まず、許容時定数を算出し、その後、最大切削送り速度をこの許容時定数で除算した。しかしながら、設定加速度を加速度設定比率に乗算することにより許容加速度を算出するようにしてもよい。
【0118】
以上のように、本実施の形態によれば、曲率半径の大きさに応じて設定加速度を調整するようにしたので、複雑な経路において連続して発生する振動を小さいくすることができる。従って、複雑な部分と緩やかな部分とが混ざった加工プログラムであっても、高速且つ高精度な加工を行うことができる。
【0119】
以上に説明した第1及び第2の実施の形態はそれぞれ別個のものとして説明したが、これら第1及び第2の実施の形態を組み合わせることもできる。
【0120】
【発明の効果】
本発明によれば、加工経路の曲率半径の大きさに応じて、設定誤差量あるいは設定加速度を調整するようにしたので、精度の高い加工を高速に行うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態としての数値制御装置の構成を示すブロック図である。
【図2】加工プログラムの一例を示す図である。
【図3】図2の加工プログラムに従った加工経路を示す図である。
【図4】第1の実施の形態に従った数値制御装置の動作を説明するためのフローチャートを示す図である。
【図5】曲率半径に対する許容誤差量の比率を、従来と本実施の形態との場合とで比較して示す図表である。
【図6】3つの円弧A〜Cからなる経路を示す図である。
【図7】曲率半径と許容誤差量設定比率との関係を示すグラフである。
【図8】曲率半径に対する許容誤差量の比率を従来と第2の算出手段との場合とで比較して示した図表である。
【図9】本発明の第2の実施の形態としての数値制御装置の構成を示すブロック図である。
【図10】本発明の第2の実施の形態に従った数値制御装置の動作を説明するためのフローチャートを示す図である。
【図11】許容加速度の値を、従来と本実施の形態の場合とで比較して示した図表である。
【図12】図12(a)は、ある加工プログラムに記述された加工経路を示す。図12(b)−1は、この加工プログラムを従来の手法を用いて実行した場合における、X座標と速度との関係を示す。図12(b)−2は、この加工プログラムを本実施の形態を用いて実行した場合のX座標と速度との関係を示す。
【符号の説明】
1、18 数値制御装置
2 解析部
3 形状認識部
4 誤差量設定部
5、16 パラメータ設定部
6 許容誤差量算出部
8、15 許容速度算出部
9 目標速度算出部
10 分配部
11 サーボ系
13 時定数設定部
14 許容加速度算出部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a numerical control device and a numerical control method for numerically controlling a machine tool.
[0002]
[Prior art]
Generally, using a NC (Numerical Control) machine tool, a free-form surface in a mold or the like is cut by, for example, a ball end mill. In this machining, a numerical control device that numerically controls the NC machine tool analyzes an NC program created by a CAM or the like, acquires movement commands in, for example, the X, Y, and Z axes, and executes a servo control unit. Pass to. The servo control unit moves the cutting tool on the workpiece by controlling the servo mechanism based on the received movement command in each axis direction.
[0003]
However, in this servo mechanism, there is usually a response delay or the like, so that in processing, a path error occurs in which the processing path of the cutting tool deviates from the path described in the processing program. This path error becomes more conspicuous as the feed speed of the cutting tool increases. Therefore, usually, an allowable path error is set as a set error amount in the numerical controller. The numerical controller calculates an allowable speed for limiting the path error to the set error amount or less based on the allowable error amount, and adjusts the feed speed of the cutting tool to the allowable speed or less.
[0004]
[Patent Document 1]
JP 2000-311010 A
[Patent Document 2]
JP 2000-148223 A
[0005]
[Problems to be solved by the invention]
However, conventionally, in most cases, the same value is used for the above-described setting error amount throughout the processing. For example, a constant value of about 100 μm has been used for roughing and intermediate finishing, and about 20 μm for finishing. Usually, the processing path includes arcs of various sizes such as a small arc and a large arc. When one type of setting error amount is applied to each of the arcs (curvature radii) having various sizes as described above, the ratio of the path error to the radius of curvature is smaller in a small arc than in a large arc. It gets bigger. For example, when the setting error amount is set to 20 μm in the finishing processing, a path error of 20% (= 20/100) occurs at a portion having a radius of curvature of 100 μm, and a path error of 40% (= 20/50) occurs at a portion having a radius of curvature of 50 μm. obtain. If the value of the set error amount is further reduced, the ratio of the path error in a small arc can be suppressed, and therefore, a clean machining can be realized. However, in this case, the processing time is significantly increased, which is not practical.
[0006]
By the way, as described above, the machining path includes paths having various radii of curvature. For example, there is a path in which a path having a large radius of curvature continues for a long time (a gentle path), and a path in which paths having a small radius of curvature each having a different size are connected (a complicated path). Of these, in a complicated path, frequent acceleration / deceleration causes continuous vibration, which results in a problem that fine machining becomes difficult.
[0007]
That is, the feed speed in the circular arc portion is usually limited by the acceleration at the time of feed, the radius of curvature, and the like. For this reason, in the above-described complicated path, for example, the feed speed may vary for each continuous arc. That is, acceleration and deceleration by the servo system can be performed for each continuous arc. Usually, mechanical vibration occurs during acceleration / deceleration. Therefore, in the above-described complicated path, continuous mechanical vibration occurs due to frequent acceleration / deceleration.
[0008]
Here, the magnitude of the vibration generated during acceleration / deceleration depends on the magnitude of the acceleration applied during acceleration / deceleration, and increases as the acceleration increases. For this reason, if a large acceleration is applied during acceleration / deceleration in the above-described complicated path, large vibrations are continuously generated, and it becomes difficult to perform fine machining. Therefore, it is desirable to make the acceleration sufficiently small in order to reduce the influence of the vibration on the processing.
[0009]
However, conventionally, only one acceleration (or time constant) can be set for one machine. For this reason, once set acceleration is applied to the entire machining irrespective of the shape of the path, and therefore, high-speed machining with less vibration is difficult. That is, if a large value is set as the set acceleration, the machining time is shortened, but large vibrations are continuously generated in a complicated path, and it becomes difficult to perform accurate machining. On the other hand, if a small value is set as the set acceleration, the magnitude of the generated vibration is reduced, but the machining time is significantly increased.
[0010]
The present invention has been made in view of the above problems, and an object of the present invention is to provide a numerical control device and a numerical control method capable of realizing high-speed and high-accuracy machining.
[0011]
[Means for Solving the Problems]
The numerical controller according to the present invention includes an analysis unit that obtains a cutting feed speed of the cutting tool in a predetermined path from a processing program in which a processing path and a cutting feed speed of the cutting tool for a workpiece are described, and A curvature radius acquisition unit that acquires a radius of curvature in the predetermined path, and an error amount setting unit that holds a setting error amount that defines an allowable range of a path error of the cutting tool when cutting and feeding the cutting tool, Using the acquired radius of curvature and the set error amount, an allowable error amount calculation unit that calculates an allowable error amount corresponding to the magnitude of the curvature radius, and the calculated allowable error amount and the curvature radius. A permissible speed calculation unit that calculates a permissible speed for suppressing a path error of the cutting tool in the predetermined path to be equal to or less than the permissible error amount, and the cutting in the predetermined path. A target feeding speed calculator for calculating a rate of speed equal to or less than the allowable speed Ri, characterized in that it comprises a.
[0012]
The numerical controller according to the present invention includes an analysis unit that obtains a radius of curvature in a predetermined path from a processing program in which a processing path of a cutting tool for a workpiece is described, and a set error amount that defines a range of an allowable path error. Using a held setting error amount holding unit, the acquired radius of curvature, and an allowable error amount calculating unit that calculates an allowable error amount corresponding to the radius of curvature using the set error amount, I do.
[0013]
The numerical control method of the present invention obtains a radius of curvature in a predetermined path from a processing program in which a processing path of a cutting tool for a workpiece is described, and sets the radius of curvature and a setting error defining an allowable path error range. And calculating a permissible error amount corresponding to the magnitude of the curvature radius using the amount.
[0014]
The numerical controller according to the present invention includes an analysis unit that obtains a cutting feed speed of the cutting tool in a predetermined path from a processing program in which a processing path and a cutting feed speed of the cutting tool for a workpiece are described, and A curvature radius acquisition unit for acquiring a radius of curvature in the predetermined path, holding a set acceleration as a limit acceleration when cutting and feeding the cutting tool, and using the set acceleration and the curvature radius, the curvature radius A permissible acceleration calculation unit that calculates a permissible acceleration corresponding to the magnitude of, a permissible speed calculation unit that calculates a permissible speed using the calculated permissible acceleration and the radius of curvature, and the cutting feed in the predetermined path. A target feed speed calculation unit that calculates a target feed speed in which the speed is optimized to be equal to or less than the allowable speed; and Characterized in that it and a deceleration processing section for performing deceleration process so that the degrees of acceleration and deceleration. The allowable acceleration calculation unit causes a set time constant as a time required to reach a maximum cutting feed rate by the set acceleration to be held, and using the set time constant and the radius of curvature, an allowable time corresponding to the radius of curvature. A time constant may be calculated, and the allowable acceleration may be calculated using the allowable time constant and the maximum cutting feed speed.
[0015]
The numerical controller according to the present invention includes an analysis unit that acquires a radius of curvature in a predetermined path from a processing program in which a processing path of the cutting tool with respect to a workpiece is described, and a set acceleration as a limit acceleration at the time of cutting feed of the cutting tool. A permissible acceleration corresponding to the radius of curvature is calculated using the set acceleration holding unit that holds the above, the acquired radius of curvature, and the set acceleration. A time constant setting unit that holds a set time constant as a time required to reach a maximum cutting feed speed by the set acceleration is provided together with or instead of the set acceleration holding unit, and the time constant setting is performed. Using the set time constant held in the section and the radius of curvature, calculate an allowable time constant corresponding to the radius of curvature, and use the maximum cutting feed rate and the allowable time constant to calculate the allowable acceleration. May be calculated.
[0016]
The numerical control method of the present invention obtains a radius of curvature in a predetermined path from a processing program in which a processing path of a cutting tool for a workpiece is described, and uses the radius of curvature and a set acceleration as a limit acceleration during cutting feed. And calculating an allowable acceleration corresponding to the magnitude of the radius of curvature.
[0017]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram illustrating a configuration of a numerical control device 1 according to a first embodiment of the present invention.
[0018]
As shown in FIG. 1, the analysis unit 2 analyzes a machining program output by a CAM or the like and outputs various types of information described later. FIG. 2 shows an example of the machining program. FIG. 3 shows a machining path of the cutting tool described in the machining program. However, since the movement of the cutting tool is performed only on the XY plane in this machining program, the Z axis is not shown.
[0019]
As shown in FIG. 2, this machining program is composed of five blocks, namely, block (0) to block (4).
[0020]
As shown in FIG. 2, in block (0), "N0" is a sequence number, "G00" is a fast-forward command, and "X0 Y0 Z0" is target coordinates. Accordingly, the block (0) is a command to rapidly feed the cutting tool with respect to the origin P0 (0, 0, 0) as shown in FIG. Since the rapid traverse speed is set in the numerical controller 1 in advance, it is not necessary to specify it in the machining program.
[0021]
Next, in block (1), “N1” is a sequence number, “G03” is a counterclockwise circular cutting command, and “X0.2” is target coordinates (both Y and Z coordinates are the same as block (1)). The same applies to the following.), "R" is the radius of curvature of the path during arc cutting (in this case, 0.1 mm), and "F" is the cutting feed speed (combination of feed speeds in the X, Y, and Z axes). (In this case, 10000 mm / min). Therefore, as shown in FIG. 3, the block (1) includes the origin P0 (0, 0, 0) and the position P1 from the origin P0 (0, 0, 0) to the position P1 (0.2, 0, 0). The command is to feed the cutting tool counterclockwise along an arc having a radius of curvature of 0.1 mm passing through both (0.2, 0, 0). The cutting feed speed F (10000 mm / min) specified in the block (1) is also applied to blocks (2) and (3) subsequent to the block (1).
[0022]
Next, in block (2), "G02" is a clockwise circular cutting command, and "N", "X", and "R" are as described above. Accordingly, as shown in FIG. 3, the block (2) includes the position P1 (0.2, 0, 0) from the position P1 (0.2, 0, 0) to the position P2 (200.2, 0, 0). ) And the position P2 (200.2, 0, 0), the command to cut and feed the cutting tool clockwise along an arc having a radius of curvature of 100 mm that passes through both.
[0023]
Next, in block (3), "N", "G03", "X", and "R" are as described above. Therefore, as shown in FIG. 3, the block (3) includes the position P2 (200.2, 0, 0) from the position P2 (200.2, 0, 0) to the position P2 (220.2, 0, 0). ) And the position P3 (220.2, 0, 0) are commands to cut and feed the cutting tool clockwise along an arc of 10 mm in radius of curvature passing through both.
[0024]
Next, in block (4), "M02" indicates a code for instructing the end of the program. Therefore, block (4) is a command to end the machining program.
[0025]
The analysis unit 2 analyzes the machining program including a plurality of blocks as described above for each block at a predetermined sampling time (first sampling time). Then, the analysis unit 2 calculates the presence / absence of cutting (non-cutting or cutting), the feed speed of the cutting tool (combination of feed speeds in each axis direction), and the axes (X, The movement amount of the cutting tool in the (Y, Z axis) directions is output. The analysis unit 2 includes a buffer (not shown), and stores the output of the presence or absence of cutting, the feed rate, and the moving amount of the cutting tool in each axis direction in this buffer.
[0026]
The shape recognizing unit 3 acquires the movement amount in each axis direction for each block from a buffer (not shown) in the analysis unit 2, and forms the movement trajectory of the cutting tool based on the acquired movement amount in each axis direction. Then, the shape recognizing unit 3 performs shape recognition on the movement trajectory, and obtains, for each block, shape information of, for example, an arc portion (including a radius of curvature) and a straight line portion. The shape recognizing unit 3 sends the acquired shape information to an allowable error amount calculating unit 6 and a target feed speed calculating unit 9 described below.
[0027]
The error amount setting unit 4 holds a set error amount indicating a maximum value of a path error that is allowable during cutting. This path error is an error from the processing path described in the processing program (or an error from the movement trajectory formed by the shape recognition unit 3). The set error amount held in the error amount setting unit 4 is used when the allowable error amount is calculated by the allowable error amount calculating unit 6 as described later.
[0028]
The parameter setting unit 5 holds various parameters used when the allowable error amount calculation unit 6 calculates the allowable error amount, that is, the maximum radius of curvature, the minimum radius of curvature, and the minimum setting ratio. These parameters will be described later in detail.
[0029]
The allowable error amount calculating unit 6 determines the content of the shape information received from the shape recognizing unit 3 and, when determining that the shape information is an arc, determines the set error amount held in the error amount setting unit 4. Then, the allowable error amount (a value equal to or less than the set error amount) adjusted to a value corresponding to the radius of curvature of the arc is calculated. In the calculation, the curvature radius included in the received shape information, the set error amount held by the error amount setting unit 4, and various parameters held in the parameter setting unit 5 are used. The details are as follows.
[0030]
That is, the allowable error amount calculating unit 6 determines, based on the radius of curvature included in the above-mentioned shape information, the ratio of the set error amount held in the error amount setting unit 4 as an allowable error amount. An amount setting ratio (0 <allowable error amount setting ratio <= 1) is calculated using the above-described radius of curvature, setting error amount, and various parameters (see (Equation 2)). Then, the allowable error amount calculator 6 outputs a value obtained by multiplying the allowable error amount setting ratio by the set error amount as an allowable error amount (see (Equation 2)). As described later, for example, when the radius of curvature of the machining path is large, the error amount setting ratio is increased, and the allowable error amount is calculated to be large. Thereby, high-speed processing is realized. On the other hand, when the radius of curvature of the machining path is small, the error amount setting ratio is reduced, and the allowable error amount is calculated to be smaller. As a result, machining with a reduced path error is realized. The means for calculating the allowable error amount will be described later in detail. In the above description, when the allowable error amount calculating unit 6 determines that the content of the shape information received from the shape recognizing unit 3 is other than an arc, the allowable error amount calculating unit 6 does nothing.
[0031]
The permissible speed calculation unit 8 receives the permissible error amount and the shape information from the permissible error amount calculation unit 6 and uses the permissible error amount and the radius of curvature included in the shape information to calculate a path error below this permissible error amount. Calculate the allowable speed to limit. More specifically, the permissible speed calculation unit 8 calculates the permissible speed using the following (Equation 1).
(Equation 1)
Figure 2004326238
[0032]
In this (Equation 1), the position loop gain is an index indicating the good followability of the servo system 11 and is set in the permissible speed calculation unit 8 in advance. The permissible speed calculator 8 sends the calculated permissible speed to the target feed speed calculator 9.
[0033]
The target feed speed calculation unit 9 obtains cutting presence / absence information and a feed speed for each block from a buffer (not shown) in the analysis unit 2, and uses the feed speed as cutting presence / absence information, the shape information received from the shape recognition unit 3, and an allowable speed. The optimized target feed speed is calculated based on the allowable speed received from the calculation unit 8.
[0034]
That is, first, the target feed speed calculation unit 9 determines the content of the cutting presence / absence information, and when it determines that the cutting presence / absence information is non-cutting, calculates a preset rapid traverse speed as the target feed speed. On the other hand, when the target feed speed calculation unit 9 determines that the cutting presence / absence information is cutting, the content of the shape information is determined next.
[0035]
When determining that the shape information is something other than an arc (for example, a straight line), the target feed speed calculation unit 9 uses the feed speed received from the analysis unit 2 as it is (or according to the shape information using a known method). Output as the target feed speed.
[0036]
On the other hand, if the target feed speed calculating unit 9 determines that the above-mentioned shape information is an arc, the target feed speed calculating unit 9 compares the feed speed received from the analysis unit 2 with the allowable speed received from the allowable speed calculating unit 8, If it is determined that the speed is equal to or lower than the allowable speed, this feed speed is output as the target feed speed. On the other hand, if the target feed speed calculating section 9 determines that the feed speed is higher than the allowable speed, the target feed speed calculating section 9 outputs a value obtained by optimizing the feed speed within a range not exceeding the allowable speed as the target feed speed. Preferably, this target feed speed is the same as the allowable speed. The target feed speed calculation unit 9 sends the target feed speed output as described above to the acceleration / deceleration processing unit 7.
[0037]
The acceleration / deceleration processing unit 7 performs acceleration / deceleration processing on the target feed speed for each block received from the target feed speed calculation unit 9 such that the change in speed between the blocks is equal to or less than the set acceleration. The set acceleration includes a set acceleration for non-cutting and a set acceleration for cutting. The latter is set lower from the viewpoint of preventing vibration and the like. These set accelerations are stored in the acceleration / deceleration processing unit 7 in advance.
[0038]
More specifically, the acceleration / deceleration processing unit 7 receives cutting presence / absence information and a movement amount in each axis direction for each block from a buffer (not shown) in the analysis unit 2. Based on the cutting presence / absence information, the amount of movement in each axis direction, and the target feed speed received from the target feed speed calculation unit 9, each axis direction for performing servo control for each block at every second sampling time. Are sequentially calculated (optimized feed speed). At this time, if a speed change occurs in the target feed speed between the blocks (for example, a radius of curvature changes), the acceleration / deceleration processing unit 7 sets the movement amount in each axis direction so that the speed change becomes equal to or less than the set acceleration. calculate.
[0039]
For example, it is assumed that the target feed speed changes from speed V1 (first block) to speed V2 (second block) (V2> V1), and this speed change is larger than the set acceleration. In this case, for example, first, for the second block, the set acceleration is added to the speed V1, and a movement amount in each axis direction that matches the calculation result is obtained. Next, the amount of movement in each axis direction is calculated so as to be a speed obtained by adding the set acceleration to the addition result. In this way, the amount of movement in each axis direction is repeatedly calculated, and finally the amount of movement in each axis direction that becomes the speed V2 is calculated (if the calculation result exceeds the speed V2, the calculation result is calculated as V2 Replace with). Thereby, acceleration from the speed V1 to the speed V2 is performed. When the speed change from the speed V1 to the speed V2 is equal to or less than the set acceleration, the acceleration / deceleration processing is performed in the same manner. In the above example, the acceleration is started in the second block. However, the acceleration may be started in the first block by pre-reading the path shape or the like.
[0040]
The distribution unit 10 uses the movement amount (optimized feed speed) in each axis direction for each second sampling cycle calculated by the acceleration / deceleration processing unit 7 as an X, Y, Z axis position command in the servo system 11. The data is sequentially transmitted to the X-axis controller 11a, the Y-axis controller 11b, and the Z-axis controller 11c.
[0041]
The X, Y, and Z axis control units 11a to 11c drive each feed axis (not shown) in the X, Y, and Z axes according to the X, Y, and Z axis position commands received from the distribution unit 10, and thereby, Then, a moving object (not shown) on each feed shaft is moved.
[0042]
Next, the operation of the numerical controller 1 will be described.
[0043]
FIG. 4 is a diagram showing a flowchart for explaining the operation of the numerical controller 1.
[0044]
First, when the analysis unit 2 (see FIG. 1) receives the NC program, the analysis unit 2 analyzes the machining program for each block, and for each block, information on the presence or absence of cutting, the feed rate, and the first sampling period. The amount of movement of the cutting tool in each axial direction is calculated for each (step S1). The analysis unit 2 stores the calculated cutting presence / absence information, the feed speed, and the movement amount in each axis direction in a buffer (not shown) for each block, and sends the movement amount in each axis direction to the shape recognition unit 3 (step S1). .
[0045]
The shape recognizing unit 3 that has received the movement amount in each axis direction performs shape recognition based on the received movement amount in each axis direction, and acquires shape information (in the case of an arc, also includes the size of the radius of curvature) (step). S2). The shape recognizing unit 3 sends the obtained shape information to the allowable error amount calculating unit 6 and the target feed speed calculating unit 9 as shown in FIG. 1 (Step S2).
[0046]
Upon receiving the shape information, the allowable error calculating unit 6 determines the content of the shape information, and does nothing if it determines that the shape information indicates something other than an arc (step S3). On the other hand, when the allowable error amount calculating unit 6 determines that the shape information indicates an arc, the allowable error amount calculating unit 6 receives the set error amount from the error amount setting unit 4, and outputs the maximum curvature radius and the minimum curvature from the parameter setting unit 5. The radius and the minimum set ratio are received (step S3). The allowable error amount calculation unit 6 applies the received curvature radius, setting error amount, maximum curvature radius, minimum curvature radius, and minimum setting ratio to (Equation 2) described later, and calculates the allowable error amount according to the curvature radius. It is calculated (step S3). The allowable error amount calculator 6 sends the calculated allowable error amount and the shape information received from the shape recognizer 3 to the allowable speed calculator 8 as shown in FIG. 1 (step S3).
[0047]
The allowable speed calculation unit 8 applies the allowable error amount received from the allowable error amount calculation unit 6 and the radius of curvature included in the shape information to the above-described (Equation 1), and limits the path error to be equal to or less than the allowable error amount. An allowable speed is calculated (step S4). The permissible speed calculator 8 sends the calculated permissible speed to the target feed speed calculator 9 as shown in FIG. 1 (step S4).
[0048]
On the other hand, when receiving the shape information from the shape recognizing unit 3, the target feed speed calculating unit 9 acquires the cutting presence / absence information and the feed speed of each block from a buffer (not shown) in the analyzing unit 2 (step S5). The target feed speed calculation unit 9 determines the content of the shape information, and when determining that the shape information is something other than an arc, optimizes the feed speed based on the cutting presence / absence information and the feed speed as described above. The calculated target feed speed is calculated (step S5). On the other hand, when determining that the content of the shape information is an arc, the target feed speed calculating unit 9 waits until an allowable speed is received from the allowable speed calculating unit 8, and upon receiving the allowable speed, as described above, An allowable speed is calculated based on the above-described feed speed and the allowable speed (step S5). The target feed speed calculation unit 9 that has calculated the target feed speed in this way sends the calculated target feed speed to the acceleration / deceleration processing unit 7 (Step S5).
[0049]
The acceleration / deceleration processing unit 7 that has received the target feed speed receives cutting presence / absence information and the amount of movement in each axis direction from a buffer (not shown) in the analysis unit 2 (step S6). Then, the acceleration / deceleration processing unit 7 uses the received cutting presence / absence information, the amount of movement in each axis direction, and the target feed speed so that acceleration / deceleration at or below the set acceleration is performed for each axis in each second sampling cycle. The amount of movement in the direction is determined (step S6). The acceleration / deceleration processing unit 7 sends the calculated amount of movement in each axial direction for each second sampling cycle to the distribution unit 10 (Step S6).
[0050]
The distribution unit 10 that has received the movement amount in each axis direction uses the received movement amount in each axis direction as an X, Y, and Z axis position command for each of the second sampling periods, the X axis control unit 11a, the Y axis The data is sent to the control unit 11b and the Z-axis control unit 11c (step S7). The X, Y, and Z axis control units 11a to 11c drive the feed axes of the respective axes according to the received X, Y, and Z axis position commands and move the moving object on each of the feed axes (step S7). .
[0051]
Here, a specific means in which the allowable error amount calculating unit 6 calculates the allowable error amount in accordance with the magnitude of the radius of curvature will be described.
[0052]
(Equation 2) shown below shows an example of this calculating means (first calculating means).
(Equation 2)
Figure 2004326238
[0053]
Here, Eorign is a setting error amount, Eovr_f is an allowable error amount setting ratio, Rmax is a maximum curvature radius, Rmin is a minimum curvature radius, Eovr_min is a minimum allowable error amount setting ratio (minimum setting ratio), and R is an allowable error amount setting ratio. This is the radius of curvature of the route (block) to be calculated.
[0054]
Of these, the set error amount (Eorign) is held in the error amount setting unit 4 as described above. The maximum radius of curvature (Rmax), the minimum radius of curvature (Rmin), and the minimum setting ratio (Eovr_min) are stored in the parameter setting unit 5.
[0055]
The allowable error amount setting ratio (Eovr_f) indicates the ratio of the setting error amount (Eorign) to be recognized as the allowable error amount (E) as described above, and is a value equal to or more than the minimum setting ratio (Eovr_min). And has a value of 1 or less. The maximum radius of curvature (Rmax) is the maximum radius of curvature (R) for which the allowable error amount (E) is to be calculated. For a radius of curvature larger than this, as shown in the upper proviso of (Equation 2) , The allowable error amount (E) is equal to the set error amount (Eorign) (at this time, the allowable error amount becomes the largest value). The minimum radius of curvature (Rmin) is the minimum radius of curvature (R) for which the allowable error amount (E) is calculated. In the case of a radius of curvature smaller than this, as shown in the lower proviso of (Equation 2), , The allowable error amount (E) is obtained by multiplying the setting error amount (Eorign) by the minimum setting ratio (Eovr_min) (at this time, the allowable error amount becomes the smallest value). As can be seen from the above, the upper limit of the allowable error amount (E) is the set error amount (Eorign). The smaller the radius of curvature (R) is, the smaller the allowable error amount (E) is. The lower limit of the allowable error amount (E) is (set error amount (Eorign) × minimum set ratio (Eovr_min)).
[0056]
Hereinafter, an example in which the allowable error amount calculation unit 6 calculates the allowable error amount (E) according to (Equation 2) will be described using the machining programs (blocks (1) to (3)) shown in FIG. I do.
[0057]
However, the setting error amount (Eorign) = 20 μm, the maximum radius of curvature (Rmax) = 50 mm, the minimum radius of curvature (Rmin) = 1 mm, and the minimum setting ratio (Eovr_min) = 10%.
[0058]
First, in the block (1), R (0.1 mm) <Rmin (1 mm). Therefore, as shown in the lower part of the proviso of (Equation 2), the allowable error amount is E = Eorign × Eovr_min = 20 μm × 10% = 2 μm.
[0059]
Next, in the block (2), R (100 mm)> Rmax (50 mm). Therefore, as shown in the upper proviso of (Expression 2), the allowable error amount is E = Eorign × 1 = 20 μm × 1 = 20 μm.
[0060]
Next, in the block (3), Rmin (1 mm) <R (10 mm) <Rmax (50 mm). Therefore, as shown in (Equation 2), the allowable error amount is E = 20 μm × {(1−0.1) /49*9+0.1} = 5.3 μm.
[0061]
FIG. 5 is a chart showing the above calculation results in comparison with the conventional case.
[0062]
As shown in FIG. 5, conventionally, as described above, the value of the allowable error amount is a fixed value (20 μm) regardless of the magnitude of the radius of curvature. Therefore, for example, when the radius of curvature is as large as 100 mm, the ratio of the allowable error amount to the radius of curvature is 0.02%, whereas when the radius of curvature is as small as 0.1 mm, this ratio is as large as 20%. . That is, conventionally, when the radius of curvature is small, the ratio of the path error (the amount of deviation of the path) to the radius of curvature becomes large.
[0063]
On the other hand, in the present embodiment, the magnitude of the allowable error amount decreases as the radius of curvature decreases. Therefore, even when the radius of curvature is small, the ratio of the allowable error amount to the radius of curvature can be reduced. For example, in the conventional case, when the radius of curvature is 0.1 mm as described above, the ratio of the allowable error amount to the radius of curvature is as large as 20%. In the case of the present embodiment, this ratio is 2%. is there. Therefore, in the present embodiment, it can be seen that the ratio of the path error to the radius of curvature can be reduced even for a path with a small radius of curvature.
[0064]
Now, a description will be given of a means for calculating an allowable error amount by using a different calculation means (second calculation means) from the above-described first calculation means (Equation 2).
[0065]
In the above-described first calculation means, the machining program shown in FIG. 2 is used as a calculation target, but here, a path including three arcs A to C shown in FIG. 6 is set as a calculation target. That is, an arc A having a radius of curvature of 10 mm, an arc B having a radius of curvature of 1 mm, and an arc C having a radius of curvature of 0.1 mm are set as calculation targets of the allowable error amount.
[0066]
Further, the second calculating means uses the following (Equation 3) in calculating the allowable error amount.
[Equation 3]
Figure 2004326238
[0067]
Here, Eorign is a setting error amount, and Eovr_f is an allowable error amount setting ratio. The allowable error amount setting ratio (Eovr_f) follows the graph shown in FIG. 7, which shows the relationship between the radius of curvature and the allowable error amount setting ratio. That is, the allowable error amount setting ratio (Eovr_f) is “1 (%)” when the radius of curvature is 0.1 or less, “10 × radius of curvature (%)” when the radius of curvature is larger than 0.1 mm and smaller than 10 mm, When it is 10 mm or more, it becomes “100 (%)”.
[0068]
According to the relationship shown in FIG. 7, the permissible error amount is calculated for each of the arcs A to C shown in FIG. 6 as follows. However, as in the case of the above-described first calculating means, the set error amount (Eorign) is set to 20 μm.
[0069]
First, in the case of the arc A, the radius of curvature is 10 mm. Further, as shown in FIG. 7, when the radius of curvature is 10 mm, the allowable error amount setting ratio (Eovr_f) is 100%. Therefore, as shown in (Equation 3), the allowable error amount is E = 20 μm × 100% = 20 μm.
[0070]
Next, in the case of the arc B, the radius of curvature is 1 mm. Further, as shown in FIG. 7, when the radius of curvature is 1 mm, the allowable error amount setting ratio (Eovr_f) is 10%. Therefore, as shown in (Equation 3), the allowable error amount is E = 20 μm × 10% = 2 μm.
[0071]
Next, in the case of the circular arc C, the radius of curvature is 0.1 mm. Further, as shown in FIG. 7, when the radius of curvature is 0.1 mm, the allowable error amount setting ratio (Eovr_f) is 1%. Therefore, as shown in (Equation 3), the allowable error amount is E = 20 μm × 1% = 0.2 μm.
[0072]
FIG. 8 is a table showing the calculation results in comparison with the conventional case.
[0073]
As shown in FIG. 8, conventionally, as described above, the magnitude of the permissible error amount is constant regardless of the magnitude of the radius of curvature. Therefore, for example, when the radius of curvature is as large as 10 mm (arc A), the ratio of the allowable error amount to the radius of curvature is as small as 0.2%, but when the radius of curvature is as small as 0.1 mm (arc C), The ratio is as large as 20%.
[0074]
On the other hand, in the case of the present embodiment, the ratio of the allowable error amount to the radius of curvature is as small as 0.2% regardless of the radius of curvature. That is, as the radius of curvature decreases, the allowable error amount also decreases. Therefore, the ratio of the path error to the radius of curvature is reduced even at a small radius of curvature.
[0075]
As described above, according to the present embodiment, the value of the set error amount is appropriately adjusted according to the magnitude of the radius of curvature of the machining path, so that the radius of curvature of the machining path is small. Also, the ratio of the path error to the radius of curvature can be reduced. In other words, the allowable error amount is reduced in the portion with a small radius of curvature, and the allowable error amount is increased in the portion with a large radius of curvature. Therefore, even in a machining program in which a small radius of curvature and a large radius of curvature are mixed. High-speed and high-precision machining can be realized.
[0076]
Next, a second embodiment of the present invention will be described.
[0077]
In the first embodiment described above, the set error amount is adjusted according to the magnitude of the radius of curvature. In the present embodiment, however, the set acceleration is adjusted according to the magnitude of the radius of curvature. Hereinafter, the present embodiment will be described in detail.
[0078]
FIG. 9 is a block diagram illustrating a configuration of a numerical control device 18 according to a second embodiment of the present invention. In FIG. 9, parts that are the same as those in the first embodiment are given the same reference numerals.
[0079]
As shown in FIG. 9, the analyzing unit 2 and the shape recognizing unit 3 are the same as those in the first embodiment, and a detailed description thereof will be omitted.
[0080]
The time constant setting unit 13 holds a set time constant. The set time constant represents a time (for example, a time from a speed of 0 mm / min to a speed of 10000 mm / min) until reaching the maximum feed speed (maximum cutting feed speed) at the time of cutting, which is allowed in machine specifications. The set time constant is used when calculating an allowable acceleration in an allowable acceleration calculation unit 14 described later. Further, the above-described maximum cutting feed speed is held by an allowable acceleration calculation unit 14 described later.
[0081]
The parameter setting unit 16 holds various parameters used when the allowable acceleration is calculated by the allowable acceleration calculation unit 14, that is, a maximum radius of curvature, a minimum radius of curvature, and a minimum setting ratio. Details will be described later.
[0082]
The allowable acceleration calculating unit 14 receives the shape information from the shape recognizing unit 3, determines the content of the shape information, and if the shape information is determined to be other than an arc, sets the preset acceleration for cutting that is held in advance. Output as the allowable acceleration. On the other hand, when determining that the shape information is a circular arc, the allowable acceleration calculating unit 14 calculates an allowable acceleration (a value equal to or less than the set acceleration) having a value corresponding to the radius of curvature of the circular arc. In calculating the allowable acceleration, first, the radius of curvature included in the shape information, the set time constant held by the time constant setting unit 13, and various parameters held by the parameter setting unit 5 will be described later (Equation 5). ), An allowable time constant having a value corresponding to the radius of curvature (a value greater than or equal to the set time constant) is obtained. Next, an allowable acceleration is obtained by dividing the maximum cutting feed speed held in the allowable acceleration calculation unit 14 by the allowable time constant (see (Equation 6)). Details will be described later. The allowable acceleration calculation unit 14 includes a buffer (not shown), stores the calculated allowable acceleration in the buffer, and sends the allowable acceleration and the above-described shape information to the allowable speed calculation unit 15.
[0083]
The permissible speed calculation unit 15 calculates the permissible speed limited by the acceleration and the radius of curvature during arc cutting by applying the received permissible acceleration and the radius of curvature included in the shape information to the following (Equation 4). . The permissible speed calculator 15 sends the calculated permissible speed to the target feed speed calculator 9.
(Equation 4)
Figure 2004326238
[0084]
Similar to the first embodiment, the target feed speed calculation unit 9 obtains cutting presence / absence information and a feed speed from a buffer (not shown) in the analysis unit 2, and obtains the cutting presence / absence information and the shape information received from the shape recognition unit 3. Based on the above, a target feed speed in which the feed speed is optimized is calculated. That is, when the content of the shape information is a circular arc, the target feed speed calculator 9 optimizes the feed speed within the range of the allowable speed received from the allowable speed calculator 15. On the other hand, when the content of the shape information is other than the arc or the cutting information is non-cut, the target feed speed calculating unit 9 sets the feed speed as the target feed speed, for example. The target feed speed calculator 9 sends the calculated target feed speed to the acceleration / deceleration processor 17.
[0085]
The acceleration / deceleration processing unit 17 receives the target feed speed from the target feed speed calculation unit 9, acquires cutting presence / absence information and the amount of movement in each axis direction from the analysis unit 2, and further, from the allowable acceleration calculation unit 14 (not shown). Get the permissible acceleration stored in the buffer. Then, the acceleration / deceleration processing unit 17 calculates the amount of movement in each axis direction for each second sampling cycle so as not to exceed the allowable acceleration or the preset acceleration for non-cutting (first implementation). Unlike the embodiment, the acceleration / deceleration processing section 17 holds only the set acceleration for non-cutting.) That is, in the first embodiment, in the case of cutting, the acceleration / deceleration processing is performed based on the set acceleration for cutting held in advance by the acceleration / deceleration processing unit 17, but in the present embodiment, the acceleration / deceleration processing is performed for each block. Acceleration / deceleration processing is performed based on the allowable acceleration calculated by the allowable acceleration calculation unit 14. In this way, the acceleration / deceleration processing unit 17 calculates the movement amount (optimized feed speed) in each axis direction for each second sampling cycle for each block.
[0086]
Here, similarly to the first embodiment, the target feed speed changes from the speed V1 (first block) to the speed V2 (second block) (V2> V1), and this speed change is smaller than the set acceleration. Assume a large case. In this case, for example, first, the permissible acceleration calculated for the second block is added to the speed V1, and the movement amount in each axis direction per second sampling cycle is determined so as to be the speed after the addition. Next, an allowable acceleration is further added to the speed after the addition, and the amount of movement in each axis direction is calculated so as to be the speed after the addition. In this way, the amount of movement in each axis direction is repeatedly calculated, and finally the amount of movement in each axis direction that becomes the speed V2 is calculated (if the calculation result exceeds the speed V2, the calculation result is calculated as V2 Replace with). In the above example, the acceleration is started in the second block. However, the acceleration may be started in the first block. In this case, for example, the allowable acceleration calculated for the first block is used as the acceleration to be added to the speed V1.
[0087]
Since the distribution unit 10 and the servo system 11 are the same as in the first embodiment, detailed description will be omitted.
[0088]
Next, the operation of the numerical controller 18 will be described.
[0089]
FIG. 10 is a flowchart for explaining the operation of the numerical controller 18.
[0090]
First, similarly to the first embodiment, the analysis unit 2 (see FIG. 9) analyzes the machining program and, for each block, information on the presence or absence of cutting, the feed rate, and the axial direction for each first sampling period. The moving amount of the cutting tool is calculated (step S11). The analysis unit 2 stores the calculated cutting presence / absence information, the feed speed, and the movement amount in each axis direction in a buffer (not shown) for each block, and sequentially sends the movement amount in each axis direction to the shape recognition unit 3 (step S11). ).
[0091]
The shape recognizing unit 3 that has received the movement amount in each axis direction performs shape recognition based on the received movement amount in each axis direction and acquires shape information in the same manner as in the first embodiment (step S12). . The shape recognition unit 3 sends the obtained shape information to the allowable acceleration calculation unit 14 and the target feed speed calculation unit 9 (Step S12).
[0092]
The allowable acceleration calculation unit 14 that has received the shape information determines the content of the shape information, and does nothing if it determines that the shape information is other than an arc (step S13). On the other hand, when the allowable acceleration calculation unit 14 determines that the shape information is a circular arc, the allowable acceleration calculation unit 14 receives the set time constant from the time constant setting unit 13 and also sets the maximum curvature radius, the minimum curvature radius, The minimum set ratio is received (step S13). The allowable acceleration calculation unit 14 calculates the allowable time constant by applying the received radius of curvature, set time constant, maximum radius of curvature, minimum radius of curvature, and minimum set ratio to (Equation 5) described later (step S13). Then, the allowable acceleration calculation unit 14 calculates the allowable acceleration by applying the allowable time constant and the maximum cutting feed speed to (Equation 6) described later (Step S13). The allowable acceleration calculation unit 14 sends the calculated allowable acceleration and the above-described shape information to the allowable speed calculation unit 15, and stores the calculated allowable acceleration in a buffer (not shown) (step S13).
[0093]
The permissible speed calculation unit 15 calculates the permissible speed by applying the radius of curvature included in the received permissible acceleration and shape information to the above (Equation 4) (Step S14). The permissible speed calculator 15 that has calculated the permissible speed sends the calculated permissible speed to the target feed speed calculator 9 (step S14).
[0094]
On the other hand, upon receiving the shape information from the shape recognizing unit 3, the target feed speed calculating unit 9 acquires the cutting presence / absence information and the feed speed from the analysis unit 2 as in the first embodiment (step S <b> 15). . The target feed speed calculation unit 9 determines the content of the shape information, and if it determines that the shape information is something other than an arc, calculates the target feed speed based on the cutting presence / absence information and the feed speed (step S15). On the other hand, when determining that the content of the shape information is a circular arc, the target feed speed calculation unit 9 sets the feed speed received from the analysis unit 2 and the allowable speed received from the target feed speed calculation unit 9 within a range not exceeding the allowable speed. The target feed rate is calculated by optimization (step S15). The target feed speed calculation unit 9 sends the calculated target feed speed to the acceleration / deceleration processing unit 17 (Step S15).
[0095]
The acceleration / deceleration processing unit 17 that has received the target feed speed receives the cutting presence / absence information and the amount of movement in each axial direction from a buffer (not shown) in the analysis unit 2 and the allowable acceleration stored in the buffer (not shown) in the allowable acceleration calculation unit 14. Is obtained (step S16). Then, the acceleration / deceleration processing unit 17 uses the received target feed speed, cutting presence / absence information, the amount of movement in each axial direction, the non-cutting set acceleration or the above-mentioned allowable acceleration to set the non-cutting acceleration or The amount of movement in each axis direction for each second sampling period is calculated so as not to exceed the allowable acceleration. The acceleration / deceleration processing unit 7 sends the calculated amount of movement in each axial direction for each second sampling cycle to the distribution unit 10 (Step S16).
[0096]
The distribution unit 10 that has received the movement amount in each axis direction transmits the received movement amount (position command) in each axis direction to the X-axis control unit 11a and the Y-axis control unit, as in the first embodiment. 11b and transmitted to the Z-axis controller 11c (step S17). The X, Y, and Z axis control units 11a to 11c drive the feed axes of the respective axes according to the received X, Y, and Z axis position commands, and move the moving object on the feed axes. (Step S17).
[0097]
Here, a specific means in which the allowable acceleration calculation unit 14 calculates the allowable acceleration according to the magnitude of the radius of curvature will be described.
[0098]
(Equation 5) shown below is an example of a means for calculating an allowable time constant according to the magnitude of the radius of curvature, and (Equation 6) calculates an allowable acceleration using the allowable time constant calculated by (Equation 5). An example of the calculating means will be described.
(Equation 5)
Figure 2004326238
[0099]
Here, in (Equation 5), Torign is a set time constant, Aovr_f is an acceleration setting ratio, Rmax is a maximum radius of curvature, Rmin is a minimum radius of curvature, Aovr_min is a minimum acceleration setting ratio (minimum setting ratio), and R is an allowable acceleration. Is the radius of curvature of the route to be calculated. The acceleration setting ratio indicates a ratio of the set acceleration to be recognized as the allowable acceleration, and has a value equal to or more than the minimum set ratio (Aovr_min) and equal to or less than 1. In (Equation 6), Fmax is the maximum cutting feed speed.
[0100]
Among these, the set time constant (Torign) is held in the time constant setting unit 13 as described above. The maximum radius of curvature (Rmax), the minimum radius of curvature (Rmin), and the minimum set ratio (Aovr_min) are stored in the parameter setting unit 16.
[0101]
When the radius of curvature (R) is larger than the maximum radius of curvature (Rmax), the allowable time constant (T) becomes equal to the set time constant (Torign) as shown in the upper proviso of (Equation 5). Therefore, as shown in (Equation 6), at this time, the allowable acceleration (A) becomes equal to the set acceleration (the maximum cutting feed speed divided by the set time constant is the set acceleration). growing.
[0102]
On the other hand, when the radius of curvature (R) is smaller than the maximum radius of curvature (Rmax), as shown in the lower proviso of (Equation 5), the allowable time constant (T) is obtained by setting the set time constant (Torign) to the minimum set ratio ( Aovr_min), and the allowable time constant (T) becomes the largest at this time. Therefore, as shown in (Equation 6), the allowable acceleration (A) obtained by dividing the maximum cutting feed speed by this allowable time constant becomes the smallest at this time.
[0103]
As can be seen from the above, and as shown in (Equation 5) and (Equation 6), the smaller the radius of curvature, the smaller the allowable acceleration.
[0104]
Hereinafter, an example in which the allowable acceleration calculation unit 14 calculates the allowable acceleration (A) according to (Equation 5) and (Equation 6) will be described with reference to the machining programs (blocks (1) to (3)) in FIG. explain.
[0105]
However, the setting time constant (Torign) = 400 msec, the maximum radius of curvature (Rmax) = 50 mm, the minimum radius of curvature (Rmin) = 1 mm, and the minimum setting ratio (Aovr_min) = 10%. The maximum cutting feed rate (F) is set to 10000 mm / min.
[0106]
First, in the block (1), R (0.1 mm) <Rmin (1 mm). Therefore, as shown in the lower proviso of (Equation 5), the allowable time constant is T = Torign × (1 / 0.1) = 400 × (1 / 0.1) = 4000 msec = (4000/60000) min, It becomes. Therefore, as shown in (Formula 6), the allowable acceleration is: A = 10000 / (4000/60000) = 150,000 mm / min 2 It becomes.
[0107]
Next, in the block (2), R (100 mm)> Rmax (50 mm). Therefore, as shown in the upper part of the proviso of (Equation 5), the allowable time constant is T = Torign × 1 = 400 × 1 = 400 msec = (400/60000) min. Therefore, as shown in (Equation 6), the permissible acceleration is A = 10000 / (400/60000) = 15000000 mm / min. 2 It becomes.
[0108]
Next, in the block (3), Rmin (1 mm) <R (10 mm) <Rmax (50 mm). Therefore, as shown in (Equation 5), the allowable time constant is T = 400 × [1 / {(1-0.1) /49*9+0.1}] = 1508 msec = (1508/60000) min . Therefore, as shown in (Equation 6), the permissible acceleration is A = 10000 / (1508/60000) = 397878 mm / min. 2 It becomes.
[0109]
FIG. 11 is a table showing the above calculation results in comparison with the conventional case.
[0110]
As shown in FIG. 11, conventionally, the allowable acceleration is constant regardless of the radius of curvature (the conventional allowable acceleration is the same as the set acceleration, that is, the maximum cutting feed speed (10000 mm / sec)). This is the same as that obtained by dividing by the set time constant (400 msec)).
[0111]
On the other hand, in the present embodiment, as the radius of curvature decreases, the allowable acceleration decreases. Therefore, even when a continuous vibration due to frequent acceleration / deceleration occurs on a complicated path in which a path with a small radius of curvature is continuous, the magnitude of the vibration is as small as possible because the acceleration applied to the acceleration / deceleration is small. Can be smaller.
[0112]
Next, effects of the present embodiment will be described using an example different from the above-described machining program.
[0113]
FIG. 12A shows a machining path described in a certain machining program. FIG. 12B-1 shows the relationship between the X coordinate and the speed when machining based on this machining program is performed by a conventional method. FIG. 12B-2 shows the relationship between the X coordinate and the speed when machining is performed based on this machining program according to the present embodiment.
[0114]
As shown in FIG. 12A, paths N0-N1, N2-N3, and N4-N5 are straight lines, N1-N2 is an arc having a radius of curvature of 10 mm, and N3-N4 is an arc having a radius of curvature of 50 mm. N5-N11 is a path in which arcs of curvature radii of 1 mm and 2 mm are alternately arranged, that is, a complicated path in which arcs of curvature radii of different sizes are continuous.
[0115]
As shown in FIG. 12B-1, in the related art, for example, each node N5, N6... N11 (portion where the curvature changes) in a complicated route N5 to N11, or a route N6 to N7, N8 to N9. , N10-N11, the acceleration / deceleration has been started or ended. The magnitude of the acceleration (the gradient of the speed) given during acceleration and deceleration is large as shown in FIG. Therefore, a large vibration is generated each time the acceleration / deceleration starts and ends, and it becomes difficult to perform fine machining. Note that, for example, acceleration and deceleration are also completed and started at the start point and the end point (N1, N2) on the route N1-N2 of R10 mm and at the start point and the end point (N3, N4) on the route N3-N4 of R50 mm. At this time, the application of the acceleration is one-shot, and therefore hardly causes a problem.
[0116]
On the other hand, as shown in FIG. 12 (b) -2, in the present embodiment, although acceleration / deceleration is started or ended as in the conventional case, the magnitude of acceleration (speed Slope) is small. For this reason, the magnitude of the vibration generated due to the acceleration / deceleration is reduced as compared with the conventional case, so that highly accurate machining can be performed even on a complicated path.
[0117]
In the present embodiment, when calculating the allowable acceleration, first, the allowable time constant is calculated, and then the maximum cutting feed speed is divided by the allowable time constant. However, the allowable acceleration may be calculated by multiplying the set acceleration by the acceleration set ratio.
[0118]
As described above, according to the present embodiment, since the set acceleration is adjusted according to the magnitude of the radius of curvature, it is possible to reduce the vibration that continuously occurs on a complicated path. Therefore, high-speed and high-precision machining can be performed even with a machining program in which a complicated part and a gentle part are mixed.
[0119]
Although the first and second embodiments described above have been described as being separate from each other, the first and second embodiments may be combined.
[0120]
【The invention's effect】
According to the present invention, since the set error amount or the set acceleration is adjusted according to the magnitude of the radius of curvature of the machining path, highly accurate machining can be performed at high speed.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a numerical control device according to a first embodiment of the present invention.
FIG. 2 is a diagram showing an example of a machining program.
FIG. 3 is a diagram illustrating a machining path according to the machining program of FIG. 2;
FIG. 4 is a diagram showing a flowchart for explaining the operation of the numerical control device according to the first embodiment.
FIG. 5 is a table showing the ratio of the permissible error amount to the radius of curvature in comparison with the conventional case and the present embodiment.
FIG. 6 is a diagram showing a path composed of three arcs A to C;
FIG. 7 is a graph showing a relationship between a radius of curvature and an allowable error amount setting ratio.
FIG. 8 is a table showing the ratio of the permissible error amount to the radius of curvature in comparison with the conventional case and the second calculation unit.
FIG. 9 is a block diagram illustrating a configuration of a numerical control device according to a second embodiment of the present invention.
FIG. 10 is a diagram showing a flowchart for explaining the operation of the numerical control device according to the second embodiment of the present invention.
FIG. 11 is a table showing a comparison of values of allowable acceleration between the conventional case and the present embodiment.
FIG. 12A shows a machining path described in a certain machining program. FIG. 12B-1 shows the relationship between the X coordinate and the speed when this machining program is executed using a conventional method. FIG. 12B-2 shows the relationship between the X coordinate and the speed when this machining program is executed using this embodiment.
[Explanation of symbols]
1,18 Numerical control unit
2 Analysis unit
3 Shape recognition unit
4 Error setting section
5, 16 Parameter setting section
6 Allowable error calculator
8, 15 Allowable speed calculation unit
9 Target speed calculator
10 Distribution unit
11 Servo system
13 Time constant setting section
14 Allowable acceleration calculator

Claims (15)

加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから、所定の経路における前記切削工具の切削送り速度を取得する解析部と、
前記加工プログラムから前記所定の経路における曲率半径を取得する曲率半径取得部と、
前記切削工具を切削送りする際の、前記切削工具の経路誤差の許容範囲を規定する設定誤差量を保持した誤差量設定部と、
取得された前記曲率半径と前記設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出する許容誤差量算出部と、
算出された前記許容誤差量と前記曲率半径とを用いて、前記所定の経路における前記切削工具の経路誤差を前記許容誤差量以下に抑える許容速度を算出する許容速度算出部と、
前記所定の経路における前記切削送り速度を前記許容速度以下の速度として算出する目標送り速度算出部と、
を備えることを特徴とする数値制御装置。
From a machining program in which the machining path and the cutting feed speed of the cutting tool for the workpiece are described, an analysis unit that acquires a cutting feed speed of the cutting tool in a predetermined path,
A curvature radius acquisition unit that acquires a radius of curvature in the predetermined path from the machining program;
An error amount setting unit that holds a set error amount that defines an allowable range of a path error of the cutting tool when the cutting tool is fed.
Using the acquired radius of curvature and the set error amount, an allowable error amount calculation unit that calculates an allowable error amount corresponding to the magnitude of the curvature radius,
Using the calculated allowable error amount and the radius of curvature, an allowable speed calculation unit that calculates an allowable speed that suppresses a path error of the cutting tool in the predetermined path to the allowable error amount or less.
A target feed speed calculation unit that calculates the cutting feed speed in the predetermined path as a speed equal to or lower than the allowable speed,
A numerical control device comprising:
前記許容誤差量算出部は、前記設定誤差量のどの程度の比率を前記許容誤差量とするかを示す許容誤差量設定比率を前記曲率半径に基づき算出し、算出した前記誤差量設定比率に前記設定誤差量を乗算して前記許容誤差量を算出することを特徴とする請求項1に記載の数値制御装置。The allowable error amount calculation unit calculates an allowable error amount setting ratio indicating the ratio of the setting error amount to be the allowable error amount based on the radius of curvature, and calculates the error amount setting ratio according to the calculated error amount setting ratio. The numerical control device according to claim 1, wherein the allowable error amount is calculated by multiplying the set error amount. 前記許容誤差量算出部は、前記許容誤差量の算出対象となる曲率半径の範囲を規定する最大曲率半径値及び最小曲率半径値を保持しており、前記最大曲率半径値及び最小曲率半径値をさらに用いて前記許容誤差量を算出することを特徴とする請求項1又は2に記載の数値制御装置。The allowable error amount calculation unit holds a maximum radius of curvature value and a minimum radius of curvature value that define a range of a radius of curvature for which the allowable error amount is calculated, and calculates the maximum radius of curvature value and the minimum radius of curvature value. The numerical controller according to claim 1, wherein the allowable error amount is further used to calculate the allowable error amount. 前記所定の経路は円弧補間指令による経路であることを特徴とする請求項1乃至3のいずれかに記載の数値制御装置。4. The numerical control device according to claim 1, wherein the predetermined path is a path based on a circular interpolation command. 加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得する解析部と、
許容可能な経路誤差の範囲を規定した設定誤差量を保持した設定誤差量保持部と、
取得した前記曲率半径と、前記設定誤差量とを用いて、前記曲率半径に対応した許容誤差量を算出する許容誤差量算出部と、
を備えることを特徴とする数値制御装置。
An analysis unit that acquires a radius of curvature in a predetermined path from a processing program in which a processing path of a cutting tool for a workpiece is described,
A setting error amount holding unit that holds a setting error amount that defines a range of an allowable path error,
Using the acquired curvature radius and the set error amount, an allowable error amount calculation unit that calculates an allowable error amount corresponding to the curvature radius,
A numerical control device comprising:
加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得し、
前記曲率半径と、許容可能な経路誤差の範囲を規定した設定誤差量とを用いて、前記曲率半径の大きさに対応した許容誤差量を算出することを特徴とする数値制御方法。
Obtain the radius of curvature in a predetermined path from the processing program in which the processing path of the cutting tool for the workpiece is described,
A numerical control method comprising calculating an allowable error amount corresponding to the magnitude of the radius of curvature using the radius of curvature and a set error amount defining a range of allowable path error.
加工物に対する切削工具の加工経路及び切削送り速度が記述された加工プログラムから、所定の経路における前記切削工具の切削送り速度を取得する解析部と、
前記加工プログラムから前記所定の経路における曲率半径を取得する曲率半径取得部と、
前記切削工具を切削送りする際の限界加速度としての設定加速度を保持し、前記設定加速度と前記曲率半径とを用いて、前記曲率半径の大きさに対応した許容加速度を算出する許容加速度算出部と、
算出された前記許容加速度と前記曲率半径とを用いて許容速度を算出する許容速度算出部と、
前記所定の経路における前記切削送り速度を前記許容速度以下の速度に最適化した目標送り速度を算出する目標送り速度算出部と、
算出された前記目標送り速度が前記許容加速度以下の加減速となるように加減速処理を行う加減速処理部と、
を備えることを特徴とする数値制御装置。
From a machining program in which the machining path and the cutting feed speed of the cutting tool for the workpiece are described, an analysis unit that acquires a cutting feed speed of the cutting tool in a predetermined path,
A curvature radius acquisition unit that acquires a radius of curvature in the predetermined path from the machining program;
An allowable acceleration calculation unit that holds a set acceleration as a limit acceleration when cutting the cutting tool and uses the set acceleration and the radius of curvature to calculate an allowable acceleration corresponding to the magnitude of the radius of curvature. ,
An allowable speed calculation unit that calculates an allowable speed using the calculated allowable acceleration and the radius of curvature,
A target feed speed calculation unit that calculates a target feed speed optimized for the cutting feed speed in the predetermined path to a speed equal to or lower than the allowable speed,
An acceleration / deceleration processing unit that performs acceleration / deceleration processing so that the calculated target feed speed is equal to or lower than the allowable acceleration.
A numerical control device comprising:
前記許容加速度算出部は、前記許容加速度のどの程度の比率を前記許容加速度とするかを示す許容加速度設定比率を前記曲率半径に基づき算出し、算出した前記許容加速度設定比率に前記設定加速度を乗算して前記許容加速度を算出することを特徴とする請求項7に記載の数値制御装置。The allowable acceleration calculation unit calculates an allowable acceleration setting ratio indicating a ratio of the allowable acceleration as the allowable acceleration based on the radius of curvature, and multiplies the calculated allowable acceleration setting ratio by the set acceleration. 8. The numerical control device according to claim 7, wherein the allowable acceleration is calculated. 前記許容加速度算出部は、前記設定加速度により最大切削送り速度に達するまでに要する時間としての設定時定数を保持し、前記設定時定数と前記曲率半径とを用いて、前記曲率半径に対応した許容時定数を算出し、前記許容時定数と前記最大切削送り速度とを用いて、前記許容加速度を算出することを特徴とする請求項7又は8に記載の数値制御装置。The allowable acceleration calculation unit holds a set time constant as a time required to reach a maximum cutting feed rate by the set acceleration, and uses the set time constant and the radius of curvature to set an allowable time corresponding to the radius of curvature. 9. The numerical control device according to claim 7, wherein a time constant is calculated, and the allowable acceleration is calculated using the allowable time constant and the maximum cutting feed speed. 10. 前記許容加速度算出部は、前記設定時定数のどの程度の比率を前記許容時定数とするかを示す許容時定数設定比率を前記曲率半径に基づき算出し、算出した前記許容時定数設定比率に前記設定時定数を乗算して前記許容時定数を算出することを特徴とする請求項9に記載の数値制御装置。The allowable acceleration calculation unit calculates an allowable time constant setting ratio indicating the ratio of the set time constant as the allowable time constant based on the radius of curvature, and calculates the allowable time constant setting ratio based on the calculated allowable time constant setting ratio. The numerical control device according to claim 9, wherein the allowable time constant is calculated by multiplying a set time constant. 前記許容加速度算出部は、前記許容加速度の算出対象となる曲率半径の範囲を規定する最大曲率半径値及び最小曲率半径値を保持しており、前記最大曲率半径値及び最小曲率半径値さらに用いて前記許容加速度を算出することを特徴とする請求項7乃至10のいずれかに記載の数値制御装置。The allowable acceleration calculation unit holds a maximum radius of curvature and a minimum radius of curvature that define a range of a radius of curvature for which the allowable acceleration is calculated, and further uses the maximum radius of curvature and the minimum radius of curvature. The numerical control device according to claim 7, wherein the allowable acceleration is calculated. 前記所定の経路は、円弧補間指令による経路であることを特徴とする請求項7乃至11のいずれかに記載の数値制御装置。12. The numerical control device according to claim 7, wherein the predetermined path is a path based on a circular interpolation command. 加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得する解析部と、
前記切削工具の切削送り時における限界加速度としての設定加速度を保持した設定加速度保持部と、
取得した前記曲率半径と、前記設定加速度とを用いて、前記曲率半径に対応した許容加速度を算出することを特徴とする数値制御装置。
An analysis unit that acquires a radius of curvature in a predetermined path from a processing program in which a processing path of a cutting tool for a workpiece is described,
A set acceleration holding unit that holds a set acceleration as a limit acceleration during cutting feed of the cutting tool,
A numerical control device that calculates an allowable acceleration corresponding to the radius of curvature using the acquired radius of curvature and the set acceleration.
前記設定加速度により最大切削送り速度に達するまでに要する時間としての設定時定数を保持した時定数設定部を、前記設定加速度保持部と共にあるいは前記設定加速度保持部の代わりに備え、
前記時定数設定部に保持された前記設定時定数と、前記曲率半径とを用いて、前記曲率半径に対応した許容時定数を算出し、前記最大切削送り速度と前記許容時定数とを用いて、前記許容加速度を算出することを特徴とする請求項13に記載の数値制御装置。
A time constant setting unit that holds a set time constant as a time required to reach a maximum cutting feed speed by the set acceleration, with the set acceleration holding unit or instead of the set acceleration holding unit,
Using the set time constant held in the time constant setting unit and the radius of curvature, calculate an allowable time constant corresponding to the radius of curvature, using the maximum cutting feed rate and the allowable time constant. The numerical control device according to claim 13, wherein the allowable acceleration is calculated.
加工物に対する切削工具の加工経路が記述された加工プログラムから所定の経路における曲率半径を取得し、
前記曲率半径と、切削送り時における限界加速度としての設定加速度を用いて、前記曲率半径の大きさに対応した許容加速度を算出することを特徴とする数値制御方法。
Obtain the radius of curvature in a predetermined path from the processing program in which the processing path of the cutting tool for the workpiece is described,
A numerical control method, wherein an allowable acceleration corresponding to the magnitude of the radius of curvature is calculated using the radius of curvature and a set acceleration as a limit acceleration at the time of cutting feed.
JP2003117076A 2003-04-22 2003-04-22 Numerical control device and numerical control method Pending JP2004326238A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003117076A JP2004326238A (en) 2003-04-22 2003-04-22 Numerical control device and numerical control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003117076A JP2004326238A (en) 2003-04-22 2003-04-22 Numerical control device and numerical control method

Publications (1)

Publication Number Publication Date
JP2004326238A true JP2004326238A (en) 2004-11-18

Family

ID=33497090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003117076A Pending JP2004326238A (en) 2003-04-22 2003-04-22 Numerical control device and numerical control method

Country Status (1)

Country Link
JP (1) JP2004326238A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101575144B1 (en) 2014-07-23 2015-12-08 한국전기연구원 Apparatus for energy savings numerical control
JP2016133988A (en) * 2015-01-20 2016-07-25 ブラザー工業株式会社 Numerical control device and control method
JP2019148931A (en) * 2018-02-26 2019-09-05 国立大学法人東京農工大学 Numerical control program generation device, numerically controlled machining system, and numerically controlled machining program
CN110879572A (en) * 2018-09-05 2020-03-13 大隈株式会社 Numerical control device and numerical control method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101575144B1 (en) 2014-07-23 2015-12-08 한국전기연구원 Apparatus for energy savings numerical control
JP2016133988A (en) * 2015-01-20 2016-07-25 ブラザー工業株式会社 Numerical control device and control method
JP2019148931A (en) * 2018-02-26 2019-09-05 国立大学法人東京農工大学 Numerical control program generation device, numerically controlled machining system, and numerically controlled machining program
JP7012229B2 (en) 2018-02-26 2022-01-28 国立大学法人東京農工大学 Numerical control programming device, numerical control work system and numerical control work program
CN110879572A (en) * 2018-09-05 2020-03-13 大隈株式会社 Numerical control device and numerical control method
CN110879572B (en) * 2018-09-05 2024-02-13 大隈株式会社 Numerical control device and numerical control method

Similar Documents

Publication Publication Date Title
US9851709B2 (en) Numerical control device
US8560112B2 (en) Numerical controller with function to correct movement path of machining program
JP2017204072A (en) Process program processing device and multiple spindle processor having the same
WO2016024338A1 (en) Numerical control device
US20170003672A1 (en) Numerical controller performing 3-dimensional interference check corresponding to feedrate change
CN106338968A (en) Numerical controller capable of compensating error in consideration of axis movement direction
JP3527022B2 (en) Numerical control unit
US10444728B2 (en) Numerical controller performing positioning for avoiding interference with workpiece
JP4480869B2 (en) Numerical controller
JPH0999384A (en) Laser beam processing machine, laser beam processing method and automatic programming apparatus
JP2004326238A (en) Numerical control device and numerical control method
JP4143384B2 (en) EDM method
US10261500B2 (en) Numerical controller controlling machining tool based on skiving instruction
JP4271487B2 (en) Numerical control apparatus and numerical control method
JP6324616B1 (en) Numerical controller
JP5875740B1 (en) Numerical controller
JP6267161B2 (en) Numerical control device that controls two parallel axes
JP5143661B2 (en) NC lathe control method and control device
JP2005327321A (en) Numerical control system
CN111045395A (en) Numerical controller
JP2006024174A (en) Movement controller for controlling movement of mobile body of machine tool, machine tool provided with movement controller and mobile body moving method
JP7177744B2 (en) Cutting device and its cutting control method
JPH1034497A (en) Numerical control device for three-dimensional cutter
US20190107826A1 (en) Program generating apparatus and program generating method
JP2023136047A (en) Control unit, laser processing device, control method of control unit, and program