NCプログラム生成方法および切削加工方法
【課題】3次元形状切削において、加工実施前に工具摩耗を高精度に予測し、工具交換等を考慮したNCプログラムを生成することができるNCプログラム生成方法を提供する。
【解決手段】NCプログラム生成方法において、NCシミュレータ5により、NCプログラムを予め設定された処理間隔ごとのNCシミュレーションを実行し、加工条件取得部6および加工状態取得部7により、加工条件および加工状態を取得し、工具摩耗量算出部8により、工具摩耗データベース10から加工状態に応じた工具摩耗量を参照し、処理間隔ごとの工具摩耗量に関する情報を算出し、NCプログラム最適化処理部9により、工具摩耗量算出部8で算出された処理間隔ごとの工具摩耗量に関する情報に基づいて、工具を無駄なく利用できるように、NCプログラムの加工条件を変更し、NCプログラムを最適化する。
【解決手段】NCプログラム生成方法において、NCシミュレータ5により、NCプログラムを予め設定された処理間隔ごとのNCシミュレーションを実行し、加工条件取得部6および加工状態取得部7により、加工条件および加工状態を取得し、工具摩耗量算出部8により、工具摩耗データベース10から加工状態に応じた工具摩耗量を参照し、処理間隔ごとの工具摩耗量に関する情報を算出し、NCプログラム最適化処理部9により、工具摩耗量算出部8で算出された処理間隔ごとの工具摩耗量に関する情報に基づいて、工具を無駄なく利用できるように、NCプログラムの加工条件を変更し、NCプログラムを最適化する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元形状切削を行うNC工作機械のNCプログラム生成方法に関し、特に、工具の摩耗予測に基づいたNCプログラムの生成に関するものである。
【背景技術】
【0002】
本技術分野の背景技術として、特開平5−138497号公報(特許文献1)、特開2004−255514号公報(特許文献2)、国際公開第00/12260号パンフレット(特許文献3)、国際公開第98/19820号パンフレット(特許文献4)に記載された技術があった。
【0003】
特許文献1には、「工具の使用時間を計測し、計測された時間に応じて工具の摩耗量を常時、推定し、工具オフセット量を補正する」と記載されている(要約参照)。
【0004】
また、特許文献2には、「摩耗量と切削距離の関係が求まるため、工具寿命が予測でき、工具交換のタイミングを決定できる」と記載されている(要約参照)。
【0005】
また、特許文献3には、加工シミュレーションにより、刃先ポイントごとの切削量、切削長積算、衝突回数から摩耗量を推定する方法が記載されている。
【0006】
また、特許文献4には、最終的に現場で利用した実加工NCプログラムを解析し、最適な加工情報、加工条件を抽出しデータベースとして用いることで、NCプログラムを最適化する方法が記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平5−138497号公報
【特許文献2】特開2004−255514号公報
【特許文献3】国際公開第00/12260号パンフレット
【特許文献4】国際公開第98/19820号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載のものは、計測した工具の使用時間に応じて工具の摩耗量を推定する方法が記載されているが、特許文献1の摩耗量推定方法では、実際に加工を実施しなければ工具の使用時間を計測することができないという問題があった。
【0009】
また、特許文献2には、加工実施前に工具摩耗を予測する方法として、加工経路の総切削距離や工具使用時間から摩耗量を推定する方法が記載され、特許文献3には、加工シミュレーションにより、刃先ポイントごとの切削量、切削長積算、衝突回数から摩耗量を推定する方法が記載されているが、3次元形状の切削においては、軸切込みや径切込みなどの加工状態が時々刻々変化するため、一定の加工状態での切削を前提とした総切削距離や工具使用時間に基づく特許文献2の技術や、刃先ポイントに着目した特許文献3の工具摩耗予測の技術では誤差が大きくなってしまうという問題があった。
【0010】
また、工作機械や工具、材料が同一でも、加工対象が異なり形状が複雑である場合、特許文献4の方法では工具摩耗の進展までを考慮してNCプログラムを最適化することはできないという問題があった。
【0011】
そこで、本発明の目的は、3次元形状切削において、加工実施前に工具摩耗を高精度に予測し、工具交換等を考慮したNCプログラムを生成することができるNCプログラム生成方法を提供することにある。
【0012】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0013】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【0014】
すなわち、代表的なものの概要は、NCプログラム生成方法であって、NCシミュレータにより、NCプログラムを予め設定された処理間隔ごとのNCシミュレーションを実行し、加工条件取得部により、NCシミュレータからの処理間隔ごとの加工条件を取得し、加工状態取得部により、NCシミュレータからの処理間隔ごとの加工状態を取得し、工具摩耗量算出部により、加工条件および加工状態に対応して設定された工具摩耗量の情報が登録された工具摩耗データベースから加工状態に応じた工具摩耗量を参照し、処理間隔ごとの工具摩耗量に関する情報を算出し、NCプログラム最適化処理部により、工具摩耗量算出部で算出された処理間隔ごとの工具摩耗量に関する情報に基づいて、工具を無駄なく利用できるように、NCプログラムの加工条件を変更し、NCプログラムを最適化するものである。
【発明の効果】
【0015】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【0016】
すなわち、代表的なものによって得られる効果は、工具摩耗予測に基づきNCプログラムを最適化することで、加工能率向上、工具費低減を可能とするNCプログラム生成方法を提供することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施の形態に係るNCプログラム生成方法を実施するコンピュータシステムの構成を示す構成図である。
【図2】本発明の一実施の形態に係るNCプログラム生成方法による処理の概要を示すフローチャートである。
【図3】本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量算出処理を示すフローチャートである。
【図4】本発明の一実施の形態に係るNCプログラム生成方法における切削状況を説明するための説明図である。
【図5】本発明の一実施の形態に係るNCプログラム生成方法における工具摩耗を説明するための説明図である。
【図6】本発明の一実施の形態に係るNCプログラム生成方法で使用される工具摩耗DBに登録された工具摩耗グラフの一例を示す図である。
【図7】本発明の一実施の形態に係るNCプログラム生成方法で使用される工具摩耗DBに登録された工具摩耗テーブルの一例を示す図である。
【図8】本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量の結果の一例を示す図である。
【図9】本発明の一実施の形態に係るNCプログラム生成方法による予測の出力結果の一例を示す図である。
【図10】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を示すフローチャートである。
【図11】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の最適化条件の入力画面の表示の一例を示す図である。
【図12】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の最適化条件設定ファイルの一例を示す図である。
【図13】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の加工条件最適化処理を示すフローチャートである。
【図14】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【図15】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【図16】本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を示すフローチャートである。
【図17】本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を実行した例について説明するための説明図である。
【図18】本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を実行した例について説明するための説明図である。
【図19】本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図20】(a)〜(d)は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図21】は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図22】(a)、(b)は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図23】(a)、(b)は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図24】本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を示すフローチャートである。
【図25】本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0019】
<NCプログラム生成方法を実施するコンピュータシステムの構成>
図1により、本発明の一実施の形態に係るNCプログラム生成方法を実施するコンピュータシステムの構成について説明する。図1は本発明の一実施の形態に係るNCプログラム生成方法を実施するコンピュータシステムの構成を示す構成図である。
【0020】
図1において、コンピュータシステムは、処理部101、記憶部102、入力部1、出力部2、NCシミュレータ5およびそれらを接続する接続線103から構成されている。接続線103にCAD3、CAM4が接続されてもよい。
【0021】
処理部101は、例えばCPUなどのプロセッサであり、記憶部102は例えばHDDや半導体メモリであり、入力部1は例えばキーボードやマウスであり、出力部2は例えばディスプレイやプリンタであり、接続線103は例えば接続コードやネットワークである。
【0022】
処理部101は、その上で記憶装置などに記憶されたプログラムを実行することによって、加工条件取得部6、加工状態取得部7、工具摩耗量算出部8、NCプログラム最適化処理部9として機能する。処理部101の記憶装置は、工具摩耗DB10、NCプログラムDB11を記憶している。この記憶装置には、最適化条件設定ファイル12を記憶しておいてもよい。
【0023】
入力部1は、ユーザの指示の入力を受け付け、出力部2は、本コンピュータシステムの処理結果を表示したり印刷したりする。
【0024】
NCシミュレータ5は、CAM4で作成されたNCプログラムまたはNCプログラムDB11に記憶されたNCプログラムをロードし、加工シミュレーションを実行する。
【0025】
加工条件取得部6は、ロードしたNCプログラムの情報から、工具回転数、工具送り速度などの加工条件を取得する。
【0026】
加工状態取得部7は、NCシミュレーションの実行結果から、径切込み量、軸切込み量、接触面積、切削体積、切削距離、加工時間などの加工状態を逐次取得する。
【0027】
工具摩耗量算出部8は、加工条件取得部6および加工状態取得部7で取得した情報を入力とし、工具摩耗データベース10を参照し、工具摩耗量を算出する。
【0028】
NCプログラム最適化処理部9は、加工条件取得部6で取得した情報および工具摩耗量算出部8で算出した工具摩耗量に基づき、NCプログラムを最適化し、最適化結果をNCプログラムデータベース11に登録する。
【0029】
工具摩耗データベース10(図中、工具摩耗DBと略す)は、実験的に求められた工具の摩耗量が登録されている。工具摩耗量は例えば、グラフ、テーブル、関数などとして登録されている。
【0030】
NCプログラムデータベース11(図中、NCプログラムDBと略す)は、既存のNCプログラムおよび最適化されたNCプログラムが登録されている。
【0031】
最適化条件設定ファイル12は、NCプログラム最適化処理部9の処理で必要な設定値が登録されている。NCプログラム最適化処理部9で直接入力を受け付ける場合には、最適化条件設定ファイル12は必須ではない。
【0032】
<NCプログラム生成方法による処理の概要>
次に、図2により、本発明の一実施の形態に係るNCプログラム生成方法による処理の概要について説明する。図2は本発明の一実施の形態に係るNCプログラム生成方法による処理の概要を示すフローチャートである。
【0033】
まず、ステップS201では、入力部1を介してNCプログラムDB11から処理対象とするNCプログラムの入力を受け付ける。ステップS202では、ステップS201で受け付けたNCプログラムについてNCシミュレーションを実行し、工具摩耗量を算出する。工具摩耗量算出処理の詳細については後述する。
【0034】
ステップS203では、ステップS202で算出した工具摩耗量に基づき最適化処理実施の是非を判定し、最適化処理の完了を決定するか、NCプログラムの最適化処理を行う。NCプログラム最適化処理の詳細については後述する。
【0035】
ステップS204では、ステップS203で最適化処理が完了したかどうかを判定し、終了していればステップS205へ処理を進め、完了していなければ、ステップS202に戻り、再度ステップS203で最適化したNCプログラムについて工具摩耗量の算出を行う。
【0036】
ステップS205では、ステップS203で最適化したNCプログラムをNCプログラムDB11に登録する。
【0037】
なお、ステップS201で入力を受け付けるNCプログラムは1つに限定されない。工程ごとに複数に分割されたNCプログラムや、同一のNCプログラムを複数個設定することが可能である。これにより1つの工具で工具交換を行わずに加工を継続した場合の工具摩耗を予測することができる。
【0038】
<工具摩耗量算出処理>
次に、図3により、本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量算出処理について説明する。図3は本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量算出処理を示すフローチャートである。
【0039】
まず、ステップS301では、NCシミュレーションの番号nと工具摩耗量VBn内部変数の値を初期化する。ステップS302では、NCシミュレーションの処理間隔をΔdとして工具移動距離を設定する。Δdの値は入力部1が受け付けたユーザの入力値または加工条件取得部6、加工状態取得部7が初期状態で保持している値を用いる。
【0040】
ステップS303では、ステップS302で設定した処理間隔ΔdだけNCシミュレーションを実行し、NCシミュレーションの番号nに1を加算する。
【0041】
ステップS304では、ステップS303で実行したNCシミュレーションの結果から加工条件取得部6、加工状態取得部7が加工条件および加工状態を取得する。ステップS305では、ステップS304で取得した加工状態の情報から処理間隔Δdの区間で工具が被削材を切削したかを判断する。
【0042】
ステップS305で切削していればステップS306へ、ステップS305で切削していなければステップS308へ処理を進める。
【0043】
ステップS306では、ステップS304で取得した加工条件、加工状態に基づき、工具摩耗DB10を参照し、処理間隔Δdの区間での工具摩耗進展量ΔVBを算出する。ステップS307では、前記算出した工具摩耗進展量ΔVBをそれまでの処理で算出した工具摩耗量VBに加算する。
【0044】
ステップS308では、処理対象のNCプログラムの終了を判定する。NCプログラムの全ブロックを処理した場合は工具摩耗量算出処理を終了し、NCプログラムに未処理のブロックがあればステップS303に戻り処理を継続する。
【0045】
ここでブロックとはNCプログラムを構成する1行分のプログラムのことである。
【0046】
また、処理間隔Δdは、工具の移動距離(メートルまたはインチ)だけでなく、工具刃先が実際に加工した距離である摺動距離(メートルまたはインチ)や、加工時間(秒または分)、切削体積(立方メートルまたは立法インチ)などが採用可能である。
【0047】
<NCプログラム生成方法で使用するデータおよび出力結果の一例>
ここで、図4〜図9により、本発明の一実施の形態に係るNCプログラム生成方法で使用するデータおよび出力結果の一例について説明する。図4は本発明の一実施の形態に係るNCプログラム生成方法における切削状況を説明するための説明図、図5は本発明の一実施の形態に係るNCプログラム生成方法における工具摩耗を説明するための説明図、図6は本発明の一実施の形態に係るNCプログラム生成方法で使用される工具摩耗DBに登録された工具摩耗グラフの一例を示す図、図7は本発明の一実施の形態に係るNCプログラム生成方法で使用される工具摩耗DBに登録された工具摩耗テーブルの一例を示す図、図8は本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量の結果の一例を示す図、図9は本発明の一実施の形態に係るNCプログラム生成方法による予測の出力結果の一例を示す図である。
【0048】
図4に示すように、1つまたは複数のカッターが付いた回転工具が回転数S(rpm)で回転しながら、送り速度F(mm/min)で進むことで被削材を切削している。また、この時の軸切込みおよび径切込みの量は、図4に示すように定義している。
【0049】
図5に示すように、工具の代表的な摩耗として、逃げ面摩耗、すくい面摩耗があり、工具摩耗の判断基準として、逃げ面摩耗の最大幅VBを用いることが一般的である。
【0050】
ただし、工具摩耗DB10に登録される工具摩耗量はこれに限定されない。例えば、カッター底面部の逃げ面摩耗VB’や、逃げ面摩耗の平均値VBAVE、すくい面摩耗の深さKTや幅KBなどが採用可能である。
【0051】
なお、図4および図5においては、丸型のカッターを用いているが、カッター形状として、四角や三角などの多角形型、菱形、さらにそれらの角部にテーパや円弧を付けたものなどが採用可能である。また、交換式のカッターだけでなく、工具と刃が一体形状となっている工具なども採用可能である。
【0052】
図6は、工具摩耗DB10に登録された工具摩耗グラフの一例(横軸:加工時間(分)、縦軸:逃げ面摩耗(mm))を示しており、図6の例では軸切込み量を一定とし、径切込み量を変化させた場合(12.5mm、25.0mm、37.5mm)の実験結果を示している。軸切込み量、径切込み量などの加工状態を変数としてもっていること、また、直線ではなく複数の変曲点を持つグラフであることを特徴としている。
【0053】
図7は工具摩耗DB10に登録された工具摩耗テーブルの一例を示しており、対象とする被削材材質、工具型番、工具径、カッターRなどの情報と、カッターの刃数、回転数、送り速度、一刃送り、切削速度、径切込み量、軸切込み量などの加工条件と、加工時間ごとの工具摩耗量が関連づけられて登録されている。
【0054】
図7の例では、テーブルの列701および列702の対象は同一(SUS403)であり、加工条件のうち径切込み量のみ変化させた場合(12.5mm、25mm)の実験結果を示している。加工時間ごとの工具摩耗量の欄は、実験で取得したデータによって空欄があったり、加工時間の列が追加されてもよい。
【0055】
また、工具摩耗DB10に登録されている工具摩耗を定義する関数の一例として、以下の数1の式を用いている。
【0056】
工具摩耗量VBnは、対象および加工状態から決定される係数αiと加工時間xの関数として定義している。ここでβは3以上の値であり、直線ではなく複数の変曲点を持つ関数であることを特徴としている。
【0057】
【数1】
【0058】
また、工具摩耗DB10に登録される関数は数1の式に限らず、切片が0であり、複数の変曲点を持つ関数が採用可能である。
【0059】
なお、図6、図7、数1の式においては、加工時間ごとの工具摩耗量を登録しているが、工具の移動距離や、工具刃先が実際に加工した距離である摺動距離、切削体積ごとの工具摩耗量などが登録データとして採用可能である。
【0060】
また、図8は工具摩耗量算出部8によって算出された工具摩耗量の予測結果を出力部2で表示した一例である。工具摩耗量がグラフとして表示され、タブ切替などにより加工時間(横軸:加工時間(分)、縦軸:逃げ面摩耗量(mm))だけでなく、工具の移動距離や、工具刃先が実際に加工した距離である摺動距離、切削体積ごとの工具摩耗量などを表示することが可能である。
【0061】
また、前記工具摩耗DB10は、予測の分布を係数や関数として持ってもよい。分布の関数として正規分布や三角型ファジィ数などが採用可能である。
【0062】
図9は分布を持った工具摩耗量予測の出力結果の一例である。工具摩耗量が正規分布901の分布を持って予測されていることがわかる。
【0063】
さらに、前記工具摩耗DB10は、対象および加工条件の組み合わせに対して限界工具摩耗量VBMAXを登録することが可能である。
【0064】
<NCプログラム最適化処理>
次に、図10〜図13により、本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理について説明する。図10は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を示すフローチャート、図11は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の最適化条件の入力画面の表示の一例を示す図、図12は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の最適化条件設定ファイルの一例を示す図、図13は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の加工条件最適化処理を示すフローチャートである。
【0065】
まず、図10において、ステップS1001では、最適化条件を設定する。設定値は、入力部1で受け付けたユーザの入力値または最適化条件設定ファイル12の値を用いる。
【0066】
ステップS1002では、許容する限界工具摩耗量VBMAXを設定する。限界工具摩耗量VBMAXの値は入力部1が受け付けたユーザの入力値または工具摩耗DB10で保持している値を用いる。
【0067】
ステップS1003では、工具摩耗量算出部8で取得した工具摩耗量VBnを設定する。ステップS1004では、限界工具摩耗量VBMAXと工具摩耗量VBnとの乖離度を百分率で示した値γを算出する。γは以下の数2の式より算出される。
【0068】
【数2】
【0069】
ステップS1005では、ステップS1001の設定値から加工条件の変更が可能かを判断する。ステップS1005で変更可能であればステップS1006へ処理を進め、ステップS1005で変更不可であればステップS1008へ処理を進める。
【0070】
ステップS1006では、ステップS1004で算出した乖離度γの値が0より大きく、ステップS1001で設定した最適化条件γINIよりも小さいかどうかを判定する。ステップS1006で判定条件を満たせばステップS1010へ処理を進め、ステップS1006で判定条件を満たさなければステップS1007へ処理を進める。
【0071】
乖離度γの値が0より大きく、かつ、最適化条件γINIよりも小さければ、工具摩耗量VBnが限界工具摩耗量VBMAXを越えない範囲で、工具摩耗量VBnと限界工具摩耗量VBMAXとの乖離が、設定した条件内に収まっていることとなることから、最適化処理を完了してよいと判定できる。
【0072】
ステップS1007では、加工条件の最適化処理を行う。加工条件最適化処理については後述する。ステップS1008では、ステップS1004で算出した乖離度γの値が0より大きいかどうかを判定する。ステップS1008で判定条件を満たせばステップS1010へ処理を進め、ステップS1008で判定条件を満たさなければステップS1009へ処理を進める。
【0073】
加工条件の変更が不可であることから、最適化条件γINIの値に関わらず乖離度γの値が0より大きいこと、すなわち工具摩耗量VBnが限界工具摩耗量VBMAXを越えていないことを判定することで、最適化処理の完了を判定できる。
【0074】
ステップS1009では、対象とするNCプログラムに工具交換コードを挿入する処理を行う。この工具交換コード挿入処理については後述する。
【0075】
ステップS1010では、最適化処理の完了を決定し、処理を終了する。この決定は、図2に示すフローチャートのステップS204の最適化処理の完了判定に用いられる。
【0076】
図11は、NCプログラム最適化処理における最適化条件の入力画面の表示の一例である。図11に示す画面は、出力部2に表示され、入力部1でユーザの入力を受け付ける。最適化条件として、工具摩耗量乖離度γの許容限界γINI、加工条件変更の可否(可:Yes、否:No)、実行NCプログラム数の変更可否、最適化の優先条件の選択(加工時間、工具交換回数)、ブロック途中での工具交換の可否、代替パスの検索可否などが数値入力および選択式にて設定可能である。
【0077】
図12は、NCプログラム最適化処理における最適化条件設定ファイル12の一例である。図11に示す例と同様の最適化条件がiniファイルやXMLファイルなどテキスト情報として登録される。
【0078】
また、図10のステップS1007の加工条件最適化処理は、図13に示すように、工具摩耗量VBnが限界工具摩耗量VBMAXに近づくように加工条件を最適化することで、加工能率を上げて加工時間を短縮したり、あえて加工条件を下げて工具使用量を適正化することが可能である。
【0079】
まず、ステップS1301では、工具摩耗量VBnと限界工具摩耗量VBMAXとを比較する。ステップS1301で工具摩耗量VBnの方が大きければステップS1302へ処理を進め、ステップS1301で工具摩耗量VBnの方が大きくなければステップS1309へ処理を進める。
【0080】
ステップS1302では、入力を受け付けたNCプログラムの数を確認し、NCプログラムが複数あればステップS1303へ処理を進め、NCプログラムが1つであればステップS1308へ処理を進める。
【0081】
ステップS1303では、図10のステップS1001の設定値から実行するNCプログラムの数を変更可能かを判断する。ステップS1303で変更可能であればステップS1304へ処理を進め、ステップS1303で変更不可であればステップS1308へ処理を進める。
【0082】
ステップS1304では、図10のステップS1001の設定値から優先する最適化条件を判断する。ステップS1304で加工時間優先であればステップS1305へ処理を進め、ステップS1304で加工時間優先ではなく工具交換回数優先であればステップS1308へ処理を進める。
【0083】
ステップS1305では、複数あるNCプログラムから一番最後のNCプログラム1つを実行対象から除く処理を行う。ステップS1306では、実行するNCプログラムを1つ除いた場合の工具摩耗量VBnと限界工具摩耗量VBMAXとを比較する。
【0084】
ステップS1306でNCプログラムを1つ除いても工具摩耗量VBnの方が大きければステップS1307へ処理を進め、ステップS1306で工具摩耗量VBnの方が小さければステップS1309へ処理を進める。
【0085】
ステップS1307では、実行NCプログラムの残り数を確認し、最後の1つであれば、加工条件を上げることができないためステップS1308へ処理を進め、複数残っていればステップS1305へ戻る。
【0086】
ステップS1308では、本処理を行う場合の乖離度γは負であるため、加工条件を|γ|%下げることで、工具摩耗量VBnが限界工具摩耗量VBMAXを下回るようにし、設定した工具で加工が終了できるようNCプログラムを最適化する。
【0087】
ステップS1309では、本処理を行う場合の乖離度γは正であるため、加工条件をγ%上げることで、工具摩耗量VBnを限界工具摩耗量VBMAXに近づけ、設定した工具を無駄なく使い切るようNCプログラムを最適化する。
【0088】
加工条件を変更する場合、一刃送りを一定とし、回転数を変更することで、切削速度、送り速度を回転数に伴い変更する方法が一般的であるが、本実施の形態での加工条件最適化はこの方法に限定されない。例えば、回転数を一定とし、一刃送りを変更することで、送り速度を一刃送りに伴い変更する方法が採用可能である。
【0089】
<加工条件最適化処理を実行した例>
次に、図14および図15により、本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を実行した例について説明する。図14および図15は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【0090】
図14に示す例では、最適化処理条件は、図11に示す設定を用いることとする。この例では、VBn=3.2mm、VBMAX=4.0mmであり、工具摩耗量VBnの方が限界工具摩耗量VBMAXより小さいことから、図13のフローチャートにおいて、ステップS1301、S1309の順に処理が進む。ステップS1309において、乖離度γ=20(%)より、加工条件を20%上げる。この例では、一刃送りを一定とし、回転数を1000rpmから1200rpmへと20%増加させることで、切削速度が157m/minから188m/minに、送り速度が200mm/minから240mm/minに向上し、加工時間を20%短縮する結果となっている。最適化後、図2のステップS204からステップS202に戻り、最適化後のNCプログラムの工具摩耗量を算出し、ステップS203へと処理が進む。VBn=3.9mm、VBMAX=4.0mmから乖離度γ=2.5(%)となり、図10のステップS1006を満たし、ステップS1010の処理にて、最適化処理が完了する。
【0091】
図15に示す例では、最適化処理条件は、図11の設定を用いることとする。この例では、VBn=5.0mm、VBMAX=4.0mmであり、工具摩耗量VBnの方が限界工具摩耗量VBMAXより大きく、NCプログラムが複数あり、最適化条件において実行NCプログラム数の変更が不可であることから、図13のフローチャートにおいて、ステップS1301、S1302、S1303、S1308の順に処理が進む。
【0092】
ステップS1308において、乖離度γ=−25(%)より、加工条件を25%下げる。この例では、一刃送りを一定とし、回転数を1400rpmから1050rpmへと25%減少させることで、切削速度が220m/minから165m/minに、送り速度が280mm/minから210mm/minに下げることで、加工時間は25%増加するが、工具交換なしに2つのNCプログラムからなる加工工程を終了可能とする結果となっている。
【0093】
最適化後、図2のステップS204からステップS202に戻り、最適化後のNCプログラムの工具摩耗量を算出し、ステップS203へと処理が進む。VBn=3.95mm、VBMAX=4.0mmから乖離度γ=1.25(%)となり、図10のステップS1006を満たし、ステップS1010の処理にて、最適化処理が完了する。
【0094】
<工具交換コード挿入処理>
次に、図16により、本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理について説明する。図16は本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を示すフローチャートである。
【0095】
図16に示すように、工具交換コードをNCプログラムの適切な箇所に挿入することで、工具の摩耗量限界を越えないNCプログラムとすることが可能である。
【0096】
まず、ステップS1601では、図10のステップS1001の設定値からNCプログラムを構成するブロックの途中での工具交換の可否を判断する。
【0097】
ステップS1601でブロック途中での工具交換が可能であればステップS1602へ処理を進め、ステップS1601で不可であればステップS1603へ処理を進める。
【0098】
ステップS1602では、VBs≦VBMAX(s≦n)となる位置でブロックを分割し、工具交換コードを挿入する。
【0099】
ステップS1603では、図10のステップS1001の設定値から代替パスの検索を行うか否かを判断する。ステップS1603で代替パスを検索する場合にはステップS1604へ処理を進め、ステップS1603で検索しない場合にはステップS1608へ処理を進める。
【0100】
ステップS1604では、NCプログラムDB11から対象とするNCプログラムの代替パスを検索する。ステップS1605では、ステップS1604での検索の結果、代替パスがあればステップS1606へ処理を進め、代替パスがなければステップS1608へ処理を進める。代替パスは複数あっても構わない。
【0101】
ステップS1606では、対象のNCプログラムおよび代替パスの各パスでのVBs=VBMAX(s≦n)となるブロックの先頭での工具摩耗量VBt(t≦s)を算出する。ステップS1607では、VBtの値が最大となるパスを選択し、tの位置に工具交換コードを挿入する。対象NCプログラムのパスでのtの値が、代替パスでのtの値よりも大きければ、代替パスを利用せずに対象NCプログラムを用いる。
【0102】
ステップS1608では、VBs≦VBMAX(s≦n)となるブロックの先頭に工具交換コードを挿入する。
【0103】
<工具交換コード挿入処理を実行した例>
次に、図17および図18により、本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を実行した例について説明する。図17および図18は本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を実行した例について説明するための説明図である。
【0104】
図17に示す例では、処理間隔Δdは工具移動距離0.01mmを、最適化処理条件は図11の設定を用いることとする。この例では、ブロック途中での交換が可能であることから、図16のフローチャートにおいて、ステップS1601、S1602の順に処理が進む。
【0105】
最適化前のNCプログラム1701のブロック「Y100.」の途中、Y軸方向に53.10mm移動したところで工具摩耗量VBnが限界工具摩耗量VBMAXを越えるとする。ステップS1602の処理では、まず、VBs≦VBMAXとなる位置、すなわち53.10mmから処理間隔Δd=0.01mmを減じた53.09mmとなる位置でブロックを分割する。次に、分割したブロックの後に工具交換コードを挿入する。
【0106】
最後に、分割したブロックの残り移動量を補間するため、100mm−53.09mm=46.91mmの移動分のブロックを挿入する。以上の結果、最適化後のNCプログラム1702では、最適化前のNCプログラム1701の「Y100.」が、「Y53.09」「T1001」「Y46.91」に変換される。
【0107】
図18に示す例では、処理間隔Δdは工具移動距離0.01mmを、最適化処理条件はブロック途中での工具交換不可、代替パスの検索ありとする。また、代替パスが1つNCプログラムDB11にあるとする。この例では、ブロック途中での交換が不可であり、代替パスの検索を行い、代替パスが存在することから、図16のフローチャートにおいて、ステップS1601、S1603、S1604、S1605、S1606、S1607の順に処理が進む。
【0108】
図18の1801(50mm×30mm×30mm)のハッチング面を加工するNCプログラムのパスとして1802が入力されており、代替パスとして1803がNCプログラムDB11に登録されている。ステップS1606において、各パスでVBs≦VBMAX(s≦n)となるブロックの先頭での工具摩耗量VBt(t≦s)を算出すると、対象NCプログラムでは、t=1000の位置で、VBt=3.0、代替パスでは、t=1200の位置でVBt=3.5となった。ステップS1607において、VBtの値が最大となるパスとして代替パスを選択し、t=1200の位置に工具交換コードを挿入する。この処理により、設定された最適化条件の中で可能な限り工具摩耗量を限界工具摩耗量に近づけるNCプログラムの作成が可能となる。
【0109】
<境界摩耗を考慮した軸切込み変化加工方法>
次に、図19〜図23により、本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明する。図19〜図23は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【0110】
加工前の被削材は角材などが用いられることが多く、仕上げ加工によって設計形状に追い込む前に、機械の平行移動軸のみを用い、軸切込みを一定とすることで加工条件を上げて加工を行う荒加工を行うことが一般的である。
【0111】
荒加工では、工具逃げ面が摩耗限界に達する前に工具の交換を行っている。荒加工は仕上げ加工に比べ要求精度が低いので、工具交換は工具破損など、安全面を考慮したタイミングで行っていると言える。荒加工では、除去量が多いため、工具使用量が多く、工具交換による作業遅延や工具費の増大が課題となっている。
【0112】
図19に示すように、荒加工では摩耗の進展は境界部で顕著であり、これを境界摩耗と呼ぶ。境界摩耗が顕著となる理由として、加工面において外気と接する境界部において酸化反応が起こるため摩耗進展が大きくなるとする説がある。
【0113】
このため、工具底面から境界部までの部分での摩耗進展は、工具が被削材と接触しているにも関わらず、境界部に比べ極めて小さい。NCプログラム最適化処理部において、摩耗が進展していない領域を有効活用する加工方法を提案することで、工具費および工具交換回数の低減に寄与する。
【0114】
図20(a)に示すように、カッター径がR6の工具を用いて軸切込み3mmで加工を行うと、図20(b)の2001で示す境界摩耗が進展する。
【0115】
従来の加工方法では、図20(b)の2001で示す摩耗が摩耗限界に達した時点で工具交換を行うことが一般的である。しかし、図20(b)の2002で示す部分は加工中に被削材と接触しているにも関わらず、2001に比べて摩耗量は極めて小さく、十分利用可能である。
【0116】
ここで、軸切込み量を3mmから2mmに変化させると図20(b)の2001で示す摩耗は被削材と接触しなくなるため進展しなくなり、図20(c)の2003で示す境界摩耗が進展する。
【0117】
さらに軸切込み量を2mmから1mmに変化させることで図20(c)の2003で示す摩耗が進展しなくなり、図20(d)の2004で示す境界摩耗が進展する。
【0118】
上記のように、軸切込み量を制御し、境界摩耗を段階的に発生させる加工方法とすることで、工具を使い切ることができる。
【0119】
図21〜図23は、軸切込み1mm、軸切込み2mm、軸切込み2mmから途中で1mmに変化させた場合の3つの加工方法を比較した結果の一例である。図21において、条件2103で、軸切込みを変化させるタイミングは逃げ面摩耗VB=0.2mmとした。また、限界摩耗はVB=0.4mmとした。
【0120】
図22(a)に示すように、図21の条件2103の加工方法を用いることにより、条件2101、条件2102に比べ、限界摩耗VB=0.4mmになるまでの加工時間が長くなっており、図22(b)に示すように、限界摩耗VB=0.4mmになる工具寿命としては、最大で2倍の効果があることが分かる。
【0121】
また、図23(a)に示すように、図21の条件2103の加工方法を用いることにより、条件2101、条件2102に比べ、限界摩耗VB=0.4mmになるまでの除去体積が多くなっており、図23(b)に示すように、限界摩耗VB=0.4mmになるまでの除去体積としては、最大で1.8倍の効果があることが分かる。
【0122】
<境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理>
次に、図24により、本発明の一実施の形態に係るNCプログラム生成方法において、境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理について説明する。図24は本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を示すフローチャートである。
【0123】
まず、図24において、ステップS2201では、最適化条件を設定する。最適化条件として、軸切込み量の変化幅を設定する。設定値は、入力部1で受け付けたユーザの入力値または最適化条件設定ファイルの値を用いる。最適化条件の設定は、図11および図12に記載の内容を変更した形でも実現可能である。
【0124】
ステップS2202では、許容する限界工具摩耗量VBMAXを設定する。限界工具摩耗量VBMAXの値は入力部1が受け付けたユーザの入力値または工具摩耗DB10で保持している値を用いる。限界工具摩耗量VBMAXは軸切込み量に応じて設定してもよい。
【0125】
ステップS2203では、NCシミュレータ5により被削材の一面を切削する過程をシミュレーションする。
【0126】
ステップS2204では、工具摩耗量算出部8で取得した工具摩耗量VBnを設定する。
【0127】
ステップS2205では、限界工具摩耗量VBMAXと工具摩耗量VBnとの大小関係を判定する。ステップS2205で工具摩耗量VBnが限界工具摩耗量VBMAXを越えていなければステップS2206へ、越えていればステップS2207へ処理を進める。
【0128】
ステップS2206では、被削材の加工対象面全てを加工したかを判定する。全面加工終了していれば処理を完了し、全面加工終了していなければ、ステップS2203へ進み、次の面を加工する。
【0129】
ステップS2207では、ステップS2201の条件設定に基づき、軸切込み量を現在より小さい値に変更し、NCプログラムを再生成する。この際、軸切込み量が小さくなることで、一面切削あたりの除去体積は小さくなるため、面を切削する回数は増加し、増加分の加工パスおよびNCプログラムも生成される。
【0130】
<境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行した例>
次に、図25により、本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行した例について説明する。図25は本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【0131】
図25に示す例では、被削材2301の上面10mmにあたる2302の領域を荒加工で除去するとする。図2のフローチャートの工具摩耗量算出処理S202の結果、軸切込み2.0mmの場合、5面目の途中で限界摩耗に達するとする。従来の加工方法では、安全をみて4面目終了時点で工具交換を行い、残り1面を新しい工具で加工する必要があるため、合計で2本の工具が必要である。
【0132】
本実施の形態では、境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行するにあたり、図24に示すステップS2201では最適化条件として、軸切込み変化量1.0mmを設定するとする。また、ステップS2203においてNCシミュレータで1面ごとに切削し、ステップS2204で工具摩耗量を算出する。
【0133】
ステップS2205での判定の結果、4面まではステップS2202で設定した限界摩耗に達しないため、ステップS2206へと進み、全面加工終了していないため、ステップS2203へと戻る。5面目終了時点では限界摩耗を越えるため、ステップS2205からステップS2207へと進む。
【0134】
ステップS2207において、ステップS2201での設定により、軸切込みを2.0mmから1.0mmに変更し、NCプログラムも残り1面分から軸切込み変化に応じて2面分に変更し再生成する。再生成したNCプログラムを用いてステップS2203において5面目の加工を再度実行する。
【0135】
このように、本実施の形態では、軸切込みを変更することで工具交換を行わずに全面加工を終了することができる。この処理により、設定された最適化条件の中で可能な限り工具を使い切り、工具交換回数を少なくするNCプログラムの作成が可能となる。
【0136】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0137】
また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0138】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0139】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【産業上の利用可能性】
【0140】
本発明は、3次元形状切削を行うNC工作機械のNCプログラム生成方法に関し、工具の摩耗予測を行うシステムや装置などに広く適用可能である。
【符号の説明】
【0141】
1…入力部、2…出力部、3…CAD、4…CAM、5…NCシミュレータ、6…加工条件取得部、7…加工状態取得部、8…工具摩耗量算出部、9…NCプログラム最適化処理部、10…工具摩耗データベース(工具摩耗DB)、11…NCプログラムデータベース(NCプログラムDB)、101…処理部、102…記憶部、103…接続線。
【技術分野】
【0001】
本発明は、3次元形状切削を行うNC工作機械のNCプログラム生成方法に関し、特に、工具の摩耗予測に基づいたNCプログラムの生成に関するものである。
【背景技術】
【0002】
本技術分野の背景技術として、特開平5−138497号公報(特許文献1)、特開2004−255514号公報(特許文献2)、国際公開第00/12260号パンフレット(特許文献3)、国際公開第98/19820号パンフレット(特許文献4)に記載された技術があった。
【0003】
特許文献1には、「工具の使用時間を計測し、計測された時間に応じて工具の摩耗量を常時、推定し、工具オフセット量を補正する」と記載されている(要約参照)。
【0004】
また、特許文献2には、「摩耗量と切削距離の関係が求まるため、工具寿命が予測でき、工具交換のタイミングを決定できる」と記載されている(要約参照)。
【0005】
また、特許文献3には、加工シミュレーションにより、刃先ポイントごとの切削量、切削長積算、衝突回数から摩耗量を推定する方法が記載されている。
【0006】
また、特許文献4には、最終的に現場で利用した実加工NCプログラムを解析し、最適な加工情報、加工条件を抽出しデータベースとして用いることで、NCプログラムを最適化する方法が記載されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平5−138497号公報
【特許文献2】特開2004−255514号公報
【特許文献3】国際公開第00/12260号パンフレット
【特許文献4】国際公開第98/19820号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載のものは、計測した工具の使用時間に応じて工具の摩耗量を推定する方法が記載されているが、特許文献1の摩耗量推定方法では、実際に加工を実施しなければ工具の使用時間を計測することができないという問題があった。
【0009】
また、特許文献2には、加工実施前に工具摩耗を予測する方法として、加工経路の総切削距離や工具使用時間から摩耗量を推定する方法が記載され、特許文献3には、加工シミュレーションにより、刃先ポイントごとの切削量、切削長積算、衝突回数から摩耗量を推定する方法が記載されているが、3次元形状の切削においては、軸切込みや径切込みなどの加工状態が時々刻々変化するため、一定の加工状態での切削を前提とした総切削距離や工具使用時間に基づく特許文献2の技術や、刃先ポイントに着目した特許文献3の工具摩耗予測の技術では誤差が大きくなってしまうという問題があった。
【0010】
また、工作機械や工具、材料が同一でも、加工対象が異なり形状が複雑である場合、特許文献4の方法では工具摩耗の進展までを考慮してNCプログラムを最適化することはできないという問題があった。
【0011】
そこで、本発明の目的は、3次元形状切削において、加工実施前に工具摩耗を高精度に予測し、工具交換等を考慮したNCプログラムを生成することができるNCプログラム生成方法を提供することにある。
【0012】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0013】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【0014】
すなわち、代表的なものの概要は、NCプログラム生成方法であって、NCシミュレータにより、NCプログラムを予め設定された処理間隔ごとのNCシミュレーションを実行し、加工条件取得部により、NCシミュレータからの処理間隔ごとの加工条件を取得し、加工状態取得部により、NCシミュレータからの処理間隔ごとの加工状態を取得し、工具摩耗量算出部により、加工条件および加工状態に対応して設定された工具摩耗量の情報が登録された工具摩耗データベースから加工状態に応じた工具摩耗量を参照し、処理間隔ごとの工具摩耗量に関する情報を算出し、NCプログラム最適化処理部により、工具摩耗量算出部で算出された処理間隔ごとの工具摩耗量に関する情報に基づいて、工具を無駄なく利用できるように、NCプログラムの加工条件を変更し、NCプログラムを最適化するものである。
【発明の効果】
【0015】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【0016】
すなわち、代表的なものによって得られる効果は、工具摩耗予測に基づきNCプログラムを最適化することで、加工能率向上、工具費低減を可能とするNCプログラム生成方法を提供することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施の形態に係るNCプログラム生成方法を実施するコンピュータシステムの構成を示す構成図である。
【図2】本発明の一実施の形態に係るNCプログラム生成方法による処理の概要を示すフローチャートである。
【図3】本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量算出処理を示すフローチャートである。
【図4】本発明の一実施の形態に係るNCプログラム生成方法における切削状況を説明するための説明図である。
【図5】本発明の一実施の形態に係るNCプログラム生成方法における工具摩耗を説明するための説明図である。
【図6】本発明の一実施の形態に係るNCプログラム生成方法で使用される工具摩耗DBに登録された工具摩耗グラフの一例を示す図である。
【図7】本発明の一実施の形態に係るNCプログラム生成方法で使用される工具摩耗DBに登録された工具摩耗テーブルの一例を示す図である。
【図8】本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量の結果の一例を示す図である。
【図9】本発明の一実施の形態に係るNCプログラム生成方法による予測の出力結果の一例を示す図である。
【図10】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を示すフローチャートである。
【図11】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の最適化条件の入力画面の表示の一例を示す図である。
【図12】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の最適化条件設定ファイルの一例を示す図である。
【図13】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の加工条件最適化処理を示すフローチャートである。
【図14】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【図15】本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【図16】本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を示すフローチャートである。
【図17】本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を実行した例について説明するための説明図である。
【図18】本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を実行した例について説明するための説明図である。
【図19】本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図20】(a)〜(d)は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図21】は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図22】(a)、(b)は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図23】(a)、(b)は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【図24】本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を示すフローチャートである。
【図25】本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0019】
<NCプログラム生成方法を実施するコンピュータシステムの構成>
図1により、本発明の一実施の形態に係るNCプログラム生成方法を実施するコンピュータシステムの構成について説明する。図1は本発明の一実施の形態に係るNCプログラム生成方法を実施するコンピュータシステムの構成を示す構成図である。
【0020】
図1において、コンピュータシステムは、処理部101、記憶部102、入力部1、出力部2、NCシミュレータ5およびそれらを接続する接続線103から構成されている。接続線103にCAD3、CAM4が接続されてもよい。
【0021】
処理部101は、例えばCPUなどのプロセッサであり、記憶部102は例えばHDDや半導体メモリであり、入力部1は例えばキーボードやマウスであり、出力部2は例えばディスプレイやプリンタであり、接続線103は例えば接続コードやネットワークである。
【0022】
処理部101は、その上で記憶装置などに記憶されたプログラムを実行することによって、加工条件取得部6、加工状態取得部7、工具摩耗量算出部8、NCプログラム最適化処理部9として機能する。処理部101の記憶装置は、工具摩耗DB10、NCプログラムDB11を記憶している。この記憶装置には、最適化条件設定ファイル12を記憶しておいてもよい。
【0023】
入力部1は、ユーザの指示の入力を受け付け、出力部2は、本コンピュータシステムの処理結果を表示したり印刷したりする。
【0024】
NCシミュレータ5は、CAM4で作成されたNCプログラムまたはNCプログラムDB11に記憶されたNCプログラムをロードし、加工シミュレーションを実行する。
【0025】
加工条件取得部6は、ロードしたNCプログラムの情報から、工具回転数、工具送り速度などの加工条件を取得する。
【0026】
加工状態取得部7は、NCシミュレーションの実行結果から、径切込み量、軸切込み量、接触面積、切削体積、切削距離、加工時間などの加工状態を逐次取得する。
【0027】
工具摩耗量算出部8は、加工条件取得部6および加工状態取得部7で取得した情報を入力とし、工具摩耗データベース10を参照し、工具摩耗量を算出する。
【0028】
NCプログラム最適化処理部9は、加工条件取得部6で取得した情報および工具摩耗量算出部8で算出した工具摩耗量に基づき、NCプログラムを最適化し、最適化結果をNCプログラムデータベース11に登録する。
【0029】
工具摩耗データベース10(図中、工具摩耗DBと略す)は、実験的に求められた工具の摩耗量が登録されている。工具摩耗量は例えば、グラフ、テーブル、関数などとして登録されている。
【0030】
NCプログラムデータベース11(図中、NCプログラムDBと略す)は、既存のNCプログラムおよび最適化されたNCプログラムが登録されている。
【0031】
最適化条件設定ファイル12は、NCプログラム最適化処理部9の処理で必要な設定値が登録されている。NCプログラム最適化処理部9で直接入力を受け付ける場合には、最適化条件設定ファイル12は必須ではない。
【0032】
<NCプログラム生成方法による処理の概要>
次に、図2により、本発明の一実施の形態に係るNCプログラム生成方法による処理の概要について説明する。図2は本発明の一実施の形態に係るNCプログラム生成方法による処理の概要を示すフローチャートである。
【0033】
まず、ステップS201では、入力部1を介してNCプログラムDB11から処理対象とするNCプログラムの入力を受け付ける。ステップS202では、ステップS201で受け付けたNCプログラムについてNCシミュレーションを実行し、工具摩耗量を算出する。工具摩耗量算出処理の詳細については後述する。
【0034】
ステップS203では、ステップS202で算出した工具摩耗量に基づき最適化処理実施の是非を判定し、最適化処理の完了を決定するか、NCプログラムの最適化処理を行う。NCプログラム最適化処理の詳細については後述する。
【0035】
ステップS204では、ステップS203で最適化処理が完了したかどうかを判定し、終了していればステップS205へ処理を進め、完了していなければ、ステップS202に戻り、再度ステップS203で最適化したNCプログラムについて工具摩耗量の算出を行う。
【0036】
ステップS205では、ステップS203で最適化したNCプログラムをNCプログラムDB11に登録する。
【0037】
なお、ステップS201で入力を受け付けるNCプログラムは1つに限定されない。工程ごとに複数に分割されたNCプログラムや、同一のNCプログラムを複数個設定することが可能である。これにより1つの工具で工具交換を行わずに加工を継続した場合の工具摩耗を予測することができる。
【0038】
<工具摩耗量算出処理>
次に、図3により、本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量算出処理について説明する。図3は本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量算出処理を示すフローチャートである。
【0039】
まず、ステップS301では、NCシミュレーションの番号nと工具摩耗量VBn内部変数の値を初期化する。ステップS302では、NCシミュレーションの処理間隔をΔdとして工具移動距離を設定する。Δdの値は入力部1が受け付けたユーザの入力値または加工条件取得部6、加工状態取得部7が初期状態で保持している値を用いる。
【0040】
ステップS303では、ステップS302で設定した処理間隔ΔdだけNCシミュレーションを実行し、NCシミュレーションの番号nに1を加算する。
【0041】
ステップS304では、ステップS303で実行したNCシミュレーションの結果から加工条件取得部6、加工状態取得部7が加工条件および加工状態を取得する。ステップS305では、ステップS304で取得した加工状態の情報から処理間隔Δdの区間で工具が被削材を切削したかを判断する。
【0042】
ステップS305で切削していればステップS306へ、ステップS305で切削していなければステップS308へ処理を進める。
【0043】
ステップS306では、ステップS304で取得した加工条件、加工状態に基づき、工具摩耗DB10を参照し、処理間隔Δdの区間での工具摩耗進展量ΔVBを算出する。ステップS307では、前記算出した工具摩耗進展量ΔVBをそれまでの処理で算出した工具摩耗量VBに加算する。
【0044】
ステップS308では、処理対象のNCプログラムの終了を判定する。NCプログラムの全ブロックを処理した場合は工具摩耗量算出処理を終了し、NCプログラムに未処理のブロックがあればステップS303に戻り処理を継続する。
【0045】
ここでブロックとはNCプログラムを構成する1行分のプログラムのことである。
【0046】
また、処理間隔Δdは、工具の移動距離(メートルまたはインチ)だけでなく、工具刃先が実際に加工した距離である摺動距離(メートルまたはインチ)や、加工時間(秒または分)、切削体積(立方メートルまたは立法インチ)などが採用可能である。
【0047】
<NCプログラム生成方法で使用するデータおよび出力結果の一例>
ここで、図4〜図9により、本発明の一実施の形態に係るNCプログラム生成方法で使用するデータおよび出力結果の一例について説明する。図4は本発明の一実施の形態に係るNCプログラム生成方法における切削状況を説明するための説明図、図5は本発明の一実施の形態に係るNCプログラム生成方法における工具摩耗を説明するための説明図、図6は本発明の一実施の形態に係るNCプログラム生成方法で使用される工具摩耗DBに登録された工具摩耗グラフの一例を示す図、図7は本発明の一実施の形態に係るNCプログラム生成方法で使用される工具摩耗DBに登録された工具摩耗テーブルの一例を示す図、図8は本発明の一実施の形態に係るNCプログラム生成方法による工具摩耗量の結果の一例を示す図、図9は本発明の一実施の形態に係るNCプログラム生成方法による予測の出力結果の一例を示す図である。
【0048】
図4に示すように、1つまたは複数のカッターが付いた回転工具が回転数S(rpm)で回転しながら、送り速度F(mm/min)で進むことで被削材を切削している。また、この時の軸切込みおよび径切込みの量は、図4に示すように定義している。
【0049】
図5に示すように、工具の代表的な摩耗として、逃げ面摩耗、すくい面摩耗があり、工具摩耗の判断基準として、逃げ面摩耗の最大幅VBを用いることが一般的である。
【0050】
ただし、工具摩耗DB10に登録される工具摩耗量はこれに限定されない。例えば、カッター底面部の逃げ面摩耗VB’や、逃げ面摩耗の平均値VBAVE、すくい面摩耗の深さKTや幅KBなどが採用可能である。
【0051】
なお、図4および図5においては、丸型のカッターを用いているが、カッター形状として、四角や三角などの多角形型、菱形、さらにそれらの角部にテーパや円弧を付けたものなどが採用可能である。また、交換式のカッターだけでなく、工具と刃が一体形状となっている工具なども採用可能である。
【0052】
図6は、工具摩耗DB10に登録された工具摩耗グラフの一例(横軸:加工時間(分)、縦軸:逃げ面摩耗(mm))を示しており、図6の例では軸切込み量を一定とし、径切込み量を変化させた場合(12.5mm、25.0mm、37.5mm)の実験結果を示している。軸切込み量、径切込み量などの加工状態を変数としてもっていること、また、直線ではなく複数の変曲点を持つグラフであることを特徴としている。
【0053】
図7は工具摩耗DB10に登録された工具摩耗テーブルの一例を示しており、対象とする被削材材質、工具型番、工具径、カッターRなどの情報と、カッターの刃数、回転数、送り速度、一刃送り、切削速度、径切込み量、軸切込み量などの加工条件と、加工時間ごとの工具摩耗量が関連づけられて登録されている。
【0054】
図7の例では、テーブルの列701および列702の対象は同一(SUS403)であり、加工条件のうち径切込み量のみ変化させた場合(12.5mm、25mm)の実験結果を示している。加工時間ごとの工具摩耗量の欄は、実験で取得したデータによって空欄があったり、加工時間の列が追加されてもよい。
【0055】
また、工具摩耗DB10に登録されている工具摩耗を定義する関数の一例として、以下の数1の式を用いている。
【0056】
工具摩耗量VBnは、対象および加工状態から決定される係数αiと加工時間xの関数として定義している。ここでβは3以上の値であり、直線ではなく複数の変曲点を持つ関数であることを特徴としている。
【0057】
【数1】
【0058】
また、工具摩耗DB10に登録される関数は数1の式に限らず、切片が0であり、複数の変曲点を持つ関数が採用可能である。
【0059】
なお、図6、図7、数1の式においては、加工時間ごとの工具摩耗量を登録しているが、工具の移動距離や、工具刃先が実際に加工した距離である摺動距離、切削体積ごとの工具摩耗量などが登録データとして採用可能である。
【0060】
また、図8は工具摩耗量算出部8によって算出された工具摩耗量の予測結果を出力部2で表示した一例である。工具摩耗量がグラフとして表示され、タブ切替などにより加工時間(横軸:加工時間(分)、縦軸:逃げ面摩耗量(mm))だけでなく、工具の移動距離や、工具刃先が実際に加工した距離である摺動距離、切削体積ごとの工具摩耗量などを表示することが可能である。
【0061】
また、前記工具摩耗DB10は、予測の分布を係数や関数として持ってもよい。分布の関数として正規分布や三角型ファジィ数などが採用可能である。
【0062】
図9は分布を持った工具摩耗量予測の出力結果の一例である。工具摩耗量が正規分布901の分布を持って予測されていることがわかる。
【0063】
さらに、前記工具摩耗DB10は、対象および加工条件の組み合わせに対して限界工具摩耗量VBMAXを登録することが可能である。
【0064】
<NCプログラム最適化処理>
次に、図10〜図13により、本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理について説明する。図10は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を示すフローチャート、図11は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の最適化条件の入力画面の表示の一例を示す図、図12は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の最適化条件設定ファイルの一例を示す図、図13は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理の加工条件最適化処理を示すフローチャートである。
【0065】
まず、図10において、ステップS1001では、最適化条件を設定する。設定値は、入力部1で受け付けたユーザの入力値または最適化条件設定ファイル12の値を用いる。
【0066】
ステップS1002では、許容する限界工具摩耗量VBMAXを設定する。限界工具摩耗量VBMAXの値は入力部1が受け付けたユーザの入力値または工具摩耗DB10で保持している値を用いる。
【0067】
ステップS1003では、工具摩耗量算出部8で取得した工具摩耗量VBnを設定する。ステップS1004では、限界工具摩耗量VBMAXと工具摩耗量VBnとの乖離度を百分率で示した値γを算出する。γは以下の数2の式より算出される。
【0068】
【数2】
【0069】
ステップS1005では、ステップS1001の設定値から加工条件の変更が可能かを判断する。ステップS1005で変更可能であればステップS1006へ処理を進め、ステップS1005で変更不可であればステップS1008へ処理を進める。
【0070】
ステップS1006では、ステップS1004で算出した乖離度γの値が0より大きく、ステップS1001で設定した最適化条件γINIよりも小さいかどうかを判定する。ステップS1006で判定条件を満たせばステップS1010へ処理を進め、ステップS1006で判定条件を満たさなければステップS1007へ処理を進める。
【0071】
乖離度γの値が0より大きく、かつ、最適化条件γINIよりも小さければ、工具摩耗量VBnが限界工具摩耗量VBMAXを越えない範囲で、工具摩耗量VBnと限界工具摩耗量VBMAXとの乖離が、設定した条件内に収まっていることとなることから、最適化処理を完了してよいと判定できる。
【0072】
ステップS1007では、加工条件の最適化処理を行う。加工条件最適化処理については後述する。ステップS1008では、ステップS1004で算出した乖離度γの値が0より大きいかどうかを判定する。ステップS1008で判定条件を満たせばステップS1010へ処理を進め、ステップS1008で判定条件を満たさなければステップS1009へ処理を進める。
【0073】
加工条件の変更が不可であることから、最適化条件γINIの値に関わらず乖離度γの値が0より大きいこと、すなわち工具摩耗量VBnが限界工具摩耗量VBMAXを越えていないことを判定することで、最適化処理の完了を判定できる。
【0074】
ステップS1009では、対象とするNCプログラムに工具交換コードを挿入する処理を行う。この工具交換コード挿入処理については後述する。
【0075】
ステップS1010では、最適化処理の完了を決定し、処理を終了する。この決定は、図2に示すフローチャートのステップS204の最適化処理の完了判定に用いられる。
【0076】
図11は、NCプログラム最適化処理における最適化条件の入力画面の表示の一例である。図11に示す画面は、出力部2に表示され、入力部1でユーザの入力を受け付ける。最適化条件として、工具摩耗量乖離度γの許容限界γINI、加工条件変更の可否(可:Yes、否:No)、実行NCプログラム数の変更可否、最適化の優先条件の選択(加工時間、工具交換回数)、ブロック途中での工具交換の可否、代替パスの検索可否などが数値入力および選択式にて設定可能である。
【0077】
図12は、NCプログラム最適化処理における最適化条件設定ファイル12の一例である。図11に示す例と同様の最適化条件がiniファイルやXMLファイルなどテキスト情報として登録される。
【0078】
また、図10のステップS1007の加工条件最適化処理は、図13に示すように、工具摩耗量VBnが限界工具摩耗量VBMAXに近づくように加工条件を最適化することで、加工能率を上げて加工時間を短縮したり、あえて加工条件を下げて工具使用量を適正化することが可能である。
【0079】
まず、ステップS1301では、工具摩耗量VBnと限界工具摩耗量VBMAXとを比較する。ステップS1301で工具摩耗量VBnの方が大きければステップS1302へ処理を進め、ステップS1301で工具摩耗量VBnの方が大きくなければステップS1309へ処理を進める。
【0080】
ステップS1302では、入力を受け付けたNCプログラムの数を確認し、NCプログラムが複数あればステップS1303へ処理を進め、NCプログラムが1つであればステップS1308へ処理を進める。
【0081】
ステップS1303では、図10のステップS1001の設定値から実行するNCプログラムの数を変更可能かを判断する。ステップS1303で変更可能であればステップS1304へ処理を進め、ステップS1303で変更不可であればステップS1308へ処理を進める。
【0082】
ステップS1304では、図10のステップS1001の設定値から優先する最適化条件を判断する。ステップS1304で加工時間優先であればステップS1305へ処理を進め、ステップS1304で加工時間優先ではなく工具交換回数優先であればステップS1308へ処理を進める。
【0083】
ステップS1305では、複数あるNCプログラムから一番最後のNCプログラム1つを実行対象から除く処理を行う。ステップS1306では、実行するNCプログラムを1つ除いた場合の工具摩耗量VBnと限界工具摩耗量VBMAXとを比較する。
【0084】
ステップS1306でNCプログラムを1つ除いても工具摩耗量VBnの方が大きければステップS1307へ処理を進め、ステップS1306で工具摩耗量VBnの方が小さければステップS1309へ処理を進める。
【0085】
ステップS1307では、実行NCプログラムの残り数を確認し、最後の1つであれば、加工条件を上げることができないためステップS1308へ処理を進め、複数残っていればステップS1305へ戻る。
【0086】
ステップS1308では、本処理を行う場合の乖離度γは負であるため、加工条件を|γ|%下げることで、工具摩耗量VBnが限界工具摩耗量VBMAXを下回るようにし、設定した工具で加工が終了できるようNCプログラムを最適化する。
【0087】
ステップS1309では、本処理を行う場合の乖離度γは正であるため、加工条件をγ%上げることで、工具摩耗量VBnを限界工具摩耗量VBMAXに近づけ、設定した工具を無駄なく使い切るようNCプログラムを最適化する。
【0088】
加工条件を変更する場合、一刃送りを一定とし、回転数を変更することで、切削速度、送り速度を回転数に伴い変更する方法が一般的であるが、本実施の形態での加工条件最適化はこの方法に限定されない。例えば、回転数を一定とし、一刃送りを変更することで、送り速度を一刃送りに伴い変更する方法が採用可能である。
【0089】
<加工条件最適化処理を実行した例>
次に、図14および図15により、本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を実行した例について説明する。図14および図15は本発明の一実施の形態に係るNCプログラム生成方法によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【0090】
図14に示す例では、最適化処理条件は、図11に示す設定を用いることとする。この例では、VBn=3.2mm、VBMAX=4.0mmであり、工具摩耗量VBnの方が限界工具摩耗量VBMAXより小さいことから、図13のフローチャートにおいて、ステップS1301、S1309の順に処理が進む。ステップS1309において、乖離度γ=20(%)より、加工条件を20%上げる。この例では、一刃送りを一定とし、回転数を1000rpmから1200rpmへと20%増加させることで、切削速度が157m/minから188m/minに、送り速度が200mm/minから240mm/minに向上し、加工時間を20%短縮する結果となっている。最適化後、図2のステップS204からステップS202に戻り、最適化後のNCプログラムの工具摩耗量を算出し、ステップS203へと処理が進む。VBn=3.9mm、VBMAX=4.0mmから乖離度γ=2.5(%)となり、図10のステップS1006を満たし、ステップS1010の処理にて、最適化処理が完了する。
【0091】
図15に示す例では、最適化処理条件は、図11の設定を用いることとする。この例では、VBn=5.0mm、VBMAX=4.0mmであり、工具摩耗量VBnの方が限界工具摩耗量VBMAXより大きく、NCプログラムが複数あり、最適化条件において実行NCプログラム数の変更が不可であることから、図13のフローチャートにおいて、ステップS1301、S1302、S1303、S1308の順に処理が進む。
【0092】
ステップS1308において、乖離度γ=−25(%)より、加工条件を25%下げる。この例では、一刃送りを一定とし、回転数を1400rpmから1050rpmへと25%減少させることで、切削速度が220m/minから165m/minに、送り速度が280mm/minから210mm/minに下げることで、加工時間は25%増加するが、工具交換なしに2つのNCプログラムからなる加工工程を終了可能とする結果となっている。
【0093】
最適化後、図2のステップS204からステップS202に戻り、最適化後のNCプログラムの工具摩耗量を算出し、ステップS203へと処理が進む。VBn=3.95mm、VBMAX=4.0mmから乖離度γ=1.25(%)となり、図10のステップS1006を満たし、ステップS1010の処理にて、最適化処理が完了する。
【0094】
<工具交換コード挿入処理>
次に、図16により、本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理について説明する。図16は本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を示すフローチャートである。
【0095】
図16に示すように、工具交換コードをNCプログラムの適切な箇所に挿入することで、工具の摩耗量限界を越えないNCプログラムとすることが可能である。
【0096】
まず、ステップS1601では、図10のステップS1001の設定値からNCプログラムを構成するブロックの途中での工具交換の可否を判断する。
【0097】
ステップS1601でブロック途中での工具交換が可能であればステップS1602へ処理を進め、ステップS1601で不可であればステップS1603へ処理を進める。
【0098】
ステップS1602では、VBs≦VBMAX(s≦n)となる位置でブロックを分割し、工具交換コードを挿入する。
【0099】
ステップS1603では、図10のステップS1001の設定値から代替パスの検索を行うか否かを判断する。ステップS1603で代替パスを検索する場合にはステップS1604へ処理を進め、ステップS1603で検索しない場合にはステップS1608へ処理を進める。
【0100】
ステップS1604では、NCプログラムDB11から対象とするNCプログラムの代替パスを検索する。ステップS1605では、ステップS1604での検索の結果、代替パスがあればステップS1606へ処理を進め、代替パスがなければステップS1608へ処理を進める。代替パスは複数あっても構わない。
【0101】
ステップS1606では、対象のNCプログラムおよび代替パスの各パスでのVBs=VBMAX(s≦n)となるブロックの先頭での工具摩耗量VBt(t≦s)を算出する。ステップS1607では、VBtの値が最大となるパスを選択し、tの位置に工具交換コードを挿入する。対象NCプログラムのパスでのtの値が、代替パスでのtの値よりも大きければ、代替パスを利用せずに対象NCプログラムを用いる。
【0102】
ステップS1608では、VBs≦VBMAX(s≦n)となるブロックの先頭に工具交換コードを挿入する。
【0103】
<工具交換コード挿入処理を実行した例>
次に、図17および図18により、本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を実行した例について説明する。図17および図18は本発明の一実施の形態に係るNCプログラム生成方法による工具交換コード挿入処理を実行した例について説明するための説明図である。
【0104】
図17に示す例では、処理間隔Δdは工具移動距離0.01mmを、最適化処理条件は図11の設定を用いることとする。この例では、ブロック途中での交換が可能であることから、図16のフローチャートにおいて、ステップS1601、S1602の順に処理が進む。
【0105】
最適化前のNCプログラム1701のブロック「Y100.」の途中、Y軸方向に53.10mm移動したところで工具摩耗量VBnが限界工具摩耗量VBMAXを越えるとする。ステップS1602の処理では、まず、VBs≦VBMAXとなる位置、すなわち53.10mmから処理間隔Δd=0.01mmを減じた53.09mmとなる位置でブロックを分割する。次に、分割したブロックの後に工具交換コードを挿入する。
【0106】
最後に、分割したブロックの残り移動量を補間するため、100mm−53.09mm=46.91mmの移動分のブロックを挿入する。以上の結果、最適化後のNCプログラム1702では、最適化前のNCプログラム1701の「Y100.」が、「Y53.09」「T1001」「Y46.91」に変換される。
【0107】
図18に示す例では、処理間隔Δdは工具移動距離0.01mmを、最適化処理条件はブロック途中での工具交換不可、代替パスの検索ありとする。また、代替パスが1つNCプログラムDB11にあるとする。この例では、ブロック途中での交換が不可であり、代替パスの検索を行い、代替パスが存在することから、図16のフローチャートにおいて、ステップS1601、S1603、S1604、S1605、S1606、S1607の順に処理が進む。
【0108】
図18の1801(50mm×30mm×30mm)のハッチング面を加工するNCプログラムのパスとして1802が入力されており、代替パスとして1803がNCプログラムDB11に登録されている。ステップS1606において、各パスでVBs≦VBMAX(s≦n)となるブロックの先頭での工具摩耗量VBt(t≦s)を算出すると、対象NCプログラムでは、t=1000の位置で、VBt=3.0、代替パスでは、t=1200の位置でVBt=3.5となった。ステップS1607において、VBtの値が最大となるパスとして代替パスを選択し、t=1200の位置に工具交換コードを挿入する。この処理により、設定された最適化条件の中で可能な限り工具摩耗量を限界工具摩耗量に近づけるNCプログラムの作成が可能となる。
【0109】
<境界摩耗を考慮した軸切込み変化加工方法>
次に、図19〜図23により、本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明する。図19〜図23は本発明の一実施の形態に係るNCプログラム生成方法による軸切込み変化加工について説明するための説明図である。
【0110】
加工前の被削材は角材などが用いられることが多く、仕上げ加工によって設計形状に追い込む前に、機械の平行移動軸のみを用い、軸切込みを一定とすることで加工条件を上げて加工を行う荒加工を行うことが一般的である。
【0111】
荒加工では、工具逃げ面が摩耗限界に達する前に工具の交換を行っている。荒加工は仕上げ加工に比べ要求精度が低いので、工具交換は工具破損など、安全面を考慮したタイミングで行っていると言える。荒加工では、除去量が多いため、工具使用量が多く、工具交換による作業遅延や工具費の増大が課題となっている。
【0112】
図19に示すように、荒加工では摩耗の進展は境界部で顕著であり、これを境界摩耗と呼ぶ。境界摩耗が顕著となる理由として、加工面において外気と接する境界部において酸化反応が起こるため摩耗進展が大きくなるとする説がある。
【0113】
このため、工具底面から境界部までの部分での摩耗進展は、工具が被削材と接触しているにも関わらず、境界部に比べ極めて小さい。NCプログラム最適化処理部において、摩耗が進展していない領域を有効活用する加工方法を提案することで、工具費および工具交換回数の低減に寄与する。
【0114】
図20(a)に示すように、カッター径がR6の工具を用いて軸切込み3mmで加工を行うと、図20(b)の2001で示す境界摩耗が進展する。
【0115】
従来の加工方法では、図20(b)の2001で示す摩耗が摩耗限界に達した時点で工具交換を行うことが一般的である。しかし、図20(b)の2002で示す部分は加工中に被削材と接触しているにも関わらず、2001に比べて摩耗量は極めて小さく、十分利用可能である。
【0116】
ここで、軸切込み量を3mmから2mmに変化させると図20(b)の2001で示す摩耗は被削材と接触しなくなるため進展しなくなり、図20(c)の2003で示す境界摩耗が進展する。
【0117】
さらに軸切込み量を2mmから1mmに変化させることで図20(c)の2003で示す摩耗が進展しなくなり、図20(d)の2004で示す境界摩耗が進展する。
【0118】
上記のように、軸切込み量を制御し、境界摩耗を段階的に発生させる加工方法とすることで、工具を使い切ることができる。
【0119】
図21〜図23は、軸切込み1mm、軸切込み2mm、軸切込み2mmから途中で1mmに変化させた場合の3つの加工方法を比較した結果の一例である。図21において、条件2103で、軸切込みを変化させるタイミングは逃げ面摩耗VB=0.2mmとした。また、限界摩耗はVB=0.4mmとした。
【0120】
図22(a)に示すように、図21の条件2103の加工方法を用いることにより、条件2101、条件2102に比べ、限界摩耗VB=0.4mmになるまでの加工時間が長くなっており、図22(b)に示すように、限界摩耗VB=0.4mmになる工具寿命としては、最大で2倍の効果があることが分かる。
【0121】
また、図23(a)に示すように、図21の条件2103の加工方法を用いることにより、条件2101、条件2102に比べ、限界摩耗VB=0.4mmになるまでの除去体積が多くなっており、図23(b)に示すように、限界摩耗VB=0.4mmになるまでの除去体積としては、最大で1.8倍の効果があることが分かる。
【0122】
<境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理>
次に、図24により、本発明の一実施の形態に係るNCプログラム生成方法において、境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理について説明する。図24は本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を示すフローチャートである。
【0123】
まず、図24において、ステップS2201では、最適化条件を設定する。最適化条件として、軸切込み量の変化幅を設定する。設定値は、入力部1で受け付けたユーザの入力値または最適化条件設定ファイルの値を用いる。最適化条件の設定は、図11および図12に記載の内容を変更した形でも実現可能である。
【0124】
ステップS2202では、許容する限界工具摩耗量VBMAXを設定する。限界工具摩耗量VBMAXの値は入力部1が受け付けたユーザの入力値または工具摩耗DB10で保持している値を用いる。限界工具摩耗量VBMAXは軸切込み量に応じて設定してもよい。
【0125】
ステップS2203では、NCシミュレータ5により被削材の一面を切削する過程をシミュレーションする。
【0126】
ステップS2204では、工具摩耗量算出部8で取得した工具摩耗量VBnを設定する。
【0127】
ステップS2205では、限界工具摩耗量VBMAXと工具摩耗量VBnとの大小関係を判定する。ステップS2205で工具摩耗量VBnが限界工具摩耗量VBMAXを越えていなければステップS2206へ、越えていればステップS2207へ処理を進める。
【0128】
ステップS2206では、被削材の加工対象面全てを加工したかを判定する。全面加工終了していれば処理を完了し、全面加工終了していなければ、ステップS2203へ進み、次の面を加工する。
【0129】
ステップS2207では、ステップS2201の条件設定に基づき、軸切込み量を現在より小さい値に変更し、NCプログラムを再生成する。この際、軸切込み量が小さくなることで、一面切削あたりの除去体積は小さくなるため、面を切削する回数は増加し、増加分の加工パスおよびNCプログラムも生成される。
【0130】
<境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行した例>
次に、図25により、本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行した例について説明する。図25は本発明の一実施の形態に係るNCプログラム生成方法において境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行した例について説明するための説明図である。
【0131】
図25に示す例では、被削材2301の上面10mmにあたる2302の領域を荒加工で除去するとする。図2のフローチャートの工具摩耗量算出処理S202の結果、軸切込み2.0mmの場合、5面目の途中で限界摩耗に達するとする。従来の加工方法では、安全をみて4面目終了時点で工具交換を行い、残り1面を新しい工具で加工する必要があるため、合計で2本の工具が必要である。
【0132】
本実施の形態では、境界摩耗を考慮した軸切込み変化加工によるNCプログラム最適化処理を実行するにあたり、図24に示すステップS2201では最適化条件として、軸切込み変化量1.0mmを設定するとする。また、ステップS2203においてNCシミュレータで1面ごとに切削し、ステップS2204で工具摩耗量を算出する。
【0133】
ステップS2205での判定の結果、4面まではステップS2202で設定した限界摩耗に達しないため、ステップS2206へと進み、全面加工終了していないため、ステップS2203へと戻る。5面目終了時点では限界摩耗を越えるため、ステップS2205からステップS2207へと進む。
【0134】
ステップS2207において、ステップS2201での設定により、軸切込みを2.0mmから1.0mmに変更し、NCプログラムも残り1面分から軸切込み変化に応じて2面分に変更し再生成する。再生成したNCプログラムを用いてステップS2203において5面目の加工を再度実行する。
【0135】
このように、本実施の形態では、軸切込みを変更することで工具交換を行わずに全面加工を終了することができる。この処理により、設定された最適化条件の中で可能な限り工具を使い切り、工具交換回数を少なくするNCプログラムの作成が可能となる。
【0136】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【0137】
また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0138】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0139】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【産業上の利用可能性】
【0140】
本発明は、3次元形状切削を行うNC工作機械のNCプログラム生成方法に関し、工具の摩耗予測を行うシステムや装置などに広く適用可能である。
【符号の説明】
【0141】
1…入力部、2…出力部、3…CAD、4…CAM、5…NCシミュレータ、6…加工条件取得部、7…加工状態取得部、8…工具摩耗量算出部、9…NCプログラム最適化処理部、10…工具摩耗データベース(工具摩耗DB)、11…NCプログラムデータベース(NCプログラムDB)、101…処理部、102…記憶部、103…接続線。
【特許請求の範囲】
【請求項1】
数値制御装置により制御される工作機械で使用されるNCプログラムを生成するNCプログラム生成方法であって、
NCシミュレータにより、前記NCプログラムを予め設定された処理間隔ごとのNCシミュレーションを実行し、
加工条件取得部により、前記NCシミュレータからの前記処理間隔ごとの加工条件を取得し、
加工状態取得部により、前記NCシミュレータからの前記処理間隔ごとの加工状態を取得し、
工具摩耗量算出部により、前記加工条件および前記加工状態に対応して設定された工具の工具摩耗量の情報が登録された工具摩耗データベースから加工状態に応じた工具摩耗量を参照し、前記処理間隔ごとの工具摩耗量に関する情報を算出し、
NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記処理間隔ごとの工具摩耗量に関する情報に基づいて、前記工具を無駄なく利用できるように、前記NCプログラムの加工条件を変更し、前記NCプログラムを最適化することを特徴とするNCプログラム生成方法。
【請求項2】
請求項1に記載のNCプログラム生成方法において、
前記工具摩耗データベースに登録された工具摩耗情報は、前記加工条件および前記加工状態に対応した複数の異なるグラフ、テーブル、または関数からなり、前記グラフまたは関数は複数の変曲点を有することを特徴とするNCプログラム生成方法。
【請求項3】
請求項1に記載のNCプログラム生成方法において、
前記工具摩耗量算出部により算出される工具摩耗量が分布を持つことを特徴とするNCプログラム生成方法。
【請求項4】
請求項1に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報が、予め設定された前記工具の限界工具摩耗量を越える場合に、前記限界工具摩耗量を越えないように前記加工条件を下げることを特徴とするNCプログラム生成方法。
【請求項5】
請求項1に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報が、予め設定された前記工具の限界工具摩耗量を下回る場合に、前記限界工具摩耗量を越えない範囲で前記加工条件を上げることを特徴とするNCプログラム生成方法。
【請求項6】
請求項1に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報に基づいて、予め設定された前記工具の限界工具摩耗量を越えないように前記工具の工具交換箇所を指定することを特徴とするNCプログラム生成方法。
【請求項7】
請求項6に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報に基づいて、前記NCプログラムを構成する1つのプログラムを分割することを特徴とするNCプログラム生成方法。
【請求項8】
請求項1に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部での処理が、前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報に基づいて、軸方向切込み量を変化させることで摩耗進展箇所を変化させるNCプログラムを生成することを特徴とするNCプログラム生成方法。
【請求項9】
被加工体の形状を回転工具で所定の三次元形状に加工する切削加工方法において、
前記回転工具による切削は、切削開始当初は軸切込み量を大きくして加工し、境界摩耗が一定値に達した段階で、軸切込み量を小さくして加工することで、境界摩耗が進展する位置を変化させることを特徴とする切削加工方法。
【請求項1】
数値制御装置により制御される工作機械で使用されるNCプログラムを生成するNCプログラム生成方法であって、
NCシミュレータにより、前記NCプログラムを予め設定された処理間隔ごとのNCシミュレーションを実行し、
加工条件取得部により、前記NCシミュレータからの前記処理間隔ごとの加工条件を取得し、
加工状態取得部により、前記NCシミュレータからの前記処理間隔ごとの加工状態を取得し、
工具摩耗量算出部により、前記加工条件および前記加工状態に対応して設定された工具の工具摩耗量の情報が登録された工具摩耗データベースから加工状態に応じた工具摩耗量を参照し、前記処理間隔ごとの工具摩耗量に関する情報を算出し、
NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記処理間隔ごとの工具摩耗量に関する情報に基づいて、前記工具を無駄なく利用できるように、前記NCプログラムの加工条件を変更し、前記NCプログラムを最適化することを特徴とするNCプログラム生成方法。
【請求項2】
請求項1に記載のNCプログラム生成方法において、
前記工具摩耗データベースに登録された工具摩耗情報は、前記加工条件および前記加工状態に対応した複数の異なるグラフ、テーブル、または関数からなり、前記グラフまたは関数は複数の変曲点を有することを特徴とするNCプログラム生成方法。
【請求項3】
請求項1に記載のNCプログラム生成方法において、
前記工具摩耗量算出部により算出される工具摩耗量が分布を持つことを特徴とするNCプログラム生成方法。
【請求項4】
請求項1に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報が、予め設定された前記工具の限界工具摩耗量を越える場合に、前記限界工具摩耗量を越えないように前記加工条件を下げることを特徴とするNCプログラム生成方法。
【請求項5】
請求項1に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報が、予め設定された前記工具の限界工具摩耗量を下回る場合に、前記限界工具摩耗量を越えない範囲で前記加工条件を上げることを特徴とするNCプログラム生成方法。
【請求項6】
請求項1に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報に基づいて、予め設定された前記工具の限界工具摩耗量を越えないように前記工具の工具交換箇所を指定することを特徴とするNCプログラム生成方法。
【請求項7】
請求項6に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報に基づいて、前記NCプログラムを構成する1つのプログラムを分割することを特徴とするNCプログラム生成方法。
【請求項8】
請求項1に記載のNCプログラム生成方法において、
前記NCプログラム最適化処理部での処理が、前記NCプログラム最適化処理部により、前記工具摩耗量算出部で算出された前記工具摩耗量に関する情報に基づいて、軸方向切込み量を変化させることで摩耗進展箇所を変化させるNCプログラムを生成することを特徴とするNCプログラム生成方法。
【請求項9】
被加工体の形状を回転工具で所定の三次元形状に加工する切削加工方法において、
前記回転工具による切削は、切削開始当初は軸切込み量を大きくして加工し、境界摩耗が一定値に達した段階で、軸切込み量を小さくして加工することで、境界摩耗が進展する位置を変化させることを特徴とする切削加工方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図9】
【公開番号】特開2012−208921(P2012−208921A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2012−17485(P2012−17485)
【出願日】平成24年1月31日(2012.1.31)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願日】平成24年1月31日(2012.1.31)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]