JP3643098B2 - Numerical controller - Google Patents

Numerical controller Download PDF

Info

Publication number
JP3643098B2
JP3643098B2 JP2002266487A JP2002266487A JP3643098B2 JP 3643098 B2 JP3643098 B2 JP 3643098B2 JP 2002266487 A JP2002266487 A JP 2002266487A JP 2002266487 A JP2002266487 A JP 2002266487A JP 3643098 B2 JP3643098 B2 JP 3643098B2
Authority
JP
Japan
Prior art keywords
tool
axis
command
movement
interpolation
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.)
Expired - Fee Related
Application number
JP2002266487A
Other languages
Japanese (ja)
Other versions
JP2003195917A (en
Inventor
俊明 大槻
進洋 柴田
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2002266487A priority Critical patent/JP3643098B2/en
Publication of JP2003195917A publication Critical patent/JP2003195917A/en
Application granted granted Critical
Publication of JP3643098B2 publication Critical patent/JP3643098B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ワークを回転させて加工する加工機を制御する数値制御装置に関する。
【0002】
【従来の技術】
従来、複数個の直線移動軸及びテーブル回転移動軸を少なくとも1軸有し、さらに、工具ヘッド回転用に1軸、または、テーブル回転用に1軸持った工作機械が知られている。例えば、図1のようなテーブル1が直交するX,Y軸方向に駆動され、該X,Y軸と直交するZ軸方向に工具2が駆動され、さらに、X軸周りの回転軸Aにより工具2が回動制御されると同時に、Z軸周りの回転軸Cによりテーブル1が制御され、テーブル1に載置固定されたワーク3を加工する5軸加工機が知られている。
【0003】
また、図2のように、工具2は直交するX,Y,Z軸方向に駆動され、テーブル1は、X軸回りの回転軸A、Z軸回りの回転軸Cにより回転制御され、このテーブル1に載置固定されたワーク3を工具2で加工するようにした5軸加工機も公知である。
【0004】
それらの回転軸A,Cが回転しながら工具2の先端点が所期の経路を所期の速度で移動する動作を行うためには、従来はCAMによって微小線分のプログラムを作成し、指令する必要があった。
【0005】
例えば、図3のようなテーブル1の回転用に1軸(C軸)、工具2のヘッド回転用に1軸(A軸)を持った工作機械において、図4のようにテーブル1を回転させ、かつ工具2の傾き角度を変化させながらテーブル1上のワーク3に直線Lを切削加工する場合、1個の直線指令のブロックとして指令することはできず、次の<従来のプログラム指令>の例に示すように、ブロックN301、N302等,多数のブロックに分割して指令する必要があった。なお、図3において、COは、C軸の回転中心であり、CSはC軸の基準位置であり、プログラムで指令されるC軸回転位置がこの基準位置CSに位置決めされるように制御されるものである。また、Pは工具2の制御点であり、かつ、この制御点Pが工具2の回転中心である。
<従来のプログラム指令>
N200 G01 G90 XXc0 YYc0 ZZc0 A60.0 C30.0 ;
N301 XXc1 YYc1 ZZc1 A45.0 C90.0 ;
N302 XXc2 YYc2 ZZc2 A30.0 C150.0 ;
G01は、切削送り指令であり、G90は、アブソリュート指令を意味する。このプログラムにより、工作機械の各軸は図5のように動作する。図5(a)は、第1のブロック「N200」によるX軸=Xc0,Y軸=Yc0,Z軸=Zc0,A軸=60度,C軸=30度の位置への位置決め位置であり、第2のブロック「N301」による加工の開始点である。図5(b)は、第2のブロック「N301」の終点であり、第3のブロック「N301」の始点を表している。第2のブロック「N301」の加工指令によって、実線で示すように直線状に切削加工がなされる。また、図5(c)は第3のブロック「N301」の終点であり、この第2、第3のブロックの指令によって、直線Lの切削加工がなされる。
【0006】
しかし、このように、この直線Lの加工を2ブロック程度に分割したのでは精度良く直線Lを切削できず、実際は精度良く加工するために、非常に多くのブロックに分割して指令する必要がある。
【0007】
なお、図4は便宜上C軸を固定して描いた図にしてある。 実際はC軸が回転しながら動作する。また、図4と図5はZ軸+方向から見た図である。
上記説明では、テーブル回転用に1軸(C)と工具ヘッド回転用に1軸(A)持った工作機械で説明しているが、A,C以外の軸構成やテーブル回転用に2軸持った工作機械においても同様である。
【0008】
【発明が解決しようとする課題】
上記のように、テーブル回転用に1軸と工具ヘッド回転用に1軸、または、テーブル回転用に2軸持った工作機械等の少なくともテーブル回転軸を備えた工作機械において、それらの回転軸が回転しながら工具先端点が指令された経路を指令された速度で移動する動作を行うためには、CAMによって微小線分のプログラムを作成し、指令する必要がある。その結果、
▲1▼.CAM装置が必要である。
▲2▼.多くの微小線分の指令になるので、プログラム長が長くなる。そのため、大容量の記憶装置が必要になる。
▲3▼.プログラム長が長くなるため、DNC運転(外部機器から数値制御装置(CNC)にプログラムを転送しながら行なう運転)の場合、外部機器からCNCへ高速に転送する必要がある。
▲4▼.多くの微小線分の指令になるので、CNCがプログラムを解析することに時間がかかり、スムーズに加工できない場合がある。
▲5▼.工具長を変更した場合、CAMによってプログラムから作成し直す必要があり、時間がかかる。
といった問題がある。
【0009】
そこで、本発明は、ワークを保持するテーブル等を駆動する回転軸を備える加工機の数値制御装置であって、上述した問題点を解決し、加工プログラムの作成が容易で、かつその加工プログラム長も短くてすみ、工具長変更にも容易に対処できる数値制御装置を提供することにある。
【0010】
【課題を解決するための手段】
本発明は、複数個の直線移動軸及びテーブルの回転移動軸を少なくとも1軸有する工作機械、さらには工具をテーブルに対して傾ける回転移動軸を有する工作機械を制御して、テーブル上に固定されたワークを工具により連続的に加工するための数値制御装置であって、前記直線移動軸の移動経路指令、前記ワークと前記工具との相対移動速度指令および前記テーブルに対する前記工具の方向として工具方向を与えるための前記回転移動軸の移動指令を与える移動指令手段と、前記テーブル上に座標系を定義する手段と、前記直線移動軸の前記移動経路指令を前記テーブル上に定義された座標系において前記相対移動速度指令に基づいて補間して前記移動径路の補間位置情報を得る第1補間手段と、前記回転移動軸の移動指令を前記移動径路指令及び相対移動速度指令に基づいて補間して回転移動軸の補間位置情報を得る第2補間手段と、該回転移動軸の補間位置情報に基づいて前記第1補間手段からの補間位置情報を補正する手段とを備え、前記移動径路の補正された補間位置情報と、前記回転移動軸の補間位置情報に基づいて対応する各軸のサーボモータを駆動することにより、前記工具上に指定される工具先端点が指令された移動経路上を指令された速度で移動するように制御する数値制御装置である。
【0011】
前記第1補間手段からの補間位置情報を補正する手段は、設定された工具長補正量及び工具径補正量を加味して補正するようにした。
また、前記工具方向は、回転移動軸の回転移動位置の移動指令として与えられるか、方向ベクトルとして与えられるか、または、方向ベクトルとシフト角度の組み合わせとして与えられる。
さらに、前記移動指令手段は、前記テーブル上に定義された座標系がテーブルと共に回転するものとして該座標系上に前記直線移動軸の移動経路指令を指令するものでも、また、テーブルと共には回転しない座標系に基づいて指令されたものでもよく、テーブルと共には回転しない座標系に基づいて指令された直線移動軸の移動経路指令の場合には、前記移動指令手段は、前記直線移動軸の移動経路指令を前記直線移動軸の移動経路指令をテーブルと共に回転する座標系に変換する手段をも備える。
また、前記工具先端点は設定されるもので、工具の頂点、ボールエンドミル工具の先端における半球の中心、ボールエンドミル工具の先端における半球上の切削点、フラットエンドミル工具の先端面の中心、フラットエンドミル工具の先端面の切削点を工具先端点として設定するが、これら工具の任意の位置及び他種の工具の任意の位置を工具先端点として設定することも可能である。
さらに、旋盤に対しても本発明は適用されるもので、ワークを把持しC軸によって回転制御されるワーク把持台を前記テーブルの代わりとすればよいものである。
【0012】
【発明の実施の形態】
まず,本発明の原理について、図6に示すような、テーブル回転用にZ軸周りの回転軸であるC軸と工具ヘッド回転用にX軸周りの回転軸であるA軸の2つの回転移動軸を持った工作機械で説明する。しかし、A,C軸以外の軸構成やテーブル回転用に2軸持った工作機械においても同様である。また、工具先端点Tpは工具上に指定される位置であり、以降の説明では、工具先端点Tpは工具の頂点であるとして説明する。
【0013】
工具先端点制御モードにおいては、予め設定されている機械座標系ΣM上のワーク座標系ΣWの原点位置(Xw,Yw,Zw)を記憶することで、ワーク座標系ΣWを記憶する。また、工具2の回転中心(制御点)Pから工具先端点Tpまでの長さである工具長補正量Hを記憶する。
【0014】
加工しようとする直線の加工開始点の位置,すなわち加工開始点の制御点Pの機械座標系ΣMの位置(Xm,Ym,Zm)、工具方向(A,C軸の機械座標位置(Am,Cm))、工具長補正量Hから、次の式(1)〜(3)を演算して、ワーク座標系ΣW上の加工開始時の工具先端点Tpの位置(Xs,Ys,Zs)を求める。回転軸については機械座標位置(Am,Cm)を加工開始位置(As,Cs)とする。また、この加工開始点の位置(Xm,Ym,Zm,Am,Cm)を後述する補間処理で用いる前回の補間処理後の位置(Xo,Yo,Zo,Ao,Co)とし、ワーク座標系ΣW上の加工開始時の工具先端点位置(Xs,Ys,Zs)を前回の補間処理後の位置(Xj,Yj,Zj)とする。なお、工具方向は、工具2のワークに対する相対方向であるから、工具2の回転、テーブル1(ワーク3)の回転を表すA軸,C軸の回転角Am,Cmで表される。
Xs = Xm−Xw …(1)
Ys = Ym−H*cos(Am)−Yw …(2)
Zs = Zm−H*sin(Am)−Zw …(3)
この時のC軸の位置をCzとして記憶する。
また、(Xr,Yr,Zr)は機械座標系上の回転中心位置として別途パラメータに記憶されておく。
【0015】
なお、上述した例では、直線軸の加工開始の制御点PのX,Y,Z軸の機械座標位置(Xm,Ym,Zm))、工具方向(A,C軸の機械座標位置(Am,Cm)、工具長補正量Hから、ワーク座標系ΣW上の開始時の工具先端点Tpの位置(Xs,Ys,Zs)を求めたが、工具方向(A軸,C軸の機械座標位置(Am,Cm))、工具長補正量Hから工具補正ベクトルVを求め、直線軸の加工開始の制御点Pの位置(X,Y,Z軸の機械座標位置(Xm,Ym,Zm))がワーク座標系上の加工開始時の工具先端点Tpの位置(Xs,Ys,Zs)となるように動作させて、工具先端点制御を開始することもできる。つまり、次の式(4)〜(6)で示されるベクトルVを求め、
Vx=0 …(4)
Vy= H*cos(Am) …(5)
Vz= H*sin(Am) …(6)
X,Y,Z軸をこのベクトルVだけ移動させ、そのときの機械座標系ΣM上の制御点Pの位置(Xm,Ym,Zm)から式(7)〜(9)で示されるようにワーク座標系ΣWの原点位置(Xw,Yw,Zw)を減じてワーク座標系ΣW上の加工開始時の工具先端点位置(Xs,Ys,Zs)を求める。
Xs = Xm−Xw …(7)
Ys = Ym−Yw …(8)
Zs = Zm−Zw …(9)
こうして、ワーク座標系ΣW上の加工開始時の工具先端点Tpの位置(Xs,Ys,Zs)を求めた後は、その後のプログラム指令は記憶されたワーク座標系で指令されたものとみなし(プログラムではそのように指令しておく)、そのワーク座標系ΣW上で指令された速度Fにもとづいて補間を行う。つまり、次のブロックの指令を(Xe,Ye,Ze,Ae,Ce)とした時、次のように補間周期ΔtごとにX,Y,Z,A,C軸の移動するべき制御点P(機械座標位置)(Xc,Yc,Zc,Ac,Cc)を求める。
【0016】
まず、ワーク座標系上の補間点(Xi,Yi,Zi)について、指令速度Fにもとづいて補間を行う(第1の補間)。補間周期をΔt、前回のワーク座標系ΣW上の補間点を(Xj,Yj,Zj)(加工開始時は前述したように(Xs,Ys,Zs)=(Xj,Yj,Zj))とし、
K1 =Δt * F …(10)
(Δt間に補間すべき長さ)
D = √( (Xe−Xs)2 + (Ye−Ys) 2 + (Ze−Zs) 2) …(11)
(ブロックの長さ)
とすると、
Xi = K1 * [(Xe−Xs)/D] + Xj …(12)
Yi = K1 * [(Ye−Ys)/D] + Yj …(13)
Zi = K1 * [(Ze−Zs)/D] + Zj …(14)
A軸、C軸についても開始位置(As, Cs)から指令位置(Ae, Ce)に向かって補間を行ない(第2の補間)、補間点(Ai,Ci)を求める。この時、補間点(Ai,Ci)の位置は、開始時の工具先端点(Xs,Ys,Zs)からX,Y,Z軸の指令終点位置(Xe,Ye,Ze)への移動と同じ比例配分とする。
つまり、
K2 = [√((Xi−Xs)2 + (Yi−Ys)2 + (Zi−Zs)2)]/ [√((Xe−Xs)2 + (Ye−Ys)2 + (Ze−Zs)2)] …(15)
とすると、
Ai = K2*(Ae−As) + As …(16)
Ci = K2*(Ce−Cs) + Cs …(17)
となる。
【0017】
上記補間処理毎に、テーブル回転分だけ補正して、上記直線軸の補間点(Xi,Yi,Zi)を変換し、次の式(18)〜(20)の演算により機械座標系ΣM上のX,Y,Z軸の位置(Xa,Ya,Za)を求める。なお、式(18)〜(20)における(Xr,Yr,Zr)は別途パラメータに設定されている回転中心位置である。
Xa = (Xw + Xi−Xr)*cos(-Ci+Cz)−(Yw + Yi−Yr)*sin(-Ci+Cz) + Xr…(18)
Ya = (Xw + Xi−Xr) *sin(-Ci+Cz) + (Yw + Yi−Yr)*cos(-Ci+Cz) + Yr…(19)
Za = Zw + Zi …(20)
上記補間処理毎に、補間された工具ヘッド回転軸位置(Ai)と上記工具長補正量Hによって、工具長補正ベクトルV(Vx,Vy,Vz)を計算する。
Vx = 0 …(21)
Vy = H*cos(Ai) …(22)
Vz = H*sin(Ai) …(23)
上記補間処理毎に、機械座標系ΣM上の直線軸位置(Xa,Ya,Za)と上記工具長補正ベクトルVを加算して補正し、直線軸の制御点Pの位置(Xc,Yc,Zc)を計算する。 また、(Ai,Ci)を(Ac,Cc)とする。
(Xc,Yc,Zc) = (Xa,Ya,Za) + (Vx,Vy,Vz) …(24)
以上のようにして、制御点Pの機械座標位置(Xc,Yc,Zc,Ac,Cc)が求められる。
【0018】
上記直線軸の制御点位置(Xc,Yc,Zc)と前回の補間処理での直線軸の制御点位置(Xo,Yo,Zo)との差分を直線軸の移動量としてサーボに出力する。 上記補間された回転軸位置(Ac,Cc)と前回の補間処理における回転軸位置(Ao,Co)との差分を回転軸の移動量としてサーボに出力する。
【0019】
今回の制御点位置(Xc,Yc,Zc)を(Xo,Yo,Zo)とし、今回の回転軸補間位置(Ac,Cc)を(Ao,Co)として、次回の補間に備える。
次の指令が工具先端点制御終了指令であった場合、X,Y,Z軸について、次の式(25)〜(27)で求められる指令がプログラム指令(Xp,Yp,Zp)であったとみなみなし、以降のプログラム指令に対応する。
Xp = Xc−Xw …(25)
Yp = Yc−Yw …(26)
Zp = Zc−Zw …(27)
以上のようにして、回転するテーブルに載置されたワークに対して、簡単なNCプログラムにより補間しながら正確な加工を行うことができる。
なお、ここでは簡単なためA,C軸についてワーク座標系ΣWを考慮していないが、A,C軸に対してX,Y,Z軸と同様にワーク座標系ΣWを考慮して計算することも可能である。
【0020】
上述した説明では、工具先端点制御開始時にワーク座標系ΣWが記憶され、記憶されたワーク座標系ΣW上でプログラムが指令され、その記憶されたワーク座標系ΣWはテーブル回転と共に回転する場合の方式である。この方式であると、ワーク座標系ΣWはテーブル1と共に回転するから、ワーク座標系ΣWにおいて、加工しようとする形状を工具先端点Tp位置の経路として指令しておけば、この経路とワーク座標系ΣWとの関係は固定されたものとなるが、このワーク座標系ΣWがテーブル1と共に回転するから,テーブル1上のワーク3に対して加工された形状は、ワーク座標系ΣWにおいて指令した形状となる。
【0021】
しかしながら,固定されたワーク座標系上でプログラムしても良い。つまり、ワーク座標系ΣWはテーブル回転とともに回転はせず、そのテーブル回転には影響を受けないワーク座標系ΣW上でプログラムが指令されることも可能である。
【0022】
この場合は、式(10)〜(15)で用いた次のブロックの指令を(Xe,Ye,Ze)の代わりに次の式(28)〜(30)の計算を行って得られた位置(Xe1,Ye1,Ze1)を (Xe,Ye,Ze)とみなして、式(10)以降の処理を行う。つまり、図7に示すように、回転しないワーク座標系ΣWR上の指令位置(Xe,Ye,Ze)から記憶されたワーク座標系(テーブルと共に回転するワーク座標系)ΣW上での位置(Xe1,Ye1,Ze1)を求め、その位置を記憶されたワーク座標系(テーブルと共に回転するワーク座標系)ΣW上での指令位置とみなして式(10)以降の処理を行う。
Xe1=(Xw+Xe-Xr)*cos(Ce-Cz)-(Yw+Ye-Yr)*sin(Ce-Cz)-(Xw-Xr) …(28)
Ye1=(Xw+Xe-Xr)*sin(Ce-Cz)+(Yw+Ye-Yr)*cos(Ce-Cz)-(Yw-Yr) …(29)
Ze1=Ze …(30)
また、工具方向をI,J,Kのような方向ベクトルで指令してもよい。この方向ベクトルによる指令に基づいて、回転軸がどのような位置に補間されるべきか数値制御装置(CNC)側で自動計算する方法を採用してもよい。この場合、次のブロックの指令を(Xe,Ye,Ze,Ae,Ce)としたが、その指令を(Xe,Ye,Ze,Ie,Je,Ke)とし、(Ie,Je,Ke)を記憶されたワーク座標系上の工具方向を示すベクトルとする。そして、方向ベクトル(Ie,Je,Ke)から対応する回転軸位置(Ae,Ce)を計算し、計算された回転軸位置(Ae,Ce)を使用して上記の処理を行うようにすればよい。
【0023】
また、工具方向をI,J,Kのような方向ベクトルとそれからのシフト量で指定してもよい。工具先端点がボールエンドミル工具の先端における半球上の切削点である場合、図17のように加工物表面に垂直な方向をI,J,Kの方向ベクトルで指令し、工具方向をI,J,Kの方向からのプログラム進行方向に対する接線方向のシフト角度Qで指令することができる。その場合、指令を(Xe,Ye,Ze,Ie,Je,Ke,Qe)とし、(Ie,Je,Ke)を加工物表面の垂直方向を示すベクトルとし、(Qe)を指令されたプログラム進行方向に対する接線方向のシフト角度とする。そして、(Ie,Je,Ke) 、(Qe)およびプログラム進行方向から対応する回転軸位置(Ae,Ce)を計算するとともに、(Ie,Je,Ke)と工具径補正量Dから工具先端球中心を求める。そして、求めた工具先端球中心を上記の処理における工具先端点とし、計算された回転軸位置(Ae,Ce)を使用して上記の処理を行うようにすればよい。
【0024】
ここで、シフト角度Qについては、プログラム進行方向に対する接線方向のシフト角度をQ1、プログラム進行方向に対する法線方向のシフト角度をQ2として指令することも可能である。その場合も、上記と同様に、対応する回転軸位置(Ae,Ce)を計算するとともに、(Ie,Je,Ke)と工具径補正量Dから工具先端球中心を求め、求めた工具先端球中心を上記の処理における工具先端点とし、計算された回転軸位置(Ae,Ce)を使用して上記の処理を行うようにすればよい。
【0025】
また、工具先端点がフラットエンドミル工具の先端面の切削点である場合は、図18のように、工具方向をI,J,Kの方向ベクトルまたは回転軸位置で指令し、工具先端面の切削点と工具先端面中心の距離を工具径補正量Dで指令する。工具方向をI,J,Kの方向ベクトルで指令する場合、指令を(Xe,Ye,Ze,Ie,Je,Ke)とし、(Ie,Je,Ke)を工具方向を示すベクトルとする。そして、(Ie,Je,Ke)から対応する回転軸位置(Ae,Ce)を計算し、(Ie,Je,Ke) とプログラム指令の進行方向が作る面上で(Ie,Je,Ke)に垂直な方向に工具先端点から工具径補正量Dだけ距離をとった点として工具先端面中心の位置を求める。そして、求めた工具先端面中心を上記の処理における工具先端点とし、計算された回転軸位置(Ae,Ce)を使用して上記の処理を行うようにすればよい。
【0026】
図8は本発明の工具先端点制御を実施する一実施形態の数値制御装置(CNC)100のブロック図である。CPU11は数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムをバス20を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。RAM13には一時的な計算データや表示データ及び表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。CMOSメモリ14は図示しないバッテリでバックアップされ、数値制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。CMOSメモリ14中には、インターフェイス15を介して読み込まれた加工プログラムや表示器/MDIユニット70を介して入力された加工プログラム等が記憶される。また、ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。
【0027】
本発明を実行する加工プログラム等の各種加工プログラムはインターフェイス15やCRT/MDIユニット70を介して入力し、CMOSメモリ14に格納することができる。
【0028】
インターフェイス15は、数値制御装置100とアダプタ等の外部機器72との接続を可能とするものである。外部機器72側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置100内で編集した加工プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置100に内蔵されたシーケンスプログラムで工作機械の補助装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
【0029】
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス18は表示器/MDIユニット70のキーボードからの指令,データを受けてCPU11に渡す。インターフェイス19は手動パルス発生器等を備えた操作盤71に接続されている。
【0030】
各軸の軸制御回路30〜34はCPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜44に出力する。サーボアンプ40〜44はこの指令を受けて、各軸のサーボモータ50〜54を駆動する。各軸のサーボモータ50〜54は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30〜34にフィードバックし、位置・速度のフィードバック制御を行う。なお、図8では、位置・速度のフィードバックについては省略している。
【0031】
サーボモータ50〜54は、工作機械のX,Y,Z,A,C軸を駆動するもので、図1、図2に示した5軸工作機械を駆動制御するものである。また、スピンドル制御回路60は主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はスピンドル速度信号を受けて、主軸モータ62を指令された回転速度で回転させる。ポジションコーダ63は、主軸モータ62の回転に同期して帰還パルスをスピンドル制御回路60にフィードバックし、速度制御を行う。
【0032】
以上のような数値制御装置100の構成は従来の数値制御装置の構成とは変りはなく、この数値制御装置100によって、図1、図2に示すような5軸加工機を駆動制御して工具先端点制御を実施する。
そこで、この数値制御装置により図1に示すタイプの5軸加工機を制御して工具先端点制御による加工の一例を以下説明する。
【0033】
<ワーク座標系ΣWがテーブルと共に回転する場合>
まず、図6に示すように、機械座標系ΣMにおけるワーク座標系ΣWの原点位置(Xw,Yw,Zw)を設定してワーク座標系ΣWを設定記憶させておく。さらに、機械座標系ΣMにおけるテーブル1(ワーク3)の回転中心位置(Xr,Yr,Zr)をパラメータとして設定記憶しておく。以下に説明する例では、Xw=Xr,Yw=Yrとしているが、必ずしも等しくなくてもよい。
【0034】
そして、回転するワーク3に対する加工の工具先端点制御モードによる加工プログラム指令は、上記設定したワーク座標系ΣWで作成される。そしてこのワーク座標系ΣWは、工具先端点制御開始時に記憶され、工具先端点制御中はこのワーク座標系ΣWはテーブルと共に回転する方式、すなわち、ワーク座標系ΣWはテーブル1に張り付いた形となるものである。
【0035】
そこで、図9に示すように、回転するワーク3上に直線Lを加工するために次のような加工プログラム指令がなされたとする。
<本発明のプログラムの例1−テーブルと共にワーク座標系ΣWが回転する>
N100 G54 H01 C30.0 ; :ワーク座標系選択、工具長補正番号指定
N101 G90 G00 X0.0 Y150.0 Z86.603 A 60.0 C 30.0 ; 始点への位置決め
N200 G43.4 ; :工具先端点制御開始
N301 G01 X- 86.603 Y- 50.0 Z0.0 A 30.0 C 150.0 F5000; 直線Lの切削加工指令
N400 G49 ; :工具先端点制御終了
N100のブロックにおいて、数値制御装置100はその時のワーク座標系(G54のワーク座標系原点位置:Xw,Yw,Zw)を記憶,設定し、工具補正番号01に対応する工具長補正量Hを記憶する。ここでは、工具長補正量Hは100.0で、ワーク座標系ΣW、回転中心位置(Xw,Yw,Zw)=(Xr,Yr,Zr)=(200.0, 200.0, 100.0)とする。
【0036】
N101のブロックにおいて、「G90」はアブソリュート指令のコードで、「G00」は位置決め指令のコードであり、制御点Pのワーク座標系ΣW上の位置が「X0.0 Y150.0 Z86.603 A 60.0 C 30.0 」として指令されている。
【0037】
このワーク座標系ΣW上での指令は、機械座標系ΣM上に変換され、機械座標位置(Xm,Ym,Zm,Am,Cm)は次のようになる。
Xm = 0.0 + 200.0 = 200.0 …(31)
Ym = 150.0 + 200.0 = 350.0 …(32)
Zm = 86.603 + 100.0 = 186.603 …(33)
Am = 60.0 …(34)
Cm = 30.0 …(35)
そして、このN101のブロックの指令により、工作機械の各軸は上記位置に移動させられる。この状態を図10(a)に示す。
【0038】
N200のブロックの「G43.4」の指令は、工具先端点制御開始指令であり、以後、この工具先端点制御の終了までは、工具先端点Tpの移動軌跡がプログラムとして指令される。このN200の「G43.4」の指令により、現在の制御点P、工具方向(Am,Cm)、工具長補正量Hから開始時の工具先端点Tp=(Xs,Ys,Zs)を求める。 現在の制御点P(機械位置)が(Xm,Ym,Zm)=(200.0, 350.0, 186.603)、工具方向が(A60.0, C30.0)、工具長補正量Hが100.0の場合、上述した式(1)〜(3)により、下記に示すように、工具先端点位置Tp=(Xs,Ys,Zs)は(X0.0,
Y100.0, Z0.0)となる。
Xs = Xm−Xw = 200.0−200.0 = 0.0 …(36)
Ys = Ym−H*cos(Am)−Yw = 350.0−100.0*cos(60.0)−200.0 = 100.0…(37)
Zs = Zm−H*sin(Am)−Zw = 186.603−100.0*sin(60.0)−100.0 = 0.0…(38)
上記の値を(Xj,Yj,Zj)にもセットし、上記制御点Pの機械座標位置(Xm,Ym,Zm,Am,Cm)を(Xo,Yo,Zo,Ao,Co)とする。また、C軸の位置30.0をCzとする。
【0039】
このときの状態は図10(a)の状態で、直線Lの加工開始位置に工具2は位置決めされた状態である。
N301のブロックにおける「G01」は切削送り指令であり、工具先端点Tp=(Xs,Ys,Zs)が(X-86.603, Y-50.0, Z0.0)、工具方向が(A30.0, C150.0)の目標値まで、送り速度Fが5000mm/minで切削加工する指令である。
【0040】
X,Y,Z軸について、開始時の工具先端点Tp(Xs,Ys,Zs)=(X0.0, Y100.0, Z0.0)から指令位置(Xe,Ye,Ze)=(X-86.603, Y-50.0, Z0.0)に向かって補間を行ない、補間点(Xi,Yi,Zi)を求める。すなわち、式(10)〜(14)の演算を行って補間点(Xi,Yi,Zi)を求める。補間周期Δt=1msecとすると、
K1=1msec*5000mm/min=0.083mm …(39)
D=√((-86.603−0.0)2 + (-50.0−100.0)2 + (0.0−0.0)2) = 173.205…(40)
Xi = 0.083 * (86.603 / 173.205) + Xj = 0.042 + Xj …(41)
Yi = 0.083* (150.0 / 173.205) + Yj = 0.072 + Xj …(42)
Zi = 0.0 …(43)
A軸、C軸についても現在位置(A60.0, C30.0)から指令位置(A 30.0, C150.0)に向かって補間を行ない、補間点(Ai,Ci)を求める。 この時、補間点(Ai,Ci)の位置は、工具先端点Tpの加工開始時の位置(Xs,Ys,Zs)=(X0.0, Y100.0, Z0.0)から指令終点位置(Xe,Ye,Ze) (X-86.603, Y-50.0 Z0.0)への移動と同じ比例配分とする。つまり、式(15)より、
K2 = [√((Xi−0.0)2 + (Yi−100.0)2 + (Zi−0.0)2)]/[√((-86.603−0.0)2 + (-50.0−100.0)2 + (0.0−0.0)2)] …(44)
とすると、式(16)、(17)より
Ai = K2*(30.0−60.0) …(45)
Ci = K2*(150.0−30.0) …(46)
となる。
【0041】
例えば、X,Y,Z軸の補間点(Xi,Yi,Zi)が(-43.302, 25.0, 0.0)の時、Ai=45.0, Ci=90.0,となる(図10(b)参照)。
【0042】
X,Y,Z軸の補間点(Xi,Yi,Zi)、C軸の補間位置(Ci)から実際に工具先端点Tpが移動する機械座標系ΣM上の補間位置(Xa, Ya. Za)を式(18)〜(20)を演算して求める。たとえば、図10(b)に示すように、C軸の補間位置がCi=90.0の時、X,Y,Z軸の補間点の位置は(Xi,Yi,Zi)=(-43.302, 25.0, 0.0)であり、下記に示すように、式(18)〜(20)を行うことにより、機械座標系ΣM上の工具先端点Tpの補間位置(Xa, Ya. Za)=(175.0, 243.302, 100.0)が得られる。
Xa = (-43.302)*cos(-90.0+30.0)−25.0*sin(-90.0+30.0) + 200.0 = 200.0…(47)
Ya = (-43.302)*sin(-90.0+30.0) + 25.0*cos(-90.0+30.0) + 200.0 = 250.0…(48)
Za = 0.0 + 100.0 = 100.0 …(49)
また、A軸の補間位置(Ai)から工具長補正ベクトルVを求める。
Ai=45.0の時、 式(21)〜(22)より、工具長補正ベクトルVは(0.0, 70.711, 70.711)となる。
Vx = 0.0 …(50)
Vy = 100*cos(45.0) = 70.711 …(51)
Vz = 100*sin(45.0) = 70.711 …(52)
そこで、求めた機械座標系ΣM上の工具先端点Tpの補間位置(Xa, Ya. Za)に上記工具長補正ベクトルVを加算する式(24)の演算を行って、機械座標系ΣM上の制御点Pの位置(Xc,Yc,Zc)を求める。
Xc = 200.0 + 0.0 = 200.0 …(53)
Yc = 250.0 + 70.711 = 320.711 …(54)
Zc = 100.0 + 70.711 = 170.711 …(55)
前回の補間周期におけるX,Y,Z軸の制御点Tp(Xc, Yc, Zc)と前回の制御点Tp(Xo, Yo, Zo)との差分を今回の補間周期におけるX,Y,Z軸の移動量としてX,Y,Z軸の軸制御回路30〜32へ出力する。また、同時に前回の補間周期におけるA,C軸の補間位置(Ao,Co)と今回の補間周期におけるA,C軸の補間点(Ai,Ci)=(Ac,Cc)との差分を今回の補間周期におけるA,C軸の移動量としてA軸、C軸の軸制御回路33、34へ出力する。さらに、今回の制御点Pの位置(Xc,Yc,Zc)を(Xo, Yo, Zo)とし、工具方向(Ac,Cc)を(Ao,Co)とする。
【0043】
以上のようにして、補間処理をしてX,Y,Z,A,C軸補間位置へ駆動しながら、N301のブロックで指令した位置まで移動させ、ワーク3に切削加工を行う。図10(c)はこの加工終了位置に達して加工が終了した状態を表す。
【0044】
そして、N400のブロックの「G49」は、工具先端点制御終了のコードであり、このコードが読み込まれると、制御点Pに対する最後の補間点(Xc,Yc,Zc)を式(25)〜(27)の演算を行いワーク座標系に変換し、プログラム指令(Xp,Yp,Zp)であったとみなし、以降のプログラム指令に対応する。
Xp = Xc−Xw = 200.0−200.0 = 0.0 …(56)
Yp = Yc−Yw = 386.603−200.0 = 186.603 …(57)
Zp = Zc−Zw = 150.0−100.0 = 50.0 …(58)
これによって、図10(c)に示すように直線Lの切削加工が完了する。図3〜図5で説明した従来の直線Lの切削では、前述した<従来のプログラム例>では、「N301」、「N302」の2ブロックでこの直線Lを切削加工するように記載したが、この2つのブロックでは、精度の高い直線加工ができないことから、実際はさらに多数のブロックの指令が必要となる。しかし、本発明は、上述したように<本発明のプログラムの例1>、及び、図9〜図10で示すように、「N301」の1ブロックの指令でよく、プログラムが簡単となる。
【0045】
なお、上述した例は工具方向を工具2の回転角を示すA軸の位置と、テーブルの回転を示すC軸の位置によって、工具方向を示したが、工具方向をI,J,Kのような方向ベクトルで指令し、回転軸がどのような位置に補間されるべきか数値制御装置側で自動計算することもできる。
【0046】
この場合、上記プログラムにおいて、N301では、A30.0 C150.0と指令しているが、これは、記憶されたワーク座標系上では、 X:-0.866, Y:-0.5, Z:0.577 の方向である。したがって、A30.0 C150.0の代わりにI-0.866 J-0.5 K0.577と指令し、このI,J,Kの方向から実際のA軸、C軸の移動方向はA30.0
C150.0であることを数値制御装置で計算させるようにしてもよい。
【0047】
<ワーク座標系ΣWを固定した場合>
次に、テーブルと共に回転せず、固定されたワーク座標系ΣWR上でプログラムする場合の実施例について述べる。つまり、ワーク座標系ΣWRはテーブル回転とともに回転はせず、そのテーブル回転には影響を受けないワーク座標系ΣWR上でプログラムが指令される場合の実施例について述べる。
【0048】
先に示した<本発明のプログラム例1>と同じように直線Lを加工するときのプログラム指令は次のようになる。
<本発明のプログラム例2−ワーク座標系ΣWを固定>
N100 G54 H01 C30.0 ; :ワーク座標系選択設定、工具長補正番号指定
N101 G90 G00 X0.0 Y150.0 Z86.603 A 60.0 C 30.0 ;
: 始点への位置決め
N200 G43.4 ; :工具先端点制御開始
N301 G01 X0.0 Y100.0 Z0.0 A 30.0 C 150.0 F5000;
:直線Lの切削加工指令
N400 G49 ; :工具先端点制御終了
この「プログラムの例2」が「プログラム例1」と相違する点は「N301」のブロックにおいて、「プログラム例1」では、
「G01 X- 86.603 Y- 50.0 Z0.0 A 30.0 C 150.0 F5000」
であったが、「プログラム例2」では、
「G01 X0.0 Y100.0 Z0.0 A 30.0 C 150.0 F5000」
であり、このブロックの指令のみが相違し他は同じである。
【0049】
この「プログラム例2」のブロック「N301」の指令は、固定されたワーク座標系ΣWR上の工具先端位置Tpで指令されているものであるから、この位置をテーブル1の回転と共に回転するワーク座標系上の位置に変換すれば、その後は上述したプログラム例1の処理と同一となる。
【0050】
すなわち、このブロックで指令された位置(加工終了目標位置)(Xe,Ye,Ze)を式(28)〜(30)で示した次の演算を行うことによって、テーブル1と共に回転するワーク座標系上の位置(Xe1,Ye1,Ze1)を求め、位置(Xe1,Ye1,Ze1)をテーブル1と共に回転するワーク座標系ΣWR上での指令位置とみなして、以降の処理では、(Xe1,Ye1,Ze1)を(Xe,Ye,Ze)の代わりに用いればよい。
Xe1 = (Xw + Xe−Xr)*cos(Ce-Cz)−(Yw + Ye−Yr)*sin(Ce-Cz)−(Xw−Xr)
= 0.0*cos(120.0)−100.0*sin(120.0)
= -86.603 …(59)
Ye1 = (Xw + Xe−Xr) *sin(Ce-Cz) + (Yw + Ye−Yr)*cos(Ce-Cz)−(Yw−Yr)
= 0.0*sin(120.0) + 100.0*cos(120.0)
= -50.0 …(60)
Ze1 = Ze =0.0 …(61)
以上のように、変換した位置(Xe1,Ye1,Ze1)=(-86.603, -50.0, 0.0)は、「プログラム例1」のブロック「N301」の指令「X- 86.603 Y- 50.0 Z0.0」で指令された位置と同じであり、以後の処理動作は、上述したプログラム例1で述べたものと同一となる。
【0051】
図11は、数値制御装置100のプロセッサ11が実行する工具先端点制御のフローチャートである。
【0052】
プロセッサ11は、プログラムより工具先端点制御指令の「G43.4」を読み込むとこの図11に示す処理を開始する。なお、先のプログラム例1、2に示すように、この工具先端点制御指令の「G43.4」が読み込まれる前には、ワーク座標系ΣW(Xw,Yw,Zw)、工具長補正量Hは指定され記憶されている。また、工具先端点制御による加工開始位置へすでに位置決めされているものとする。
【0053】
工具先端点制御指令の「G43.4」が読み込まれると、位置決めされている現在の制御点Pの位置(Xm,Ym,Zm)、A軸,C軸の回転角Am,Cm、及び工具長補正量Hより、式(1)〜(3)の演算を行うことにより、ワーク座標系ΣW上の加工開始時の工具先端点位置(Xs,Ys,Zs)をもとめる(ステップS1)。
【0054】
位置(Xm,Ym,Zm,Am,Cm)を1つ前の補間時の位置(Xo,Yo,Zo,Ao,Co)として記憶し、工具先端点位置(Xs,Ys,Zs)を1つ前の補間位置(Xj,Yj,Zj)として記憶する。さらに、(Am,Cm)を (As,Cs)、CmをCsとして記憶する(ステップS2)。
その後、次のブロックを読み工具先端点制御終了指令(G49)か否か判断する(ステップS3、S4)。工具先端点制御指令(G43.4)の後には、切削加工指令がプログラムされているから,これが読み込まれ,ステップS5に進み、このブロックで読込まれた指令位置(Xe,Ye,Ze)とステップS1で求めた現在の工具先端位置(Xs,Ys,Zs)及び指令速度Fより,式(10)、(11)の演算を行って、補間周期間に移動すべき長さK1、及び当該ブロックで指令された加工長Dを求める(ステップS5)。
【0055】
求められた、K1、D、指令位置(Xe,Ye,Ze)、現在の位置(Xs,Ys,Zs)、位置(Xj,Yj,Zj)を用いて、式(12)〜(14)の演算を行って、補間点位置(Xi,Yi,Zi)を求める(ステップS6)。また、式(15)の演算を行って、比例定数K2を求め(ステップS7)、求めた比例定数K2を使用して、式(16),(17)の演算を行いA,C軸の補間点Ai、Ciを求める(ステップS8)。
【0056】
求められたテーブル1の回転角Ciにより、式(18)〜(20)の演算を行い、この回転分、補間点位置(Xi,Yi,Zi)を回転させて機械座標系上の工具先端位置(Xa,Ya,Za)を求める(ステップS9)。
さらに、求めれた工具の傾きであるA軸の回転角Aiより、式(21)〜(23)の演算を行い、工具長補正ベクトルV(Vx,Vy,Vz)を求め(ステップS10)、機械座標系上の工具先端点位置(Xa,Ya,Za)に工具長補正ベクトルV(Vx,Vy,Vz)を加算して(式(24))、機械座標系上の制御点Pの位置(Xc,Yc,Zc)を求める(ステップS11)。
【0057】
(Xi,Yi,Zi)を(Xj,Yj,Zj)として格納し、また、(Ai,Ci)を(Ac,Cc)として格納し(ステップS12)、次の補間処理に備える。そして、補間によって得られた制御点Pの位置(Xc,Yc,Zc)から現在位置(Xo,Yo,Zo)を減じて、その値をX,Y,Z軸のサーボモータ50、51、52への指令として出力する。また、A,C軸の補間位置Ac、Ccから現在位置Ao、Coを減じてその値をA,C軸のサーボモータ53、54への指令として出力する(ステップS13)。
【0058】
次に、制御点Pの位置(Xc,Yc,Zc)、A,C軸の補間位置Ac、Ccを、現在位置(Xo,Yo,Zo)、現在の位置Ao、Coとして,記憶し(ステップS14)、当該ブロックの終点位置まで達したか判断し(ステップS15)、達してなければ、ステップS6に戻り、ステップS6以下の処理を行う。
【0059】
以下、ステップS6〜ステップS16の処理を繰り返し実行し、指令位置まで補間して各軸を駆動制御し、ステップS15でこのブロックでの指令位置に達したことが判別されると、この終点位置(Xe,Ye,Ze,Ae,Ce)を次のブロックの開始位置として記憶し(ステップS16)、ステップS3に戻り、ステップS3以下の処理を実行する。加工のブロックが続き、工具先端点制御終了の指令が読込まれなければ、ステップS3以下の処理を繰り返し実行し、工具先端点制御終了コードが読込まれると、ステップS4より、ステップS17に移行し、式(25)〜(27)の演算を行って、(Xp,Yp,Zp)を求め、これをプログラム指令として、この工具先端点制御処理を終了する。
【0060】
なお、上述したように、工具先端点制御のプログラムが、テーブルと共に回転しない固定されたワーク座標系ΣWRで位置が指令されている場合には、ステップS5で読み出された指令位置(Xe,Ye,Ze)を、式(28)〜(30)によってワークと共に回転する座標系ΣW上の位置(Xe1,Ye1,Ze1)に変換し、この位置(Xe1,Ye1,Ze1)を指令位置(Xe,Ye,Ze)の代わりに使用して、図11に示す処理を実行すればよい。
【0061】
また、工具補正ベクトルVを先に補正する方法を採用する場合には、ステップS1の処理が相違するのみである。この場合、X,Y,Z軸の機械座標系上の制御点Pの現在位置(Xm,Ym,Zm)、A,C軸の現在位置(Am,Cm)を読み取り、このA,C軸の現在位置(Am,Cm)と工具補正量Hより、式(4)〜(6)の演算を行って工具補正ベクトルVを求め、このベクトル分だけX,Y,Z軸を移動させる。そしてこの移動後のX,Y,Z軸の位置を読み取り、これを制御点Pの現在位置(Xm,Ym,Zm)として、式(7)〜(9)の演算を行って、ワーク座標系ΣW上の加工開始時の工具先端点位置(Xs,Ys,Zs)を求めるようにすればよい。他は、図11に示す処理と同一である。
【0062】
また、上述した実施形態では、テーブル回転用に1軸(C)、工具ヘッド回転用に1軸(A)を持った工作機械で説明したが、A,C軸以外の軸構成や、テーブル回転用に2軸を持った工作機械にも同様に適用できるものである。また、図19に示すようにテーブル回転軸Cのみで、工具ヘッド回転用軸Aを持たない工作機械にも本発明は適用できるものである。この場合、A軸についての指令値、現在値等全て「0」または固定値を入れればよいものである
さらに、本発明は、旋盤において5軸加工を実現することも可能である。例えば、図20に示すように、ワーク3をC軸で回転させ、工具2をB軸で回転するようにした旋盤においても、本発明は適用できるものである。
20に示す旋盤による5軸加工の加工機は、ワーク3をワーク把持台4上に治具によって固定し、工具2を直交する直線移動軸によりX,Y,Z軸方向に駆動すると共に、B軸によりY軸周りに回転するように構成している。この図20に示す旋盤による加工機は、上述した図1に示す5軸加工機における工具ヘッド回転用のA軸の代わりに工具2を回転させるB軸を用いるだけで、他は実質的に差異はないものであり、A軸の代わりにB軸を用いることによって、本発明を適用できるものである。
【0063】
また、工具先端点Tpは、工具2上に指定される位置であり、上述した説明では、工具先端点Tpは工具の頂点であるとして説明したが、工具先端点Tpは、図12〜図16に示すように、工具2上の各種位置を工具先端点Tpとして設定するものである。
【0064】
図12は、工具先端点Tpが工具先端にある場合を示す図であり、図13は工具先端点Tpがボールエンドミル工具の先端における半球の中心にある場合、図14は工具先端点Tpがボールエンドミル工具の先端における半球上の切削点である場合、図15は工具先端点Tpがフラットエンドミル工具の先端面の中心である場合、図16は工具先端点Tpがフラットエンドミル工具の先端面の切削点である場合を示す図である。
【0065】
【発明の効果】
本発明は、少なくともテーブル回転用に1軸を有し、さらには、テーブル回転用に1軸と工具ヘッド回転用に1軸、または、テーブル回転用に2軸持った工作機械の数値制御装置であり、これらの回転軸が回転しながら工具先端点が所期の経路を所期の速度で移動する加工を行うとき、プログラムを容易に作成でき、プログラム長が短くなり、工具長を変更した場合CAMからプログラムを作成し直す必要がなく加工サイクルタイムを短縮できるものである。
【図面の簡単な説明】
【図1】テーブル回転用に1軸と工具ヘッド回転用に1軸を有する5軸加工機の説明図である。
【図2】テーブルがX軸回りの回転軸A、Z軸回りの回転軸Cにより回転制御され5軸加工機の説明図である。
【図3】テーブルの回転用に1軸(C軸)、工具のヘッド回転用に1軸(A軸)を持った工作機械の要部説明図である。
【図4】テーブルを回転させ工具の傾き角度を変化させながらテーブル上のワークに直線を切削加工する場合の従来例の説明図である。
【図5】従来例による直線加工の動作説明図である。
【図6】テーブル回転用に1軸(C)と工具ヘッド回転用に1軸(A)持った工作機械を本発明の一実施形態の数値制御装置により制御して加工するときの原理説明図である。
【図7】同実施形態による、別な加工方法の原理説明図である。
【図8】本発明の一実施形態のブロック図である。
【図9】同実施形態による直線切削加工の説明図である。
【図10】同実施形態による直線加工の動作説明図である。
【図11】同実施形態の動作フローチャートである。
【図12】工具先端点が工具先端にある場合を示す図である。
【図13】工具先端点がボールエンドミル工具の先端における半球の中心にある場合の説明図である。
【図14】工具先端点がボールエンドミル工具の先端における半球上の切削点である場合の説明図である。
【図15】工具先端点がフラットエンドミル工具の先端面の中心である場合の説明図である。
【図16】工具先端点がフラットエンドミル工具の先端面の切削点である場合の説明図である。
【図17】工具先端点がボールエンドミル工具の先端面の切削点である場合で、方向ベクトルでシフト量を指定するときの説明図である。
【図18】工具先端点がフラットエンドミル工具の先端面の切削点である場合で、方向ベクトルでシフト量を指定するときの説明図である。
【図19】本発明が適用可能なテーブル回転軸のみで、工具ヘッド回転用の軸を持たない工作機械の例を示す図である。
【図20】 本発明が適用される旋盤による5軸加工機の説明図である。
【符号の説明】
1 テーブル
2 工具
3 ワーク
4 ワーク把持台
100 数値制御装置
P 制御点
CO 回転中心
CS C軸基準位置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a numerical control device that controls a processing machine that performs processing by rotating a workpiece.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, there is known a machine tool that has at least one linear movement axis and a table rotation movement axis, and further has one axis for tool head rotation or one axis for table rotation. For example, the table 1 as shown in FIG. 1 is driven in the X and Y axis directions orthogonal to each other, the tool 2 is driven in the Z axis direction orthogonal to the X and Y axes, and the tool is further rotated by the rotation axis A around the X axis. A 5-axis processing machine is known in which the table 1 is controlled by the rotation axis C around the Z axis and the workpiece 3 mounted and fixed on the table 1 is processed simultaneously with the rotation control of 2.
[0003]
As shown in FIG. 2, the tool 2 is driven in the orthogonal X, Y, and Z axis directions, and the table 1 is rotationally controlled by the rotation axis A around the X axis and the rotation axis C around the Z axis. Also known is a 5-axis processing machine in which a work 3 placed and fixed on 1 is processed by a tool 2.
[0004]
In order to perform an operation in which the tip of the tool 2 moves along an intended path at an intended speed while the rotation axes A and C rotate, conventionally, a minute line segment program is created by a CAM and a command is issued. There was a need to do.
[0005]
For example, in a machine tool having one axis (C axis) for rotating the table 1 as shown in FIG. 3 and one axis (A axis) for rotating the head of the tool 2, the table 1 is rotated as shown in FIG. When cutting the straight line L on the workpiece 3 on the table 1 while changing the tilt angle of the tool 2, it cannot be commanded as a single straight command block, and the following <conventional program command> As shown in the example, it is necessary to divide and command in a large number of blocks such as blocks N301 and N302. In FIG. 3, CO is the center of rotation of the C-axis, CS is the reference position of the C-axis, and the C-axis rotation position commanded by the program is controlled to be positioned at this reference position CS. Is. P is a control point of the tool 2, and this control point P is the rotation center of the tool 2.
<Conventional program command>
N200 G01 G90 XXc0 YYc0 ZZc0 A60.0 C30.0;
N301 XXc1 YYc1 ZZc1 A45.0 C90.0;
N302 XXc2 YYc2 ZZc2 A30.0 C150.0;
G01 is a cutting feed command, and G90 is an absolute command. With this program, each axis of the machine tool operates as shown in FIG. FIG. 5A shows the positioning position to the position of X axis = Xc0, Y axis = Yc0, Z axis = Zc0, A axis = 60 degrees, C axis = 30 degrees by the first block “N200”. This is the starting point of processing by the second block “N301”. FIG. 5B shows the end point of the second block “N301” and the start point of the third block “N301”. In accordance with the machining command of the second block “N301”, the cutting is performed linearly as shown by the solid line. FIG. 5C shows the end point of the third block “N301”, and the straight line L is cut according to the commands of the second and third blocks.
[0006]
However, if the machining of the straight line L is divided into about two blocks in this way, the straight line L cannot be cut with high accuracy. In fact, in order to perform machining with high accuracy, it is necessary to divide into a large number of blocks and command them. is there.
[0007]
FIG. 4 is a diagram drawn with the C-axis fixed for convenience. Actually, the C axis operates while rotating. 4 and 5 are views seen from the Z-axis + direction.
In the above description, a machine tool having one axis (C) for rotating the table and one axis (A) for rotating the tool head is described. However, other than A and C, it has two axes for rotating the table and rotating the table. The same applies to machine tools.
[0008]
[Problems to be solved by the invention]
As described above, in a machine tool having at least a table rotation axis, such as a machine tool having one axis for table rotation and one axis for tool head rotation, or two axes for table rotation, those rotation axes are In order to perform an operation of moving the tool tip at a commanded speed while rotating at a commanded speed, it is necessary to create and command a minute line segment program by the CAM. as a result,
(1). A CAM device is required.
(2). Since it becomes a command of many minute line segments, the program length becomes long. Therefore, a large capacity storage device is required.
(3). Since the program length becomes long, in the case of DNC operation (operation performed while transferring a program from an external device to a numerical controller (CNC)), it is necessary to transfer the external device to the CNC at high speed.
(4). Since there are many minute line commands, it takes time for the CNC to analyze the program, and smooth machining may not be possible.
(5). When the tool length is changed, it needs to be recreated from the program by CAM, which takes time.
There is a problem.
[0009]
Accordingly, the present invention is a numerical control device for a processing machine including a rotary shaft that drives a table or the like that holds a workpiece, solves the above-described problems, makes it easy to create a processing program, and the length of the processing program An object of the present invention is to provide a numerical control device that is short and can easily cope with a change in tool length.
[0010]
[Means for Solving the Problems]
The present invention controls a machine tool having at least one linear movement axis and at least one rotation movement axis of the table, and further controls a machine tool having a rotation movement axis for tilting the tool with respect to the table, and is fixed on the table. A numerical control device for continuously machining a workpiece with a tool, the tool direction as a movement path command of the linear movement axis, a relative movement speed command between the workpiece and the tool, and a direction of the tool with respect to the table In the coordinate system defined on the table, a movement command means for giving a movement command for the rotational movement axis to give a command, a means for defining a coordinate system on the table, and a movement path command for the linear movement axis First interpolation means for interpolating based on the relative movement speed command to obtain interpolation position information of the movement path; and Second interpolation means for obtaining interpolation position information of the rotational movement axis by interpolation based on the command and relative movement speed instruction, and correcting the interpolation position information from the first interpolation means based on the interpolation position information of the rotational movement axis A tool specified on the tool by driving the servo motor of each corresponding axis based on the corrected interpolation position information of the moving path and the interpolation position information of the rotational movement axis. It is a numerical control device that controls a tip point to move on a commanded movement path at a commanded speed.
[0011]
The means for correcting the interpolation position information from the first interpolation means is corrected in consideration of the set tool length correction amount and tool radius correction amount.
The tool direction is given as a movement command of the rotational movement position of the rotational movement axis, is given as a direction vector, or is given as a combination of a direction vector and a shift angle.
Further, the movement command means may be configured to command a movement path command for the linear movement axis on the coordinate system, assuming that the coordinate system defined on the table rotates with the table, and does not rotate with the table. In the case of a movement path command for a linear movement axis that is commanded based on a coordinate system that does not rotate with the table, the movement command means may move the movement path of the linear movement axis. There is also provided means for converting the command into a coordinate system that rotates the movement path command of the linear movement axis together with the table.
In addition, the tool tip point is set, the apex of the tool, the center of the hemisphere at the tip of the ball end mill tool, the cutting point on the hemisphere at the tip of the ball end mill tool, the center of the tip surface of the flat end mill tool, the flat end mill Although the cutting point on the tip surface of the tool is set as the tool tip point, any position of these tools and any position of other types of tools can be set as the tool tip point.
Furthermore, the present invention is also applied to a lathe, and a work gripping table that grips a work and is controlled to rotate by a C axis may be used instead of the table.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
First, regarding the principle of the present invention, as shown in FIG. 6, two rotational movements of a C axis that is a rotation axis around the Z axis for table rotation and an A axis that is a rotation axis around the X axis for tool head rotation. I will explain with a machine tool with a shaft. However, the same applies to axis configurations other than the A and C axes and machine tools having two axes for table rotation. The tool tip point Tp is a position designated on the tool, and in the following description, the tool tip point Tp will be described as the apex of the tool.
[0013]
In the tool tip point control mode, the workpiece coordinate system ΣW is stored by storing the origin position (Xw, Yw, Zw) of the workpiece coordinate system ΣW on the preset machine coordinate system ΣM. Further, the tool length correction amount H, which is the length from the rotation center (control point) P of the tool 2 to the tool tip point Tp, is stored.
[0014]
The position of the machining start point of the straight line to be machined, that is, the position (Xm, Ym, Zm) of the machine coordinate system ΣM of the control point P of the machining start point, the machine direction (A, C axis machine coordinate position (Am, Cm) )), The following formulas (1) to (3) are calculated from the tool length correction amount H to obtain the position (Xs, Ys, Zs) of the tool tip point Tp at the start of machining on the workpiece coordinate system ΣW. . For the rotation axis, the machine coordinate position (Am, Cm) is the machining start position (As, Cs). Further, the position (Xm, Ym, Zm, Am, Cm) of this machining start point is set as the position (Xo, Yo, Zo, Ao, Co) after the previous interpolation process used in the interpolation process described later, and the workpiece coordinate system ΣW The tool tip point position (Xs, Ys, Zs) at the start of the above machining is set as the position (Xj, Yj, Zj) after the previous interpolation process. Since the tool direction is a relative direction of the tool 2 with respect to the workpiece, it is represented by rotation angles Am and Cm of the A axis and the C axis representing the rotation of the tool 2 and the rotation of the table 1 (work 3).
Xs = Xm−Xw (1)
Ys = Ym−H * cos (Am) −Yw (2)
Zs = Zm−H * sin (Am) −Zw (3)
The position of the C axis at this time is stored as Cz.
Further, (Xr, Yr, Zr) is stored in a separate parameter as the rotation center position on the machine coordinate system.
[0015]
In the above-described example, the machine coordinate position (Xm, Ym, Zm) of the X, Y, and Z axes of the control point P for starting machining of the linear axis, the tool direction (machine coordinate position (Am, Cm) and the tool length correction amount H, the position (Xs, Ys, Zs) of the tool tip point Tp at the start on the workpiece coordinate system ΣW was obtained. The tool direction (machine coordinate position of the A axis and C axis ( Am, Cm)), the tool compensation vector V is obtained from the tool length compensation amount H, and the position of the control point P at the start of machining on the linear axis (X, Y, Z axis machine coordinate position (Xm, Ym, Zm)) Tool tip point control can also be started by moving the tool tip point to the position (Xs, Ys, Zs) of the tool tip point Tp on the workpiece coordinate system. Obtain the vector V shown in (6),
Vx = 0… (4)
Vy = H * cos (Am)… (5)
Vz = H * sin (Am)… (6)
The X, Y, and Z axes are moved by this vector V, and the workpiece as shown in equations (7) to (9) from the position (Xm, Ym, Zm) of the control point P on the machine coordinate system ΣM at that time. The tool tip position (Xs, Ys, Zs) at the start of machining on the workpiece coordinate system ΣW is obtained by subtracting the origin position (Xw, Yw, Zw) of the coordinate system ΣW.
Xs = Xm−Xw (7)
Ys = Ym−Yw (8)
Zs = Zm−Zw (9)
Thus, after determining the position (Xs, Ys, Zs) of the tool tip point Tp at the start of machining on the workpiece coordinate system ΣW, the subsequent program command is regarded as being commanded in the stored workpiece coordinate system ( In the program, such an instruction is given), and interpolation is performed based on the speed F commanded on the work coordinate system ΣW. That is, when the next block command is (Xe, Ye, Ze, Ae, Ce), the control point P (X, Y, Z, A, C axis to be moved at every interpolation period Δt as follows: Machine coordinate position) (Xc, Yc, Zc, Ac, Cc) is obtained.
[0016]
First, the interpolation point (Xi, Yi, Zi) on the workpiece coordinate system is interpolated based on the command speed F (first interpolation). The interpolation cycle is Δt and the previous interpolation point on the workpiece coordinate system ΣW is (Xj, Yj, Zj) ((Xs, Ys, Zs) = (Xj, Yj, Zj) as described above at the start of machining)
K1 = Δt * F (10)
(Length to be interpolated between Δt)
D = √ ((Xe−Xs)2 + (Ye−Ys)2 + (Ze−Zs)2... (11)
(Block length)
Then,
Xi = K1 * [(Xe−Xs) / D] + Xj (12)
Yi = K1 * [(Ye−Ys) / D] + Yj (13)
Zi = K1 * [(Ze−Zs) / D] + Zj (14)
For the A axis and C axis, interpolation is performed from the start position (As, Cs) to the command position (Ae, Ce) (second interpolation), and the interpolation point (Ai, Ci) is obtained. At this time, the position of the interpolation point (Ai, Ci) is the same as the movement from the tool tip point (Xs, Ys, Zs) at the start to the command end point position (Xe, Ye, Ze) on the X, Y, and Z axes. Proportional distribution.
That means
K2 = (√ ((Xi−Xs)2 + (Yi−Ys)2 + (Zi−Zs)2)] / [√ ((Xe−Xs)2 + (Ye−Ys)2 + (Ze−Zs)2)]… (15)
Then,
Ai = K2 * (Ae−As) + As… (16)
Ci = K2 * (Ce−Cs) + Cs… (17)
It becomes.
[0017]
For each interpolation process, correction is made by the amount of table rotation to convert the interpolation point (Xi, Yi, Zi) of the linear axis, and on the machine coordinate system ΣM by the following equations (18) to (20) X, Y, Z axis positions (Xa, Ya, Za) are obtained. In the equations (18) to (20), (Xr, Yr, Zr) is a rotation center position set as a separate parameter.
Xa = (Xw + Xi-Xr) * cos (-Ci + Cz)-(Yw + Yi-Yr) * sin (-Ci + Cz) + Xr ... (18)
Ya = (Xw + Xi−Xr) * sin (-Ci + Cz) + (Yw + Yi−Yr) * cos (-Ci + Cz) + Yr… (19)
Za = Zw + Zi… (20)
For each interpolation process, a tool length correction vector V (Vx, Vy, Vz) is calculated from the interpolated tool head rotation axis position (Ai) and the tool length correction amount H.
Vx = 0… (21)
Vy = H * cos (Ai)… (22)
Vz = H * sin (Ai)… (23)
For each interpolation process, the linear axis position (Xa, Ya, Za) on the machine coordinate system ΣM and the tool length correction vector V are added and corrected to obtain the position (Xc, Yc, Zc) of the control point P on the linear axis. ). Also, (Ai, Ci) is (Ac, Cc).
(Xc, Yc, Zc) = (Xa, Ya, Za) + (Vx, Vy, Vz)… (24)
As described above, the machine coordinate position (Xc, Yc, Zc, Ac, Cc) of the control point P is obtained.
[0018]
The difference between the linear axis control point position (Xc, Yc, Zc) and the linear axis control point position (Xo, Yo, Zo) in the previous interpolation processing is output to the servo as the linear axis movement amount. The difference between the interpolated rotation axis position (Ac, Cc) and the rotation axis position (Ao, Co) in the previous interpolation process is output to the servo as the movement amount of the rotation axis.
[0019]
The current control point position (Xc, Yc, Zc) is set to (Xo, Yo, Zo), and the current rotation axis interpolation position (Ac, Cc) is set to (Ao, Co) to prepare for the next interpolation.
If the next command is a tool tip control end command, the command obtained by the following equations (25) to (27) for the X, Y, and Z axes is a program command (Xp, Yp, Zp) Regardless, it corresponds to the following program command.
Xp = Xc−Xw (25)
Yp = Yc−Yw (26)
Zp = Zc−Zw (27)
As described above, accurate machining can be performed on the workpiece placed on the rotating table while interpolating with a simple NC program.
Here, for simplicity, the workpiece coordinate system ΣW is not considered for the A and C axes, but the calculation is performed with respect to the A and C axes in consideration of the workpiece coordinate system ΣW in the same manner as the X, Y, and Z axes. Is also possible.
[0020]
In the above description, the work coordinate system ΣW is stored at the time of starting the tool tip point control, a program is commanded on the stored work coordinate system ΣW, and the stored work coordinate system ΣW rotates with the table rotation. It is. In this system, since the workpiece coordinate system ΣW rotates with the table 1, if the shape to be machined is commanded as the path of the tool tip point Tp in the workpiece coordinate system ΣW, this path and the workpiece coordinate system The relationship with ΣW is fixed, but since the workpiece coordinate system ΣW rotates with the table 1, the shape machined for the workpiece 3 on the table 1 is the same as the shape commanded in the workpiece coordinate system ΣW. Become.
[0021]
However, it may be programmed on a fixed workpiece coordinate system. That is, the workpiece coordinate system ΣW does not rotate with the table rotation, and the program can be commanded on the workpiece coordinate system ΣW which is not affected by the table rotation.
[0022]
In this case, the position of the next block used in equations (10) to (15) is calculated by the following equations (28) to (30) instead of (Xe, Ye, Ze). (Xe1, Ye1, Ze1) is regarded as (Xe, Ye, Ze), and the processing after the equation (10) is performed. That is, as shown in FIG. 7, the position (Xe1, Ye, Ze) on the work coordinate system (work coordinate system rotating with the table) ΣW stored from the command position (Xe, Ye, Ze) on the non-rotated work coordinate system ΣWR Ye1, Ze1) is determined, and the position is regarded as a commanded position on the stored work coordinate system (work coordinate system rotating with the table) ΣW, and the processing from formula (10) is performed.
Xe1 = (Xw + Xe-Xr) * cos (Ce-Cz)-(Yw + Ye-Yr) * sin (Ce-Cz)-(Xw-Xr)… (28)
Ye1 = (Xw + Xe-Xr) * sin (Ce-Cz) + (Yw + Ye-Yr) * cos (Ce-Cz)-(Yw-Yr)… (29)
Ze1 = Ze (30)
Further, the tool direction may be specified by a direction vector such as I, J, K. A method of automatically calculating on the numerical controller (CNC) side what position the rotation axis should be interpolated based on the command by the direction vector may be adopted. In this case, the command for the next block is (Xe, Ye, Ze, Ae, Ce), but the command is (Xe, Ye, Ze, Ie, Je, Ke), and (Ie, Je, Ke) is A vector indicating the tool direction on the stored workpiece coordinate system is used. Then, the corresponding rotation axis position (Ae, Ce) is calculated from the direction vector (Ie, Je, Ke), and the above processing is performed using the calculated rotation axis position (Ae, Ce). Good.
[0023]
Further, the tool direction may be specified by a direction vector such as I, J, and K and a shift amount therefrom. When the tool tip point is a cutting point on the hemisphere at the tip of the ball end mill tool, the direction perpendicular to the workpiece surface is commanded by a direction vector of I, J, K as shown in FIG. 17, and the tool direction is set to I, J Therefore, it can be commanded with a shift angle Q in the tangential direction with respect to the program progression direction from the K direction. In that case, the command is (Xe, Ye, Ze, Ie, Je, Ke, Qe), (Ie, Je, Ke) is a vector indicating the vertical direction of the workpiece surface, and (Qe) is the programmed program progress The tangential shift angle with respect to the direction. Then, the corresponding rotation axis position (Ae, Ce) is calculated from (Ie, Je, Ke), (Qe) and the program progression direction, and the tool tip sphere is calculated from (Ie, Je, Ke) and the tool radius compensation amount D. Find the center. Then, the obtained tool tip sphere center may be used as the tool tip point in the above processing, and the above processing may be performed using the calculated rotational axis position (Ae, Ce).
[0024]
Here, regarding the shift angle Q, it is also possible to command the shift angle in the tangential direction with respect to the program progress direction as Q1, and the shift angle in the normal direction with respect to the program progress direction as Q2. In that case as well, the corresponding rotation axis position (Ae, Ce) is calculated, the tool tip sphere center is obtained from (Ie, Je, Ke) and the tool radius correction amount D, and the obtained tool tip sphere is obtained. The center may be the tool tip point in the above processing, and the above processing may be performed using the calculated rotation axis position (Ae, Ce).
[0025]
Further, when the tool tip point is a cutting point on the tip surface of the flat end mill tool, the tool direction is commanded by an I, J, K direction vector or a rotation axis position as shown in FIG. The distance between the point and the center of the tool tip is commanded with the tool radius compensation amount D. When the tool direction is commanded with I, J, K direction vectors, the command is (Xe, Ye, Ze, Ie, Je, Ke), and (Ie, Je, Ke) is a vector indicating the tool direction. Then, the corresponding rotation axis position (Ae, Ce) is calculated from (Ie, Je, Ke), and (Ie, Je, Ke) is calculated on the surface created by (Ie, Je, Ke) and the direction of travel of the program command. The position of the center of the tool tip surface is obtained as a point that is distanced from the tool tip by a tool radius correction amount D in the vertical direction. Then, the obtained tool tip surface center may be used as the tool tip point in the above processing, and the above processing may be performed using the calculated rotation axis position (Ae, Ce).
[0026]
FIG. 8 is a block diagram of a numerical controller (CNC) 100 according to an embodiment for carrying out tool tip point control according to the present invention. The CPU 11 is a processor that controls the numerical controller 100 as a whole. The CPU 11 reads out a system program stored in the ROM 12 via the bus 20 and controls the entire numerical control device according to the system program. The RAM 13 stores temporary calculation data, display data, and various data input by the operator via the display / MDI unit 70. The CMOS memory 14 is configured as a non-volatile memory that is backed up by a battery (not shown) and that retains the memory state even when the numerical controller 100 is turned off. In the CMOS memory 14, a machining program read via the interface 15, a machining program input via the display / MDI unit 70, and the like are stored. The ROM 12 is pre-stored with various system programs for executing processing in an edit mode and processing for automatic operation required for creating and editing a machining program.
[0027]
Various machining programs such as machining programs for executing the present invention can be input via the interface 15 or the CRT / MDI unit 70 and stored in the CMOS memory 14.
[0028]
The interface 15 enables connection between the numerical controller 100 and an external device 72 such as an adapter. A machining program, various parameters, and the like are read from the external device 72 side. Further, the machining program edited in the numerical control apparatus 100 can be stored in the external storage means via the external device 72. The PMC (programmable machine controller) 16 is a sequence program built in the numerical controller 100, and sends a signal to an auxiliary device of a machine tool (for example, an actuator such as a robot hand for tool change) via the I / O unit 17. Output and control. In addition, it receives signals from various switches on the operation panel provided on the machine tool body, performs necessary signal processing, and then passes them to the CPU 11.
[0029]
The display / MDI unit 70 is a manual data input device having a display, a keyboard, and the like. The interface 18 receives commands and data from the keyboard of the display / MDI unit 70 and passes them to the CPU 11. The interface 19 is connected to an operation panel 71 having a manual pulse generator and the like.
[0030]
The axis control circuits 30 to 34 for each axis receive the movement command amount for each axis from the CPU 11 and output the command for each axis to the servo amplifiers 40 to 44. In response to this command, the servo amplifiers 40 to 44 drive the servo motors 50 to 54 of the respective axes. The servo motors 50 to 54 for each axis have a built-in position / speed detector, and position / speed feedback signals from the position / speed detector are fed back to the axis control circuits 30 to 34 to perform position / speed feedback control. . In FIG. 8, the position / velocity feedback is omitted.
[0031]
The servo motors 50 to 54 drive the X, Y, Z, A, and C axes of the machine tool, and drive and control the 5-axis machine tool shown in FIGS. The spindle control circuit 60 receives a spindle rotation command and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives the spindle speed signal and rotates the spindle motor 62 at the commanded rotational speed. The position coder 63 feeds back a feedback pulse to the spindle control circuit 60 in synchronization with the rotation of the spindle motor 62 to perform speed control.
[0032]
The configuration of the numerical control device 100 as described above is not different from the configuration of the conventional numerical control device, and the numerical control device 100 drives and controls a 5-axis processing machine as shown in FIGS. Perform tip point control.
Therefore, an example of machining by tool tip point control by controlling a 5-axis machining machine of the type shown in FIG.
[0033]
<When work coordinate system ΣW rotates with table>
First, as shown in FIG. 6, the origin position (Xw, Yw, Zw) of the workpiece coordinate system ΣW in the machine coordinate system ΣM is set and the workpiece coordinate system ΣW is set and stored. Further, the rotational center position (Xr, Yr, Zr) of the table 1 (work 3) in the machine coordinate system ΣM is set and stored as a parameter. In the example described below, Xw = Xr and Yw = Yr are used, but they are not necessarily equal.
[0034]
Then, a machining program command in the tool tip point control mode of machining for the rotating workpiece 3 is created in the set workpiece coordinate system ΣW. The workpiece coordinate system ΣW is stored at the start of the tool tip point control. During the tool tip point control, the workpiece coordinate system ΣW rotates with the table, that is, the workpiece coordinate system ΣW is attached to the table 1. It will be.
[0035]
Therefore, as shown in FIG. 9, it is assumed that the following machining program command is issued to machine the straight line L on the rotating workpiece 3.
<Example of Program of the Present Invention 1—Work Coordinate System ΣW Rotates with Table>
N100 G54 H01 C30.0;: Work coordinate system selection, tool length compensation number designation
N101 G90 G00 X0.0 Y150.0 Z86.603 A 60.0 C 30.0; Positioning to the start point
N200 G43.4;: Tool tip point control start
N301 G01 X-86.603 Y-50.0 Z0.0 A 30.0 C 150.0 F5000; Cutting command for straight line L
N400 G49;: Tool tip point control end
In block N100, the numerical controller 100 stores and sets the workpiece coordinate system (G54 workpiece coordinate system origin position: Xw, Yw, Zw) at that time, and stores the tool length compensation amount H corresponding to the tool compensation number 01. To do. Here, the tool length correction amount H is 100.0, and the workpiece coordinate system ΣW and the rotation center position (Xw, Yw, Zw) = (Xr, Yr, Zr) = (200.0, 200.0, 100.0).
[0036]
In block N101, “G90” is an absolute command code, “G00” is a positioning command code, and the position of the control point P on the workpiece coordinate system ΣW is “X0.0 Y150.0 Z86.603 A 60.0. C 30.0 ".
[0037]
The command on the workpiece coordinate system ΣW is converted to the machine coordinate system ΣM, and the machine coordinate position (Xm, Ym, Zm, Am, Cm) is as follows.
Xm = 0.0 + 200.0 = 200.0… (31)
Ym = 150.0 + 200.0 = 350.0… (32)
Zm = 86.603 + 100.0 = 186.603… (33)
Am = 60.0… (34)
Cm = 30.0… (35)
Then, each axis of the machine tool is moved to the above position by the command of the block of N101. This state is shown in FIG.
[0038]
The command “G43.4” in the block N200 is a tool tip point control start command, and thereafter, the movement locus of the tool tip point Tp is commanded as a program until the end of the tool tip point control. The tool tip point Tp = (Xs, Ys, Zs) at the start is obtained from the current control point P, the tool direction (Am, Cm), and the tool length correction amount H by the command of “G43.4” of N200. If the current control point P (machine position) is (Xm, Ym, Zm) = (200.0, 350.0, 186.603), the tool direction is (A60.0, C30.0), and the tool length compensation amount H is 100.0, then From the formulas (1) to (3), the tool tip position Tp = (Xs, Ys, Zs) is (X0.0,
Y100.0, Z0.0).
Xs = Xm−Xw = 200.0−200.0 = 0.0 (36)
Ys = Ym−H * cos (Am) −Yw = 350.0−100.0 * cos (60.0) −200.0 = 100.0… (37)
Zs = Zm−H * sin (Am) −Zw = 186.603−100.0 * sin (60.0) −100.0 = 0.0… (38)
The above value is also set to (Xj, Yj, Zj), and the machine coordinate position (Xm, Ym, Zm, Am, Cm) of the control point P is set to (Xo, Yo, Zo, Ao, Co). Also, the C axis position 30.0 is Cz.
[0039]
The state at this time is the state of FIG. 10A, and the tool 2 is positioned at the machining start position of the straight line L.
“G01” in the block of N301 is a cutting feed command, the tool tip point Tp = (Xs, Ys, Zs) is (X-86.603, Y-50.0, Z0.0), and the tool direction is (A30.0, C150). .0) is a command for cutting at a feed rate F of 5000 mm / min up to the target value.
[0040]
For the X, Y, and Z axes, from the tool tip point Tp (Xs, Ys, Zs) at the start to (X0.0, Y100.0, Z0.0), the command position (Xe, Ye, Ze) = (X- 86.603, Y-50.0, Z0.0) is interpolated to obtain the interpolation point (Xi, Yi, Zi). That is, the interpolation points (Xi, Yi, Zi) are obtained by performing calculations of equations (10) to (14). If the interpolation cycle Δt = 1msec,
K1 = 1msec * 5000mm / min = 0.083mm… (39)
D = √ ((-86.603−0.0)2 + (-50.0−100.0)2 + (0.0−0.0)2) = 173.205… (40)
Xi = 0.083 * (86.603 / 173.205) + Xj = 0.042 + Xj… (41)
Yi = 0.083 * (150.0 / 173.205) + Yj = 0.072 + Xj… (42)
Zi = 0.0… (43)
For the A axis and C axis, interpolation is performed from the current position (A60.0, C30.0) to the command position (A 30.0, C150.0) to obtain the interpolation point (Ai, Ci). At this time, the position of the interpolation point (Ai, Ci) is changed from the position (Xs, Ys, Zs) at the start of machining of the tool tip point Tp to the command end point position (X0.0, Y100.0, Z0.0). Xe, Ye, Ze) (X-86.603, Y-50.0 Z0.0) and the same proportional distribution. That is, from equation (15),
K2 = (√ ((Xi−0.0)2 + (Yi−100.0)2 + (Zi−0.0)2)] / [√ ((-86.603−0.0)2 + (-50.0−100.0)2 + (0.0−0.0)2)]… (44)
Then, from equations (16) and (17)
Ai = K2 * (30.0−60.0)… (45)
Ci = K2 * (150.0−30.0)… (46)
It becomes.
[0041]
For example, when the interpolation points (Xi, Yi, Zi) of the X, Y, and Z axes are (−43.302, 25.0, 0.0), Ai = 45.0, Ci = 90.0 (see FIG. 10B).
[0042]
Interpolation position (Xa, Ya. Za) on the machine coordinate system ΣM where the tool tip point Tp actually moves from the interpolation point (Xi, Yi, Zi) of the X, Y, Z axis and the interpolation position (Ci) of the C axis Is calculated by calculating the equations (18) to (20). For example, as shown in FIG. 10B, when the interpolation position of the C axis is Ci = 90.0, the position of the interpolation point of the X, Y, Z axis is (Xi, Yi, Zi) = (− 43.302, 25.0, 0.0), and by performing the equations (18) to (20) as shown below, the interpolation position (Xa, Ya. Za) of the tool tip point Tp on the machine coordinate system ΣM = (175.0, 243.302, 100.0) is obtained.
Xa = (-43.302) * cos (-90.0 + 30.0) -25.0 * sin (-90.0 + 30.0) + 200.0 = 200.0 ... (47)
Ya = (-43.302) * sin (-90.0 + 30.0) + 25.0 * cos (-90.0 + 30.0) + 200.0 = 250.0… (48)
Za = 0.0 + 100.0 = 100.0… (49)
Further, a tool length correction vector V is obtained from the interpolation position (Ai) of the A axis.
When Ai = 45.0, the tool length correction vector V is (0.0, 70.711, 70.711) from the equations (21) to (22).
Vx = 0.0… (50)
Vy = 100 * cos (45.0) = 70.711… (51)
Vz = 100 * sin (45.0) = 70.711… (52)
Therefore, the calculation of Expression (24) is performed to add the tool length correction vector V to the interpolation position (Xa, Ya. Za) of the tool tip point Tp on the obtained machine coordinate system ΣM, and the machine coordinate system ΣM is obtained. The position (Xc, Yc, Zc) of the control point P is obtained.
Xc = 200.0 + 0.0 = 200.0 (53)
Yc = 250.0 + 70.711 = 320.711… (54)
Zc = 100.0 + 70.711 = 170.711… (55)
The difference between the control point Tp (Xc, Yc, Zc) of the X, Y, Z axis in the previous interpolation cycle and the previous control point Tp (Xo, Yo, Zo) is calculated as the X, Y, Z axis in the current interpolation cycle. Is output to the axis control circuits 30 to 32 for the X, Y, and Z axes. At the same time, the difference between the interpolation position (Ao, Co) of the A and C axes in the previous interpolation cycle and the interpolation point (Ai, Ci) = (Ac, Cc) of the A and C axes in the current interpolation cycle is The movement amounts of the A and C axes in the interpolation cycle are output to the A axis and C axis control circuits 33 and 34. Further, the current position (Xc, Yc, Zc) of the control point P is (Xo, Yo, Zo), and the tool direction (Ac, Cc) is (Ao, Co).
[0043]
As described above, the workpiece 3 is moved to the position commanded by the block N301 while being driven to the X, Y, Z, A, and C axis interpolation positions by performing the interpolation process, and the workpiece 3 is cut. FIG. 10C shows a state in which the processing has been completed after reaching the processing end position.
[0044]
“G49” in the block of N400 is a code for the end of tool tip point control. When this code is read, the last interpolation point (Xc, Yc, Zc) for the control point P is expressed by the equations (25)-( 27) is converted into a work coordinate system, and is regarded as a program command (Xp, Yp, Zp), and corresponds to the subsequent program command.
Xp = Xc−Xw = 200.0−200.0 = 0.0… (56)
Yp = Yc−Yw = 386.603−200.0 = 186.603… (57)
Zp = Zc−Zw = 150.0−100.0 = 50.0… (58)
Thereby, the cutting of the straight line L is completed as shown in FIG. In the conventional cutting of the straight line L described with reference to FIGS. 3 to 5, in the above-described <conventional program example>, it has been described that the straight line L is cut in two blocks “N301” and “N302”. Since these two blocks cannot perform high-precision straight line processing, more blocks are actually required. However, as described above, the present invention may be an instruction of one block “N301” as shown in <Example 1 of the program of the present invention> and FIGS.
[0045]
In the above-described example, the tool direction is indicated by the position of the A axis indicating the rotation angle of the tool 2 and the position of the C axis indicating the rotation of the table. However, the tool direction is expressed as I, J, K. It is also possible to specify a specific direction vector and automatically calculate at which position the rotation axis should be interpolated on the numerical controller side.
[0046]
In this case, in the above program, N301 commands A30.0 C150.0, which is the direction of X: -0.866, Y: -0.5, Z: 0.577 on the stored work coordinate system. It is. Therefore, I-0.866 J-0.5 K0.577 is commanded instead of A30.0 C150.0, and the actual movement direction of the A-axis and C-axis from this I, J, K direction is A30.0.
It may be calculated by the numerical control device that it is C150.0.
[0047]
<When workpiece coordinate system ΣW is fixed>
Next, an embodiment in which programming is performed on a fixed work coordinate system ΣWR without rotating with the table will be described. That is, an embodiment will be described in which the workpiece coordinate system ΣWR does not rotate with the table rotation, and the program is commanded on the workpiece coordinate system ΣWR which is not affected by the table rotation.
[0048]
The program command for machining the straight line L is as follows, as in <Program example 1 of the present invention> described above.
<Program Example 2 of the Present Invention-Fixing Work Coordinate System ΣW>
N100 G54 H01 C30.0;: Work coordinate system selection setting, tool length compensation number designation
N101 G90 G00 X0.0 Y150.0 Z86.603 A 60.0 C 30.0;
: Positioning to the start point
N200 G43.4;: Tool tip point control start
N301 G01 X0.0 Y100.0 Z0.0 A 30.0 C 150.0 F5000;
: Straight line L cutting command
N400 G49;: Tool tip point control end
This “program example 2” is different from “program example 1” in the “N301” block.
"G01 X-86.603 Y-50.0 Z0.0 A 30.0 C 150.0 F5000"
However, in “Program Example 2”,
“G01 X0.0 Y100.0 Z0.0 A 30.0 C 150.0 F5000”
Only the command of this block is different and the others are the same.
[0049]
Since the command of the block “N301” in this “program example 2” is commanded at the tool tip position Tp on the fixed work coordinate system ΣWR, the work coordinates that rotate this position with the rotation of the table 1 If converted to a position on the system, the processing thereafter is the same as the processing in the first program example.
[0050]
That is, the workpiece coordinate system that rotates together with the table 1 by performing the following calculation represented by the equations (28) to (30) with respect to the position commanded in this block (the processing end target position) (Xe, Ye, Ze). The upper position (Xe1, Ye1, Ze1) is obtained, and the position (Xe1, Ye1, Ze1) is regarded as a command position on the workpiece coordinate system ΣWR that rotates with the table 1, and in the subsequent processing, (Xe1, Ye1, Ze1) may be used instead of (Xe, Ye, Ze).
Xe1 = (Xw + Xe-Xr) * cos (Ce-Cz)-(Yw + Ye-Yr) * sin (Ce-Cz)-(Xw-Xr)
= 0.0 * cos (120.0) −100.0 * sin (120.0)
= -86.603… (59)
Ye1 = (Xw + Xe−Xr) * sin (Ce-Cz) + (Yw + Ye−Yr) * cos (Ce-Cz) − (Yw−Yr)
= 0.0 * sin (120.0) + 100.0 * cos (120.0)
= -50.0… (60)
Ze1 = Ze = 0.0… (61)
As described above, the converted position (Xe1, Ye1, Ze1) = (− 86.603, -50.0, 0.0) is the command “X-86.603 Y-50.0 Z0.0” of the block “N301” of “Program Example 1”. The subsequent processing operations are the same as those described in the first program example.
[0051]
FIG. 11 is a flowchart of tool tip point control executed by the processor 11 of the numerical controller 100.
[0052]
When the processor 11 reads “G43.4” of the tool tip point control command from the program, the processor 11 starts the processing shown in FIG. As shown in the previous program examples 1 and 2, before the tool tip point control command “G43.4” is read, the workpiece coordinate system ΣW (Xw, Yw, Zw), tool length correction amount H Is specified and stored. Further, it is assumed that the tool has already been positioned at the machining start position by the tool tip point control.
[0053]
When the tool tip point control command “G43.4” is read, the position (Xm, Ym, Zm) of the current control point P being positioned, the rotation angles Am, Cm of the A axis and C axis, and the tool length By calculating the equations (1) to (3) from the correction amount H, the tool tip point position (Xs, Ys, Zs) at the start of machining on the workpiece coordinate system ΣW is obtained (step S1).
[0054]
The position (Xm, Ym, Zm, Am, Cm) is stored as the position (Xo, Yo, Zo, Ao, Co) at the time of the previous interpolation, and one tool tip position (Xs, Ys, Zs) is stored. Stored as the previous interpolation position (Xj, Yj, Zj). Further, (Am, Cm) is stored as (As, Cs), and Cm is stored as Cs (step S2).
Thereafter, the next block is read to determine whether or not the tool tip point control end command (G49) is reached (steps S3 and S4). Since the cutting command is programmed after the tool tip point control command (G43.4), this command is read, and the process proceeds to step S5, where the command position (Xe, Ye, Ze) and step read in this block are read. Based on the current tool tip position (Xs, Ys, Zs) obtained in S1 and the command speed F, the expressions (10) and (11) are calculated, the length K1 to be moved during the interpolation cycle, and the block The machining length D commanded in step S5 is obtained (step S5).
[0055]
Using the obtained K1, D, command position (Xe, Ye, Ze), current position (Xs, Ys, Zs), position (Xj, Yj, Zj), equations (12) to (14) The calculation is performed to obtain the interpolation point position (Xi, Yi, Zi) (step S6). Further, the proportional constant K2 is obtained by performing the calculation of the expression (15) (step S7), and the calculations of the expressions (16) and (17) are performed by using the obtained proportional constant K2, and the interpolation of the A and C axes is performed. Points Ai and Ci are obtained (step S8).
[0056]
Based on the calculated rotation angle Ci of the table 1, the calculation of the equations (18) to (20) is performed, and the interpolation point position (Xi, Yi, Zi) is rotated by this rotation amount, and the tool tip position on the machine coordinate system (Xa, Ya, Za) is obtained (step S9).
Further, from the rotation angle Ai of the A axis that is the obtained tool inclination, the calculations of equations (21) to (23) are performed to obtain the tool length correction vector V (Vx, Vy, Vz) (step S10). The tool length correction vector V (Vx, Vy, Vz) is added to the tool tip point position (Xa, Ya, Za) on the coordinate system (formula (24)), and the position of the control point P on the machine coordinate system ( Xc, Yc, Zc) is obtained (step S11).
[0057]
(Xi, Yi, Zi) is stored as (Xj, Yj, Zj), and (Ai, Ci) is stored as (Ac, Cc) (step S12) to prepare for the next interpolation process. Then, the current position (Xo, Yo, Zo) is subtracted from the position (Xc, Yc, Zc) of the control point P obtained by interpolation, and the value is obtained as the X, Y, Z axis servo motors 50, 51, 52. Is output as a command to. Further, the current positions Ao and Co are subtracted from the interpolation positions Ac and Cc of the A and C axes, and the values are output as commands to the servo motors 53 and 54 of the A and C axes (step S13).
[0058]
Next, the position (Xc, Yc, Zc) of the control point P and the interpolation positions Ac, Cc of the A and C axes are stored as the current position (Xo, Yo, Zo) and the current positions Ao, Co (step) In step S14, it is determined whether the end point position of the block has been reached (step S15). If not reached, the process returns to step S6, and the processes in and after step S6 are performed.
[0059]
Thereafter, the processing of step S6 to step S16 is repeatedly executed, and each axis is driven and controlled by interpolation to the command position. When it is determined in step S15 that the command position in this block has been reached, this end point position ( Xe, Ye, Ze, Ae, Ce) is stored as the start position of the next block (step S16), the process returns to step S3, and the processes after step S3 are executed. If the machining block continues and the tool tip point control end command is not read, the processing from step S3 is repeatedly executed. When the tool tip point control end code is read, the process proceeds from step S4 to step S17. (Xp, Yp, Zp) is obtained by calculating the equations (25) to (27), and this is used as a program command to end the tool tip point control process.
[0060]
As described above, when the position of the tool tip point control program is commanded in the fixed workpiece coordinate system ΣWR that does not rotate with the table, the command position (Xe, Ye read out in step S5). , Ze) is converted into a position (Xe1, Ye1, Ze1) on the coordinate system ΣW that rotates with the workpiece by the equations (28) to (30), and this position (Xe1, Ye1, Ze1) is converted into the command position (Xe, The processing shown in FIG. 11 may be executed instead of Ye, Ze).
[0061]
Further, when the method of correcting the tool correction vector V first is adopted, only the process of step S1 is different. In this case, the current position (Xm, Ym, Zm) of the control point P on the machine coordinate system of the X, Y, Z axes, the current position (Am, Cm) of the A, C axes are read, and the A, C axes are read. From the current position (Am, Cm) and the tool correction amount H, the calculation of equations (4) to (6) is performed to obtain the tool correction vector V, and the X, Y, and Z axes are moved by this vector. Then, the positions of the X, Y, and Z axes after the movement are read, and this is used as the current position (Xm, Ym, Zm) of the control point P, and the calculations of the equations (7) to (9) are performed. The tool tip point position (Xs, Ys, Zs) at the start of machining on ΣW may be obtained. The other processes are the same as those shown in FIG.
[0062]
  In the above-described embodiment, a machine tool having one axis (C) for rotating the table and one axis (A) for rotating the tool head has been described. It can be similarly applied to a machine tool having two axes. Further, as shown in FIG. 19, the present invention can be applied to a machine tool that has only the table rotation axis C and does not have the tool head rotation axis A. In this case, all the command values, current values, etc. for the A-axis should be “0” or a fixed value..
  Furthermore, the present invention can realize 5-axis machining on a lathe. For example, the figure20As shown, the present invention can also be applied to a lathe in which the workpiece 3 is rotated about the C axis and the tool 2 is rotated about the B axis.
  Figure20The 5-axis machining machine with a lathe shown in FIG. 1 fixes the workpiece 3 on the workpiece gripping base 4 with a jig, drives the tool 2 in the X, Y, and Z-axis directions by orthogonal linear movement axes, and uses the B-axis. Is configured to rotate around the Y axis. This figure20The lathe machine shown in Fig. 1 uses only the B axis for rotating the tool 2 in place of the A axis for rotating the tool head in the 5-axis machine shown in Fig. 1 described above. The present invention can be applied by using the B axis instead of the A axis.
