以下、本発明の実施形態を説明する。図1に示す工作機械1は、主軸8に装着した工具6が、工作台50上の冶具(図示略)で固定したワークWに切削加工等を行う。工作機械1の左右方向、前後方向、上下方向は、夫々X軸方向、Y軸方向、Z軸方向である。
図1、図2を参照し、工作機械1の構成を説明する。図1に示す如く、工作機械1は、基台2、立柱5、主軸ヘッド7、主軸8、工作台50、加速度ピックアップ18、工具交換装置9、操作パネル15(図2参照)等を備える。基台2は、工作機械1の下部に設ける。基台2は上面後部に台座部3、運搬体4を備える。台座部3はX軸移動機構(図示略)を上面に備える。X軸移動機構は、X軸モータ53(図2参照)を駆動源とし、運搬体4をX軸方向に移動可能に支持する。運搬体4はY軸移動機構(図示略)を内部に備える。Y軸移動機構は、Y軸モータ54(図2参照)を駆動源とし、立柱5をY軸方向に移動可能に支持する。故に立柱5はX軸、Y軸の二軸方向に移動可能である。
主軸ヘッド7は、立柱5前面に沿ってZ軸方向に移動可能である。立柱5は前面にZ軸移動機構(図示略)を備える。Z軸移動機構は、Z軸モータ51(図2参照)を駆動源とし、主軸ヘッド7をZ軸方向に移動可能に支持する。主軸8は主軸ヘッド7内部をZ軸方向に延びる。工具装着穴(図示略)は、主軸8下部に設ける。
工具ホルダ(図示略)は工具6を保持する。工具ホルダ(図示略)は工具6を保持した状態で、工具装着穴に装着する。加速度ピックアップ18は、主軸ヘッド7の右面で且つ工具6の近傍位置に取り付ける。加速度ピックアップ18は、主軸ヘッド7の加速度を検知して電気信号に変換する。工作台50は、基台2上面で且つ主軸ヘッド7下方に設け、上面に固定した冶具でワークWを固定する。
工具交換装置9は、工具マガジン91、マガジンモータ55(図2参照)を備える。工具マガジン91は主軸ヘッド7前方に配置し、左右一対の支持部材92(図1では右側の支持部材92のみ図示)で立柱5に支持する。工具マガジン91は複数の工具(図示略)を保持し、NCプログラムが指示する工具を工具交換位置に位置決めする。マガジンモータ55は工具マガジン91を駆動する。工作機械1は主軸ヘッド7の昇降により工具交換位置にある現工具と主軸8に装着する次工具を交換する。
操作パネル15(図2参照)は、工作機械1を覆うカバー(図示略)の外壁に設ける。操作パネル15は入力部16と表示部17を備える。入力部16は各種情報、操作指示等の入力を受け付け、後述する数値制御装置30に出力する。表示部17は後述する数値制御装置30からの指令に基づき、各種画面を表示する。
図2を参照し、数値制御装置30と工作機械1の電気的構成を説明する。数値制御装置30と工作機械1は、CPU31、ROM32、RAM33、記憶装置34、入出力部35、駆動回路51A〜55A等を備える。CPU31は数値制御装置30を統括制御する。ROM32は、メインプログラムを含む各種プログラム等を記憶する。メインプログラムは後述する主処理を実行する。RAM33は各種情報を一時的に記憶する。記憶装置34は不揮発性であり、NCプログラム、後述する振動比率Rx、Ry、Rz等を含む各種情報を記憶する。CPU31は作業者が操作パネル15の入力部16で入力したNCプログラムに加え、外部入力で読み込んだNCプログラム等を記憶装置34に記憶できる。
駆動回路51AはZ軸モータ51とエンコーダ51Bに接続する。駆動回路52Aは主軸モータ52とエンコーダ52Bに接続する。駆動回路53AはX軸モータ53とエンコーダ53Bに接続する。駆動回路54AはY軸モータ54とエンコーダ54Bに接続する。駆動回路55Aはマガジンモータ55とエンコーダ55Bに接続する。Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55は何れもサーボモータである。駆動回路51A〜55AはCPU31から指令を受け、対応する各モータ51〜55に駆動電流を夫々出力する。駆動回路51A〜55Aはエンコーダ51B〜55Bからエンコーダ情報を受け、位置と速度の制御を行う。
操作パネル15、加速度ピックアップ18、インパルスハンマ11、変位センサ29は、入出力部35に接続する。加速度ピックアップ18は計測した加速度の出力結果を入出力部35を介してCPU31に出力する。インパルスハンマ11は、後述の振動比率取得処理において、工具6の加振時に使用する。インパルスハンマ11は、付与した力を検知する力センサを内蔵しており、工具6に付与した力を電気信号に変換しCPU31に出力する。力センサの出力値は、後述する図5(a)(b)の周波数特性Fh、Ftの演算で使用する。変位センサ29は、後述の振動比率取得処理において工作台50上に配置する。変位センサ29は、周知のレーザ変位計であり、工具6とは非接触の状態で、工具6の振動Vxを検出可能である。変位センサ29は、工具6の振動に関する情報を、入出力部35を介してCPU31に出力する。
図3〜図6を参照し、主処理を説明する。工作機械1の電源を投入すると、CPU31はROM32に記憶したメインプログラムを読み出し、主処理を実行する(図3参照)。CPU31はNCプログラムを受け付けたか判断する(S1)。NCプログラムを受け付けていない場合(S1:NO)、CPU31はS1に戻り待機する。
作業者は、操作パネル15を操作してワークWの加工を実行するNCプログラムのプログラム番号を入力する。CPU31は、入力されたプログラム番号に対応するNCプログラムを記憶装置34から読み出し、表示部17に表示する。作業者の入力部16の操作によりNCプログラムを実行する。該時、CPU31は、NCプログラムを受け付けたと判断し(S1:YES)、後述する振動比率Rx、Ry、Rzを記憶装置34に記憶しているか判断する(S3)。振動比率Rx、Ry、Rzを記憶装置34に記憶していない時(S3:NO)、CPU31は振動比率取得処理を実行する(S5)。
図4を参照し、振動比率取得処理を説明する。CPU31は主軸8の回転を停止する(S101)。作業者に対して工具6の加振を促すための案内画面を表示する(S103)。例えば、CPU31は、「インパルスハンマで工具をX軸方向に叩いて下さい」等のメッセージを記載した案内画面を表示部17に表示する。作業者は案内画面に従い、インパルスハンマ11(図示略)で工具6をX軸方向に叩く。
CPU31は、工具6に加振があったか判断する(S105)。CPU31は、インパルスハンマ11が出力した力の電気信号を検知し、電気信号の大きさが所定の閾値を超えた時に工具6への加振があったと判断する。工具6に加振が無い時(S105:NO)、CPU31はS103に戻り、案内画面を表示した状態で待機する。工具6に加振があった時(S105:YES)、CPU31はインパルスハンマ11から工具6に付与した力の入力波形(図示略)を取得する(S107)。CPU31は、取得した入力波形を記憶装置34に記憶する。
CPU31は、加速度ピックアップ18から、インパルスハンマ11で工具6を叩いた時の出力結果(図示略)を取得する(S109)。CPU31は、加速度ピックアップ18からの出力結果を、主軸ヘッド7の振動に関する情報として記憶装置34に記憶する。CPU31は、変位センサ29から、インパルスハンマ11で工具6を叩いた時の出力結果(図示略)を取得する(S111)。CPU31は、変位センサ29からの出力結果を、工具6の振動に関する情報として記憶装置34に記憶する。
CPU31は、主軸ヘッド7の振動に関する周波数特性Fhを演算する(S113)。周波数特性Fhは、主軸8の回転の停止時において、工具6を加振した時の主軸ヘッド7に生じた振動の周波数特性であり、周波数毎の振動の大きさを示す応答関数である。周波数特性Fhは、S107の処理で取得したインパルスハンマ11が工具6に対して付与した振動の入力波形と、S109の処理で取得した主軸ヘッド7の振動に関する出力結果に基づき演算する。図5(a)は、工具6を加振した時の主軸ヘッド7の振動の周波数特性Fhを示す。横軸は周波数(Hz)、縦軸は主軸ヘッドコンプライアンス(μm/N)を示す。主軸ヘッドコンプライアンスは、1Nの力を付与した時の主軸ヘッド7の振動の大きさを示す。加振した工具6は、φ63の五枚刃のフェイスミルである。主軸ヘッド7に生じた振動の周波数特性Fhは、例えば、0〜200Hz、480Hz、1000Hz付近で振動ピークが発生している。
CPU31は、工具6の振動に関する周波数特性Ftを演算する(S115)。周波数特性Ftは、主軸8の回転の停止時において、工具6を加振した時の工具6に生じた振動の周波数特性であり、周波数毎の振動の大きさを示す応答関数である。周波数特性Ftは、S107の処理で取得したインパルスハンマ11が工具6に対して付与した振動の入力波形と、S111の処理で取得した工具6の振動に関する出力結果に基づき演算する。図5(b)は、工具6を加振した時の工具6の振動の周波数特性Fhを示す。横軸は周波数(Hz)、縦軸は工具コンプライアンス(μm/N)を示す。工具コンプライアンスは、1Nの力を付与した時の工具6の振動の大きさを示す。図5(b)に示す如く、例えば、480Hz、1000Hz、1200Hz、1500Hz付近で振動ピークが発生していることが分かる。
CPU31は、周波数に応じて異なる振動比率Rxを算出する(S117)。振動比率Rxは、X軸方向における周波数特性Ftに対する周波数特性Fhの周波数毎の比率である。図5(c)は、振動比率Rxの周波数特性を示す。横軸は周波数(Hz)、縦軸は振動比率を示す。図5(c)に示す如く、振動比率Rxは、50Hz、250Hz、300Hz、750Hz、900Hz、1100Hz、1600Hz〜2000Hz付近で、高くなっている。振動比率Rxは周波数毎に変化する。
CPU31は、S117で算出した振動比率Rxを記憶装置34に記憶する(S119)。CPU31は、振動比率Rx、Ry、Rzを全て記憶装置34に記憶しているかを判断する(S121)。振動比率Ryは、Y軸方向における周波数特性Ftに対する周波数特性Fhの周波数毎の比率である。振動比率Rzは、Z軸方向における周波数特性Ftに対する周波数特性Fhの周波数毎の比率である。記憶装置34は振動比率Ry、Rzを記憶していないので(S121:NO)、CPU31はS103に戻り、Y軸方向への加振を促す案内画面を表示部17に表示する。作業者は、インパルスハンマ11により工具6をY軸方向に加振する。CPU31は、上記のS105〜S119の処理を実行し、振動比率Ryを算出し、記憶装置34に記憶する。
振動比率Rzを記憶装置34に記憶していないので(S121:NO)、CPU31はS103に戻り、Z軸方向への加振を促す案内画面を表示部17に表示する。作業者は、インパルスハンマ11により工具6をZ軸方向に加振する。CPU31は、上記のS105〜S119の処理を実行し、振動比率Rzを算出し、記憶装置34に記憶する。記憶装置34が全ての振動比率Rx、Ry、Rzを記憶している時(S121:YES)、CPU31は処理を主処理のS7に戻す。
CPU31はNCプログラムに基づきワークWの加工を開始する(S7)。本実施形態は、例えば以下の条件で加工を実行する。
・ワークWの材質:JIS S50C
・主軸回転速度:800min−1
・送り速度:400mm/min
CPU31は、ワークWの加工中に、加速度ピックアップ18による主軸ヘッド7の振動計測を開始する(S9)。加速度ピックアップ18による振動計測の開始時期は、作業者によって予め指定している。CPU31は、主軸ヘッド7の振動計測を開始してから所定時間経過したか判断する(S11)。所定時間経過していない時(S11:NO)、CPU31は、S11に戻り、加速度ピックアップ18からの出力結果を取得し続ける。
所定時間経過した時(S11:YES)、CPU31は、主軸ヘッド7の振動計測を停止する(S13)。CPU31は、ワークWの加工を終了する(S15)。CPU31は、S9〜13の処理で加速度ピックアップ18が検出した出力結果に基づき、ワークWの加工中における主軸ヘッド7に生じた振動の周波数特性Fhmを演算する(S17)。周波数特性Fhmは、加速度ピックアップ18からの出力結果をフーリエ変換したものである。
図6(a)は、ワークWの加工中における主軸ヘッド7に生じた振動の周波数特性Fhmを示す。横軸は周波数、縦軸は主軸ヘッド7の変位(μm)を示す。主軸ヘッド7の変位は、主軸ヘッド7の振動の大きさを示す。周波数特性Fhmは、90Hz、180Hz付近で振動ピークが発生し、500Hz〜1000Hzの領域では、主軸ヘッド7が振動していないように見える。
CPU31は、記憶装置34から振動比率Rx、Ry、Rzを読み出す(S19)。CPU31は、ワークWの加工中における工具6の振動Vx、Vy、Vzを夫々演算する(S21)。振動VxはX軸方向における振動、振動VyはY軸方向における振動、振動VzはZ軸方向における振動である。CPU31は、周波数特性Fhmに対して振動比率Rxを乗ずることにより、工具6の振動Vxを演算する。CPU31は、工具6の振動Vy、振動Vzも、工具6の振動Vxと同様に演算する。
CPU31は例えば演算した工具6の振動Vxを表示部17に表示する(S23)。尚、CPU31は、振動Vy、Vzの表示部17への表示に関しては、作業者の操作パネル15の操作により表示部17の表示画面を切り替えて表示可能である。
図6(b)は、ワークWの加工中における工具6に生じた振動Vxの周波数特性を示す。横軸は周波数、縦軸は工具6の変位(μm)を示す。工具6の変位は、工具6の振動の大きさを示す。図6(b)に示す如く、工具6の振動Vxは、主軸ヘッド7の振動の周波数特性Fhmと同様に90Hz、180Hzにおいて振動ピークが発生していることが分かる。又、工具6の振動Vxは、250Hz、320Hz〜450Hzの領域で振動ピークが発生していることが分かる。従って、図6(a)において400Hz付近では、観測できなかった振動ピークが工具6に発生していることが分かる。更に、振動Vxは、780Hz、950Hz付近で振動ピークを観測できていることが分かる。つまり、図6(a)において500〜1000Hzの周波数範囲では観測できなかった振動が工具6に発生していることが分かる。故に、CPU31は、主軸ヘッド7の振動のみでは観測できなかった工具6の振動を、より正確に検出できる。故に作業者は、発生した振動を認識することができ、強度の高い振動ピークが発生している時には、主軸8の回転周波数を変更する等の対策を行うことができる。尚、CPU31は、X軸、Y軸、Z軸方向の振動Vx等を演算することで、例えば再生びびり振動等の振動モードを特定可能である。CPU31は本処理を終了する。
以上説明の如く、数値制御装置30のCPU31は、ワークWの加工中に、主軸8を支持する主軸ヘッド7の振動を検出する。CPU31は、S9〜S13の処理で検出した出力結果に基づき、ワークWの加工中における主軸ヘッド7に生じた振動の周波数特性Fhmを演算する。CPU31は、例えば振動比率Rx、Ry、Rzを記憶する記憶装置34から振動比率Rxを読み出す。CPU31は、S17の処理で演算した周波数特性Fhmに対して、S19の処理で読み出した振動比率Rxを乗ずることにより、ワークWの加工中における工具6の振動Vxを演算する。故に、CPU31は、加工中における工具6の振動Vxを精度よく検出でき、主軸ヘッド7の振動のみでは観測できなかった工具6の振動を、より正確に検出できる。
CPU31は、例えば、主軸8の回転の停止時において、工具6を加振した時の主軸ヘッド7の振動を検出する加速度ピックアップ18からの出力結果に基づき周波数特性Fhを演算する。CPU31は、主軸8の回転の停止時において、工具6を加振した時の工具6の振動を検出する変位センサ29からの出力結果に基づき周波数特性Ftを演算する。CPU31は、S113の処理により演算した周波数特性FhとS115の処理により演算した周波数特性Ftに基づき、振動比率Rxを算出する。CPU31は、S117の処理により算出した振動比率Rxを記憶装置34に記憶する。故に、CPU31は、予め記憶装置34に記憶した振動比率Rxにより、ワークWの加工中における工具6の振動Vxを演算できる。
CPU31は、工具6を加振した時に変位センサ29及び加速度ピックアップ18によって同時に検出する工具6の振動、及び主軸ヘッド7の振動の夫々の出力結果に基づき、周波数特性Fh及び周波数特性Ftを夫々演算する。CPU31は、同時に計測した出力結果に基づく周波数特性Fhと周波数特性Ftから振動比率Rxを演算するので、外乱の影響を低減できる。故に、CPU31は、外乱による影響を低減しつつ、例えばワークWの加工中における工具6の振動Vxを演算できる。
変位センサ29は、工具6とは非接触の状態で、工具6の振動を検出可能なセンサである。CPU31は、変位センサ29により工具6とは非接触の状態で、工具6の振動を検出できる。
加速度ピックアップ18は、主軸ヘッド7に設け、且つ主軸ヘッド7の振動を検出可能である。CPU31は、加速度ピックアップ18により主軸ヘッド7の振動を直接検出できる。
主軸ヘッド7は、主軸8を回転可能に支持する。CPU31は、主軸ヘッド7と主軸8が保持する工具6の配置位置が近いので、ワークWの加工時の工具6の振動Vxをより正確に演算できる。
本発明は上記実施形態に限らず各種変形が可能である。上記実施形態の工作機械1は、加速度ピックアップ18により主軸ヘッド7の振動を検出したが、変形例における工作機械1は、エンコーダ51B、53B、54Bのエンコーダ情報を使用して主軸ヘッド7の振動を検出する。故に変形例の工作機械1は加速度ピックアップ18を設けなくてよい。以下、図7〜図10を参照し、変形例におけるエンコーダ51B、53B、54Bを用いた工作機械1の工具6の振動Vxの演算について説明する。上記実施形態と同様の構成については説明を省略し、違う構成について詳細に説明する。変形例の主処理(図7参照)では、CPU31は、S9、S13、S17の処理に代えてS10、S14、S18の処理を実行する点が異なる。又、変形例の振動比率取得処理(図8参照)では、CPU31はS109、S113の処理の代わりに、S110、S114の処理を実行する点が異なる。
図7〜図10を参照し、変形例の主処理について説明する。CPU31は、工作機械1の電源を投入すると、図7に示す主処理を実行する(図7参照)。CPU31は、NCプログラムを受け付け(S1:YES)、振動比率Rx、Ry、Rzが記憶装置34に記憶していないと判断した時(S3:NO)、変形例の振動比率取得処理を実行する(S5)。
変形例の振動比率取得処理では、作業者は案内画面の表示に従い、インパルスハンマ11によりX軸方向から工具6を叩く。CPU31は、インパルスハンマ11により工具6をX軸方向に加振した時、加振により振動する主軸8の位置が加振前の位置に戻るようにX軸モータ53、Y軸モータ54、Z軸モータ51を駆動する。従って、インパルスハンマ11で工具6をX軸方向に叩く時、エンコーダ51B、53B、54Bが出力するエンコーダ情報は変化する。該時、CPU31は、エンコーダ51B、53B、54Bのエンコーダ情報を取得する(S110)。該時、CPU31は、取得したエンコーダ情報を主軸ヘッド7の振動情報として記憶装置34に記憶する。
CPU31は、上記実施形態と同様にS107で取得した入力波形とS110で取得したエンコーダ情報に基づき周波数特性Fhを演算する(S114)。CPU31は、エンコーダ情報に基づき演算した周波数特性Fhと、上記実施形態と同様に演算した周波数特性Ftとの振動比率Rxを取得する(S117)。CPU31は、演算した振動比率Rxを記憶装置34に記憶する(S119)。振動比率Ryが記憶装置34に記憶してない時(S121:NO)、CPU31はS103の処理に戻り、案内画面を表示し、作業者に対してY軸方向への工具6の加振を促す。CPU31は、S103〜S119の処理を繰り返して、振動比率Ry(図示略)を算出し、記憶装置34に記憶する。振動比率Rzが記憶装置34に記憶してない時(S121:NO)、CPU31はS103の処理に戻り、案内画面を表示し、作業者に対してZ軸方向への工具6の加振を促す。CPU31は、S103〜S119の処理を繰り返して、周波数特性Fh(図9(a)参照)、周波数特性Ft(図9(b)参照)、振動比率Rz(図9(c)参照)を算出し、記憶装置34に記憶する。
図9(a)に示す如く、周波数特性Fhは、主軸8の回転の停止時において、Z軸方向に工具6を加振した時のエンコーダ51Bのエンコーダ情報の振動の周波数特性であり、周波数毎の振動の大きさを示す応答関数である。図9(a)は、工具6をZ軸方向に加振した時の周波数特性Fhを示す。横軸は周波数(Hz)、縦軸はモータコンプライアンス(μm/N)を示す。モータコンプライアンスは、1Nの力を付与した時のエンコーダ情報の振動の大きさを示す。主軸ヘッド7に生じた振動の周波数特性Fhは、例えば、0〜150Hzの領域で振動している。図9(b)に示す周波数特性Ft、図9(c)の振動比率Rzは、上記実施形態と同様に演算した結果である。
振動比率Rx、Ry、Rzを全て記憶しているので(S121:YES)、CPU31は、処理を主処理(図7参照)に戻してS7の処理を実行する。
CPU31は、ワークWの加工中にエンコーダ51B、53B、54Bのエンコーダ情報を取得する(S10)。該時、CPU31は、エンコーダ情報を主軸ヘッド7の振動に関する情報として記憶装置34に記憶する。CPU31は、例えばエンコーダ51Bのエンコーダ情報を、フーリエ変換することで周波数特性Fhmを取得する(S18)。尚、X軸方向、Y軸方向の振動Vx、Vyの周波数特性Fhmについても、エンコーダ53B、54Bのエンコーダ情報に基づき夫々演算する。
図10(a)は、ワークWの加工中におけるZ軸モータ51のエンコーダ情報の振動の周波数特性Fhmを示す。横軸は周波数、縦軸はZ軸モータ51のエンコーダ情報の変位(μm)を示す。Z軸モータ51の変位は、エンコーダ51bのエンコーダ情報の振動の大きさを示す。周波数特性Fhmは、15Hz、65Hz、135Hz、175Hz、200Hz、240Hz付近で振動ピークが発生している。
CPU31は、演算した周波数特性Fhmに対して、読み出した振動比率Rxを周波数毎に乗ずることで、工具6の振動Vxを演算し(S21)、表示部17に表示する(S23)。該時、CPU31は、Y軸方向、Z軸方向の工具6の振動Vy、Vzについても、同様に演算し(S21)、表示部17に表示する(S23)。
図10(b)は、ワークWの加工中における工具6に生じたZ軸方向の振動Vzの周波数特性Fhmを示す。横軸は周波数、縦軸は工具6の変位(μm)を示す。工具6の変位は、工具6の振動の大きさを示す。図10(b)に示す如く、Z軸方向の工具6の振動Vzは、15Hz、65Hz、135、175Hz、200Hz付近の振動ピークに加えて、30Hz、55Hz、110、120Hz、145Hz、175Hz、230付近についても振動が発生していることが分かる。CPU31は変形例の主処理を終了する。
上記工作機械1は、更に以下の如く変更可能である。工作機械1は主軸8がZ軸方向に対して平行な縦型の工作機械であるが、主軸が水平方向に延びる横型の工作機械であってもよい。工作機械1は、工具6を装着する主軸8がZ軸方向に移動可能であり、立柱5がX軸とY軸方向に移動可能であるが(以下、コラムトラバース型の工作機械という)、例えば主軸8はZ軸方向に駆動するもので、工作台50は、X軸、Y軸に移動可能なものでもよい(以下、テーブルトラバース型の工作機械という)。又、上記工作機械1では、工具6を加振したが、ワークWを加振してワークWの振動Vx、Vy、Vzを演算してもよい。工具6の振動の演算とワークWの振動の演算は必要に応じて一方のみを演算してもよいし両方演算してもよい。以下、テーブルトラバース型の工作機械における工具6又はワークWの振動の演算について詳細に説明する。
テーブルトラバース型の工作機械において、加速度ピックアップ18を工作台50に取付けて、ワークWの振動を演算する時を想定する。該時、振動比率取得処理において、主軸ヘッド7に変位センサ29を配置し、ワークWの振動を計測する。つまり、変位センサ29は、振動を演算したい部位と異なる場所に配置する。故に、工作機械1は、加速度ピックアップ18、変位センサ29の検出結果の精度が向上する。
上記変形例の工作機械1はコラムトラバース型であり、且つX軸モータ53、Y軸モータ54、Z軸モータ51のエンコーダ情報から工具6の振動を演算する時、コラムトラバース型の工作機械1は、X、Y、Z軸方向の振動Vx、Vy、Vzの演算が可能であった。一方、工作機械1がテーブルトラバース型であり、且つX軸モータ53、Y軸モータ54、Z軸モータ51のエンコーダ情報から工具6の振動を演算する時、Z軸方向の振動Vzを精度よく演算できる。尚、X軸方向、Y軸方向についての振動Vx、Vyの演算はやや精度が落ちるものの演算可能である。
上記工作機械1は、主軸ヘッド7の振動を加速度ピックアップ18で検出したが、これに限らず他のセンサを使用してもよい。例えば、工作機械1は、加速度ピックアップ18の代わりに変位センサを用いてもよい。工作機械1は、工具6への加振時に、変位センサ29により工具6の振動を検出したが、他のセンサを使用してもよい。例えば、工作機械1は、変位センサ29の代わりに加速度ピックアップを使用してもよい。変位センサ29はレーザ変位計であったが、これに限らず、静電容量式変位センサ、渦電流式変位センサ等を用いてよい。加速度ピックアップ18は主軸ヘッド7に設けたが、これに限らず工具6の加振時に振動する工作機械1の何れかの部分に設ければよい。このような場合でも、数値制御装置30は工具6の振動Vx、Vy、Vzを精度よく演算できる。
上記工作機械1のCPU31は、振動比率取得処理において、変位センサ29と加速度ピックアップ18からの出力結果を同時に検出したが、同時に検出しなくてもよい。例えば、インパルスハンマ11で工具6を加振した時に、先に変位センサ29の出力結果のみ取得し、その後、インパルスハンマ11で再度加振した時に、加速度ピックアップ18の出力結果を取得してもよい。このような場合でも、周波数特性Fhはインパルスハンマ11による入力波形と、加速度ピックアップ18の振動の出力結果との入出力の関係を示す応答関数であり、周波数特性Ftは、インパルスハンマ11による入力波形と、変位センサ29の振動の出力結果との入出力の関係を示す応答関数である。故に、CPU31は、同時に出力結果を取得した場合の周波数特性Fh、Ftと同様の周波数特性を夫々取得できる。CPU31は、インパルスハンマ11と加速度ピックアップ18の検出結果に基づく応答関数と、インパルスハンマ11と変位センサ29の検出結果に基づく応答関数の演算を行ったが外部装置により各応答関数の演算をしてもよい。
S9、S11、S13の処理及びS10、S11、S14の処理において、CPU31は所定時間の振動の出力結果を取得したがこれに限らず、例えば切削開始から切削終了までの振動の出力結果を取得してもよい。該時、CPU31は、作業者が指定する振動の出力結果の区間を特定してもよい。故に、CPU31は、作業者が特定した区間の振動の出力結果に基づき、振動Vx、Vy、Vzの演算を実行してもよい。CPU31は、ワークWの加工の終了を待って、工具6の振動Vx、Vy、Vzを演算して表示したが、例えば、ワークWの加工中に工具6の振動Vx、Vy、Vzを演算して表示してもよい。
上記工作機械は工具6を用いて振動比率Rx、Ry、Rzの演算を実行したがこれに限らず、他の異なる工具毎に振動比率Rx、Ry、Rzを取得してもよい。これにより、CPU31は、工具交換する工具に併せてより正確にワークWの加工中の工具の振動を演算できる。CPU31は、全てのデータを取得したが、X軸、Y軸、Z軸方向の振動比率Rx、Ry、Rzの少なくとも何れか一つを取得していればよい。該時、CPU31は、取得している方向についてのみ工具6の振動を演算してもよい。
図3、図7のS9〜S13、S10〜S14の処理を実行するCPU31は本発明の検出部の一例である。S17、S18の処理を実行するCPU31は本発明の演算部の一例である。S19の処理を実行するCPU31は本発明の読み出し部の一例である。S21の処理を実行するCPU31は本発明の振動演算部の一例である。図4、図8のS113、S114の処理を実行するCPU31は本発明の第三特性演算部の一例である。S115の処理を実行するCPU31は本発明の第二特性演算部の一例である。S117の処理を実行するCPU31は本発明の振動比率算出部の一例である。S119の処理を実行するCPU31は本発明の記憶制御部の一例である。
周波数特性Fhmは本発明の第一特性の一例である。周波数特性Fhは本発明の第二特性の一例である。周波数特性Ftは本発明の第三特性の一例である。加速度ピックアップ18は本発明の加速度センサの一例である。記憶装置34は本発明の記憶部の一例である。変位センサ29は、本発明の第一検出部の一例である。加速度ピックアップ18、エンコーダ51B、53B、54Bは、本発明の第二検出部の一例である。X軸モータ53、Y軸モータ54、Z軸モータ51は、本発明の送りモータの一例である。