<第一実施形態>
本発明の第1実施形態を説明する。以下説明は図中に矢印で示す左右、前後、上下を使用する。図1に示す工作機械1Aの左右方向、前後方向、上下方向は、夫々、X軸方向、Y軸方向、Z軸方向である。工作機械1Aは主軸9Aに装着した工具体40A(図2参照)の工具4Aを回転し、テーブル13A上面に保持した被削材に切削加工を施す機械である。数値制御装置30Aは工作機械1Aの動作を制御する。
<工作機械1Aの概要>
図1、図2に示す如く、工作機械1Aは、基台2A、コラム5A、主軸ヘッド7A、主軸9A、テーブル装置10A、工具交換装置20A、制御箱6A、操作盤15A(図4参照)等を備える。基台2Aは略直方体状の金属製土台である。コラム5Aは基台2A上部後方に固定する。
主軸ヘッド7Aはコラム5A前面に設けたZ軸移動機構でZ軸方向に昇降する。Z軸移動機構はZ軸モータ51A(図4参照)等を備える。Z軸移動機構は、Z軸モータ51Aの駆動に応じて主軸ヘッド7AをZ軸方向に移動する。主軸ヘッド7Aは上部に主軸モータ52Aを備える。主軸9Aは主軸ヘッド7Aの内部に回転可能に設ける。主軸9Aは下端部(先端部)に装着穴92Aを有する。主軸9Aは装着穴92Aに工具ホルダ17Aを装着し、主軸モータ52Aの駆動に応じて回転する。工具ホルダ17Aは工具4Aを保持する。工具4A及び工具ホルダ17Aは、工具体40Aを構成する。
テーブル装置10Aは、Y軸移動機構(図示略)、Y軸テーブル12A、テーブル13A、X軸移動機構等を備える。Y軸移動機構は基台2A上面に設け、Y軸モータ54A(図4参照)等を備える。Y軸移動機構は、Y軸モータ54Aの駆動に応じてY軸テーブル12AをY軸方向に移動する。X軸移動機構はY軸テーブル12A上面に設け、X軸モータ53A(図4参照)等を備える。X軸移動機構は、X軸モータ53Aの駆動に応じてテーブル13AをX軸方向に移動可能に支持する。故にテーブル13Aは、X軸移動機構とY軸移動機構により、基台2A上をX軸方向とY軸方向に移動可能である。
工具交換装置20Aは主軸ヘッド7Aの前側に設け、工具マガジン21Aを備える。工具マガジン21Aは、円状に配列した複数のグリップアーム90Aを外周に備える。グリップアーム90Aは工具ホルダ17Aを把持する。工具交換装置20Aはマガジンモータ55A(図4参照)の駆動に応じて工具マガジン21Aを回転する。
制御箱6Aはコラム5Aの背面側に固定し、数値制御装置30A(図4参照)を格納する。数値制御装置30Aは、Z軸モータ51A、主軸モータ52A、X軸モータ53A、Y軸モータ54Aを夫々制御し、テーブル13A上に保持した被削材と主軸9Aに装着した工具4Aを相対移動することで各種加工を被削材に施す。各種加工とは、ドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
操作盤15A(図4参照)は、工作機械1Aを覆うカバー(図示略)の外壁等に設ける。操作盤15Aは入力部24A(図4参照)と表示部25A(図4参照)を備える。入力部24Aは各種情報、操作指示等の入力を受け付け、後述する数値制御装置30Aに入力情報を出力する。表示部25Aは後述する数値制御装置30Aからの指令に基づき各種画面、異常情報等を表示する。
<主軸ヘッド7Aと主軸9Aの内部構造>
図2,図3に示す如く、主軸ヘッド7Aは前方下部の内側に主軸9Aを回転可能に支持する。主軸9Aは上下方向に回転軸を有する。主軸9Aは主軸モータ52Aの下方に延びる駆動軸に継手23Aを介して連結する。故に主軸9Aは主軸モータ52Aの駆動で回転する。図3に示す如く、主軸9Aは、軸穴91A、装着穴92A、空間93A、下部摺動穴94A、クランプ軸81A、ばね82Aを備える。軸穴91Aは主軸9Aの中心を通る。装着穴92Aは主軸9Aの先端部(下端部)に設ける。工具ホルダ17Aは装着穴92Aに装着する。工具ホルダ17Aは一端側に工具4Aを保持し、他端側にテーパ装着部180Aとプルスタッド181Aを備える。テーパ装着部180Aは円錐状である。プルスタッド181Aはテーパ装着部180Aの頂上部から軸方向に突出する。テーパ装着部180Aは主軸9Aの装着穴92Aに密着して装着する。空間93Aは装着穴92A上部に連続して設ける。下部摺動穴94Aは軸穴91Aの下端部と空間93Aとの間に連続して設ける。
クランプ軸81Aは軸穴91A内に挿入し且つ上下方向に移動可能に設ける。クランプ軸81Aはピン支持部811A、軸部812A、ホルダ把持部813Aを備える。ピン支持部811Aは円柱形状でクランプ軸81Aの上端に位置し、後述するピン58Aを支持する。軸部812Aは円柱形状でありピン支持部811Aから下方に延びる。ホルダ把持部813Aは軸部の下端に位置し、複数の鋼球(図示略)を有する。ばね82Aは軸穴91Aの中に挿入し、ばね82Aの上端はピン支持部811Aと係合し、クランプ軸81Aをばね力で上方に常時付勢する。クランプ軸81Aがばね82Aの弾性力に抗して下方向に移動することにより、ばね82Aは縮み、ホルダ把持部813Aは下部摺動穴94Aから空間93Aに出て、工具ホルダ17Aのプルスタッド181Aの固定を解除する。一方、クランプ軸81Aが下方移動した状態からばね82Aの弾性力により上に移動すると、ホルダ把持部813Aは、空間93Aから下部摺動穴94Aに移動し、鋼球は内側に引き込まれ、プルスタッド181Aを固定する。故にクランプ軸81Aは工具ホルダ17Aをばね82Aにより上方に引っ張り上げた状態で、工具体40Aを主軸9Aに固定する。
図2に示す如く、主軸ヘッド7Aは後方上部の内側にレバー60Aを備える。レバー60Aは略L字型であり支軸61Aを中心に揺動する。支軸61Aは主軸ヘッド7A内に固定する。レバー60Aは縦方向レバー63Aと横方向レバー62Aを備える。縦方向レバー63Aは支軸61Aからコラム5A側に対して斜め上方に延びて中間部65Aで上方に折曲して更に上方に延びる。横方向レバー62Aは支軸61Aからコラム5A前方に略水平に延びる。横方向レバー62Aの先端部はクランプ軸81Aに直交して突設したピン58Aに上方から係合可能である。縦方向レバー63Aは上端部の背面に板カム体66Aを備える。板カム体66Aはコラム5A側にカム面を備える。板カム体66Aのカム面は上側軸受部27Aに固定したカムフォロア67Aと接離可能である。カムフォロア67Aは板カム体66Aのカム面を摺動する。引張コイルバネ(図示略)は縦方向レバー63Aと主軸ヘッド7Aとの間に弾力的に設ける。レバー60Aを右側面から見た時、引張コイルバネはレバー60Aを時計回りに常時付勢する。故にレバー60Aは横方向レバー62Aによるピン58Aの下方向への押圧を常時解除する。
<工具体40Aの着脱、交換動作>
図2に示す如く、主軸9Aの装着穴92Aに、工具ホルダ17Aのテーパ装着部180Aを装着した状態で、Z軸モータ51Aの回転により主軸ヘッド7Aが上昇する。レバー60Aに設けた板カム体66Aはカムフォロア67Aに接触して摺動する。板カム体66Aのカム形状に沿ってカムフォロア67Aが摺動すると、レバー60Aは右側方から見た時に支軸61Aを中心に反時計回りに回転する。横方向レバー62Aはピン58Aに上方から係合してクランプ軸81Aを下方に押圧する。クランプ軸81Aはばね82Aのばね力に抗してホルダ把持部813Aを下方に付勢する。ホルダ把持部813Aは工具ホルダ17Aのプルスタッド181Aの固定を解除する。工具ホルダ17Aが主軸9Aの装着穴92Aから外れ、工具体40Aは主軸9Aから脱離する。主軸9Aから脱離した工具体40Aを、第一工具体と称す。工具交換装置20Aの複数のグリップアーム90Aのうち、工具交換位置にある一のグリップアーム90A(以下、第一グリップアームと称す)は、主軸9Aから脱離した第一工具体を把持する。工具交換位置は工具マガジン21Aの最下部位置である。
工具交換装置20Aは、マガジンモータ55Aにより工具マガジン21Aを回転し、NCプログラムの工具交換指令が指示する工具4Aを含む工具体40A(以下、第二工具体と称す)を、工具交換位置に位置決めする。該時、工具マガジン21Aは、主軸9Aから脱離した工具体40Aである第一工具体が工具交換位置にある状態から、新たに主軸9Aに装着する工具体40Aである第二工具体が工具交換位置にある状態まで回転する。又、工具マガジン21Aは、第一工具体を第一グリップアームにより把持し、且つ、第二工具体を他のグリップアーム90A(以下、第二グリップアームと称す)に把持した状態で回転する。
工具交換位置に第二工具体が配置した状態で、Z軸モータ51Aの回転により主軸ヘッド7Aが下降する。主軸9Aの装着穴92Aに、第二工具体の工具ホルダ17Aのテーパ装着部180Aが挿入する。レバー60Aに設けた板カム体66Aはカムフォロア67Aに摺動すると、レバー60Aは右側方から見た時に支軸61Aを中心に時計回りに回転する。故に横方向レバー62Aはピン58Aから離れ、クランプ軸81Aの下方への押圧を解除する。クランプ軸81Aはホルダ把持部813Aの下方への付勢を解除し、ばね82Aのばね力で上方に移動する。ホルダ把持部813Aはプルスタッド181Aを上方に引っ張り、プルスタッド181Aを固定する。工具交換装置20Aの第二グリップアームから、第二工具体が脱離する。主軸9Aの装着穴92Aに対して工具ホルダ17Aのテーパ装着部180Aの装着が完了し、主軸9Aに対する第二工具体の装着が完了する。
主軸9Aから工具体40Aを脱離する時のクランプ軸81A及びレバー60Aの動作を、脱離動作と称す。主軸9Aに工具体40Aを装着する時のクランプ軸81A及びレバー60Aの動作を、装着動作と称す。クランプ軸81A及びレバー60Aの脱離動作と装着動作を、着脱動作と総称する。
<電気的構成>
図4を参照し、数値制御装置30Aと工作機械1Aの電気的構成を説明する。数値制御装置30Aは、CPU31A、ROM32A、RAM33A、記憶装置34A、入力インタフェイス351A、出力インタフェイス352A等を備える。CPU31Aは数値制御装置30Aを統括制御する。ROM32Aは、各種プログラムを記憶する。RAM33Aは、各種処理実行中の各種データを記憶する。記憶装置34Aは不揮発性メモリであり、NCプログラムの他、各種データを記憶する。又、記憶装置34Aは、第一開始量D11、第一終了量E11、第三開始量D31、及び第三終了量E31(図7参照)を記憶する。
工作機械1Aは、操作盤15Aを更に備える。操作盤15Aは入力部24Aと表示部25Aを有する。入力部24Aは各種入力を受け付ける。表示部25Aは各種画面を表示する。入力部24Aは、入力インタフェイス351Aに電気的に接続する。表示部25Aは出力インタフェイス352Aに電気的に接続する。
Z軸モータ51A、主軸モータ52A、X軸モータ53A、Y軸モータ54A、マガジンモータ55Aは、出力インタフェイス352Aに電気的に接続する。Z軸モータ51A、主軸モータ52A、X軸モータ53A、Y軸モータ54A、マガジンモータ55Aは、出力インタフェイス352Aが出力するパルス信号に応じて回転するサーボモータである。Z軸モータ51Aはエンコーダ511Aを備える。エンコーダ511AはZ軸モータ51Aの回転角度を検出する。主軸モータ52Aはエンコーダ521Aを備える。エンコーダ521Aは主軸モータ52Aの回転角度を検出する。X軸モータ53Aはエンコーダ531Aを備える。エンコーダ531AはX軸モータ53Aの回転角度を検出する。Y軸モータ54Aはエンコーダ541Aを備える。エンコーダ541AはY軸モータ54Aの回転角度を検出する。マガジンモータ55Aはエンコーダ551Aを備える。エンコーダ551Aはマガジンモータ55Aの回転角度を検出する。エンコーダ511A、521A、531A、541A、551Aは、入力インタフェイス351Aに電気的に接続する。
<装着状態の判定方法>
主軸9Aに対する工具体40Aの装着状態として、未装着状態、完全装着状態、及び不完全装着状態を定義する。未装着状態は、主軸9Aに工具体40Aが装着していない状態を示す。完全装着状態は、工具4Aにより被削材を加工できる態様で主軸9Aに工具体40Aが装着した状態を示す。不完全装着状態は、装着状態のうち工具4Aにより被削材を加工できない態様で主軸9Aに工具体40Aが装着した状態を示す。不完全装着状態の一例として、主軸9A下端のドライブキーが工具ホルダ17Aのキー溝184と係合せず、ドライブキーが工具ホルダ17Aに乗り上げ、テーパ装着部180Aと装着穴92Aの間に隙間がある状態を示す。不完全装着状態の工具体40Aを用いて切削加工を実行した時、切削精度が低下する可能性がある。
着脱動作を行う為に主軸ヘッド7AをZ軸方向に移動する時、Z軸モータ51Aのトルクの経時変化は装着状態に応じて変動する。該理由は、主軸ヘッド7Aの移動時にレバー60Aの板カム体66Aがカムフォロア67Aに接触する時機が、主軸9Aに対する工具体40Aの装着状態に応じて変化する為である。図5は、主軸ヘッド7AのZ軸方向の位置(横軸)とZ軸モータ51Aのトルク(縦軸)との関係を示すグラフである。図5は、工作機械1の振動等による影響を除くため、工作機械1の固有振動を除去可能なローパスフィルタによる処理を施してあるとする。以降のグラフも同様である。横軸の基準0[mm]は、最下位にある主軸ヘッド7AのZ軸方向の位置に対応する。横軸の正方向は上方向に対応し、負方向は下方向に対応する。最下位は、主軸ヘッド7AにおけるZ軸方向の移動範囲を加工領域と工具交換領域に分けた時、工具交換領域の最下端に対応する。最下位は、加工領域の最上端と同一である。
図5(A)は、脱離動作を行う為に主軸ヘッド7Aを最下位から最上位迄移動した時のZ軸モータ51Aのトルクの経時変化を示す。最上位は、工具交換領域の最上端に対応する。最上位は、工具マガジン21が回転する時のZ軸方向の位置である。曲線C11は、脱離動作前の装着状態が未装着状態であることを示す。該時、脱離動作の前後で未装着状態を維持する。曲線C12は、脱離動作前の装着状態が完全装着状態であることを示す。該時、脱離動作により完全装着状態から未装着状態に切替わる。曲線C13は、脱離動作前の装着状態が不完全装着状態であることを示す。該時、脱離動作により不完全装着状態から未装着状態に切替わる。
図5(B)は、装着動作を行う為に主軸ヘッド7Aを最上位から最下位迄移動した時のZ軸モータ51Aのトルクの経時変化を示す。曲線C21は、装着動作後の装着状態が未装着状態であることを示す。該時、装着動作の前後で未装着状態を維持する。曲線C22は、装着動作後の装着状態が完全装着状態であることを示す。該時、装着動作により未装着状態から完全装着状態に切替わる。曲線C23は、装着動作後の装着状態が不完全装着状態であることを示す。該時、装着動作により未装着状態から不完全装着状態に切替わる。
図5(A)に示す脱離動作の過程でトルクが略0から上昇する時の主軸ヘッド7Aの位置は、曲線C11で略25~30mm、曲線C12で略30~40mm、曲線C13で略40~50mmである。該位置でトルクが上昇する変化は、脱離動作に起因する。該後、トルクが下降して略0に戻る時機は、曲線C11~C13の何れも略40~55mmである。図5(B)に示す装着動作の過程でトルクが略0から上昇する時の主軸ヘッド7Aの位置は、曲線C21~C23の何れも略略40~55mmである。該後、トルクが下降して略0に戻る時の主軸ヘッド7Aの位置は、曲線C21で略25~30mm、曲線C22で略30~40mm、曲線C23で略40~50mmである。該位置でトルクが下降する変化は、装着動作に起因する。即ち、着脱操作に依りZ軸モータ51Aのトルクの変化量の絶対値は大きくなる。以下、着脱動作に起因してトルクの変化量の絶対値が大きくなる時の主軸ヘッド7Aの位置を、変化点と称す。
数値制御装置30AのCPU31Aは、後述の設定処理(図6参照)により、主軸ヘッド7AのZ軸方向の位置の範囲として、第一判定範囲、第二判定範囲、第三判定範囲(図7参照)を決定して記憶装置34Aに記憶する。第一判定範囲は、脱離動作前又は装着動作後の装着状態が未装着状態の時の変化点を含む範囲である。第二判定範囲は、脱離動作前又は装着動作後の装着状態が完全装着状態の時の変化点を含む範囲である。第三判定範囲は、脱離動作前又は装着動作後の装着状態が不完全装着状態の時の変化点を含む範囲である。
CPU31Aは、着脱動作を行う為に駆動するZ軸モータ51Aのトルクを、時系列で取得する。CPU31Aは、第一判定範囲、第二判定範囲、第三判定範囲のうち、変化点を含む判定範囲を、取得したトルクに基づき決定する。CPU31Aは、決定した判定範囲に基づいて、脱離動作前及び装着動作後の夫々の装着状態を判定する。
<設定処理>
図6を参照し、設定処理を説明する。数値制御装置30AのCPU31Aは、工作機械1Aの電源を投入した時、ROM32Aに記憶したプログラムを読出して実行することにより、設定処理を開始する。設定処理の開始時、主軸ヘッド7Aは最下位にある。
例えば、作業者は工具体40Aを取り付けた工具マガジン21のマガジン位置を数値制御装置30Aに通知する為に入力部24Aを操作する。CPU31Aは、入力部24Aに対する操作に基づき完全装着状態と判定した時(S101:YES)、処理をS105に進める。
一方、入力部24Aに対する操作に基づき完全装着状態でないと判定した時(S101:NO)、処理をS103に進める。CPU31Aは作業者が入力したマガジン位置に対応するグリップアームに対して着脱動作を実行し(S103)、処理をS105に進める。
CPU31Aは、所定の上昇速度に応じて主軸ヘッド7Aを上昇する為、Z軸モータ51Aの回転速度を設定して回転開始する(S105)。設定処理において、Z軸モータ51の回転速度は振動等の影響を避けるため、後述の主処理と比較して十分低い速度とする。CPU31Aは、S107、S109、S111の処理を所定周期で繰り返す。CPU31Aは、エンコーダ511Aから取得したZ軸モータ51Aの回転角度に基づき、現時点での主軸ヘッド7AのZ軸方向の位置(現在位置と称す)を算出する。CPU31Aは、次の周期での主軸ヘッド7Aの位置を目標位置として設定する(S107)。CPU31Aは、現在位置と目標位置とに基づき、次の1周期で主軸ヘッド7Aが目標位置に達するように、Z軸モータ51Aの回転速度を更新する(S107)。CPU31Aは、Z軸モータ51Aのトルクを取得し、記憶装置34Aに記憶する(S109)。
CPU31Aは、脱離動作が完了して主軸ヘッド7Aが最上位に達したか判定する(S111)。CPU31Aは、主軸ヘッド7Aが最上位に達していないと判定した時(S111:NO)、処理をS107に戻す。CPU31Aは、主軸ヘッド7Aが最上位に達する迄、S107、S109の処理を所定周期で繰り返す。これによりCPU31Aは、脱離動作時におけるZ軸モータ51Aのトルクを時系列で取得する。図7(A)の曲線C31は、記憶装置34Aに記憶したトルクの一例を時系列で示す。
図6に示すように、CPU31Aは、主軸ヘッド7Aが最上位に達したと判定した時(S111:YES)、Z軸モータ51Aの回転を停止し、主軸ヘッド7Aを移動停止する。該時、工具体40Aが主軸9Aに完全装着状態で装着した状態から、工具体40Aが主軸9A装着しない未装着状態に切替わる。CPU31Aは、マガジンモータ55Aを駆動して工具マガジン21Aを回転し、工具交換位置の工具体40Aを変更する(S113)。
CPU31Aは、所定の下降速度に応じて主軸ヘッド7Aを下降する為、Z軸モータ51Aの回転速度を設定して回転開始する(S115)。CPU31Aは、S117、S119の処理を、所定周期で繰り返す。CPU31Aは、エンコーダ511Aから取得したZ軸モータ51Aの回転角度に基づいて現在位置を算出し、目標位置を設定する(S117)。CPU31Aは、現在位置と目標位置とに基づき、次の1周期で主軸ヘッド7Aが目標位置に達するように、Z軸モータ51Aの回転速度を更新する(S117)。
CPU31Aは、装着動作が完了して主軸ヘッド7Aが最下位に達したか判定する(S119)。CPU31Aは、主軸ヘッド7Aが最下位に達していないと判定した時(S119:NO)、処理をS117に戻す。CPU31Aは、主軸ヘッド7Aが最下位に達する迄、S117の処理を所定周期で繰り返す。CPU31Aは、主軸ヘッド7Aが最下位に達したと判定した時(S119:YES)、Z軸モータ51Aの回転を停止し、主軸ヘッド7Aを移動停止する。
CPU31Aは、S109で記憶装置34Aに記憶した複数のトルクを読出し、微分値を算出する。CPU31Aは、算出した微分値が最大となる点を、複数のトルクの変化量が大きい点(以下、基準点と称す。)として決定する(S121)。図7(B)の曲線C32は、算出した微分値の一例を時系列で示す。CPU31Aは微分値が最大となる点を、基準点K11として決定する。
CPU31Aは、記憶装置34Aから第一開始量D11、第一終了量E11、第三開始量D31、及び第三終了量E31を読出して取得する(S123)。第一開始量D11、第一終了量E11、第三開始量D31、第三終了量E31は夫々、主軸ヘッド7Aの移動量を示す。図7(B)に示すように、第一開始量D11は、基準点K11から第一判定範囲の開始点P11までの移動量を示す。第一終了量E11は、基準点K11から第一判定範囲の終了点Q11までの移動量、及び、基準点K11から第二判定範囲の開始点P21までの移動量を示す。第三開始量D31は、基準点K11から第二判定範囲の終了点Q21までの移動量、及び、基準点K11から第三判定範囲の開始点P31までの移動量を示す。第三終了量E31は、基準点K11から第三判定範囲の終了点Q31までの移動量を示す。第一開始量D11及び第一終了量E11は負の値であり、第三開始量D31及び第三終了量E31は正の値である。
第一判定範囲は、開始点P11と終了点Q11との間の位置の範囲である。第二判定範囲は、開始点P21と終了点Q21との間の位置の範囲である。第三判定範囲は、開始点P31と終了点Q31との間の位置の範囲である。開始点P11、P21、P31は、各判定範囲の両端点のうち、脱離動作の過程で主軸ヘッド7Aが先に経由する点、又は、装着動作の過程で主軸ヘッド7Aが後で経由する点である。終了点Q11、Q21、Q31は、各判定範囲の両端点のうち、脱離動作の過程で主軸ヘッド7Aが後で経由する点、又は、装着動作の過程で主軸ヘッド7Aが先に経由する点である。
図6に示すように、CPU31Aは、第一判定範囲、第二判定範囲、第三判定範囲を示す情報として、各々の開始点及び終了点を決定する(S125)。CPU31Aは、決定した第一判定範囲、第二判定範囲、第三判定範囲を示す情報を記憶装置34Aに記憶する(S127)。CPU31Aは、設定処理を終了する。
<主処理>
図8~図12を参照し、主処理を説明する。数値制御装置30AのCPU31Aは、NCプログラムのうち工具体40Aを交換する工具交換指令の実行時、ROM32Aに記憶したプログラムを読出して主処理を実行する。尚、主処理の開始時、主軸ヘッド7Aは最下位にある。主処理開始時、工具体40Aは、未装着状態又は完全装着状態で主軸9Aに装着されていることを前提とする。不完全装着状態を前提としない理由は、前回工具交換指令の終了時に不完全装着状態の時工作機械1Aは動作を停止し、CPU31Aは該状態で主処理を実行しない為である。一方、未装着状態を前提に含めるのは、前回工具交換指令の終了時に完全装着状態の時も、今回の工具交換指令迄の間に実施した加工中に工具体40Aが被削材に食い付く等により未装着状態となる場合があるためである。
CPU31Aは、工具交換指令が指示する上昇速度に応じて主軸ヘッド7Aを上昇する為、Z軸モータ51Aの回転速度を設定して回転開始する(S11)。CPU31Aは、S13、S15、S17の処理を、所定周期で繰り返す。CPU31Aは、エンコーダ511Aから取得したZ軸モータ51Aの回転角度に基づき、主軸ヘッド7Aの現在位置を算出する。CPU31Aは、次の周期での主軸ヘッド7Aの位置を目標位置として設定する(S13)。CPU31Aは、現在位置と目標位置とに基づき、次の1周期で主軸ヘッド7Aが目標位置に達するように、Z軸モータ51Aの回転速度を更新する(S13)。CPU31Aは、Z軸モータ51Aのトルクを取得し、脱離トルクとして記憶装置34Aに記憶する(S15)。
CPU31Aは、脱離動作が完了して主軸ヘッド7Aが最上位に達したか判定する(S17)。CPU31Aは、主軸ヘッド7Aが最上位に達していないと判定した時(S17:NO)、処理をS13に戻す。CPU31Aは、主軸ヘッド7Aが最上位に達する迄、S13、S15の処理を所定周期で繰り返す。これによりCPU31Aは、脱離動作時におけるZ軸モータ51Aの脱離トルクを時系列で取得する。CPU31Aは、主軸ヘッド7Aが最上位に達したと判定した時(S17:YES)、Z軸モータ51Aの回転を停止し、主軸ヘッド7Aを移動停止する。CPU31Aは、マガジンモータ55Aを駆動して工具マガジン21Aを回転し、工具交換指令が指示する工具体40Aを工具交換位置に位置決めする(S19)。
CPU31Aは、工具交換指令が指示する下降速度に応じて主軸ヘッド7Aを下降する為、Z軸モータ51Aの回転速度を設定して回転開始する(S21)。CPU31Aは、S23、S25、S27の処理を、所定周期で繰り返す。CPU31Aは、エンコーダ511Aから取得したZ軸モータ51Aの回転角度に基づいて現在位置を算出し、目標位置を設定する(S23)。CPU31Aは、現在位置と目標位置とに基づき、次の1周期で主軸ヘッド7Aが目標位置に達するように、Z軸モータ51Aの回転速度を更新する(S23)。CPU31Aは、Z軸モータ51Aのトルクを取得し、装着トルクとして記憶装置34Aに記憶する(S25)。
CPU31Aは、装着動作が完了して主軸ヘッド7Aが最下位に達したか判定する(S27)。CPU31Aは、主軸ヘッド7Aが最下位に達していないと判定した時(S27:NO)、処理をS23に戻す。CPU31Aは、主軸ヘッド7Aが最下位に達する迄、S23、S25の処理を所定周期で繰り返す。これによりCPU31Aは、装着動作時におけるZ軸モータ51Aの装着トルクを時系列で取得する。CPU31Aは、主軸ヘッド7Aが最下位に達したと判定した時(S27:YES)、Z軸モータ51Aの回転を停止し、主軸ヘッド7Aを移動停止する。
CPU31Aは、脱離異常検出処理(S29)、及び、装着異常検出処理(S31)を実行する。脱離異常検出処理と装着異常検出処理の終了後、CPU31Aは主処理を終了する。
図9を参照し、脱離異常検出処理を説明する。CPU31Aは、記憶装置34Aに記憶した情報に基づき、第一判定範囲及び第二判定範囲の夫々の開始点及び終了点を取得する(S51)。CPU31Aは、記憶装置34Aに記憶した複数の脱離トルクのうち、開始点P11(図10参照)における脱離トルク(開始トルクと称す)を取得する。CPU31Aは、記憶装置34Aに記憶した複数の脱離トルクのうち、第一判定範囲で最大の脱離トルク(最大トルクと称す)を取得する。CPU31Aは開始トルクと最大トルクとの差分を算出する(S53)。以下、第一判定範囲に基づいて算出した差分を、第一差分トルクと称す。
CPU31Aは、記憶装置34Aに記憶した複数の脱離トルクのうち、開始点P21(図10参照)における脱離トルクを開始トルクとして取得する。CPU31Aは、記憶装置34Aに記憶した複数の脱離トルクのうち、第二判定範囲で最大の脱離トルクを最大トルクとして取得する。CPU31Aは開始トルクと最大トルクとの差分を算出する(S55)。以下、第二判定範囲に基づいて算出した差分を、第二差分トルクと称す。
CPU31Aは、脱離トルクの変化量が大きい変化点を含む判定範囲が第一判定範囲と第二判定範囲との何れであるかを決定する為に、第一差分トルクが第二差分トルクよりも大きいか判定する(S57)。例えば図10(A)の曲線C11で示すように、脱離動作前の装着状態が未装着状態の時、変化点は第一判定範囲にある。該時、第一差分トルクΔZ1は第二差分トルクΔZ2よりも大きくなる。故に、図9に示すように、CPU31Aは、第一差分トルクが第二差分トルクよりも大きいと判定した時(S57:YES)、変化点を含む判定範囲として第一判定範囲を決定する(S59)。該時、CPU31Aは、脱離動作前の装着状態が未装着状態と判定し、脱離動作前の装着状態が未装着状態であることを通知する通知画面を表示部25Aに表示して報知する(S61)。CPU31Aは、工作機械1Aの動作を停止し(S63)、脱離異常検出処理を終了する。
一方、例えば図10(B)の曲線C12で示すように、脱離動作前の装着状態が完全装着状態の時、変化点は第二判定範囲にある。該時、第一差分トルクΔZ1は第二差分トルクΔZ2よりも小さくなる。故に、図9に示すように、CPU31Aは、第一差分トルクが第二差分トルク以下と判定した時(S57:NO)、変化点を含む判定範囲として第二判定範囲を決定する(S65)。CPU31Aは、脱離動作前の装着状態が完全装着状態と判定し(S65)、脱離異常検出処理を終了する。
図11を参照し、装着異常検出処理を説明する。CPU31Aは、記憶装置34Aに記憶した第一判定範囲~第三判定範囲の夫々の開始点及び終了点を取得する(S71)。CPU31Aは、記憶装置34Aに記憶した複数の装着トルクのうち、開始点P11(図12参照)における装着トルクを開始トルクとして取得する。CPU31Aは、記憶装置34Aに記憶した複数の装着トルクのうち、第一判定範囲で最大の装着トルクを最大トルクとして取得する。CPU31Aは開始トルクと最大トルクとの差分を第一差分トルクΔZ1(図12参照)として算出する(S73)。
CPU31Aは、記憶装置34Aに記憶した複数の装着トルクのうち、開始点P21(図12参照)における装着トルクを開始トルクとして取得する。CPU31Aは、記憶装置34Aに記憶した複数の装着トルクのうち、第二判定範囲で最大の装着トルクを最大トルクとして取得する。CPU31Aは開始トルクと最大トルクとの差分を第二差分トルクΔZ2(図12参照)として算出する(S75)。
CPU31Aは、記憶装置34Aに記憶した複数の装着トルクのうち、開始点P31(図12参照)における装着トルクを開始トルクとして取得する。CPU31Aは、記憶装置34Aに記憶した複数の装着トルクのうち、第三判定範囲で最大の装着トルクを最大トルクとして取得する。CPU31Aは開始トルクと最大トルクとの差分を第三差分トルクΔZ3(図12参照)として算出する(S77)。
CPU31Aは、装着トルクの変化量が大きい変化点を含む判定範囲が第一判定範囲~第三判定範囲の何れであるかを決定する為に、第一差分トルク、第二差分トルク、及び第三差分トルクを比較する(S79、S87)。CPU31Aは、第一差分トルクが第二差分トルク及び第三差分トルクよりも大きいか判定する(S79)。例えば図12(A)の曲線C21で示すように、装着動作後の装着状態が未装着状態の時、変化点は第一判定範囲にある。該時、第一差分トルクΔZ1は第二差分トルクΔZ2及び第三差分トルクΔZ3よりも大きくなる。故に、図11に示すように、CPU31Aは、第一差分トルクが第二差分トルク及び第三差分トルクよりも大きいと判定した時(S79:YES)、変化点を含む判定範囲として第一判定範囲を決定する(S81)。該時、CPU31Aは、装着動作後の装着状態が未装着状態と判定し、装着動作後の装着状態が未装着状態であることを通知する通知画面を表示部25Aに表示して報知する(S83)。CPU31Aは、工作機械1Aの動作を停止し(S85)、装着異常検出処理を終了する。
例えば図12(B)の曲線C23で示すように、装着動作後の装着状態が不完全装着状態の時、変化点は第三判定範囲にある。該時、第三差分トルクΔZ3は第一差分トルクΔZ1及び第二差分トルクΔZ2よりも大きくなる。故に、図11に示すように、CPU31Aは、第三差分トルクが第二差分トルクよりも大きいと判定した時、第一差分トルクが第二差分トルク又は第三差分トルクより小さいことは自明であるから(S79:NO、S87:YES)、変化点を含む判定範囲として第三判定範囲を決定する(S89)。該時、CPU31Aは、装着動作後の装着状態が不完全装着状態と判定し、装着動作後の装着状態が不完全装着状態であることを通知する通知画面を表示部25Aに表示して報知する(S91)。CPU31Aは、工作機械1Aの動作を停止し(S85)、装着異常検出処理を終了する。
例えば図12(C)の曲線C22で示すように、装着動作後の装着状態が完全装着状態の時、変化点は第二判定範囲にある。該時、第二差分トルクΔZ2は第一差分トルクΔZ1及び第三差分トルクΔZ3よりも大きくなる。故に、図11に示すように、CPU31Aは、第二差分トルクが第三差分トルクよりも大きいと判定した時(S87:NO)、変化点を含む判定範囲として第二判定範囲を決定する(S93)。CPU31Aは、装着動作後の装着状態が完全装着状態と判定し(S95)、装着異常検出処理を終了する。
<第一実施形態の作用、効果>
数値制御装置30Aは、工具体40Aの着脱動作を行う為に駆動するZ軸モータ51Aのトルクの変化点を含む判定範囲が、第一判定範囲、第二判定範囲、第三判定範囲の何れかに応じて、主軸9Aに対する工具体40Aの装着状態を判定する。該時の判断結果は、モータの駆動電流値を閾値と比較することによる判断結果と比べ、工作機械1Aの個体差や経年変化による影響を受け難い。故に、数値制御装置30Aは、主軸9Aに対する工具体40Aの装着状態を、従来よりも精度よく判定できる。
数値制御装置30Aは、第一判定範囲、第二判定範囲、第三判定範囲のうち、各々に含まれるトルクの最大値と、各々の開始点におけるトルクとの差分が最も大きい前記判定範囲を決定する。該時、数値制御装置50Bは、トルクの変化点を含む判断範囲が、三つの判断範囲の何れであるかを容易に決定できる。
数値制御装置30Aは、設定処理により第一判定範囲、第二判定範囲、第三判定範囲を決定する。該時、数値制御装置30Aは、工作機械1A毎に適切な第一判定範囲、第二判定範囲、第三判定範囲を決定し、装着状態を判定できる。故に、数値制御装置30Aは、工作機械1Aの個体差や経年変化に基づいて特性がばらついた時も、適切な判定範囲を決定して装着状態を正確に判定できる。
数値制御装置30Aは、工具体40Aの脱離動作の過程で未装着状態と完全装着状態との間で装着状態を切替える時のトルクの変化量が大きい変化点を、基準点として決定する。より具体的には、数値制御装置30Aは、脱離動作の過程で未装着状態と完全装着状態との間で装着状態が切替わる時のトルクの微分値の最大値の点を、基準点として決定する。該時、数値制御装置30Aは、脱離動作に応じて装着状態が切替わる点を精度よく決定できるので、適切な判定範囲を決定できる。
数値制御装置30Aは、脱離動作前の装着状態と、装着動作後の装着状態とを判定する。該時、数値制御装置30Aは、工具体40Aの交換前における工具体40Aの装着状態を判定できるので、既に完了した切削加工について工具体40Aに依り適切に実行したか否かを、工具体40Aの装着状態により判定できる。又、数値制御装置30Aは、工具体40Aの交換後における工具体40Aの装着状態を判定できるので、これから実行する切削加工を適切に実行できるか否かを、工具体40Aの装着状態により事前に判定できる。
工作機械1Aは、着脱動作を行う為の機構として、クランプ軸81A、レバー60Aを備える。数値制御装置30Aは、所謂タレット式の工作機械1Aについて、装着状態を精度よく判定できる。
<第一実施形態の特記事項>
数値制御装置30Aは、設定処理において、装着動作時のトルクを取得してもよい。数値制御装置30Aは、取得したトルクから基準点を決定し、各判定範囲を決定してもよい。
数値制御装置30Aは、複数の脱離トルクの変化点と、第一判定範囲、第二判定範囲、第三判定範囲とを比較してもよい。該時、数値制御装置30Aは、脱離動作前の装着状態として、未装着状態と完全装着状態に加え、不完全装着状態を判定できる。
数値制御装置30Aは、取得した複数の装着トルクの微分値の最大値を算出してもよい。数値制御装置30Aは、第一判定範囲、第二判定範囲、第三判定範囲のうち、算出した微分値が最も大きい判定範囲を決定してもよい。該時、数値制御装置30Aは、トルクの変化点を含む判断範囲が、三つの判断範囲の何れであるかを精度よく決定できる。
数値制御装置30Aは、取得した複数の装着トルクの二階微分値の最大値を算出してもよい。数値制御装置30Aは、第一判定範囲、第二判定範囲、第三判定範囲のうち、算出した二階微分値が最も大きい判定範囲を決定してもよい。数値制御装置30Aは、取得した複数の装着トルクの各々において、値が0から上昇開始する点(上昇開始点と称す)を決定してもよい。数値制御装置30Aは、第一判定範囲、第二判定範囲、第三判定範囲のうち、決定した上昇開始点が最も大きい判定範囲を決定してもよい。
数値制御装置30Aは、記憶装置34Aに記憶した第一開始量D11、第一終了量E11、第三開始量D31、第三終了量E31を用いて判定範囲を決定した。該時、第一判定範囲の終了点と第二判定範囲の開始点、及び、第二判定範囲の終了点と第三判定範囲の開始点を同一とした。これに対し、記憶装置34Aは、第一開始量D11、第一終了量E11、第二開始量、第二終了量、第三開始量D31、第三終了量E31を記憶してもよい。数値制御装置30Aは、基準位置と、第二開始量及び第二終了量に基づいて第二判定範囲を決定してもよい。該時、該時、第一判定範囲の終了点と第二判定範囲の開始点、及び、第二判定範囲の終了点と第三判定範囲の開始点は夫々異なっていてもよい。
記憶装置34Aは、第一判定範囲、第二判定範囲、第三判定範囲を示す情報を初期情報として予め記憶してもよい。該時、数値制御装置30Aは設定処理を実行しなくてもよい。数値制御装置30Aは、予め記憶装置34Aに記憶した各判定範囲を読出すことにより、各判定範囲を決定してもよい。
数値制御装置30Aは、着脱動作の過程で未装着状態と未装着状態との間で脱離動作または装着動作を行う時に、取得したトルクの変化量が大きい変化点を、基準点として決定してもよい。
数値制御装置30Aは、脱離動作前と装着動作後との両方の装着状態を判定した。数値制御装置30Aは、脱離動作前及び装着動作後の何れか一方の装着状態を判定してもよい。又、数値制御装置30Aは、脱離動作後における装着状態、及び、装着動作前における装着動作を判定してもよい。
数値制御装置30Aは、Z軸モータ51Aのトルクの代わりに、外乱オブザーバが推定した推定外乱力を用いても良い。推定外乱力を用いることで、Z軸モータ51Aの加減速の影響を受けずに、工具体40Aの着脱動作に必要なZ軸モータ51Aのトルクを推定することが可能である。
レバー60A及びクランプ軸81Aは、本発明の「着脱機構」の一例である。S15、S25の処理を行うCPU31Aは、本発明の「取得部」の一例である。S59、S65、S81、S89、S93の処理を行うCPU31Aは、本発明の「第一決定部」の一例である。S61、S67、S83、S91、S95の処理を行うCPU31Aは、本発明の「判定部」の一例である。S121の処理を行うCPU31Aは、本発明の「第二決定部」の一例である。S127の処理を行うCPU31Aは、本発明の「記憶部」の一例である。クランプ軸81Aは、本発明の「固定部」の一例である。S15、S25の処理は、本発明の「取得工程」の一例である。S59、S65、S81、S89、S93の処理は、本発明の「第一決定工程」の一例である。S61、S67、S83、S91、S95の処理は、本発明の「判定工程」の一例である。
<第二実施形態>
本発明の第二実施形態を説明する。以下説明は図中に矢印で示す左右、前後、上下を使用する。図13に示す工作機械1Bの左右方向、前後方向、上下方向は、夫々、工作機械1BのX軸方向、Y軸方向、Z軸方向である。工作機械1Bは主軸7B(図17参照)に装着した工具体40A(図2等参照)の工具4A(図2等参照)を回転し、回転台11Bに固定した被削材に切削加工を施す機械である。数値制御装置50B(図20参照)は工作機械1Bの動作を制御する。
<工作機械1Bの概要>
図13~図17を参照し、工作機械1Bの構造を説明する。工作機械1Bは基台部2B、立柱5B、主軸ヘッド6B、主軸7B、工作台装置10B、工具交換装置40B(以下、ATC装置40Bと呼ぶ)等を備える。
基台部2Bは平面視略矩形状の鉄製部材であり、上面後部側に台座部20B(図16参照)を備える。台座部20Bは略直方体状であり、上面にX軸移動機構101B(図16参照)を備える。X軸移動機構101Bは運搬体12B(図13,図16参照)をX軸方向に移動可能に支持する。X軸移動機構101Bは、X軸モータ21B(図20参照)等を備える。X軸移動機構101BはX軸モータ21Bの駆動により、運搬体12BをX軸方向に移動する。運搬体12Bは立柱5BをX軸方向に移動する。運搬体12Bは上面にY軸移動機構(図示略)を備える。Y軸移動機構は立柱5BをY軸方向に移動可能に支持する。Y軸移動機構は、Y軸モータ24B(図20参照)等を備える。Y軸移動機構はY軸モータ24Bの駆動により、立柱5BをY軸方向に移動する。故に、立柱5BはX軸移動機構101B、Y軸移動機構等に依りX軸方向とY軸方向に移動する。立柱5Bは前面にZ軸移動機構103B(図14,図15,図17参照)を備える。Z軸移動機構103Bは主軸ヘッド6BをZ軸方向に移動可能に支持する。工作台装置10Bは基台部2Bの台座部20B前方に設ける。工作台装置10Bは上部に回転台11Bを備える。回転台11Bは回転台モータ(図示略)で、Z軸方向に平行な回転軸線を中心に回転可能に設ける。被削材は回転台11Bに固定する。
<主軸ヘッド6B>
図17に示す如く、主軸ヘッド6Bは内部に主軸7Bを回転可能に支持する。主軸7BはZ軸方向に延びる。主軸ヘッド6Bは上部に主軸モータ8Bを固定する。主軸モータ8Bの駆動軸は主軸7Bに連結する。主軸7Bは装着穴(図示略)、クランプ機構部(図示略)、ドローバ70B等を備える。装着穴は主軸7B下端部に設ける。主軸7B下端部は所定位置に凸状のキー(図示略)を有する。キーは、工具4Aを保持する工具ホルダ17Aと係合可能である。クランプ機構部は主軸7Bの中心を通る軸穴(図示略)内で且つ装着穴上方に設ける。ドローバ70Bは主軸7Bの軸穴内に同軸上に挿入する。ドローバ70Bはバネで上方に常時付勢する。バネは、弾性力により工具体40Aの工具ホルダ17Aを主軸7Bの装着穴に固定する。装着穴に工具ホルダ17Aを装着すると、クランプ機構部は工具ホルダ17Aを装着する。ドローバ70Bがクランプ機構部を下方に押圧すると、クランプ機構部は工具ホルダ17Aを主軸7Bから脱離する。
主軸ヘッド6Bは後方上部内側に揺動腕部材60Bを備える。揺動腕部材60Bは略L字型で支軸61Bを中心に揺動自在である。支軸61Bは主軸ヘッド6B内部を左右方向に延び、主軸ヘッド6Bの左右両側壁に固定する。揺動腕部材60Bは縦腕部63Bと横腕部62Bを備える。縦腕部63Bは支軸61Bから立柱5B側に対して斜め上方に延びる。横腕部62Bは支軸61Bから前方に略水平に延びる。ピン71Bはドローバ70Bに直交して突設する。横腕部62Bの先端部621は二股状に形成し、ドローバ70Bは先端部621の間に配置する。先端部621は、ピン71Bに上方から係合可能である。揺動腕部材60Bを左側方から見た時、引張バネ(図示略)は揺動腕部材60Bを反時計回りに常時付勢する。故に揺動腕部材60Bは横腕部62Bによるピン71Bの下方向への押圧を常時解除する。
図17,図18に示す如く、主軸ヘッド6Bは該上部且つATC装置40B側にロッド支持部91Bを備える。ロッド支持部91Bはプッシュロッド92Bを前後方向に移動可能に支持する。プッシュロッド92Bは前後方向に延びる。揺動腕部材60Bの縦腕部63Bは上端部(先端部)右側面に当接部631を備える。当接部631はプッシュロッド92B前端部に当接し、引張バネで常時後方に付勢する。故にプッシュロッド92B後端部は、ロッド支持部91Bから後方に向けて所定距離だけ常時突出する。プッシュロッド92B後端部を前方に押圧すると、揺動腕部材60Bは支軸61Bを中心に時計回り(左側面視)に揺動し、引張バネの付勢力に抗してドローバ70Bを押し下げる。クランプ機構部は工具ホルダ17Aを脱離する。工具体40Aは主軸7Bの装着穴から脱離可能となる。
<ATC装置40B>
ATC装置40Bは所謂アーム式の交換装置である。図13,図16に示す如く、ATC装置40Bは支柱31B,32Bで主軸ヘッド6Bの右側方に支持する。ATC装置40Bは数値制御装置50Bからの制御信号を受け、主軸7Bの装着穴に装着する工具体40A(第一工具体)を、後述するNCプログラムで指定した他の工具体40A(第二工具体)と入れ替え交換する。ATC装置40Bは本体部401Bと工具マガジン41B等を備える。
図13~図15に示す如く、本体部401Bは略直方体状金属製箱体であり、支柱31B,32Bで支持する。図13~図19に示す如く、本体部401Bは、操作部材47B、旋回軸43B、工具交換アーム44B、ATCモータ45B、ATC駆動軸46B(図19参照)、揺動レバー22B、23B(図19参照)等を備える。図13,図14,図16~図18に示す如く、操作部材47Bは本体部401B内部に設け、Z軸方向に対して略平行に延びる棒状部材である。操作部材47Bの上端部は、本体部401B上面に設けた開口部(図示略)から上方に突出する。操作部材47B下端部は揺動軸49B(図16参照)を中心に揺動可能に軸支する。揺動軸49Bは本体部401B内部を左右方向に延び、本体部401Bの左右両側壁に固定する。故に操作部材47B上端部は揺動軸49Bを中心に前後方向に移動可能である。操作部材47BがZ軸方向に平行に延びる姿勢は基本姿勢である。操作部材47Bは上端部左側面に当接部48B(図14参照)を備える。当接部48Bは左側方に突出する略円筒形状である。図18に示す如く、工具交換を行う為、主軸ヘッド6Bが図14,図15に示す位置(工具交換位置と称す)に移動した時、プッシュロッド92B後端部は、操作部材47Bの当接部48B前方に位置する。
図19に示す如く、旋回軸43Bは本体部401B下部から下方に突出する円筒状に形成し、本体部401Bは旋回軸43Bを軸線回りに回転可能に支持する。旋回軸43BはZ軸方向に平行に延び且つ、上端部にスプライン15Bとスプライン副軸17Bを備える。スプライン15Bは段付孔16Bを備える。段付孔16Bはスプライン15Bの軸線に沿って所定深さを有する。支持部材39Bは長軸状に形成し、本体部401B上部に固定した上部機械フレーム38Bの透孔381に挿通する。支持部材39Bは段付孔16Bの内径よりも小さい外径を有し、且つ上部機械フレーム38Bに固定する。支持部材39Bは、段付孔16Bの上段に配設したブッシュ(図示略)を介して段付孔16Bに挿入する。
スプライン副軸17Bは円筒状に形成し、スプライン15Bの外側に装着する。スプライン15Bはスプライン副軸17Bの内側を上下方向に移動可能である。軸受75B、76Bは本体部401Bの上方に固定し、スプライン副軸17Bを回転可能に支持する。故に旋回軸43Bは本体部401Bに対して支持部材39Bを中心に回転する。スプライン副軸17Bは外周にフランジ部171を備える。フランジ部171は上下面に従動ローラ182,183の軸を固定する。旋回軸43Bは軸方向中央部に円筒部34Bを同軸上に備える。円筒部34Bは外周面に円周溝342を有する。円筒部34Bを上下方向に移動すると、旋回軸43Bは支持部材39Bに沿って上下方向に移動する。
本体部401B内部の下部は外軸ギヤ431Bを備える。外軸ギヤ431Bは中央に開口を有し、該開口に旋回軸43Bを挿入する。旋回軸43Bは外軸ギヤ431Bに対して上下に移動可能である。旋回軸43Bが後述する上死点に移動した時、外軸ギヤ431Bは工具交換アーム44Bに嵌合し、外軸ギヤ431Bの回転に伴い工具交換アーム44Bは回転する。旋回軸43Bが上死点から下方に移動した時、外軸ギヤ431Bは工具交換アーム44Bから離れ、外軸ギヤ431Bが回転しても工具交換アーム44Bは回転しない。外軸ギヤ431Bは上端部の外周に歯部432Bを備える。本体部401B内部の下部はセグメントギヤ66Bを回転可能に支持する。歯部432Bは、セグメントギヤ66Bに噛合する。セグメントギヤ66Bは揺動子571Bを支持する。揺動子571Bは円柱部37B下面に設けた平面溝カム33Bに従動する。
工具交換アーム44Bは、旋回軸43B下端部に直交し且つ水平方向に延びる。工具交換アーム44Bは旋回軸43Bの回転又は外軸ギヤ431Bの回転に応じて回転し、且つ、旋回軸43Bの上下動に応じて上死点から下死点までの間を上下方向に移動する。工具交換アーム44Bは両端部に把持部441,442を備える。詳述しないが、把持部441,442は、例えば平面視C状に形成し、且つ工具体40Aの工具ホルダ17Aに嵌り工具ホルダ17Aを把持する。工具交換アーム44Bは、把持部441,442が把持した工具ホルダ17Aを固定するロック機構(図示略)を備え、後述するATCモータ45Bの回転角度に応じて工具ホルダの固定及び固定の解除を行う。故に把持部441,442は工具体40Aを着脱可能に把持する。
本体部401Bはその上面における前後方向略中央部に箱450を固定する。箱450は底壁が開口し、該開口周囲に軸受27Bを固定する。箱450上部はATCモータ45Bを固定し、上壁に設けた開口からATCモータ45Bの出力軸451Bが下方に突出する。ATC駆動軸46Bは旋回軸43Bの後方且つ旋回軸43Bと平行に上下方向に延び、軸受27Bと後述する軸受28BはATC駆動軸46Bを回転自在に支持する。軸受28Bは本体部401B底壁に固定する。ATC駆動軸46Bの上端部は、箱450内部でカップリング45Cを介してATCモータ45Bの出力軸451Bと連結する。ATC駆動軸46Bは、軸方向中央部に円柱部37Bを同軸上に備える。円柱部37Bは外周面に溝カム371Bと溝カム372Bを備える。
本体部401Bは内部に揺動レバー22Bの一端部に設けた支持点221Bを揺動可能に支持する。揺動レバー22Bは長軸状に形成し、その中央部に設けた係合子222Bは溝カム372Bに係合する。揺動レバー22Bの他端部に設けた接触子223Bは、円筒部34Bに設けた円周溝342に係合する。故にATC駆動軸46Bが一回転すると、揺動レバー22Bは溝カム372Bに従動して揺動し、旋回軸43Bと工具交換アーム44Bは軸方向に一往復する。揺動レバー23Bは長軸状に形成し、長さ方向一端部は溝カム371Bに係合する。揺動レバー23Bの他端部は、操作部材47Bに回転可能に軸支する。故にATC駆動軸46Bが回転すると、揺動レバー23Bは溝カム371Bに従動して揺動することに依り、操作部材47Bを基本姿勢の状態から前方に揺動する。上記の通り、操作部材47Bがプッシュロッド92B後端部を前方に押圧すると、工具ホルダは主軸7Bの装着穴から脱離可能となる。
ATC駆動軸46Bは軸方向上部に円柱状のパラレルカム59Bを同軸上に備える。パラレルカム59Bは鍔状の板カム591B,592Bを有する複合カムである。板カム591B,592Bはスプライン副軸17Bの従動ローラ182,183に夫々当接する。故にATC駆動軸46Bが回転し、板カム591B,592Bと従動ローラ182,183が当接するとき、スプライン副軸17B、旋回軸43B、工具交換アーム44Bは回転する。
図13,図16に示す如く、工具マガジン41Bは本体部401B右側面に固定し、側面視Y軸方向に長い略楕円形状である。工具マガジン41Bは内側に略楕円形状の工具通路を有し、該工具通路内に沿って複数の工具ポット411を収納する。工具ポット411は工具ホルダ17Aを着脱可能に装着する。工具マガジン41Bは下部前側に工具交換部(図示略)を備える。工具交換部は下方へ開口する。マガジンモータ42Bは工具マガジン41B上部前側に固定する。複数の工具ポット411はマガジンモータ42Bの駆動で工具通路内を移動する。数値制御装置50Bはマガジンモータ42Bを駆動し、第二工具体を装着する工具ポット411を工具交換部に搬送する。本実施形態にて、第一工具体は、主軸7Bに現在装着し且つATC装置40Bによる工具交換時に主軸7Bから脱離する工具体に対応する。第二工具体は、ATC装置40Bによる工具交換後、第一工具体の代わりに主軸7Bに装着する工具体に対応する。
<電気的構成>
図20を参照し、数値制御装置50Bと工作機械1Bの電気的構成を説明する。数値制御装置50Bは、CPU51B、ROM52B、RAM53B、記憶装置54B、入力インタフェイス55B、出力インタフェイス56B等を備える。CPU51Bは数値制御装置50Bを統括制御する。ROM52Bは、各種プログラムを記憶する。RAM53Bは、各種処理実行中の各種データを記憶する。記憶装置54Bは不揮発性メモリであり、NCプログラムの他、各種データを記憶する。NCプログラムは複数のブロックで構成し、各ブロックは工具交換指令等の少なくとも一つの指令を含む。又、記憶装置54Bは、第一開始量D12、第二終了量E22、第一終了量E13、第二開始量D23、第三開始量D33(図25参照)を記憶する。
工作機械1Bは、入力部82B、表示部90B等を更に備える。エアシリンダ88BはATC装置40Bに設ける。入力部82Bと表示部90Bは操作パネル(図示略)に設ける。入力部82Bは各種入力を受け付ける。表示部90Bは各種画面を表示する。エアシリンダ88Bは、工具ポット411を後述の垂直姿勢と水平姿勢との間で昇降するポット昇降機構(図示略)の駆動源である。工具ポット41Aは垂直姿勢の時、主軸ヘッド6Bが工具交換位置にある時の主軸7Bに対して左方に位置する。入力部82Bは、入力インタフェイス55Bに電気的に接続する。エアシリンダ88B、表示部90Bは出力インタフェイス56Bに電気的に接続する。
Z軸モータ19B、主軸モータ8B、X軸モータ21B、Y軸モータ24B、マガジンモータ42B、ATCモータ45Bは、出力インタフェイス56Bに電気的に接続する。Z軸モータ19B、主軸モータ8B、X軸モータ21B、Y軸モータ24B、マガジンモータ42B、ATCモータ45Bは、出力インタフェイス56Bが出力するパルス信号に応じて回転するサーボモータである。Z軸モータ19Bはエンコーダ19Cを備える。エンコーダ19CはZ軸モータ19Bの回転角度を検出する。主軸モータ8Bはエンコーダ8Cを備える。エンコーダ8Cは主軸モータ8Bの回転角度を検出する。X軸モータ21Bはエンコーダ21Cを備える。エンコーダ21CはX軸モータ21Bの回転角度を検出する。Y軸モータ24Bはエンコーダ24Cを備える。エンコーダ24CはY軸モータ24Bの回転角度を検出する。マガジンモータ42Bはエンコーダ42Cを備える。エンコーダ42Cはマガジンモータ42Bの回転角度を検出する。ATCモータ45Bはエンコーダ45Aを備える。エンコーダ45AはATCモータ45Bの回転角度を検出する。エンコーダ19C、8C、21C、24C、42C、45Dは、入力インタフェイス55Bに電気的に接続する。
<工具体40Aの着脱、工具交換動作>
図21、図22を参照し、工具交換動作を説明する。CPU51Bは主軸ヘッド6Bを工具交換位置(図14、図15参照)に移動する。プッシュロッド92B後端部は、操作部材47Bの当接部48B前方に離間して位置する。該時のATC駆動軸46Bの回転角度を0°と称す。工具交換アーム44Bは上下方向において上死点に位置し、回転方向において待機位置に位置する。待機位置は、把持部441、442が、主軸7Bと工具交換部の中間に配置する位置である。図21(1)(2)に示す如く、CPU51Bは第二工具体202を装着する工具ポット411を水平状態から垂直下方に90°倒すことに依り、第二工具体202を工具交換部の開口から下降する。工具ポット411は垂直状態となる。CPU51BはATCモータ45Bの駆動を開始する。
図22に示す如く、ATCモータ45Bは時機T0で駆動を開始し、図19に示すATC駆動軸46Bを正転する。平面溝カム33Bは正転し、揺動子571Bを介してセグメントギヤ66Bと外軸ギヤ431Bが回転する。旋回軸43Bは、時機T1で第一方向(平面視反時計回り)に回転を開始する。旋回軸43Bの回転に依り、工具交換アーム44Bは待機位置から第一方向に回転する。以下、工具交換アーム44Bが待機位置から第一方向に回転した時の角度を、旋回角度と称す。
ATC駆動軸46Bの回転に伴い、揺動レバー23Bが揺動し、操作部材47Bは前方に揺動する。故に操作部材47Bの当接部48Bはプッシュロッド92B後端部に当接し前方に押圧する。プッシュロッド92Bは前方に移動し、揺動腕部材60Bの縦腕部63Bの当接部631を前方に付勢する。揺動腕部材60Bは引張バネの付勢力に抗して支軸61Bを中心に右側面視時計回りに回転を開始する。揺動腕部材60Bの傾斜角度は3.7°から0°に向けて変化する(時機T2)。該時、横腕部62Bはピン71Bに対して上方から係合し、主軸7B内部に設けたバネの付勢力に抗してドローバ70Bを下方に押圧する。ドローバ70Bはクランプ機構部を下方に付勢する。
ATC駆動軸46Bの回転角度が60°に到達した時(時機T3)、工具交換アーム44Bの旋回角度は70°に到達する。図21(3)に示す如く、把持部441は主軸7Bに装着する第一工具体201を把持し、把持部442は工具交換部に位置する第二工具体202を把持する。図22に示す如く、時機T3~T6の間、図19に示すパラレルカム59Bの板カム591B,592Bは従動ローラ18A,18Bから離れ、工具交換アーム44Bの旋回角度は70°で維持する。
ATC駆動軸46Bの回転角度が80°に到達した時(時機T4)、図21(4)に示す如く、主軸7B内部のクランプ機構部から第一工具体201が抜ける。工具交換アーム44Bは上死点から下死点に向けて下降を開始する。ATC駆動軸46Bの回転角度が90°位置に到達した時(時機T5)、揺動腕部材60Bの傾斜角度は0°となり、第一工具体201と第二工具体202は、主軸7Bと工具ポット411から下方に脱離する。
時機T6で、図19に示すパラレルカム59Bの板カム591B,592Bは従動ローラ18A,18Bに当接し、旋回軸43Bは旋回角度70°から再び第一方向に回転を開始する。工具交換アーム44Bは第一工具体201及び第二工具体202を把持した状態で、下死点に向けて下降しながら回転する。ATC駆動軸46Bの回転角度が130°の時(時機T7)、工具交換アーム44Bは下死点に到達する。ATC駆動軸46Bは回転を継続する。ATC駆動軸46Bの回転角度が230°の時(時機T8)、工具交換アーム44Bは下死点から上死点に向けて、回転しながら上昇を開始する。ATC駆動軸46Bの回転角度が260°の時(時機T9)、工具交換アーム44Bの旋回角度は250°となる。図21(5)に示す如く、第一工具体201と第二工具体202の夫々の位置は互いに入れ替わる。第二工具体202は主軸7Bの下方に配置し、第一工具体201は工具交換部の工具ポット411の下方に配置する。図19に示すパラレルカム59Bの板カム591B,592Bは従動ローラ18A,18Bから離れ、工具交換アーム44Bの旋回角度は250°で維持する。工具交換アーム44Bは上死点に向けて上昇し続ける。該時、第二工具体202は主軸7Bの装着穴に挿入し、第一工具体201は工具ポット411に挿入する。
ATC駆動軸46Bの回転角度が270°に到達した時(時機T10)、図17に示す操作部材47Bは後方に揺動し始め、プッシュロッド92Bは後方に移動する。揺動腕部材60Bは引張バネの付勢力で支軸61Bを中心に右側面視反時計回りに回転を開始し、傾斜角度は0°から3.7°に向けて変化する。
ATC駆動軸46Bの回転角度が280°位置に到達した時(時機T11)、図21(6)に示す如く、工具交換アーム44Bは上死点に到達する。第二工具体202は主軸7Bの装着穴に装着し、第一工具体201は工具ポット411に装着する。工具ホルダ17Aは主軸7B下端のキーに係合し、第二工具体202は主軸7Bの装着穴に装着する。
ATC駆動軸46Bの回転角度が300°に到達した時(時機T12)、図19に示す揺動子571Bが平面溝カム33Bに沿って所定方向に揺動する。揺動子571Bに従動するセグメントギヤ66Bは回転し、該セグメントギヤ66Bに歯部432Bを介して噛合する外軸ギヤ431Bは回転する。外軸ギヤ431Bの回転に伴い、外軸ギヤ431と一体して工具交換アーム44Bは逆転して第二方向(平面視時計回り)に回転する。ATC駆動軸46Bの回転角度が330°に到達した時(時機T13)、揺動腕部材60Bの傾斜角度は3.7°に戻る。ATC駆動軸46Bの回転角度が350°に到達した時(時機T14)、図19に示す工具交換アーム44Bは、旋回角度が180°の状態で回転を停止する。ATC駆動軸46Bの回転角度が360°に到達した時、CPU51BはATCモータ45Bを停止する。図21(8)に示す如く、CPU51Bは工具マガジン41Bの工具交換部に位置する工具ポット411を垂直姿勢から水平姿勢に戻して上昇する。以上により、工具交換動作は完了する。
主軸7Bから工具体40Aを脱離する時のATC駆動軸46B、揺動腕部材60B、ドローバ70B、及びクランプ機構部の動作を、脱離動作と称す。主軸7Bに工具体40Aを装着する時のATC駆動軸46B、揺動腕部材60B、ドローバ70B、及びクランプ機構部の動作を、装着動作と称す。
<装着状態の判定方法>
主軸7Bに対する工具体40Aの装着状態は、第一実施形態と同様、未装着状態、完全装着状態、及び不完全装着状態の何れかである。不完全装着状態の一例として、主軸7B下端のドライブキーに対する工具ホルダ17Aのキー溝184の係合に失敗してドライブキーが工具ホルダ17Aに乗り上げた状態を示す。着脱動作を行う為にATC駆動軸46Bを回転する時、ATCモータ45Bのトルクの経時変化は装着状態に応じて変動する。該理由は、ATC駆動軸46Bの回転に応じて揺動腕部材60Bの先端部621がピン71Bに接触する時機が、主軸7Bに対する工具体40Aの装着状態に応じて変化する為である。図23は、ATC駆動軸46Bの回転角度(横軸)とATCモータ45Bのトルク(縦軸)との関係を示すグラフである。
図23(A)は、脱離動作を行う為にATC駆動軸46Bを40°から85°迄回転した時のATCモータ45Bのトルクの経時変化を示す。曲線C41は、脱離動作前の装着状態が未装着状態であることを示す。曲線C42は、脱離動作前の装着状態が完全装着状態であることを示す。曲線C43は、脱離動作前の装着状態が不完全装着状態であることを示す。
図23(B)は、装着動作を行う為にATC駆動軸46Bを275°から320°迄回転した時のATCモータ45Bのトルクの経時変化を示す。曲線C51は、装着動作後の装着状態が未装着状態であることを示す。曲線C52は、装着動作後の装着状態が完全装着状態であることを示す。曲線C53は、装着動作後の装着状態が不完全装着状態であることを示す。
図23(A)に示す脱離動作の過程でトルクが上昇する時のATC駆動軸46Bの回転角度は、曲線C41で略45~55°、曲線C42で略55~65°、曲線C43で略65~75°である。該回転角度でトルクが上昇する変化は、脱離動作に起因する。図23(B)に示す装着動作の過程でトルクが上昇する時のATC駆動軸46Bの回転角度は、曲線C51で略305~315°、曲線C52で略295~300°、曲線C53で略285~290°である。該回転角度でトルクが上昇する変化は、装着動作に起因する。即ち、着脱動作に依りATCモータ45Bのトルクの変化量は大きくなる。尚、着脱動作に応じてトルクの変化量が大きくなる時のATC駆動軸46Bの回転角度は、変化点に対応する。
数値制御装置50BのCPU51Bは、後述の設定処理(図24参照)により、ATC駆動軸46Bの回転角度の位置の範囲として、第一脱離判定範囲、第二脱離判定範囲(図25参照)、第一装着判定範囲、第二装着判定範囲、第三装着判定範囲、(図26参照)を記憶装置54Bに記憶する。第一実施形態と相違する点は、脱離動作と装着動作との夫々について、判定範囲を別々に設定した点である。
第一脱離判定範囲及び第二脱離判定範囲(図25参照)は、脱離動作の過程におけるATC駆動軸46Bの回転角度の範囲を示す。第一脱離判定範囲は、脱離動作前の装着状態が未装着状態の時の変化点を含む。第二脱離判定範囲は、脱離動作前の装着状態が完全装着状態の時の変化点を含む。第一装着判定範囲、第二装着判定範囲、第三装着判定範囲(図26参照)は、装着動作の過程におけるATC駆動軸46Bの回転角度の範囲を示す。第一脱離判定範囲は、装着動作後の装着状態が未装着状態の時の変化点を含む。第二装着判定範囲は、装着動作後の装着状態が完全装着状態の時の変化点を含む。第三装着判定範囲は、装着動作後の装着状態が不完全装着状態の時の変化点を含む。第一判定範囲、第二判定範囲は、脱離動作時と装着動作時で異なる。
CPU51Bは、着脱動作を行う為に駆動するATCモータ45Bのトルクを、時系列で取得する。CPU51Bは、第一脱離判定範囲、第二脱離判定範囲のうち、脱離動作の過程で取得したトルクの変化点を含む判定範囲を決定する。CPU51Bは、第一装着判定範囲、第二装着判定範囲、第三装着判定範囲のうち、装着動作の過程で取得したトルクの変化点を含む判定範囲を決定する。CPU51Bは、決定した判定範囲に基づいて、脱離動作前及び装着動作後の夫々の装着状態を判定する。
<設定処理>
図24を参照し、設定処理を説明する。数値制御装置50BのCPU51Bは、工作機械1Bの電源を投入した時、ROM52Bに記憶したプログラムを読出して実行することにより、設定処理を開始する。この時点での装着状態は、未装着状態又は完全装着状態の何れかであることを前提とする。
例えば、作業者は工具体40Aの装着状態を確認する。作業者は、完全装着状態で工具体40Aが主軸7Bに装着していることを確認した時、完全装着状態を数値制御装置50Bに通知する為に入力部82Bを操作する。CPU51Bは、入力部82Bに対する操作に基づき完全装着状態と判定した時(S161:YES)、工具体40Aを装着しない工具ポット411を工具交換位置に割り出し後、水平状態から垂直下方に90°倒し、垂直状態とする(S163、図21(1)(2)参照)。CPU51Bは処理をS167に進める。一方、CPU51Bは、入力部82Bに対する操作に基づき未装着状態と判定した時(S161:NO)、工具体40Aを装着した工具ポット411を工具交換位置に割り出し後、水平状態から垂直下方に90°倒し、垂直状態とする(S165、図21(1)(2)参照)。CPU51Bは、処理をS167に進める。
CPU51Bは、所定の回転速度に応じてATC駆動軸46Bを回転する為、ATCモータ45Bの回転速度を設定して回転開始する。CPU51Bは、S167、S169、S171の処理を所定周期で繰り返す。CPU51Bは、エンコーダ45Dから取得したATCモータ45Bの回転角度に基づき、現時点でのATC駆動軸46Bの回転角度(現在角度と称す)を算出する。CPU51Bは、次の周期でのATC駆動軸46Bの回転角度を目標角度として設定する(S167)。CPU51Bは、現在角度と目標角度とに基づき、次の1周期でATC駆動軸46Bが目標角度に達するように、ATCモータ45Bの回転速度を更新する(S167)。
CPU51Bは、ATC駆動軸46Bの回転に応じた脱離動作が完了したか判定する(S169)。CPU51Bは、ATC駆動軸46Bの回転角度が180°となる迄の間、脱離動作が完了していないと判定し(S69:NO)、処理をS171に進める。CPU51Bは、ATCモータ45Bのトルクを脱離トルクとして取得して記憶装置54Bに記憶する(S171)。CPU51Bは、処理をS167に戻す。CPU51Bは、ATC駆動軸46Bが180°になる迄、S167、S169、S171の処理を所定周期で繰り返す。これによりCPU51Bは、脱離動作時におけるATCモータ45Bの脱離トルクを時系列で取得する。
例えば、CPU51BがS161で主軸7Bに工具体40Aが装着していないと判断した時(S161:NO)、脱離動作の過程で装着状態は未装着状態のまま維持する。図25(A)の曲線C61は、脱離動作の過程で未装着状態のまま維持した時のトルクを時系列で示す。CPU51BがS161で主軸7Bに工具体40Aが装着していると判断した時(S161:YES)、脱離動作の過程で装着状態は完全装着状態から未装着状態に切替わる。図25(A)の曲線C62は、脱離動作の過程で完全装着状態から未装着状態に切替わる時のトルクを時系列で示す。
図24に示すように、CPU51Bは、ATC駆動軸46Bの回転角度が180°に達した時、脱離動作が完了したと判定し(S169:YES)、処理をS181に進める。尚、ATC駆動軸46Bの回転角度の増加に応じ、工具交換アーム44Bは回転する。
CPU51Bは、S181、S183、S185の処理を、所定周期で繰り返す。CPU51Bは、エンコーダ511Aから取得したATCモータ45Bの回転角度に基づいて現在角度を算出し、目標角度を設定する(S181)。CPU51Bは、現在角度と目標角度とに基づき、次の1周期でATC駆動軸46Bが目標角度に達するように、ATCモータ45Bの回転速度を更新する(S181)。
CPU51Bは、ATC駆動軸46Bの回転に応じた装着動作が完了したか判定する(S183)。CPU51Bは、ATC駆動軸46Bの回転角度が360°となる迄の間、装着動作が完了していないと判定し(S183:NO)、処理をS185に進める。CPU51Bは、ATCモータ45Bのトルクを装着トルクとして取得して記憶装置54Bに記憶する(S185)。CPU51Bは、処理をS181に戻す。CPU51Bは、ATC駆動軸46Bが360°になる迄、S181、S183、S185の処理を所定周期で繰り返す。これによりCPU51Bは、装着動作時におけるATCモータ45Bの装着トルクを時系列で取得する。
例えば、CPU51BがS161で主軸7Bに工具体40Aが装着していると判断した時(S161:YES)、装着動作の過程で装着状態は未装着状態のまま維持する。図26(A)の曲線C71は、装着動作の過程で未装着状態のまま維持した時のトルクを時系列で示す。CPU51BがS161で主軸7Bに工具体40Aが装着していないと判断した時(S161:NO)、装着動作の過程で装着状態は未装着状態から装着状態に切替わる。図26(A)の曲線C72は、装着動作の過程で未装着状態から完全装着状態に切替わる時のトルクを時系列で示す。
図24に示すように、CPU51Bは、ATC駆動軸46Bの回転角度が360°に達した時、装着動作が完了したと判定し(S183:YES)、処理をS187に進める。CPU51Bは、S161~S185の処理を二回繰り返したか判定する(S187)。CPU51Bは、S161~S185の処理を二回繰り返していないと判定した時(S187:NO)、処理をS161に戻す。CPU51Bは、S161~S185の処理を繰り返す。
CPU51Bは一回目のS161で主軸7Bに工具体40Aが装着していると判断した時(S161:YES)、二回目のS161で主軸7Bに工具体40Aが装着していないと判定する(S161:NO)。CPU51Bは一回目のS161で主軸7Bに工具体40Aが装着していないと判断した時(S161:NO)、二回目のS161で主軸7Bに工具体40Aが装着していないと判定する(S161:YES)。故にCPU51Bは、図25(A)の曲線C61、C62で示す両方の脱離トルクを取得して記憶装置54Bに記憶し、且つ、図26(A)の曲線C71、C72で示す両方の装着トルクを取得して記憶装置54Bに記憶する。
CPU51Bは、記憶装置54Bに記憶した複数の脱離トルクを読出す。CPU51Bは、一回目の処理で取得した脱離トルクと、二回目の処理で取得した脱離トルクとの差分を算出する。CPU51Bは該処理により、脱離動作の過程で未装着状態と完全装着状態との間で装着状態が切替わる時に取得した脱離トルクと、未装着状態のまま脱離動作を行うときに取得した脱離トルクの差分を算出する。図25(B)の曲線C63は、算出した差分の一例を時系列で示す。このとき、図25(B)に示す曲線C63は、工作機械1の固有振動数に対して十分な長さのローパスフィルタにより処理を行い、振動等の影響を除去する。
同様にCPU51Bは、記憶装置54Bに記憶した複数の脱離トルクを読出す。CPU51Bは、一回目の処理で取得した装着トルクと、二回目の処理で取得した装着トルクとの差分を算出する。CPU51Bは該処理により、装着動作の過程で未装着状態と完全装着状態との間で装着状態が切替わる時に取得した装着トルクと、未装着状態のまま装着動作を行うときに取得した装着トルクの差分を算出する。図26(B)の曲線C73は、算出した差分の一例を時系列で示す。
図24に示すように、CPU51Bは、算出した差分が最大となる点を、トルクの変化量が大きい基準点として決定する(S189)。脱離トルクに基づき決定した基準点を、脱離基準点と称す。装着トルクに基づき決定した基準点を、装着基準点と称す。
CPU51Bは、記憶装置54Bから第一開始量D12及び第二終了量E22を読出して取得する。第一開始量D12、第二終了量E22は夫々、ATC駆動軸46Bの回転量を示す。図25(B)に示すように、第一開始量D12は、脱離基準点K21から第一脱離判定範囲の開始点P12までの回転量を示す。第二終了量E22は、脱離基準点K21から第二脱離判定範囲の終了点Q22までの回転量を示す。脱離基準点K21は、第一脱離判定範囲の終了点Q12、及び、第二脱離判定範囲の開始点P22を示す。第一開始量D12は負の値であり、第二終了量E22は正の値である。
第一脱離判定範囲は、開始点P12と終了点Q12との間の位置の範囲である。第二判脱離定範囲は、開始点P22と終了点Q22との間の位置の範囲である。開始点P12、P22は、各脱離判定範囲の両端点のうち、脱離動作の過程でATC駆動軸46Bが先に経由する回転角度に対応する点である。終了点Q12、Q22は、各脱離判定範囲の両端点のうち、脱離動作の過程でATC駆動軸46Bが後で経由する回転角度に対応する点である。
CPU51Bは、記憶装置54Bから第一終了量E13、第二開始量D23、第三開始量D33を読出して取得する。第一終了量E13、第二開始量D23、第三開始量D33は夫々、ATC駆動軸46Bの回転量を示す。図26(B)に示すように、第一終了量E13は、装着基準点K31から第一装着判定範囲の終了点Q13までの回転量を示す。第二開始量D23は、装着基準点K31から第二装着判定範囲の開始点P23、及び、装着基準点K31から第三装着判定範囲の終了点Q33までの回転量を示す。第三開始量D33は、装着基準点K31から第三装着判定範囲の開始点P33までの回転量を示す。装着基準点K31は、第一脱離判定範囲の開始点P13、及び、第二脱離判定範囲の終了点Q23を示す。第一終了量E13は正の値であり、第二開始量D23、第三開始量D33は負の値である。
第一装着判定範囲は、開始点P13と終了点Q13との間の位置の範囲である。第二判装着定範囲は、開始点P23と終了点Q23との間の位置の範囲である。第三判装着定範囲は、開始点P33と終了点Q33との間の位置の範囲である。開始点P13、P23、P33は、各装着判定範囲の両端点のうち、装着動作の過程でATC駆動軸46Bが先に経由する点である。終了点Q13、Q23、Q33は、各装着判定範囲の両端点のうち、装着動作の過程でATC駆動軸46Bが後で経由する点である。
図24に示すように、CPU51Bは、第一脱離判定範囲、第二脱離判定範囲、第一装着判定範囲、第二装着判定範囲、第三装着判定範囲を示す情報として、各々の開始点及び終了点を決定する(S191)。CPU51Bは、決定した第一脱離判定範囲、第二脱離判定範囲、第一装着判定範囲、第二装着判定範囲、第三装着判定範囲を示す情報を記憶装置54Bに記憶する(S193)。CPU51Bは、設定処理を終了する。
<主処理>
図27~図29を参照し、主処理を説明する。数値制御装置50BのCPU51Bは、NCプログラムのうち工具体40Aを交換する工具交換指令の実行時、ROM52Bに記憶したプログラムを読出して実行することにより主処理を開始する。尚、主処理の開始時、ATC駆動軸46Bの回転角度は0°である。工具体40Aは、未装着状態又は完全装着状態で主軸7Bに装着することを前提とする。不完全装着状態を前提としない理由は、前回工具交換指令の終了時に不完全装着状態となった時に工作機械1Bは動作を停止し、CPU51Bは該状態で主処理を実行しない為である。
CPU51Bは、工具交換指令が指示する回転速度に応じてATC駆動軸46Bを回転する為、ATCモータ45Bの回転速度を設定して回転開始する。CPU51Bは、S133~S139の処理を、所定周期で繰り返す。CPU51Bは、エンコーダ45Dから取得したATCモータ45Bの回転角度に基づき、現在角度を算出する。CPU51Bは、次の周期でのATC駆動軸46Bの回転角度を目標角度として設定する(S131)。CPU51Bは、現在角度と目標角度とに基づき、次の1周期でATC駆動軸46Bが目標角度に達するように、ATCモータ45Bの回転速度を更新する(S131)。
CPU51Bは、ATC駆動軸46Bの回転角度が0°~180°の範囲か判定する(S133)。CPU51Bは、ATC駆動軸46Bの回転角度が0°~180°の範囲と判定した時(S133:YES)、ATCモータ45Bのトルクを脱離トルクとして取得して記憶装置54Bに記憶する(S135)。CPU51Bは、処理をS141に進める。CPU51Bは、ATC駆動軸46Bの回転角度が0°~180°の範囲でないと判定した時(S133:NO)、ATC駆動軸46Bの回転角度は180°~360°の範囲であるので、ATCモータ45Bのトルクを装着トルクとして取得して記憶装置54Bに記憶する(S139)。CPU51Bは、処理をS141に進める。
CPU51Bは、ATC駆動軸46Bの回転角度が360°に達したか判定する(S141)。CPU51Bは、ATC駆動軸46Bの回転角度が360°に達していないと判定した時(S141:NO)、処理をS131に戻す。CPU51Bは、ATC駆動軸46Bの回転角度が360°に達する迄、S131~S139の処理を所定周期で繰り返す。これによりCPU51Bは、脱離動作時におけるATCモータ45Bの脱離トルク、及び、装着動作時におけるATCモータ45Bの装着トルクの夫々を、時系列で取得する。CPU51Bは、ATC駆動軸46Bの回転角度が360°に達したと判定した時(S141:YES)、処理をS143に進める。
CPU51Bは、脱離異常検出処理(S143)及び装着異常検出処理(S145)を実行する。脱離異常検出処理と装着異常検出処理の終了後、CPU51Bは主処理を終了する。脱離異常検出処理及び装着異常検出処理は、各々で別の判定範囲が参照される他は、第一実施形態のS29、S31(図8参照)で実行する処理(図9、図11参照)と同一である。
図9に示すように、脱離異常検出処理において、CPU51Bは、記憶装置54Bに記憶した情報に基づき、第一脱離判定範囲及び第二脱離判定範囲の夫々の開始点及び終了点を取得する(S51)。CPU51Bは、記憶装置54Bに記憶した複数の脱離トルクのうち、第一脱離判定範囲の開始点P12(図28参照)における脱離トルクを開始トルクとして取得する。CPU51Bは、記憶装置54Bに記憶した複数の脱離トルクのうち、第一脱離判定範囲の終了点Q12(図28参照)における脱離トルクを、終了トルクとして取得する。CPU51Bは開始トルクと終了トルクとの差分を、第一差分トルクとして算出する(S53)。
CPU51Bは、記憶装置54Bに記憶した複数の脱離トルクのうち、第二脱離判定範囲の開始点P22(図28参照)における脱離トルクを開始トルクとして取得する。CPU51Bは、記憶装置54Bに記憶した複数の脱離トルクのうち、第二脱離判定範囲の終了点Q22(図28参照)における脱離トルクを終了トルクとして取得する。CPU51Bは開始トルクと終了トルクとの差分を、第二差分トルクとして算出する(S55)。
CPU51Bは、脱離トルクの変化量が大きい変化点を含む判定範囲が第一脱離判定範囲と第二脱離判定範囲との何れであるかを決定する為に、第一差分トルクが第二差分トルクよりも大きいか判定する(S57)。例えば図28(A)の曲線C41で示すように、脱離動作前の装着状態が未装着状態の時、変化点は第一脱離判定範囲にある。該時、第一差分トルクΔZ1は第二差分トルクΔZ2よりも大きくなる。故に、図9に示すように、CPU51Bは、第一差分トルクが第二差分トルクよりも大きいと判定した時(S57:YES)、変化点を含む判定範囲として第一脱離判定範囲を決定する(S59)。該時、CPU51Bは、脱離動作前の装着状態が未装着状態と判定し、未装着状態を通知する通知画面を表示部90Bに表示して報知する(S61)。CPU51Bは、工作機械1Aの動作を停止し(S63)、脱離異常検出処理を終了する。
一方、例えば図28(B)の曲線C42で示すように、脱離動作前の装着状態が完全装着状態の時、変化点は第二脱離判定範囲にある。該時、第一差分トルクΔZ1は第二差分トルクΔZ2よりも小さくなる。故に、図9に示すように、CPU51Bは、第一差分トルクが第二差分トルク以下と判定した時(S57:NO)、変化点を含む判定範囲として第二脱離判定範囲を決定する(S65)。CPU51Bは、脱離動作前の装着状態が完全装着状態と判定し(S67)、脱離異常検出処理を終了する。
図11に示すように、装着異常検出処理において、CPU51Bは、記憶装置54Bに記憶した第一装着判定範囲~第三装着判定範囲の夫々の開始点及び終了点を取得する(S71)。CPU51Bは、記憶装置54Bに記憶した複数の装着トルクのうち、開始点P13(図29参照)における装着トルクを、第一装着判定範囲の開始トルクとして取得する。CPU51Bは、記憶装置54Bに記憶した複数の装着トルクのうち、終了点Q13(図29参照)における装着トルクを、第一装着判定範囲の終了トルクとして取得する。CPU51Bは開始トルクと終了トルクとの差分を第一差分トルクΔZ1(図29参照)として算出する(S73)。
CPU51Bは、記憶装置54Bに記憶した複数の装着トルクのうち、開始点P23(図29参照)における装着トルクを、第二装着判定範囲の開始トルクとして取得する。CPU51Bは、記憶装置54Bに記憶した複数の装着トルクのうち、終了点Q23(図29参照)における装着トルクを、第二装着判定範囲の終了トルクとして取得する。CPU51Bは開始トルクと終了トルクとの差分を第二差分トルクΔZ2(図29参照)として算出する(S73)。
CPU51Bは、記憶装置54Bに記憶した複数の装着トルクのうち、開始点P33(図29参照)における装着トルクを、第三装着判定範囲の開始トルクとして取得する。CPU51Bは、記憶装置54Bに記憶した複数の装着トルクのうち、終了点Q33(図29参照)における装着トルクを、第三装着判定範囲の終了トルクとして取得する。CPU51Bは開始トルクと終了トルクとの差分を第三差分トルクΔZ3(図29参照)として算出する(S73)。
CPU51Bは、装着トルクの変化量が大きい変化点を含む判定範囲が第一装着判定範囲~第三装着判定範囲の何れであるかを決定する為に、第一差分トルク、第二差分トルク、及び第三差分トルクを比較する(S79、S87)。CPU51Bは、第一差分トルクが第二差分トルク及び第三差分トルクよりも大きいか判定する(S79)。例えば図29(A)の曲線C51で示すように、装着動作後の装着状態が未装着状態の時、変化点は第一装着判定範囲にある。該時、第一差分トルクΔZ1は第二差分トルクΔZ2及び第三差分トルクΔZ3よりも大きくなる。故に、図11に示すように、CPU51Bは、第一差分トルクが第二差分トルク及び第三差分トルクよりも大きいと判定した時(S79:YES)、変化点を含む判定範囲として第一装着判定範囲を決定する(S81)。該時、CPU51Bは、装着動作後の装着状態が未装着状態と判定し、装着動作後の装着状態が未装着状態であることを通知する通知画面を表示部90Bに表示して報知する(S83)。CPU51Bは、工作機械1Aの動作を停止し(S85)、装着異常検出処理を終了する。
例えば図29(B)の曲線C53で示すように、装着動作後の装着状態が不完全装着状態の時、変化点は第三装着判定範囲にある。該時、第三差分トルクΔZ3は第一差分トルクΔZ1及び第二差分トルクΔZ2よりも大きくなる。故に、図11に示すように、CPU51Bは、第三差分トルクが第一差分トルク及び第二差分トルクよりも大きいと判定した時(S79:NO、S87:YES)、変化点を含む判定範囲として第三装着判定範囲を決定する(S89)。該時、CPU51Bは、装着動作後の装着状態が不完全装着状態と判定し、装着動作後の装着状態が不完全装着状態であることを通知する通知画面を表示部90Bに表示して報知する(S91)。CPU51Bは、工作機械1Aの動作を停止し(S85)、装着異常検出処理を終了する。
例えば図29(C)の曲線C52で示すように、装着動作後の装着状態が完全装着状態の時、変化点は第二装着判定範囲にある。該時、第二差分トルクΔZ2は第一差分トルクΔZ1及び第三差分トルクΔZ3よりも大きくなる。故に、図11に示すように、CPU51Bは、第二差分トルクが第一差分トルク及び第三差分トルクよりも大きいと判定した時(S87:NO)、変化点を含む判定範囲として第二装着判定範囲を決定する(S93)。CPU51Bは、装着動作後の装着状態が完全装着状態と判定し(S95)、装着異常検出処理を終了する。
<第二実施形態の作用、効果>
以下説明では、第二実施形態における作用、効果のうち、第一実施形態における作用、効果と共通する部分については、記載を省略する。しかし、第一実施形態における作用、効果について、適宜、第二実施形態に適用可能である。数値制御装置50Bは、工具体40Aの着脱動作を行う為に駆動するATCモータ45Bのトルクの変化点を含む判定範囲が、第一脱離判定範囲、第二脱離判定範囲、第一装着判定範囲、第二装着判定範囲、第三装着判定範囲の何れかに応じて、主軸7Bに対する工具体40Aの装着状態を判定する。該時の判断結果は、モータの駆動電流値を閾値と比較することによる判断結果と比べ、工作機械の個体差や経年変化による影響を受け難い。故に、数値制御装置50Bは、主軸7Bに対する工具体40Aの装着状態を精度よく判定できる。
数値制御装置50Bは、第一装着判定範囲、第二装着判定範囲、第三装着判定範囲のうち、各々の開始点と終了点の夫々のトルクの差分が最も大きい判定範囲を決定する。該時、数値制御装置50Bは、トルクの変化点を含む判断範囲が、三つの判断範囲の何れであるかを容易に決定できる。
数値制御装置50Bは、設定処理により第一脱離判定範囲、第二脱離判定範囲、第一装着判定処理、第二装着判定処理、第三装着判定範囲を決定する。該時、数値制御装置50Bは、工作機械1B毎に適切な判定範囲を決定し、主軸7Bに対する工具体40Aの装着状態を判定できる。故に、数値制御装置50Bは、工作機械1Bの個体差や経年変化に基づいて特性がばらついた時も、適切な判定範囲を決定して工具体40Aの装着状態を正確に判定できる。
数値制御装置50Bは、工具体40Aの着脱動作の過程で未装着状態と完全装着状態との間で装着状態を切替える時に取得したトルクの変化量が大きい変化点を、基準点として決定する。より具体的には、数値制御装置50Bは、着脱動作の過程で未装着状態と完全装着状態との間で装着状態が切替わる時に取得したトルクと、未装着状態のまま着脱動作を行うときに取得したトルクの差分を算出する。数値制御装置50Bは、算出した差分が最大となる点を、基準点として決定する。該時、数値制御装置50Bは、着脱動作に応じて装着状態が切替わる点を精度よく決定できるので、適切な判定範囲を決定できる。
数値制御装置50Bは、第一脱離判定範囲、第二脱離判定範囲、第一装着判定範囲、第二装着判定範囲、第三装着判定範囲を夫々決定する。つまり、数値制御装置50Bは、脱離動作と装着動作とで夫々異なる判定範囲を決定する。該時、数値制御装置50Bは、脱離動作と装着動作とで判定範囲を別々に最適化できる。故に、数値制御装置50Bは、工具体40Aの装着状態をより高精度に判定できる。
工作機械1Bは、着脱動作を行う為の機構として、ドローバ70B、揺動腕部材60Bを備える。数値制御装置50Bは、アーム式の工作機械1Bについて、装着状態を精度よく判定できる。
<第二実施形態の特記事項>
第一実施形態の特記事項について、第二実施形態に適宜適用できる。数値制御装置50Bは、記憶装置54Bに記憶した第一終了量E13、第二開始量D23、第三開始量D33を用いて判定範囲を決定した。該時、該時、第一装着判定範囲の開始点と第二装着判定範囲の終了点、及び、第二装着判定範囲の開始点と第三装着判定範囲の終了点を同一とした。又、第一装着判定範囲の開始点と第二装着判定範囲の終了点を、装着基準点と同一とした。これに対し、記憶装置54Bは、第一開始量、第一終了量E13、第二開始量D23、第二終了量、第三開始量D33、第三終了量を記憶してもよい。数値制御装置50Bは、装着基準点と、第一開始量及び第一終了量E13とに基づいて第一装着判定範囲を決定してもよい。数値制御装置50Bは、装着基準点と、第二開始量D23及び第二終了量とに基づいて、第二装着判定範囲を決定してもよい。数値制御装置50Bは、装着基準点と、第三開始量D33及び第三終了量とに基づいて、第三装着判定範囲を決定してもよい。
数値制御装置50Bは、ATCモータ45Bの回転角度を、揺動腕部材60Bの先端部621のZ軸方向の位置に変換して算出してもよい。数値制御装置50Bは、第一判定範囲~第三判定範囲は、算出した先端部621の位置に応じて決定してもよい。数値制御装置50Bは、決定した第一判定範囲~第三判定範囲のうち何れの判定範囲が、トルクの変化点を含むか決定することにより、装着状態を判定してもよい。
ドローバ70B及び揺動腕部材60Bは、本発明の「着脱機構」の一例である。S135、S139の処理を行うCPU51Bは、本発明の「取得部」の一例である。S191の処理を行うCPU51Bは、本発明の「第二決定部」の一例である。S193の処理を行うCPU51Bは、本発明の「記憶部」の一例である。ドローバ70Bは、本発明の「固定部」の一例である。揺動腕部材60Bは、本発明のレバーの一例である。S135、S139の処理を行うCPU51Bは、本発明の「取得工程」の一例である。