[0063]
The tool tip point Tp is a position designated on the tool 2, and in the above description, the tool tip point Tp has been described as the apex of the tool. However, the tool tip point Tp is shown in FIGS. As shown in FIG. 4, various positions on the tool 2 are set as the tool tip point Tp.
[0064]
12 is a diagram showing a case where the tool tip point Tp is at the tool tip, FIG. 13 is a diagram where the tool tip point Tp is at the center of the hemisphere at the tip of the ball end mill tool, and FIG. 15 is a cutting point on the hemisphere at the tip of the end mill tool, FIG. 15 is a case where the tool tip point Tp is the center of the tip surface of the flat end mill tool, and FIG. It is a figure which shows the case where it is a point.
[0065]
【The invention's effect】
The present invention is a numerical control device for a machine tool having at least one axis for table rotation, and further having one axis for table rotation and one axis for tool head rotation, or two axes for table rotation. Yes, when performing machining in which the tool tip moves along the desired path at the desired speed while these rotary axes rotate, the program length can be shortened and the tool length is changed. There is no need to recreate a program from the CAM, and the machining cycle time can be shortened.
[Brief description of the drawings]
BRIEF DESCRIPTION OF DRAWINGS FIG. 1 is an explanatory diagram of a 5-axis machine having one axis for rotating a table and one axis for rotating a tool head.
FIG. 2 is an explanatory diagram of a 5-axis processing machine in which a table is rotationally controlled by a rotation axis A around an X axis and a rotation axis C around a Z axis.
FIG. 3 is an explanatory diagram of a main part of a machine tool having one axis (C axis) for rotating the table and one axis (A axis) for rotating the head of the tool.
FIG. 4 is an explanatory diagram of a conventional example in the case of cutting a straight line on a workpiece on a table while rotating the table and changing the tilt angle of the tool.
FIG. 5 is an operation explanatory diagram of straight line processing according to a conventional example.
FIG. 6 is a diagram illustrating the principle when a machine tool having one axis (C) for rotating the table and one axis (A) for rotating the tool head is controlled by the numerical control device according to the embodiment of the present invention. It is.
FIG. 7 is a principle explanatory diagram of another processing method according to the embodiment;
FIG. 8 is a block diagram of one embodiment of the present invention.
FIG. 9 is an explanatory diagram of linear cutting according to the embodiment.
FIG. 10 is an operation explanatory view of straight line machining according to the same embodiment.
FIG. 11 is an operation flowchart of the embodiment.
FIG. 12 is a diagram showing a case where the tool tip is at the tool tip.
FIG. 13 is an explanatory diagram when the tool tip point is at the center of a hemisphere at the tip of the ball end mill tool.
FIG. 14 is an explanatory diagram when the tool tip point is a cutting point on a hemisphere at the tip of the ball end mill tool.
FIG. 15 is an explanatory diagram when the tool tip point is the center of the tip surface of the flat end mill tool.
FIG. 16 is an explanatory diagram when the tool tip point is a cutting point on the tip surface of the flat end mill tool.
FIG. 17 is an explanatory diagram when the shift amount is specified by a direction vector when the tool tip point is a cutting point on the tip surface of the ball end mill tool.
FIG. 18 is an explanatory diagram when the shift amount is specified by a direction vector when the tool tip point is a cutting point on the tip surface of the flat end mill tool.
FIG. 19 is a diagram showing an example of a machine tool that has only a table rotation axis to which the present invention is applicable and does not have a tool head rotation axis.
FIG. 20 shows the present invention.It is explanatory drawing of the 5-axis processing machine by the applied lathe.
[Explanation of symbols]
1 table
2 tools
3 Work
4 Work gripper
100 Numerical controller
P control point
CO rotation center
CS C axis reference position

