(57)【要約】【課題】単一のワークに対する１つの加工プログラムから複数の加工機別の加工プログラムを生成できる数値制御方法及び処理装置を提供すること。【解決手段】数値制御方法は、コンピュータにより実現される数値制御方法であって、単一のワークＷＲを加工する加工機の当初ＮＣプログラムＯＰから、ワークＷＲに対する加工の内容に応じて、当初ＮＣプログラムＯＰの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、それぞれの加工軌道に対応する加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を生成する生成ステップを備える。【選択図】図１
2020061014.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実現される数値制御方法であって、
単一のワークを加工する加工機の第１加工プログラムから、前記ワークに対する加工の内容に応じて、当該第１加工プログラムの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、それぞれの加工軌道に対応する複数の加工機の複数の第２加工プログラムを生成する生成ステップ
を備える数値制御方法。
【請求項２】
前記生成ステップは、前記複数の加工機の各々が前記ワークを加工する領域に応じて、前記複数の第２加工プログラムを生成する請求項１に記載の数値制御方法。
【請求項３】
前記生成ステップは、前記ワークの加工に対して要求される要求加工精度と、前記複数の加工機が有する加工精度とに応じて、前記複数の第２加工プログラムを生成する請求項１に記載の数値制御方法。
【請求項４】
前記生成ステップは、前記複数の加工機が有する加減速時定数に応じて、前記複数の第２加工プログラムを生成する請求項１に記載の数値制御方法。
【請求項５】
前記第１加工プログラムが示す加工軌道を周波数解析し、複数の周波数成分の加工軌道に分解する周波数解析ステップをさらに備え、
前記生成ステップは、前記複数の加工機が有する性能に応じて、前記複数の周波数成分の加工軌道の各々を前記複数の加工機のいずれかに割り当てるように、前記複数の第２加工プログラムを生成する請求項１に記載の数値制御方法。
【請求項６】
前記ワークに形成される形状を周波数解析し、複数の空間周波数成分の形状に分解する周波数解析ステップをさらに備え、
前記生成ステップは、前記複数の加工機が有する性能に応じて、前記複数の空間周波数成分の形状の各々を前記複数の加工機のいずれかに形成させるように、前記複数の第２加工プログラムを生成する請求項１に記載の数値制御方法。
【請求項７】
前記複数の加工機が有する性能は、加減速時定数である請求項５又は請求項６に記載の数値制御方法。
【請求項８】
前記複数の第２加工プログラムが前記複数の加工機により並列に実行された場合に、前記複数の加工機の間で干渉が発生するか否かを判定し、前記判定の結果に応じて、前記干渉を回避するように前記複数の第２加工プログラムを並列に実行するタイミングを調整する並列化ステップをさらに備える請求項１から請求項７に記載の数値制御方法。
【請求項９】
単一のワークを加工する加工機の第１加工プログラムから、前記ワークに対する加工の内容に応じて、当該第１加工プログラムの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、それぞれの加工軌道に対応する複数の加工機の複数の第２加工プログラムを生成する生成部
を備える処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の加工機を協働させる数値制御方法及び処理装置に関する。
【背景技術】
【０００２】
従来、２以上の加工機が協働して単一のワークを加工するコンピュータ数値制御（ＣＮＣ：Computerized Numerical Control）の技術が提案されている（例えば、特許文献１参照）。なお、加工機には、様々な工具が装着できるロボットも含まれる。
【０００３】
また、２つの刃物台を使用して単一のワークに対して荒削り加工と、仕上げ加工とを同時に行うバランスカットの技術が知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１２３０号公報
【特許文献２】特開平７−１７８６４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
製品の加工面形状を設計するとともに、設計した加工面形状にワークを加工する加工プログラムを生成するＣＡＤ／ＣＡＭ（Computer Aided Design/Computer Aided Manufacturing）のソフトウェアがある。しかしながら、ＣＡＤ／ＣＡＭは、１つのワークに対して１つの加工プログラムしか生成するに過ぎない。このままでは、複数の加工機を協働で動作させることができない。すなわち、複数の加工機を協働して単一のワークを加工させるために、オペレータ等が、加工機別に加工プログラムを作成する必要がある。なお、加工プログラムには、ＮＣ（Numerical Control）プログラム等がある。
【０００６】
また、バランスカットは、旋盤に限定される技術であり、旋盤以外の加工に適用することができない。
【０００７】
本発明は、単一のワークに対する１つの加工プログラムから複数の加工機別の加工プログラムを生成できる数値制御方法及び処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
（１）本発明の数値制御方法は、コンピュータにより実現される数値制御方法であって、単一のワークを加工する加工機の第１加工プログラムから、前記ワークに対する加工の内容に応じて、当該第１加工プログラムの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、それぞれの加工軌道に対応する複数の加工機の複数の第２加工プログラムを生成する生成ステップを備える。
【０００９】
（２）  （１）に記載の数値制御方法において、前記生成ステップは、前記複数の加工機の各々が前記ワークを加工する領域に応じて、前記複数の第２加工プログラムを生成しても良い。
【００１０】
（３）  （１）に記載の数値制御方法において、前記生成ステップは、前記ワークの加工に対して要求される要求加工精度と、前記複数の加工機が有する加工精度とに応じて、前記複数の第２加工プログラムを生成しても良い。
【００１１】
（４）  （１）に記載の数値制御方法において、前記生成ステップは、前記複数の加工機が有する加減速時定数に応じて、前記複数の第２加工プログラムを生成しても良い。
【００１２】
（５）  （１）に記載の数値制御方法において、前記第１加工プログラムが示す加工軌道を周波数解析し、複数の周波数成分の加工軌道に分解する周波数解析ステップをさらに備え、前記生成ステップは、前記複数の加工機が有する性能に応じて、前記複数の周波数成分の加工軌道の各々を前記複数の加工機のいずれかに割り当てるように、前記複数の第２加工プログラムを生成しても良い。
【００１３】
（６）  （１）に記載の数値制御方法において、前記ワークに形成される形状を周波数解析し、複数の空間周波数成分の形状に分解する周波数解析ステップをさらに備え、
前記生成ステップは、前記複数の加工機が有する性能に応じて、前記複数の空間周波数成分の形状の各々を前記複数の加工機のいずれかに形成させるように、前記複数の第２加工プログラムを生成しても良い。
【００１４】
（７）  （５）又は（６）に記載の数値制御方法において、前記複数の加工機が有する性能は、加減速時定数であっても良い。
【００１５】
（８）  （１）から（７）に記載の数値制御方法において、前記複数の第２加工プログラムが前記複数の加工機により並列に実行された場合に、前記複数の加工機の間で干渉が発生するか否かを判定し、前記判定の結果に応じて、前記干渉を回避するように前記複数の第２加工プログラムを並列に実行するタイミングを調整する並列化ステップをさらに備えても良い。
【００１６】
（９）本発明の処理装置は、単一のワークを加工する加工機の第１加工プログラムから、前記ワークに対する加工の内容に応じて、当該第１加工プログラムの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、それぞれの加工軌道に対応する複数の加工機の複数の第２加工プログラムを生成する生成部を備える。
【発明の効果】
【００１７】
本発明によれば、単一のワークに対する１つの加工プログラムから複数の加工機別の加工プログラムを生成できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態に係る数値制御装置の一例を示す図である。
【図２】加工機ＰＭ１、ＰＭ２それぞれの加工軌道データの一例を示す図である。
【図３】第１の実施形態に係る数値制御装置における数値制御処理の一例を示す図である。
【図４】図３に示したステップＳ３の加工軌道配分処理の一例を示す図である。
【図５】本発明の第２の実施形態に係る数値制御装置の一例を示す図である。
【図６】第２の実施形態に係る数値制御装置における数値制御処理の一例を示す図である。
【図７】図６に示したステップＳ１３の加工軌道配分処理の一例を示す図である。
【図８】本発明の第３の実施形態に係る数値制御装置の一例を示す図である。
【図９】第３の実施形態に係る数値制御装置における数値制御処理の一例を示す図である。
【図１０】図９に示したステップＳ２３の加工軌道配分処理の一例を示す図である。
【図１１】本発明の第４の実施形態に係る数値制御装置の一例を示す図である。
【図１２】加工機の加工軌道の一例を示す図である。
【図１３】第４の実施形態に係る数値制御装置における数値制御処理の一例を示す図である。
【図１４】図１３に示したステップＳ４３の加工軌道配分処理の一例を示す図である。
【図１５】本発明の第５の実施形態に係る数値制御装置の一例を示す図である。
【図１６】ＸＹ平面における空間周波数分布の一例を示す図である
【図１７】第５の実施形態に係る数値制御装置における数値制御処理の一例を示す図である。
【図１８】図１７に示したステップＳ５４の加工軌道配分処理の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について説明する。
[第１の実施形態]
まず、第１の実施形態について説明する。第１の実施形態では、第１加工プログラムの加工軌道を予め設定された加工領域別（例えば、Ｘ＞０の領域とそれ以外の領域）に加工複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第２加工プログラムを生成する。
【００２０】
なお、第１の実施形態における第１加工プログラムは、仕上げ加工以前の１次加工（例えば、当該ワークの荒加工工程等）において適用するプログラムであることが好ましい。すなわち、加工機ＰＭ１と加工機ＰＭ２との加工領域の境界（例えば、Ｘ＝０）の周辺のワークＷＲの表面には、２つの加工機ＰＭ１、ＰＭ２の加工による段差等が形成される可能性がある。この場合、２次加工（例えば仕上げ加工）が行われることで、段差等が除去される。
【００２１】
図１は、本発明の第１の実施形態に係る処理装置としての数値制御装置の一例を示す図である。
第１の実施形態に係る数値制御装置１００は、プロセッサ等の制御部１０と、ハードディスク装置等の記憶部４０とを有するコンピュータである。また、数値制御装置１００は、入出力デバイス及び通信インタフェース等の外部装置とのインタフェース機能を有する。これにより、数値制御装置１００は、有線又は無線を介して、外部のＣＡＤ／ＣＡＭ装置２００及びマシニングセンタＭＣに接続される。なお、数値制御装置１００は、ネットワークを介して、ＣＡＤ／ＣＡＭ装置２００及びマシニングセンタＭＣに接続されても良い。
【００２２】
ＣＡＤ／ＣＡＭ装置２００は、例えば、プロセッサ等の演算処理装置と、ハードディスク装置等の記憶装置を有するコンピュータであり、演算処理装置が記憶装置に記憶されたＣＡＤ／ＣＡＭのプログラムを実行することにより、ＣＡＤ／ＣＡＭ装置として動作する。ＣＡＤ／ＣＡＭ装置２００は、ＣＡＤ／ＣＡＭ装置２００に含まれるキーボードやマウス等の入力装置を介して入力されたオペレータ等の入力指示に基づいて、製品や部品等の加工面形状を設計し、設計した製品や部品等の加工面形状を示すＣＡＤデータを生成する。
【００２３】
ＣＡＤ／ＣＡＭ装置２００は、生成されたＣＡＤデータを用いて、設計した加工面形状にワークを加工する加工プログラムを生成する。ＣＡＤ／ＣＡＭ装置２００は、生成した加工プログラムを数値制御装置１００に送信する。そして、数値制御装置１００は、受信した加工プログラムを、第１加工プログラムとしての原初ＮＣプログラムＯＰとして記憶部４０に記憶する。
【００２４】
マシニングセンタＭＣは、２つの加工機ＰＭ１、ＰＭ２と、テーブルＴＢとを有する。また、マシニングセンタＭＣは、入出力デバイス及び通信インタフェース等の外部装置とのインタフェース機能を有する。これにより、マシニングセンタＭＣは、有線又は無線を介して、外部の数値制御装置１００に接続される。なお、マシニングセンタＭＣは、ネットワークを介して、数値制御装置１００に接続されても良い。
【００２５】
加工機ＰＭ１、ＰＭ２は、例えば、主軸ユニットであり、数値制御装置１００が実行するＮＣプログラムの指令に基づいて、スライス削り、穴あけや中ぐり等の加工の内容に応じた工具が、マシニングセンタＭＣに含まれる工具マガジンを介してそれぞれ装着される。また、加工機ＰＭ１、ＰＭ２は、例えば、Ｘ軸、Ｙ軸及びＺ軸の各方向に設けられた不図示のサーボモータ及びボールねじ軸を有する２つの移動機構にそれぞれ配置される。そして、数値制御装置１００が実行するＮＣプログラムの指令に基づいて２つの移動機構が動作することにより、加工機ＰＭ１、ＰＭ２は、互いに独立してＸ軸、Ｙ軸及びＺ軸の各方向に移動する。なお、マシニングセンタＭＣは、２つの加工機ＰＭ１、ＰＭ２を有したが、３以上の加工機を有しても良い。
【００２６】
テーブルＴＢは、例えば、加工機ＰＭ１、ＰＭ２と対向する平面が、ＸＹ平面と平行に配置され、加工対象の単一のワークＷＲが配置される。また、テーブルＴＢは、マシニングセンタＭＣに固定して配置される。しかしながら、これに限定されず、テーブルＴＢは、マシニングセンタＭＣに対して移動可能に配置されても良い。
【００２７】
数値制御装置１００は、制御部１０が記憶部４０に記憶された数値制御処理のプログラムを実行することにより、生成部２０及び並列化部３０として機能する。
【００２８】
生成部２０は、例えば、数値制御装置１００に含まれるタッチパネル等の入力装置を介して、オペレータ等の入力指示を受けた場合、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。生成部２０は、単一のワークを加工する加工機の原初ＮＣプログラムＯＰから、当該ワークに対する加工の内容に応じて、当該原初ＮＣプログラムＯＰの加工軌道を複数の軌道に分解し、分解された各加工軌道に基づいて、加工機ＰＭ１、ＰＭ２が協働して動作するように、加工機ＰＭ１、ＰＭ２それぞれのＮＣプログラム（以下、「個別ＮＣプログラムＩＰ」とも称される）ＩＰ１、ＩＰ２を生成する。
【００２９】
より具体的には、生成部２０は、例えば、オペレータ等の入力指示に基づいて、加工機ＰＭ１の加工領域（例えば、Ｘ＞０の領域）と、加工機ＰＭ２の加工領域（例えば、Ｘ≦０の領域）とを定義する。また、生成部２０は、読み込んだ原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度等の指令情報を取得する。生成部２０は、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す３次元の加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。なお、ｔは、数値制御処理の開始を時間「０」とし、数値制御装置１００による制御周期の時間間隔で計測される処理開始から経過した時間を示す。すなわち、時間ｔ及び加工軌道Ｐの座標Ｘ（ｔ）、Ｙ（ｔ）、Ｚ（ｔ）は、離散値である。
【００３０】
生成部２０は、算出した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））のうち、加工機ＰＭ１の加工領域に含まれる加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ１の加工軌道データとして記憶部４０に記憶する。また、生成部２０は、加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））のデータを、加工機ＰＭ２の加工軌道データとして記憶部４０に記憶する。そして、生成部２０は、後述する並列化部３０による並列化処理の判定結果に基づいて、加工機ＰＭ１、ＰＭ２の加工軌道データを用いて、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。そして、生成部２０は、生成した加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を記憶部４０に記憶する。
【００３１】
並列化部３０は、生成部２０により生成された加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを記憶部４０から読み込む。並列化部３０は、読み込んだ加工機ＰＭ１、ＰＭ２それぞれの加工軌道データから生成されるＮＣプログラムを制御部１０が並列に実行した場合に、加工機ＰＭ１と加工機ＰＭ２とが干渉するか否かを判定する。なお、加工機ＰＭ１、ＰＭ２が互いに干渉するＸＹＺ空間における３次元領域や、動作条件等を示す干渉情報が予め記憶部４０に記憶され、並列化部３０は、干渉情報を記憶部４０から読み込むようにしても良い。
【００３２】
より具体的には、並列化部３０は、制御部１０が加工機ＰＭ１、ＰＭ２それぞれの加工軌道データに基づいて、並列（同時）に動作させた加工機ＰＭ１、ＰＭ２の動作を、特許文献１等に記載の周知の手法を用いてシミュレーションする。そして、並列化部３０は、シミュレーションの結果と、干渉情報とを比較し、加工機ＰＭ１と加工機ＰＭ２とが干渉するか否かを判定する。
【００３３】
例えば、加工機ＰＭ１の個別ＮＣプログラムＩＰ１を被比較プログラムとしたとき、加工機ＰＭ２の個別ＮＣプログラムＩＰ２の最先のブロックが個別ＮＣプログラムＩＰ１の最先のブロックと干渉するか否かを判定し、干渉しない場合、個別ＮＣプログラムＩＰ２の最先のブロックによる加工を許す。干渉する場合、個別ＮＣプログラムＩＰ１の次の２番目のブロックと干渉するか否かを判定し、干渉しない場合、個別ＮＣプログラムＩＰ１の２番目のブロックと個別ＮＣプログラムＩＰ２の最先のブロックによる協働加工を許すようにすることができる。以下、同様に、個別ＮＣプログラムＩＰ２の各ブロックが個別ＮＣプログラムＩＰ１のいずれのブロックと干渉しないことを判定することで、協働加工のための並列化を許可するようにしても良い。ここで、干渉するか否かの判定に際しては、例えば、個別ＮＣプログラムＩＰ１の被比較ブロックと個別ＮＣプログラムＩＰ２の比較ブロックとの間隔が予め設定された干渉を回避する所定の値以上であるか否かにより判定しても良い。
【００３４】
並列化部３０は、加工機ＰＭ１と加工機ＰＭ２とが干渉すると判定した場合、周知の特許文献１と同様に、加工機ＰＭ１と加工機ＰＭ２とが、干渉しないように動作を開始するタイミングを調整するようにしても良い。あるいは、並列化部３０は、加工機ＰＭ１と加工機ＰＭ２とが干渉する時間帯を求めるようにしても良い。その際、例えば加工機ＰＭ２の主軸を非干渉領域に移動させることで、加工機ＰＭ１と干渉しないようにしても良い。並列化部３０は、調整したタイミング又は求めた干渉する時間帯を含む判定結果を、記憶部４０に記憶する。
【００３５】
図２は、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データの一例を示す図である。図２の縦軸は、加工軌道ＰのＸ（ｔ）を示し、図２の横軸は、時間ｔを示す。また、加工機ＰＭ１の軌道データは実線で示し、加工機ＰＭ２の軌道データは破線で示す。
【００３６】
図２（ａ）は、加工機ＰＭ１の加工軌道データを時間０から時間ｔ１の間にプロットし、加工機ＰＭ２の加工軌道データを時間ｔ１から時間ｔ２の間にプロットしている。
【００３７】
並列化部３０が加工機ＰＭ１と加工機ＰＭ２とが干渉しないと判定した場合、生成部２０は、図２（ｂ）に示すように、加工機ＰＭ１、ＰＭ２の加工が時間０で同時に開始するように、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用いて、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【００３８】
一方、並列化部３０が干渉すると判定した場合、生成部２０は、例えば、加工機ＰＭ１と加工機ＰＭ２とが、並列化部３０が調整した干渉する干渉期間より長い時間差等となるタイミングで加工をそれぞれ開始するように、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２の各ブロックを生成する。あるいは、生成部２０は、例えば、加工機ＰＭ１と加工機ＰＭ２とが並列（同時）に加工を開始する場合でも、並列化部３０が求めた干渉する時間帯において、加工機ＰＭ１又は加工機ＰＭ２に対し干渉が終了するまで待機させるように、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２の各ブロックを生成する。
【００３９】
制御部１０は、個別ＮＣプログラムＩＰ１、ＩＰ２を記憶部４０から読み込み、読み込んだ個別ＮＣプログラムＩＰ１、ＩＰ２を並列に実行し、加工機ＰＭ１、ＰＭ２によるワークＷＲに対する加工を制御する。
なお、上記第１の実施形態の説明において、予め設定された加工領域として、例えば、Ｘ＞０の領域とそれ以外の領域とを例示したが、これに限られない。任意の領域を設定しても良い。また、加工領域を２つに分けた例を説明したが、これに限られない。３以上の複数の加工領域を設定しても良い。
【００４０】
図３は、第１の実施形態に係る数値制御装置１００における数値制御処理の一例を示す図である。図３に示した処理は、例えば、オペレータ等による数値制御装置１００の入力装置の操作により実行される。
【００４１】
ステップＳ１において、生成部２０は、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。
【００４２】
ステップＳ２において、生成部２０は、ステップＳ１で読み込んだ原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度等の指令情報を取得する。生成部２０は、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。
【００４３】
ステップＳ３において、生成部２０は、ステップＳ２で算出した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を用いて、加工軌道配分処理を実行する。なお、加工軌道配分処理については、図４を用いて説明する。
【００４４】
ステップＳ４において、並列化部３０は、ステップＳ３で生成された加工機ＰＭ１の加工軌道及び加工機ＰＭ２の加工軌道間での干渉有無をすべての加工軌道についてチェックし、干渉が発生する場合、例えば加工機ＰＭ２で加工機ＰＭ１との干渉が回避されるまで加工動作の開始タイミングを調整（例えば、待ち合わせ処理を挿入）する。
【００４５】
ステップＳ５において、生成部２０は、ステップＳ４において加工機ＰＭ２の加工動作の開始タイミングの調整結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【００４６】
ステップＳ６において、制御部１０は、ステップＳ５で生成された個別ＮＣプログラムＩＰ１、ＩＰ２を並列に実行し、加工機ＰＭ１、ＰＭ２それぞれの単一のワークＷＲに対する加工を制御する。
【００４７】
図４は、図３に示したステップＳ３の加工軌道配分処理の一例を示す図である。
ステップＳ３１において、生成部２０は、時ｔを０にリセットする。
【００４８】
ステップＳ３２において、生成部２０は、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））が加工機ＰＭ１の加工領域にあるか否かを判定する。時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））が加工機ＰＭ１の加工領域にある場合、数値制御装置１００の処理は、ステップＳ３３に移る。一方、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））が加工機ＰＭ２の加工領域にある場合、数値制御装置１００の処理は、ステップＳ３４に移る。
【００４９】
ステップＳ３３において、生成部２０は、ステップＳ３２で判定された時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ１の加工軌道データに追加し更新する。
【００５０】
ステップＳ３４において、生成部２０は、ステップＳ３２で判定された時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ２の加工軌道データに追加し更新する。
【００５１】
ステップＳ３５において、生成部２０は、次の時間ｔの加工軌道Ｐがあるか否かを判定する。次の時間ｔの加工軌道Ｐがある場合、数値制御装置１００の処理は、ステップＳ３６に移る。一方、次の時間ｔの加工軌道Ｐがない場合、加工軌道配分処理を終了し、数値制御装置１００の処理は、図３に示したステップＳ４に移る。
【００５２】
ステップＳ３６において、生成部２０は、時間ｔを１制御周期の時間だけ増加させ、数値制御装置１００の処理は、ステップＳ３２に移る。
【００５３】
以上説明したように、第１の実施形態では、数値制御装置１００は、ＸＹＺ空間の領域で加工機ＰＭ１、ＰＭ２の加工領域を定義し、原初ＮＣプログラムＯＰから計算される加工軌道Ｐと、定義された加工機ＰＭ１、ＰＭ２の加工領域とに基づいて、加工機ＰＭ１、ＰＭ２の加工軌道データを生成する。数値制御装置１００は、生成した加工機ＰＭ１、ＰＭ２の加工軌道データに基づいて、加工機ＰＭ１、ＰＭ２の動作をシミュレーションし、加工機ＰＭ１、ＰＭ２を協働させた場合の干渉があるか否かを判定する。そして、数値制御装置１００は、加工機ＰＭ１、ＰＭ２の加工軌道データと、判定結果とに基づいて、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【００５４】
これにより、数値制御装置１００は、単一のワークＷＲに対する１つの原初ＮＣプログラムＯＰから加工機ＰＭ１、ＰＭ２別の個別ＮＣプログラムＩＰ１、ＩＰ２を、各個別ＮＣプログラムＩＰ１及びＩＰ２がそれぞれ予め設定された任意の加工領域別に加工するように生成でき、加工機ＰＭ１、ＰＭ２を協働して加工させることができる。
【００５５】
また、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２は、加工機ＰＭ１、ＰＭ２における干渉等の判定結果に応じて、加工機ＰＭ１、ＰＭ２の動作が調整される。このため、数値制御装置１００は、加工効率が向上し、サイクルタイムを削減できる。
以上、第１の実施形態について説明した。
【００５６】
[第２の実施形態]
次に第２の実施形態について説明する。第２の実施形態では、予め加工精度情報が加工機毎に設定され、第１加工プログラムの加工軌道において、加工箇所の要求加工精度が異なる場合に、当該要求加工精度を満たす加工機の各々に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第２加工プログラムを生成する。
【００５７】
図５は、本発明の第２の実施形態に係る数値制御装置の一例を示す図である。なお、図５では、第１の実施形態に係る数値制御装置１００の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
第２の実施形態に係る数値制御装置１００Ａは、第１の実施形態に係る数値制御装置１００と同様の構成を備える。
【００５８】
数値制御装置１００Ａは、予め加工精度情報が加工機毎に設定され、原初ＮＣプログラムＯＰの加工軌道において、加工箇所の要求加工精度が異なる場合に、当該要求加工精度を満たす加工機の各々に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機ＰＭ１、ＰＭ２の各々の加工軌道を示す複数の個別ＮＣプログラムＩＰ１、ＩＰ２を生成するため、制御部１０が記憶部４０に記憶された数値制御処理のプログラムを実行することにより、生成部２０ａ及び並列化部３０として機能する。
【００５９】
生成部２０ａは、例えば、数値制御装置１００Ａの入力装置を介して、オペレータ等の入力指示を受けた場合、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。ここで、オペレータ等の入力指示には、加工機ＰＭ１、ＰＭ２に装着される工具及び装着される工具の加工精度を示す加工精度情報が含まれる。例えば、加工機ＰＭ１には、高い加工精度（例えば１ｎｍ等）で加工する刃物等の工具が装着され、加工機ＰＭ２には、低い加工精度（例えば１ｕｍ等）で加工する刃物等の工具が装着される。
生成部２０ａは、読み込んだ原初ＮＣプログラムＯＰが示す加工軌道に基づいて、加工機ＰＭ１、ＰＭ２が協働して動作するように、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【００６０】
より具体的には、生成部２０ａは、読み込んだ原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度、加工機に装着される工具等の指令情報を取得する。生成部２０ａは、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。また、生成部２０ａは、取得した指令情報と、入力指示の加工精度情報とを用いて、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））において要求される加工精度（以下、「要求加工精度」とも称される）が、加工機ＰＭ１による高い加工精度で可能か、加工機ＰＭ１とともに加工機ＰＭ２による低い加工精度でも可能かを判定する。
【００６１】
生成部２０ａは、各時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））のうち、要求加工精度が加工機ＰＭ１で可能と判定した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ１の加工軌道データとして記憶部４０に記憶する。一方、生成部２０ａは、要求加工精度が加工機ＰＭ１とともに加工機ＰＭ２でも可能と判定した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ２の加工軌道データとして記憶部４０に記憶する。そして、生成部２０ａは、並列化部３０による並列化処理の判定結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。そして、生成部２０ａは、生成した加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を記憶部４０に記憶する。
【００６２】
並列化部３０は、第１の実施形態における並列化部３０と同等の機能を有する。
【００６３】
図６は、第２の実施形態に係る数値制御装置１００Ａにおける数値制御処理の一例を示す図である。図６に示した処理は、ワークＷＲの加工箇所の要求加工精度に応じて、加工機ＰＭ１、ＰＭ２の加工軌道データを生成する点が、図３に示した第１の実施形態の処理と異なる。
なお、図６に示した処理は、例えば、オペレータ等による数値制御装置１００Ａの入力装置の操作により実行される。また、数値制御装置１００Ａは、入力装置の操作を介して、加工機ＰＭ１、ＰＭ２に装着される工具及び装着される工具の加工精度を示す加工精度情報を含む入力指示も、オペレータ等から受ける。
【００６４】
ステップＳ１１において、生成部２０ａは、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。
【００６５】
ステップＳ１２において、生成部２０ａは、ステップＳ１１で読み込んだ原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度、加工機に装着される工具等の指令情報を取得する。生成部２０ａは、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。また、生成部２０ａは、取得した指令情報と、入力指示の加工精度情報とを用いて、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求加工精度を特定する。
【００６６】
ステップＳ１３において、生成部２０ａは、ステップＳ１２で算出した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））及び要求加工精度等を用いて、加工軌道配分処理を実行する。なお、加工軌道配分処理については、図７を用いて説明する。
【００６７】
ステップＳ１４において、並列化部３０は、第１の実施形態におけるステップ４に記載した処理においてステップ３をステップ１３に読み替えた動作と同様の処理を行う。
【００６８】
ステップＳ１５において、生成部２０ａは、第１の実施形態におけるステップＳ５と同様に、ステップＳ１４の調整結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【００６９】
ステップＳ１６において、制御部１０は、第１の実施形態におけるステップＳ６と同様に、ステップＳ１５で生成された個別ＮＣプログラムＩＰ１、ＩＰ２を並列に実行し、加工機ＰＭ１、ＰＭ２それぞれの単一のワークＷＲに対する加工を制御する。
【００７０】
図７は、図６に示したステップＳ１３の加工軌道配分処理の一例を示す図である。
ステップＳ１３１において、生成部２０ａは、時間ｔを０にリセットする。
【００７１】
ステップＳ１３２において、生成部２０ａは、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求加工精度が加工機ＰＭ１の加工精度で可能か否かを判定する。時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））の要求加工精度が加工機ＰＭ１の加工精度のみで可能と判定された場合、数値制御装置１００Ａの処理は、ステップＳ１３３に移る。一方、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求加工精度が加工機ＰＭ１とともに加工機ＰＭ２の加工精度でも可能と判定された場合、数値制御装置１００Ａの処理は、ステップＳ１３４に移る。
【００７２】
ステップＳ１３３において、生成部２０ａは、ステップＳ１３２で判定された時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ１の加工軌道データに追加し更新する。
【００７３】
ステップＳ１３４において、生成部２０ａは、ステップＳ１３２で判定された時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ２の加工軌道データに追加し更新する。
【００７４】
ステップＳ１３５において、生成部２０ａは、次の時間ｔの加工軌道Ｐがあるか否かを判定する。次の時間ｔの加工軌道Ｐがある場合、数値制御装置１００Ａの処理は、ステップＳ１３６に移る。一方、次の時間ｔの加工軌道Ｐがない場合、加工軌道配分処理を終了し、数値制御装置１００Ａの処理は、図６に示したステップＳ１４に移る。
【００７５】
ステップＳ１３６において、生成部２０ａは、時間ｔを１制御周期の時間だけ増加させ、数値制御装置１００Ａの処理は、ステップＳ１３２に移る。
【００７６】
以上説明したように、第２の実施形態では、数値制御装置１００Ａは、単一のワークＷＲの加工に対する各時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求加工精度に応じて、加工機ＰＭ１、ＰＭ２の加工軌道データを生成する。数値制御装置１００Ａは、生成した加工機ＰＭ１、ＰＭ２の加工軌道データに基づいて、加工機ＰＭ１、ＰＭ２の動作をシミュレーションし、加工機ＰＭ１、ＰＭ２を協働させた場合の干渉があるか否かを判定する。そして、数値制御装置１００Ａは、加工機ＰＭ１、ＰＭ２の加工軌道データと、判定結果とに基づいて、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【００７７】
これにより、第１の実施形態と同様に、数値制御装置１００Ａは、単一のワークＷＲに対する１つの原初ＮＣプログラムＯＰから加工機ＰＭ１、ＰＭ２別の個別ＮＣプログラムＩＰ１、ＩＰ２を生成できる。さらに、第２の実施形態により、数値制御装置１００Ａは、単一のワークＷＲにおける加工個所の要求加工精度に応じて、加工機ＰＭ１、ＰＭ２を協働して加工させることができる。
【００７８】
また、第１の実施形態と同様に、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２は、加工機ＰＭ１、ＰＭ２における干渉等の判定結果に応じて、加工機ＰＭ１、ＰＭ２の動作が調整される。これにより、数値制御装置１００Ａは、加工効率が向上し、サイクルタイムを削減できる。
以上、第２の実施形態について説明した。
【００７９】
[第３の実施形態]
次に第３の実施形態について説明する。第３の実施形態では、予め加減速時定数及び／又は切削送り速度が加工機毎に設定され、第１加工プログラムの加工軌道において、加工箇所の要求加工速度が異なる場合に、当該要求加工速度を満たす加工機の各々に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第２加工プログラムを生成する。
【００８０】
図８は、本発明の第３の実施形態に係る数値制御装置の一例を示す図である。なお、図８では、第１の実施形態に係る数値制御装置１００の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
第３の実施形態に係る数値制御装置１００Ｂは、第１の実施形態に係る数値制御装置１００と同様の構成を備える。
【００８１】
数値制御装置１００Ｂは、予め加減速時定数及び／又は切削送り速度が加工機毎に設定され、原初ＮＣプログラムＯＰの加工軌道において、加工箇所の要求加工速度が異なる場合に、当該要求加工速度を満たす加工機の各々に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機ＰＭ１、ＰＭ２の各々の加工軌道を示す複数の個別ＮＣプログラムＩＰ１、ＩＰ２を生成するため、制御部１０が記憶部４０に記憶された数値制御処理のプログラムを実行することにより、生成部２０ｂ及び並列化部３０として機能する。
【００８２】
生成部２０ｂは、例えば、数値制御装置１００Ｂの入力装置を介して、オペレータ等の入力指示を受けた場合、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。ここで、オペレータ等の入力指示には、加工機ＰＭ１、ＰＭ２それぞれに設定される加減速時定数を示す時定数情報が含まれる。例えば、加工機ＰＭ１には、５０ｍｓ等の小さい加減速時定数（加減速時の応答性が速い）や速い切削送り速度が設定され、加工機ＰＭ２には、６０ｍｓ等の大きい加減速時定数（加減速時の応答性が遅い）や遅い切削送り速度が設定される。また、刃物等の工具が装着される場合、６０ｍ／ｍｉｎ等の速い切削送り速度と、４０ｍ／ｍｉｎ等の遅い切削送り速度とが加工機ＰＭ１、ＰＭ２に設定されても良い。
生成部２０ｂは、読み込んだ原初ＮＣプログラムＯＰが示す加工軌道に基づいて、加工機ＰＭ１、ＰＭ２が協働して動作するように、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【００８３】
より具体的には、生成部２０ｂは、原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度等の指令情報を取得する。生成部２０ｂは、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。また、生成部２０ｂは、指令情報を用いて、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））において加工機に要求される要求時定数（要求加速度）や要求速度を算出する。生成部２０ｂは、加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））で算出した要求時定数（要求加速度）や要求速度が、加工機ＰＭ１の加減速時定数で可能か、加工機ＰＭ１とともに加工機ＰＭ２の加減速時定数でも可能かを判定する。
【００８４】
生成部２０ｂは、各時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））のうち、要求時定数（要求加速度）や要求速度が加工機ＰＭ１の加減速時定数や切削送り速度で可能と判定した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ１の加工軌道データとして記憶部４０に記憶する。一方、生成部２０ｂは、要求時定数（要求加速度）や要求速度が加工機ＰＭ１とともに加工機ＰＭ２でも可能と判定した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ２の加工軌道データとして記憶部４０に記憶する。そして、生成部２０ｂは、並列化部３０による並列化処理の判定結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。生成部２０ｂは、生成した加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を記憶部４０に記憶する。
【００８５】
並列化部３０は、第１の実施形態における並列化部３０と同等の機能を有する。
【００８６】
図９は、第３の実施形態に係る数値制御装置１００Ｂにおける数値制御処理の一例を示す図である。図９に示した処理は、ワークＷＲの加工箇所の要求加工速度に応じて、加工機ＰＭ１、ＰＭ２の加工軌道データを生成し、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を生成する点が、図３に示した第１の実施形態の処理と異なる。
なお、図９に示した処理は、例えば、オペレータ等による数値制御装置１００Ｂの入力装置の操作により実行される。また、数値制御装置１００Ｂは、入力装置を介して加工機ＰＭ１、ＰＭ２それぞれに設定される加減速時定数を示す時定数情報を含む入力指示も、オペレータ等から受ける。
【００８７】
ステップＳ２１において、生成部２０ｂは、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。
【００８８】
ステップＳ２２において、生成部２０ｂは、ステップＳ２１で読み込んだ原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度等の指令情報を取得する。生成部２０ｂは、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。また、生成部２０ｂは、取得した指令情報を用いて、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求時定数（要求加速度）や要求速度を算出する。
【００８９】
ステップＳ２３において、生成部２０ｂは、ステップＳ２２で算出した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））及び要求時定数（要求加速度）や要求速度を用いて、加工軌道配分処理を実行する。なお、加工軌道配分処理については、図１０を用いて説明する。
【００９０】
ステップＳ２４において、並列化部３０は、第１の実施形態におけるステップ４に記載した処理においてステップ３をステップ２３に読み替えた動作と同様の処理を行う。
【００９１】
ステップＳ２５において、生成部２０ｂは、第１の実施形態におけるステップＳ５と同様に、ステップＳ２４の調整結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【００９２】
ステップＳ２６において、制御部１０は、第１の実施形態におけるステップＳ６と同様に、ステップＳ２５で生成された個別ＮＣプログラムＩＰ１、ＩＰ２を並列に実行し、加工機ＰＭ１、ＰＭ２それぞれの単一のワークＷＲに対する加工を制御する。
【００９３】
図１０は、図９に示したステップＳ２３の加工軌道配分処理の一例を示す図である。
ステップＳ２３１において、生成部２０ｂは、時間ｔを０にリセットする。
【００９４】
ステップＳ２３２において、生成部２０ｂは、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求時定数（要求加速度）や要求速度が加工機ＰＭ１の加減速時定数で可能か否かを判定する。時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求時定数（要求加速度）や要求速度が加工機ＰＭ１の加減速時定数のみで可能と判定された場合、数値制御装置１００Ｂの処理は、ステップＳ２３３に移る。一方、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求時定数（要求加速度）や要求速度が、加工機ＰＭ１とともに加工機ＰＭ２の加減速時定数でも可能と判定された場合、数値制御装置１００Ｂの処理は、ステップＳ２３４に移る。
【００９５】
ステップＳ２３３において、生成部２０ｂは、ステップＳ２３２で判定された時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ１の加工軌道データに追加し更新する。
【００９６】
ステップＳ２３４において、生成部２０ｂは、ステップＳ２３２で判定された時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、加工機ＰＭ２の加工軌道データに追加し更新する。
【００９７】
ステップＳ２３５において、生成部２０ｂは、次の時間ｔの加工軌道Ｐがあるか否かを判定する。次の時間ｔの加工軌道Ｐがある場合、数値制御装置１００Ｂの処理は、ステップＳ２３６に移る。一方、次の時間ｔの加工軌道Ｐがない場合、加工軌道配分処理を終了し、数値制御装置１００Ｂの処理は、図９に示したステップＳ２４に移る。
【００９８】
ステップＳ２３６において、生成部２０ｂは、時間ｔを１制御周期の時間だけ増加させ、数値制御装置１００Ｂの処理は、ステップＳ２３２に移る。
【００９９】
以上説明したように、第３の実施形態では、数値制御装置１００Ｂは、単一のワークＷＲの加工に対する各時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における要求時定数（要求加速度）や要求速度に応じて、加工機ＰＭ１、ＰＭ２の加工軌道データを生成する。数値制御装置１００Ｂは、生成した加工機ＰＭ１、ＰＭ２の加工軌道データに基づいて、加工機ＰＭ１、ＰＭ２の動作をシミュレーションし、加工機ＰＭ１、ＰＭ２を協働させた場合の干渉があるか否かを判定する。そして、数値制御装置１００Ｂは、加工機ＰＭ１、ＰＭ２の加工軌道データと、判定結果とに基づいて、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【０１００】
これにより、第１の実施形態と同様に、数値制御装置１００Ｂは、単一のワークＷＲに対する１つの原初ＮＣプログラムＯＰから加工機ＰＭ１、ＰＭ２別の個別ＮＣプログラムＩＰ１、ＩＰ２を生成でき、加工機ＰＭ１、ＰＭ２を協働して加工させることができる。さらに、第３の実施形態により、数値制御装置１００Ｂは、単一のワークＷＲにおける加工個所の要求時定数（要求加速度）や要求速度に応じて、当該要求時定数（要求加速度）や要求速度を満たす加工機ＰＭ１、ＰＭ２を協働して加工させることにより、単一のワークＷＲの加工に対する加工精度と加工速度とを両立させることができる。
【０１０１】
また、第１の実施形態と同様に、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２は、加工機ＰＭ１、ＰＭ２における干渉等の判定結果に応じて、加工機ＰＭ１、ＰＭ２の動作が調整される。これにより、数値制御装置１００Ｂは、加工効率が向上し、サイクルタイムを削減できる。
以上、第３の実施形態について説明した。
【０１０２】
[第４の実施形態]
次に第４の実施形態について説明する。第４の実施形態では、予め加減速時定数及び／又は切削送り速度が加工機毎に設定され、第１加工プログラムの加工軌道を低周波数成分と高周波数成分に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第２加工プログラムを生成する。第４の実施形態では、第１の実施形態から第３の実施形態とは異なり、例えば、低周波数成分に対応する第２加工プログラムにより、一方の加工機で下地の加工を行い、これを追いかける形で他方の加工機で高周波数成分に対応する第２加工プログラムにより、複雑な形状の加工を行う形態となる。
【０１０３】
図１１は、本発明の第４の実施形態に係る数値制御装置の一例を示す図である。なお、図１１では、第１の実施形態に係る数値制御装置１００の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。また、マシニングセンタＭＣが加工する単一のワークＷＲは、例えば、Ｘ軸方向の長さがＹ軸及びＺ軸方向の長さより長い長物とする。
第４の実施形態に係る数値制御装置１００Ｃは、第１の実施形態に係る数値制御装置１００と同様の構成を備える。
【０１０４】
数値制御装置１００Ｃは、予め加減速時定数及び／又は切削送り速度が加工機毎に設定され、原初ＮＣプログラムＯＰの加工軌道を低周波数成分と高周波数成分に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機ＰＭ１、ＰＭ２の各々の加工軌道を示す複数の個別ＮＣプログラムＩＰ１、ＩＰ２を生成するため、制御部１０が記憶部４０に記憶された数値制御処理のプログラムを実行することにより、生成部２０ｃ、並列化部３０ｃ及び周波数解析部５０として機能する。
【０１０５】
生成部２０ｃは、例えば、数値制御装置１００Ｃの入力装置を介して、オペレータ等の入力指示を受けた場合、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。ここで、オペレータ等の入力指示には、加工機ＰＭ１、ＰＭ２それぞれに設定される加減速時定数を示す時定数情報が含まれる。例えば、加工機ＰＭ１には、５０ｍｓ等の大きい加減速時定数（すなわち、加減速時の応答性が遅い）が設定され、加工機ＰＭ２には、２０ｍｓ等の小さい加減速時定数（すなわち、加減速時の応答性が速い）が設定される。また、刃物等の工具が装着される場合、３０ｍ／ｍｉｎ等の遅い切削送り速度と、４０ｍ／ｍｉｎ等の速い切削送り速度とが加工機ＰＭ１、ＰＭ２に設定されても良い。
生成部２０ｃは、読み込んだ原初ＮＣプログラムＯＰが示す加工軌道に基づいて、加工機ＰＭ１、ＰＭ２が協働して動作するように、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【０１０６】
より具体的には、生成部２０ｃは、原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度等の指令情報を取得する。生成部２０ｃは、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。
【０１０７】
生成部２０ｃは、後述する周波数解析部５０による周波数解析処理から求められた加工軌道Ｐの低周波成分を、下地加工等の高い応答性が求められない、大きい加減速時定数（加減速時の応答性が遅い）が設定された加工機ＰＭ１の加工軌道データとして記憶部４０に記憶する。一方、生成部２０ｃは、加工軌道Ｐの高周波成分を、複雑な形状の加工や仕上げ加工等の高い応答性が求められる、小さい加減速時定数（加減速時の応答性が速い）が設定された加工機ＰＭ２の加工軌道データとして記憶部４０に記憶する。
【０１０８】
生成部２０ｃは、並列化部３０ｃによる並列化処理の判定結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。そして、生成部２０ｃは、生成した加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を記憶部４０に記憶する。
【０１０９】
周波数解析部５０は、生成部２０ｃにより算出された各時間ｔの加工軌道ＰのＸ（ｔ）、Ｙ（ｔ）及びＺ（ｔ）それぞれに対して、ローパスフィルタを用いた周波数解析処理（以下、「ローパスフィルタ処理」とも称される）を実行する。周波数解析部５０は、加工軌道Ｐの低周波成分ＸＬ（ｔ）、ＹＬ（ｔ）及びＺＬ（ｔ）を算出する。ローパスフィルタには、例えば、当業者にとって公知のＩＩＲ（Infinite Impulse Response）フィルタを用いる。ＩＩＲフィルタは、例えば、式（１）のように表される。なお、式（１）は、加工軌道ＰのＸ成分について示すが、Ｙ成分及びＺ成分についても同様である。また、ＩＩＲフィルタ以外の他のローパスフィルタを用いても良い。
ＸＬ（ｔ）＝Ａ０×Ｘ（ｔ）＋Ａ１×Ｘ（ｔ−Δｔ）＋Ｂ１×ＸＬ（ｔ−Δｔ）  …（１）
【０１１０】
ｔは、時間を示し、Δｔは、１制御周期の時間を示す。ＸＬ（ｔ）は、加工軌道ＰのＸ軸方向の低周波成分を示す。また、Ａ０、Ａ１及びＢ１は、定数であり、式（１）が低域通過フィルタとして動作するように、Ａ０＝Ａ１及びＡ０＋Ａ１＋Ｂ１＝１を満たすように設定される。また、式（１）のカットオフ周波数は、加工機ＰＭ１、ＰＭ２に設定される加減速時定数等に応じて適宜決定されることが好ましい。
【０１１１】
また、周波数解析部５０は、式（２）を用いて、加工軌道Ｐの高周波成分ＸＨ（ｔ）、ＹＨ（ｔ）及びＺＨ（ｔ）を求める。なお、式（２）は、高周波成分ＸＨ（ｔ）について示すが、高周波成分ＹＨ（ｔ）及びＺＨ（ｔ）についても同様である。
ＸＨ（ｔ）＝Ｘ（ｔ）−ＸＬ（ｔ）  …（２）
【０１１２】
並列化部３０ｃは、加工機ＰＭ２による加工処理が加工機ＰＭ１による加工処理を追いかけるように並列化する。このため、干渉を防止するために、加工機ＰＭ１による加工処理を開始した後、加工機ＰＭ１と干渉しないように、所定の時間待機した後に、加工機ＰＭ２による加工処理を行うようにしても良い。
【０１１３】
以上のように、ワークＷＲを加工するにあたり、大きい加減速時定数（すなわち、加減速時の応答性が遅い）が設定された加工機ＰＭ１が、ワークＷＲに対して下地の加工を行い、小さい加減速時定数（すなわち、加減速時の応答性が速い）が設定された加工機ＰＭ２が、加工機ＰＭ１を追いかけるように、複雑な形状の加工を行うことで、数値制御装置１００Ｃは、加工効率の向上を図ることができる。図１２では、加工機ＰＭ２が加工機ＰＭ１の加工を追いかける様子を示す。図１２に示すように、特に長物のワークの加工において、加工機ＰＭ１で下地の加工を行い、エッジの変動が大きい領域を小さい加減速時定数（すなわち、加減速時の応答性が速い）が設定された加工機ＰＭ２で追いかけるように複雑な形状の加工処理を行うことができる。
【０１１４】
なお、図１２は、加工機ＰＭ１、ＰＭ２の加工軌道Ｐ１、Ｐ２の一例を示す図である。図１２では、大きい加減速時定数（加減速時の応答性が遅い）が設定された加工機ＰＭ１の加工軌道Ｐ１は、破線で示した移動の変動が少ない低周波数成分の加工軌道を示し、小さい加減速時定数（加減速時の応答性が速い）が設定された加工機ＰＭ２の加工軌道Ｐ２は、加工機ＰＭ１を追いかけるようにして、実線で示した移動の変動が大きい高周波成分の加工軌道を示す。
【０１１５】
図１３は、第４の実施形態に係る数値制御装置１００Ｃにおける数値制御処理の一例を示す図である。図１３に示した処理は、加工軌道Ｐの低周波数成分と高周波成分とを算出し、加工機ＰＭ１、ＰＭ２の加工軌道データを生成する点が、図３に示した第１の実施形態の処理と異なる。
なお、図１３に示した処理は、例えば、オペレータ等による数値制御装置１００Ｃの入力装置の操作により実行される。
【０１１６】
ステップＳ４１において、生成部２０ｃは、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。
【０１１７】
ステップＳ４２において、生成部２０ｃは、ステップＳ４１で読み込んだ原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度等の指令情報を取得する。生成部２０ｃは、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す３次元の加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。
【０１１８】
ステップＳ４３において、生成部２０ｃは、ステップＳ４２で算出した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を用いて、加工軌道の周波数解析に基づいて加工軌道配分処理を実行する。なお、加工軌道配分処理については、図１４を用いて説明する。
【０１１９】
ステップＳ４４において、並列化部３０ｃは、加工機ＰＭ１による加工処理を開始した後、加工機ＰＭ１と干渉しないように、所定の時間待機した後に、加工機ＰＭ２による加工処理を行うように加工機ＰＭ１と加工機ＰＭ２とが、互いに干渉しないように動作を開始するタイミングを調整する。
【０１２０】
ステップＳ４５において、生成部２０ｃは、第１の実施形態におけるステップＳ５と同様に、ステップＳ４４の調整結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【０１２１】
ステップＳ４６において、制御部１０は、第１の実施形態におけるステップＳ６と同様に、ステップＳ４５で生成された個別ＮＣプログラムＩＰ１、ＩＰ２を並列に実行し、加工機ＰＭ１、ＰＭ２それぞれの単一のワークＷＲに対する加工を制御する。
【０１２２】
図１４は、図１３に示したステップＳ４３の加工軌道配分処理の一例を示す図である。
ステップＳ４３１において、生成部２０ｃは、時間ｔを０にリセットする。
【０１２３】
ステップＳ４３２において、周波数解析部５０は、式（１）を用いて、時間ｔの加工軌道ＰのＸ（ｔ）、Ｙ（ｔ）及びＺ（ｔ）に対してローパスフィルタ処理を実行し、加工軌道Ｐの低周波成分ＸＬ（ｔ）、ＹＬ（ｔ）及びＺＬ（ｔ）を算出する。
【０１２４】
ステップＳ４３３において、生成部２０ｃは、ステップＳ４３２で算出された時間ｔの加工軌道Ｐの低周波成分ＸＬ（ｔ）、ＹＬ（ｔ）及びＺＬ（ｔ）を、高い応答性が求められない、大きい加減速時定数（加減速時の応答性が遅い）が設定された加工機ＰＭ１の加工軌道データに追加し更新する。
【０１２５】
ステップＳ４３４において、周波数解析部５０は、式（２）を用いて、加工軌道Ｐの高周波成分ＸＨ（ｔ）、ＹＨ（ｔ）及びＺＨ（ｔ）を算出する。
【０１２６】
ステップＳ４３５において、生成部２０ｃは、ステップＳ４３４で算出された時間ｔの加工軌道Ｐの高周波成分ＸＨ（ｔ）、ＹＨ（ｔ）及びＺＨ（ｔ）を、高い応答性が求められる、小さい加減速時定数（加減速時の応答性が速い）が設定された加工機ＰＭ２の加工軌道データに追加し更新する。
【０１２７】
ステップＳ４３６において、生成部２０ｃは、次の時間ｔの加工軌道Ｐがあるか否かを判定する。次の時間ｔの加工軌道Ｐがある場合、数値制御装置１００Ｃの処理は、ステップＳ４３７に移る。一方、次の時間ｔの加工軌道Ｐがない場合、加工軌道配分処理を終了し、数値制御装置１００Ｃの処理は、図１３に示したステップＳ４４に移る。
【０１２８】
ステップＳ４３７において、生成部２０ｃは、時間ｔを１制御周期の時間だけ増加させ、数値制御装置１００Ｃの処理は、ステップＳ４３２に移る。
【０１２９】
以上説明したように、第４の実施形態では、数値制御装置１００Ｃは、各時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））に対してローパスフィルタ処理を実行し、加工軌道Ｐの低周波成分と高周波成分とを算出する。数値制御装置１００Ｃは、算出した加工軌道Ｐの低周波成分と高周波成分とを用いて、加工機ＰＭ１、ＰＭ２に設定された加減速時定数に応じ加工機ＰＭ１、ＰＭ２の加工軌道データを生成する。数値制御装置１００Ｃは、生成した加工機ＰＭ１、ＰＭ２の加工軌道データに基づいて、加工機ＰＭ１、ＰＭ２の動作をシミュレーションし、加工機ＰＭ１、ＰＭ２を協働させた場合の干渉等があるか否かを判定する。そして、数値制御装置１００Ｃは、加工機ＰＭ１、ＰＭ２の加工軌道データと、判定結果とに基づいて、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【０１３０】
これにより、低周波数成分に対応する個別ＮＣプログラムＩＰ１により、加工機ＰＭ１で例えば長物ワークの下地の加工を行い、これを追いかける形で他方の加工機ＰＭ２で高周波数成分に対応する個別ＮＣプログラムＩＰ２により、複雑な形状の加工を行うことができ、加工精度を保つとともに、加工効率を向上させることができる。
【０１３１】
また、第１の実施形態と同様に、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２は、加工機ＰＭ１、ＰＭ２における干渉等の判定結果に応じて、加工機ＰＭ１、ＰＭ２の動作が調整される。これにより、数値制御装置１００Ｃは、加工効率が向上し、サイクルタイムを削減できる。
以上、第４の実施形態について説明した。
【０１３２】
[第５の実施形態]
次に第５の実施形態について説明する。第５の実施形態では、予め加減速時定数及び／又は切削送り速度が加工機毎に設定され、加工面の空間周波数分布に基づき、加工面を空間周波数の低い低領域と空間周波数の高い高領域とに分けて、第１加工プログラムの加工軌道を低領域と高領域に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機の各々の加工軌道を示す複数の第２加工プログラムを生成する。第５の実施形態では、第１の実施形態と同様に、加工領域別に、各加工機が加工処理を分担する。高周波数成分に対応する複雑な形状の多い加工面の加工を応答性の高い加工機で加工を行い、他方の加工機で低周波数成分に対応する形状の多い加工面の加工を行う形態となる。これにより、加工面が高周波数成分に対応する加工面では、応答性の高い加工機により加工させることでその面品位を確保するとともに、全体の加工効率を向上させることができる。
【０１３３】
図１５は、本発明の第５の実施形態に係る数値制御装置の一例を示す図である。なお、図１５では、第１の実施形態に係る数値制御装置１００の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
第５の実施形態に係る数値制御装置１００Ｄは、第１の実施形態に係る数値制御装置１００と同様の構成を備える。
【０１３４】
数値制御装置１００Ｄは、例えば、ＣＡＤ／ＣＡＭ装置２００から原初ＮＣプログラムＯＰとともに、単一のワークＷＲから形成される製品や部品等の加工面形状を示すＣＡＤデータも受信し、記憶部４０に記憶する。
【０１３５】
数値制御装置１００Ｄは、予め加減速時定数及び／又は切削送り速度が加工機毎に設定され、加工面の空間周波数分布に基づき、加工面を空間周波数の低い低領域と空間周波数の高い高領域とに分けて、原初ＮＣプログラムＯＰの加工軌道を低領域と高領域に対応して、複数の軌道に分解し、分解された各加工軌道に基づいて、複数の加工機ＰＭ１、ＰＭ２の各々の加工軌道を示す複数の個別ＮＣプログラムＩＰ１、ＩＰ２を生成するため、制御部１０が記憶部４０に記憶された数値制御処理のプログラムを実行することにより、生成部２０ｄ、並列化部３０及び周波数解析部５０ｄとして機能する。
【０１３６】
生成部２０ｄは、例えば、数値制御装置１００Ｄの入力装置を介して、オペレータ等の入力指示を受けた場合、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。ここで、オペレータ等の入力指示には、加工機ＰＭ１、ＰＭ２それぞれに設定される加減速時定数を示す時定数情報が含まれる。例えば、加工機ＰＭ１には、５０ｍｓ等の大きい加減速時定数（加減速時の応答性が遅い）や遅い切削送り速度が設定され、加工機ＰＭ２には、２０ｍｓ等の小さい加減速時定数（加減速時の応答性が速い）や速い切削送り速度が設定される。また、刃物等の工具が装着される場合、３０ｍ／ｍｉｎ等の遅い切削送り速度と、４０ｍ／ｍｉｎ等の速い切削送り速度とが加工機ＰＭ１、ＰＭ２に設定されても良い。
生成部２０ｄは、読み込んだ原初ＮＣプログラムＯＰが示す加工軌道に基づいて、加工機ＰＭ１、ＰＭ２が協働して動作するように、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【０１３７】
より具体的には、生成部２０ｄは、読み込んだ原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度等の指令情報を取得する。生成部２０ｄは、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。
【０１３８】
生成部２０ｄは、後述する周波数解析部５０ｄによる周波数解析処理により求められた加工面形状の空間周波数のうち、低い空間周波数成分の加工面に対する加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、高い応答性が求められない、大きい加減速時定数（加減速時の応答性が遅い）や遅い切削送り速度が設定された加工機ＰＭ１の加工軌道データとして記憶部４０に記憶する。一方、生成部２０ｄは、高い空間周波数成分の加工面に対する加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、高い応答性が求められる、小さい加減速時定数（加減速時の応答性が速い）や速い切削送り速度が設定された加工機ＰＭ２の加工軌道データとして記憶部４０に記憶する。
【０１３９】
生成部２０ｄは、並列化部３０による並列化処理の判定結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。生成部２０ｄは、生成した加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を記憶部４０に記憶する。
【０１４０】
周波数解析部５０ｄは、記憶部４０からＣＡＤデータを読み込む。周波数解析部５０ｄは、読み込んだＣＡＤデータのうち、ワークＷＲが配置されるテーブルＴＢの平面に対応するＸＹ平面における加工面形状の２次元データに対し、周波数解析処理として２次元ＤＦＴ（Discrete Fourier Transform）処理を実行する。周波数解析部５０ｄは、ＸＹ平面の加工面形状における空間周波数の２次元分布（以下、「空間周波数分布」とも称される）を算出する。なお、周波数解析部５０ｄは、テーブルＴＢの平面がＹＺ平面に平行な場合、ＹＺ平面の加工面形状の２次元データに対して２次元ＤＦＴ処理を実行し、テーブルＴＢの平面がＺＸ平面に平行な場合、ＺＸ平面の加工面形状の２次元データに対してＤＦＴ処理を実行する。
【０１４１】
周波数解析部５０ｄは、例えば、加工機ＰＭ１、ＰＭ２の加減速時定数に応じて決定される規定値を基準にして、算出した空間周波数分布を低い空間周波数成分の領域と高い空間周波数成分の領域とに分割する。周波数解析部５０ｄは、低い空間周波数成分の領域に対し、周波数解析処理として２次元ＩＤＦＴ（Inverse Discrete Fourier Transform）処理を実行し、ＸＹ平面における低い空間周波数分布を算出する。また、周波数解析部５０ｄは、高い空間周波数成分の領域に対して２次元ＩＤＦＴ処理を実行し、ＸＹ平面における高い空間周波数分布を算出する。
【０１４２】
並列化部３０は、第１の実施形態における並列化部３０と同等の機能を有する。
以上のように、ワークＷＲを加工するにあたり、加工面の空間周波数の低い低領域を大きい加減速時定数（すなわち、加減速時の応答性が遅い）が設定された加工機ＰＭ１が加工を行い、加工面の空間周波数の高い高領域を小さい加減速時定数（すなわち、加減速時の応答性が速い）が設定された加工機ＰＭ２が加工を行うことで、数値制御装置１００Ｃは、加工効率の向上を図ることができる。図１６には、加工機ＰＭ２が加工面の空間周波数の高い高領域を加工し、加工機ＰＭ１が加工面の空間周波数の低い低領域を加工する様子を示す。これにより、空間周波数成分に対応する低領域に対応する加工面では、応答性の低い加工機に加工させ、加工面が高周波数成分に対応する加工面では、応答性の高い加工機により加工させることでその面品位を確保するとともに、全体の加工効率を向上させることができる。
【０１４３】
なお、図１６は、ＸＹ平面における空間周波数分布の一例を示す図である。図１６に示した空間周波数分布のうち、破線は、規定値に対応する等高線を示し、網掛けで示した領域ＡＲ２は、規定値より大きい高い高領域の加工面を示し、その他の領域ＡＲ１は、規定値以下の低領域の加工面を示す。
【０１４４】
図１７は、第５の実施形態に係る数値制御装置１００Ｄにおける数値制御処理の一例を示す図である。図１７に示した処理は、ワークＷＲの加工箇所における形状の空間周波数に応じて、加工機ＰＭ１、ＰＭ２の加工軌道データを生成する点が、図３に示した第１の実施形態の処理と異なる。
なお、図１７に示した処理は、例えば、オペレータ等による数値制御装置１００Ｄの入力装置の操作により実行される。また、数値制御装置１００Ｄは、入力装置を介して加工機ＰＭ１、ＰＭ２それぞれに設定される加減速時定数を示す時定数情報を含む入力指示も、オペレータ等から受ける。
【０１４５】
ステップＳ５１において、生成部２０ｄは、ＣＡＤ／ＣＡＭ装置２００から受信した原初ＮＣプログラムＯＰを記憶部４０から読み込む。
【０１４６】
ステップＳ５２において、生成部２０ｄは、ステップＳ５１で読み込んだ原初ＮＣプログラムＯＰの各ブロックのＧコードを解読し、設定された移動先のＸＹＺ座標や送り速度等の指令情報を取得する。生成部２０ｄは、取得した指令情報を用いて、原初ＮＣプログラムＯＰが示す３次元の加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を算出する。
【０１４７】
ステップＳ５３において、周波数解析部５０ｄは、記憶部４０からＣＡＤデータを読み込む。周波数解析部５０ｄは、読み込んだＣＡＤデータのうちＸＹ平面の加工面形状の２次元データに対して２次元ＤＦＴ処理を実行し、ＸＹ平面の加工面形状の空間周波数分布を算出する。そして、周波数解析部５０ｄは、加工機ＰＭ１、ＰＭ２の加減速時定数に応じて決定される規定値を基準にして、算出した空間周波数分布を低い空間周波数成分の領域と高い空間周波数成分の領域とに分割する。周波数解析部５０ｄは、低い空間周波数成分の領域に対して２次元ＩＤＦＴ処理を実行し、ＸＹ平面における低い空間周波数分布を算出する。また、周波数解析部５０ｄは、高い空間周波数成分の領域に対して２次元ＩＤＦＴ処理を実行し、ＸＹ平面における高い空間周波数分布を算出する。
【０１４８】
ステップＳ５４において、生成部２０ｄは、ステップＳ５２で算出した加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））と、ステップＳ５３で算出されたＸＹ平面における低い空間周波数分布及び高い空間周波数分布等とを用いて、加工軌道配分処理を実行する。なお、加工軌道配分処理については、図１８を用いて説明する。
【０１４９】
ステップＳ５５において、並列化部３０は、第１の実施形態におけるステップ４に記載した処理においてステップ３をステップ５４に読み替えた動作と同様の処理を行う。
【０１５０】
ステップＳ５６において、生成部２０ｄは、第１の実施形態におけるステップＳ５と同様に、ステップＳ５５の調整結果に基づいて、加工機ＰＭ１、ＰＭ２それぞれの加工軌道データを用い、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【０１５１】
ステップＳ５７において、制御部１０は、第１の実施形態におけるステップＳ６と同様に、ステップＳ５６で生成された個別ＮＣプログラムＩＰ１、ＩＰ２を並列に実行し、加工機ＰＭ１、ＰＭ２それぞれの単一のワークＷＲに対する加工を制御する。
【０１５２】
図１８は、図１７に示したステップＳ５４の加工軌道配分処理の一例を示す図である。
ステップＳ５４１において、生成部２０ｄは、時間ｔを０にリセットする。
【０１５３】
ステップＳ５４２において、生成部２０ｄは、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における空間周波数が、加工機ＰＭ１、ＰＭ２の加減速時定数に応じて決定される規定値より大きいか否かを判定する。すなわち、生成部２０ｄは、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））が、ＸＹ平面における高い空間周波数分布に含まれるか否かを判定する。時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））が、ＸＹ平面における高い空間周波数分布に含まれる（すなわち、加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における空間周波数が規定値より大きい）場合、数値制御装置１００Ｄの処理は、ステップＳ５４４に移る。一方、時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））が、低い空間周波数分布に含まれる（すなわち、加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における空間周波数が規定値以下である）場合、数値制御装置１００Ｄの処理は、ステップＳ５４３に移る。
【０１５４】
ステップＳ５４３において、生成部２０ｄは、ステップＳ５４２で判定された時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、高い応答性が求められない、大きい加減速時定数（すなわち、加減速時の応答性が遅い）が設定された加工機ＰＭ１の加工軌道データに追加し更新する。
【０１５５】
ステップＳ５４４において、生成部２０ｄは、ステップＳ５４２で判定された時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））を、高い応答性が求められる、小さい加減速時定数（すなわち、加減速時の応答性が速い）が設定された加工機ＰＭ２の加工軌道データに追加し更新する。
【０１５６】
ステップＳ５４５において、生成部２０ｄは、次の時間ｔの加工軌道Ｐがあるか否かを判定する。次の時間ｔの加工軌道Ｐがある場合、数値制御装置１００Ｄの処理は、ステップＳ５４６に移る。一方、次の時間ｔの加工軌道Ｐがない場合、数値制御装置１００Ｄの処理は、加工軌道配分処理を終了し、図１７に示したステップＳ５５に移る。
【０１５７】
ステップＳ５４６において、生成部２０ｄは、時間ｔを１制御周期の時間だけ増加させ、数値制御装置１００Ｄの処理は、ステップＳ５４２に移る。
【０１５８】
以上説明したように、第５の実施形態では、数値制御装置１００Ｄは、各時間ｔの加工軌道Ｐ（ｔ，Ｘ（ｔ），Ｙ（ｔ），Ｚ（ｔ））における加工面形状の空間周波数に応じて、加工機ＰＭ１、ＰＭ２の加工軌道データを生成する。数値制御装置１００Ｄは、生成した加工機ＰＭ１、ＰＭ２の加工軌道データに基づいて、加工機ＰＭ１、ＰＭ２の動作をシミュレーションし、加工機ＰＭ１、ＰＭ２を協働させた場合の干渉等があるか否かを判定する。そして、数値制御装置１００Ｄは、加工機ＰＭ１、ＰＭ２の加工軌道データと、判定結果とに基づいて、加工機ＰＭ１、ＰＭ２それぞれの個別ＮＣプログラムＩＰ１、ＩＰ２を生成する。
【０１５９】
これにより、数値制御装置１００Ｄは、単一のワークＷＲに対する加工面の空間周波数分布に基づき、加工面を空間周波数の低い低領域と空間周波数の高い高領域とに分けて、単一のワークＷＲに対する１つの原初ＮＣプログラムＯＰから、空間周波数の低い低領域を加工させる応答性の低い加工機ＰＭ１、空間周波数の高い高領域を加工させる応答性の高い加工機ＰＭ２別の個別ＮＣプログラムＩＰ１、ＩＰ２を生成でき、加工機ＰＭ１、ＰＭ２を協働して加工させることができる。これにより、空間周波数成分に対応する低領域に対応する加工面では、応答性の低い加工機に加工させ、加工面が高周波数成分に対応する加工面では、応答性の高い加工機により加工させることでその面品位を確保するとともに、全体の加工効率を向上させることができる。
【０１６０】
また、第１の実施形態から第３の実施形態と同様に、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２は、加工機ＰＭ１、ＰＭ２における干渉等の判定結果に応じて、加工機ＰＭ１、ＰＭ２の動作が調整される。これにより、数値制御装置１００Ｄは、加工効率が向上し、サイクルタイムを削減できる。
【０１６１】
以上、本発明の第１の実施形態から第５の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【０１６２】
［実施形態の変形例］
第１の実施形態から第５の実施形態に係る数値制御装置１００（１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ）は、加工機ＰＭ１、ＰＭ２の個別ＮＣプログラムＩＰ１、ＩＰ２を生成したが、これに限定されない。例えば、加工機ＰＭ１又はＰＭ２のいずれかの加工機は、様々な工具を装着できるロボットであっても良い。この場合、数値制御装置１００は、Ｇコードで記述された個別ＮＣプログラムＩＰ１、ＩＰ２を、例えば、ＫＵＫＡ（登録商標）社のロボットコントローラＫＲ Ｃ４（https://www.kuka.com/en-gb/products/robotics-systems/robot-controllers/kr-c4）等を用いて、ロボット用プログラムに変換する。なお、ＧコードのＮＣプログラムをロボット用プログラムに変換するロボットコントローラは、これに限定されず、他のコントローラを用いても良い。
そして、ロボットと機械テーブルと相対位置関係を保持するように、ロボットと機械テーブルとの位置合わせを行い、逆運動学演算に基づいてロボットの各軸を制御するようにしてもよい。
【符号の説明】
【０１６３】
１０  制御部
２０  生成部
３０  並列化部
４０  記憶部
１００  数値制御装置
２００  ＣＡＤ／ＣＡＭ装置
ＭＣ  マシニングセンタ
【図１】
2020061014.tif 000003
【図２】
2020061014.tif 000004
【図３】
2020061014.tif 000005
【図４】
2020061014.tif 000006
【図５】
2020061014.tif 000007
【図６】
2020061014.tif 000008
【図７】
2020061014.tif 000009
【図８】
2020061014.tif 000010
【図９】
2020061014.tif 000011
【図１０】
2020061014.tif 000012
【図１１】
2020061014.tif 000013
【図１２】
2020061014.tif 000014
【図１３】
2020061014.tif 000015
【図１４】
2020061014.tif 000016
【図１５】
2020061014.tif 000017
【図１６】
2020061014.tif 000018
【図１７】
2020061014.tif 000019
【図１８】
2020061014.tif 000020