(57)【特許請求の範囲】
【請求項１】
制御対象を加工対象面に沿う方向へ移動させる第１の制御軸と、前記制御対象を加工対象面に沿う方向であって前記第１の制御軸方向に直交する方向に移動させる第２の制御軸と、前記制御対象を前記加工対象面に対して直交する方向へ移動させる第３の制御軸とを有するＮＣ工作機械を制御するＮＣプログラムの作成方法であって、
前記第１の制御軸の駆動による前記制御対象の位置決めと、前記第１の制御軸の送り方向の逆転とを、前記第２の制御軸の駆動による前記制御対象の一定量の移動を挿んで繰り返し行い、直線往復切削による加工対象面の仕上げ切削を行うための主ＮＣプログラムを作成する主ＮＣプログラム作成工程と、
前記主ＮＣプログラムが含む、前記第１の制御軸を駆動して前記制御対象を位置決めし前記第１の制御軸の送り方向を逆転する指令プログラムに、前記第１の制御軸の送り方向の逆転によって生じる前記第３の制御軸方向の位置誤差を、逆転時の前記第１の制御軸方向の位置に応じた補正量で補正する補正プログラムを挿入して前記主ＮＣプログラムを補正する補正工程と、
を有し、
前記補正工程では、前記指令プログラムに含まれる、前記第１の制御軸を駆動して位置決めする第１のプログラムと、前記第１の制御軸の送り方向を逆転する第２のプログラムとの間に、前記第１のプログラム、前記補正プログラム、前記第２のプログラムの順でこれらのプログラムが前記ＮＣ工作機械により実行されるように、前記補正プログラムを挿入する
ＮＣプログラム作成方法。
【請求項２】
制御対象を加工対象面に沿う方向へ移動させる第１の制御軸と、前記制御対象を加工対象面に沿う方向であって前記第１の制御軸方向に直交する方向に移動させる第２の制御軸と、前記制御対象を前記加工対象面に対して直交する方向へ移動させる第３の制御軸とを有するＮＣ工作機械を制御するためのＮＣプログラムであって、前記第１の制御軸の駆動による前記制御対象の位置決めと、前記第１の制御軸の送り方向の逆転とを、前記第２の制御軸の駆動による前記制御対象の一定量の移動を挿んで繰り返し行い、直線往復切削による加工対象面の仕上げ切削を行うためのＮＣプログラムを作成するＮＣプログラム作成手段と、
前記第１の制御軸を駆動して前記制御対象を位置決めし前記第１の制御軸の送り方向を逆転する指令プログラムを前記ＮＣプログラムから検出する検出手段と、
前記検出された指令プログラムに、前記第１の制御軸の送り方向の逆転によって生じる前記第３の制御軸方向の位置誤差を、逆転時の前記第１の制御軸方向の位置に応じた補正量で補正する補正プログラムを挿入するＮＣプログラム補正手段と、
を有し、
前記ＮＣプログラム補正手段は、前記指令プログラムに含まれる、前記第１の制御軸を駆動して位置決めする第１のプログラムと、前記第１の制御軸の送り方向を逆転する第２のプログラムとの間に、前記第１のプログラム、前記補正プログラム、前記第２のプログラムの順でこれらのプログラムが前記ＮＣ工作機械により実行されるように、前記補正プログラムを挿入する
ＮＣプログラム作成装置。
【請求項３】
制御対象を加工対象面に沿う方向へ移動させる第１の制御軸と、前記制御対象を加工対象面に沿う方向であって前記第１の制御軸方向に直交する方向に移動させる第２の制御軸と、及び前記制御対象を前記加工対象面に対して直交する方向へ移動させる第３の制御軸とを有するＮＣ工作機械を制御するためのＮＣプログラムであって、前記第１の制御軸の駆動による前記制御対象の位置決めと、前記第１の制御軸の送り方向の逆転とを、前記第２の制御軸の駆動による前記制御対象の一定量の移動を挿んで繰り返し行い、直線往復切削による加工対象面の仕上げ切削を行うためのＮＣプログラムを作成するＮＣプログラム作成工程と、
前記ＮＣプログラムが含む、前記第１の制御軸を駆動して前記制御対象を位置決めし前記第１の制御軸の送り方向を逆転する指令プログラムに、前記第１の制御軸の送り方向の逆転によって生じる前記第３の制御軸方向の位置誤差を、逆転時の前記第１の制御軸方向の位置に応じた補正量で補正する補正プログラムを挿入して前記ＮＣプログラムを補正する補正工程と、
前記補正工程において補正されたＮＣプログラムをＮＣ装置にダウンロードする工程と、
前記ＮＣ装置にダウンロードされた前記ＮＣプログラムにしたがって前記ＮＣ工作機械を駆動制御する制御工程と、
を有し、
前記補正工程では、前記指令プログラムに含まれる、前記第１の制御軸を駆動して位置決めする前記第１のプログラムと、前記第１の制御軸の送り方向を逆転する第２のプログラムとの間に、前記第１のプログラム、前記補正プログラム、前記第２のプログラムの順でこれらのプログラムが前記ＮＣ工作機械により実行されるように、前記補正プログラムを挿入する
ＮＣ工作機械の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御（以下、ＮＣ）工作機械を制御するＮＣ装置を動作させるＮＣプログラムの作成方法、作成装置およびＮＣ工作機械の制御方法に関する。
【０００２】
【従来の技術】
例えば、マシニングセンタやＮＣ旋盤装置等のＮＣ工作機械では、一般的に、モータ等の回転駆動源からの回転力をラック及びピンオン、ボールねじ及びナットなどからなる送り機構によって直線運動に変換し、被加工物を固定するテーブルや被加工物を切削する工具等を所定の位置に移動させている。
近年、被加工物の自由曲面を加工するために、例えば、５軸などの複数の制御軸を有するＮＣ工作機械が一般的になっている。
このようなＮＣ工作機械の制御軸の制御方式としては、いわゆるフルクローズドフィードバック方式とセミクローズドフィードバック方式が知られている。
【０００３】
フルクローズドフィードバック方式は、テーブル等の制御対象にリニヤスケールなどの位置検出装置を直接設置し、この位置検出装置からの位置信号をサーボモータにフィードバックして位置制御を行う方式である。
この方式では、制御対象の位置を直接検出することができるため、制御対象の位置決め精度が高いのが特徴である。
しかしながら、上記の方式では、位置検出装置とサーボモータとの間のフィードバックループ中に、比較的機械剛性の低いラック及びピンオン、ボールねじ及びナットなどからなる送り機構が介在するため、サーボ系の固有周波数が低下し、位置ループゲインを高めることが難しい。このため、サーボ系の追従性を高めることが難しい。
【０００４】
一方、セミクローズドフィードバック方式は、テーブル等の制御対象を駆動するサーボモータにレゾルバや光学式のロータリエンコーダ等の回転位置検出器を取り付け、この回転位置検出器からの検出された回転量をサーボモータにフィードバックし、サーボモータの回転量を制御することで間接的にテーブル等の制御対象の位置制御を行う方式である。
この方式では、サーボループ中に比較的機械剛性の低いラック及びピンオン、ボールねじ及びナットなどからなる送り機構が介在しないため、サーボ系の固有周波数を高くとれ、サーボモータの追従性を高くすることが可能であることが特徴である。このため、ＮＣ工作機械ではセミクローズドフィードバック方式によって駆動制御を行うのが一般的となっている。
しかしながら、セミクローズドフィードバック方式では、サーボモータを駆動制御して間接的にテーブル等の制御対象の位置制御を行っている。
このため、制御軸の送り方向を逆転した場合には、ボールねじ及びナットなどの送り機構に存在するいわゆるバックラッシュや弾性変形等による機械的な位置誤差が発生してしまうことがあり、これによりテーブル等の制御対象の制御軸方向における位置誤差が発生してしまう。
このような制御対象の制御軸方向における位置誤差が存在すると、被加工物の精密な加工を行うことが困難である。
【０００５】
このため、従来のＮＣ工作機械を制御するＮＣ装置は、バックラッシュ補正機能とよばれる位置誤差を補正する機能を有しているのが一般的である。
このバックラッシュ補正機能は、位置指令値と実際の制御対象の位置との差（位置誤差）を予めレーザ測長器等の検出手段によって測定しておき、制御軸の送り方向の逆転時に上記の位置誤差を打ち消す所定の補正量を位置指令に加えるものである。
上記のバックラッシュ補正機能を用いれば、バックラッシュ等の機械的誤差が発生する制御軸方向の正確な位置制御は概ね可能となる。
【０００６】
【発明が解決しようとする課題】
しかしながら、マシニングセンタ等の複数の制御軸を有するＮＣ工作機械では、複数の制御軸間で相互に作用する力が存在するため、各軸を上記のようなバックラッシュ補正機能によって補正しても、工具やテーブル等の所定の制御点には、他の方向の位置誤差が生じることが通例である。
例えば、Ｘ，Ｙ，Ｚ軸方向に送り機構を有するマシンングセンタにおいて、テーブル上に固定された被加工物を主軸に取り付けられた回転工具によって加工する場合を考える。所定の軸、例えば、Ｘ軸方向に送り制御しながら工具によって被加工物を切削加工するような場合には、Ｘ軸方向の送り機構の案内面には、Ｘ軸方向の送りによる力や切削力等によって生じる反力やモーメントなどが作用する。すなわち、Ｘ軸方向の送り機構の案内面には、Ｘ軸方向の力以外にＹ，Ｚ軸方向に作用する力が生じる。
【０００７】
通常、送り機構の案内面には、微小な隙間などの機械的なガタが存在し、また、ＮＣ工作機械の自重などによる弾性変形も生じうる。したがって、Ｘ軸方向の送り機構の案内面にＹ，Ｚ軸方向に力が作用すると、Ｘ軸方向のみならず、Ｙ，Ｚ軸方向に位置変位が生じる。
このようなＸ軸方向の送りの際のＹ，Ｚ軸方向の位置変位は、Ｘ軸の送り方向が逆転すると、Ｘ軸方向の送り機構の案内面に作用する力の向きが逆転することから、Ｙ，Ｚ軸方向の位置誤差となって顕著に現れる。
このような誤差は、Ｙ，Ｚ軸方向の送り機構についても同様に生じ、Ｘ，Ｙ，Ｚ軸方向の各送り機構に相互に作用する力によって発生する。
このため、従来においては、Ｘ，Ｙ，Ｚ軸の各軸方向のバックラッシュ補正機能によって各制御軸の送り機構に発生するバックラッシュ等の機械的誤差を補正しても、上述のような位置誤差が存在していた。この位置誤差の存在によって、被加工物の加工面に形状誤差が生じる原因となっていた。
このような位置誤差は、上記のセミクローズドフィードバック方式およびフルクローズドフィードバック方式による制御方式のいずれの場合についても発生しうる。
【０００８】
また、Ｘ軸方向に送り制御を行いながら、例えばＺ軸方向に設けられたボールエンドミル等の回転工具によって切削加工を行った場合に、被加工物および回転工具に目標位置に対するＺ軸方向に位置ずれが生じると、ボールエンドミル等の回転工具に大きな切削負荷が掛かり、ボールエンドミルの交換時期が早まって、加工の中断が頻繁になる。結果として、加工時間が長時間となってしまう。
一方、上記のＺ軸方向の位置のバラツキによる問題を解消するために、仕上げ切削の際にＸ軸の一方方向の送り時にのみ切削を行うこととすると、加工時間が往復切削時に比較して約２倍となり、加工時間が増大する。
さらに、Ｘ軸の一方の送り方向においてのみ切削加工を行うためのＮＣプログラムは複雑となり、作成に時間および労力を要する。
【０００９】
本発明は、かかる従来の不利益を解消すべくなされたものであって、複数の制御軸を有するＮＣ工作機械の一の制御軸の送り方向の逆転時に当該一の制御軸以外の他の制御軸方向に生じる位置誤差を補正可能なＮＣプログラムの作成方法、作成装置およびＮＣ工作機械の制御方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の第１の観点のＮＣプログラムの作成方法は、制御対象を加工対象面に沿う方向へ移動させる第１の制御軸と、前記制御対象を加工対象面に沿う方向であって前記第１の制御軸方向に直交する方向に移動させる第２の制御軸と、前記制御対象を前記加工対象面に対して直交する方向へ移動させる第３の制御軸とを有するＮＣ工作機械を制御するＮＣプログラムの作成方法であって、前記第１の制御軸の駆動による前記制御対象の位置決めと、前記第１の制御軸の送り方向の逆転とを、前記第２の制御軸の駆動による前記制御対象の一定量の移動を挿んで繰り返し行い、直線往復切削による加工対象面の仕上げ切削を行うための主ＮＣプログラムを作成する主ＮＣプログラム作成工程と、前記主ＮＣプログラムが含む、前記第１の制御軸を駆動して前記制御対象を位置決めし前記第１の制御軸の送り方向を逆転する指令プログラムに、前記第１の制御軸の送り方向の逆転によって生じる前記第３の制御軸方向の位置誤差を、逆転時の前記第１の制御軸方向の位置に応じた補正量で補正する補正プログラムを挿入して前記主ＮＣプログラムを補正する補正工程とを有し、前記補正工程では、前記指令プログラムに含まれる、前記第１の制御軸を駆動して位置決めする第１のプログラムと、前記第１の制御軸の送り方向を逆転する第２のプログラムとの間に、前記第１のプログラム、前記補正プログラム、前記第２のプログラムの順でこれらのプログラムが前記ＮＣ工作機械により実行されるように、前記補正プログラムを挿入する。
【００１３】
本発明の第２の観点のＮＣプログラム作成装置は、制御対象を加工対象面に沿う方向へ移動させる第１の制御軸と、前記制御対象を加工対象面に沿う方向であって前記第１の制御軸方向に直交する方向に移動させる第２の制御軸と、前記制御対象を前記加工対象面に対して直交する方向へ移動させる第３の制御軸とを有するＮＣ工作機械を制御するためのＮＣプログラムであって、前記第１の制御軸の駆動による前記制御対象の位置決めと、前記第１の制御軸の送り方向の逆転とを、前記第２の制御軸の駆動による前記制御対象の一定量の移動を挿んで繰り返し行い、直線往復切削による加工対象面の仕上げ切削を行うためのＮＣプログラムを作成するＮＣプログラム作成手段と、前記第１の制御軸を駆動して前記制御対象を位置決めし前記第１の制御軸の送り方向を逆転する指令プログラムを前記ＮＣプログラムから検出する検出手段と、前記検出された指令プログラムに、前記第１の制御軸の送り方向の逆転によって生じる前記第３の制御軸方向の位置誤差を、逆転時の前記第１の制御軸方向の位置に応じた補正量で補正する補正プログラムを挿入するＮＣプログラム補正手段とを有し、前記ＮＣプログラム補正手段は、前記指令プログラムに含まれる、前記第１の制御軸を駆動して位置決めする第１のプログラムと、前記第１の制御軸の送り方向を逆転する第２のプログラムとの間に、前記第１のプログラム、前記補正プログラム、前記第２のプログラムの順でこれらのプログラムが前記ＮＣ工作機械により実行されるように、前記補正プログラムを挿入する。
【００１８】
本発明の第３の観点のＮＣ工作機械の制御方法は、制御対象を加工対象面に沿う方向へ移動させる第１の制御軸と、前記制御対象を加工対象面に沿う方向であって前記第１の制御軸方向に直交する方向に移動させる第２の制御軸と、及び前記制御対象を前記加工対象面に対して直交する方向へ移動させる第３の制御軸とを有するＮＣ工作機械を制御するためのＮＣプログラムであって、前記第１の制御軸の駆動による前記制御対象の位置決めと、前記第１の制御軸の送り方向の逆転とを、前記第２の制御軸の駆動による前記制御対象の一定量の移動を挿んで繰り返し行い、直線往復切削による加工対象面の仕上げ切削を行うためのＮＣプログラムを作成するＮＣプログラム作成工程と、前記ＮＣプログラムが含む、前記第１の制御軸を駆動して前記制御対象を位置決めし前記第１の制御軸の送り方向を逆転する指令プログラムに、前記第１の制御軸の送り方向の逆転によって生じる前記第３の制御軸方向の位置誤差を、逆転時の前記第１の制御軸方向の位置に応じた補正量で補正する補正プログラムを挿入して前記ＮＣプログラムを補正する補正工程と、前記補正工程において補正されたＮＣプログラムをＮＣ装置にダウンロードする工程と、前記ＮＣ装置にダウンロードされた前記ＮＣプログラムにしたがって前記ＮＣ工作機械を駆動制御する制御工程とを有し、前記補正工程では、前記指令プログラムに含まれる、前記第１の制御軸を駆動して位置決めする前記第１のプログラム、と、前記第１の制御軸の送り方向を逆転する第２のプログラムとの間に、前記第１のプログラム、前記補正プログラム、前記第２のプログラムの順でこれらのプログラムが前記ＮＣ工作機械により実行されるように、前記補正プログラムを挿入する。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
ＮＣプログラム作成システムの説明
図１は、本実施形態に係るＮＣプログラム作成システムの構成を示す説明図である。
本実施形態に係るＮＣプログラム作成システムは、パートプログラム作成部５１と、ＮＣプロセッサ部５３と、ポストプロセッサ部５５と、ＮＣプログラム補正部５７と、補正量ファイル部６０とを有している。
なお、上記構成のＮＣプログラム作成システムは、例えば、パーソナルコンピュータ、ワークステーションなどのコンピュータ装置においてソフトウエアによって実現される。
【００２０】
パートプログラム作成部５１では、被加工物を加工するＮＣ工作機械の工具の動きを指定して製品の形状を定義し、ＮＣ工作機械を可動するためのパートプログラムを作成する。
ＮＣプロセッサ部５３は、上記パートプログラムを読み込み、このパートプログラムに基づいて上記の工具の移動軌跡（Cutter Location)データ（ＣＬデータ５４）を作成する。
ポストプロセッサ部５５は、ＣＬデータ５４を読み込み、ＣＬデータ５４を実際に加工に使用するために、使用するＮＣ工作機械の仕様にあった記号やフォーマットに変換処理する。ポストプロセッサ部５５から出力されるデータが補正前のＮＣプログラムである。
これらのパートプログラム作成部５１、ＮＣプロセッサ部５３、ポストプロセッサ部５５は、一般的なＣＡＤシステムや自動プログラミングシステムに備わった機能である。
【００２１】
ＮＣプログラム補正部５７は、ポストプロセッサ部５５から出力されたＮＣプログラムを補正処理する。
補正ファイル部６０は、ＮＣプログラム補正部５７において行う処理のための情報を保持している。
【００２２】
図２は、ＮＣプログラム補正部５７の構成を示す説明図である。
ＮＣプログラム補正部５７は、送り方向逆転検出部５７ａと、補正プログラム作成部５７ｂと、補正プログラム挿入部５７ｃとを有している。
送り方向逆転検出部５７ａは、ポストプロセッサ部５５から出力されたＮＣプログラムに含まれる一の制御軸の送り制御を行わせ当該一の制御軸の送り方向を逆転する指令プログラムを検出する。
【００２３】
補正プログラム作成部５７ｂは、送り方向逆転検出部５７ａにおける一の制御軸の逆転の検出にしたがって、一の制御軸の送り方向の逆転の際に、目標位置に対する他の制御軸方向の位置誤差を補正する補正プログラムを作成する。
補正プログラム作成部５７ｂは、補正ファイル部６０に保持された情報に基づいて補正プログラムを作成する。
【００２４】
補正プログラム挿入部５７ｃは、補正プログラム作成部５７ｂにおいて作成された補正プログラムを上記のＮＣプログラムに含まれる一の制御軸の送り方向が逆転する指令プログラムに挿入する。
【００２５】
ここで、図４にポストプロセッサ部５５から出力されたＮＣプログラムの一例を示す。
図４において、プログラム（１）〜（５）のＧ０１は直線切削送りを指令するコードであり、Ｇ９１は現在の位置を一つ前の位置からの距離として表すコードであり、Ｆは送り速度を指令するコードであり、Ｇ００は早送りを指令するコードである。
なお、座標系は、Ｘ，Ｙ，Ｚ軸の直交座標系によって規定され、Ｘ，Ｙ，Ｚ軸の交点を座標原点として各軸の正負の方向を定める。
例えばＸ軸は、Ｚ軸に直交する平面内の切削工具の運動方向において、切削工具が被加工物より遠ざかっていく方向を正とする。Ｙ軸は、Ｘ軸，Ｚ軸に直交する方向である。Ｚ軸は、ＮＣ工作機械の主軸の方向であり、被加工物から遠ざかる方向を正と考える。
【００２６】
プログラム（１）は、切削工具を被加工物に対してＸ軸方向に送り速度３００ｍｍ／ｍｉｎで前の位置から距離１００ｍｍ相対移動させるという指令である。プログラム（２）は、＋Ｙ軸方向に０．５ｍｍの距離で早送りする指令である。
プログラム（３）は、切削工具を被加工物に対して−Ｘ軸方向に送り速度３００ｍｍ／ｍｉｎで一つ前の位置から距離１００ｍｍを移動させるという指令である。
プログラム（４）は、切削工具を被加工物に対して＋Ｙ軸方向に０．５ｍｍの距離で早送りする指令である。
プログラム（５）は、切削工具を被加工物に対して−Ｘ軸方向に送り速度３００ｍｍ／ｍｉｎで一つ前の位置から距離１００ｍｍを移動させるという指令である。
【００２７】
ここで、上記のＮＣプログラム補正部５７の処理手順の一例を、図５に示すフローチャートに基づいて説明する。
まず、図４に示したようなプログラムを含むＮＣプログラムをＮＣプログラム補正部５７に順次読み込む（ステップＳ１）。
送り方向逆転検出部５７ａは、読み込まれた各プログラムが切削工具の移動を指令するＧ００，Ｇ０１等のコードを有するプログラムであるか否かを判断する（ステップＳ２）。
【００２８】
次いで、送り方向逆転検出部５７ａに読み込まれたプログラムが切削工具の移動を指令するＧ００，Ｇ０１等のコードを有するプログラムである場合には、当該プログラムと前回記憶された同様に切削工具の移動を指令するＧ００，Ｇ０１等のコードを有するプログラムとを比較する。なお、この比較は各軸方向毎に行われる。
例えば、図４において示したＮＣプログラムにおいて、プログラム（１）がステップＳ３における前回記憶されたプログラムとする。
プログラム（３）がステップＳ１において読み込まれると、プログラム（３）とプログラム（１）との比較が行われる。
プログラム（１）は切削工具の＋Ｘ軸方向の移動指令であり、プログラム（３）は切削工具の−Ｘ軸方向の移動指令であることから、プログラム（１）および（３）からＸ軸の送り方向の逆転が行われることが判断される（ステップＳ４）。
【００２９】
次いで、送り方向の逆転が検出されると、その逆転の向きを検出する（スッテップＳ５）。
すなわち、例えば、＋Ｘ軸方向から−Ｘ軸方向への送り方向の逆転か、その逆かを判断する。
＋Ｘ軸方向から−Ｘ軸方向への送り方向の逆転の場合には、ＮＣプログラム補正部５７に設けられた逆転方向フラグｆｌａｇＢをオンし（ステップＳ６）、逆の場合には、逆転方向フラグｆｌａｇＢをオフする（ステップＳ７）。
次いで、記憶するプログラムを更新する（ステップＳ８）。
上記の例では、前回記憶されたプログラム（１）をプログラム（３）に更新する。
【００３０】
次いで、補正プログラム作成部５７ｂにおいては、補正量ファイル部６０から補正量を作成するための所定の情報を取得する（ステップＳ９）。
この情報は、例えば補正量Ｄの値などであるが、詳細については後述する。
【００３１】
次いで、補正量ファイル部６０から得られた情報に基づいて、補正量Ｄを決定する（ステップＳ１０）。
この補正量は、Ｘ軸の送り方向の逆転時に、他のＹ，Ｚ軸方向に生じる切削工具の被加工物に対する位置ずれを補正する補正量である。
これらの補正量を決定する方法の詳細についても後述する。
【００３２】
ステップＳ１０において決定されたＹ，Ｚ軸方向に生じる切削工具の被加工物に対する位置ずれを補正する補正量をＤXY，ＤXZとすると、これらの補正量をＹ，Ｚ軸方向の移動量として出力するプログラムを作成する（ステップＳ１１）。具体的には、たとえば図６に示すように、早送りを指令するコードＧ００を用いて、Ｙ，Ｚ軸方向に補正量ＤXY，ＤXZ分だけ移動させるプログラム（Ｈ）を作成する。
【００３３】
次いで、ステップＳ１１において作成されたプログラム（Ｈ）を、たとえば図７に示すように、プログラム（２）と（３）との間に挿入する。
なお、図４に示すプログラムの（３）と（５）との関係においても、Ｘ軸の送り方向の逆転が存在するため、プログラム（４）と（５）との間にも同様の補正プログラム（Ｈ）が挿入される。
以上のような処理を繰り返し行うことにより、ＮＣプログラムを補正することができる。
また、上記においてはＸ軸の場合について例示したが、Ｙ軸、Ｚ軸についても同様の処理が行われる。
【００３４】
次に、補正量ファイル部６０の内容および補正量の決定方法について説明する。
例えば、Ｘ，Ｙ，Ｚ軸方向にそれぞれ制御軸を有するＮＣ工作機械には、一の制御軸方向の目標位置に位置決めした際に、目標位置に対する他の制御軸方向の位置ずれが生じうる。加えて、一の制御軸方向に位置決めした際には、当該一の制御軸方向にもバックラッシュなどの機械的な位置ずれが生じうる。
【００３５】
したがって、Ｘ，Ｙ，Ｚ軸方向に生じうる位置ずれ量は、図３（ｂ）に示すように表すことができる。
位置ずれ量δXX，δYY，δZZは、各制御軸の送り方向の逆転時に当該制御軸方向に発生するバックラッシュなどの機械的誤差である。
位置ずれ量δXY，δXZは、Ｘ軸方向の制御軸の送り方向の逆転時にＹ，Ｚ軸方向に生じる位置ずれ量である。
位置ずれ量δYX，δYZは、Ｙ軸方向の制御軸の送り方向の逆転時にＸ，Ｚ軸方向に生じる位置ずれ量である。
位置ずれ量δZX，δZYは、Ｚ軸方向の制御軸の送り方向の逆転時にＸ，Ｙ軸方向に生じる位置ずれ量である。
【００３６】
図３（ａ）は、上記の各位置ずれ量を補正するための補正量を列挙したものである。
図３（ａ）に示す補正量ＤXX，ＤYY，ＤZZ（以下、バックラッシュ補正量）は、通常、ＮＣ工作機械を制御するＮＣ装置ではバックラッシュ補正機能が備わっているため、ＮＣ装置に保持されている。
本実施形態では、補正量ＤXY，ＤXZ，ＤYX，ＤYZ，ＤZX，ＤZY（以下、他軸補正量という）を決定して、上記補正プログラムを作成する。
【００３７】
例えば、他軸補正量ＤXY，ＤXZは、Ｘ軸の送り方向が逆転する際に、目標位置（例えば、切削工具と被加工物との相対位置）に対するＹ軸およびＺ軸方向の位置誤差を補正するための補正量である。
すなわち、例えば、マシニングセンタ等の複数の制御軸を有するＮＣ工作機械では、例えば、Ｘ軸方向に送り制御しながら切削工具によって被加工物を切削加工するような場合には、Ｘ軸方向の送り機構の案内面には、Ｘ軸方向の送りによる力や切削力等によって生じる反力やモーメントなどが作用する。送り機構の案内面のＹ，Ｚ軸方向に力が作用すると、Ｘ軸方向のみならず、Ｙ，Ｚ軸方向に位置誤差が生じる。このＹ，Ｚ軸方向に位置誤差はＸ軸の送り方向を逆転する際に顕著に現れる。
また、他軸補正量ＤYX，ＤYZおよびＤZX，ＤZYについてもＸ軸の場合と全く同様である。
【００３８】
他軸補正量の決定方法
ここで、他軸補正量ＤXY，ＤXZ，ＤYX，ＤYZ，ＤZX，ＤZYの決定方法について説明する。
例えば、ＮＣ工作機械において、一の制御軸の送り方向を逆転する際に生じる他の軸方向の位置ずれ量δが略一定の場合が考えられる。
この場合には、各他軸補正量ＤXY，ＤXZ，ＤYX，ＤYZ，ＤZX，ＤZYを一定の値として補正量ファイル部６０に保持しておき、これらの値を、例えば図６に示したような補正プログラムの補正量として使用する。
なお、他軸補正量ＤXY，ＤXZ，ＤYX，ＤYZ，ＤZX，ＤZYは、ＮＣ工作機械によって実際に加工を行った場合の位置ずれ量δから決定することができ、あるいは、レーザ干渉装置等の位置検出手段を用いて、所定の軸を送り制御させ、他の軸の位置ずれ量δを検出することにより決定してもよい。
【００３９】
ＮＣ工作機械において、例えば、大きさは略同じで位置ずれ量δの向きが一の制御軸の送り方向の逆転の向きによって異なる場合が考えられる。
この場合には、他軸補正量ＤXY，ＤXZ，ＤYX，ＤYZ，ＤZX，ＤZYを正負の両方の値で保持しておき、補正プログラム作成部５７ｂにおいて上記した逆転方向フラグｆｌａｇＢのステータスに応じて対応する他軸補正量を選択決定する。
【００４０】
ＮＣ工作機械の構造によっては、例えば、正方向から負方向への送り方向の逆転の場合と負方向から正方向への送り方向の逆転の場合とでは、他の軸方向に位置ずれ量が異なり上述のような同じ大きさの他軸補正量では、補正が十分でない場合も考えられる。例えば、重力の影響などによって逆転する向きによって位置ずれ量が異なる場合も考えられる。
このような場合には、逆転の向きに応じて、異なる値の他軸補正量を補正量ファイル部６０に保持しておき、補正プログラム作成部５７ｂにおいて上記した逆転方向フラグｆｌａｇＢのステータスに応じて対応する他軸補正量を選択決定する。
【００４１】
また、駆動される制御軸の送り方向の逆転時に、他の制御軸方向に発生する位置ずれが駆動される制御軸の位置に応じて変化する場合が考えられる。
例えば、Ｘ軸の送り方向に逆転時に生じるＺ軸方向の位置ずれ量δXZがＸ軸方向の位置の関数で表される場合、例えば、図８に示すように、Ｘ軸方向の位置に応じて直線的に変化する場合が考えられる。
この場合には、補正量ファイル部６０に比例係数ＫとＸ軸方向の基準位置における他軸補正量ＤXZ0 を保持しておき、次式（１）によって他軸補正量ＤXZを算出する。
なお、補正プログラム作成部５７ｂにおいては、各制御軸方向の移動量を積算し、原点位置からの現在位置を保持しているものとする。
【００４２】
ＤXZ（ｘ）＝−Ｋ・ｘ＋ＤXZ0       ・・・（１）
【００４３】
また、例えば、Ｘ軸方向の複数位置においてＺ軸方向の位置ずれ量δXZが異なる場合が考えられる。
この場合には、図９に示すように、Ｘ軸方向の複数位置に対応して他軸補正量ＤXZを補正量ファイル部６０に保持しておく。
また、複数点間における他軸補正量ＤXZは、直線補間によって算出することができる。
【００４４】
また、切削工具に切削力が働かない場合、すなわち、非加工時においては、切削力が働かない分他の制御軸方向の位置ずれ量も小さい場合も考えられる。
このような場合には、加工時と非加工時とで、補正量ファイル部６０に保持する他軸補正量ＤXZをそれぞれ保持しておく。
補正プログラム作成部５７ｂにおいては、指令されたコードの内容に応じて各使用する他軸補正量ＤXZを切り換える。
加工時か非加工時かの判断は、ＮＣプログラム中のコード内容によって判断できる。例えば、コードＧ０１は、切削送りを指令するコードであることから、コードＧ０１による移動指令の場合には、加工時であると判断できる。一方、Ｇ００のように、早送りを指令するコードの場合は、非加工時であると判断できる。
【００４５】
ＮＣ装置の説明
図１０は、本実施形態に係るＮＣプログラム作成システムによって作成されたＮＣプログラムが適用されるＮＣ装置の一例を示す構成図である。
図１０において、ＮＣ装置１は、ＮＣプログラム解析・位置指令分配部３と、Ｘ，Ｙ，Ｚ軸位置補正部４〜６と、加算部８〜１０と、Ｘ，Ｙ，Ｚ軸サーボ制御部１２〜１４と、Ｘ，Ｙ，Ｚ軸サーボドライバ１５〜１７とを有している。
また、Ｘ，Ｙ，Ｚ軸サーボドライバ１５〜１７には、Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０が接続されている。Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０には、例えば光学式のロータリエンコーダなどの回転位置検出器１８ａ〜２０ａが備わっている。
【００４６】
ＮＣプログラム解析処理・位置指令分配部３は、上記したＮＣプログラム作成システムにおいて作成されたＮＣプログラムを解析（解読）処理して軌跡データを各制御軸の移動すべき位置指令に変換し、これを各制御軸に分配する。
各制御軸に対する位置指令ｒx ，ｒy ，ｒz は、所定時間当たりの移動量として順次出力される。この移動量は、例えばパルス量として与えられる。
上記の機能は、一般的にＮＣ装置に通常的に備わった機能である。また、ＮＣプログラムは、一般的には、ＣＡＤシステムや自動プログラミングシステムによって作成され、所定の記憶媒体を介して、または、通信手段によってＮＣ装置１にダウンロードされる。
【００４７】
Ｘ，Ｙ，Ｚ軸位置補正部４〜６は、ＮＣプログラム解析処理・位置指令分配部３から受けた位置指令ｒx ，ｒy ，ｒz に基づき、各軸Ｘ，Ｙ，Ｚ軸の送り方向（移動方向）の逆転を検出する。
この送り方向の逆転の検出は、順次入力される各位置指令（移動量）の前回と今回の符号が反転したか否かを判別することによって検出される。
【００４８】
Ｘ軸位置補正部４は、入力される位置指令ｒx の逆転を検出すると、位置指令ｒx を補正するバックラッシュ補正量ＤXXをＸ軸加算器８に出力する。
Ｙ軸位置補正部５は、入力される位置指令ｒy の逆転を検出すると、位置指令ｒy を補正するバックラッシュ補正量ＤYYをＹ軸加算器９に出力する。
Ｚ軸位置補正部６は、入力される位置指令ｒz の逆転を検出すると、位置指令ｒz を補正するバックラッシュ補正量ＤZZをＺ軸加算器１０に出力する。
【００４９】
Ｘ，Ｙ，Ｚ軸加算部８〜１０は、各位置指令ｒx ，ｒy ，ｒz をそれぞれｒx ＋ＤXX，ｒy ＋ＤYY，ｒz ＋ＤZZとしてＸ，Ｙ，Ｚ軸サーボ制御部１２〜１４に出力する。
【００５０】
Ｘ，Ｙ，Ｚ軸サーボ制御部１２〜１４は、位置ループ、速度ループおよび電流ループから構成される。
位置ループは、たとえば、各制御軸の位置指令（移動量）を受けて、これらの移動量と各サーボモータ１８〜２０の回転位置を検出する回転位置検出器１８ａ〜２０ａからの位置フィードバック信号との偏差に比例動作を施して（位置ループゲインをかける）、これを速度ループに対する速度指令として出力する。
速度ループは、たとえば、前記速度指令と回転位置検出器１８ａ〜２０ａからの位置フィードバック信号のサンプリング時間毎の差分値（速度フィードバック信号）との偏差に比例動作および積分動作を施してトルク指令とし、これを電流ループに出力する。
電流ループは、たとえば、各サーボモータ１８〜２０の駆動電流から換算した各サーボモータ１８〜２０の出力トルク信号と上記トルク指令との偏差に比例動作を施して電流指令とし、これをサーボドライバ１５〜１７に所定の電気信号に変換して出力する。
Ｘ，Ｙ，Ｚ軸サーボ制御部１２〜１４は、本実施形態ではソフトウエアによって実現されるが、ハードウエアによっても実現可能である。
【００５１】
Ｘ，Ｙ，Ｚ軸サーボドライバ１５〜１７は、Ｘ，Ｙ，Ｚ軸サーボ制御部１２〜１４からの電流指令を増幅した駆動電流をＸ，Ｙ，Ｚ軸サーボモータ１８〜２０に出力する。
Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０は、Ｘ，Ｙ，Ｚ軸サーボドライバ１５〜１７駆動電流に応じて駆動される。
【００５２】
Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０に備わった回転位置検出器１８ａ〜２０ａは、Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０の回転量に応じた検出パルスをＸ，Ｙ，Ｚ軸サーボ制御部１２〜１４に対して出力する。
回転位置検出器１８ａ〜２０ａとしては、例えば、インクリメンタル方式のロータリエンコーダまたはアブソリュート方式のロータリエンコーダを用いることができる。インクリメンタル方式のロータリエンコーダを用いた場合には、当該ロータリエンコーダは１回転毎の位置信号を回転パルス信号として出力することから、回転パルス信号の数をＸ，Ｙ，Ｚ軸サーボ制御部１２〜１４において管理することにより、Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０の絶対位置が管理できる。
【００５３】
以上のような構成により、Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０の回転位置制御が可能となる。
なお、ＮＣ装置１は、Ｘ，Ｙ，Ｚ軸サーボモータ１８〜２０の回転位置制御のみならず、速度制御およびトルク制御が可能であるが、詳細については省略する。
また、ＮＣ装置１は、Ｘ，Ｙ，Ｚサーボモータ１８〜２０以外のさらに多数の制御軸を制御可能であり、例えばスピンドルモータ等の回転速度制御を行う機能を有している。
【００５４】
図１０に示したＮＣ装置１の各機能は、たとえば、図１２に示すような構成のハードウエアによって実現される。
図１２において、マイクロプロセッサ２１は、ＲＯＭ（Read Only Memory) ２２、ＲＡＭ（Random Access Memory) ２３、インターフェース回路２４、グラフィック制御回路２５、表示装置２６、キーボード２８、ソフトウエアキー２７等とバスを介して接続されている。
マイクロプロセッサ２１は、ＲＯＭ２２に格納されたシステムプログラムにしたがって、ＮＣ装置１全体を制御する。
【００５５】
ＲＯＭ２２には、上記したＮＣプログラム解析・位置指令分配部３、Ｘ，Ｙ，Ｚ軸位置補正部４〜６、加算部８〜１０、Ｘ，Ｙ，Ｚ軸サーボ制御部１２〜１４などを実現するプログラムや、ＮＣ装置１全体を制御するためのプログラムが格納される。
ＲＡＭ２３は、ＲＯＭ２２に格納されたプログラムがダウンロードされたり、各種のＮＣプログラム、データなどが格納され、例えば、補正量データ等が格納される。
【００５６】
グラフィック制御回路２５は、ディジタル信号を表示用の信号に変換し、表示装置２６に与える。
表示装置２６には、例えば、ＣＲＴ表示装置や液晶表示装置が使用される。表示装置２６は、ソフトウェアキー２７またはキーボード２８を用いて作業者が対話形式で加工プログラムを作成していくときに、形状、加工条件および生成された加工プログラム等を表示する。
作業者は、表示装置２６に表示される内容（対話形データ入力画面）にしたがってデータを入力することができる。
表示装置２６の画面には、その画面で受けられる作業またはデータがメニュー形式で表示される。メニューのうちどの項目を選択するかは、メニューの下のソフトウエアキー２７を押すことにより行う。
キーボード２８は、ＮＣ装置１に必要なデータを入力するのに使用される。
【００５７】
インターフェース回路２４は、マイクロプロセッサ２１から出力された位置指令等の指令を所定の信号に変換してＸ〜Ｚ軸サーボドライバ１５〜１７に出力する。
また、インターフェース回路２４は、Ｘ〜Ｚ軸サーボモータ１８〜２０に備わった位置検出器１８ａ〜２０ａからの検出パルスを逐次カウントし、このカウント値をマイクロプロセッサ２１に出力する。
【００５８】
マシニングセンタの一例
図１３は、上記のＮＣ装置が適用されるＮＣ工作機械としてのマシニングセンタの一例を示す構成図である。
図１３に示すマシニングセンタは、いわゆる門型のマシニングセンタであって、門型のコラム３８の各軸によって両端部を移動可能に支持されたクロスレール３７に、クロスレール３７上を移動可能に支持された可動部材４４を介して主軸４５が鉛直方向（Ｚ軸方向）に移動可能に設けられている。
【００５９】
可動部材４４には、水平方向にクロスレール３７内を通じて図示しない雌ねじ部が形成されており、これにボールねじ４１がねじ込まれている。ボールねじ４１の端部には、Ｙ軸サーボモータ１９が設けられており、ボールねじ４１はＹ軸サーボモータ１９によって回転駆動される。
ボールねじ４１の回転駆動によって、可動部材４４はＹ軸方向に移動可能となり、これによって主軸４５のＹ軸方向の移動が行われる。
【００６０】
さらに、可動部材４４には、鉛直方向に図示しない雌ねじ部が形成されており、これにボールねじ４２がねじ込まれている。ボールねじ４２の端部には、Ｚ軸サーボモータ２０が設けられている。Ｚ軸サーボモータ２０によってボールねじ４２が回転駆動され、これにより可動部材４４に移動可能に設けられた主軸４５のＺ軸方向の移動が行われる。
【００６１】
主軸４５内には、主軸モータ３１が内蔵され、主軸モータ３１は、主軸４５の先端に設けられるエンドミルなどの工具Ｔを回転駆動する。
主軸４５の下方には、Ｘ軸テーブル３５がＸ軸方向に移動可能に設けられており、Ｘ軸テーブル３５には、ボールネジおよび雌ねじ等から構成される送り機構を介してＸ軸サーボモータ１８が接続されている。
Ｘ軸テーブル３５は、Ｘ軸サーボモータ１８の回転駆動によってＸ軸方向の移動が行われる。
【００６２】
なお、上記のＸ，Ｙ，Ｚ軸サーボモータ１８の駆動制御は、ＮＣ装置１によって行われる。
また、門型コラム３８には、図示しない雌ねじ部がそれぞれ形成されており、これにねじ込まれるボールねじ３２ａをクロスレール昇降用モータ３２によって回転駆動することによりクロスレール３７は昇降する。
さらに、工具Ｔは自動工具交換装置（ＡＴＣ）３９によって種々のものに交換可能になっており、各種アタッチメントの交換も自動交換装置（ＡＡＣ）４０によって種々のものに交換可能になっている。
【００６３】
金型の切削加工例
次に、上述したＮＣ装置およびマシニングセンタによる被加工物、例えば金型の切削加工の一例について説明する。
図１４は、Ｘ軸テーブル３５上に固定された被加工物ＷをボールエンドミルＴによって、被加工物Ｗの一面の仕上げ切削を行っている様子を示す斜視図である。
被加工物Ｗの一面の仕上げ切削を行うには、例えば図１４に示すように、ボールエンドミルＴによる切り込み量が所定となるように、Ｚ軸方向の位置決めを行い、主軸モータ３１によって所定の回転速度で回転させられるボールエンドミルＴに対して、Ｘ軸テーブル３５（被加工物Ｗ）をＸ軸方向に所定の送り速度で移動させながら切削加工を行う。
そして、Ｘ軸方向の所定の位置でボールエンドミルＴをＹ軸方向にピックフィード量Ｐで移動させ、ボールエンドミルＴをＸ軸の反対方向に同様の送り速度で移動させる。
この動作を繰り返し行うことにより、被加工物Ｗの一面の仕上げ切削を行う。
【００６４】
図１５は、図１４に示す手順で仕上げ加工を行った場合の仕上げ面の仕上げ面粗さを説明する図である。
ボールエンドミルＴをピックフィード量ＰでＹ軸方向に移動させながら、切削加工を行うと、図１５に示すように理想的には切削面は波状に形成される。
このとき、切削面の最高部と最低部との距離ｈを仕上げ面粗さとする。
仕上げ面粗さｈは、理論的には、次式（２）により表される。
【００６５】
ｈ≒Ｐ2 ／８Ｒ（Ｐ≪Ｒ）        ・・・（２）
但し、Ｒはボールエンドミルの先端部の曲率半径である。
【００６６】
仕上げ面粗さｈは、小さいほど仕上げ面の面精度が高く、例えば金型の場合には、仕上げ面粗さｈを非常に小さくできれば、後工程における研磨工程を省略したり、研磨工程を簡略化することができる。
【００６７】
しかしながら、従来のマシニングセンタによる仕上げ面切削においては、仕上げ面粗さｈを小さくできないという問題があった。
これは、Ｘ軸テーブル３５（被加工物Ｗ）をＸ軸方向に所定の送り速度で往復移動させる際に、＋Ｘ軸方向から−Ｘ軸方向に送り方向を逆転または−Ｘ軸方向から＋Ｘ軸方向に送り方向を逆転する際に、ボールエンドミルＴと被加工物Ｗとの間にＺ軸方向の位置ずれδXZが発生することに起因していた。
ボールエンドミルＴと被加工物Ｗとの間にＺ軸方向の位置ずれδXZは、ボールエンドミルＴから被加工物Ｗが受ける切削力やＸ軸テーブル３５の移動の際に作用する力などが、送り方向を逆転する際に変化し、Ｘ軸テーブル３５や主軸４５の送り機構などにＺ軸方向の位置ずれδXZを発生させているものと考えられる。
【００６８】
また、ボールエンドミルＴと被加工物Ｗとの間のＺ軸方向の位置ずれδXZは、＋Ｘ軸方向から−Ｘ軸方向に送り方向を逆転する場合と、−Ｘ軸方向から＋Ｘ軸方向に送り方向を逆転する場合とでは、大きさは略等しいが向きが逆となって発生していた。
したがって、Ｘ軸方向のバックラッシュ等の機械誤差を補正したとしても、仕上げ面粗さｈを小さくできない。
また、上記のようなＺ軸方向の位置ずれδXZが発生すると、一方の送り方向においてはボールエンドミルＴに大きな切削負荷が掛かり、ボールエンドミルの交換時期が早まって、加工の中断が頻繁になるため、結果として、加工時間が長時間となってしまうという不利益も存在する。
【００６９】
ここで、図１６は、ボールエンドミルＴによって被加工物Ｗを切削加工した場合の仕上げ面の状態を示しており、図中実線Ｌ１は理想状態における場合であり、図中点線Ｌ２はボールエンドミルＴと被加工物Ｗとの間のＺ軸方向の位置ずれδXZが正負の方向に発生した場合である。なお、Ｚ軸は相対量を示している。
ボールエンドミルＴと被加工物Ｗとの間のＺ軸方向の位置ずれδXZが正負の方向に発生すると、点線Ｌ２に示すように、Ｘ軸の一方の送り方向（図中（１）の領域）ではＺ軸方向切り込み量が大きくなり、Ｘ軸の他の送り方向（図中（２）の領域）ではＺ軸方向切り込み量が小さくなる。
このため、ボールエンドミルＴと被加工物Ｗとの間のＺ軸方向の位置ずれδXZが正負の方向に発生すると、理想状態に比較して仕上げ面粗さｈが増大する。大きくなってしまう。
【００７０】
また、図１７は、仕上げ面の様子を示す説明図であって、（ａ）は理想状態における仕上げ面の状態を示す平面図であり、（ｂ）はＺ軸方向に位置ずれを生じた場合の仕上げ面の状態を示す平面図である。
図１７（ａ）に示すように、理想的には、互いにＸ軸の送り方向が反対（逆方向）の切削面Ｓｆ，Ｓｂは、略等間隔に形成される。
一方、図１７（ｂ）に示すように、ボールエンドミルＴと被加工物Ｗとの間のＺ軸方向の位置ずれδXZが正負の方向のいずれにも発生すると、一方の切削面ＳｂのＹ軸方向の幅が太くなり、他方の切削面Ｓｆの幅が細くなる。
したがって、理想状態とボールエンドミルＴと被加工物Ｗとの間のＺ軸方向の位置ずれδXZが正負の方向に発生した場合とでは、切削面の様子が異なるため、視覚的にも仕上げ面の良否を確認することができる。
【００７１】
次に、上記したＮＣプログラム作成システムによって作成されたＮＣプログラムを用いた上記ＮＣ装置およびマシニングセンタの動作について説明する。
まず、ＮＣプログラム作成システムによって作成されたＮＣプログラムが、例えば、ＮＣテープやフロッピディスクなどの記憶媒体を介してＮＣ装置１に読み込まれ、ＲＡＭ２３に記憶される。
ＮＣプログラム解析処理・指令分配部３では、上記のＮＣプログラムを解析処理し、各制御軸毎に位置指令ｒx ，ｒy ，ｒz に分配する。
各制御軸毎に分配された位置指令ｒx ，ｒy ，ｒz は、所定時間当たりの移動量としてそれぞれＸ，Ｙ，Ｚ軸位置指令補正部４〜６に逐次入力される。
【００７２】
次いで、各軸位置指令補正部４〜６では、入力された移動量に基づいて、各軸の送り方向が逆転したか否かを検出する。
逆転したか否かは、位置指令パルスの符号が逆転したか否かを検出することで判断する。
したがって、前回入力された移動量と今回入力された移動量の符号が異なる場合には、送り方向が逆転する指令であると判断される。
【００７３】
制御軸の送り方向が逆転する場合には、これに対応するバックラッシュ補正量が各軸位置補正部４〜６から対応する加算器８〜１０に出力される。
たとえば、Ｘ軸方向の送り方向が逆転した場合には、Ｘ軸サーボ制御部１２を通じてＸ軸方向のバックラッシュがバックラッシュ補正量ＤXXによって補正されることになる。
このとき、Ｘ軸方向のバックラッシュ補正に加えて、Ｙ軸方向およびＺ軸方向の位置誤差を補正するように、ＮＣプログラム解析処理・指令分配部３から位置指令ｒy 、ｒz が出力される。
位置指令ｒy 、ｒz は、ＮＣプログラム解析処理・指令分配部３において他軸補正量ＤXY，ＤXZが位置指令に変換されたものである。
この位置指令ｒy 、ｒz がＹ，Ｚ軸サーボ制御部１３，１４に出力されることによって、Ｙ、Ｚ軸方向の目標位置からの位置ずれが補正されることになる。
なお、Ｘ軸の送り方向が逆転する場合について説明したが、Ｙ、Ｚ軸の送り方向が逆転する場合についても同様である。
【００７４】
実施例
ここで、図１８は、本実施形態のＮＣプログラム作成システムによって作成されたＮＣプログラムを用いて、上記のＮＣ装置およびマシニングセンタによって被加工物Ｗとしての金型の一面を実際に加工した場合の加工結果を示す説明図である。（ａ）は本実施形態による場合であり、（ｂ）は従来の場合である。
加工条件は、金型の材料：ＦＣＤ７００（ＳＧ）、工具：ボールエンドミル（超硬）、工具径：１６ｍｍ、主軸回転速度：４４００ｒｐｍ、Ｘ軸方向の送り速度３８００ｍｍ／ｍｉｎ、Ｙ軸方向のピックフィード量Ｐ：０．７ｍｍ、Ｚ軸方向切り込み量１ｍｍとして行った。
また、図１８（ａ）においては、Ｚ軸の位置指令ｒz を他軸補正量ＤXZを加算して補正し、他の位置指令については補正を行わなかった。
さらに、図１８（ｂ）において、ボールエンドミルＴと被加工物Ｗとの間に発生するＺ軸方向の位置ずれ量δxzは、±９μｍ程度であるため、他軸補正量ＤXZの大きさを９μｍとし、Ｘ軸の送り方向の逆転の向きに応じて符号を付けた。
【００７５】
図１８（ｂ）において、ボールエンドミルＴと被加工物Ｗとの間に発生するＺ軸方向の位置ずれ量δxzを他軸補正量によって補正しない場合には、領域（１）においては、Ｚ軸方向に切り込み量が大きく、領域（２）においては切り込み量が少なくなっており、仕上げ面粗さｈが悪化しているのがわかる。
一方、本実施形態にによれば、図１８（ａ）に示すように仕上げ面粗さｈが飛躍的に改善するのがわかる。
【００７６】
以上のように、本実施形態によれば、ＮＣプログラム作成システムにおいて予め補正されたＮＣプログラムによってＮＣ工作機械を駆動することによって、一の制御軸の送り方向の逆転時に、他の制御軸方向に生じる目標位置からの位置ずれを平面的または立体的に補正することができる。
この結果、ＮＣ工作機械による被加工物の加工精度を向上させることができる。
また、本実施形態によれば、ＮＣ工作機械を制御するＮＣ装置に一の制御軸の送り方向の逆転時に他の制御軸方向に生じる目標位置からの位置ずれを補正する機能を有していなくても、これらの位置ずれを補正することができる。
したがって、本実施形態によれば、既存のＮＣ装置に対して何ら変更を加えることを必要とせずに、他の制御軸方向に生じる目標位置からの位置ずれを２次元的または３次元的に補正することができる。
この結果、例えば、マシニングセンタにおいてボールエンドミルＴによって被加工物Ｗの一面を仕上げ切削したような場合に、仕上げ面の仕上げ面粗さを向上させることができる。
【００７７】
本発明は上述した実施形態に限定されない。
上述した実施形態では、図１０に示したように、適用されるＮＣ装置にバックラッシュ補正機能を有する場合について説明したが、例えば、図１１に示すような構成のＮＣ装置に適用した場合にも、バックラッシュ補正および他軸に発生する位置ずれを補正可能である。
この場合には、たとえばＸ軸の送り方向が逆転する場合に挿入する補正プログラムとして、たとえば図１９に示すようなプログラムを作成する。
バックラッシュ補正量ＤXXおよび他軸補正量ＤXY，ＤXZによって、Ｘ軸の送り方向が逆転する際に生じる目標位置からの位置ずれをＸ，Ｙ，Ｚ軸の３軸方向で補正することが可能になる。
また、補正量ＤXY，ＤXZ，ＤYX，ＤYZ，ＤZX，ＤZYの全部を使用しなくても、いずれかについてのみ使用してもよい。
さらに、上述の実施形態では、Ｘ，Ｙ，Ｚ軸の３軸の制御軸を有するＮＣ工作機械に適用した場合について説明したが、２軸の制御軸を有するＮＣ工作機械または４軸以上の制御軸を有するＮＣ工作機械に本発明は適用可能である。
【００７８】
【発明の効果】
本発明によれば、複数の制御軸を有するＮＣ工作機械の一の制御軸の送り方向の逆転時に当該一の制御軸以外の他の制御軸方向に生じる位置誤差を補正可能となる。
この結果、ＮＣ工作機械による被加工物の加工精度を向上させることができる。
また、本発明によれば、既存のＮＣ装置を改変せず、ＮＣ装置に補正したＮＣプログラムをダウンロードすることで、高精度な加工が可能となるため、実施が非常に容易となる。
【図面の簡単な説明】
【図１】本実施形態に係るＮＣプログラム作成システムの構成例を示す説明図である。
【図２】ＮＣプログラム補正部の構成を示す説明図である。
【図３】補正量および位置誤差の種類を示す説明図である。
【図４】補正前のＮＣプログラムの一例を示す説明図である。
【図５】本実施形態に係るＮＣプログラム作成システムの処理手順を示すフローチャートである。
【図６】補正プログラムの一例を示す説明図である。
【図７】補正前のＮＣプログラムに補正プログラムを挿入したＮＣプログラムの一例を示す説明図である。
【図８】他軸補正量の算出方法の一例を説明するための図である。
【図９】他軸補正量の算出方法の他の例を説明するための図である。
【図１０】ＮＣ装置の一構成例を示す説明図である。
【図１１】ＮＣ装置の他の構成例を示す説明図である。
【図１２】図１０に示したＮＣ装置を実現するためのハードウエア構成の一例を示す説明図である。
【図１３】マシニングセンタの一例を示す構成図である。
【図１４】ボールエンドミルによって被加工物の一面の仕上げ切削を行っている様子を示す斜視図である。
【図１５】仕上げ面の仕上げ面粗さを説明するための図である。
【図１６】仕上げ面のＹ軸とＺ軸によって構成される平面方向の断面図である。
【図１７】仕上げ面の様子を示す説明図であって、（ａ）は理想状態における仕上げ面の状態を示す平面図であり、（ｂ）はＺ軸方向に位置ずれを生じた場合の仕上げ面の状態を示す平面図である。
【図１８】金型の一面を実際に加工した場合の加工結果を示す説明図であって、（ａ）は本実施形態による場合であり、（ｂ）は従来の場合である。
【図１９】本発明の他の実施形態による場合の補正プログラムの例を示す説明図である。
【符号の説明】
５１…パートプログラム作成部
５３…ＮＣプロセッサ部
５４…ＣＬデータ
５５…ポストプロセッサ部
５７…ＮＣプログラム補正部
５７ａ…送り方向逆転検出部
５７ｂ…補正プログラム作成部
５７ｃ…補正プログラム挿入部
５９…ＮＣプログラム
６０…補正ファイル部
【図１】
0004036502.tif 000002
【図２】
0004036502.tif 000003
【図３】
0004036502.tif 000004
【図４】
0004036502.tif 000005
【図５】
0004036502.tif 000006
【図６】
0004036502.tif 000007
【図７】
0004036502.tif 000008
【図８】
0004036502.tif 000009
【図９】
0004036502.tif 000010
【図１０】
0004036502.tif 000011
【図１１】
0004036502.tif 000012
【図１２】
0004036502.tif 000013
【図１３】
0004036502.tif 000014
【図１４】
0004036502.tif 000015
【図１５】
0004036502.tif 000016
【図１６】
0004036502.tif 000017
【図１７】
0004036502.tif 000018
【図１８】
0004036502.tif 000019
【図１９】
0004036502.tif 000020