Claims (12)

複数個の直線移動軸及びテーブルの回転移動軸を少なくとも1軸有する工作機械を制御して、テーブル上に固定されたワークを工具により連続的に加工するための数値制御装置において、
前記直線移動軸の移動経路指令、前記ワークと前記工具との相対移動速度指令および前記テーブルに対する前記工具の方向として工具方向を与えるための前記回転移動軸の移動指令を与える移動指令手段と、
前記テーブル上に座標系を定義する手段と、
前記直線移動軸の前記移動経路指令を前記テーブル上に定義された座標系において前記相対移動速度指令に基づいて補間して前記移動径路の補間位置情報を得る第1補間手段と、
前記回転移動軸の移動指令を前記移動径路指令及び相対移動速度指令に基づいて補間して回転移動軸の補間位置情報を得る第2補間手段と、
該回転移動軸の補間位置情報に基づいて前記第1補間手段からの補間位置情報を補正する手段と、
を備え、前記移動径路の補正された補間位置情報と、前記回転移動軸の補間位置情報に基づいて対応する各軸のサーボモータを駆動することにより、前記工具上に指定される工具先端点が指令された移動経路上を指令された速度で移動するようにしたことを特徴とする数値制御装置。
In a numerical controller for controlling a machine tool having at least one linear movement axis and at least one rotary movement axis of a table, and continuously machining a workpiece fixed on the table with a tool,
A movement command means for providing a movement path command for the linear movement axis, a relative movement speed command for the workpiece and the tool, and a movement command for the rotary movement axis for giving a tool direction as a direction of the tool with respect to the table;
Means for defining a coordinate system on the table;
First interpolation means for interpolating the movement path command of the linear movement axis based on the relative movement speed command in a coordinate system defined on the table to obtain interpolation position information of the movement path;
Second interpolation means for interpolating the movement command of the rotational movement axis based on the movement path command and the relative movement speed command to obtain interpolation position information of the rotational movement axis;
Means for correcting the interpolation position information from the first interpolation means based on the interpolation position information of the rotational movement axis;
A tool tip point designated on the tool is driven by driving a servo motor of each axis corresponding to the corrected interpolation position information of the moving path and the interpolation position information of the rotational movement axis. A numerical control device characterized by moving on a commanded movement route at a commanded speed.
前記工作機械は、前記テーブルの回転移動軸に加えて、前記工具を前記テーブルに対して相対的に傾ける回転移動軸をも備える請求項1記載の数値制御装置。The numerical control device according to claim 1, wherein the machine tool further includes a rotational movement axis that inclines the tool relative to the table in addition to the rotational movement axis of the table . 前記工作機械は、前記テーブルの回転移動軸に加えて、前記テーブルを前記工具に対して相対的に傾ける回転移動軸をも備える請求項1記載の数値制御装置。The numerical control device according to claim 1, wherein the machine tool is provided with a rotational movement axis that inclines the table relative to the tool in addition to the rotational movement axis of the table. 前記第1補間手段からの補間位置情報を補正する手段は、設定された工具長補正量、工具径補正量、またはその両方を加味して補正する請求項1乃至3の内いずれか1項記載の数値制御装置。The means for correcting the interpolation position information from the first interpolation means corrects by taking into account the set tool length correction amount, tool radius correction amount, or both. Numerical control unit. 前記工具方向は、回転移動軸の回転移動位置の移動指令として与えられる請求項1乃至4の内いずれか1項記載の数値制御装置。The numerical control device according to claim 1, wherein the tool direction is given as a movement command for a rotational movement position of a rotational movement shaft. 前記工具方向は,方向ベクトルとして与えられる請求項1乃至4の内いずれか1項記載の数値制御装置。The numerical control device according to claim 1, wherein the tool direction is given as a direction vector. 前記移動指令手段は、前記直線移動軸の移動経路指令を前記テーブル上に定義された座標系がテーブルと共に回転するものとして該座標系上に基づいて指令している請求項1乃至6の内いずれか1項記載の数値制御装置。The movement command means commands the movement path command of the linear movement axis based on the coordinate system on the assumption that the coordinate system defined on the table rotates together with the table. The numerical control device according to claim 1. 前記移動指令手段は、前記直線移動軸の移動経路指令をテーブルと共には回転しない座標系に基づいて指令された前記直線移動軸の移動経路指令をテーブルと共に回転する座標系に変換して前記直線移動軸の移動経路指令とする請求項1乃至6の内いずれか1項記載の数値制御装置。The movement command means converts the movement path command of the linear movement axis, which is commanded based on a coordinate system that does not rotate with the table, into a coordinate system that rotates with the table, and converts the linear movement axis command. The numerical control apparatus according to claim 1, wherein a shaft movement path command is used. 工具先端点は工具の頂点である請求項1乃至8の内いずれか1項記載の数値制御装置。The numerical control apparatus according to claim 1, wherein the tool tip point is a vertex of the tool. 工具先端点はボールエンドミル工具の先端における半球の中心、または、ボールエンドミル工具の先端における半球上の切削点である請求項1乃至8の内いずれか1項記載の数値制御装置。The numerical control device according to any one of claims 1 to 8, wherein the tool tip point is a center of a hemisphere at a tip of a ball end mill tool or a cutting point on a hemisphere at a tip of a ball end mill tool. 工具先端点はフラットエンドミル工具の先端面の中心、または、フラットエンドミル工具の先端面の切削点である請求項1乃至8の内いずれか1項記載の数値制御装置。The numerical control device according to any one of claims 1 to 8, wherein the tool tip point is a center of a tip surface of the flat end mill tool or a cutting point of a tip surface of the flat end mill tool. 複数個の直線移動軸及び回転軸を少なくとも1軸有する工作機械を制御して、回転軸によって回転するワーク把持台上に固定されたワークを工具により連続的に加工するための数値制御装置において、
前記直線移動軸の移動経路指令、前記ワークと前記工具との相対移動速度指令および前記回転軸によって回転するワーク把持台に対する前記工具の方向として工具方向を与えるための前記回転軸の移動指令を与える移動指令手段と、
前記回転軸によって回転するワーク把持台上に座標系を定義する手段と、
前記直線移動軸の前記移動経路指令を前記回転軸によって回転するワーク把持台上に定義された座標系において前記相対移動速度指令に基づいて補間して前記移動径路の補間位置情報を得る第1補間手段と、
前記回転軸の移動指令を前記移動径路指令及び相対移動速度指令に基づいて補間して回転軸の補間位置情報を得る第2補間手段と、
該回転軸の補間位置情報に基づいて前記第1補間手段からの補間位置情報を補正する手段と、
を備え、前記移動径路の補正された補間位置情報と、前記回転軸の補間位置情報に基づいて対応する各軸のモータを駆動することにより、前記工具上に指定される工具先端点が指令された移動経路上を指令された速度で移動するようにしたことを特徴とする数値制御装置。
In a numerical control device for controlling a machine tool having at least one linear movement axis and at least one rotation axis, and continuously machining a workpiece fixed on a workpiece gripping table rotated by the rotation axis with a tool,
A movement path command for the linear movement axis, a relative movement speed command for the workpiece and the tool, and a movement command for the rotation shaft for giving a tool direction as a direction of the tool with respect to a work gripper rotated by the rotation shaft Movement command means;
Means for defining a coordinate system on a work gripper that is rotated by the rotation axis;
First interpolation for obtaining interpolation position information of the movement path by interpolating the movement path command of the linear movement axis on the basis of the relative movement speed command in a coordinate system defined on a workpiece gripping table rotated by the rotation axis Means,
Second interpolation means for interpolating the movement command of the rotation axis based on the movement path command and the relative movement speed command to obtain interpolation position information of the rotation axis;
Means for correcting the interpolation position information from the first interpolation means based on the interpolation position information of the rotation axis;
A tool tip point designated on the tool is commanded by driving the motor of each corresponding axis based on the corrected interpolation position information of the moving path and the interpolation position information of the rotating shaft. A numerical control device characterized in that it moves at a commanded speed on a moving route.
JP2002266487A 2001-10-16 2002-09-12 Numerical controller Expired - Fee Related JP3643098B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002266487A JP3643098B2 (en) 2001-10-16 2002-09-12 Numerical controller

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-318147 2001-10-16
JP2001318147 2001-10-16
JP2002266487A JP3643098B2 (en) 2001-10-16 2002-09-12 Numerical controller

