(57)【特許請求の範囲】
【請求項１】
工具によるワークの加工手順を規定する加工プログラムを解析実行し、工作機械を駆動する制御指令を生成する解析実行部を備えた工作機械の数値制御装置であって、
前記解析実行部は、ワークの表面に沿った所定の断面形状の溝の加工を指令する溝加工用指令コードを解析し、当該溝加工用指令コードに付加された、ワークに加工する溝の基準経路を特定するための基準経路プログラムと、前記溝の右側面及び左側面の傾きを含む前記溝の断面形状を特定するための断面形状データと、前記溝を加工するための加工条件データとに基づいて、前記溝の全加工に必要なワークと工具との相対運動を指令する制御指令を生成し、
前記解析実行部は、前記断面形状データと前記加工条件データとに基づいて、工具と溝の側面との間に干渉が発生しないかをチェックする
工作機械の数値制御装置。
【請求項２】
前記解析実行部は、前記基準経路プログラムから前記溝の基準経路を逆上る逆経路を特定するための逆経路プログラムを作成し、当該基準経路プログラムと逆経路プログラムとを用いて前記溝の全加工に必要な制御指令を生成する
請求項１に記載の工作機械の数値制御装置。
【請求項３】
前記逆経路プログラムを記憶保持する記憶手段を有する
請求項２に記載の工作機械の数値制御装置。
【請求項４】
前記解析実行部は、前記逆経路を移動する工具の送り速度が、前記基準経路を移動する工具の送り速度と一致するように前記逆経路を移動する工具の送り速度データを生成する
請求項２または３に記載の工作機械の数値制御装置。
【請求項５】
前記解析実行部は、前記基準経路プログラムと前記逆経路プログラムとを交互に用いて、ワークに対する工具の移動経路を前記基準経路または逆経路に対して溝の幅方向にオフセットしつつ溝内の同一面を所定の切り込み量で加工する制御指令を生成する
請求項２〜４のいずれかに記載の工作機械の数値制御装置。
【請求項６】
前記解析実行部は、前記断面形状データと前記加工条件データとに基づいて、工具が溝の側面に接するための溝の幅方向の工具のオフセット量を算出する
請求項１〜５いずれかに記載の工作機械の数値制御装置。
【請求項７】
前記断面形状データは、溝の開口部の幅と、溝の底部の幅と、溝の各側面の傾きと、溝の加工初期位置とを含んでいる
請求項１〜６のいずれかに記載の工作機械の数値制御装置。
【請求項８】
前記加工条件データは、工具の溝の深さ方向の切り込み量と、工具の溝の幅方向のオフセット量を特定するためのオフセット情報と、工具の刃先の種別を特定する刃先情報と、工具径情報とを含んでいる
請求項１〜７のいずれかに記載の工作機械の数値制御装置。
【請求項９】
前記ワークの表面は自由曲面となっている
請求項１〜８のいずれかに記載の工作機械の数値制御装置。
【請求項１０】
加工プログラムにしたがって工作機械を駆動してワークの加工を実行する数値制御装置を備えた工作機械による溝加工方法であって、
ワークの表面に沿った所定の断面形状の溝の加工を指令する溝加工用指令コードに、ワークに加工する溝の基準経路を特定するための基準経路プログラムと、前記溝の右側面及び左側面の傾きを含む前記溝の断面形状を特定するための断面形状データと、前記溝を加工するための加工条件データとを付加して溝加工用プログラムを作成するプログラム作成ステップと、
前記溝加工用プログラムを前記数値制御装置にダウンロードし、この溝加工用プログラムを解析し、前記溝の全加工に必要なワークと工具との相対運動を指令する制御指令を生成し、当該溝加工を行う実行ステップと、を有し、
前記実行ステップは、前記断面形状データと前記加工条件データとに基づいて、工具と溝の側面との間に干渉が発生しないかをチェックする
工作機械による溝加工方法。
【請求項１１】
前記実行ステップは、前記基準経路プログラムから前記溝の基準経路を逆上る逆経路を特定するための逆経路プログラムを作成し、当該基準経路プログラムと逆経路プログラムとを用いて前記溝の全加工に必要な制御指令を生成する
請求項１０に記載の工作機械による溝加工方法。
【請求項１２】
前記生成した逆経路プログラムを前記数値制御装置の具備する記憶手段に記憶保持する
請求項１１に記載の工作機械による溝加工方法。
【請求項１３】
前記実行ステップは、前記逆経路を移動する工具の送り速度が、前記基準経路を移動する工具の送り速度と一致するように前記逆経路を移動する工具の送り速度データを生成する
請求項１１または１２に記載の工作機械による溝加工方法。
【請求項１４】
前記実行ステップは、前記基準経路プログラムと前記逆経路プログラムとを交互に用いて、ワークに対する工具の移動経路を前記基準経路または逆経路に対して溝の幅方向にオフセットしつつ溝内の同一面を所定の切り込み量で加工する制御指令を生成する
請求項１１〜１３のいずれかに記載の工作機械による溝加工方法。
【請求項１５】
前記実行ステップは、前記断面形状データと前記加工条件データとに基づいて、工具が溝の側面に接するための溝の幅方向の工具のオフセット量を算出する
請求項１０〜１４に記載の工作機械による溝加工方法。
【請求項１６】
前記断面形状データは、溝の開口部の幅と、溝の底部の幅と、溝の各側面の傾きと、溝の加工初期位置とを含んでいる
請求項１０〜１５のいずれかに記載の工作機械による溝加工方法。
【請求項１７】
前記加工条件データは、工具の溝の深さ方向の切り込み量と、工具の溝の幅方向のオフセット量を特定するためのオフセット情報と、工具の刃先の種別を特定する刃先情報と、工具径情報とを含んでいる
請求項１０〜１６のいずれかに記載の工作機械による溝加工方法。
【請求項１８】
自由曲面をもつワークに溝を加工する
請求項１０〜１７のいずれかに記載の工作機械による溝加工方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械の数値制御装置および溝加工方法に関する。
【０００２】
【従来の技術】
金型の自由曲面の加工は、たとえば、マシニングセンタ等のＣＮＣ工作機械に装着したエンドミル等の切削工具を用いて高速ミーリングにより行われている。
このような金型の自由曲面の加工においては、自由曲面に沿って所定の断面形状をもつ、たとえば、リブ用の溝を加工する場合も多々ある。
金型の自由曲面に沿って溝を加工するには、ワークに対して切削工具を溝の両端部間で往復させて行うが、このワークに対する切削工具の経路をすべて記述したプログラムを作成する必要がある。
【０００３】
【発明が解決しようとする課題】
このため、上記のような溝加工用プログラムは、プログラムサイズが大きくなるという不利益が存在した。すなわち、加工する溝の全体を加工するための切削工具の全ての経路を直線補間したＮＣデータを作成する必要があるため、プログラムサイズが膨大となる。特に、溝を加工するワークの表面が自由曲面となっている場合には、ＮＣデータの量が膨大になる。
プログラムサイズが大きいと、プログラムミスも発生しやすく、切削工具の経路を間違ったり、切削工具の速度を間違ったりして、溝の加工面精度が低下する等の問題があった。
【０００４】
本発明は、上述の問題に鑑みて成されたものであって、溝加工用のプログラムの作成を容易で迅速に行うことができ、かつ、プログラムサイズを縮小化できる工作機械の数値制御装置および溝加工方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明の工作機械の数値制御装置は、工具によるワークの加工手順を規定する加工プログラムを解析実行し、工作機械を駆動する制御指令を生成する解析実行部を備えた工作機械の数値制御装置であって、前記解析実行部は、ワークの表面に沿った所定の断面形状の溝の加工を指令する溝加工用指令コードを解析し、当該溝加工用指令コードに付加された、ワークに加工する溝の基準経路を特定するための基準経路プログラムと、前記溝の右側面及び左側面の傾きを含む前記溝の断面形状を特定するための断面形状データと、前記溝を加工するための加工条件データとに基づいて、前記溝の全加工に必要なワークと工具との相対運動を指令する制御指令を生成し、前記解析実行部は、前記断面形状データと前記加工条件データとに基づいて、工具と溝の側面との間に干渉が発生しないかをチェックする。
【０００６】
前記解析実行部は、前記基準経路プログラムから前記溝の基準経路を逆上る逆経路を特定するための逆経路プログラムを作成し、当該基準経路プログラムと逆経路プログラムとを用いて前記溝の全加工に必要な制御指令を生成する。
【０００７】
本発明の工作機械の数値制御装置は、前記逆経路プログラムを記憶保持する記憶手段を有する。
【０００８】
好適には、前記解析実行部は、前記逆経路を移動する工具の送り速度が、前記基準経路を移動する工具の送り速度と一致するように前記逆経路を移動する工具の送り速度データを生成する。
【０００９】
前記解析実行部は、前記基準経路プログラムと前記逆経路プログラムとを交互に用いて、ワークに対する工具の移動経路を前記基準経路または逆経路に対して溝の幅方向にオフセットしつつ溝内の同一面を所定の切り込み量で加工する制御指令を生成する。
【００１１】
前記解析実行部は、前記断面形状データと前記加工条件データとに基づいて、工具が溝の側面に接するための溝の幅方向の工具のオフセット量を算出する。
【００１２】
前記断面形状データは、溝の開口部の幅と、溝の底部の幅と、溝の各側面の傾きと、溝の加工初期位置とを含んでいる。
【００１３】
前記加工条件データは、工具の溝の深さ方向の切り込み量と、工具の溝の幅方向のオフセット量を特定するためのオフセット情報と、工具の刃先の種別を特定する刃先情報と、工具径情報とを含んでいる。
【００１４】
前記ワークの表面は自由曲面となっている。
【００１５】
本発明の工作機械による溝加工方法は、加工プログラムにしたがって工作機械を駆動してワークの加工を実行する数値制御装置を備えた工作機械による溝加工方法であって、ワークの表面に沿った所定の断面形状の溝の加工を指令する溝加工用指令コードに、ワークに加工する溝の基準経路を特定するための基準経路プログラムと、前記溝の右側面及び左側面の傾きを含む前記溝の断面形状を特定するための断面形状データと、前記溝を加工するための加工条件データとを付加して溝加工用プログラムを作成するプログラム作成ステップと、前記溝加工用プログラムを前記数値制御装置にダウンロードし、この溝加工用プログラムを解析し、前記溝の全加工に必要なワークと工具との相対運動を指令する制御指令を生成し、当該溝加工を行う実行ステップと、を有し、前記実行ステップは、前記断面形状データと前記加工条件データとに基づいて、工具と溝の側面との間に干渉が発生しないかをチェックする。
【００１６】
前記実行ステップは、前記基準経路プログラムから前記溝の基準経路を逆上る逆経路を特定するための逆経路プログラムを作成し、当該基準経路プログラムと逆経路プログラムとを用いて前記溝の全加工に必要な制御指令を生成する。
【００１７】
本発明の工作機械による溝加工方法は、前記生成した逆経路プログラムを前記数値制御装置の具備する記憶手段に記憶保持する。
【００１８】
好適には、前記実行ステップは、前記逆経路を移動する工具の送り速度が、前記基準経路を移動する工具の送り速度と一致するように前記逆経路を移動する工具の送り速度データを生成する。
【００１９】
前記実行ステップは、前記基準経路プログラムと前記逆経路プログラムとを交互に用いて、ワークに対する工具の移動経路を前記基準経路または逆経路に対して溝の幅方向にオフセットしつつ溝内の同一面を所定の切り込み量で加工する制御指令を生成する。
【００２１】
前記実行ステップは、前記断面形状データと前記加工条件データとに基づいて、工具が溝の側面に接するための溝の幅方向の工具のオフセット量を算出する。
【００２２】
前記断面形状データは、溝の開口部の幅と、溝の底部の幅と、溝の各側面の傾きと、溝の加工初期位置とを含んでいる。
【００２３】
前記加工条件データは、工具の溝の深さ方向の切り込み量と、工具の溝の幅方向のオフセット量を特定するためのオフセット情報と、工具の刃先の種別を特定する刃先情報と、工具径情報とを含んでいる。
【００２４】
本発明の溝加工方法は、自由曲面をもつワークに溝を加工する。
【００２５】
本発明では、ワークの表面に沿って溝を加工する際に、溝加工用指令コードに、溝の基準経路を特定する基準経路プログラムと、断面形状を特定するための断面形状データと、加工条件データとを付加して溝加工用プログラムを作成する。この溝加工用プログラムを数値制御装置にダウンロードして解析、実行すると、溝の全加工に必要なワークと工具との相対運動を指令する制御指令が生成され、溝の加工が行われる。
このように、本発明では、溝加工のためにワークと工具との相対運動の全てを記述したプログラムを作成するのではなく、溝加工用指令コードにおいて溝の基準経路、溝の断面形状および加工条件を指定するのみで、溝の全加工が行われる。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
図１は本発明の数値制御装置によって駆動される工作機械としてのマシニングセンタの一例を示す構成図である。
図１に示すマシニングセンタは、いわゆる門型のマシニングセンタであって、門型のコラム３８の各軸によって両端部を移動可能に支持されたクロスレール３７を備え、このクロスレール３７上に移動可能に支持されたサドル４４を介してラム４５が鉛直方向（Ｚ軸方向）に移動可能に設けられている。
【００２７】
サドル４４には、水平方向にクロスレール３７内を通じて図示しないナット部を備え、このナット部にボールねじ４１が螺合している。ボールねじ４１の端部には、Ｘ軸サーボモータ１８が設けられており、ボールねじ４１はＸ軸サーボモータ１８によって回転駆動される。
ボールねじ４１の回転駆動によって、サドル４４はＸ軸方向に移動可能となり、これによってラム４５のＸ軸方向の移動が行われる。
【００２８】
さらに、サドル４４には、鉛直方向に方向に図示しないナット部を備えており、このナット部にボールねじ４２が螺合している。ボールねじ４２の端部には、Ｚ軸サーボモータ２０が設けられている。Ｚ軸サーボモータ２０によってボールねじ４２が回転駆動され、これによりサドル４４に移動可能に設けられたラム４５のＺ軸方向の移動が行われる。
【００２９】
ラム４５内には、主軸モータ３１が内蔵され、主軸モータ３１は、ラム４５の先端に設けられるエンドミルなどの切削工具Ｔを回転駆動する。
ラム４５の下方には、Ｙ軸テーブル３５がＹ軸方向に移動可能に設けられている。Ｙ軸テーブル３５は、図示しないナット部を備えており、このナット部にＹ軸方向に沿って設けられた図示しないボールねじが螺合しており、このボールねじにＹ軸サーボモータ１９が接続されている。
Ｙ軸テーブル３５は、Ｙ軸サーボモータ１９の回転駆動によってＹ軸方向の移動が行われる。
【００３０】
なお、上記のＸ軸サーボモータ１８、Ｙ軸サーボモータ１９およびＺ軸サーボモータ２０の駆動制御は、ＮＣ装置１によって行われる。
また、門型コラム３８には、図示しない雌ねじ部がそれぞれ形成されており、これに螺合するボールねじ３２ａをクロスレール昇降用モータ３２によって回転駆動することによりクロスレール３７は昇降する。
さらに、切削工具Ｔは自動工具交換装置（ＡＴＣ）３９によって種々のものに交換可能になっており、各種アタッチメントの交換も自動交換装置（ＡＡＣ）４０によって種々のものに交換可能になっている。
【００３１】
図２は、本発明の数値制御装置の一実施形態に係るＮＣ装置１の基本構成を示す説明図である。
図２において、ＮＣ装置１は、プログラム記憶部２と、プログラム解析実行部３と、Ｘ軸サーボ制御部１２、Ｙ軸サーボ制御部１３およびＺ軸サーボ制御部１４と、Ｘ軸サーボドライバ１５、Ｙ軸サーボドライバ１６およびＺ軸サーボドライバ１７とを有している。
また、Ｘ軸サーボドライバ１５、Ｙ軸サーボドライバ１６およびＺ軸サーボドライバ１７には、Ｘ軸サーボモータ１８、Ｙ軸サーボモータ１９およびＺ軸サーボモータ２０が接続されている。Ｘ軸サーボモータ１８、Ｙ軸サーボモータ１９およびＺ軸サーボモータ２０には、たとえば、光学式のロータリエンコーダなどの回転位置検出器１８ａ，１９ａおよび２０ａがそれぞれ備わっている。
【００３２】
プログラム記憶部２は、工具によるワークの加工手順を規定するＮＣプログラムを記憶保持する。
プログラム解析実行部３は、例えば、ワークを加工する工具の加工手順を所定の言語でプログラミングした加工プログラムを解析し、得られた工具の速度情報をもつ軌跡データを各制御軸に対する速度指令（制御指令）に変換し、これを各制御軸に分配する。なお、プログラム解析実行部３の具体的構成については後述する。
【００３３】
Ｘ軸サーボ制御部１２、Ｙ軸サーボ制御部１３およびＺ軸サーボ制御部１４は、位置ループ、速度ループおよび電流ループから構成される。
位置ループは、たとえば、プログラム解析実行部３から入力された各制御軸の位置指令（移動量）を受けて、これらの移動量と各サーボモータ１８〜２０の回転位置を検出する回転位置検出器１８ａ〜２０ａからの位置フィードバック信号との偏差に比例動作を施して（位置ループゲインω0 をかける）、これを速度ループに対する速度指令として出力する。
速度ループは、たとえば、前記速度指令と回転位置検出器１８ａ〜２０ａからの位置フィードバック信号のサンプリング時間毎の差分値（速度フィードバック信号）との偏差に比例動作および積分動作を施してトルク指令とし、これを電流ループに出力する。
電流ループは、たとえば、各サーボモータ１８〜２０の駆動電流から換算した各サーボモータ１８〜２０の出力トルク信号と上記トルク指令との偏差に比例動作を施して電流指令とし、これをサーボドライバ１５〜１７に所定の電気信号に変換して出力する。
Ｘ，Ｙ，Ｚ軸サーボ制御部１２〜１４は、本実施形態ではソフトウエアによって実現されるが、ハードウエアによっても実現可能である。
【００３４】
Ｘ軸サーボドライバ１５、Ｙ軸サーボドライバ１６およびＺ軸サーボドライバ１７は、Ｘ，Ｙ，Ｚ軸サーボ制御部１２〜１４からの電流指令を増幅した駆動電流をＸ，Ｙ，Ｚサーボモータ１８〜２０に出力する。
Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０は駆動電流に応じて駆動され、Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０に備わった回転位置検出器１８ａ〜２０ａは、Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０の回転量に応じた検出パルスをＸ，Ｙ，Ｚ軸サーボ制御部１２〜１４に対して出力する。
回転位置検出器１８ａ〜２０ａとしては、例えば、インクリメンタル方式のロータリエンコーダまたはアブソリュート方式のロータリエンコーダを用いることができる。インクリメンタル方式のロータリエンコーダを用いた場合には、当該ロータリエンコーダは１回転毎の位置信号を回転パルス信号として出力することから、回転パルス信号の数をＸ，Ｙ，Ｚ軸サーボ制御部１２〜１４において管理することにより、Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０の絶対位置が管理できる。
【００３５】
なお、上記の各機能は、一般的なＮＣ装置に本来的に備わった機能である。また、ＮＣ装置に使用される加工プログラムは、一般的には、ＣＡＤシステムや自動プログラミングシステム、ＣＡＭシステム等によって自動的に作成され、所定の記憶媒体を介して、または、通信手段によってＮＣ装置１にダウンロードされる。
【００３６】
図３は、図２に示したＮＣ装置１のハードウエア構成の一例を示す図である。
図２に示したＮＣ装置１の各機能は、たとえば、図３に示すような構成のハードウエアによって実現される。
図３において、マイクロプロセッサ２１は、ＲＯＭ（Read Only Memory) ２２、ＲＡＭ（Random Access Memory) ２３、インターフェース回路２４、グラフィック制御回路２５、表示装置２６、キーボード２８、ソフトウエアキー２７等とバスを介して接続されている。
マイクロプロセッサ２１は、ＲＯＭ２２に格納されたシステムプログラムにしたがって、ＮＣ装置１全体を制御する。
【００３７】
ＲＯＭ２２には、上記したプログラム解析実行部３、Ｘ，Ｙ，Ｚ軸サーボ制御部１２〜１４などを実現するプログラムや、ＮＣ装置１全体を制御するためのシステムプログラムが格納される。
ＲＡＭ２３は、ＲＯＭ２２に格納されたプログラムがダウンロードされたり、各種のＮＣプログラム、データなどが格納され、例えば、後述する補正量データ等が格納される。
【００３８】
グラフィック制御回路２５は、ディジタル信号を表示用の信号に変換し、表示装置２６に与える。
表示装置２６には、例えば、ＣＲＴ表示装置や液晶表示装置が使用される。表示装置２６は、ソフトウエアキー２７またはキーボード２８を用いてオペレータが対話形式でマニュアル操作によって加工プログラムを作成していくときに、形状、加工条件および生成された加工プログラム等を表示する。
オペレータは、表示装置２６に表示される内容（対話形データ入力画面）にしたがってデータを入力することにより、加工プログラムを作成することができる。
表示装置２６の画面には、その画面で受けられる作業またはデータがメニュー形式で表示される。メニューのうちどの項目を選択するかは、メニューの下のソフトウエアキー２７を押すことにより行う。
キーボード２８は、ＮＣ装置１に必要なデータを入力するのに使用される。
【００３９】
インターフェース回路２４は、マイクロプロセッサ２１から出力された位置指令等の指令を所定の信号に変換してＸ〜Ｚ軸サーボドライバ１５〜１７に出力する。
また、インターフェース回路２４は、Ｘ〜Ｚ軸サーボモータ１８〜２０に備わった位置検出器１８ａ〜２０ａからの、たとえば検出パルスを逐次カウントし、所定のディジタル信号に変換してマイクロプロセッサ２１に出力する。
【００４０】
次に、上記したプログラム解析実行部３の具体的構成について説明する。
プログラム解析実行部３は、ワークの表面に沿った所定の断面形状の溝の加工を指令する溝加工用指令コードを解読可能となっている。
ここで、溝加工用指令コードのフォーマットの一例を以下に示す。
【００４１】
Ｇ１８２  X  Y  Z  R  I  J  K1  K2  Q  P  D  E  F  $
【００４２】
この溝加工用指令コードＧ１８２は、たとえば、図４に示すように、自由曲面ＦＳをもつワークＷに、エンドミルを用いて溝ＴＲを加工するためのコードである。
【００４３】
溝加工用指令コードＧ１８２において、＄は、図４に示す溝ＴＲの一端の点Ｐ１から他端の点Ｐ２に向かう基準経路ＢＬを特定するための基準経路プログラムである。
具体的には、基準経路プログラム＄は、たとえば、Ｘ、ＹおよびＺ軸方向の座標を特定した点列である。
【００４４】
ＸおよびＹは、Ｘ軸方向の加工初期位置である。なお、Ｚ軸方向の加工初期位置は現在位置である。
【００４５】
Ｚは、図４に示すように、ワークＷの自由曲面ＦＳに沿って溝ＴＲの開口の中心を通る基準経路ＢＬの一端の点Ｐ１のＺ軸方向の座標である。
Ｒは、図５に示すように、溝ＴＲのＺ軸方向（深さ方向の）のＲ点（加工開始点）の座標である。
【００４６】
Ｉは、図５に示すように、溝ＴＲの開口の幅である。なお、溝ＴＲは基準経路ＢＬに関して左右が均等な溝であるとする。
Ｊは、溝ＴＲの開口から底部までの深さである。すなわち、点Ｐ１から溝ＴＲの底部までの距離である。
【００４７】
Ｋ1 は、溝ＴＲの進行方向に関して左側面ＴＲａの傾きであり、Ｋ2 は溝ＴＲの進行方向に関して右側面ＴＲｂの傾きである。
なお、Ｋ1 ，Ｋ2 の一方のみが指定されている場合には、Ｋ1 ＝Ｋ2 とみなし、Ｋ1 ，Ｋ2 のいずれも指定されていない場合には、Ｋ1 ＝Ｋ2 ＝０とみなす。
【００４８】
Ｑは、工具ＴのＺ軸方向の一回あたりの切り込み量である。切り込み量Ｑは、溝ＴＲの深さＪとの間で、Ｑ≦Ｊの関係を満たすように設定する。また、｜Ｒ−Ｚ｜≦Ｑを満たすように設定する。
【００４９】
Ｐは、溝ＴＲの幅方向の工具のオフセット率である。このオフセット率Ｐは、０＜Ｐ≦１００％の範囲で設定される。
Ｄは、工具径補正番号である。この工具径補正番号は、工具の直径である。
したがって、Ｄ×Ｐ／１００が工具のオフセット量となる。
【００５０】
Ｅは、工具の刃先を指定するパラメータであり、Ｅ＝０の場合は工具がボールエンドミルであり、Ｅ＝１の場合はフラットエンドミルである。
Ｆは、工具を溝ＴＲの幅方向に移動させるとき、および、Ｚ軸方向に移動させるときの送り速度である。
【００５１】
ここで、上記の基準経路プログラム＄は本発明の基準経路プログラム実施態様であり、溝ＴＲの開口幅Ｉ，深さＪ，側面ＴＲａ，ＴＲｂの傾きＫ1 ，Ｋ2 は本発明の断面形状データを構成しており、初期位置Ｘ，Ｙ、加工開始位置Ｒ、点Ｐ１のＺ軸方向の座標Ｚ，切り込み量Ｑ、オフセット率Ｐ、工具補正番号Ｄ、工具刃先指定パラメータＥ、送り速度Ｆは本発明の加工条件データを構成している。
【００５２】
プログラム解析実行部３は、溝加工用指令コードＧ１８２に付加された、基準経路プログラム＄と、溝ＴＲの開口幅Ｉ，深さＪ，側面ＴＲａ，ＴＲｂの傾きＫ1 ，Ｋ2 と、初期位置Ｘ，Ｙ、加工開始位置Ｒ、点Ｐ１のＺ軸方向の座標Ｚ，切り込み量Ｑ、オフセット率Ｐ、工具補正番号Ｄ、工具刃先指定パラメータＥ、送り速度Ｆとに基づいて、溝ＴＲの全加工に必要なワークと工具との相対運動を指令する制御指令を生成する。
【００５３】
逆経路プログラム生成機能
具体的には、プログラム解析実行部３は、図４に示すように、基準経路プログラム＄から溝ＴＲの基準経路ＢＬを逆上る逆経路ＩＮＬを特定するための逆経路プログラムＩＰＲを作成する。すなわち、逆経路プログラムＩＰＲは、基準経路ＢＬの他端部Ｐ２から一端部Ｐ１に向かう経路ＩＮＬを特定するプログラムである。
【００５４】
また、プログラム解析実行部３は、逆経路プログラムＩＰＲを生成する際には、逆経路ＩＮＬを移動する工具の送り速度が、基準経路ＢＬを移動する工具の送り速度と一致するように逆経路ＩＮＬを移動する工具の送り速度データを生成する。
基準経路ＢＬを移動する工具の送り速度は、その情報が基準経路プログラム＄に含まれている場合もあり、あるいは、Ｆコードによって加工プログラムで指定されている場合もある。
プログラム解析実行部３は、逆経路プログラムＩＰＲを生成すると、この逆経路プログラムＩＰＲを、図２に示したように、プログラム記憶部２に出力し、逆経路プログラムＩＰＲは一時的に記憶保持される。
【００５５】
往復動作指令生成機能
プログラム解析実行部３は、基準経路プログラム＄と逆経路プログラムＩＰＲとを用いて溝ＴＲの全加工に必要な制御指令を生成する。
ここで、図６および図７を参照してプログラム解析実行部３の制御指令の生成方法について説明する。
図６に示すように、工具ＴをＲ点から切り込み量Ｑで切り込み、▲１▼の開始位置Ｐａまで移動する。
プログラム解析実行部３は、この位置Ｐａから、図７に示すように、経路Ｔ１に沿って工具Ｔを位置Ｐｂまで移動させる制御指令を生成する。この経路Ｔ１は、基準経路プログラム＄で特定される基準経路ＢＬを切り込み方向（Ｚ軸方向）に所定のオフセット量で補正したものである。
【００５６】
プログラム解析実行部３は、位置Ｐｂまで移動する制御指令を生成したら、工具Ｔを溝ＴＲの幅方向に移動させる指令、すなわち、位置Ｐｂから位置Ｐｃに移動させる指令を生成する。
この位置Ｐｂから位置Ｐｃへの移動指令は、上記したオフセット率Ｐおよび工具補正番号Ｄから特定されるオフセット量と送り速度Ｆとから生成される。
【００５７】
プログラム解析実行部３は、位置Ｐｃまで移動する制御指令を生成したら、経路Ｔ２に沿って工具Ｔを位置Ｐｄまで移動させる制御指令を生成する。この経路Ｔ２は、逆経路プログラムＩＰＲで特定される逆経路ＩＮＬを切り込み方向（Ｚ軸方向）および溝ＴＲの幅方向に所定のオフセット量で補正したものである。なお、経路Ｔ２と上記の経路Ｔ１とは同一面内に存在する。
【００５８】
プログラム解析実行部３は、位置Ｐｄまで移動する制御指令を生成したら、工具Ｔを溝ＴＲの幅方向に移動させる指令、すなわち、位置Ｐｄから位置Ｐｅに移動させる指令を生成する。
この位置Ｐｄから位置Ｐｅへの移動指令は、上記したオフセット率Ｐおよび工具補正番号Ｄから特定されるオフセット量と送り速度Ｆとから生成される。
【００５９】
プログラム解析実行部３は、位置Ｐｅまで移動する制御指令を生成したら、経路Ｔ３に沿って工具Ｔを位置Ｐｆまで移動させる制御指令を生成する。この経路Ｔ３は、基準経路プログラム＄で特定される基準経路ＢＬを切り込み方向（Ｚ軸方向）および溝ＴＲの幅方向に所定のオフセット量で補正したものである。なお、経路Ｔ３と上記の経路Ｔ１およびＴ２とは同一面内に存在する。
【００６０】
プログラム解析実行部３は、位置Ｐｆまで工具Ｔを移動させる指令を生成したら、工具Ｔをこの位置Ｐｆから上記の位置Ｐｂに移動させる指令を生成する。
さらに、プログラム解析実行部３は、切り込み量ＱでＺ軸方向の位置Ｐｇに工具Ｔを移動させ、上記▲１▼〜▲３▼の位置で溝ＴＲ内の同一面を所定の切り込み量Ｑで加工する指令と同様の指令を生成する。すなわち、図６に示すように、工具Ｔを▲４▼、▲５▼および▲６▼の位置にオフセットしつつ溝ＴＲ内の同一面を所定の切り込み量Ｑで加工する指令を生成する。
【００６１】
プログラム解析実行部３は、図６に示すように、工具Ｔを▲７▼、▲８▼および▲９▼の位置に移動させて、溝ＴＲの底部まで加工したら工具Ｔを初期位置に移動させる指令を生成する。
【００６２】
干渉チェック機能
プログラム解析実行部３は、溝ＴＲの断面形状データと加工条件データとに基づいて、工具Ｔと溝ＴＲの側面ＴＲａ，ＴＲｂとの間に干渉が発生しないかをチェックする。
すなわち、プログラム解析実行部３は、工具Ｔを切り込み量ＱでＺ軸方向に移動し、かつ、溝幅方向にオフセットさせたときに、工具Ｔが溝ＴＲの両側面ＴＲａ，ＴＲｂに食い込まずに接する工具Ｔのオフセット量を算出する。
【００６３】
ここで、溝ＴＲの両側面ＴＲａ，ＴＲｂの位置は、次の方程式（１）で表すことができる。なお、ｍは両側面ＴＲａ，ＴＲｂの傾きであり上記のＫ1 ，Ｋ2 から決定される。また、ｂは定数である。
【００６４】
【数１】
ｙ＝ｍｘ＋ｂ  …（１）
【００６５】
工具Ｔの位置は、次の方程式（２）で表すことができる。なお、Ｐ0 は工具Ｔの溝方向の位置であり、Ｒ0 は所定の円の直径であり、Ｑ0 は切り込み方向（Ｚ軸方向）の工具Ｔの位置である。
【００６６】
【数２】
Ｒ0 2 ＝（ｘ−Ｐ0 ）2 ＋（ｙ−Ｑ0 ）2     …（２）
【００６７】
（２）式のｙに（１）式を代入すると、次の方程式（３）が得られる。
【００６８】
【数３】
Ｒ0 2 ＝（ｘ−Ｐ0 ）2 ＋（ｍｘ＋ｂ−Ｑ0 ）2
＝ｘ2 −２ｘＰ0 ＋Ｐ0 2 ＋ｍ2 ｘ2 ＋２ｍ（ｂ−Ｑ0 ）＋（ｂ−Ｑ0）2
＝（ｍ2 ＋１）ｘ2 ＋（２ｍ（ｂ−Ｑ0 ）−２Ｐ0 ）ｘ＋Ｐ0 2 ＋（ｂ−Ｑ0 ）2 （ｍ2 ＋１）ｘ2 ＋（２ｍ（ｂ−Ｑ0 ）−２Ｐ0 ）ｘ
＋Ｐ0 2 ＋（ｂ−Ｑ0 ）2 −Ｒ0 2 ＝０  …（３）
【００６９】
工具Ｔと溝ＴＲの両側面ＴＲａ，ＴＲｂとが接するためには、上記の（３）式の判別式Ｄ0 が零となればよい。このことから次式（４）が得られる。
【００７０】
【数４】
Ｄ0 ＝ｍ2 Ｐ0 2 ＋２ｍ（ｂ−Ｑ0 ）Ｐ0 ＋ｂ2 −２ｂＱ0
＋Ｑ0 2 −ｍ2 Ｒ0 2 −Ｒ0 2 ＝０    …（４）
【００７１】
（４）式において、偶数解の公式でＰ0 について解くと、次式（５）に示す解が得られる。
【００７２】
【数５】
Ｐ0 ＝｛−（ｂ−Ｑ0 ）±Ｒ0 （ｍ2 ＋１）1/2 ｝／２    …（５）
【００７３】
ここで、Ｐ0 の解は２つ存在する。これらのうち、｛−（ｂ−Ｑ0 ）−Ｒ0 （ｍ2 ＋１）1/2 ｝／２が工具Ｔと溝ＴＲの一方の側面とが接するときの溝幅方向の交点位置であり、｛−（ｂ−Ｑ0 ）＋Ｒ0 （ｍ2 ＋１）1/2 ｝／２が工具Ｔと他方の側面とが接するときの溝幅方向の交点位置である。
【００７４】
プログラム解析実行部３では、上述した手順で工具Ｔと溝ＴＲの側面との接する位置を求めて、工具Ｔが溝ＴＲの側面に干渉するのを防ぐ。
【００７５】
次に、上記構成のマシニングセンタによる溝加工方法の一例について図８に示すフローチャートを参照して説明する。
まず、上述した溝加工用指令コードＧ１８２を用いて、溝加工用のＮＣプログラムを作成する（ステップＳ１）。すなわち、メイン加工プログラムＭＰＲ中に、溝加工用指令コードＧ１８２に基準経路プログラム＄、溝ＴＲの断面形状データおよび溝ＴＲを加工するための加工条件データを付加したプログラムを埋め込む。
【００７６】
次いで、作成したＮＣプログラムをＮＣ装置１にダウンロードし、このＮＣプログラムをプログラム記憶部２に記憶する（ステップＳ２）。
次いで、ＮＣ装置１のプログラム解析実行部３では、プログラム記憶部２に記憶されたＮＣプログラムを読み出し、このＮＣプログラムに含まれる溝加工用指令コードＧ１８２およびこれに付加された情報を解析し、上記した逆経路プログラムＩＰＲを生成する（ステップＳ３）。
このとき、逆経路ＩＮＬを移動する工具Ｔの送り速度が、基準経路ＢＬを移動する工具の送り速度と一致するように逆経路ＩＮＬを移動する工具Ｔの送り速度データを生成される。
生成された逆経路プログラムＩＰＲは、プログラム記憶部２に記憶される。
【００７７】
次いで、プログラム解析実行部３では、工具Ｔを上記したＲ点へ移動させる制御指令を生成する（ステップＳ４）。これにより、工具ＴはＲ点に移動する。
【００７８】
次いで、Ｚ軸方向に切り込み量Ｑだけワークに対して工具Ｔを移動させ（ステップＳ５）、同一面内で、工具Ｔと加工する溝ＴＲの各側面ＴＲａ，ＴＲｂとが接する溝幅方向の位置Ｐ0 を、上記した式（１）〜（５）に基づいて算出する（ステップＳ６）。
【００７９】
次いで、プログラム解析実行部３では、基準経路プログラム＄または逆経路プログラムＩＰＲで規定される基準経路ＢＬまたは逆経路ＩＮＬを補正するための溝幅方向のオフセット量を算出する（ステップＳ７）。
次いで、算出したオフセット量で基準経路ＢＬまたは逆経路ＩＮＬをオフセットさせた補正した基準経路プログラム＄または逆経路プログラムＩＰＲを実行する（ステップＳ８）。
これらのプログラムの実行により、工具Ｔを所定の経路でワークに移動させる制御指令が生成され、各軸のサーボ制御部に出力される。この結果、工具Ｔはワークに対して往復動作し、同一面内での溝加工が行われる。
【００８０】
この往復動作中に、算出された位置Ｐ0 を用いて工具Ｔが溝ＴＲの各側面ＴＲａ，ＴＲｂに達したかを判断する（ステップＳ９）。
工具Ｔが溝ＴＲの各側面ＴＲａ，ＴＲｂに達している場合には、この面内の加工は完了しているので、プログラム解析実行部３は、基準位置である溝中心に工具Ｔを移動させる指令を生成する（ステップＳ１０）。
【００８１】
次いで、工具Ｔが加工した深さが溝ＴＲの底部まで達しているかを判断する（ステップＳ１１）。
溝ＴＲの底部まで加工されていない場合には、工具Ｔをさらに切り込み量ＱでＺ軸方向に切り込む指令を生成し（ステップＳ１２）、上記した溝両側面と工具が接触する点を算出し、溝幅方向にオフセットしつつ往復動作によって溝ＴＲを加工するシーケンスを繰り返し行う。
【００８２】
溝ＴＲの底部まで加工されている場合には、加工開始点に移動し（ステップＳ１３）、溝加工を終了する。
【００８３】
上述した各ステップにより、工具Ｔは、たとえば、図６に示す▲１▼〜▲９▼の各位置に順次移動し、ワークの表面から深い位置まで段々に溝ＴＲが加工される。
【００８４】
以上のように、本実施形態によれば、溝加工用指令コードＧ１８２に、基準経路プログラム＄、加工条件データおよび溝断面形状データを付加するだけで、溝ＴＲの加工が全て行われる。このため、溝加工用のプログラムの作成が容易となり、また、工具経路をすべて記述する場合に比べて、プログラムサイズも大幅に縮小することができる。また、プログラミングミスを極力防ぐことができ、工具の経路や速度の間違えの発生がほとんどなくなる。
また、本実施形態では、基準経路プログラム＄から逆経路プログラムＩＰＲを自動生成する際に、送り速度が基準経路と逆経路とで同じになうように送り速度情報を生成するので、速度の違いによる加工面の乱れが発生することがない。
さらに、本実施形態では、加工する溝の側面と工具との干渉をチェックするので、加工された溝の寸法が要求される溝の寸法と異なることがない。
【００８５】
なお、上述した実施形態では、ワークの自由曲面ＦＳに溝を加工する場合について説明したが、本発明はワークの平面に溝を加工する場合にも当然適用可能である。
また、工作機械としては、マシンニングセンタ限らず、他の工作機械に適用可能である。
【００８６】
【発明の効果】
本発明によれば、溝加工用プログラムの作成を迅速かつ容易に行うことができる。
また、本発明によれば、溝加工用プログラムのプログラムサイズを縮小化することができ、プログラミングミスの発生を低減できる。
【図面の簡単な説明】
【図１】本発明が適用される工作機械の一例を示す構成図である。
【図２】ＮＣ装置１の基本構成を示す図である。
【図３】ＮＣ装置１のハードウエア構成を示す図である。
【図４】溝加工するワークの一例の外観を示す斜視図である。
【図５】溝の断面形状および加工条件を説明するための図である。
【図６】溝加工する工具の移動経路を示す断面図である。
【図７】溝加工する工具の移動経路を示す斜視図である。
【図８】本発明の工作機械による溝加工方法の手順の一例を説明するためのフローチャートである。
【符号の説明】
１…ＮＣ装置
２…プログラム記憶部
３…プログラム解析実行部
【図１】
0004398070.tif 000002
【図２】
0004398070.tif 000003
【図３】
0004398070.tif 000004
【図４】
0004398070.tif 000005
【図５】
0004398070.tif 000006
【図６】
0004398070.tif 000007
【図７】
0004398070.tif 000008
【図８】
0004398070.tif 000009