(57)【要約】【課題】  ツールの予期せぬ衝突を未然に防ぐことが可能なマシニングセンターを提供する。【解決手段】  本発明のマシニングセンター１０は、ＮＣプログラムＰ１で指定したツール１４を、ツールチェンジャー２１が主軸１３に装着する前に、そのツール１４の軸長を測定して、プログラムに設定されたツール１４の軸長と実際に測定した軸長とが一致したか否かを判別する。これにより、マガジン２０に間違ったツール１４が収納されていたり、ＮＣプログラムＰ１におけるツール１４の軸長の設定が間違っていた等の作業ミスを見つけることができ、問題のツール１４が加工に使われる前に対処することができる。即ち、作業ミスに起因したツール１４の予期せぬ衝突を未然に防ぐことができる。【選択図】  図２
2005040929.tif 000002
【特許請求の範囲】
【請求項１】
マガジンに収納された複数のツールを、ツール交換手段が、プログラムの進行に従って指定された順に主軸に交換して装着し、それら各ツールによって順次ワークを加工するマシニングセンターにおいて、
前記プログラムで指定したツールを、前記ツール交換手段が前記主軸に装着する前に、そのツールの軸長を測定する軸長測定手段と、
前記軸長測定手段によって測定した前記ツールの実際の軸長と、前記プログラムに設定された前記ツールの軸長とが一致したか否かを判別するツール正誤判別手段とを備えたことを特徴とするマシニングセンター。
【請求項２】
前記軸長測定手段は、前記主軸に装着されたツールにより前記ワークを加工している間に、前記プログラムが次に指定するツールの軸長を測定するように構成したことを特徴とする請求項１に記載のマシニングセンター。
【請求項３】
前記軸長測定手段は、測定対象となるツールの軸方向と平行に直動する直動出力部を備えたアクチュエータと、
前記直動出力部に取り付けられて、前記アクチュエータの駆動により、前記ツールの延長線上に沿って前記ツールの先端に接近し、前記ツールと干渉したときに検出信号を出力するセンサと、
前記センサの検出信号に基づき、前記ツールの先端と干渉した位置から前記ツールの軸長を演算する軸長演算手段とを備えたことを特徴とする請求項１又は２に記載のマシニングセンター。
【請求項４】
前記軸長測定手段に備えた前記センサは、前記ツールに接触することで検出信号を出力するタッチセンサであることを特徴とする請求項３に記載のマシニングセンター。
【請求項５】
前記軸長測定手段は、測定対象となるツールの軸方向と平行に直動する直動出力部を備えたアクチュエータと、
前記アクチュエータの駆動により、前記直動出力部を前記ツールの延長線上に沿って前記ツールの先端に接近させ、前記アクチュエータの駆動電流の変化に基づいて、前記直動出力部が前記ツールに突き当たったこと及び突き当たった位置を検出する位置検出手段と、
前記位置検出手段の検出位置に基づいて前記ツールの軸長を演算する軸長演算手段とを備えたことを特徴とする請求項１又は２に記載のマシニングセンター。
【請求項６】
前記軸長測定手段は、前記マガジンに収納された状態で前記ツールの軸長を測定するように構成したことを特徴とする請求項１乃至５の何れかに記載のマシニングセンター。
【請求項７】
前記マガジンには、収納した前記ツールを移動するツール移動手段が備えられると共に、次に前記主軸に装着される前記ツールを待機させるための待機位置が設けられ、
前記軸長測定手段は、前記待機位置において、前記ツールの軸長を測定するように構成したことを特徴とする請求項１乃至６の何れかに記載のマシニングセンター。
【請求項８】
前記ツールの実際の軸長と、前記プログラムに設定された前記ツールの軸長とが一致しなかったと前記ツール正誤判別手段が判別した場合に、停止することを特徴とする請求項１乃至７の何れかに記載のマシニングセンター。
【請求項９】
前記ツールの実際の軸長と、前記プログラムに設定された前記ツールの軸長とが一致しなかったと前記ツール正誤判別手段が判別した場合に、アラームを発生させることを特徴とする請求項１乃至８の何れかに記載のマシニングセンター。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マガジンに収納された複数のツールを、ツール交換手段が、プログラムの進行に従って指定された順に主軸に交換して装着し、それら各ツールによって順次ワークを加工するマシニングセンターに関する。
【背景技術】
【０００２】
従来より、マシニングセンターのトラブルとして主軸衝突がある。その原因としては、マシニングセンターのプログラムが要求するツールと異なるツールを作業者が誤ってマガジンに収納したり、プログラムにおいてツールの軸長を誤って入力（例えば、１００ｍｍを１０ｍｍと入力）してしまう作業ミスが挙げられる。これに対し、主軸にツールを装着した後で、マシニングセンター内に備えた測定器装置でツールの軸長を測定してツールの誤装着等を検出する構成のものが知られている（例えば、特許文献１参照）。
【特許文献１】特開平０９−１３１６４５号公報（段落［０００７］、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記した従来のマシニングセンターでは、主軸にツールを装着した状態で、ツールの軸長を測定するので、ツールの軸長を測定する作業中において、ツール及び主軸が他の部位に衝突する心配があった。また、ツールの軸長測定の間は、主軸による加工を行えないので、サイクルタイムが長くなるという問題点があった。
本発明は、上記事情に鑑みてなされたもので、ツールの予期せぬ衝突を未然に防ぐことが可能なマシニングセンターの提供を目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するためになされた請求項１の発明に係るマシニングセンターは、マガジンに収納された複数のツールを、ツール交換手段が、プログラムの進行に従って指定された順に主軸に交換して装着し、それら各ツールによって順次ワークを加工するマシニングセンターにおいて、プログラムで指定したツールを、ツール交換手段が主軸に装着する前に、そのツールの軸長を測定する軸長測定手段と、軸長測定手段によって測定したツールの実際の軸長と、プログラムに設定されたツールの軸長とが一致したか否かを判別するツール正誤判別手段とを備えたところに特徴を有する。
【０００５】
請求項２の発明は、請求項１に記載のマシニングセンターにおいて、軸長測定手段は、主軸に装着されたツールによりワークを加工している間に、プログラムが次に指定するツールの軸長を測定するように構成したところに特徴を有する。
【０００６】
請求項３の発明は、請求項１又は２に記載のマシニングセンターにおいて、軸長測定手段は、測定対象となるツールの軸方向と平行に直動する直動出力部を備えたアクチュエータと、直動出力部に取り付けられて、アクチュエータの駆動により、ツールの延長線上に沿ってツールの先端に接近し、ツールと干渉したときに検出信号を出力するセンサと、センサの検出信号に基づき、ツールの先端と干渉した位置からツールの軸長を演算する軸長演算手段とを備えたところに特徴を有する。
【０００７】
請求項４の発明は、請求項３に記載のマシニングセンターにおいて、軸長測定手段に備えたセンサは、ツールに接触することで検出信号を出力するタッチセンサであるところに特徴を有する。
【０００８】
請求項５の発明は、請求項１又は２に記載のマシニングセンターにおいて、軸長測定手段は、測定対象となるツールの軸方向と平行に直動する直動出力部を備えたアクチュエータと、アクチュエータの駆動により、直動出力部をツールの延長線上に沿ってツールの先端に接近させ、アクチュエータの駆動電流の変化に基づいて、直動出力部がツールに突き当たったこと及び突き当たった位置を検出する位置検出手段と、位置検出手段の検出位置に基づいてツールの軸長を演算する軸長演算手段とを備えたところに特徴を有する。
【０００９】
請求項６の発明は、請求項１乃至５の何れかに記載のマシニングセンターにおいて、軸長測定手段は、マガジンに収納された状態でツールの軸長を測定するように構成したところに特徴を有する。
【００１０】
請求項７の発明は、請求項１乃至６の何れかに記載のマシニングセンターにおいて、マガジンには、収納したツールを移動するツール移動手段が備えられると共に、次に主軸に装着されるツールを待機させるための待機位置が設けられ、軸長測定手段は、待機位置において、ツールの軸長を測定するように構成したところに特徴を有する。
【００１１】
請求項８の発明は、請求項１乃至７の何れかに記載のマシニングセンターにおいて、ツールの実際の軸長と、プログラムに設定されたツールの軸長とが一致しなかったとツール正誤判別手段が判別した場合に、停止するところに特徴を有する。
【００１２】
請求項９の発明は、請求項１乃至８の何れかに記載のマシニングセンターにおいて、ツールの実際の軸長と、プログラムに設定されたツールの軸長とが一致しなかったとツール正誤判別手段が判別した場合に、アラームを発生させるところに特徴を有する。
【発明の効果】
【００１３】
［請求項１の発明］
請求項１のマシニングセンターは、マガジンに収納された複数のツールがプログラムの進行に従って指定された順に主軸に交換して装着され、それら各ツールによってワークに加工が施される。そして、本発明では、プログラムで指定したツールを、ツール交換手段が主軸に装着する前に、そのツールの軸長を測定して、プログラムに設定されたツールの軸長と実際に測定した軸長とが一致したか否かを判別する。これにより、マガジンに間違ったツールが収納されていたり、プログラムにおけるツールの軸長の設定が間違っていた等の作業ミスを見つけることができ、問題のツールが加工に使われる前に対処することができる。即ち、作業ミスに起因したツールの予期せぬ衝突を未然に防ぐことができる。
【００１４】
［請求項２の発明］
請求項２のマシニングセンターでは、軸長測定手段は、主軸に装着されたツールによりワークを加工している間を利用して、プログラムが次に指定するツールの軸長を測定するので、軸長測定用の実行時間と加工用の実行時間とを別々に設けた場合に比べて、マシニングセンターのサイクルタイムを短くすることができる。
【００１５】
［請求項３の発明］
請求項３のマシニングセンターでは、アクチュエータを駆動することにより直動出力部に取り付けられたセンサがツールの先端に向けて移動し、やがてツールの先端と干渉する。そして、このときセンサが出力した検出信号に基づき、ツールの先端の位置を検出し、その位置に基づいてツールの軸長を演算することができる。
【００１６】
［請求項４の発明］
請求項４のマシニングセンターでは、軸長測定手段に備えたセンサを、タッチセンサとしたので、そのタッチセンサをツールの先端に突き当てて確実にツールの軸長を測定することができる。なお、タッチセンタに代えて、例えば、対象物に所定距離以上接近したときに検出信号を出力する非接触式のセンサ（所謂、近接スイッチ等）を備えて、軸長測定手段を構成してもよい。
【００１７】
［請求項５の発明］
請求項５のマシニングセンターでは、アクチュエータを駆動することにより、直動出力部がツールの先端に向けて移動し、やがてツールの先端に突き当たる。すると、アクチュエータの駆動電流が変化するので、この駆動電流の変化に基づいて、ツールの先端の位置を検出し、その位置に基づいてツールの軸長を演算することができる。
【００１８】
［請求項６の発明］
請求項６のマシニングセンターでは、軸長測定手段は、マガジンに収納された状態でツールの軸長を測定するので、主軸の動作の邪魔をせずに軸長測定を行うことができる。
【００１９】
［請求項７の発明］
請求項７のマシニングセンターでは、マガジンに設定された待機位置において、次に主軸に装着されるツールの軸長が測定されるので、軸長測定用にツールを別の位置に配置するものに比べて、効率良く軸長測定を行うことができる。
【００２０】
［請求項８の発明］
請求項８のマシニングセンターは、ツールの実際の軸長と、プログラムに設定されたツールの軸長とが一致しなかった場合に停止して、作業ミスの発生を知らしめることができる。
【００２１】
［請求項９の発明］
請求項９のマシニングセンターは、ツールの実際の軸長と、プログラムに設定されたツールの軸長とが一致しなかった場合に、アラームを発生して作業者に報知するので、迅速な対応が可能になる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の一実施形態を図１〜図５に基づいて説明する。
図１に示した本実施形態のマシニングセンター１０には、ベッド１１の上面にコラム１２とワーク治具１６とが対向して備えられている。ワーク治具１６には、コラム１２との対向面に、種々のワークＷが固定可能となっている。コラム１２には、水平方向を向いた回転軸を中心にして回転駆動可能な主軸１３が設けられ、この主軸１３の先端に、種々のツール１４が着脱される。また、コラム１２には、主軸１３を上下方向（Ｙ軸方向）に直動させるためのＹ軸駆動部（図示せず）が備えられている。さらに、ベッド１１には、主軸１３の回転軸と平行な方向（Ｚ軸方向）にコラム１２を直動するＺ軸駆動部（図示せず）と、ワーク治具１６を、コラム１２との対向方向と直行する水平方向（Ｘ軸方向）に直動駆動するＸ軸駆動部（図示せず）とが備えられている。Ｘ軸，Ｙ軸，Ｚ軸の各駆動部は、駆動源としてサーボモータを備え、本体コントローラ４０からの制御信号に応じて駆動される。これにより主軸１３とワーク治具１６とが逐次位置決め制御されて、主軸１３に固定されたツール１４が、ワーク治具１６に固定されたワークＷに対して相対移動する。
【００２３】
マシニングセンター１０には、ツール１４を自動交換するために、図３に示したマガジン２０とツールチェンジャー２１とが備えられている。マガジン２０には、ツール番号が付された複数のツールボックス２２が備えられ、各ツールボックス２２に任意のツール１４が収納可能となっている。これら複数のツールボックス２２は、環状に並べられかつ連結されている。また、ツールボックス２２は、図示しないサーボモータによって巡回するように駆動され（本発明の「ツール移動手段」に相当する）、その巡回経路の１箇所（図３のＱ１の位置）には、本発明に係る「待機位置」が設定されている。そして、本体コントローラ４０が指示したツール番号のツールボックス２２が、待機位置に位置決めされる。
【００２４】
図３に示すように、ツールチェンジャー２１は、例えば、待機位置のツールボックス２２と主軸１３との中間部に配置され、プロペラ状のアーム２４を旋回可能に備えている。また、そのアーム２４の両端には１対の把持部２４Ａ，２４Ａが点対称に設けられており、アーム２４を旋回させて、待機位置のツール１４と主軸１３のツール１４とを両把持部２４Ａ，２４Ａで把持する。その状態でアーム２４を軸方向に前進させて、ツールボックス２２と主軸１３とからツール１４，１４を離脱し、アーム２４を１８０度旋回させてから、アーム２４を軸方向に後退させることで、待機位置のツール１４と主軸１３のツール１４とを交換することができる。
【００２５】
さて、マガジン２０には、待機位置のツール１４の軸長を図るための軸長測定装置５０（本発明の「軸長測定手段」、「位置検出手段」に相当する）が設けられている。軸長測定装置５０は、ボールネジ機構５２にモータ５１の出力軸を連結してなるアクチュエータ５０Ａを備え、モータ５１を駆動し、そのボールネジ機構５２に備えた直動出力部５３を、待機位置に配されたツール１４の軸方向に直動させて、そのツール１４の先端に接離させる構造になっている。また、モータ５１は、測定器コントローラ５４（本発明の「軸長演算手段」に相当する）から流される駆動電流によって駆動され、測定器コントローラ５４では、その駆動電流が所定の基準値を超えて大きくなったことをもって、直動出力部５３がツール１４の先端に突き当たったことを検出する。さらに、モータ５１の出力軸には、例えば、エンコーダが備えられており、このエンコーダの出力に基づいて直動出力部５３の現在位置を検出している。そして、測定器コントローラ５４は、直動出力部５３がツール１４に突き当たったときの位置からツール１４の軸長を演算する。
【００２６】
本体コントローラ４０と測定器コントローラ５４との間には、シーケンサ４１が備えられ、本体コントローラ４０の動作に連動して軸長測定装置５０が作動するようにシーケンス制御が行われている。そして、軸長測定装置５０は、本体コントローラ４０からの指令に応じてツール１４の軸長測定を行い、その測定結果が本体コントローラ４０に取り込まれる。
【００２７】
図４には、本体コントローラ４０により実行される加工用のＮＣプログラムＰ１の一部が示されている。また、下記表１にはＮＣプログラムＰ１を構成するコマンド群の一例が示されている。さらに、図５には、シーケンサ４１及び軸長測定装置５０の動作のフローチャートが示されている。
【００２８】
なお、図４及び図５において引き出し線と共に示した「Ｎ１」、「Ｎ１１０」、・・・等は、説明の便宜上のステップ番号である。
【００２９】
【表１】
2005040929.tif 000003
【００３０】
以下、マシニングセンター１０に必要な作業及びマシニングセンター１０の動作と併せて、上記ＮＣプログラムＰ１及びフローチャートに関して説明する。
【００３１】
マシニングセンター１０により所定のワークＷを加工するには、次の準備作業を行う。即ち、マガジン２０における所定のツールボックス２２に、ＮＣプログラムＰ１が必要とする種々のツール１４を収納しておく。具体的には、本実施形態のＮＣプログラムＰ１では、図４のステップＮ１１０，Ｎ１２０，Ｎ１３０で示すように、ツール１４を交換するためのコマンド「Ｔ＊＊」（表１参照）として、３つのコマンド「Ｔ０１」、「Ｔ０２」、「Ｔ０３」が存在し、これらにより、マガジン２０におけるツール番号０１番、０２番、０３番のツールボックス２２に収納されたツール１４が使用される。一方、ワーク毎に必要なツール１４の種類は異なる。そこで、ＮＣプログラムＰ１には、例えば、予めこれらツール番号０１番、０２番、０３番のツールボックス２２に収納するツール１４の種類をコメント文として記入しておくと共に、それらツール１４の軸長をデータ（パラメータ）として入力しておく。
【００３２】
例えば、本実施形態では、ツール番号０１番のツール１４をフライスカッタとし、ツール番号０２番のツール１４をエンドミルとし、ツール番号０３番のツール１４をドリルとするというコメント文をＮＣプログラムのソールファイルにコメント文として記載しておくと共に、ツール番号０１番のツール１４（フライスカッタ）の軸長は１５０［ｍｍ］、ツール番号０２番のツール１４（エンドミル）の軸長は２００［ｍｍ］、ツール番号０３番のツール１４（ドリル）の軸長は２５０［ｍｍ］とデータ入力しておく。
そして、マシニングセンター１０を使用する前に作業者が行う準備作業用には、ＮＣプログラムＰ１が必要とするツールの種類を、例えば表２に示したツール準備指示書にして特定しておく。
【００３３】
【表２】
2005040929.tif 000004
【００３４】
従って、本実施形態では、表２のツール準備指示書に従い、例えば、ツール番号０１番のツールボックス２２には、ツール１４としてフライスカッタを収納し、ツール番号０２番のツールボックス２２には、ツール１４としてエンドミルを収納し、ツール番号０３番のツールボックス２２には、ツール１４としてドリルを収納しておく。
【００３５】
上記作業（準備作業）が完了したら、マシニングセンター１０を起動し、図示しない運転開始スイッチをオンする。すると、本体コントローラ４０が図４に示したＮＣプログラムＰ１を実行すると共に、シーケンサ４１が本体コントローラ４０から起動信号を受けて所定のシーケンスプログラムを実行する。
【００３６】
すると、ＮＣプログラムＰ１のコマンド「Ｔ０１」が実行され、マガジン２０がツール番号０１番のツールボックス２２を待機位置（図３のＱ１）に移動する。この間、シーケンサ４１では、図５に示すように、本体コントローラ４０から「ツール呼出完了」の信号が送信されるまで待機する（Ｎ１におけるループ）。即ち、軸長測定装置５０における直動出力部５３がマガジン２０から最も離れた位置に配置された状態に保持される。
【００３７】
マガジン２０においてツール番号０１番のツールボックス２２が待機位置に到達すると、本体コントローラ４０は、シーケンサ４１に「ツール呼出完了」の信号を出力する。そして、本体コントローラ４０は、シーケンサ４１から後述するＯＫ信号又はＮＧ信号を受け取るまで待機状態になる。
【００３８】
シーケンサ４１では、本体コントローラ４０から「ツール呼出完了」を受け取ると（Ｎ１のＹＥＳ）、次いで、本体コントローラ４０からツール番号として「０１」番を取得し（Ｎ２）、さらに、ＮＣプログラムＰ１に設定されたツール番号０１番のツール１４（フライスカッタ）の軸長（例えば、１５０［ｍｍ］）を取得する（Ｎ３）。
【００３９】
次いで、シーケンサ４１から軸長測定装置５０の測定器コントローラ５４に起動命令が出力され、その測定器コントローラ５４が、アクチュエータ５０Ａを動作させる（Ｎ４）。そして、測定器コントローラ５４は、アクチュエータ５０Ａのモータ５１への駆動電流を監視し、軸長測定装置５０の直動出力部５３がツール１４の先端に突き当たったか否かをチェックする（Ｎ５）。そして、測定器コントローラ５４は、モータ５１への駆動電流が所定の基準値を超えたことをもって、直動出力部５３がツール１４の先端に突き当たったことを検出し（Ｎ５でＹＥＳ）、このときのモータ５１のエンコーダ値に基づいて直動出力部５３の現在位置を取得する（Ｎ６）。次いで、モータ５１は、この現在位置に基づいてツール１４の軸長を演算し（Ｎ７）、その演算結果（実測した軸長）と、本体コントローラ４０から取得したツール番号０１番のツール１４（フライスカッタ）の軸長（例えば、１５０［ｍｍ］）とが所定の範囲で一致したか否かを判別する（Ｎ８：このステップが本発明に係る「ツール正誤判別手段」に相当する）。
【００４０】
なお、このとき、実測した軸長とＮＣプログラムＰ１で設定された軸長とは、所定の範囲（例えば、２０［ｍｍ］）で一致していればよく、その所定の範囲は適宜変更してもよい。
【００４１】
ここで、表２のツール準備指示書に従えば、ツール番号０１番のツールボックス２２には軸長１５０［ｍｍ］のツール１４としてフライスカッタが収納されているはずであるが、作業ミスにより、軸長２５０［ｍｍ］のドリルが収納されていた場合、それらの軸長の差１００［ｍｍ］が前記した所定の範囲を超え、実測した軸長とＮＣプログラムＰ１で設定された軸長とが、所定の範囲で一致しなかったと判断される。
【００４２】
また、ツール番号０１番のツールボックス２２には表２のツール準備指示書通りに軸長１５０［ｍｍ］のフライスカッタが収納されていたが、ＮＣプログラムＰ１への入力ミスにより、ＮＣプログラムＰ１におけるフライスカッタの軸長データが本来の１５０［ｍｍ］と異なる例えば１５００［ｍｍ］と入力されていた場合、それらの軸長の差１３５０［ｍｍ］が前記した所定の範囲を超え、実測した軸長とＮＣプログラムＰ１で設定された軸長とが、所定の範囲で一致しなかったと判断される。
【００４３】
そして、実測した軸長とＮＣプログラムＰ１で設定された軸長とが所定の範囲で一致していた場合（以下、単に、「一致していた場合」という）には、測定器コントローラ５４が、シーケンサ４１を通して本体コントローラ４０にＯＫ信号を出力する一方、実測した軸長とＮＣプログラムＰ１で設定された軸長とが一致していなかった場合には、例えば、軸長測定装置５０に備えた図示しないスピーカからアラームを発生し（Ｎ９）、本体コントローラ４０にはＮＧ信号を出力する。
【００４４】
本体コントローラ４０では、測定器コントローラ５４からＮＧ信号を受けたときには、マシニングセンター１０を停止する。作業者は、マシニングセンター１０の停止状態とアラームとにより、マシニングセンター１０の不具合を認識して、迅速に対応することができる。
【００４５】
本体コントローラ４０は、測定器コントローラ５４からＯＫ信号を受けたときには、図４のＮ１１０に示したコマンド「Ｍ６」を実行する。すると、ツールチェンジャー２１が起動し、ツール番号０１番のツール１４（フライスカッタ）が主軸１３に装着される。
【００４６】
ここで、例えば、主軸１３へのツール番号０１番のツール１４（フライスカッタ）の装着が完了し、ツールチェンジャー２１がマガジン２０から離れると、本体コントローラ４０は、ＮＣプログラムＰ１を先読みし、次のツールに関するコマンド「Ｔ０２」に基づき、マガジン２０におけるツール番号０２番のツール１４（エンドミル）を待機位置に移動させる。
【００４７】
また、上記したマガジン２０の動作を並行して、以下の加工動作を行う。即ち、図４に示したコマンド「Ｓ２０００」により主軸１３の回転数を２０００［ｒｐｍ］に設定し、コマンド「Ｍ３」により主軸１３を正転回転させる。さらに、コマンド「Ｇ００Ｘ１２０Ｙ１６３Ｚ２１２」により、ワークＷをＸ軸方向に１２０［ｍｍ］移動し、ツール１４を、Ｙ軸方向に１６３［ｍｍ］、Ｚ軸方向に２１２［ｍｍ］移動する。
【００４８】
次いで、コマンド「Ｇ００Ｚ３」により、主軸１３のツール１４をＺ軸方向に３［ｍｍ］移動する。これにより、ツール１４としてのフライスカッタがワークＷに押し付けられる。この状態で、コマンド「Ｇ０１Ｘ１３５Ｙ１７０」により、ワークＷを、Ｘ軸方向に１３５［ｍｍ］移動し、主軸１３のツール１４を、Ｙ軸方向に１７０［ｍｍ］移動する。これにより、ワークＷに平面加工が施される。
【００４９】
上記したフライスカッタによる加工を行っている間に、マガジン２０においてツール番号０２番のツール１４（エンドミル）が待機位置に到達すると、前述の如く、図５のフローチャートに従い、本体コントローラ４０からシーケンサ４１に対して「ツール呼出完了」の信号が出力される。すると、シーケンサ４１は、本体コントローラ４０からツール番号として「０２」番を取得し（Ｎ２）、さらに、ＮＣプログラムＰ１に設定されたツール番号０２番のツール１４（エンドミル）の軸長（例えば、２０００［ｍｍ］）を取得する（Ｎ３）。そして、待機位置にあるツール１４の軸長を実測し（Ｎ４〜Ｎ７）、その実測した軸長とＮＣプログラムＰ１に設定されたツール１４（エンドミル）の軸長（例えば、２００［ｍｍ］）とが一致したか否かを判別する（Ｎ８）。
【００５０】
このように、本実施形態では、マシニングセンター１０の加工の実行時間を利用して、ツール１４の軸長測定及び正誤判別を行うので、軸長測定及び正誤判別用の実行時間と加工用の実行時間とを別々に設けた場合に比べて、マシニングセンター１０のサイクルタイムを短くすることができる。
【００５１】
ここで、マシニングセンター１０におけるツール番号０１番のツール１４（フライスカッタ）による加工時間が比較的長い場合には、その加工時間の途中で、シーケンサ４１から本体コントローラ４０にＯＫ信号又はＮＧ信号が出力される。
【００５２】
本体コントローラ４０がＯＫ信号を受けた場合には、フライスカッタによる切削工程が終了してから、先読みされていたコマンド「Ｔ０２」が実行され、このとき、ツール番号０２番のツール１４（エンドミル）が待機位置にあるので、即座にコマンド「Ｍ６」が実行されて、ツール１４としてのエンドミルが既に主軸１３に装着されているフライスカッタと自動交換される。そして、フライスカッタの場合と同様に、エンドミルによりワークＷに所定の加工が施される。また、この加工の実行時間を利用して、コマンド「Ｔ０３」を先読みし、マガジン２０におけるツール番号０３番のツールボックス２２に収納されたドリルを待機位置まで移動し、以下同様の動作を行う。
【００５３】
一方、本体コントローラ４０がＮＧ信号を受けた場合には、ツール番号０１番のツール１４（フライスカッタ）による加工が継続され、ツール番号０１番のツール１４（フライスカッタ）による加工が完全に完了してからマシニングセンター１０が停止される。このとき、ツール番号０１番のツール１４（フライスカッタ）による加工動作を継続している間にアラームが発生しているので、作業者はマシニングセンター１０に異常が起きたことを認識して迅速に対応することができる。
【００５４】
このように本実施形態のマシニングセンター１０は、ＮＣプログラムＰ１で指定したツール１４を、ツールチェンジャー２１が主軸１３に装着する前に、そのツール１４の軸長を測定して、プログラムに設定されたツール１４の軸長と実際に測定した軸長とが一致したか否かを判別する。これにより、マガジン２０に間違ったツール１４が収納されていたり、ＮＣプログラムＰ１におけるツール１４の軸長の設定が間違っていた等の作業ミスを見つけることができ、問題のツール１４が加工に使われる前に対処することができる。即ち、作業ミスに起因したツール１４の予期せぬ衝突を未然に防ぐことができる。また、本実施形態のマシニングセンター１０では、軸長測定装置５０は、マガジン２０に収納された状態でツール１４の軸長を測定するので、主軸１３の動作の邪魔をせずに軸長測定を行うことができる。さらに、マガジン２０に設定された待機位置において、次に主軸１３に装着されるツール１４の軸長が測定されるので、軸長測定用にツール１４を別の位置に配置するものに比べて、効率良く軸長測定を行うことができる。
【００５５】
［他の実施形態］
本発明は、前記実施形態に限定されるものではなく、例えば、以下に説明するような実施形態も本発明の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。
【００５６】
（１）前記実施形態の軸長測定装置５０では、モータ５１の駆動電流の変化に基づいて、アクチュエータ５０Ａの直動出力部５３がツール１４の先端に突き当たったことを検出していたが、直動出力部５３に例えば、タッチセンサを設け、そのタッチセンサがツール１４に突き当てるようにしてもよい。
【００５７】
（２）また、本発明に係る軸長測定手段は、画像処理を用いてツールの軸長を測定してもよいし、レーザーなどによる光学測定方法を用いてもよい。
【００５８】
（３）前記実施形態では、所定のツールを用いて加工を行っている間に、軸長測定を１回しか行っていないが、プログラムステップ数などから軸長測定が複数回行える時間があると判定されたなら、軸長測定を複数回行ってもよいし、また一度測定されたツールを読み飛ばすようにしてもよい。
【００５９】
（４）本発明には含まれないが、複数のツールをロボットハンドに交換して装着するロボットシステムにおいて、ロボットにツールを装着するまえに、そのツールの軸長を測定して正誤判別を行う構成にしてもよい。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施形態に係るマシニングセンターの概念図
【図２】マシニングセンターのブロック図
【図３】ツールチェンジャーの概念図
【図４】ＮＣプログラムリスト
【図５】軸長測定プログラムのフローチャート
【符号の説明】
【００６１】
１０    マシニングセンター
１３    主軸
１４    ツール
２０    マガジン
２１    ツールチェンジャー
２２    ツールボックス（ツール移動手段）
２４    アーム
４０    本体コントローラ
５０    軸長測定装置（軸長測定手段、位置検出手段）
５０Ａ  アクチュエータ
５４    測定器コントローラ（軸長演算手段）
Ｐ１    ＮＣプログラム
Ｐ２    軸長測定プログラム（ツール正誤判別手段）
Ｗ      ワーク
【図１】
2005040929.tif 000005
【図２】
2005040929.tif 000006
【図３】
2005040929.tif 000007
【図４】
2005040929.tif 000008
【図５】
2005040929.tif 000009