Publications (2)

Publication Number Publication Date
JP2003195917A JP2003195917A (en) 2003-07-11
JP3643098B2 true JP3643098B2 (en) 2005-04-27

Family

ID=27615478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002266487A Expired - Fee Related JP3643098B2 (en) 2001-10-16 2002-09-12 Numerical controller

Country Status (1)

Country Link
JP (1) JP3643098B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076640A (en) * 2011-01-20 2011-04-14 Mitsubishi Electric Corp Method for controlling numerical value

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4549051B2 (en) * 2003-10-31 2010-09-22 ホーコス株式会社 Machine tool axis control device, machine tool axis control program
DE102006022831A1 (en) * 2006-05-16 2007-11-22 Siemens Ag Method of controlling a grinding machine and numerically controlled grinding machine
JP5020579B2 (en) * 2006-09-20 2012-09-05 三菱電機株式会社 Numerical controller
JP5009010B2 (en) * 2007-03-13 2012-08-22 新日本工機株式会社 Numerical controller
JP4673346B2 (en) * 2007-07-02 2011-04-20 三菱電機株式会社 Numerical controller
JP5280665B2 (en) 2007-10-26 2013-09-04 オークマ株式会社 Numerical control device with manual shift operation function
JP4351281B2 (en) 2007-12-13 2009-10-28 ファナック株式会社 Numerical control device for controlling a 5-axis machine
JP4406034B2 (en) 2008-03-07 2010-01-27 ファナック株式会社 Numerical control device for controlling a 5-axis machine
JP4503659B2 (en) 2008-06-11 2010-07-14 ファナック株式会社 Numerical controller for coordinate transformation tool phase control
US8478438B2 (en) 2008-09-16 2013-07-02 Shin Nippon Koki Co., Ltd. Numerical control device
JP4607993B2 (en) * 2008-10-27 2011-01-05 ファナック株式会社 Numerical control method of 5-axis machine
JP5161124B2 (en) * 2009-01-21 2013-03-13 ファナック株式会社 Numerical control unit for 5-axis machine
DE112009004583B4 (en) 2009-02-17 2018-06-14 Mitsubishi Electric Corporation Numerical control device, method for controlling the same and system program therefor
JP5493445B2 (en) * 2009-04-17 2014-05-14 株式会社ジェイテクト Machine tool display
JP5199209B2 (en) * 2009-09-28 2013-05-15 ファナック株式会社 Numerical control device for table turning 5-axis machine
JP4847613B2 (en) 2010-05-10 2011-12-28 ファナック株式会社 Numerical controller for multi-axis machines
JP5014471B2 (en) * 2010-06-30 2012-08-29 ファナック株式会社 Numerical controller for multi-axis machines
JP4938119B2 (en) 2010-08-20 2012-05-23 ファナック株式会社 Numerical control device for multi-axis machines that controls tool tip position
JP4975872B1 (en) 2011-02-25 2012-07-11 ファナック株式会社 Numerical control device with speed control function for multi-axis machines
DE112011105698T5 (en) 2011-10-27 2014-07-17 Mitsubishi Electric Corporation Numerical control device
JP5872869B2 (en) * 2011-12-05 2016-03-01 ファナック株式会社 Numerical control device that performs machining by cutting point command on the back of the tool
JP5321712B2 (en) * 2012-05-18 2013-10-23 三菱電機株式会社 Numerical controller
CN104321707B (en) 2012-05-22 2016-08-24 三菱电机株式会社 Numerical control device
JP5734336B2 (en) * 2013-04-23 2015-06-17 ファナック株式会社 Numerical control device that enables display and input of tool direction relative to workpiece
JP5785224B2 (en) 2013-07-08 2015-09-24 ファナック株式会社 Numerical control device for controlling a 5-axis machine
JP5905521B2 (en) * 2014-06-26 2016-04-20 ファナック株式会社 Numerical control device characterized by suppressing backlash generated during tool tip point control
JP6068614B2 (en) * 2015-12-21 2017-01-25 ファナック株式会社 Numerical control device characterized by suppressing backlash generated during tool tip point control
DE102017222474A1 (en) 2016-12-12 2018-06-14 Fanuc Corporation NUMERIC CONTROL AND DATA STRUCTURE
JP6464135B2 (en) 2016-12-22 2019-02-06 ファナック株式会社 Numerical controller
JP6487490B2 (en) * 2017-05-11 2019-03-20 ファナック株式会社 Numerical controller
JP6703038B2 (en) 2018-05-24 2020-06-03 ファナック株式会社 Numerical control device
JP2021077107A (en) 2019-11-08 2021-05-20 ファナック株式会社 Estimation device and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076640A (en) * 2011-01-20 2011-04-14 Mitsubishi Electric Corp Method for controlling numerical value

