(57)【要約】【課題】  簡単な構成で製造コストを抑制することができるチャタリング除去装置を提供する。【解決手段】  テンポラリレジスタＲ２に記憶している前回のシフトレジスタ値のＭＳＢが１であるか否かを判定する。前回のシフトレジスタ値のＭＳＢが１の場合は（Ｓ１３；Ｙｅｓ）、カウンタＣ１を１だけインクリメントする（Ｓ１４）。カウンタＣ２を１だけインクリメントし（Ｓ１６）、テンポラリレジスタＲ２のシフトレジスタ値を１ビット左シフトする（Ｓ１７）。カウンタＣ１のカウント値がチャタリング除去閾値Ｎ（例えば４）、つまり、最新のシフトレジスタ値における「１」の連続数が４であるか否かを判定する。カウンタＣ１のカウント値が４である場合は（Ｓ１８；Ｙｅｓ）、タッチセンサ７５がＯＮしたと判定する。【選択図】  図７
2010157975.tif 000002
【特許請求の範囲】
【請求項１】
対象物への接触の有無を検出するセンサ手段の検出信号からチャタリングを除去するチャタリング除去装置において、
前記センサ手段が検出した検出信号に基づく検出値を受信して時系列的に記憶するシフトレジスタを有するＩ／Ｏユニットと、
前記Ｉ／Ｏユニットと通信可能に接続された制御部と、
前記Ｉ／Ｏユニットと前記制御部とが通信する通信周期毎に、前記シフトレジスタから最新の検出値を読み出す読出し手段と、
前記読出し手段が読み出した検出値に基づいて、前記センサ手段のチャタリング除去に関する判定を行う判定手段とを備えたことを特徴とするチャタリング除去装置。
【請求項２】
前記センサ手段は、ワークの表面に接触させて表面形状を測定可能なタッチセンサで構成され、
前記制御部は、前記シフトレジスタから読み出された検出値を累積的に記憶する検出値記憶手段を有し、
前記判定手段は、前記検出値記憶手段に記憶している前回の通信周期に前記読出し手段が読み出した検出値と、前記最新の検出値とに基づいて、前記タッチセンサがワークの表面に接触したことを示す検出値が所定回数連続する場合、前記タッチセンサがワークの表面に接触したものと判定することを特徴とする請求項１に記載のチャタリング除去装置。
【請求項３】
前記センサ手段は、最新の切削加工に使用した工具に接触させて工具の折損検出を行う工具折損検出装置のタッチセンサで構成され、
前記判定手段は、前記読出し手段が読み出した検出値に基づいて、前記タッチセンサが工具に接触したことを示す検出値が前記シフトレジスタの所定ビット内にある場合、前記タッチセンサが正常に検出しているものと判定することを特徴とする請求項１に記載のチャタリング除去装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物への接触の有無を検出するセンサ手段の検出信号からチャタリングを除去するチャタリング除去装置に関する。
【背景技術】
【０００２】
従来、数値制御（所謂、ＮＣ制御）可能な工作機械は、ワークと工具とをＸＹＺ直交座標系における各軸方向へ独立に相対移動させることによって、ワークに所望の機械加工（例えば、「フライス削り」、「穴空け」、「切削」等）を施すことができる。機械加工後、工作機械は主軸にタッチセンサを装着し、ワークの表面にタッチセンサを接触させて表面形状を測定することができるようになっている。
【０００３】
このような工作機械は、タッチセンサのワークの表面への接触の有無を示す検出信号を受け取るＩ／Ｏユニットと、Ｘ，Ｙ，Ｚ軸サーボ機構を介してタッチセンサのＸ，Ｙ，Ｚ軸座標値を検出するＸ，Ｙ，Ｚ軸サーボアンプと、Ｘ，Ｙ，Ｚ軸サーボ機構を制御する制御部などを備えている。
【０００４】
Ｘ，Ｙ軸サーボ機構によりワークを固定したテーブルをＸ軸方向とＹ軸方向に移動させながら、Ｚ軸サーボ機構により主軸ヘッドとタッチセンサをＺ軸方向に昇降駆動させて、ワークの表面形状の測定を行う。タッチセンサがワークに接触した位置・ワークから離れた位置からワークの形状を測定するが、機械式接点を持つタッチセンサの場合、接点でチャタリングが発生することがある。
【０００５】
この場合、タッチセンサがワークに接触した位置・離れた位置を誤検出してしまう可能性がある。その結果、ワークの表面形状データの測定誤差が大きくなるので、タッチセンサの検出信号からチャタリングを除去する必要がある。
【０００６】
これと同様に、最新の切削加工に使用した工具に接触させて工具の折損検出を行う工具折損検出装置のタッチセンサにおいても、タッチセンサ接点部でチャタリングが発生する場合がある。
【０００７】
工具折損検出装置は自動工具交換時にタッチセンサを旋回させ、タッチセンサが工具に当接するか否かによって工具の折損を検出するようになっている。工具が折損していない場合に、タッチセンサが工具に当接したとき、タッチセンサの検出信号に基づく検出値が「Ｈ」になる。しかし、タッチセンサの検出信号にチャタリングが発生した場合タッチセンサが誤検出し、工具が折損しているときにも検出値が「Ｈ」になる可能性がある。その結果、工具の折損検出精度が低下するという問題がある。この場合にも、タッチセンサの検出信号からチャタリングを除去する必要がある。
【０００８】
例えば、特許文献１には、内部クロックの立ち上がり時にキー入力信号をサンプリングして予め定めた回数だけ連続して同じ値が入力されたときにその値を出力するチャタリング除去ブロックと、チャタリング除去ブロックに入力するリセット信号を遅らせるシフトレジスタ等を備えたチャタリング除去回路を開示してある。チャタリング除去回路をテレビドアホン用画像処理ＬＳＩに設けることで、このＬＳＩに入力される機械スイッチ入力信号のチャタリング除去を実現する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第３１６８０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１に記載のチャタリング除去回路においては、チャタリング除去ブロックの詳細な構成については何ら開示していないが、製造コストの観点から簡単な構成で実現できるのが望ましい。
【００１１】
本発明の目的は、簡単な構成で製造コストを抑制することができるチャタリング除去装置を提供することである。
【課題を解決するための手段】
【００１２】
請求項１のチャタリング除去装置は、対象物への接触の有無を検出するセンサ手段の検出信号からチャタリングを除去するチャタリング除去装置において、前記センサ手段が検出した検出信号に基づく検出値を受信して時系列的に記憶するシフトレジスタを有するＩ／Ｏユニットと、前記Ｉ／Ｏユニットと通信可能に接続された制御部と、前記Ｉ／Ｏユニットと前記制御部とが通信する通信周期毎に、前記シフトレジスタから最新の検出値を読み出す読出し手段と、前記読出し手段が読み出した検出値に基づいて、前記センサ手段のチャタリング除去に関する判定を行う判定手段とを備えたことを特徴としている。
【００１３】
このチャタリング除去装置では、センサ手段が検出した検出信号に基づく検出値を、Ｉ／Ｏユニットのシフトレジスタが受信して時系列的に記憶する。Ｉ／Ｏユニットと制御部とが通信する通信周期毎に、読出し手段がシフトレジスタから最新の検出値を読み出す。
次に、読出し手段が読み出した検出値に基づいて、判定手段がセンサ手段のチャタリング除去に関する判定を行う。
【００１４】
具体的には、センサ手段として、ワークにおける表面形状測定用のタッチセンサや工具折損検出装置のタッチセンサ等に適用することが可能である。表面形状測定用のタッチセンサに適用した場合、判定手段がタッチセンサのチャタリング除去に関する判定を行うことでタッチセンサの誤検出を低減することができる。折損検出装置のタッチセンサに適用した場合、前記の同様にタッチセンサの誤検出を低減することができる。
【００１５】
請求項２のチャタリング除去装置は、請求項１の発明において、前記センサ手段は、ワークの表面に接触させて表面形状を測定可能なタッチセンサで構成され、前記制御部は、前記シフトレジスタから読み出された検出値を累積的に記憶する検出値記憶手段を有し、前記判定手段は、前記検出値記憶手段に記憶している前回の通信周期に前記読出し手段が読み出した検出値と、前記最新の検出値とに基づいて、前記タッチセンサがワークの表面に接触したことを示す検出値が所定回数連続する場合、前記タッチセンサがワークの表面に接触したものと判定することを特徴としている。
【００１６】
請求項３のチャタリング除去装置は、請求項１の発明において、前記センサ手段は、最新の切削加工に使用した工具に接触させて工具の折損検出を行う工具折損検出装置のタッチセンサで構成され、前記判定手段は、前記読出し手段が読み出した最新の検出値に基づいて、前記タッチセンサが工具に接触したことを示す検出値が前記シフトレジスタの所定ビット内にある場合、前記タッチセンサが正常に検出しているものと判定することを特徴としている。
【発明の効果】
【００１７】
請求項１の発明によれば、シフトレジスタを有するＩ／Ｏユニットと、Ｉ／Ｏユニットと通信可能に接続された制御部と、Ｉ／Ｏユニットと制御部とが通信する通信周期毎に、シフトレジスタから最新の検出値を読み出す読出し手段と、検出値に基づいてセンサ手段のチャタリング除去に関する判定を行う判定手段とを備えたので、センサ手段の検出信号に発生したチャタリングを除去することができる。
【００１８】
Ｉ／Ｏユニットと制御部については、工作機械が備えるものを使用することができるので、シフトレジスタと読出し手段と判定手段を新たに設けるだけでチャタリング除去装置を実現することができる。これにより、チャタリング除去装置を簡単な構成で実現できるので、製造コストを抑制することができる。
【００１９】
請求項２の発明によれば、センサ手段は、ワークの表面に接触させて表面形状を測定可能なタッチセンサで構成され、制御部は検出値記憶手段を有し、判定手段は、検出値記憶手段に記憶している前回の検出値と、最新の検出値とに基づいて、タッチセンサがワークの表面に接触したことを示す検出値が所定回数連続する場合、タッチセンサがワークの表面に接触したものと判定するので、ワークの表面にタッチセンサを接触させて表面形状を測定する際に、タッチセンサの誤検出を低減できる。これにより、ワークの表面形状データの測定精度を向上させることができる。
【００２０】
請求項３の発明によれば、センサ手段は、工具折損検出装置のタッチセンサで構成され、判定手段は、読出し手段が読み出した最新の検出値に基づいて、タッチセンサが工具に接触したことを示す検出値がシフトレジスタの所定ビット内にある場合、タッチセンサが正常に検出しているものと判定するので、工具折損検出装置のタッチセンサを最新の切削加工に使用した工具に接触させて工具の折損検出を行う際に、タッチセンサの誤検出を低減することができる。これにより、工具の折損検出精度を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施例に係る工作機械の機械本体の全体斜視図である。
【図２】主軸ヘッド及び自動工具交換装置などの側面図である。
【図３】工作機械の制御系を示すブロック図である。
【図４】ワークの表面形状測定のタイミングチャートである。
【図５】（ａ）は前回のシフトレジスタ値を示す説明図、（ｂ）は最新のシフトレジスタ値を示す説明図である。
【図６】位置特定制御プログラムのフローチャートである。
【図７】チャタリング除去制御プログラムのフローチャートの一部である。
【図８】チャタリング除去制御プログラムのフローチャートの残部である。
【図９】実施例２における工作機械の制御系を示すブロック図である。
【図１０】（ａ）は工具マガジンの正面図、（ｂ）は工具マガジンの側面図である。
【図１１】実施例２の工作機械が備える工具折損検出装置の斜視図である。
【図１２】（ａ）は工具折損検出装置の分解斜視図、（ｂ）はケースを取外した状態の工具折損検出装置の正面図である。
【図１３】正常時と異常時におけるタッチセンサがＯＮするタイミングを示すタイミングチャートである。
【図１４】実施例２におけるチャタリング除去制御プログラムのフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明を実施する為の最良の形態について説明する。
【実施例１】
【００２３】
本実施例は、ワークの表面に接触させて表面形状を測定可能なタッチセンサ７５を有する工作機械Ｍに、本発明を適用した場合の一例である。
図１〜図３に基づいて工作機械Ｍの構成について説明する。
工作機械Ｍは、ワークと工具６とをＸＹＺ直交座標系における各軸方向へ独立に相対移動させることによって、ワークに所望の機械加工（例えば、「フライス削り」、「穴空け」、「切削」等）を施すことができる。
【００２４】
図１に示すように、工作機械Ｍは、鋳鉄製の基台であるベース１と、ベース１の上部に設けて、ワークの切削加工を行う機械本体２と、ベース１の上部に固定した、機械本体２とベース１の上部を覆う箱状の図示しないスプラッシュカバーとを主体に構成してある。
ベース１はＹ軸方向（図１において右下が工作機械Ｍの前方であり、Ｙ軸方向は、工作機械Ｍの前後方向である）に長い略直方体状の鋳造品である。
【００２５】
次に、機械本体２について説明する。
機械本体２は、ベース１の後部上のコラム座部３に固定され且つ鉛直上方に延びるコラム４と、このコラム４の前面に沿って昇降可能な主軸ヘッド５と、この主軸ヘッド５の内部に回転可能に支持された主軸５Ａと、主軸ヘッド５の右側に設け且つ主軸５Ａの先端に工具６の工具ホルダを取り付けて交換する自動工具交換装置（ＡＴＣ）７と、ベース１の上部に設け且つワークを着脱可能に固定するテーブル８とを主体に構成してある。コラム４の背面側には、箱状の制御ボックス９を設け、この制御ボックス９の内側には、工作機械の動作を制御する制御部２０（図３参照）を設けてある。
【００２６】
次に、テーブル８をＸ軸方向とＹ軸方向に移動させる移動機構について説明する。
図１、図３に示すように、サーボモータからなるＸ軸モータ７１及びＹ軸モータ７２は、Ｘ軸方向（図１の機械本体２の左右方向）及びＹ軸方向（機械本体２の奥行き方向）にテーブル８を移動する。この移動機構は以下の構成からなる。まず、テーブル８の下側には直方体状の支持台１０を設けてある。その支持台１０にはＸ軸方向に沿って延びる１対のＸ軸送りガイドを設け、１対のＸ軸送りガイド上にテーブル８を移動可能に支持している。
【００２７】
ベース１の上側に支持台１０を配置し、そのベース１の長手方向に沿って延びる１対のＹ軸送りガイド上に支持台１０を移動可能に支持している。支持台１０上に設けたＸ軸モータ７１がＸ軸送りガイドに沿ってＸ軸方向にテーブル８を移動駆動し、ベース１上に設けたＹ軸モータ７２がＹ軸送りガイドに沿ってＹ軸方向に支持台１０を移動駆動する。
【００２８】
Ｘ軸送りガイドには、テレスコピック式に収縮するテレスコピックカバー１１，１２がテーブル８の左右両側に設けてある。Ｙ軸送りガイドには、テレスコピックカバー１３とＹ軸後カバーとが、支持台１０の前後に夫々設けてある。これら複数のカバーによって、テーブル８がＸ軸方向とＹ軸方向の何れの方向に移動した場合でも、テレスコピックカバー１１，１２，１３とＹ軸後カバーが、常にＸ軸送りガイドとＹ軸送りガイドを覆っている。テレスコピックカバー１１，１２，１３とＹ軸後カバーは、加工領域から飛散する切粉や、クーラント液が各レール上に落下するのを防止する。
【００２９】
次に、主軸ヘッド５の昇降機構について説明する。
図１〜図３に示すように、コラム４の前面側で上下方向に延びるガイドレールには、リニアガイドを介して主軸ヘッド５を昇降自在に支持している。サーボモータからなるＺ軸モータ７３は、Ｚ軸方向（図１の機械本体２の上下方向）に主軸ヘッド５を昇降駆動する。
【００３０】
図１，図２に示すように、自動工具交換装置７は、工具６を支持する工具ホルダを複数格納する工具マガジン１４と、前記主軸５Ａに取付けた工具ホルダと他の工具ホルダとを把持して搬送するための工具交換アーム１５等を有する。
【００３１】
次に、工作機械Ｍの制御系の電気的構成について説明する。
図３に示すように、制御部２０は、マイクロコンピュータを含んで構成してあり、表示インタフェース（Ｉ／Ｆ）２４と、通信インタフェース（Ｉ／Ｆ）２５，２７と、サーボインタフェース（Ｉ／Ｆ）２６と、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ（検出値記憶手段）２３等を有する。表示Ｉ／Ｆ２４に液晶ディスプレイ１８を接続し、通信Ｉ／Ｆ２５に操作パネル１９を接続している。サーボＩ／Ｆ２６にサーボアンプ３０，４０，５０，６０を夫々接続し、通信Ｉ／Ｆ２７にＩ／Ｏユニット８０を接続している。
【００３２】
主軸サーボアンプ６０は、主軸モータ７４と主軸エンコーダ７４ａに夫々接続している。Ｘ軸サーボアンプ３０は、Ｘ軸モータ７１とＸ軸エンコーダ７１ａに夫々接続している。Ｙ軸サーボアンプ４０は、Ｙ軸モータ７２とＹ軸エンコーダ７２ａに夫々接続している。Ｚ軸サーボアンプ５０は、Ｚ軸モータ７３とＺ軸エンコーダ７３ａに夫々接続している。Ｉ／Ｏユニット８０は、主軸５Ａに取付けたタッチセンサ７５に接続している。
【００３３】
Ｘ軸モータ７１、Ｙ軸モータ７２は、夫々、テーブル８をＸ軸方向、Ｙ軸方向に移動させるものである。Ｚ軸モータ７３は、主軸ヘッド５をＺ軸方向に昇降駆動させるものである。主軸モータ７４は、前記主軸５Ａを回転させる為のものである。
【００３４】
サーボアンプ３０，４０，５０，６０は、マイクロコンピュータを含んで構成してあり、サーボインタフェース（Ｉ／Ｆ）３４，４４，５４，６４と、モータインタフェース（Ｉ／Ｆ）３５，４５，５５，６５と、エンコーダインタフェース（Ｉ／Ｆ）３６，４６，５６，６６と、ＣＰＵ３１，４１，５１，６１と、ＲＯＭ３２，４２，５２，６２と、ＲＡＭ３３，４３，５３，６３等を有する。
【００３５】
サーボアンプ３０，４０，５０は、Ｘ，Ｙ，Ｚ軸モータ７１，７２，７３とＸ，Ｙ，Ｚ軸エンコーダ７１ａ，７２ａ，７３ａとを夫々有するＸ，Ｙ，Ｚ軸サーボ機構を介して、タッチセンサ７５のＸ，Ｙ，Ｚ軸座標値を検出する。ＲＡＭ３３，４３，５３は、Ｘ，Ｙ，Ｚ軸に対応つけて検出した座標値を夫々記憶する。
【００３６】
制御部２０は、制御部２０のＣＰＵ２１の負荷を減らすため、Ｉ／Ｏユニット８０とサーボアンプ３０，４０，５０，６０に対して夫々異なる通信周期で通信可能に接続している。具体的には、優先的に制御する必要のあるサーボアンプ３０，４０，５０，６０と制御部２０との通信周期（サーボアンプ通信周期）を短く設定し、サーボアンプ３０，４０，５０，６０ほど優先的に制御する必要にないＩ／Ｏユニット８０と制御部２０との通信周期（Ｉ／Ｏユニット通信周期）を長く設定してある。
【００３７】
ＲＯＭ２２は、工作機械Ｍの加工プログラムを機能させるメインの制御プログラム、ワークの表面形状測定の制御プログラム、図６のフローチャートに示す位置特定の制御プログラム、図７、図８のフローチャートに示すチャタリング除去の制御プログラム等を記憶している。
【００３８】
ＲＡＭ２３は、サーボアンプ３０，４０，５０が検出した座標値をサーボアンプ通信周期毎に時系列的に記憶する。さらに、ＲＡＭ２３は、後述のシフトレジスタ８１から読み出された検出値をＩＯユニット通信周期毎に累積的に記憶する。
制御部２０は、Ｉ／Ｏユニット通信周期毎にシフトレジスタ８１から最新のシフトレジスタ値を読み出し、読み出したシフトレジスタ値に基づいて、タッチセンサ７５がワークの表面に接触した時刻に最も近い通信周期時刻を決定する。制御部２０は、決定した通信周期時刻とＲＡＭ２３に記憶していた座標値とに基づいて、通信周期時刻における座標値をワークの表面形状データとして決定する。
【００３９】
Ｉ／Ｏユニット８０は、通信インタフェース（Ｉ／Ｆ）８２と、４ビットシフトレジスタ８１等を有する。Ｉ／Ｏユニット８０は、タッチセンサ７５のワークの表面への接触の有無を示す検出信号に基づく検出値をタッチセンサ７５から受信し、タッチセンサ７５から受信した検出値をシフトレジスタ８１が時系列的に記憶する。シフトレジスタ８１に検出値を記憶する周期は、Ｉ／Ｏユニット通信周期よりも短く設定してある。尚、チャタリング除去装置７０は、タッチセンサ７５とＩ／Ｏユニット８０と制御部２０とで構成してある。
【００４０】
次に、ワークの表面形状測定について、図４に基づいて説明する。
図４は、制御部２０が実行するワークの表面形状測定のタイミングチャートである。
Ｘ軸モータ７１及びＹ軸モータ７２の駆動によりテーブル８をＸ軸及びＹ軸方向に移動させながら、Ｚ軸モータ７３の駆動により主軸ヘッド５をＺ軸方向に移動させてワークの表面形状測定を開始する。タッチセンサ７５がワークの表面に接触したとき、タッチセンサ７５からの検出信号が「Ｈ」レベルになり、Ｉ／Ｏユニット８０がこの検出信号を受信する。
【００４１】
次のシフトレジスタクロックの立ち上がりエッジＣＫ１でこの検出信号に基づく検出値を取り込んでシフトレジスタ値が「０００１」となる。この検出信号が「Ｈ」レベルのままであるので、シフトレジスタクロックの立ち上がりエッジＣＫ２でこの検出値を取り込んでシフトレジスタ値が「００１１」となる。
【００４２】
次に、Ｉ／Ｏユニット通信クロックの立ち下がりエッジで、制御部２０がＩ／Ｏユニット８０との通信を開始する。ここで、制御部２０が、シフトレジスタ値「００１１」をシフトレジスタ８１から通信Ｉ／Ｆ８２を介して読み出してＲＡＭ２３に記憶させる。
【００４３】
シフトレジスタクロックの立ち上がりエッジＣＫ３，ＣＫ４で夫々「Ｈ」レベルの検出信号に基づく検出値を取り込んでシフトレジスタ値が「０１１１」、「１１１１」となる。これと同様にして、シフトレジスタクロックの立ち上がりエッジＣＫ５，ＣＫ６で夫々「Ｈ」レベルの検出信号に基づく検出値を取り込んでシフトレジスタ値が「１１１１」を維持する。このとき、シフトレジスタ８１は、ＲＡＭ２３が記憶する前回のシフトレジスタ値「００１１」の後に、取り込んだ検出値をシフトレジスタ値として記憶している。
【００４４】
次に、Ｉ／Ｏユニット通信クロックの立ち下がりエッジで、制御部２０がＩ／Ｏユニット８０との通信を開始する。ここで、制御部２０が、シフトレジスタ値「１１１１」をシフトレジスタ８１から通信Ｉ／Ｆ８２を介して読み出してＲＡＭ２３に累積的に記憶させる。
【００４５】
このとき、制御部２０は、図５（ａ）に示すＲＡＭ２３に記憶している前回の通信周期に読み出したシフトレジスタ値「００１１」と、図５（ｂ）に示す最新のシフトレジスタ値「１１１１」とに基づいて、タッチセンサがワークの表面に接触したか否かを判定することで、タッチセンサの検出信号からチャタリングを除去する。詳細については次に説明する。
【００４６】
次に、制御部２０が実行する位置特定制御について、図６〜図８のフローチャートに基づいて説明する。尚、図中Ｓｉ（ｉ＝１，２・・・）は各ステップを示す。この位置特定制御は、ワークの表面形状測定時に制御部２０が継続的に実行するものである。
制御部２０が位置特定制御を開始すると、最初にチャタリング除去処理を実行する（Ｓ１）。
【００４７】
チャタリング除去処理を開始すると、テンポラリレジスタＲ１，Ｒ２のレジスタ値を０にリセットし、カウンタＣ１，Ｃ２，Ｃ３のカウンタ値を０にリセットする（Ｓ１０）。
制御部２０とＩ／Ｏユニット８０との通信タイミングの場合、具体的には、Ｉ／Ｏユニット通信クロックの立ち下がりエッジで（Ｓ１１；Ｙｅｓ）、最新のシフトレジスタ値をテンポラリレジスタＲ１に記憶する。このとき、前回の通信時に取得したシフトレジスタ値（以降、前回のシフトレジスタ値とする）がテンポラリレジスタＲ１に記憶されている場合は、先に、前回のシフトレジスタ値をテンポラリレジスタＲ２に記憶してから、最新のシフトレジスタ値をテンポラリレジスタＲ１に記憶する。
【００４８】
次に、テンポラリレジスタＲ２に記憶している前回のシフトレジスタ値のＭＳＢ（最上位ビット）が１であるか否かを判定する。前回のシフトレジスタ値のＭＳＢが０の場合（Ｓ１３；Ｎｏ）、カウンタＣ１を０にリセットし（Ｓ１５）、Ｓ１６へ移行する。前回のシフトレジスタ値のＭＳＢが１の場合は（Ｓ１３；Ｙｅｓ）、カウンタＣ１を１だけインクリメントする（Ｓ１４）。
【００４９】
カウンタＣ２を１だけインクリメントし（Ｓ１６）、テンポラリレジスタＲ２のシフトレジスタ値を１ビット左シフトする（Ｓ１７）。尚、カウンタＣ１は、シフトレジスタ値のＭＳＢにおける「１」の連続数をカウントするカウンタであり、カウンタＣ２は、前回のシフトレジスタ値における検索したビット数をカウントするカウンタである。
【００５０】
カウンタＣ１のカウント値がチャタリング除去閾値Ｎ（本実施例では４）、つまり、最新のシフトレジスタ値における「１」の連続数が４であるか否かを判定する。カウンタＣ１のカウント値が４である場合は（Ｓ１８；Ｙｅｓ）、タッチセンサ７５がＯＮしたと判定し、Ｓ２へ移行する。一方、カウンタＣ１のカウント値が４でない場合（Ｓ１８；Ｎｏ）、カウンタＣ２のカウンタ値がシフトレジスタ長Ｌ（本実施例では４）になったか否か、つまり、前回のシフトレジスタ値に対して検索を終了したか否かを判定する。カウンタＣ２のカウンタ値が４でない場合（Ｓ２０；Ｎｏ）、Ｓ１３に戻る。
【００５１】
カウンタＣ２のカウンタ値が４である場合は、前回のシフトレジスタ値に対して検索を終了したので、カウンタＣ２のカウンタ値を０にリセットし（Ｓ２１）、次に最新のシフトレジスタ値について検索を行う。次に、テンポラリレジスタＲ１に記憶している最新のシフトレジスタ値のＭＳＢが１であるか否かを判定する。最新のシフトレジスタ値のＭＳＢが０の場合（Ｓ２２；Ｎｏ）、カウンタＣ１を０にリセットし（Ｓ２４）、Ｓ２５へ移行する。最新のシフトレジスタ値のＭＳＢが１の場合は（Ｓ２２；Ｙｅｓ）、カウンタＣ１を１だけインクリメントする（Ｓ２３）。
【００５２】
カウンタＣ３のカウンタ値を１だけインクリメントし（Ｓ２５）、テンポラリレジスタＲ１のシフトレジスタ値を１ビット左シフトする（Ｓ２６）。尚、カウンタＣ３は、最新のシフトレジスタ値における検索したビット数をカウントするカウンタである。カウンタＣ１のカウンタ値が４であるか否か、つまり、最新のシフトレジスタ値及び前回のシフトレジスタ値における「１」の連続数が４であるか否かを判定する。カウンタＣ１のカウント値が４でない場合（Ｓ２７；Ｎｏ）、カウンタＣ３のカウンタ値が４であるか否かを判定する。カウンタＣ３のカウンタ値が４でない場合（Ｓ２８；Ｎｏ）、Ｓ２２へ移行する。
【００５３】
カウンタＣ３のカウンタ値が４である場合は（Ｓ２８；Ｙｅｓ）、最新のシフトレジスタ値に対して検索を終了したので、カウンタＣ１，Ｃ３のカウンタ値を０にリセットし（Ｓ２９）、Ｓ１１に戻る。一方、カウンタＣ１のカウント値が４の場合（Ｓ２７；Ｙｅｓ）は、シフトレジスタ値において「１」が４回連続するのでタッチセンサ７５がＯＮしたと判定し（Ｓ１９）、Ｓ２へ移行する。
【００５４】
次にＳ２において、カウンタＣ３が０であるか否かを判定する。カウンタＣ３が０の場合（Ｓ２；Ｙｅｓ）、つまり、前回のシフトレジスタ値において「１」が４回連続している場合、タッチセンサ７５がＯＮした時間ＴをＴ＝（（Ｌ−Ｃ２）＋Ｎ＋Ｌ）ｔより求める（Ｓ３）。ここで、ｔはシフトレジスタクロック周期である。
【００５５】
一方、カウンタＣ３が０でない場合（Ｓ２；Ｎｏ）、つまり、最新のシフトレジスタ値又は前回のシフトレジスタ値と最新のシフトレジスタ値に亙って「１」が４回連続している場合は、タッチセンサ７５がＯＮした時間ＴをＴ＝（（Ｌ−Ｃ３）＋Ｎ）ｔより求める（Ｓ４）。
【００５６】
Ｓ３又はＳ４で求めた時間Ｔに基づいて、Ｔ時間前の座標値をタッチ位置としてディスプレイ１８に出力した後（Ｓ５）、スタートにリターンする。ここで、図４に示すように、座標値Ｐ４をディスプレイ１８に表示させる。尚、図７に示すフローチャートのＳ１２を実行するＣＰＵ２１が読出し手段に相当し、図７に示すフローチャートのＳ１８，Ｓ１９及び図８に示すフローチャートのＳ２７を実行するＣＰＵ２１が判定手段に相当する。
【００５７】
次に、以上説明したチャタリング除去装置７０の作用、効果について説明する。
このチャタリング除去装置７０では、ワークの表面形状測定時にタッチセンサ７５がワークの表面に接触すると、Ｉ／Ｏユニット８０においてシフトレジスタ８１がタッチセンサ７５から検出信号を受信して時系列的に記憶する。その間、サーボアンプ３０，４０，５０がＸ，Ｙ，Ｚ軸サーボ機構を介してタッチセンサ７５のＸ，Ｙ，Ｚ軸座標値を検出し、サーボアンプ通信周期毎に、制御部２０においてＲＡＭ２３がタッチセンサ７５のＸ，Ｙ，Ｚ軸座標値を時系列的に記憶する。
【００５８】
Ｉ／Ｏユニット８０と制御部２０とが通信するＩ／Ｏユニット通信周期毎に、シフトレジスタ８１から最新の検出値を読み出してＲＡＭ２３が累積的に記憶する。ＲＡＭ２３に記憶している前回の検出値と、シフトレジスタ８１から読み出した最新の検出値とに基づいて、タッチセンサ７５がワークの表面に接触したことを示す検出値が所定回数連続する場合、タッチセンサ７５がワークの表面に接触したものと判定する。これにより、タッチセンサ７５の検出信号からチャタリングを除去することができるので、タッチセンサ７５の誤検出を低減できる。それ故、ワークの表面形状データの測定精度を向上させることができる。
【００５９】
Ｉ／Ｏユニット８０と制御部２０については、工作機械Ｍが備えるものを使用することができるので、シフトレジスタ８１を新たに設けるだけでチャタリング除去装置７０を実現することができる。これにより、チャタリング除去装置７０を簡単な構成で実現できるので、製造コストを抑制することができる。
【実施例２】
【００６０】
次に、本発明の実施例２について、図９〜図１４に基づいて説明する。但し、前記実施例と同一の構成には同一の符号を付し、異なる構成についてのみ説明する。
この実施例２においては、最新の切削加工に使用した工具６に接触させて工具６の折損検出を行う工具折損検出装置９７を有する工作機械Ｍに、本発明を適用したものである。
【００６１】
図９に示すように、Ｉ／Ｏユニット８０は、通信インタフェース（Ｉ／Ｆ）８２と、２５ビットシフトレジスタ８１Ａ等を有する。Ｉ／Ｏユニット８０は、工具６の折損検出時におけるタッチセンサ１０８の工具６への接触の有無を示す検出信号に基づく検出値をタッチセンサ１０８から受信する。タッチセンサ１０８から受信した検出値をシフトレジスタ８１Ａが時系列的に記憶する。制御部２０Ａは、前記制御部２０の構成に加えて軸制御部１１０を有する。この軸制御部１１０にマガジンモータ７６、直線駆動モータ９９、ニードル旋回モータ１０７を夫々接続している。尚、チャタリング除去装置７０は、タッチセンサ１０８とＩ／Ｏユニット８０と制御部２０Ａとで構成してある。
【００６２】
自動工具交換装置７の工具マガジン１４に配設された工具折損検出装置９７について説明する。先ず、工具マガジン１４の構造について説明する。
図１０（ａ）に示すように、工具マガジン１４は、複数の工具ポット８３を備え、この工具ポット８３は、マガジンベース８４の内側に配設された移送機構８５に装着してある。
【００６３】
移送機構８５は、マガジンベース８４の内側に回転可能に配設された一対のスプロケット８６，８７と、このスプロケット８６，８７の間に掛け渡された無端状のチェーン８８と、チェーン８８の外周側に固着されたブラケット８９などを備えている。複数の工具ポット８３は、夫々ブラケット８９に取付けてあり、一方のスプロケット８６がマガジンモータ７６によって回転駆動されると、チェーン８８と共に循環する経路を移送するようになっている。
【００６４】
また、複数の工具ポット８３は、何れもブラケット８９に対して回動可能に取付けてあるが、工具ポット８３の移送経路において大部分の範囲では、マガジンベース８４の外周部の内壁面８４ａが工具ポット８３に接触する状態にある。そのため、この内壁面８４ａが工具ポット８３の回動を規制する状態となり、工具ポット８３は、図１０（ｂ）に示すように工具６を正面に向けた状態（以下、格納状態という）を維持する。
【００６５】
一方、マガジンベース８４の下端側には割出口８４ｂを形成してあり、この割出口８４ｂが形成された位置（以下、割出位置という）に限り、工具ポット８３が、格納状態から工具６を下方に向けた状態（図示２点鎖線で示す状態；以下、交換可能状態という）まで回動可能となっている。この割出位置には、工具ポット８３を格納状態または交換可能状態へと回動させる図示しない傾倒機構が配設してある。
【００６６】
また、マガジンベース８４の上部には、アクチュエータケース９０が設けてあり、このアクチュエータケース９０の内部に、スプロケット８６を駆動するためのマガジンモータ７６などを収納してある。このマガジンモータ７６は軸制御部１１０により制御される。
【００６７】
図１１、図１２（ａ）、図１２（ｂ）に示すように、工具折損検出装置９７においてケース９８Ｌ，９８Ｒの内部には、直線駆動モータ９９を内蔵するモータカバー１００を設けてある。この直線駆動モータ９９は軸制御部１１０により制御される。直線駆動モータ９９の回転軸にはピニオン１０１が取付けられており、そのピニオン１０１は、接触センサ部１０２を直線的に変位させるためのラック１０３と噛み合うようになっている。
【００６８】
ラック１０３の側面には、下方に延びるホルダ１０４が取付けてあり、そのホルダ１０４の先端には、接触センサ部１０２が取付けてある。ケース９８Ｌ，９８Ｒの基端側には、工具折損検出装置９７を工具マガジン１４に取付けるためのガイドステー１０５を組み込んである。ここで、直線駆動モータ９９、ピニオン１０１、ラック１０３が、リニアアクチュエータ１０６を構成している。
【００６９】
即ち、直線駆動モータ９９がピニオン１０１を回転させると、ラック１０３と共に接触センサ部１０２は、工具折損検出装置９７の長手方向、つまり、工具ポット８３に保持され、格納状態にある工具６の長さ方向に沿って直線的に移動する。接触センサ部１０２は、ニードル旋回モータ１０７を内蔵しており、そのニードル旋回モータ１０７の回転軸に取付けられているセンサ手段としての検出用ニードル（タッチセンサ）１０８を旋回させ、工具６に当接するか否かによって工具６の折損を検出するようになっている。このニードル旋回モータ１０７は軸制御部１１０により制御される。
【００７０】
例えば、タッチセンサ１０８が初期位置である水平から旋回する場合、そのタッチセンサ１０８が途中で工具６（のドリル６ａなど）に接触することで旋回が途中で停止すると、タッチセンサ１０８がＯＮする。一方、工具６が折損したことでタッチセンサ１０８の旋回が停止することなく最終位置まで旋回すると、タッチセンサ１０８がＯＮすることなく工具６の折損を検出する。
【００７１】
図１３は、正常時と異常時におけるタッチセンサ１０８がＯＮするタイミングを示すタイミングチャートである。工具６の折損検出時において、タッチセンサ１０８が初期位置にある時間を０、工具６が折損していた場合にタッチセンサ１０８が最終位置まで旋回する時間をｔ２５とする。工具６が折損していない場合に、タッチセンサ１０８が工具６に当接したとき、タッチセンサ１０８の検出信号に基づく検出値が「Ｈ」になる。しかし、タッチセンサ１０８の検出信号にチャタリングが発生した場合はタッチセンサ１０８が誤検出し、工具６が折損しているときにも検出値が「Ｈ」になる可能性がある。
【００７２】
そこで、本実施例においては、ｔ９〜ｔ１５の間（図１３の斜線で示す領域）にタッチセンサ１０８がＯＮした場合、タッチセンサ１０８が正常に作動しているものとする。
それ以外の時間にタッチセンサ１０８がＯＮしたときは、タッチセンサ１０８が誤検出しているものとする。特に、ｔ０〜ｔ９までの間にタッチセンサ１０８がＯＮした場合を「異常１」とし、ｔ１５〜ｔ２５までの間にタッチセンサ１０８がＯＮした場合を「異常２」とする。
【００７３】
シフトレジスタ８１Ａは、ｔ１，ｔ２，・・・のタイミングでタッチセンサ１０８から検出値を受信して時系列的に記憶する。ｔ２５の時点で、ｔ１，ｔ２，・・・，ｔ２５において受信した検出値がシフトレジスタ８１Ａの各ビットに記憶してある。次のＩ／Ｏユニット通信クロックの立ち下がりエッジで、シフトレジスタ８１Ａが記憶する検出値を制御部２０Ａが読み出す。
【００７４】
次に、制御部２０Ａが実行するチャタリング除去制御について、図１３のフローチャートに基づいて説明する。尚、図中Ｓｉ（ｉ＝３０，３１・・・）は各ステップを示す。
このチャタリング除去制御は、工具６の折損検出時において、タッチセンサ１０８の旋回が終了したときに制御部２０Ａが実行するものである。
【００７５】
制御部２０Ａがチャタリング除去制御を開始すると、カウンタＤ，Ｅのカウンタ値を０にリセットする（Ｓ３０）。制御部２０ＡとＩ／Ｏユニット８０との通信タイミングの場合（Ｓ３１；Ｙｅｓ）、シフトレジスタ値を読み出す（Ｓ３２）。読み出したシフトレジスタ値のＭＳＢが０、つまり、タッチセンサ１０８がＯＮしていない場合は（Ｓ３３；Ｙｅｓ）、カウンタＥのカウント値を１だけインクリメントした後（Ｓ３５）、カウンタＤのカウント値を１だけインクリメントし（Ｓ３４）、Ｓ３６へ移行する。
【００７６】
読み出したシフトレジスタ値のＭＳＢが１、つまり、タッチセンサ１０８がＯＮした場合（Ｓ３３；Ｙｅｓ）、カウンタＤのカウンタ値を１だけインクリメントする（Ｓ３４）。次に、カウンタＤのカウンタ値がシフトレジスタ値のレジスタ長Ｍ（本実施例では２５）であるか否かを判定する。カウンタＤのカウンタ値が２５でない場合、つまり、読み出したシフトレジスタ値に対する検索が終了していない場合は（Ｓ３６；Ｎｏ）、シフトレジスタ値を１ビット左シフトした後（Ｓ３７）、Ｓ３３に戻る。尚、カウンタＤは、検索したシフトレジスタ値のビット数をカウントするカウンタであり、カウンタＥは、シフトレジスタ値のＭＳＢにおける「０」の連続数をカウントするカウンタである。
【００７７】
一方、カウンタＤのカウンタ値が２５の場合は（Ｓ３６；Ｙｅｓ）、シフトレジスタ値に対する検索を終了したので、カウンタＥのカウント値が下限閾値Ｐ（本実施例では１０）よりも大きいか否かを判定する。カウンタＥのカウント値が１０以下の場合（Ｓ３８；Ｎｏ）、「異常１」のメッセージをディスプレイ１８に表示させて（Ｓ３９）、この処理を終了する。
【００７８】
カウンタＥのカウント値が１０よりも大きい場合は（Ｓ３８；Ｙｅｓ）、次に、カウンタＥのカウント値が上限閾値Ｑ（本実施例では１５）よりも大きいか否かを判定する。
カウンタＥのカウント値が１５よりも大きい場合（Ｓ４０；Ｙｅｓ）、「異常２」のメッセージをディスプレイ１８に表示させて（Ｓ４１）、この処理を終了する。カウンタＥのカウント値が１５以下の場合（Ｓ４０；Ｎｏ）、「正常」のメッセージをディスプレイ１８に表示させて（Ｓ４２）、この処理を終了する。尚、図１４に示すフローチャートのＳ３２を実行するＣＰＵ２１が読出し手段に相当し、図１４に示すフローチャートのＳ３８〜Ｓ４２を実行するＣＰＵ２１が判定手段に相当する。
【００７９】
このように、制御部２０Ａが読み出したシフトレジスタ値に基づいて、タッチセンサ１０８が工具６に接触したことを示す検出値がシフトレジスタ８１Ａの所定ビット内にある場合、タッチセンサ１０８が正常に検出しているものと判定する。それ故、工具６の折損検出を行う際にタッチセンサ１０８の誤検出を低減することができ、工具６の折損検出精度を向上させることができる。
【００８０】
次に、前記実施例を部分的に変更した変更例について説明する。
１］前記実施例１において、４ビットシフトレジスタ８１以外に８ビットシフトレジスタ等のビット数の異なるシフトレジスタであってもよい。また、８ビットシフトレジスタを適用した場合においてチャタリング除去閾値Ｎが４のとき、前回のシフトレジスタ値と最新のシフトレジスタ値とを８ビットシフトレジスタが記憶している。それ故、Ｉ／Ｏユニット通信周期毎に、制御部２０Ａが８ビットシフトレジスタからシフトレジスタ値を読み出す際に、ＲＡＭ２３に記憶させる必要がなくなる。
【符号の説明】
【００８１】
２０，２０A      制御部
２１      ＣＰＵ
２３      ＲＡＭ
７０      チャタリング除去装置
７５，１０８  タッチセンサ
８０      Ｉ／Ｏユニット
８１，８１Ａ  シフトレジスタ
９７      工具折損検出装置
【図１】
2010157975.tif 000003
【図２】
2010157975.tif 000004
【図３】
2010157975.tif 000005
【図４】
2010157975.tif 000006
【図５】
2010157975.tif 000007
【図６】
2010157975.tif 000008
【図７】
2010157975.tif 000009
【図８】
2010157975.tif 000010
【図９】
2010157975.tif 000011
【図１０】
2010157975.tif 000012
【図１１】
2010157975.tif 000013
【図１２】
2010157975.tif 000014
【図１３】
2010157975.tif 000015
【図１４】
2010157975.tif 000016