以下、本発明の一実施形態である数値制御装置50について図面を参照して説明する。図1は、マシニングセンタ1の正面図であり、図2は、機械本体3の斜視図であり、図3は、主軸ヘッド7周囲の正面図であり、図4は、工具交換アーム22周囲を下側から見た図であり、図5は、数値制御装置50の電気的構成を示すブロック図であり、図6は、ROM52の記憶エリアを示す概念図であり、図7は、RAM53の記憶エリアを示す概念図であり、図8は、工具情報テーブル100の概念図であり、図9は、プローブ90の斜視図であり、図10は、CRT82に表示された加工プログラムを示した図であり、図11は、CPU51による制御動作を示すフローチャートである。
なお、本実施形態である数値制御装置50は、工作機械であるマシニングセンタ1(図1参照)に設けられるものであって、RAM53に記憶された加工プログラムを実行することによって、マシニングセンタ1によるワークの加工動作を制御するものである。
はじめに、マシニングセンタ1の概略構成について説明する。図1に示すマシニングセンタ1は、図示外のワークと工具とを相対移動させることによって、ワークに所望の機械加工(例えば、「中ぐり」、「フライス削り」、「穴空け」、「切削」等)を施すことができる工作機械である。このマシニングセンタ1は、基台となる鉄製のベース2と、該ベース2の上部に設けられ、ワークの切削加工を行う機械本体3と、前記ベース2の上部に固定され、機械本体3及びベース2の上部を覆う箱状のスプラッシュカバー4とを主体に構成されている。
まず、ベース2について説明する。図1,図2に示すように、ベース2はY軸方向に長い略直方体状に形成され、鋳型内に鋳鉄等の金属材料を流し込むことによって成型されている。さらにその芯部は、軽量化、高強度化及び低コスト化のため、所謂肉抜き成形(リブによる骨組構造)されている。そして、ベース2の下部の四隅には高さ調節が可能な脚部2aが各々設けられ、これら4本の脚部2aが工場等の床面に設置されることにより、マシニングセンタ1が所定場所に設置される。
次に、スプラッシュカバー4について説明する。図1に示すように、スプラッシュカバー4は略直方体状のボックス型に形成され、その内側には機械本体3(図2参照)の加工領域が設けられている。そして、スプラッシュカバー4の前面には開口部(図示外)が設けられ、該開口部には一対のスライド式の開閉扉5,6が設けられている。この開閉扉5,6の略中央には、矩形状のガラス窓部5a,6aが各々設けられ、開閉扉5の右端部には取っ手部5bが設けられ、開閉扉6の左端部には取っ手部6bが設けられている。よって、これら取っ手部5b,6bを互いに離れる方向に開くことにより開口部が開口され、オペレータ(作業者)はベース2の上部に固定されたテーブル10(図2参照)に対してワークの着脱を行うことができる。
また、正面開口部の右側には、マシニングセンタ1を操作する正面視長方形状の操作パネル80が設けられている。この操作パネル80には、テンキー、各種操作キーを備えたキーボード81が設けられ、その上部には設定画面又は実行動作を表示するためのCRT(ディスプレイ)82が設けられている。よって、オペレータは、この操作パネル80のCRT82を確認しながらキーボード81を操作することによって、ワーク加工を実行するための加工プログラムや、使用される工具26の種類、工具情報、各種パラメータ等を各々設定することができる。なお、操作パネル80が「入力手段」に相当する。
次に、機械本体3について説明する。図2に示すように、機械本体3は、ベース2の上部後方に配置されたコラム座部23の上面に固定され、垂直上方に延設された直方体状のコラム16と、該コラム16の前面に沿って昇降可能に設けられた主軸ヘッド7と、該主軸ヘッド7の下部から鉛直下方に延設された主軸9と、主軸ヘッド7の右側に設けられ、主軸9の先端に工具26の工具ホルダ60(図3参照)を取り付けて交換する工具交換装置(ATC)20と、ベース2の上部に設けられ、ワークを着脱可能に固定するテーブル10とを主体に構成されている。そして、コラム16の背面側には、箱状の制御ボックス19が設けられ、該制御ボックス19の内側には、マシニングセンタ1の動作を制御する数値制御装置50が設けられている。なお、数値制御装置50の電気的構成については後述する。
次に、テーブル10の移動機構について説明する。図2に示すように、テーブル10は、サーボモータからなるX軸モータ71(図5参照)及びY軸モータ72(図5参照)により、X軸方向(機械本体3の左右方向)及びY軸方向(機械本体3の奥行き方向)に移動制御される。この移動機構は以下の構成からなる。まず、テーブル10の下側には直方体状の支持台12が設けられている。さらに、その支持台12の上面にはX軸方向に沿って延設された一対のX軸送りガイド(図示外)が設けられ、該一対のX軸送りガイド上にテーブル10が移動可能に支持されている。そして、支持台12は、ベース2の上部に設けられ、該ベース2の長手方向に沿って延設された一対のY軸送りガイド上に移動可能に支持されている。このような機構によって、テーブル10は、ベース2上に設けられたX軸モータ71が駆動すると、X軸送りガイドに沿ってX軸方向に移動し、同じくベース2上に設けられたY軸モータ72が駆動すると、Y軸送りガイドに沿ってY軸方向に移動できる。
そして、X軸モータ71には、該X軸モータ71を駆動させるX軸駆動回路61(図5参照)が接続され、該X軸駆動回路61は、後述する数値制御装置50の出力インタフェイス55(図5参照)に接続されている。一方、Y軸モータ72には、該Y軸モータ72を駆動させるY軸駆動回路62が接続され、該Y軸駆動回路62は、後述する数値制御装置50の出力インタフェイス55に接続されている。よって、後述する数値制御装置50のCPU51(図5参照)の制御信号にしたがって、X軸駆動回路61及びY軸駆動回路62がX軸モータ71及びY軸モータ72を各々駆動させることによって、テーブル10を所望の場所に移動させることができる。
ところで、X軸送りガイドには、テレスコピック式に収縮するテレスコピックカバー13,14がテーブル10を中央に挟んで左右両側に各々設けられている。一方、Y軸送りガイドには、テレスコピックカバー15とY軸後ろカバー(図示外)とが、支持台12を中央に挟んで前後に各々設けられている。Y軸後ろカバーは一枚の板金からなる断面山型に形成され、コラム16の下側に設けられたカバー収納穴(図示外)に収容される。これら複数のカバーによって、テーブル10がX軸方向及びY軸方向の何れの方向に移動した場合でも、X軸送りガイド及びY軸送りガイドは、常にテレスコピックカバー13,14,15及びY軸後ろカバー(図示外)によって覆われている。つまり、加工領域から飛散する切粉や、クーラント液の飛沫等が各レール上に落下するのを防止できる。
次に、主軸ヘッド7の昇降機構について説明する。図2,図3に示すように、主軸ヘッド7は、コラム16の前面側の上下方向に延設されたガイドレール(図示外)に対してリニアガイド(図示外)を介して昇降自在に支持されている。さらに、昇降自在に支持された主軸ヘッド7は、コラム16の前面側の上下方向に延設された送りネジ(図示外)に対してナット(図示外)で連結されている。そして、その送りネジがZ軸モータ73(図5参照)の駆動によって正逆方向に回転することで、主軸ヘッド7が上下方向に昇降移動することができる。また、Z軸モータ73には、該Z軸モータ73を駆動させるZ軸駆動回路63が接続され、該Z軸駆動回路63は、後述する数値制御装置50の出力インタフェイス55に接続されている。よって、後述する数値制御装置50のCPU51の制御信号に基づいて、Z軸駆動回路63がZ軸モータ73を駆動させることによって、主軸ヘッド7が昇降移動するようになっている。
なお、主軸ヘッド7下部のコラム16側の部分には、コラム16の前面側に設けられた主軸ヘッド7の昇降機構を覆い隠すための正面視縦長長方形状のZ軸カバー18が連結されている。これにより、Z軸カバー18は、コラム16の前面を覆い隠しながら主軸ヘッド7と一体的に昇降することができる。
次に、主軸9について説明する。図3に示す主軸9は、上下方向に長い円筒状に形成され、その内側にはスピンドル(図示外)が回転自在に設けられている。このスピンドルは、主軸ヘッド7の上部に設けられた主軸モータ8の駆動によって回転駆動される。さらに、その主軸9の軸線方向先端側(下端側)の内周面には、スピンドルを回転自在に支持するベアリング軸受けが設けられている。また、スピンドルには、該スピンドルの軸線に沿って形成され、先端に向かって拡径するホルダ取付穴29が設けられている。このホルダ取付穴29は、後述する工具ホルダ60のシャンク部60aのテーパ状の外周面を密着させて嵌めるためにテーパ状の内周面を備えている。そして、そのホルダ取付穴29の縮径する上部には、ホルダ取付穴29の内周面に連続するとともに、径がやや広くなった広径部が設けられ、該広径部の上部には、複数の鋼球を介して後述する工具ホルダ60の首部60bを把持するチャック機構部が設けられている。
さらに、図4に示すように、主軸9の先端には、工具ホルダ60の上部に向かってクーラント液を噴射し、該上部に付着する切粉を洗い流すためのリング状の洗浄ノズル32が設けられている。この洗浄ノズル32は、ポンプ78(図5参照)にホースを介して接続され、該ポンプ78は、ベース2の後端部に設けられたクーラント液供給口17(図2参照)にホースを介して接続されている。これにより、ポンプ78が運転すると、クーラント液供給口17から供給されるクーラント液がホースを介すことによって洗浄ノズル32から工具ホルダ60の上部に向かって噴射されるようになっている。
また、ポンプ78には、該ポンプ78を運転させるポンプ制御回路68(図5参照)が接続され、該ポンプ制御回路68は、後述する数値制御装置50の出力インタフェイス55に接続されている。よって、後述する数値制御装置50のCPU51の制御信号にしたがって、ポンプ制御回路68がポンプ78を運転させることによって、所望のタイミングで工具ホルダ60の上部にクーラント液を噴射することができる。また、この様な工具洗浄動作は、工具交換装置20による工具交換の際に実行される。そして、本実施形態では、精密機器であるプローブ90を主軸9に取り付ける場合だけは、クーラント液による工具洗浄を行わずに工具交換が行われるように、ポンプ78の運転を数値制御装置50によって制御している。なお、この数値制御装置50による工具洗浄方法については後述する。また、洗浄ノズル32、ポンプ78、ポンプ制御回路68が「工具洗浄手段」に相当する。
一方、主軸9の近傍には、テーブル10上のワークの切削箇所に向かってクーラント液を噴射する一対の噴射ノズル11(図2参照)が設けられている。この噴射ノズル11は、主軸ヘッド7近傍に設けられたポンプ76(図5参照)にホースを介して接続され、該ポンプ76も、ベース2の後端部に設けられたクーラント液供給口17にホースを介して接続されている。これにより、ポンプ76が運転すると、クーラント液供給口17から供給されるクーラント液がホースを介すことによって一対の噴射ノズル11からテーブル10上のワークの切削箇所に向かって噴射され、該切削箇所に堆積する切粉を洗い流すことができる。
次に、工具ホルダ60について説明する。図3に示すように、工具ホルダ60は、工具交換装置20により搬送され、主軸9のスピンドルに形成されたホルダ取付穴29(図4参照)に挿脱されるものである。この工具ホルダ60は、ホルダ取付穴29のテーパ状の内周面に密接して嵌まるためのテーパ状(円錐台形状)のシャンク部60aと、シャンク部60aの底面にフランジ状に形成された略円柱状のフランジ部(図示外)と、該フランジ部の下面の中心部から下方に突出され、その先端部に工具26を支持する工具支持部(図示外)とを備える。また、シャンク部60aの縮径する上部に設けられた首部60bと、該首部60bの先端に設けられた球形状の頭部60cとを主体に構成されている。そして、この工具ホルダ60の首部60b及び頭部60cが、主軸9のホルダ取付穴29に設けられたチャック機構によってチャッキング(把持)されるようになっている。
次に、工具交換装置20について説明する。図3,図4に示すように、工具交換装置20は、工具26を支持する工具ホルダ60を複数格納する側面視小判型の工具マガジン21と、主軸9に取り付けられた工具ホルダ60と他の工具ホルダ60とを把持して搬送するための工具交換アーム22とを備えている。工具交換アーム22は、主軸9の軸線方向に対して平行に延設された円筒状のアーム旋回軸22cと、該アーム旋回軸22cの先端部(下端部)に連結されるとともに、水平方向に延設されたアーム部22bと、該アーム部22bの長手方向両端部に各々設けられ、工具ホルダ60を把持する把持部22a,22aとを主体に構成されている。そして、アーム旋回軸22cは、工具交換装置20の装置本体に回転可能、かつ昇降可能に支持されている。これにより、工具交換アーム22はZ軸方向に昇降されて、アーム旋回軸22cを中心に回転することができる。
ここで、工具マガジン21について説明する。図2,図3に示す工具マガジン21の内側には、工具ホルダ60を支持する複数の工具ポット(図示外)と、該工具ポットを工具マガジン21内で搬送する搬送機構とが設けられている。この搬送機構は、図示しないが、工具マガジン21の内側に回転可能に配設された一対のスプロケットと、該スプロケットの間に掛け渡された無端状のチェーンと、該チェーンの外周側に固着されたブラケット等を備えている。そして、複数の工具ポットはそれぞれブラケットに取り付けられ、一方のスプロケットが回転駆動された際に、チェーンとともに循環する経路を搬送されるようになっている。そして、この工具マガジン21内において、工具ホルダ60に取り付けられた工具26は、工具ポットに支持された状態では横方向(水平方向)に向けられた状態(以下、格納状態という)で保持されている。
また、工具マガジン21の下端側には、工具交換位置となる割出口が形成されている。この割出口には、格納状態である工具ポットを水平から下方に向かって90°まで回動させて工具交換可能状態にするポット上昇機構が設けられている。したがって、工具マガジン21に格納された工具26は、現在の格納位置から工具交換位置の割出口まで搬送され、水平に保持された格納状態から回動されて工具交換可能状態に移行される。さらに、工具マガジン21には、これら工具ポットを個々に識別する識別センサ(図示外)が設けられている。この識別センサは、工具マガジン21の割出口に何れの工具ポットが搬送されたかを検出するものである。そして、その識別センサによって搬送されたことが検出されると、搬送機構によって搬送されている所定の工具26が割出口に位置決めされるようになっている。
次に、工具交換装置20による工具交換動作について説明する。図3,図4に示すように、工具交換アーム22が上昇して原点に位置している状態において、まず、工具交換アーム22が旋回する。次いで、工具マガジン21側の工具ホルダ60と、主軸9に取り付けられている工具ホルダ60とが把持部22a,22aにそれぞれ把持される。さらに、工具交換アーム22が下降することによって、工具抜脱動作が行われる。そして、工具交換アーム22が再度旋回することによって、主軸9側の工具ホルダ60と、工具マガジン21側の工具ホルダ60とが入れ替わる。なお、このとき工具交換アーム22は180度回転することになる。その後、工具交換アーム22が上昇し、工具交換アーム22に把持された一対の工具ホルダ60の一方は、工具マガジン21側の工具ポット(図示外)に装着され、他方は主軸9に取り付けられる。さらに、把持部22a,22aから工具ホルダ60がそれぞれ開放された後、工具交換アーム22が所定角度旋回し、工具交換アーム22のアーム旋回動作の1サイクルが終了する。こうして、工具交換装置20による工具交換動作が終了する。
なお、後述するが、工具交換装置20による工具交換が行われる際は、主軸9の洗浄ノズル32からクーラント液が工具ホルダ60の上部(シャンク部60a、首部60b,頭部60c)に噴射されて工具洗浄が行われる。これは、主軸9に取り付けられる工具ホルダ60のシャンク部60a、首部60b、頭部60cに切粉が付着した状態で工具交換されるのを防止するためである。そして、数値制御装置50では、工具交換装置20による工具交換が行われる際に、クーラント液で洗浄できる通常の切削用の工具26に交換する際には、工具洗浄をしながら工具交換を行い、クーラント液で洗浄できないプローブ90に交換する際には、工具洗浄を行わないで工具交換を行うようにマシニングセンタ1の制御を行う。
次に、数値制御装置50の電気的構成について説明する。図5に示すように、数値制御装置50は、CPU51,ROM52及びRAM53からなるマイクロコンピュータと、入力インタフェイス54,出力インタフェイス55を基本に構成されている。そして、入力インタフェイス54には、操作パネル80のキーボード81と、主軸9に設けられ、主軸9のZ軸における原点(以下、Z軸原点という。)を検知するZ軸原点センサ77とが電気的に各々接続されている。一方、出力インタフェイス55には、X軸モータ71を駆動させるX軸駆動回路61と、Y軸モータ72を駆動させるY軸駆動回路62と、Z軸モータ73を駆動させるZ軸駆動回路63と、主軸モータ8を駆動させる主軸駆動回路64と、操作パネル80のCRT82を駆動させるためのCRT駆動回路65と、噴射ノズル11にクーラント液を供給するポンプ76を運転させるためのポンプ制御回路66と、洗浄ノズル32にクーラント液を供給するポンプ78を運転させるためのポンプ制御回路68とが各々電気的に接続されている。
次に、ROM52の記憶エリアについて説明する。図6に示すように、ROM52には、マシニングセンタ1のメインの制御プログラムを記憶する制御プログラム記憶エリア521と、工具交換装置20による工具交換動作の工具交換プログラムを記憶する工具交換プログラム記憶エリア522と等が設けられている。
次に、RAM53の記憶エリアについて説明する。図7に示すように、RAM53には、加工プログラムを記憶する加工プログラム記憶エリア531と、工具マガジン21内の各工具ポットのポット番号、及び各工具ポットに配置されている工具26及びプローブ90の工具番号とを対応させた工具番号・ポット番号テーブルを記憶する工具番号・ポット番号テーブル記憶エリア532と、工具マガジン21に収納された工具26及びプローブ90の各工具番号と、当該工具26及びプローブ90に関する情報(工具の種類、工具長、工具径、工具寿命)とを対応させた工具情報テーブル100を記憶する工具情報テーブル記憶エリア533と等が設けられている。
次に、工具情報テーブル100について説明する。図8に示すように、工具情報テーブル100には、工具26の工具番号に対して、工具種類102と、工具長103と、工具径104と、工具寿命105とがそれぞれ記憶されている。そして、この工具情報テーブル100の情報内容は、操作パネル80のキーボード81を操作することによって、オペレータが任意に設定・追加・編集・削除することができる。例えば、工具番号1の工具種類102に「ドリル」を設定した場合、工具長103に「150mm」、工具径104に「5mm」、工具寿命105に「100分」が設定される。また、工具番号3の工具種類102に「プローブ」を設定した場合、工具長103に「200mm」、工具径104に「10mm」、工具寿命105に「−」が設定される。
次に、加工プログラムについて説明する。図10に示すように、数値制御装置50は、操作パネル80のCRT82に表示された加工プログラムに基づいて、機械本体3の動作を制御することによって、ワークを所望の形状に加工することができる。この加工プログラムはNC言語によってプログラミングされたNCプログラムである。このNCプログラムは複数のブロックの配列から構成されている。さらに各ブロックには、ある特定の1つの動作(移動、停止、主軸回転等)が実行されるのに必要な情報が含まれ、ブロック単位で完全な制御コマンドを構成している。よって、それらブロックの制御コマンドに基づいて、機械本体3にある特定の動作を行わせことができる。そして、マシニングセンタ1のNCプログラムを、機械の動作モード(各種位置決定、移動等)を決定するGコードと、動作以外の補助的な機能を指令するMコードとを主体に構成している。
次に、主要なGコード及びMコードについて説明する。「G00」は位置決めを指示する指令コード、「G43」は工具長補正を指示するコード、「G81」はドリルサイクルを指示する指令コード、「G77」はタップサイクルを指示する指令コード、「G31」はスキップ移動を指示する指令コードである。一方、「M6」は工具交換を指示する指令コード、「M8」は噴射ノズル11からのクーラント液の噴射を指示する指令コード、「M9」は噴射ノズル11からのクーラント液の噴射を停止させる指令コード、「M30」は加工プログラムの終了を指示する指令コードである。なお、工具長補正とは、プログラムした時に想定した工具26の長さと、実際に加工を行う時に使用する工具26の長さとのズレを補正する機能のことをいう。
次に、プローブ90について説明する。図9に示すプローブ90は、無線信号伝達式のタッチ式プローブである。このプローブ90は、略円柱状のプローブ本体91と、該プローブ本体91の軸線方向先端側(図9の下端側)の端面の中心から軸線に沿って延設され、先端部が揺動可能に支持された線状のスタイラス95と、該スタイラス95の先端部に設けられ、ワークの外面形状に沿って接触させるための球形状の接触部96と、プローブ本体91の軸線方向の後端側の端面から軸線方向後方側に向かって縮径され、主軸9のホルダ取付穴29に挿入されて嵌るための円錐状のシャンク部92と、該シャンク部92の後端部から軸線に沿って延設された棒状の首部93と、該首部93の後端部に設けられた球形状の頭部94とから構成されている。そして、プローブ本体91には電池が内蔵されている。
上記構成からなるプローブ90は以下のようにして使用される。まず、プローブ90のシャンク部92を主軸9のホルダ取付穴29(図4参照)に挿入する。さらに、そのホルダ取付穴29の内側に設けられたチャック機構に首部93を差し込んで頭部94をチャッキングさせることによって、プローブ90が主軸9のホルダ取付穴29に取り付けられる。よって、図3に示す工具ホルダ60と同様の方式で取り付けることができる。そして、数値制御装置50による制御によって、プローブ90の接触部96を、テーブル10上に固定された加工済みのワーク(図示外)の外面形状に沿わせて接触させるように主軸9をスキップ移動させる。すると、接触部96はワークの外面に接触することによって、スタイラス95が進行方向とは反対側に付勢されて傾く。そして、このスタイラス95の変位量がプローブ本体91内の検出部に読み取られ、その信号が無線伝達によって数値制御装置50に送信される。こうして、数値制御装置50では、主軸9の移動を制御することによって、加工済みのワーク表面のデータを取得することができる。そして、オペレータはその表面データを評価することによって、マシニングセンタ1による加工精度を評価することができる。
次に、CPU51によるマシニングセンタ1の制御動作及び工具洗浄方法について、図11のフローチャートと、図10に示す加工プログラムを参照して説明する。まず、工具種類が設定される(S11)。ここでは、オペレータが操作パネル80のキーボード81を用いて、工具マガジン21に格納する工具の種類を入力する。なお、工具の種類は様々であるが、例えば、ドリル、タップ、エンドミル等が挙げられる。さらに、各工具の工具長、工具径、工具寿命等の工具情報を併せて入力する。すると、キーボード81で入力された工具種類等は工具情報として、RAM53の工具情報テーブル記憶エリア533の工具情報テーブル100に記憶される。ここで、プローブ90を工具マガジン21に格納する場合も同様に、キーボード81を用いてプローブ90の工具情報を入力する。よって、プローブ90の工具長、工具径が工具情報テーブル100に記憶される。つまり、工具マガジン21では、プローブ90は他の工具26と同様に工具として扱われる。こうして、工具情報が設定される。なお、本実施形態では、図8に示すように、工具情報テーブル100の工具番号1に「ドリル」、工具番号2に「タップ」、工具番号3に「プローブ」、工具番号5に「エンドミル」がそれぞれ設定されたものとする。
次に、加工プログラムが起動される(S12)。ここでは、RAM53の加工プログラム記憶エリア531から加工プログラムが読み込まれる。この加工プログラムは、オペレータが操作パネル80のキーボード81を用いて作成したものであり、加工すべきワークの形状によってそれぞれ作成されるものである。本実施形態では、図10に示す加工プログラムが実行される。
まず、加工プログラムの1行目が読み込まれる(S13)。次いで、その1行目の制御コマンドが「M30」の終了コマンドであるか否かが判断される(S14)。ここで、1行目は「M6T1」であって終了コマンドではないので(S14:NO)、続いて、そのコマンドが工具交換コマンドであるか否かが判断される(S15)。ここで、「M6T1」は工具番号1に工具交換せよとの制御コマンドであるので(S15:YES)、工具交換するために主軸ヘッド7を上昇させて主軸9の位置を上昇させる(S16)。具体的には、Z軸駆動回路63がZ軸モータ73を駆動させることによって、主軸ヘッド7が上昇する。
次に工具交換するのはプローブ90か否かが判断される(S19)。ここで、1行目の制御コマンド「M6T1」では、工具番号1に工具交換せよとの指示であり、工具番号1はドリル(図8参照)である。したがって、次に工具交換するのはプローブ90ではないので(S19:NO)、ポンプ78を運転させて(S20)工具洗浄しながら工具交換が行われる(S21)。
ここでは、ROM52の工具交換プログラム記憶エリア522から工具交換プログラムが読み込まれて実行される。そして、工具26(ドリル)が指定されると、工具マガジン21内では、ドリルの工具番号1に対応するポット番号の工具ポットが検索され、その検索された工具ポットが割出口まで搬送される。さらに、ここでは工具洗浄しながら工具交換を行うので、ポンプ制御回路68によってポンプ78が運転され、主軸9の洗浄ノズル32からクーラント液が噴射される。これにより、工具ホルダ60の上部に付着する切粉等が洗い流されるので、主軸9のホルダ取付穴29のテーパ面にシャンク部60aの外面を密着させることができる。よって、ホルダ取付穴29に工具ホルダ60を確実に取り付けることができるので、主軸9に対する工具26の位置がズレない。さらに、ホルダ取付穴29のテーパ内面を損傷することもないので、主軸9にドリルを確実に取り付けることができる。
なお、工具ポットの工具26(ここではドリル)が交換されたときには、その工具26の工具番号について、RAM53の工具番号・ポット番号データテーブルが書き替えられる(更新記憶される)ようになっている。これにより工具26の所在を判別することができる。さらに、工具番号・ポット番号データテーブルには、主軸9に装着されている工具26の工具番号も記憶され、工具交換ごとにその工具番号が更新記憶されるようになっている。
次に、工具交換が終了すると、ポンプ78が停止される(S22)。そして、次のブロックに移行(S24)し、続いて2行目が読み込まれて処理が繰り返される(S13)。なお、2行目から6行目までの制御コマンドは、工具交換コマンドではないので(S14:NO、S15:NO)、その指令ブロックに指示された内容にしたがって実行される(S18)。なお、2行目の「G00 X0Y0Z50」では、主軸9を(X,Y,Z)を(0,0,50)の座標値に位置決め移動せよとの指令、3行目の「M3 S5000」では、主軸9の回転速度を5000rpm/minにせよとの指令、4行目の「G43 H1 Z3 M8」では、噴射ノズル11からクーラント液を噴射させ、工具番号1(ドリル)の工具長補正を行い、Z3に位置決め移動せよとの指令、5行目の「G81 Z−11 R3 F1000」では、主軸9の送り速度を1000mm/minでドリルサイクルを実行せよとの指令、6行目の「G00 Z50」では、主軸9をZ50に位置決め移動せよとの指令である。こうして、加工プログラムの2行目から6行目までが順次読み込まれ、実行されることによって、ワークに所望の穴を形成することができる。
次に、S13に戻って、加工プログラムの7行目が読み込まれる。そして、7行目の「M6T2」は、工具番号2に工具交換せよとの制御コマンドであるので(S14:NO、S15:YES)、主軸9を上昇させてZ軸を工具交換位置に移動させる(S16)。次に工具交換するのはプローブ90か否かが判断される(S19)。ここで、7行目の制御コマンド「M6T2」では、工具番号2に工具交換せよとの指示であり、工具番号2はタップである(図8参照)。したがって、次に工具交換するのはプローブ90ではないので(S19:NO)、ポンプ78を運転させて(S20)工具洗浄しながら工具交換が行われる(S21)。なお、工具交換及び工具洗浄の動作は上記説明した通りである。
こうして、工具交換が終了し、ポンプ78が停止されると(S22)、次のブロックに移行(S24)し、続いて8行目が読み込まれて処理が繰り返される(S13)。なお、8行目から11行目までの制御コマンドは、工具交換コマンドではないので(S14:NO、S15:NO)、その指令ブロックに指示された内容にしたがって順次実行される(S18)。なお、8行目の「G00 X0Y0Z50」では、主軸9を(X,Y,Z)を(0,0,50)の座標値に位置決め移動せよとの指令、9行目の「G43 H2 Z5」では、工具番号2(タップ)の工具長補正を行い、Z5に位置決め移動せよとの指令、10行目の「G77 Z−10 R5 I1 S6000」では、主軸回転6000rpmで、ピッチ1mmでタップサイクルを実行せよとの指令、10行目の「G00 Z50 M9」では、主軸9をZ50に位置決めして、噴射ノズル11からのクーラント液の噴射を停止せよとの指令である。こうして、加工プログラムの8行目から11行目までが順次読み込まれ、実行されることによって、ワークに形成された穴にタップ加工がなされる。
次に、S13に戻って、加工プログラムの12行目が読み込まれる。そして、12行目の「M6T3」は、工具番号3に工具交換せよとの制御コマンドであるので(S14:NO、S15:YES)、主軸9を上昇させてZ軸を工具交換位置に移動させる(S16)。次に工具交換するのはプローブ90か否かが判断される(S19)。ここで、12行目の制御コマンド「M6T3」では、工具番号3に工具交換せよとの指示であり、工具番号3はプローブ90(図8参照)である。よって、次に工具交換するのはプローブ90であるので(S19:YES)、ポンプ78を運転させないで、工具交換が行われる(S23)。つまり、工具洗浄を行わないで、工具交換が行われる。具体的には、ポンプ制御回路68によってポンプ78が運転されないので、主軸9の洗浄ノズル32からクーラント液は噴射されない。よって、プローブ90にクーラント液が吹き付けられないので、誤信号が出力されるのを防止することができる。
こうして、プローブ90の工具交換が終了すると、次のブロックに移行(S24)し、続いて13行目が読み込まれて処理が繰り返される(S13)。なお、13行目から16行目までの制御コマンドは、工具交換コマンドではないので(S14:NO、S15:NO)、その指令ブロックに指示された内容にしたがって実行される(S18)。なお、13行目の「G00 X10Y10Z50」では、主軸9を(X,Y,Z)を(10,10,50)の座標値に位置決め移動せよとの指令、14行目の「G43 H3 Z10」では、プローブ90の工具長補正を行い、Z10に位置決め移動せよとの指令、15行目の「G31 Z−10 F300」では、主軸9の送り速度を300mm/minでスキップ移動せよとの指令、16行目の「G00 Z50」では、主軸9をZ50に位置決め移動せよとの指令である。こうして、加工プログラムの13行目から16行目までが順次読み込まれ、実行されることによって、プローブ90から無線信号が数値制御装置50に出力され、ワークに形成された穴形状を評価することができる。
次に、S13に戻って、加工プログラムの17行目が読み込まれる。そして、その17行目の制御コマンドが「M30」の終了コマンドであるか否かが判断される(S14)。そして、17行目は「M30」の終了コマンドあるので(S14:YES)、処理が終了する。
なお、図11に示すS13の処理を実行するCPU51が「コマンド読込手段」に相当し、S15の判断処理を実行するCPU51が「工具交換コマンド判断手段」に相当し、S19の判断処理を実行するCPU51が「工具判断手段」に相当し、S20,S22の処理を実行するCPU51が「工具洗浄制御手段」に相当する。また、S13の処理が「コマンド読込工程」に相当し、S14の処理が「工具コマンド判断工程」に相当し、S19の処理が「工具判断工程」に相当し、S20,S22の処理が「工具洗浄工程」に相当する。
以上説明したように、本実施形態である数値制御装置50は、工作機械であるマシニングセンタ1(図1参照)に設けられるものであって、RAM53に記憶された加工プログラムを実行することによって、マシニングセンタ1によるワーク加工動作を制御するものである。そして、工具交換装置20による工具交換の際に、主軸9の先端に設けられた洗浄ノズル32から工具ホルダ60の上部に向かってクーラント液を噴射することによって工具洗浄を行う。さらに、クーラント液で洗浄できない精密機器であるプローブ90を主軸9に取り付ける場合には、洗浄ノズル32からクーラント液を噴射させないようにポンプ78の運転の制御をおこなう。これにより、プローブ90に交換する際は工具洗浄しないことを確実に設定することができる。また、従来のように、加工プログラム上で設定する場合は、Mコードをその都度設定して変更しなければならないため、人為的ミスを誘発する恐れがあったが、本実施形態のように、数値制御装置50の制御プログラム上で設定することによって、前記のような人為的ミスを効果的に防止することができる。
次に、数値制御装置50による工具洗浄動作の変形例について説明する。図12は、工具情報テーブル200の概念図であり、図13は、CPU51による制御動作の変形例を示すフローチャートである。上記実施形態の数値制御装置50では、プローブ90に工具交換する時だけは、工具洗浄を行わないように制御しているが、例えば、プローブ90のみならず、クーラント液で洗浄できない工具を「洗浄不可工具」として設定させてもよい。以下、この変形例について説明する。
まず、工具情報テーブル200について説明する。図12に示す工具情報テーブル200は、RAM53の工具情報テーブル記憶エリア533(図7参照)に記憶されている。この工具情報テーブル200は、上記実施形態の工具情報テーブル100と同様に、工具26の工具番号に対して、工具種類202と、工具長203と、工具径204と、工具寿命205とがそれぞれ記憶されている。さらに、この工具情報テーブル200には、工具26の工具番号に対して、工具交換時の工具洗浄を設定する工具洗浄フラグを記憶する工具洗浄206が設けられている。具体的には、工具洗浄を実行する(オンする)場合は、工具洗浄206に工具洗浄フラグ「1」が記憶され、工具洗浄を実行しない(オフする)場合は工具洗浄フラグ「0」が記憶される。
そして、この工具情報テーブル200の情報内容は、操作パネル80のキーボード81を操作することによって、オペレータが任意に設定・追加・編集・削除することができる。例えば、工具番号1の工具種類202に「ドリル」を設定した場合、工具長203に「150mm」、工具径204に「5mm」、工具寿命205に「100分」、工具洗浄「1」が設定される。また、工具番号3の工具種類202に「プローブ」を設定した場合、工具長203に「200mm」、工具径204に「10mm」、工具寿命205に「−」、工具洗浄206に「0」が設定される。さらに、工具番号4の工具種類202にクーラント液で洗浄できない「工具X」を設定した場合、工具長203に「150mm」、工具径204に「7mm」、工具寿命205に「200分」、工具洗浄206に「0」が設定される。
次に、CPU51による制御動作及び工具洗浄動作の変形例について、図13のフローチャートを参照して説明する。まず、工具種類が設定される(S30)。ここでは、オペレータが操作パネル80のキーボード81を用いて、工具マガジン21に格納する工具の種類を設定する。すると、キーボード81で入力された工具種類等は工具情報として、RAM53の工具情報テーブル記憶エリア533の工具情報テーブル200に記憶される。なお、本実施形態では、図12に示すように、工具情報テーブル200の工具番号1に「ドリル」、工具番号2に「タップ」、工具番号3に「プローブ」、工具番号4に洗浄不可工具である「工具X」、工具番号5に「エンドミル」がそれぞれ設定されたものとする。
次に、工具洗浄フラグが設定される(S31)。ここでは、オペレータが操作パネル80のキーボード81を用いて、工具情報テーブル200に設定された各工具に対して、工具洗浄させながら工具交換を行うか、工具洗浄しないで工具交換を行うかをそれぞれ入力する。そして、キーボード81でなされた入力操作は、RAM53の工具情報テーブル記憶エリア533の工具情報テーブル200に記憶される。なお、本実施形態では、図12に示すように、工具情報テーブル200の工具番号1の「ドリル」の工具洗浄206には「1」が設定され、工具番号2の「タップ」の工具洗浄206には「1」が設定され、工具番号3の「プローブ」の工具洗浄206には「0」が設定され、工具番号4の「工具X」の工具洗浄206には「0」が設定され、工具番号5の「エンドミル」の工具洗浄206には「1」がそれぞれ設定されたものとする。
次に、加工プログラムが起動される(S32)。ここでは、RAM53の加工プログラム記憶エリア531から加工プログラムが読み込まれる。この加工プログラムは、オペレータが操作パネル80のキーボード81を用いて設定したものであり、加工すべきワークの形状によってそれぞれ作成される。そして、加工プログラムの1行目が読み込まれる(S33)。次いで、その1行目の制御コマンドが「M30」の終了コマンドであるか否かが判断される(S34)。ここで、制御コマンドが「M30」である場合は(S34:YES)、加工プログラムを終了する。また、制御コマンドが「M30」でない場合は(S34:NO)、そのコマンドが工具交換コマンドであるか否かが判断される(S35)。そして、制御コマンドが工具交換コマンドでない場合は(S35:NO)、その指令ブロックに指示された内容にしたがって順次実行される(S36)。さらに、その指令ブロックが実行された場合は、次のブロックに移行(S44)して、引き続き制御コマンドが読み込まれる(S33)。
そして、次の指令ブロックの制御コマンドが工具交換コマンドであった場合(S35:YES)、上記実施形態で説明したように、主軸9を工具交換位置へ上昇させる(S37)。次に工具交換するのは洗浄不可工具であるか否かが判断される(S39)。ここで、洗浄不可工具であるか否かの判断は、RAM53の工具情報テーブル200の工具洗浄206に「0」が設定されているか、「1」が設定されているかによって判断される。
ここで、例えば、次に工具交換されるのがタップである場合は、タップは洗浄不可工具ではなく(S39:NO)、工具情報テーブル200の工具洗浄206には「1」が設定されているので、ポンプ78を運転(S40)させて工具洗浄を行いつつ、工具交換が行われる(S41)。そして、工具交換が終了したらポンプ78を停止させ(S42)、次のブロックに移行(S44)して、引き続き制御コマンドが読み込まれる(S33)。
また、次に、工具交換されるのが工具Xである場合は、工具Xは洗浄不可工具であり(S39:YES)、工具情報テーブル200の工具洗浄206には「0」が設定されているので、ポンプ78を運転させないで工具交換が行われる(S43)。この他にも、工具交換されるのがプローブ90である場合は、プローブ90は洗浄不可工具であり(S39:YES)、工具情報テーブル200の工具洗浄206には「0」が設定されているので、ポンプ78を運転させないで工具交換が行われる(S43)。よって、洗浄不可工具である工具Xやプローブ90にクーラント液が吹き付けられるのを防止できる。また、洗浄不可工具を複数設定できるので、クーラント液で洗浄できない工具を複数使用する場合にも対応することができる。
なお、図13に示すS31の処理を実行するCPU51が「洗浄不可工具設定手段」に相当する。
以上説明したように、本実施形態の変形例では、クーラント液で洗浄できない工具を洗浄不可工具として設定し、RAM53の工具情報テーブル記憶エリア533に記憶された工具情報テーブル200に工具洗浄フラグをそれぞれ設定することができる。これにより、洗浄不可工具を複数設定できるので、クーラント液で洗浄できない工具を複数使用する場合にも対応することができる。
なお、本発明の工作機械は上記実施形態に限らず、各種の変形が可能なことはいうまでもない。例えば、上記実施形態では、縦型のマシニングセンタ1を一例として説明したが、横型のマシニングセンタにも適用可能である。
また、本発明の工具交換機構は、工具交換アーム22を用いたものであるが、工具交換アーム22がない、所謂、タレット式の工具交換機構にも利用できる。
また、工洗浄不可工具は、クーラント液の性状(油性、水性等)によってそれぞれ設定できるようにしてもよい。