Also Published As

Publication number Publication date
JP2003195917A (en) 2003-07-11

Similar Documents

Publication Publication Date Title
JP3643098B2 (en) Numerical controller
EP1302829B1 (en) Numerical controller
US5020001A (en) Robot controller
US6597142B2 (en) Apparatus and method for setting control parameters of machining apparatus
JP5220183B2 (en) Numerical control device and control method of the numerical control device
JP4199103B2 (en) Numerical control apparatus and numerical control method
JPS62208104A (en) Numerical controller
JP2009217326A (en) Numerical controller controlling five-axis machining machine
US5563484A (en) Three-dimensional cutter compensation system
US5545959A (en) Speed control method for a numerical control apparatus
JP6012560B2 (en) Numerical controller
JPS6318404A (en) Position controlling method
US6999844B2 (en) Numerical controller
JPS62163109A (en) Numerical controller
JPH022661B2 (en)
JPH09150348A (en) Cutting error correcting method in nc machine tool
JPH07152417A (en) Tool path and tool feeding speed control system for numerical controller
JPH09190211A (en) System for controlling route of numerically controlled device
JP4734439B2 (en) Numerical control device for 4-axis machine
JPH05100723A (en) Tool length correcting system for machine tool
JP2899293B2 (en) Numerical control method for multi-spindle lathe
JPS6147652B2 (en)
JPH0474205A (en) Correction system for tool diameter
JPH03109606A (en) Tool correction system
JPH0454604A (en) Three-dimensional tool diameter correcting system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050126

R150 Certificate of patent or registration of utility model

Ref document number: 3643098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090204

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090204

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110204

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110204

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120204

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120204

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130204

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees