(57)【要約】【課題】タレット刃物台における一連の工具交換動作時間をより短くする。【解決手段】タレット刃物台２２の退避位置から割出可能領域の境界までアプローチ動作により刃物台２２が移動する時間ｔ４と、刃物台２２の退避動作完了後におけるタレットの割出動作に要する時間Ｔ１とを算出し、割出動作の完了する時点が、アプローチ動作によって刃物台２２が割出可能領域の境界に達する時点と同じかそれよりも早くなるようなタイミングに刃物台２２のアプローチ動作の開始タイミングを設定することにより、刃物台２２のアプローチ動作中にもタレットの割出動作をオーバーラップさせるとともに、アプローチ動作によって刃物台２２が割出可能領域の境界に達するまでには割出動作が常に完了するようにして、アプローチ動作が途中でいったん停止することもなく、タレットの割出動作を最後まで刃物台２２のアプローチ動作と同時に行うことができるようにする。【選択図】図２
2010173022.tif 000002
【特許請求の範囲】
【請求項１】
複数の工具取付面を有するタレットの割出動作と、上記タレットが設置された刃物台の退避動作およびアプローチ動作とを制御する工作機械の制御装置であって、
上記刃物台の退避動作が完了した位置である退避位置から、上記タレットが旋回しても被加工物と干渉しない領域である割出可能領域の境界まで、上記アプローチ動作によって上記刃物台が移動する時間である刃物アプローチ時間を算出するアプローチ時間算出部と、
上記刃物台の退避動作完了後における上記タレットの割出動作に要する時間であるタレット割出時間を算出する割出時間算出部と、
上記アプローチ時間算出部により算出された上記刃物台アプローチ時間と上記割出時間算出部により算出された上記タレット割出時間とを比較し、その比較結果に応じて、上記割出動作の完了する時点が、上記アプローチ動作によって上記刃物台が上記割出可能領域の境界に達する時点と同じかそれよりも早くなるようなタイミングに、上記刃物台のアプローチ動作の開始タイミングを設定する動作開始タイミング設定部とを備えたことを特徴とする工作機械の制御装置。
【請求項２】
上記動作開始タイミング設定部は、上記刃物台アプローチ時間が上記タレット割出時間より短い場合には、上記刃物台アプローチ時間と上記タレット割出時間との差分時間だけ上記刃物台の退避動作完了から経過したタイミングを上記刃物台のアプローチ動作の開始タイミングとして設定する一方、上記刃物台アプローチ時間が上記タレット割出時間より短くない場合には、上記刃物台の退避動作の完了タイミングを上記刃物台のアプローチ動作の開始タイミングとして設定することを特徴とする請求項１に記載の工作機械の制御装置。
【請求項３】
上記割出時間算出部は、上記タレット割出時間として、上記タレットの割出動作のうちクランプが完了するまでに要する時間を算出することを特徴とする請求項１または２に記載の工作機械の制御装置。
【請求項４】
上記割出時間算出部は、上記タレット割出時間として、上記タレットの割出動作のうち旋回が完了するまでに要する時間を算出することを特徴とする請求項１または２に記載の工作機械の制御装置。
【請求項５】
複数の工具取付面を有するタレットが設置された刃物台のアプローチ動作を制御する刃物台の移動制御方法であって、
上記複数の工具取付面に取り付けられる複数の工具のうち何れかを選択する工具呼出指令を検出したときに、上記刃物台の退避動作が完了した位置である退避位置から、上記タレットが旋回しても被加工物と干渉しない領域である割出可能領域の境界まで、上記アプローチ動作によって上記刃物台が移動する時間である刃物台アプローチ時間を算出する第１のステップと、
上記工具呼出指令を検出したときに、上記刃物台の退避動作完了後における上記タレットの割出動作に要する時間であるタレット割出時間を算出する第２のステップと、
上記第１のステップで算出された上記刃物台アプローチ時間と上記第２のステップで算出された上記タレット割出時間とを比較し、その比較結果に応じて、上記割出動作の完了する時点が、上記アプローチ動作によって上記刃物台が上記割出可能領域の境界に達する時点と同じかそれよりも早くなるようなタイミングに上記刃物台のアプローチ動作の開始タイミングを設定する第３のステップとを有することを特徴とする刃物台の移動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の制御装置および刃物台の移動制御方法に関し、特に、刃物台の早送り動作とタレットの割出動作とを同時に行うように制御する工作機械の制御装置に用いて好適なものである。
【背景技術】
【０００２】
一般に、自動旋盤などの工作機械は、被加工物（ワーク）を着脱可能に把持する主軸を備えた主軸台と、ワークを加工する複数種類の工具を保持する刃物台とを備えた構成になっている。スイス型自動旋盤では、主軸を備えた主軸台が、主軸の軸心方向と平行なＺ１軸方向に移動可能に設置されている。また、主軸の前方にはガイドブッシュが設置されていて、主軸に把持されたワークの先端部を支持するように構成されている。ガイドブッシュを挟んで主軸台の反対側には、背面主軸を備えた背面主軸台が設置されている。背面主軸台は、Ｚ１軸方向と平行なＺ２軸方向に移動可能に成されている。
【０００３】
また、ガイドブッシュの周囲には、工具として各種の刃物を備えたタレット刃物台が設置されている。タレット刃物台は、複数の工具取付面を有するタレットを備えている。そして、このタレット刃物台は、Ｚ１軸方向に直行するＸ１軸方向とＹ１軸方向に刃物台が移動可能に成されるとともに、複数の工具のうち何れか１つを所定の場所に割り出すべくタレットが旋回可能に成されている。工具の割り出しは、タレットのアンクランプ、旋回、クランプの３つの動作を順番に行うものである。ワークの加工時には、噛み合い継手等のクランプ手段によってタレットが旋回阻止状態（クランプ状態）とされる。
【０００４】
上記構成をなす自動旋盤において、タレットに取り付けられている工具を選択する場合には、次のような動作により行うことになる。すなわち、自動旋盤の制御装置は、ＮＣ（numerical control）プログラムの指令において、まず任意の工具取付面を選択する指令（工具の呼出指令を表すＴコード）を出し、次いで別の指令として刃物位置決め指令（刃物台の移動指令を表すＧコード）を出す。Ｔコード指令が出されると、刃物台の退避動作とタレットの割出動作とが行われ、次のＧコード指令が出されると、刃物台のアプローチ動作が行われる。
【０００５】
すなわち、図１１に示すように、Ｔコード指令が出されると、タレットを旋回しても刃物とワークとが干渉しない位置まで刃物台がＸ軸方向に移動して退避された後、タレットの割り出し（アンクランプ、旋回、クランプ）が行われる。次いで、割出動作の完了後にＧコード指令が出されると、当該Ｇコード指令で指定された位置、すなわち、刃物でワークを加工できる位置まで刃物台がＸ軸方向に移動する。なお、図１１において、横軸は時間を表し、縦軸は移動または回転の速度を表している。
【０００６】
従来、タレット刃物台の工具交換を短時間で行えるようにするために、刃物台の早送り動作とタレットの割出動作とを同時に行うようにした技術が提案されている（例えば、特許文献１，２参照）。特許文献１に記載の工作機械では、刃物台の退避動作時にタレットのアンクランプだけを同時に行うようにしている。特許文献２に記載の工作機械では、刃物台の退避動作中にタレットが割出可能領域内に入ったことを確認して、タレットの旋回を開始する。また、その後のアプローチ動作でタレットが割出可能領域外まで近づいて来たときにまだ旋回が完了していなければ、いったんアプローチ動作を停止し、タレットの旋回が完了してからアプローチ動作を再開するようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−３００５７７号公報
【特許文献２】特開平１１−３４７８８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の技術では、刃物台の移動とタレットのアンクランプとを同時に行うことができるだけなので、一連の工具交換動作時間を短縮するには不十分であった。一方、特許文献２に記載の技術によれば、刃物台の移動とタレットのアンクランプとを同時に行うことに加えて、アンクランプ後のタレットの旋回まで同時に行うことを可能としている。しかしながら、刃物台がタレットの割出可能領域内にある間に旋回を完了できなければ、刃物台の移動が停止してしまう。このため、特許文献２の技術にしてもまだ、一連の工具交換動作時間を短縮するには不十分であった。
【０００９】
本発明は、このような問題を解決するために成されたものであり、タレット刃物台における一連の工具交換動作時間をより短くできるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記した課題を解決するために、本発明では、刃物台の退避位置から割出可能領域の境界までアプローチ動作によって刃物台が移動する時間（刃物台アプローチ時間）と、刃物台の退避動作完了後におけるタレットの割出動作に要する時間（タレット割出時間）とを算出し、両時間の比較結果に応じて、割出動作の完了する時点が、アプローチ動作によって刃物台が割出可能領域の境界に達する時点と同じかそれよりも早くなるようなタイミングに刃物台のアプローチ動作の開始タイミングを設定するようにしている。
【発明の効果】
【００１１】
上記のように構成した本発明によれば、刃物台の退避動作、タレットの割出動作、刃物台のアプローチ動作が行われる一連の工具交換動作において、刃物台の退避動作だけでなく、刃物台のアプローチ動作中にもタレットの割出動作をオーバーラップさせることができる。しかも、アプローチ動作によって刃物台が割出可能領域の境界に達するまでには割出動作が完了するようにアプローチ動作の開始タイミングが設定されるので、アプローチ動作が途中でいったん停止することもなく、タレットの割出動作を刃物台のアプローチ動作と同時に行うことができるようになる。これにより、刃物台の移動動作とタレットの割出動作とでオーバーラップできる時間を従来よりも長くすることができ、タレット刃物台における一連の工具交換動作時間をより短くすることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態による工作機械のハードウェア構成例を示す図である。
【図２】第１の実施形態によるＮＣ装置の機能構成例を示す図である。
【図３】タレット刃物台に取り付けられた各工具とワークとの位置関係を示す図である。
【図４】タレット刃物台のアプローチ動作の開始タイミングに関する設定例を示すタイミングチャートである。
【図５】第１の実施形態によるＮＣ装置の動作例を示すフローチャートである。
【図６】第２の実施形態による工作機械のハードウェア構成例を示す図である。
【図７】第２の実施形態によるＮＣ装置の機能構成例を示す図である。
【図８】タレット刃物台の退避動作とタレットの割出動作とのオーバーラップ状態と、タレット割出時間との関係を示す図である。
【図９】タレット刃物台の退避動作とタレットの割出動作とのオーバーラップ状態と、タレット割出時間との関係を示す図である。
【図１０】第２の実施形態によるＮＣ装置の動作例を示すフローチャートである。
【図１１】タレット刃物台の退避動作、タレットの割出動作、タレット刃物台のアプローチ動作に関する一般的な動作例を示すタイミングチャートである。
【発明を実施するための形態】
【００１３】
（第１の実施形態）
以下、本発明の一実施形態を図面に基づいて説明する。図１は、第１の実施形態によるＮＣ装置１０を備えた工作機械１００のハードウェア構成例を示す図である。図１に示すように、第１の実施形態による工作機械１００は、ＮＣ装置１０および可動部２０を備えている。ＮＣ装置１０は、本発明による工作機械の制御装置に相当するものである。図２は、ＮＣ装置１０の主要な機能構成例を示す図である。
【００１４】
まず、図１を参照して工作機械１００のハードウェア構成について説明する。図１に示すように、ＮＣ装置１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、入力部１４、表示部１５および駆動制御部１６を備えている。ＲＯＭ１２は、アプローチ時間算出プログラム記憶部１２ａ、割出時間算出プログラム記憶部１２ｂおよび動作開始タイミング設定プログラム記憶部１２ｃを有している。ＲＡＭ１３は、加工プログラム記憶部１３ａ、クランプ／アンクランプ時間記憶部１３ｂ、アプローチ時間記憶部１３ｃおよび割出時間記憶部１３ｄを有している。
【００１５】
また、可動部２０は、被加工物（ワーク）を着脱可能に把持する主軸を備えた主軸台２１と、ワークを加工する複数種類の工具を保持するタレット刃物台２２とを備えている。また、可動部２０は、主軸台２１の駆動を行うＺ軸駆動機構２１ａと、タレット刃物台２２の駆動を行うＸ軸駆動機構２２ａ、Ｙ軸駆動機構２２ｂ、タレット旋回駆動機構２２ｃ、タレットクランプ／アンクランプ機構２２ｄおよび回転工具駆動機構２２ｅとを備えている。
【００１６】
ＮＣ装置１０の駆動制御部１６は、加工プログラム記憶部１３ａに格納されている加工プログラムに基づくＣＰＵ１１の制御に従って、Ｘ軸駆動機構２２ａ、Ｙ軸駆動機構２２ｂ、Ｚ軸駆動機構２１ａ、タレット旋回駆動機構２２ｃ、タレットクランプ／アンクランプ機構２２ｄおよび回転工具駆動機構２２ｅの駆動を制御する。例えば、駆動制御部１６は、Ｘ軸駆動機構２２ａ、タレット旋回駆動機構２２ｃおよびタレットクランプ／アンクランプ機構２２ｄの駆動を制御することにより、複数の工具取付面を有するタレットの割出動作と、タレットが設置されたタレット刃物台２２の退避動作およびアプローチ動作とを制御する。
【００１７】
Ｚ軸駆動機構２１ａは、主軸台２１を主軸の軸心方向と平行なＺ軸方向に移動させるべく、主軸台移動用モータ（図示せず）を駆動する。Ｘ軸駆動機構２２ａおよびＹ軸駆動機構２２ｂは、Ｚ軸方向に直行するＸ軸方向とＹ軸方向にタレット刃物台２２を移動させるべく、刃物台移動用モータ（図示せず）を駆動する。
【００１８】
タレット旋回駆動機構２２ｃは、タレット刃物台２２が備えるタレットに取り付けられた複数の工具のうち何れか１つを所定の場所に割り出すために、タレットを旋回させるべくタレット旋回用モータ（図示せず）を駆動する。タレットクランプ／アンクランプ機構２２ｄは、ワークの加工時には噛み合い継手等のクランプ手段をクランプさせてタレットを旋回阻止状態とする一方、工具交換時にはクランプ手段をアンクランプさせてタレットを旋回可能状態とするべく、タレット移動用シリンダ（図示せず）を駆動する。
【００１９】
回転工具駆動機構２２ｅは、ワークの加工時に、タレットに取り付けられた回転工具を回転させるべく工具回転用モータ（図示せず）を駆動する。タレットに設置された複数の工具には、バイト等の非可動のもの、ドリル等の回転可能なものがある。ドリル等の回転可能な工具を使う場合には、回転工具駆動機構２２ｅが工具を回転させる。なお、工具回転用モータと上述のタレット旋回用モータとが共用され、１つのモータでタレットの旋回と工具の回転とを行うようにしてもよい。
【００２０】
ＮＣ装置１０のＣＰＵ１１は、ＲＯＭ１２およびＲＡＭ１３に格納されている各種プログラムに従って所定の処理を実行する。ＲＡＭ１３の加工プログラム記憶部１３ａは、加工プログラムとして、プログラマが作成したＮＣプログラムと、当該ＮＣプログラムからパーソナルコンピュータ（図示せず）によって変換した電子カムデータとを記憶する。
【００２１】
ＮＣプログラムは、可動部２０をＮＣ制御方式で制御する場合に使用するものであり、主軸台２１やタレット刃物台２２の移動指令を表すＧコード、使用する工具の呼出指令を表すＴコードなどのコード体系を持つ。ＮＣ制御方式では、ＣＰＵ１１がＮＣプログラムを１ブロック（行）ずつ読み込んでその指令（ＮＣコード）を解釈しながら、複数の指令を順次実行していく。
【００２２】
一方、電子カムデータは、可動部２０を電子カム制御方式で制御する場合に使用するものであり、所定の基準軸における動作量を基準にして、基準軸の動作量に対応した移動軸の位置データを表す。例えば、所定時間毎の主軸の累積回転角に対応させてタレット刃物台２２の工具の位置データを表したものが電子カムデータである。電子カム制御方式では、基準軸の動作量が電子カムデータに記憶された動作量に達したときに、その動作量に対応して記憶された位置に移動軸が到達するようにＣＰＵ１１が駆動制御部１６を制御する。
【００２３】
ＲＡＭ１３のクランプ／アンクランプ時間記憶部１３ｂは、タレットのクランプに要する時間（以下、クランプ時間という）と、タレットのアンクランプに要する時間（以下、アンクランプ時間という）とをあらかじめ記憶する。クランプ／アンクランプによってタレットが移動する距離は常に同じであるため、クランプ時間およびアンクランプ時間は固定値となる。クランプ／アンクランプ時間記憶部１３ｂは、この固定値をあらかじめ記憶しておくものである。
【００２４】
ＲＯＭ１２のアプローチ時間算出プログラム記憶部１２ａは、アプローチ時間算出プログラムを記憶する。このアプローチ時間算出プログラムは、タレット刃物台２２の退避動作が完了した位置（以下、退避位置という）から、タレットが旋回してもワークと干渉しない領域（以下、割出可能領域という）の境界まで、アプローチ動作によってタレット刃物台２２が移動する時間（以下、刃物台アプローチ時間という）を算出するためのプログラムである。なお、ＣＰＵ１１およびアプローチ時間算出プログラム記憶部１２ａにより、図２のアプローチ時間算出部３１が構成される。ＲＡＭ１３のアプローチ時間記憶部１３ｃは、アプローチ時間算出部３１により算出された刃物台アプローチ時間を一時的に記憶する。
【００２５】
ＲＯＭ１２の割出時間算出プログラム記憶部１２ｂは、割出時間算出プログラムを記憶する。この割出時間算出プログラムは、タレット刃物台２２の退避動作完了後におけるタレットの割出動作に要する時間（以下、タレット割出時間という）を算出するためのプログラムである。なお、ＣＰＵ１１および割出時間算出プログラム記憶部１２ｂにより、図２の割出時間算出部３２が構成される。ＲＡＭ１３の割出時間記憶部１３ｄは、割出時間算出部３２により算出されたタレット割出時間を一時的に記憶する。
【００２６】
ＲＯＭ１２の動作開始タイミング設定プログラム記憶部１２ｃは、動作開始タイミング設定プログラムを記憶する。この動作開始タイミング設定プログラムは、タレット刃物台２２のアプローチ動作の開始タイミングを設定するためのプログラムである。なお、ＣＰＵ１１および動作開始タイミング設定プログラム記憶部１２ｃにより、図２の動作開始タイミング設定部３３が構成される。
【００２７】
入力部１４は、オペレータがＮＣ装置１０に対して各種の情報を入力したり、各種の指示を与えたりするために使用する。例えば、入力部１４は、ＮＣプログラムを電子カムデータに変換することを指示するための電子カムデータ作成ボタン（図示せず）を備えている。オペレータが電子カムデータ作成ボタンを操作すると、ＣＰＵ１１が加工プログラム記憶部１３ａに格納されているＮＣプログラムを電子カムデータに変換する。表示部１５は、オペレータが入力部１４の操作を行う際に使用する各種操作画面などを表示する。
【００２８】
以下、図２に示した各機能構成について詳しく説明する。図２において、アプローチ時間算出部３１は、タレット刃物台２２の退避位置からタレットの割出可能領域の境界までタレット刃物台２２がアプローチ動作によって移動するのに要する刃物台アプローチ時間を算出する。本実施形態において、タレット刃物台２２の退避位置は、タレットにどのような長さの工具が取り付けられていても、タレットが旋回したときに工具とワークやその他の工作機械１００の構成部とが干渉することのない固定の位置であるものとする。
【００２９】
アプローチ時間算出部３１は、具体的には、移動距離算出部３１ａおよび移動時間算出部３１ｂを備えている。移動距離算出部３１ａは、タレット刃物台２２の退避位置から割出可能領域の境界までの距離ｓ１を算出する。この距離ｓ１は、現在選択されている工具と、Ｔコード指令によって次に選択される工具と、これらの選択工具の間に存在する工具との関係によって決まる可変の値である。
【００３０】
図３は、タレット刃物台２２のタレットに取り付けられた各工具とワークとの位置関係を示す図である。図３において、タレット刃物台２２は退避位置にあるものとする。また、工具番号６番の工具が現在選択されている（所定の割出位置に存在する）工具であるとする。この状態で、Ｔコード指令によって次の工具が呼び出された場合、現在の選択工具から次の選択工具までタレットの旋回によって割出位置に順次移動してくる各工具のうち、工具取付面からの突き出し長が最も長い工具の先端部とワークとの間の距離が、タレット刃物台２２の退避位置から割出可能領域の境界までの距離ｓ１となる。
【００３１】
例えば、工具番号６番の工具が現在選択されている状態で、Ｔコード指令により次に工具番号９番の工具が呼び出されたとする。この場合、タレットが近回り方向に旋回するものとすると、現在の選択工具（６番）から次の選択工具（９番）までタレットが旋回することによって割出位置に移動してくる工具は、工具番号７番、８番、９番の３つである。これらのうち、工具取付面からの突き出し長が最も長い工具は、工具番号７番の工具である。よって、工具番号７番の工具の先端部であるＡ点がワークに最も接近するときのＡ点とワークとの距離が、タレット刃物台２２の退避位置から割出可能領域の境界までの距離ｓ１となる。なお、工具の突き出し長は、オペレータが入力部１４を操作して入力した値があらかじめ突き出し長記憶部（図示せず）に記憶されているものとする。突き出し長記憶部は、例えばＲＡＭ１３に備えられる。
【００３２】
また、工具番号６番の工具が現在選択されている状態で、Ｔコード指令によって次に工具番号１番の工具が呼び出されたとする。この場合、タレットが右回りで旋回しても、左回りで旋回しても、旋回角度は同じとなる。この場合にＣＰＵ１１は、現在の選択工具（６番）から次の選択工具（１番）までタレットが右回りした場合に割出位置に移動してくる各工具の最大突き出し長Ｌ１を求めるとともに、タレットが左回りした場合に割出位置に移動してくる各工具の最大突き出し長Ｌ２を求める。そして、最大突き出し長が短い方にタレットを旋回させるものとする。
【００３３】
図３の例では、タレットが右回りした場合に割出位置に移動してくる各工具（７番、８番、９番、１０番、１番）のうち、工具取付面からの突き出し長が最も長くなるのは工具番号７番の工具であり、その突き出し長が右回りの場合の最大突き出し長Ｌ１として求められる。一方、タレットが左回りした場合に割出位置に移動してくる各工具（５番、４番、３番、２番、１番）のうち、工具取付面からの突き出し長が最も長くなるのは工具番号４番の工具であり、その突き出し長が左回りの場合の最大突き出し長Ｌ２として求められる。
【００３４】
この場合、Ｌ１＞Ｌ２であるから、ＣＰＵ１１は駆動制御部１６を制御してタレットを左回りに旋回させる。そして、工具番号４番の工具の先端部であるＢ点がワークに最も接近するときのＢ点とワークとの距離が、タレット刃物台２２の退避位置から割出可能領域の境界までの距離ｓ１となる。移動距離算出部３１ａは、この距離ｓ１を求める。タレット刃物台２２の退避位置は固定であり、タレットの位置もワークの位置も分かっているから、移動距離算出部３１ａは工具番号４番の工具の突き出し長Ｌ２より距離ｓ１を算出することができる。
【００３５】
なお、ここでは、工具の先端部がワークと干渉しない範囲を割出可能領域とする例について説明したが、この例に限定されない。例えば、工具の先端部がワークに最も近づいたときに、その先端部がワークから所定距離だけ遠ざかっている位置を割出可能領域の境界としてもよい。この場合は、工具取付面からの突き出し長が最も長い工具の先端部と、ワークからタレット側に所定距離だけ離れた位置との距離が、タレット刃物台２２の退避位置から割出可能領域の境界までの距離ｓ１となる。また、ワークを挟んだタレット刃物台２２の反対側に他の刃物台を有する場合には、ワークだけでなく、この他の刃物台の突出部とタレット刃物台２２の工具の先端部とも干渉しない範囲を割出可能領域とすることもできる。
【００３６】
移動時間算出部３１ｂは、移動距離算出部３１ａにより算出されたタレット刃物台２２の移動距離ｓ１と、タレット刃物台２２の移動速度とから、タレット刃物台２２がアプローチ動作で距離ｓ１を移動するのに要する刃物台アプローチ時間ｔ４を算出する。そして、算出した刃物台アプローチ時間ｔ４をアプローチ時間記憶部１３ｃに格納する。なお、タレット刃物台２２の移動速度はあらかじめ定められており、その移動速度に関するパラメータがあらかじめ移動速度パラメータ記憶部（図示せず）に記憶されているものとする。移動速度パラメータ記憶部は、例えばＲＡＭ１３に備えられる。
【００３７】
割出時間算出部３２は、タレット刃物台２２の退避動作完了後におけるタレットの割出動作に要するタレット割出時間Ｔ１を算出する。第１の実施形態において、タレット割出時間Ｔ１は、タレットの割出動作を構成するアンクランプ、旋回、クランプの３つの動作うち、タレット刃物台２２の退避動作が完了した後に行われる動作に要する時間であって、かつ、クランプが完了するまでに要する時間をいう。
【００３８】
例えば、タレット刃物台２２の退避動作が完了した後にタレットのアンクランプを開始する場合、タレット割出時間Ｔ１は、タレットのアンクランプ時間ｔ１、旋回時間ｔ２およびクランプ時間ｔ３の合計時間となる（Ｔ１＝ｔ１＋ｔ２＋ｔ３）。また、タレット刃物台２２の退避動作中にタレットのアンクランプも同時に行い、退避動作完了後にタレットの旋回を開始する場合、タレット割出時間Ｔ１は、タレットの旋回時間ｔ２およびクランプ時間ｔ３の合計時間となる（Ｔ１＝ｔ２＋ｔ３）。
【００３９】
割出時間算出部３２は、具体的には、クランプ／アンクランプ時間取得部３２ａ、旋回時間算出部３２ｂおよびタレット割出時間算出部３２ｃを備えている。クランプ／アンクランプ時間取得部３２ａは、ＲＡＭ１３のクランプ／アンクランプ時間記憶部１３ｂからアンクランプ時間ｔ１およびクランプ時間ｔ３を取得する。
【００４０】
旋回時間算出部３２ｂは、タレットの旋回時間ｔ２を算出する。この旋回時間ｔ２は、現在選択されている工具と、Ｔコード指令によって次に選択される工具との位置関係によって決まる可変の値である。例えば、図３に示すように、工具番号６番の工具が現在選択されている状態で、Ｔコード指令によって次に工具番号９番の工具が呼び出されたとする。この場合、タレットが近回り方向に旋回するものとすると、旋回時間算出部３２ｂは、現在の選択工具（６番）から次の選択工具（９番）までタレットが旋回する角度と、タレットの旋回速度とに基づいて、タレットの旋回時間ｔ２を算出する。なお、タレットの旋回速度はあらかじめ定められており、その旋回速度に関するパラメータがあらかじめ旋回速度パラメータ記憶部（図示せず）に記憶されている。旋回速度パラメータ記憶部は、例えばＲＡＭ１３に備えられる。
【００４１】
タレット割出時間算出部３２ｃは、クランプ／アンクランプ時間記憶部１３ｂにより取得されたアンクランプ時間ｔ１およびクランプ時間ｔ３と、旋回時間算出部３２ｂにより算出された旋回時間ｔ２とに基づいて、タレット割出時間Ｔ１を算出する。なお、第１の実施形態では、タレット刃物台２２の退避動作完了後にタレットのアンクランプを開始するものとする。つまり、タレット割出時間Ｔ１は、タレットのアンクランプ時間ｔ１、旋回時間ｔ２およびクランプ時間ｔ３の合計時間である。タレット割出時間算出部３２ｃは、算出したタレット割出時間Ｔ１を割出時間記憶部１３ｄに格納する。
【００４２】
動作開始タイミング設定部３３は、アプローチ時間算出部３１により算出されアプローチ時間記憶部１３ｃに記憶された刃物台アプローチ時間ｔ４と、割出時間算出部３２により算出され割出時間記憶部１３ｄに記憶されたタレット割出時間Ｔ１とを比較し、その比較結果に応じて、タレット刃物台２２のアプローチ動作の開始タイミングを設定する。具体的には、動作開始タイミング設定部３３は、割出動作の完了する時点が、アプローチ動作によってタレット刃物台２２が割出可能領域の境界に達する時点と同じかそれよりも早くなるようなタイミングに、タレット刃物台２２のアプローチ動作の開始タイミングを設定する。
【００４３】
より具体的には、動作開始タイミング設定部３３は、刃物台アプローチ時間ｔ４がタレット割出時間Ｔ１より短い場合（ｔ４＜Ｔ１の場合）、図４（ａ）に示すように、刃物台アプローチ時間ｔ４とタレット割出時間Ｔ１との差分時間（Ｔ１−ｔ４）だけタレット刃物台２２の退避動作完了から経過したタイミングを、タレット刃物台２２のアプローチ動作の開始タイミングとして設定する。これにより、割出動作のクランプが完了する時点Ｐと、アプローチ動作によってタレット刃物台２２が割出可能領域の境界に達する時点Ｑとが同じとなるようにする。
【００４４】
一方、動作開始タイミング設定部３３は、刃物台アプローチ時間ｔ４がタレット割出時間Ｔ１より短くない場合（ｔ４≧Ｔ１の場合）、図４（ｂ）に示すように、タレット刃物台２２の退避動作完了タイミングをアプローチ動作の開始タイミングとして設定する。つまり、タレット刃物台２２の退避動作完了と同時にアプローチ動作を開始するようにタレット刃物台２２のアプローチ動作の開始タイミングを設定する。この場合は、割出動作のクランプが完了する時点Ｐが、アプローチ動作によってタレット刃物台２２が割出可能領域の境界に達する時点Ｑよりも早くなる。
【００４５】
次に、上記のように構成した第１の実施形態によるＮＣ装置１０の動作を説明する。図５は、第１の実施形態によるＮＣ装置１０の動作例を示すフローチャートである。なお、図５に示すフローチャートは、加工プログラム記憶部１３ａに格納されたＮＣプログラムを読み出して電子カムデータに変換する際の動作例を示すものである。すなわち、図５に示すフローチャートは、入力部１４の電子カムデータ作成ボタンをオペレータが操作することによって開始する。
【００４６】
図５において、まずアプローチ時間算出部３１は、加工プログラム記憶部１３ａに格納されたＮＣプログラムの先頭からＴコードを検索する（ステップＳ１）。そして、アプローチ時間算出部３１は、Ｔコードが見つかったか否か判定する（ステップＳ２）。ここで、Ｔコードが見つからなかった場合は、本フローチャートの処理を終了する。一方、Ｔコードが見つかった場合、アプローチ時間算出部３１は、Ｔコード直後の早送り指令（Ｇ０コード）を検索する（ステップＳ３）。図１１で説明したように、Ｔコード直後のＧ０コードは、タレット刃物台２２のアプローチ動作に相当する。
【００４７】
Ｔコード直後のＧ０コードを検索したら、アプローチ時間算出部３１の移動距離算出部３１ａは、タレット刃物台２２の退避位置から割出可能領域の境界までの距離ｓ１を算出する（ステップＳ４）。次いで、移動時間算出部３１ｂは、移動距離算出部３１ａにより算出された距離ｓ１をタレット刃物台２２がアプローチ動作で移動するのに要する刃物台アプローチ時間ｔ４を算出する（ステップＳ５）。
【００４８】
次に、割出時間算出部３２のクランプ／アンクランプ時間取得部３２ａは、タレットのアンクランプ時間ｔ１とクランプ時間ｔ３とをクランプ／アンクランプ時間記憶部１３ｂから読み出して取得する（ステップＳ６）。また、旋回時間算出部３２ｂは、タレットの旋回時間ｔ２を算出する（ステップＳ７）。そして、タレット割出時間算出部３２ｃは、クランプ／アンクランプ時間取得部３２ａにより取得されたアンクランプ時間ｔ１およびクランプ時間ｔ３と、旋回時間算出部３２ｂにより算出された旋回時間ｔ２とを合計することによってタレット割出時間Ｔ１を算出する（ステップＳ８）。
【００４９】
その後、動作開始タイミング設定部３３は、移動時間算出部３１ｂにより算出された刃物台アプローチ時間ｔ４と、タレット割出時間算出部３２ｃにより算出されたタレット割出時間Ｔ１とを比較し、刃物台アプローチ時間ｔ４がタレット割出時間Ｔ１より短くなっているか否か（ｔ４＜Ｔ１であるか否か）を判定する（ステップＳ９）。
【００５０】
ここで、ｔ４＜Ｔ１となっている場合、動作開始タイミング設定部３３は、図４（ａ）に示すように、刃物台アプローチ時間ｔ４とタレット割出時間Ｔ１との差分時間（Ｔ１−ｔ４）だけタレット刃物台２２の退避動作完了から経過したタイミングを、タレット刃物台２２のアプローチ動作の開始タイミングとして設定する（ステップＳ１０）。一方、ｔ４＜Ｔ１となっていない場合（ｔ４≧Ｔ１の場合）、動作開始タイミング設定部３３は、図４（ｂ）に示すように、タレット刃物台２２の退避動作完了タイミングをアプローチ動作の開始タイミングとして設定する（ステップＳ１１）。
【００５１】
ステップＳ１０またはステップＳ１１の処理の後、アプローチ時間算出部３１は、次のＴコードを検索する（ステップＳ１２）。その後、ステップＳ２の処理に戻って以上と同様の処理を行う。
【００５２】
以上詳しく説明したように、第１の実施形態では、タレット刃物台２２の退避位置から割出可能領域の境界までアプローチ動作によってタレット刃物台２２が移動する時間（刃物台アプローチ時間ｔ４）と、タレット刃物台２２の退避動作完了後におけるタレットの割出動作に要する時間（タレット割出時間Ｔ１）とを算出する。そして、刃物台アプローチ時間ｔ４とタレット割出時間Ｔ１との比較結果に応じて、割出動作の完了する時点が、アプローチ動作によってタレット刃物台２２が割出可能領域の境界に達する時点と同じかそれよりも早くなるようなタイミングにタレット刃物台２２のアプローチ動作の開始タイミングを設定している。
【００５３】
このように構成した第１の実施形態によれば、タレット刃物台２２の退避動作、タレットの割出動作（アンクランプ、旋回、クランプ）、タレット刃物台２２のアプローチ動作が行われる一連の工具交換動作において、タレット刃物台２２のアプローチ動作中にもタレットの割出動作をオーバーラップさせることができる。図４（ａ）の場合は、タレット刃物台２２のアプローチ動作中に、タレットの旋回動作の一部とクランプ動作とをオーバーラップさせて同時に行うことができる。図４（ｂ）の場合は、タレット刃物台２２のアプローチ動作中に、タレットのアンクランプ動作と旋回動作とクランプ動作とを全てオーバーラップさせて同時に行うことができる。
【００５４】
しかも、図４（ａ）の場合も図４（ｂ）の場合も、アプローチ動作によってタレット刃物台２２が割出可能領域の境界に達するまでには割出動作（クランプ）が完了するように、アプローチ動作の開始タイミングが設定される。このため、従来のようにアプローチ動作が途中でいったん停止することもなく、タレットの割出動作を最後までタレット刃物台２２のアプローチ動作と同時に行うことができるようになる。これにより、タレット刃物台２２における一連の工具交換動作時間を従来よりも短くすることが可能となる。
【００５５】
（第２の実施形態）
次に、本発明の第２の実施形態を図面に基づいて説明する。図６は、第２の実施形態によるＮＣ装置１０’を備えた工作機械１００のハードウェア構成例を示す図である。なお、この図６において、図１に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図６に示すように、第２の実施形態による工作機械１００は、第１の実施形態で説明したＮＣ装置１０の代わりに、これとは一部において機能が異なるＮＣ装置１０’を備えている。
【００５６】
ＮＣ装置１０’のＲＯＭ１２は、退避時間算出プログラム記憶部１２ｄを更に備えるとともに、第１の実施形態で説明した割出時間算出プログラム記憶部１２ｂの代わりに割出時間算出プログラム記憶部１２ｂ’を備えている。また、ＮＣ装置１０’のＲＡＭ１３は、第１の実施形態で説明した構成に加えて、動作オーバーラップ実行フラグ記憶部１３ｅを更に備えている。
【００５７】
図７は、第２の実施形態によるＮＣ装置１０’の機能構成例を示す図である。なお、この図７において、図２に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図７に示すように、第２の実施形態では、退避時間算出部３４を更に備えるとともに、第１の実施形態で説明した割出時間算出部３２の代わりに割出時間算出部３２’を備えている。割出時間算出部３２’は、図６のＣＰＵ１１および割出時間算出プログラム記憶部１２ｂ’により構成される。また、退避時間算出部３４は、図６のＣＰＵ１１および退避時間算出プログラム記憶部１２ｄにより構成される。
【００５８】
上述した第１の実施形態では、タレット刃物台２２の退避動作とタレットの割出動作とがオーバーラップしない例について説明した。これに対して、第２の実施形態では、タレット刃物台２２の退避動作とタレットの割出動作とをオーバーラップさせる例について説明する。
【００５９】
図６において、動作オーバーラップ実行フラグ記憶部１３ｅは、退避動作とアンクランプ動作とをオーバーラップさせるか否かを示したアンクランプオーバーラップ実行フラグと、退避動作とタレット旋回動作とをオーバーラップさせるか否かを示した旋回オーバーラップ実行フラグとを記憶する。この２つのフラグは、ＮＣ装置１０’の運用状態（オーバーラップさせるか否か）に合わせて、オペレータが入力部１４を操作して動作オーバーラップ実行フラグ記憶部１３ｅにあらかじめ登録しておく。
【００６０】
図７の割出時間算出部３２’は、タレット刃物台２２の退避動作完了後におけるタレットの割出動作に要するタレット割出時間Ｔ１を算出する。第１の実施形態では、タレット刃物台２２の退避動作とタレットの割出動作とがオーバーラップしないため、タレット割出時間Ｔ１は常に、アンクランプ時間ｔ１と旋回時間ｔ２とクランプ時間ｔ３との合計時間となっていた。これに対して、第２の実施形態では、ＮＣ装置１０’の運用状態によって、タレット刃物台２２の退避動作とタレットの割出動作とがオーバーラップする。そのため、割出時間算出部３２’は、タレット刃物台２２の退避動作とタレットの割出動作とのオーバーラップ状態も考慮して、タレット割出時間Ｔ１を算出する。
【００６１】
図７に示すように、第２の実施形態による割出時間算出部３２’は、タレット割出時間算出部３２ｃの代わりにタレット割出時間算出部３２ｃ’を備えている。タレット割出時間算出部３２ｃ’は、第１の実施形態で説明したアンクランプ時間ｔ１、旋回時間ｔ２およびクランプ時間ｔ３に加えて、タレット刃物台２２の退避動作の全体に要する時間（以下、退避動作時間ｔ５という）、タレット刃物台２２の退避開始位置から割出可能領域の境界まで退避動作によってタレット刃物台２２が移動するのに要する時間（以下、刃物退避時間ｔ６という）を用いてタレット割出時間Ｔ１を算出する。
【００６２】
上述の退避動作時間ｔ５および刃物台退避時間ｔ６は、退避時間算出部３４が算出する。退避時間算出部３４は、移動距離算出部３４ａ、移動時間算出部３４ｂおよび退避動作時間算出部３４ｃを備えている。移動距離算出部３４ａは、タレット刃物台２２の退避開始位置から割出可能領域の境界までの距離ｓ２を算出する。この距離ｓ２も、第１の実施形態で説明した距離ｓ１と同様に、現在選択されている工具と、Ｔコード指令によって次に選択される工具と、これらの選択工具の間に存在する工具との関係によって決まる可変の値である。
【００６３】
移動時間算出部３４ｂは、タレット刃物台２２が退避動作で距離ｓ２を移動するのに要する刃物台退避時間ｔ６を算出する。この刃物台退避時間ｔ６は、移動距離算出部３４ａにより算出されたタレット刃物台２２の移動距離ｓ２と、タレット刃物台２２の移動速度とから算出される。移動時間算出部３４ｂは、算出した刃物台退避時間ｔ６をタレット割出時間算出部３２ｃ’に供給する。
【００６４】
退避動作時間算出部３４ｃは、タレット刃物台２２が退避開始位置から退避終了位置（所定の退避位置）まで退避動作で移動するのに要する退避動作時間ｔ５を算出する。そして、退避動作時間算出部３４ｃは、算出した退避動作時間ｔ５をタレット割出時間算出部３２ｃ’に供給する。
【００６５】
タレット割出時間算出部３２ｃ’は、クランプ／アンクランプ時間取得部３２ａにより取得されたアンクランプ時間ｔ１およびクランプ時間ｔ３と、旋回時間算出部３２ｂにより算出された旋回時間ｔ２と、移動時間算出部３４ｂにより算出された刃物台退避時間ｔ６と、退避動作時間算出部３４ｃにより算出された退避動作時間ｔ５とに基づいて、タレット刃物台２２の退避動作完了後におけるタレット割出時間Ｔ１を算出する。
【００６６】
図８および図９は、タレット刃物台２２の退避動作とタレットの割出動作とのオーバーラップ状態と、タレット割出時間算出部３２ｃ’により算出されるタレット割出時間Ｔ１との関係を示す図である。図８（ａ）は、タレット刃物台２２の退避動作中に、割出可能領域の範囲内においてタレットのアンクランプのみを実行し、退避動作の完了後にタレットの旋回を開始する動作状態を示している。この場合のタレット割出時間Ｔ１は、旋回時間ｔ２とクランプ時間ｔ３との合計時間となる（Ｔ１＝ｔ２＋ｔ３）。
【００６７】
図８（ｂ）は、タレット刃物台２２が割出可能領域まで退避した時点でタレットのアンクランプを開始するものの、退避動作の完了時までにアンクランプが完了しない動作状態を示している。すなわち、図８（ｂ）の例では、タレット刃物台２２の退避動作とタレットのアンクランプ動作の一部とがオーバーラップしている。図８（ｂ）の動作状態におけるタレット割出時間Ｔ１は、Ｔ１＝｛ｔ１−（ｔ５−ｔ６）｝＋ｔ２＋ｔ３となる。
【００６８】
図９（ａ）は、タレット刃物台２２が割出可能領域まで退避した時点でタレットのアンクランプを開始し、アンクランプ動作とそれに引き続いて行われる旋回動作の途中までがタレット刃物台２２の退避動作とオーバーラップしている動作状態を示している。この場合、タレット割出時間Ｔ１は、Ｔ１＝（ｔ１＋ｔ２＋ｔ３）−（ｔ５−ｔ６）となる。
【００６９】
図９（ｂ）は、タレット刃物台２２が割出可能領域まで退避した時点でタレットのアンクランプを開始し、退避動作中にタレットのアンクランプ、旋回、クランプの全てが完了する動作状態を示している。この場合のタレット割出時間Ｔ１は、Ｔ１＝０となる。
【００７０】
次に、上記のように構成した第２の実施形態によるＮＣ装置１０’の動作を説明する。図１０は、第２の実施形態によるＮＣ装置１０’の動作例を示すフローチャートである。なお、図１０に示すフローチャートも、加工プログラム記憶部１３ａに格納されたＮＣプログラムを読み出して電子カムデータに変換する際の動作例を示すものである。すなわち、図１０に示すフローチャートは、入力部１４の電子カムデータ作成ボタンをオペレータが操作することによって開始する。
【００７１】
図１０において、退避時間算出部３４は、加工プログラム記憶部１３ａに格納されたＮＣプログラムの先頭からＴコードを検索する（ステップＳ２１）。そして、退避時間算出部３４は、Ｔコードが見つかったか否か判定する（ステップＳ２２）。ここで、Ｔコードが見つからなかった場合は、本フローチャートの処理を終了する。一方、Ｔコードが見つかった場合、退避時間算出部３４の退避動作時間算出部３４ｃは、退避動作時間ｔ５を算出する（ステップＳ２３）。
【００７２】
次に、退避時間算出部３４の移動距離算出部３４ａは、タレット刃物台２２の退避開始位置から割出可能領域の境界までの距離ｓ２を算出する（ステップＳ２４）。次いで、移動時間算出部３４ｂは、移動距離算出部３４ａにより算出された距離ｓ２をタレット刃物台２２が退避動作で移動するのに要する刃物台退避時間ｔ６を算出する（ステップＳ２５）。その後、アプローチ時間算出部３１は、Ｔコード直後の早送り指令（Ｇ０コード）を検索する（ステップＳ２６）。
【００７３】
Ｔコード直後のＧ０コードを検索したら、アプローチ時間算出部３１の移動距離算出部３１ａは、タレット刃物台２２の退避位置から割出可能領域の境界までの距離ｓ１を算出する（ステップＳ２７）。次いで、移動時間算出部３１ｂは、移動距離算出部３１ａにより算出された距離ｓ１をタレット刃物台２２がアプローチ動作で移動するのに要する刃物台アプローチ時間ｔ４を算出する（ステップＳ２８）。
【００７４】
次に、割出時間算出部３２’のクランプ／アンクランプ時間取得部３２ａは、タレットのアンクランプ時間ｔ１とクランプ時間ｔ３とをクランプ／アンクランプ時間記憶部１３ｂから読み出して取得する（ステップＳ２９）。また、旋回時間算出部３２ｂは、タレットの旋回時間ｔ２を算出する（ステップＳ３０）。ここで、タレット割出時間算出部３２ｃ’は、動作オーバーラップ実行フラグ記憶部１３ｅに格納されているアンクランプオーバーラップ実行フラグがＯＦＦになっているか否かを判定する（ステップＳ３１）。
【００７５】
アンクランプオーバーラップ実行フラグがＯＦＦになっている場合（第１の実施形態と同様の場合）、タレット割出時間算出部３２ｃ’は、クランプ／アンクランプ時間取得部３２ａにより取得されたアンクランプ時間ｔ１およびクランプ時間ｔ３と、旋回時間算出部３２ｂにより算出された旋回時間ｔ２とを合計することによってタレット割出時間Ｔ１（＝ｔ１＋ｔ２＋ｔ３）を算出する（ステップＳ３２）。
【００７６】
一方、アンクランプオーバーラップ実行フラグがＯＮになっている場合、タレット割出時間算出部３２ｃ’は、旋回オーバーラップ実行フラグがＯＦＦになっているか否かを判定する（ステップＳ３３）。ここで、旋回オーバーラップ実行フラグがＯＦＦになっている場合、タレット割出時間算出部３２ｃ’は、アンクランプ時間ｔ１が、タレット刃物台２２が退避動作中に割出可能領域の範囲内にいる時間（ｔ５−ｔ６）よりも短くなっているか否か（ｔ１＜ｔ５−ｔ６となっているか否か）を判定する（ステップＳ３４）。
【００７７】
ここで、ｔ１＜ｔ５−ｔ６となっている場合は、図８（ａ）の動作状態に相当する。この場合、タレット割出時間算出部３２ｃ’は、クランプ／アンクランプ時間取得部３２ａにより取得されたクランプ時間ｔ３と、旋回時間算出部３２ｂにより算出された旋回時間ｔ２とを合計することによってタレット割出時間Ｔ１（＝ｔ２＋ｔ３）を算出する（ステップＳ３５）。
【００７８】
一方、ｔ１＜ｔ５−ｔ６となっていない場合は、図８（ｂ）の動作状態に相当する。この場合、タレット割出時間算出部３２ｃ’は、クランプ／アンクランプ時間取得部３２ａにより取得されたアンクランプ時間ｔ１およびクランプ時間ｔ３と、旋回時間算出部３２ｂにより算出された旋回時間ｔ２と、退避動作時間算出部３４ｃにより算出された退避動作時間ｔ５と、移動時間算出部３４ｂにより算出された刃物台退避時間ｔ６とを用いて、タレット割出時間Ｔ１＝｛ｔ１−（ｔ５−ｔ６）｝＋ｔ２＋ｔ３を算出する（ステップＳ３６）。
【００７９】
また、ステップＳ３３で旋回オーバーラップ実行フラグがＯＮになっていると判断した場合、タレット割出時間算出部３２ｃ’は、タレットの割出動作（アンクランプ、旋回、クランプ）に要する時間（ｔ１＋ｔ２＋ｔ３）が、タレット刃物台２２が退避動作中に割出可能領域の範囲内にいる時間（ｔ５−ｔ６）よりも長くなっているか否か（ｔ１＋ｔ２＋ｔ３＞ｔ５−ｔ６となっているか否か）を判定する（ステップＳ３７）。
【００８０】
ここで、ｔ１＋ｔ２＋ｔ３＞ｔ５−ｔ６となっている場合は、図９（ａ）の動作状態に相当する。この場合、タレット割出時間算出部３２ｃ’は、クランプ／アンクランプ時間取得部３２ａにより取得されたアンクランプ時間ｔ１およびクランプ時間ｔ３と、旋回時間算出部３２ｂにより算出された旋回時間ｔ２と、退避動作時間算出部３４ｃにより算出された退避動作時間ｔ５と、移動時間算出部３４ｂにより算出された刃物台退避時間ｔ６とを用いて、タレット割出時間Ｔ１＝（ｔ１＋ｔ２＋ｔ３）−（ｔ５−ｔ６）を算出する（ステップＳ３８）。
【００８１】
一方、ｔ１＋ｔ２＋ｔ３＞ｔ５−ｔ６となっていない場合は、図９（ｂ）の動作状態に相当する。この場合、タレット割出時間算出部３２ｃ’は、タレット割出時間Ｔ１＝０とする（ステップＳ３９）。ステップＳ３２、Ｓ３５、Ｓ３６、Ｓ３８、Ｓ３９の何れかにおいてタレット割出時間Ｔ１を算出した後、動作開始タイミング設定部３３は、移動時間算出部３１ｂにより算出された刃物台アプローチ時間ｔ４と、タレット割出時間算出部３２ｃ’により算出されたタレット割出時間Ｔ１とを比較し、刃物台アプローチ時間ｔ４がタレット割出時間Ｔ１より短くなっているか否か（ｔ４＜Ｔ１であるか否か）を判定する（ステップＳ４０）。
【００８２】
ここで、ｔ４＜Ｔ１となっている場合、動作開始タイミング設定部３３は、刃物台アプローチ時間ｔ４とタレット割出時間Ｔ１との差分時間（Ｔ１−ｔ４）だけタレット刃物台２２の退避動作完了から経過したタイミングを、タレット刃物台２２のアプローチ動作の開始タイミングとして設定する（ステップＳ４１）。一方、ｔ４＜Ｔ１となっていない場合（ｔ４≧Ｔ１の場合）、動作開始タイミング設定部３３は、タレット刃物台２２の退避動作完了タイミングをアプローチ動作の開始タイミングとして設定する（ステップＳ４２）。なお、ステップＳ３９（Ｔ１＝０）の場合は、タレット刃物台２２のクランプが完了した時点で退避動作を停止してアプローチ動作を開始するように退避動作完了タイミングを設定してもよい。
【００８３】
ステップＳ４１またはステップＳ４２の処理の後、退避時間算出部３４は、次のＴコードを検索する（ステップＳ４３）。その後、ステップＳ２２の処理に戻って以上と同様の処理を行う。
【００８４】
以上詳しく説明したように、第２の実施形態では、タレット刃物台２２のアプローチ動作とタレットの割出動作とをオーバーラップさせることに加えて、タレット刃物台２２の退避動作とタレットの割出動作とをオーバーラップさせるようにしている。これにより、タレット刃物台２２の移動動作とタレットの割出動作とでオーバーラップできる時間をより長くすることができ、タレット刃物台２２における一連の工具交換動作時間をより一層短くすることが可能となる。
【００８５】
なお、上記第１および第２の実施形態では、刃物台アプローチ時間ｔ４がタレット割出時間Ｔ１より短い場合（ｔ４＜Ｔ１の場合）、動作開始タイミング設定部３３は、割出動作（クランプ）が完了する時点Ｐと、アプローチ動作によってタレット刃物台２２が割出可能領域の境界に達する時点Ｑとが同じとなるように（Ｐ＝Ｑとなるように）アプローチ動作の開始タイミングを設定していた。割出可能領域の範囲内におけるタレット刃物台２２のアプローチ動作とタレットの割出動作とがオーバーラップするのであれば、Ｐ＜Ｑとなるようにアプローチ動作の開始タイミングを設定してもよいが、Ｐ＝Ｑとするのがより好ましい。Ｐ＝Ｑとなるようにアプローチ動作の開始タイミングを設定することで、アプローチ動作と割出動作とをできるだけ多くオーバーラップさせた上で、アプローチ動作をできるだけ早いタイミングから開始させることができるので、タレット刃物台２２における一連の工具交換動作時間をより短くすることができるからである。
【００８６】
また、上記第１および第２の実施形態では、タレット割出時間Ｔ１として、タレットの割出動作のうちクランプが完了するまでに要する時間を算出する例について説明したが、本発明はこれに限定されない。タレットの割出動作時に、工具とワークとの干渉はタレットの旋回によって生じる。つまり、割出可能領域の範囲内でタレットの旋回まで完了していれば、工具とワークとの干渉は生じない。そこで、タレット割出時間算出部３２ｃ，３２ｃ’は、タレットの割出動作のうち旋回が完了するまでに要する時間をタレット割出時間Ｔ１として算出するようにしてもよい。
【００８７】
また、上記第１および第２の実施形態では、アプローチ動作の開始タイミングを退避動作完了時からの経過時間によって制御する例について説明したが、本発明はこれに限定されない。例えば、タレット旋回角度によってアプローチ動作の開始タイミングを制御するようにしてもよい。この場合は、アプローチ動作の開始タイミングとして求めた退避動作完了時からの経過時間を、タレットの旋回角度に換算すればよい。タレットの旋回角度でアプローチ動作の開始タイミングを制御する方法は、ＮＣプログラムに従って可動部２０を制御するＮＣ制御方式に有用である。
【００８８】
例えば、図４（ａ）のように、刃物台アプローチ時間ｔ４とタレット割出時間Ｔ１との差分時間（Ｔ１−ｔ４）だけ退避動作完了時から経過したタイミングをアプローチ動作の開始タイミングとして設定する場合は、当該経過時間（Ｔ１−ｔ４）を次のようにタレットの旋回角度に換算する。まず、退避動作完了時からの経過時間（Ｔ１−ｔ４）から、タレットが旋回しないアンクランプ時間ｔ１を減算することにより、アプローチ動作を開始するまでの間にタレットが回転する時間Ｔ２を求める（Ｔ２＝Ｔ１−ｔ４−ｔ１）。そして、この求めた時間Ｔ２をタレットの旋回角度θに換算し、これをアプローチ動作の開始タイミングとして設定する。この場合は、タレットが角度θだけ旋回したタイミングでタレット刃物台２２のアプローチ動作を開始する。
【００８９】
なお、図４（ａ）のように、退避動作完了時からの経過時間（Ｔ１−ｔ４）がタレットの旋回中に該当する場合は、タレットの旋回角度によってアプローチ動作の開始タイミングを制御することが可能である。しかし、退避動作完了時からの経過時間（Ｔ１−ｔ４）がタレットのアンクランプ中に該当する場合は、タレットが旋回していないので、旋回角度によってアプローチ動作の開始タイミングを制御することができない。そのため、退避動作完了時からの経過時間（Ｔ１−ｔ４）がタレットのアンクランプ中に該当する場合は、アンクランプ完了後の旋回開始と同時にアプローチ動作を開始する等の対応が必要である。
【００９０】
また、上記第１および第２の実施形態では、タレットのクランプ／アンクランプ時間ｔ１，ｔ３をあらかじめ記憶する例について説明したが、タレットの旋回時間ｔ２等と同様に計算で求めてもよい。
【００９１】
その他、上記第１および第２の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００９２】
１０，１０’  ＮＣ装置
１１  ＣＰＵ
１２ａ  アプローチ時間算出プログラム記憶部
１２ｂ，１２ｂ’  割出時間算出プログラム記憶部
１２ｃ  動作開始タイミングプログラム記憶部
１２ｄ  退避時間算出プログラム記憶部
１３ｂ  クランプ／アンクランプ時間記憶部
１３ｃ  アプローチ時間記憶部
１３ｄ  割出時間記憶部
１３ｅ  動作オーバーラップ実行フラグ記憶部
３１  アプローチ時間算出部
３１ａ  移動距離算出部
３１ｂ  移動時間算出部
３２，３２’  割出時間算出部
３２ａ  クランプ／アンクランプ時間取得部
３２ｂ  旋回時間算出部
３２ｃ，３２ｃ’  タレット割出時間算出部
３３  動作開始タイミング設定部
３４  退避時間算出部
３４ａ  移動距離算出部
３４ｂ  移動時間算出部
３４ｃ  退避動作時間算出部
【図１】
2010173022.tif 000003
【図２】
2010173022.tif 000004
【図３】
2010173022.tif 000005
【図４】
2010173022.tif 000006
【図５】
2010173022.tif 000007
【図６】
2010173022.tif 000008
【図７】
2010173022.tif 000009
【図８】
2010173022.tif 000010
【図９】
2010173022.tif 000011
【図１０】
2010173022.tif 000012
【図１１】
2010173022.tif 000013