この発明の実施の形態について、図面を参照して説明する。なお、以下で参照する図面では、同一またはそれに相当する部材には、同じ番号が付されている。
図1は、この発明の実施の形態における情報処理装置を示すブロック図である。図1を参照して、情報処理装置100は、工作機械で用いられるNC(Numerical Control)プログラムを生成するための装置である。
情報処理装置100は、CAD(Computer Aided Design)/CAM(Computer Aided Manufacturing)装置で作成されたCL(Cutter Location)データを受け付け、そのCLデータからNCプログラムを生成する。情報処理装置100は、その生成したNCプログラムを工作機械に出力する。
CLデータは、工具の位置情報(工具の三次元位置および向き)、主軸回転速度、ならびに、送り速度等の切削条件に関する情報を含む。CLデータは、クーラント吐出に関する情報をさらに含んでもよい。ワークの加工ステップにおいては、工具およびワークを相対移動させることによりワークを加工する。CLデータは、各加工ステップにおいて、工具およびワークを相対移動させる座標系に関する情報をさらに含む。
CLデータは、たとえば、APT(Automatically Programmed Tools)で記述されている。APTとは、工作機械の数値制御用に開発されたプログラミング言語であり、製作する機械部品の形状に基づいて、工具経路および加工手順を自動的に決定することができる。CLデータを記述するプログラミング言語として、APTの工具経路決定機能がより精密に改良されたEXAPT(Extended subset of APT)が用いられてもよい。
工作機械で用いられるNCプログラムは、工作機械に備わる制御装置の種別(代表的にいえば、制御装置の製造メーカ)によって異なる。情報処理装置100は、CLデータから、各種の制御装置を備える工作機械で用いられるNCプログラムを生成可能なように構成されている。
情報処理装置100により生成されたNCプログラムを用いる工作機械は、特に限定されない。そのような工作機械には、材料を付加することによってワークを加工する付加加工(Additive Manufacturing)の機械、材料を除去することによってワークを加工する除去加工(Subtractive Manufacturing)の機械、または、レーザなどの光を照射してワークを加工する機械などがある。より具体的には、旋盤、ボール盤、中ぐり盤、フライス盤、歯切り盤、研削盤、多軸加工機、レーザ加工機、または、積層加工機等は、NCプログラムに基づいて数値制御され、金属、木材、石材、または、樹脂等のワークに対して、旋削、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ、成形、微細加工、または、積層加工等の各種の加工を施す。さらに、工作機械には、計測機能を有するものがあり、タッチプローブまたはカメラ等の計測器を用いて、ワークの寸法等を計測可能に構成されている。
図2は、工作機械の一例を示す正面図である。図2中では、工作機械の外観をなすカバー体(スプラッシュガード)を透視することによって、工作機械の内部構造が示されている。
図2を参照して、工作機械200は、回転するワークに工具を接触させてワークの加工を行なう旋削機能と、ワークに回転する工具を接触させてワークの加工を行なうミーリング機能とが備わった複合加工機である。工作機械200は、コンピュータによる数値制御によって、ワーク加工のための各種動作が自動化されたNC(Numerically Controlled)工作機械であり、NCプログラムに従って動作する。
本明細書においては、工作機械200の左右方向(幅方向)に平行で、水平方向に延びる軸を「Z軸」といい、工作機械200の前後方向(奥行き方向)に平行で、水平方向に延びる軸を「Y軸」といい、上下方向に延びる軸を「X軸」という。図2中における右方向を「+Z軸方向」といい、左方向を「-Z軸方向」という。図2中における紙面の手前方向を「+Y軸方向」といい、奥方向を「-Y軸方向」という。+Y軸方向が、機械前方に対応し、-Y軸方向が、機械後方に対応している。上方向を「+X軸方向」といい、下方向を「-X軸方向」という。
工作機械200は、ベッド236と、ワーク主軸211と、対向ワーク主軸216と、工具主軸(上刃物台)221と、刃物台(下刃物台)231とを有する。
ベッド236は、ワーク主軸211、対向ワーク主軸216、工具主軸221および刃物台231等を支持するためのベース部材であり、工場などの床面に設置されている。ベッド236は、鋳鉄等の金属から形成されている。
ワーク主軸211および対向ワーク主軸216は、ワークを保持可能なように構成されている。ワーク主軸211および対向ワーク主軸216は、Z軸方向において、互いに対向して設けられている。ワーク主軸211は、サーボモータにより、Z軸に平行な中心軸301を中心に回転可能なように設けられている。対向ワーク主軸216は、サーボモータにより、Z軸に平行な中心軸302を中心に回転可能なように設けられている。ワーク主軸211および対向ワーク主軸216には、それぞれ、ワークを着脱可能なように把持するための第1チャック機構213および第2チャック機構218が設けられている。
ワーク主軸211は、ベッド236上において固定されている。対向ワーク主軸216は、各種の送り機構、案内機構およびサーボモータなどによって、Z軸方向に移動可能なように設けられている。
工具主軸221および刃物台231は、工具を保持可能なように構成されている。工具主軸221は、刃物台231よりも上方に設けられている。工具主軸221は、後述する基準姿勢においてX軸に平行な中心軸303を中心に回転可能に設けられている。工具主軸221には、工具を着脱可能に保持するためのクランプ機構(不図示)が設けられている。
工具主軸221は、さらに、Y軸に平行な中心軸304を中心に旋回可能に設けられている。工具主軸221の旋回範囲は、たとえば、工具主軸221の主軸端面223が下方を向く基準姿勢(図2中に示す姿勢)を基準にして±120°の範囲である。
工具主軸221は、図示しないコラム等によりベッド236上に支持されている。工具主軸221は、コラム等に設けられた各種の送り機構、案内機構およびサーボモータなどによって、X軸方向、Y軸方向およびZ軸方向に移動可能に設けられている。
刃物台231は、いわゆるタレット形であり、複数の工具が放射状に取り付けられ、旋回割り出しを行なう。
より具体的には、刃物台231は、旋回部232を有する。旋回部232は、Z軸に平行な中心軸306を中心に旋回可能に設けられている。中心軸306を中心にその周方向に間隔を隔てた位置には、工具を保持するための工具ホルダが取り付けられている。旋回部232が中心軸306を中心に旋回することによって、工具ホルダに保持された工具が周方向に移動し、ワーク加工に用いられる工具が割り出される。
刃物台231は、図示しないサドル等によりベッド236上に支持されている。刃物台231は、サドル等に設けられた各種の送り機構、案内機構およびサーボモータなどによって、Z軸方向およびX軸方向に移動可能に設けられている。
工具主軸221および刃物台231の各々には、回転工具が保持されてもよいし、固定工具が保持されてもよい。回転工具は、回転しながらワークを加工する工具であり、ドリル、エンドミルまたはリーマ等である。固定工具は、回転するワークを加工する各種の切削工具である。刃物台231に回転工具を保持する場合、刃物台231には、回転を出力するモータと、モータから出力された回転を回転工具に伝達する動力伝達機構とが内蔵される。
ワーク主軸211、対向ワーク主軸216、工具主軸221および刃物台231の各動作体には、移動、回転または旋回等の各種動作時に基準となる座標軸が存在する。たとえば、工具主軸221の移動時に基準となり得る座標軸は、X軸、Y軸およびZ軸であり、対向ワーク主軸216の移動時に基準となり得る座標軸は、Z軸であり、刃物台231の移動時に基準となり得る座標軸は、X軸およびZ軸である。また、中心軸301は、ワーク主軸211の回転時に基準となる座標軸であり、本明細書では「C軸」という。中心軸304は、工具主軸221の旋回時に基準となる座標軸であり、本明細書では「B軸」という。
工作機械200は、カバー体(スプラッシュガード)310をさらに有する。カバー体310は、工作機械200の外観をなすとともに、工作エリア300を区画形成している。工作エリア300は、ワークの加工が行なわれる空間であり、ワーク加工に伴う切屑または切削油等の異物が工作エリア300から漏出しないように、カバー体310により密閉されている。
なお、図2中には示されていないが、ワーク主軸211の周辺には、工具主軸221に保持される工具を自動交換するための自動工具交換装置(ATC:Automatic Tool Changer)と、工具主軸221に保持する交換用の工具を収容する工具マガジンとが設けられている。
続いて、本実施の形態における情報処理装置100について説明する。図1を参照して、情報処理装置100の各構成要素は、CPU(Central Processing Unit)および各種コンピュータプロセッサなどの演算器、メモリまたはストレージといった記憶装置、ならびに、それらを連結する有線または無線の通信線を含むハードウェアと、記憶装置に格納され、演算器に処理命令を供給するソフトウェアとによって実現されている。コンピュータプログラムは、デバイスドライバ、オペレーティングシステム、それらの上位層に位置する各種アプリケーションプログラム、または、これらのプログラムに共通機能を提供するライブラリによって構成されてもよい。以下に説明する各ブロックは、機能単位のブロックを示している。
情報処理装置100は、CLデータ取得部111と、プログラム生成部112とを有する。
CLデータ取得部111は、外部からCLデータを取得する。CLデータ取得部111は、取得したCLデータを後述する記憶部136に出力する。プログラム生成部112は、CLデータからNCプログラムを生成する。プログラム生成部112は、生成したNCプログラムを後述する記憶部136に出力する。
情報処理装置100は、記憶部136をさらに有する。記憶部136は、各種プログラムモジュールを記憶している。情報処理装置100のプロセッサが、各種プログラムモジュールを実行することにより各部の機能を実現する。
記憶部136は、工作機械情報151と、対応関係情報152と、取得CLデータ153と、選択工作機械154と、選択制御装置155と、生成NCプログラム156とをさらに記憶している。
工作機械情報151は、工作機械の機械仕様に関し、機械原点、機種ストローク長、機械の軸構成、および、数値制御装置の情報を含む。工作機械情報151は、工作機械の型番、オプション情報(タレット数、主軸径、サーボ、チップコンベヤの有無および種類、または、計測装置の有無および種類)、使用可能工具種(例:ドリル、エンドミル)、工具マガジンのポット数およびポット番号に関する情報をさらに含んでもよい。工作機械情報151は、工作機械の機種毎に作成されている。
本実施の形態では、工作機械情報151として、工作機械情報151A、工作機械情報151B、工作機械情報151C、工作機械情報151Dおよび工作機械情報151Eが、記憶部136に記憶されている。工作機械情報151A、工作機械情報151B、工作機械情報151C、工作機械情報151Dおよび工作機械情報151Eは、それぞれ、機種A、機種B、機種C、機種Dおよび機種Eの工作機械の機械仕様に関する。
対応関係情報152は、CLデータと、制御装置と、NCコードとの対応関係に関する。NCコードは、工作機械に備わる制御装置の種別(製造メーカ)によって異なるため、対応関係情報152では、CLデータおよびNCコードの対応が制御装置の種別毎に作成されている。
本実施の形態では、対応関係情報152として、対応関係情報152a、対応関係情報152bおよび対応関係情報152cが、記憶部136に記憶されている。対応関係情報152aは、CLデータと、種別Faの制御装置で用いられるNCコードとの対応関係に関し、対応関係情報152bは、CLデータと、種別Fbの制御装置で用いられるNCコードとの対応関係に関し、対応関係情報152cは、CLデータと、種別Fcの制御装置で用いられるNCコードとの対応関係に関する。
種別Faの制御装置、種別Fbの制御装置および種別Fcの制御装置は、互いに異なる制御装置メーカにより製造されている。たとえば、種別Faの制御装置は、ファナック社製であり、種別Fbの制御装置は、シーメンス社製であり、種別Fcの制御装置は、ハイデンハイン社製である。
NCコードは、さらに工作機械が属するカテゴリー(例:旋盤、マシニングセンタ、複合加工機)によって異なる場合がある。この場合に、対応関係情報152は、CLデータと、制御装置と、工作機械のカテゴリーと、NCコードとの対応関係に関するものであってもよい。対応関係情報152において、CLデータおよびNCコードの対応が、制御装置の種別と、工作機械のカテゴリーとの組み合わせ毎に作成される。また、NCコードは、同一メーカにより製造された制御装置であっても、制御装置のバージョンによって異なる場合がある。この場合、対応関係情報152において、CLデータおよびNCコードの対応が、制御装置のバージョン毎に作成される。
取得CLデータ153は、CLデータ取得部111より入力されたCLデータに対応している。選択工作機械154は、後述する機種選択画面142を通じてユーザにより選択された工作機械に対応している。選択制御装置155は、後述する機種選択画面142を通じてユーザにより選択された制御装置に対応している。生成NCプログラム156は、プログラム生成部112より入力されたNCプログラムに対応している。
情報処理装置100は、ユーザインターフェース処理部131をさらに有する。ユーザインターフェース処理部131は、ディスプレイ、キーボード、マウス、タッチセンサ、または、ディスプレイとタッチセンサとを一体としたタッチパネル等のユーザインターフェースを介してユーザにより入力された情報を処理する。
図3は、機種選択画面を示す図である。図1および図3を参照して、情報処理装置100は、ユーザインターフェースとして、GUI(Graphical User Interface)141を有する。GUI141には、工作機械の機種選択画面142が表示されている。
機種選択画面142には、工作機械の機種A~Eが表示されている。機種選択画面142には、さらに、各機種のシリーズの名称Sa~Seと、各機種の工作機械に備わるオプションの型式Oa~Oeと、各機種の工作機械に備わる制御装置の種別Fa~Feとが表示されている。機種Aおよび機種Bの工作機械には、種別Faの制御装置が備わり、機種Cおよび機種Dの工作機械には、種別Fbの制御装置が備わり、機種Eの工作機械には、種別Fcの制御装置が備わっている。ユーザは、機種選択画面142を操作することによって、機種A~Eのうちから、情報処理装置100により生成したNCプログラムを用いる工作機械を選択し、この選択に伴って、その工作機械に備わる制御装置を選択する。
ユーザインターフェース処理部131は、GUI141を介してユーザにより工作機械および制御装置が選択された場合に、その選択を受け付ける。ユーザインターフェース処理部131は、受け付けた選択工作機械154および選択制御装置155を記憶部136に出力する。
本実施の形態では、機種選択画面142において、機種Aの工作機械および種別Faの制御装置が選択された場合を想定する。機種Aの工作機械は、図2中の工作機械200に対応している。
図1を参照して、ユーザは、GUI141を介して、ワーク加工における各種の付加条件を入力することがさらに可能である。
ワーク加工における付加条件の一例として、加工精度および加工時間を最適化するためのワークの加工モードがある。ユーザは、GUI141を介して、下記の4つの加工モードから所定の加工モードを選択することが可能である。
(a)時間優先モード:加工時間の短縮を最優先するモード。荒加工など要求精度が低い場合に使用する。
(b)中間モード:時間優先モードと精度優先モードとの中間にあたるモード。高精度と短時間とが要求される中仕上げ加工等に使用する。
(c)精度優先モード:加工精度の向上を優先するモード。加工精度および仕上げ面を要求される場合に使用する。
(d)精度最優先モード:精度優先モードよりも加工精度をさらに優先するモード。
付加条件の別の例として、ワーク主軸の選択がある。ユーザは、GUI141を介して、所定の加工ステップで用いられるワーク主軸として、図2中のワーク主軸211および対向ワーク主軸216のいずれか一方を選択することが可能である。
なお、初期条件として、ワーク主軸211が設定されており、ユーザが、GUI141を操作することによって、ワーク主軸211に替えて対向ワーク主軸216を設定することが可能であってもよい。
ユーザインターフェース処理部131は、GUI141を介してユーザによりワーク加工における付加条件が入力された場合に、その付加条件をプログラム生成部112に出力する。
図4は、ドリルサイクル(スポットドリリング)における、CLデータと、各種の制御装置で用いられるNCコードとの対応関係を示す表である。図5は、ドリルサイクル(深穴あけ)における、CLデータと、各種の制御装置で用いられるNCコードとの対応関係を示す表である。
図1、図4および図5を参照して、プログラム生成部112は、ユーザインターフェース処理部131で受け付けされた選択制御装置155と、選択制御装置155とCLデータとNCコードとの対応関係を示す対応関係情報152と、に基づいて、取得CLデータ153からNCプログラムを生成する。
より具体的には、プログラム生成部112は、変換部117を有する。変換部117は、記憶部136から選択制御装置155を読み出す。変換部117は、選択制御装置155から、ユーザにより選択された制御装置として種別Faの制御装置を認定する。変換部117は、対応関係情報152として、CLデータと、種別Faの制御装置で用いられるNCコードとの対応関係を示した対応関係情報152aを特定し、これを記憶部136から読み出す。変換部117は、記憶部136から取得CLデータ153を読み出す。変換部117は、対応関係情報152aに示された、CLデータと、種別Faの制御装置で用いられるNCコードとの対応関係に従って、取得CLデータ153をNCプログラムに変換する。
図4および図5に示されるように、プログラム生成部112は、APTで記述されたCLデータから、ファナック社製の種別Faの制御装置で用いられるNCプログラムを生成することができる。
また、図3中の機種選択画面142において、ユーザにより機種Cまたは機種Dの工作機械が選択され、種別Fbの制御装置が選択された場合には、変換部117は、対応関係情報152bに示された、CLデータと、種別Fbの制御装置で用いられるNCコードとの対応関係に従って、取得CLデータ153をNCプログラムに変換する。図4および図5に示されるように、プログラム生成部112は、APTで記述されたCLデータから、シーメンス社製の種別Fbの制御装置で用いられるNCプログラムを生成することができる。また、図3中の機種選択画面142において、ユーザにより機種Eの工作機械が選択され、種別Fcの制御装置が選択された場合には、変換部117は、対応関係情報152cに示された、CLデータと、種別Fcの制御装置で用いられるNCコードとの対応関係に従って、取得CLデータ153をNCプログラムに変換する。図4および図5に示されるように、プログラム生成部112は、APTで記述されたCLデータから、ハイデンハイン社製の種別Fcの制御装置で用いられるNCプログラムを生成することができる。
本実施の形態における情報処理装置100は、工作機械の制御装置の選択を受け付けるユーザインターフェース処理部131と、CLデータと、制御装置と、NCコードとの対応関係を記憶する記憶部136と、(a)ユーザインターフェース処理部131で受け付けされた選択制御装置155と、(b)選択制御装置155と(b-1)CLデータと(b-2)NCコードとの対応関係と、に基づいて、取得CLデータ153からNCプログラムを生成するプログラム生成部112とを備える。
このような構成により、工作機械の制御装置に対応したNCプログラムの生成が可能となる。
なお、工作機械の機種名に、その工作機械に備わる制御装置の種別を表わす記号が含まれる場合がある。たとえば、機種選択画面142に、工作機械の機種Aa、機種Abおよび機種Acが表示されており、機種Aaの名称のうちの記号「a」が、ファナック社製の制御装置を表わし、機種Abの名称のうちの記号「b」が、シーメンス社製の制御装置を表わし、機種Acの名称のうちの記号「c」が、ハイデンハイン社製を表わす。この場合、機種選択画面142に制御装置の種別は、表示されず、ユーザは、工作機械の機種のみを選択する。
工作機械の機種に制御装置の種別を表わす記号が含まれる場合、図1中の対応関係情報152は、CLデータと、工作機械と、NCコードとの対応関係に関する。図1中の対応関係情報152において、CLデータおよびNCコードの対応が工作機械の機種毎に作成される。
本変形例における情報処理装置は、工作機械の選択を受け付けるユーザインターフェース処理部131と、CLデータと、工作機械と、NCコードとの対応関係を記憶する記憶部136と、(a)ユーザインターフェース処理部131で受け付けされた選択工作機械154と、(b)選択工作機械154と(b-1)CLデータと(b-2)NCコードとの対応関係と、に基づいて、CLデータからNCプログラムを生成するプログラム生成部112とを備える。
工作機械の機種名に制御装置の種別を表わす記号が含まれる場合、本変形例においても、工作機械の制御装置に対応したNCプログラムの生成が可能となる。
図1を参照して、プログラム生成部112は、さらに工作機械情報151Aに基づいて、CLデータからNCプログラムを生成する。
より具体的には、変換部117は、記憶部136から選択工作機械154を読み出す。変換部117は、選択工作機械154から、ユーザにより選択された工作機械として機種Aの工作機械を認定する。変換部117は、工作機械情報151として、機種Aの工作機械の機械仕様を示した工作機械情報151Aを特定し、これを記憶部136から読み出す。
CLデータは、各加工ステップにおける工具の移動経路に関する情報を含むものの、1つの加工ステップから別の加工ステップに移る間の工具の移動経路、および、ATC時の工具の移動経路等に関する情報を含まない場合がある。一方、工作機械の機種によって、ワーク主軸および工具主軸等の動作体の軸構成、機械原点の位置、ATCによる自動工具交換位置、または、使用可能な工具の種類などが異なる。変換部117は、工作機械情報151Aを参照することによって、機種Aの工作機械に特有の機械仕様を認識し、その機械仕様に応じたNCプログラムを生成する。
なお、CLデータが、1つの加工ステップから別の加工ステップに移る間の工具の移動経路、および、ATC時の工具の移動経路に関する情報を含む場合には、変換部117は、そのCLデータに含まれる移動経路に関する情報を反映したNCプログラムを生成する。
プログラム生成部112は、付加条件受付部116をさらに有する。付加条件受付部116は、ユーザインターフェース処理部131から入力されたワーク加工における各種付加条件を受け付ける。変換部117は、CLデータを、付加条件受付部116で受け付けた付加条件を反映させたNCコードに変換する。
たとえば、種別Faの制御装置において、「G332」は、上述した(a)~(d)の加工モードを選択した場合にNCプログラムに挿入されるNCコードである。変換部117は、GUI141を介してユーザにより(a)時間優先モードが選択された場合、切削開始のコードG01の直前に「G332R1」を挿入する。変換部117は、GUI141を介してユーザにより(b)中間モードが選択された場合、切削開始のコードG01の直前に「G332R2」を挿入する。変換部117は、GUI141を介してユーザにより(c)精度優先モードが選択された場合、切削開始のコードG01の直前に「G332R3」を挿入する。変換部117は、GUI141を介してユーザにより(d)精度最優先モードが選択された場合、切削開始のコードG01の直前に「G332R4」を挿入する。
図6は、NCプログラムのシミュレーションにおいて、ワークの加工ステップを示す図である。図7および図8は、NCプログラムのシミュレーション画面を示す図である。
図1、および、図6から図8を参照して、情報処理装置100は、シミュレーション実行部113をさらに有する。シミュレーション実行部113は、プログラム生成部112により生成されたNCプログラムのシミュレーションを実行する。
より具体的には、シミュレーション実行部113は、記憶部136から、生成NCプログラム156を読み出す。シミュレーション実行部113は、生成NCプログラム156のシミュレーションを実行する。図7および図8に示されるように、GUI141には、シミュレーション画面143が表示されている。シミュレーション実行部113は、生成NCプログラム156のシミュレーションをシミュレーション画面143に表示させる。
図6に示されるように、シミュレーション実行部113によりシミュレーションが実行されるNCプログラムは、工具TおよびワークWが第1座標系401を基準にして相対移動する加工ステップを含む。第1座標系401は、取得CLデータ153に含まれる情報である。第1座標系401は、CAD/CAM装置によるCLデータの作成時に、ユーザにより選択されている。プログラム生成部112は、その取得CLデータ153に基づいて、工具TおよびワークWが第1座標系401を基準にして相対移動する加工ステップを含むNCプログラムを生成している。
より具体的には、ワーク主軸211に、円柱形状のワークWが保持されている。ワークWから、正六角形状の外周面を有するワークWを得るために、C軸周りにおいてワーク主軸211を固定しつつ、工具TをワークWの外周面に接触させながらX軸-Y軸平面内で移動させる。このとき、ワークWおよび工具Tは、X軸およびY軸の座標軸からなる第1座標系401を基準にして相対的に移動する。
シミュレーション実行部113は、NCプログラムのシミュレーションにおいて不具合が生じるか否かを判定する。
不具合とは、ワーク加工の進行を妨げる各種の事象であり、たとえば、後述する動作体の干渉、オーバートラベルまたは軸構成不一致などである。動作体とは、ワーク加工に伴って工作エリアで動作する物体であり、たとえば、工具主軸、ワーク主軸、刃物台またはテーブル等である。
シミュレーション実行部113は、干渉判定部121と、オーバートラベル判定部122と、軸構成判定部124とを有する。
干渉判定部121は、NCプログラムのシミュレーションにおいて、動作体の干渉が生じるか否かを判定する。干渉判定部121は、動作体の干渉が生じると判定した場合に、ユーザに対して動作体の干渉を報知するためのアラートを発信させる。
干渉判定部121は、図6から図8に示される加工ステップにおいて、工具Tを保持する工具主軸221が-X軸方向に移動した場合に、工具主軸221と、刃物台231に保持された工具ホルダとの干渉が生じると判定する。図8に示されるように、干渉判定部121は、工具主軸221および刃物台231を赤色等の特定の色で表示するなどして、ユーザに対するアラートを発信させる。
オーバートラベル判定部122は、NCプログラムのシミュレーションにおいて、動作体が可動領域を越えて動作するオーバートラベルが生じるか否かを判定する。オーバートラベル判定部122は、動作体のオーバートラベルが生じると判定した場合に、ユーザに対して動作体のオーバートラベルを報知するためのアラートを発信させる。
オーバートラベル判定部122は、図6から図8に示される加工ステップにおいて、工具Tを保持する工具主軸221が-X軸方向に移動した場合に、工具主軸221がX軸方向における可動領域StをΔxだけ越えて移動するオーバートラベルが生じると判定する。干渉判定部121は、工具主軸221を赤色等の特定の色で表示するなどして、ユーザに対するアラートを発信させる。
軸構成判定部124は、NCプログラムのシミュレーションにおいて、動作体が動作可能な軸構成を構成しない座標軸が、第1座標系401に含まれるか否かを判定する。軸構成判定部124は、動作体が動作可能な軸構成を構成しない座標軸が、第1座標系401に含まれると判定した場合に、ユーザに対して動作体の軸構成不一致を報知するためのアラートを発信させる。
たとえば、図2中の工作機械200は、動作体として、Z軸方向およびX軸方向に移動可能な刃物台231を有する。軸構成判定部124は、刃物台231に保持された工具による加工ステップで基準となる第1座標系401が、刃物台231が動作可能な軸構成を構成しないY軸を含む場合に、軸構成不一致が生じると判定する。干渉判定部121は、刃物台231を赤色等の特定の色で表示するなどして、ユーザに対するアラートを発信させる。
なお、ユーザに対するアラートの手段は、特に限定されず、たとえば、シミュレーション画面143に工具主軸221の干渉、工具主軸221のオーバートラベル、または、刃物台231等の動作体の軸構成不一致を報知する文章の表示であってもよい。
図9は、座標系選択画面を示す図である。図10は、NCプログラムの再シミュレーションにおいて、ワークの加工ステップを示す図である。
図1、図9および図10を参照して、シミュレーション実行部113は、NCプログラムのシミュレーションを実行することにより、工具TおよびワークWが第1座標系401を基準にして相対移動する加工ステップで不具合が生じると判明した場合に、第1座標系401の代替として、座標系を構成する座標軸の組み合わせ第1座標系401と異なる第2座標系402をユーザに提示する。
より具体的には、シミュレーション実行部113は、干渉判定部121が工具主軸221の干渉が生じると判定した場合、オーバートラベル判定部122が工具主軸221のオーバートラベルが生じると判定した場合、および/または、軸構成判定部124が、動作体の軸構成不一致が生じると判定した場合に、GUI141に座標系選択画面144を表示させる。
シミュレーション実行部113は、代替座標系提示部123をさらに有する。代替座標系提示部123は、工作機械情報151Aを記憶部136から読み出す。代替座標系提示部123は、工作機械情報151Aを参照することによって、図6に示される加工ステップの第1座標系401に替わる座標系の候補として、第2座標系402を特定し、これを座標系選択画面144に表示させる。ユーザは、座標系選択画面144を操作することによって、第2座標系402を選択可能である。
第1座標系401は、X軸およびY軸の座標軸の組み合わせからなり、第2座標系402は、C軸およびX軸の組み合わせからなる。第1座標系401を構成する座標軸の組み合わせと、第2座標系402を構成する座標系の組み合わせとは、互いに異なる。
なお、第1座標系401に替わる座標系の候補の数は、1つに限られず、複数であってもよい。座標系を構成する座標軸の数は、2つに限られず、3つ以上の複数であってもよい。
シミュレーション実行部113は、GUI141を介してユーザにより第2座標系402が選択された場合に、ワーク加工の付加条件として第2座標系402をプログラム生成部112に出力する。付加条件受付部116は、シミュレーション実行部113から入力された付加条件を受け付ける。
プログラム生成部112は、取得CLデータ153からNCプログラムを再び生成する。このとき、変換部117は、取得CLデータ153を、付加条件受付部116で受け付けた付加条件を反映させたNCプログラムに変換する。プログラム生成部112は、不具合が判明した加工ステップにおいて基準とする座標系を第1座標系401から第2座標系402に置き換えたNCプログラムを生成する。
シミュレーション実行部113は、プログラム生成部112により生成されたNCプログラムの再シミュレーションを実行する。シミュレーション実行部113は、NCプログラムの再シミュレーションにおいて不具合が解消されたか否かを判定する。シミュレーション実行部113は、再シミュレーションにより不具合が解消された場合に、NCプログラムを工作機械200に出力する。
図10に示されるように、NCプログラムの再シミュレーションにおいて、C軸およびX軸の組み合わせからなる第2座標系402が適用された場合、工具TをワークWの外周面に接触させながらX軸方向(上下方向)に移動させつつ、ワークWをC軸(中心軸301)を中心に回転させる。この場合に、工具主軸221を、+X軸方向(上方向)および-X軸方向(下方向)に往復移動させることで、ワークWの外周面に正六角形状の一辺が成形され、このX軸方向における工具主軸221の往復移動が繰り返されることによって、ワークWの外周面に正六角形状が成形される。これにより、X軸方向における工具主軸221の移動幅は、限られた範囲となるため、工具主軸221の干渉およびオーバートラベルを回避することができる。
また、刃物台231に保持された工具による加工ステップで基準となる第1座標系401が、刃物台231が動作可能な軸構成を構成しないY軸を含み、軸構成判定部124が、軸構成不一致が生じると判定した場合、代替座標系提示部123により、Y軸に替えて、C軸と、X軸および/またはZ軸とを含む第2座標系402がユーザに提示されればよい。
本実施の形態における情報処理装置100は、CLデータからNCプログラムを生成するプログラム生成部112と、NCプログラムのシミュレーションを実行するシミュレーション実行部113とを備える。プログラム生成部112は、第1座標系401が選択されると、第1座標系401を基準とする相対移動する加工ステップになるNCプログラムを生成し、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成する。
このように構成によれば、第1座標系401が選択されると、第1座標系401を基準とする相対移動する加工ステップになるNCプログラムが生成され、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムが生成されるため、シミュレーションの結果に応じたNCプログラムの生成を可能にできる。
また、NCプログラムのシミュレーションにより、工具およびワークが第1座標系401を基準にして相対移動する加工ステップで不具合が生じると判明した場合に、ユーザに対して第1座標系401に替わる第2座標系402が提示される。これにより、ユーザは、第2座標系402を選択するだけの簡易な手順で、判明した加工ステップにおける不具合の解消を試みることができる。
工作機械は、工具およびワークのいずれか一方を保持し、工作エリアで動作する動作体を備える。上記不具合は、工作エリアにおける動作体の干渉であってもよいし、動作体が可動領域を越えて動作するオーバートラベルであってもよいし、動作体が動作可能な軸構成を構成しない座標軸が第1座標系に含まれる軸構成不一致であってもよい。
なお、図1中の軸構成判定部124は、シミュレーション実行部113ではなく、プログラム生成部112に組み込むことも可能である。
図11は、図1中の情報処理装置において、NCプログラムを生成するステップを示すフローチャートである。
図1および図11を参照して、CLデータ取得部111は、CAD/CAM装置で作成されたCLデータを取得する(S101)。本ステップにおいては、CLデータ取得部111は、取得したCLデータを、取得CLデータ153として記憶部136に出力する。
情報処理装置100は、生成しようとするNCプログラムが用いられる工作機械および制御装置を受け付ける(S102)。本ステップにおいては、ユーザが、GUI141に図3中の機種選択画面142を表示させ、その機種選択画面142において工作機械および制御装置を選択する。ユーザインターフェース処理部131は、工作機械および制御装置の選択を受け付け、それらをそれぞれ選択工作機械154および選択制御装置155として記憶部136に出力する。
次に、プログラム生成部112は、工作機械情報151および対応関係情報152を特定する(S103)。
本ステップでは、プログラム生成部112が、記憶部136から選択工作機械154および選択制御装置155を読み出す。プログラム生成部112は、選択工作機械154に基づいて、工作機械情報151として、機種Aの工作機械の機械仕様を示した工作機械情報151Aを特定し、これを記憶部136から読み出す。プログラム生成部112は、選択制御装置155に基づいて、対応関係情報152として、CLデータと、種別Faの制御装置で用いられるNCコードとの対応関係を示した対応関係情報152aを特定し、これを記憶部136から読み出す。
次に、NCプログラム生成部112は、NCプログラムを生成する(S104)。本ステップにおいて、NCプログラム生成部112は、記憶部136から取得CLデータ153を読み出す。NCプログラム生成部112は、工作機械情報151Aおよび対応関係情報152aに基づいて、CLデータからNCプログラムを生成する。NCプログラム生成部112は、GUI141を介してワーク加工における付加条件が入力されている場合には、その付加条件を反映させたNCプログラムを生成する。NCプログラム生成部112は、生成したNCプログラムを、生成NCプログラム156として記憶部136に出力する。
次に、シミュレーション実行部113は、NCプログラムのシミュレーションを実行する(S105)。
本ステップにおいて、ユーザは、GUI141に図3中のシミュレーション画面143を表示させ、そのシミュレーション画面143においてシミュレーションを開始するための操作を行なう。シミュレーション実行部113は、生成NCプログラム156のシミュレーションを実行するとともに、そのシミュレーションをシミュレーション画面143に表示させる。
次に、シミュレーション実行部113は、動作体の干渉、オーバートラベルおよび/または軸構成不一致が生じるか否かを判定する(S106)。本ステップにおいては、干渉判定部121が、動作体の干渉が生じるか否かを判定し、オーバートラベル判定部122が、動作体のオーバートラベルが生じるか否かを判定し、軸構成判定部124が、動作体の軸構成不一致が生じるか否かを判定する。
次に、S106のステップで、動作体の干渉、オーバートラベルおよび軸構成不一致が生じないと判定された場合には、シミュレーション実行部113は、工作機械にNCプログラムを出力する。
また、S106のステップで、動作体の干渉、オーバートラベルおよび/または軸構成不一致が生じると判定された場合には、シミュレーション実行部113は、その不具合をユーザに報知するためのアラートを発信する(S108)。シミュレーション実行部113は、代替座標系をユーザに提示する(S109)。本ステップにおいて、代替座標系提示部123は、代替座標系を座標系選択画面144に表示させる。ユーザは、座標系選択画面144に表示された代替座標系を選択する。
次に、プログラム生成部112は、ユーザにより選択された代替座標系を付加条件として受け付ける(S110)。
次に、S104のステップに戻って、プログラム生成部112は、NCプログラムを再生成する(S104)。このとき、プログラム生成部112は、ユーザにより選択された代替座標系を反映したNCプログラムを生成する。次に、S105のステップで、シミュレーション実行部113は、NCプログラムの再シミュレーションを実行し、S106のステップで、動作体の干渉、オーバートラベルおよび軸構成不一致が生じないと判定した場合に、工作機械にNCプログラムを出力する。
仮に、S106のステップにおいて、動作体の干渉、オーバートラベルおよび/または軸構成不一致が再び生じると判定された場合には、S108、S109およびS110のステップが再度実行されてもよい。この場合に、S109のステップで、ユーザに対して第2座標系にさらに替わる代替座標系が提示されてもよい。
本実施の形態におけるNCプログラムの生成方法は、工作機械の制御装置の選択を受け付けるステップ(S102)と、(a)工作機械の制御装置の選択を受け付けるステップ(S102)で受け付けた選択制御装置155と、(b)選択制御装置155と(b-1)CLデータと(b-2)NCコードとの対応関係と、に基づいて、取得CLデータ153からNCプログラムを生成するステップ(S104)とを備える。
また、本実施の形態における制御プログラムは、情報処理装置100に工作機械の制御装置の選択を特定する信号を受け付けるステップ(S102)と、(a)工作機械の制御装置の選択を受け付けるステップ(S102)で受け付けた選択制御装置155と、(b)選択制御装置155と(b-1)CLデータと(b-2)NCコードとの対応関係と、に基づいて、取得CLデータ153からNCプログラムを生成するステップ(S104)とを実行させる。情報処理装置100とは別の装置で工作機械の制御装置の選択を受け付けた場合に、制御プログラムは、情報処理装置に、その別の装置からの制御装置の選択を特定するための信号を受け付けるステップを実行させてもよい。
このような構成によれば、工作機械の制御装置に対応したNCプログラムの生成が可能となる。
本実施の形態におけるNCプログラムの生成方法は、第1座標系401を基準とする相対移動する加工ステップになるNCプログラムのシミュレーションを実行するステップ(S105)と、シミュレーションを実行するステップ(S105)の後、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成するステップ(S104)とを備える。
また、本実施の形態における制御プログラムは、少なくとも1つの情報処理装置100に、第1座標系401を基準とする相対移動する加工ステップになるNCプログラムのシミュレーションを実行するステップ(S105)と、シミュレーションを実行するステップ(S105)の後、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成するステップ(S104)とを実行させる。制御プログラムが、NCプログラムのシミュレーションを実行するステップを実行させる情報処理装置と、制御プログラムが、NCプログラムを生成するステップを実行させる情報処理装置とは、別々の情報処理装置であってもよい。
より特定的には、本実施の形態におけるNCプログラムの生成方法は、第1座標系401の選択を含むCLデータから、第1座標系401を基準とする相対移動する加工ステップになるNCプログラムを生成するステップ(S104)と、NCプログラムのシミュレーションを実行するステップ(S105)と、NCプログラムのシミュレーションを実行するステップ(S105)の後、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成するステップ(S104)とを備える。
また、本実施の形態における制御プログラムは、少なくとも1つの情報処理装置100に、第1座標系401の選択を含むCLデータから、第1座標系401を基準とする相対移動する加工ステップになるNCプログラムを生成するステップ(S104)と、NCプログラムのシミュレーションを実行するステップ(S105)と、NCプログラムのシミュレーションを実行するステップ(S105)の後、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成するステップ(S104)とを実行させる。
このような構成によれば、シミュレーションの結果に応じたNCプログラムの生成を可能にできる。
図12は、図1中の情報処理装置の変形例において、NCプログラムを生成するステップを示すフローチャートである。図11中のフローチャートと、図12中のフローチャートとには、対応するステップに同じ番号が付されている。
図12を参照して、本変形例において説明するように、図1中のシミュレーション実行部113は、CLデータのシミュレーションを実行してもよい。
この場合、まず、CLデータ取得部111は、CAD/CAM装置で作成されたCLデータを取得する(S101)。
次に、シミュレーション実行部113は、CLデータのシミュレーションを実行する(S105)。本ステップにおいて、シミュレーション実行部113は、記憶部136から取得CLデータ153を読み出す。シミュレーション実行部113は、取得CLデータ153のシミュレーションを実行するとともに、そのシミュレーションをシミュレーション画面143に表示させる。
次に、シミュレーション実行部113は、動作体の干渉、オーバートラベルおよび/または軸構成不一致が生じるか否かを判定する(S106)。
次に、S106のステップで、動作体の干渉、オーバートラベルおよび軸構成不一致が生じないと判定された場合には、CLデータからNCプログラムを生成するためのS102~S104のステップに進む。なお、S102およびS103のステップは、CLデータのシミュレーションが実行される前段階で実行されてもよい。S104のステップにおいて、プログラム生成部112は、第1座標系401を基準とする相対移動する加工ステップになるNCプログラムを生成する。S104のステップの後、プログラム生成部112は、工作機械にNCプログラムを出力する。
また、S106のステップで、動作体の干渉、オーバートラベルおよび/または軸構成不一致が生じると判定された場合には、シミュレーション実行部113は、その不具合をユーザに報知するためのアラートを発信する(S108)。シミュレーション実行部113は、代替座標系をユーザに提示する(S109)。ユーザは、座標系選択画面144に表示された代替座標系としての第2座標系402を選択する。情報処理装置100は、ユーザにより選択された代替座標系を受け付ける(S110)。情報処理装置100は、ユーザにより選択された代替座標系が反映されるようにCLデータを書き換え、書き換えたCLデータをシミュレーション実行部113に出力する。
次に、S105のステップに戻って、シミュレーション実行部113は、CLデータの再シミュレーションを実行し、S106のステップで、動作体の干渉、オーバートラベルおよび軸構成不一致が生じないと判定した場合に、S102のステップに進む。S104のステップにおいて、プログラム生成部112は、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成する。
本変形例における情報処理装置は、CLデータからNCプログラムを生成するプログラム生成部112と、CLデータのシミュレーションを実行するシミュレーション実行部113とを備える。プログラム生成部112は、第1座標系401が選択されると、第1座標系401を基準とする相対移動する加工ステップになるNCプログラムを生成し、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成する。
また、本変形例におけるNCプログラムの生成方法は、第1座標系401を基準とする相対移動する加工ステップになるCLデータのシミュレーションを実行するステップ(S105)と、シミュレーションを実行するステップ(S105)の後、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成するステップ(S104)とを備える。
また、本変形例における制御プログラムは、少なくとも1つの情報処理装置に、第1座標系401を基準とする相対移動する加工ステップになるCLデータのシミュレーションを実行するステップ(S105)と、シミュレーションを実行するステップ(S105)の後、第2座標系402が選択されると、第2座標系402を基準とする相対移動する加工ステップになるNCプログラムを生成するステップ(S104)とを実行させる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。