【解決手段】ドリルの形状を複数の直線の集合体でモデル化し、ワークに従前に形成されている穴と直線との交点を演算し、演算結果に基づいて、ドリルの先端が従前に形成されている穴内に侵入する前に、該ドリルの送り速度を減速する減速開始点と、該ドリルが穴を横断して、ワークに再び進入した後に該ドリルの送り速度の減速を終了する減速終了点とを演算し、減速開始点および減速終了点に基づいて、第1のNCプログラムを修正した第2のNCプログラムを生成するようにした。
ドリルを工具として用い、複数の穴を加工する第1のNCプログラムと、加工に使用する工具のデータとに基づいて、ワーク内で交差する穴を加工する際に、工具の送り速度を減速させた第2のNCプログラムを作成するNCプログラムの作成方法において、
ドリルの形状を複数の直線の集合体でモデル化し、
ワークに従前に形成されている穴と前記直線との交差位置を演算し、
前記演算結果に基づいて、ドリルの先端が前記従前に形成されている穴内に進入する前に、該ドリルの送り速度を減速する減速開始点と、該ドリルが前記穴を横断して、ワークに再び進入した後に該ドリルの送り速度の減速を終了する減速終了点とを演算し、
前記減速開始点および減速終了点に基づいて、前記第1のNCプログラムを修正した第2のNCプログラムを生成する
ことを特徴としたNCプログラムの作成方法。
前記ワークに従前に形成されている穴と前記直線との交差位置の演算は、前記モデル化したドリルを表す直線が、前記従前に形成されている穴の円柱モデルとの交点を、座標変換して該円柱モデルの軸線方向から見て投影した直線と円との交点として演算し、演算結果を逆変換して前記穴と直線との交点位置を求める請求項1に記載のNCプログラムの作成方法。
ドリルを工具として用い、複数の穴を加工する第1のNCプログラムと、加工に使用する工具のデータとに基づいて、ワーク内で交差する穴を加工する際に、工具の送り速度を減速させた第2のNCプログラムを作成する工作機械の減速制御装置において、
ドリルの形状を複数の直線の集合体でモデル化するときの直線の数を少なくともパラメータとして格納するパラメータ格納部と、
工具径を含んだ工具情報を取得する工具情報取得部と、
NC装置の読取解釈部から前記第1のNCプログラムのドリルの工具軌跡を取得する工具軌跡取得部と、
前記工具情報と前記工具軌跡から直線の集合体で表した工具モデルと穴の円柱モデルとを生成するモデル生成部と、
前記工具モデルの各直線と前記円柱モデルから工具と穴との交差位置を演算する交差位置演算部と、
前記演算した交差位置から、減速開始位置および減速終了位置を演算する減速開始、終了位置演算部と、
前記演算した減速開始位置および減速終了位置に基づいて、前記第1のNCプログラムを修正して第2のNCプログラムを生成するNCプログラム生成部と、
を具備することを特徴とした工作機械の減速制御装置。
【背景技術】
【0002】
例えば、射出成形で用いる金型には溶融した高温の樹脂が毎ショット流入して、金型が加熱される。金型は用いる樹脂の種類にもよるが、適切な温度範囲が決められている。そのため、金型には冷却水やスチーム等の冷却、温熱媒体を流通させる多数の通路が形成されている。これらの通路の中には、
図15、16に示すように、互いに交差する通路がある。
【0003】
図15、16において、ワーク200には、先の工程で形成された第1の穴202と、後の工程で形成された第2の穴204が形成されている。第2の穴204を形成する際、加工に用いるドリルTの先端が第1の穴202の空間に到達すると、該ドリルTを送る送り軸装置に作用する反力または負荷は急激に減少する。また、ドリルTの先端が第1の穴202の空間を横断し、反対側の内面に到達すると送り軸装置に作用する反力または負荷は急激に増加する。これにより、ドリルが破損したり、穴の交差部にバリが発生することがある。
【0004】
特許文献1には、加工穴が貫通穴であったり、穴どうしが干渉するときのように、加工工程や加工条件を修正する必要がある場合に、CAD/CAMシステム上でNC加工に最適な加工工程と切削条件を自動決定するようにしたNCデータ自動作成装置が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1のNCデータ自動作成装置では、CAD/CAMにより、3次元ソリッドモデルであるワークの穴データを用いているので、計算負荷が大きく、簡単に工作機械に実装したり、工作機械の近傍に専用の装置を配置することができない。
【0007】
本発明は、こうした従来技術の問題を解決することを技術課題としており、交差する複数の穴をドリルで加工する第1のNCプログラムから、交差する穴を加工するときに、ドリルの送り速度を減速させる第2のNCプログラムを、NC工作機械に付属する機械制御装置の演算ユニットに計算負荷を殆どかけずに、簡単かつ迅速に自動作成するようにした、NCプログラムの作成方法および工作機械の減速制御装置を提供することを目的としている。
【課題を解決するための手段】
【0008】
上述の目的を達成するために、本発明によれば、ドリルを工具として用い、複数の穴を加工する第1のNCプログラムと、加工に使用する工具のデータとに基づいて、ワーク内で交差する穴を加工する際に、工具の送り速度を減速させた第2のNCプログラムを自動作成するNCプログラムの作成方法において、ドリルの形状を複数の直線の集合体でモデル化し、ワークに従前に形成されている穴と前記直線との交点を演算し、前記演算結果に基づいて、ドリルの先端が前記従前に形成されている穴内に侵入する前に、該ドリルの送り速度を減速する減速開始点と、該ドリルが前記穴を横断して、ワークに再び進入した後に該ドリルの送り速度の減速を終了する減速終了点とを演算し、前記減速開始点および減速終了点に基づいて、前記第1のNCプログラムを修正した第2のNCプログラムを生成するようにしたNCプログラムの作成方法が提供される。
【0009】
更に、本発明によれば、ドリルを工具として用い、複数の穴を加工する第1のNCプログラムと、加工に使用する工具のデータとに基づいて、ワーク内で交差する穴を加工する際に、工具の送り速度を減速させた第2のNCプログラムを作成する工作機械の減速制御装置において、ドリルの形状を複数の直線の集合体でモデル化するときの直線の数を少なくともパラメータとして格納するパラメータ格納部と、工具径を含んだ工具情報を取得する工具情報取得部と、NC装置の読取解釈部から前記第1のNCプログラムのドリルの工具軌跡を取得する工具軌跡取得部と、前記工具情報と前記工具軌跡から直線の集合体で表した工具モデルと穴の円柱モデルとを生成するモデル生成部と、前記工具モデルの各直線と前記円柱モデルから工具と穴との交差位置を演算する交差位置演算部と、前記演算した交差位置から、減速開始位置および減速終了位置を演算する減速開始、終了位置演算部と、前記演算した減速開始位置および減速終了位置に基づいて、前記第1のNCプログラムを修正して第2のNCプログラムを生成するNCプログラム生成部とを具備する工作機械の減速制御装置が提供される。
【発明の効果】
【0010】
第1のNCプログラムを作成するときは、穴が交差することを気にせず、決められた位置に一定の送り速度で穴をあける指令をするだけであり、容易にプログラミングできる。そして、本発明によれば、加工済みの穴である円柱と、ドリル形状をモデル化した直線との交点を演算するだけでよいので、小さな演算負荷で、ワーク内で交差する穴を加工する際に、工具の送り速度を減速させた第2のNCプログラムを自動作成することが可能となる。従って、工作機械が標準で備えている機械制御装置に本発明の演算処理を行うソフトウェアを追加しても、ほとんど演算負荷をかけることなく、第2のNCプログラムを作成することができる。また、汎用のパソコンに本発明を実施するためのソフトウェアを搭載して機械制御装置に付加する方法で、既存の工作機械を容易に機能アップすることもできる。
【図面の簡単な説明】
【0011】
【
図1】本発明の好ましい実施形態による減速制御装置のブロック図である。
【
図2】本発明の好ましい実施形態によるNCプログラムの作成方法を説明するためのフローチャートである。
【
図3】本発明の好ましい実施形態によるNCプログラムの作成方法を説明するためのフローチャートである。
【
図4】本発明の好ましい実施形態によるNCプログラムの作成方法を説明するためのフローチャートである。
【
図7】モデル工具の側面に沿った工具の軸方向の直線を示す斜視図である。
【
図8】モデル工具の形状を説明するための側面図である。
【
図9】モデル工具の他の形状を説明するための側面図である。
【
図10】モデル工具の直線とモデル穴との交点を演算する方法を説明するための略図である。
【
図11】モデル工具の直線とモデル穴との交点を演算する方法を説明するための略図である。
【
図12】モデル工具の直線とモデル穴との交点を演算する方法を説明するための略図である。
【
図13】モデル工具の直線とモデル穴との交点を演算する方法を説明するための略図である。
【
図14】モデル工具の直線とモデル穴との交点を演算する方法を説明するための略図である。
【
図15】交差穴を説明するためのワークの斜視図である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本願発明の好ましい実施形態を説明する。
図1を参照すると、減速制御装置10は、工作機械のNC装置100に供給されるNCプログラム(本明細書では第1のNCプログラムと称する)に基づいて、新たなNCプログラム(本明細書では第2のNCプログラムと称する)を生成する。NC装置100は、一般的なNC装置と同様に、読取解釈部102、補間部104およびサーボ演算部106を含む。読取解釈部102は、第1のNCプログラムを読取り解釈して、移動指令を補間部104に出力する。補間部104は、入力された移動指令に基づき補間周期毎の位置指令値を演算し、該位置指令値をサーボ演算部106に送出する。サーボ演算部106は、位置指令値に基づいてX軸およびY軸などの各送り軸のサーボモータ108へ供給する電流値を演算し、各送り軸のサーボモータ108を駆動する。
【0013】
減速制御装置10は入力部12、パラメータ格納部14、工具情報取得部16、工具軌跡取得部18、モデル生成部20、交差位置演算部22、減速開始終了位置演算部24、NCプログラム生成部26、記憶部28および表示部30を主要な構成要素として具備している。パラメータ格納部14、工具情報取得部16、工具軌跡取得部18、モデル生成部20、交差位置演算部22、減速開始終了位置演算部24、NCプログラム生成部26および記憶部28は、CPU(中央演算素子)、RAM(ランダムアクセスメモリ)やROM(リードオンリーメモリ)のようなメモリ装置、HDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)のような記憶デバイス、出入力ポート、および、これらを相互接続する双方向バスを含むコンピュータおよび関連するソフトウェアから構成することができる。
【0014】
入力部12は、後述するように、第2のNCプログラムを生成するために必要なパラメータをオペレータが減速制御装置10に入力するための要素であって、キーボードやタッチパネル等から形成することができる。表示部30は、減速制御装置10による演算結果を表示するための構成要素であって、液晶ディスプレイやタッチパネルから形成することができる。入力部12および表示部30を共通のタッチパネルにより形成してもよい。
【0015】
パラメータ格納部14は、入力部12を通じてオペレーターが入力したパラメータを格納する。オペレーターが入力するパラメータは、工具を定義する直線の数n、工具先端の形状を表す形状パラメータ、減速送り速度、減速を開始する位置を決定するための開始点パラメータ、および減速を解除または終了する位置を決定するための終了点パラメータを含むことができる。これらのパラメータは、使用する工具の工具番号に関連させて格納するようにできる。また、これらのパラメータは、入力部12に表示されるパラメータ設定画面から容易に入力することができる。
【0016】
以下、
図2〜
図4のフローチャートを参照しつつ、減速制御装置10の各部の作用を一層詳細に説明する。
先ず、減速制御装置10が起動すると、フラグi、j、mにそれぞれ1、0、0が入力され(ステップS10)、オペレーターによって入力されているパラメータがパラメータ格納部14からモデル生成部20に読み込まれる(ステップS12)。
【0017】
NC装置100へNCプログラムが供給されると、減速制御装置10は、読取解釈部102から第1のNCプログラムをブロック毎に読み取る(ステップS14)。工具情報取得部16は、NC装置100の読取解釈部102が、読取り解釈した第1のNCプログラムに基づき工具の情報、特に工具径を取得する(ステップS16)。NCプログラムには、通常、加工に用いる工具が工具番号または多数の工具を格納した工具マガジンの工具ポット番号にて指示されているので、工具情報取得部16は、工具径その他の工具情報を別途工具番号と関連させて予め格納しておいたり、或いは、他のサーバー(図示せず)にアクセスして、加工に用いる工具の工具情報を取得するようにできる。工具情報取得部16が取得した工具情報はモデル生成部20へ出力される。
【0018】
工具軌跡取得部18は、NC装置100の読取解釈部102が、読取り解釈した第1のNCプログラムに基づき、使用する工具の加工開始点、加工終了点および方向に関する工具軌跡情報を取得する。取得した工具軌跡は穴情報として記憶部28に出力され、(m+1)に関連付けて格納される(ステップS18)。
【0019】
次に、ステップS20において、フラグmが0であるか否かが判定される。m=0の場合(ステップS20でYesの場合)は、今回の加工以前にワークに穴が加工されていないことを意味している。この場合、今回の加工によって他の穴と交差する穴は形成されないので、第1のNCプログラムを修正せずに(ステップS22)、フラグmに1を加えてステップS14へ戻り、第1のNCプログラムの次のブロックが読み込まれる。
【0020】
ステップS20でNoの場合、つまり今回の加工以前にワークに穴が加工されている場合、モデル生成部20は、パラメータ格納部14からのパラメータと、工具情報取得部16からの工具情報に基づいて、今回これから加工に使用する工具(
図5)をモデル化する(ステップS26)。
図5において、モデル化した工具であるモデル工具M
Tは、円柱の本体部M
T1と、本体部M
T1の一端に設けられた円錐状の先端部M
T2とを有している。
【0021】
モデル生成部20、また、パラメータ格納部14から読み取った工具を定義する直線の数nに応じて、
図7に示すように、モデル工具M
Tの本体部M
T1の側面に沿った工具の軸方向の直線L
i(i=2…n)を設定し、直線L
iによって工具を近似する。
図7では、直線の数はn=4であるが、直線の数nはこれに限定されず2以上の整数とすることができる。直線の数nが2以上の場合には、直線L
iは、工具の中心軸線周りに等間隔に設定される。
【0022】
モデル生成部20は、更に、パラメータ格納部14から読み取った形状パラメータに基づいて先端部M
T2を生成し、直線T
i(i=2…n)を設定する。形状パラメータは、例えば、通常のドリルの場合、
図8に示すように、円錐形状の先端部M
T2の軸方向の長さL
Tと、工具の中心軸線Oに対する円錐の母線の角度θとを含むことができる。先端部M
T2が
図9に示すように接頭円錐形状(ガンドリル)であっても、長さL
Tと、角度θで先端部M
T2の形状を規定することができる。L
T=0またはθ=0の場合は、先端部がフラットな円筒形状の本体部M
T1のみを有したモデル工具M
Tとなる。
【0023】
次に、モデル生成部20は、記憶部28に格納されている従前の加工により形成された穴(穴跡と記載する)に関連した情報のうちフラグmに関連付けられている穴情報を読み込み(ステップS28)、穴跡(
図6)をモデル化する(ステップS30)。
図6において、モデル化した穴跡であるモデル穴M
Hは、円柱状の穴本体から成る。モデル穴M
Hは中心軸線O
Hと開始面S
Sと終点面S
Eとを有している。
【0024】
次に、後述するように、各直線L
iおよびT
iとモデル穴M
Hとの交点が演算される(ステップS32)。次いで、ステップS34において、全ての直線L
iおよびT
iについて、モデル穴M
Hとの交点の演算が終了したか否かが判定される。ステップS34でNoの場合、つまり、全ての直線L
iおよびT
iについて、モデル穴M
Hとの交点の演算が終了していない場合、iに1を加えて(ステップS36)、ステップS32へ戻り、次の直線L
i+1およびT
i+1について、交点が演算される。
【0025】
ステップS34において、Yesの場合、つまり、全ての直線L
iおよびT
iについてモデル穴M
Hとの交点の演算が終了している場合、パラメータ格納部14から読み込まれた減速開始位置および減速終了位置に基づいて、減速開始点および減速終了点が演算される(ステップS38)。減速開始点は、演算した交点から手前へ開始点パラメータの距離だけシフトした位置であり、減速終了点は、演算した交点から奥へ終了点パラメータの距離シフトした位置である。開始点パラメータおよび終了点パラメータは、演算した交点からの余裕距離或いは安全距離を表している。通常、開始点パラメータは、終了点パラメータより短く設定される。何故なら、ドリルの先端が演算した交点の手前に差し掛かったら減速を開始し、演算した交点をドリルの先端部(円錐部)から本体部(円柱部)が通過したら減速を終了する、つまりドリルの先端部の長さL
Tだけ減速終了点を奥へ移動させる必要があるからである。
【0026】
次いで、ステップS40において、全ての穴跡について、減速開始点および減速終了点を求めたか否かが判定される。ステップS40においてYesの場合、減速開始終了位置演算部24において演算された減速開始点および減速終了点は、NCプログラム生成部26に出力される。NCプログラム生成部26では、減速開始点および減速終了点に基づいて、第1のNCプログラムの当該ブロックの工具の減速開始位置、減速送り速度および減速終了位置の部分が修正され(ステップS44)、第2のNCプログラムとしてNC装置100へ出力される。
【0027】
次いで、ステップS46において、フラグi、jがリセットされるとともに、フラグmに1が加えられ、フローチャートはステップS14へ戻り、第1のNCプログラムの次のブロックが読み込まれる。
【0028】
全ての穴跡について上述の減速開始点および減速終了点の演算が完了していない場合(ステップS40でNoの場合)、フラグjに1を加えて(ステップS42)、フローチャートはステップS28へ戻り、次の穴跡に関連した情報がモデル生成部20へ読み込まれる。
【0029】
次に
図4を参照して、直線L
iとモデル穴M
Hとの交点の求め方を説明する。上述のように、モデル生成部20において、直線の数nに応じてモデル工具M
Tの本体部M
T1の側面に沿った工具の軸方向の直線L
i(i=2…n)が設定される(ステップS50)。次に、
図10に示すように、交差位置演算部22において、X、Y、Z座標軸上に1本の直線L
iと、モデル穴M
Hが設定される(ステップS52)。交差位置演算部22は、
図11に示すように、円柱の中心軸線O
HがZ軸に一致するように、モデル穴M
Hを回転および並進移動させ、直線L
iも同じ条件で回転および並進移動する(ステップS54)と共に、
図11において破線で示すように、モデル穴M
Hの高さ範囲(Z軸方向の範囲)以外の直線L
iの部分を消去する。
【0030】
交点位置演算部22は、次いで、
図12に示すように、モデル穴M
Hおよび直線L
iをXY平面に投影し、XY平面内で、円Cと直線L
i′との交点I
P1(X
1,Y
1)、I
P2(X
2,Y
2)を算出する(ステップS56)。このとき、交点I
P1、I
P2が存在しない場合(ステップS58でNoの場合)、フローチャートはステップS34へ移動し、全ての直線L
iについて、モデル穴M
Hとの交点の演算が終了したか否かが判定される。
【0031】
交点I
P1、I
P2が存在する場合(ステップS58でYesの場合)、交点I
P1(X
1,Y
1)、I
P2(X
2,Y
2)に基づいて、交点I
P1、I
P2のZ座標が算出される(ステップS60)。次いで、I
P1(X
1,Y
1,Z
1)、I
P2(X
2,Y
2,Z
2)に関して、ステップS54で行った回転、並進移動に対して逆方向の回転、並進移動を行い、モデル穴M
Hと直線L
iとの交点を算出する(ステップS62)。演算結果や交差の回数、修正した第2のNCプログラム等は、表示部30に表示することができる。
【0032】
直線T
iとモデル穴M
Hとの交点も同様に求めることができる。ステップS56の2次元座標における直線と円との交点演算や、ステップS54およびステップS62の座標の回転、並進変換の演算は、従来技術のドリルの3次元ソリッドモデルと、穴形状の3次元ソリッドモデルとの交差位置の演算と比べ、コンピュータにとっては遥かに軽負荷の作業である。
【0033】
図15、16を用いて、本発明の実施形態の第1の穴202の加工後に第2の穴204をあける場合についての第1のNCプログラム(変換前)と第2のNCプログラム(変換後)を説明する。第2の穴204をあけるときのNCプログラムの原点Aは、図示の通りワーク200の一角に設定し、X軸、Y軸、Z軸を定義する。第2の穴204を加工する部分の第1のNCプログラムは、次のように作成されている。
【0034】
G17Z100.0
X-12.5Y10.0
Z50.0
G01Z0.0F40
G00Z100.0
この第1のNCプログラムは、工具先端部の基準位置(通常は先端部と本体部との境界面の中心)を座標(−12.5,10,100)に位置決めし、回転している工具をまずZ=50(ワークの加工表面)まで移動する。続けて工具送り速度40mm/minでZ=0の位置まで50mm切削送りし(穴204が貫通)、その後元の座標のZ=100へ早送りで戻ることを表している。
【0035】
この第1のNCプログラムを変換して第2のNCプログラムを生成すると次のようになる。
G17Z100.0
X-12.5Y10.0
Z50.0
G01Z35.0F40
G01Z15.0F15
G01Z0.0F40
G00Z100.0
これは、座標(−12.5,10,100)からZ=50まで工具を移動する部分は、第1のNCプログラムと同じである。その後、Z=35(第1の穴202の手前の減速開始位置)まで送り速度40mm/minで移動し、続けて送り速度を15mm/minに減速した状態でZ=15(減速終了位置)まで移動し(第1の穴202と完全に交差し終わって)、続けて送り速度を40mm/minに復活させてZ=0の位置まで移動して穴204を貫通させる。その後、元の座標Z=100へ早送りで戻ることを表している。
この例では、「G01Z0.0F40」が「G01Z35.0F40」「G01Z15.0F15」「G01Z0.0F40」の3つの工程に分解され、Z座標が35−15の間で減速されていることが理解されよう。
【0036】
上述の実施形態では、工作機械において実際に加工中に、減速制御装置10は、第1のNCプログラムを先読みすることによって、逐次、第2のNCプログラムを出力するようになっていたが、本発明はこれに限定されずに、NC装置100へ第1のNCプログラムを供給する前に、一括して、第1のNCプログラムの全体に亘って修正し、第2のNCプログラムを生成するようにしてもよい。