(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108054
(43)【公開日】2024-08-09
(54)【発明の名称】数値制御装置、制御プログラム、及び記憶媒体
(51)【国際特許分類】
G05B 19/18 20060101AFI20240802BHJP
B23Q 3/155 20060101ALI20240802BHJP
B23Q 17/00 20060101ALI20240802BHJP
B23B 31/00 20060101ALI20240802BHJP
【FI】
G05B19/18 X
B23Q3/155 F
B23Q17/00 B
B23B31/00 D
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023012314
(22)【出願日】2023-01-30
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100104178
【弁理士】
【氏名又は名称】山本 尚
(72)【発明者】
【氏名】小黒 雄輝
【テーマコード(参考)】
3C002
3C029
3C032
3C269
【Fターム(参考)】
3C002AA03
3C002BB03
3C002HH06
3C029EE05
3C032FF04
3C269AB01
3C269BB12
3C269CC02
3C269EF39
3C269GG02
3C269MN07
3C269MN14
3C269MN16
3C269MN23
3C269MN24
3C269MN27
3C269MN29
3C269PP02
3C269QD01
3C269QD02
3C269QD05
(57)【要約】
【課題】主軸に対する工具の装着状態を精度よく判定できる数値制御装置、制御プログラム、及び記憶媒体を提供する。
【解決手段】制御装置は、外乱力の微分値の変動に基づき、工具が主軸に装着される検出位置を検出する。制御装置は、工具情報テーブル59のインデックスNo.4、No.5、No.6、No.7に、N回目、N-1回目、N-2回目、N-3回目の工具の装着において検出された検出位置を夫々に格納する。制御装置は、N-3回目~N-1回目の工具の装着における検出位置に基づき基準値を決定する。制御装置は、N回目の工具の装着における検出位置及び基準値に基づき検出値を決定し、該検出値に基づき装着状態を判定する。制御装置は、装着状態の判定結果が異常である場合、N+1回目の装着動作において、N+1回目の装着における検出位置を工具情報テーブル59に格納した後、N-2回目~N回目の装着における検出位置を削除する。
【選択図】
図9
【特許請求の範囲】
【請求項1】
工具を装着する主軸と、前記主軸に装着される前記工具を交換する工具交換装置と、前記主軸を移動させるモータとを備える工作機械を制御する数値制御装置であって、
前記工具を前記主軸に装着する過程において前記モータの駆動により移動する前記主軸の位置を検出する検出部と、
前記検出部により検出された前記位置を記憶装置に記憶する記憶部と、
前記記憶部によりN-1回目以前(Nは2以上の整数)に前記記憶装置に記憶された前記位置に基づき、前記主軸の基準位置を決定する決定部と、
前記記憶部によりN回目に記憶された前記位置、及び前記決定部により決定された前記基準位置に基づき、前記工具の装着状態に関する異常であるかを判定する判定部と、
前記判定部により前記異常と判定された場合、前記記憶部によりN+1回目に前記位置が記憶された後、前記記憶部によりN回目以前に記憶された前記位置を削除する削除部と
を備えることを特徴とする数値制御装置。
【請求項2】
前記判定部は、N回目に記憶された前記位置から前記基準位置を差し引いた検出値の絶対値が閾値以上である場合、前記異常であると判定することを特徴とする請求項1に記載の数値制御装置。
【請求項3】
前記異常は、前記主軸と前記工具との間に異物が付着したまま前記工具が装着された第一異常と、前記基準位置の大きさが正常でない第二異常とを含み、
前記判定部は、
前記検出値の絶対値が前記閾値以上であり、且つ前記検出値が正の値である場合、前記第一異常であると判定し、
前記検出値の絶対値が前記閾値以上であり、且つ前記検出値が負の値である場合、前記第二異常であると判定すること
を特徴とする請求項2に記載の数値制御装置。
【請求項4】
前記判定部により前記第一異常であると判定された場合、前記第一異常であることを報知し、前記第二異常であると判定された場合、前記第二異常であることを報知する報知部を更に備えたことを特徴とする請求項3に記載の数値制御装置。
【請求項5】
前記決定部は、前記記憶部によりN-1回目以前に記憶された複数の前記位置に基づき前記基準位置を決定し、
前記削除部は、N+1回目の前記工具の装着において前記基準位置を決定するための複数の前記位置を全て削除することを特徴とする請求項1に記載の数値制御装置。
【請求項6】
前記決定部は、前記記憶部によりN-1回目以前に記憶された複数の前記位置に対して統計処理を行った統計値に基づき前記基準位置を決定することを特徴とする請求項1に記載の数値制御装置。
【請求項7】
前記モータの回転により前記主軸を移動させ、前記主軸に対する前記工具の装着動作を実行する装着部と、
前記装着部により前記主軸に前記工具を装着する過程において、前記モータのトルクを時系列で取得する取得部とを有し、
前記検出部は、前記取得部により取得された前記トルクに基づき、前記位置を検出すること
を特徴とする請求項1に記載の数値制御装置。
【請求項8】
工具を装着する主軸と、前記主軸に装着される前記工具を交換する工具交換装置と、前記主軸を移動させるモータとを備える工作機械を制御するコンピュータに、
前記工具を前記主軸に装着する過程において前記モータの駆動により移動する前記主軸の位置を検出する検出工程と、
前記検出工程により検出された前記位置を記憶する記憶工程と、
前記記憶工程によりN-1回目(Nは2以上の整数)に記憶された前記位置に基づき、前記主軸の基準位置を決定する決定工程と、
前記記憶工程によりN回目に記憶された前記位置、及び前記決定工程により決定された前記基準位置に基づき、前記工具の装着状態に関する異常であるかを判定する判定工程と、
前記判定工程により前記異常と判定された場合、前記記憶工程によりN+1回目に前記位置が記憶された後、前記記憶工程によりN回目以前に記憶された前記位置を削除する削除工程と
を実行させるための制御プログラム。
【請求項9】
工具を装着する主軸と、前記主軸に装着される前記工具を交換する工具交換装置と、前記主軸を移動させるモータとを備える工作機械を制御するコンピュータに、
前記工具を前記主軸に装着する過程において前記モータの駆動により移動する前記主軸の位置を検出する検出工程と、
前記検出工程により検出された前記位置を記憶する記憶工程と、
前記記憶工程によりN-1回目(Nは2以上の整数)に記憶された前記位置に基づき、前記主軸の基準位置を決定する決定工程と、
前記記憶工程によりN回目に記憶された前記位置、及び前記決定工程により決定された前記基準位置に基づき、前記工具の装着状態に関する異常であるかを判定する判定工程と、
前記判定工程により前記異常と判定された場合、前記記憶工程によりN+1回目に前記位置が記憶された後、前記記憶工程によりN回目以前に記憶された前記位置を削除する削除工程と
を実行させるためのプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数値制御装置、制御プログラム、及び記憶媒体に関する。
【背景技術】
【0002】
特許文献1には、工作機械の主軸に対して工具を装着したか否かを判定する数値制御装置が開示されている。工作機械は、主軸、主軸ヘッド、及びZ軸モータを備える。主軸は主軸ヘッドに回転可能に設けられる。Z軸モータの駆動により主軸ヘッドが昇降する。主軸に対して工具の装着が行われる際、主軸ヘッドが下降する。このとき、数値制御装置はZ軸モータに加わるトルクを時間微分する。数値制御装置は、トルクの微分値と主軸ヘッドの位置とに基づき、主軸ヘッドの位置に応じて変動する微分値のピーク位置を決定する。数値制御装置は、決定したピーク位置を統計処理し、算出された統計値に基づき、主軸に対する工具の装着状態を判定する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記数値制御装置は、N回目(Nは2以上の整数)の工具の装着に際して行われる装着状態の判定において、N-1回目以前に決定した所定数のピーク位置を統計処理して統計値を算出する。数値制御装置では、N-1回目以前に決定したピーク位置に装着状態に関する異常な状態で決定されたピーク位置が含まれる場合、N回目の工具の装着に際して行われる装着状態の判定において、統計値に基づき判定される装着状態の判定精度が低下する可能性がある。
【0005】
本発明の目的は、主軸に対する工具の装着状態を精度よく判定できる数値制御装置、制御プログラム、及び記憶媒体を提供することである。
【課題を解決するための手段】
【0006】
請求項1の数値制御装置は、工具を装着する主軸と、前記主軸に装着される前記工具を交換する工具交換装置と、前記主軸を移動させるモータとを備える工作機械を制御する数値制御装置であって、前記工具を前記主軸に装着する過程において前記モータの駆動により移動する前記主軸の位置を検出する検出部と、前記検出部により検出された前記位置を記憶装置に記憶する記憶部と、前記記憶部によりN-1回目以前(Nは2以上の整数)に前記記憶装置に記憶された前記位置に基づき、前記主軸の基準位置を決定する決定部と、前記記憶部によりN回目に記憶された前記位置、及び前記決定部により決定された前記基準位置に基づき、前記工具の装着状態に関する異常であるかを判定する判定部と、前記判定部により前記異常と判定された場合、前記記憶部によりN+1回目に前記位置が記憶された後、前記記憶部によりN回目以前に記憶された前記位置を削除する削除部とを備えることを特徴とする。
【0007】
数値制御装置は、工具の装着状態に関する異常であるかを判定する。数値制御装置は、この判定において装着状態が異常であると判定した場合、N+1回目に主軸の位置を記憶した後、N回目以前に記憶した主軸の位置を削除する。数値制御装置は、装着状態が異常であると判定した場合のN回目以前に記憶した主軸の位置を削除するので、N+1回目以降に記憶した主軸の位置に基づき、工具の装着状態を精度よく判定できる。
【0008】
請求項2の数値制御装置において、前記判定部は、N回目に記憶された前記位置から前記基準位置を差し引いた検出値の絶対値が閾値以上である場合、前記異常であると判定してもよい。数値制御装置は、検出値の絶対値に基づき装着状態が異常であるか判定するので、装着状態を精度よく判定できる。
【0009】
請求項3の数値制御装置において、前記異常は、前記主軸と前記工具との間に異物が付着したまま前記工具が装着された第一異常と、前記基準位置の大きさが正常でない第二異常とを含み、前記判定部は、前記検出値の絶対値が前記閾値以上であり、且つ前記検出値が正の値である場合、前記第一異常であると判定し、前記検出値の絶対値が前記閾値以上であり、且つ前記検出値が負の値である場合、前記第二異常であると判定してもよい。第一異常は、N回目の工具の装着において主軸と工具との間に異物が付着したまま工具が装着された異常であり、第二異常は、N-1回目以前の工具の装着において主軸と工具との間に異物が付着したまま工具が装着された結果、基準位置の大きさが正常でなくなる異常である。数値制御装置は、工具の装着状態が異常であると判定した場合、第一異常と第二異常の何れであるか判定するので、異常に合わせて処理を実行できる。
【0010】
請求項4の数値制御装置は、前記判定部により前記第一異常であると判定された場合、前記第一異常であることを報知し、前記第二異常であると判定された場合、前記第二異常であることを報知する報知部を更に備えてもよい。第一異常である場合と第二異常である場合とで異なる報知が行われるので、作業者は、異常が第一異常と第二異常の何れであるか把握できる。
【0011】
請求項5の数値制御装置において、前記決定部は、前記記憶部によりN-1回目以前に記憶された複数の前記位置に基づき前記基準位置を決定し、前記削除部は、N+1回目の前記工具の装着において前記基準位置を決定するための複数の前記位置を全て削除してもよい。数値制御装置は、複数の主軸の位置に基づき基準位置を決定する場合で、N回目の工具の装着において工具の装着状態が異常であると判定した場合、N+1回目の工具の装着において基準位置を決定するための複数の主軸の位置を全て削除する。よって、数値制御装置は、工具の装着状態を精度よく判定できる。
【0012】
請求項6の数値制御装置において、前記決定部は、前記記憶部によりN-1回目以前に記憶された複数の前記位置に対して統計処理を行った統計値に基づき前記基準位置を決定してもよい。数値制御装置は、複数の主軸の位置に対して統計処理を行った統計値に基づき基準位置を決定するので、N回目の工具の装着において工具の装着状態を精度よく判定できる。
【0013】
請求項7の数値制御装置は、前記モータの回転により前記主軸を移動させ、前記主軸に対する前記工具の装着動作を実行する装着部と、前記装着部により前記主軸に前記工具を装着する過程において、前記モータのトルクを時系列で取得する取得部とを有し、前記検出部は、前記取得部により取得された前記トルクに基づき、前記位置を検出してもよい。数値制御装置は、装着動作におけるモータのトルクに基づき、工具を装着する過程における主軸の位置を検出する。よって、数値制御装置は、工具の装着状態を精度よく判定できる。
【0014】
請求項8の制御プログラムは、工具を装着する主軸と、前記主軸に装着される前記工具を交換する工具交換装置と、前記主軸を移動させるモータとを備える工作機械を制御するコンピュータに、前記工具を前記主軸に装着する過程において前記モータの駆動により移動する前記主軸の位置を検出する検出工程と、前記検出工程により検出された前記位置を記憶する記憶工程と、前記記憶工程によりN-1回目(Nは2以上の整数)に記憶された前記位置に基づき、前記主軸の基準位置を決定する決定工程と、前記記憶工程によりN回目に記憶された前記位置、及び前記決定工程により決定された前記基準位置に基づき、前記工具の装着状態に関する異常であるかを判定する判定工程と、前記判定工程により前記異常と判定された場合、前記記憶工程によりN+1回目に前記位置が記憶された後、前記記憶工程によりN回目以前に記憶された前記位置を削除する削除工程とを実行させる。
【0015】
請求項9の記憶媒体は、工具を装着する主軸と、前記主軸に装着される前記工具を交換する工具交換装置と、前記主軸を移動させるモータとを備える工作機械を制御するコンピュータに、前記工具を前記主軸に装着する過程において前記モータの駆動により移動する前記主軸の位置を検出する検出工程と、前記検出工程により検出された前記位置を記憶する記憶工程と、前記記憶工程によりN-1回目(Nは2以上の整数)に記憶された前記位置に基づき、前記主軸の基準位置を決定する決定工程と、前記記憶工程によりN回目に記憶された前記位置、及び前記決定工程により決定された前記基準位置に基づき、前記工具の装着状態に関する異常であるかを判定する判定工程と、前記判定工程により前記異常と判定された場合、前記記憶工程によりN+1回目に前記位置が記憶された後、前記記憶工程によりN回目以前に記憶された前記位置を削除する削除工程とを実行させるためのプログラムを記憶する。
【0016】
請求項8の制御プログラム及び請求項9の記憶媒体は、請求項1の数値制御装置と同様の効果を奏する。
【図面の簡単な説明】
【0017】
【
図4】工作機械1及び制御装置30の電気的構成を示すブロック図である。
【
図5】主軸9のZ軸位置に応じて変動するZ軸モータ51に加わる外乱力F及び微分値fを示すグラフである。
【
図7】検出回数Nが1~3回目である場合の工具情報テーブル59の概念図である。
【
図8】判定結果が完全装着状態である場合の工具情報テーブル59の概念図である。
【
図9】判定結果が切粉噛み異常である場合の工具情報テーブル59の概念図である。
【
図10】判定結果が検出異常である場合の工具情報テーブル59の概念図である。
【発明を実施するための形態】
【0018】
本発明の一実施形態を、図面を参照し説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械1の左右方向、前後方向、上下方向は夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。右方向、前方向、上方向は夫々、正方向であり、左方向、後方向、下方向は夫々、負方向である。
図1に示す工作機械1は、工具3により被削材(図示略)に切削加工を施す機械である。本実施形態に記載する「ATC」とは「Automatic Tool Changer」の略称である。又、本実施形態に記載する「NC」とは「Numerical Control」の略称である。
【0019】
図1、
図2に示すように、工作機械1は、ベース2、コラム5、制御箱6、テーブル装置10、主軸ヘッド7、主軸9、工具交換装置20、制御装置30を有する。ベース2は、略直方体状の金属製土台である。柱状のコラム5は、ベース2の上面の後部に固定される。制御箱6は、コラム5の背面に固定される。制御箱6は、制御装置30を収納する。
【0020】
テーブル装置10は、Y軸移動機構(図示略)、Y軸テーブル12、X軸移動機構(図示略)、テーブル13を有する。Y軸移動機構は、ベース2の上面、且つコラム5の前方に設けられ、Y軸モータ54(
図4参照)を有する。Y軸移動機構は、Y軸モータ54の駆動に応じて、Y軸テーブル12をY軸方向に移動する。X軸移動機構は、Y軸テーブル12の上部に設けられ、X軸モータ53(
図4参照)を有する。X軸移動機構は、X軸モータ53の駆動に応じてテーブル13をX軸方向に移動する。故にテーブル13は、X軸移動機構とY軸移動機構により、X軸方向とY軸方向とに移動可能である。テーブル13は、水平方向に延びる板状であり、上面に被削材が固定される。
【0021】
図2に示すように、コラム5の前部には、Z軸移動機構8が設けられる。Z軸移動機構8は、ボールねじ41、軸受部42、43、カムフォロア49、Z軸モータ51(
図4参照)を有する。ボールねじ41は、コラム5の前部に設けられ、Z軸方向に延びる。軸受部42、43は、ボールねじ41を回転可能に支持する。軸受部42は、軸受部43の上方に設けられる。カムフォロア49は、軸受部42の前端に設けられる。カムフォロア49は、後述する主軸ヘッド7の板カム47のカム面を摺動する。
【0022】
Z軸モータ51は、軸受部42の上方に固定される。ボールねじ41は、カップリング(図示略)を介して、Z軸モータ51の出力軸に連結される。ボールねじ41は、Z軸モータ51の駆動により、上下方向に延びる軸周りに正逆回転される。ボールねじ41には、軸受部42、43の間でナット44が螺合される。ナット44は、主軸ヘッド7の後端部に固定される。Z軸モータ51が正方向に回転すると、ボールねじ41が回転し、ナット44と主軸ヘッド7とが一体となって上昇する。Z軸モータ51が逆方向に回転すると、ボールねじ41が逆回転し、ナット44と主軸ヘッド7とが一体となって下降する。
【0023】
図2に示すように、主軸ヘッド7は、コラム5の前部に設けられ、箱状である。主軸ヘッド7は、主軸モータ52、クランクレバー45、支軸46、コイルバネ48を有する。主軸モータ52は、主軸ヘッド7の上面の前部に固定される。
【0024】
支軸46は、主軸ヘッド7の後部の内側に固定される。支軸46は、左右方向に延びる棒状である。クランクレバー45は、主軸ヘッド7の上部に設けられる。クランクレバー45は、レバー45a、45bを有する。レバー45aは、略前後方向に延びる板状である。レバー45bは、レバー45aの後端部から略上方に延びる板状である。レバー45aとレバー45bとの接続部分には、支軸46が挿通される。クランクレバー45は、支軸46を中心に揺動可能に設けられる。
【0025】
レバー45bの上部後端には、板カム47が設けられる。板カム47の背面には、カム面が形成される。板カム47のカム面は、カムフォロア49と接離可能である。コイルバネ48は、主軸ヘッド7の後部の内側に設けられる。コイルバネ48は、前後方向に延びる。コイルバネ48の一端は主軸ヘッド7の背面に固定される。コイルバネ48の他端は、板カム47の下方で、クランクレバー45の後端部に固定される。コイルバネ48は、クランクレバー45を右側面視で時計回りに常時付勢する。
【0026】
図2、
図3に示すように、主軸9は、主軸ヘッド7の前下部の内側に設けられ、上下方向に延びる円筒状である。主軸9は、主軸ヘッド7に回転可能に支持される。主軸9は、主軸モータ52の出力軸に連結する。主軸9は、主軸モータ52の駆動により、上下方向に延びる軸周りに正逆回転される。
【0027】
主軸9は、軸穴91、装着穴92、空間93、摺動穴94、クランプ軸81、ばね82を有する。軸穴91は、主軸9の上端部から下部に亘り形成される。装着穴92は、主軸9の下側の底面を開口する。装着穴92には、工具3が装着される。空間93は、装着穴92の上部に形成される。空間93は、装着穴92と連結する。摺動穴94は、上下方向において軸穴91と空間93との間に形成される。摺動穴94は、軸穴91と空間93とに連結する。
【0028】
クランプ軸81は、軸穴91の内側、且つ軸穴91に対して上下方向に移動可能に設けられる。クランプ軸81は、支持部83、軸部84、把持部85を有する。支持部83は、クランプ軸81の上端に設けられ、柱状である。支持部83は、ピン95を支持する。ピン95は、クランプ軸81に突出して設けられる。ピン95は、主軸9の軸方向に対して垂直方向に貫通する貫通穴(図示略)を介して、主軸9の外側に突出する。ピン95は、レバー45aの下方に位置する(
図2参照)。クランクレバー45が揺動すると、レバー45aの前端部は、ピン95に対して接離する。
【0029】
軸部84は、支持部83から下方に延びる柱状である。把持部85は、軸部84の下端に設けられ、複数の鋼球(図示略)を有する。ばね82は、軸穴91の内側に挿通して設けられる。ばね82の上端は、支持部83と係合する。ばね82は、クランプ軸81を上方に常時付勢する。
【0030】
工具3は、ホルダ14及び刃具4を有する。ホルダ14は、フランジ15、シャンク16、プルスタッド17を有する。フランジ15は、円柱状である。フランジ15の一端部は、刃具4を保持する。フランジ15は、後述するグリップアーム23に着脱可能に把持される。
【0031】
シャンク16は、フランジ15の他端に設けられる。シャンク16は、ホルダ14の他端に向けて縮径する円錐状である。プルスタッド17は、シャンク16の他端に設けられる。プルスタッド17は、側面視でT字型に形成される。
【0032】
図1、
図2に示すように、工具交換装置20は、主軸ヘッド7の前方に設けられる。工具交換装置20は、タレット式である。工具交換装置20は、工具マガジン21、マガジンモータ55を有する。
【0033】
工具マガジン21は、マガジン本体22、支軸25、複数のグリップアーム23を有する。マガジン本体22は、略円盤状である。支軸25は、前下方に延びる棒状である。支軸25は、軸周りに回転可能に設けられ、マガジン本体22を支持する。夫々のグリップアーム23は、マガジン本体22の外周に所定間隔毎に設けられる。本実施例では、マガジン本体22に28本のグリップアーム23が設けられる。グリップアーム23は、マガジン本体22の前後方向に揺動可能に設けられる。グリップアーム23の先端部は、工具3のフランジ15を着脱可能に把持する。マガジンモータ55の出力軸は、カップリング(図示略)を介して、支軸25と連結する。工具マガジン21は、マガジンモータ55の駆動により、支軸25の軸周りに正逆回転される。
【0034】
図2、
図3に示すように、主軸9に対して工具3を装着した状態で、制御装置30の指令に基づき、Z軸モータ51が正方向に回転する。ボールねじ41が軸周りに回転し、主軸ヘッド7及び主軸9は加工原点から一体となって上昇する。加工原点は、主軸9の機械原点であり、被削材の加工が可能な主軸9のZ軸方向の移動範囲のうち、最上端の位置である。
【0035】
主軸9が上昇すると、カムフォロア49はクランクレバー45の板カム47に接触し、板カム47のカム面を摺動する。クランクレバー45は、コイルバネ48の弾性力に抗して、右側面視で支軸46を中心に反時計回りに揺動する。レバー45aの前端部は、ピン95に上方から係合し、クランプ軸81を下方に押圧する。クランプ軸81は、ばね82の弾性力に抗して下方に付勢される。把持部85は、摺動穴94から空間93に移動する。把持部85はプルスタッド17の把持を解除する。
【0036】
主軸9はATC原点まで更に上昇する。ATC原点は、主軸9の位置であり、加工原点よりも上方にある。主軸9がATC原点に位置する場合、工具マガジン21のマガジン本体22は回転可能である。
【0037】
主軸9が上昇すると、装着穴92に対するシャンク16の装着が解除される。工具3は主軸9から脱離する。主軸9から脱離した工具3を、第一工具と称す。複数のグリップアーム23のうち、工具交換位置にある一のグリップアーム23は、主軸9から脱離した第一工具を把持する。工具交換位置は、工具マガジン21の最下端の位置であり、且つ主軸9に上下方向に近接して対向する位置である。
【0038】
主軸9がATC原点に到達すると、制御装置30が工具交換装置20に対して指令を出力する。該指令は、主軸9に装着される工具3(以下、第二工具と称す。)を指定する。工具交換装置20は、指令に基づき、マガジンモータ55を駆動し、マガジン本体22を回転させる。工具交換装置20は、第一工具が工具交換位置にある状態から、第二工具が工具交換位置にある状態まで、マガジン本体22を回転させる。工具交換位置に割り出された第二工具は、ATC原点に移動した主軸9の下方に位置する。
【0039】
次いで、制御装置30の指令に基づき、Z軸モータ51が逆方向に回転する。ボールねじ41が軸周りに逆回転し、主軸9はATC原点から下降する。第二工具のシャンク16が装着穴92に進入し、プルスタッド17が空間93に進入する。
【0040】
装着穴92にシャンク16が進入した状態で、主軸9は更に下降する。カムフォロア49は、板カム47のカム面を摺動した後、板カム47から離隔する。クランクレバー45は、コイルバネ48の弾性力により、支軸46を中心に右側面視で時計回りに揺動する。レバー45aの前部端は、ピン95から上方に離れ、クランプ軸81の下方への押圧を解除する。クランプ軸81は、把持部85の下方への付勢を解除する。
【0041】
把持部85は、空間93から摺動穴94に移動する。把持部85は、第二工具のプルスタッド17を複数の鋼球により把持して、引っ張り上げる。第二工具を把持していたグリップアーム23は、第二工具の把持を解除する。シャンク16が装着穴92に装着され、主軸9は第二工具の装着を完了する。工具3が主軸9に装着されるときのクランプ軸81、クランクレバー45等の動作を、装着動作と称す。
【0042】
図4に示すように、制御装置30は、CPU31、ROM32、RAM33、記憶装置34、入出力インタフェイス35、駆動回路61~65を有する。CPU31は、制御装置30を統括制御する。ROM32は、各種プログラムを記憶する。RAM33は、処理実行中の各種データを記憶する。
【0043】
記憶装置34は、不揮発性メモリであり、NCプログラム、後述する複数の工具情報テーブル59等を記憶する。NCプログラムは複数のブロックで構成される。各ブロックは、工具交換指令、表示指令等の少なくとも一つの指令を含む。
【0044】
入出力インタフェイス35は、駆動回路61~65、エンコーダ71~75、入力部37、表示部38と電気的に接続し、各種信号の入出力を行う。入力部37及び表示部38は、工作機械1の操作盤36に設けられる。操作盤36は、工作機械1を覆うカバー(図示略)の外壁に設けられる。入力部37は、各種情報、操作指示等の入力を受け付け、入出力インタフェイス35を介して、CPU31に入力する。表示部38は、入出力インタフェイス35を介してCPU31から入力される指令に基づき、各種画面、異常情報等を表示する。
【0045】
駆動回路61は、Z軸モータ51に電気的に接続する。駆動回路62は、主軸モータ52に電気的に接続する。駆動回路63は、X軸モータ53に電気的に接続する。駆動回路64は、Y軸モータ54に電気的に接続する。駆動回路65は、マガジンモータ55に電気的に接続する。駆動回路61、62、63、64、65は、入出力インタフェイス35を介してCPU31から入力される指令に基づき、Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55に駆動電流を出力する。Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55は、入力された駆動電流に応じて回転するサーボモータである。駆動回路61、62、63、64、65は、戻り値として駆動電流を入出力インタフェイス35に出力する。
【0046】
Z軸モータ51はエンコーダ71を有する。主軸モータ52はエンコーダ72を有する。X軸モータ53はエンコーダ73を有する。Y軸モータ54はエンコーダ74を有する。マガジンモータ55はエンコーダ75を有する。エンコーダ71、72、73、74、75は、絶対値エンコーダであり、Z軸モータ51、主軸モータ52、X軸モータ53、Y軸モータ54、マガジンモータ55の回転角度を夫々検出する。エンコーダ71、72、73、74、75は、検出した回転角度を入出力インタフェイス35に入力する。CPU31は、エンコーダ71が検出したZ軸モータ51の回転角度θ(rad)を取得することで、Z軸モータ51と連結するボールねじ41の回転角度を推定し、ボールねじ41の回転により移動する主軸9のZ軸方向の位置(以下、Z軸位置と称す。)を推定する。
【0047】
図5(A)は、装着動作におけるZ軸モータ51の回転角度θ(rad)(横軸)とZ軸モータ51に加わる外乱力F(Nm)(縦軸)との関係を示すグラフである。
図5(A)には、工作機械1の振動等による影響を除くため、工作機械1の固有振動を除去するローパスフィルタによる処理を施してある。装着動作において、主軸9のZ軸位置は負方向に変化する。
【0048】
Z軸モータ51に加わる外乱力Fは、Z軸モータ51の駆動による反力としてZ軸モータ51に作用する力である。外乱力Fは、Z軸モータ51のトルクT
m(Nm)に含まれ、以下の数1の関係を満たす。
【数1】
数1において、「θ(上付き一つドット)」は、回転角度θの一階時間微分(角速度(rad/s))を示す。「θ(上付き二つドット)」は、回転角度θの二階時間微分(角加速度(rad/s
2))を示す。J(kg・m
2)はZ軸モータ51に関する慣性モーメントを示す。右辺第二項は慣性力を示す。DはZ軸モータ51に関する粘性係数(Nm/(rad/s))を示す。右辺第三項は粘性力を示す。kはZ軸モータ51に関するクーロン摩擦に関する係数(Nm)を示す。右辺第四項はクーロン摩擦力を示す。
【0049】
CPU31は、Z軸モータ51の駆動電流を駆動回路61から取得し、回転角度θをエンコーダ71から取得することで、トルクTmを取得する。CPU31は、取得したトルクTm、回転角度θ、及び数1に基づき、外乱力Fを取得する。
【0050】
図5(B)は、装着動作における主軸9のZ軸位置(横軸)と外乱力Fの時間微分値(以下、微分値fと称す。)(縦軸)との関係を示すグラフである。
図5(B)において、装着動作における微分値fが最小となる場合の主軸9のZ軸位置(以下、検出位置(mm)と称す。)を後述する工具情報テーブル59に記憶する。検出位置は、加工原点を基準としたZ軸方向の相対位置である。
【0051】
制御装置30のCPU31は、装着状態を判定するために、装着動作における主軸9のZ軸位置、及びZ軸モータ51に加わる外乱力Fを所定の周期(例えば、0.5ms)で取得する。CPU31は、エンコーダ71から回転角度θを取得することで、主軸9のZ軸位置を取得する。
【0052】
CPU31は、取得した外乱力Fに対してローパスフィルタをかけた後、時間微分して微分値fを算出する。CPU31は、算出した微分値fと、主軸9のZ軸位置とを対応付けてRAM33に記憶する。CPU31は、RAM33に記憶された微分値fの変動(
図5(B)参照)から検出位置を検出する。
【0053】
図6を参照し、記憶装置34に記憶される工具情報テーブル59を説明する。工具情報テーブル59は、夫々のグリップアーム23に把持される工具3に関する情報を格納する。即ち、記憶装置34には、グリップアーム23の本数(28本)と同数の工具情報テーブル59がデータ群として記憶される。工具情報テーブル59は、工具3毎に設けられる。夫々の工具情報テーブル59には、11個のインデックスと、各インデックスに対応するデータが対応付けて格納される。
【0054】
インデックスNo.1には、工具番号が対応付けられる。工具番号は、刃具4の種類を特定するための番号である。インデックスNo.2には、グリップアーム番号が対応付けられる。グリップアーム番号は、工具マガジン21の複数のグリップアーム23のうち何れであるかを特定するための番号(1~28)である。
【0055】
インデックスNo.3には、工具番号が示す刃具4(工具3)の検出回数N(Nは自然数)が対応付けられる。検出回数Nは、装着動作において工具番号が示す工具3について検出位置が検出された回数である。検出回数Nは、工具情報テーブル59毎に夫々独立して計数され、対応する工具3が主軸9に装着される毎に1加算される。
【0056】
インデックスNo.4には、工具3のN回目の装着動作において、特定角度φから検出される検出位置が対応付けられる。
【0057】
インデックスNo.5には、N-1回目の装着動作における検出位置が対応付けられる。インデックスNo.6には、N-2回目の装着動作における検出位置が対応付けられる。インデックスNo.7には、N-3回目の装着動作における検出位置が対応付けられる。検出回数Nが3以下であり、N-1、N-2、N-3の値が零以下になる場合、インデックスNo.5、No.6、No.7には、検出位置が対応付けられていないことを示す「Null」が代わりに対応付けられる。
【0058】
インデックスNo.8には、基準値が対応付けられる。基準値は、N-1回目の装着動作における検出位置、N-2回目の装着動作における検出位置、及びN-3回目の装着動作における検出位置の平均値(mm)であり、検出位置の基準となる値である。インデックスNo.5、No.6、No.7の何れかに「Null」が対応付けられ、基準値を算出できない場合、インデックスNo.8には、「Null」が対応付けられる。
【0059】
インデックスNo.9には、後述する基準値取得状況が対応付けられる。インデックスNo.10には、検出値が対応付けられる。検出値は、N回目の検出位置から、基準値を差し引いた差分である。インデックスNo.11には、判定結果が対応付けられる。詳細は後述するが、判定結果は、検出値に基づき、装着動作における工具3の装着状態を判定した結果である。
【0060】
作業者は、一の工具3に関する情報を確認する場合、入力部37に表示指令を入力する。表示指令には、工具番号を指定する指令が含まれる。入力部37は、入力された表示指令を受け付け、CPU31に入力する。CPU31は、表示指令が入力された場合、工具番号に対応する工具情報テーブル59を記憶装置34から取得し、取得した工具情報テーブル59の情報を表示部38に表示する。
【0061】
図7~
図10を参照し、工具情報テーブル59の更新について説明する。
図7~
図10では、説明を簡略化するため、工具情報テーブル59の概念図の一部(インデックスNo.4~No.7、No.11)を示す。
【0062】
図7(A)に示すように、一の工具3において検出回数Nが1回目であって、装着動作が行われる前、工具情報テーブル59のインデックスNo.4~No.7、No.11には、「Null」が対応付けられる。
【0063】
主軸9に対して一の工具3を装着する装着動作が行われた場合、制御装置30のCPU31は、検出位置を検出する。
図7(B)に示すように、CPU31は、工具情報テーブル59の検出位置を更新する。より詳細に、CPU31は、インデックスNo.6の値(Null)をインデックスNo.7に格納し、インデックスNo.5の値(Null)をインデックスNo.6に格納し、インデックスNo.4の値(Null)をインデックスNo.5に格納し、1回目の装着動作における検出位置(31mm)をインデックスNo.4に格納する。インデックスNo.11の値は保持される。
【0064】
図7(C)に示すように、記憶装置34には、次回(N=2回目)の装着動作が行われるまで、工具情報テーブル59に格納されたデータが保持される。
図7(D)~
図7(F)に示すように、インデックスNo.4~No.7の値は、一の工具3が主軸9に装着される度、更新される。
【0065】
図8(A)に示すように、検出回数NがM回目(Mは4以上の整数)である場合、インデックスNo.4~No.7の夫々には、検出位置が対応付けられている。この場合、CPU31は、装着動作が行われた後、主軸9に対して装着された工具3の装着状態を判定する。工具3により被削材を加工でき、且つ切削精度に影響が出ない態様の装着状態を、完全装着状態と称す。
【0066】
図8(B)に示すように、CPU31は、M回目の装着動作が行われた後、工具情報テーブル59の検出位置を更新する。CPU31は、工具情報テーブル59のインデックスNo.5~No.7の値の平均値を算出することで基準値を決定し、インデックスNo.8に格納する。CPU31は、インデックスNo.4の検出位置(M回目の装着動作における検出位置)から基準値を減算することで検出値を決定する。
【0067】
CPU31は、検出値の絶対値と、所定の閾値とを比較することで、装着状態を判定する。より詳細に、CPU31は、検出値の絶対値が閾値以下である場合、完全装着状態と判定する。閾値は、ROM32に記憶されている。CPU31は、判定結果が完全装着状態であることをインデックスNo.11に格納する(
図8(C)参照)。M+1回目の装着動作が行われるまで、インデックスNo.11の値は、インデックスNo.4~No.7と同様に保持される(
図8(D)参照)。
【0068】
装着状態の異常には、工具3と主軸9との間に異物(例えば、切削加工で生じる切粉)が付着したまま、主軸9に対して工具3が装着される切粉噛み異常が含まれる。切粉噛み異常である場合、工具3と主軸9との間に異物があるので、主軸9に対する工具3の位置は、完全装着状態である場合と比較して下方になる。故に切粉噛み異常のまま、被削材の加工が行われた場合、切削精度が低下する可能性がある。
【0069】
図8(C)に示すように、完全装着状態である場合、検出位置は約32mmである。上述の通り、主軸9が検出位置に位置するとき、板カム47がカムフォロア49から離隔し、把持部85がプルスタッド17を把持する。
【0070】
一方、切粉噛み異常が発生した場合の主軸9に対するプルスタッド17の位置は、完全装着状態である場合と比較して下方になる。故に装着動作において、板カム47がカムフォロア49から離隔するタイミングが、完全装着状態である場合と比較して早くなる。よって、切粉噛み異常である場合、主軸9のZ軸位置に応じて変動する外乱力F(
図5(A)の破線)及び微分値f(
図5(B)の破線)は、完全装着状態である場合(
図5(A)(B)の実線)と比較して、Z軸位置の正方向にシフトする。
【0071】
図9(B)に示すように、切粉噛み異常である場合の検出位置は、完全装着状態である場合の検出位置と比較して上方にシフトする(約35mm)。CPU31は、M回目の装着動作を行った後、工具情報テーブル59のインデックスNo.4~No.7の値を更新する。CPU31は、工具情報テーブル59のインデックスNo.5~No.7の値から基準値を決定し、インデックスNo.4の検出位置及び基準値から検出値を決定する。
【0072】
CPU31は、検出値に基づき、切粉噛み異常であるか否かを判定する。より詳細に、CPU31は、検出値の絶対値が閾値よりも大きく、且つ検出値が零以上である場合、切粉噛み異常であると判定する。CPU31は、切粉噛み異常であると判定した場合、判定結果が切粉噛み異常であることをインデックスNo.11に格納する(
図9(C)参照)。
【0073】
M+1回目の装着動作が行われるまで、記憶装置34には工具情報テーブル59に格納されたデータが保持される(
図9(D)参照)。M回目の装着動作における装着状態が判定された後から、M+1回目の装着動作が行われるまでの間に、表示指令が入力された場合、CPU31は、表示指令に基づき一の工具3の工具情報テーブル59を表示部38に表示する。
【0074】
図9(E)に示すように、CPU31は、M+1回目の装着動作を行い、工具情報テーブル59のインデックスNo.4~No.7の値を更新する。CPU31は、インデックスNo.4の値(36mm)をインデックスNo.5に格納し、M+1回目の装着動作における検出位置(31mm)をインデックスNo.4に格納する。
【0075】
図9(F)に示すように、CPU31は、判定結果が切粉噛み異常であることがインデックスNo.11に格納されていた場合、装着状態の判定を行う前に、インデックスNo.5~No.11の値を全て削除し、「Null」を対応付ける。M+2回目の装着動作が行われるまで、記憶装置34には工具情報テーブル59に格納されたデータが保持される(
図9(G)参照)。
【0076】
例えば、N=1~3回目である装着動作において、切粉噛み異常における検出位置が含まれる場合がある。又、N=M-3回目~M-1回目の装着動作における判定結果が切粉噛み異常であり、インデックスNo.5~No.11の値が削除され、その後の装着動作において、切粉噛み異常における検出位置が(約35mm)含まれる場合がある。このような場合、
図10(A)に示すようにN=M回目の装着動作が行われる前、インデックスNo.4~No.6の何れかに切粉噛み異常における検出位置が含まれる。インデックスNo.4~No.6に格納された検出位置は、N=M回目の装着動作が行われた後、インデックスNo.5~No.7に格納され、基準値の決定に用いられる。
【0077】
M回目の装着動作が行われた後、切粉噛み異常が解消されてインデックスNo.4には、完全装着状態における検出位置(約32mm)が格納される(
図10(B)参照)。又、インデックスNo.5~No.7には切粉噛み異常における検出位置が格納される。
【0078】
インデックスNo.5~No.7の何れかに切粉噛み異常における検出位置が格納される場合、インデックスNo.5~No.7の全てに完全装着状態における検出位置(約31mm)が含まれる場合(
図8(B)参照)と比較して、基準値が大きくなる。基準値が大きくなると、検出値の大きさが変動する。装着状態が検出値に基づき判定されるので、基準値が大きくなると装着状態が正確に判定されない場合がある。基準値の大きさが正常ではなく、装着状態を正確に判定できない異常を検出異常という。
【0079】
CPU31は、検出値に基づき、検出異常であるか否かを判定する。より詳細に、CPU31は、検出値の絶対値が閾値よりも大きく、且つ検出値が零よりも小さい場合、検出異常であると判定する。CPU31は、検出異常であると判定した場合、判定結果が検出異常であることをインデックスNo.11に格納する(
図10(C)参照)。M+1回目の装着動作が行われるまで、記憶装置34には工具情報テーブル59に格納されたデータが保持される(
図10(D)参照)。
【0080】
図10(E)に示すように、CPU31は、M+1回目の装着動作を行い、工具情報テーブル59のインデックスNo.4~No.7の値を更新する。
【0081】
図10(F)に示すように、CPU31は、インデックスNo.11に判定結果が検出異常であることが格納されていた場合、装着状態の判定を行う前に、インデックスNo.5~No.11の値を全て削除し、「Null」を対応付ける。M+2回目の装着動作が行われるまで、記憶装置34には工具情報テーブル59に格納されたデータが保持される(
図10(G)参照)。
【0082】
図11、
図12を参照し、制御装置30のCPU31が実行する工具交換処理を説明する。工具交換処理において、CPU31は、工具交換装置20による工具3の交換、及び装着状態の判定を行う。CPU31は、NCプログラムから読みだしたブロックが工具交換指令である場合、ROM32に記憶された制御プログラムを読み出し、工具交換処理を実行する。工具交換処理の開始時、主軸9は加工原点に位置する。
【0083】
図11に示すように、CPU31は、Z軸モータ51を正方向に回転し、主軸9の上昇を開始する(S1)。CPU31は、主軸9がATC原点に到達したか否かを判定する(S2)。CPU31は、主軸9がATC原点に到達していないと判定した場合(S2:NO)、処理をS2に戻す。CPU31は、主軸9がATC原点に到達したと判定した場合(S2:YES)、Z軸モータ51の回転を停止して、主軸9の上昇を停止する(S3)。
【0084】
CPU31は、第二工具に対応する工具情報テーブル59に格納された情報を記憶装置34から取得する(S4)。CPU31は、S4で取得した工具情報テーブル59のインデックスNo.3(検出回数N)の値を1加算する(S5)。CPU31は、マガジンモータ55を駆動して工具マガジン21を回転し、第二工具を把持するグリップアーム23を工具交換位置に割り出す(S6)。
【0085】
CPU31は、Z軸モータ51を逆方向に回転し、主軸9の下降を開始する(S7)。これにより、工具3の装着動作が開始される。CPU31は、主軸9のZ軸位置及び外乱力Fの取得を開始する(S8)。CPU31は、S8の処理において、駆動回路61から取得する駆動電流と、エンコーダ71から取得する回転角度θとに基づき、Z軸モータ51のトルクTmを取得する。CPU31は、トルクTmに含まれる外乱力Fを数1に基づき取得する。
【0086】
CPU31は、主軸9のZ軸位置及び外乱力Fを新たに取得したか否かを判定する(S11)。CPU31は、Z軸位置及び外乱力Fを新たに取得していないと判定した場合(S11:NO)、処理をS11に戻す。CPU31は、Z軸位置及び外乱力Fを新たに取得したと判定した場合(S11:YES)、取得したZ軸位置に基づき、主軸9が加工原点に到達したか否かを判定する(S12)。
【0087】
CPU31は、主軸9が加工原点に到達していないと判定した場合(S12:NO)、CPU31は、取得したZ軸位置及び外乱力Fにローパスフィルタによる処理を施す(S13)。CPU31は、外乱力Fを時間微分して微分値fを算出する(S14)。CPU31は、Z軸位置と微分値fとを対応付けてRAM33に記憶する(S15)。RAM33には、Z軸位置及び微分値fが時系列で記憶される。CPU31は、処理をS11に戻す。
【0088】
CPU31は、主軸9が加工原点に到達したと判定した場合(S12:YES)、S8の処理で開始したZ軸モータ51のZ軸位置及び外乱力Fの取得を停止する(S16)。CPU31は、Z軸モータ51の回転を停止し、主軸9の下降を停止する(S17)。
【0089】
CPU31は、RAM33に記憶された微分値fに基づき、検出位置を検出する(S21)。CPU31は、S21の処理において、Z軸位置に応じて変動する微分値fから検出位置を決定する。CPU31は、インデックスNo.4~7の検出位置を更新する(S22)(
図8(B)参照)。CPU31は、処理をS23(
図12参照)に移行する。
【0090】
図12に示すように、CPU31は、S22(
図11参照)で更新された工具情報テーブル59において、インデックスNo.7に検出回数N-3回目の装着動作における検出位置が格納されているか否かを判定する(S23)。検出回数Nが1~3回目である場合、又は工具3のN-3回目~N-1回目の装着動作における装着状態の判定結果が異常(切粉噛み異常又は検出異常)と判定され、インデックスNo.7の値が削除された場合、インデックスNo.7には「Null」が対応付けられている。CPU31は、インデックスNo.7に検出位置が格納されていないと判定した場合(S23:NO)、処理をS36に移行する。
【0091】
CPU31は、インデックスNo.7に検出位置が格納されていると判定した場合(S23:YES)、工具3のN-1回目の装着動作における装着状態の判定結果が異常(切粉噛み異常又は検出異常)であるか否かを判定する(S24)。CPU31は、S24の処理において、インデックスNo.11の判定結果に基づき判定する。CPU31は、インデックスNo.11の判定結果が切粉噛み異常又は検出異常であって、N-1回目の装着動作における装着状態の判定結果が異常である場合(S24:YES)、インデックスNo.5~No.11の値を削除し(S25)、処理をS36に移行する。
【0092】
CPU31は、インデックスNo.11の判定結果が完全装着状態であって、N-1回目の装着動作における装着状態の判定結果が異常でない場合(S24:NO)、インデックスNo.5~No.7の検出位置の平均値を算出することで基準値を決定し、決定した基準値をインデックスNo.8に格納する(S26)。CPU31は、インデックスNo.4の検出位置、及びインデックスNo.8の基準値を取得する(S27)。CPU31は、検出位置から基準値を減算することで検出値を決定し、決定した基準値をインデックスNo.10に格納する(S28)。
【0093】
CPU31は、S28で決定した検出値の絶対値が閾値以下であるか否かを判定する(S31)。CPU31は、検出値の絶対値が閾値以下であると判定した場合(S31:YES)、判定結果が完全装着状態であるとして、処理をS35に移行する。
【0094】
CPU31は、検出値の絶対値が閾値よりも大きいと判定した場合(S31:NO)、検出値が零以上であるか否かを判定する(S32)。CPU31は、検出値が零以上であると判定した場合(S32:YES)、判定結果が切粉噛み異常であるとして、切粉噛み異常報知を行う(S33)。CPU31は、S33の処理において、判定結果が切粉噛み異常であることを表示部38に表示することで報知する。CPU31は、処理をS35に移行する。
【0095】
CPU31は、検出値が零よりも小さいと判定した場合(S32:NO)、判定結果が検出異常であるとして、検出異常報知を行う(S34)。CPU31は、S34の処理において、判定結果が検出異常であることを表示部38に表示することで報知する。CPU31は、処理をS35に移行する。
【0096】
CPU31は、工具3のN回目の装着動作における装着状態の判定結果(完全装着状態、切粉噛み異常、又は検出異常)をインデックスNo.11に格納する(S35)。CPU31は、基準値取得情報をインデックスNo.9に格納する(S36)。基準値取得状況は、N+1回目の装着動作における装着状態の判定において基準値を決定するために必要な検出位置が工具情報テーブル59に格納されているか否かを示す。CPU31は、インデックスNo.4~No.6に検出位置が格納されている場合、N+1回目の装着動作において基準値を決定できることをインデックスNo.9に格納する。CPU31は、インデックスNo.4~No.6の少なくとも一つに検出位置が格納されていない場合、N+1回目の装着動作において基準値を決定できないとして「Null」をインデックスNo.9に対応付ける。CPU31は、工具交換処理を終了する。
【0097】
以上説明したように、制御装置30のCPU31は、外乱力Fの微分値fの変動に基づき検出位置を検出する(S21)。CPU31は、工具情報テーブル59のインデックスNo.4を更新することで、N回目の装着動作における検出位置を記憶装置34に記憶する(S22)。CPU31は、インデックスNo.5~No.7に格納されたN-3回目~N-1回目の装着動作における検出位置に基づき基準値を決定する(S26)。CPU31は、N回目の装着動作における検出位置及び基準値に基づき検出値を決定し、該検出値に基づき装着状態を判定する(S31、S32)。CPU31は、装着状態の判定結果が異常(切粉噛み異常又は検出異常)である場合、N+1回目の装着動作において、N+1回目の装着動作における検出位置を記憶装置34に記憶した後(S22)、インデックスNo.5~No.7に格納されたN-2回目~N回目の装着動作における検出位置を削除する(S25)。
【0098】
このように、制御装置30は、装着状態の判定結果が異常である場合、N-2回目~N回目の装着動作における検出位置が削除されるので、N+1回目以降の装着状態の判定において、装着状態の判定結果が異常である場合の検出位置に基づき装着状態が判定されることを抑制できる。よって、制御装置30は、装着状態を精度よく判定できる。更に、記憶装置34には、N+1回目の装着動作における検出位置を記憶装置34に記憶するまで、N-2回目~N回目の装着動作における検出位置が保持される。作業者は、工具3のN回目の装着動作における装着状態の判定結果が異常と判定されてからN+1回目の装着動作における検出位置が記憶装置34に記憶されるまでの間に表示指令を入力することで、N回目の装着動作が完了した後の工具情報テーブル59のデータ(検出位置、検出値等)を確認できる。よって、作業者は、工作機械1の状態を正確に把握できる。
【0099】
CPU31は、検出値の絶対値が閾値よりも大きい場合(S31:NO)、装着状態が異常であると判定する。制御装置30は、N回目の装着動作における検出位置と基準値とがどれだけずれているかを示す検出値の絶対値の大きさに基づき、装着状態が異常であるか判定する。よって、制御装置30は、装着状態を精度よく判定できる。
【0100】
CPU31は、検出値の絶対値が閾値よりも大きく(S31:NO)、且つ検出値が零以上である(即ち、N回目の装着動作における検出位置が基準値以上である)と判定した場合(S32:YES)、装着状態の異常が切粉噛み異常であると判定する。CPU31は、検出値の絶対値が閾値よりも大きく(S31:NO)、且つ検出値が零よりも小さい(即ち、N回目の装着動作における検出位置が基準値よりも小さい)と判定した場合(S32:NO)、装着状態の異常が検出異常であると判定する。制御装置30は、装着状態の異常が切粉噛み異常及び検出異常の何れであるかを判定するので、異常の種類に合わせた処理を実行できる。
【0101】
CPU31は、装着状態の異常が切粉噛み異常であると判定した場合、切粉噛み異常報知を行う(S33)。CPU31は、装着状態の異常が検出異常であると判定した場合、検出異常報知を行う(S34)。制御装置30は、切粉噛み異常と検出異常とで異なる報知を行う。よって、作業者は、装着状態の異常が切粉噛み異常及び検出異常の何れであるかを把握できる。
【0102】
CPU31は、工具3のN回目の装着動作における装着状態の判定において、N-3回目~N-1回目の装着動作における検出位置に基づき基準値を決定する(S26)。CPU31は、N回目の装着動作における装着状態の判定において異常(切粉噛み異常又は検出異常)と判定した場合、N+1回目の装着動作が行われた後、N-2回目~N回目の検出位置を全て削除する。N+1回目の装着動作における装着状態の判定では、基準値は、N-2回目~N回目の装着動作における検出位置に基づき決定される。N回目の装着動作における装着状態の判定において異常と判定された場合、N+1回目の装着動作における装着状態の判定において基準値の大きさが正常ではなくなり、そのまま装着状態が判定されると、検出異常となる可能性がある。制御装置30は、工具3のN回目の装着動作における装着状態の判定において異常と判定した場合、N+1回目の装着動作における装着状態の判定のための基準値を決定するためのN-2回目~N回目の装着動作における検出位置を全て削除する。よって、制御装置30は、装着状態を精度よく判定できる。
【0103】
CPU31は、N回目の装着動作における装着状態の判定において、N-3回目~N-1回目の装着動作における検出位置の平均値を算出することで、基準値を決定する(S26)。制御装置30は、統計処理として、N-1回目以前に工具情報テーブル59に格納された複数の検出位置の平均値を算出する。よって、制御装置30は、N回目の装着動作において装着状態を精度よく判定できる。
【0104】
CPU31は、Z軸モータ51を逆方向に回転し、主軸9の下降することで、工具3の装着動作を行う(S7)。CPU31は、工具3の装着動作の過程で、Z軸モータ51のトルクTmを取得することで外乱力F及を取得する(S22)。CPU31は、外乱力Fの微分値fの変動に基づき、検出位置を検出する(S21)。工具3は、板カム47がカムフォロア49から離隔するタイミングで把持部85に把持されることで、主軸9に装着される。該タイミングは主軸9のZ軸位置が検出位置となるタイミングであり、制御装置30はトルクTmに含まれる外乱力Fに基づき、検出位置の検出を行う。よって、制御装置30は、装着状態を精度よく判定できる。
【0105】
本発明は上記実施形態から種々変更できる。以下説明する各種変形例は、矛盾が生じない限り夫々組み合わせ可能である。制御装置30は工作機械1に設けられる場合に限らず、工作機械1とは別体に設けられてもよい。例えば制御装置30は、工作機械1に接続した装置(PC、専用機等)でもよい。CPU31の代わりに、例えばマイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)等が、プロセッサとして用いられてもよい。工具交換処理は、複数のプロセッサによって分散処理されてもよい。
【0106】
ROM32、記憶装置34等の非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を留めておくことが可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体(例えば、伝送される信号)を含まなくてもよい。工具交換処理を実行するための制御プログラムは、例えば、図示外のネットワークに接続されたサーバからダウンロードされて(すなわち、伝送信号として送信され)、ROM32又は記憶装置34に記憶されてもよい。この場合、制御プログラムは、サーバに備えられたHDD等の非一時的な記憶媒体に保存されていればよい。
【0107】
工具交換装置20は、タレット式に限らず、例えばアーム式でもよい。Z軸移動機構8の構成は適宜変更してもよい。Z軸移動機構8は、ボールねじ41の代わりに、Z軸モータ51の回転によって主軸9を移動する構成を有してもよい。Z軸移動機構8は、ボールねじ41に代わり、例えばZ軸方向に延びるすべりねじ、Z軸方向に歯が形成されたスプライン軸を有してもよい。この場合も、CPU31は、上記実施形態と同様に装着状態を判定できる。
【0108】
上記実施形態において、CPU31は、エンコーダ71から取得する回転角度θから主軸9のZ軸位置を推定し、Z軸位置に応じて変動する微分値fから検出位置を検出し、検出位置に基づき装着状態を判定した。これに対し、CPU31は、検出位置に代わり主軸9が検出位置に位置する時の回転角度θ(以下、特定角度φと称す。)に基づき装着状態を判定してもよい。この場合、CPU31は、工具情報テーブル59のインデックスNo.4、No.5、No.6、No.7に、N回目の装着動作における特定角度φ、N-1回目の装着動作における特定角度φ、N-2回目の装着動作における特定角度φ、N-3回目の装着動作における特定角度φを夫々格納する。又、基準値は、N-3回目~N-1回目の装着動作における特定角度φに基づき決定される。CPU31は、特定角度φから基準値を差し引いた検出値に基づき、装着状態を判定する。
【0109】
検出位置は工具3が主軸9に装着される過程における主軸9のZ軸位置から決定されればよく、装着動作において最小を示す微分値fに対応するZ軸位置に限定されない。CPU31は、例えば装着動作において最大を示す微分値fに対応するZ軸位置を検出位置として検出してもよい。CPU31は、例えば最小を示す微分値fに対応するZ軸位置から所定距離zだけZ軸方向にずれた位置を検出位置として検出してもよい。CPU31は、例えば最小を示す微分値fに対応するZ軸方向に所定の係数αを乗算した位置を検出位置として検出してもよい。これらの場合も、検出位置は工具3が主軸9に装着される過程における主軸9のZ軸位置であり、CPU31は検出位置に基づき装着状態を判定できる。
【0110】
N回目の装着動作における基準値は、N-1回目以前の装着動作において工具情報テーブル59に格納された検出位置に基づき決定されればよく、基準値の決定方法は適宜変更してもよい。上記実施形態ではN回目の装着動作において、CPU31は、N-3回目~N-1回目の装着動作における検出位置に基づき基準値を決定したが、例えばN-4回目~N-2回目の装着動作における検出位置に基づき基準値を決定してもよい。上記実施形態において、CPU31は、N-1回目以前の装着動作における3つの検出位置(N-3回目~N-1回目の装着動作における検出位置)に基づき基準値を決定した。これに対し、CPU31は、N-1回目以前の装着動作における2つ、又は4つ以上の検出位置に基づき基準値を決定してもよい。又、CPU31は、N-1回目以前の装着動作における1つの検出位置に基づき基準値を決定してもよい。この場合、CPU31は、基準値を決定するための統計処理を省略できる。
【0111】
上記実施形態において、CPU31は、統計処理としてN-1回目以前の装着動作における複数の検出位置(N-3回目~N-1回目の装着動作における検出位置)の平均値を算出することで基準値を決定した。これに対し、CPU31は、例えば統計処理としてN-1回目以前の装着動作における複数の検出位置の中央値を算出することで基準値を決定してもよい。CPU31は、例えば統計処理としてN-1回目以前の装着動作における複数の検出位置のうち最大値又は最小値を基準値として決定してもよい。
【0112】
CPU31は、N回目の装着動作における検出位置及び基準値に基づき装着状態を判定すればよく、装着状態の判定方法は適宜変更してもよい。CPU31は、例えばN回目の装着動作における検出位置から基準値を差し引いた差分に係数βを乗算した結果を検出値として決定し、該検出値に基づき装着状態を判定してもよい。CPU31は、例えばN回目の装着動作における検出位置とN-1回目の装着動作における検出位置との和から、基準値を差し引いた差分を検出値として決定し、該検出値に基づき装着状態を判定してもよい。装着状態を判定するための閾値は所定値でなくてもよく、適宜変更してもよい。CPU31は、例えば複数の検出位置の標準偏差σを算出し、標準偏差σの6倍(6σ)を閾値として装着状態を判定してもよい。
【0113】
装着状態の判定結果が異常であった場合に、インデックスNo.5~No.11に格納された値が削除されたが、削除されるタイミングはN+1回目の装着動作における検出位置がインデックスNo.4に格納されたタイミング(S22)以降であればよく、適宜変更してもよい。CPU31は、例えばN+1回目の装着動作における検出位置がインデックスNo.4に格納され(S22)、更に基準値を決定した後(S26)、インデックスNo.5~No.11に格納された値を削除してもよい。この場合、N+2回目以降の装着動作における装着状態が精度よく判定されるために、インデックスNo.8に格納された基準値が削除されることが好ましい。CPU31は、例えばN+2回目の装着動作における検出位置がインデックスNo.4に格納された後、インデックスNo.5~No.11に格納された値を削除してもよい。
【0114】
N回目の装着動作における装着状態の判定結果が異常であった場合に、N+1回目の装着動作において、インデックスNo.5~No.7に格納された値(N-2回目~N回目の検出位置)が全て削除されたが、削除される範囲は、適宜変更してもよい。CPU31は、例えばインデックスNo.5、No.6に格納された値を削除してもよい。又、CPU31は、例えばインデックスNo.8~No.11に格納された値(基準値、基準値取得状況、検出値、判定結果)の少なくとも一つを削除しなくてもよい。
【0115】
CPU31は、装着状態の判定結果が異常である場合に(S31:NO)、異常が切粉噛み異常又は検出異常の何れであるかを判定しなくてもよい。この場合、工具交換処理において、S32の処理が省略されてもよい。又、S33、S34の処理に代わり、装着状態の判定結果が異常である旨の報知が行われてもよい。
【0116】
CPU31は、装着状態の判定結果が異常である場合に(S31:NO)、異常が切粉噛み異常及び検出異常以外の異常(例えば、工具3の劣化等)であるか否かを判定してもよい。
【0117】
CPU31は、S32の処理において、検出値が零よりも大きい場合に装着状態の異常が切粉噛み異常であると判定してもよい。この場合、CPU31は、検出値が零以下である場合に装着状態の異常が検出異常であると判定する。
【0118】
CPU31は、装着状態の異常が切粉噛み異常であると判定した場合に、切粉噛み異常報知を行わなくてもよい。この場合、工具交換処理において、S33の処理が省略されてもよい。CPU31は、装着状態の異常が検出異常であると判定した場合に、検出異常報知を行わなくてもよい。この場合、工具交換処理において、S34の処理が省略されてもよい。
【0119】
切粉噛み異常報知(S33)、検出異常報知(S34)の態様は、表示部38による表示に限らず適宜変更してもよい。例えば、切粉噛み異常報知、検出異常報知は、例えばスピーカ(非図示)が発する音声、ランプによる発光により報知されてもよい。
【0120】
上記実施形態において、CPU31は、外乱力Fを取得し、外乱力Fの微分値fに基づき、検出位置を検出した。これに対し、CPU31は、例えば、取得したトルクTmに基づき検出位置を検出してもよい。この場合、CPU31は、Z軸位置に応じて変動するトルクTmのうち、最大又は最小の何れか一方を示すトルクTmに対応する主軸9のZ軸位置を検出位置として検出してもよい。CPU31は、トルクTmを時間微分し、トルクTmの微分値のうち、最大又は最小を示すトルクTmの微分値に対応する主軸9のZ軸位置を検出位置として検出してもよい。この場合も、CPU31は、トルクTmの変動に基づき、装着状態を判定できる。
【0121】
CPU31は、変動する微分値fのうち、最大を示す微分値fに対応する主軸9のZ軸位置を検出位置として検出してもよい。この場合も、CPU31は、微分値fの変動に基づき、装着状態を判定できる。
【0122】
CPU31は、例えば外乱力Fを微分せず、主軸9のZ軸位置に応じて変動する外乱力Fに基づき検出位置を検出してもよい。この場合、CPU31は、変動する外乱力Fのうち、最大又は最小の何れか一方を示す外乱力Fに対応するZ軸位置を検出位置として検出してもよい。この場合も、CPU31は、外乱力Fの変動に基づき、装着状態を判定できる。
【0123】
CPU31は、外乱力F(トルクTm)を二乗した値に基づき検出位置を決定してもよい。CPU31は、外乱力F(トルクTm)を二階微分した値に基づき検出位置を決定してもよい。CPU31は、所定時間内の外乱力F(トルクTm)を平均した値に基づき検出位置を決定してもよい。
【0124】
CPU31は、N+1回目の装着動作において、N回目の装着操作における装着状態の判定結果が異常であるか否かをインデックスNo.11に格納された判定結果に基づき判定した(S24)。これに対し、CPU31は、N回目の装着動作における装着状態の判定結果が異常であるか否かをインデックスNo.9に格納された基準値取得状況に基づき判定してもよい。基準値取得状況は、N+1回目の装着動作における装着状態の判定において基準値を決定するために必要な検出位置が工具情報テーブル59に格納されているか否かを示す。インデックスNo.7に検出位置が格納されており、且つN回目の装着動作における装着状態の判定結果が異常である場合、インデックスNo.5~No.7の値が削除されるので、インデックスNo.9の基準値取得状況には「Null」が対応付けられる。よって、CPU31は、インデックスNo.9の基準値取得状況に基づき装着状態の判定結果が異常であるか否かを判定できる。なお、CPU31は、インデックスNo.7に検出位置が格納されていない場合、N回目の装着動作における装着状態の判定結果が異常であるか否かを、基準値取得状況に基づき判定しない。
【0125】
CPU31は、S8で取得したZ軸位置及び外乱力Fを補間(オーバーサンプリング)する補間Z軸位置及び補間外乱力を生成してもよい。この場合、CPU31は、補間外乱力を時間微分した微分値に基づき検出位置を検討することで、検出位置を、工具3が主軸9に装着されるタイミングにおけるZ軸位置に対してより近似させることができる。
【0126】
CPU31は、外乱力Fの取得方法を適宜変形してもよい。CPU31は、例えばトルクTmと慣性力(数1の右辺第二項)の差分を外乱力Fとして取得してもよい。
【0127】
CPU31は、Z軸位置及び外乱力Fにローパスフィルタによる処理を施さなくてもよい。この場合、S13の処理を省略してもよい。CPU31は、Z軸位置及び外乱力Fにハイパスフィルタ、バンドパスフィルタ、バンドストップフィルタ等の各種フィルタによる処理を施してもよい。
【0128】
制御装置30は、本発明の「数値制御装置」の一例である。Z軸モータ51は、本発明の「モータ」の一例である。検出位置は、本発明の「位置」の一例である。S21の処理を実行するCPU31は、本発明の「検出部」の一例である。S22の処理を実行するCPU31は、本発明の「記憶部」の一例である。基準値は、本発明の「基準位置」の一例である。S26の処理を実行するCPU31は、本発明の「決定部」の一例である。S31、S32の処理を実行するCPU31は、本発明の「判定部」の一例である。S25の処理を実行するCPU31は、本発明の「削除部」の一例である。切粉噛み異常は、本発明の「第一異常」の一例である。検出異常は、本発明の「第二異常」の一例である。S33、S34の処理を実行するCPU31は、本発明の「報知部」の一例である。平均値は、本発明の「統計値」の一例である。S7の処理を実行するCPU31は、本発明の「装着部」の一例である。S8の処理を実行するCPU31は、本発明の「取得部」の一例である。S21の処理は、本発明の「検出工程」の一例である。S22の処理は、本発明の「記憶工程」の一例である。S26の処理は、本発明の「決定工程」の一例である。S31、S32の処理は、本発明の「判定工程」の一例である。S25の処理は、本発明の「削除工程」の一例である。
【符号の説明】
【0129】
1 工作機械
3 工具
9 主軸
20 工具交換装置
30 制御装置
31 CPU
34 記憶装置
51 Z軸モータ
59 工具情報テーブル