説明

数値制御装置及び制御方法

【課題】工具が被加工物やジグに干渉しない場合のみ工具を待機位置まで工具交換前に移動できる数値制御装置及び制御方法を提供する。
【解決手段】CPUは加工プログラム中に軸移動指令がある場合、主軸ヘッドの軸移動パラメータを算出しRAMに記憶する(S19)。軸移動パラメータは次工具の送り軸毎の最小座標値と最大座標値である。加工プログラム中に工具交換指令がある場合、工具交換前の軸移動を指示するブロックの軸移動パラメータをRAMから取得する(S15)。工具が被加工物又はジグ装置に干渉する領域を示す干渉パラメータは不揮発性記憶装置に記憶されている。干渉パラメータに基づき、軸移動パラメータが非干渉条件を満たすか否か判断し(S16)、非干渉条件を満たす場合(S16:YES)、工具交換前の軸移動指令にポット加工指令を追加する(S17)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は工作機械を制御する数値制御装置及び制御方法に関する。
【背景技術】
【0002】
数値制御装置は工作機械を制御する。工作機械は工具を加工プログラムに従って交換し、連続的に被加工物の加工を実行する。工作機械は工具交換装置を備える。工具は工具交換装置の工具マガジンに収納してある。工具マガジンは寸法と形状の異なるタップ、ドリル等の各種工具を収納する。工具は工具ポットに支持してある。特許文献1に記載の工作機械は、工具マガジンと工具交換アームを備え、主軸ヘッドと工具マガジンは一体である。工作機械は工具交換アームの旋回動作により、現工具と次工具とを入れ替え交換する。現工具は主軸に現在装着する工具である。次工具は工具マガジン内の割出位置に割り出した次に使用する工具である。
【0003】
工具交換工程は以下の手順である。主軸ヘッドは工具交換位置まで上昇する。工具マガジン内において次工具の工具ポットは準備位置から待機位置まで下降する。待機位置は工具交換可能な位置である。工具交換アームは現工具と次工具を掴んで両工具を引き抜く。工具交換アームは180度旋回する。工具交換アームは交換した次工具を主軸に装着する。工具マガジン内において工具ポットは準備位置まで上昇する。主軸ヘッドと工具マガジンは被加工物に向けて下降する。工具交換時間の短縮は加工時間の短縮になる。例えば工具ポットの下降動作を工具交換前に実行する対策は工具交換時間の短縮になる。本件出願人は加工プログラム中において工具交換前に工具交換指令(M429)を挿入することを検討した。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平3−92235号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の通り、主軸ヘッドと工具マガジンは一体で動く。故に作業者は工具交換前に下降する工具が被加工物やジグに干渉しない位置を予め計算する必要があった。
【0006】
本発明の目的は、工具が被加工物やジグに干渉しない場合のみ工具を待機位置まで工具交換前に移動できる数値制御装置及び制御方法を提供することである。
【課題を解決するための手段】
【0007】
本発明の第1態様に係る数値制御装置は、被加工物に対して近接/離隔可能に設け、工具を装着した主軸を駆動して該被加工物を加工する主軸ヘッドと、前記主軸ヘッドを移動するヘッド制御部と、前記主軸ヘッドに設け、工具を保持する複数のポットを格納し、前記主軸に装着してある現工具と工具交換を行う次工具を保持する前記ポットを工具交換の準備位置まで移動する工具マガジンと、前記準備位置にある前記ポットを工具交換が可能な待機位置に移動するポット駆動機構と、前記ヘッド制御部が前記主軸ヘッドを工具交換位置まで移動した状態で、前記主軸に装着してある前記現工具と、前記待機位置にある前記次工具とを把持して旋回することにより工具交換を行う工具交換アームとを備えた工作機械を制御する数値制御装置であって、複数のブロックで構成した加工プログラムを読み込んで、前記加工プログラム中に工具交換を指示する工具交換指令が有るか否か判断する工具交換指令判断部と、前記工具交換指令判断部が前記加工プログラム中に前記工具交換指令があると判断した場合、前記工具交換指令を含むブロックまでの送り軸が移動する範囲における前記送り軸毎の最小座標値と最大座標値とを取得する座標値取得部と、前記送り軸毎に工具交換時の工具の移動によって工具と被加工物又はジクとが干渉する領域を記憶する記憶手段と、前記記憶手段に記憶した干渉する領域と座標値取得部で取得した座標値とに基づいて工具と被加工物又はジクが干渉するか否か判断する干渉判断部と、前記干渉判断部が干渉しないと判断した場合、前記ヘッド制御部が前記主軸ヘッドを前記工具交換位置に移動する前に、前記準備位置にある前記ポットを前記待機位置に移動するように前記ポット駆動機構を制御するポット移動制御部とを備える。
【0008】
第1態様の数値制御装置では、記憶手段は送り軸毎に工具交換時の工具の移動によって工具と被加工物又はジクとが干渉する領域を記憶する。干渉判断部は、記憶手段に記憶した干渉する領域と座標値取得部で取得した座標値とに基づき、工具と被加工物又はジクが干渉するか否か判断する。ポット移動制御部は、干渉判断部が干渉しないと判断した場合、ヘッド制御部が主軸ヘッドを工具交換位置に移動する前に、準備位置にあるポットを待機位置に移動するようにポット駆動機構を制御する。故に第1態様は工具が被加工物やジグに干渉しない場合のみ次工具を準備位置まで工具交換前に移動できる。工具交換時間は短縮する。加工プログラム中への工具交換指令の挿入は不要である。
【0009】
また第1態様では、前記送り軸が前記工具の長手方向に対して直交する方向に移動する範囲における前記最小座標値及び前記最大座標値は、前記工具交換指令を含むブロックまでの前記主軸ヘッドの移動経路において前記主軸ヘッドの最も小さい座標値及び最も大きい座標値から前記主軸と前記次工具間の距離を差し引いた座標値であってもよい。故に干渉判断部は工具交換前の軸移動において次工具が被加工物又はジクに干渉するか否かを判断できる。
【0010】
また第1態様では、前記送り軸が前記現工具の長手方向に対して平行に移動する範囲における前記最小座標値は、前記工具交換指令を含むブロックまでの前記主軸ヘッドの移動経路において前記主軸ヘッドの最も小さい座標値から前記現工具の工具長から前記次工具の工具長の差分を差し引いた座標値であってもよい。故に干渉判断部は送り軸が現工具の長手方向に対して平行に移動する範囲における最小座標値について現工具と次工具の工具長の差分を考慮できる。故に現工具と次工具の工具長の差によって工具が被加工物又はジクに干渉するのを防止できる。
【0011】
本発明の第2態様に係る制御方法は、被加工物に対して近接/離隔可能に設け、工具を装着した主軸を駆動して該被加工物を加工する主軸ヘッドと、前記主軸ヘッドを移動するヘッド制御部と、前記主軸ヘッドに設け、工具を保持する複数のポットを格納し、前記主軸に装着してある現工具と工具交換を行う次工具を保持する前記ポットを工具交換の準備位置まで移動する工具マガジンと、前記準備位置にある前記ポットを工具交換が可能な待機位置に移動するポット駆動機構と、前記ヘッド制御部が前記主軸ヘッドを工具交換位置まで移動した状態で、前記主軸に装着してある前記現工具と、前記待機位置にある前記次工具とを把持して旋回することにより工具交換を行う工具交換アームとを備えた工作機械を制御する数値制御装置の制御方法であって、複数のブロックで構成した加工プログラムを読み込んで、前記加工プログラム中に工具交換を指示する工具交換指令が有るか否か判断する工具交換指令工程と、前記工具交換指令判断工程において前記加工プログラム中に前記工具交換指令があると判断した場合、前記工具交換指令を含むブロックまでの送り軸が移動する範囲における前記送り軸毎の最小座標値と最大座標値とを取得する座標値取得工程と、前記送り軸毎に工具交換時の工具の移動によって工具と被加工物又はジクとが干渉する領域を記憶する記憶手段に記憶した干渉する領域と座標値取得部で取得した座標値とに基づいて工具と被加工物又はジクが干渉するか否か判断する干渉判断工程と、前記干渉判断工程が干渉しないと判断した場合、前記ヘッド制御部が前記主軸ヘッドを前記工具交換位置に移動する前に、前記準備位置にある前記ポットを前記待機位置に移動するように前記ポット駆動機構を制御するポット下降制御工程とを備える。
【0012】
第2態様の制御方法では、記憶手段は送り軸毎に工具交換時の工具の移動によって工具と被加工物又はジクとが干渉する領域を記憶する。干渉判断工程は、記憶手段に記憶した干渉する領域と座標値取得工程で取得した座標値とに基づき、工具と被加工物又はジクが干渉するか否か判断する。ポット移動制御工程は、干渉判断工程が干渉しないと判断した場合、ヘッド制御部が主軸ヘッドを工具交換位置に移動する前に、準備位置にあるポットを待機位置に移動するようにポット駆動機構を制御する。故に第2態様は工具が被加工物やジグに干渉しない場合のみ次工具を準備位置まで工具交換前に移動できる。工具交換時間は短縮する。加工プログラム中への工具交換指令の挿入は不要である。
【図面の簡単な説明】
【0013】
【図1】工作機械1の斜視図。
【図2】工具交換工程の流れ図。
【図3】工作機械1の電気的構成を示すブロック図。
【図4】RAM23の記憶領域を示す図。
【図5】被加工物5及びジグ装置16の平面図。
【図6】被加工物5及びジグ装置16の正面図。
【図7】主軸工具長P1、次工具長P2、主軸次工具間距離Lを示す図。
【図8】加工プログラムの一例を示す図。
【図9】加工制御処理のフローチャート。
【発明を実施するための形態】
【0014】
以下本発明の一実施形態である数値制御装置20及び制御方法について図面を参照して説明する。図3に示す数値制御装置20は図1に示す工作機械1を制御する。工作機械1は工具Tを高速回転して被加工物5に切削加工を施す機械である。以下説明において、図1の上方、下方、右斜め下方、左斜め上方、左斜め下方、右斜め上方を、夫々、工作機械1の上方、下方、右方、左方、前方、後方とする。工作機械1の左右方向をX軸方向、前後方向をY方向、上下方向をZ軸方向とする。
【0015】
図1を参照して、工作機械1の構造について説明する。工作機械1は基台2、コラム3、主軸ヘッド7、主軸9(図2参照)、作業台15、ジグ装置16、操作部(図示略)、工具交換装置30等を備える。コラム3は基台2の上部に立設する。コラム3は角柱状である。主軸ヘッド7はコラム3の前面に昇降可能に設けてある。主軸ヘッド7はZモータ51にてZ軸方向に駆動する。Zモータ51はコラム3の上部に設けてある。主軸9は主軸ヘッド7の下部に設けてある。主軸9は工具Tを装着する装着穴(図示略)を有し主軸モータ52の駆動により回転する。主軸モータ52は主軸ヘッド7の上部に設けてある。作業台15は主軸9の下方に設けてある。作業台15はガイド機構(図示省略)にてX軸方向とY軸方向に移動可能である。Xモータ53とYモータ54(図3参照)は作業台15をX軸方向とY軸方向に駆動する。ジグ装置16は作業台15の上面に設けてある。
【0016】
図1に示す如く、ジグ装置16は固定台17、右側支持部18、左側支持部19を備える。固定台17は作業台15の上面に固定してある。右側支持部18と左側支持部19は固定台17の上面にX軸方向に互いに離間して立設する。右側支持部18と左側支持部19は被加工物5を両側から回転可能に支持する。
【0017】
操作部は工作機械1を取り囲むカバー(図示略)の壁面に設けてある。操作部は表示部11と入力部12(図3参照)等を備える。表示部11は例えば操作画面、設定画面、加工プログラム等の各種画面を表示する。入力部12は例えば各種入力、指示、設定等を行う。
【0018】
次に、工具交換装置30について説明する。以下説明は、主軸9に現在装着する工具を現工具T1と称する。工具マガジン31内の割出位置に割り出した次に使用する工具を次工具T2と称する。工具を総称する場合は工具Tと称する。図1に示す如く、工具交換装置30は工具マガジン31、マガジンモータ55、工具交換アーム40、工具交換モータ57等を備える。工具マガジン31は複数の工具ポット32(図2の第一工程参照)を格納する。工具ポット32は工具Tを支持する。工具ポット32は横方向に向けた状態で格納してある。故に工具Tは横向きである(図1参照)。工具マガジン31は移送機構を備える。移送機構は複数の工具ポット32を搬送経路に沿って搬送する。搬送経路は側面視横長円形状である。マガジンモータ55は工具マガジン31の上部に設けてある。マガジンモータ55は移送機構を駆動する。
【0019】
図1に示す如く、工具マガジン31は割出口37、ポット駆動機構56(図3参照)を更に備える。割出口37は搬送経路の下部に設けてある。割出口37に対応する工具ポット32は準備位置から待機位置まで回動可能である。準備位置の工具Tは横向きである。待機位置の工具Tは割出口37において下向きである。ポット駆動機構56は割出口37にある次工具T2の工具ポット32を準備位置又は待機位置に回動する。
【0020】
図1,図2に示す如く、工具交換アーム40はアーム旋回軸41とアーム部42を備える。アーム旋回軸41はZ軸方向に対して平行に延設する。アーム旋回軸41は回転可能及び上下動可能に設けてある。アーム部42はアーム旋回軸41の下端部に直交し且つ略水平に延設している。アーム部42は両端部に一対の把持部43を備える。各把持部43は工具を把持可能である。アーム部42はアーム旋回軸41を中心に旋回可能である。工具交換モータ57は工具交換アーム40を駆動する。工具交換アーム40は180°旋回して現工具T1と次工具T2を入れ替え交換する。
【0021】
次に、工具交換工程の一般的な流れについて説明する。図2に示す如く、工具交換工程は例えば第一工程、第二工程、第三工程、第四工程、第五工程を備える。第一工程では、被加工物5の加工後において、主軸ヘッド7と工具マガジン31が工具交換位置まで上昇する。第二工程では、工具マガジン31の割出口37において次工具T2の工具ポット32が準備位置から待機位置まで回動する。次工具T2は割出口37から下降する。第三工程では、工具交換アーム40が現工具T1と次工具T2を掴んで両工具を引き抜いて180°旋回する。第四工程では、工具交換アーム40が次工具T2を主軸9に装着し、工具マガジン31内に戻した工具Tを準備位置まで回動して上昇する。第五工程は、主軸ヘッド7と工具マガジン31を被加工物5に向けて下降し加工を再開する。
【0022】
後述するが、本実施形態の数値制御装置20は加工プログラムを先読みする。本実施形態は工具交換前の最後の軸移動時に、工具ポット32を下降した状態の次工具T2が被加工物5又はジグ装置16に干渉しない場合のみ、工具交換前の軸移動時に工具ポット32を先に倒して下降しておく。故に本実施形態は工具交換時の第二工程を省略できるので加工時間を短縮できる。
【0023】
次に、工作機械1の電気的構成について説明する。図3に示す如く、工作機械1は数値制御装置20を備える。数値制御装置20はCPU21、ROM22、RAM23、不揮発性記憶装置24、入力インタフェース25、出力インタフェース26等を備える。CPU21は工作機械1の動作を統括制御する。ROM21は制御プログラム等を記憶する。RAM23は後述する各種記憶領域を備える。不揮発性記憶装置24は加工プログラム及び後述する干渉パラメータ等の各種情報を記憶する。
【0024】
入力インタフェース25には例えば入力部12、アームセンサ61、Z軸原点センサ62、ポット上昇センサ63、ポット下降センサ64等が接続してある。アームセンサ61は、工具交換アーム40のアーム旋回動作の1サイクルの動作終了を検出する。Z軸原点センサ62は、主軸ヘッド7のZ軸原点を検出する。Z軸原点は主軸ヘッド7の工具交換高さ位置である。ポット上昇センサ63は、工具ポット32が準備位置にあることを検出する。ポット下降センサ64は、工具ポット32が下降して待機位置にあることを検出する。CPU21はアームセンサ61の検出信号に基づき工具交換アーム40の動作制御を行う。CPU21はZ軸原点センサ62の検出信号に基づき主軸ヘッド7の位置決め制御を行う。CPU21はポット上昇センサ63とポット下降センサ64の各検出信号に基づきポット駆動機構56の制御を行う。
【0025】
出力インタフェース26には例えばZモータ51、主軸モータ52、Xモータ53、Yモータ54、マガジンモータ55、ポット駆動機構56、工具交換モータ57、表示部11等が接続してある。Zモータ51にはエンコーダ51Aが接続してある。主軸モータ52にはエンコーダ52Aが接続してある。Xモータ53にはエンコーダ53Aが接続してある。Yモータ54にはエンコーダ53Aが接続してある。マガジンモータ55にはエンコーダ55Aが接続してある。工具交換モータ57にはエンコーダ57Aが接続してある。エンコーダ51A〜55A,57Aは各モータ51〜57の各回転角を検出する。エンコーダ51A〜55A,57Aは入力インタフェース25に接続してある。エンコーダ51A〜55A、57Aからの信号は入力インタフェース25に入力する。故にCPU21は、Zモータ51、主軸モータ52、Xモータ53、Yモータ54、マガジンモータ55、ポット駆動機構56、工具交換モータ57等の速度制御を行う。
【0026】
各工具ポット32はポット識別板66を備える。ポット識別板66は工具ポット32と一体的に移動する。ポット識別板66は光透過部(図示略)を備える。光透過部は工具ポット32毎に異なるパターンを有する。工具マガジン31は識別センサ65を備える。識別センサ65は投光素子67と受光素子68を備える。投光素子67と受光素子68はポット識別板66を挟んで対向配置する。投光素子67は出力インタフェース26に接続してある。受光素子68は入力インタフェース25に接続してある。識別センサ65は受光素子68からの信号に基づき工具マガジン31の割出口37に何れの工具ポット32を搬送したかを検出する。CPU21は受光素子68からの信号に基づき工具Tの位置決め制御を行う。
【0027】
次に、RAM23の各種記憶領域について説明する。図4に示す如く、RAM23は、先読みブロック記憶領域231、軸移動ブロック記憶領域232、軸移動範囲記憶領域233、生成指令記憶領域234等を備える。先読みブロック記憶領域231は先読みブロック番号Jを記憶する。先読みブロック番号JはCPU21が加工プログラムを先読み中のブロック番号である。軸移動ブロック記憶領域232は軸移動ブロック番号Kを記憶する。軸移動ブロック番号Kは主軸9の軸移動を指示するブロック番号である。軸移動範囲記憶領域233は後述する送り軸毎の軸移動パラメータを記憶する。生成指令記憶領域234は先読みしたブロックに基づき生成した指令を記憶する。
【0028】
次に、干渉パラメータについて説明する。図1に示す如く、作業台15上にはジグ装置16を設けている。上述の通りジグ装置16は被加工物5を回転可能に支持する。本実施形態は、工具ポット32を下げた状態の次工具T2が被加工物5又はジグ装置16に干渉する干渉領域の大きさを干渉パラメータで予め設定する。干渉パラメータは入力部12で入力する。入力した干渉パラメータは不揮発性記憶装置24(図3参照)に記憶してある。
【0029】
図5,図6は被加工物5及びジグ装置16の干渉領域を示す。干渉領域は二点鎖線の内側の領域である。干渉領域を示す干渉パラメータは、干渉領域Xmax、干渉領域Xmin、干渉領域Ymax、干渉領域Ymin、干渉領域Zである。干渉領域Xmaxは加工原点QからXの+方向(右方向)におけるジグ装置16の右側支持部18の最端部までの領域である。干渉領域Xminは加工原点QからXの−方向(左方向)におけるジグ装置16の左側支持部19の最端部までの領域である。干渉領域Ymaxは加工原点QからYの+方向(後方)におけるジグ装置16又は被加工物5の最端部までの領域である。干渉領域Yminは加工原点QからYの−方向(前方)におけるジグ装置16又は被加工物5の最端部までの領域である。干渉領域Zは加工原点QからZ方向(上方向)におけるジグ装置16の左側支持部19又は被加工物5の最端部までの領域である。
【0030】
なお本実施形態では、工具ポット32が下降した状態の次工具T2はジグ装置16の右側支持部18までは移動しない。次工具T2はジグ装置16の右側支持部18には干渉しない。故に干渉領域Zは右側支持部18を考慮する必要はない。
【0031】
次に、主軸工具長P1、次工具長P2、主軸次工具間距離Lについて説明する。図7に示す如く、主軸工具長P1は例えば主軸9の先端から下方に突出する工具T1の先端までの長さである。次工具長P2は例えば工具マガジン31の割出位置から下方に突出する状態の工具T2の先端までの長さである。主軸次工具間距離Lは主軸9の軸中心と次工具T2の軸中心との間の距離である。
【0032】
次に、軸移動範囲について説明する。軸移動範囲は、CPU21が実行する加工プログラムのブロック毎において実際に軸移動する範囲である。軸移動範囲はNXmax、NXmin、NYmax、NYmin、NZminの軸移動パラメータで示す。軸移動パラメータの算出方法は以下の通りである。算出した軸移動パラメータはRAM23の軸移動範囲記憶領域233(図4参照)に記憶する。
・NXmax=(主軸ヘッド7移動時の最大X座標)−主軸次工具間距離L
・NXmin=(主軸ヘッド7移動時の最小X座標)−主軸次工具間距離L
・NYmax=(主軸ヘッド7移動時の最大Y座標)
・NYmin=(主軸ヘッド7移動時の最小Y座標)
・NZmin=(主軸ヘッド7移動時の最小Z座標)−(主軸工具長P1−次工具長P2)
【0033】
次に、CPU21による加工制御処理について図9のフローチャートを参照して説明する。本実施例は説明の便宜上、図8の加工プログラムを実行する場合を一例として説明する。先ず本実施例の前提条件を以下説明する。
【0034】
図8に示す加工プログラムの内容について説明する。尚、主軸9には既に工具番号48番が装着されている。加工プログラムは表示部11に表示可能である。加工開始位置は加工原点設定時の位置である。加工開始位置は(X=0,Y=0,Z=25)とする。加工プログラムはN01〜N08の計八個のブロックを備える。G55は加工原点の設定。「G00 X55. Y0. Z5.」は(X=55,Y=0,Z5)の位置へ移動。「G00 Z20.」は(X=55,Y=0,Z20)の位置へ移動。「G100 T49 L14 Z20.」は工具番号48番から49番に工具交換し、工具交換後工具14番を次工具T2に設定。「G00 X−65. Y0.Z8.」は(X=−65,Y=0,Z8)の位置へ移動。「G00 Z20.」は(X=−65,Y=0,Z20)の位置へ移動。「G100 T14」は工具番号49番から14番に工具交換。M30は運転終了を示す指令である。
【0035】
干渉パラメータは図5,図6に示す如く設定する。
・干渉領域Xmax = 150mm
・干渉領域Xmin = −150mm
・干渉領域Ymax = 100mm
・干渉領域Ymin = −100mm
・干渉領域Z = 10mm
【0036】
加工プログラム中に設定した工具番号48、49、14の各工具について説明する。工具番号48は主軸9に装着済みの現工具T1である。主軸工具長P1は90mmである。工具番号49は工具マガジン31の割出位置に割り出した次工具T2である。次工具長P2は100mmである。工具番号14の工具長98mmである。主軸9と次工具T2との間の距離Lは200mmである。
【0037】
本実施例は上記各種条件を前提とする。作業者は操作部の入力部12にて加工プログラムの実行を指示する。CPU21はROM22に記憶した制御プログラムを読み込んで本処理を開始する。CPU21は不揮発性記憶装置24に記憶した加工プログラムを読み出し先読みを開始する(S10)。CPU21は先読みしたブロック(以下先読みブロックと称す)が先頭ブロックか否か判断する(S11)。先読みブロックはN01の先頭ブロックであるので(S11:YES)、各種パラメータ等を初期化する(S12)。CPU21は、RAM23に記憶した先読みブロック番号J、軸移動パラメータ等の各種情報を全てリセットする。
【0038】
CPU21は先読みブロック番号Jに1加算する(S13)。Jの初期値は0なので、先読みブロック番号Jは1となる。CPU21は先読みブロックがG100を含むか否か判断する(S14)。CPU21は先読みブロックがG100を含んでいないと判断した場合は(S14:NO)、軸移動の指令(G00)を含むか否か判断する(S18)。N01はG55である。G55は加工原点の設定であるので(S14:NO、S18:NO)、加工原点の設定の制御指令を生成する(S21)。CPU21は生成指令をRAM23の生成指令記憶領域234にブロック毎に記憶する(S22)。CPU21は先読みブロック番号Jは2以上か否か判断する(S23)。本実施例は先頭ブロックを先読みしただけであるので(S23:NO)、次ブロックに移行する(S27)。
【0039】
CPU21はN02のブロックを先読みし(S11:NO)、RAM23に記憶した先読みブロック番号Jに1加算する(S13)。先読みブロック番号Jは2となる。N02のブロックはG00を含む軸移動のブロックである(S14:NO、S18:YES)。故にCPU21は軸移動パラメータを算出してRAM23の軸移動範囲記憶領域233に記憶する(S19)。始点は(X=0,Y=0,Z=25)、終点は(X=55,Y=0,Z=5)である。軸移動パラメータの算出方法は以下の通りである。
・NXmax=55−200=−145
・NXmin=0−200=−200
・NYmax=0
・NYmin=0
・NZmin=(25)−(90−100)=15
【0040】
ブロック番号N02は軸移動のブロックである。故にCPU21は軸移動ブロック番号Kに、先読みブロック番号J=2を代入し、RAM23の軸移動ブロック記憶領域232に記憶する(S20)。軸移動ブロック番号Kは2となる。CPU21は(X=55,Y=0,Z=5)の軸移動指令を生成する(S21)。CPU21は生成した軸移動指令をブロック番号に対応付けてRAM23の生成指令記憶領域234に記憶する(S22)。
【0041】
CPU21は先読みブロック番号Jは2以上か否か判断する(S23)。本実施例は2ブロック目まで先読みしたので(S23:YES)、J−1番目のブロックの生成指令を実行する(S24)。先読みブロック番号Jは2であるのでJ−1は1である。N01のブロックの生成指令はRAM23の生成指令記憶領域234に記憶してある。CPU21はN01のブロックの指令を実行する。CPU21は加工原点(X=0,Y=0,Z=25)を設定する。CPU21は先読みする次ブロックがあるか否か判断する(S25)。CPU21は先読みするN03のブロックがあるので(S25:YES)、次ブロックに移行する(S27)。
【0042】
CPU21はN03のブロックを先読みし(S11:NO)、RAM23に記憶した先読みブロック番号Jに1加算する(S13)。先読みブロック番号Jは3となる。N03のブロックもG00を含む軸移動のブロックである(S14:NO、S18:YES)。故にCPU21は軸移動パラメータを算出してRAM23の軸移動範囲記憶領域233に記憶する(S19)。始点は(X=55,Y=0,Z=5)、終点は(X=55,Y=0,Z=20)である。軸移動パラメータの算出方法は以下の通りである。
・NXmax=55−200=−145
・NXmin=55−200=−145
・NYmax=0
・NYmin=0
・NZmin=5+(90−100)=−5
【0043】
ブロック番号N03は軸移動のブロックである。故にCPU21は軸移動ブロック番号Kに、先読みブロック番号J=3を代入して更新し、RAM23の軸移動ブロック記憶領域232に記憶する(S20)。軸移動ブロック番号Kは3となる。CPU21は(X=55,Y=0,Z=20)の軸移動指令を生成する(S21)。CPU21は生成した軸移動指令をブロック番号に対応付けてRAM23の生成指令記憶領域234に記憶する(S22)。
【0044】
CPU21は先読みブロック番号Jは2以上か否か判断する(S23)。本実施例は3ブロック目まで先読みしたので(S23:YES)、J−1番目のブロックの生成指令を実行する(S24)。先読みブロック番号Jは3であるのでJ−1は2である。N02のブロックの生成指令はRAM23の生成指令記憶領域234に記憶してある。CPU21は(X=55,Y=0,Z=5)の位置への軸移動を実行する。CPU21は先読みする次ブロックがあるか否か判断する(S25)。CPU21は先読みするN04のブロックがあるので(S25:YES)、次ブロックに移行する(S27)。
【0045】
CPU21はN04のブロックを先読みし(S11:NO)、RAM23に記憶した先読みブロック番号Jに1加算する(S13)。先読みブロック番号Jは4となる。N04のブロックはG100を含むブロックである(S14:YES)。G100は工具交換の指令である。CPU21は軸移動ブロック番号Kの軸移動パラメータをRAM23の軸移動範囲記憶領域233から取得する(S15)。現在の軸移動ブロック番号Kは3である。故にCPU21はN03の軸移動パラメータを取得する。CPU21は取得した軸移動パラメータが非干渉条件を満たすか否か判断する(S16)。非干渉条件は、工具ポット32が下降した状態の次工具T2が軸移動時に被加工物5及びジグ装置16に干渉しない為の条件である。非干渉条件は五つの条件を備える。五つの条件は軸移動パラメータで以下の様に示すことができる。
【0046】
・条件1:NXminとNXmaxともに干渉領域Xminより小さい。
・条件2:NXminとNXmaxともに干渉領域Xmaxより大きい。
・条件3:NYminとNYmaxともに干渉領域Yminより小さい。
・条件4:NYminとNYmaxともに干渉領域Yminより大きい。
・条件5:NZminが干渉領域Zよりも大きい。
軸移動パラメータが条件1〜5の何れか一つでも満たす場合、次工具T2は干渉しない。軸移動パラメータが条件1〜5の全てを満たさない場合、次工具T2は干渉する。
【0047】
上述の通り、N03の軸移動パラメータは、NXmin=−145、NXmax=−145、NYmin=0、Nmax=0、NZmin=−5である。干渉パラメータは、上述の通り、干渉領域Xmin=−150、干渉領域Xmax=150、干渉領域Ymin=−100、干渉領域Ymax=100、干渉領域Z=10である。
【0048】
条件1〜5にあてはめると、N03の軸移動パラメータは条件1〜5の何れも満たさない。N03で工具ポット32を下降すると、次工具T2が被加工物5及びジグ装置16に干渉する。故にCPU21はN03の生成指令にポット加工指令を追加することなく、N04の制御指令を生成する(S21)。N04の制御指令は、工具番号48番から49番に工具交換し、工具交換後14番を次工具T2に設定する指令である。CPU21は生成した工具交換指令をブロック番号に対応付けてRAM23の生成指令記憶領域234に記憶する(S22)。
【0049】
CPU21は先読みブロック番号Jは2以上か否か判断する(S23)。本実施例は4ブロック目まで先読みしたので(S23:YES)、J−1番目のブロックの生成指令を実行する(S24)。先読みブロック番号Jは4であるのでJ−1は3である。N03のブロックの生成指令はRAM23の生成指令記憶領域234に記憶してある。CPU21は(X=55,Y=0,Z=20)の位置への軸移動を実行する。CPU21は先読みする次ブロックがあるか否か判断する(S25)。CPU21は先読みするN05のブロックがあるので(S25:YES)、次ブロックに移行する(S27)。
【0050】
CPU21はN05のブロックを先読みし(S11:NO)、RAM23に記憶した先読みブロック番号Jに1加算する(S13)。先読みブロック番号Jは5となる。N05のブロックはG00を含む軸移動のブロックである(S14:NO、S18:YES)。故にCPU21は軸移動パラメータを算出してRAM23の軸移動範囲記憶領域233に記憶する(S19)。始点は(X=55,Y=0,Z=20)、終点は(X=−65,Y=0,Z=8)である。軸移動パラメータの算出方法は以下の通りである。
・NXmax=55−200=−145
・NXmin=−65−200=−265
・NYmax=0
・NYmin=0
・NZmin=8+(100−98)=10
【0051】
ブロック番号N05は軸移動のブロックである。故にCPU21は軸移動ブロック番号Kに、先読みブロック番号J=5を代入して更新し、RAM23の軸移動ブロック記憶領域232に記憶する(S20)。軸移動ブロック番号Kは5となる。CPU21は(X=−65,Y=0,Z=8)の軸移動指令を生成する(S21)。CPU21は生成した軸移動指令をブロック番号に対応付けてRAM23の生成指令記憶領域234に記憶する(S22)。
【0052】
CPU21は先読みブロック番号Jは2以上か否か判断する(S23)。本実施例は5ブロック目まで先読みしたので(S23:YES)、J−1番目のブロックの生成指令を実行する(S24)。先読みブロック番号Jは5であるのでJ−1は4である。N04のブロックの生成指令はRAM23の生成指令記憶領域234に記憶してある。CPU21はN04のブロックの指令を実行する。CPU21は工具交換装置30を制御して、図2に示す工具交換工程を行う。工作機械1は工具交換工程の第一〜第五工程まで行い、工具番号48番から49番への工具交換を実行する。CPU21は更に工具交換後14番を次工具T2に設定する。CPU21は先読みする次ブロックがあるか否か判断する(S25)。CPU21は先読みするN06のブロックがあるので(S25:YES)、次ブロックに移行する(S27)。
【0053】
CPU21はN06のブロックを先読みし(S11:NO)、RAM23に記憶した先読みブロック番号Jに1加算する(S13)。先読みブロック番号Jは6となる。N06のブロックはG00を含む軸移動のブロックである(S14:NO、S18:YES)。故にCPU21は軸移動パラメータを算出してRAM23の軸移動範囲記憶領域233に記憶する(S19)。始点は(X=−65,Y=0,Z=8)、終点は(X=−65,Y=0,Z=20)である。軸移動パラメータの算出方法は以下の通りである。
・NXmax=−65−200=−265
・NXmin=−65−200=−265
・NYmax=0
・NYmin=0
・NZmin=8+(100−98)=10
【0054】
ブロック番号N06は軸移動のブロックである。故にCPU21は軸移動ブロック番号Kに、先読みブロック番号J=6を代入して更新し、RAM23の軸移動ブロック記憶領域232に記憶する(S20)。軸移動ブロック番号Kは6となる。CPU21は(X=−65,Y=0,Z=20)の軸移動指令を生成する(S21)。CPU21は生成した軸移動指令をブロック番号に対応付けてRAM23の生成指令記憶領域234に記憶する(S22)。
【0055】
CPU21は先読みブロック番号Jは2以上か否か判断する(S23)。本実施例は6ブロック目まで先読みしたので(S23:YES)、J−1番目のブロックの生成指令を実行する(S24)。先読みブロック番号Jは6であるのでJ−1は5である。N05のブロックの生成指令はRAM23の生成指令記憶領域234に記憶してある。CPU21は(X=−65,Y=0,Z=8)の位置への軸移動を実行する。CPU21は先読みする次ブロックがあるか否か判断する(S25)。CPU21は先読みするN07のブロックがあるので(S25:YES)、次ブロックに移行する(S27)。
【0056】
CPU21はN07のブロックを先読みし(S11:NO)、RAM23に記憶した先読みブロック番号Jに1加算する(S13)。先読みブロック番号Jは7となる。N07のブロックはG100を含むブロックである(S14:YES)。CPU21は軸移動ブロック番号Kの軸移動パラメータをRAM23の軸移動範囲記憶領域233から取得する(S15)。現在の軸移動ブロック番号Kは6である。故にCPU21はN06の軸移動パラメータを取得する。CPU21は取得した軸移動パラメータが非干渉条件を満たすか否か判断する(S16)。非干渉条件は上記の通りである。
【0057】
上述の通り、N06の軸移動パラメータは、NXmin=−265、NXmax=−265、NYmin=0、Nmax=0、NZmin=10である。干渉パラメータは、上述の通り、干渉領域Xmin=−150、干渉領域Xmax=150、干渉領域Ymin=−100、干渉領域Ymax=100、干渉領域Z=10である。
【0058】
条件1〜5にあてはめると、N06の軸移動パラメータは条件1を満たしている。即ち、NXmin(−265)とNXmax(−265)ともに干渉領域Xmin(−150)より小さい。N06で工具ポット32を先に下方に倒しても、次工具T2は被加工物5及びジグ装置16に干渉しない。故にCPU21は軸移動を含むN06の生成指令にポット下降指令を追加する(S17)。CPU21はN07の制御指令を生成する(S21)。N07の制御指令は、工具番号49番から14番に工具交換を行う指令である。CPU21は生成した工具交換指令をブロック番号に対応付けてRAM23の生成指令記憶領域234に記憶する(S22)。
【0059】
CPU21は先読みブロック番号Jは2以上か否か判断する(S23)。本実施例は7ブロック目まで先読みしたので(S23:YES)、J−1番目のブロックの生成指令を実行する(S24)。先読みブロック番号Jは7であるのでJ−1は6である。N06のブロックの生成指令はRAM23の生成指令記憶領域234に記憶してある。N06のブロックの指令にはポット下降指令が追加してある。CPU21は(X=−65,Y=0,Z=20)の位置への軸移動と同時に、次工具T2の工具ポット32を下降する。工具ポット32を下方に倒しても、次工具T2は被加工物5及びジグ装置16に干渉しない。CPU21は先読みする次ブロックがあるか否か判断する(S25)。CPU21は先読みするN08のブロックがあるので(S25:YES)、次ブロックに移行する(S27)。
【0060】
CPU21はN08のブロックを先読みし(S11:NO)、RAM23に記憶した先読みブロック番号Jに1加算する(S13)。先読みブロック番号Jは8となる。N08のブロックはM30を含むブロックである(S14:NO、S18:NO)。CPU21は終了指令を生成する(S21)。CPU21は生成した終了指令をブロック番号に対応付けてRAM23の生成指令記憶領域234に記憶する(S22)。
【0061】
CPU21は先読みブロック番号Jは2以上か否か判断する(S23)。本実施例は8ブロック目まで先読みしたので(S23:YES)、J−1番目のブロックの生成指令を実行する(S24)。先読みブロック番号Jは8であるのでJ−1は7である。N07のブロックの生成指令はRAM23の生成指令記憶領域234に記憶してある。CPU21はN06の軸移動時に、次工具T2の工具ポット32を先に倒している。故にCPU21は図2に示す工具交換工程の第二工程を行う必要はない。CPU21は第二工程を除く工具交換工程を行い、工具番号49番から14番への工具交換を実行する。CPU21は第二工程をすることなく工具交換を実行するので加工時間を短縮できる。
【0062】
CPU21は先読みする次ブロックがあるか否か判断する(S25)。CPU21は先読みするブロックが無いので(S25:NO)、先読みブロック番号Jの指令を実行するする(S26)。先読みブロック番号Jは8である。N08のブロックの生成指令はRAM23の生成指令記憶領域234に記憶してある。CPU21はN08のブロックの終了指令を実行し、本処理を終了する。
【0063】
以上説明において、図3の不揮発性記憶装置24が本発明の「記憶手段」の一例である。S14の処理を実行するCPU21が本発明の「工具交換指令判断部」の一例である。S15の処理を実行するCPU21が本発明の「座標値取得部」の一例である。S16の処理を実行するCPU21が本発明の「干渉判断部」の一例である。S17、S21、S22、S24の処理を実行するCPU21が本発明の「ポット移動制御部」の一例である。
【0064】
以上説明したように、本実施形態の数値制御装置20は工作機械1を制御する。数値制御装置20はCPU21を備える。CPU21は加工プログラムを先読みする。加工プログラム中に軸移動指令がある場合、主軸ヘッド7の軸移動パラメータを算出する。軸移動パラメータは次工具T2の送り軸毎の最小座標値と最大座標値である。算出した軸移動パラメータはRAM23に記憶する。CPU21は加工プログラム中に工具交換指令がある場合、工具交換前の軸移動を指示するブロックの軸移動パラメータをRAM23から取得する。不揮発性記憶装置24は干渉パラメータを予め記憶する。干渉パラメータは次工具T2と被加工物5又はジグ装置16とが干渉する領域を送り軸毎に示す。CPU21は干渉パラメータと軸移動パラメータとに基づき、次工具T2が被加工物5又はジグ装置16に干渉するか否か判断する。CPU21は次工具T2が被加工物5又はジグ装置16に干渉しないと判断した場合、主軸ヘッド7を工具交換位置に移動する前に、準備位置にある工具ポット32を待機位置に移動するようにポット駆動機構56を駆動する。故に本実施形態は次工具T2が被加工物5やジグ装置16に干渉しない場合のみ次工具T2を準備位置まで工具交換前に移動できる。故に工具交換時間は短縮する。加工プログラム中への工具交換指令の挿入は不要である。
【0065】
本実施形態では特に、図9のS19の軸移動パラメータの算出において、X軸方向及びY軸方向における最小座標値及び最大座標値は、工具交換指令を含むブロックまでの主軸ヘッド7の移動経路において主軸ヘッド7の最も小さい座標値及び最も大きい座標値から主軸次工具間距離Lを差し引いた座標値である。故にCPU21は工具交換前の軸移動において次工具T2が被加工物5又はジグ装置16に干渉するか否かを判断できる。
【0066】
本実施形態では特に、Z軸方向における最小座標値は、工具交換指令を含むブロックまでの主軸ヘッド7の移動経路において主軸ヘッド7の最も小さい座標値から現工具T1の工具長から次工具T2の工具長の差分を差し引いた座標値である。故にCPU21はZ軸方向における最小座標値について現工具T1と次工具T2の工具長の差分を考慮できる。故に現工具T1と次工具T2の工具長の差によって工具が被加工物5又はジグ装置16に干渉するのを防止できる。
【0067】
なお本発明は上記実施の形態に限定されず、様々な変形が可能である。例えば、上記実施形態は、図9のS19の軸移動パラメータの算出において、X軸方向及びY軸方向における最小座標値及び最大座標値から主軸次工具間距離Lを差し引いている。例えば主軸次工具間距離Lを差し引かなくても上述と同様の効果を得ることができる。特に現工具T1と次工具T2の間で被加工物5の加工面の高さに変化が無ければ、現工具T1の位置で被加工物5又はジグ装置16に干渉するか否かを判断すればよい。
【0068】
また上記実施形態は、図9のS19の軸移動パラメータの算出において、Z軸方向における最小座標値から現工具長P1と次工具長P2の差分を引いている。例えば現工具長P1と次工具長P2の差分を差し引かなくても上述と同様の効果を得ることができる。特に現工具長P1と次工具長P2が同じであれば、Z軸方向における最小座標値をそのままNZminとしてもよい。
【0069】
また上記実施形態は、作業台15上にジグ装置16を設けているが、作業台15に被加工物5を着脱可能に取り付けるものでもよい。その場合、干渉パラメータは被加工物5に干渉する範囲で設定すればよい。
【符号の説明】
【0070】
1 工作機械
5 被加工物
7 主軸ヘッド
9 主軸
16 ジグ装置
20 数値制御装置
21 CPU
23 RAM
24 不揮発性記憶装置
30 工具交換装置
31 工具マガジン
32 工具ポット
40 工具交換アーム
56 ポット駆動機構

