(57)【特許請求の範囲】
【請求項１】
工具が装着される加工主軸または前記工具により加工されるワークを支持するワーク支持部を加工軸方向へ移動させる送り軸用モータに加わるモータ負荷を検出するモータ負荷検出手段と、
空運転状態で、前記加工主軸またはワーク支持部の加工軸方向への移動可能区間のうち、少なくとも前記工具による加工が可能な加工可能区間において検出された前記モータ負荷検出手段による無負荷時基準データを、前記加工軸方向の座標の関数として記憶する基準データ記憶手段と、
前記工具に関するデータ及び前記加工可能区間のうちの測定区間に関するデータを入力する入力手段と、
前記基準データ記憶手段に記憶された前記無負荷時基準データに基づき、前記加工可能区間のうちの設定された前記測定区間についての無負荷時基準値を算出する無負荷時基準値算出手段と、
試し加工運転において、前記測定区間について検出された前記モータ負荷検出手段による検出データに基づき試し加工値を算出する試し加工値算出手段と、
この試し加工値算出手段により算出された試し加工値と前記無負荷時基準値算出手段により算出された無負荷時基準値との差に基づき実負荷基準値を算出する実負荷基準値算出手段と、
実加工運転において、前記測定区間について検出された前記モータ負荷検出手段による検出データに基づき実加工値を算出する実加工値算出手段と、
この実加工値算出手段により算出された実加工値と前記無負荷時基準値との差に基づき実負荷評価値を算出する実負荷評価値算出手段と、
この実負荷評価値算出手段により算出された実負荷評価値と、前記実負荷基準値算出手段により算出された前記実負荷基準値に基づき設定された評価基準値とを比較して工具の異常の有無を判定する判定手段と、
を具備したことを特徴とする工作機械の工具異常検出装置。
【請求項２】
工具が装着される加工主軸または前記工具により加工されるワークを支持するワーク支持部を加工軸方向へ移動させる送り軸用モータに加わるモータ負荷を検出するモータ負荷検出手段と、
空運転状態で、前記加工主軸またはワーク支持部の加工軸方向への移動可能区間のうち、少なくとも前記工具による加工が可能な加工可能区間において検出された前記モータ負荷検出手段による無負荷時基準データを、前記加工軸方向の座標の関数として記憶する基準データ記憶手段と、
前記工具に関するデータ及び前記加工可能区間のうちの測定区間に関するデータを入力する入力手段と、
前記基準データ記憶手段に記憶された前記無負荷時基準データに基づき、前記加工可能区間のうちの設定された測定区間についての無負荷時基準値を算出する無負荷時基準値算出手段と、
実加工運転において、前記測定区間について検出された前記モータ負荷検出手段による検出データに基づき実加工値を算出する実加工値算出手段と、
この実加工値算出手段により算出された実加工値と、前記無負荷時基準値算出手段により算出された前記無負荷時基準値に基き設定された評価基準値とを比較して工具の異常の有無を判定する判定手段と、
を具備したことを特徴とする工作機械の工具異常検出装置。
【請求項３】
入力手段により工具に関するデータが変更された場合、
その変更された工具の長さに基づき、測定区間及びこの測定区間についての無負荷時基準値を自動的に変更することを特徴とする請求項１または２記載の工作機械の工具異常検出装置。
【請求項４】
工具が装着される加工主軸または前記工具により加工されるワークを支持するワーク支持部を送り軸用モータにより加工軸方向へ移動させて加工を行う構成の工作機械の工具異常検出用プログラムを記録した記録媒体であって、
空運転状態で、前記加工主軸またはワーク支持部の加工軸方向への移動可能区間のうち、少なくとも前記工具による加工が可能な加工可能区間において、前記送り軸用モータに加わるモータ負荷を無負荷時基準データとして検出させ、この無負荷時基準データを前記加工軸方向の座標の関数として記憶させ、
前記無負荷時基準データに基づき、前記加工可能区間のうちの設定された測定区間についての無負荷時基準値を算出させ、
試し加工運転において、前記測定区間について前記送り軸用モータに加わるモータ負荷を検出させ、その検出データに基づき試し加工値を算出させ、
この試し加工値と前記無負荷時基準値との差に基づき実負荷基準値を算出させ、
実加工運転において、前記測定区間について前記送り軸用モータに加わるモータ負荷を検出させ、その検出データに基づき実加工値を算出させ、
この実加工値と前記無負荷時基準値との差に基づき実負荷評価値を算出させ、  この実負荷評価値と、前記実負荷基準値に基づき設定された評価基準値とを比較して工具の異常の有無を判定させることを特徴とする工作機械の工具異常検出用プログラムを記録した記録媒体。
【請求項５】
工具が装着される加工主軸または前記工具により加工されるワークを支持するワーク支持部を送り軸用モータにより加工軸方向へ移動させて加工を行う構成の工作機械の工具異常検出用プログラムを記録した記録媒体であって、
空運転状態で、前記加工主軸またはワーク支持部の加工軸方向への移動可能区間のうち、少なくとも前記工具による加工が可能な加工可能区間において、前記送り軸用モータに加わるモータ負荷を無負荷時基準データとして検出させ、この無負荷時基準データを前記加工軸方向の座標の関数として記憶させ、
前記無負荷時基準データに基づき、前記加工可能区間のうちの設定された測定区間についての無負荷時基準値を算出させ、
実加工運転において、前記測定区間について前記送り軸用モータに加わるモータ負荷を検出させ、その検出データに基づき実加工値を算出させ、
この実加工値と、前記無負荷時基準値に基き設定された評価基準値とを比較して工具の異常の有無を判定させることを特徴とする工作機械の工具異常検出用プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械における工具の異常を検出するための工作機械の工具異常検出装置及び工作機械の工具異常検出用プログラムを記録した記録媒体に関する。
【０００２】
【発明が解決しようとする課題】
従来より、工作機械、例えばマシニングセンタにおいては、加工主軸の先端に切削用の工具を固定し、その工具を、加工主軸により回転させながら、ワーク  （被削材）の方向（加工軸方向）に移動させることにより、そのワークに対して穴明けなどの加工を行うようになっている。
【０００３】
この種のマシニングセンタにおいては、工具の刃先が摩耗したり、欠けたりした状態で加工を続けることは好ましくない。また、工具が折れた場合には、それをすぐに交換する必要がある。
【０００４】
そこで、この種の異常を検出するために、例えば次のような方法が考えられている。すなわち、工具が摩耗して切れ味が低下した場合、切削加工に要する負荷が増加する。また、工具が折れた場合には、切削加工が行われなくなり、切削加工に要する負荷はほぼゼロになる。そこで、工具を加工軸方向へ移動させる送り軸用モータに加わる負荷を検出し、そのモータ負荷が所定値以上、または所定値以下になった場合に、工具の異常を検出するというものである。
【０００５】
より具体的には、まず試し加工運転を行い、この試し加工運転において、送り軸用モータに加わるモータ負荷を検出し、この検出データに基づき評価基準値  （しきい値）を設定する。そして、実際の加工運転において、モータ負荷を検出し、この検出データに基づく実加工値と評価基準値とを比較することにより、工具の異常を検出するというものである。
【０００６】
ところで、工具を加工軸方向へ移動させる送り軸用モータに加わる負荷は、切削加工に要する負荷だけではなく、次のようなものによっても変動する。例えば、工具を加工軸方向へ移動させるボールネジの摩耗やその製品精度、移動物をガイドするリニアガイドの製品精度や組付け状態、ボールネジやリニアガイドに供給される潤滑材の状態、送り軸を覆っているカバーの擦れ、接触などがある。このなかで、例えば、リニアガイドの組付け状態についてみると、図１３に示すように、移動物であるこの場合テーブル１の移動を案内するリニアガイド２が湾曲している場合には、そのテーブル１をボールネジ機構３を介して移動させる送り軸用モータ（図示せず）に加わる負荷（モータ電流）は、その湾曲部分で変動することになる。その他にも、ボールネジの特性上、ボールネジが回転し、ボールが転がる周期で負荷が変動する。なお、図１３中、４はボールネジ、５はテーブル１に固定されたナット部である。
【０００７】
また、前記負荷の変動要因は機械的なばらつきとも考えられるため、たとえ同一機種であっても、別ロットの工作機械を使用する場合には、送り軸に加わるモータ負荷は一定ではない。
【０００８】
図１４の（ａ）及び（ｂ）は、同一機種の２台の工作機械（機械Ａ，Ｂ）において、切削加工を行っていないとき（空運転状態）の、送り軸用モータに加わる負荷（モータ電流）を同一条件下で比較したものである。図１４を見ると明らかなように、負荷は一定ではなく変動しており、また、機械ごとに異なっていることもわかる。
【０００９】
従って、切削加工により一定の負荷が発生した場合でも、モータ負荷は一定ではなく、送り軸の座標によって変動する。そのため、異常と判断する評価基準値（しきい値）を、位置に関係なく一定とした場合には、正常な場合でも異常であると判定されたり、逆に、異常がある場合でも正常であると判定される場合がある。
【００１０】
そこで、従来では、同一の加工を行う場合でも、加工位置（送り軸の座標位置）が変化すると、その都度試し運転を行って、評価基準値を、その座標位置に応じて設定し直す必要があった。また、工具を交換し、刃先の位置（工具長）が変化した場合、加工位置も僅かではあるが変化するため、やはり、その都度試し運転を行って、評価基準値を、その座標位置に応じて設定し直す必要があり、それらに伴う作業による作業能率が低下することになる。
【００１１】
本発明は上記した事情に鑑みてなされたものであり、その目的は、加工位置あるいは工具長が変更された場合に、作業能率の低下を極力防止することができる工作機械の工具異常検出装置及び工作機械の工具異常検出用プログラムを記録した記録媒体を提供することにある。
【００１２】
【課題を解決するための手段】
請求項１の工作機械の工具異常検出装置は、上記した目的を達成するために、
工具が装着される加工主軸または前記工具により加工されるワークを支持するワーク支持部を加工軸方向へ移動させる送り軸用モータに加わるモータ負荷を検出するモータ負荷検出手段と、
空運転状態で、前記加工主軸またはワーク支持部の加工軸方向への移動可能区間のうち、少なくとも前記工具による加工が可能な加工可能区間において検出された前記モータ負荷検出手段による無負荷時基準データを、前記加工軸方向の座標の関数として記憶する基準データ記憶手段と、
前記工具に関するデータ及び前記加工可能区間のうちの測定区間に関するデータを入力する入力手段と、
前記基準データ記憶手段に記憶された前記無負荷時基準データに基づき、前記加工可能区間のうちの設定された前記測定区間についての無負荷時基準値を算出する無負荷時基準値算出手段と、
試し加工運転において、前記測定区間について検出された前記モータ負荷検出手段による検出データに基づき試し加工値を算出する試し加工値算出手段と、
この試し加工値算出手段により算出された試し加工値と前記無負荷時基準値算出手段により算出された無負荷時基準値との差に基づき実負荷基準値を算出する実負荷基準値算出手段と、
実加工運転において、前記測定区間について検出された前記モータ負荷検出手段による検出データに基づき実加工値を算出する実加工値算出手段と、
この実加工値算出手段により算出された実加工値と前記無負荷時基準値との差に基づき実負荷評価値を算出する実負荷評価値算出手段と、
この実負荷評価値算出手段により算出された実負荷評価値と、前記実負荷基準値算出手段により算出された前記実負荷基準値に基づき設定された評価基準値とを比較して工具の異常の有無を判定する判定手段と、を具備する構成としたところに特徴を有する。
【００１３】
上記した構成においては、空運転状態で、少なくとも工具による加工が可能な加工可能区間において、送り軸用モータに加わるモータ負荷をモータ負荷検出手段により検出し、この無負荷時基準データを、加工軸方向の座標の関数として基準データ記憶手段に記憶させている。
【００１４】
評価基準値を設定する際には、上記基準データ記憶手段に記憶された無負荷時基準データに基づき、設定された測定区間についての無負荷時基準値を算出すると共に、試し加工運転を行い、設定された測定区間についてのモータ負荷を検出し、この検出データに基づき試し加工値を算出する。そして、この試し加工値と無負荷時基準値との差に基づき、実負荷基準値を算出する。この実負荷基準値は、加工する位置などにより変動する成分が取り除かれており、加工に伴う実質的な負荷成分となる。この実負荷基準値に基づき評価基準値を設定する。
【００１５】
そして、実加工運転を行い、この実加工運転において、設定された測定区間についてのモータ負荷を検出し、この検出データに基づき実加工値を算出する。この実加工値と前記無負荷時基準値との差に基づき実負荷評価値を算出する。この実負荷評価値も、加工する位置などにより変動する成分が取り除かれており、加工に伴う実質的な負荷成分となる。
【００１６】
この実負荷評価値と前記評価基準値とを比較することにより、工具の異常の有無を検出する。
【００１７】
上記した手段おいては、評価基準値を設定する場合には、加工する位置などにより変動する成分が取り除かれ、加工に伴う実質的な負荷成分を基準にして設定するようにしており、また、実加工運転において算出される実負荷評価値も、加工する位置などにより変動する成分が取り除かれ、加工に伴う実質的な負荷成分を基準にして算出されている。このため、加工する位置が変更された場合、あるいは工具長が変更されて加工する位置が僅かに変わった場合に、試し加工を行って評価基準値を設定し直すという必要がない。
【００１８】
請求項２の工作機械の工具異常検出装置は、
工具が装着される加工主軸または前記工具により加工されるワークを支持するワーク支持部を加工軸方向へ移動させる送り軸用モータに加わるモータ負荷を検出するモータ負荷検出手段と、
空運転状態で、前記加工主軸またはワーク支持部の加工軸方向への移動可能区間のうち、少なくとも前記工具による加工が可能な加工可能区間において検出された前記モータ負荷検出手段による無負荷時基準データを、前記加工軸方向の座標の関数として記憶する基準データ記憶手段と、
前記工具に関するデータ及び前記加工可能区間のうちの測定区間に関するデータを入力する入力手段と、
前記基準データ記憶手段に記憶された前記無負荷時基準データに基づき、前記加工可能区間のうちの設定された測定区間についての無負荷時基準値を算出する無負荷時基準値算出手段と、
実加工運転において、前記測定区間について検出された前記モータ負荷検出手段による検出データに基づき実加工値を算出する実加工値算出手段と、
この実加工値算出手段により算出された実加工値と、前記無負荷時基準値算出手段により算出された前記無負荷時基準値に基き設定された評価基準値とを比較して工具の異常の有無を判定する判定手段と、を具備する構成としたところに特徴を有する。
【００１９】
上記した構成においても、空運転状態で、少なくとも工具による加工が可能な加工可能区間のほぼ全区間にわたって、送り軸用モータに加わるモータ負荷をモータ負荷検出手段により検出し、この無負荷時基準データを、加工軸方向の座標の関数として基準データ記憶手段に記憶させている。
【００２０】
ここで、工具が破損すると、工具とワークとが干渉しなくなり、切削加工中の加工負荷はゼロになることを利用して、工具が破損したか否かを検出するようにする。この場合、評価基準値を設定する際には、上記基準データ記憶手段に記憶された無負荷時基準データに基づき、設定された測定区間についての無負荷時基準値を算出し、この無負荷時基準値より、例えば若干大きな値を評価基準値として設定する。
【００２１】
そして、実加工運転を行い、この実加工運転において、設定された測定区間についてのモータ負荷を検出し、この検出データに基づき実加工値を算出する。この実加工値と前記評価基準値とを比較し、実加工値が評価基準値よりも小さくなった場合に、工具が破損したと判定する。
【００２２】
この場合には、空運転時の無負荷時基準データを検出してこれを記憶させておき、この無負荷時基準データに基づき評価基準値を設定するようにしているので、加工位置が変更された場合、あるいは工具長が変更されて加工する位置が僅かに変わった場合に、上記無負荷時基準データから評価基準値を容易に設定することができ、よって、作業能率が低下することを極力防止することができる。
【００２３】
また、評価基準値を設定する場合に、無負荷時基準データから無負荷時基準値を算出し、この無負荷時基準値に基づき評価基準値を算出するのであるから、試し加工を行うことなく、評価基準値を設定することができる利点がある。
【００２４】
請求項１及び２の発明のどちらにおいても、入力手段により工具に関するデータが変更された場合、その変更された工具の長さに基づき、測定区間及びこの測定区間についての無負荷時基準値を自動的に変更するように構成することが好ましい（請求項３の発明）。
【００２５】
【発明の実施の形態】
以下、本発明の第１実施例について、図１ないし図９を参照して説明する。まず、図５及び図６において、工作機械の一つであるマシニングセンタ１１の機械的な構成について説明する。
【００２６】
図５に示すように、このマシニングセンタ１１には、切削屑の飛散を防止するためのスプラッシュガード１２が設けられていて、このスプラッシュガード１２の内側に、ワーク（図示せず）を載置するためのテーブル１３、ドリルやタップなどの工具を交換するための自動工具交換装置１４、機械本体１５などが配設されている。
【００２７】
スプラッシュガード１２には、操作パネル１６、ワークの出し入れやメンテナンスのためのワーク交換口１７、主にメンテナンス用の点検ハッチ１８などが設けられている。操作パネル１６には、入力手段を構成する各種のスイッチ１９や液晶ディスプレイからなる表示部２０などが設けられている。
【００２８】
上記機械本体１５は、図６に示すように、ドリルやタップなどの工具２１が装着される加工主軸としての主軸２２を有する主軸ヘッド２３、主軸２２を回転駆動するための主軸モータ２４、多数の硬球を内蔵して主軸ヘッド２３側に固着されたナット部２５とこのナット部２５に挿入されたボールネジ２６とからなるボールネジ機構２７、ボールネジ２６を回転駆動するためのＺ軸モータ２８、ボールネジ２６と平行に配置されているガイドレール２９，このガイドレール２９と主軸ヘッド２３側とを連結するスライド３０などを備えている。この場合、Ｚ軸モータ２８が送り軸用モータを構成している。
【００２９】
この機械本体１５においては、ボールネジ機構２７とＺ軸モータ２８とによりＺ軸方向の送りのためのＺ軸送り機構が構成され、Ｚ軸モータ２８によりボールネジ２６を回転させることで、主軸ヘッド２３、ひいては主軸２２を加工軸方向であるＺ軸方向へ移動させる構成となっている。また、図５におけるテーブル１３は、Ｘ軸及びＹ軸方向へ移動させることができ、主軸２２のＺ軸方向と合わせて、工具２１とワークのＸ，Ｙ，Ｚ軸方向の相対位置を変えることができる構成となっている。
【００３０】
このマシニングセンタ１１は、主軸２２の回転数やＺ軸方向の位置を制御するために、図７に示される構成の制御系を備えている。この制御系は、主軸２２の回転を制御するための主軸制御系３５、主軸２２のＺ軸位置を制御するためのＺ軸制御系３６、この制御系の中枢となるマイコン部３７、操作パネル１６、及び図示はしないが、テーブル１３のＸ軸位置及びＹ軸位置を制御するためのＸ軸制御系及びＹ軸制御系などから構成されている。
【００３１】
このうち、主軸制御系３５は、主軸モータ２４、この主軸モータ２４に電力を供給するための主軸サーボアンプ３８及び主軸サーボアンプ３８の供給電力を制御するための制御回路３９からなり、制御回路３９はマイコン部３７のＣＰＵ４０からの指示に従って主軸サーボアンプ３８の動作を制御する構成である。Ｚ軸制御系３６は、Ｚ軸モータ２８、このＺ軸モータ２８に電力を供給するためのＺ軸サーボアンプ４１及びＺ軸サーボアンプ４１の供給電力を制御するための制御回路４２からなり、制御回路４２はマイコン部３７のＣＰＵ４０からの指示に従ってＺ軸サーボアンプ４１の動作を制御する構成である。また、図示を省略したＸ軸制御系及びＹ軸制御系も、これら主軸制御系３５ならびにＺ軸制御系３６とほぼ同様の構成である。
【００３２】
マイコン部３７は、制御プログラムなどを格納しているＲＯＭや入出力ポートなどを内蔵するワンチップ型のＣＰＵ４０、及びＣＰＵ４０のワークエリアとなるＲＡＭ４３などからなり、周知のマイクロコンピュータとして構成されている。また、マイコン部３７（厳密にはＣＰＵ４０）は、制御プログラムにしたがって主軸制御系３５、Ｚ軸制御系３６などを制御して、ワークに対する所定の加工を行うようになっている。さらに、マイコン部３７は、操作パネル１６に接続されており、各種のスイッチ１９からの信号を取得したり、表示部２０の表示を制御したり、ＬＥＤなどのランプの点滅などを制御したりすることができる。
【００３３】
ＣＰＵ４０は、Ｚ軸サーボアンプ４１によってＺ軸モータ２８に供給される電流（モータ電流）に対応する電流値データを、制御回路４２を介して取得することができる。つまり、ＣＰＵ４０は、モータ電流をリアルタイムで知ることができる。また、ＣＰＵ４０は、一定の周期、例えば１／１０００秒ごとにカウント値をインクリメントするカウンタを内蔵していて、そのカウンタを使用することにより、例えばある加工の開始から終了までの所要時間のような、経過時間を計測することもできる。
【００３４】
ここで、ＣＰＵ４０は、工具異常検出用プログラムを記録した記録媒体を構成すると共に、モータ負荷検出手段、無負荷時基準値算出手段、加工値算出手段、実負荷基準値算出手段、実加工値算出手段、実負荷評価値算出手段、判定手段として機能し、また、ＲＡＭ４３は基準データ記憶手段として機能するが、その詳細については後述する。
【００３５】
次に、このマシニングセンタ１１における工具の異常を検出する手順について、主に図１〜図４のＣＰＵ４０の制御内容を示すフローチャートを参照して説明する。図１は全体の流れを示すメインのフローチャートを示しており、まず、実際の切削加工を行う前に、空運転状態において、無負荷時基準データ取込みモード（ステップＡ１）を行う。この無負荷時基準データ取込みモードについては、図２にその詳細を示している。
【００３６】
図２において、工具２１が装着される主軸２２を、Ｚ軸方向へ一定の送り速度、例えば６００ｍｍ／分で、移動可能区間の全区間（全ストロークで約２００ｍｍ）にわたって移動させ（ステップＢ１）、この時のＺ軸モータ２８のモータ負荷、この場合モータ電流について、制御回路４２から例えば０．０１秒ごとに送られてくる電流値データを取得し（ステップＢ２）、この電流値データを、無負荷時基準データとしてＲＡＭ４３に記憶する（ステップＢ３）。
【００３７】
この場合、無負荷時基準データは、図８に示すように、加工軸方向であるＺ軸の座標の関数として記憶する。すなわち、送り速度とサンプリング周期より１回のサンプリング中に移動する距離を求めることが可能であり（この場合では、０．１ｍｍ）、これを積算することでサンプリング中のＺ軸座標（機械座標）を知ることができる。このようにして、無負荷時基準データを、Ｚ軸座標の関数として記憶する。言い換えるならば、無負荷時基準データは、Ｚ軸座標がある任意の値のときのＺ軸モータ２８の電流値として記憶する。
【００３８】
なお、この場合、記憶する無負荷時基準データは、実際の電流値をそのまま記憶することも可能であるが、ノイズの影響が大きいなどの場合は、移動平均を求め、ノイズの影響を緩和してその結果を基本電流値としてＲＡＭ４３に記憶することも可能である。
【００３９】
次に、評価基準値を決定するモード（ステップＡ２）を行う。このモードについては、図３にその詳細を示している。図３において、まず、実際にワークを加工するための加工プログラム、工具２１の長さ、及び加工プログラム上の測定区間に関するデータなどを、スイッチ１９などを操作して入力する（ステップＣ１〜Ｃ３）。この場合、加工プログラム上の測定区間に関するデータとは、加工プログラムのどの工程のどの区間で工具の異常を検出するかを指定するデータである。
【００４０】
ここで、どの区間とは、工程中のどのタイミングでＺ軸モータ２８の電流値を取り込むかを指定するものである。いわゆるサンプリング区間（測定区間）であり、この測定区間の入力は、切削送り開始後、何秒後から何秒後までとか、切削送り開始後、何ミリ移動した後から何ミリ間などの方法で入力し、その入力データに基づき、ＣＰＵ４０でＺ軸座標Ｚs1〜Ｚe1に変換される（ステップＣ４）。つまり、Ｚ軸座標のＺs1の位置からＺe1の位置までの間で、Ｚ軸モータ２８の電流値を取り込むということを指定することになる。
【００４１】
なお、工具の異常を検出するための測定区間は、加工プログラム中に１箇所でも複数箇所でも良い。複数箇所で工具異常を検出する場合には、その箇所ごとに測定区間を指定する。また、工具異常検出に関するデータは、加工プログラムとは別画面に表示されるものとは限らず、例えば加工プログラム中に、Ｇコード、Ｍコードなどを用いて入力するようにしても良い。
【００４２】
上記ステップＣ４においてＺ軸座標における測定区間が算出されると、その測定区間に対応する無負荷時基準データを呼び出し（ステップＣ５）、この無負荷時基準データに基づいて無負荷時基準値Ｉ０を算出する（ステップＣ６）。この無負荷時基準値Ｉ０は、図９（ａ）に示すように、指定された測定区間における平均値としている。
【００４３】
次に、主軸２２に工具２１を装着すると共に、テーブル１３にワークを固定した状態で、そのワークを工具２１により実際に加工する試し加工運転を行う（ステップＣ７）。このとき、設定された上記測定区間で、Ｚ軸制御系３６の制御回路４２から例えば１／１０００秒ごとに送られてくる電流値データを取得し、この電流値データに基づいて試し加工値Ｉ１を算出する（ステップＣ８）。この試し加工値Ｉ１は、図９（ｂ）に示すように、指定された測定区間における平均値としている。
【００４４】
ここで、この試し加工値Ｉ１は、切削加工の負荷成分だけではなく、加工する位置などによって変動する負荷を含んでいる。つまり、ボールネジ機構２７の摩耗やその製品精度、移動物をガイドするガイドレール２９の製品精度や組付け状態、それらボールネジ機構２７やガイドレール２９に供給される潤滑材の状態、移動物とカバーのこすれや接触などである。
【００４５】
そこで、この試し加工値Ｉ１が、切削加工の負荷成分のみを表すように補正する。すなわち、この試し加工値Ｉ１と上記無負荷時基準値Ｉ０との差により実負荷基準値Ｉ２を算出する（Ｉ２＝Ｉ１−Ｉ０）（ステップＣ９）（図９（ｃ）参照）。これらの計算はすべてＣＰＵ４０において行い、その結果は表示部２０に表示される。なお、試し加工は複数回行い、平均あるいは標準偏差などを求めるようにしても良い。
【００４６】
そして、上記実負荷基準値Ｉ２を基にして、評価基準値Ｌ（いわゆる、しきい値）を決定する。この評価基準値Ｌは、使用者がスイッチ１９を操作して入力により決定する。なお、評価基準値Ｌは、ＣＰＵ４０において、自動的に決定するようにもできる。複数箇所で工具異常の検出を行う場合には、その箇所ごとに評価基準値Ｌを指定する。ここで、同一の工具、同一の切削条件で加工を行う場合には、加工位置に関係なく、同一の評価基準値Ｌを使用することができる。
【００４７】
以上のようにして評価基準値Ｌを決定したら、実際の切削加工運転を行い（ステップＡ３）、工具の異常の有無を検出する（ステップＡ４）。実切削加工運転のモードについては、図４にその詳細を示している。
【００４８】
まず、加工位置あるいは工具の長さに変更があるか否かを判別する（ステップＤ１）。加工プログラムが変更された場合には、加工位置が変更される場合があり、また、工具が交換された場合には、工具長が変更される場合がある。加工位置及び工具長、共に変更がない場合には、ステップＣ６で算出した無負荷時基準値をＩ０として、ステップＤ５へ移行することになる。加工位置もしくは工具長が変更された場合には、その変更されたデータに基づいて、Ｚ軸座標における測定区間ＺS2〜Ｚe2を算出し（ステップＤ２）、その測定区間に対応する無負荷時基準データを呼び出し（ステップＤ３）、この無負荷時基準データに基づいて無負荷時基準値Ｉ３を算出する（ステップＤ４）。この無負荷時基準値Ｉ３も、前記Ｉ０と同様に、指定された測定区間における平均値としている。
【００４９】
この後、実際の切削加工を行う（ステップＤ５）。ステップＤ１において、加工位置及び工具長、共に変更されていない場合には、上記したように、無負荷時基準値としてはＩ０を用い、ステップＤ５へ移行して実際の切削加工を行う。このとき、設定された測定区間で、Ｚ軸制御系３６の制御回路４２から例えば１／１０００秒ごとに送られてくる電流値データを取得し、この電流値データに基づいて実加工値Ｉ４を算出する（ステップＤ６）。この実加工値Ｉ４は、試し加工値Ｉ１と同様に、指定された測定区間における平均値としている。
【００５０】
この実加工値Ｉ４も、試し加工値Ｉ１と同様に、切削加工の負荷成分だけではなく、加工する位置などによって変動する負荷を含んでいる。そこで、実加工値Ｉ４が、切削加工の負荷成分のみを表すように補正する。すなわち、この実加工値Ｉ４と上記無負荷時基準値Ｉ０またはＩ３との差により実負荷評価値Ｉ５を算出する（Ｉ５＝Ｉ４−Ｉ０またはＩ３）（ステップＤ７）。
【００５１】
そして、この実負荷評価値Ｉ５と、ステップＣ１０で決定した評価基準値Ｌとを比較し（ステップＤ８）、この結果に基づき、工具に異常があるか否かを判別する（ステップＡ４）。ここで、工具に異常があると判別された場合には、異常信号を出力して、その旨を表示部２０に表示すると共に、アラームにより報知し、また、機械を停止する。これに基づき、オペレータは、工具に異常があったことを知ることができ、工具を交換するなどの適宜の処理を行うことができる。工具に異常がないと判別された場合には、加工を続けて行う。
【００５２】
上記した第１実施例によれば、次のような効果を得ることができる。
評価基準値Ｌを設定する場合には、試し加工運転を行うことに基づき得られた試し加工値Ｉ１と、空運転時の無負荷時基準データに基づき得られた無負荷時基準値Ｉ０との差に基づき実負荷基準値Ｉ２を算出し、この実負荷基準値Ｉ２を基にして評価基準値Ｌを設定している。この評価基準値Ｌ（実負荷基準値Ｉ２）は、加工する位置などにより変動する成分が取り除かれ、加工に伴う実質的な負荷成分を基準にして設定されている。また、実加工運転を行うことに基づき得られる実負荷評価値Ｉ５は、実加工運転を行うことに基づき得られた実加工値Ｉ４と、空運転時の無負荷時基準データに基づき得られた無負荷時基準値Ｉ０またはＩ３との差に基づき算出している。この実負荷評価値Ｉ５も、加工する位置などにより変動する成分が取り除かれ、加工に伴う実質的な負荷成分を基準にして算出されている。
【００５３】
このため、加工位置が変更された場合、あるいは工具長が変更されて加工する位置が僅かに変わった場合に、試し加工を行って評価基準値を設定し直すという必要がなく、よって、そのような作業によって能率が低下するということを極力防止することができる。
【００５４】
また、加工位置が変更された場合、あるいは工具長が変更された場合、その変更に基づきＺ軸座標における測定区間及びその測定区間に対応する無負荷時基準値Ｉ３が自動的に変更されるので、それらを設定し直すという作業を行う必要がなく、作業能率が低下することを一層防止できるようになる。
【００５５】
図１０ないし図１２は本発明の第２実施例を示し、この第２実施例は、上記した第１実施例とは次の点が異なっている。この第２実施例では、工具が破損した場合、工具とワークとは干渉しなくなるため、切削加工中の加工負荷はゼロになることを利用して、工具の破損のみを検出する場合を対象としている。
【００５６】
まず、図１０における無負荷時基準データ取込みモード（ステップＥ１）の具体的内容については示されていないが、第１実施例の無負荷時基準データ取込みモード（ステップＢ１〜Ｂ３）と同じであり、すなわち、工具２１が装着される主軸２２を、Ｚ軸方向へ一定の送り速度で、移動可能区間の全区間（全ストローク）にわたって移動させ、この時のＺ軸モータ２８のモータ負荷、この場合モータ電流について、制御回路４２から送られてくる電流値データを取得し、この電流値データを、無負荷時基準データとしてＲＡＭ４３に記憶する。
【００５７】
次に評価基準値を決定するモード（ステップＥ２）を行うのであるが、これの具体的内容が第１実施例の場合とは異なっており、その内容は図１１に示されている。図１１において、まず、実際にワークを加工するための加工プログラム、工具２１の長さ、及び加工プログラム上の測定区間に関するデータなどを、スイッチ１９などを操作して入力する（ステップＦ１〜Ｆ３）。加工プログラム上の測定区間の入力に基づき、Ｚ軸座標での測定区間Ｚs1〜Ｚe1を算出する（ステップＦ４）。
【００５８】
Ｚ軸座標における測定区間が算出されると、その測定区間に対応する無負荷時基準データを呼び出し（ステップＦ５）、この無負荷時基準データに基づいて、無負荷時基準値Ｉ０を算出する（ステップＦ６）。この無負荷時基準値Ｉ０は、図９（ａ）に示すように、指定された測定区間における平均値としている。
【００５９】
そして、この無負荷時基準値Ｉ０を基にして、評価基準値Ｌ１を決定する（ステップＦ７）。この場合、評価基準値Ｌ１は、無負荷時基準値Ｉ０に任意の値ｋを加えた値とし（Ｌ１＝Ｉ０＋ｋ）、使用者がスイッチ１９を操作して決定する。なお、評価基準値Ｌ１は、ＣＰＵ４０において、自動的に決定するようにもできる。
【００６０】
以上のようにして評価基準値Ｌ１を決定したら、実際の切削加工運転を行い  （ステップＥ３）、工具の異常の有無を検出する（ステップＥ４）。実切削加工運転のモードについては、図１２にその詳細を示している。
【００６１】
まず、加工位置あるいは工具の長さに変更があるか否かを判別する（ステップＧ１）。加工プログラムが変更された場合には、加工位置が変更される場合があり、また、工具が交換された場合には、工具長が変更される場合がある。加工位置及び工具長、共に変更がない場合には、ステップＦ７で設定した評価基準値をＬ１として、ステップＧ６へ移行することになる。加工位置もしくは工具長が変更された場合には、その変更されたデータに基づいて、Ｚ軸座標における測定区間ＺS2〜Ｚe2を算出し（ステップＧ２）、その測定区間に対応する無負荷時基準データを呼び出し（ステップＧ３）、この無負荷時基準データに基づいて無負荷時基準値Ｉ３を算出する（ステップＧ４）。この無負荷時基準値Ｉ３も、前記Ｉ０と同様に、指定された測定区間における平均値としている。
【００６２】
そして、この無負荷時基準値Ｉ３を基にして、評価基準値Ｌ２を決定する（ステップＧ５）。この場合、評価基準値Ｌ２は、無負荷時基準値Ｉ３に任意の値ｋを加えた値とし（Ｌ２＝Ｉ３＋ｋ）、使用者がスイッチ１９を操作して決定する。なお、評価基準値Ｌ２も、ＣＰＵ４０において、自動的に決定するようにもできる。
【００６３】
この後、実際の切削加工を行う（ステップＧ６）。ステップＧ１において、加工位置及び工具長、共に変更されていない場合には、上記したように、評価基準値としてはＬ１を用い、ステップＧ６へ移行して実際の切削加工を行う。このとき、設定された測定区間で、Ｚ軸制御系３６の制御回路４２から送られてくる電流値データを取得し、この電流値データに基づいて実加工値Ｉ４を算出する（ステップＧ７）。この実加工値Ｉ４は、指定された測定区間における平均値としている。
【００６４】
そして、この実加工値Ｉ４と、評価基準値Ｌ１またはＬ２とを比較し（ステップＧ９）、この結果に基づき、工具が破損しているか否かを判別する（ステップＥ４）。ここで、工具が破損していると判別された場合には、異常信号を出力して、その旨を表示部２０に表示すると共に、アラームにより報知し、また、機械を停止する。これに基づき、オペレータは、工具が破損していることを知ることができ、工具を交換するなどの適宜の処理を行うことができる。工具に異常がないと判別された場合には、加工を続けて行う。
【００６５】
上記した第２実施例によれば、空運転時の無負荷時基準データを検出してこれを記憶させておき、この無負荷時基準データに基づき評価基準値Ｌ１を設定するようにしているので、加工位置が変更されたり、あるいは工具長が変更されて加工する位置が僅かに変わった場合に、上記無負荷時基準データから評価基準値Ｌ２を容易に設定することができ、よって、作業能率が低下することを極力防止することができる。
【００６６】
また、評価基準値Ｌ１（Ｌ２）を設定する場合に、無負荷時基準データから無負荷時基準値Ｉ０（Ｉ３）を算出し、この無負荷時基準値Ｉ０（Ｉ３）に基づき評価基準値Ｌ１（Ｌ２）を算出するのであるから、試し加工を行うことなく、評価基準値Ｌ１（Ｌ２）を設定することができる利点がある。
【００６７】
本発明は、上記した各実施例にのみ限定されるものではなく、次のように変形または拡張することができる。
無負荷時基準データを求める場合、主軸２２の移動可能区間の必ずしも全区間について測定する必要はなく、その移動可能区間のうち、主軸２２に装着した工具２１による切削加工が可能な区間である加工可能区間のほぼ全区間について測定するようにすれば良い。また、無負荷時基準データは、データの取込み動作を複数回行い、その平均を無負荷時基準データとすることもできる。
【００６８】
無負荷時基準値Ｉ０，Ｉ３、試し加工値Ｉ１、実加工値Ｉ４などは、測定区間における平均値を用いたが、積分値を用いることもできる。
Ｚ軸モータ２８にかかるモータ負荷としては、モータ電流に代えて、Ｚ軸モータ２８の電力あるいはトルクなどを検出するようにしても良い。
【００６９】
上記した実施例では、工具２１が装着される主軸２２を移動させてワークを加工する例を示したが、ワークを支持するワーク支持部を加工軸方向へ移動させて加工する場合にも適用できる。
【００７０】
また、上記した実施例では、ドリル加工或いはタップ加工を考え、Ｚ軸モータ２８にかかるモータ負荷を測定して工具の異常を検出するようにしたが、例えばエンドミルを用いてミーリング加工を行う場合、Ｘ軸、Ｙ軸の駆動モータの負荷を同様に測定することで、工具の異常を検出することも可能である。
【００７１】
【発明の効果】
請求項１，４の発明によれば、評価基準値を設定する場合には、加工する位置などにより変動する成分が取り除かれ、加工に伴う実質的な負荷成分を基準にして設定するようにしており、また、実加工運転において算出される実負荷評価値も、加工する位置などにより変動する成分が取り除かれ、加工に伴う実質的な負荷成分を基準にして算出されている。このため、加工位置が変更されたり、工具長が変更されて加工する位置が僅かに変わった場合に、試し加工を行って評価基準値を設定し直すという必要がなく、作業能率の低下を極力防止することができる。
【００７２】
請求項２，５の発明によれば、工具の破損を検出する場合において、空運転時の無負荷時基準データを検出してこれを記憶させておき、この無負荷時基準データに基づき評価基準値を設定するようにしているので、加工位置が変更されたり、あるいは工具長が変更されて加工する位置が僅かに変わったとしても、上記無負荷時基準データから評価基準値を容易に設定することができ、よって、作業能率が低下することを極力防止することができる。また、評価基準値を設定する場合に、無負荷時基準データから無負荷時基準値を算出し、この無負荷時基準値に基づき評価基準値を算出するのであるから、試し加工を行うことなく、評価基準値を設定することができる利点がある。
【００７３】
請求項３の発明によれば、工具長が変更された場合、その変更に基づき測定区間及びその測定区間に対応する無負荷時基準値が自動的に変更されるので、それらを設定し直すという作業を行う必要がなく、作業能率が低下することを一層防止できるようになる。
【図面の簡単な説明】
【図１】  本発明の第１実施例を示すもので、ＣＰＵの制御内容のうちのメインルーチンのフローチャート
【図２】  無負荷時基準データ取込みモードのフローチャート
【図３】  評価基準値を決定するモードのフローチャート
【図４】  実切削加工モードのフローチャート
【図５】  マシニングセンタの外観斜視図
【図６】  主軸ヘッド付近の側面図
【図７】  制御系の構成を示すブロック図
【図８】  無負荷時基準データの例を示す図
【図９】  （ａ）は無負荷時（空運転時）のモータ電流の測定結果を示す図、（ｂ）は試し加工運転時のモータ電流の測定結果を示す図、（ｃ）は実負荷基準値を示す図
【図１０】  本発明の第２実施例を示す図１相当図
【図１１】  図３相当図
【図１２】  図４相当図
【図１３】  （ａ）リニアガイドが湾曲している状態を示す図、（ｂ）はその場合の送り軸用モータのモータ電流を示す図
【図１４】  （ａ），（ｂ）は同一機種の工作機械で、切削加工を行っていない場合（空運転状態）の送り軸用モータのモータ電流の測定結果を示す図
【符号の説明】
１１はマシニングセンタ（工作機械）、１３はテーブル、１５は機械本体、１６は操作パネル、１９はスイッチ（入力手段）、２１は工具、２２は主軸（加工主軸）、２３は主軸ヘッド、２７はボールネジ機構、２８はＺ軸モータ（送り軸用モータ）、３７はマイコン部、４０はＣＰＵ（記録媒体、モータ負荷検出手段、無負荷時基準値算出手段、試し加工値算出手段、実負荷基準値算出手段、実加工値算出手段、実負荷評価値算出手段、判定手段）、４３はＲＡＭ（基準データ記憶手段）である。
【図１】
0003944942.tif 000002
【図２】
0003944942.tif 000003
【図３】
0003944942.tif 000004
【図４】
0003944942.tif 000005
【図５】
0003944942.tif 000006
【図６】
0003944942.tif 000007
【図７】
0003944942.tif 000008
【図８】
0003944942.tif 000009
【図９】
0003944942.tif 000010
【図１０】
0003944942.tif 000011
【図１１】
0003944942.tif 000012
【図１２】
0003944942.tif 000013
【図１３】
0003944942.tif 000014
【図１４】
0003944942.tif 000015