(57)【要約】【課題】数値制御装置による制御において１つの軸に対して複数の移動を指示するプログラムの記述を可能とし、このプログラムの記述方法を用いることで、少量生産であっても効率の良い、数値制御装置のプログラムの記述方法、当該記述方法を用いたプログラムを備えた数値制御装置、及び当該数値制御装置を備えた加工装置を提供する。【解決手段】複数のユーザ設定プログラムから制御される軸を示す重複制御軸を制御する２つ目以降のユーザ設定プログラムでは、実際には制御対象の軸が存在せずに自身のユーザ設定プログラムのみから仮想的に制御される仮想軸が指定され、重複制御軸を仮想軸に置き換えてプログラムが記述されている。更に、仮想軸を指定したユーザ設定プログラムに基づいて演算された制御量は、仮想軸に置き換える前の重複制御軸の制御量として、対応する軸駆動プログラムに入力される制御量に加算されている。【選択図】図８
2008084129.tif 000002
【特許請求の範囲】
【請求項１】
加工装置に設けられた複数の軸の制御における各軸の動作を指示する数値制御装置のプログラムの記述方法であって、
前記プログラムは、指定した軸の制御量を演算するための単数または複数のユーザ設定プログラムで構成されたユーザ設定プログラム群と、前記ユーザ設定プログラムに基づいて演算された制御量が入力されて実際の各軸の駆動装置を駆動するための軸駆動プログラムが軸毎に用意された軸駆動プログラム群と、で構成されており、
前記ユーザ設定プログラムが複数の場合、複数のユーザ設定プログラムがそれぞれ独立して並列的に処理が実行され、
各ユーザ設定プログラムには、各々のユーザ設定プログラム内で任意に指定した単数または複数の軸の制御量を演算するためのプログラムが記述されており、ユーザ設定プログラム内で指定される各軸は、それぞれ１つのユーザ設定プログラムでのみ指定が可能であり、
前記軸駆動プログラムは、入力された制御量に基づいて、当該軸駆動プログラムに対応付けられた軸の駆動装置に駆動信号を出力させる、数値制御装置のプログラムの記述方法において、
制御対象の軸における少なくとも１つの軸に対して複数のユーザ設定プログラムからの制御を可能とするために、
前記複数のユーザ設定プログラムから制御される軸を示す重複制御軸を制御する２つ目以降のユーザ設定プログラムでは、実際には制御対象の軸が存在せずに自身のユーザ設定プログラムのみから仮想的に制御される仮想軸を指定し、前記重複制御軸を前記仮想軸に置き換えてプログラムを記述し、
前記仮想軸を指定したユーザ設定プログラムに基づいて演算された制御量を、前記仮想軸に置き換える前の前記重複制御軸の制御量として、対応する軸駆動プログラムに入力する制御量に加算する、
ことを特徴とする数値制御装置のプログラムの記述方法。
【請求項２】
加工装置に設けられた複数の軸の制御における各軸の動作を指示するプログラムを備えた数値制御装置であって、
前記プログラムは、指定した軸の制御量を演算するための単数または複数のユーザ設定プログラムで構成されたユーザ設定プログラム群と、前記ユーザ設定プログラムに基づいて演算された制御量が入力されて実際の各軸の駆動装置を駆動するための軸駆動プログラムが軸毎に用意された軸駆動プログラム群と、で構成されており、
前記ユーザ設定プログラムが複数の場合、複数のユーザ設定プログラムがそれぞれ独立して並列的に処理が実行され、
各ユーザ設定プログラムには、各々のユーザ設定プログラム内で任意に指定した単数または複数の軸の制御量を演算するためのプログラムが記述されており、ユーザ設定プログラム内で指定される各軸は、それぞれ１つのユーザ設定プログラムでのみ指定が可能であり、
前記軸駆動プログラムは、入力された制御量に基づいて、当該軸駆動プログラムに対応付けられた軸の駆動装置に駆動信号を出力させる、数値制御装置において、
制御対象の軸における少なくとも１つの軸に対して複数のユーザ設定プログラムからの制御を可能とするために、
前記複数のユーザ設定プログラムから制御される軸を示す重複制御軸を制御する２つ目以降のユーザ設定プログラムでは、実際には制御対象の軸が存在せずに自身のユーザ設定プログラムのみから仮想的に制御される仮想軸が指定され、前記重複制御軸を前記仮想軸に置き換えてプログラムが記述されており、
前記仮想軸を指定したユーザ設定プログラムに基づいて演算された制御量は、前記仮想軸に置き換える前の前記重複制御軸の制御量として、対応する軸駆動プログラムに入力される制御量に加算されている、
ことを特徴とする数値制御装置。
【請求項３】
請求項１に記載の数値制御装置のプログラムの記述方法を用いて記述されたプログラムを備えた数値制御装置、または請求項２に記載の数値制御装置と、
回転角度に応じて被加工部の外周輪郭の位置が変化するワークが固定され、当該ワークをＣ軸を中心に回転させるＣ軸駆動装置と、
前記ワークの被加工部の外周輪郭を加工する加工工具と、
前記加工工具を前記Ｃ軸に直交するＸ軸の方向に、前記ワークに対して相対的に進退移動させるＸ軸駆動装置と、
前記加工工具を前記Ｃ軸に平行なＺ軸の方向に、前記ワークに対して相対的に移動させるＺ軸駆動装置とを備え、
前記数値制御装置にて、前記Ｃ軸駆動装置と前記Ｘ軸駆動装置と前記Ｚ軸駆動装置の各々の動作を指示する加工装置であって、
互いに関連した動作が必要となる、前記Ｃ軸回りの前記ワークの回転角度に対して、前記ワークに対する前記加工工具の前記Ｘ軸方向の相対的な進退位置を指示するためのＣＸ関連ユーザ設定プログラムと、
互いに関連した動作が必要となる、前記ワークに対する前記加工工具の前記Ｚ軸方向の相対的な移動量に対して、前記ワークに対する前記加工工具の前記Ｘ軸方向への相対的な移動量を指示するためのＸＺ関連ユーザ設定プログラムと、
の２つのユーザ設定プログラムにて、前記Ｃ軸駆動装置と前記Ｘ軸駆動装置と前記Ｚ軸駆動装置との制御を可能とするために、
前記２つのユーザ設定プログラムの中のいずれか一方のユーザ設定プログラムでは、前記２つのユーザ設定プログラムから制御される前記重複制御軸に対応するＸ軸を、実際には制御対象の軸が存在せずに自身のユーザ設定プログラムのみから仮想的に制御される仮想軸に置き換えてプログラムが記述されており、
前記Ｘ軸に対応する軸駆動プログラムに、前記一方のユーザ設定プログラムに基づいて演算された前記仮想軸の制御量と、前記２つのユーザ設定プログラムの中の残りのユーザ設定プログラムに基づいて演算された前記Ｘ軸の制御量とが加算されて入力されている、
ことを特徴とする加工装置。
【請求項４】
請求項３に記載の加工装置であって、
前記ワークはクランクシャフトであり、前記被加工部はクランクピンであり、前記加工工具は前記Ｃ軸に平行な回転軸を有するとともに当該回転軸に平行な方向の幅が前記クランクピンの前記Ｃ軸に平行な方向の長さよりも小さい略円柱形状の回転砥石であり、
前記クランクピンの形状は円柱状であるとともに両端部では徐々に径が大きくなる円弧状の凹部を有する形状であり、
前記ＣＸ関連ユーザ設定プログラムには、前記クランクピンと前記回転砥石とが当接するように、前記Ｃ軸回りの前記クランクシャフトの回転角度に対して、前記クランクシャフトに対する前記回転砥石の前記Ｘ軸方向の相対的な進退位置を指示するためのプログラムが記述されており、
前記ＸＺ関連ユーザ設定プログラムには、前記回転砥石が、前記円弧状の凹部を有する前記クランクピンの輪郭を前記Ｚ軸方向にトレースするように、前記クランクシャフトに対する前記回転砥石の前記Ｚ軸方向の相対的な移動量に対して、前記クランクシャフトに対する前記回転砥石の前記Ｘ軸方向の相対的な移動量を指示するためのプログラムが記述されている、
ことを特徴とする加工装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置における任意の軸の駆動に対して複数のプログラムからの制御量を合成することを実現する、数値制御装置のプログラムの記述方法、及び当該記述方法を用いたプログラムを備えた数値制御装置、及び当該数値制御装置を備えてワークを加工する加工装置に関する。
【背景技術】
【０００２】
従来より、主軸に支持したワークを回転させて当該ワークの被加工部を加工する種々の加工装置及び加工方法がある。この場合、回転させたワークの被加工部の外周輪郭が真円形の場合は、ワークの回転軸（以下、Ｃ軸という）に対して直交する方向（以下、Ｘ軸方向という）から被加工部に加工工具を接触させて徐々に切込む、という比較的単純な制御で加工を行うことができる。
しかし、非真円形のカムを備えたカムシャフトのカム面や、クランクシャフトのクランクピン等、回転角度に応じて被加工部の外周輪郭の位置が変化する場合、ワークを支持したＣ軸回りの回転角度に応じて、加工工具をＸ軸方向に進退移動させる、いわゆるプロフィール動作が必要になり、加工方法も複雑化する。以下、「プロフィール動作」とは、仕上げ形状に沿うように、ワークを支持したＣ軸回りの回転角度に応じて加工工具をＸ軸方向（Ｃ軸に直交する方向）に進退移動させる動作をいう。
【０００３】
ここで、特許文献１に記載された従来技術では、プロフィール動作をさせながら、Ｃ軸回りの１回転の中の一部の短い回転区間において、所定量（ΔＸ）だけ切込むという動作を回転毎に行ってカムを研削する、非真円形工作物の加工方法が提案されている。
また、特許文献２に記載された従来技術では、ワークを支持したＣ軸回りの回転角度に応じた加工工具とワーク間の距離に関する初期パラメータに基づいてプロフィール動作をさせる場合、クランクピンのピン径やピンストローク長さ、あるいはカムのベース円径等のパラメータ値の修正に対して、初期パラメータ全体を修正することなく、修正するパラメータ値のみを入力するだけでよい工作機械が提案されている。
また、従来では、図５の例に示すような、両端部（図５中の１１Ａ、１１Ｃにて示す領域）では外周の径が徐々に大きくなり、中央部（図５中の１１Ｂにて示す領域）では外周の径が一定となる、円弧状の凹部を有する形状のクランクピン１１を加工する場合、一般的な加工方法では、加工工具３０（この場合、回転砥石）の形状を転写する方法が用いられている。この場合、加工工具３０の幅３０Ｗはクランクピン１１の軸方向の長さ１１Ｗとほぼ同一であり、加工工具３０の領域３０Ａ、３０Ｂ、３０Ｃによる外周輪郭形状は、クランクピン１１の加工後の領域１１Ａ、１１Ｂ、１１Ｃの外周輪郭形状（仕上げ形状）として転写される。このように、図５の例に示すような形状のクランクピン１１を加工する場合、従来では予め加工工具３０の形状を整形した後でワークの加工を行っている。
【特許文献１】特開昭６３−８４８４５号公報
【特許文献２】特開２００１−２７７０７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図５の例に示すようなクランクピン１１を加工する場合、従来では、加工工具３０の形状を転写する方法と特許文献１に記載された内容の組み合わせ、あるいは加工工具３０の形状を転写する方法と特許文献２に記載された内容の組み合わせ、が一般的に行われていた。
しかし、特許文献１に記載された従来技術では、切込み時において、比較的短い区間で、ほぼステップ的に切込むため、急激な研削負荷が発生する場合があり、真円度の悪化や、加工面にスジが発生する等、ワークの被加工部の問題が発生する場合がある。また、ステップ的に切込む切込み量が多いと、加工工具への負荷が大きくなり、加工工具の消耗が大きくなる場合がある（加工工具の寿命が短くなる場合がある）。
また、加工工具３０の形状を転写する方法では、少量生産や、ワークのサイズが非常に大きい場合、クランクピンの形状及びサイズに合わせた加工工具３０の整形と、加工工具３０を交換する段取りに手間がかかり、作業効率が低下する。
そこで、本願の発明者は、図６の例に示すように、クランクピン１１の長さ１１Ｗよりも小さな幅３０Ｗの加工工具３０を用いて、プロフィール動作を行いながら加工工具３０をクランクピンの円弧状の形状に沿うようにＺ軸方向及びＸ軸方向に移動させることができれば、加工工具３０の形状を転写する必要がなく、種々のクランクピンの形状及びサイズに対応できると考えた。しかし、従来の数値制御装置のプラグラムの記述方法では、Ｃ軸回りの回転角度に対応させたＸ軸方向の移動を行わせるプロフィール動作に伴うＸ軸方向の移動と、クランクピンの径を目標値になるまで切込んで研削するＸ軸方向の移動と、クランクピンの形状に合わせたＺ軸に沿った移動距離に対応するＸ軸方向の移動と、の１つの軸（この場合、Ｘ軸）に対して複数の移動を指示するプログラムを記述することができなかった。
本発明は、このような点に鑑みて創案されたものであり、上記の問題の中から特に、数値制御装置による制御において１つの軸に対して複数の移動を指示するプログラムの記述を可能とし、このプログラムの記述方法を用いることで、少量生産であっても効率の良い、数値制御装置のプログラムの記述方法、当該記述方法を用いたプログラムを備えた数値制御装置、及び当該数値制御装置を備えた加工装置を提供することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための手段として、本発明の第１発明は、請求項１に記載されたとおりの数値制御装置のプログラムの記述方法である。
請求項１に記載の数値制御装置のプログラムの記述方法は、加工装置に設けられた複数の軸の制御における各軸の動作を指示する数値制御装置のプログラムの記述方法であって、前記プログラムは、指定した軸の制御量を演算するための単数または複数のユーザ設定プログラムで構成されたユーザ設定プログラム群と、前記ユーザ設定プログラムに基づいて演算された制御量が入力されて実際の各軸の駆動装置を駆動するための軸駆動プログラムが軸毎に用意された軸駆動プログラム群と、で構成されており、前記ユーザ設定プログラムが複数の場合、複数のユーザ設定プログラムがそれぞれ独立して並列的に処理が実行され、各ユーザ設定プログラムには、各々のユーザ設定プログラム内で任意に指定した単数または複数の軸の制御量を演算するためのプログラムが記述されており、ユーザ設定プログラム内で指定される各軸は、それぞれ１つのユーザ設定プログラムでのみ指定が可能であり、前記軸駆動プログラムは、入力された制御量に基づいて、当該軸駆動プログラムに対応付けられた軸の駆動装置に駆動信号を出力させる、数値制御装置のプログラムの記述方法において、制御対象の軸における少なくとも１つの軸に対して複数のユーザ設定プログラムからの制御を可能とするものである。
複数のユーザ設定プログラムからの制御を可能とするために、前記複数のユーザ設定プログラムから制御される軸を示す重複制御軸を制御する２つ目以降のユーザ設定プログラムでは、実際には制御対象の軸が存在せずに自身のユーザ設定プログラムのみから仮想的に制御される仮想軸を指定し、前記重複制御軸を前記仮想軸に置き換えてプログラムを記述する。
更に、前記仮想軸を指定したユーザ設定プログラムに基づいて演算された制御量を、前記仮想軸に置き換える前の前記重複制御軸の制御量として、対応する軸駆動プログラムに入力する制御量に加算する。
【０００６】
また、本発明の第２発明は、請求項２に記載されたとおりの数値制御装置である。
請求項２に記載の数値制御装置は、加工装置に設けられた複数の軸の制御における各軸の動作を指示するプログラムを備えた数値制御装置であって、前記プログラムは、指定した軸の制御量を演算するための単数または複数のユーザ設定プログラムで構成されたユーザ設定プログラム群と、前記ユーザ設定プログラムに基づいて演算された制御量が入力されて実際の各軸の駆動装置を駆動するための軸駆動プログラムが軸毎に用意された軸駆動プログラム群と、で構成されており、前記ユーザ設定プログラムが複数の場合、複数のユーザ設定プログラムがそれぞれ独立して並列的に処理が実行され、各ユーザ設定プログラムには、各々のユーザ設定プログラム内で任意に指定した単数または複数の軸の制御量を演算するためのプログラムが記述されており、ユーザ設定プログラム内で指定される各軸は、それぞれ１つのユーザ設定プログラムでのみ指定が可能であり、前記軸駆動プログラムは、入力された制御量に基づいて、当該軸駆動プログラムに対応付けられた軸の駆動装置に駆動信号を出力させる、数値制御装置において、制御対象の軸における少なくとも１つの軸に対して複数のユーザ設定プログラムからの制御を可能とするものである。
複数のユーザ設定プログラムからの制御を可能とするために、前記複数のユーザ設定プログラムから制御される軸を示す重複制御軸を制御する２つ目以降のユーザ設定プログラムでは、実際には制御対象の軸が存在せずに自身のユーザ設定プログラムのみから仮想的に制御される仮想軸が指定され、前記重複制御軸を前記仮想軸に置き換えてプログラムが記述されている。
更に、前記仮想軸を指定したユーザ設定プログラムに基づいて演算された制御量は、前記仮想軸に置き換える前の前記重複制御軸の制御量として、対応する軸駆動プログラムに入力される制御量に加算されている。
【０００７】
また、本発明の第３発明は、請求項３に記載されたとおりの加工装置である。
請求項３に記載の加工装置は、請求項１に記載の数値制御装置のプログラムの記述方法を用いて記述されたプログラムを備えた数値制御装置、または請求項２に記載の数値制御装置と、回転角度に応じて被加工部の外周輪郭の位置が変化するワークが固定され、当該ワークをＣ軸を中心に回転させるＣ軸駆動装置と、前記ワークの被加工部の外周輪郭を加工する加工工具と、前記加工工具を前記Ｃ軸に直交するＸ軸の方向に、前記ワークに対して相対的に進退移動させるＸ軸駆動装置と、前記加工工具を前記Ｃ軸に平行なＺ軸の方向に、前記ワークに対して相対的に移動させるＺ軸駆動装置とを備え、前記数値制御装置にて、前記Ｃ軸駆動装置と前記Ｘ軸駆動装置と前記Ｚ軸駆動装置の各々の動作を指示する加工装置である。
そして、互いに関連した動作が必要となる、前記Ｃ軸回りの前記ワークの回転角度に対して、前記ワークに対する前記加工工具の前記Ｘ軸方向の相対的な進退位置を指示するためのＣＸ関連ユーザ設定プログラムと、互いに関連した動作が必要となる、前記ワークに対する前記加工工具の前記Ｚ軸方向の相対的な移動量に対して、前記ワークに対する前記加工工具の前記Ｘ軸方向への相対的な移動量を指示するためのＸＺ関連ユーザ設定プログラムと、の２つのユーザ設定プログラムにて、前記Ｃ軸駆動装置と前記Ｘ軸駆動装置と前記Ｚ軸駆動装置との制御を可能とするものである。
前記制御を可能とするために、前記２つのユーザ設定プログラムの中のいずれか一方のユーザ設定プログラムでは、前記２つのユーザ設定プログラムから制御される前記重複制御軸に対応するＸ軸を、実際には制御対象の軸が存在せずに自身のユーザ設定プログラムのみから仮想的に制御される仮想軸に置き換えてプログラムが記述されている。
更に、前記Ｘ軸に対応する軸駆動プログラムに、前記一方のユーザ設定プログラムに基づいて演算された前記仮想軸の制御量と、前記２つのユーザ設定プログラムの中の残りのユーザ設定プログラムに基づいて演算された前記Ｘ軸の制御量とが加算されて入力されている。
【０００８】
また、本発明の第４発明は、請求項４に記載されたとおりの加工装置である。
請求項４に記載の加工装置は、請求項３に記載の加工装置であって、前記ワークはクランクシャフトであり、前記被加工部はクランクピンであり、前記加工工具は前記Ｃ軸に平行な回転軸を有するとともに当該回転軸に平行な方向の幅が前記クランクピンの前記Ｃ軸に平行な方向の長さよりも小さい略円柱形状の回転砥石であり、前記クランクピンの形状は円柱状であるとともに両端部では徐々に径が大きくなる円弧状の凹部を有する形状である。
そして、前記ＣＸ関連ユーザ設定プログラムには、前記クランクピンと前記回転砥石とが当接するように、前記Ｃ軸回りの前記クランクシャフトの回転角度に対して、前記クランクシャフトに対する前記回転砥石の前記Ｘ軸方向の相対的な進退位置を指示するためのプログラムが記述されている。
また、前記ＸＺ関連ユーザ設定プログラムには、前記回転砥石が、前記円弧状の凹部を有する前記クランクピンの輪郭を前記Ｚ軸方向にトレースするように、前記クランクシャフトに対する前記回転砥石の前記Ｚ軸方向の相対的な移動量に対して、前記クランクシャフトに対する前記回転砥石の前記Ｘ軸方向の相対的な移動量を指示するためのプログラムが記述されている。
【発明の効果】
【０００９】
請求項１に記載の数値制御装置のプログラムの記述方法を用いれば、複数のユーザ設定プログラムから制御される軸を示す重複制御軸については、その重複制御軸を直接指定した記述を避け、各ユーザ設定プログラム内でのみ制御する仮想軸に置き換えてプログラムを記述する。これにより、ユーザ設定プログラムにおける記述そのものを可能とする。
そして、仮想軸に置き換えたユーザ設定プログラムにて求めた制御量を、仮想軸に置き換える前の軸（重複制御軸）の軸駆動プログラムへ入力する制御量に加算することで、複数のユーザ設定プログラムから重複して制御される軸であっても、各ユーザ設定プログラムで求めた制御量を合成することができる。
【００１０】
また、請求項２に記載の数値制御装置によれば、請求項１と同様に、複数のユーザ設定プログラムから制御される軸を示す重複制御軸について、仮想軸に置き換えてプログラムを記述することで、ユーザ設定プログラムにおける記述そのものを可能とする。
そして、仮想軸に置き換えたユーザ設定プログラムにて求めた制御量を、仮想軸に置き換える前の軸（重複制御軸）の軸駆動プログラムへ入力する制御量に加算することで、各ユーザ設定プログラムで求めた制御量を合成し、合成した制御量にて各軸の制御を行うことができる数値制御装置を実現することができる。
【００１１】
また、請求項３及び請求項４に記載の加工装置によれば、Ｃ軸回りの回転角度に対応させてＸ軸方向の移動を指示するプロフィール動作によるＸ軸方向の移動と、Ｚ軸方向への移動に対応させたＸ軸方向の移動とを、それぞれ独立した制御として行いながらも同時に行わせることができる。
また、例えば、図６に示すようなクランクピン１１の形状であっても、クランクピン１１の長さ１１Ｗよりも小さな幅３０Ｗの加工工具３０を用いて、Ｃ軸回りの回転角度に対応させてＸ軸方向の進退位置を制御するプロフィール動作を行いながら加工工具３０をクランクピンの円弧状の凹部の形状に沿うようにＺ軸方向及びＸ軸方向に移動させることができる。
これにより、例えば、図６に示すようなクランクピン１１の形状であっても、ワークを回転させながら、加工工具３０を適切にクランクピン１１の外周輪郭をトレースするように制御することができる。このため、加工工具の形状を転写する方法を用いる必要がなく、少量生産であっても効率の良い加工装置を実現することができる。
【発明を実施するための最良の形態】
【００１２】
以下に本発明を実施するための最良の形態を図面を用いて説明する。図１は、本発明の数値制御装置のプログラムの記述方法を用いた数値制御装置４０、及び加工装置１の一実施の形態における構成の例を示している。なお、構成そのものは従来の数値制御装置及び加工装置と同じであるが、本発明の数値制御装置のプログラムの記述方法を用いることで、従来では実現できなかった加工方法を実現するものである。
【００１３】
●●［第１の実施の形態］
第１の実施の形態では、数値制御装置における少なくとも１つの軸の制御において、従来では記述ができなかった複数のユーザ設定プログラムからの、それぞれ独立した動作の指示を行う記述方法と、各指示による制御量を合成する方法について説明する。なお、ユーザ設定プログラムについては後述する。
【００１４】
●［加工装置１と数値制御装置４０の構成（図１）］
加工装置１は、ベース２と主軸テーブルＴＢ１と、砥石テーブルＴＢ２と、数値制御装置４０とを備えている。
砥石テーブルＴＢ２には、略円柱状の砥石３０（加工工具に相当）を備えている。砥石３０は、砥石テーブルＴＢ２に載置された砥石回転駆動モータ２４により、Ｚ軸に平行な回転軸を中心に回転する。また、砥石３０における回転軸に平行な方向の幅３０Ｗは、クランクピン１１のＺ軸方向の長さ１１Ｗよりも小さい（図６参照）。なお、Ｚ軸は、クランクシャフト１０（ワークに相当）を支持して回転させる主軸モータ２１によって回転する軸であるＣ軸に平行な軸であり、後述する送りネジ２３ＢがＺ軸である。
また、砥石テーブルＴＢ２は、ベース２に設けられた砥石テーブル駆動モータ２２（Ｘ軸駆動装置に相当）と送りネジ２２Ｂ、及び砥石テーブルＴＢ２に設けられたナット（図示省略）により、ベース２に対してＸ軸方向に移動可能である。なお、Ｘ軸は、前記Ｃ軸に直交する方向の軸であり、送りネジ２２ＢがＸ軸である。
【００１５】
主軸テーブルＴＢ１は、ベース２に設けられた主軸テーブル駆動モータ２３（Ｚ軸駆動装置に相当）と送りネジ２３Ｂ、及び主軸テーブルＴＢ１に設けられたナット（図示省略）により、ベース２に対してＺ軸方向に移動可能である。
主軸テーブルＴＢ１の上には、心押し台２１Ｔが固定され、主軸台２１Ｄが、種々の長さのワークに対応可能とするように、心押し台２１Ｔに近接または離間可能となるように、心押し台２１Ｔに対向する位置に載置されている。主軸台２１Ｄ及び心押し台２１Ｔには、それぞれ支持部２１Ｃ、２１Ｓ（チャック等）が設けられており、これら支持部２１Ｃ、２１Ｓの間にワークであるクランクシャフト１０が保持（支持）される。この支持部２１Ｃ、２１Ｓを結ぶ軸がＣ軸である。
【００１６】
クランクシャフト１０は、主軸台２１Ｄに設けられた主軸モータ２１により、支持部２１Ｃ、２１Ｓを結ぶＣ軸を中心として回転する。また、クランクシャフト１０は、図１に示すように、Ｃ軸に対して偏心した位置に中心を持つクランクピン１１、１２、１３、１４等を複数有する形状である。
また、砥石テーブル駆動モータ２２には砥石テーブルＴＢ２のＸ軸方向の位置を検出する位置検出器２２Ｅが設けられており、主軸テーブル駆動モータ２３には主軸テーブルＴＢ１のＺ軸方向の位置を検出する位置検出器２３Ｅが設けられており、主軸モータ２１には、クランクシャフト１０の回転角度を検出する位置検出器２１Ｅが設けられている。これらの位置検出器としては種々のものを用いることができるが、本実施の形態ではエンコーダを用いている。
【００１７】
数値制御装置４０は、ＣＰＵ４１と、記憶装置４２と、入出力装置４３（キーボード、モニタ等）とインターフェース４４と、ドライブユニット５１〜５４等にて構成されている。そして、数値制御装置４０は、記憶装置４２に記憶された加工データ及び加工プログラム等に基づいて、主軸モータ２１、砥石テーブル駆動モータ２２、主軸テーブル駆動モータ２３、砥石回転駆動モータ２４を制御する。
ＣＰＵ４１は、入出力装置４３から入力されるデータと、記憶装置４２に記憶されているプログラムやデータと、インターフェース４４を介して入力される外部入力信号に基づいて出力指令値を計算し、インターフェース４４を介して出力する。
外部入力信号としては、クランクシャフト１０の回転角度を検出する位置検出器２１Ｅからの信号、砥石テーブルＴＢ２のＸ軸方向の位置を検出する位置検出器２２Ｅからの信号、主軸テーブルＴＢ１のＺ軸方向の位置を検出する位置検出器２３Ｅからの信号等が用いられる。
【００１８】
出力指令値は、クランクシャフト１０を加工するための、クランクシャフト１０の回転角度、砥石テーブルＴＢ２のＸ軸方向の位置、主軸テーブルＴＢ１のＺ軸方向の位置、砥石回転駆動モータ２４の回転数を制御する制御量であり、インターフェース４４を介してドライブユニット５１〜５４に出力される。
ドライブユニット５１は主軸モータ２１を制御し、Ｃ軸を回転中心としたクランクシャフト１０の回転速度を制御する。ドライブユニット５２は砥石テーブル駆動モータ２２を制御し、砥石テーブルＴＢ２のＸ軸方向の位置を制御する。ドライブユニット５３は主軸テーブル駆動モータ２３を制御し、主軸テーブルＴＢ１のＺ軸方向の位置を制御する。また、ドライブユニット５４は砥石回転駆動モータ２４を制御し、砥石３０の回転速度を制御する。
【００１９】
ドライブユニット５１、５２、５３は、位置検出器２１Ｅ、２２Ｅ、２３Ｅからの検出信号を取り込み、取り込んだ位置検出器からの検出信号と、ＣＰＵ４１からの出力指令値との差を補正するようにフィードバック制御を行い、主軸モータ２１、砥石テーブル駆動モータ２２、主軸テーブル駆動モータ２３、を各々制御する。
なお、図１の例では、砥石回転駆動モータ２４には検出器を設けていないが、砥石回転駆動モータ２４にも速度検出器等を設け、砥石回転駆動モータ２４の回転速度をフィードバック制御することも可能である。
なお、図示省略するが、Ｃ軸回りに回転する被加工部の動きに追従してリアルタイムに被加工部の径の寸法を検出して検出信号を出力し、被加工部の寸法を連続的に検出可能な定寸装置も備えている。数値制御装置は、当該定寸装置からの検出信号に基づいて、被加工部の径がどれだけであるか、リアルタイムに連続的に認識することができる。
【００２０】
●［数値制御装置４０におけるプログラムの構成（図２）］
図２の例に示すように、ＣＰＵ４１からインターフェース４４を介してドライブユニット５１〜５４に出力される出力指令値（以下、出力指令値を制御量と記載する）を演算するプログラムは、単数または複数のユーザ設定プログラムで構成されたユーザ設定プログラム群と、このユーザ設定プログラムが演算した制御量が入力されて対応付けられたドライブユニットに制御量を出力する軸駆動プログラムが軸毎に用意された軸駆動プログラム群にて構成されている。
ユーザ設定プログラムは、ユーザが任意に指定した単数または複数の軸の制御量を演算するためのプログラムを記述することが可能であり、ユーザが自由に記述することができる。
軸駆動プログラムは、対応付けられた実際の軸の駆動装置（この場合、駆動モータ）を駆動するためのプログラムであり、ドライブユニットに対して１対１に対応付けられている。なお、軸出力プログラムは、ユーザが自由に記述できるものではない。
各ドライブユニットは、対応付けられた軸駆動プログラムから制御量（出力指令値）が入力されると、対応付けられた位置検出器からの検出信号に基づいた位置あるいは回転角度等と、入力された出力指令値との差を補正するようにフィードバック制御する。
【００２１】
また、ユーザ設定プログラムが複数の場合、ＣＰＵ４１によって、複数のユーザ設定プログラムがそれぞれ独立して並列的に処理が実行される。そして、各ユーザ設定プログラムにて演算された制御量の軸出力プログラムへの入力も並列的に処理される。これにより、複数のユーザ設定プログラムが同時に処理され、各軸を同時に制御することができる。
なお、ユーザ設定プログラム内で指定される各軸は、それぞれ１つのユーザ設定プログラムでのみ指定が可能である。例えば、ユーザ設定プログラムＰＵ１、ＰＵ２の２つがある場合、ユーザ設定プログラムＰＵ１でＸ軸とＣ軸を指定してＸ軸とＣ軸の制御量を演算するプログラムを記述した場合、ユーザ設定プログラムＰＵ２ではＸ軸またはＣ軸を指定して制御量を演算するプログラムを記述することはできない。
【００２２】
●［クランクシャフト１０と砥石３０とのプロフィール動作（図４）］
ここで、図４（Ａ）及び（Ｂ）を用いて、Ｃ軸回りの回転角度に応じてＸ軸方向に進退移動するプロフィール動作について説明する。
図４（Ａ）に示すように、クランクシャフト１０をＣ軸を中心として回転させると、被加工部であるクランクピン１１の外周輪郭の位置（Ｘ軸方向の位置）は、回転角度に応じて変化する。
図４（Ｂ）に示すように、クランクシャフト１０の軸の中心を点Ｊ、クランクピン１１の軸の中心を点Ｐ、砥石３０の回転中心を点Ｔ、クランクピン１１の直径をφｐ、点Ｊと点Ｐを結んだ直線の長さ（ピンストローク）をＲｗ、砥石３０の半径をＲｔとする。なお、点Ｊと点Ｔは、Ｘ軸に平行な直線上に設定されている。
点Ｊと点Ｐを結んだ直線と、点Ｊと点Ｔを通る直線とが成す角を回転角度θ（ワークの回転角度）、点Ｊと点ＴとのＸ軸方向の距離をＸ（ワークの回転角度に対応するＸ軸方向の進退位置）とすると、距離Ｘは、回転角度θの関数となる。
【００２３】
●［従来の記述方法によるユーザ設定プログラムの記述例（図３）と加工方法（図５）］
次に図３を用いて、従来の記述方法によるユーザ設定プログラムの記述例について説明する。ユーザ設定プログラムは、「Ｇ」から始まる各モードを指定するコードと、動作内容を示すコード等が１行ずつ記述されている。
例えば、図３に示す例では、ＣＰＵ４１は、ステップＮ０１０を読み込むと、「Ｇ５１」より、プロフィール動作開始モードの指定であることを認識する（この場合、「Ｇ５１」がプロフィール動作開始モードであることが予め登録されている）。そして、「Ｓ６０」より、クランクシャフト１０（Ｃ軸）を６０回転／ｍｉｎで回転させ、「Ｐ２３４５」ファイルに記憶されているＣ軸回りの回転角度とＸ軸方向の位置に従ってＣ軸回りの回転角度に応じたＸ軸方向の位置となるように、砥石テーブル駆動モータ２２を制御する指示であることを認識し、当該指示に基づいたＣ軸の制御量とＸ軸の制御量を求める。上記の「Ｐ２３４５」ファイルには、例えば、図４に示す回転角度θに応じた距離Ｘが、所定回転角度毎に記憶されている。
【００２４】
次に、ＣＰＵ４１は、図３に示すステップＮ０２０を読み込むと、「Ｇ０１」より、切込みモードであることを認識し（この場合、「Ｇ０１」が切込みモードであることが予め登録されている）、「Ｇ３１」より、定寸装置（被加工部の寸法を計測する装置）によって測定した寸法に応じた外部位置決めモードであることを認識する（この場合、「Ｇ３１」が外部位置決めモードであることが予め登録されている）。そして、「Ｇ９１  Ｘ−０．２  Ｆ１．」より、相対位置指令モード（この場合、「Ｇ９１」が相対位置決めモードであることが予め登録されている）であることを認識し、切込み速度１ｍｍ／ｍｉｎにて、Ｘ軸を０．２ｍｍ切込む方向に駆動する指示であることを認識し（−０．２は、図４（Ｂ）において砥石３０をクランクシャフト１０に近づく方向に０．２ｍｍ移動させることを示している）、当該指示に基づいたＸ軸の制御量を求める。そして、ＣＰＵ４１は、ステップＮ０１０で求めたＸ軸の制御量とステップＮ０２０で求めたＸ軸の制御量を加算してＸ軸用の軸駆動プログラムＰＪｘに入力する。また、ステップＮ０１０で求めたＣ軸の制御量は、Ｃ軸用の軸駆動プログラムＰＪｃに入力される。
そして、ＣＰＵ４１は、定寸装置からの検出信号（アドレス９８７６５の信号）が出力されると、次のステップＮ０３０を読み込む。
【００２５】
次に、ＣＰＵ４１は、ステップＮ０３０を読み込むと、「Ｇ０１」及び「Ｇ３１」より、切込みモード、且つ外部位置決めモードであることを認識する。そして、「Ｇ９１  Ｘ−０．０２  Ｆ０．５」より、相対位置指令モード（「Ｇ９１」より）であることを認識し、切込み速度０．５ｍｍ／ｍｉｎにて、Ｘ軸を０．０２ｍｍ切込む方向に駆動する指示であることを認識し、当該指示に基づいたＸ軸の制御量を求める。そして、ＣＰＵ４１は、ステップＮ０１０で求めたＸ軸の制御量とステップＮ０３０で求めたＸ軸の制御量を加算してＸ軸用の軸駆動プログラムＰＪｘに入力する。また、ステップＮ０１０で求めたＣ軸の制御量は、Ｃ軸用の軸駆動プログラムＰＪｃに入力される。
そして、ＣＰＵ４１は、定寸装置からの検出信号（アドレス９８７６４の信号）が出力されると、次のステップＮ０４０に進む。
【００２６】
次に、ＣＰＵ４１は、ステップＮ０４０を読み込むと、「Ｇ０４」より、スパークアウトモードであることを認識する（この場合、「Ｇ０４」がスパークアウトモードであることが予め登録されている）。そして、「Ｐ１」より、スパークアウト処理をＣ軸１回転分実施する指示であることを認識する。なお、「スパークアウト」とは、砥石を切込んでも加工装置や砥石の剛性不足等により設定値とおりの切込み量を得られない場合があり、加工の最終段階で砥石の切込みを停止してワークを回転等させて設定した切込み値に近づけるとともに、表面を滑らかに仕上げる作業をいう。
そして、ＣＰＵ４１は、スパークアウト処理を１回転行った後、ステップＮ０５０を読み込み、「Ｇ５０」より、プロフィール動作終了モードの指示であることを認識し（この場合、「Ｇ５０」がプロフィール動作終了モードであることが予め登録されている）、Ｃ軸とＸ軸のプロフィール動作を停止する。
【００２７】
以上に説明した、図３に示す従来のユーザ設定プログラムの記述方法では、図５に示す従来の「砥石形状を転写する加工方法」でクランクピン１１を加工することができる。これについては既に説明しているので、説明を省略する。
【００２８】
●［本実施の形態における加工方法（図６）とユーザ設定プログラムの記述例（図７）と軸駆動プログラムへの反映（図８）］
上記に説明した従来の「砥石形状を転写する加工方法（プロフィール動作を行いながらＸ軸方向に切込む加工方法）」では、図６に示すような「プロフィール動作を行いながらＸ軸方向に切込み、且つＺ軸方向に移動しながら被加工部の形状に沿ってＸ軸方向に移動する加工方法」を行うことができない。図３に示すユーザ設定プログラムにて、既にＸ軸を指定してＸ軸の制御量を演算するプログラムを記述しているので、他のユーザ設定プログラムでＸ軸を指定して制御量を演算するプログラムを記述することができないからである。かといって、図３に示したユーザ設定プログラム中に、「被加工部の形状（この場合、円弧状の凹部を有する形状）に沿うようにＺ軸方向に移動しながらＸ軸方向にも移動」する動作をプロフィール動作と同時に行わせるように記述することもできない。
また、Ｐ２３４５ファイル（回転角度θに応じた距離Ｘが所定回転毎に記憶されているデータ）に、Ｚ軸方向の距離Ｚを追加する方法も考えられるが、回転角度θに応じてＸ軸方向の位置及びＺ軸方向の位置が固定されることになる。この場合、例えば、Ｚ軸方向の移動距離が長いと、間隔の大きならせんを描き、研削されない部分が発生する可能性があるので好ましくない。
【００２９】
そこで、制御対象の軸（この場合、Ｃ軸、Ｘ軸、Ｚ軸）における少なくとも１つの軸に対して複数のユーザ設定プログラムからの制御を可能とするために、複数のユーザ設定プログラムから制御される軸を示す重複制御軸を制御する２つ目以降のユーザ設定プログラムでは、実際には制御対象の軸が存在せずに自身のユーザ設定プログラムのみから仮想的に制御される仮想軸を指定し、重複制御軸を、この仮想軸に置き換えたプログラムを記述する。そして、仮想軸を指定したユーザ設定プログラムにて求めた制御量を、仮想軸に置き換える前の実際の制御対象の軸（重複制御軸）の制御量として、当該軸に対応付けられた軸駆動プログラムに入力する制御量として加算する。
この場合、図７の例のようにユーザ設定プログラムを記述することができる。図７に、ユーザ設定プログラムＰＵ１、ＰＵ２、ＰＵ３の例を示し、各ステップの記述内容とＣＰＵ４１の処理について説明する。
【００３０】
まず、図７に示すユーザ設定プログラムＰＵ１（ＣＸ関連ユーザ設定プログラムに相当）の記述内容とＣＰＵ４１の処理について説明する。
ＣＰＵ４１は、ステップＮ０１０を読み込み、「Ｇ５１」より、プロフィール動作モードの指定であることを認識する。そして、「Ｓ６０」より、クランクシャフト１０（Ｃ軸）を６０回転／ｍｉｎで回転させ、「Ｐ２３４５」ファイルに記憶されているＣ軸回りの回転角度とＸ軸方向の位置に従ってＣ軸回りの回転角度に応じたＸ軸方向の位置となるように、砥石テーブル駆動モータ２２を制御する指示であることを認識し、当該指示に基づいたＣ軸の制御量とＸ軸の制御量を求める。これは図３に示した従来のステップＮ０１０と同様である。
次に、ＣＰＵ４１は、ステップＮ０２１を読み込み、「Ｇ０４」より、スパークアウトモードであることを認識し、「Ｐ１００」より、スパークアウト処理をＣ軸１００回転分実施する指示であることを認識する。
そして、ＣＰＵ４１は、スパークアウト処理１００回転を行った後、ステップＮ０３１を読み込み、「Ｇ５０」より、プロフィール動作終了モードの指示であることを認識し、Ｃ軸とＸ軸のプロフィール動作を停止する。
【００３１】
次に、図７に示すユーザ設定プログラムＰＵ２（Ｘ関連ユーザ設定プログラムに相当）の記述内容とＣＰＵ４１の処理について説明する。ユーザ設定プログラムＰＵ２では、Ｘ軸の切込みに関する指示のプログラムを記述したいのであるが、既にユーザ設定プログラムＰＵ１にてＸ軸を指定しているため、Ｘ軸を指定したプログラムを記述することができない。そこで、Ｘ軸（重複制御軸）を仮想軸であるＹ軸（第１仮想軸に相当）に置き換えて記述している。
ＣＰＵ４１は、ステップＮ１１０を読み込み、「Ｇ０１」及び「Ｇ３１」より、切込みモード、且つ外部位置決めモードであることを認識する。そして、「Ｇ９１  Ｙ−０．２  Ｆ１．」より、相対位置指令モード（「Ｇ９１」より）であることを認識し、切込み速度１ｍｍ／ｍｉｎにて、Ｙ軸を０．２ｍｍ切込む方向に駆動する指示であることを認識し、当該指示に基づいたＹ軸の制御量を求める。
そして、ＣＰＵ４１は、定寸装置からの検出信号（アドレス９８７６５の信号）が出力されると、次のステップＮ１２０を読み込む。なお、近年の定寸装置は、クランクピン１１がどのような回転角度であっても、当該クランクピン１１の径の寸法を計測可能となるよに、クランクピン１１の運動する軌跡に追従可能である。
ステップＮ１２０を読み込むと、「Ｇ０１」及び「Ｇ３１」より、切込みモード、且つ寸法測定モードであることを認識する。そして、「Ｇ９１  Ｙ−０．０２  Ｆ０．５」より、相対位置指令モード（「Ｇ９１」より）であることを認識し、切込み速度０．５ｍｍ／ｍｉｎにて、Ｙ軸を０．０２ｍｍ切込む方向に駆動する指示であることを認識し、当該指示に基づいたＹ軸の制御量を求める。
なお、ステップＮ１３０における処理も、上記のステップＮ１２０における処理と同様であるので説明を省略する。
【００３２】
次に、図７に示すユーザ設定プログラムＰＵ３（ＸＺ関連ユーザ設定プログラムに相当）の記述内容とＣＰＵの処理について説明する。ユーザ設定プログラムＰＵ３では、Ｚ軸方向への移動に伴うＸ軸方向の移動に関する指示（クランクピン１１の円弧状の凹部に沿う指示）のプログラムを記述したいのであるが、既にユーザ設定プログラムＰＵ１にてＸ軸を指定しているため、Ｘ軸（重複制御軸）を仮想軸であるＡ軸（第２仮想軸に相当）に置き換えて記述している。
ＣＰＵ４１は、ステップＮ２１０を読み込み、「Ｇ０３」より、円弧動作モード（凹円弧の動作）であることを認識する（この場合、「Ｇ０３」が円弧動作モードであることが予め登録されている）。そして、「Ａ−１．  Ｚ１．  Ｒ２．０  Ｆ１０．０」より、速度（Ｆ）１０ｍｍ／ｍｉｎにて、現在の位置に対してＡ軸方向に−１ｍｍ（図６において上方向に１ｍｍ移動した位置）、Ｚ軸方向に１ｍｍ（図６において左方向に１ｍｍ移動した位置）に、半径（Ｒ）２．０ｍｍの円弧に沿った移動であることを認識する。そして当該指示に基づいたＡ軸の制御量とＺ軸の制御量を求める。このＡ軸方向（実際にはＸ軸方向）とＺ軸方向の円弧移動により、図６におけるクランクピン１１の領域１１Ｃの輪郭に沿って砥石３０を移動させることができる。
【００３３】
ステップＮ２１０の処理が終わると（指示した位置まで到達すると）、ＣＰＵ４１は、ステップＮ２２０を読み込み、「Ｇ０１」より、切込みモードであることを認識する。そして、「Ｚ３．  Ｆ１０．０」より、速度（Ｆ）１０．０ｍｍ／ｍｉｎにて、現在の位置からＺ軸方向に３ｍｍ移動する指示であることを認識する。そして、当該指示に基づいたＺ軸の制御量を求める。このＺ軸方向の移動により、図６におけるクランクピン１１の領域１１Ｂの輪郭に沿って砥石３０を移動させることができる。
ステップＮ２２０の処理が終わると（指示した位置まで到達すると）、ＣＰＵ４１は、ステップＮ２３０を読み込み、「Ｇ０３」より、円弧動作モード（凹円弧の動作）であることを認識する（この場合、「Ｇ０３」が円弧動作モードであることが予め登録されている）。そして、「Ａ１．  Ｚ１．  Ｒ２．０  Ｆ１０．０」より、速度（Ｆ）１０ｍｍ／ｍｉｎにて、現在の位置に対してＡ軸方向に１ｍｍ（図６において下方向に１ｍｍ移動した位置）、Ｚ軸方向に１ｍｍ（図６において左方向に１ｍｍ移動した位置）に、半径（Ｒ）２．０ｍｍの円弧に沿った移動であることを認識する。そして当該指示に基づいたＡ軸の制御量とＺ軸の制御量を求める。このＡ軸方向（実際にはＸ軸方向）とＺ軸方向の円弧移動により、図６におけるクランクピン１１の領域１１Ａの輪郭に沿って砥石３０を移動させることができる。
【００３４】
以上に説明したユーザ設定プログラムＰＵ１、ＰＵ２、ＰＵ３では、ＰＵ２にてＸ軸（重複制御軸）の代わりの仮想軸（Ｙ軸）、ＰＵ３にてＸ軸（重複制御軸）の代わりの仮想軸（Ａ軸）の制御として制御量を求めているので、これらの制御量をＸ軸の制御量として、Ｘ軸に対応付けられた軸駆動プログラムＰＪｘに加算する。
図８に示すように、Ｃ軸に対応付けられた軸駆動プログラムＰＪｃには、ユーザ設定プログラムＰＵ１にて求めたＳ軸の制御量を入力する。また、Ｘ軸に対応付けられた軸駆動プログラムＰＪｘには、ユーザ設定プログラムＰＵ１にて求めたＸ軸の制御量と、ユーザ設定プログラムＰＵ２にて求めたＹ軸の制御量と、ユーザ設定プログラムＰＵ３にて求めたＡ軸の制御量とを加算して入力する。また、Ｚ軸に対応付けられた軸駆動プログラムＰＪｚには、ユーザ設定プログラムＰＵ３にて求めたＺ軸の制御量を入力する。これにより、プロフィール動作をさせながら、図６に示す動作を行わせ、且つクランクピン１１の外周輪郭の全域に渡って所定量切込んだ研削を行うことができる。
【００３５】
以上に説明した本実施の形態では、ユーザ設定プログラムＰＵ１にてＣ軸とＸ軸のプロフィール動作を指示し、ユーザ設定プログラムＰＵ２にてＸ軸の切込み動作を指示し、ユーザ設定プログラムＰＵ３にてＸ軸とＺ軸の円弧状の動作（いわゆるＲコンタリング動作）を指示したが、ユーザ設定プログラムＰＵ２を省略（この場合、定寸装置も省略）して、ユーザ設定プログラムＰＵ１とユーザ設定プログラムＰＵ３にて、Ｃ軸とＸ軸のプロフール動作を行わせながら、当該プロフィール動作とは独立してＸ軸とＺ軸の円弧状の動作（Ｒコンタリング動作）を行わせることも可能である。
【００３６】
●●［第２の実施の形態］
上記の「特許文献１」に記述した「特開昭６３−８４８４５号公報」では、カムの例であるが、Ｃ軸とＸ軸のプロフィール動作をさせながら、Ｃ軸の１回転中の一部の短い回転区間において、所定量（ΔＸ）だけ切込む、というステップ的な切込みを行っていた。この方法では、上記の「発明が解決しようとする課題」に記載した問題が発生する可能性がある。
そこで、第２の実施の形態では、第１の実施の形態にて説明したプログラムの記述方法を用いて、例えば、クランクピンを研削加工する際、Ｃ軸とＸ軸のプロフィール動作とＸ軸方向への切込み動作とを異なるユーザ設定プログラムにて指示して、それぞれ独立して行わせ、Ｃ軸とＸ軸のプロフィール動作をさせながら、ワークの回転角度にかかわることなく、クランクピンの全周にわたって連続的に均一に切込んで研削加工できる加工装置について説明する。
【００３７】
以下に説明する第２の実施の形態における加工装置１では、Ｚ軸方向への移動がないため、図１に示す構成に対して、Ｚ軸方向への制御に関するもの（主軸テーブル駆動モータ２３、位置検出器２３Ｅ、送りネジ２３Ｂ、トライブユニット５３等）を省略することができる。なお、図１では図示省略しているが、被加工部の寸法を連続的に検出可能な定寸装置も備えている。
【００３８】
●［従来の動作（図９）］
従来の「Ｃ軸とＸ軸のプロフィール動作をさせながら、Ｃ軸回りの１回転毎の一部の短い回転区間において、所定量（ΔＸ）だけ切込む」という動作を行わせた場合の砥石３０の位置をグラフに示すと図９（Ｂ）の例に示すものとなる。当該グラフにおいて、縦軸はＪ−Ｔ間距離（図４（Ｂ）に示す点Ｊと点Ｔの間の距離）であり、横軸はＣ軸回りのクランクシャフト１０の回転角度（２π＝１回転を示す）である。
なお、切込みを行わずにＣ軸とＸ軸のプロフィール動作のみをさせた場合、砥石３０の位置は、図９（Ａ）の例に示すようになる。
従来の動作では、図３の例に示すように、１つのユーザ設定プログラムに、Ｃ軸とＸ軸のプロフィール動作と、Ｘ軸方向への切込み動作の指示が記述されていた。これにより、図９（Ｂ）の例に示すように、Ｃ軸の１回転中の一部の短い回転区間（図９（Ｂ）中の区間α）において、所定量だけ切込むという動作をＣ軸の回転毎に繰り返していた。（なお、図９（Ｂ）中の区間βでは、切込み量はゼロである。）
なお、従来の定寸装置では、切込み中の被加工部の形状の変化を検出することまではできなかったため、切込み時間を短くして、ワークへの負荷変動の影響を少なくする必要もあった。しかし、この従来の方法では、すでに記載したように、比較的短い区間でステップ的に切込むため、急激な研削負荷が発生する場合があり、切込み量や切込み区間を適切に設定しないと、真円度の悪化や、加工面にスジが発生する等の問題や、加工工具の消耗が大きくなり寿命が短くなるという問題が発生する可能性があった。
【００３９】
●［本実施の形態の動作（１）〜（３）（図１０（Ａ）〜（Ｃ））］
近年では、ワークの形状をリアルタイムに検出できる定寸装置（例えば、設定値に達したか否かのみを検出していた従来の定寸装置に対して、どれだけの寸法であるかを検出可能）が利用できるようになり、被加工部の形状が把握できるようになった。この定寸装置と、以下に説明するプログラムを用いることで、連続的な切込みにより、安定した負荷を与えて切込みができる加工装置について説明する。
以下に説明する本実施の形態では、２つのユーザ設定プログラムを用いて、一方のユーザ設定プログラムにはＣ軸とＸ軸のプロフィール動作を指示するプログラムを記述し、他方のユーザ設定プログラムには定寸装置の検出信号による被加工部に関する寸法に基づいたＸ軸方向への切込み動作（例えば第１所定寸法になるまで、第１切込み速度で切り込む）を指示するプログラムを記述する。
【００４０】
［本実施の形態の動作（１）（図１０（Ａ））Ｃ軸回りの回転の全周にわたった連続的な切込み］
例えば、図７に示したユーザ設定プログラムＰＵ１、ＰＵ２のように記述する。
この場合、２つのユーザ設定プログラムからＸ軸の制御が重複しているので、一方のユーザ設定プログラムでは（図７の例では、ユーザ設定プログラムＰＵ２）、Ｘ軸（重複制御軸）を仮想軸（この場合、Ｙ軸）に置き換えてプログラムが記述されている。
なお、Ｘ軸に対応付けられた軸駆動プログラムＰＪｘに、上記の一方のユーザ設定プログラム（この場合、ＰＵ２）に基づいて演算された仮想軸の制御量（この場合、Ｙ軸の制御量）と、残りのユーザ設定プログラム（この場合、ＰＵ１）に基づいて演算されたＸ軸の制御量とが加算されて入力されている。
これにより、クランクシャフト１０のＣ軸回りの回転角度にかかわることなく、定寸装置によって検出される被加工部に関する寸法が第１所定寸法になるまで、第１切込み速度にて連続的に、クランクピン１１の全周にわたって均一に、砥石３０をＸ軸方向に切込ませて加工することができる。
【００４１】
なお、図７のユーザ設定プログラムＰＵ２では、ステップＮ１１０にて被加工部に関する寸法が第１所定寸法になるまでは第１切込み速度となるようにプログラムが記述されており、第１所定寸法に到達した後は、第１所定寸法よりも小さな第２所定寸法になるまで第１切込み速度よりも小さな第２切込み速度となるようにプログラムが記述されている。また、第２所定寸法に到達した後は、第２所定寸法よりも更に小さな第３所定寸法になるまで第２切込み速度よりも更に小さな第３切込み速度となるようにプログラムが記述されている。これにより、粗研削、精研削、微研削と、徐々に仕上げ精度を向上させている。
【００４２】
以上の動作における砥石３０の位置をグラフに示すと、図１０（Ａ）の例に示すものとなる。砥石３０の中心点Ｔの位置を示すＰｆ（θ）は、切込み量を示すΔＸ１に沿うように、ワークの回転角度（θ）にかかわらず、連続的に、均一に切込みを行うことができる。これにより、真円度の悪化や加工面に発生するスジ等を抑制し、より高精度に被加工部を仕上げることができる。また、連続的に、均一に切込みを行うことで、研削負荷を低減できるので、砥石３０の消耗も低減することができる。
【００４３】
［本実施の形態の動作（２）（図１０（Ｂ））切込み速度の変更時の処理（１）］
次に説明する本実施の形態の動作（２）では、上記の「本実施の形態の動作（１）」に対して、いずれかのユーザ設定プログラム（ＰＵ１、またはＰＵ２、あるいは他のユーザ設定プログラム）にて、被加工部に関する寸法が第１所定寸法に達した場合（あるいは第２所定寸法に達した場合）、次の切込み速度で切込む前に、ワーク（被加工部）に対して砥石３０を一時的にＸ軸方向に後退（いわゆる、バックオフ）させてワークと砥石３０とを一時的に離す指示が記述されている。
【００４４】
この場合、回転角度にかかわらず、被加工部に関する寸法が第１所定寸法（または第２所定寸法）になるまで第１切込み速度（または第２切込み速度）にて連続的に、且つ均一に、被加工部に対して砥石３０にて切込み、第１所定寸法に達した場合（または第２所定寸法に達した場合）は一時的に被加工部と砥石３０とを離す。その後、ワークの回転角度にかかわることなく、被加工部に関する寸法が第２所定寸法（または第３所定寸法）になるまで第２切込み速度（または第３切込み速度）にて連続的に、且つ均一に、被加工部に対して砥石３０を切込ませて加工する。
【００４５】
以上の動作における砥石３０の位置をグラフに示すと、図１０（Ｂ）の例に示すものとなる。砥石３０の中心点Ｔの位置を示すＰｆ（θ）は、切込み量を示すΔＸ２に沿うように、ワークの回転角度（θ）にかかわらず、連続的に、均一に切込みを行うことができる。図１０（Ａ）に示した動作に対して、一時的に被加工部と砥石３０とを離す、いわゆるバックオフ動作を行うことで、被加工部のたわみ等を解消することができ、加工精度をより向上させることができる。
【００４６】
［本実施の形態の動作（３）（図１０（Ｃ））切込み速度の変更時の処理（２）］
次に説明する本実施の形態の動作（３）では、上記の「本実施の形態の動作（１）」にて説明したユーザ設定プログラムＰＵ２に基づいて演算された制御量にフィルタ処理（平滑化処理）を施した後に、Ｘ軸に対応付けられた軸駆動プログラムＰＪｘに入力する制御量に加算する。図３に示す従来のユーザ設定プログラムに基づいて演算された制御量にフィルタ処理を施してしまうと、プロフィール動作にもフィルタ処理がかかってしまい、好ましくない。本実施の形態では、プロフィール動作を指示するユーザ設定プログラムＰＵ１と、切込み動作を指示するユーザ設定プログラムＰＵ２とを別々に構成しているため、切込み動作に対してのみフィルタ処理を施すことができる。
【００４７】
この場合、回転角度にかかわらず、被加工部に関する寸法が第１所定寸法（または第２所定寸法）に達する手前まで第１切込み速度にて連続的に、且つ均一に、被加工部に対して砥石３０にて切込み、その後、フィルタ処理によって切込み速度を第１切込み速度から徐々に（滑らかに）第２切込み速度へと小さくする。更にその後、ワークの回転角度にかかわることなく、被加工部に関する寸法が第２所定寸法に達する手前まで第２切込み速度にて連続的に、且つ均一に、被加工部に対して砥石３０にて切込み、その後、フィルタ処理によって切込み速度を第２切込み速度から徐々に（滑らかに）第３切込み速度へと小さくする。
【００４８】
以上の動作における砥石３０の位置をグラフに示すと、図１０（Ｃ）の例に示すものとなる。砥石３０の中心点Ｔの位置を示すＰｆ（θ）は、切込み量を示すΔＸ３に沿うように、ワークの回転角度（θ）にかかわらず、連続的に、均一に切込みを行うことができる。図１０（Ａ）に示した動作に対して、切込み速度が変わる変曲点において滑らかに切込み速度を変化させることで、加工精度を更に向上させることができる。
【００４９】
以上の説明では、略円柱状の砥石３０（回転砥石）を加工工具とし、クランクシャフト１０をワークとし、クランクピン１１を被加工部として説明したが、加工工具、ワーク及び被加工部は、これらに限定されるものではなく、種々の加工工具、ワーク、被加工部に適用できる。
また、以上の説明では、図１の例に示した加工装置１により、ワークに対して砥石３０をＸ軸方向に移動させたが、砥石３０に対してワークをＸ軸方向に移動させる構成にすることもできる。従って、Ｘ軸駆動装置は、ワークに対して砥石３０を相対的にＸ軸方向に移動させることができるものである。
同様に、Ｚ軸方向については、砥石３０に対してワークをＺ軸方向に移動させたが、ワークに対して砥石３０をＺ軸方向に移動させる構成にすることもできる。従って、Ｚ軸駆動装置は、ワークに対して砥石３０を相対的にＺ軸方向に移動させることができるものである。
【００５０】
本発明の数値制御装置のプログラムの記述方法、（当該記述方法を用いたプログラムを備えた）数値制御装置４０、及び（当該数値制御装置４０を備えた）加工装置１は、本実施の形態で説明した外観、構成、処理等に限定されず、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。
また、本実施の形態の説明に用いた数値は一例であり、この数値に限定されるものではない。
【図面の簡単な説明】
【００５１】
【図１】数値制御装置４０、及び加工装置１の一実施の形態を説明する図である。
【図２】数値制御装置４０におけるプログラムの構成を説明する図である。
【図３】従来の記述方法による、ユーザ設定プログラムの記述例を説明する図である。
【図４】Ｃ軸回りの回転角度に応じてＸ軸方向に進退移動するプロフィール動作について説明する図である。
【図５】従来の加工方法（加工工具の形状を転写する方法）を説明する図である。
【図６】本実施の形態における加工方法を説明する図である。
【図７】本実施の形態におけるユーザ設定プログラムの記述例を説明する図である。
【図８】各ユーザ設定プログラムにて演算した制御量を、対応する軸駆動プログラムに入力する様子を説明する図である。
【図９】従来の加工方法による、プロフィール動作を行いながらＸ軸方向に切込む動作を説明する図である。
【図１０】本実施の形態における、プロフィール動作を行いながらＸ軸方向に切込む動作を説明する図である。
【符号の説明】
【００５２】
１        加工装置
２        ベース
１０      クランクシャフト（ワーク）
１１〜１４  クランクピン（被加工部）
２１      主軸モータ
２２      砥石テーブル駆動モータ
２３      主軸テーブル駆動モータ
２４      砥石回転駆動モータ
２１Ｅ、２２Ｅ、２３Ｅ    位置検出器
ＴＢ１    主軸テーブル
ＴＢ２    砥石テーブル
２２Ｂ、２３Ｂ  送りネジ
３０      砥石（加工工具）
４０      数値制御装置
４１      ＣＰＵ
４２      記憶装置
４３      入出力装置
４４      インターフェース
５１〜５４  ドライブユニット
【図１】
2008084129.tif 000003
【図２】
2008084129.tif 000004
【図３】
2008084129.tif 000005
【図４】
2008084129.tif 000006
【図５】
2008084129.tif 000007
【図６】
2008084129.tif 000008
【図７】
2008084129.tif 000009
【図８】
2008084129.tif 000010
【図９】
2008084129.tif 000011
【図１０】
2008084129.tif 000012