【特許請求の範囲】
【請求項1】
被加工物に対して近接/離隔可能に設け、工具を装着した主軸を駆動して該被加工物を加工する主軸ヘッドと、
前記主軸ヘッドを移動するヘッド制御部と、
前記主軸ヘッドに設け、工具を保持する複数のポットを格納し、前記主軸に装着してある現工具と工具交換を行う次工具を保持する前記ポットを工具交換の準備位置まで移動する工具マガジンと、
前記準備位置にある前記ポットを工具交換が可能な待機位置に移動するポット駆動機構と、
前記ヘッド制御部が前記主軸ヘッドを工具交換位置まで移動した状態で、前記主軸に装着してある前記現工具と、前記待機位置にある前記次工具とを把持して旋回することにより工具交換を行う工具交換アームと
を備えた工作機械を制御する数値制御装置であって、
複数のブロックで構成した加工プログラムを読み込んで、前記加工プログラム中に工具交換を指示する工具交換指令が有るか否か判断する工具交換指令判断部と、
前記工具交換指令判断部が前記加工プログラム中に前記工具交換指令があると判断した場合、前記工具交換指令を含むブロックまでの送り軸が移動する範囲における前記送り軸毎の最小座標値と最大座標値とを取得する座標値取得部と、
前記送り軸毎に工具交換時の工具の移動によって工具と被加工物又はジクとが干渉する領域を記憶する記憶手段と、
前記記憶手段に記憶した干渉する領域と座標値取得部で取得した座標値とに基づいて工具と被加工物又はジクが干渉するか否か判断する干渉判断部と、
前記干渉判断部が干渉しないと判断した場合、前記ヘッド制御部が前記主軸ヘッドを前記工具交換位置に移動する前に、前記準備位置にある前記ポットを前記待機位置に移動するように前記ポット駆動機構を制御するポット移動制御部と
を備えたことを特徴とする数値制御装置。
【請求項2】
前記送り軸が前記現工具の長手方向に対して直交する方向に移動する範囲における前記最小座標値及び前記最大座標値は、
前記工具交換指令を含むブロックまでの前記主軸ヘッドの移動経路において前記主軸ヘッドの最も小さい座標値及び最も大きい座標値から前記主軸と前記次工具間の距離を差し引いた座標値であることを特徴とする請求項1に記載の数値制御装置。
【請求項3】
前記送り軸が前記現工具の長手方向に対して平行に移動する範囲における前記最小座標値は、前記工具交換指令を含むブロックまでの前記主軸ヘッドの移動経路において前記主軸ヘッドの最も小さい座標値から前記現工具の工具長から前記次工具の工具長の差分を差し引いた座標値であることを特徴とする請求項1又は2に記載の数値制御装置。
【請求項4】
被加工物に対して近接/離隔可能に設け、工具を装着した主軸を駆動して該被加工物を加工する主軸ヘッドと、
前記主軸ヘッドを移動するヘッド制御部と、
前記主軸ヘッドに設け、工具を保持する複数のポットを格納し、前記主軸に装着してある現工具と工具交換を行う次工具を保持する前記ポットを工具交換の準備位置まで移動する工具マガジンと、
前記準備位置にある前記ポットを工具交換が可能な待機位置に移動するポット駆動機構と、
前記ヘッド制御部が前記主軸ヘッドを工具交換位置まで移動した状態で、前記主軸に装着してある前記現工具と、前記待機位置にある前記次工具とを把持して旋回することにより工具交換を行う工具交換アームと
を備えた工作機械を制御する数値制御装置の制御方法であって、
複数のブロックで構成した加工プログラムを読み込んで、前記加工プログラム中に工具交換を指示する工具交換指令が有るか否か判断する工具交換指令工程と、
前記工具交換指令判断工程において前記加工プログラム中に前記工具交換指令があると判断した場合、前記工具交換指令を含むブロックまでの送り軸が移動する範囲における前記送り軸毎の最小座標値と最大座標値とを取得する座標値取得工程と、
前記送り軸毎に工具交換時の工具の移動によって工具と被加工物又はジクとが干渉する領域を記憶する記憶手段に記憶した干渉する領域と座標値取得部で取得した座標値とに基づいて工具と被加工物又はジクが干渉するか否か判断する干渉判断工程と、
前記干渉判断工程が干渉しないと判断した場合、前記ヘッド制御部が前記主軸ヘッドを前記工具交換位置に移動する前に、前記準備位置にある前記ポットを前記待機位置に移動するように前記ポット駆動機構を制御するポット移動制御工程と
を備えたことを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−71203(P2013−71203A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−212027(P2011−212027)
【出願日】平成23年9月28日(2011.9.28)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】