(58)【調査した分野】(Int.Cl.,DB名)
前記複数の第2加工プログラムが前記複数の加工機により並列に実行された場合に、前記複数の加工機の間で干渉が発生するか否かを判定し、前記判定の結果に応じて、前記干渉を回避するように前記複数の第2加工プログラムを並列に実行するタイミングを調整する並列化ステップをさらに備える請求項1から請求項4のいずれか1項に記載の数値制御方法。
単一のワークを加工する加工機の第1加工プログラムから、前記ワークに対する加工の内容に応じて、当該第1加工プログラムの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、それぞれの加工軌道に対応する複数の加工機の複数の第2加工プログラムを生成する生成部を備え、
前記生成部は、前記ワークの加工に対して要求される要求加工精度と、前記複数の加工機が有する加工精度とに応じて、前記第1加工プログラムの加工軌道を複数の軌道に分割し、前記複数の第2加工プログラムを生成する
処理装置。
単一のワークを加工する加工機の第1加工プログラムから、前記ワークに対する加工の内容に応じて、当該第1加工プログラムの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、それぞれの加工軌道に対応する複数の加工機の複数の第2加工プログラムを生成する生成部と、
前記第1加工プログラムが示す加工軌道を周波数解析し、周波数成分毎に前記加工軌道を分解する周波数解析部と、を備え、
前記生成部は、前記複数の加工機が有する性能に応じて、前記周波数成分毎の前記加工軌道を前記複数の加工機のいずれかに割り当て、前記複数の第2加工プログラムを生成する
処理装置。
単一のワークを加工する加工機の第1加工プログラムから、前記ワークに対する加工の内容に応じて、当該第1加工プログラムの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、それぞれの加工軌道に対応する複数の加工機の複数の第2加工プログラムを生成する生成部と、
前記ワークに形成される形状を周波数解析し、複数の空間周波数成分の形状に分解する周波数解析部と、を備え、
前記生成部は、前記複数の加工機が有する性能に応じて、前記複数の空間周波数成分の形状の各々を前記複数の加工機のいずれかに形成させるように、前記複数の第2加工プログラムを生成する
処理装置。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について説明する。
[第1の実施形態]
まず、第1の実施形態について説明する。第1の実施形態では、第1加工プログラムの加工軌道を予め設定された加工領域別(例えば、X>0の領域とそれ以外の領域)に加工複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第2加工プログラムを生成する。
【0020】
なお、第1の実施形態における第1加工プログラムは、仕上げ加工以前の1次加工(例えば、当該ワークの荒加工工程等)において適用するプログラムであることが好ましい。すなわち、加工機PM1と加工機PM2との加工領域の境界(例えば、X=0)の周辺のワークWRの表面には、2つの加工機PM1、PM2の加工による段差等が形成される可能性がある。この場合、2次加工(例えば仕上げ加工)が行われることで、段差等が除去される。
【0021】
図1は、本発明の第1の実施形態に係る処理装置としての数値制御装置の一例を示す図である。
第1の実施形態に係る数値制御装置100は、プロセッサ等の制御部10と、ハードディスク装置等の記憶部40とを有するコンピュータである。また、数値制御装置100は、入出力デバイス及び通信インタフェース等の外部装置とのインタフェース機能を有する。これにより、数値制御装置100は、有線又は無線を介して、外部のCAD/CAM装置200及びマシニングセンタMCに接続される。なお、数値制御装置100は、ネットワークを介して、CAD/CAM装置200及びマシニングセンタMCに接続されても良い。
【0022】
CAD/CAM装置200は、例えば、プロセッサ等の演算処理装置と、ハードディスク装置等の記憶装置を有するコンピュータであり、演算処理装置が記憶装置に記憶されたCAD/CAMのプログラムを実行することにより、CAD/CAM装置として動作する。CAD/CAM装置200は、CAD/CAM装置200に含まれるキーボードやマウス等の入力装置を介して入力されたオペレータ等の入力指示に基づいて、製品や部品等の加工面形状を設計し、設計した製品や部品等の加工面形状を示すCADデータを生成する。
【0023】
CAD/CAM装置200は、生成されたCADデータを用いて、設計した加工面形状にワークを加工する加工プログラムを生成する。CAD/CAM装置200は、生成した加工プログラムを数値制御装置100に送信する。そして、数値制御装置100は、受信した加工プログラムを、第1加工プログラムとしての原初NCプログラムOPとして記憶部40に記憶する。
【0024】
マシニングセンタMCは、2つの加工機PM1、PM2と、テーブルTBとを有する。また、マシニングセンタMCは、入出力デバイス及び通信インタフェース等の外部装置とのインタフェース機能を有する。これにより、マシニングセンタMCは、有線又は無線を介して、外部の数値制御装置100に接続される。なお、マシニングセンタMCは、ネットワークを介して、数値制御装置100に接続されても良い。
【0025】
加工機PM1、PM2は、例えば、主軸ユニットであり、数値制御装置100が実行するNCプログラムの指令に基づいて、スライス削り、穴あけや中ぐり等の加工の内容に応じた工具が、マシニングセンタMCに含まれる工具マガジンを介してそれぞれ装着される。また、加工機PM1、PM2は、例えば、X軸、Y軸及びZ軸の各方向に設けられた不図示のサーボモータ及びボールねじ軸を有する2つの移動機構にそれぞれ配置される。そして、数値制御装置100が実行するNCプログラムの指令に基づいて2つの移動機構が動作することにより、加工機PM1、PM2は、互いに独立してX軸、Y軸及びZ軸の各方向に移動する。なお、マシニングセンタMCは、2つの加工機PM1、PM2を有したが、3以上の加工機を有しても良い。
【0026】
テーブルTBは、例えば、加工機PM1、PM2と対向する平面が、XY平面と平行に配置され、加工対象の単一のワークWRが配置される。また、テーブルTBは、マシニングセンタMCに固定して配置される。しかしながら、これに限定されず、テーブルTBは、マシニングセンタMCに対して移動可能に配置されても良い。
【0027】
数値制御装置100は、制御部10が記憶部40に記憶された数値制御処理のプログラムを実行することにより、生成部20及び並列化部30として機能する。
【0028】
生成部20は、例えば、数値制御装置100に含まれるタッチパネル等の入力装置を介して、オペレータ等の入力指示を受けた場合、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。生成部20は、単一のワークを加工する加工機の原初NCプログラムOPから、当該ワークに対する加工の内容に応じて、当該原初NCプログラムOPの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、加工機PM1、PM2が協働して動作するように、加工機PM1、PM2それぞれのNCプログラム(以下、「個別NCプログラムIP」とも称される)IP1、IP2を生成する。
【0029】
より具体的には、生成部20は、例えば、オペレータ等の入力指示に基づいて、加工機PM1の加工領域(例えば、X>0の領域)と、加工機PM2の加工領域(例えば、X≦0の領域)とを定義する。また、生成部20は、読み込んだ原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度等の指令情報を取得する。生成部20は、取得した指令情報を用いて、原初NCプログラムOPが示す3次元の加工軌道P(t,X(t),Y(t),Z(t))を算出する。なお、tは、数値制御処理の開始を時間「0」とし、数値制御装置100による制御周期の時間間隔で計測される処理開始から経過した時間を示す。すなわち、時間t及び加工軌道Pの座標X(t)、Y(t)、Z(t)は、離散値である。
【0030】
生成部20は、算出した加工軌道P(t,X(t),Y(t),Z(t))のうち、加工機PM1の加工領域に含まれる加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM1の加工軌道データとして記憶部40に記憶する。また、生成部20は、加工軌道P(t,X(t),Y(t),Z(t))のデータを、加工機PM2の加工軌道データとして記憶部40に記憶する。そして、生成部20は、後述する並列化部30による並列化処理の判定結果に基づいて、加工機PM1、PM2の加工軌道データを用いて、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。そして、生成部20は、生成した加工機PM1、PM2の個別NCプログラムIP1、IP2を記憶部40に記憶する。
【0031】
並列化部30は、生成部20により生成された加工機PM1、PM2それぞれの加工軌道データを記憶部40から読み込む。並列化部30は、読み込んだ加工機PM1、PM2それぞれの加工軌道データから生成されるNCプログラムを制御部10が並列に実行した場合に、加工機PM1と加工機PM2とが干渉するか否かを判定する。なお、加工機PM1、PM2が互いに干渉するXYZ空間における3次元領域や、動作条件等を示す干渉情報が予め記憶部40に記憶され、並列化部30は、干渉情報を記憶部40から読み込むようにしても良い。
【0032】
より具体的には、並列化部30は、制御部10が加工機PM1、PM2それぞれの加工軌道データに基づいて、並列(同時)に動作させた加工機PM1、PM2の動作を、特許文献1等に記載の周知の手法を用いてシミュレーションする。そして、並列化部30は、シミュレーションの結果と、干渉情報とを比較し、加工機PM1と加工機PM2とが干渉するか否かを判定する。
【0033】
例えば、加工機PM1の個別NCプログラムIP1を被比較プログラムとしたとき、加工機PM2の個別NCプログラムIP2の最先のブロックが個別NCプログラムIP1の最先のブロックと干渉するか否かを判定し、干渉しない場合、個別NCプログラムIP2の最先のブロックによる加工を許す。干渉する場合、個別NCプログラムIP1の次の2番目のブロックと干渉するか否かを判定し、干渉しない場合、個別NCプログラムIP1の2番目のブロックと個別NCプログラムIP2の最先のブロックによる協働加工を許すようにすることができる。以下、同様に、個別NCプログラムIP2の各ブロックが個別NCプログラムIP1のいずれのブロックと干渉しないことを判定することで、協働加工のための並列化を許可するようにしても良い。ここで、干渉するか否かの判定に際しては、例えば、個別NCプログラムIP1の被比較ブロックと個別NCプログラムIP2の比較ブロックとの間隔が予め設定された干渉を回避する所定の値以上であるか否かにより判定しても良い。
【0034】
並列化部30は、加工機PM1と加工機PM2とが干渉すると判定した場合、周知の特許文献1と同様に、加工機PM1と加工機PM2とが、干渉しないように動作を開始するタイミングを調整するようにしても良い。あるいは、並列化部30は、加工機PM1と加工機PM2とが干渉する時間帯を求めるようにしても良い。その際、例えば加工機PM2の主軸を非干渉領域に移動させることで、加工機PM1と干渉しないようにしても良い。並列化部30は、調整したタイミング又は求めた干渉する時間帯を含む判定結果を、記憶部40に記憶する。
【0035】
図2は、加工機PM1、PM2それぞれの加工軌道データの一例を示す図である。
図2の縦軸は、加工軌道PのX(t)を示し、
図2の横軸は、時間tを示す。また、加工機PM1の軌道データは実線で示し、加工機PM2の軌道データは破線で示す。
【0036】
図2(a)は、加工機PM1の加工軌道データを時間0から時間t1の間にプロットし、加工機PM2の加工軌道データを時間t1から時間t2の間にプロットしている。
【0037】
並列化部30が加工機PM1と加工機PM2とが干渉しないと判定した場合、生成部20は、
図2(b)に示すように、加工機PM1、PM2の加工が時間0で同時に開始するように、加工機PM1、PM2それぞれの加工軌道データを用いて、加工機PM1、PM2の個別NCプログラムIP1、IP2を生成する。
【0038】
一方、並列化部30が干渉すると判定した場合、生成部20は、例えば、加工機PM1と加工機PM2とが、並列化部30が調整した干渉する干渉期間より長い時間差等となるタイミングで加工をそれぞれ開始するように、加工機PM1、PM2の個別NCプログラムIP1、IP2の各ブロックを生成する。あるいは、生成部20は、例えば、加工機PM1と加工機PM2とが並列(同時)に加工を開始する場合でも、並列化部30が求めた干渉する時間帯において、加工機PM1又は加工機PM2に対し干渉が終了するまで待機させるように、加工機PM1、PM2の個別NCプログラムIP1、IP2の各ブロックを生成する。
【0039】
制御部10は、個別NCプログラムIP1、IP2を記憶部40から読み込み、読み込んだ個別NCプログラムIP1、IP2を並列に実行し、加工機PM1、PM2によるワークWRに対する加工を制御する。
なお、上記第1の実施形態の説明において、予め設定された加工領域として、例えば、X>0の領域とそれ以外の領域とを例示したが、これに限られない。任意の領域を設定しても良い。また、加工領域を2つに分けた例を説明したが、これに限られない。3以上の複数の加工領域を設定しても良い。
【0040】
図3は、第1の実施形態に係る数値制御装置100における数値制御処理の一例を示す図である。
図3に示した処理は、例えば、オペレータ等による数値制御装置100の入力装置の操作により実行される。
【0041】
ステップS1において、生成部20は、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。
【0042】
ステップS2において、生成部20は、ステップS1で読み込んだ原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度等の指令情報を取得する。生成部20は、取得した指令情報を用いて、原初NCプログラムOPが示す加工軌道P(t,X(t),Y(t),Z(t))を算出する。
【0043】
ステップS3において、生成部20は、ステップS2で算出した加工軌道P(t,X(t),Y(t),Z(t))を用いて、加工軌道配分処理を実行する。なお、加工軌道配分処理については、
図4を用いて説明する。
【0044】
ステップS4において、並列化部30は、ステップS3で生成された加工機PM1の加工軌道及び加工機PM2の加工軌道間での干渉有無をすべての加工軌道についてチェックし、干渉が発生する場合、例えば加工機PM2で加工機PM1との干渉が回避されるまで加工動作の開始タイミングを調整(例えば、待ち合わせ処理を挿入)する。
【0045】
ステップS5において、生成部20は、ステップS4において加工機PM2の加工動作の開始タイミングの調整結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0046】
ステップS6において、制御部10は、ステップS5で生成された個別NCプログラムIP1、IP2を並列に実行し、加工機PM1、PM2それぞれの単一のワークWRに対する加工を制御する。
【0047】
図4は、
図3に示したステップS3の加工軌道配分処理の一例を示す図である。
ステップS31において、生成部20は、時tを0にリセットする。
【0048】
ステップS32において、生成部20は、時間tの加工軌道P(t,X(t),Y(t),Z(t))が加工機PM1の加工領域にあるか否かを判定する。時間tの加工軌道P(t,X(t),Y(t),Z(t))が加工機PM1の加工領域にある場合、数値制御装置100の処理は、ステップS33に移る。一方、時間tの加工軌道P(t,X(t),Y(t),Z(t))が加工機PM2の加工領域にある場合、数値制御装置100の処理は、ステップS34に移る。
【0049】
ステップS33において、生成部20は、ステップS32で判定された時間tの加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM1の加工軌道データに追加し更新する。
【0050】
ステップS34において、生成部20は、ステップS32で判定された時間tの加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM2の加工軌道データに追加し更新する。
【0051】
ステップS35において、生成部20は、次の時間tの加工軌道Pがあるか否かを判定する。次の時間tの加工軌道Pがある場合、数値制御装置100の処理は、ステップS36に移る。一方、次の時間tの加工軌道Pがない場合、加工軌道配分処理を終了し、数値制御装置100の処理は、
図3に示したステップS4に移る。
【0052】
ステップS36において、生成部20は、時間tを1制御周期の時間だけ増加させ、数値制御装置100の処理は、ステップS32に移る。
【0053】
以上説明したように、第1の実施形態では、数値制御装置100は、XYZ空間の領域で加工機PM1、PM2の加工領域を定義し、原初NCプログラムOPから計算される加工軌道Pと、定義された加工機PM1、PM2の加工領域とに基づいて、加工機PM1、PM2の加工軌道データを生成する。数値制御装置100は、生成した加工機PM1、PM2の加工軌道データに基づいて、加工機PM1、PM2の動作をシミュレーションし、加工機PM1、PM2を協働させた場合の干渉があるか否かを判定する。そして、数値制御装置100は、加工機PM1、PM2の加工軌道データと、判定結果とに基づいて、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0054】
これにより、数値制御装置100は、単一のワークWRに対する1つの原初NCプログラムOPから加工機PM1、PM2別の個別NCプログラムIP1、IP2を、各個別NCプログラムIP1及びIP2がそれぞれ予め設定された任意の加工領域別に加工するように生成でき、加工機PM1、PM2を協働して加工させることができる。
【0055】
また、加工機PM1、PM2の個別NCプログラムIP1、IP2は、加工機PM1、PM2における干渉等の判定結果に応じて、加工機PM1、PM2の動作が調整される。このため、数値制御装置100は、加工効率が向上し、サイクルタイムを削減できる。
以上、第1の実施形態について説明した。
【0056】
[第2の実施形態]
次に第2の実施形態について説明する。第2の実施形態では、予め加工精度情報が加工機毎に設定され、第1加工プログラムの加工軌道において、加工箇所の要求加工精度が異なる場合に、当該要求加工精度を満たす加工機の各々に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第2加工プログラムを生成する。
【0057】
図5は、本発明の第2の実施形態に係る数値制御装置の一例を示す図である。なお、
図5では、第1の実施形態に係る数値制御装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
第2の実施形態に係る数値制御装置100Aは、第1の実施形態に係る数値制御装置100と同様の構成を備える。
【0058】
数値制御装置100Aは、予め加工精度情報が加工機毎に設定され、原初NCプログラムOPの加工軌道において、加工箇所の要求加工精度が異なる場合に、当該要求加工精度を満たす加工機の各々に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機PM1、PM2の各々の加工軌道を示す複数の個別NCプログラムIP1、IP2を生成するため、制御部10が記憶部40に記憶された数値制御処理のプログラムを実行することにより、生成部20a及び並列化部30として機能する。
【0059】
生成部20aは、例えば、数値制御装置100Aの入力装置を介して、オペレータ等の入力指示を受けた場合、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。ここで、オペレータ等の入力指示には、加工機PM1、PM2に装着される工具及び装着される工具の加工精度を示す加工精度情報が含まれる。例えば、加工機PM1には、高い加工精度(例えば1nm等)で加工する刃物等の工具が装着され、加工機PM2には、低い加工精度(例えば1um等)で加工する刃物等の工具が装着される。
生成部20aは、読み込んだ原初NCプログラムOPが示す加工軌道に基づいて、加工機PM1、PM2が協働して動作するように、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0060】
より具体的には、生成部20aは、読み込んだ原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度、加工機に装着される工具等の指令情報を取得する。生成部20aは、取得した指令情報を用いて、原初NCプログラムOPが示す加工軌道P(t,X(t),Y(t),Z(t))を算出する。また、生成部20aは、取得した指令情報と、入力指示の加工精度情報とを用いて、時間tの加工軌道P(t,X(t),Y(t),Z(t))において要求される加工精度(以下、「要求加工精度」とも称される)が、加工機PM1による高い加工精度で可能か、加工機PM1とともに加工機PM2による低い加工精度でも可能かを判定する。
【0061】
生成部20aは、各時間tの加工軌道P(t,X(t),Y(t),Z(t))のうち、要求加工精度が加工機PM1で可能と判定した加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM1の加工軌道データとして記憶部40に記憶する。一方、生成部20aは、要求加工精度が加工機PM1とともに加工機PM2でも可能と判定した加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM2の加工軌道データとして記憶部40に記憶する。そして、生成部20aは、並列化部30による並列化処理の判定結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。そして、生成部20aは、生成した加工機PM1、PM2の個別NCプログラムIP1、IP2を記憶部40に記憶する。
【0062】
並列化部30は、第1の実施形態における並列化部30と同等の機能を有する。
【0063】
図6は、第2の実施形態に係る数値制御装置100Aにおける数値制御処理の一例を示す図である。
図6に示した処理は、ワークWRの加工箇所の要求加工精度に応じて、加工機PM1、PM2の加工軌道データを生成する点が、
図3に示した第1の実施形態の処理と異なる。
なお、
図6に示した処理は、例えば、オペレータ等による数値制御装置100Aの入力装置の操作により実行される。また、数値制御装置100Aは、入力装置の操作を介して、加工機PM1、PM2に装着される工具及び装着される工具の加工精度を示す加工精度情報を含む入力指示も、オペレータ等から受ける。
【0064】
ステップS11において、生成部20aは、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。
【0065】
ステップS12において、生成部20aは、ステップS11で読み込んだ原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度、加工機に装着される工具等の指令情報を取得する。生成部20aは、取得した指令情報を用いて、原初NCプログラムOPが示す加工軌道P(t,X(t),Y(t),Z(t))を算出する。また、生成部20aは、取得した指令情報と、入力指示の加工精度情報とを用いて、時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求加工精度を特定する。
【0066】
ステップS13において、生成部20aは、ステップS12で算出した加工軌道P(t,X(t),Y(t),Z(t))及び要求加工精度等を用いて、加工軌道配分処理を実行する。なお、加工軌道配分処理については、
図7を用いて説明する。
【0067】
ステップS14において、並列化部30は、第1の実施形態におけるステップ4に記載した処理においてステップ3をステップ13に読み替えた動作と同様の処理を行う。
【0068】
ステップS15において、生成部20aは、第1の実施形態におけるステップS5と同様に、ステップS14の調整結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0069】
ステップS16において、制御部10は、第1の実施形態におけるステップS6と同様に、ステップS15で生成された個別NCプログラムIP1、IP2を並列に実行し、加工機PM1、PM2それぞれの単一のワークWRに対する加工を制御する。
【0070】
図7は、
図6に示したステップS13の加工軌道配分処理の一例を示す図である。
ステップS131において、生成部20aは、時間tを0にリセットする。
【0071】
ステップS132において、生成部20aは、時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求加工精度が加工機PM1の加工精度で可能か否かを判定する。時間tの加工軌道P(t,X(t),Y(t),Z(t))の要求加工精度が加工機PM1の加工精度のみで可能と判定された場合、数値制御装置100Aの処理は、ステップS133に移る。一方、時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求加工精度が加工機PM1とともに加工機PM2の加工精度でも可能と判定された場合、数値制御装置100Aの処理は、ステップS134に移る。
【0072】
ステップS133において、生成部20aは、ステップS132で判定された時間tの加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM1の加工軌道データに追加し更新する。
【0073】
ステップS134において、生成部20aは、ステップS132で判定された時間tの加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM2の加工軌道データに追加し更新する。
【0074】
ステップS135において、生成部20aは、次の時間tの加工軌道Pがあるか否かを判定する。次の時間tの加工軌道Pがある場合、数値制御装置100Aの処理は、ステップS136に移る。一方、次の時間tの加工軌道Pがない場合、加工軌道配分処理を終了し、数値制御装置100Aの処理は、
図6に示したステップS14に移る。
【0075】
ステップS136において、生成部20aは、時間tを1制御周期の時間だけ増加させ、数値制御装置100Aの処理は、ステップS132に移る。
【0076】
以上説明したように、第2の実施形態では、数値制御装置100Aは、単一のワークWRの加工に対する各時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求加工精度に応じて、加工機PM1、PM2の加工軌道データを生成する。数値制御装置100Aは、生成した加工機PM1、PM2の加工軌道データに基づいて、加工機PM1、PM2の動作をシミュレーションし、加工機PM1、PM2を協働させた場合の干渉があるか否かを判定する。そして、数値制御装置100Aは、加工機PM1、PM2の加工軌道データと、判定結果とに基づいて、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0077】
これにより、第1の実施形態と同様に、数値制御装置100Aは、単一のワークWRに対する1つの原初NCプログラムOPから加工機PM1、PM2別の個別NCプログラムIP1、IP2を生成できる。さらに、第2の実施形態により、数値制御装置100Aは、単一のワークWRにおける加工個所の要求加工精度に応じて、加工機PM1、PM2を協働して加工させることができる。
【0078】
また、第1の実施形態と同様に、加工機PM1、PM2の個別NCプログラムIP1、IP2は、加工機PM1、PM2における干渉等の判定結果に応じて、加工機PM1、PM2の動作が調整される。これにより、数値制御装置100Aは、加工効率が向上し、サイクルタイムを削減できる。
以上、第2の実施形態について説明した。
【0079】
[第3の実施形態]
次に第3の実施形態について説明する。第3の実施形態では、予め加減速時定数及び/又は切削送り速度が加工機毎に設定され、第1加工プログラムの加工軌道において、加工箇所の要求加工速度が異なる場合に、当該要求加工速度を満たす加工機の各々に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第2加工プログラムを生成する。
【0080】
図8は、本発明の第3の実施形態に係る数値制御装置の一例を示す図である。なお、
図8では、第1の実施形態に係る数値制御装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
第3の実施形態に係る数値制御装置100Bは、第1の実施形態に係る数値制御装置100と同様の構成を備える。
【0081】
数値制御装置100Bは、予め加減速時定数及び/又は切削送り速度が加工機毎に設定され、原初NCプログラムOPの加工軌道において、加工箇所の要求加工速度が異なる場合に、当該要求加工速度を満たす加工機の各々に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機PM1、PM2の各々の加工軌道を示す複数の個別NCプログラムIP1、IP2を生成するため、制御部10が記憶部40に記憶された数値制御処理のプログラムを実行することにより、生成部20b及び並列化部30として機能する。
【0082】
生成部20bは、例えば、数値制御装置100Bの入力装置を介して、オペレータ等の入力指示を受けた場合、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。ここで、オペレータ等の入力指示には、加工機PM1、PM2それぞれに設定される加減速時定数を示す時定数情報が含まれる。例えば、加工機PM1には、50ms等の小さい加減速時定数(加減速時の応答性が速い)や速い切削送り速度が設定され、加工機PM2には、60ms等の大きい加減速時定数(加減速時の応答性が遅い)や遅い切削送り速度が設定される。また、刃物等の工具が装着される場合、60m/min等の速い切削送り速度と、40m/min等の遅い切削送り速度とが加工機PM1、PM2に設定されても良い。
生成部20bは、読み込んだ原初NCプログラムOPが示す加工軌道に基づいて、加工機PM1、PM2が協働して動作するように、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0083】
より具体的には、生成部20bは、原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度等の指令情報を取得する。生成部20bは、取得した指令情報を用いて、原初NCプログラムOPが示す加工軌道P(t,X(t),Y(t),Z(t))を算出する。また、生成部20bは、指令情報を用いて、時間tの加工軌道P(t,X(t),Y(t),Z(t))において加工機に要求される要求時定数(要求加速度)や要求速度を算出する。生成部20bは、加工軌道P(t,X(t),Y(t),Z(t))で算出した要求時定数(要求加速度)や要求速度が、加工機PM1の加減速時定数で可能か、加工機PM1とともに加工機PM2の加減速時定数でも可能かを判定する。
【0084】
生成部20bは、各時間tの加工軌道P(t,X(t),Y(t),Z(t))のうち、要求時定数(要求加速度)や要求速度が加工機PM1の加減速時定数や切削送り速度で可能と判定した加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM1の加工軌道データとして記憶部40に記憶する。一方、生成部20bは、要求時定数(要求加速度)や要求速度が加工機PM1とともに加工機PM2でも可能と判定した加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM2の加工軌道データとして記憶部40に記憶する。そして、生成部20bは、並列化部30による並列化処理の判定結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。生成部20bは、生成した加工機PM1、PM2の個別NCプログラムIP1、IP2を記憶部40に記憶する。
【0085】
並列化部30は、第1の実施形態における並列化部30と同等の機能を有する。
【0086】
図9は、第3の実施形態に係る数値制御装置100Bにおける数値制御処理の一例を示す図である。
図9に示した処理は、ワークWRの加工箇所の要求加工速度に応じて、加工機PM1、PM2の加工軌道データを生成し、加工機PM1、PM2の個別NCプログラムIP1、IP2を生成する点が、
図3に示した第1の実施形態の処理と異なる。
なお、
図9に示した処理は、例えば、オペレータ等による数値制御装置100Bの入力装置の操作により実行される。また、数値制御装置100Bは、入力装置を介して加工機PM1、PM2それぞれに設定される加減速時定数を示す時定数情報を含む入力指示も、オペレータ等から受ける。
【0087】
ステップS21において、生成部20bは、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。
【0088】
ステップS22において、生成部20bは、ステップS21で読み込んだ原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度等の指令情報を取得する。生成部20bは、取得した指令情報を用いて、原初NCプログラムOPが示す加工軌道P(t,X(t),Y(t),Z(t))を算出する。また、生成部20bは、取得した指令情報を用いて、時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求時定数(要求加速度)や要求速度を算出する。
【0089】
ステップS23において、生成部20bは、ステップS22で算出した加工軌道P(t,X(t),Y(t),Z(t))及び要求時定数(要求加速度)や要求速度を用いて、加工軌道配分処理を実行する。なお、加工軌道配分処理については、
図10を用いて説明する。
【0090】
ステップS24において、並列化部30は、第1の実施形態におけるステップ4に記載した処理においてステップ3をステップ23に読み替えた動作と同様の処理を行う。
【0091】
ステップS25において、生成部20bは、第1の実施形態におけるステップS5と同様に、ステップS24の調整結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0092】
ステップS26において、制御部10は、第1の実施形態におけるステップS6と同様に、ステップS25で生成された個別NCプログラムIP1、IP2を並列に実行し、加工機PM1、PM2それぞれの単一のワークWRに対する加工を制御する。
【0093】
図10は、
図9に示したステップS23の加工軌道配分処理の一例を示す図である。
ステップS231において、生成部20bは、時間tを0にリセットする。
【0094】
ステップS232において、生成部20bは、時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求時定数(要求加速度)や要求速度が加工機PM1の加減速時定数で可能か否かを判定する。時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求時定数(要求加速度)や要求速度が加工機PM1の加減速時定数のみで可能と判定された場合、数値制御装置100Bの処理は、ステップS233に移る。一方、時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求時定数(要求加速度)や要求速度が、加工機PM1とともに加工機PM2の加減速時定数でも可能と判定された場合、数値制御装置100Bの処理は、ステップS234に移る。
【0095】
ステップS233において、生成部20bは、ステップS232で判定された時間tの加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM1の加工軌道データに追加し更新する。
【0096】
ステップS234において、生成部20bは、ステップS232で判定された時間tの加工軌道P(t,X(t),Y(t),Z(t))を、加工機PM2の加工軌道データに追加し更新する。
【0097】
ステップS235において、生成部20bは、次の時間tの加工軌道Pがあるか否かを判定する。次の時間tの加工軌道Pがある場合、数値制御装置100Bの処理は、ステップS236に移る。一方、次の時間tの加工軌道Pがない場合、加工軌道配分処理を終了し、数値制御装置100Bの処理は、
図9に示したステップS24に移る。
【0098】
ステップS236において、生成部20bは、時間tを1制御周期の時間だけ増加させ、数値制御装置100Bの処理は、ステップS232に移る。
【0099】
以上説明したように、第3の実施形態では、数値制御装置100Bは、単一のワークWRの加工に対する各時間tの加工軌道P(t,X(t),Y(t),Z(t))における要求時定数(要求加速度)や要求速度に応じて、加工機PM1、PM2の加工軌道データを生成する。数値制御装置100Bは、生成した加工機PM1、PM2の加工軌道データに基づいて、加工機PM1、PM2の動作をシミュレーションし、加工機PM1、PM2を協働させた場合の干渉があるか否かを判定する。そして、数値制御装置100Bは、加工機PM1、PM2の加工軌道データと、判定結果とに基づいて、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0100】
これにより、第1の実施形態と同様に、数値制御装置100Bは、単一のワークWRに対する1つの原初NCプログラムOPから加工機PM1、PM2別の個別NCプログラムIP1、IP2を生成でき、加工機PM1、PM2を協働して加工させることができる。さらに、第3の実施形態により、数値制御装置100Bは、単一のワークWRにおける加工個所の要求時定数(要求加速度)や要求速度に応じて、当該要求時定数(要求加速度)や要求速度を満たす加工機PM1、PM2を協働して加工させることにより、単一のワークWRの加工に対する加工精度と加工速度とを両立させることができる。
【0101】
また、第1の実施形態と同様に、加工機PM1、PM2の個別NCプログラムIP1、IP2は、加工機PM1、PM2における干渉等の判定結果に応じて、加工機PM1、PM2の動作が調整される。これにより、数値制御装置100Bは、加工効率が向上し、サイクルタイムを削減できる。
以上、第3の実施形態について説明した。
【0102】
[第4の実施形態]
次に第4の実施形態について説明する。第4の実施形態では、予め加減速時定数及び/又は切削送り速度が加工機毎に設定され、第1加工プログラムの加工軌道を低周波数成分と高周波数成分に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第2加工プログラムを生成する。第4の実施形態では、第1の実施形態から第3の実施形態とは異なり、例えば、低周波数成分に対応する第2加工プログラムにより、一方の加工機で下地の加工を行い、これを追いかける形で他方の加工機で高周波数成分に対応する第2加工プログラムにより、複雑な形状の加工を行う形態となる。
【0103】
図11は、本発明の第4の実施形態に係る数値制御装置の一例を示す図である。なお、
図11では、第1の実施形態に係る数値制御装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。また、マシニングセンタMCが加工する単一のワークWRは、例えば、X軸方向の長さがY軸及びZ軸方向の長さより長い長物とする。
第4の実施形態に係る数値制御装置100Cは、第1の実施形態に係る数値制御装置100と同様の構成を備える。
【0104】
数値制御装置100Cは、予め加減速時定数及び/又は切削送り速度が加工機毎に設定され、原初NCプログラムOPの加工軌道を低周波数成分と高周波数成分に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機PM1、PM2の各々の加工軌道を示す複数の個別NCプログラムIP1、IP2を生成するため、制御部10が記憶部40に記憶された数値制御処理のプログラムを実行することにより、生成部20c、並列化部30c及び周波数解析部50として機能する。
【0105】
生成部20cは、例えば、数値制御装置100Cの入力装置を介して、オペレータ等の入力指示を受けた場合、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。ここで、オペレータ等の入力指示には、加工機PM1、PM2それぞれに設定される加減速時定数を示す時定数情報が含まれる。例えば、加工機PM1には、50ms等の大きい加減速時定数(すなわち、加減速時の応答性が遅い)が設定され、加工機PM2には、20ms等の小さい加減速時定数(すなわち、加減速時の応答性が速い)が設定される。また、刃物等の工具が装着される場合、30m/min等の遅い切削送り速度と、40m/min等の速い切削送り速度とが加工機PM1、PM2に設定されても良い。
生成部20cは、読み込んだ原初NCプログラムOPが示す加工軌道に基づいて、加工機PM1、PM2が協働して動作するように、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0106】
より具体的には、生成部20cは、原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度等の指令情報を取得する。生成部20cは、取得した指令情報を用いて、原初NCプログラムOPが示す加工軌道P(t,X(t),Y(t),Z(t))を算出する。
【0107】
生成部20cは、後述する周波数解析部50による周波数解析処理から求められた加工軌道Pの低周波成分を、下地加工等の高い応答性が求められない、大きい加減速時定数(加減速時の応答性が遅い)が設定された加工機PM1の加工軌道データとして記憶部40に記憶する。一方、生成部20cは、加工軌道Pの高周波成分を、複雑な形状の加工や仕上げ加工等の高い応答性が求められる、小さい加減速時定数(加減速時の応答性が速い)が設定された加工機PM2の加工軌道データとして記憶部40に記憶する。
【0108】
生成部20cは、並列化部30cによる並列化処理の判定結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。そして、生成部20cは、生成した加工機PM1、PM2の個別NCプログラムIP1、IP2を記憶部40に記憶する。
【0109】
周波数解析部50は、生成部20cにより算出された各時間tの加工軌道PのX(t)、Y(t)及びZ(t)それぞれに対して、ローパスフィルタを用いた周波数解析処理(以下、「ローパスフィルタ処理」とも称される)を実行する。周波数解析部50は、加工軌道Pの低周波成分XL(t)、YL(t)及びZL(t)を算出する。ローパスフィルタには、例えば、当業者にとって公知のIIR(Infinite Impulse Response)フィルタを用いる。IIRフィルタは、例えば、式(1)のように表される。なお、式(1)は、加工軌道PのX成分について示すが、Y成分及びZ成分についても同様である。また、IIRフィルタ以外の他のローパスフィルタを用いても良い。
XL(t)=A0×X(t)+A1×X(t−Δt)+B1×XL(t−Δt) …(1)
【0110】
tは、時間を示し、Δtは、1制御周期の時間を示す。XL(t)は、加工軌道PのX軸方向の低周波成分を示す。また、A0、A1及びB1は、定数であり、式(1)が低域通過フィルタとして動作するように、A0=A1及びA0+A1+B1=1を満たすように設定される。また、式(1)のカットオフ周波数は、加工機PM1、PM2に設定される加減速時定数等に応じて適宜決定されることが好ましい。
【0111】
また、周波数解析部50は、式(2)を用いて、加工軌道Pの高周波成分XH(t)、YH(t)及びZH(t)を求める。なお、式(2)は、高周波成分XH(t)について示すが、高周波成分YH(t)及びZH(t)についても同様である。
XH(t)=X(t)−XL(t) …(2)
【0112】
並列化部30cは、加工機PM2による加工処理が加工機PM1による加工処理を追いかけるように並列化する。このため、干渉を防止するために、加工機PM1による加工処理を開始した後、加工機PM1と干渉しないように、所定の時間待機した後に、加工機PM2による加工処理を行うようにしても良い。
【0113】
以上のように、ワークWRを加工するにあたり、大きい加減速時定数(すなわち、加減速時の応答性が遅い)が設定された加工機PM1が、ワークWRに対して下地の加工を行い、小さい加減速時定数(すなわち、加減速時の応答性が速い)が設定された加工機PM2が、加工機PM1を追いかけるように、複雑な形状の加工を行うことで、数値制御装置100Cは、加工効率の向上を図ることができる。
図12では、加工機PM2が加工機PM1の加工を追いかける様子を示す。
図12に示すように、特に長物のワークの加工において、加工機PM1で下地の加工を行い、エッジの変動が大きい領域を小さい加減速時定数(すなわち、加減速時の応答性が速い)が設定された加工機PM2で追いかけるように複雑な形状の加工処理を行うことができる。
【0114】
なお、
図12は、加工機PM1、PM2の加工軌道P1、P2の一例を示す図である。
図12では、大きい加減速時定数(加減速時の応答性が遅い)が設定された加工機PM1の加工軌道P1は、破線で示した移動の変動が少ない低周波数成分の加工軌道を示し、小さい加減速時定数(加減速時の応答性が速い)が設定された加工機PM2の加工軌道P2は、加工機PM1を追いかけるようにして、実線で示した移動の変動が大きい高周波成分の加工軌道を示す。
【0115】
図13は、第4の実施形態に係る数値制御装置100Cにおける数値制御処理の一例を示す図である。
図13に示した処理は、加工軌道Pの低周波数成分と高周波成分とを算出し、加工機PM1、PM2の加工軌道データを生成する点が、
図3に示した第1の実施形態の処理と異なる。
なお、
図13に示した処理は、例えば、オペレータ等による数値制御装置100Cの入力装置の操作により実行される。
【0116】
ステップS41において、生成部20cは、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。
【0117】
ステップS42において、生成部20cは、ステップS41で読み込んだ原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度等の指令情報を取得する。生成部20cは、取得した指令情報を用いて、原初NCプログラムOPが示す3次元の加工軌道P(t,X(t),Y(t),Z(t))を算出する。
【0118】
ステップS43において、生成部20cは、ステップS42で算出した加工軌道P(t,X(t),Y(t),Z(t))を用いて、加工軌道の周波数解析に基づいて加工軌道配分処理を実行する。なお、加工軌道配分処理については、
図14を用いて説明する。
【0119】
ステップS44において、並列化部30cは、加工機PM1による加工処理を開始した後、加工機PM1と干渉しないように、所定の時間待機した後に、加工機PM2による加工処理を行うように加工機PM1と加工機PM2とが、互いに干渉しないように動作を開始するタイミングを調整する。
【0120】
ステップS45において、生成部20cは、第1の実施形態におけるステップS5と同様に、ステップS44の調整結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0121】
ステップS46において、制御部10は、第1の実施形態におけるステップS6と同様に、ステップS45で生成された個別NCプログラムIP1、IP2を並列に実行し、加工機PM1、PM2それぞれの単一のワークWRに対する加工を制御する。
【0122】
図14は、
図13に示したステップS43の加工軌道配分処理の一例を示す図である。
ステップS431において、生成部20cは、時間tを0にリセットする。
【0123】
ステップS432において、周波数解析部50は、式(1)を用いて、時間tの加工軌道PのX(t)、Y(t)及びZ(t)に対してローパスフィルタ処理を実行し、加工軌道Pの低周波成分XL(t)、YL(t)及びZL(t)を算出する。
【0124】
ステップS433において、生成部20cは、ステップS432で算出された時間tの加工軌道Pの低周波成分XL(t)、YL(t)及びZL(t)を、高い応答性が求められない、大きい加減速時定数(加減速時の応答性が遅い)が設定された加工機PM1の加工軌道データに追加し更新する。
【0125】
ステップS434において、周波数解析部50は、式(2)を用いて、加工軌道Pの高周波成分XH(t)、YH(t)及びZH(t)を算出する。
【0126】
ステップS435において、生成部20cは、ステップS434で算出された時間tの加工軌道Pの高周波成分XH(t)、YH(t)及びZH(t)を、高い応答性が求められる、小さい加減速時定数(加減速時の応答性が速い)が設定された加工機PM2の加工軌道データに追加し更新する。
【0127】
ステップS436において、生成部20cは、次の時間tの加工軌道Pがあるか否かを判定する。次の時間tの加工軌道Pがある場合、数値制御装置100Cの処理は、ステップS437に移る。一方、次の時間tの加工軌道Pがない場合、加工軌道配分処理を終了し、数値制御装置100Cの処理は、
図13に示したステップS44に移る。
【0128】
ステップS437において、生成部20cは、時間tを1制御周期の時間だけ増加させ、数値制御装置100Cの処理は、ステップS432に移る。
【0129】
以上説明したように、第4の実施形態では、数値制御装置100Cは、各時間tの加工軌道P(t,X(t),Y(t),Z(t))に対してローパスフィルタ処理を実行し、加工軌道Pの低周波成分と高周波成分とを算出する。数値制御装置100Cは、算出した加工軌道Pの低周波成分と高周波成分とを用いて、加工機PM1、PM2に設定された加減速時定数に応じ加工機PM1、PM2の加工軌道データを生成する。数値制御装置100Cは、生成した加工機PM1、PM2の加工軌道データに基づいて、加工機PM1、PM2の動作をシミュレーションし、加工機PM1、PM2を協働させた場合の干渉等があるか否かを判定する。そして、数値制御装置100Cは、加工機PM1、PM2の加工軌道データと、判定結果とに基づいて、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0130】
これにより、低周波数成分に対応する個別NCプログラムIP1により、加工機PM1で例えば長物ワークの下地の加工を行い、これを追いかける形で他方の加工機PM2で高周波数成分に対応する個別NCプログラムIP2により、複雑な形状の加工を行うことができ、加工精度を保つとともに、加工効率を向上させることができる。
【0131】
また、第1の実施形態と同様に、加工機PM1、PM2の個別NCプログラムIP1、IP2は、加工機PM1、PM2における干渉等の判定結果に応じて、加工機PM1、PM2の動作が調整される。これにより、数値制御装置100Cは、加工効率が向上し、サイクルタイムを削減できる。
以上、第4の実施形態について説明した。
【0132】
[第5の実施形態]
次に第5の実施形態について説明する。第5の実施形態では、予め加減速時定数及び/又は切削送り速度が加工機毎に設定され、加工面の空間周波数分布に基づき、加工面を空間周波数の低い低領域と空間周波数の高い高領域とに分けて、第1加工プログラムの加工軌道を低領域と高領域に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第2加工プログラムを生成する。第5の実施形態では、第1の実施形態と同様に、加工領域別に、各加工機が加工処理を分担する。高周波数成分に対応する複雑な形状の多い加工面の加工を応答性の高い加工機で加工を行い、他方の加工機で低周波数成分に対応する形状の多い加工面の加工を行う形態となる。これにより、加工面が高周波数成分に対応する加工面では、応答性の高い加工機により加工させることでその面品位を確保するとともに、全体の加工効率を向上させることができる。
【0133】
図15は、本発明の第5の実施形態に係る数値制御装置の一例を示す図である。なお、
図15では、第1の実施形態に係る数値制御装置100の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
第5の実施形態に係る数値制御装置100Dは、第1の実施形態に係る数値制御装置100と同様の構成を備える。
【0134】
数値制御装置100Dは、例えば、CAD/CAM装置200から原初NCプログラムOPとともに、単一のワークWRから形成される製品や部品等の加工面形状を示すCADデータも受信し、記憶部40に記憶する。
【0135】
数値制御装置100Dは、予め加減速時定数及び/又は切削送り速度が加工機毎に設定され、加工面の空間周波数分布に基づき、加工面を空間周波数の低い低領域と空間周波数の高い高領域とに分けて、原初NCプログラムOPの加工軌道を低領域と高領域に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機PM1、PM2の各々の加工軌道を示す複数の個別NCプログラムIP1、IP2を生成するため、制御部10が記憶部40に記憶された数値制御処理のプログラムを実行することにより、生成部20d、並列化部30及び周波数解析部50dとして機能する。
【0136】
生成部20dは、例えば、数値制御装置100Dの入力装置を介して、オペレータ等の入力指示を受けた場合、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。ここで、オペレータ等の入力指示には、加工機PM1、PM2それぞれに設定される加減速時定数を示す時定数情報が含まれる。例えば、加工機PM1には、50ms等の大きい加減速時定数(加減速時の応答性が遅い)や遅い切削送り速度が設定され、加工機PM2には、20ms等の小さい加減速時定数(加減速時の応答性が速い)や速い切削送り速度が設定される。また、刃物等の工具が装着される場合、30m/min等の遅い切削送り速度と、40m/min等の速い切削送り速度とが加工機PM1、PM2に設定されても良い。
生成部20dは、読み込んだ原初NCプログラムOPが示す加工軌道に基づいて、加工機PM1、PM2が協働して動作するように、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0137】
より具体的には、生成部20dは、読み込んだ原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度等の指令情報を取得する。生成部20dは、取得した指令情報を用いて、原初NCプログラムOPが示す加工軌道P(t,X(t),Y(t),Z(t))を算出する。
【0138】
生成部20dは、後述する周波数解析部50dによる周波数解析処理により求められた加工面形状の空間周波数のうち、低い空間周波数成分の加工面に対する加工軌道P(t,X(t),Y(t),Z(t))を、高い応答性が求められない、大きい加減速時定数(加減速時の応答性が遅い)や遅い切削送り速度が設定された加工機PM1の加工軌道データとして記憶部40に記憶する。一方、生成部20dは、高い空間周波数成分の加工面に対する加工軌道P(t,X(t),Y(t),Z(t))を、高い応答性が求められる、小さい加減速時定数(加減速時の応答性が速い)や速い切削送り速度が設定された加工機PM2の加工軌道データとして記憶部40に記憶する。
【0139】
生成部20dは、並列化部30による並列化処理の判定結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。生成部20dは、生成した加工機PM1、PM2の個別NCプログラムIP1、IP2を記憶部40に記憶する。
【0140】
周波数解析部50dは、記憶部40からCADデータを読み込む。周波数解析部50dは、読み込んだCADデータのうち、ワークWRが配置されるテーブルTBの平面に対応するXY平面における加工面形状の2次元データに対し、周波数解析処理として2次元DFT(Discrete Fourier Transform)処理を実行する。周波数解析部50dは、XY平面の加工面形状における空間周波数の2次元分布(以下、「空間周波数分布」とも称される)を算出する。なお、周波数解析部50dは、テーブルTBの平面がYZ平面に平行な場合、YZ平面の加工面形状の2次元データに対して2次元DFT処理を実行し、テーブルTBの平面がZX平面に平行な場合、ZX平面の加工面形状の2次元データに対してDFT処理を実行する。
【0141】
周波数解析部50dは、例えば、加工機PM1、PM2の加減速時定数に応じて決定される規定値を基準にして、算出した空間周波数分布を低い空間周波数成分の領域と高い空間周波数成分の領域とに分割する。周波数解析部50dは、低い空間周波数成分の領域に対し、周波数解析処理として2次元IDFT(Inverse Discrete Fourier Transform)処理を実行し、XY平面における低い空間周波数分布を算出する。また、周波数解析部50dは、高い空間周波数成分の領域に対して2次元IDFT処理を実行し、XY平面における高い空間周波数分布を算出する。
【0142】
並列化部30は、第1の実施形態における並列化部30と同等の機能を有する。
以上のように、ワークWRを加工するにあたり、加工面の空間周波数の低い低領域を大きい加減速時定数(すなわち、加減速時の応答性が遅い)が設定された加工機PM1が加工を行い、加工面の空間周波数の高い高領域を小さい加減速時定数(すなわち、加減速時の応答性が速い)が設定された加工機PM2が加工を行うことで、数値制御装置100Cは、加工効率の向上を図ることができる。
図16には、加工機PM2が加工面の空間周波数の高い高領域を加工し、加工機PM1が加工面の空間周波数の低い低領域を加工する様子を示す。これにより、空間周波数成分に対応する低領域に対応する加工面では、応答性の低い加工機に加工させ、加工面が高周波数成分に対応する加工面では、応答性の高い加工機により加工させることでその面品位を確保するとともに、全体の加工効率を向上させることができる。
【0143】
なお、
図16は、XY平面における空間周波数分布の一例を示す図である。
図16に示した空間周波数分布のうち、破線は、規定値に対応する等高線を示し、網掛けで示した領域AR2は、規定値より大きい高い高領域の加工面を示し、その他の領域AR1は、規定値以下の低領域の加工面を示す。
【0144】
図17は、第5の実施形態に係る数値制御装置100Dにおける数値制御処理の一例を示す図である。
図17に示した処理は、ワークWRの加工箇所における形状の空間周波数に応じて、加工機PM1、PM2の加工軌道データを生成する点が、
図3に示した第1の実施形態の処理と異なる。
なお、
図17に示した処理は、例えば、オペレータ等による数値制御装置100Dの入力装置の操作により実行される。また、数値制御装置100Dは、入力装置を介して加工機PM1、PM2それぞれに設定される加減速時定数を示す時定数情報を含む入力指示も、オペレータ等から受ける。
【0145】
ステップS51において、生成部20dは、CAD/CAM装置200から受信した原初NCプログラムOPを記憶部40から読み込む。
【0146】
ステップS52において、生成部20dは、ステップS51で読み込んだ原初NCプログラムOPの各ブロックのGコードを解読し、設定された移動先のXYZ座標や送り速度等の指令情報を取得する。生成部20dは、取得した指令情報を用いて、原初NCプログラムOPが示す3次元の加工軌道P(t,X(t),Y(t),Z(t))を算出する。
【0147】
ステップS53において、周波数解析部50dは、記憶部40からCADデータを読み込む。周波数解析部50dは、読み込んだCADデータのうちXY平面の加工面形状の2次元データに対して2次元DFT処理を実行し、XY平面の加工面形状の空間周波数分布を算出する。そして、周波数解析部50dは、加工機PM1、PM2の加減速時定数に応じて決定される規定値を基準にして、算出した空間周波数分布を低い空間周波数成分の領域と高い空間周波数成分の領域とに分割する。周波数解析部50dは、低い空間周波数成分の領域に対して2次元IDFT処理を実行し、XY平面における低い空間周波数分布を算出する。また、周波数解析部50dは、高い空間周波数成分の領域に対して2次元IDFT処理を実行し、XY平面における高い空間周波数分布を算出する。
【0148】
ステップS54において、生成部20dは、ステップS52で算出した加工軌道P(t,X(t),Y(t),Z(t))と、ステップS53で算出されたXY平面における低い空間周波数分布及び高い空間周波数分布等とを用いて、加工軌道配分処理を実行する。なお、加工軌道配分処理については、
図18を用いて説明する。
【0149】
ステップS55において、並列化部30は、第1の実施形態におけるステップ4に記載した処理においてステップ3をステップ54に読み替えた動作と同様の処理を行う。
【0150】
ステップS56において、生成部20dは、第1の実施形態におけるステップS5と同様に、ステップS55の調整結果に基づいて、加工機PM1、PM2それぞれの加工軌道データを用い、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0151】
ステップS57において、制御部10は、第1の実施形態におけるステップS6と同様に、ステップS56で生成された個別NCプログラムIP1、IP2を並列に実行し、加工機PM1、PM2それぞれの単一のワークWRに対する加工を制御する。
【0152】
図18は、
図17に示したステップS54の加工軌道配分処理の一例を示す図である。
ステップS541において、生成部20dは、時間tを0にリセットする。
【0153】
ステップS542において、生成部20dは、時間tの加工軌道P(t,X(t),Y(t),Z(t))における空間周波数が、加工機PM1、PM2の加減速時定数に応じて決定される規定値より大きいか否かを判定する。すなわち、生成部20dは、時間tの加工軌道P(t,X(t),Y(t),Z(t))が、XY平面における高い空間周波数分布に含まれるか否かを判定する。時間tの加工軌道P(t,X(t),Y(t),Z(t))が、XY平面における高い空間周波数分布に含まれる(すなわち、加工軌道P(t,X(t),Y(t),Z(t))における空間周波数が規定値より大きい)場合、数値制御装置100Dの処理は、ステップS544に移る。一方、時間tの加工軌道P(t,X(t),Y(t),Z(t))が、低い空間周波数分布に含まれる(すなわち、加工軌道P(t,X(t),Y(t),Z(t))における空間周波数が規定値以下である)場合、数値制御装置100Dの処理は、ステップS543に移る。
【0154】
ステップS543において、生成部20dは、ステップS542で判定された時間tの加工軌道P(t,X(t),Y(t),Z(t))を、高い応答性が求められない、大きい加減速時定数(すなわち、加減速時の応答性が遅い)が設定された加工機PM1の加工軌道データに追加し更新する。
【0155】
ステップS544において、生成部20dは、ステップS542で判定された時間tの加工軌道P(t,X(t),Y(t),Z(t))を、高い応答性が求められる、小さい加減速時定数(すなわち、加減速時の応答性が速い)が設定された加工機PM2の加工軌道データに追加し更新する。
【0156】
ステップS545において、生成部20dは、次の時間tの加工軌道Pがあるか否かを判定する。次の時間tの加工軌道Pがある場合、数値制御装置100Dの処理は、ステップS546に移る。一方、次の時間tの加工軌道Pがない場合、数値制御装置100Dの処理は、加工軌道配分処理を終了し、
図17に示したステップS55に移る。
【0157】
ステップS546において、生成部20dは、時間tを1制御周期の時間だけ増加させ、数値制御装置100Dの処理は、ステップS542に移る。
【0158】
以上説明したように、第5の実施形態では、数値制御装置100Dは、各時間tの加工軌道P(t,X(t),Y(t),Z(t))における加工面形状の空間周波数に応じて、加工機PM1、PM2の加工軌道データを生成する。数値制御装置100Dは、生成した加工機PM1、PM2の加工軌道データに基づいて、加工機PM1、PM2の動作をシミュレーションし、加工機PM1、PM2を協働させた場合の干渉等があるか否かを判定する。そして、数値制御装置100Dは、加工機PM1、PM2の加工軌道データと、判定結果とに基づいて、加工機PM1、PM2それぞれの個別NCプログラムIP1、IP2を生成する。
【0159】
これにより、数値制御装置100Dは、単一のワークWRに対する加工面の空間周波数分布に基づき、加工面を空間周波数の低い低領域と空間周波数の高い高領域とに分けて、単一のワークWRに対する1つの原初NCプログラムOPから、空間周波数の低い低領域を加工させる応答性の低い加工機PM1、空間周波数の高い高領域を加工させる応答性の高い加工機PM2別の個別NCプログラムIP1、IP2を生成でき、加工機PM1、PM2を協働して加工させることができる。これにより、空間周波数成分に対応する低領域に対応する加工面では、応答性の低い加工機に加工させ、加工面が高周波数成分に対応する加工面では、応答性の高い加工機により加工させることでその面品位を確保するとともに、全体の加工効率を向上させることができる。
【0160】
また、第1の実施形態から第3の実施形態と同様に、加工機PM1、PM2の個別NCプログラムIP1、IP2は、加工機PM1、PM2における干渉等の判定結果に応じて、加工機PM1、PM2の動作が調整される。これにより、数値制御装置100Dは、加工効率が向上し、サイクルタイムを削減できる。
【0161】
以上、本発明の第1の実施形態から第5の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0162】
[実施形態の変形例]
第1の実施形態から第5の実施形態に係る数値制御装置100(100A、100B、100C、100D)は、加工機PM1、PM2の個別NCプログラムIP1、IP2を生成したが、これに限定されない。例えば、加工機PM1又はPM2のいずれかの加工機は、様々な工具を装着できるロボットであっても良い。この場合、数値制御装置100は、Gコードで記述された個別NCプログラムIP1、IP2を、例えば、KUKA(登録商標)社のロボットコントローラKR C4(https://www.kuka.com/en-gb/products/robotics-systems/robot-controllers/kr-c4)等を用いて、ロボット用プログラムに変換する。なお、GコードのNCプログラムをロボット用プログラムに変換するロボットコントローラは、これに限定されず、他のコントローラを用いても良い。
そして、ロボットと機械テーブルと相対位置関係を保持するように、ロボットと機械テーブルとの位置合わせを行い、逆運動学演算に基づいてロボットの各軸を制御するようにしてもよい。