対象物への接触の有無を検知するセンサの検知結果を時系列にサンプリングする接触検知手段と、前記センサ及び前記対象物の相対的な位置を変位させる変位手段と、前記位置を時系列的にサンプリングする位置検知手段とを備え、前記センサが対象物に接触した位置を検出する接触位置検出装置であって、前記接触検知手段の検知結果を時系列的に複数回分記憶する検知結果記憶手段と、前記位置検知手段がサンプリングした位置を時系列的に複数回分記憶する位置記憶手段と、前記接触検知手段による接触有りの検知結果が所定回数連続した場合に、対象物への接触を確定する接触確定手段と、前記所定回数連続した接触有りの検知結果のうちの初回の検知結果を前記接触検知手段がサンプリングした時点以前の接触有りの検知結果を、前記検知結果記憶手段に記憶した検知結果から抽出し、抽出した検知結果に対応するサンプリング時に前記位置検知手段がサンプリングした位置を、前記位置記憶手段から取得する位置取得手段とを備え、該位置取得手段が取得した位置を、前記センサが前記対象物に接触した位置として検出するようにしてあることを特徴とする接触位置検出装置。前記接触検知手段による接触有りの最初の検知結果から、前記接触確定手段が接触を確定した検知結果までのサンプリング数を計数するカウンタを備え、前記位置取得手段は、前記接触確定手段が接触を確定した場合に、前記カウンタの計数値に基づいて、接触有りの最初の検知結果に対応する位置を取得するようにしてあることを特徴とする請求項1に記載の接触位置検出装置。前記位置取得手段は、前記最初の検知結果が前記接触検知手段にてサンプリングされた時点から、前記接触確定手段が接触を確定した時点までの時間が所定時間より長い場合、前記接触確定手段が接触を確定した時点から前記所定時間前の時点に対応する位置を、前記位置記憶手段が記憶した複数回分の位置から取得するようにしてあることを特徴とする請求項1又は請求項2に記載の接触位置検出装置。前記接触検知手段は、サンプリングした検知結果をシフトレジスタに順にシフトして記憶するようにしてあることを特徴とする請求項1乃至請求項3のいずれか1つに記載の接触位置検出装置。装着された工具にてワークの加工を行う工作機械において、請求項1乃至請求項4のいずれか1つに記載の接触位置検出装置が、前記対象物を前記ワークとして検出した接触位置に応じて、前記ワークの形状を測定する測定手段を備えることを特徴とする工作機械。装着された工具にてワークの加工を行う工作機械において、請求項1乃至請求項4のいずれか1つに記載の接触位置検出装置が、前記対象物を前記工具として検出した接触位置に応じて、前記工具の折損を検出する折損検出手段を備えることを特徴とする工作機械。しかしながら特許文献1に記載のチャタリング除去装置は、ワークに接触したことを示す検出値が所定回数連続した場合に初めて接触したとの判定を行う構成であるため、実際にタッチセンサがワークに接触した時点と、チャタリング除去装置が接触の判定を行う時点との間に時間差が生じるという問題がある。この時間差によってワークに対する接触位置の検出精度が低下し、ワークの表面形状の測定精度が低下するという問題がある。また工作機械が工具の折損検出を行う場合についても同様に、検出精度が低下するという問題がある。また特許文献2に記載の数値制御工作機においても同様にタッチセンサにてチャタリングが発生することから、特許文献1に記載の技術を採用することが考えられる。しかしこの場合にも、タッチセンサに対する工具の接触位置の検知精度が低下し、工具の移動制御に対する補正の精度が低下するという問題がある。また特許文献2に記載の数値制御工作機にて工具の折損検知を行う場合も同様に、折損の検知精度が低下するという問題がある。本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、タッチセンサにて発生するチャタリングを除去して接触位置の検出精度が低下することを防止できると共に、チャタリング除去に伴う検出の遅れによって接触位置の検出精度が低下することを防止できる接触位置検出装置及び工作機械を提供することにある。本発明に係る接触位置検出装置は、対象物への接触の有無を検知するセンサの検知結果を時系列にサンプリングする接触検知手段と、前記センサ及び前記対象物の相対的な位置を変位させる変位手段と、前記位置を時系列的にサンプリングする位置検知手段とを備え、前記センサが対象物に接触した位置を検出する接触位置検出装置であって、前記接触検知手段の検知結果を時系列的に複数回分記憶する検知結果記憶手段と、前記位置検知手段がサンプリングした位置を時系列的に複数回分記憶する位置記憶手段と、前記接触検知手段による接触有りの検知結果が所定回数連続した場合に、対象物への接触を確定する接触確定手段と、前記所定回数連続した接触有りの検知結果のうちの初回の検知結果を前記接触検知手段がサンプリングした時点以前の接触有りの検知結果を、前記検知結果記憶手段に記憶した検知結果から抽出し、抽出した検知結果に対応するサンプリング時に前記位置検知手段がサンプリングした位置を、前記位置記憶手段から取得する位置取得手段とを備え、該位置取得手段が取得した位置を、前記センサが前記対象物に接触した位置として検出するようにしてあることを特徴とする。また、本発明に係る接触位置検出装置は、前記接触検知手段による接触有りの最初の検知結果から、前記接触確定手段が接触を確定した検知結果までのサンプリング数を計数するカウンタを備え、前記位置取得手段は、前記接触確定手段が接触を確定した場合に、前記カウンタの計数値に基づいて、接触有りの最初の検知結果に対応する位置を取得するようにしてあることを特徴とする。また、本発明に係る接触位置検出装置は、前記位置取得手段が、前記最初の検知結果が前記接触検知手段にてサンプリングされた時点から、前記接触確定手段が接触を確定した時点までの時間が所定時間より長い場合、前記接触確定手段が接触を確定した時点から前記所定時間前の時点に対応する位置を、前記位置記憶手段が記憶した複数回分の位置から取得するようにしてあることを特徴とする。また、本発明に係る接触位置検出装置は、前記接触検知手段が、サンプリングした検知結果をシフトレジスタに順にシフトして記憶するようにしてあることを特徴とする。また、本発明に係る工作機械は、装着された工具にてワークの加工を行う工作機械において、上述の接触位置検出装置が、前記対象物を前記ワークとして検出した接触位置に応じて、前記ワークの形状を測定する測定手段を備えることを特徴とする。また、本発明に係る工作機械は、装着された工具にてワークの加工を行う工作機械において、上述の接触位置検出装置が、前記対象物を前記工具として検出した接触位置に応じて、前記工具の折損を検出する折損検出手段を備えることを特徴とする。本発明においては、接触を検知するセンサの検知結果をサンプリングして時系列的に複数回分記憶しておき、接触有りの検知結果が所定回数連続した場合に、対象物への接触検知を確定する。これにより、所定回数未満の検知結果が除外されるため、チャタリングによる誤検知の影響を除去することができる。またセンサ及び対象物の相対的な位置を検知し、検知位置をサンプリングして時系列的に複数回分記憶しておく。上記のように対象物への接触検知を確定した場合、接触検知を確定した所定回数の検知結果の初回分をサンプリングしたタイミングより以前に遡って接触有りの検知結果を抽出し、抽出した検知結果に対応するサンプリング時にサンプリングした検知位置を取得する。取得した検知位置をセンサ及び対象物が接触した位置とすることによって、チャタリングを除去して接触を確定する以前に遡ったセンサの位置を最終的なセンサの接触位置の検出結果とすることができる。チャタリングはセンサ及び対象物の接触によって発生するため、接触確定以前に検知位置を遡ることによって、実際の接触位置に近い検出結果を得ることができ、接触位置の検出精度を向上することができる。また、検知位置は時系列的に複数回分記憶する。即ち検知した順に検知位置を記憶していき、記憶可能数に達した後は、最も古い検知位置を削除して新しい検知位置を記憶するいわゆるFIFOFirstInFirstOut。接触確定以前に遡って検知位置を取得する際には、時系列的に記憶した検知位置の中から、センサによる接触有りの検知結果に対応する最初の最も古い検知位置を取得してもよい。これにより、検知位置の記憶数記憶容量は、チャタリングの発生から検知結果が安定するまでの時間程度のサンプリング結果を記憶できればよい。また検知位置を遡って取得する処理が容易である。また、本発明においては、接触有りの最前の検知結果から接触確定までのサンプリング数をカウンタにて計数し、接触確定後にこのカウンタの値に基づいて最前の検知結果を取得する。これにより、接触確定以前に遡って検知位置を取得する処理を容易に行うことができる。また、本発明においては、接触確定から遡って検知位置を取得する最大の時間を所定時間として予め定めておく。この所定時間は、設計段階又は製造工程のテスト段階等において、チャタリングの発生からセンサの検知結果が安定するまでの時間を測定し、この測定結果に基づいて決定することができる。接触確定後、記憶した複数回分の検知位置から最前の検知位置を取得するが、最前の検知位置のサンプリングから接触確定までの時間が上記の所定時間より長い場合、最前の検知位置を最終的な接触位置とするのではなく、接触確定から所定時間遡った時点に対応する検知位置を取得し、取得した検知位置を最終的な接触位置とする。これにより、チャタリング以前に例えば外乱ノイズなどの影響でセンサの誤検知が発生した場合であっても、この誤検知の影響を除外することができる。また、本発明においては、センサの検知結果をシフトレジスタに記憶する。サンプリングを行う毎に記憶した検知結果を順にシフトすることによって、時系列的な記憶を容易に実現できる。なお、検知位置の記憶についても同様に、シフトレジスタを用いる構成としてよい。また、本発明においては、上述のような接触位置検出装置を用いて、ワークに対するセンサの接触位置を検出し、検出結果に応じてワークの形状測定を行う。これによりチャタリングの影響を除外しつつ、ワークに対する高精度な接触位置の検出を行うことができ、ワークの形状測定を高精度に行うことができる。また、本発明においては、上述のような接触位置検出装置を用いて、工具に対するセンサの接触位置を検出し、検出結果に応じて工具の折損検出を行う。これによりチャタリングの影響を除外しつつ、工具に対する高精度な接触位置の検出を行うことができ、工具の折損検出を高精度に行うことができる。本発明による場合は、接触有りの検知結果が所定回数連続した場合に対象物への接触検知を確定し、接触確定以前に遡って検知位置を取得し、取得した検知位置をセンサ及び対象物の接触位置として検出する構成とすることにより、チャタリングによる接触位置の検出精度低下を防止できると共に、チャタリング除去に伴う検出の遅れによって接触位置の検出精度が低下することを防止できる。よって工作機械におけるワークの形状測定及び/又は工具の折損検出を高精度に行うことができる。実施の形態1以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図1は、マシニングセンタ工作機械の外観を示す斜視図である。また図2は、マシニングセンタの主要部分の構成を示す正面図である。本実施の形態に係るマシニングセンタは、加工対象であるワーク図示は省略すると工具とを相対移動させて、ワークに所望の機械加工例えば、スライス削り、穴あけ又は切削等を施すことができる工作機械である。マシニングセンタは金属製の基台1を備え、基台1の下部の四隅には脚部がそれぞれ設けられ、これら4つの脚部が床面などに設置されることにより、マシニングセンタが所定場所に設置される。基台1は、マシニングセンタの前後方向に長い直方体状の鋳造品である。マシニングセンタの基台1の後部上にはコラム座部3が設けられ、コラム座部3には鉛直上方へ延びる柱状のコラム4が立設されている。コラム4には、その前面に沿って上下移動可能に主軸ヘッド5が設けられている。主軸ヘッド5には、加工用の工具6が装着される主軸5Aと、主軸5Aに装着された工具6を他の工具6に交換するための工具交換機構7とが設けられている。また図1において図示は省略するが、コラム4の上部にはZ軸モータ67図3参照が設けてあり、Z軸モータ67の回転によって主軸ヘッド5を上下に移動させることができる。主軸ヘッド5には、加工軸に相当する主軸5Aが回転可能に装着され、主軸5Aを回転駆動するための主軸モータ61図3参照が上部に備えられている。主軸5Aの下端には工具6が着脱可能に装着され、主軸5Aが主軸モータ61により回転駆動されることによって工具6が回転し、テーブル8に固定したワークの加工が行われる。主軸5Aは、主軸ヘッド5の上下移動によって上方の交換位置と下方の加工位置との間を移動する。工具交換機構7は、工具6を支持する工具ホルダを複数格納する工具マガジン14と、主軸5Aに装着された工具ホルダと工具マガジン14に格納された他の工具ホルダとを把持して搬送し、工具交換を行う工具交換アーム15とを備えている。また基台1上には、主軸ヘッド5の下方に、ワークを着脱可能に固定することができるテーブル8が配置してある。テーブル8は、サーボモータであるX軸モータ63及びY軸モータ65図3参照により、X軸方向左右方向及びY軸方向前後方向へ移動制御される。詳しくは、テーブル8の下側には直方体状の支持台10が設けてあり、支持台10にはX軸方向に沿って延びる1対のX軸送りガイドを設け、1対のX軸送りガイド上にテーブル8を移動可能に支持している。また基台1の上部には、長手方向Y軸方向に沿って延びる1対のY軸送りガイドを設け、1対のY軸送りガイド上に支持台10を移動可能に支持している。基台1上に設けたY軸モータ65がY軸送りガイドに沿ってY軸方向に支持台10を移動駆動すると共に、支持台10上に設けたX軸モータ63がX軸送りガイドに沿ってX軸方向にテーブル8を移動駆動する。X軸送りガイドには、テレスコピック式に収縮するテレスコピックカバー11、12がテーブル8の左右両側に設けてある。Y軸送りガイドには、テレスコピックカバー13とY軸後カバーとが、支持台10の前後にそれぞれ設けてある。テーブル8及び支持台10がそれぞれいずれの方向に移動した場合であっても、X軸送りガイド及びY軸送りガイドは常にテレスコピックカバー11、12、13及びY軸後カバーによって覆われる。テレスコピックカバー11、12、13及びY軸後カバーは、ワークの加工領域から飛散する切粉などがX軸送りガイド及びY軸送りガイド等へ落下することを防止するためのものである。コラム4の背面側には、箱状の制御ボックス9が設けられており、制御ボックス9の内部にはマシニングセンタの動作を制御するための制御部20図3参照が収容されている。図3は、マシニングセンタの電気的構成を示すブロック図である。マシニングセンタは、制御ボックス9に収容された制御部20に、複数のサーボアンプ30及び入出力ユニット40が通信バスを介して接続されており、これらが通信バスを介して情報を送受信しながら工作に係る処理を行っている。図示のマシニングセンタは、4つのサーボアンプ30を備えており、第1のサーボアンプ30には主軸モータ61及び主軸エンコーダ62が接続され、第2のサーボアンプ30にはX軸モータ63及びX軸エンコーダ64が接続され、第3のサーボアンプ30にはY軸モータ65及びY軸エンコーダ66が接続され、第4のサーボアンプ30にはZ軸モータ67及びZ軸エンコーダ68が接続されている。また入出力ユニット40にはタッチセンサ50が接続されている。制御部20は、CPUCentralProcessingUnit21、制御クロック発生部図3において単に制御クロックと記載する22、記憶部23及び通信I/Fインタフェース24等を備えて構成されている。CPU21は、制御クロック発生部22が発生する所定周期のクロック信号に基づいて動作し、各種の演算処理を実行してマシニングセンタの各部の動作を制御する処理を行う。記憶部23は、DRAMDynamicRandomAccessMemory又はSRAMStaticRandomAccessMemory等のメモリ素子で構成され、CPU21の演算処理の過程で発生したデータ、又は、サーボアンプ30若しくは入出力ユニット40との通信により送受信したデータ等を一時的に記憶する。制御部20の通信I/F24は、通信バスに接続されており、サーボアンプ30又は入出力ユニット40との通信を行う。通信I/F24は、CPU21から送信指示が与えられた場合に、記憶部23から送信データを読み出して通信バスへ出力することにより送信処理を行う。また通信I/F24は、サーボアンプ30又は入出力ユニット40からのデータを受信した場合に、受信データを記憶部23に記憶し、CPU21へデータを受信した旨を通知する。また制御部20は、サーボアンプ30及び入出力ユニット40との間で周期的に通信を行っているが、CPU21の負荷を低減するために、サーボアンプ30と入出力ユニット40とではそれぞれ異なる周期で通信を行う。具体的には、制御の優先度が高いサーボアンプ30と制御部20との通信周期は短く設定し、優先度が低い入出力ユニット40と制御部20との通信周期は長く設定してある。サーボアンプ30は、CPU31、サーボクロック発生部図3において単にサーボクロックと記載する32、記憶部33、通信I/F34、モータI/F35及びエンコーダI/F36等を備えて構成されている。CPU31は、サーボクロック発生部32が発生する所定周期のクロック信号に基づいて動作する。記憶部33は、DRAM又はSRAM等のメモリ素子で構成され、CPU31の演算処理の過程で発生したデータ、制御部20との通信により送受信したデータ、及び、エンコーダI/F36に入力されたデータ等を一時的に記憶する。通信I/F34は、通信バスに接続されており、制御部20との通信を周期的に行う。またサーボアンプ30のモータI/F35は、主軸モータ61、X軸モータ63、Y軸モータ65又はZ軸モータ67等のモータに接続され、CPU31の制御に従って、モータを回転駆動するための制御信号を出力する。主軸モータ61は、主軸5Aを回転させるためのものである。X軸モータ63及びY軸モータ65は、テーブル8をそれぞれX軸方向及びY軸方向へ移動させるものである。Z軸モータ67は、主軸ヘッド5をZ軸方向へ移動させるものである。X軸モータ63、Y軸モータ65及Z軸モータ67は、主軸5Aに装着された工具6又はタッチセンサ50と、テーブル8に載置されたワークとの相対位置を変位させる変位手段である。エンコーダI/F36は、主軸エンコーダ62、X軸エンコーダ64、Y軸エンコーダ66又はZ軸エンコーダ68等のエンコーダに接続されている。X軸エンコーダ64、Y軸エンコーダ66及びZ軸エンコーダ68は、主軸5Aに装着された工具6又はタッチセンサ50と、テーブル8に載置されたワークとの相対位置を検知する位置検知手段である。これらのエンコーダは対応するモータの回転位置情報を検出してサーボアンプ30へ出力しており、エンコーダI/F36は、CPU31の制御に基づいて、エンコーダから入力された情報をサンプリングし、サンプリングした情報を時系列的に記憶部33に記憶する。CPU31は、エンコーダからの情報に基づいて、主軸5Aの回転速度、並びに、ワーク又はテーブル8に対する主軸5AのX軸方向、Y軸方向及びZ軸方向の位置座標等を算出することができる。記憶部33に記憶する情報は、算出した主軸5Aの座標情報であってよい。第2~第4のサーボアンプ30の記憶部33には、制御部20との通信周期の数周期分に亘るエンコーダの検知結果が、X軸方向、Y軸方向又はZ軸方向の座標情報として記憶され、記憶された座標情報は通信バスを介した通信によって制御部20へ送信される。制御部20は、各サーボアンプ30から受信した座標情報を時系列的に記憶部23に記憶する。即ち、サーボアンプ30の記憶部33及び制御部20の記憶部23は、座標情報を時系列的に複数回分記憶する検知位置記憶手段である。なお後述のタッチセンサ50は主軸5Aに装着されるものであり、記憶部23に記憶する座標情報は、タッチセンサ50の位置座標情報でもある。入出力ユニット40は、シフトレジスタ用クロック発生部図3においては単にシフトクロックと記載41、シフトレジスタ42及び通信I/F43等を備えて構成されている。入出力ユニット40にはタッチセンサ50が接続されており、タッチセンサ50が出力する信号は、入出力ユニット40のシフトレジスタ42に入力されている。タッチセンサ50は、対象物に対する接触の有無を検知するセンサであり、例えば接触有りの場合にハイレベルの信号を出力し、接触なしの場合にローレベルの信号を出力する。シフトレジスタ用クロック発生部41は所定周期のクロック信号を生成して出力しており、シフトレジスタ42はこのクロック信号に応じてタッチセンサ50の出力信号を取り込むサンプリングすると共に、記憶した情報を1ビットずつシフトする。シフトレジスタ42は、N例えばN=4ビットの情報を記憶することができ、タッチセンサ50のN回分のサンプリング結果を記憶することができる。即ち、シフトレジスタ42は、接触検知サンプリング手段であり、接触検知結果記憶手段である。通信I/F43は、通信バスに接続されており、制御部20との通信を周期的に行う。なお通信I/F43は、少なくともシフトレジスタ42に入力されるクロック信号のNシフトレジスタ42のサイズ周期に1回の周期で制御部20との通信を行い、シフトレジスタ42に記憶された値を制御部20へ送信する。制御部20は、入出力ユニット40から受信した情報シフトレジスタ42の値を、入出力ユニット40との通信周期の数周期分に亘って記憶部23に記憶している。即ち、制御部20の記憶部23は、接触検知の結果を時系列的に複数回分記憶する接触検知結果記憶手段でもある。マシニングセンタがテーブル8に載置されたワークの表面形状を測定する場合、主軸5Aにタッチセンサ50を装着し、X軸モータ63及びY軸モータ65の駆動によりテーブル8をX軸方向及びY軸方向へ移動させながら、Z軸モータ67の駆動により主軸ヘッド5をZ軸方向へ移動させ、タッチセンサ50がワークの表面に接触した位置を測定する。タッチセンサ50は、ワークの表面に接触していない場合にローレベルの信号を出力し、ワークの表面に接触した場合にハイレベルの信号を出力する。入出力ユニット40は、シフトレジスタ用クロック発生部41が発生するクロック信号の周期でタッチセンサ50の出力信号をサンプリングし、ハイレベル又はローレベルの1ビットの値をシフトレジスタ42に記憶する。またクロック信号に応じてシフトレジスタ42は記憶した値を順次的にシフトしており、これによりタッチセンサ50の検知結果が時系列的に記憶される。入出力ユニット40は制御部20と周期的に通信を行っており、シフトレジスタ42に記憶したNビットの値を制御部20へ送信する。なお、入出力ユニット40及び制御部20の通信周期は、シフトレジスタ用クロック発生部41が発生するクロック信号の周期よりも長い。また各サーボアンプ30は、エンコーダI/F36に入力されるエンコーダX軸エンコーダ64、Y軸エンコーダ66又はZ軸エンコーダ68の信号を所定周期サーボクロック発生部32が発生するクロック信号の周期であってよく、又はそれ以外の周期であってもよいでサンプリングし、ワークに対する主軸5Aに装着されたタッチセンサ50のX軸方向、Y軸方向又はZ軸方向に関する位置の検知結果を記憶部33に時系列的に記憶する。サーボアンプ30は制御部20と周期的に通信を行っており、記憶部33に記憶した検知位置の情報を制御部20へ送信する。なお、サーボアンプ30及び制御部20の通信周期は、検知位置のサンプリング周期よりも長い。制御部20は、サーボアンプ30との通信により受信したX軸方向、Y軸方向及びZ軸方向に関する検知位置の情報を記憶部23に時系列的に記憶すると共に、入出力ユニット40との通信により受信したタッチセンサ50の検知結果の情報を記憶部23に時系列的に記憶する。即ち、制御部20の記憶部23には、タッチセンサ50の接触有無の検知結果とX軸方向、Y軸方向及びZ軸方向の検知位置とが時系列的に記憶され、各検知結果をサンプリングした際の検知位置が対応付けて記憶される。また制御部20の記憶部23に記憶されるタッチセンサ50の検知結果及び検知位置の情報量は限られており、新たな情報をサーボアンプ30又は入出力ユニット40から受信した場合、最も古い情報が破棄される。なお各サーボアンプ30のサンプリングと入出力ユニット40のサンプリングとは必ずしも同期して行う必要はない。また各サーボアンプ30のサンプリングと入出力ユニット40のサンプリングとは必ずしも同じ周期で行う必要はない。サンプリングが非同期で行われる場合、及び/又は、サンプリングが異なる周期で行われる場合、接触有無の検知結果に対して最も近いタイミングでサンプリングされた検知位置を対応付けて記憶すればよい。図4は、接触位置検出処理を説明するためのタイミングチャートであり、タッチセンサ50の出力信号の一例を上段に示し、入出力ユニット40によるシフトレジスタ42へのサンプリングタイミングを下段に示してある。接触位置検出処理は制御部20のCPU21によって行われる処理であり、図示の例では12周期分A~Fのサンプリング結果が記憶部23に記憶される。また記憶部23には、サンプリングしたタッチセンサ50の検知結果に対応付けて、X軸方向、Y軸方向及びZ軸方向の検知位置の情報が記憶される。なお記憶部23に記憶する検知結果及び検知位置は、タッチセンサ50の接触によって生じるチャタリングの時間図示の例では4周期分と、タッチセンサ50の出力信号が安定して制御部20が接触を確定するまでの時間図示の例では4周期分との合計時間より数周期分多い情報量とすることができる。チャタリングの時間は、例えばマシニングセンタの設計段階などで予め測定して決定することができる。接触位置検出処理において、制御部20のCPU21は、記憶部23に記憶されたタッチセンサ50の検知結果を古いものから順に調べ、接触有りの検知結果が所定回数図示の例では4回連続していた場合に、タッチセンサ50のワークへの接触を確定する図中のタイミングJ。接触確定後、CPU21は、接触確定に係る所定回数の接触有りの検知結果のうちの初回のものタイミングGより前に遡って、記憶部23に記憶された検知結果から最前の接触有りの検知結果タイミングCを取得する即ち、記憶部23から最前の接触有りの検知結果を取得すればよい。CPU21は、この検知結果がサンプリングされたタイミングを、ワークへタッチセンサ50が最初に接触したタイミングとし、この検知結果に対応するX軸方向、Y軸方向及びZ軸方向の検知位置を記憶部23から読み出して、ワークに対するタッチセンサ50の接触位置とする。これにより、実際にタッチセンサ50がワークに接触したタイミングに最も近いサンプリングタイミングタイミングCに対応した検知位置を、CPU21が記憶部23から取得して接触位置とすることができる。図5は、接触位置検出処理を説明するためのタイミングチャートであり、図4にて説明した接触位置検出処理に対して更に最大遡及時間の条件を追加したものである。本処理の手順も、図4に示した処理の手順と同様に、CPU21は、接触有りの検知結果が所定回数連続していた場合に、タッチセンサ50のワークへの接触を確定しタイミングL、接触確定に係る所定回数の接触有りの検知結果のうちの初回のものタイミングIより前に遡って、記憶部23に記憶された接触有りの検知結果を取得する。このとき、本処理では最大遡及時間図示の例ではサンプリングの4周期分の時間が予め設定されており、CPU21は、最大遡及時間の範囲内で検知結果を遡って調べ、最前の接触有りの検知結果タイミングEを取得する。このように最大遡及時間を設定しておくことによって、例えば図示のようにノイズなどによるタッチセンサ50の誤検知タイミングA、Bが生じた場合であっても、CPU21がこの誤検知結果にまで遡って検知位置を接触位置として取得することを防止できる。なお最大遡及時間は、マシニングセンタの設計段階などにおいて予め測定したチャタリングの時間に基づいて決定することができる例えば、チャタリング時間数周期分の時間など。図6は、接触位置検出処理の手順を示すフローチャートであり、制御部20のCPU21が行う処理の手順を示したものである。なお、本処理においては、下記のレジスタ、カウンタ及びフラグ等を用いて処理を行うが、これらは記憶部23の記憶領域の一部分又はCPU21のレジスタ等により実現される。レジスタP1、P2、P3:入出力ユニット40から受信したシフトレジスタ値を一時的に記憶するためのレジスタ。レジスタ長L:レジスタP1、P2、P3のビット長。チャタリング除去閾値N:接触有りを確定するための閾値であり、接触有りの検知結果がN回連続した場合に、接触有りと確定する。カウンタC1:接触有りの連続数をカウントするためのカウンタ。カウンタC2、C3:レジスタP1、P2、P3のレジスタ長だけシフトするために、シフトを行った回数をカウントするカウンタ。カウンタC4:最初の接触有りの検知結果からシフトを行った回数をカウントするためのカウンタ。フラグF1:接触有りの検知結果の有無を示すフラグ。接触位置検出処理において、まずCPU21は、上記のレジスタP1~P3及びカウンタC1~C4の値を0にクリアすると共に、レジスタ長L及びチャタリング除去閾値Nを読み込む初期化処理を行うステップS1。次いでCPU21は、入出力ユニット40との通信が通信I/F24にて行われたか否かを判定しステップS2、通信が行われていない場合にはS2:NO、通信が行われるまで待機する。入出力ユニット40との通信が行われた場合S2:YES、CPU21は、レジスタP3の値をレジスタP2に設定記憶しステップS3、入出力ユニット40から受信した検知結果シフトレジスタ42の値をレジスタP1、P3に設定するステップS4。即ちレジスタP3には、前回の通信にて入出力ユニット40から受信したシフトレジスタの値が記憶されており、レジスタP1に最新の受信データが設定され、レジスタP2に前回の受信データが設定される。以降の処理は、2つのレジスタP1、P2に設定された前回及び最新の2回分の受信データに対して行われる。次いでCPU21は、レジスタP1、P2の値に基づいて、接触確定処理を行うステップS5。図7及び図8は、接触確定処理の手順を示すフローチャートであり、CPU21がステップS5にて行う処理の詳細手順を示したものである。接触確定処理において、CPU21は、レジスタP2のMSBMostSignificantBitの値レジスタP2に記憶された最も古い検知結果が1接触有りであるか否かを判定するステップS21。CPU21は、レジスタP2のMSBの値が1でない場合S21:NO、カウンタC1の値を0に設定しステップS22、また、レジスタP2のMSBの値が1の場合S21:YES、カウンタC1の値に1を加算すると共にフラグF1に1を設定しステップS23、ステップS24へ処理を進める。次いでCPU21は、カウンタC2の値に1を加算しステップS24、レジスタP2を1ビットだけ左シフトMSBのデータを破棄し、他のデータをMSB側へ1ビットずつ繰り上げするステップS25。その後、CPU21は、フラグF1の値が1であるか否かを判定しステップS26、フラグF1の値が1の場合はS26:YES、カウンタC4の値に1を加算してステップS27、ステップS28へ処理を進める。またフラグF1の値が1でない場合S26:NO、CPU21は、ステップS28へ処理を進める。次いでCPU21は、カウンタC1の値がチャタリング除去閾値Nであるか否かを判定するステップS28。カウンタC1の値がチャタリング除去閾値Nである場合S28:YES、接触有りの検知結果がN回連続しているため、CPU21は、接触を確定しステップS42、接触確定処理を終了して図6に示すフローチャートの処理へ戻る。カウンタC1の値がチャタリング除去閾値Nでない場合S28:NO、CPU21は、カウンタC2の値がレジスタ長Lであるか否かを更に判定するステップS29。カウンタC2の値がレジスタ長Lでない場合S29:NO、CPU21は、ステップS21へ処理を戻し、レジスタP2の次のビットについて上記の処理を繰り返し行う。カウンタC2の値がレジスタ長Lの場合S29:YES、レジスタP2の全てのビットについて上記の処理を終えているため、CPU21は、カウンタC2の値を0に設定しステップS30、ステップS31へ処理を進める。次いでCPU21は、レジスタP1に設定された値について同様の処理を行う。CPU21は、レジスタP1のMSBの値が1であるか否かを判定するステップS31。CPU21は、レジスタP1のMSBの値が1でない場合S31:NO、カウンタC1の値を0に設定しステップS32、また、レジスタP1のMSBの値が1の場合S31:YES、カウンタC1の値に1を加算すると共にフラグF1に1を設定しステップS33、ステップS34へ処理を進める。次いでCPU21は、カウンタC3の値に1を加算しステップS34、レジスタP1を1ビットだけ左シフトするステップS35。その後、CPU21は、フラグF1の値が1であるか否かを判定しステップS36、フラグF1の値が1の場合はS36:YES、カウンタC4の値に1を加算してステップS37、ステップS38へ処理を進める。またフラグF1の値が1でない場合S36:NO、CPU21は、ステップS38へ処理を進める。次いでCPU21は、カウンタC1の値がチャタリング除去閾値Nであるか否かを判定するステップS38。カウンタC1の値がチャタリング除去閾値Nである場合S38:YES、接触有りの検知結果がN回連続しているため、CPU21は、接触を確定しステップS42、接触確定処理を終了して図6に示すフローチャートの処理へ戻る。カウンタC1の値がチャタリング除去閾値Nでない場合S38:NO、CPU21は、カウンタC3の値がレジスタ長Lであるか否かを更に判定するステップS39。カウンタC3の値がレジスタ長Lでない場合S39:NO、CPU21は、ステップS31へ処理を戻し、レジスタP1の次のビットについて上記の処理を繰り返し行う。カウンタC3の値がレジスタ長Lの場合S39:YES、レジスタP1の全てのビットについて上記の処理を終えているため、CPU21は、カウンタC1の値を0に設定してステップS40、接触無しと判定しステップS41、接触確定処理を終了して図6に示すフローチャートの処理へ戻る。ステップS5の接触確定処理を終えた後、CPU21は、接触確定処理の処理結果に基づいて、接触が確定したか否かを判定するステップS6。接触が確定していない場合S6:NO、CPU21は、ステップS2へ処理を戻し、入出力ユニット40との次の通信を待機する。接触が確定した場合S6:YES、CPU21は、ワークに対するタッチセンサ50の接触位置を確定する接触位置確定処理を行うステップS7。図9は、接触位置確定処理の手順を示すフローチャートであり、CPU21がステップS7にて行う処理の詳細手順を示したものである。接触位置確定処理において、まずCPU21は、遡及限界値Xの読み出しを行うステップS51。遡及限界値Xは、図5に示した最大遡及時間に対応するものであり、最大遡及時間がサンプリング周期シフトレジスタ用クロック発生部41が発生するクロック信号の周期の何周期分に相当するかを示す固定値である。次いでCPU21は、カウンタC4の値が遡及限界値Xより小さいか否かを判定するステップS52。カウンタC4の値が遡及限界値Xより小さい場合S52:YES、CPU21は、接触確定処理にて接触を確定したタイミングからカウンタC4の値だけ遡ったタイミングに対応する検知位置を記憶部23から取得しステップS53、この検知位置を接触位置として接触位置確定処理を終了し、図6に示すフローチャートへ処理を戻す。また、カウンタC4の値が遡及限界値X以上の場合S52:NO、CPU21は、接触確定処理にて接触を確定したタイミングから遡及限界値Xだけ遡ったタイミングに対応する検知位置を記憶部23から取得しステップS54、この検知位置を接触位置として接触位置確定処理を終了し、図6に示すフローチャートへ処理を戻す。図6の接触位置検出処理では、ステップS7の接触位置確定処理にて確定した接触位置を検出結果とし、処理を終了する。以上の構成のマシニングセンタにおいては、タッチセンサ50の出力信号検知結果をサンプリングしてシフトレジスタ42、記憶部23に時系列的に記憶し、接触有りの検知結果が所定回数連続した場合に接触を確定する構成とすることにより、所定回数未満の検知結果が除外されるため、チャタリングの影響を除去することができる。また、テーブル8に載置されたワークに対する主軸5Aに装着されたタッチセンサ50の位置をX軸方向、Y軸方向及びZ軸方向の座標情報としてサンプリングして記憶部23、33に時系列的に記憶し、タッチセンサ50の接触を確定した場合に、接触検知を確定した所定回数の検知結果の初回分をサンプリングしたタイミングより以前に遡って、記憶した検知位置を取得して接触位置とする構成とすることにより、チャタリングを除去して接触を確定する以前に遡ったタッチセンサ50の位置を最終的なタッチセンサ50の接触位置の検出結果とすることができる。チャタリングはタッチセンサ50及びワークの接触によって発生するため、接触確定以前に検知位置を遡ることによって、実際の接触位置に近い検出結果を得ることができ、接触位置の検出精度を向上することができる。また、接触確定以前に遡って検知位置を取得する際には、時系列的に記憶した検知位置の中から、タッチセンサ50による接触有りの検知結果に対応する最前最も古い検知位置を取得する構成とすることにより、遡って検知位置を取得する処理が容易であると共に、検知位置の記憶数検知位置を記憶するために必要な記憶部23の容量を、チャタリングの発生から検知結果が安定するまでの時間程度のサンプリング結果を記憶できる小容量とすることができる。また、接触確定から遡った最前の接触有りの検知結果が、接触確定から最大遡及時間より前のものである場合、最前の接触有りの検知結果に対応する検知位置を接触位置とするのではなく、最大遡及時間だけ遡った検知結果に対応する検知位置を接触位置とする構成とすることにより、チャタリング以前に例えば外乱ノイズなどの影響でタッチセンサ50の誤検知が発生した場合であっても、この誤検知の影響を除外することができる。なお、本実施の形態においては、タッチセンサ50を用いた対象物に対する接触位置の検出を行う構成接触位置検出装置をマシニングセンタに適用した例を示したが、接触位置検出装置の適用はマシニングセンタに限らず、その他の種々の対象物に対する接触位置検出を行う機能を有する種々の機器に適用可能である。また、タッチセンサ50の検知結果を入出力ユニット40にてサンプリングし、通信によって制御部20へサンプリング結果を与える構成としたが、これに限るものではなく、制御部20が直接的にタッチセンサ50の検知結果をサンプリングする構成であってもよい。同様に、X軸方向、Y軸方向及びZ軸方向の検知位置についても、サーボアンプ30から制御部20へサンプリング結果を送信するのではなく、制御部20が直接的にサンプリングする構成であってもよい。また、制御部20の記憶部23及び/又はサーボアンプ30の記憶部33は、検知結果又は検知位置の記憶に関してシフトレジスタで構成してもよい。また、接触確定から遡って接触位置を取得する際に、最大遡及時間遡及限界値Xにて遡る時間を限定する構成としたが、これを行わない構成としてもよい。最大遡及時間による限定を行うか否かは、制御部20の記憶部23に記憶しておく検知結果の量何周期分の検知結果を記憶しておくか、及び、接触を確定する接触有りの検知結果の連続数即ち、チャタリング除去閾値N等の条件に基づいて、装置の設計者などが予め判断することができる。実施の形態2上述の実施の形態1に係るマシニングセンタは、タッチセンサ50を用いてワークの形状測定を行う構成であるのに対し、実施の形態2に係るマシニングセンタは、タッチセンサに対する工具6の接触位置の検知結果に応じて、工具6の折損検出を行う構成である。図10は、実施の形態2に係るマシニングセンタの構成を説明するための模式図である。実施の形態2に係るマシニングセンタは、ワークを載置するテーブル8上にタッチセンサ150が設けられている。マシニングセンタの制御部20は、X軸モータ63及びY軸モータ65を駆動することによって、主軸5Aに装着された工具6の直下にセンサ150が位置するよう、テーブル8をX軸方向及びY軸方向へ移動させることができる。その後、制御部20は、主軸5Aに装着された工具6がタッチセンサ150に接触するまで、Z軸モータ67の駆動によって主軸ヘッド5をZ軸方向の下方へ移動させ、工具6がタッチセンサ150に接触した場合のZ軸方向の座標情報を取得する。このときに制御部20が取得するZ軸方向の座標情報は、主軸5Aに装着された工具6の長さに対応する情報である。マシニングセンタには、各工具6の長さに対応して、タッチセンサ150に接触することが期待されるZ軸方向の座標情報が予め記憶されており、予め記憶した座標情報と実際に検出した座標情報との差が閾値を超えた場合に、制御部20は工具6に折損が生じていることを検出する。なお、実施の形態2に係るマシニングセンタの折損検出処理では、実施の形態1に係るマシニングセンタのワークの形状測定処理と同様に、タッチセンサ150に対する工具6の接触ありの検知結果が所定回数連続した場合に接触を確定し、接触確定から遡って接触位置Z軸方向の座標情報を取得する。また、実施の形態2に係るマシニングセンタは、主軸ヘッド5のZ軸方向への移動制御に関して、温度変化による移動量の変化を補正することができる。以下、この補正処理について簡単に説明する詳細は特許文献2を参照。マシニングセンタの主軸ヘッド5にはナット部図示は省略するが設けられ、このナット部はコラム4に設けられたボールネジ図示は省略すると螺合している。ボールネジは回転自在に支持されており、Z軸モータ67によってボールネジが回転駆動されることにより、主軸ヘッド5がZ軸方向へ移動する。加工の際に主軸ヘッド5がZ軸方向への移動を繰り返すと、主軸ヘッド5のナット部とボールネジとの摩擦によって発熱し、これらの熱がコラム4、ボールネジ及び主軸ヘッド5等に伝わり、各部の温度が上昇する。このとき、コラム4は上方へ膨張し、ボールネジは下方へ膨張し、主軸ヘッド5は下方へ膨張するため、これらの膨張量に応じて主軸ヘッド5の下端面工具6が装着される位置は変位する。そこで実施の形態2に係るマシニングセンタの制御部20は、以下の処理を行うことで加工条件主軸ヘッド5のZ軸方向への移動量を補正する。まず制御部20は、主軸ヘッド5の基準位置例えば工具交換を行う位置から、主軸5Aに装着された第1の工具がタッチセンサ150に接触するまで接触確定するまで、主軸ヘッド5をZ軸方向の下方へ移動させ、第1の工具がタッチセンサ150に接触した位置この位置をZ1とするを取得する。次いで制御部20は、予め記憶された第1の工具の寸法及びタッチセンサ150の寸法等によって定義される位置情報即ち、第1の工具によるタッチセンサ150への接触位置の期待値と、実際に検出した位置情報Z1との差を変位量D1として算出する。次いで制御部20は、工具交換を行って主軸5Aに第2の工具第1の工具とは長さが異なる工具を装着し、同様にして第2の工具がタッチセンサ150に接触した位置Z2を検出し、変位量D2を算出する。以上の処理によって得られた接触位置Z1、Z2及び変位量D1、D2を用いると、Z軸方向の座標zにおける変位量Dzを下記の1式で表すことができる。Dz=D2-D1/Z2-Z1×zZ2×D1-Z1×D2/Z2-Z1...1上記の1式により、Z軸方向の各位置における変位量を算出することができるため、制御部20がこの変位量を打ち消すように主軸ヘッド5のZ軸方向への移動量を補正することによって、マシニングセンタの加工精度を高めることができる。なお、接触位置Z1、Z2を検出する際には、実施の形態1に係るマシニングセンタのワークの形状測定処理と同様に、タッチセンサ150に対する第1の工具又は第2の工具の接触ありの検知結果が所定回数連続した場合に接触を確定し、接触確定から遡って接触位置Z1、Z2を取得する。以上の構成の実施の形態2に係るマシニングセンタは、工具6の折損検出又はZ軸方向の移動に係る補正処理を、タッチセンサ150への工具6の接触位置の検知結果に基づいて行うと共に、タッチセンサ150の接触確定から遡って接触位置を取得する構成とすることにより、タッチセンサ150にて発生するチャタリングの影響を除去することができると共に、接触位置の検出精度を向上することができるため、折損検出処理又は補正処理を高精度に行うことができる。