(57)【特許請求の範囲】
【請求項１】
工作物を取り付け固定するワークテーブルと工具を先端に装着可能な主軸を回転支持する主軸サポートとを前記主軸の前記ワークテーブルに対する相対的な移動量が予めプログラムされた数値制御装置により制御される１つの制御軸に沿って相対的に移動して１つの先使用工具により前記工作物を加工すると共に、この加工途中から１つの後使用工具に交換して前記工作物の加工を継続する工作機械において、
工具先端位置を検出して工具の先端が前記制御軸上の所定のＡ位置に到達する時にオンとなる第１検出器を設けておき、前記先使用工具による加工動作の前後においてこの先使用工具の先端を前記第１検出器がオンとなるように位置決めして理論位置（Ｚol）と実際位置（Ｚl、Ｚl’）との差である加工前誤差（Ｚol−Ｚl）及び加工後誤差（Ｚol−Ｚl’）をそれぞれ求め、
前記先使用工具に代えて前記後使用工具を前記主軸に装着した後に前記後使用工具を前記第１検出器がオンとなる位置に位置決めして理論位置（Ｚol’’）と実際位置（Ｚl’’）との差である加工前誤差（Ｚol’’−Ｚl’’）を求め、
前記加工動作の途中から前記後使用工具を用いて前記加工動作を継続する際には、前記主軸の前記制御軸に沿う予めプログラムされた前記ワークテーブルに対する相対的な移動量を前記後使用工具の加工前誤差に前記先使用工具の加工前誤差と加工後誤差との差を加えた補正量（＝（Ｚol’’−Ｚl’’）＋（（Ｚol−Ｚl）−（Ｚol−Ｚl’））＝Ｚol’’−Ｚl＋Ｚl’−Ｚl’’）で補正することにより前記後使用工具の刃先位置を前記先使用工具の摩耗した刃先により切削された工作物の加工最終部に整合させることを特徴とする先使用・後使用工具の刃先位置整合方法。
【請求項２】
前記先使用工具による前記加工動作に先立って、接触子を有する接触式の第２検出器を前記主軸と共に前記制御軸に沿って前記ワークテーブルに対し相対的に移動し、この第２検出器の接触子を前記第１検出器がオンとなる前記所定のＡ位置と同一又はこのＡ位置から所定距離離間したＢ位置および前記工作物上の所定のＣ位置に順次接触させて前記Ｂ位置から観たＣ位置の予め設定された理論位置と実際位置との工作物位置誤差を求め、前記先使用工具を用いて前記工作物を加工する際には前記予めプログラムされた相対移動量を前記加工前誤差及び前記工作物位置誤差の両方に基づいて補正し、前記後使用工具を用いて前記加工途中から継続して前記工作物を加工する際には前記予めプログラムされた相対移動量を前記先使用工具の前記加工前誤差及び前記加工後誤差と前記後使用工具の加工前誤差と前記工作物位置誤差に基づいて補正するようにしたことを特徴とする請求項１記載の先使用・後使用工具の刃先位置整合方法。
【請求項３】
前記先使用工具による前記加工動作に先立って、接触子を有する接触式の第２検出器を前記主軸と共に前記制御軸に沿って前記ワークテーブルに対し相対的に移動し、この第２検出器の接触子を前記第１検出器がこの接触子先端を検出してオンとなるように前記Ａ位置に位置決めしてこの時の前記相対送り位置を記憶すると共に前記工作物上の所定のＣ位置に接触させて前記Ａ位置から観た前記Ｃ位置の予め設定された理論位置と実際位置との誤差である工作物位置誤差を求め、前記先使用工具を用いて前記工作物を加工する際には前記予めプログラムされた相対移動量を前記加工前誤差及び前記工作物位置誤差の両方に基づいて補正し、前記後使用工具を用いて前記加工途中から継続して前記工作物を加工する際には前記予めプログラムされた相対移動量を前記先使用工具の前記加工前誤差及び前記加工後誤差と前記後使用工具の加工前誤差と前記工作物位置誤差とに基づいて補正するようにしたことを特徴とする請求項１記載の先使用・後使用工具の刃先位置整合方法。
【請求項４】
前記第１検出器は非接触式のものを使用し、前記先使用工具の加工前誤差及び加工後誤差と前記後使用工具の加工前誤差を求める際には前記主軸と共にこれに装着された前記先使用工具又は後使用工具を回転させた状態で行うことを特徴とする請求項１〜３の何れか１項記載の先使用・後使用工具の刃先位置整合方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御工作機械において、先使用工具による加工の途中からこの先使用工具に代えて後使用工具により前記加工途中から加工を再開する場合に両工具の刃先位置を整合する方法に関する。
【０００２】
【従来の技術】
特に金型のような硬質材料製の工作物を数値制御工作機械により加工する場合、加工途中でそれまで使用していた先使用工具が寿命に達し、このため先使用工具に換えて同種または予備の後使用工具を主軸に装着し、前記加工途中から加工動作を再開する場合がある。この場合、加工途中における先使用工具の刃先位置と後使用工具の刃先位置とを整合し、加工再開面に段差が形成されることを防止する必要がある。
【０００３】
このために先使用工具の刃先位置と後使用工具の刃先位置とを整合する従来の方法では、先使用工具と後使用工具の工具寸法差を求めこの寸法差分だけ後使用工具の加工再開位置を補正するようにしている。典型的には、この工具寸法差は、数値制御装置に登録される先使用及び後使用工具の各呼び寸法の差とこれら工具の各工具寸法補正データの差の合計値とされる。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来の方法では、先使用工具及び後使用工具の呼び寸法や工具寸法補正データが正しく設定されていたとしても、工作物上の加工再開部では後使用工具の先端は先使用工具の先端が存在していた位置と正確に整合されず、前記加工再開部に段や顕著な筋が付くと云う問題を解消できない。
この主たる原因は、前記加工途中に至るまでの加工経路中で先使用工具の刃先に生じた摩耗量が考慮されていないためであり、この他先使用工具の刃先位置や後使用工具の刃先位置を精密に捕捉することが容易でないことにある。
さらに、工作機械のワークテーブルに対する工作物の取り付け誤差を工具刃先位置と関連させて精密に求めることができなかったことが大きな要因となっている。
【０００５】
従って、本発明の主たる目的は、先使用工具及び後使用工具のプログラム上の理論位置と実際位置との誤差だけでなく先使用工具の刃先摩耗量を考慮することにより後使用工具の刃先を先使用工具の刃先があった位置に正確に位置決めできるようにすることにある。
本発明の別の目的は、後使用工具を加工再開部に位置決めする際に、先使用及び後使用工具の各刃先位置誤差及びワークの取り付け誤差が補正できるようにすることにある。
【０００６】
【課題を解決するための手段】
上述した課題を解決するために、請求項１の先使用・後使用工具の刃先整合方法は、先使用工具による加工動作の前後においてこの先使用工具の刃先を第１検出器がオンとなる基準のＡ位置に位置決めし、この先使用工具を装着する主軸と前記第１検出器との間の相対移動の理論位置（Ｚol）と実際位置（Ｚl、Ｚl’）との差をそれぞれ前記先使用工具の加工前誤差（Ｚol−Ｚl）及び加工後誤差（Ｚol−Ｚl’）として求める。また、後使用工具を先使用工具に換えて主軸に装着した後、後使用工具の刃先を第１検出器がオンとなる前記Ａ位置に位置決めし、主軸と第１検出器との間の相対移動の理論位置（Ｚol’’）と実際位置（Ｚl’’）との差を前記後使用工具の加工前誤差（Ｚol’’−Ｚl’’）として求める。そして、後使用工具を先使用工具による工作物の加工終了部に位置決めする際には、ワークテーブルと主軸の相対移動のプログラムされた目標位置を後使用工具の加工前誤差に先使用工具の加工前誤差と加工後誤差との差を加えた補正量（＝（Ｚol’’−Ｚl’’）＋（（Ｚol−Ｚl）−（Ｚol−Ｚl’））＝Ｚol’’−Ｚl＋Ｚl’−Ｚl’’）で補正することにより後使用工具の刃先位置を先使用工具の摩耗した刃先により切削された工作物の加工最終部に整合させる。
【０００７】
なお、第１検出器は、ワークテーブルと不変の位置関係を持つように配置することが好ましい。
【０００８】
この発明における先使用工具の加工後誤差とは、加工動作の後に先使用工具を基準のＡ位置に再度位置決めした時の主軸と第１検出器との相対移動の理論位置と実際位置との誤差を意味するが、この発明を定義する上での便宜上、これら理論位置と実際位置との差を求めずに後述する実施の形態のように単に実際位置のみを検出するようにした場合にこの実際位置のみを意味すべく意図されている。これは、理論位置は既知であるので、理論位置と実際位置との誤差の算出をどの時点で行うかは単なる処理上の問題であるためである。
【０００９】
請求項２の先使用・後使用工具の刃先整合方法は、ワークテーブルに対し相対的に主軸と共に接触式の第２検出器を１つの制御軸に沿って移動し、この第２検出器の接触子を前記第１検出器がオンとなる前記Ａ位置と同一又はこのＡ位置から所定距離離間したＢ位置と工作物上の基準となるＣ位置に順次接触させてＢ位置から観たＣ位置の予め設定された理論位置と実際位置との差である工作物位置誤差を求める。そして、後使用工具を先使用工具による工作物の加工終了部に位置決めする際には、ワークテーブルと主軸の相対移動のプログラムされた目標位置を、請求項１の発明において使用した誤差に加えて、前記工作物位置誤差を用いて補正する。
【００１０】
この発明においては、熱変形の影響を極力なくするために前記Ｂ位置を前記Ａ位置の近傍に設定することにより、実質的に前記Ａ位置から観た工作物の位置誤差を求めることができる。工作物の位置誤差をさらに補正の対象として加えることにより、主に先使用及び後使用工具の寸法誤差と先使用工具の刃先摩耗が起因する両工具の刃先位置の不整合を排除した上で、主にワークテーブルに対する工作物の取り付け誤差が起因する両工具の刃先位置の不整合をさらに排除する。これにより、後使用工具の刃先位置は先使用工具の摩耗した刃先により切削された工作物の加工最終部に一層正確に整合する。
【００１１】
特に、先使用及び後使用工具の寸法誤差と先使用工具の刃先摩耗を検出する基準となる前記Ａ位置を工作物の位置誤差を検出する基準として共用するようにして、送り座標系における前記Ａ位置の主に熱変形による変位の影響が補正精度に悪影響を及ぼさないようにしてある。
【００１２】
請求項３の先使用・後使用工具の刃先整合方法では、第２検出器の接触子が第１検出器に検出され同検出器がオンとなる位置、つまり前記Ａ位置から観た工作物上の基準となるＣ位置の予め設定された理論位置と実際位置との差である工作物位置誤差を求めるようにした。
これにより、請求項２の発明方法と同様に、後使用工具の刃先位置は先使用工具の摩耗した刃先により切削された工作物の加工最終部に一層正確に整合する他、前記工具寸法誤差を求める際の前記Ａ位置と前記工作物位置誤差を求める際の前記Ａ位置とを制御軸に沿う同一位置とすることができ、請求項２の発明で設定を必要としていた前記Ｂ位置を不要にでき、このＢ位置を設定する際に巻き込まれる誤差を排除するようにしている。
【００１３】
好適には、請求項４の方法のように、請求項１乃至請求項３の各方法における前記工具寸法誤差を求めるときは、主軸を回転させた状態で行うようにした。
主軸と共にこれに取り付けた工具を回転させることにより、前記工具寸法誤差は加工動作中の工具の工具先端の振れを含む実効寸法を反映した誤差となり、この誤差に基づいた補正が可能となる。
【００１４】
前述した請求項１乃至請求項３の発明においては、工具寸法誤差を求めるときは、主軸の回転を停止させた状態で行ってもよいが、請求項４の発明のように主軸を回転させた状態、より好適にはその後の加工動作で回転させる回転速度で主軸を回転させた状態で行えば、加工動作中の工具の実効寸法に基づいた補正が可能となる。ここで、工具の実効寸法とは、工具の先端が振れを生じる場合に数値制御装置に設定された実際の工具長や工具径である工具寸法よりも大きくなる工具寸法を意味する。
【００１５】
さらに、数値制御装置に設定された実際の工具寸法とは、プログラム上で指定される工具の呼び寸法を工具寸法補正データにより補正した工具寸法を意味し、通常これら呼び寸法及び補正データは予め数値制御装置に登録されている。請求項１乃至請求項３の各発明における主軸とワークテーブルとの間の相対的移動量の補正は、プログラム中に指定された目標位置そのものを補正する方法、前記制御軸の座標系の原点を補正する方法、或いは数値制御装置に予め登録された工具呼び寸法を補正する方法或いはこれと対をなす工具寸法補正データを補正する方法の何れかにより実現される。
【００１６】
前述した各請求項の発明においては、第２検出器は主軸に装着する形式のものを使用するか、或いはこれに代えて、加工動作中は待避され検出時のみ検出位置へ前進して主軸と一体的に制御軸に沿って移動する形式のものを使用する。さらに、前述した各請求項の発明における数値制御装置により制御される工作機械の１つの制御軸とは、主軸軸線と平行な制御軸又は主軸軸線と直交する制御軸とすることができる。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
図１は本発明の計測補正方法が使用される工作機械としてのマシニングセンタ１を示している。マシニングセンタ１はベッド２とこのベッド２上に立設されたコラム３を備えている。コラム３の前面には左右に延びる上下２本のガイドレール４が取り付けられており。このガイドレール４に沿ってサドル５が左右（Ｘ軸）方向に移動可能に設けられている。さらに。このサドル５の前面には上下に延びる左右２本のガイドレール６が取り付けられており、このガイドレール６に沿ってガントリ７が上下（Ｙ軸）方向に移動可能に設けられている。ガントリ７には工具Ｔが装着される主軸８を回転可能に支持した主軸頭９が設けられている。
【００１８】
また、ベッド２には前後に延びる左右２本のガイドレール１０が取り付けられており、このガイドレール１０に沿ってワークテーブル１１が前後（Ｚ軸）方向に移動可能に設けられている。そして、図略の駆動機構により、サドル５がＸ軸方向へ、ガントリ７がＹ軸方向へ、ワークテーブル１１がＺ軸方向へそれぞれ移動することによって、主軸８に装着された工具Ｔによって、ワークテーブル１１上に載置された工作物が加工される。
【００１９】
ワークテーブル１１の主軸側の側面には非接触式の第１検出器としてのレーザ検出器２０が取り付けられている。図２に示すように、このレーザ検出器２０は、凹字上の基台２１の内側に対向して設けられたレーザ発振器２２とフォトダイオード等の受光器２３を備えており、レーザ発振器２２からのレーザ光Ｌを工具Ｔが遮ることによる受光器２３の受光量の変化から工具Ｔの先端の位置を検出することができる。すなわち、受光器２３に接続されたアンプを介して工具Ｔの先端がレーザ光を遮ったことを数値制御装置（ＣＮＣ）４０に通知することによって、ＣＮＣ４０はそのときの制御軸の現在位置から工具Ｔの先端の位置を検出することができる。ここで、工具Ｔが全てのレーザ光Ｌを遮る必要はなく、全く遮らないときの受光量に対して所定量だけ受光量が減少したことによって検出することが可能である。
なお、基台２１の側面には基準ブロック２６が、その先端面（Ｂ位置）がレーザ光Ｌ（Ａ位置）とＺ軸方向に同一の位置となるうよう設けられている。
【００２０】
一方、コラム３の側方にはコラム３に隣接して、複数の工具Ｔを備えた工具マガジン１２が設けられていると共に、ベッド２上の工具マガジン１２の前面には、自動工具交換装置（ＡＴＣ）１３が設けられており、工具マガジン１２と主軸８との間で工具交換を行うよう構成されている。
【００２１】
なお、工具マガジン１２には第２検出器３０としてのタッチセンサ３０が収納されている。このタッチセンサ３０は工具Ｔと同様に工具マガジン１２および主軸８に装着可能であり、主軸８に装着した状態で主軸８を移動させ、接触子３１（図１１参照）の先端の球が工作物Ｗや基準面に接触したことを検出するものである。すなわち、接触子３１の先端の球が工作物Ｗや基準面に接触したことを数値制御装置（ＣＮＣ）４０に通知することによって、ＣＮＣ４０はそのときの制御軸の現在位置から工作物Ｗや基準面の位置を検出することができる。
【００２２】
図３は、上記したマシニングセンタ１の制御ブロック図である。ＣＮＣ４０は、演算装置であるＣＰＵ４１と、システムプログラム等を記憶したＲＯＭ４２と、ＮＣプログラムや各種パラメータ等を記憶したＲＡＭ４３、キーボード等の入力装置４４と、ＣＲＴ等の出力装置４５と、インターフェイス４６，４７，４８を主たる構成要素としている。そして、Ｘ，Ｙ，Ｚ各軸への移動指令がそれぞれのディジタルサーボユニット５０，５１，５２に出力され、各ディジタルサーボユニット５０，５１，５２がＸ軸駆動モータ５３、Ｙ駆動モータ５４、Ｚ軸駆動モータ５５を駆動すると共に、各駆動モータ５３，５４，５５に接続されたエンコーダ５６，５７，５８によって検出される各軸の現在位置が帰還されてフィードバック制御されるようになっている。
【００２３】
なお、図３に示す制御ブロック図においては、上記したレーザ検出器２０からの検知信号およびタッチセンサ３０からの検知信号はインターフェイス４８を介してＣＮＣ４０に入力されるように構成されているが、シーケンスコントローラにおけるＩ／Ｏ信号としてＣＮＣ４０に入力されるようにしてもよい。
【００２４】
次に、図４から図１０に示すフローチャートおよび図１１から図１３に基づいて、上記した構成における計測補正方法について説明する。
図４および図５はメインプログラムであり、ＣＮＣ４０のＲＡＭ４３に記憶されている。
【００２５】
まず、Ｓ１００において、工作物位置補正サイクルを実行するか否かを判断する。この工作物位置補正サイクルは後述する基準ブロック２６の基準面（Ｂ位置）に対する工作物Ｗの基準面（Ｃ位置）の位置誤差Ｚdを補正するためのサイクルであり、この位置誤差Ｚdの要因としては、工作物Ｗの取り付け誤差、基準ブロック２６と工作物Ｗとの間の熱変位、駆動系の送り誤差等が考えられる。そして、この工作物位置補正サイクルを実行するか否かは、プログラマが加工プログラムを作成する際に予め設定しておくか、或いは、加工に先立って作業者が必要に応じて入力装置４４から指示する等により定められている。Ｓ１００の判断がＮＯの場合はＳ１０２に進み、ＹＥＳの場合はＳ１０１を経てＳ１０２に進む。Ｓ１０１では図６のサブプログラムで示す工作物位置補正サイクルが実行される。
【００２６】
Ｓ１０２では、ＡＴＣ１３により当該加工に用いる工具Ｔが工具マガジン１２から主軸８へ移送されて装着される。続いて、Ｓ１０３にて主軸８の回転が開始される。
次に、Ｓ１０４にて工具長補正サイクルを実行するか否かを判断する。この工具長補正サイクルは工具先端の位置誤差を補正するためのサイクルであり、この工具先端の位置誤差の要因としては、工具製造上の工具長のばらつき、工具摩耗、主軸８の熱変位、主軸８の遠心膨張による工具Ｔの引込み等が考えられる。そして、この工具長補正サイクルを実行するか否かも、先の工作物位置補正サイクルと同様に予め定められている。ただし、後述する面補償サイクルを実行する場合は工具長補正サイクルを実行するように設定しておく必要がある。Ｓ１０４の判断がＮＯの場合はＳ１０６に進み、ＹＥＳの場合はＳ１０５を経てＳ１０６に進む。Ｓ１０５では図７のサブプログラムで示す工具長補正サイクルが実行される。
【００２７】
Ｓ１０６では工具径補正・振れ検出サイクルを実行するか否かを判断する。工具径補正・振れ検出サイクルは工具径の理論値に対する誤差を補正するためのサイクルと、工具の装着ミスによる工具の振れを防止するためのサイクルである。このサイクルを実行するか否かも、工作物位置補正サイクルと同様に予め定められている。Ｓ１０６の判断がＮＯの場合はＳ１０８に進み、ＹＥＳの場合はＳ１０７を経てＳ１０８に進む。Ｓ１０７では図８および図９のサブプログラムで示す工具径補正・振れ検出サイクルが実行される。
【００２８】
次に、Ｓ１０８では上記工作物位置補正サイクル、工具長補正サイクル、工具径補正・振れ検出サイクルの各サイクルで演算される補正量で誤差を補正する。各サイクルのサブプログラムを参照して後述する工作物位置補正量Ｚd（第１誤差）、工具長補正量Ｚt（第２誤差）、工具径補正量Ｄdに基づいて補正が行われた後、Ｓ１０９に進む。
【００２９】
ここで、本実施の形態では工作物位置補正量ＺtについてはＺ軸方向の誤差についてのみ説明しているので、Ｓ１０８では工作物位置補正量Ｚdと工具長補正量Ｚtとの加算値で工具長補正機能によりＺ軸の指令値を補正し、工具径補正量Ｄaで工具径補正機能によりＸ軸およびＹ軸の指令値を補正する。工具長補正機能、工具径補正機能は一般的にマシニングセンタに備えられている機能であり、ＮＣプログラムで与えられる指令値に対して各補正量分だけオフセットして各軸を制御する機能である。
【００３０】
工作物位置補正量については、本実施の形態で説明するＺ軸方向の誤差のみでなくＸ軸およびＹ軸方向の誤差も補正可能であるので、この場合はＳ１０８における誤差補正の方法としては、工具長補正機能を用いる方法に換えて、ＮＣプログラムの指令値を直接補正することも可能であり、さらに、マシニングセンタ１の座標系（機械原点）をオフセットすることも可能である。
工具長補正量についても同様に、ＮＣプログラムの指令値を直接補正する方法やマシニングセンタ１の座標系（機械原点）をオフセットする方法も採用可能である。
【００３１】
Ｓ１０９では加工プログラムに従って工具Ｔによる工作物Ｗの加工が実行される。続くＳ１１０では、工作物Ｗの加工中に工具Ｔの使用時間の積算や主軸８の動力の監視等により工具Ｔが工具寿命に至ったかを判断する。Ｓ１１０の判断がＮＯの場合はＳ１１４に進み、ＹＥＳの場合はＳ１１１、Ｓ１１２あるいはＳ１１３を経てＳ１１４に進む。
【００３２】
Ｓ１１１では面補償サイクルを実行するか否かを判断する。面補償サイクルは、同一面の加工中に工具Ｔが寿命となり予備工具と交換する必要が生じたときに、工具Ｔの交換の前後の加工によって加工面に段差が生じることを防止するためのサイクルである。このサイクルを実行するか否かも、工作物位置補正サイクルと同様に予め定めされている。Ｓ１１１の判断がＮＯの場合は、Ｓ１１２にて単に寿命となった工具である先使用工具を予備工具として工具マガジン１２に貯蔵されている後使用工具に交換するだけでＳ１１４に進み、ＹＥＳの場合は、図１０のサブプログラムで示す面補償サイクルを実行してＳ１１４に進む。
【００３３】
Ｓ１１４では加工が完了したか否かを判断し、加工が完了されるまでＳ１０９からＳ１１４の処理を繰返し、加工が完了するとＳ１１５にて主軸８の回転を停止させ、続くＳ１１６で次工程の有無を判断する。Ｓ１１６の判断がＹＥＳの場合はＳ１０２に戻って上記の処理を繰返し、ＮＯの場合はプログラムエンドとなる。
【００３４】
次に、各サブプログラムの詳細について説明する。
図６は図４のＳ１０１でコールされる工作物位置補正サイクルを示すサブプログラムであり、Ｓ１２０にて、まず、工具マガジン１２に格納されているタッチセンサ３０をＡＴＣ１３により主軸８に装着する。次に、Ｓ１２１にて、所定の計測プログラムによりタッチセンサ３０が装着された主軸８を基準ブロック２６に向けてＺ軸方向に相対前進させる。Ｓ１２２にて接触子３１が基準ブロック２６の先端面（Ｂ位置）に接触したことを検出する信号がタッチセンサ３０から出力されたかを検出し、タッチセンサ３０からの信号が出力されるまで主軸８の前進が続けられる。
【００３５】
タッチセンサ３０から接触子３１が基準ブロック２６に接触したことを示すＯＮ信号が出力されると、すなわち、Ｓ１２２の判断がＹＥＳとなるとＳ１２３に進み、その時の主軸８の現在位置を記憶する。本実施の形態においては、Ｚ軸方向の工作物位置補正について説明しているので、この場合の現在位置はＺ軸の現在位置である。すなわち、エンコーダ５８により検出されるＺ軸駆動モータ５２の現在位置ＺpがＲＡＭ４３の所定の領域に記憶される。
【００３６】
次に、Ｓ１２４にて、所定の計測プログラムによりタッチセンサ３０が装着された主軸８を工作物Ｗの基準面（Ｃ位置）に向けてＺ軸方向に相対前進させる。なお、工作物Ｗの基準面とは、工作物Ｗの加工の基準となる面であり、工作物毎に予め定められている。Ｓ１２５にて接触子３１が工作物Ｗの基準面に接触したことを検出する信号がタッチセンサ３０から出力されたかを検出し、タッチセンサ３０からの信号が出力されるまで主軸８の前進が続けられる。
【００３７】
タッチセンサ３０から接触子３１が工作物Ｗの基準面に接触したことを示すＯＮ信号が出力されると、すなわち、Ｓ１２５の判断がＹＥＳとなるとＳ１２６に進み、その時の主軸８の現在位置を記憶する。上述したＳ１２３と同様にこの場合の現在位置はＺ軸の現在位置であり、エンコーダ５８により検出されるＺ軸駆動モータ５２の現在位置ＺwがＲＡＭ４３の所定の領域に記憶される。（図１１参照）
【００３８】
そして、Ｓ１２７にて主軸８に装着された接触子３１を取外し、Ｓ１２８で工作物位置補正量（第１誤差）を演算する。
工作物位置補正量ＺdはＺd＝Ｚowp−（Ｚw−Ｚp）で演算される。ここで、Ｚowpは基準ブロック２６の先端面（Ｂ位置）に対する工作物Ｗの基準面（Ｃ位置）の理論位置として、プログラミング時に予め定められている値である。この理論位置Ｚowpから基準ブロック２６の先端面の実際の位置Ｚpに対する工作物Ｗの基準面の実際の位置Ｚwを減算することにより、工作物位置補正量Ｚdを得ることができる。
【００３９】
図１１は上述の工作物位置補正サイクルの動作を示しており、実線で記した主軸８およびタッチセンサ３０は、上記Ｓ１２１で主軸８を前進させ、Ｓ１２２で接触子３１の基準ブロック２６への接触が検出された状態であり、破線で記した主軸８およびタッチセンサ３０は、上記Ｓ１２４で主軸８を前進させ、Ｓ１２５で接触子３１の工作物Ｗの基準面への接触が検出された状態である。なお、図１１において、１４はパレット、１５は工作物Ｗをパレット１４に固定する治具である。
【００４０】
図７は図４のＳ１０５でコールされる工具長補正サイクルを示すサブプログラムであり、まず、Ｓ１３０にて、予め定めされた計測プログラムに従って、工具Ｔが装着された主軸８（Ｓ１０２にて工具が装着されている）をレーザ検出器２０のレーザ光Ｌに向けてＺ軸方向に相対移動させる。Ｓ１３１にて工具Ｔの先端がレーザ光Ｌを遮ったことを検出するオン信号がレーザ検出器２０から出力されたかを検出し、レーザ検出器２０からのオン信号が出力されるまで主軸８の前進が続けられる。
【００４１】
レーザ検出器２０から工具Ｔの先端がレーザ光Ｌを遮ったことを示すオン信号が出力されると、すなわち、Ｓ１３１の判断がＹＥＳとなるとＳ１３２に進み、その時の主軸８の現在位置を記憶する。上述したＳ１２３と同様にこの場合の現在位置はＺ軸の現在位置であり、エンコーダ５８により検出されるＺ軸駆動モータ５２の現在位置ＺlがＲＡＭ４３の所定の領域に記憶される。
【００４２】
そして、Ｓ１３３で工具長補正量（第２誤差）を演算する。工具長補正量ＺtはＺt＝Ｚol−Ｚlで演算される。ここで、Ｚolは工具Ｔ先端がレーザ光Ｌを遮るとき（Ａ位置）のＺ軸の理論位置でる。この理論位置Ｚolから実際に工具Ｔがレーザ光を遮った時のＺ軸の現在位置Ｚlを減算することにより、工具長補正量Ｚtを得ることができる。すなわち、ここでは工具長補正値と称しているが、実際にはＡ位置における工具Ｔ先端の位置に対する補正量であり、工具製造上の工具長のばらつきや工具摩耗のみならず、主軸８の熱変位や主軸８の遠心膨張による工具Ｔの引込み等の影響をも含んだ誤差を補正するものである。
【００４３】
図１２は上述の工具長補正サイクルの動作を示しており、上記Ｓ１３０により主軸８を前進させ、Ｓ１３１で工具Ｔの先端がレーザ光Ｌを遮ったことが検出された状態である。
【００４４】
図８および図９は、図４のＳ１０７でコールされる工具径補正・振れ検出サイクルを示すサブプログラムであり、まず、Ｓ１４０にて、後述する工具Ｔの再装着回数を示すカウンタＮを０にする。次に、Ｓ１４１で、工具Ｔが装着された主軸８（Ｓ１０２にて工具が装着されている）をレーザ検出器２０のレーザ光Ｌに向けて移動させる。ここで、この場合の移動はＹ軸方向への移動であり、Ｓ１４１では上方からレーザ光に向けて主軸８を移動させる。Ｓ１４２にて工具Ｔの先端がレーザ光Ｌを遮ったことを検出するオン信号がレーザ検出器２０から出力されたかを検出し、レーザ検出器２０からのオン信号が出力されるまで主軸８の移動が続けられる。
【００４５】
レーザ検出器２０から工具Ｔの先端がレーザ光Ｌを遮ったことを示すオン信号が出力されると、すなわち、Ｓ１４２の判断がＹＥＳとなるとＳ１４３に進み、その時の主軸８の現在位置を記憶する。この場合の現在位置はＹ軸の現在位置であり、エンコーダ５７により検出されるＹ軸駆動モータ５１の現在位置ＤuがＲＡＭ４３の所定の領域に記憶される。
【００４６】
Ｓ１４４からＳ１４６では、上記Ｓ１４１からＳ１４３と同様な処理が行われるが、Ｓ１４４での主軸８の移動方向はレーザ光に向けて下方からであり、Ｓ１４６でＹ軸モータ５１の現在位置ＤdがＲＡＭ４３の所定の領域に記憶される。そして、Ｓ１４７にて、工具径補正量を演算する。工具径補正量ＤaはＤa＝Ｄo−（Ｄu−Ｄd−Ｄl）で演算される。ここで、Ｄoは理論上の工具径として予め定められている値であり、Ｄlはレーザ光の光径である。この理論上の工具径Ｄoから検出された実際の工具径（Ｄu−Ｄd−Ｄl）を減算することにより、工具径補正量Ｄaを得ることができる。
【００４７】
図１３は上述の工作物径補正サイクルの動作を示しており、実線で記した主軸８および工具Ｔは、上記Ｓ１４１により主軸８を移動させ、Ｓ１４２で工具Ｔがレーザ光Ｌを遮ったことが検出された状態であり、破線で記した主軸８および工具Ｔは、上記Ｓ１４４により主軸８を移動させ、Ｓ１４５で工具Ｔがレーザ光Ｌを遮ったことが検出された状態である。
【００４８】
図９に移ってＳ１４８では、Ｓ１４７にて演算された工具径補正量Ｄaが予め設定された許容値以下であるかを判断する。この許容値は工具径のばらつきを考慮して決定されており、許容値以下であれば工具径のばらつきと判断し、許容値以上であれば、この工具径補正値Ｄaは工具径のばらつきのみならず工具Ｔの振れを含んでいると判断するものである。Ｓ１４８の判断がＹＥＳの場合はサブプログラムを終了し、ＮＯの場合はＳ１４９に進んで、工具Ｔの再装着を行う。すなわち。工具ＴをＡＴＣ１３にて一旦取外し、再び装着し直すことにより、工具の装着ミスによる工具の振れを解消するものである。
【００４９】
Ｓ１５０ではＳ１４９における工具再装着の回数を計測するカウンタを加算し、Ｓ１５１ではこのカウンタ値Ｎが予め設定された回数Ｎo以下であるかが判断される。予め定められた回数以下である場合はＳ１４１に戻って処理を繰返し、予め定められた回数を超えてもなお工具径補正量Ｄaが許容値内にならない場合は、工具Ｔあるいは主軸８の工具クランプ機構に異常があると判断し、Ｓ１５２に進んで警報を出力する等の異常処置を行う。なお、工具マガジン１２に予備工具が格納されている場合は、Ｓ１５２の異常処置に代えて予備工具との交換を行うことにより処理を継続することが可能である。
【００５０】
図１０は、図５のＳ１１３でコールされる面補償サイクルを示すサブプログラムであり、図５のＳ１１０で工具寿命と判断された工具Ｔ、すなわち先使用工具を主軸８に装着したままの状態で図７のＳ１３０と同様に、主軸８をレーザ光Ｌに向けてＺ軸方向に相対移動させ、Ｓ１６１にて工具Ｔの先端がレーザ光Ｌを遮ったことを検出するオン信号がレーザ検出器２０から出力されたかを検出し、レーザ検出器２０からのオン信号が出力されるまで主軸８の前進が続けられる。
【００５１】
レーザ検出器２０から工具Ｔの先端がレーザ光Ｌを遮ったことを示すオン信号が出力されると、すなわち、Ｓ１６１の判断がＹＥＳとなるとＳ１６２に進み、その時の主軸８の現在位置を記憶する。上述したＳ１２３と同様にこの場合の現在位置はＺ軸の現在位置であり、エンコーダ５８により検出されるＺ軸駆動モータ５２の現在位置Ｚl’がＲＡＭ４３の所定の領域に記憶される。
【００５２】
次にＳ１６３では工具摩耗量ＺmをＺm＝Ｚl−Ｚl’にて演算する。すなわち、この先使用工具の加工前である図７のＳ１３２で検出した工具先端の位置Ｚlと、加工後であるＳ１６２で検出した工具先端の位置Ｚl’とから工具摩耗量Ｚmが求められる。
続いてＳ１６４で主軸８の回転を停止し、Ｓ１６５で工具寿命となった先使用具とこれに代わる予備工具として工具マガジン１２に貯蔵されている後使用工具とをＡＴＣ１３にて交換し、Ｓ１６６で主軸８の回転を起動する。
【００５３】
その後、Ｓ１６７からＳ１６９では上記Ｓ１６０からＳ１６２と同様にして後使用工具の工具先端の位置を計測し、Ｓ１６９で後使用工具の先端がレーザ光Ｌを遮ったときのＺ軸の現在位置Ｚl’’がＲＡＭ４３の所定の領域に記憶される。
【００５４】
そして、Ｓ１７０で後使用工具に対する工具長補正量Ｚt’’を演算する。工具長補正量Ｚt’’はＺt’’＝Ｚol’’−Ｚl’’−Ｚmで演算される。ここで、Ｚol’’は上述のＺolと同様に後使用工具の先端がレーザ光Ｌを遮るとき（Ａ位置）のＺ軸の理論位置であり、この理論位置Ｚol’’から実際に工具Ｔがレーザ光を遮った時のＺ軸の位置Ｚl’’を減算し、さらに、Ｓ１６３で演算された工具摩耗量Ｚmを減算することによって工具長補正量Ｚt’’が求められる。
詳述すると、上記の図７における工具長補正サイクルにて演算された工具長補正量の考え方に従えば、ここでの工具長補正量Ｚt’’はＺt’’＝Ｚol’’−Ｚl’’で良い。しかし、先使用工具は工具長補正量を求めるための計測を行ったときに対して摩耗しているので、先行工具の交換直前に加工していた面は理論値に対して工具摩耗量だけ削り残しを生じている。したがって、この値で工具長補正を行って加工を継続すると、先使用工具にて加工された面と後使用工具で加工された面との間に段差を生じるのである。よって、この段差を解消すべく、後使用工具の工具長補正量に先使用工具の工具摩耗量を加味させるのである。
【００５５】
なお、図１０では説明上Ｓ１６３にて工具摩耗量Ｚmを演算しているが、Ｓ１７０でのＺ軸補正量の演算では、Ｚt’’＝Ｚol’’−Ｚl＋Ｚl’−Ｚl’’にて演算することができる。すなわち、先使用工具の加工前の計測時（Ｓ１３０からＳ１３２）のＺ軸の現在位置、加工後の計測時（Ｓ１６０からＳ１６２）のＺ軸の現在位置および後使用工具の計測時（Ｓ１６７からＳ１６９）のＺ軸の現在位置に基づいて演算することができるので、摩耗量Ｚmは必ずしも演算する必要はない。
Ｚ軸補正量ついての上記の演算式では、先使用工具の加工後誤差及び後使用工具の加工前誤差を直接算出していないが、先使用工具の加工前誤差及び加工後誤差と後使用工具の加工前誤差に基づいてＺ軸補正量を算出しても上記の演算式と同じ結果となり、これら２つの演算方法は実質的に同一である。
【００５６】
そして、このようにして得られた工具長補正量Ｚt’’に基づいて、Ｓ１７１にて、先の図４のＳ１０８での誤差補正と同様にして工具長補正量Ｚt’’により補正が行われる。すなわち、Ｓ１０８で工作物位置補正量Ｚdと工具長補正量Ｚtとの加算値でＺ軸の指令値を補正していたものを、Ｓ１７１で工作物位置補正量Ｚdと工具長補正量Ｚt’’との加算値で補正するように更新する。
【００５７】
なお。上述の実施の形態において、基準ブロック２６は必ずしもレーザ検出器２０に固定されている必要はない。すなわち、図１４に示すように、ワークテーブル１１に固定することもできる。この場合、図４のＳ１０８で工作物位置補正量Ｚdと工具長補正量Ｚtとの加算値でＺ軸の指令値を補正したのに代えて、工作物位置補正量Ｚd、工具長補正量Ｚt、Ａ位置とＢ位置との間の距離Ｚabの加算値でＺ軸の指令値を補正する必要がある。ただし、基準ブロック２６とレーザ検出器２０との間での熱変位を排除するために、あるいは熱変位が生じても加工精度に悪影響を及ぼさない程度の少量となるようにレーザ検出器２０の近傍のワークテーブル１１に設けることが好ましい。
【００５８】
また、レーザ検出器２０はワークテーブル１１に設けられていさえすれば、その位置は特に限定されないが、工作物Ｗの加工の妨げにならない位置に配置する必要があり、図１５に示すように、ブラケット２４をワークテーブル１１の側面に固定し、旋回シリンダ２５により計測時と加工時とでレーザ検出器２０をリトラクト可能に取り付けることができる。
【００５９】
さらに、タッチセンサ３０は主軸８に装着する形式のもので説明したが、主軸８の工具装着穴の近傍に固定され、タッチセンサの使用時と加工時とのでリトラクトする形式のタッチセンサを用いることも可能である。工作機械としても、上述の実施の形態におけるマシニングセンタ１のみならず、他の構成のマシニングセンタ、例えば、主軸８側がＺ軸方向に移動する形式等、種々の工作機械に適用できる。なお、主軸８側がＺ軸方向に移動するクイルタイプの工作機械の場合、このクイルが主軸サポートに相当し、また上記説明における現在位置は請求項における実際位置に対応する。
【００６０】
【発明の効果】
以上詳述したように、請求項１の発明によれば、第１の検出器を使用し、先使用工具による加工動作の前後においてこの先使用工具の先端位置に関する理論位置（Ｚol）と実際位置（Ｚl、Ｚl’）との差である加工前誤差（Ｚol−Ｚl）及び加工後誤差（Ｚol−Ｚl’）をそれぞれ求め、先使用工具に代えて後使用工具を主軸に装着した後に後使用工具の先端位置に関する理論位置（Ｚol’’）と実際位置（Ｚl’’）との差である加工前誤差（Ｚol’’−Ｚl’’）を求め、後使用工具の先端を前使用工具による加工最終部に位置決めする際の目標位置を後使用工具の加工前誤差に先使用工具の加工前誤差と加工後誤差との差を加えた補正量（＝（Ｚol’’−Ｚl’’）＋（（Ｚol−Ｚl）−（Ｚol−Ｚl’））＝Ｚol’’−Ｚl＋Ｚl’−Ｚl’’）で補正することにより後使用工具の刃先位置を先使用工具の摩耗した刃先により切削された工作物の加工最終部に整合させるようにしたので、先使用工具による加工途中から後使用工具を使用して加工動作を継続する場合でも両工具による加工部の接続部に段が生じることを排除できる効果が奏せられる。
【００６１】
請求項２の発明によれば、接触式の第２検出器を使用し、先使用工具による加工動作に先立って、接触子を有する接触式の第２検出器を前記主軸と共に前記制御軸に沿って前記ワークテーブルに対し相対的に移動し、第１検出器が工具刃先を検出してオンとなる基準のＡ位置と同一又はこのＡ位置と所定の関係位置にあるＢ位置から観た工作物位置をについての理論位置と実際位置との差である工作物位置誤差を求めて、後使用工具の先端を前使用工具による加工最終部に位置決めする際の目標位置をこの工作物位置誤差によりさらに補正するようにしたので、ワークテーブルに対する工作物の取り付け誤差が起因する両工具の刃先位置の不整合をさらに排除し、後使用工具の刃先を先使用工具の摩耗した刃先により切削された工作物の加工最終部に一層正確に整合することができる。
【００６２】
請求項３の発明によれば、請求項２の発明において工作物位置についての理論位置と実際位置との差である前記工作物位置誤差を求める際に第１検出器が工具刃先を検出してオンとなる基準のＡ位置と同一又はこのＡ位置と所定の関係位置にあるＢ位置から観た誤差として求める代わりに、前記Ａ位置から観た工作物位置の予め設定された理論位置と実際位置との誤差として工作物位置誤差を求めるようにしたので、請求項２の発明が奏する効果に加えて、請求項２の発明で設定を必要としていた前記Ｂ位置を不要にでき、このＢ位置を設定する際に巻き込まれる誤差を排除できるといった付加的な効果が奏せられる。
【００６３】
請求項４の発明によれば、請求項１乃至請求項３の各発明において、第１検出器を非接触式のものとし、主軸と共に工具を回転させた状態で工具の先端を第１検出器がオンとなる位置に位置決めすることにより、工具寸法で誤差を求めるようにしたので、この工具寸法誤差は加工動作中の工具の工具先端の振れを含む実効寸法に基づいた誤差として検出でき、この工具の実効寸法に基づいた送り量の補正を行って工作物の加工精度を一層向上できる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係わるマシニングセンタの全体図である。
【図２】本発明の実施の形態に係わるレーザ検出器の平面図である。
【図３】本発明の実施の形態に係わる数値制御装置のブロック図である。
【図４】本発明の実施の形態に係わるフローチャートの一部である。
【図５】本発明の実施の形態に係わるフローチャートの一部である。
【図６】図４および図５のフローチャートにおける工作物位置補正サイクルのサブプログラムのフローチャートである。
【図７】図４および図５のフローチャートにおける工具長補正サイクルのサブプログラムのフローチャートである。
【図８】図４および図５のフローチャートにおける工具径補正・振れ検出サイクルのサブプログラムのフローチャートの一部である。
【図９】図４および図５のフローチャートにおける工具径補正・振れ検出サイクルのサブプログラムのフローチャートの一部である。
【図１０】図４および図５のフローチャートにおける面補償サイクルのサブプログラムのフローチャートである。
【図１１】図６のフローチャートにおける工作物位置補正サイクルの動作を示す平面図である。
【図１２】図７のフローチャートにおける工具長補正サイクルの動作を示す平面図である。
【図１３】図８および図９のフローチャートにおける工具径補正・振れ検出サイクルの動作を示す図である。
【図１４】基準ブロックの他の取り付け位置を示す平面図である。
【図１５】レーザ検出器の取り付け状態を示す側面図である。
【符号の説明】
Ｗ・・・工作物、  １１・・・ワークテーブル、  Ｔ・・・工具、  ８・・・主軸、  ９・・・主軸頭（主軸サポート）、  ４０・・・数値制御装置、  ２０・・・レーザ検出器（第１検出器）、  ３１・・・接触子、  ・・・タッチセンサ（第２検出器）
【図１】
0003839197.tif 000002
【図２】
0003839197.tif 000003
【図３】
0003839197.tif 000004
【図４】
0003839197.tif 000005
【図５】
0003839197.tif 000006
【図６】
0003839197.tif 000007
【図７】
0003839197.tif 000008
【図８】
0003839197.tif 000009
【図９】
0003839197.tif 000010
【図１０】
0003839197.tif 000011
【図１１】
0003839197.tif 000012
【図１２】
0003839197.tif 000013
【図１３】
0003839197.tif 000014
【図１４】
0003839197.tif 000015
【図１５】
0003839197.tif 000016