(58)【調査した分野】(Int.Cl.,DB名)
前記加工位置決定部は、前記ワークを複数の領域に分割し、前の前記加工穴と同じ前記領域内において次の前記加工穴を決定し、前記領域内の全ての前記加工穴の加工が終了した場合は他の前記領域内において次の前記加工穴を決定することを特徴とする
請求項2記載の数値制御装置。
前記熱影響計算部は、前記加工位置及び前記加工形状で前記加工穴を加工した場合の前記ワークの温度の時間変化を、前記ワーク上に複数設けられた測定点又は小区画において求め、
前記加工位置決定部は、前記測定点又は小区画のいずれかにおいて、前の加工穴の加工で生じる熱と、次の加工穴の加工で生じる熱と、に基づいて算出される合算温度がTt以上である場合に前記ワークが熱変形を生じるものと判定し、
前記温度Ttはワークが熱変形を生じうる温度であることを特徴とする
請求項1記載の数値制御装置。
【発明を実施するための形態】
【0011】
<実施の形態1>
本発明の実施形態1による数値制御装置1は、ワークの熱伝導性を考慮して、熱の影響を受けない加工位置(加工穴の位置)を決定する。また、熱の影響を受けない加工順序を決定できる。さらに、熱の影響を受けない加工を行うための加工プログラムを自動生成できる。
【0012】
図15は、数値制御装置1の要部を示す概略的なハードウェア構成図である。数値制御装置1は、加工機の制御を行う装置である。数値制御装置1は、CPU11、ROM12、RAM13、不揮発性メモリ14、インタフェース18、バス10、軸制御回路16、サーボアンプ17を有する。数値制御装置1には、サーボモータ50、入出力装置60が接続される。
【0013】
CPU11は、数値制御装置1を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステム・プログラムをバス10を介して読み出し、システム・プログラムに従って数値制御装置1全体を制御する。
【0014】
ROM12は、加工機の各種制御等を実行するためのシステム・プログラムを予め格納している。
【0015】
RAM13は、一時的な計算データや表示データ、後述する入出力装置60を介してオペレータが入力したデータやプログラム等を一時的に格納する。
【0016】
不揮発性メモリ14は、例えば図示しないバッテリでバックアップされており、数値制御装置1の電源が遮断されても記憶状態を保持する。不揮発性メモリ14は、入出力装置60から入力されるデータやプログラム等を格納する。不揮発性メモリ14に記憶されたプログラムやデータは、実行時及び利用時にはRAM13に展開されても良い。
【0017】
軸制御回路16は、加工機の動作軸を制御する。軸制御回路16は、CPU11が出力する軸の移動指令量を受けて、軸の移動指令をサーボアンプ17に出力する。
【0018】
サーボアンプ17は、軸制御回路16が出力する軸の移動指令を受けて、サーボモータ50を駆動する。
【0019】
サーボモータ50は、サーボアンプ17により駆動されて加工機の動作軸を動かす。サーボモータ50は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号が軸制御回路16にフィードバックされることで、位置・速度のフィードバック制御が行われる。
【0020】
なお、
図15では軸制御回路16、サーボアンプ17、サーボモータ50は1つずつしか示されていないが、実際には制御対象となる加工機に備えられた軸の数だけ用意される。例えば、3軸を備えた加工機を制御する場合、それぞれの軸に対応する軸制御回路16、サーボアンプ17、サーボモータ50が合計3セット用意される。
【0021】
入出力装置60は、ディスプレイやハードウェアキー等を備えたデータ入出力装置であり、典型的には操作盤である。入出力装置60は、インタフェース18を介してCPU11から受けた情報をディスプレイに表示する。入出力装置60は、ハードウェアキー等から入力された指令やデータ等をインタフェース18を介してCPU11に渡す。入出力装置60によれば、例えば不揮発性メモリ14に格納されたプログラムをディスプレイに表示させ、ハードウェアキーにより編集することができる。
【0022】
図16は、数値制御装置1の概略的な機能構成を示すブロック図である。数値制御装置1は、熱影響計算部101、加工位置決定部102、加工部103を有する。
【0023】
熱影響計算部101は、加工プログラムに記述されている各加工穴について、加工を行った場合に発生する熱の分布を算出する。ここで各加工穴は、加工位置(例えば加工穴の中心等)及び加工形状(加工穴の形状)を有する。すなわち本実施の形態では各加工穴は形状が異なっていて良い。
【0024】
図17及び
図18は、穴あけ加工により生じるワークの熱分布の一例を示す図である。破線は加工形状を示す。実線の閉図形は温度の等しい地点を結んだ等温線であり、内側に位置するものほど温度が高い。
図17は、丸穴をパンチプレスにより加工した場合の熱分布を示す。丸穴の中心(加工位置)を中心に、同心円状に熱が分布している。
図18は、角穴をレーザ加工した場合の熱分布を示す。丸穴の場合とは異なり、コーナー部に熱が集中した歪な熱分布となる。
【0025】
また熱影響計算部101は、各加工穴について、熱影響の最大範囲を算出することができる。熱影響の最大範囲とは、穴あけ加工を行った場合に発生する熱が、次の加工穴の加工精度に影響を及ぼしうる程度に伝播する範囲のことをいう。本実施の形態では、ワークが熱変形を起こしうる温度の下限(すなわち熱変形が生じ始める温度)をTt度として、加工によりワーク温度がTt/2度以上となる範囲を熱影響の最大範囲とする。
図3に、加工穴と、熱影響の最大範囲と、の一例を示す。加工穴の形状が異なると、熱影響の最大範囲も異なることが示されている。
【0026】
加工により発生した熱は、加工直後ほぼ一瞬にしてワーク内の一定範囲に伝播するが、時間経過とともに徐々に放熱するので、等温線が縮小する方向に熱分布が経時変化する。
図5に示すように、加工後のワークの熱影響の最大範囲は、加工直後が最大となり、放熱により時間経過とともに縮小する。すなわち、加工後、次の加工位置に工具が早送りで移動するあいだ、移動時間の経過とともに熱影響の最大範囲は縮小する。換言すれば、加工後のワークの熱分布又は熱影響の最大範囲は時間の関数として表される。
【0027】
熱影響計算部101による熱分布の計算手法を4例示す。
・熱分布の計算手法(1)
熱影響計算部101は、例えば、有限要素法をはじめとする、熱分布を計算可能な公知の計算手法を用いて、各加工穴の加工を行った場合の熱分布を逐次計算することができる。この場合、計算に必要な各種定数や固有値等は予め取得又は特定され、所定の記憶領域に格納されているものとする。
【0028】
有限要素法は、解析的に解くことが難しい微分方程式や偏微分方程式で記述される現象を近似的に解くための離散化手法である。複雑な形状や性質を持つ物体を単純な小区画に分割し(
図4参照)、各小区画について挙動を計算することで、全体の挙動を予測する。
【0029】
熱影響計算部101は、例えば次の熱伝導方程式を有限要素法と組み合わせる。すなわち各小区画について熱伝導方程式を計算することで、ある時間における各小区画の温度と、ワーク全体の熱分布と、を特定する。
【0030】
【数1】
Cv:比熱と密度の積 (J/m
3)
T:温度 (K)
t:時間 (sec)
λ:熱伝導率 (J/(m・sec・K))
q(t):流入した単位時間・単位体積あたりの熱量(レーザ照射熱、パンチの摩擦熱など) (J/ sec・ m
3)
【0031】
ここでCv,λはワーク素材によって異なる定数、q(t)はレーザ発振器等に固有の値である。熱影響計算部101は各小区画においてこの計算を行うことで、各小区画での、加工からの経過時間tにおけるワーク温度を求めることができる。
【0032】
・熱分布の計算手法(2)
熱影響計算部101は、熱分布の計算手法(1)において経過時間tにおけるワーク温度がTt/2以上となる小区画(又はその代表点)をまとめることにより、熱影響の最大範囲を求めることができる。この熱影響の最大範囲を用いることで、後述するように、少ない計算資源で高速に加工位置の適否を判定することが可能となる。
【0033】
・熱分布の計算手法(3)
上述の熱分布の計算手法(1)によれば、任意のワーク形状、ワーク素材及び加工形状等の下での熱分布を計算できるが、相当の計算リソースも必要である。熱分布の計算手法(
3)では、熱影響計算部101は、熱分布の計算手法(1)で得られた計算結果をデータベースに蓄積しておく。より具体的には、例えばワーク形状、加工形状及びCv,λ,q(t)等の定数ごとに、各小区画での、加工からの経過時間tにおけるワーク温度をデータベースに蓄積する。
【0034】
次回以降、同様の条件下で再び加工を行う場合には、熱影響計算部101はこのデータベースを参照することで、各小区画での、加工からの経過時間tにおけるワーク温度を求めることができる。また熱影響計算部101は、経過時間tにおけるワーク温度がTt/2以上となる小区画(又はその代表点)をまとめることにより、熱影響の最大範囲を求めることができる。
【0035】
・熱分布の計算手法(4)
熱影響計算部101は、実際にサンプル加工を行い、サーモグラフィ等の温度計測手段を使用してワークの温度を測定した結果を参照して、各加工穴の加工を行った場合の熱分布を特定することもできる。例えばあるワークに対し、ある加工形状で穴あけ加工を行った場合のワークの温度を、所定時間毎に複数の測定点で測定し、測定結果をデータベース化又は数式化するなどして蓄積する。より具体的には、例えばワーク形状、加工形状及びCv,λ,q(t)等の定数ごとに、加工位置からの距離、加工からの経過時間、ワーク温度を対応付けてデータベースに蓄積する。
【0036】
熱影響計算部101は、このデータベースを参照することで、各測定点での、加工からの経過時間tにおけるワーク温度を求めることができる。また熱影響計算部101は、経過時間tにおけるワーク温度がTt/2となる測定点を接続することにより、熱影響の最大範囲(の外縁を示す閉図形)を求めることができる。
【0037】
加工位置決定部102は、熱影響計算部101の計算した熱分布又は熱影響の最大範囲と、次の加工位置までの移動時間と、に基づいて、次の加工位置を決定する。ここで移動時間とは、前の加工位置で加工穴の加工を行ってから、次の加工位置で加工穴の加工を開始するまでの経過時間をいう。
【0038】
・加工位置の決定手法(1)
加工位置決定部102は、上述の熱分布の計算手法(2)により求められる熱影響の最大範囲を使用して、前回の加工で発生した熱の影響を受けない最も近い未加工位置を探し出すことができる。本手法では、熱影響の最大範囲という幾何学的情報を使用して、加工位置の適否を判定する。この手法は後述の加工位置の決定手法(2)乃至(4)に比べて計算が簡易で済み、少ない計算資源で高速に加工位置を決定することができる。
【0039】
ステップ1.前回の加工位置から未加工位置Pまでの移動時間tを算出する。すなわち前回の加工位置から移動時間t経過後に未加工位置Pで加工が行われるものと仮定する。未加工位置Pの初期値は、前回の加工位置から最も近い未加工位置とする。
ステップ2.熱分布の計算手法(2)により、前回の加工から移動時間t経過後の、前回の加工による熱影響の最大範囲A1(t)を求める。
ステップ3.熱分布の計算手法(2)により、移動時間t経過時点において未加工位置Pで加工を行ったことによる、加工直後の熱影響の最大範囲A2(t)を求める。
ステップ4.A1(t)とA2(t)が干渉、すなわち少なくとも一部が重なり合っているか否か判定する。干渉している場合は、ステップ6に遷移する。この場合はワーク温度がTt以上になる領域があるので、未加工位置Pは次の加工位置としてふさわしくない(熱変形が起こる可能性がある)ことになる。干渉していない場合は(
図6参照)、ステップ5に遷移する。
ステップ5.未加工位置Pを、次の加工位置として決定する。
ステップ6.未加工位置Pを、未加工位置Pの次に前回の加工位置に近い未加工位置で更新し、ステップ1以降の計算を繰り返す。
【0040】
・加工位置の決定手法(2)
加工位置決定部102は、上述の熱分布の計算手法(1)により算出した熱分布を使用して、前回の加工で発生した熱の影響を受けない最も近い未加工位置を探し出すことができる。上述の加工位置の決定手法(1)に比べより精緻に未加工位置を探索できる。
【0041】
ステップ1.前回の加工位置から未加工位置Pまでの移動時間tを算出する。すなわち前回の加工位置から移動時間t経過後に未加工位置Pで加工が行われるものと仮定する。未加工位置Pの初期値は、前回の加工位置から最も近い未加工位置とする。
ステップ2.熱分布の計算手法(1)により、前回の加工から移動時間t経過後の、ワークの熱分布を求める。具体的には、前回の加工から移動時間t経過後の、ワーク上に設定された複数の小区画におけるワークの温度を求める。
ステップ3.熱分布の計算手法(1)により、移動時間t経過時点において未加工位置Pで加工を行ったことによる、加工直後の熱分布を求める。具体的には、未加工位置Pでの加工直後の、ワーク上に設定された複数の小区画におけるワークの温度を求める。
ステップ4.ワーク上の各測定点において、ステップ
2で求めた温度(前回の加工によるもの)とステップ
3で求めた温度(未加工位置Pでの加工によるもの)とを合算し、合算温度がTt以上となる小区画が存在するか否か判定する。存在する場合は、ステップ6に遷移する。この場合はワーク温度がTt以上になる点があるので、未加工位置Pは次の加工位置としてふさわしくない(熱変形が起こる可能性がある)ことになる。存在しない場合は、ステップ5に遷移する。
ステップ5.未加工位置Pを、次の加工位置として決定する。
ステップ6.未加工位置Pを、未加工位置Pの次に前回の加工位置に近い未加工位置で更新し、ステップ1以降の計算を繰り返す。
【0042】
・加工位置の決定手法(3)
加工位置決定部102は、上述の熱分布の計算手法(3)により予測及び蓄積した熱分布を使用して、前回の加工で発生した熱の影響を受けない最も近い未加工位置を探し出すことができる。類似条件下で計算された温度分布をいわば再利用することで、上述の加工位置の決定手法(2)に近い精度を保ちつつ計算量を削減することができる。
【0043】
ステップ1.前回の加工位置から未加工位置Pまでの移動時間tを算出する。すなわち前回の加工位置から移動時間t経過後に未加工位置Pで加工が行われるものと仮定する。未加工位置Pの初期値は、前回の加工位置から最も近い未加工位置とする。
ステップ2.熱分布の計算手法(
3)により、前回の加工から移動時間t経過後の、ワークの熱分布を求める。具体的には、前回の加工から移動時間t経過後の、ワーク上に設定された複数の測定点におけるワークの温度を求める。
ステップ3.熱分布の計算手法(
3)により、移動時間t経過時点において未加工位置Pで加工を行ったことによる、加工直後の熱分布を求める。具体的には、未加工位置Pでの加工直後の、ワーク上に設定された複数の測定点におけるワークの温度を求める。
ステップ4.ワーク上の各測定点において、ステップ2で求めた温度(前回の加工によるもの)とステップ3で求めた温度(未加工位置Pでの加工によるもの)とを合算し、合算温度がTt以上となる測定点が存在するか否か判定する。存在する場合は、ステップ6に遷移する。この場合はワーク温度がTt以上になる点があるので、未加工位置Pは次の加工位置としてふさわしくない(熱変形が起こる可能性がある)ことになる。存在しない場合は、ステップ5に遷移する。
ステップ5.未加工位置Pを、次の加工位置として決定する。
ステップ6.未加工位置Pを、未加工位置Pの次に前回の加工位置に近い未加工位置で更新し、ステップ1以降の計算を繰り返す。
【0044】
・加工位置の決定手法(4)
加工位置決定部102は、上述の熱分布の計算手法(4)により実測及び蓄積した熱分布を使用して、前回の加工で発生した熱の影響を受けない最も近い未加工位置を探し出すことができる。類似条件下で実測された温度分布をいわば再利用することで、上述の加工位置の決定手法(2)や(3)に近い精度を保ちつつ、予測値算出にかかる計算量を不要とすることができる。
【0045】
ステップ1.前回の加工位置から未加工位置Pまでの移動時間tを算出する。すなわち前回の加工位置から移動時間t経過後に未加工位置Pで加工が行われるものと仮定する。未加工位置Pの初期値は、前回の加工位置から最も近い未加工位置とする。
ステップ2.熱分布の計算手法(4)により、前回の加工から移動時間t経過後の、ワークの熱分布を求める。具体的には、前回の加工から移動時間t経過後の、ワーク上に設定された複数の測定点におけるワークの温度を求める。
ステップ3.熱分布の計算手法(4)により、移動時間t経過時点において未加工位置Pで加工を行ったことによる、加工直後の熱分布を求める。具体的には、未加工位置Pでの加工直後の、ワーク上に設定された複数の測定点におけるワークの温度を求める。
ステップ4.ワーク上の各測定点において、ステップ
2で求めた温度(前回の加工によるもの)とステップ
3で求めた温度(未加工位置Pでの加工によるもの)とを合算し、合算温度がTt以上となる測定点が存在するか否か判定する。存在する場合は、ステップ6に遷移する。この場合はワーク温度がTt以上になる点があるので、未加工位置Pは次の加工位置としてふさわしくない(熱変形が起こる可能性がある)ことになる。存在しない場合は、ステップ5に遷移する。
ステップ5.未加工位置Pを、次の加工位置として決定する。
ステップ6.未加工位置Pを、未加工位置Pの次に前回の加工位置に近い未加工位置で更新し、ステップ1以降の計算を繰り返す。
【0046】
加工部103は、加工位置決定部102によって次の加工位置が決定されたなら、当該加工位置における穴あけ加工を実施する。
【0047】
図11のフローチャート、及び
図7乃至
図10を用いて、数値制御装置1の動作例について説明する。以下の説明における処理番号は
図11のフローチャートと対応している。
【0048】
S1:熱影響計算部101は、加工プログラムを読み込み、全ての加工穴の加工位置及び加工形状を取得する。全ての加工穴について、上述の熱分布の計算手法(1)又は(2)を用い、加工を行った場合の熱分布を計算又は取得する。また熱影響計算部101は、熱影響の最大範囲を算出しても良い。
【0049】
S2:加工位置決定部102は、1回目の加工位置を任意に決定する(
図7参照)。典型的には、1回目の加工位置はユーザにより指定される。加工部103は、決定した1回目の加工位置で穴あけ加工を行う。
【0050】
S3:加工位置決定部102は、1回目の加工位置に最も近い未加工位置Pを選択する。
【0051】
S4:加工位置決定部102は、上述の加工位置の決定手法(1)乃至(3)のいずれかのステップ2乃至4の手順に従って、未加工位置Pで加工を行ったときに熱変形が生じうるか否か判定する。熱変形が発生する場合はS7に遷移する。熱変形が発生しない場合はS5に遷移する。
【0052】
図8及び
図9は、加工位置決定部102が、1回目の加工の後、加工位置の決定手法(1)に従って熱変形の有無を判定する処理の一例を示す模式図である。加工位置決定部102は、1回目の加工による熱影響の最大範囲と、未加工位置Pで加工を行った時の熱影響の最大範囲と、が干渉する場合に熱変形が生じうると判定する。
図8は、1回目の加工位置から最も近い未加工位置Pでは、熱影響の最大範囲の干渉が生じると判定される例を示している。
図9は、1回目の加工位置から2番目に近い未加工位置Pでは、干渉が生じないと判定される例を示している。
【0053】
図10は、加工位置決定部102が、2回目の加工位置での加工後、加工位置の決定手法(1)に従って熱変形の有無を判定する処理の一例を示す模式図である。加工位置決定部102は、2回目の加工による熱影響の最大範囲と、未加工位置Pで加工を行った時の熱影響の最大範囲と、が干渉する場合に熱変形が生じうると判定する。
図10の例では、2回目の加工位置から最も近い未加工位置Pでは、熱影響の最大範囲の干渉が生じると判定されている。
【0054】
S5:加工部103は、S4で決定した未加工位置Pで穴あけ加工を行う。
【0055】
S6:他に未加工位置が残っていれば、S7に遷移する。未加工位置が残っていなければ、S8に遷移する。
【0056】
S7:S4から遷移してきた場合は、現在の未加工位置Pの次に前回の加工位置に近い未加工位置を、新たな未加工位置Pとして選択し、再びS4に遷移する。
【0057】
S6から遷移してきた場合は、現在の未加工位置P(すなわちS5での加工位置)に最も近い未加工位置を、新たな未加工位置Pとして選択し、S4に遷移する。
【0059】
本実施の形態によれば、数値制御装置1に加工プログラムを登録すれば、数値制御装置1が熱変形を考慮して、最適な加工順序で穴あけ加工を行うことができる。これにより、従来オペレータが熱変形を考慮して加工プログラムを作成するためにかけていた時間を大幅に削減できる。また、経験の浅いオペレータでも熱変形を考慮した穴あけ加工を実施できる。よって、作業の効率性や生産性を向上させることが可能である。
【0060】
<実施の形態2>
実施の形態1の数値制御装置1を使用し、
図11のフローチャートに示す手順で熱変形の生じない加工位置を順次決定していくと、所定の加工順序が形成される(
図12参照)。この加工順序に従って加工を進めると、場合により、互いに距離の遠い複数の未加工位置が残されてしまい、加工効率に問題が生じることがある。実施の形態2では、このような問題を解決し加工効率を向上させる。
【0061】
実施の形態2にかかる加工位置決定部102は、ワークを複数の領域に分割する。各領域には、複数の加工位置が含まれる。加工位置決定部102は、まず1回目の加工位置が含まれる領域内に存在する加工位置を対象に、
図11のフローチャートに示す手順で加工順序を決定する(
図13参照)。領域内の全ての加工位置で加工が終了したならば、加工位置決定部102は、未だ加工が行われていない他の任意の領域(好ましくは隣接する領域)において同様の処理を実施する。このとき、加工位置決定部102は、直前に加工を行った領域における最後の加工位置で発生する熱と、次に加工を行う領域における最初の加工位置で発生する熱と、により熱変形が生じることの無いよう、次に加工を行う領域における最初の加工位置を決定する。
【0062】
本実施の形態によれば、ワーク全体に比べ狭い領域内で加工順序が決定され、次の加工位置までの移動距離を一定以下に抑制できる。これにより、未加工位置同士の距離が大きくなることがなく、加工効率を向上させることができる。
【0063】
なお、ワークを複数の領域に分割することは特許文献2にも記載されている。しかしながら、特許文献2では、領域内における加工順序はオペレータ自身が作成する必要があった。また特許文献2では、ある領域を加工後、隣接する領域以外の、離れた領域に移動して加工を行うことで熱変形を回避する。一方、実施の形態2にかかる数値制御装置1は、領域内においても他の領域に移動する場合においても、加工位置単位で熱の影響を考慮して次の加工位置を決定する。よって、ある領域を加工後、隣接する領域に移動して加工を行うことが可能である。これにより、特許文献2記載の手法に比べ高い加工効率で加工を行うことができる。
【0064】
<実施の形態3>
実施の形態1の数値制御装置1において、加工位置決定部102は、前回の加工位置から最も移動距離が近く、かつ熱変形が生じない未加工位置を次回の加工位置として決定した。このような手法で加工位置を順次決定していくと(
図11のフローチャート参照)、一定の加工順序を自動的に形成しうることは上述した。しかしながら、このように形成された加工順序は、熱変形の回避という観点では適切であるが、加工効率という観点では必ずしも最適化されたものとはいえない。上述の実施の形態2もこの問題を解決するための一手法であったが、実施の形態3では、移動経路を最小化するため巡回セールスマン問題を適用することによってこの問題を解決する。
【0065】
巡回セールスマン問題とは、都市の集合と各2都市間の移動コスト(例えば距離。本実施の形態では加工位置間の移動時間)が与えられたとき、全ての都市をちょうど一度ずつ巡り出発地に戻る巡回路の総移動コストが最小のものを求める組合せ最適化問題である。すなわち、セールスマンが所定の複数の都市を1回だけ巡回する場合の最短経路を求める。巡回セールスマン問題を解くための代表的なアルゴリズムとして、2−opt法やニアリストネイバー法が知られている。
【0066】
実施の形態3では、本発明を巡回セールスマン問題を適用可能な形とするため、加工位置決定部102が、各加工位置(以下、移動元)と、当該加工位置の次に加工した場合に熱変形が生じない他の加工位置(以下、移動先)と、の組み合わせを全て抽出する。これにより
図14に示すようなグラフを作成できる。
【0067】
実施の形態1の加工位置決定部102は、加工位置の決定手法(1)乃至(3)において、移動元から最も近い未加工位置から順次、加工による熱変形が生じるか否かの判定を行うことで、移動先を探索していた。この手法を応用し、実施の形態3の加工位置決定部102は、移動先となりうる加工位置を網羅的に抽出する。すなわち移動元以外の全ての加工位置について、加工による熱変形が生じるか否かの判定を行い、熱変形が生じないと判定された加工位置のみを移動先候補として抽出する。そして加工位置決定部102は、移動元の加工位置、移動先候補の加工位置、及び移動元から移動先候補への移動時間をセットにして記憶する。
【0068】
あるいは加工位置決定部102は、熱変形が生じると判定された加工位置を移動先候補から除外する代わりに、移動時間として非常に大きな数値(例えば9999等)を与えることとしても良い。
【0069】
図14に、加工位置決定部102が記憶した情報をグラフ化したものの一例を示す。ノードA乃至Fは加工位置、ノード間を接続するリンクに付された数値は加工位置間の移動時間を表している。移動時間は、ノード間の移動コストに相当する。加工位置決定部102は、このグラフに対して2−opt法やニアリストネイバー法を適用することにより、最小コストすなわち最短時間で加工を行うための加工順序を得ることが可能である。
【0070】
なお、2−opt法を用いて加工順序を最適化することは特許文献3にも記載されている。しかしながら、特許文献3では、熱変形が生じるか否かを加工穴間の距離に基づいて判定している。これは加工穴が丸穴のように熱分布が距離に応じて一律に変化する場合であって(
図17参照)、かつ複数の加工穴が同一形状である場合に限定的に適用可能な手法である。一方、実施の形態3にかかる数値制御装置1では、熱影響計算部101が熱分布を2次元の領域として算出し、加工位置決定部102が2次元の熱分布に基づいて熱変形が生じるか否かを判定する。したがって、実施の形態3にかかる数値制御装置1は、任意の加工形状や、様々な加工形状が混在した複雑な加工プログラム等、広汎な穴あけ加工に適用可能である。また、加工による熱の影響を精緻に評価できるため、きめ細かな加工効率の向上(移動経路の短縮、加工時間の短縮)が可能である。
【0071】
<その他の実施の形態>
以上、本発明の主要な実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【0072】
例えば、上述の実施の形態では、熱変形が生じるか否かの判定を、2つの加工穴から生じる熱を考慮して行った。しかしながら、本発明はこれに限定されるものでなく、例えば3以上のn個の加工穴から生じる熱を考慮して、熱変形の発生有無を判定しても良い。具体的には、加工位置の決定手法(2)又は(3)において、ある時刻において未加工位置Pの加工により生じる熱と、2以上の過去の加工穴から発生し当該時刻において残存している熱と、をワーク上の各小区画又は測定点において全て累計し、累計値がTt以上である場合は熱変形が発生すると判断することができる。
【0073】
また、上述の実施の形態では、加工部103は、加工位置決定部102により求められる加工順序に従って実際に加工を行った。しかしながら、本発明はこれに限定されるものでなく、加工部103は実際に加工を行うことなく、加工位置決定部102により求められる加工順序に従って加工を行うための加工プログラムを生成し、出力するよう構成しても良い。