(57)【要約】【課題】ワークの加工に要する時間を短縮できる工作機械、工作機械の制御方法及びコンピュータプログラムを提供する。【解決手段】工作機械は、複数の指令を順に読み出して、工具を装着する主軸及びワークを保持する保持部の移動を制御し、保持部又は主軸の移動を示す基準移動指令を読み出した場合、基準移動指令に一つ先行する第一先行指令が、基準移動指令とは異なる保持部又は主軸の移動を示すか否かを判定する第一判定部と、第一判定部にて、第一先行指令が前記移動を示すと判定した場合、第一先行指令の実行時に要する保持部又は主軸の第一移動時間が、基準移動指令の実行前に行う保持部又は主軸の制動解除に要する解除時間よりも大きいか否かを判定する第二判定部とを備え、第二判定部にて、第一移動時間が解除時間よりも大きいと判定した場合、第一先行指令と保持部又は主軸の制動解除とを並行して実行する。【選択図】図５
2018173912.tif 000002
【特許請求の範囲】
【請求項１】
ワークを保持し、移動可能な保持部と、工具を装着し、移動可能な主軸と、複数の指令を順に読み出して、前記主軸及び保持部の移動を制御する制御装置とを備える工作機械において、
前記制御装置は、
前記保持部又は主軸の移動を示す基準移動指令を読み出した場合、前記基準移動指令に一つ先行する第一先行指令が、前記基準移動指令とは異なる前記保持部又は主軸の移動を示すか否かを判定する第一判定部と、
該第一判定部にて、前記第一先行指令が前記移動を示すと判定した場合、前記第一先行指令の実行時に要する前記保持部又は主軸の第一移動時間が、前記基準移動指令の実行前に行う前記保持部の制動解除に要する解除時間よりも大きいか否かを判定する第二判定部と
を備え、
前記第二判定部にて、前記第一移動時間が前記解除時間よりも大きいと判定した場合、前記第一先行指令と前記保持部の制動解除とを並行して実行すること
を特徴とする工作機械。
【請求項２】
前記制御装置は、
前記第二判定部にて、前記第一移動時間が前記解除時間よりも大きくないと判定した場合、前記第一先行指令に先行する複数の第二先行指令を順に読み出す読出部と、
該読出部が前記第二先行指令を読み出す都度、読み出した前記第二先行指令が前記基準移動指令とは異なる前記保持部又は主軸の移動を示すか否かを判定する第三判定部と、
該第三判定部が前記第二先行指令が前記移動を示すと判定する都度、前記第二先行指令の実行時に要する前記保持部又は主軸の第二移動時間を、前記第一移動時間に加算する加算部と、
該加算部の加算結果が前記解除時間よりも大きくなるか否かを判定する第四判定部と
を備え、
前記第四判定部にて前記加算結果が前記解除時間よりも大きいと判定するまで、前記読出部は、前記複数の第二先行指令を順に読み出し続け、
前記加算部にて、前記加算結果が前記解除時間よりも大きいと判定した場合、前記第二先行指令と前記保持部又は主軸の制動解除とを並行して実行すること
を特徴とする請求項１に記載の工作機械。
【請求項３】
前記第三判定部にて、前記第二先行指令が前記移動を示さないと判定した場合、前記第二先行指令の一つ後の指令と前記保持部又は主軸の制動解除とを並行して実行すること
を特徴とする請求項２に記載の工作機械。
【請求項４】
前記読出部が読み出した前記第二先行指令が変数又は数値の設定を示す場合、前記第三判定部は、前記第二先行指令を判定対象から外すこと
を特徴とする請求項２又は３に記載の工作機械。
【請求項５】
ワークを保持し、移動可能な保持部と、工具を装着し、移動可能な主軸とを備え、複数の指令を順に読み出して、前記主軸及び保持部の移動を制御する工作機械の制御方法において、
前記保持部又は主軸の移動を示す基準移動指令を読み出した場合、前記基準移動指令に一つ先行する第一先行指令が、前記基準移動指令とは異なる前記保持部又は主軸の移動を示すか否かを判定し、
前記第一先行指令が前記移動を示すと判定した場合、前記第一先行指令の実行時に要する前記保持部又は主軸の第一移動時間が、前記基準移動指令の実行前に行う前記保持部の制動解除に要する解除時間よりも大きいか否かを判定し、
前記第一移動時間が前記解除時間よりも大きいと判定した場合、前記第一先行指令と前記保持部の制動解除とを並行して実行すること
を特徴とする工作機械の制御方法。
【請求項６】
ワークを保持し、移動可能な保持部及び工具を装着し、移動可能な主軸の移動を、複数の指令を順に読み出して制御する工作機械の制御装置で利用可能なコンピュータプログラムにおいて、
前記制御装置に、
前記保持部又は主軸の移動を示す基準移動指令を読み出した場合、前記基準移動指令に一つ先行する第一先行指令が、前記基準移動指令とは異なる前記保持部又は主軸の移動を示すか否かを判定させ、
前記第一先行指令が前記移動を示すと判定した場合、前記第一先行指令の実行時に要する前記保持部又は主軸の第一移動時間が、前記基準移動指令の実行前に行う前記保持部の制動解除に要する解除時間よりも大きいか否かを判定させ、
前記第一移動時間が前記解除時間よりも大きいと判定した場合、前記第一先行指令と前記保持部の制動解除とを並行して実行させること
を特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを加工する工作機械、工作機械の制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、ワークを保持するワークテーブルと、工具を装着する主軸とを備える工作機械が提案されている。ワークテーブルは垂直軸回りに回転可能な回転軸と、該回転軸を制動するクランプ装置を備える。主軸は、上下方向、左右方向及び前後方向に移動可能である。工作機械は複数の指令を順に読み込んで動作する（例えば特許文献１参照）。
【０００３】
工作機械は、例えば、回転軸の回転指令の後に、主軸を左右方向又は上下方向に移動する指令が存在する場合、回転軸を回転した後、クランプ装置による回転軸の制動と主軸の左右方向又は上下方向移動を並行して実行する。それ故、加工時間が短縮する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３１３７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば主軸が左右方向に移動した後、ワークテーブルが垂直軸回りに回転する場合、主軸の移動中にクランプ装置は回転軸を制動している。主軸の移動完了後、クランプ装置は回転軸の制動を解除し、回転軸が回転する。主軸の移動が完了するまで回転軸は制動を維持するので、主軸の移動開始から回転軸の回転終了まで長時間を要する。
【０００６】
本発明は係る事情に鑑みてなされたものであり、ワークの加工に要する時間を短縮できる工作機械、工作機械の制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る工作機械は、ワークを保持し、移動可能な保持部と、工具を装着し、移動可能な主軸と、複数の指令を順に読み出して、前記主軸及び保持部の移動を制御する制御装置とを備える工作機械において、前記制御装置は、前記保持部又は主軸の移動を示す基準移動指令を読み出した場合、前記基準移動指令に一つ先行する第一先行指令が、前記基準移動指令とは異なる前記保持部又は主軸の移動を示すか否かを判定する第一判定部と、該第一判定部にて、前記第一先行指令が前記移動を示すと判定した場合、前記第一先行指令の実行時に要する前記保持部又は主軸の第一移動時間が、前記基準移動指令の実行前に行う前記保持部の制動解除に要する解除時間よりも大きいか否かを判定する第二判定部とを備え、前記第二判定部にて、前記第一移動時間が前記解除時間よりも大きいと判定した場合、前記第一先行指令と前記保持部の制動解除とを並行して実行することを特徴とする。
【０００８】
本発明においては、制御装置が基準移動指令を読み出した場合、これに一つ先行する第一先行指令を参照する。第一先行指令が基準移動指令とは異なる保持部又は主軸の移動を示す場合、第一先行指令での第一移動時間が、基準移動指令の実行前に行う保持部制動解除に要する時間よりも大きいときには、第一先行指令と制動解除とを並行して実行する。第一先行指令に基づく移動中に制動解除が完了する。
【０００９】
本発明に係る工作機械は、前記制御装置は、前記第二判定部にて、前記第一移動時間が前記解除時間よりも大きくないと判定した場合、前記第一先行指令に先行する複数の第二先行指令を順に読み出す読出部と、該読出部が前記第二先行指令を読み出す都度、読み出した前記第二先行指令が前記基準移動指令とは異なる前記保持部又は主軸の移動を示すか否かを判定する第三判定部と、該第三判定部が前記第二先行指令が前記移動を示すと判定する都度、前記第二先行指令の実行時に要する前記保持部又は主軸の第二移動時間を、前記第一移動時間に加算する加算部と、該加算部の加算結果が前記解除時間よりも大きくなるか否かを判定する第四判定部とを備え、前記第四判定部にて前記加算結果が前記解除時間よりも大きいと判定するまで、前記読出部は、前記複数の第二先行指令を順に読み出し続け、前記加算部にて、前記加算結果が前記解除時間よりも大きいと判定した場合、前記第二先行指令と前記保持部又は主軸の制動解除とを並行して実行することを特徴とする。
【００１０】
本発明においては、第一移動時間が制動の解除時間よりも大きくない場合、制御装置は第一先行指令に先行する複数の第二先行指令を順に読み出す。第二先行指令を読み出す都度、第二先行指令が基準移動指令とは異なる保持部又は主軸の移動を示す場合、第二先行指令での第二移動時間を第一移動時間に加算する。制御装置は、加算結果が前記解除時間よりも大きいと判定するまで、前記移動を示す第二先行指令を順に読み出し、第二移動時間を加算し続ける。加算結果が解除時間よりも大きくなった場合、第二移動時間を加算した最先の第二先行指令と制動解除とを並行して実行する。一又は複数の第二先行指令に基づく移動中に制動解除が完了する。
【００１１】
本発明に係る工作機械は、前記第三判定部にて、前記第二先行指令が前記移動を示さないと判定した場合、前記第二先行指令の一つ後の指令と前記保持部又は主軸の制動解除とを並行して実行することを特徴とする。
【００１２】
本発明においては、第二先行指令が基準移動指令とは異なる保持部又は主軸の移動を示さない場合、例えば工具交換指令又はクーラントの送出指令等である場合、第二先行指令の一つ後の指令と制動解除とを並行して実行する。読み込んだ第二先行指令が制動解除との並行実行が不可能である場合、制御装置は前記第二移動時間の加算を行わず、前記第二先行指令の後の移動指令と制動解除とを並行して実行する。
【００１３】
本発明に係る工作機械は、前記読出部が読み出した前記第二先行指令が変数又は数値の設定を示す場合、前記第三判定部は、前記第二先行指令を判定対象から外すことを特徴とする。
【００１４】
本発明においては、読み出した第二先行指令が変数又は数値の設定を示す場合、第三判定部はその第二先行指令を判定対象から外す。例えば、変数に数値を設定する指令、又は呼び出したマクロプログラムに対して引数を設定する指令は、基準移動指令とは異なる前記保持部又は主軸の移動を示す指令ではない。一方で移動指令の実行に影響を与える指令でもない。故に、変数又は数値の設定を示す指令が存在する場合、これを無視して、第三判定部が判定を継続しても、移動指令と制動解除との並行実行に影響しない。
【００１５】
本発明に係る工作機械の制御方法は、ワークを保持し、移動可能な保持部と、工具を装着し、移動可能な主軸とを備え、複数の指令を順に読み出して、前記主軸及び保持部の移動を制御する工作機械の制御方法において、前記保持部又は主軸の移動を示す基準移動指令を読み出した場合、前記基準移動指令に一つ先行する第一先行指令が、前記基準移動指令とは異なる前記保持部又は主軸の移動を示すか否かを判定し、前記第一先行指令が前記移動を示すと判定した場合、前記第一先行指令の実行時に要する前記保持部又は主軸の第一移動時間が、前記基準移動指令の実行前に行う前記保持部の制動解除に要する解除時間よりも大きいか否かを判定し、前記第一移動時間が前記解除時間よりも大きいと判定した場合、前記第一先行指令と前記保持部の制動解除とを並行して実行することを特徴とする。
【００１６】
本発明に係るコンピュータプログラムは、ワークを保持し、移動可能な保持部及び工具を装着し、移動可能な主軸の移動を、複数の指令を順に読み出して制御する工作機械の制御装置で利用可能なコンピュータプログラムにおいて、前記制御装置に、前記保持部又は主軸の移動を示す基準移動指令を読み出した場合、前記基準移動指令に一つ先行する第一先行指令が、前記基準移動指令とは異なる前記保持部又は主軸の移動を示すか否かを判定させ、前記第一先行指令が前記移動を示すと判定した場合、前記第一先行指令の実行時に要する前記保持部又は主軸の第一移動時間が、前記基準移動指令の実行前に行う前記保持部の制動解除に要する解除時間よりも大きいか否かを判定させ、前記第一移動時間が前記解除時間よりも大きいと判定した場合、前記第一先行指令と前記保持部の制動解除とを並行して実行させることを特徴とする。
【発明の効果】
【００１７】
本発明に係る工作機械、工作機械の制御方法及びコンピュータプログラムにあっては、制御装置が基準移動指令を読み出した場合、これに一つ先行する第一先行指令を参照する。第一先行指令が基準移動指令とは異なる保持部又は主軸の移動を示す場合、第一先行指令での移動時間が、基準移動指令の実行前に行う保持部の制動解除に要する時間よりも大きいときには、第一先行指令と制動解除とを並行して実行する。第一先行指令に基づく移動中に制動の解除が完了するので、工作機械は基準移動指令を直ちに実行し、加工時間を短縮できる。
【図面の簡単な説明】
【００１８】
【図１】実施の形態に係る工作機械の斜視図である。
【図２】工具交換装置及び軌道を覆うカバー等を省略した斜視図である。
【図３】ワーク保持装置の正面側斜視図である。
【図４】回転台及びＣ軸駆動部の縦断正面図である。
【図５】制御装置の構成を略示するブロック図である。
【図６】制御プログラムの一例を示す概念図である。
【図７】制御装置による制動解除処理を説明するフローチャートである。
【図８】制御装置による制動解除処理を説明するフローチャートである。
【図９】制御プログラムの他の例を示す概念図である。
【発明を実施するための形態】
【００１９】
以下本発明を実施の形態に係る工作機械を示す図面に基づいて説明する。以下の説明では図において矢印で示す上下、左右及び前後を使用する。作業者は前方で工作機械を操作し、ワークの着脱を行う。図１は工作機械の斜視図であり、図２は工具交換装置及び軌道を覆うカバー等を省略した斜視図である。
【００２０】
工作機械１００は、基台２０、Ｙ軸方向移動装置２２、Ｘ軸方向移動装置２６、立柱２８、Ｚ軸方向移動装置３０、主軸ヘッド３２、工具交換装置１０等を備える。Ｘ軸方向は左右方向に対応し、Ｙ軸方向は前後方向に対応する。基台２０は床面上に固定してある。基台２０は、Ｙ軸方向移動装置２２、Ｘ軸方向移動装置２６を介して立柱２８を前後方向及び左右方向に移動可能に支持する。基台２０はワーク保持装置１２０を支持する。立柱２８にＺ軸方向移動装置３０が設けてある。Ｚ軸方向移動装置３０は主軸ヘッド３２を上下方向に移動する。工具交換装置１０は、主軸ヘッド３２に装着する工具を交換する。
【００２１】
Ｙ軸方向移動装置２２は、互いに平行な二つの軌道２２ａ、複数の移動体２２ｂ、Ｙ軸方向移動台２２ｃ及びＹ軸モータ２２ｄ（図５参照）を備える。軌道２２ａは基台２０の上面にて前後方向に延びる。移動体２２ｂは二つの軌道２２ａ夫々に前後方向に移動可能に嵌合する。Ｙ軸方向移動台２２ｃは二つの軌道２２ａに跨がって移動体２２ｂ上に固定してある。Ｙ軸モータ２２ｄの駆動によって、Ｙ軸方向移動台２２ｃは前後方向に移動する。
【００２２】
Ｘ軸方向移動装置２６は、互いに平行な二つの軌道２６ａ、複数の移動体２６ｂ、立柱台２６ｃ及びＸ軸モータ２６ｄ（図５参照）を備える。軌道２６ａはＹ軸方向移動台２２ｃの上面に左右方向に延びる。移動体２６ｂは二つの軌道２６ａ夫々に左右方向に移動可能に嵌合する。立柱台２６ｃは二つの軌道２６ａに跨がって移動体２６ｂ上に固定してある。立柱２８は立柱台２６ｃ上に固定してある。Ｘ軸モータ２６ｄの駆動によって、立柱台２６ｃは左右方向に移動する。立柱２８は、Ｙ軸方向移動装置２２及びＸ軸方向移動装置２６によって前後方向及び左右方向に移動する。
【００２３】
Ｚ軸方向移動装置３０は、互いに平行な二つの軌道３０ａ、複数の移動体３０ｂ、主軸ヘッド台３０ｃ及びＺ軸モータ３０ｄ（図５参照）を備える。軌道３０ａは、立柱２８の前面に上下方向に延びる。複数の移動体３０ｂは二つの軌道３０ａ夫々に上下方向に移動可能に嵌合する。主軸ヘッド台３０ｃは二つの軌道３０ａに跨がって移動体３０ｂの前面に固定してある。Ｚ軸モータ３０ｄの駆動によって、主軸ヘッド台３０ｃは上下方向に移動する。
【００２４】
主軸ヘッド３２は主軸ヘッド台３０ｃに固定してある。主軸ヘッド３２は、前側内部に上下方向に延びる主軸３４を回転可能に保持する。主軸３４は中空の筒形状をなす。Ｘ軸モータ２６ｄ、Ｙ軸モータ２２ｄ及びＺ軸モータ３０ｄを駆動制御することで、主軸ヘッド３２は前後、左右及び上下に移動する。
【００２５】
工具交換装置１０は、長円形の軌道（図示略）、該軌道を移動する複数の移動台（図示略）を備える。軌道は主軸ヘッド３２及び立柱２８を囲み、前側下方から後側上方へ延び、水平面から所定角度傾斜する。複数の移動台はリンクによってチェーン状に結合されている。図１に示すように、ギア５１及び駆動モータ５２が軌道の内側に配置してある。ギア５１は駆動モータ５２に連結し、駆動モータ５２の駆動によって回転する。複数の移動台はギア５１に噛合し、駆動モータ５２の駆動によって軌道上を回転する。各移動台は把持アーム５３を支持する。
【００２６】
空の把持アーム５３を工具交換装置１０の軌道の前端部に配置し、工具ホルダ１１を装着した主軸３４が上昇することによって、把持アーム５３は工具ホルダ１１を主軸３４から取り外して把持する。工具ホルダ１１を把持する把持アーム５３を工具交換装置１０の軌道の前端部に配置し、工具ホルダ１１を把持していない主軸３４が下降することによって、主軸３４は工具ホルダ１１を装着する。
【００２７】
図３は、ワーク保持装置１２０の正面側斜視図である。ワーク保持装置１２０は、支持台１２１を備える。支持台１２１の左右部夫々に、左右方向を軸方向とした軸部１２２が設けてある。以下軸部１２２の中心軸をＡ軸とも称する。左側の軸部１２２は支持部１２４によって、Ａ軸回りに回転可能に支持してある。支持部１２４は基台２０に連結する。
【００２８】
右側の軸部１２２は支持部１２３によって、Ａ軸回りに回転可能に支持してある。支持部１２３にはＡ軸モータ１２５が設けてある。支持部１２３内にギヤ、カム、カムフォロワ等の伝動部材（図示略）が収容してある。Ａ軸モータ１２５の回転は伝動部材を介して軸部１２２に伝達し、支持台１２１はＡ軸回りに回転する。支持台１２１の上部に回転台１２７が設けてあり、支持台１２１の下部にＣ軸駆動部１２６が設けてある。
【００２９】
図４は回転台１２７及びＣ軸駆動部１２６の縦断正面図である。Ｃ軸駆動部１２６はハウジング６１、Ｃ軸モータ７９、回転軸７７等を備える。ハウジング６１は、胴体部６２、底板６３、軸受ホルダ６４、上板６５等を備え、有底円筒状をなす。胴体部６２は円筒状であり、内周にステータ７９ａが固定してある。
【００３０】
軸受ホルダ６４は、上下に延びた円筒部と、該円筒部の下端部から径方向外向きに突出した鍔部とを備える。軸受ホルダ６４は鍔部を下側にして、胴体部６２の上端部に同軸的に固定してある。軸受ホルダ６４の内周に軸受７５が設けてある。軸受ホルダ６４の上側に円環状の上板６５が同軸的に設けてある。底板６３は円環状をなし、胴体部６２の下端部に同軸的に設けてある。底板６３の内周に軸受７６が設けてある。
【００３１】
ハウジング６１の中心部分に回転軸７７が挿入してある。以下、回転軸７７の中心軸をＣ軸とも称する。軸受７５、７６は回転軸７７をＣ軸回りに回転可能に支持する。回転軸７７の上下方向の中途部にロータ７９ｂが固定してある。ステータ７９ａ及びロータ７９ｂはＣ軸モータ７９を構成する。回転軸７７の上端部に回転台１２７が固定してある。
【００３２】
Ａ軸モータ１２５の回転によって、回転台１２７はＡ軸回りに回転する。Ｃ軸モータ７９の回転によって、回転台１２７はＣ軸回りに回転する。Ｃ軸は上下方向に延びる軸であるが、本実施例においては支持台１２１がＡ軸回りに回転するので、Ｃ軸の向きはＡ軸周りの回転により変化する。
【００３３】
回転軸７７の外周にブレーキ板７０が固定してある。ブレーキ板７０は軸受ホルダ６４と上板６５の間に配置してある。ブレーキ板７０の下側にブレーキ室７０ａが形成してある。ブレーキ室７０ａは、ブレーキ板７０の下面、軸受ホルダ６４の円筒部の外周面、軸受ホルダ６４の鍔部の上面及び上板６５の下部に囲まれた空間である。
【００３４】
ブレーキ室７０ａには、ピストン７１が上下動可能に設けてある。上板６５に通流路７２が形成してある。通流路７２は上板６５を貫通する。通流路７２によって、ピストン７１の上面と上板６５の間の空間と、外部とが連通する。軸受ホルダ６４に通流路７３が形成してある。通流路７３は軸受ホルダ６４を貫通する。通流路７３によって、ピストン７１の下面と軸受ホルダ６４の間の空間と、外部とが連通する。
【００３５】
コンプレッサＣが電磁バルブＶ１を介して通流路７２に接続し、電磁バルブＶ２を介して通流路７３に接続する。電磁バルブＶ１を開けて、電磁バルブＶ２を閉じ、コンプレッサＣから通流路７２に空気を導入した場合、ピストン７１は下降してブレーキ板７０から離れ、回転軸７７の回転、即ちＣ軸回りの回転の制動を解除する。電磁バルブＶ２を開けて、電磁バルブＶ１を閉じ、コンプレッサＣから通流路７３に空気を導入した場合、ピストン７１は上昇してブレーキ板７０に接触し、回転軸７７の回転、即ちＣ軸回りの回転を制動する。
【００３６】
工作機械は制御装置８０を備える。図５は、制御装置８０の構成を略示するブロック図である。制御装置８０はバスを介して相互に接続されたＣＰＵ８０ａ、情報を一時的に記憶するＲＡＭ８０ｂ、制御プログラムを格納している書換可能な記憶部８０ｃ、入出力インタフェース（入出力Ｉ／Ｆ）８０ｄ等を備える。
【００３７】
ＣＰＵ８０ａは記憶部８０ｃから制御プログラムをＲＡＭ８０ｂに読出し、工作機械の制御を行う。ＣＰＵ８０ａは、Ｘ軸モータ２６ｄ、Ｙ軸モータ２２ｄ、Ｚ軸モータ３０ｄ、Ａ軸モータ１２５、Ｃ軸モータ７９に駆動信号を出力する。Ｘ軸モータ２６ｄ、Ｙ軸モータ２２ｄ、Ｚ軸モータ３０ｄ、Ａ軸モータ１２５、Ｃ軸モータ７９は、夫々エンコーダ（図示略）を備えており、エンコーダの検出値をフィードバック信号として、目標位置まで回転する。ＣＰＵ８０ａは、電磁バルブＶ１、Ｖ２に開信号又は閉信号を出力する。
【００３８】
図６は、制御プログラムの一例を示す概念図である。制御プログラムは複数のブロックを備え、ブロックはブロック番号と指令とを有する。図６において、「番号」はブロック番号を示し、「指令」は指令の内容を示す。ＣＰＵ８０ａは番号順に指令を実行する。
【００３９】
「Ｍ６」は工具交換指令を示し、「Ｔ１」は主軸３４に装着する工具を示す。第ｎ−２番の「Ｍ６Ｔ１」は主軸３４に装着する工具を工具Ｔ１に交換することを示す。「Ｇ０」は主軸３４又はワーク保持装置１２０の位置決めを示す。第ｎ−１番の「Ｇ０Ｚ５０」は主軸３４をＺ軸方向座標５０に位置決めすることを示し、第ｎ番の「Ｇ０Ｘ５」は主軸３４をＸ軸方向座標５に位置決めすることを示す。何れも数値の単位はミリである。第ｎ＋１番の「Ｇ０Ｃ９０」は、Ｃ軸回りの角度が９０度になるようにワーク保持装置１２０を位置決めすることを示す。
【００４０】
図７及び図８は、制御装置８０による制動解除処理を説明するフローチャートである。ＣＰＵ８０ａは、連続した複数のブロックを読み込み（ステップＳ１）、読み込んだブロックにＣ軸回りの位置決め指令（基準移動指令）が存在するか否かを判定する（ステップＳ２）。
【００４１】
Ｃ軸回りの位置決め指令が存在しない場合（ステップＳ２：ＮＯ）、ＣＰＵ８０ａは読み込んだブロックの指令を実行し（ステップＳ６）、全ブロックを読み込んだか否かを判定する（ステップＳ１６）。全ブロックを読み込んでない場合（ステップＳ１６：ＮＯ）、ＣＰＵ８０ａは、一又は複数のブロックを更に読み込み（ステップＳ１７）、ステップＳ２に処理を戻す。
【００４２】
Ｃ軸回りの位置決め指令が存在する場合（ステップＳ２：ＹＥＳ）、例えば図６の第ｎ＋１番のブロックを読み込んだ場合、ＣＰＵ８０ａは変数ｋに１を設定し（ステップＳ３）、第ｎ＋１番よりもｋ先行するブロック（第ｋ先行ブロック）を参照する（ステップＳ４）。
【００４３】
ＣＰＵ８０ａは、第ｋ先行ブロックがＣ軸以外の軸の位置決め指令を示すか否かを判定する（ステップＳ５）。第ｋ先行ブロックがＣ軸以外の軸の位置決め指令を示さない場合（ステップＳ５：ＮＯ）、ＣＰＵ８０ａはステップＳ６に処理を進める。
【００４４】
第ｋ先行ブロックがＣ軸以外の軸の位置決め指令を示す場合（ステップＳ５：ＹＥＳ）、例えば、第ｋ先行ブロックが図６の第ｎ番のブロックである場合、ＣＰＵ８０ａは、第ｋ先行ブロックの位置決め指令を実行した場合に要する主軸３４又はワーク保持装置１２０の移動時間（第一移動時間）を演算する（ステップＳ７）。例えば、主軸３４又はワーク保持装置１２０の移動速度は予め設定されており、ＣＰＵ８０ａは、主軸３４又はワーク保持装置１２０の所在位置と第ｋ先行ブロックが示す位置との間の距離、即ち移動距離を演算し、移動距離を移動速度で除し、移動時間を演算する。
【００４５】
ＣＰＵ８０ａは、演算した移動時間が、回転軸７７の制動解除に要する解除時間よりも大きいか否かを判定する（ステップＳ８）。移動時間が解除時間よりも大きい場合（ステップＳ８：ＹＥＳ）、ＣＰＵ８０ａは、第ｋ先行ブロックの指令の実行時に、回転軸７７の制動解除を並行して実行する設定を行う（ステップＳ１５）。移動時間が解除時間よりも大きいので、第ｋ先行ブロックの指令を実行している間に、回転軸７７の制動解除が完了する。ＣＰＵ８０ａは、ステップＳ１６に処理を進める。
【００４６】
移動時間が解除時間よりも大きくない場合（ステップＳ８：ＮＯ）、ＣＰＵ８０ａはｋを一つ加算し（ステップＳ９）、第ｋ先行ブロックを参照し（ステップＳ１０）、参照した第ｋ先行ブロックがＣ軸以外の軸の位置決め指令を示すか否かを判定する（ステップＳ１１）。
【００４７】
第ｋ先行ブロックがＣ軸以外の軸の位置決め指令を示さない場合（ステップＳ１１：ＮＯ）、ＣＰＵ８０ａは、第ｋ−１先行ブロックの指令の実行時に、回転軸７７の制動解除を並行して実行する設定を行う（ステップＳ１２）。例えば、図６の第ｎ−２番のブロックが第ｋ先行ブロックである場合、第ｋ先行ブロックは工具交換指令である。この場合、第ｋ−１先行ブロック（第ｋ先行ブロックの一つ後のブロック）の指令の実行時に、電磁バルブＶ２を閉じ、電磁バルブＶ１を開ける。コンプレッサＣから通流路７２に空気を導入し、ピストン７１は下降してブレーキ板７０から離れ、回転軸７７の制動を解除する。即ち、第ｋ−１先行ブロックの指令と回転軸７７の制動解除を並行して実行する。なお第ｋ先行ブロックに、工具交換指令に代えて、クーラント吐出指令「Ｍ８」を設定した場合、クーラント吐出指令と回転軸７７の制動解除は並行実行ができず、第ｋ−１先行ブロックの指令の実行時に、回転軸７７の制動解除を並行して実行する。そしてＣＰＵ８０ａはステップＳ１６に処理を進める。
【００４８】
第ｋ先行ブロックがＣ軸以外の軸の位置決め指令を示す場合（ステップＳ１１：ＹＥＳ）、ＣＰＵ８０ａは、第ｋ先行ブロックの位置決め指令を実行した場合に要する主軸３４又はワーク保持装置１２０の移動時間（第二移動時間）を演算し、先に演算した移動時間（第一移動時間）に加算する（ステップＳ１３）。
【００４９】
ＣＰＵ８０ａは、加算した移動時間が解除時間よりも大きいか否かを判定する（ステップＳ１４）。加算した移動時間が解除時間よりも大きくない場合（ステップＳ１４：ＮＯ）、ＣＰＵ８０ａはステップＳ９に処理を戻す。
【００５０】
加算した移動時間が解除時間よりも大きい場合（ステップＳ１４：ＹＥＳ）、ＣＰＵ８０ａは、第ｋ先行ブロックの指令の実行時に、回転軸７７の制動解除を並行して実行する設定を行う（ステップＳ１５）。ＣＰＵ８０ａは、全ブロックを読み込んだか否かを判定する（ステップＳ１６）。
【００５１】
全ブロックを読み込んでない場合（ステップＳ１６：ＮＯ）、ＣＰＵ８０ａは、一又は複数のブロックを更に読み込み（ステップＳ１７）、ステップＳ２に処理を戻す。全ブロックを読み込んだ場合（ステップＳ１６：ＹＥＳ）、ＣＰＵ８０ａは処理を終了する。
【００５２】
実施の形態に係る工作機械、工作機械の制御方法及びコンピュータプログラムにあっては、制御装置８０がＣ軸回りの位置決め指令、即ち基準移動指令を読み出した場合（ステップＳ２：ＹＥＳ）、これに一つ先行する第ｋ先行指令（ｋ＝１）、即ち第一先行指令を参照する（ステップＳ４）。第一先行指令が基準移動指令とは異なる主軸３４又はワーク保持装置１２０の移動を示す場合（ステップＳ５：ＹＥＳ）、第一先行指令での移動時間が、基準移動指令の実行前に行う回転軸７７の制動解除に要する時間よりも大きいときには（ステップＳ８：ＹＥＳ）、第一先行指令と制動解除とを並行して実行する（ステップＳ１５）。第一先行指令に基づく移動中に制動の解除が完了するので、工作機械は基準移動指令を直ちに実行し、加工時間を短縮できる。
【００５３】
また第一移動時間が制動の解除時間よりも大きくない場合（ステップＳ８：ＮＯ）、制御装置８０は第一先行指令に先行する複数の第二先行指令を順に読み出す（ステップＳ９、ステップＳ１０）。第二先行指令を読み出す都度、第二先行指令が基準移動指令とは異なる保持部又は主軸の移動を示す場合（ステップＳ１１：ＹＥＳ）、第二先行指令での第二移動時間を第一移動時間に加算する（ステップＳ１３）。制御装置は、加算結果が前記解除時間よりも大きいと判定するまで、前記移動を示す第二先行指令を順に読み出し、第二移動時間を加算し続ける（ステップＳ１４：ＮＯ）。加算結果が解除時間よりも大きくなった場合、第二移動時間を加算した最先の第二先行指令と制動解除とを並行して実行する（ステップＳ１５）。一又は複数の第二先行指令の実行中に制動解除が完了する。
【００５４】
また第二先行指令が基準移動指令とは異なる主軸３４又はワーク保持装置１２０の移動を示さない場合、例えば工具交換指令又はクーラントの送出指令等である場合（ステップＳ１１：ＮＯ）、第二先行指令の一つ後の指令と制動解除とを並行して実行する（ステップＳ１２）。読み込んだ第二先行指令が制動解除との並行実行が不可能である場合、制御装置は前記第二移動時間の加算を行わず、前記第二先行指令の後の移動指令と制動解除とを並行して実行する。
【００５５】
図９は、制御プログラムの他の例を示す概念図である。図９において、「Ｇ６５」はマクロプログラムの呼び出しを示し、「Ｐ１００」は呼び出すマクロプログラムを示し、「Ａ１００」は、呼び出したマクロプログラムに対する引数の設定を示す。
【００５６】
図９に示すように、第ｎ＋１番のブロックにＣ軸回りの位置決め指令（基準移動指令）が存在し、第ｎ番のブロックにマクロプログラムの呼び出しが存在する場合に、先行ブロックを参照するとき、制御装置８０は、第ｎ番のブロックを無視して、呼び出したマクロプログラムの最後の指令を参照する。呼び出したマクロプログラムに対して引数を設定する指令は、主軸３４又はワーク保持装置１２０の移動を示す指令ではない。一方で移動指令の実行に影響を与える指令でもない。故に、変数又は数値の設定を示す指令が存在する場合、これを無視して、ステップＳ１１での判定を継続しても、移動指令と制動解除との並行実行に影響しない。変数又は数値の設定を示す指令が存在する場合でも、先行ブロックの参照を継続し、ワークの加工時間の短縮を促進することができる。なお変数を呼び出して、変数に数値を設定する指令も同様である。
【００５７】
なおステップＳ５、ステップＳ１１において、参照した第ｋ先行ブロックの指令が、Ｃ軸以外の軸の位置決め指令と、位置決め指令以外であって且つ回転軸７７の制動解除との並行実行ができない指令を含む場合、例えば「Ｇ０Ｘ５Ｍ０８」のように、Ｘ軸の位置決め指令とクーラント吐出指令を含む場合、ＣＰＵ８０ａは、第ｋ先行ブロックはＣ軸以外の軸の位置決め指令を示さないと判定する（ステップＳ５：ＮＯ、ステップＳ１１：ＮＯ）。
【００５８】
またステップＳ５、ステップＳ１１において、参照した第ｋ先行ブロックの指令が、Ｃ軸以外の軸の位置決め指令と、位置決め指令以外であって且つ回転軸７７の制動解除との並行実行ができる指令を含む場合、例えば「Ｇ０Ｘ５Ｇ６５Ｐ１００Ａ１００」のように、Ｘ軸の位置決め指令とマクロプログラムの呼び出し及び引数の設定を含む場合、ＣＰＵ８０ａは、第ｋ先行ブロックはＣ軸以外の軸の位置決め指令を示すと判定する（ステップＳ５：ＹＥＳ、ステップＳ１１：ＹＥＳ）。
【００５９】
実施の形態においては、ワーク保持装置１２０のＣ軸回りの位置決め指令を基準移動指令にしているが、ワーク保持装置１２０のＡ軸回りの位置決め指令、又は主軸３４のＸ軸方向、Ｙ軸方向若しくはＺ軸方向の位置決め指令を基準移動指令にしてもよい。この場合、基準移動指令の軸について制動機構を設ける。
【符号の説明】
【００６０】
２２ｄ  Ｙ軸モータ
２６ｄ  Ｘ軸モータ
３０ｄ  Ｚ軸モータ
３４  主軸
７０  ブレーキ板
７１  ピストン
７９  Ｃ軸モータ
８０  制御装置
８０ａ  ＣＰＵ
８０ｂ  ＲＡＭ
８０ｃ  記憶部
８０ｄ  入出力Ｉ／Ｆ
１２０  ワーク保持装置（保持部）
１２５  Ａ軸モータ
Ｖ１、Ｖ２  電磁バルブ
【図１】
2018173912.tif 000003
【図２】
2018173912.tif 000004
【図３】
2018173912.tif 000005
【図４】
2018173912.tif 000006
【図５】
2018173912.tif 000007
【図６】
2018173912.tif 000008
【図７】
2018173912.tif 000009
【図８】
2018173912.tif 000010
【図９】
2018173912.tif 000011