本発明の一実施形態を説明する。以下説明は図中に矢印で示す左右、前後、上下を使用する。図1に示す工作機械1の左右方向、前後方向、上下方向は夫々、工作機械1のX軸方向、Y軸方向、Z軸方向である。
図1を参照し、工作機械1を説明する。工作機械1は基台2、テーブル9、主軸ヘッド6、立柱5、主軸7、移動機構10、自動工具交換装置(以下、ATC4という。)を備える。基台2は平面視略矩形状であり、地面に設置する。テーブル9は基台2上面前部に配置する。ワーク(図示略)はテーブル9上面に固定する。立柱5は前後左右方向に移動可能に基台2上に設ける。主軸ヘッド6は立柱5に上下動可能に設け、主軸7を回転可能に支持する。主軸7はZ軸方向に延び、主軸モータ20(図3参照)の駆動により回転する。主軸7は工具ホルダを着脱可能に装着し、ATCモータ25(図3参照)の回転角度に応じて工具ホルダのクランプとアンクランプを行う。工具ホルダは工具8(図2参照)を保持する。本実施形態では説明の便宜上、工具8を保持した工具ホルダを単に「工具8」という。
移動機構10は立柱5を移動可能に支持する。移動機構10はX軸モータ21(図3参照)の回転駆動により、立柱5をX軸方向に移動する。移動機構10はY軸モータ22(図3参照)の駆動により、立柱5をY軸方向に移動する。移動機構10はZ軸モータ23(図3参照)の駆動により、主軸ヘッド6をZ軸方向に移動する。
ATC4は現工具81を次工具82と交換する(図2参照)。現工具81は主軸7に装着した工具8であり、即ち実際に主軸7に装着中の工具8である。次工具82は現工具81とは異なる工具8であり、NCプログラムが現工具81の次に指定する工具8である。即ち次工具82は現工具81の次に主軸7に装着する工具8である。ATC4の詳細は後述する。
X軸モータ21、Y軸モータ22、Z軸モータ23の駆動により、移動機構10は主軸ヘッド6をテーブル9に対してX、Y、Z軸方向に相対移動することで、加工位置(図示略)と工具交換位置(図1、図2参照)に主軸7を移動できる。加工位置と工具交換位置は互いに異なる位置である。工作機械1は主軸7が加工位置にある状態で主軸モータ20を駆動し、工具8を装着した主軸7を回転することで、ワークを加工する。工作機械1は主軸7が工具交換位置にある状態でATC4の動作により、現工具81を次工具82と交換する(図2参照)。尚、加工位置は実際にワークを加工する時の位置と、工具交換位置から実際にワークを加工する位置迄移動する時の位置を含む。
図1、図2を参照し、ATC4を説明する。図1の如く、ATC4は主軸ヘッド6右側にあり、マガジン41と支持部40を備える。マガジン41は枠体42、複数のポット49を備える。枠体42は側面視で上下方向よりも前後方向に長い楕円形状の外形を有する。枠体42はレール48を支持する。レール48は枠体42の内側にあり、枠体42の外形よりも一回り小さい楕円形状を有する。レール48はマガジンモータ24(図3参照)の駆動により、枠体42の外形に沿って回転する。
複数のポット49は枠体42の外形内側且つレール48外側にあり、レール48外側に固定する。複数のポット49は枠体42の外形とレール48に沿って等間隔(ポット間距離D、図2(A)、図6(A)参照)で並ぶ。図2(A)の如く、ポット間距離Dは隣り合う一対のポット49の間の距離である。複数のポット49は夫々工具8を着脱可能に保持する。以下、次工具82を保持するポット49を次ポット491という。
マガジン41はレール48の回転に伴い複数のポット49を連動して移動することで、次ポット491をマガジン交換位置に移動できる。尚、図2では複数のポット49の内最下部且つ前方にあるポット49(次ポット491)がマガジン交換位置に位置する。マガジン交換位置に次ポット491がある時、後述の交換部44は次工具82を現工具81と交換する。工具交換時、数値制御装置50(図3参照)は次ポット491がマガジン交換位置に位置するようにマガジンモータ24(図3参照)を制御する。
マガジン交換位置以外の位置にあるポット49は水平姿勢(図2(A)参照)を維持する。図2(A)の如く、ポット49が水平姿勢の時、ポット49の装着部は右方を向く。故に水平姿勢のポット49に装着した工具8は左右方向に延びる。マガジン交換位置にある次ポット491はエアシリンダ26(図3参照)の駆動により、水平姿勢(図2(A)参照)から垂直姿勢(図2(B)参照)に姿勢を変更できる。図2(B)の如く、次ポット491が垂直姿勢の時、次ポット491の装着部は下方を向く。故に次ポット491が垂直姿勢の時、次工具82は次ポット491から下方(即ち現工具81と平行)に延びる。
図2(A)の如く、支持部40はマガジン41左側に固定し、回転軸43を支持する。回転軸43は支持部40から下方に突出し、ATCモータ25(図3参照)の駆動により回転し且つATCモータ25の回転角度に応じて支持部40に対して上下動する。回転軸43下端には交換部44が連結する。図2(C)の如く、交換部44は腕状であり、回転軸43との連結部を中心として水平方向の一方と他方に延びる。交換部44両端部には把持部45、46がある。把持部45、46は平面視略C状であり、工具8上端部に係合可能である。交換部44は主軸7が工具交換位置に位置し、且つ次ポット491がマガジン交換位置に位置する時、現工具81を次工具82と交換する。
交換部44は回転軸43の回転に伴い、待機姿勢(図2(A)、図2(H)参照)と把持姿勢(図2(C)、図2(F)参照)に姿勢を変更できる。図2(A)、図2(H)の如く、交換部44は待機姿勢の時、前後方向に延びる。待機姿勢には第一待機姿勢(図2(A)参照)と第二待機姿勢(図2(H)参照)がある。図2(A)の如く、交換部44が第一待機姿勢の時、把持部46は把持部45の前側に位置する。図2(H)の如く、交換部44が第二待機姿勢の時、把持部46は把持部45の後側に位置する。
図2(C)、図2(F)の如く、交換部44は把持姿勢の時、左右方向に延びる。把持姿勢には第一把持姿勢(図2(C)参照)と第二把持姿勢(図2(F)参照)がある。図2(C)の如く、交換部44が第一把持姿勢の時、把持部46は把持部45の右側に位置する。図2(F)の如く、交換部44が第二把持姿勢の時、把持部46は把持部45の左側に位置する。
工作機械1による工具交換動作を説明する。図2(A)の如く、工具交換動作開始時、工作機械1は主軸7を工具交換位置迄移動し、ATC4は次ポット491をマガジン交換位置迄移動する。主軸7が工具交換位置に位置し、且つ次ポット491がマガジン交換位置に位置する時、主軸7と次ポット491は左右方向に互いに隣り合う。次ポット491は水平姿勢である。交換部44は第一待機姿勢である。図2(B)の如く、次ポット491はエアシリンダ26の駆動により、水平姿勢から垂直姿勢となり、現工具81と次工具82は互いに左右方向に並ぶ。
図2(C)の如く、回転軸43はATCモータ25の駆動により、平面視反時計回り方向に回転する。回転軸43の回転に伴い、交換部44は第一待機姿勢から第一把持姿勢まで平面視反時計回り方向に90°回転する。把持部45は現工具81を把持する。把持部46は次工具82を把持する。図2(D)の如く、主軸7はATCモータ25の駆動により、現工具81をアンクランプする。現工具81は主軸7から抜ける状態になる。交換部44はATCモータ25の駆動により下降する。現工具81は主軸7から下方に抜ける。次工具82は次ポット491から下方に抜ける。
図2(E)の如く、回転軸43はATCモータ25の駆動により、平面視反時計回り方向に回転する。回転軸43の回転に伴い、交換部44は第一把持姿勢から第一待機姿勢を介して第二把持姿勢まで180°回転する。現工具81と次工具82の夫々の位置が互いに入れ替わる。次工具82は工具交換位置の主軸7の下方に配置し、現工具81はマガジン交換位置の次ポット491の下方に配置する。図2(F)の如く、交換部44はATCモータ25の駆動により上昇する。次工具82は工具交換位置の主軸7に挿入する。現工具81はマガジン交換位置の次ポット491に挿入する。主軸7はATCモータ25の駆動により、次工具82をクランプする。次ポット491は現工具81を保持する。
図2(G)の如く、回転軸43はATCモータ25の駆動により、平面視時計回り方向に回転する。回転軸43の回転に伴い、交換部44は第二把持姿勢から第二待機姿勢まで平面視時計回り方向に90°回転する。図2(H)の如く、マガジン交換位置にある次ポット491はエアシリンダ26の駆動停止により、垂直姿勢から水平姿勢となる。以上により現工具81と次工具82が入れ替わり、工具交換動作は終了する。
図3を参照し、工作機械1の電気的構成を説明する。工作機械1は工作機械1を制御する為の数値制御装置50を備える。数値制御装置50はCPU51、ROM52、RAM53、記憶装置54、入出力インタフェース55を備える。CPU51は数値制御装置50を統括制御する。ROM52は各種プログラムを記憶する。各種プログラムは後述する主処理(図13参照)を実行する為の主制御プログラムを含む。RAM53は処理実行中の各種データを記憶する。記憶装置54は不揮発性メモリであり、ポット間距離D、ポット速度、マガジン情報、NCプログラム等を記憶する。
ポット速度はマガジン41によるポット49の移動速度である。以下、記憶装置54に設定したポット速度を設定速度という。設定速度はポット49の移動時の振動がワークの加工品質へ与える影響を考慮して作業者が予め記憶装置54に設定する。マガジン情報は複数のポット49と複数のポット49が保持する工具8の対応関係を示す。NCプログラムは移動指令、加工指令、交換指令を含む。移動指令は主軸7の位置座標、位置座標間の主軸7の移動速度を含む。加工指令は主軸7の回転速度を含む。交換指令は主軸7に装着する工具8の工具番号を指定する。即ち交換指令による工具番号を交換指令の順に並べた情報は主軸7に装着する工具8の順序(以下、使用順序という。)を示す。工作機械1はNCプログラムに基づく動作(以下、NC動作という。)を実行できる。
入出力インタフェース55には入力部18、表示部19、主軸モータ20、X軸モータ21、Y軸モータ22、Z軸モータ23、マガジンモータ24、ATCモータ25、エンコーダ20A、21A、22A、23A、24A、25A、エアシリンダ26が電気的に接続する。入力部18と表示部19は操作パネル17に設ける。入力部18は各種入力を受け付ける。表示部19は各種画面を表示する。
エンコーダ20Aは主軸モータ20に設け、主軸モータ20の回転角度を検出する。エンコーダ21AはX軸モータ21に設け、X軸モータ21の回転角度を検出する。エンコーダ22AはY軸モータ22に設け、Y軸モータ22の回転角度を検出する。エンコーダ23AはZ軸モータ23に設け、Z軸モータ23の回転角度を検出する。エンコーダ24Aはマガジンモータ24に設け、マガジンモータ24の回転角度を検出する。エンコーダ25AはATCモータ25に設け、ATCモータ25の回転角度を検出する。
図4を参照し、一例としてマガジン情報542を説明する。以下では複数のポット49の個数を便宜的に10個とする。ポット番号は基準となるポット49をポット番号P1と定め、ポット番号P1のポット49から右側面視時計回り方向に順にポット番号P2~P10と定める(図6(A)等参照)。尚、右側面視反時計回り方向に順にポット番号を定めてもよい。工作機械1はセンサ(図示略)によりポット番号を識別できる。工具番号は工具8の種類に応じて定める。マガジン情報542はポット番号P1~P10が夫々工具番号M1~M10に対応することを示す。工作機械1はマガジンモータ24の回転量をエンコーダ25Aで検出し、該回転量に基づきポット番号を識別してもよい。
尚、使用/不使用の欄は、後述のNCプログラム541が指定する工具8であるか否かを示し、即ち加工に使用する工具8であるか否かを示す。マガジン情報542では説明の為、使用/不使用の欄を設けたが、実際にはマガジン情報542は使用/不使用を示す情報を含まなくてもよい。
作業者はマガジン情報と同じ対応関係になるように各ポット番号のポット49に各工具番号の工具8を予め装着する。図4のマガジン情報542の時、作業者はポット番号P1~P10のポット49に夫々工具番号M1~M10の工具8を予め装着する。尚、作業者は予め各工具番号の工具8を装着したポット49において各工具番号と各ポット番号の対応関係と同じ対応関係になるようにマガジン情報542を編集してもよい。
図5~図12を参照し、一例としてNCプログラム541に基づき工作機械1がNC動作を行う時(以下、本例という。)の主軸7とATC4の動作を説明する。以下では加工に使用する一の工具8を第一工具といい、使用順序が第一工具の一つ後の工具8を第二工具という。第一工具を保持するポット49を第一ポットといい、第二工具を保持するポット49を第二ポットという。第一ポットと第二ポットの間の距離をマガジン間距離という。詳細にはマガジン間距離は第一ポットから第二ポット迄の右側面視時計回り方向への距離と右側面視反時計割り方向への距離の内短い方の距離である。マガジン間距離はポット間距離Dの整数倍である。例えば隣り合う二つのポット49が第一工具と第二工具を保持する時、マガジン間距離は距離Dである。
第一工具による加工動作中の時間(第一工具を装着した主軸7が加工位置にある間の時間)を第一工具の使用時間という。即ち第一工具の使用時間は第一工具を主軸7に装着してから第二工具を主軸7に装着するまでの間の時間である。使用時間は加工動作において主軸7の移動距離と移動速度、待機時間(移動しない時の時間)等により算出できる。加工動作は主軸7が工具交換位置から実際にワークを加工する位置迄移動する動作と、実際にワークを加工する動作を含む。第一工具の使用時間内にマガジン間距離を移動可能な最小のポット速度を最小ポット速度という。例えばマガジン間距離が距離Dであり、第一工具の使用時間が時間Tの時、最小ポット速度は速度D/Tである。
第一工具が現工具81の時、ポット49が最小ポット速度以上で移動すれば、第二ポット(次ポット491)は使用時間内にマガジン交換位置に到達する。第一工具が現工具81の時、ポット49が最小ポット速度未満で移動すれば、第二ポット(次ポット491)は使用時間内にマガジン交換位置に到達しない。該時、第二ポット(次ポット491)がマガジン交換位置に到達する迄の間、主軸7が工具交換位置で待機する待機時間が発生する。故に数値制御装置50は加工時間(NC動作の実行時間)を短縮する為、ポット49を最小ポット速度以上で移動する必要がある。
ポット速度が大きくなるに従ってポット49の移動による振動は大きくなる。故に数値制御装置50はワークの加工品質の低下を抑制する為、設定速度を超えないポット速度でポット49を移動する必要がある。本実施形態では数値制御装置50は最小ポット速度が設定速度以下となるように、NC動作の前に各ポット49間の工具8を並び替える並び替え動作を行う。即ち数値制御装置50はNC動作の前に複数回の工具交換動作を行うことで並び替え動作を行う。
以下では、工具番号Mjの工具8の使用時間を使用時間(Mj)と表記し、ポット番号Pjの第一ポットとポット番号Pkの第二ポットの間のマガジン間距離、最小ポット速度、判定結果を夫々マガジン間距離(Pj→Pk)、最小ポット速度(Pj→Pk)、判定結果(Pj→Pk)と表記する。判定結果(Pj→Pk)は最小ポット速度(Pj→Pk)が設定速度よりも大きい時に「×」とし、最小ポット速度(Pj→Pk)が設定速度以下の時に「○」とする。
図8、図12は並び替え動作を行わない時と、並び替え動作を行った時の各項目1~4について第一工具と第二工具、第一ポットと第二ポット、第一工具の使用時間、マガジン間距離、最小ポット速度、判定結果の関係を示す。例えば図8の項目1では第一工具は工具番号M1の工具8であり、第二工具は工具番号M9の工具8である。第一ポットはポット番号P1のポット49であり、第二ポットはポット番号P9のポット49である。使用時間(M1)は時間2Tであり、マガジン間距離(P1→P9)は距離2Dであり、最小ポット速度(P1→P9)は速度D/Tであり、判定結果(P1→P9)は「○」である。
図6、図7、図10、図11は主軸7が工具交換位置にあり、且つ複数のポット49の内左上角部のポット49がマガジン交換位置にある時を示す。
図5~図8を参照し、本例の主軸7とATC4の動作について並び替え動作を行わない時を説明する。図5の如く、初期状態では主軸7は工具交換位置にあり、工具番号M1の工具8を装着する。主軸7は加工動作A1を行う。加工動作A1の時間(使用時間(M1))は時間2Tである。主軸7は工具交換位置に戻る。
図5、図6(A)、図8の如く、次工具82は工具番号M9の工具8なので、次ポット491はポット番号P9のポット49である。使用時間(M1)は時間2Tなので、複数のポット49は使用時間2T内(即ち加工動作A1中)に右側面視時計回り方向に距離2D分回転する。該時、最小ポット速度(P1→P9)は速度D/Tである。図6(B)の如く、主軸7が工具交換位置に到達した時、次ポット491(ポット番号P9のポット49)はマガジン交換位置に到達する。
図5の如く、ATC4は工具交換動作B9を行うことで、現工具81(工具番号M1の工具8)と次工具82(工具番号M9の工具8)を交換する。工作機械1は加工動作A9を行う。加工動作A9の時間(使用時間(M9))は時間Tである。主軸7は工具交換位置に戻る。
図5、図6(B)、図8の如く、工具番号M1の工具8と工具番号M9の工具8の交換後、次工具82は工具番号M3の工具8なので、次ポット491はポット番号P3のポット49である。使用時間(M9)は時間Tなので、複数のポット49は使用時間T内(即ち加工動作A9中)に右側面視反時計回り方向に距離4D分回転する。該時、最小ポット速度(P9→P3)は速度4D/Tである。図7(C)の如く、主軸7が工具交換位置に到達した時、次ポット491(ポット番号P3のポット49)はマガジン交換位置に到達する。
図5の如く、ATC4は工具交換動作B3を行うことで、現工具81(工具番号M9の工具8)と次工具82(工具番号M3の工具8)を交換する。工作機械1は加工動作A3を行う。加工動作A3の時間(使用時間(M3))は時間6Tである。主軸7は工具交換位置に戻る。
図5、図7(C)、図8の如く、工具番号M9の工具8と工具番号M3の工具8の交換後、次工具82は工具番号M6の工具8なので、次ポット491はポット番号P6のポット49である。使用時間(M3)は時間6Tなので、複数のポット49は使用時間6T内(即ち加工動作A3中)に右側面視反時計回り方向に距離3D分回転する。該時、最小ポット速度(P3→P6)は速度D/2Tである。図7(D)の如く、主軸7が工具交換位置に到達した時、次ポット491(ポット番号P6のポット49)はマガジン交換位置に到達する。
図5の如く、ATC4は工具交換動作B6を行うことで、現工具81(工具番号M3の工具8)と次工具82(工具番号M6の工具8)を交換する。工作機械1は加工動作A6を行う。加工動作A6の時間(使用時間(M6))は時間Tである。主軸7は工具交換位置に戻る。NC動作は終了する。
以下では設定速度を速度3D/Tとして説明する。図8の如く、並び替え動作を行わない時、項目1、3では最小ポット速度D/T、D/2Tが設定速度3D/T以下となる。即ち項目1、3の判定結果は「○」となる。項目2では最小ポット速度4D/Tが設定速度3D/Tよりも大きくなる。即ち項目2の判定結果は「×」となる。故に工具番号M9の工具8の使用時、待機時間を抑制する為、最小ポット速度4D/Tでポット49が移動すると、加工品質が低下する可能性があり、加工品質の低下を抑制する為、設定速度3D/Tでポット49が移動すると、主軸7の工具交換位置での待機時間が発生する。工作機械1は加工品質の低下を抑制しつつ、加工時間を短縮する為、実際にNC動作を実行する前にNCプログラムを先読みし、以下説明する並び替え動作を行う。
工作機械1による並び替え動作を説明する。並び替え動作は工具交換動作を繰り返すことで、マガジン間距離が限界距離以下になるような、第一工具と第二工具の相対的な位置関係(以下、工具位置関係という。)に工具8を並び替える動作である。限界距離は設定速度でポット49が移動した時に第一工具の使用時間内にポット49が移動可能な距離である。数値制御装置50は工具交換動作を繰り返す前に、マガジン間距離が限界距離以下になるような工具位置関係を決定する。数値制御装置50は決定した工具位置関係となるように各ポット49に対して各工具8の並び順を入れ替える。
数値制御装置50による工具位置関係の決定方法を説明する。以下では判定結果が「×」となる項目の第一工具を対象第一工具(工具番号Mt1とする。)といい、判定結果が「×」となる項目の第二工具を対象第二工具(工具番号Mt2とする。)という。対象第一工具を保持するポット49を対象第一ポット(ポット番号Pt1とする。)といい、対象第二工具を保持するポット49を対象第二ポット(ポット番号Pt2とする。)という。
数値制御装置50は並び替える工具8として対象第二工具を探索する。本例では判定結果が「×」となる項目2の第二工具は工具番号M3の工具8である(図8参照)。故に対象第二工具は工具番号M3の工具8であり、対象第二ポットはポット番号P3のポット49である。
数値制御装置50は交換先ポットを探す。交換先ポットは工具8を並び替えた後に対象第二工具を保持するポット49であり、複数のポット49の中でマガジン間距離(Pt1→Pt2)が限界距離以下となるポット49である。
交換先ポットの決定方法を説明する。数値制御装置50は加工に使用しない工具8(以下、不使用工具という。)を保持するポット49(以下、不使用ポットという。)を探す。不使用工具はNCプログラムが指定しない工具8である。本例では不使用工具は工具番号M2、M4、M5、M7、M8、M10の工具8である(図4参照)。不使用ポットはポット番号P2、P4、P5、P7、P8、P10のポット49である(図4参照)。
数値制御装置50は不使用ポットの中から対象第一ポットとの間のマガジン間距離が最も小さくなるポット49(以下、最小距離ポットという。)を探す。本例では対象第一ポットはポット番号P9のポット49である。マガジン間距離(P9→P2)、(P9→P4)、(P9→P5)、(P9→P7)、(P9→P8)、(P9→P10)は夫々距離3D、5D、4D、2D、D、Dである(図6等参照)。故に最小距離ポットはポット番号P8、P10のポット49である。
数値制御装置50は最小距離ポットの中で対象第二ポットとの間のマガジン間距離が最も小さくなるポット49を交換先ポットの候補とする。本例では対象第二ポットはポット番号P3のポット49である。マガジン間距離(P3→P8)、(P3→P10)は夫々距離5D、3Dである(図6等参照)。故に交換先ポットの候補はポット番号P10のポット49となる。
仮に交換先ポットの候補の工具8と対象第二工具を並び替えるとする。該時、交換先ポットの候補の対象第二工具と、使用順序が対象第二工具の次の工具8との間のマガジン間距離が変化する。本例ではポット番号P10の工具8(工具番号M10)とポット番号P3の工具8(工具番号M3)を並び替えると、ポット番号P10のポット49は工具番号M3の工具を保持し、ポット番号P3のポット49は工具番号M10の工具8を保持する。使用順序が工具番号M3の工具8の次の工具8は工具番号M6の工具8である。該時、工具8の並び替えの前後で工具番号M3の工具8と工具番号M6の工具8との間のマガジン間距離が距離3Dから距離4Dに変化する。これに伴い、工具番号M3の工具8と工具番号M6の工具8との間の最小ポット速度も変化する。
数値制御装置50は仮に交換先ポットの候補の工具8を対象第二工具と並び替えた時の、交換先ポットの候補の対象第二工具と、使用順序が対象第二工具の次の工具8との間の最小ポット速度を算出する。本例では最小ポット速度(P10→P6)は速度2D/3Tである。算出した最小ポット速度が設定速度以下であれば、数値制御装置50は交換先ポットの候補を交換先ポットとして確定する。本例では算出した最小ポット速度(P10→P6)は速度2D/3Tであり、設定速度3D/T以下なので、数値制御装置50はポット番号P10のポット49を交換先ポットに確定する。
算出した最小ポット速度が設定速度よりも大きければ、数値制御装置50は不使用ポットの内交換先ポットの候補以外の中から最小距離ポットを探す。数値制御装置50は上記交換先ポットを探す処理を繰り返す。
数値制御装置50は確定した工具8の並び順となるようにATC4による並び替え動作を行う。本例では並び替え動作を行うことで、ポット番号P3の工具8(工具番号M3)とポット番号P10の工具8(工具番号M10)を入れ替える。ポット番号P1~P10のポット49は夫々工具番号M1、M2、M10、M4、M5、M6、M7、M8、M9、M3の工具8を保持する。
数値制御装置50は並び替え動作後のポット番号と工具番号の対応関係となるようにマガジン情報を更新する。本例では図9の如く、マガジン情報543は並び替え後のポット番号と工具番号の対応関係を示す。これにより、数値制御装置50はNCプログラムが交換指令にて指定する工具番号を変更することなく、NC動作を実行できる。
図5、図10~図12を参照し、本例の主軸7とATC4の動作について並び替え動作を行った時を説明する。尚、主軸7の動作は並び替え動作を行わない時と同じ動作であり、ATC4の動作は工具交換動作B9迄と工具交換動作B6以降は並び替え動作を行わない時と同じ動作なので説明を省略する(図5、図10(A)、図10(B)、図11(D)、図12参照)。
図5、図10(B)、図12の如く、工具番号M1の工具8と工具番号M9の工具8の交換後、次工具82は工具番号M3の工具8なので、次ポット491はポット番号P10のポット49である。工具番号M9の工具8の使用時間は時間Tなので、複数のポット49は使用時間T内(即ち加工動作A9中)に右側面視反時計回り方向に距離D分回転する。該時、最小ポット速度は速度D/Tである。図11(C)の如く、主軸7が工具交換位置に到達した時、次ポット491(ポット番号P10のポット49)はマガジン交換位置に到達する。
図5の如く、ATC4は工具交換動作B3を行うことで、現工具81(工具番号M9の工具8)と次工具82(工具番号M3の工具8)を交換する。工作機械1は加工動作A3を行う。主軸7は工具交換位置に戻る。
図5、図11(C)、図12の如く、工具番号M9の工具8と工具番号M3の工具8の交換後、次工具82は工具番号M6の工具8なので、次ポット491はポット番号P6のポット49である。工具番号M3の工具8の使用時間は時間6Tなので、複数のポット49は使用時間6T内(即ち加工動作A3中)に右側面視時計回り方向に距離4D分回転する。該時、最小ポット速度は速度2D/3Tである。図11(D)の如く、主軸7が工具交換位置に到達した時、次ポット491(ポット番号P6のポット49)はマガジン交換位置に到達する。
図12の如く、並び替え動作を行うことで、項目1~3では最小ポット速度D/T、D/T、2D/3Tが設定速度3D/T以下となる。即ち項目1~3の判定結果は全て「○」となる。故に工作機械1はワークの加工品質の低下を抑制しつつ、加工時間を短縮できる。
図13を参照し、主処理を説明する。数値制御装置50が起動すると、CPU51はROM52から主プログラムを読出し、主処理を実行する。CPU51は作業者による入力部18の操作に応じて設定速度を記憶装置54に記憶する(S10)。
CPU51は作業者による入力部18の操作に応じてモードをRAM53に設定する(S11)。モードには先読みモードと通常モードがある。先読みモードではCPU51はNC動作(S53)の前に並び替え動作に関する処理(S13~S52)を行う。通常モードではCPU51は並び替え動作に関する処理(S13~S52)を行うことなくNC動作(S53)を行う。作業者は入力部18を操作してモードを選択する。
CPU51は設定したモードが先読みモードであるか否かを判断する(S12)。通常モードの時(S12:NO)、CPU51はNC動作を行う(S53)。CPU51は主処理を終了する。先読みモードの時(S12:YES)、CPU51は並び替え動作に関する処理(S13~S52)を行う。CPU51はまず先読み処理(図14参照)を行う(S13)。
図14を参照し、先読み処理を説明する。CPU51は記憶装置54のNCプログラムを先読みすることでNCプログラム先読み情報をNCプログラムから取得する(S21)。NCプログラム先読み情報は工具の使用順序、各工具8の使用時間を含む。CPU51はマガジン情報を記憶装置54から取得する(S22)。CPU51はポット間距離Dを記憶装置54から取得する(S23)。
CPU51はS22、S23で取得したマガジン情報とポット間距離Dに基づきマガジン間距離を算出する(S24)。具体的にはCPU51はマガジン情報を参照し、第一ポットと第二ポットを特定する。CPU51は第一ポットと第二ポットの間にあるポット49の個数とポット間距離Dに基づきマガジン間距離を算出する。該時、CPU51は第一工具を使用順序が最初の工具8から最後の工具8迄順にシフトして、夫々についてマガジン間距離を算出する。
CPU51は第一工具の使用時間とマガジン間距離に基づき最小ポット速度を算出する(S25)。該時、CPU51は第一工具を使用順序が最初の工具8から最後の工具8迄順にシフトして、夫々について最小ポット速度を算出する。CPU51は最小ポット速度と工具番号(項目)を対応付けてRAM53に記憶する(S26)。CPU51は処理を主処理(図13参照)へ戻す。
図13の如く、CPU51は設定速度を記憶装置54から取得する(S31)。CPU51はS25(図14参照)で算出した最小ポット速度がS31で取得した設定速度よりも大きい項目(即ち判定結果が「×」の項目)があるか否かを判断する(S32)。全項目で最小ポット速度が設定速度以下の時(S32:NO)、CPU51は処理をS53へ移行する。最小ポット速度が設定速度よりも大きい項目がある時(S32:YES)、CPU51は交換先ポット決定処理を行う(S33)。
図15を参照し、交換先ポット決定処理を説明する。CPU51は対象第二工具を決定する(S41)。CPU51は上述した方法により交換先ポットを探索する(S42)。CPU51は交換先ポットの候補をRAM53に記憶する(S43)。CPU51は対象第二工具から使用順序が対象第二工具の次の工具8までのマガジン間距離と対象第二工具の使用時間に基づき最小ポット速度を算出する(S44)。CPU51はS44で算出した最小ポット速度が設定速度よりも大きいか否かを判断する(S45)。最小ポット速度が設定速度よりも大きい時(S45:YES)、CPU51は処理をS42に戻す。
最小ポット速度が設定速度以下の時(S45:NO)、S43で記憶した交換先ポットの候補を交換先ポットに決定する(S46)。CPU51はS26でRAM53に記憶した情報(各項目と最小ポット速度の関係)を、決定した交換先ポットに基づき更新する(S47)。CPU51は最小ポット速度が設定速度よりも大きい項目があるか否かを判断する(S48)。最小ポット速度が設定速度よりも大きい項目がある時(S48:YES)、CPU51は処理をS41に戻す。全項目で最小ポット速度が設定速度以下の時(S48:NO)、CPU51は処理を主処理(図13参照)に戻す。
図13の如く、CPU51はS46で決定した交換先ポットに応じて並び替え動作を行う(S51)。即ちCPU51は並び替え動作を行うことで対象第二工具を交換先ポットの工具8と並び替える。CPU51は並び替え動作後のポット49と工具8の対応関係となるようにマガジン情報を更新する(S52)。CPU51は更新後のマガジン情報とNCプログラムに基づき、NC動作を行う(S53)。CPU51は主処理を終了する。
以上説明の如く、記憶装置54は設定速度を記憶する。CPU51はマガジン情報と使用順序と使用時間を取得する。工作機械1によるワークの加工開始前に、CPU51は取得したマガジン情報と使用順序と使用時間に基づき、マガジン間距離が限界距離以下になるように、第一ポットと第二ポットの相対的な位置関係を決定する。加工開始前に予め決定した第一ポットと第二ポットの相対的な位置関係とすれば、第二ポットは第一工具の使用時間内にマガジン交換位置迄移動できる。即ち数値制御装置50は第一工具の使用が終了した時に第二ポットがマガジン交換位置迄到達しない時に発生する待機時間を抑制できる。故に数値制御装置50は加工時間を短縮できる。決定した第一ポットと第二ポットの相対的な位置関係とすれば、第一工具の使用時間内に第二ポットがマガジン交換位置迄移動する為に必要な最小ポット速度は設定速度以下となる。これにより数値制御装置50は第二ポットをマガジン交換位置迄移動する時に発生する振動を抑制できる。故に数値制御装置50はワークの加工品質の低下を抑制しつつ、加工時間を短縮できる。
CPU51は最小ポット速度を算出する。CPU51は最小ポット速度が設定速度以下であるか否かを判断する。最小ポット速度が設定速度よりも大きい時、CPU51は交換先ポットを第二ポットに決定する。第二ポットは最小ポット速度で移動することで第一工具の使用時間内にマガジン交換位置迄移動できる。故に数値制御装置50はワークの加工品質の低下を更に抑制できる。故に数値制御装置50は工具交換の複雑化を抑制できる。
交換先ポットは、ワークの加工に使用する工具8を保持するポット49以外のポット49である。第二工具を交換先ポットの工具8と交換すると、ワークの加工に使用する各工具8の位置関係の内、第二工具と、使用順序が第二工具の前後の工具8との位置関係のみが変化する。故に数値制御装置50は工具交換の複雑化を抑制できる。
CPU51はワークの加工開始前に主軸7が工具交換位置にある状態でマガジン41と交換部44を制御することで、決定した第一工具と第二工具の相対的な位置関係となるように並び替え動作を行う。加工開始前に作業者が工具8を交換する必要がない。故に数値制御装置50は作業者による作業増加を抑制できる。
上記実施形態において数値制御装置50は本発明の制御装置に相当する。主軸モータ20は本発明の駆動部に相当する。図13のS10の処理を実行するCPU51は本発明の設定部に相当する。図14のS21、S22の処理を実行するCPU51は本発明の取得部に相当する。図15のS46の処理を実行するCPU51は本発明の決定部に相当する。図14のS25の処理を実行するCPU51は本発明の算出部に相当する。図13のS32の処理を実行するCPU51は本発明の判断部に相当する。図13のS51の処理を実行するCPU51は本発明の配置部に相当する。図13のS10は本発明の設定工程に相当する。図14のS21、S22は本発明の取得工程に相当する。図15のS46は本発明の決定工程に相当する。図13のS10の処理は本発明の設定処理に相当する。図14のS21、S22の処理は本発明の取得処理に相当する。図15のS46の処理は本発明の決定処理に相当する。
本発明は上記実施形態から変更できる。例えば上記実施形態の工作機械1は主軸7がZ軸方向に延びる縦型工作機械である。これに対し、工作機械1は主軸7がY軸方向に延びる横型工作機械でもよい。数値制御装置50はパーソナルコンピュータ(PC)等でもよい。該時、PCは工作機械1と物理的に離れた別体であってもよい。上記実施形態では通常モードと先読みモードがあるが、先読みモードだけでもよい。CPU51はS11で設定したモードを記憶装置54に記憶し、設定したモードを記憶装置54から取得してもよい。
上記実施形態においてCPU51は並び替え動作(S51)を省略してもよい。例えばCPU51は更新後のマガジン情報を表示部19に表示してもよい。該時、作業者は表示部19にてマガジン情報を確認し、手作業で工具8を並び替えて各ポット49に装着してもよい。
上記実施形態のNCプログラムは工具番号を指定するが、ポット番号を指定してもよい。該時、CPU51はS52でNCプログラムの第二対象ポットのポット番号を交換先ポットのポット番号に書き換えればよい。CPU51はNC動作(S53)の後、並び替え動作前の工具8の並び順に並び替えてもよい。該時、CPU51はマガジン情報を更新前の状態に戻せばよい。
上記実施形態ではCPU51は最小ポット速度と設定速度を比較することで各項目を「○」と「×」の何れかに判定する。これに対し、CPU51は設定速度でポット49がマガジン間距離を移動した時にかかる時間(以下、ポット移動時間という。)と使用時間を比較することで各項目を「○」と「×」の何れかに判定してもよい。即ちCPU51はポット移動時間が使用時間以下の項目を「○」と判定し、ポット移動時間が使用時間よりも長い項目を「×」と判定してもよい。
CPU51はNC動作の実行時に設定速度でポット49を移動した時に発生する待機時間を算出してもよい。CPU51はNC動作の実行回数を取得してもよい。CPU51はNC動作の実行回数分の待機時間を算出してもよい。CPU51は並び替え動作にかかる並び替え時間を算出してもよい。CPU51は待機時間よりも並び替え時間の方が短いか否かを判断してもよい。待機時間の方が並び替え時間よりも長い時、CPU51は並び替え動作を行ってもよい。待機時間の方が並び替え時間よりも短い時、CPU51は並び替え動作を行わなくてもよい。該時、数値制御装置50は加工前の並び替え動作にかかる準備時間と加工時間を含めた全体の時間が長くなることを抑制できる。
工具交換位置の決定方法は上記実施形態に限定しない。数値制御装置50は例えば不使用ポットの中から最小距離ポットを探す。これに対し、数値制御装置50は全ポット49の中から最小距離ポットを探してもよい。上記実施形態ではポット49は最小ポット速度で移動する。これに対し、ポット49は例えば設定速度で移動してもよい。
上記実施形態ではCPU51は対象第二工具を交換先ポットの工具8と交換することを決定する。これに対し、CPU51は対象第一工具を交換先ポットの工具8と交換することを決定してもよい。即ちCPU51は対象第一ポットを交換先ポットに決定してもよい。複数のポット49は等間隔で並ばなくてもよい。該時、記憶装置54は各ポット49とポット間距離を対応付けて記憶すればよい。
数値制御装置50はCPU51の代わりにマイクロコンピュータ、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)等をプロセッサとして用いてもよい。複数のプロセッサは主処理を分散処理してもよい。記憶装置54は情報を記憶する期間に関わらず、情報を留めておくことが可能な記憶媒体であればよい。記憶装置54は一時的な記憶媒体(例えば、伝送される信号)を含まなくてもよい。数値制御装置50はプログラムを例えばネットワークに接続したサーバからダウンロードして(すなわち、サーバはプログラムを伝送信号として送信し)、記憶装置54に記憶してもよい。該時、プログラムはサーバに備えたハードディスクドライブ等の非一時的な記憶媒体に保存すればよい。