(57)【要約】【課題】加工プログラム内の工具選択指令の位置を検討することなく工具交換装置による工具交換を効率的に行うことを可能とする数値制御装置を提供すること。【解決手段】本発明の数値制御装置１は、加工プログラムのブロックによる指令を解析する指令解析部１１０と、指令解析部１１０が解析した指令による加工に掛かる時間を予測する加工時間予測部１３０と、加工時間予測部１３０が予測した指令による加工に掛かる時間に基づいて、工具選択時に工具交換命令までに工具交換可能な工具を選択する工具選択部１４０と、を備える。【選択図】図２
2019079244.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに基づいて、主軸に装着されている第１の工具を工具マガジンに格納された第２の工具と交換するための制御を行う数値制御装置であって、
前記加工プログラムのブロックによる指令を解析する指令解析部と、
前記指令解析部が解析した指令による加工に掛かる時間を予測する加工時間予測部、
前期加工時間予測部が予測した前記指令による加工に掛かる時間に基づいて、工具選択時に工具交換命令までに工具交換可能な工具を前記第２の工具として選択する工具選択部と、
を備えた数値制御装置。
【請求項２】
予め工具マガジンの工具交換位置の工具ポットを所定の工具ポットへと移動させるために掛かる時間を記憶している工具ポット移動時間記憶部を備え、
前記工具選択部は、前記加工プログラムによる加工運転中に工具選択指令が指令された場合、工具ポット移動時間記憶部を参照して前記加工時間予測部が予測した該工具選択指令から次の工具交換指令までの加工時間内に工具選択を行える工具を選択する、
請求項１に記載の数値制御装置。
【請求項３】
前記工具選択部は、工具選択指令から工具交換指令までの加工時間内に工具選択を行える工具が複数ある場合、予め定めた所定の優先順位にしたがって交換する工具を選択する、
請求項２に記載の数値制御装置。
【請求項４】
前記工具選択部は、前記工具選択指令以降に指令される他の工具選択指令による工具選択が、当該他の工具選択指令の次の工具交換命令までに工具選択できるように、前記工具選択指令における工具選択をする、
請求項１〜３のいずれか１つに記載の数値制御装置。
【請求項５】
プログラム運転の開始時に、前記加工プログラムのブロックによる工具選択指令による工具の選択が前記工具選択指令の次の工具交換指令の実行までに終了するか否かを解析する工具指令解析部を更に備える、
請求項１〜４のいずれか１つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に工具交換時間を考慮した工具交換を行う数値制御装置に関する。
【背景技術】
【０００２】
工作機械のひとつとして用いられているマシニングセンタは、一般に主軸に装着する工具を自動的に交換する工具交換装置を備えている。工具交換装置の一つである旋回式の工具マガジンを備えた工具交換装置は、例えば図８に示すように、工具マガジンの円周面上に複数の工具把持部（工具ポット）を備え、該各工具把持部に工具を保持し、工具マガジンを旋回して交換対象となる工具を工具交換位置へと位置決めし、マシニングセンタの主軸に工具を取り付け、取り外しができるようにしている。なお、図８において、各工具ポットにはポット番号が付与されて管理されており、図８上では工具交換位置にポットＮｏ．１の工具ポットが割り出されており、そこから時計回りにポットＮｏ．２〜Ｎｏ．１０のポット番号が付与されている。
【０００３】
このような工具交換装置を備えたマシニングセンタにおいて、主軸に取り付けられた工具の交換は、加工プログラムに含まれる工具選択指令（Ｔコード）と工具交換指令（Ｍ０６）とで行われる。図８に示す例では、プログラムが開始されると指令「Ｔ１Ｍ０６」により主軸に工具Ｔ１が装着されて加工が行われる。その後、指令「Ｔ２」により工具交換位置に工具ポットに保持された工具Ｔ２が工具交換位置へと来るように工具マガジンが位置決めされ、指令「Ｍ０６」により主軸に装着された工具Ｔ１と工具交換位置にある工具Ｔ２とがＡＴＣ（Ａｕｔｏ  Ｔｏｏｌ  Ｃｈａｎｇｅｒ）により交換される。この時、指令「Ｔ２」の実行時点から、工具マガジンが回転して工具交換位置に工具Ｔ２が位置決めされるまでの間にタイムラグ（工具マガジンが回転を開始して工具交換位置に工具Ｔ２が移動し、工具マガジンが停止するまでの時間）があるため、図８に例示される加工プログラムでは、その時間を無駄にしないため（サイクルタイムを短縮するため）に指令「Ｔ２」と指令「Ｍ０６」との間にいくつかの加工指令を含めている。
【０００４】
上記したように、加工プログラム内に工具選択指令と工具交換指令を含める場合には、工具選択に掛かる時間（工具マガジンの回転に掛かる時間等）を逆算して、工具を使い始めるブロックよりも手前のブロックで工具選択指令を指令することが望ましい。このような工具交換方式を応用した従来技術として、例えば特許文献１には、工具選択指令により使用する工具を選択すると同時に、更なる指令（Ｅコード）により次に使用する予定の工具を指令して、工具をできるだけ早く工具交換位置へ移動して運転の待ち時間を最小にする工具交換方式が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６０−２２８０４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
工具選択指令から工具交換指令の間の加工指令の実行時間よりも、工具選択指令による工具選択に掛かる時間の方が長い場合には、結局工具交換指令で工具選択が完了するまで加工プログラムの実行が待たされることになる。これを回避するためには、加工プログラムの実行前に待ち時間が発生しないように工具選択指令の位置を十分に検討するか、又は、工具マガジンにおける工具の位置を吟味する必要があるが、このような作業は作業者にとって大きな負担となっていた。また、特許文献１に開示される技術は加工における工具交換動作の効率をある程度高める効果はあるものの、例えば同一種類の工具がマガジンに複数本登録されている場合に、最適な工具を選択できる保障はされていない。
【０００７】
そこで本発明の目的は、加工プログラム内の工具選択指令の位置を検討することなく工具交換装置による工具交換を効率的に行うことを可能とする数値制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明では、工具選択指令による工具選択時に、工具交換指令までに工具交換可能な工具を選択する手段を数値制御装置に設けることにより、上記課題を解決する。本発明の数値制御装置は、工具マガジンに同一種類の工具が複数存在する場合、工具交換指令までに工具交換が間に合う工具の中から工具を選択する機能を備える。
【０００９】
また、本発明の数値制御装置は、加工プログラムによる加工運転の開始時に、工具交換指令で待ちが発生するか否かを事前にチェックする手段を提供する。そして、加工プログラムに工具交換指令で待ちが発生する工具選択指令が含まれている場合には、工具交換指令で待ちが発生しない当該工具選択指令の指令位置の候補を作業者に提示し、工具交換指令で待ちが発生しない当該工具選択指令の指令位置が見つからない場合（工具選択指令をどの位置へと移動させても工具交換指令で待ちが発生してしまう場合）には、工具交換指令で待ちが発生しない工具マガジン上の工具の位置の候補を提示する。
【００１０】
そして、本発明の一態様は、加工プログラムに基づいて、主軸に装着されている第１の工具を工具マガジンに格納された第２の工具と交換するための制御を行う数値制御装置であって、前記加工プログラムのブロックによる指令を解析する指令解析部と、前記指令解析部が解析した指令による加工に掛かる時間を予測する加工時間予測部、前期加工時間予測部が予測した前記指令による加工に掛かる時間に基づいて、工具選択時に工具交換命令までに工具交換可能な工具を前記第２の工具として選択する工具選択部と、を備えた数値制御装置である。
【発明の効果】
【００１１】
本発明により、作業者が加工プログラム内の工具選択指令の位置を細かく検討しなくとも、工具交換指令までの間に工具選択が可能な工具が自動的に選択されるため、工具交換装置による工具交換を効率的に行うことができるようになる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態による数値制御装置の要部を示す概略的なハードウェア構成図である。
【図２】第１の実施形態による数値制御装置の概略的な機能ブロック図である。
【図３】第１の実施形態の工具選択部による工具選択方法について説明する図である。
【図４】第１の実施形態の変形例の工具選択部による工具選択方法について説明する図である。
【図５】第２の実施形態による数値制御装置の概略的な機能ブロック図である。
【図６】工具関連指令解析部による加工プログラムの解析処理について説明する図である。
【図７】工具選択指令の移動先のブロックを特定する処理を説明する図である。
【図８】従来技術の工具交換装置による工具交換の例を示す図である。
【発明を実施するための形態】
【００１３】
以下に本発明を実現するための数値制御装置の構成例を示す。
図１は本発明の第１の実施形態による数値制御装置と該数値制御装置によって制御される工具交換装置を備えた工作機械の要部を示す概略的なハードウェア構成図である。本実施形態による数値制御装置１が備えるＣＰＵ１１は、数値制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って数値制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び後述する表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データ等が格納される。
【００１４】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、数値制御装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、電源切断後も保持すべきパラメータ、加工プログラム、工具補正データなどが記憶される。不揮発性メモリ１４には更に、ＮＣプログラムを運転するために用いられるＮＣプログラム運転処理用プログラム等が記憶されるが、これらプログラムは実行時にはＲＡＭ１３に展開される。また、ＲＯＭ１２には、ＮＣプログラムの作成及び編集のために必要とされる編集モードの処理などを実行するための各種のシステム・プログラムがあらかじめ書き込まれている。
【００１５】
インタフェース１５は、数値制御装置１とアダプタ等の外部機器７２と接続するためのインタフェースである。外部機器７２側からはＮＣプログラムや各種パラメータ等が読み込まれる。また、数値制御装置１内で編集したＮＣプログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。
【００１６】
ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、ＣＰＵ１１からバス２０経由でＭ（補助）機能信号、Ｓ（スピンドル速度制御）機能信号、Ｔ（工具選択）機能信号などを受け取り、これら信号をシーケンス・プログラムで処理して出力信号を工作機械の周辺装置（例えば、工具交換装置等）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００１７】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤７１に接続されている。
【００１８】
工作機械が備える軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。本発明の実施形態では工具交換装置の工具マガジンを旋回駆動するマガジン駆動モータをサーボアンプ４０により駆動する。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となる軸の数に応じて複数用意される。
【００１９】
スピンドル制御回路６０は、工作機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ６２を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ６２にはポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはＣＰＵ１１によって読み取られる。
【００２０】
図２は、工具交換機能を実現するためのシステム・プログラムを図１で示した数値制御装置１に実装した場合の、第１の実施形態による数値制御装置の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した数値制御装置１が備えるＣＰＵ１１が、工具交換機能のシステム・プログラムを実行し、数値制御装置１の各部の動作を制御することにより実現される。本実施形態の数値制御装置１は、指令解析部１１０、制御部１２０、加工時間予測部１３０、工具選択部１４０、工具交換制御部１５０を備え、また、工具交換装置３の工具マガジンの各工具ポットに保持されている工具の情報が記憶されている工具情報記憶部２１０と、工具交換位置にある所定の工具ポットを他の工具ポットへと変更する（移動させる）ために掛かる時間を記憶する工具ポット移動時間記憶部２２０とが、不揮発性メモリ１４上に設けられている。なお、工具ポット移動時間記憶部２２０に記憶する工具交換位置にある所定の工具ポットを他の工具ポットへと変更するために掛かる時間は、予め実験などにより測定しておく。
【００２１】
指令解析部１１０は、不揮発性メモリ１４に記憶された実行対象となる加工プログラム２００のブロックを順次読み出して解析し、解析結果に基づいて作成した制御指令を制御部１２０へと出力する。また、指令解析部１１０は、加工プログラム２００から読み出したブロックが工具選択を指令する工具選択指令である場合、該工具選択指令と該工具選択指令の後に実行される工具交換指令との間のブロックを加工プログラム２００から先読みし、先読みしたブロックを加工時間予測部１３０に対して出力する。更に、指令解析部１１０は、加工プログラム２００のブロックで工具選択が指令されている場合には、工具交換制御部１５０に対して工具を交換するように指令する。
制御部１２０は、指令解析部１１０から受けた制御指令に基づいて工作機械２の各軸や主軸等の動作を制御する。
【００２２】
加工時間予測部１３０は、指令解析部１１０から受けた工具選択指令と工具交換指令との間のブロックを解析し、これらブロックによる加工に掛かる加工時間である予測加工時間を予測する。加工時間予測部１３０は、例えば工作機械２の機械構成（時定数などのパラメータ設定やＭ，Ｓ，Ｔ，Ｂ補助機能に掛かる時間）等を考慮した上で、各指令による各軸の移動時間や周辺装置の動作時間を従来技術（特開２０１２−０９３９７５号公報、特開２００５−３０１４４０号公報、特開２００７−０２５９４５号公報）による加工時間予測方法を用いて予測し、予測した各指令による加工時間を累積することで予測加工時間を予測する。なお、加工時間の予測方法については、従来技術により公知となっているので、本願の明細書での詳細な説明は省略する。
【００２３】
工具選択部１４０は、加工時間予測部１３０が予測した工具選択指令と工具交換指令との間のブロックによる加工に掛かる加工時間に基づいて、工具選択指令により指定された工具を選択し、選択した工具が保持されている工具ポットを工具交換位置へと移動させるように工具交換制御部１５０へと指令する機能手段である。工具選択部１４０は、工具選択指令により指定された工具の内で、加工時間予測部１３０が予測した加工時間よりも短い時間で選択可能な工具を選択する。特に、工具選択部１４０は、加工時間予測部１３０が予測した加工時間よりも短い時間で選択可能な工具が複数ある場合には、事前に定めておいた優先順位（例えば、工具の残寿命が長い順位等）に従って工具を選択する。
【００２４】
図３は、本実施形態の工具選択部１４０による工具選択方法について説明する図である。なお、図３では説明を簡単にするために隣接する工具ポットへと移動させる場合に１秒掛かるものとして説明する。工具選択部１４０は、工具情報記憶部２１０に記憶されている工具マガジンの各工具ポットに保持されている工具の情報を検索することにより、工具選択指令により指定される選択対象工具がいずれの工具ポットに保持されているかを特定し、更に、工具交換制御部１５０から現在の工具マガジンの位置（即ち、各工具ポットの現在位置）を特定する。更に、工具選択部１４０は、工具ポット移動時間記憶部２２０に記憶されている工具ポットを各位置から工具交換位置までに移動するために掛かる時間を参照することにより、工具選択指令により指定された選択対象工具のそれぞれを工具交換位置へと移動させるために掛かる時間を特定する。そして、工具選択部１４０は、「加工時間予測部が予測した予測加工時間＞工具選択時間」を満たす選択対象工具の中から事前に定めておいた優先順位に従って工具を選択する。例えば、図３に示した例では、選択対象工具であるＴ２は工具マガジンの３つの工具ポット（Ｎｏ．３，６，８）に保持されているが、Ｎｏ．６の工具ポットに保持されている工具Ｔ２は工具の選択に５秒（＞予測加工時間４秒）掛かるため選択されず、Ｎｏ．３，８の工具ポットに保持されている工具Ｔ２は加工時間予測部１３０が予測した予測加工時間４秒よりも短い時間で工具交換位置へと移動することが出来るので、工具選択部１４０は、Ｎｏ．３，８の工具ポットに保持されている工具Ｔ２の中から所定の優先順位に従って工具を選択する。
【００２５】
工具交換制御部１５０は、指令解析部１１０から工具交換をするように指令されると、主軸に装着されている工具を取り外し、工具交換位置に割り出されている工具を主軸へと装着する工具交換をするように工具交換装置３を制御する。また、工具交換制御部１５０は、工具選択部１４０から指令に基づいて選択対象となる工具が保持された工具ポットを工具交換位置へと移動するように工具交換装置３を制御する。
【００２６】
本実施形態の数値制御装置１の一変形例として、指令解析部１１０は第１の工具選択指令のブロックを読み込んだ時、該第１の工具選択指令の次の第１の工具交換指令の間のブロックを先読みするだけでなく、更にその先にある第２の工具選択指令と、該第２の工具選択指令の次の第２の工具交換指令の間のブロックを先読みし、加工時間予測部１３０は、第１の工具選択指令と第１の工具交換指令の間の第１の予測加工時間と、第２の工具選択指令と第２の工具交換指令の間の第２の予測加工時間とをそれぞれ予測し、工具選択部１４０は、第１の工具選択指令により指定された選択対象工具が工具マガジンに複数ある場合、第１の工具選択指令による工具の選択に掛かる時間及び第２の工具選択指令による工具の選択に掛かる時間と、第１の予測加工時間及び第２の予測加工時間とを考慮して、第１の工具選択指令により指定された選択対象工具を選択する。
【００２７】
図４は、本変形例の工具選択部１４０による工具選択方法について説明する図である。図４に例示する加工プログラムでは、工具選択指令により工具Ｔ１が指定された後、加工時間１０秒後に工具交換が指令され、その後工具選択指令により工具Ｔ２が指定された後、加工時間３秒を経て工具交換が指令される。また、Ｎｏ．５，１０の工具ポットに工具Ｔ１が、Ｎｏ．６の工具ポットに工具Ｔ２がそれぞれ保持されている。更に、図４の例では、説明を簡単にするために工具交換位置へ隣接する工具ポットを移動させる場合には図３に示した例と同様に１秒掛かるものとして説明する。このような場合、本変形例の工具選択部１４０は、工具選択指令で工具Ｔ１が指定された際に、予測加工時間１０秒の間に選択可能なＮｏ．５の工具Ｔ１とＮｏ．１０の工具Ｔ１のいずれかから工具を選択することとなるが、その際に、次の工具選択指令により工具Ｔ２を選択する場合のことを考慮する。より具体的には、工具Ｔ１を指定する工具選択指令でＮｏ．５の工具ポットに保持されている工具Ｔ１を選択する場合、工具交換後にはＮｏ．５の工具ポットが工具交換位置に割り出されている。その後、工具Ｔ２を指定する工具選択指令が実行された際に、工具Ｔ２が保持されているＮｏ．６の工具ポットを工具交換位置に移動させるためには１秒掛かるので、工具Ｔ２を指定する工具選択指令から次の工具交換指令までの予測加工時間３秒よりも小さいため、待ち時間が発生することなく工具Ｔ２へと交換することが出来る。しかしながら、工具Ｔ１を指定する工具選択指令でＮｏ．１０の工具ポットに保持されている工具Ｔ１を選択する場合、工具交換後にはＮｏ．１０の工具ポットが工具交換位置に割り出されている。その後、工具Ｔ２を指定する工具選択指令が実行された際に、工具Ｔ２が保持されているＮｏ．６の工具ポットを工具交換位置に移動させるためには４秒掛かるので、工具Ｔ２を指定する工具選択指令から次の工具交換指令までの予測加工時間３秒よりも大きくなり、それ以降の加工を工具の選択と交換が終了するまで待たされることとなる。その為、図４のような例では、工具選択部１４０は、工具Ｔ１を指定する工具選択指令が実行された際に、Ｎｏ５の工具ポットに保持されている工具Ｔ１を選択するように動作する。なお、図４の例では、第１、第２の予測加工時間を考慮した工具選択動作をする例を示しているが、更に先の工具選択において掛かる時間と、予測加工時間とを考慮した工具選択動作をするようにしても良い。
【００２８】
上記変形例によれば、数値制御装置１は、直近の工具選択指令による工具の選択に掛かる時間と予測加工時間だけでなく、将来の工具選択指令による工具の選択に掛かる時間と予測加工時間を考慮した工具の選択が行われるようになるため、加工プログラム全体を踏まえた効率の良い工具交換を行うことができるようになる。
【００２９】
図５は、工具交換機能を実現するためのシステム・プログラムを図１で示した数値制御装置１のハードウェア上に実装した場合の、第２の実施形態による数値制御装置の概略的な機能ブロック図である。図５に示した各機能ブロックは、第１の実施形態の数値制御装置１と同様に、図１に示した数値制御装置１が備えるＣＰＵ１１が、工具交換機能のシステム・プログラムを実行し、数値制御装置１の各部の動作を制御することにより実現される。本実施形態の数値制御装置１は、第１の実施形態で説明した各機能ブロックに加えて、更に工具関連指令解析部１６０、解析結果表示部１７０を備える。
【００３０】
工具関連指令解析部１６０は、加工プログラム２００による加工を開始する前にメモリ内から加工プログラム２００の各ブロックを読み出して、加工プログラム２００内で指令されている工具選択指令及び工具交換指令について、工具交換指令実行時に工具選択指令による工具の選択を待つ待ち時間が発生するか否かを解析する機能手段である。工具関連指令解析部１６０は、工具情報記憶部２１０に記憶された工具マガジンの各工具ポットに保持されている工具の情報と、工具ポット移動時間記憶部２２０に記憶されている工具交換位置にある所定の工具ポットを他の工具ポットへと変更する（移動させる）ために掛かる時間とに基づいて、加工プログラム２００内における各工具の選択に掛かる時間を解析する。
【００３１】
図６は、工具関連指令解析部１６０による加工プログラム２００の解析処理について説明する図である。図６では、工具交換装置３で、所謂固定番地方式（使い終わった工具は元の工具ポットへと戻す方式）で工具を管理している例を示している。また、図６においては、加工を開始する時点で工具Ｔ４（工具マガジン内ではＮｏ．６の工具ポットに保持される）が主軸に装着されており、工具Ｔ１はＮｏ．８の工具ポットに、工具Ｔ２はＮｏ．５の工具ポットに、工具Ｔ３はＮｏ．３の工具ポットにそれぞれ保持されている。また、図６では説明を簡単にするために隣接する工具ポットへと移動させる場合に１秒掛かるものとして説明する。この場合において、工具関連指令解析部１６０は、加工プログラム２００の実行時における工具選択指令から工具交換指令までの間における工具ポットの移動に掛かる時間（工具の選択時間）と、工具交換指令から工具選択指令までの間における工具ポットの移動に掛かる時間（工具の返却時間）とを特定する。図６に例示した加工プログラムでは、工具Ｔ１への工具交換指令から工具Ｔ２を指定する工具選択指令までの間には、工具Ｔ４をＮｏ．６の工具ポットへの返却が行われるが、直前に工具Ｔ１への交換が行われているため工具交換位置の工具ポットはＮｏ．８になっているため、この間に工具交換位置の工具ポットをＮｏ．８からＮｏ．６へと移動させなければならず、これに掛かる時間は２秒となる。また、工具Ｔ２を指定する工具選択指令から次の工具交換指令（工具Ｔ２への工具交換指令）までの間には、工具交換位置に工具Ｔ２を移動させる必要が有るので、工具交換位置にある工具ポットをＮｏ．６の工具ポットからＮｏ．５の工具ポットへと変更させなければならず、これに掛かる時間は１秒となる。このようにして、工具関連指令解析部１６０は、それぞれの工具選択指令及び工具交換指令の間の工具交換位置の工具ポットの変更に掛かる時間を特定する。一方で、工具関連指令解析部１６０は、それぞれの工具選択指令と工具交換指令との間のブロックによる加工に掛かる加工時間を予測するように加工時間予測部１３０へと指令する。そして、このようにして特定した工具選択指令及び工具交換指令の間の工具交換位置の工具ポットの変更に掛かる時間と、加工時間予測部１３０が予測した工具選択指令及び工具交換指令の間のブロックによる加工に掛かる予測加工時間とを比較して、工具交換指令実行時に工具選択指令による工具の選択を待つ待ち時間が発生するか否かを判定する。
【００３２】
工具関連指令解析部１６０は、工具交換指令実行時に工具選択指令により指定された工具の選択を待つ待ち時間が発生すると判定した場合、加工時間予測部１３０が予測した当該工具交換指令より以前の工具交換指令までのそれぞれのブロックの指令の加工時間の予測に基づいて当該工具選択指令をいずれのブロックの位置に移動させれば当該工具選択指令により指定された工具の選択を待つ待ち時間がなくなるのかを特定する。ここで特定する工具選択指令を移動させるブロック（推奨ブロック）は、非切削ブロックであることが望ましい。例えば、図７に例示する加工プログラムにおいて、工具選択指令Ｔ３による工具の選択が次の工具交換指令までに間に合わない場合、次の工具（Ｔ３）の選択に掛かる時間より以前であって、前の工具交換から使用済み工具の返却に掛かる時間後に実行される非切削ブロックである「Ｇ０Ｙ１１．」と「Ｍ１００」が工具選択指令Ｔ３の移動先のブロックとして特定される。
【００３３】
また、工具交換指令実行時に工具選択指令により指定された工具の選択を待つ待ち時間が発生すると判定した場合であって、工具交換指令実行時の待ち時間が無くなる工具選択指令の移動先が無い場合（例えば、図７において、前の工具交換後に使用済みの工具を返却している時間と、次の工具の選択に掛かる時間とが重複するような場合等）、工具関連指令解析部１６０は、工具交換装置３の工具マガジンのいずれの工具ポットにいずれの工具を保持すれば、工具交換指令実行時に工具選択指令により指定された工具の選択を待つ待ち時間が発生しなくなるかを解析する。工具関連指令解析部１６０は、例えば、単純に待ち時間の原因となる工具を現在の工具ポットからいずれの工具ポットへと移動すれば待ち時間が発生しなくなるかを求めるようにしても良いし、工具と工具ポットとの組合せを作成して、それぞれの場合における工具交換指令実行時の待ち時間を算出することで、いずれの組合せとすれば工具交換指令実行時の待ち時間が発生しなくなるかを求めるようにしても良い。
【００３４】
解析結果表示部１７０は、工具関連指令解析部１６０が工具交換指令実行時に工具選択指令による工具の選択を待つ待ち時間が発生すると判定した場合に、当該工具選択指令を表示器／ＭＤＩユニット７０へと表示する。また、解析結果表示部１７０は、工具関連指令解析部１６０が工具交換指令実行時に工具選択指令による工具の選択を待つ待ち時間が発生すると判定した場合に、待ち時間の原因となる工具選択指令を移動させる推奨ブロックを表示器／ＭＤＩユニット７０へと表示するようにしても良い。更に、解析結果表示部１７０は、工具関連指令解析部１６０が工具交換指令実行時に工具選択指令による工具の選択を待つ待ち時間が発生すると判定した場合に、待ち時間の原因となる工具を移動させる先の工具ポットを表示したり、最適な工具と工具ポットの組合せを表示するようにしても良い。
【００３５】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００３６】
１  数値制御装置
２  工作機械
３  工具交換装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５，１８，１９  インタフェース
１６  ＰＭＣ
１７  Ｉ／Ｏユニット
２０  バス
３０  軸制御回路
４０  サーボアンプ
５０  サーボモータ
６０  スピンドル制御回路
６１  スピンドルアンプ
６２  スピンドルモータ
６３  ポジションコーダ
７０  表示器／ＭＤＩユニット
７１  操作盤
７２  外部機器
１１０  指令解析部
１２０  制御部
１３０  加工時間予測部
１４０  工具選択部
１５０  工具交換制御部
１６０  工具関連指令解析部
１７０  解析結果表示部
２００  加工プログラム
２１０  工具情報記憶部
２２０  工具ポット移動時間記憶部
【図１】
2019079244.tif 000003
【図２】
2019079244.tif 000004
【図３】
2019079244.tif 000005
【図４】
2019079244.tif 000006
【図５】
2019079244.tif 000007
【図６】
2019079244.tif 000008
【図７】
2019079244.tif 000009
【図８】
2019079244.tif 000010