(57)【特許請求の範囲】
【請求項１】
対象物への接触の有無を検知するセンサの検知結果を時系列にサンプリングする接触検知手段と、前記センサ及び前記対象物の相対的な位置を変位させる変位手段と、前記位置を時系列的にサンプリングする位置検知手段とを備え、前記センサが対象物に接触した位置を検出する接触位置検出装置であって、
前記接触検知手段の検知結果を時系列的に複数回分記憶する検知結果記憶手段と、
前記位置検知手段がサンプリングした位置を時系列的に複数回分記憶する位置記憶手段と、
前記接触検知手段による接触有りの検知結果が所定回数連続した場合に、対象物への接触を確定する接触確定手段と、
前記所定回数連続した接触有りの検知結果のうちの初回の検知結果を前記接触検知手段がサンプリングした時点より前の接触有りの検知結果を、前記検知結果記憶手段に記憶した検知結果から抽出し、抽出した検知結果に対応するサンプリング時に前記位置検知手段がサンプリングした位置を、前記位置記憶手段から取得する位置取得手段と、
前記接触検知手段による接触有りの最初の検知結果から、前記接触確定手段が接触を確定した検知結果までのサンプリング数を計数するカウンタと
を備え、
前記位置取得手段は、前記接触確定手段が接触を確定した場合に、前記カウンタの計数値に基づいて、接触有りの最初の検知結果に対応する位置を取得するようにしてあり、
前記位置取得手段が取得した位置を、前記センサが前記対象物に接触した位置として検出するようにしてあること
を特徴とする接触位置検出装置。
【請求項２】
前記位置取得手段は、前記最初の検知結果が前記接触検知手段にてサンプリングされた時点から、前記接触確定手段が接触を確定した時点までの時間が所定時間より長い場合、前記接触確定手段が接触を確定した時点から前記所定時間前の時点に対応する位置を、前記位置記憶手段が記憶した複数回分の位置から取得するようにしてあること
を特徴とする請求項１に記載の接触位置検出装置。
【請求項３】
前記接触検知手段は、サンプリングした検知結果をシフトレジスタに順にシフトして記憶するようにしてあること
を特徴とする請求項１又は請求項２に記載の接触位置検出装置。
【請求項４】
装着された工具にてワークの加工を行う工作機械において、
請求項１乃至請求項３のいずれか１つに記載の接触位置検出装置が、前記対象物を前記ワークとして検出した接触位置に応じて、前記ワークの形状を測定する測定手段を備えること
を特徴とする工作機械。
【請求項５】
装着された工具にてワークの加工を行う工作機械において、
請求項１乃至請求項３のいずれか１つに記載の接触位置検出装置が、前記対象物を前記工具として検出した接触位置に応じて、前記工具の折損を検出する折損検出手段を備えること
を特徴とする工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワーク又は工具等の対象物への接触位置を検出する接触位置検出装置、及び、これを用いてワークの形状測定又は工具の折損検出等を行う工作機械に関する。
【背景技術】
【０００２】
一般に、マシニングセンタ（工作機械）は、テーブルに載置されたワーク及び主軸に装着された工具をＸＹＺ方向へ相対移動させると共に、主軸の回転により工具を回転させることによって、ワークに対してフライス加工、中ぐり加工又はねじ立て等の種々の加工を行うことができる。工作機械は、複数種の工具を収容しており、目的の加工に応じて主軸に装着する工具を交換しながら、種々の加工を連続的に行っている。また工作機械は、機械加工の終了後にタッチセンサを主軸に装着し、ワーク及びタッチセンサを相対移動させ、ワークの表面にタッチセンサを接触させることによって、ワークの表面形状を測定することができる。
【０００３】
このような工作機械では、ワーク及びタッチセンサをＸＹ方向に相対移動させると共に、タッチセンサをＺ方向へ昇降させ、タッチセンサがワークに接触した位置（及び／又はワークから離れた位置）を検出することによってワークの表面形状を測定する。しかしタッチセンサが機械式接点によるものである場合、タッチセンサがワークに接触した際に、接点でチャタリングが発生する虞がある。チャタリングが発生すると、タッチセンサがワークに接触した位置を誤検出する虞があり、ワークの表面形状の測定精度が低下するという問題がある。
【０００４】
特許文献１においては、タッチセンサの検出値をサンプリングして順にシフトレジスタへ記憶し、タッチセンサがワークに接触したことを示す検出値が所定回数連続する場合に、タッチセンサがワークの表面に接触したと判定し、このときのタッチセンサの位置を接触位置として取得する構成のチャタリング除去装置が提案されている。この装置では、所定回数未満の検知結果が除外されるため、簡単な構成でチャタリングの除去を行うことができる。
【０００５】
特許文献２においては、工具をＺ軸方向へ移動させてテーブルに設けられたタッチセンサに接触させることで、設定された第１所定位置と、この第１所定位置から所定距離だけ離れた第２所定位置とに工具が到達したことを検出して工具の位置を検出し、検出した第１所定位置に対応する位置及び第２所定位置に対応する位置と、第１所定位置及び第２所定位置の間の所定距離との変位差を演算し、この変位差に基づいて工具の移動制御の補正を行う数値制御工作機が提案されている。また特許文献２に記載の数値制御工作機械は、工具がタッチセンサに接触した位置に応じて、工具に折損が生じているか否かを検知することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１５７９７５号公報
【特許文献２】実開平５−８３８０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら特許文献１に記載のチャタリング除去装置は、ワークに接触したことを示す検出値が所定回数連続した場合に初めて接触したとの判定を行う構成であるため、実際にタッチセンサがワークに接触した時点と、チャタリング除去装置が接触の判定を行う時点との間に時間差が生じるという問題がある。この時間差によってワークに対する接触位置の検出精度が低下し、ワークの表面形状の測定精度が低下するという問題がある。また工作機械が工具の折損検出を行う場合についても同様に、検出精度が低下するという問題がある。
【０００８】
また特許文献２に記載の数値制御工作機においても同様にタッチセンサにてチャタリングが発生することから、特許文献１に記載の技術を採用することが考えられる。しかしこの場合にも、タッチセンサに対する工具の接触位置の検知精度が低下し、工具の移動制御に対する補正の精度が低下するという問題がある。また特許文献２に記載の数値制御工作機にて工具の折損検知を行う場合も同様に、折損の検知精度が低下するという問題がある。
【０００９】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、タッチセンサにて発生するチャタリングを除去して接触位置の検出精度が低下することを防止できると共に、チャタリング除去に伴う検出の遅れによって接触位置の検出精度が低下することを防止できる接触位置検出装置及び工作機械を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係る接触位置検出装置は、対象物への接触の有無を検知するセンサの検知結果を時系列にサンプリングする接触検知手段と、前記センサ及び前記対象物の相対的な位置を変位させる変位手段と、前記位置を時系列的にサンプリングする位置検知手段とを備え、前記センサが対象物に接触した位置を検出する接触位置検出装置であって、前記接触検知手段の検知結果を時系列的に複数回分記憶する検知結果記憶手段と、前記位置検知手段がサンプリングした位置を時系列的に複数回分記憶する位置記憶手段と、前記接触検知手段による接触有りの検知結果が所定回数連続した場合に、対象物への接触を確定する接触確定手段と、前記所定回数連続した接触有りの検知結果のうちの初回の検知結果を前記接触検知手段がサンプリングした時点より前の接触有りの検知結果を、前記検知結果記憶手段に記憶した検知結果から抽出し、抽出した検知結果に対応するサンプリング時に前記位置検知手段がサンプリングした位置を、前記位置記憶手段から取得する位置取得手段と、前記接触検知手段による接触有りの最初の検知結果から、前記接触確定手段が接触を確定した検知結果までのサンプリング数を計数するカウンタとを備え、前記位置取得手段は、前記接触確定手段が接触を確定した場合に、前記カウンタの計数値に基づいて、接触有りの最初の検知結果に対応する位置を取得するようにしてあり、前記位置取得手段が取得した位置を、前記センサが前記対象物に接触した位置として検出するようにしてあることを特徴とする。
【００１２】
また、本発明に係る接触位置検出装置は、前記位置取得手段が、前記最初の検知結果が前記接触検知手段にてサンプリングされた時点から、前記接触確定手段が接触を確定した時点までの時間が所定時間より長い場合、前記接触確定手段が接触を確定した時点から前記所定時間前の時点に対応する位置を、前記位置記憶手段が記憶した複数回分の位置から取得するようにしてあることを特徴とする。
【００１３】
また、本発明に係る接触位置検出装置は、前記接触検知手段が、サンプリングした検知結果をシフトレジスタに順にシフトして記憶するようにしてあることを特徴とする。
【００１４】
また、本発明に係る工作機械は、装着された工具にてワークの加工を行う工作機械において、上述の接触位置検出装置が、前記対象物を前記ワークとして検出した接触位置に応じて、前記ワークの形状を測定する測定手段を備えることを特徴とする。
【００１５】
また、本発明に係る工作機械は、装着された工具にてワークの加工を行う工作機械において、上述の接触位置検出装置が、前記対象物を前記工具として検出した接触位置に応じて、前記工具の折損を検出する折損検出手段を備えることを特徴とする。
【００１６】
本発明においては、接触を検知するセンサの検知結果をサンプリングして時系列的に複数回分記憶しておき、接触有りの検知結果が所定回数連続した場合に、対象物への接触検知を確定する。これにより、所定回数未満の検知結果が除外されるため、チャタリングによる誤検知の影響を除去することができる。
またセンサ及び対象物の相対的な位置を検知し、検知位置をサンプリングして時系列的に複数回分記憶しておく。上記のように対象物への接触検知を確定した場合、接触検知を確定した所定回数の検知結果の初回分をサンプリングしたタイミングより以前に遡って接触有りの検知結果を抽出し、抽出した検知結果に対応するサンプリング時にサンプリングした検知位置を取得する。取得した検知位置をセンサ及び対象物が接触した位置とすることによって、チャタリングを除去して接触を確定する以前に遡ったセンサの位置を最終的なセンサの接触位置の検出結果とすることができる。チャタリングはセンサ及び対象物の接触によって発生するため、接触確定以前に検知位置を遡ることによって、実際の接触位置に近い検出結果を得ることができ、接触位置の検出精度を向上することができる。
【００１７】
また、検知位置は時系列的に複数回分記憶する。即ち検知した順に検知位置を記憶していき、記憶可能数に達した後は、最も古い検知位置を削除して新しい検知位置を記憶する（いわゆるＦＩＦＯ（First In First Out））。接触確定以前に遡って検知位置を取得する際には、時系列的に記憶した検知位置の中から、センサによる接触有りの検知結果に対応する最初の（最も古い）検知位置を取得してもよい。これにより、検知位置の記憶数（記憶容量）は、チャタリングの発生から検知結果が安定するまでの時間程度のサンプリング結果を記憶できればよい。また検知位置を遡って取得する処理が容易である。
【００１８】
また、本発明においては、接触有りの最前の検知結果から接触確定までのサンプリング数をカウンタにて計数し、接触確定後にこのカウンタの値に基づいて最前の検知結果を取得する。これにより、接触確定以前に遡って検知位置を取得する処理を容易に行うことができる。
【００１９】
また、本発明においては、接触確定から遡って検知位置を取得する最大の時間を所定時間として予め定めておく。この所定時間は、設計段階又は製造工程のテスト段階等において、チャタリングの発生からセンサの検知結果が安定するまでの時間を測定し、この測定結果に基づいて決定することができる。
接触確定後、記憶した複数回分の検知位置から最前の検知位置を取得するが、最前の検知位置のサンプリングから接触確定までの時間が上記の所定時間より長い場合、最前の検知位置を最終的な接触位置とするのではなく、接触確定から所定時間遡った時点に対応する検知位置を取得し、取得した検知位置を最終的な接触位置とする。これにより、チャタリング以前に例えば外乱ノイズなどの影響でセンサの誤検知が発生した場合であっても、この誤検知の影響を除外することができる。
【００２０】
また、本発明においては、センサの検知結果をシフトレジスタに記憶する。サンプリングを行う毎に記憶した検知結果を順にシフトすることによって、時系列的な記憶を容易に実現できる。なお、検知位置の記憶についても同様に、シフトレジスタを用いる構成としてよい。
【００２１】
また、本発明においては、上述のような接触位置検出装置を用いて、ワークに対するセンサの接触位置を検出し、検出結果に応じてワークの形状測定を行う。これによりチャタリングの影響を除外しつつ、ワークに対する高精度な接触位置の検出を行うことができ、ワークの形状測定を高精度に行うことができる。
【００２２】
また、本発明においては、上述のような接触位置検出装置を用いて、工具に対するセンサの接触位置を検出し、検出結果に応じて工具の折損検出を行う。これによりチャタリングの影響を除外しつつ、工具に対する高精度な接触位置の検出を行うことができ、工具の折損検出を高精度に行うことができる。
【発明の効果】
【００２３】
本発明による場合は、接触有りの検知結果が所定回数連続した場合に対象物への接触検知を確定し、接触確定以前に遡って検知位置を取得し、取得した検知位置をセンサ及び対象物の接触位置として検出する構成とすることにより、チャタリングによる接触位置の検出精度低下を防止できると共に、チャタリング除去に伴う検出の遅れによって接触位置の検出精度が低下することを防止できる。よって工作機械におけるワークの形状測定及び／又は工具の折損検出を高精度に行うことができる。
【図面の簡単な説明】
【００２４】
【図１】マシニングセンタの外観を示す斜視図である。
【図２】マシニングセンタの主要部分の構成を示す正面図である。
【図３】マシニングセンタの電気的構成を示すブロック図である。
【図４】接触位置検出処理を説明するためのタイミングチャートである。
【図５】接触位置検出処理を説明するためのタイミングチャートである。
【図６】接触位置検出処理の手順を示すフローチャートである。
【図７】接触確定処理の手順を示すフローチャートである。
【図８】接触確定処理の手順を示すフローチャートである。
【図９】接触位置確定処理の手順を示すフローチャートである。
【図１０】実施の形態２に係るマシニングセンタの構成を説明するための模式図である。
【発明を実施するための形態】
【００２５】
（実施の形態１）
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図１は、マシニングセンタ（工作機械）の外観を示す斜視図である。また図２は、マシニングセンタの主要部分の構成を示す正面図である。本実施の形態に係るマシニングセンタは、加工対象であるワーク（図示は省略する）と工具とを相対移動させて、ワークに所望の機械加工（例えば、スライス削り、穴あけ又は切削等）を施すことができる工作機械である。マシニングセンタは金属製の基台１を備え、基台１の下部の四隅には脚部がそれぞれ設けられ、これら４つの脚部が床面などに設置されることにより、マシニングセンタが所定場所に設置される。基台１は、マシニングセンタの前後方向に長い直方体状の鋳造品である。
【００２６】
マシニングセンタの基台１の後部上にはコラム座部３が設けられ、コラム座部３には鉛直上方へ延びる柱状のコラム４が立設されている。コラム４には、その前面に沿って上下移動可能に主軸ヘッド５が設けられている。主軸ヘッド５には、加工用の工具６が装着される主軸５Ａと、主軸５Ａに装着された工具６を他の工具６に交換するための工具交換機構７とが設けられている。また図１において図示は省略するが、コラム４の上部にはＺ軸モータ６７（図３参照）が設けてあり、Ｚ軸モータ６７の回転によって主軸ヘッド５を上下に移動させることができる。
【００２７】
主軸ヘッド５には、加工軸に相当する主軸５Ａが回転可能に装着され、主軸５Ａを回転駆動するための主軸モータ６１（図３参照）が上部に備えられている。主軸５Ａの下端には工具６が着脱可能に装着され、主軸５Ａが主軸モータ６１により回転駆動されることによって工具６が回転し、テーブル８に固定したワークの加工が行われる。主軸５Ａは、主軸ヘッド５の上下移動によって上方の交換位置と下方の加工位置との間を移動する。工具交換機構７は、工具６を支持する工具ホルダを複数格納する工具マガジン１４と、主軸５Ａに装着された工具ホルダと工具マガジン１４に格納された他の工具ホルダとを把持して搬送し、工具交換を行う工具交換アーム１５とを備えている。
【００２８】
また基台１上には、主軸ヘッド５の下方に、ワークを着脱可能に固定することができるテーブル８が配置してある。テーブル８は、サーボモータであるＸ軸モータ６３及びＹ軸モータ６５（図３参照）により、Ｘ軸方向（左右方向）及びＹ軸方向（前後方向）へ移動制御される。詳しくは、テーブル８の下側には直方体状の支持台１０が設けてあり、支持台１０にはＸ軸方向に沿って延びる１対のＸ軸送りガイドを設け、１対のＸ軸送りガイド上にテーブル８を移動可能に支持している。また基台１の上部には、長手方向（Ｙ軸方向）に沿って延びる１対のＹ軸送りガイドを設け、１対のＹ軸送りガイド上に支持台１０を移動可能に支持している。基台１上に設けたＹ軸モータ６５がＹ軸送りガイドに沿ってＹ軸方向に支持台１０を移動駆動すると共に、支持台１０上に設けたＸ軸モータ６３がＸ軸送りガイドに沿ってＸ軸方向にテーブル８を移動駆動する。
【００２９】
Ｘ軸送りガイドには、テレスコピック式に収縮するテレスコピックカバー１１、１２がテーブル８の左右両側に設けてある。Ｙ軸送りガイドには、テレスコピックカバー１３とＹ軸後カバーとが、支持台１０の前後にそれぞれ設けてある。テーブル８及び支持台１０がそれぞれいずれの方向に移動した場合であっても、Ｘ軸送りガイド及びＹ軸送りガイドは常にテレスコピックカバー１１、１２、１３及びＹ軸後カバーによって覆われる。テレスコピックカバー１１、１２、１３及びＹ軸後カバーは、ワークの加工領域から飛散する切粉などがＸ軸送りガイド及びＹ軸送りガイド等へ落下することを防止するためのものである。
【００３０】
コラム４の背面側には、箱状の制御ボックス９が設けられており、制御ボックス９の内部にはマシニングセンタの動作を制御するための制御部２０（図３参照）が収容されている。図３は、マシニングセンタの電気的構成を示すブロック図である。マシニングセンタは、制御ボックス９に収容された制御部２０に、複数のサーボアンプ３０及び入出力ユニット４０が通信バスを介して接続されており、これらが通信バスを介して情報を送受信しながら工作に係る処理を行っている。
【００３１】
図示のマシニングセンタは、４つのサーボアンプ３０を備えており、第１のサーボアンプ３０には主軸モータ６１及び主軸エンコーダ６２が接続され、第２のサーボアンプ３０にはＸ軸モータ６３及びＸ軸エンコーダ６４が接続され、第３のサーボアンプ３０にはＹ軸モータ６５及びＹ軸エンコーダ６６が接続され、第４のサーボアンプ３０にはＺ軸モータ６７及びＺ軸エンコーダ６８が接続されている。また入出力ユニット４０にはタッチセンサ５０が接続されている。
【００３２】
制御部２０は、ＣＰＵ（Central Processing Unit）２１、制御クロック発生部（図３において単に制御クロックと記載する）２２、記憶部２３及び通信Ｉ／Ｆ（インタフェース）２４等を備えて構成されている。ＣＰＵ２１は、制御クロック発生部２２が発生する所定周期のクロック信号に基づいて動作し、各種の演算処理を実行してマシニングセンタの各部の動作を制御する処理を行う。記憶部２３は、ＤＲＡＭ（Dynamic Random Access Memory）又はＳＲＡＭ（Static Random Access Memory）等のメモリ素子で構成され、ＣＰＵ２１の演算処理の過程で発生したデータ、又は、サーボアンプ３０若しくは入出力ユニット４０との通信により送受信したデータ等を一時的に記憶する。
【００３３】
制御部２０の通信Ｉ／Ｆ２４は、通信バスに接続されており、サーボアンプ３０又は入出力ユニット４０との通信を行う。通信Ｉ／Ｆ２４は、ＣＰＵ２１から送信指示が与えられた場合に、記憶部２３から送信データを読み出して通信バスへ出力することにより送信処理を行う。また通信Ｉ／Ｆ２４は、サーボアンプ３０又は入出力ユニット４０からのデータを受信した場合に、受信データを記憶部２３に記憶し、ＣＰＵ２１へデータを受信した旨を通知する。
【００３４】
また制御部２０は、サーボアンプ３０及び入出力ユニット４０との間で周期的に通信を行っているが、ＣＰＵ２１の負荷を低減するために、サーボアンプ３０と入出力ユニット４０とではそれぞれ異なる周期で通信を行う。具体的には、制御の優先度が高いサーボアンプ３０と制御部２０との通信周期は短く設定し、優先度が低い入出力ユニット４０と制御部２０との通信周期は長く設定してある。
【００３５】
サーボアンプ３０は、ＣＰＵ３１、サーボクロック発生部（図３において単にサーボクロックと記載する）３２、記憶部３３、通信Ｉ／Ｆ３４、モータＩ／Ｆ３５及びエンコーダＩ／Ｆ３６等を備えて構成されている。ＣＰＵ３１は、サーボクロック発生部３２が発生する所定周期のクロック信号に基づいて動作する。記憶部３３は、ＤＲＡＭ又はＳＲＡＭ等のメモリ素子で構成され、ＣＰＵ３１の演算処理の過程で発生したデータ、制御部２０との通信により送受信したデータ、及び、エンコーダＩ／Ｆ３６に入力されたデータ等を一時的に記憶する。通信Ｉ／Ｆ３４は、通信バスに接続されており、制御部２０との通信を周期的に行う。
【００３６】
またサーボアンプ３０のモータＩ／Ｆ３５は、主軸モータ６１、Ｘ軸モータ６３、Ｙ軸モータ６５又はＺ軸モータ６７等のモータに接続され、ＣＰＵ３１の制御に従って、モータを回転駆動するための制御信号を出力する。主軸モータ６１は、主軸５Ａを回転させるためのものである。Ｘ軸モータ６３及びＹ軸モータ６５は、テーブル８をそれぞれＸ軸方向及びＹ軸方向へ移動させるものである。Ｚ軸モータ６７は、主軸ヘッド５をＺ軸方向へ移動させるものである。（Ｘ軸モータ６３、Ｙ軸モータ６５及Ｚ軸モータ６７は、主軸５Ａに装着された工具６又はタッチセンサ５０と、テーブル８に載置されたワークとの相対位置を変位させる変位手段である。）
【００３７】
エンコーダＩ／Ｆ３６は、主軸エンコーダ６２、Ｘ軸エンコーダ６４、Ｙ軸エンコーダ６６又はＺ軸エンコーダ６８等のエンコーダに接続されている。（Ｘ軸エンコーダ６４、Ｙ軸エンコーダ６６及びＺ軸エンコーダ６８は、主軸５Ａに装着された工具６又はタッチセンサ５０と、テーブル８に載置されたワークとの相対位置を検知する位置検知手段である。）これらのエンコーダは対応するモータの回転位置情報を検出してサーボアンプ３０へ出力しており、エンコーダＩ／Ｆ３６は、ＣＰＵ３１の制御に基づいて、エンコーダから入力された情報をサンプリングし、サンプリングした情報を時系列的に記憶部３３に記憶する。ＣＰＵ３１は、エンコーダからの情報に基づいて、主軸５Ａの回転速度、並びに、ワーク（又はテーブル８）に対する主軸５ＡのＸ軸方向、Ｙ軸方向及びＺ軸方向の位置（座標）等を算出することができる。記憶部３３に記憶する情報は、算出した主軸５Ａの座標情報であってよい。
【００３８】
第２〜第４のサーボアンプ３０の記憶部３３には、制御部２０との通信周期の数周期分に亘るエンコーダの検知結果が、Ｘ軸方向、Ｙ軸方向又はＺ軸方向の座標情報として記憶され、記憶された座標情報は通信バスを介した通信によって制御部２０へ送信される。制御部２０は、各サーボアンプ３０から受信した座標情報を時系列的に記憶部２３に記憶する。（即ち、サーボアンプ３０の記憶部３３及び制御部２０の記憶部２３は、座標情報を時系列的に複数回分記憶する検知位置記憶手段である。）なお後述のタッチセンサ５０は主軸５Ａに装着されるものであり、記憶部２３に記憶する座標情報は、タッチセンサ５０の位置（座標）情報でもある。
【００３９】
入出力ユニット４０は、シフトレジスタ用クロック発生部（図３においては単にシフトクロックと記載）４１、シフトレジスタ４２及び通信Ｉ／Ｆ４３等を備えて構成されている。入出力ユニット４０にはタッチセンサ５０が接続されており、タッチセンサ５０が出力する信号は、入出力ユニット４０のシフトレジスタ４２に入力されている。タッチセンサ５０は、対象物に対する接触の有無を検知するセンサであり、例えば接触有りの場合にハイレベルの信号を出力し、接触なしの場合にローレベルの信号を出力する。
【００４０】
シフトレジスタ用クロック発生部４１は所定周期のクロック信号を生成して出力しており、シフトレジスタ４２はこのクロック信号に応じてタッチセンサ５０の出力信号を取り込む（サンプリングする）と共に、記憶した情報を１ビットずつシフトする。シフトレジスタ４２は、Ｎ（例えばＮ＝４）ビットの情報を記憶することができ、タッチセンサ５０のＮ回分のサンプリング結果を記憶することができる。（即ち、シフトレジスタ４２は、接触検知サンプリング手段であり、接触検知結果記憶手段である。）
【００４１】
通信Ｉ／Ｆ４３は、通信バスに接続されており、制御部２０との通信を周期的に行う。なお通信Ｉ／Ｆ４３は、少なくともシフトレジスタ４２に入力されるクロック信号のＮ（シフトレジスタ４２のサイズ）周期に１回の周期で制御部２０との通信を行い、シフトレジスタ４２に記憶された値を制御部２０へ送信する。制御部２０は、入出力ユニット４０から受信した情報（シフトレジスタ４２の値）を、入出力ユニット４０との通信周期の数周期分に亘って記憶部２３に記憶している。（即ち、制御部２０の記憶部２３は、接触検知の結果を時系列的に複数回分記憶する接触検知結果記憶手段でもある。）
【００４２】
マシニングセンタがテーブル８に載置されたワークの表面形状を測定する場合、主軸５Ａにタッチセンサ５０を装着し、Ｘ軸モータ６３及びＹ軸モータ６５の駆動によりテーブル８をＸ軸方向及びＹ軸方向へ移動させながら、Ｚ軸モータ６７の駆動により主軸ヘッド５をＺ軸方向へ移動させ、タッチセンサ５０がワークの表面に接触した位置を測定する。
【００４３】
タッチセンサ５０は、ワークの表面に接触していない場合にローレベルの信号を出力し、ワークの表面に接触した場合にハイレベルの信号を出力する。入出力ユニット４０は、シフトレジスタ用クロック発生部４１が発生するクロック信号の周期でタッチセンサ５０の出力信号をサンプリングし、ハイレベル又はローレベルの１ビットの値をシフトレジスタ４２に記憶する。またクロック信号に応じてシフトレジスタ４２は記憶した値を順次的にシフトしており、これによりタッチセンサ５０の検知結果が時系列的に記憶される。入出力ユニット４０は制御部２０と周期的に通信を行っており、シフトレジスタ４２に記憶したＮビットの値を制御部２０へ送信する。なお、入出力ユニット４０及び制御部２０の通信周期は、シフトレジスタ用クロック発生部４１が発生するクロック信号の周期よりも長い。
【００４４】
また各サーボアンプ３０は、エンコーダＩ／Ｆ３６に入力されるエンコーダ（Ｘ軸エンコーダ６４、Ｙ軸エンコーダ６６又はＺ軸エンコーダ６８）の信号を所定周期（サーボクロック発生部３２が発生するクロック信号の周期であってよく、又はそれ以外の周期であってもよい）でサンプリングし、ワークに対する主軸５Ａ（に装着されたタッチセンサ５０）のＸ軸方向、Ｙ軸方向又はＺ軸方向に関する位置の検知結果を記憶部３３に時系列的に記憶する。サーボアンプ３０は制御部２０と周期的に通信を行っており、記憶部３３に記憶した検知位置の情報を制御部２０へ送信する。なお、サーボアンプ３０及び制御部２０の通信周期は、検知位置のサンプリング周期よりも長い。
【００４５】
制御部２０は、サーボアンプ３０との通信により受信したＸ軸方向、Ｙ軸方向及びＺ軸方向に関する検知位置の情報を記憶部２３に時系列的に記憶すると共に、入出力ユニット４０との通信により受信したタッチセンサ５０の検知結果の情報を記憶部２３に時系列的に記憶する。即ち、制御部２０の記憶部２３には、タッチセンサ５０の接触有無の検知結果とＸ軸方向、Ｙ軸方向及びＺ軸方向の検知位置とが時系列的に記憶され、各検知結果をサンプリングした際の検知位置が対応付けて記憶される。また制御部２０の記憶部２３に記憶されるタッチセンサ５０の検知結果及び検知位置の情報量は限られており、新たな情報をサーボアンプ３０又は入出力ユニット４０から受信した場合、最も古い情報が破棄される。
【００４６】
なお各サーボアンプ３０のサンプリングと入出力ユニット４０のサンプリングとは必ずしも同期して行う必要はない。また各サーボアンプ３０のサンプリングと入出力ユニット４０のサンプリングとは必ずしも同じ周期で行う必要はない。サンプリングが非同期で行われる場合、及び／又は、サンプリングが異なる周期で行われる場合、接触有無の検知結果に対して最も近いタイミングでサンプリングされた検知位置を対応付けて記憶すればよい。
【００４７】
図４は、接触位置検出処理を説明するためのタイミングチャートであり、タッチセンサ５０の出力信号の一例を上段に示し、入出力ユニット４０によるシフトレジスタ４２へのサンプリングタイミングを下段に示してある。接触位置検出処理は制御部２０のＣＰＵ２１によって行われる処理であり、図示の例では１２周期分（Ａ〜Ｆ）のサンプリング結果が記憶部２３に記憶される。また記憶部２３には、サンプリングしたタッチセンサ５０の検知結果に対応付けて、Ｘ軸方向、Ｙ軸方向及びＺ軸方向の検知位置の情報が記憶される。なお記憶部２３に記憶する検知結果及び検知位置は、タッチセンサ５０の接触によって生じるチャタリングの時間（図示の例では４周期分）と、タッチセンサ５０の出力信号が安定して制御部２０が接触を確定するまでの時間（図示の例では４周期分）との合計時間より数周期分多い情報量とすることができる。チャタリングの時間は、例えばマシニングセンタの設計段階などで予め測定して決定することができる。
【００４８】
接触位置検出処理において、制御部２０のＣＰＵ２１は、記憶部２３に記憶されたタッチセンサ５０の検知結果を古いものから順に調べ、接触有りの検知結果が所定回数（図示の例では４回）連続していた場合に、タッチセンサ５０のワークへの接触を確定する（図中のタイミングＪ）。接触確定後、ＣＰＵ２１は、接触確定に係る所定回数の接触有りの検知結果のうちの初回のもの（タイミングＧ）より前に遡って、記憶部２３に記憶された検知結果から最前の接触有りの検知結果（タイミングＣ）を取得する（即ち、記憶部２３から最前の接触有りの検知結果を取得すればよい）。ＣＰＵ２１は、この検知結果がサンプリングされたタイミングを、ワークへタッチセンサ５０が最初に接触したタイミングとし、この検知結果に対応するＸ軸方向、Ｙ軸方向及びＺ軸方向の検知位置を記憶部２３から読み出して、ワークに対するタッチセンサ５０の接触位置とする。これにより、実際にタッチセンサ５０がワークに接触したタイミングに最も近いサンプリングタイミング（タイミングＣ）に対応した検知位置を、ＣＰＵ２１が記憶部２３から取得して接触位置とすることができる。
【００４９】
図５は、接触位置検出処理を説明するためのタイミングチャートであり、図４にて説明した接触位置検出処理に対して更に最大遡及時間の条件を追加したものである。本処理の手順も、図４に示した処理の手順と同様に、ＣＰＵ２１は、接触有りの検知結果が所定回数連続していた場合に、タッチセンサ５０のワークへの接触を確定し（タイミングＬ）、接触確定に係る所定回数の接触有りの検知結果のうちの初回のもの（タイミングＩ）より前に遡って、記憶部２３に記憶された接触有りの検知結果を取得する。このとき、本処理では最大遡及時間（図示の例ではサンプリングの４周期分の時間）が予め設定されており、ＣＰＵ２１は、最大遡及時間の範囲内で検知結果を遡って調べ、最前の接触有りの検知結果（タイミングＥ）を取得する。
【００５０】
このように最大遡及時間を設定しておくことによって、例えば図示のようにノイズなどによるタッチセンサ５０の誤検知（タイミングＡ、Ｂ）が生じた場合であっても、ＣＰＵ２１がこの誤検知結果にまで遡って検知位置を接触位置として取得することを防止できる。なお最大遡及時間は、マシニングセンタの設計段階などにおいて予め測定したチャタリングの時間に基づいて決定することができる（例えば、チャタリング時間＋数周期分の時間など）。
【００５１】
図６は、接触位置検出処理の手順を示すフローチャートであり、制御部２０のＣＰＵ２１が行う処理の手順を示したものである。なお、本処理においては、下記のレジスタ、カウンタ及びフラグ等を用いて処理を行うが、これらは記憶部２３の記憶領域の一部分又はＣＰＵ２１のレジスタ等により実現される。
レジスタＰ１、Ｐ２、Ｐ３：入出力ユニット４０から受信したシフトレジスタ値を一時的に記憶するためのレジスタ。
レジスタ長Ｌ：レジスタＰ１、Ｐ２、Ｐ３のビット長。
チャタリング除去閾値Ｎ：接触有りを確定するための閾値であり、接触有りの検知結果がＮ回連続した場合に、接触有りと確定する。
カウンタＣ１：接触有りの連続数をカウントするためのカウンタ。
カウンタＣ２、Ｃ３：レジスタＰ１、Ｐ２、Ｐ３のレジスタ長だけシフトするために、シフトを行った回数をカウントするカウンタ。
カウンタＣ４：最初の接触有りの検知結果からシフトを行った回数をカウントするためのカウンタ。
フラグＦ１：接触有りの検知結果の有無を示すフラグ。
【００５２】
接触位置検出処理において、まずＣＰＵ２１は、上記のレジスタＰ１〜Ｐ３及びカウンタＣ１〜Ｃ４の値を０にクリアすると共に、レジスタ長Ｌ及びチャタリング除去閾値Ｎを読み込む初期化処理を行う（ステップＳ１）。次いでＣＰＵ２１は、入出力ユニット４０との通信が通信Ｉ／Ｆ２４にて行われたか否かを判定し（ステップＳ２）、通信が行われていない場合には（Ｓ２：ＮＯ）、通信が行われるまで待機する。
【００５３】
入出力ユニット４０との通信が行われた場合（Ｓ２：ＹＥＳ）、ＣＰＵ２１は、レジスタＰ３の値をレジスタＰ２に設定（記憶）し（ステップＳ３）、入出力ユニット４０から受信した検知結果（シフトレジスタ４２の値）をレジスタＰ１、Ｐ３に設定する（ステップＳ４）。即ちレジスタＰ３には、前回の通信にて入出力ユニット４０から受信したシフトレジスタの値が記憶されており、レジスタＰ１に最新の受信データが設定され、レジスタＰ２に前回の受信データが設定される。以降の処理は、２つのレジスタＰ１、Ｐ２に設定された前回及び最新の２回分の受信データに対して行われる。
【００５４】
次いでＣＰＵ２１は、レジスタＰ１、Ｐ２の値に基づいて、接触確定処理を行う（ステップＳ５）。図７及び図８は、接触確定処理の手順を示すフローチャートであり、ＣＰＵ２１がステップＳ５にて行う処理の詳細手順を示したものである。接触確定処理において、ＣＰＵ２１は、レジスタＰ２のＭＳＢ（Most Significant Bit）の値（レジスタＰ２に記憶された最も古い検知結果）が１（接触有り）であるか否かを判定する（ステップＳ２１）。ＣＰＵ２１は、レジスタＰ２のＭＳＢの値が１でない場合（Ｓ２１：ＮＯ）、カウンタＣ１の値を０に設定し（ステップＳ２２）、また、レジスタＰ２のＭＳＢの値が１の場合（Ｓ２１：ＹＥＳ）、カウンタＣ１の値に１を加算すると共にフラグＦ１に１を設定し（ステップＳ２３）、ステップＳ２４へ処理を進める。
【００５５】
次いでＣＰＵ２１は、カウンタＣ２の値に１を加算し（ステップＳ２４）、レジスタＰ２を１ビットだけ左シフト（ＭＳＢのデータを破棄し、他のデータをＭＳＢ側へ１ビットずつ繰り上げ）する（ステップＳ２５）。その後、ＣＰＵ２１は、フラグＦ１の値が１であるか否かを判定し（ステップＳ２６）、フラグＦ１の値が１の場合は（Ｓ２６：ＹＥＳ）、カウンタＣ４の値に１を加算して（ステップＳ２７）、ステップＳ２８へ処理を進める。またフラグＦ１の値が１でない場合（Ｓ２６：ＮＯ）、ＣＰＵ２１は、ステップＳ２８へ処理を進める。
【００５６】
次いでＣＰＵ２１は、カウンタＣ１の値がチャタリング除去閾値Ｎであるか否かを判定する（ステップＳ２８）。カウンタＣ１の値がチャタリング除去閾値Ｎである場合（Ｓ２８：ＹＥＳ）、接触有りの検知結果がＮ回連続しているため、ＣＰＵ２１は、接触を確定し（ステップＳ４２）、接触確定処理を終了して図６に示すフローチャートの処理へ戻る。
【００５７】
カウンタＣ１の値がチャタリング除去閾値Ｎでない場合（Ｓ２８：ＮＯ）、ＣＰＵ２１は、カウンタＣ２の値がレジスタ長Ｌであるか否かを更に判定する（ステップＳ２９）。カウンタＣ２の値がレジスタ長Ｌでない場合（Ｓ２９：ＮＯ）、ＣＰＵ２１は、ステップＳ２１へ処理を戻し、レジスタＰ２の次のビットについて上記の処理を繰り返し行う。カウンタＣ２の値がレジスタ長Ｌの場合（Ｓ２９：ＹＥＳ）、レジスタＰ２の全てのビットについて上記の処理を終えているため、ＣＰＵ２１は、カウンタＣ２の値を０に設定し（ステップＳ３０）、ステップＳ３１へ処理を進める。
【００５８】
次いでＣＰＵ２１は、レジスタＰ１に設定された値について同様の処理を行う。ＣＰＵ２１は、レジスタＰ１のＭＳＢの値が１であるか否かを判定する（ステップＳ３１）。ＣＰＵ２１は、レジスタＰ１のＭＳＢの値が１でない場合（Ｓ３１：ＮＯ）、カウンタＣ１の値を０に設定し（ステップＳ３２）、また、レジスタＰ１のＭＳＢの値が１の場合（Ｓ３１：ＹＥＳ）、カウンタＣ１の値に１を加算すると共にフラグＦ１に１を設定し（ステップＳ３３）、ステップＳ３４へ処理を進める。
【００５９】
次いでＣＰＵ２１は、カウンタＣ３の値に１を加算し（ステップＳ３４）、レジスタＰ１を１ビットだけ左シフトする（ステップＳ３５）。その後、ＣＰＵ２１は、フラグＦ１の値が１であるか否かを判定し（ステップＳ３６）、フラグＦ１の値が１の場合は（Ｓ３６：ＹＥＳ）、カウンタＣ４の値に１を加算して（ステップＳ３７）、ステップＳ３８へ処理を進める。またフラグＦ１の値が１でない場合（Ｓ３６：ＮＯ）、ＣＰＵ２１は、ステップＳ３８へ処理を進める。
【００６０】
次いでＣＰＵ２１は、カウンタＣ１の値がチャタリング除去閾値Ｎであるか否かを判定する（ステップＳ３８）。カウンタＣ１の値がチャタリング除去閾値Ｎである場合（Ｓ３８：ＹＥＳ）、接触有りの検知結果がＮ回連続しているため、ＣＰＵ２１は、接触を確定し（ステップＳ４２）、接触確定処理を終了して図６に示すフローチャートの処理へ戻る。
【００６１】
カウンタＣ１の値がチャタリング除去閾値Ｎでない場合（Ｓ３８：ＮＯ）、ＣＰＵ２１は、カウンタＣ３の値がレジスタ長Ｌであるか否かを更に判定する（ステップＳ３９）。カウンタＣ３の値がレジスタ長Ｌでない場合（Ｓ３９：ＮＯ）、ＣＰＵ２１は、ステップＳ３１へ処理を戻し、レジスタＰ１の次のビットについて上記の処理を繰り返し行う。カウンタＣ３の値がレジスタ長Ｌの場合（Ｓ３９：ＹＥＳ）、レジスタＰ１の全てのビットについて上記の処理を終えているため、ＣＰＵ２１は、カウンタＣ１の値を０に設定して（ステップＳ４０）、接触無しと判定し（ステップＳ４１）、接触確定処理を終了して図６に示すフローチャートの処理へ戻る。
【００６２】
ステップＳ５の接触確定処理を終えた後、ＣＰＵ２１は、接触確定処理の処理結果に基づいて、接触が確定したか否かを判定する（ステップＳ６）。接触が確定していない場合（Ｓ６：ＮＯ）、ＣＰＵ２１は、ステップＳ２へ処理を戻し、入出力ユニット４０との次の通信を待機する。接触が確定した場合（Ｓ６：ＹＥＳ）、ＣＰＵ２１は、ワークに対するタッチセンサ５０の接触位置を確定する接触位置確定処理を行う（ステップＳ７）。
【００６３】
図９は、接触位置確定処理の手順を示すフローチャートであり、ＣＰＵ２１がステップＳ７にて行う処理の詳細手順を示したものである。接触位置確定処理において、まずＣＰＵ２１は、遡及限界値Ｘの読み出しを行う（ステップＳ５１）。遡及限界値Ｘは、図５に示した最大遡及時間に対応するものであり、最大遡及時間がサンプリング周期（シフトレジスタ用クロック発生部４１が発生するクロック信号の周期）の何周期分に相当するかを示す固定値である。
【００６４】
次いでＣＰＵ２１は、カウンタＣ４の値が遡及限界値Ｘより小さいか否かを判定する（ステップＳ５２）。カウンタＣ４の値が遡及限界値Ｘより小さい場合（Ｓ５２：ＹＥＳ）、ＣＰＵ２１は、接触確定処理にて接触を確定したタイミングからカウンタＣ４の値だけ遡ったタイミングに対応する検知位置を記憶部２３から取得し（ステップＳ５３）、この検知位置を接触位置として接触位置確定処理を終了し、図６に示すフローチャートへ処理を戻す。また、カウンタＣ４の値が遡及限界値Ｘ以上の場合（Ｓ５２：ＮＯ）、ＣＰＵ２１は、接触確定処理にて接触を確定したタイミングから遡及限界値Ｘだけ遡ったタイミングに対応する検知位置を記憶部２３から取得し（ステップＳ５４）、この検知位置を接触位置として接触位置確定処理を終了し、図６に示すフローチャートへ処理を戻す。図６の接触位置検出処理では、ステップＳ７の接触位置確定処理にて確定した接触位置を検出結果とし、処理を終了する。
【００６５】
以上の構成のマシニングセンタにおいては、タッチセンサ５０の出力信号（検知結果）をサンプリングしてシフトレジスタ４２、記憶部２３に時系列的に記憶し、接触有りの検知結果が所定回数連続した場合に接触を確定する構成とすることにより、所定回数未満の検知結果が除外されるため、チャタリングの影響を除去することができる。また、テーブル８に載置されたワークに対する主軸５Ａに装着されたタッチセンサ５０の位置をＸ軸方向、Ｙ軸方向及びＺ軸方向の座標情報としてサンプリングして記憶部２３、３３に時系列的に記憶し、タッチセンサ５０の接触を確定した場合に、接触検知を確定した所定回数の検知結果の初回分をサンプリングしたタイミングより以前に遡って、記憶した検知位置を取得して接触位置とする構成とすることにより、チャタリングを除去して接触を確定する以前に遡ったタッチセンサ５０の位置を最終的なタッチセンサ５０の接触位置の検出結果とすることができる。チャタリングはタッチセンサ５０及びワークの接触によって発生するため、接触確定以前に検知位置を遡ることによって、実際の接触位置に近い検出結果を得ることができ、接触位置の検出精度を向上することができる。
【００６６】
また、接触確定以前に遡って検知位置を取得する際には、時系列的に記憶した検知位置の中から、タッチセンサ５０による接触有りの検知結果に対応する最前（最も古い）検知位置を取得する構成とすることにより、遡って検知位置を取得する処理が容易であると共に、検知位置の記憶数（検知位置を記憶するために必要な記憶部２３の容量）を、チャタリングの発生から検知結果が安定するまでの時間程度のサンプリング結果を記憶できる小容量とすることができる。
【００６７】
また、接触確定から遡った最前の接触有りの検知結果が、接触確定から最大遡及時間より前のものである場合、最前の接触有りの検知結果に対応する検知位置を接触位置とするのではなく、最大遡及時間だけ遡った検知結果に対応する検知位置を接触位置とする構成とすることにより、チャタリング以前に例えば外乱ノイズなどの影響でタッチセンサ５０の誤検知が発生した場合であっても、この誤検知の影響を除外することができる。
【００６８】
なお、本実施の形態においては、タッチセンサ５０を用いた対象物に対する接触位置の検出を行う構成（接触位置検出装置）をマシニングセンタに適用した例を示したが、接触位置検出装置の適用はマシニングセンタに限らず、その他の種々の対象物に対する接触位置検出を行う機能を有する種々の機器に適用可能である。
【００６９】
また、タッチセンサ５０の検知結果を入出力ユニット４０にてサンプリングし、通信によって制御部２０へサンプリング結果を与える構成としたが、これに限るものではなく、制御部２０が直接的にタッチセンサ５０の検知結果をサンプリングする構成であってもよい。同様に、Ｘ軸方向、Ｙ軸方向及びＺ軸方向の検知位置についても、サーボアンプ３０から制御部２０へサンプリング結果を送信するのではなく、制御部２０が直接的にサンプリングする構成であってもよい。また、制御部２０の記憶部２３及び／又はサーボアンプ３０の記憶部３３は、（検知結果又は検知位置の記憶に関して）シフトレジスタで構成してもよい。
【００７０】
また、接触確定から遡って接触位置を取得する際に、最大遡及時間（遡及限界値Ｘ）にて遡る時間を限定する構成としたが、これを行わない構成としてもよい。最大遡及時間による限定を行うか否かは、制御部２０の記憶部２３に記憶しておく検知結果の量（何周期分の検知結果を記憶しておくか）、及び、接触を確定する接触有りの検知結果の連続数（即ち、チャタリング除去閾値Ｎ）等の条件に基づいて、装置の設計者などが予め判断することができる。
【００７１】
（実施の形態２）
上述の実施の形態１に係るマシニングセンタは、タッチセンサ５０を用いてワークの形状測定を行う構成であるのに対し、実施の形態２に係るマシニングセンタは、タッチセンサに対する工具６の接触位置の検知結果に応じて、工具６の折損検出を行う構成である。図１０は、実施の形態２に係るマシニングセンタの構成を説明するための模式図である。実施の形態２に係るマシニングセンタは、ワークを載置するテーブル８上にタッチセンサ１５０が設けられている。
【００７２】
マシニングセンタの制御部２０は、Ｘ軸モータ６３及びＹ軸モータ６５を駆動することによって、主軸５Ａ（に装着された工具６）の直下にセンサ１５０が位置するよう、テーブル８をＸ軸方向及びＹ軸方向へ移動させることができる。その後、制御部２０は、主軸５Ａに装着された工具６がタッチセンサ１５０に接触するまで、Ｚ軸モータ６７の駆動によって主軸ヘッド５をＺ軸方向の下方へ移動させ、工具６がタッチセンサ１５０に接触した場合のＺ軸方向の座標情報を取得する。
【００７３】
このときに制御部２０が取得するＺ軸方向の座標情報は、主軸５Ａに装着された工具６の長さに対応する情報である。マシニングセンタには、各工具６の長さに対応して、タッチセンサ１５０に接触することが期待されるＺ軸方向の座標情報が予め記憶されており、予め記憶した座標情報と実際に検出した座標情報との差が閾値を超えた場合に、制御部２０は工具６に折損が生じていることを検出する。
【００７４】
なお、実施の形態２に係るマシニングセンタの折損検出処理では、実施の形態１に係るマシニングセンタのワークの形状測定処理と同様に、タッチセンサ１５０に対する工具６の接触ありの検知結果が所定回数連続した場合に接触を確定し、接触確定から遡って接触位置（Ｚ軸方向の座標情報）を取得する。
【００７５】
また、実施の形態２に係るマシニングセンタは、主軸ヘッド５のＺ軸方向への移動制御に関して、温度変化による移動量の変化を補正することができる。以下、この補正処理について簡単に説明する（詳細は特許文献２を参照）。マシニングセンタの主軸ヘッド５にはナット部（図示は省略する）が設けられ、このナット部はコラム４に設けられたボールネジ（図示は省略する）と螺合している。ボールネジは回転自在に支持されており、Ｚ軸モータ６７によってボールネジが回転駆動されることにより、主軸ヘッド５がＺ軸方向へ移動する。
【００７６】
加工の際に主軸ヘッド５がＺ軸方向への移動を繰り返すと、主軸ヘッド５のナット部とボールネジとの摩擦によって発熱し、これらの熱がコラム４、ボールネジ及び主軸ヘッド５等に伝わり、各部の温度が上昇する。このとき、コラム４は上方へ膨張し、ボールネジは下方へ膨張し、主軸ヘッド５は下方へ膨張するため、これらの膨張量に応じて主軸ヘッド５の下端面（工具６が装着される位置）は変位する。
【００７７】
そこで実施の形態２に係るマシニングセンタの制御部２０は、以下の処理を行うことで加工条件（主軸ヘッド５のＺ軸方向への移動量）を補正する。まず制御部２０は、主軸ヘッド５の基準位置（例えば工具交換を行う位置）から、主軸５Ａに装着された第１の工具がタッチセンサ１５０に接触するまで（接触確定するまで）、主軸ヘッド５をＺ軸方向の下方へ移動させ、第１の工具がタッチセンサ１５０に接触した位置（この位置をＺ１とする）を取得する。次いで制御部２０は、予め記憶された第１の工具の寸法及びタッチセンサ１５０の寸法等によって定義される位置情報（即ち、第１の工具によるタッチセンサ１５０への接触位置の期待値）と、実際に検出した位置情報Ｚ１との差を変位量Ｄ１として算出する。
【００７８】
次いで制御部２０は、工具交換を行って主軸５Ａに第２の工具（第１の工具とは長さが異なる工具）を装着し、同様にして第２の工具がタッチセンサ１５０に接触した位置Ｚ２を検出し、変位量Ｄ２を算出する。以上の処理によって得られた接触位置Ｚ１、Ｚ２及び変位量Ｄ１、Ｄ２を用いると、Ｚ軸方向の座標ｚにおける変位量Ｄ（ｚ）を下記の（１）式で表すことができる。
【００７９】
Ｄ（ｚ）＝（Ｄ２−Ｄ１）／（Ｚ２−Ｚ１）×ｚ＋（Ｚ２×Ｄ１−Ｚ１×Ｄ２）／（Ｚ２−Ｚ１）  …（１）
【００８０】
上記の（１）式により、Ｚ軸方向の各位置における変位量を算出することができるため、制御部２０がこの変位量を打ち消すように主軸ヘッド５のＺ軸方向への移動量を補正することによって、マシニングセンタの加工精度を高めることができる。なお、接触位置Ｚ１、Ｚ２を検出する際には、実施の形態１に係るマシニングセンタのワークの形状測定処理と同様に、タッチセンサ１５０に対する第１の工具又は第２の工具の接触ありの検知結果が所定回数連続した場合に接触を確定し、接触確定から遡って接触位置Ｚ１、Ｚ２を取得する。
【００８１】
以上の構成の実施の形態２に係るマシニングセンタは、工具６の折損検出又はＺ軸方向の移動に係る補正処理を、タッチセンサ１５０への工具６の接触位置の検知結果に基づいて行うと共に、タッチセンサ１５０の接触確定から遡って接触位置を取得する構成とすることにより、タッチセンサ１５０にて発生するチャタリングの影響を除去することができると共に、接触位置の検出精度を向上することができるため、折損検出処理又は補正処理を高精度に行うことができる。
【符号の説明】
【００８２】
４  コラム
５  主軸ヘッド
５Ａ  主軸
６  工具
７  工具交換機構
８  テーブル
９  制御ボックス
１４  工具マガジン
１５  工具交換アーム
２０  制御部
２１  ＣＰＵ（接触確定手段、位置取得手段、カウンタ、測定手段、折損検出手段）
２２  制御クロック発生部
２３  記憶部（位置記憶手段）
２４  通信Ｉ／Ｆ
３０  サーボアンプ
３１  ＣＰＵ
３２  サーボクロック
３３  記憶部（位置記憶手段）
３４  通信Ｉ／Ｆ
３５  モータＩ／Ｆ
３６  エンコーダＩ／Ｆ（位置検知手段）
４０  入出力ユニット
４１  シフトレジスタ用クロック発生部
４２  シフトレジスタ（接触検知手段）
４３  通信Ｉ／Ｆ
５０  タッチセンサ（センサ）
６１  主軸モータ
６２  主軸エンコーダ
６３  Ｘ軸モータ（変位手段）
６４  Ｘ軸エンコーダ
６５  Ｙ軸モータ（変位手段）
６６  Ｙ軸エンコーダ
６７  Ｚ軸モータ（変位手段）
６８  Ｚ軸エンコーダ
１５０  タッチセンサ（センサ）
【図１】
0005782864.tif 000002
【図２】
0005782864.tif 000003
【図３】
0005782864.tif 000004
【図４】
0005782864.tif 000005
【図５】
0005782864.tif 000006
【図６】
0005782864.tif 000007
【図７】
0005782864.tif 000008
【図８】
0005782864.tif 000009
【図９】
0005782864.tif 000010
【図１０】
0005782864.tif 000011