(実施形態1)
以下、本発明の実施形態を図面に基づき説明する。以下の説明では、図において矢印で示す上下、左右、及び前後を使用する。工作機械100の左右方向はX方向である。工作機械100の前後方向はY方向である。工作機械100の上下方向はZ方向である。図1は、工作機械100を略示する斜視図である。
工作機械100は、工作機械本体1(図2参照)と、工作機械本体1を囲む本体カバー10とを備える。本体カバー10の後部には、工作機械100の動作を制御する後述の制御装置7が設けてある。図2は、工作機械本体1の斜視図である。図3は、レールを覆うカバー等を省略した工作機械本体1の斜視図である。
工作機械本体1は、架台11と、主軸基台12と、ワーク基台13とを備える。架台11は前後方向へ長い略直方体状をなす。主軸基台12は、架台11の後上部に設けてあり、前後方向へ長い略直方体状をなす。主軸基台12の前後方向における寸法は、架台11の前後方向における寸法よりも小さい。図3に示す如く、主軸基台12の上部には、前後方向に長く、互いに平行な二条の支持台12aが設けてある。支持台12aは後述のレール20aを支持する。架台11の前上部には、二つのワーク基台13が左右方向にて間隔を空けて設ける。各ワーク基台13は、柱状の支持台13aと、支持台13aの後方に配置した柱状の支持台13bとを備える。図2に示す如く、支持台13aの上部及び支持台13bの上部に、ワーク保持装置30は固定する。ワーク保持装置30は図示しないワークを保持する。ワーク保持装置30の詳細は後述する。
図3に示す如く、主軸基台12の上部に、Y方向移動装置20が取り付けてある。Y方向移動装置20は、互いに平行な一対のレール20a、複数のブロック20b、Y方向移動台20c、Y軸モータ20d(図5参照)、及び図示しないY方向ボールねじ機構を備える。レール20aは、各支持台12aの上部に設け、前後方向へ延びる。各ブロック20bは各レール20aに嵌合し、前後方向へ移動可能である。Y方向移動台20cは各ブロック20bの上部に固定する。Y方向ボールねじ機構は、Y方向ボールねじ機構のねじ軸がレール20aと平行をなすように、一対のレール20aの間に設ける。Y方向ボールねじ機構のねじ軸に、Y軸モータ20dは連結する。以下、Y方向ボールねじ機構のねじ軸をY軸とも称す。Y軸モータ20dの駆動によって、Y軸は前後方向と平行な軸回りに回転する。Y方向移動台20cの下部に、Y方向ボールねじ機構のナットが取り付けてある。Y方向ボールねじ機構のナットはY軸に連結する。従って、Y軸モータ20dの駆動によって、Y方向移動台20cはブロック20bと共に前後方向へ移動する。
Y方向移動台20cの上部に、X方向移動装置21が取り付けてある。X方向移動装置21は、互いに平行な一対のレール21a、複数のブロック21b、コラム台21c、X軸モータ21d(図5参照)、及び図示しないX方向ボールねじ機構を備える。レール21aは、前後方向に適当な間隔を空けてY方向移動台20cの上部に設け、左右方向へ延びる。各ブロック21bは各レール21aに嵌合し、左右方向へ移動可能である。各ブロック21bの上部に、コラム台21cは固定する。X方向ボールねじ機構は、X方向ボールねじ機構のねじ軸がレール21aと平行をなすように、一対のレール21aの間に設ける。X方向ボールねじ機構のねじ軸に、X軸モータ21dは連結する。以下、X方向ボールねじ機構のねじ軸をX軸とも称す。X軸モータ21dの駆動によって、X軸は左右方向と平行な軸回りに回転する。
コラム台21cの下部に、X方向ボールねじ機構のナットが取り付けてある。X方向ボールねじ機構のナットはX軸に連結する。コラム台21cの上部に上下方向へ延びる柱状のコラム22が設けてある。従って、X軸モータ21dの駆動によって、コラム22は、ブロック21b及びコラム台21cと共に左右方向へ移動する。Y軸モータ20dの駆動によって、コラム22は、コラム台21c、ブロック21b、Y方向移動台20c及びブロック20bと共に前後方向へ移動する。コラム22は、Y方向移動装置20及びX方向移動装置21によって前後方向及び左右方向へ移動する。
コラム22の前部に、Z方向移動装置23が取り付けてある。Z方向移動装置23は、互いに平行な一対のレール23a、複数のブロック23b、主軸ヘッド台23c、Z軸モータ23d(図5参照)、及び図示しないZ方向ボールねじ機構を備える。レール23aは、左右方向に適当な間隔を空けてコラム22の前部に設け、上下方向へ延びる。各ブロック23bは各レール23aに嵌合し、上下方向へ移動可能である。主軸ヘッド台23cは各ブロック23bの前部に固定する。Z方向ボールねじ機構は、Z方向ボールねじ機構のねじ軸がレール23aと平行をなすように、一対のレール23aの間に設ける。Z方向ボールねじ機構のねじ軸に、Z軸モータ23dが連結する。以下、Z方向ボールねじ機構のねじ軸をZ軸とも称す。Z軸モータ23dの駆動によって、Z軸は上下方向と平行な軸回りに回転する。主軸ヘッド台23cの後部に、Z方向ボールねじ機構のナットが取り付けてある。Z方向ボールねじ機構のナットはZ軸に連結する。従って、Z軸モータ23dの駆動によって、主軸ヘッド台23cはブロック23bと共に上下方向へ移動する。
主軸ヘッド台23cの前部に、主軸ヘッド24は固定する。主軸ヘッド24は、上下方向へ延びる図示しない主軸を上下方向に平行な軸回りに回転可能に保持する。主軸ヘッド24の上部に、主軸に連結する主軸モータ24aは固定する。主軸モータ24aの駆動により、主軸は、上下方向に平行な軸回りに回転する。主軸の下端部は、工具25を着脱可能である。制御装置7がY軸モータ20d、X軸モータ21d、及びZ軸モータ23dを駆動制御して、主軸ヘッド24は、主軸及び工具25と共に前後方向、左右方向、及び上下方向に移動する。工作機械100は、主軸に装着した工具25を交換する図示しない工具交換装置を備える。
図2に示す如く、主軸の下方にワーク保持装置30は配置する。主軸が回転して工具25は回転し、ワーク保持装置30に保持したワークの加工を行う。
図4はワーク保持装置30を模式的に示す斜視図である。ワーク保持装置30はギヤ箱31、軸受箱34、A軸モータ36、揺動体40、回転台50、及びC軸モータ60を備える。
ギヤ箱31は、揺動体40の右側に配置した軸部41を収容し、当該軸部41を左右方向と平行な軸回りに回転可能に支持する。軸部41は円筒状をなす。軸部41の軸線は左右方向と平行である。以下、軸部41をA軸とも称す。A軸モータ36はギヤ箱31の前部に取り付ける。A軸モータ36は、ギヤ箱31の内部に設けた図示しないギヤと連結する。A軸モータ36は、前後方向と平行な軸回りに回転し、ギヤを駆動する。ギヤは例えば公知のローラギヤカム軸(図示略)とカムフォロワ(図示略)にて構成し、前後方向と平行な軸回りの回転を、A軸回りの回転に変換する。ギヤ箱31の下部に、ねじ孔を有する取付座31aが設けてある。ギヤ箱31は、例えばねじで右側のワーク基台13に固定する。
軸受箱34は、揺動体40の左側に配置した軸部41を収容し、当該軸部41を左右方向と平行な軸回り(A軸回り)に回転可能に支持する。軸受箱34の下部に、ねじ孔を有する取付座34aが設けてある。軸受箱34は、例えばねじで左側のワーク基台13に固定する。
揺動体40は、上述の二つの軸部41と、基板部分42と、連結部とを備える。連結部は基板部分42と各軸部41とを連結する。二つの軸部41は、左右方向にて基板部分42を挟むように、連結部により基板部分42と連結する。基板部分42は二つの軸部41の軸線と平行に配置する。二つの軸部41は互いに同軸となる。
基板部分42の下部にはC軸モータ60は固定する。C軸モータ60の回転軸は、基板部分42を厚さ方向に貫通する貫通孔に挿通する。C軸モータ60の回転軸は、基板部分42の上方に配置した円板状の回転台50と連結する。以下、C軸モータ60の回転軸をC軸とも称す。C軸モータ60の駆動により、C軸はA軸と直交する方向と平行な軸回りに回転する。C軸が回転台50と連結するので、C軸モータ60の駆動により、回転台50はC軸回りに回転する。
ワーク保持装置30は、回転台50の上部にてワークを保持する。A軸モータ36の駆動により、軸部41が左右方向と平行な軸回りに回転する。従ってA軸モータ36の駆動により、揺動体40はA軸回りに揺動する。このときワークは、揺動体40と共にA軸回りに揺動する。更にワークは、C軸モータ60の駆動により、回転台50と共にC軸回りに回転する。揺動体40が揺動するのでC軸方向は変化する。図4においてC軸回りは上下方向と平行な軸回りである。ワーク保持装置30は保持部材に相当する。ワークの移動は、ワークの揺動、及びワークの回転を含む。
工作機械100は、A軸(軸部41)を固定可能なA軸クランプ機構80(図5参照)を備える。A軸クランプ機構80は、例えば図示しないコンプレッサが供給する圧縮空気を用いて、A軸の固定及び当該固定の解除を行う。A軸クランプ機構80がA軸を固定(クランプ)した場合、A軸は回転できない。従って揺動体40は揺動できない。例えばワークの加工時、A軸クランプ機構80はA軸を固定し、ワークの加工の際に発生する振動により揺動体40が揺動することを防ぐ。A軸クランプ機構80がA軸の固定を解除(アンクランプ)した場合、A軸は回転できる。
工作機械100は、C軸(C軸モータ60の回転軸)を固定可能なC軸クランプ機構81(図5参照)を備える。C軸クランプ機構81は、例えば図示しないコンプレッサが供給する圧縮空気を用いて、C軸の固定及び当該固定の解除を行う。C軸クランプ機構81がC軸を固定した場合、C軸は回転できない。従って回転台50は回転できない。例えばワークの加工時、C軸クランプ機構81はC軸を固定し、ワークの加工の際に発生する振動により回転台50が回転することを防ぐ。C軸クランプ機構81がC軸の固定を解除した場合、C軸は回転できる。
図5は制御装置7の構成を略示するブロック図である。制御装置7は、CPU70、RAM71、不揮発性の記憶部72、及び入出力インタフェース73を備える。CPU70、RAM71、記憶部72、及び入出力インタフェース73は通信可能に接続する。
記憶部72は、例えばEEPROM、EPROM及びフラッシュメモリである。記憶部72はハードディスクでもよい。記憶部72は、工作機械100を制御する為の制御プログラム、及び制御プログラムを実行する為に必要な各種の情報を記憶する。制御プログラムは、ワークを加工する為の加工プログラムを含む。加工プログラムはNCプログラムである。加工プログラムは、Gコード又はMコードを使用する。工作機械100は、工作機械100が読み取り可能な記憶媒体72aから読み取った制御プログラムを記憶部72に記憶してもよい。
入出力インタフェース73は、Y軸モータ20d、X軸モータ21d、Z軸モータ23d、主軸モータ24a、A軸モータ36、A軸クランプ機構80、C軸モータ60、及びC軸クランプ機構81と接続する。以下、Y軸モータ20d、X軸モータ21d、Z軸モータ23d、主軸モータ24a、A軸モータ36、C軸モータ60をまとめて駆動モータとも称す。更に入出力インタフェース73は、エンコーダ9と接続する。エンコーダ9は、各駆動モータに対してそれぞれ設ける。図5においては、各駆動モータのエンコーダ9を一括して示す。各駆動モータと各エンコーダ9とは接続してあるが、図5において各駆動モータと各エンコーダ9とを接続する接続線は省略する。
CPU70は、記憶部72に記憶した制御プログラムをRAM71に読み出し、工作機械100の各種動作を制御する。CPU70は入出力インタフェース73を介して、Y軸モータ20d、X軸モータ21d、Z軸モータ23d、主軸モータ24a、A軸モータ36、A軸クランプ機構80、C軸モータ60、C軸クランプ機構81及びエンコーダ9と通信可能である。
CPU70は入出力インタフェース73を介して、エンコーダ9から各駆動モータの回転子の位置情報(回転量)を取得する。CPU70は取得した位置情報に基づき、Y軸モータ20dの駆動、X軸モータ21dの駆動、Z軸モータ23dの駆動、主軸モータ24aの駆動、A軸モータ36の駆動、及びC軸モータ60の駆動のそれぞれを制御する。従ってCPU70は、X軸、Y軸、Z軸、主軸、A軸、及びC軸の駆動(回転)を制御する。なお、工具25又はワークの移動に関する軸(X軸、Y軸、Z軸、A軸、及びC軸)を駆動軸と称す。故に、主軸は工具25又はワークの移動に関する軸ではない。
ワークの加工の際、CPU70は、加工プログラムを読み取り、読み取った加工プログラムに基づき、X軸、Y軸、Z軸、主軸、A軸、及びC軸の少なくとも一つの駆動を制御する。駆動軸の駆動によって工具25及びワークの少なくとも一方は移動する。例えば工具25とワークとは並行して移動を行ってもよい。例えばCPU70は、加工プログラムに基づき、制御する駆動軸の駆動モータを決定する。CPU70は加工プログラムに基づき、決定した駆動モータの目標移動量を導出する。CPU70の制御により、決定した駆動軸の駆動モータは駆動を開始する。例えばCPU70は駆動開始を示す信号を決定した駆動軸の駆動モータへ出力する。駆動軸の駆動モータは駆動開始を示す信号を受信し、駆動を開始する。CPU70は、エンコーダ9から取得した位置情報に基づき、駆動モータの移動量を導出する。当該移動量が目標移動量に達した駆動モータは、CPU70の制御、例えばCPU70による駆動終了を示す信号の出力によって駆動を終了する。CPU70は、駆動モータごとに設けた図示しないサーボアンプと通信し、サーボアンプが導出した駆動モータの移動量を取得してもよい。
更にCPU70は、A軸クランプ機構80によるA軸の固定及び当該固定の解除を制御する。また、C軸クランプ機構81によるC軸の固定及び当該固定の解除を制御する。クランプ機構は、A軸クランプ機構80及びC軸クランプ機構81を含む。
CPU70は、記憶部72に記憶した制御プログラムを実行し、各駆動軸のうち一の駆動軸の駆動が終了したか否かを判定する第一終了判定部として機能する。例えばCPU70は、一の駆動軸に連結した駆動モータが駆動していないか否かを判定する。当該駆動モータが駆動していないとCPU70が判定した場合、CPU70は、一の駆動軸の駆動が終了したと判定する。
第一終了判定部による判定の一例として、A軸の駆動が終了したとCPU70が判定する場合について説明する。CPU70は、A軸モータ36が駆動していないか否かを判定する。A軸モータ36が駆動していないとCPU70が判定した場合、CPU70は、A軸の駆動が終了したと判定する。A軸モータ36が駆動しているとCPU70が判定した場合、CPU70は、A軸の駆動が終了していないと判定する。CPU70は、A軸以外の駆動軸に対してもA軸と同様にして、当該駆動軸の駆動が終了したと判定する。
記憶部72は、駆動軸ごとに、クランプ開始可能フラグを記憶する。駆動軸が駆動を開始する際にCPU70は、各クランプ開始可能フラグをオフに設定する。CPU70は、駆動が終了したと判定した駆動軸に関するクランプ開始可能フラグをオンに設定する。例えば、A軸の駆動が終了したとCPU70が判定した場合、CPU70は、A軸に関するクランプ開始可能フラグをオンに設定する。
CPU70は、各駆動モータに対して導出した移動量に基づいて、各駆動軸のうち、一の駆動軸の駆動が終了したか否かを判定してもよい。例えばA軸が駆動を開始する際、CPU70はA軸モータ36に関する目標移動量を導出する。A軸が駆動を開始した後、CPU70は周期的に、A軸モータ36に関するエンコーダ9から位置情報を取得し、取得した位置情報に基づいてA軸モータ36に関する移動量を導出する。CPU70は、A軸モータ36に関する移動量を導出した際に、A軸モータ36に関する目標移動量と導出したA軸モータ36に関する移動量との差分を算出し、算出した差分が0であるか否かを判定する。CPU70は、算出した差分が0であると判定した場合、A軸の駆動が終了したと判定する。
CPU70は、記憶部72に記憶した制御プログラムを実行し、他の全ての駆動軸の駆動が終了したか否かを判定する第二終了判定部として機能する。他の全ての駆動軸は、一の駆動軸を除く全ての駆動軸である。例えば一の駆動軸がA軸である場合、他の全ての駆動軸は、X軸、Y軸、Z軸、及びC軸である。CPU70は、一の駆動軸に関するクランプ開始可能フラグ以外のクランプ開始可能フラグの全てがオンであるか否かを判定する。一の駆動軸に関するクランプ開始可能フラグ以外のクランプ開始可能フラグの全てがオンである場合、CPU70は、他の全ての駆動軸の駆動が終了したと判定する。一の駆動軸に関するクランプ開始可能フラグ以外のクランプ開始可能フラグの少なくとも一つがオフである場合、CPU70は、他の全ての駆動軸の駆動が終了していないと判定する。
例えば、A軸の駆動が終了したと第一終了判定部が判定した場合、CPU70は以下のように、他の全ての駆動軸の駆動が終了したか否かを判定する。CPU70は、A軸以外の駆動軸に関するクランプ開始可能フラグの全てがオンであるか否かを判定する。詳しくはCPU70は、X軸に関するクランプ開始可能フラグ、Y軸に関するクランプ開始可能フラグ、Z軸に関するクランプ開始可能フラグ、及びC軸に関するクランプ開始可能フラグの全てがオンであるか否かを判定する。A軸以外の駆動軸に関するクランプ開始可能フラグの全てがオンである場合、CPU70は、他の全ての駆動軸の駆動が終了したと判定する。A軸以外の駆動軸に関するクランプ開始可能フラグの少なくとも一つがオフである場合、CPU70は、他の全ての駆動軸の駆動が終了していないと判定する。
以下、一の駆動軸の駆動が終了したと第一終了判定部が判定した場合であり、他の全ての駆動軸の駆動が終了したと第二終了判定部が判定した場合を、全ての駆動軸の駆動が終了したとCPU70が判定した場合とも称す。
CPU70は記憶部72に記憶した制御プログラムを実行し、一の駆動軸を固定可能なクランプ機構を工作機械100が有するか否かを判定する判定部として機能する。判定部は、一の駆動軸を固定可能なクランプ機構を工作機械100が有するか否かの判定に加えて、他の駆動軸を固定可能なクランプ機構を工作機械100が有するか否かを判定する。
記憶部72は、駆動軸データベース(駆動軸DB)を記憶する。図6は駆動軸DBの概念図である。駆動軸DBは、駆動軸ごとに、駆動軸を固定可能なクランプ機構の有無を示す情報を記憶する。図6において、A軸及びC軸は、「有り」というクランプ機構の有無を示す情報と関連付けてある。X軸、Y軸及びZ軸は、「無し」というクランプ機構の有無を示す情報と関連付けてある。
CPU70は駆動軸DBを参照し、一の駆動軸を固定可能なクランプ機構を工作機械100が有するか否かの判定を行う。CPU70が一の駆動軸としてA軸に対して当該判定を行う場合、CPU70は、駆動軸DBを参照し、A軸を固定可能なクランプ機構を工作機械100が有すると判定する。更にCPU70は、他の駆動軸(C軸、X軸、Y軸及びZ軸)に対しても上記の判定を行う。例えば、CPU70がX軸に対して上記の判定を行う場合、CPU70は、駆動軸DBを参照し、X軸を固定可能なクランプ機構を工作機械100が有していないと判定する。
CPU70は、制御プログラムを実行し、出力部として機能する。CPU70は、工作機械100が一の駆動軸を固定可能なクランプ機構を有すると判定部が判定した場合、且つ全ての駆動軸の駆動が終了したとCPU70が判定した場合、クランプ機構が一の前記駆動軸を固定する信号を出力する。更にCPU70は、工作機械100が他の駆動軸を固定可能なクランプ機構を有すると判定部が判定した場合、且つ全ての駆動軸の駆動が終了したとCPU70が判定した場合、クランプ機構が他の前記駆動軸を固定する信号を出力する。クランプ機構が一の前記駆動軸を固定する信号は、後述のA軸の固定実行に関する信号、及び後述のC軸の固定実行に関する信号を含む。クランプ機構が他の前記駆動軸を固定する信号は、後述のA軸の固定実行に関する信号、及び後述のC軸の固定実行に関する信号を含む。
A軸を一の駆動軸とした場合について説明する。工作機械100がA軸クランプ機構80を有するので、CPU70は、工作機械100がA軸を固定可能なクランプ機構を有すると判定する。CPU70は、工作機械100がA軸を固定可能なクランプ機構を有すると判定部が判定した場合、且つ全ての駆動軸の駆動が終了したとCPU70が判定した場合、A軸クランプ機構80によるA軸の固定実行に関する信号をA軸クランプ機構80へ出力する。A軸の固定実行に関する信号の出力により、A軸クランプ機構80はA軸を固定する。
工作機械100はC軸クランプ機構81を有する。C軸クランプ機構81は、C軸(他の駆動軸)を固定可能なクランプ機構である。従ってCPU70は、工作機械100がC軸を固定可能なクランプ機構を有すると判定する。工作機械100がC軸を固定可能なクランプ機構を有すると判定部が判定した場合、且つ全ての駆動軸の駆動が終了したとCPU70が判定した場合、C軸クランプ機構81によるC軸の固定実行に関する信号をC軸クランプ機構81へ出力する。C軸の固定実行に関する信号の出力により、C軸クランプ機構81はC軸を固定する。
図7は、CPU70が行うメインルーチンのフローチャートである。図8は、駆動軸に関する処理のサブルーチンのフローチャートである。図8は、一例としてA軸に関する処理のサブルーチンを示す。CPU70は、加工プログラムを読み込み、加工プログラムに基づき以下の処理を開始する。以下、ステップをSと省略する。
CPU70は加工プログラムに基づき、制御する駆動軸を決定する。例えば、CPU70はA軸を、制御する駆動軸として決定した際、A軸クランプ機構80へ固定解除に関する信号を出力する。当該信号の出力によりA軸クランプ機構80はA軸の固定を解除する。CPU70はC軸を、制御する駆動軸として決定した際、C軸クランプ機構81へ固定解除に関する信号を出力する。当該信号の出力によりC軸クランプ機構81はC軸の固定を解除する。CPU70は、記憶部72に記憶した各クランプ開始可能フラグをオフに設定する(S11)。
CPU70は、決定した駆動軸の駆動モータへ駆動開始を示す信号を出力する(S12)。当該信号の出力により、上記駆動モータは駆動を開始し、上記駆動軸は駆動を開始する。上記駆動軸の駆動により、工具25及びワークの少なくとも一方は移動する。例えば、CPU70はZ軸、A軸、及びC軸を、制御する駆動軸として決定する。CPU70は、Z軸モータ23d、A軸モータ36、及びC軸モータ60へ駆動開始を示す信号を出力する。このとき工具25及びワークは移動する。
上述のようにCPU70は、駆動軸の駆動モータに関する目標移動量を導出する。更にCPU70は、エンコーダ9から駆動軸の駆動モータの位置情報を取得し、取得した位置情報に基づき、駆動軸の駆動モータの移動量を導出する。CPU70は、導出した移動量が目標移動量に達した駆動軸の駆動モータへ駆動終了を示す信号を出力する。
CPU70は、A軸に関する処理のサブルーチンを呼び出して実行する(S13)。図8に示す如く、CPU70は、A軸モータ36が駆動していないか否かを判定する(S21)。A軸モータ36が駆動しているとCPU70が判定した場合(S21:NO)、CPU70は、メインルーチンへ復帰する。A軸モータ36が駆動していないとCPU70が判定した場合(S21:YES)、CPU70は、A軸に関するクランプ開始可能フラグをオンに設定する(S22)。
例えばCPU70は、上述のようにA軸モータ36に関する移動量に基づき、A軸の駆動が終了したか否かを判定してもよい。
CPU70は、駆動軸DBを参照し、工作機械100がA軸を固定可能なクランプ機構を有するか否かを判定する(S23)。工作機械100が上記クランプ機構を有していないとCPU70が判定した場合(S23:NO)、CPU70はメインルーチンへ復帰する。工作機械100が上記クランプ機構を有するとCPU70が判定した場合(S23:YES)、CPU70は、記憶部72を参照し、A軸に関するクランプ開始可能フラグを除く全てのクランプ開始可能フラグがオンであるか否かを判定する(S24)。
A軸に関するクランプ開始可能フラグを除く全てのクランプ開始可能フラグがオンではない場合(S24:NO)、CPU70はメインルーチンへ復帰する。A軸に関するクランプ開始可能フラグを除く全てのクランプ開始可能フラグがオンではない場合は、A軸に関するクランプ開始可能フラグを除くクランプ開始可能フラグの少なくとも一つがオフである場合である。
A軸に関するクランプ開始可能フラグを除く全てのクランプ開始可能フラグがオンである場合(S24:YES)、CPU70は、全てのクランプ機構へ固定実行に関する信号を出力する(S25)。詳しくはCPU70は、A軸クランプ機構80へA軸の固定実行に関する信号を出力し、C軸クランプ機構81へC軸の固定実行に関する信号を出力する。A軸の固定実行に関する信号の出力により、A軸クランプ機構80はA軸を固定し、C軸の固定実行に関する信号の出力により、C軸クランプ機構81はC軸をクランプする。従ってCPU70はA軸及びC軸を固定する。例えばA軸クランプ機構80及びC軸クランプ機構81以外の駆動軸を固定可能なクランプ機構を工作機械100が有する場合、CPU70は、A軸クランプ機構80及びC軸クランプ機構81に加えて当該クランプ機構へ固定実行に関する信号を出力する。
CPU70が固定実行に関する信号を出力する際、全てのクランプ開始可能フラグがオンである。故にCPU70は全ての駆動軸の駆動が終了したと判定する。従ってA軸及びC軸の固定の際、工具25及びワークは移動しない、又は、工具25及びワークの移動に関する振動は小さいので、A軸及びC軸の固定において工具25及びワークの移動による影響はない。工具25及びワークの移動に関する振動は、例えば駆動軸の駆動による振動を含む。また、主軸、コラム台21c又はコラム22の移動による振動を含む。また、回転台50の回転、又は揺動体40の揺動による振動を含む。
工具25及びワークの移動による影響がないので、A軸クランプ機構80はより適切に(より正確な位置で)A軸を固定でき、C軸クランプ機構81はより適切にC軸を固定できる。従ってクランプ機構は固定可能な全ての駆動軸をより適切に固定できる。
CPU70はメインルーチンへ復帰する。なおA軸に関する処理において、A軸は一の駆動軸に相当する。C軸、X軸、Y軸及びZ軸は他の駆動軸に相当する。
図7に示す如くCPU70は、C軸に関する処理を行う(S14)。C軸に関する処理は、A軸に関する処理においてA軸をC軸に読み替えた処理であるので、詳細な説明は省略する。図8には、括弧内にA軸を読み替えたC軸、X軸、Y軸、又はZ軸を示す。C軸に関する処理において、C軸は一の駆動軸に相当する。A軸、X軸、Y軸及びZ軸は他の駆動軸に相当する。
CPU70は、X軸に関する処理を行う(S15)。X軸に関する処理はA軸に関する処理においてA軸をX軸に読み替えた処理であるので、詳細な説明は省略する。X軸に関する処理において、X軸は一の駆動軸に相当する。A軸、C軸、Y軸及びZ軸は他の駆動軸に相当する。
CPU70は、Y軸に関する処理を行う(S16)。Y軸に関する処理はA軸に関する処理においてA軸をY軸に読み替えた処理であるので、詳細な説明は省略する。Y軸に関する処理において、Y軸は一の駆動軸に相当する。A軸、C軸、X軸及びZ軸は他の駆動軸に相当する。
CPU70は、Z軸に関する処理を行う(S17)。Z軸に関する処理はA軸に関する処理においてA軸をZ軸に読み替えた処理であるので、詳細な説明は省略する。Z軸に関する処理において、Z軸は一の駆動軸に相当する。A軸、C軸、X軸及びY軸は他の駆動軸に相当する。
CPU70は、全ての駆動軸が駆動していないか否かを判定する(S18)。全ての駆動軸が駆動していないとCPU70が判定した場合(S18:YES)、例えば全ての駆動モータが駆動していない場合、CPU70は処理を終了する。全ての駆動軸が駆動していないとCPU70が判定した場合は、例えば全てのクランプ開始可能フラグがオンである場合でもよい。少なくとも一つの駆動軸が駆動しているとCPU70が判定した場合(S18:NO)、CPU70はS13の処理を行う。少なくとも一つの駆動軸が駆動しているとCPU70が判定した場合は、例えば少なくとも一つの駆動モータが駆動している場合、又は少なくとも一つのクランプ開始可能フラグがオフである場合である。
上述の説明においてCPU70は、A軸に関する処理、C軸に関する処理、X軸に関する処理、Y軸に関する処理、Z軸に関する処理の順にて処理を行ったが、これらの処理は任意の順序にて行ってもよい。CPU70は、A軸に関する処理、C軸に関する処理、X軸に関する処理、Y軸に関する処理、及びZ軸に関する処理を並行して行ってもよい。CPU70は、A軸に関する処理、C軸に関する処理、X軸に関する処理、Y軸に関する処理、Z軸に関する処理のうち、駆動対象の駆動軸に関する処理のみを行ってもよい。この場合、S11においてCPU70は、決定した駆動軸に関するクランプ開始可能フラグのみをオフに設定する。例えばCPU70は、A軸及びC軸を、制御する駆動軸として決定した場合、A軸に関するクランプ開始可能フラグと、C軸に関するクランプ開始可能フラグとをオフに設定し、A軸に関する処理及びC軸に関する処理を行う。
例えば工具25又はワークは早送りにて移動する。図9は早送りに関する説明図である。早送りの一例として、工具25及びワークが早送りにて以下のように移動する場合について説明する。工具25はZ軸の駆動により上下方向へ移動する。ワークは、A軸の駆動により揺動し、C軸の駆動により回転する。
CPU70はZ軸、A軸及びC軸を、制御する駆動軸と決定する。CPU70は、時刻t0にてZ軸モータ23dへ駆動開始を示す信号を出力する。Z軸は時刻t0から駆動を開始する。CPU70は、時刻t0にてA軸クランプ機構80及びC軸クランプ機構81へ固定解除に関する信号を出力後、時刻t1にてA軸モータ36及びC軸モータ60へ駆動開始を示す信号を出力する。A軸クランプ機構80がA軸の固定を解除後、A軸は時刻t1から駆動を開始する。C軸クランプ機構81がC軸の固定を解除後、C軸は時刻t1から駆動を開始する。早送りにおいて、Z軸、A軸及びC軸の各駆動モータは、それぞれの最大速度にて駆動する。従って、各駆動軸が駆動を終了する時刻がそれぞれ異なる場合がある。
図9において、A軸は時刻t2にて駆動を終了する。時刻t2において、C軸及びZ軸は駆動している。A軸の駆動終了後の時刻t3にて、C軸は駆動を終了する。時刻t3においてZ軸は駆動している。C軸の駆動終了後の時刻t4にて、Z軸は駆動を終了する。CPU70は、時刻t4又は時刻t4よりも後の時刻(駆動軸が駆動を終了した後)にA軸クランプ機構80及びC軸クランプ機構81へ固定実行に関する信号を出力する。言い換えるとクランプ機構は、各駆動軸の駆動終了を待ち、駆動軸の固定を行う。全ての駆動軸が駆動していないので、A軸クランプ機構80はA軸を、C軸クランプ機構81はC軸をより適切に固定できる。各駆動軸が駆動を終了する時刻がそれぞれ異なる場合でも、クランプ機構は駆動軸をより適切に固定できる。
工具25又はワークの移動は早送りに限らない。例えば、駆動モータの速度の制御により、各駆動軸が駆動を開始するタイミングと各駆動軸が駆動を終了するタイミングとが同期する補完型早送りにて、工具25又はワークは移動してもよい。
クランプ機構は、A軸クランプ機構80及びC軸クランプ機構81に限らない。例えば工作機械100は、X軸、Y軸、又はZ軸を固定可能なクランプ機構を有してもよい。駆動軸は、X軸、Y軸、Z軸、A軸及びC軸に限らない。例えば工作機械100は、揺動体40を前後方向に平行な軸回りに回転するB軸と、B軸に連結するB軸モータと、B軸を固定可能なB軸クランプ機構とを備えてもよい。この場合、駆動軸はB軸を含む。クランプ機構は、B軸クランプ機構を含む。
例えば、ワーク保持装置30は、左右方向及び前後方向へ移動可能でもよい。ワークは、ワーク保持装置30と共に左右方向及び前後方向へ移動できる。例えばワーク保持装置30には、ワーク保持装置30の左右方向への移動に関するボールねじ機構と、ワーク保持装置30の前後方向への移動に関するボールねじ機構とが取り付けてある。ワーク保持装置30の左右方向への移動に関するボールねじ機構のねじ軸と、ワーク保持装置30の前後方向への移動に関するボールねじ機構のねじ軸とのそれぞれには、制御装置7が制御するモータが連結する。この場合、駆動軸は、ワーク保持装置30の左右方向への移動に関するボールねじ機構のねじ軸と、ワーク保持装置30の前後方向への移動に関するボールねじ機構のねじ軸とを含む。
(実施形態2)
実施形態2の構成のうち、実施形態1と同様な構成部については同じ符号を付し、その詳細な説明を省略する。
実施形態2のCPU70は、駆動軸の駆動モータの状態と当該駆動モータの加速度とに基づき、当該駆動モータと連結した駆動軸の駆動が終了したか否かを判定する。詳しくはCPU70は、エンコーダ9から各駆動モータの位置情報を取得し、取得した位置情報に基づき各駆動モータの速度及び加速度を導出する。CPU70は、駆動モータごとに設けた図示しないサーボアンプと通信し、サーボアンプが導出した駆動モータの速度及び加速度を取得してもよい。CPU70は各駆動モータに対して、駆動モータの状態が減速状態であるか否かを判定する。例えば、CPU70は一定の周期にて、駆動モータの速度を導出し、導出した速度を記憶部72に記憶する。CPU70は、導出した駆動モータの速度と前回導出した駆動モータの速度とを比較する。導出した駆動モータの速度が前回導出した駆動モータの速度よりも小さい場合、駆動モータの状態が減速状態であるとCPU70は判定する。
CPU70は、導出した駆動モータの加速度が所定値以下であるか否かを判定する。当該所定値は予め記憶部72に記憶する。なお所定値は、駆動モータごとに異なる値を設定してもよい。駆動モータの状態が減速状態であるとCPU70が判定した場合、且つ当該駆動モータの加速度が所定値以下であるとCPU70が判定した場合、CPU70は、当該駆動モータと連結した駆動軸の駆動が終了したと判定し、当該駆動軸に関するクランプ開始可能フラグをオンに設定する。
例えばA軸に着目した場合、A軸が駆動を開始した後、CPU70は周期的に、エンコーダ9からA軸モータ36の位置情報を取得し、取得した位置情報に基づいてA軸モータ36の速度及び加速度を導出する。CPU70は、A軸モータ36の状態が減速状態であるか否かを判定する。CPU70は、導出した加速度が所定値以下であるか否かを判定する。A軸モータ36の状態が減速状態であるとCPU70が判定した場合、且つ加速度が所定値以下であるとCPU70が判定した場合、CPU70は、A軸の駆動が終了したと判定し、A軸に関するクランプ開始可能フラグをオンに設定する。
実施形態2のメインルーチンのフローチャートは実施形態1と同様であるので、実施形態2のメインルーチンのフローチャートは省略する。図10は、実施形態2のサブルーチンのフローチャートである。図10は、一例としてA軸に関する処理のサブルーチンを示す。以下、A軸に関する処理のサブルーチンについて説明する。
CPU70は、上述のようにしてA軸モータ36の状態が減速状態であるか否かを判定する(S31)。A軸モータ36の状態が減速状態ではないとCPU70が判定した場合(S31:NO)、CPU70はメインルーチンへ復帰する。A軸モータ36の状態が減速状態であるとCPU70が判定した場合(S31:YES)、CPU70は、上述のようにA軸モータ36の加速度が所定値以下であるか否かを判定する(S32)。例えばCPU70は、決定した駆動軸の駆動モータ以外の駆動モータについて駆動モータの状態が減速状態であるか否かを判定する際、駆動モータの状態を減速状態とみなしてよい。
A軸モータ36の加速度が所定値よりも大きいとCPU70が判定した場合(S32:NO)、CPU70はメインルーチンへ復帰する。A軸モータ36の加速度が所定値以下であるとCPU70が判定した場合(S32:YES)、即ちA軸モータ36の状態が減速状態である場合、且つA軸モータ36の加速度が所定値以下である場合、CPU70は、以下の処理を行う。CPU70は、A軸に関するクランプ開始可能フラグをオンに設定する(S33)。CPU70はS34、S35及びS36の処理を行う。S34、S35及びS36の処理は、S23、S24及びS25の処理と同様であるので、詳細な説明は省略する。
実施形態2におけるC軸に関する処理、X軸に関する処理、Y軸に関する処理又はZ軸に関する処理は、A軸に関する処理においてA軸をC軸、X軸、Y軸又はZ軸に読み替えた処理であるので、詳細な説明は省略する。図10には、括弧内にA軸を読み替えたC軸、X軸、Y軸、又はZ軸を示す。
駆動モータの状態が減速状態である場合、且つ当該駆動モータの加速度が所定値以下である場合、駆動軸の固定において工具25及びワークの移動による影響は小さい。故にクランプ機構は駆動軸の固定を失敗しにくい。駆動軸の駆動が終了する前に駆動軸の固定が始まるので、駆動軸の駆動終了後に駆動軸の固定が始まる場合に比べて、制御装置7は駆動軸の固定が終了する時刻を早くできる。
制御装置7は、作業者の操作により、駆動軸の駆動が終了したと判定する条件を選択可能な構成でもよい。例えば制御装置7は、駆動モータの状態と当該駆動モータの加速度とに基づき駆動軸の駆動が終了したと判定する場合と、実施形態1のように駆動モータの駆動の有無又は移動量に基づき駆動軸の駆動が終了したと判定する場合とを切り替え可能でもよい。
(実施形態3)
実施形態3の構成のうち、実施形態1と同様な構成部については同じ符号を付し、その詳細な説明を省略する。実施形態3のCPU70は、A軸及びC軸を含む保持部材駆動軸の駆動が終了したか否かを判定する。保持部材駆動軸は、ワーク保持装置30に設けた駆動軸である。例えば工作機械100が上記のB軸を有する場合、保持部材駆動軸はB軸を含む。
CPU70は、実施形態1又は実施形態2と同様にしてA軸の駆動が終了したか否かを判定する。A軸の駆動が終了したとCPU70が判定した場合、CPU70はA軸に関するクランプ開始可能フラグをオンに設定する。A軸以外の保持部材駆動軸、例えばC軸についても、CPU70はA軸と同様にして当該保持部材駆動軸の駆動が終了したか否かを判定する。C軸の駆動が終了したとCPU70が判定した場合、CPU70はC軸に関するクランプ開始可能フラグをオンに設定する。以下、A軸の駆動が終了したとCPU70が判定した場合、且つC軸の駆動が終了したとCPU70が判定した場合を、全ての保持部材駆動軸の駆動が終了したとCPU70が判定した場合とも称す。
CPU70は、A軸を固定可能なクランプ機構を工作機械100が有するか否か、C軸を固定可能なクランプ機構を工作機械100が有するか否かを判定する。CPU70は各保持部材駆動軸に対して、保持部材駆動軸を固定可能なクランプ機構を工作機械100が有するか否かを判定する。
A軸を固定可能なクランプ機構を工作機械100が有するとCPU70が判定した場合、且つ全ての保持部材駆動軸の駆動が終了したとCPU70が判定した場合、CPU70はA軸クランプ機構80へA軸の固定実行に関する信号を出力する。当該信号の出力により、A軸クランプ機構80はA軸を固定する。C軸を固定可能なクランプ機構を工作機械100が有するとCPU70が判定した場合、且つ全ての保持部材駆動軸の駆動が終了したとCPU70が判定した場合、CPU70はC軸クランプ機構81へC軸の固定実行に関する信号を出力する。当該信号の出力により、C軸クランプ機構81はC軸を固定する。例えば、A軸及びC軸以外の保持部材駆動軸と当該保持部材駆動軸を固定可能なクランプ機構を工作機械100が有する場合、CPU70は、A軸クランプ機構80及びC軸クランプ機構81に加えて当該クランプ機構へ保持部材駆動軸の固定実行に関する信号を出力する。
図11は、実施形態3のメインルーチンのフローチャートである。図12は、保持部材駆動軸に関する処理のサブルーチンのフローチャートである。図12は、一例としてA軸に関する処理のサブルーチンを示す。CPU70は、加工プログラムを読み込み、加工プログラムに基づき以下の処理を開始する。
CPU70は、加工プログラムを読み取り、制御する駆動軸を決定する。例えばCPU70は保持部材駆動軸、例えばA軸及びC軸の少なくとも一方を、制御する駆動軸として決定する。CPU70はA軸を、制御する駆動軸として決定した際、A軸クランプ機構80へ固定解除に関する信号を出力する。当該信号の出力によりA軸クランプ機構80はA軸の固定を解除する。CPU70はC軸を、制御する駆動軸として決定した際、C軸クランプ機構81へ固定解除に関する信号を出力する。当該信号の出力によりC軸クランプ機構81はC軸の固定を解除する。CPU70は、保持部材駆動軸に関する各クランプ開始可能フラグをオフに設定する(S41)。
CPU70は、決定した駆動軸の駆動モータへ駆動開始を示す信号を出力する(S42)。S42の処理はS12の処理と同様であるので詳細な説明は省略する。CPU70は、A軸に関する処理のサブルーチンを呼び出して実行する(S43)。
図12に示す如く、CPU70は、A軸モータ36が駆動していないか否かを判定する(S51)。A軸モータ36が駆動しているとCPU70が判定した場合(S51:NO)、CPU70は、メインルーチンへ復帰する。A軸モータ36が駆動していないとCPU70が判定した場合(S51:YES)、CPU70は、A軸に関するクランプ開始可能フラグをオンに設定する(S52)。例えばCPU70は、上述のようにA軸に関する移動量に基づき、A軸の駆動が終了したと判定してよい。CPU70は、実施形態2のようにA軸モータ36の状態とA軸モータ36の加速度とに基づいてA軸の駆動が終了したと判定してよい。
CPU70は、工作機械100がA軸を固定可能なクランプ機構を有するか否かを判定する(S53)。工作機械100がA軸を固定可能なクランプ機構を有していないとCPU70が判定した場合(S53:NO)、CPU70はメインルーチンへ復帰する。工作機械100がA軸を固定可能なクランプ機構を有するとCPU70が判定した場合(S53:YES)、CPU70は、C軸に関するクランプ開始可能フラグがオンであるか否かを判定する(S54)。CPU70は、A軸以外の保持部材駆動軸に関するクランプ開始可能フラグの全てがオンであるか否かを判定する。言い換えるとCPU70は、他の全ての保持部材駆動軸の駆動が終了したか否かを判定する。
C軸に関するクランプ開始可能フラグがオンでない場合(S54:NO)、CPU70はメインルーチンへ復帰する。
C軸に関するクランプ開始可能フラグがオンである場合(S54:YES)、CPU70は以下の処理を行う。CPU70は、保持部材駆動軸を固定可能な全てのクランプ機構へ固定実行に関する信号を出力する(S55)。詳しくはCPU70は、A軸クランプ機構80へA軸の固定実行に関する信号を出力し、C軸クランプ機構81へC軸の固定実行に関する信号を出力する。A軸の固定実行に関する信号の出力により、A軸クランプ機構80はA軸を固定する。C軸の固定実行に関する信号の出力により、C軸クランプ機構81はC軸をクランプする。従ってクランプ機構はA軸及びC軸等固定可能な全ての保持部材駆動軸を固定できる。
CPU70が固定実行に関する信号を出力する際、保持部材駆動軸に関するクランプ開始可能フラグの全てがオンである。故にCPU70は全ての保持部材駆動軸の駆動が終了したと判定する。従ってA軸及びC軸の固定の際、ワークは移動しない、又は、ワークの移動に関する振動は小さいので、A軸及びC軸の固定においてワークの移動による影響はない。例えばA軸及びC軸の固定の際に、工具25が移動している場合、例えばX軸、Y軸及びZ軸の少なくとも一つが駆動している場合、工具25の移動に関する振動はA軸及びC軸へ伝わりにくいので、工具25の移動はA軸及びC軸の固定に影響しにくい。A軸クランプ機構80はより適切にA軸を固定できる。また、C軸クランプ機構81はより適切にC軸を固定できる。従って、クランプ機構は固定可能な全ての保持部材駆動軸をより適切に固定できる。CPU70は、工具25の移動が終了する前に保持部材駆動軸の固定を開始できるので、工具25の移動終了後に保持部材駆動軸の固定を開始する場合に比べて、保持部材駆動軸の固定が終了する時刻を早くできる。
図13は、保持部材駆動軸の固定に関する説明図である。一例として工具25及びワークが早送りにて移動する場合について説明する。工具25はZ軸の駆動により上下方向へ移動する。ワークは、A軸の駆動により揺動し、C軸の駆動により回転する。CPU70は、時刻t0にてZ軸モータ23dへ駆動開始を示す信号を出力する。Z軸は時刻t0から駆動を開始する。CPU70は、時刻t0にてA軸クランプ機構80及びC軸クランプ機構81へ固定解除に関する信号を出力後、時刻t1にてA軸モータ36及びC軸モータ60へ駆動開始を示す信号を出力する。A軸クランプ機構80がA軸の固定を解除後、A軸は時刻t1から駆動を開始する。C軸クランプ機構81がC軸の固定を解除後、C軸は時刻t1から駆動を開始する。
A軸は時刻t2にて駆動を終了する。時刻t2においてC軸及びZ軸は駆動している。A軸の駆動終了後の時刻t3にて、C軸は駆動を終了する。時刻t3においてZ軸は駆動している。CPU70は、時刻t3又は時刻t3よりも後の時刻(保持部材駆動軸が駆動を終了した後)にA軸クランプ機構80及びC軸クランプ機構81へ固定実行に関する信号を出力する。図13において、A軸クランプ機構80は時刻t3にてA軸の固定を開始する。C軸クランプ機構81は時刻t3にてC軸の固定を開始する。C軸の駆動終了後の時刻t4にて、Z軸は駆動を終了する。CPU70は、Z軸の駆動終了後に保持部材駆動軸の固定を開始する場合に比べて、保持部材駆動軸の固定が終了する時刻を早くできる。
CPU70はメインルーチンへ復帰する。なおA軸に関する処理において、A軸は一の保持部材駆動軸に相当する。C軸は他の保持部材駆動軸に相当する。A軸の固定実行に関する信号は、クランプ機構が一の保持部材駆動軸を固定する信号に相当する。C軸の固定実行に関する信号は、クランプ機構が他の保持部材駆動軸を固定する信号に相当する。
図11に示す如くCPU70は、C軸に関する処理を行う(S44)。C軸に関する処理は、A軸に関する処理において、A軸とC軸とを読み替えた処理であるので、詳細な説明は省略する。図12には括弧内に、A軸を読み替えたC軸と、C軸を読み替えたA軸とを示す。C軸に関する処理において、C軸は一の保持部材駆動軸に相当する。A軸は他の保持部材駆動軸に相当する。C軸の固定実行に関する信号は、クランプ機構が一の保持部材駆動軸を固定する信号に相当する。A軸の固定実行に関する信号は、クランプ機構が他の保持部材駆動軸を固定する信号に相当する。
CPU70は、A軸及びC軸が駆動していないか否か(全ての保持部材駆動軸が駆動していないか否か)を判定する(S45)。A軸及びC軸の少なくとも一方が駆動している(少なくとも一つの保持部材駆動軸が駆動している)とCPU70が判定した場合(S45:NO)、CPU70はS43の処理を行う。S45のNOは、A軸に関するクランプ開始可能フラグ及びC軸に関するクランプ開始可能フラグの少なくとも一方がオフである場合でもよい。
A軸及びC軸が駆動していない(全ての保持部材駆動軸が駆動していない)とCPU70が判定した場合(S45:YES)、CPU70は、X軸、Y軸、及びZ軸の全てが駆動していないか否かを判定する(S46)。S45のYESは、A軸に関するクランプ開始可能フラグ及びC軸に関するクランプ開始可能フラグがオンである場合でもよい。
X軸、Y軸、及びZ軸の少なくとも一つが駆動しているとCPU70が判定した場合(S46:NO)、CPU70は再度S46の判定を行う。X軸、Y軸、及びZ軸の全てが駆動していないとCPU70が判定した場合(S46:YES)、CPU70は処理を終了する。
上述の説明においてCPU70は、A軸に関する処理、C軸に関する処理の順にて処理を行ったが、A軸に関する処理、及びC軸に関する処理を任意の順序にて行ってもよい。CPU70は、A軸に関する処理、及びC軸に関する処理を並行して行ってもよい。
上述のようにワーク保持装置30には、ワーク保持装置30の左右方向への移動に関するボールねじ機構と、ワーク保持装置30の前後方向への移動に関するボールねじ機構とが取り付けてあってもよい。この場合、保持部材駆動軸は、ワーク保持装置30の左右方向への移動に関するボールねじ機構のねじ軸と、ワーク保持装置30の前後方向への移動に関するボールねじ機構のねじ軸とを含む。
今回開示した実施形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。各実施例にて記載されている技術的特徴は互いに組み合わせることができ、本発明の範囲は、特許請求の範囲内での全ての変更及び特許請求の範囲と均等の範囲が含まれることが意図される。