(57)【要約】  本発明は、ＣＮＣマシンがマシンに関連付けられた工具およびその現在位置（もしあれば）を特定する情報を保持し、パーツプログラムが要するソース工具を判断して、ソース工具と利用可能な工具とを適合させるアルゴリズムを実行する、工具利用管理システムおよび方法を提供する。【選択図】  図１
2010500180.tif 000002
【特許請求の範囲】
【請求項１】
切削マシンに関連付けられた工具と、前記マシンが実行するプログラムがパーツ形成用に規定する工具とを相関付ける方法であって、
前記プログラムが規定するソース工具を特定する段階と、
各ソース工具を前記マシンに関連付けられた複数の定義された工具と比較する段階と、
前記比較段階で前記ソース工具に適合した定義された工具である、適合した工具を指定する段階と、
前記プログラム内のソース工具の参照番号を、対応する適合した工具の参照番号で置き換える段階と、を備える方法。
【請求項２】
前記比較段階は、前記各ソース工具の工具タイプ識別子を、前記複数の定義された工具の工具タイプ識別子と比較する段階を含む、請求項１に記載の方法。
【請求項３】
前記比較段階は、前記各ソース工具の物理的特性を、各定義された工具の物理的特性と比較する段階を含む、請求項１に記載の方法。
【請求項４】
前記比較段階は、前記それぞれの物理的特性の比較に基づいて適合指数値を算出し、前記適合指数値を閾値と比較する段階を含む、請求項３に記載の方法。
【請求項５】
前記比較段階は、ソース工具の物理的特性と定義された工具の物理的特性との複数の比較を、重み係数を加味して行うことで、適合指数値を算出する段階を含む、請求項１に記載の方法。
【請求項６】
前記指定段階は、前記適合指数値が少なくとも前記閾値に合致すると判断する段階を含む、請求項５に記載の方法。
【請求項７】
前記指定段階は、定義された工具の前記物理的特性が、前記ソース工具の前記物理的特性と適合すると判断する段階を含む、請求項３に記載の方法。
【請求項８】
前記判断段階において、互いの規定された許容誤差内にある場合に前記それぞれの物理的特性同士が適合すると判断する、請求項７に記載の方法。
【請求項９】
適合した工具をソートする段階をさらに備える、請求項１に記載の方法。
【請求項１０】
前記ソート段階は、適合した工具の適合指数値をソート基準として用いる、請求項９に記載の方法。
【請求項１１】
前記ソート段階の結果に基づいて、ソース工具に相関付ける適合した工具を決定する段階をさらに備える、請求項９に記載の方法。
【請求項１２】
前記置き換え段階は、第１のソース工具に対応する前記プログラム内の全ての参照番号を特定する段階と、
第２のソース工具の参照番号を、適合した工具の参照番号で置き換える前に、前記第１のソース工具の全ての参照番号を、適合した工具の参照番号で置き換える段階と、を含む、請求項１に記載の方法。
【請求項１３】
前記置き換え段階は、ソース工具に関連付けられた工具利用情報を、適合した工具に関連付けられた工具利用情報で置き換える段階を含む、請求項１に記載の方法。
【請求項１４】
前記ソース工具に関連付けられ、手動で入力された工具利用情報を特定する段階を備える、請求項１３に記載の方法。
【請求項１５】
前記比較段階は、各ソース工具を、前記マシンが利用可能な複数の物理的工具に対応する複数の定義された工具と比較する段階と、
各ソース工具を、前記マシンが利用可能な複数の物理的工具に対応しない複数の定義された工具と比較する段階と、を含む、請求項１に記載の方法。
【請求項１６】
前記ソース工具に適合する定義された工具がない旨のメッセージをオペレータに提示する段階をさらに備える、請求項１に記載の方法。
【請求項１７】
前記指定段階において、定義された工具がソース工具と適合するのは、前記定義された工具の物理的特性が前記ソース工具の物理的特性と同一である場合のみである、請求項１に記載の方法。
【請求項１８】
ソース工具に適合しない複数の定義された工具を提示する段階と、
前記複数の定義された工具のうち１つをオペレータに選択させて、適合した工具として指定する段階と、をさらに備える、請求項１に記載の方法。
【請求項１９】
定義された工具を適合した工具として指定するのは、前記定義された工具が適合した工具として指定されたことがないことが判断された場合のみである、請求項１に記載の方法。
【請求項２０】
ソース工具が前記マシンに関連付けられた前記複数の定義された工具と適合しない場合、前記ソース工具を、前記マシンに関連付けられた新たな定義された工具としてメモリに記憶する段階をさらに備える、請求項１に記載の方法。
【請求項２１】
前記プログラムを、前記マシンに関連付けられたメモリにロードする段階をさらに備える、請求項１に記載の方法。
【請求項２２】
特定のソース工具が前記メモリに記憶されている他のソース工具のいずれにも適合しないことを判断する段階の後にのみ、前記記憶段階を前記特定のソース工具に行う、請求項２０に記載の方法。
【請求項２３】
対応する工具の物理的位置に工具参照番号を関連付けたマップにアクセスする段階をさらに備える、請求項１に記載の方法。
【請求項２４】
ソース工具が前記複数の定義された工具に適合しない場合、前記マシンに関連付けてメモリに前記ソース工具を追加する段階をさらに備える、請求項１に記載の方法。
【請求項２５】
前記指定段階は、
前記複数の定義された工具のいずれもがソース工具に適合しないと判断する段階と、
前記適合しない旨の判断がされたソース工具に
相関付けるオプションとして、複数の定義された工具を提示する段階と、
提示された前記複数の定義された工具のうち１つを、適合した工具として前記オペレータに選択させる段階と、を含む、請求項１に記載の方法。
【請求項２６】
適合した工具を利用して仮想処理を行う段階をさらに備える、請求項１に記載の方法。
【請求項２７】
マシン工具システムに関連付けられた工具を、前記システムのプログラムがパーツ形成用に規定する工具と相関付けるコンピュータ実行可能な命令を備えるコンピュータ可読媒体であって、前記コンピュータ実行可能な命令は、
前記プログラムが規定するソース工具を特定するアルゴリズムと、
各ソース工具を前記マシンに関連付けられた複数の定義された工具と比較し、前記ソース工具に許容可能な範囲で類似している定義された工具全てを、適合した工具として指定する、工具適合アルゴリズムと、
前記プログラム内のソース工具の参照番号を、対応する適合した工具の参照番号で置き換えるアルゴリズムと、を含む、コンピュータ可読媒体。
【請求項２８】
装置であって、前記装置と関連付けられた複数の工具を利用して、前記装置が処理するプログラムに含まれるソース工具が規定するようにパーツを機械加工し、
前記装置は、
スピンドルと、
前記スピンドルへ工具をロードする自動工具交換装置と、
メモリと、を備え、
前記メモリは、
前記プログラムが規定するソース工具を特定する工具管理アルゴリズムと、
各ソース工具を前記マシンに関連付けられた複数の定義された工具と比較し、前記ソース工具に許容可能な範囲で類似している定義された工具全てを、適合した工具として指定する、工具適合アルゴリズムと、
前記プログラム内のソース工具の参照番号を、対応する適合した工具の参照番号で置き換えるアルゴリズムと、を含む、装置。
【発明の詳細な説明】
【関連技術】
【０００１】
本願は、２００６年８月４日に出願した米国特許仮出願番号第６０／８２１，４８１号の優先権を主張し、この開示全体を本願に参照として組み込むものとする。
【技術分野】
【０００２】
本発明は、概してコンピュータ数値制御（ＣＮＣ）マシンへロードする、またはそれに関する工具の利用管理に係り、より詳しくは、機械加工されたパーツを作成するプログラムが要する工具を、特定のマシンが利用可能な、または少なくともマシンがアクセス可能なデータが記載する工具に適合させるアルゴリズムに係る。
【背景技術】
【０００３】
ＣＮＣマシンは、可動および回転可能なスピンドルにより支持される様々な工具（例えばドリル、エンドミル、リーマ等）を、プログラム制御の下に利用して、例えば金属などの材料を所定の形状に形成する、またはパーツを形成する。ストック材料からパーツを作成するにはしばしば幾らかの異なる工具が必要となり、各工具はそのパーツプログラムが指定する機能を実行する。多くのＣＮＣマシンは関連する自動工具交換装置（ＡＴＣ）を有して、パーツプログラムの実行中に工具を交換する処理を迅速化する。当技術分野では公知なように、このようなＡＴＣは工具ステーションを数多く持ち、各工具ステーションは、ＡＴＣにより自動的にパーツプログラムが要するスピンドルへの取り付けロード位置へ索引付けされた特定の工具を保持する。工具は手動で交換されてもよい。概して、特定のマシンが頻繁に利用する手動でロードされる工具は、そのマシンの近くに置かれ、しばしば工具ホルダに入れられている。これら手動でロードされる工具の位置を、手動工具交換装置（ＭＴＣ）、と総称する。また、特定のマシンに関連付けられる様々な工具は、スピンドルに搭載されていようが、ＡＴＣに搭載されていようが、またはＭＴＣにおいて利用可能な状態であろうが、ここでは利用可能な工具として称することにする。
【０００４】
従来、特定のＣＮＣマシン上でパーツプログラムを実行する場合、オペレータが、パーツプログラムから、パーツ完成に必要な工具を判断して、これら工具が、例えばパーツプログラムにより定められたＡＴＣ工具ステーション位置にロードされているか、を確かめる必要があった。または、必要な工具が既にマシン内にロードされているが、パーツプログラムが定める位置とは異なる位置にある場合には、オペレータは、工具の実際の位置を反映するようにパーツプログラムを修正することもできた。いずれにしても、オペレータは、必要な工具を判断し、利用可能な工具を特定し、利用可能な工具と必要な工具とを手動で適合させて、利用可能な工具の実際の位置と、パーツプログラムが指定する必要な工具の位置指定とを相関付ける必要があった。この処理は時間がかかり、誤りがおきやすい。
【発明の概要】
【０００５】
本発明は、ＣＮＣマシンが、マシンが利用可能な工具およびその現在位置を特定する情報を保持し、パーツプログラムが要する工具（以後「ソース工具」と称する）を判断して、ソース工具と利用可能な工具とを適合させるアルゴリズムを実行する、工具利用管理システムおよび方法を提供する。利用可能な工具が最初からロードされていたり、置き換えられていたり、マシンに関連付けられていたりする場合、各マシンのメモリ（あるいは以下で詳述するように、分散型メモリ）には、（実際のツール位置を含む）工具情報がポピュレートされ、パーツプログラムは、工具情報に基づいて、ソース工具と利用可能な工具とを相関付けるよう修正される。この結果、パーツプログラムは、利用可能な工具の位置を手動で変更したり、利用可能な工具の位置を反映するようにパーツプログラムを手動で修正したりする必要なく、各々が利用可能な工具の異なる構成を有する複数のマシンの任意のもので実行できるようになる。
【０００６】
マシンのメモリは、さらに、マシンで現在利用可能でない工具を記す情報も保持することができる。ソース工具をこれら利用可能でない工具と適合されて、マシン上で仮想処理を行うことができる。または、オペレータに対して、パーツプログラムが要する工具がマシンでは利用可能ではないが、マシンのメモリの情報では定義されている旨を通知してもよい。その後オペレータが工具を入手すると、それをマシンが利用可能な工具として追加する。利用可能な工具、および定義されているが利用可能ではない工具（ここでは「定義された工具」と総称することにする）を記した、マシンのメモリに維持されているデータは、工具の物理的特性および／または用途についての情報を含む。本開示では、このデータ群を、「工具ライブラリ」と称することにする。
【０００７】
本発明の別の実施形態においては、定義された工具に完全一致しないソース工具を、不適合工具と称する。これら不適合工具は、類似しているが完全一致しない、同じ工具タイプの定義された工具と適合させることができる。定義された工具と不適合工具との適合は、オペレータによりグラフィカルユーザインタフェースを利用して行われてよい。
【０００８】
本発明のまた別の実施形態では、ソース工具を特定して、ソース工具を定義された工具に適合させるアルゴリズムを、定義された工具を工具ライブラリにインポートする際に利用して、インポートされる定義された工具を、先に定義された工具と比較して、重複するものをインポートしないようにしている。
【０００９】
以下に記す本発明の実施形態を、添付図面との関連で読むことで、本発明の上述およびその他のフィーチャ、および、それらを達成する方法がより明らかになり、本発明の理解が深まることうけあいである。
【図面の簡単な説明】
【００１０】
【図１】本発明に関するソフトウェアコンポーネントの概念図である。
【００１１】
【図２】本発明による工具管理アルゴリズム（ＴＭＡ）のフロー図である。
【００１２】
【図３】図２のＴＭＡに含まれる処理制御ルーチンのフロー図である。
【００１３】
【図４】図２のＴＭＡに含まれる工具適合アルゴリズムのフロー図である。
【００１４】
図面にわたり、対応する参照記号は対応するパーツを示す。図面は、本発明の実施形態を表すものではあるが、必ずしも原寸に比例してはおらず、フィーチャによっては大きく描くことで本発明の例示および説明をしやすくしている場合もある。
【発明を実施するための形態】
【００１５】
以下に開示する実施形態は、包括的であることを意図しておらず、本発明を以下の詳細な説明により開示される形態そのものに限定しようという意図もない。そうではなくて、他の当業者が教示を利用可能なように実施形態を選択して記載する。
【００１６】
図１は、工具管理アルゴリズム（ＴＭＡ）１０、パーツプログラム１２、およびマシンメモリ１４の概念図である。以下でＴＭＡ１０をさらに詳しく説明する。パーツプログラム１２は、ＣＮＣマシン上で動作してパーツを作成するコードを表している。パーツプログラム１２は、マシンがスピンドルまたはパーツを動かしたり、スピンドルの回転速度を調節したり、工具交換をするのに利用する複数のコマンドおよびその他の情報を含む。コマンドおよびその他の情報は、処理１６、１８、２０を表すセクションまたはブロックへオーガナイズされて、パーツに適用されてもよい。各処理１６、１８、２０は、対応する処理１６、１８、２０を行うのに必要な工具の参照番号（工具１、工具２、工具ｎなど）を含むこともできる。処理１６、１８、２０はさらに、工具のタイプ、形状、および利用形態等を含む、工具の物理的特性を示す情報を含む。工具利用情報は、工具のフィードおよび速度仕様を含みうる。当技術分野では公知であるが、工具フィードは工具の材料上の移動速度を指定し、工具速度は、工具の回転速度を指定する。これらパラメータは、とりわけマシンのスループットおよびパーツの表面仕上げに影響する。そうではないと記載していない限り、また文脈から明らかであることを除いて、本記載にわたり「ソース工具」といえば、参照記号と、物理的特性および利用仕様を示すデータとを含んだ、特定の処理１６、１８、２０に関する工具についての情報の略称であるとする。図１には３つの処理１６、１８、２０しか示さないが、パーツプログラム１２には任意の数の処理が含まれてよい。
【００１７】
マシンメモリ１４は、構想上、図１にＡＴＣグループ２２、ＭＴＣグループ２４、および不適合グループ２６内に配置されるとして示される、以下で詳しく定義される工具を含有する工具ライブラリを含む。グループ２２、２４、２６は、単に、ライブラリ内の定義された工具のなかのあるものがＡＴＣまたはＭＴＣに関しており、他の定義された工具（不適合グループ２６）はＡＴＣにもＭＴＣにも関していないことを示す意図を持つ。ＡＴＣグループ２２は、定義された工具３０、３２、３４を含むとして示されている。ＭＴＣグループ２４は、定義された工具３８、４０、４２を含むとして示されている。不適合グループ２６は、ソース工具４４、４６、４８を含むとして示されている。定義された工具３０、３２、３４、３８、４０、４２、４４、４６、４８は、ソース工具と同じタイプの情報を含む（つまり、参照記号と、物理的特性および利用仕様を示すデータ）。故に、そうではないと記載していない限り、また文脈から明らかであることを除いて、本記載にわたり「定義された工具」といえば、参照記号と、物理的特性および利用仕様を示すデータとを含んだ、マシンに関する工具についての情報の略称であるとする。
【００１８】
マシンメモリ１４は、さらに、ＡＴＣグループ２２に関連するマップ３６を含む。マップ３６は、ＡＴＣグループ２２の定義された工具３０、３２、３４により記される物理的工具の、マシンのＡＴＣにおける物理的位置を記す情報を含む。
【００１９】
当業者には明白な通り、メモリ１４は、（１または多数の）マシンが、直接、有線ネットワーク経由で、または無線ネットワーク経由で、アクセス可能な様々な物理的位置における多数のメモリデバイスを含む分散型メモリであってよい。または、メモリ１４は、マシン上に完全に常駐していてもよい。さらに以下で詳述するように、不適合グループ２６内の定義された工具４４、４６、４８は（記載の簡略化のために３つしか示していない）、工具ライブラリのＡＴＣグループ２２またはＭＴＣグループ２４内にある定義された工具のいずれにも適合しないプログラム１２のソース工具である。定義された工具４４、４６、４８が不適合なままである場合、マシンはデータを利用して、以下で詳述するように仮想処理を行うこともできる。
【００２０】
パーツプログラム１２がマシンにロードされると（例えば、携帯型媒体からマシンコントローラに転送される、または、コントローラがソース位置から受け取る等）、ＴＭＡ１０が実行される。ＴＭＡ１０の様々なステップを、図２のフロー図５０に示す。ＴＭＡ１０は、処理１６、１８、２０に関するソース工具を特定すべく、パーツプログラム１２の内容を処理する。本例においては、処理１６、１８、２０について特定されたソース工具は、参照番号１、２、Ｎをそれぞれ有する。ＴＭＡ１０は、パーツプログラム１２のロード中に処理されるソース工具のリスト（その参照記号と、物理的特性および利用仕様を示すデータとを含む）を生成する。ステップ５２において、ＴＭＡ１０は、ソース工具を、工具ライブラリに含まれる定義された工具に適合させるべきか否かを判断する。最初は、ソース工具のいずれもが適合しないので、制御をステップ５４へ渡す。そしてＴＭＡ１０はソース工具１６にアクセスして、処理制御ルーチン５８（図３）を呼び出して（ステップ５６）ソース工具１６を処理する。
【００２１】
図３および４を参照すると、ルーチン５８のステップ６０は、単に、ルーチン５８の入力パラメータがソース工具１６であることを示している。ステップ６２において、ルーチン５８は、図４に示す工具適合アルゴリズム６４を呼び出して、ＡＴＣグループ２２の定義された工具３０、３２、３４を評定する。概して、アルゴリズム６４は、ＡＴＣグループ２２内で、ソース工具１６の要件を満たす、定義された工具（ソース工具１６に適合する定義された工具のこと）があればそれを特定する。ステップ６６は、アルゴリズム６４の入力パラメータが、ソース工具１６と、ＡＴＣグループ２２内の定義された工具３０、３２、３４と、であることを示す。ステップ６８において、アルゴリズム６４は、ＡＴＣグループ２２の第１の定義された工具（つまり、定義された工具３０）にアクセスする。ステップ７０において、アルゴリズム６４は、ＡＴＣグループ２２内の全ての定義された工具３０、３２、３４が処理済みであるか否かを判断する。この処理段階では、結果は「ノー」である。故に、制御はステップ７２に移行する。ステップ７２において、アルゴリズム６４は、定義された工具３０の工具タイプが、ソース工具１６の工具タイプと適合するか否かを判断する。上で示唆したように、各ソース工具および各定義された工具は、関連データが記す工具タイプ（例えばドリル、エンドミル、等）を特定する情報を含む。本発明の１実施形態においては、工具タイプが適合しないと、それらが適合するか否かを判断するもととなる、工具の物理的特性をさらに調べる手がかりがなくなる。というわけで、ステップ７２における答えが「ノー」である場合、制御をステップ７４に渡して、アルゴリズム６４に、ＡＴＣグループ２２内の次に定義された工具３２にアクセスさせる。さもなくば、制御はステップ７６に渡され、ソース工具１６および定義された工具３０の物理的形状を比較する。
【００２２】
ステップ７６において、アルゴリズム６４は、ソース工具１６が指定する物理的工具の複数の物理的特性を記すソース工具１６の情報にアクセスする。例えば、ソース工具１６は、切断直径、シャンク直径、フルート長、等を指定してよい。これら物理的特性の各々は、定義された工具３０内の対応するデータと比較され、定義された工具３０の適合指数を算出してよい。適合指数の算出方法は、各工具タイプにより異なってよい。場合によっては、処理を進めるには、比較処理中に１以上の閾値条件が満たされる必要がある。例えば、ドリルに関するデータを比較する際、ステップ７６では、直径の差異が0.000001  mm以下であり、且つ、スピンの方向が同一であることが必要とされる場合がある。これら閾値条件の両方が満たされない場合、さらなる比較は行われない。本発明の１実施形態においては、ステップ７６で、形状比較の１以上に重み係数を付加して物理的特性を比較して適合指数を算出する。例えば、幾らかの物理的特性を他よりも重要として、より重い重み係数を付加してよい。重み付けした比較により、例えば０から１の間の値である適合指数値が生じる。
【００２３】
ステップ７８において、適合指数値が閾値と比較される。しかし、適合指数を算出しない実施形態においては、対象工具に工具適合基準を適用する。ステップ７８では、適合基準が満たされるかを判断する。本発明の１実施形態においては、ここで述べるパーツプログラム１２のロードに関する自動適合処理中に、適合指数と比較する閾値が１であり、ソース工具１６と、目下の対象である定義された工具とが完全に一致していることが示されている。しかし、当業者であれば、完全一致ではない不完全な適合を許可するような異なる閾値設定を実装してもよいことを理解しよう。ステップ７８では、適合指数値が閾値と等しいかそれより大きいかを（または、該当する場合には適合基準が満たされているか否かを）判断する。満たされていない場合、制御はステップ７４に渡され、ＡＴＣグループ２２の次の定義された工具３２にアクセスする。しかし、適合指数値が閾値と等しいかそれより大きい場合（または、該当する場合には適合基準が満たされている場合）、制御はステップ８０に渡され、ステップ７４で定義された工具３２にアクセスする前に、アルゴリズム６４が、定義された工具３０がソース工具１６と適合すると特定する。
【００２４】
アルゴリズム６４が、ＡＴＣグループ２２の定義された工具３２にアクセスすると、制御はステップ７０に戻り、アルゴリズム６４が、ＡＴＣグループ２２内の定義された工具全てを処理したか否かを判断する。アルゴリズム６４は、ＡＴＣグループ２２の定義された工具３０、３２、３４を、上述の方法で、ＡＴＣグループ２２の定義された工具全てが処理されるまで、ソース工具１６と比較する作業を続ける。アルゴリズム６４は、定義された工具３０、３２、３４を処理する際、ソース工具１６に適合する定義された工具がもしあれば、ステップ８０で作成したリストに追加する。最終的には、ＡＴＣグループ２２の全ての定義された工具３０、３２、３４が処理済みとなり、ステップ７０における結果が「イエス」になる。
【００２５】
ステップ８２において、制御は図３の処理制御ルーチン５８に戻る。ステップ６２を完了すると、ルーチン５８はステップ８４を行い、再度、工具適合アルゴリズム６４を呼び出す。このアルゴリズム６４の実行中、ＭＴＣグループ２４の定義された工具３８、４０、４２全ても、ＡＴＣグループ２２について上述したのと同様の方法で処理される。ステップ８０で何らかの適合が、ＡＴＣグループ２２の処理中に特定された適合した工具に加えられる。ＭＴＣグループ２４の全ての定義された工具３８、４０、４２が処理されたら、制御は再度ステップ８２に戻り、制御ルーチン５８を処理する。
【００２６】
ステップ８８において、処理制御ルーチン５８は、工具適合アルゴリズム６４を呼び出して、不適合グループ２６内の不適合工具４４、４６、４８を処理する。多数のパーツプログラム１２が同時にマシンに常駐していてよいことを理解されたい。これらパーツプログラム１２のロード処理中に、ＡＴＣグループ２２またはＭＴＣグループ２４内のいずれの定義された工具とも適合しないソース工具を、不適合工具グループ２６に追加してよい。後にロードされるパーツプログラム１２が、先にロードされたパーツプログラム１２における不適合工具と適合するソース工具を要する場合もある。不適合工具４４、４６、４８は、切削作業に現在利用可能な物理的工具ではないが、それでも仮想処理に利用はできる、あるいは、不適合工具に対応する物理的工具が取得され利用可能になった場合、例えばＭＴＣに追加できる。不適合工具４４、４６、４８の処理も、ＡＴＣグループ２２およびＭＴＣグループ２４について上述した処理と同じである。上述のことから明らかなように、ソース工具が不適合工具グループ２６内の不適合工具と適合した場合、そのソース工具は不適合工具グループ２６には追加されない。一方で、ソース工具が、ＡＴＣグループ２２内の定義された工具３０、３２、３４、ＭＴＣグループ２４内の定義された工具３８、４０、４２、または、不適合グループ２６の不適合工具４４、４６、４８に適合しない場合、そのソース工具は不適合工具として工具ライブラリに追加される。このようにして、ＴＭＡ１０は、不適合グループ２６に対して追加される不適合工具が重複することを防止する。パーツプログラム１２がマシンからアンロードされる場合、ＴＭＡ１０は、プログラムからの不適合工具のなかに依然他のパーツプログラムにより必要とされているものがあるか否かを判断する。もしそうであれば、それらの不適合工具を不適合グループ２６内に残す。さもなくば、それらは除去する。
【００２７】
本発明の１実施形態においては、ステップ９０において、アルゴリズム６４のステップ８０で記憶された様々な適合する工具をソートして、ソース工具１６に最もよく適合するものを決定する。上述の適合アルゴリズム６４の結果、全ての適合する工具の形状がソース工具１６と同一である場合もある（つまり、適合指数値と比較される閾値が１に設定される場合である）。他の実施形態においては、適合する工具の形状が完全同一ではない場合もある。この場合には、ステップ９０における、形状適合の品質に関する主要なソート基準が適合指数であってよい。適合する工具全てがソース工具１６の形状と同一である場合（または適合する工具間で適合指数ソート結果が同じであった場合）、これら適合する工具を位置による自動ソートにかけてよい。１実施形態においては、好ましい位置のソート順序は、スピンドル、ＡＴＣ、ＭＴＣ、そして不適合工具グループ２６となる。スピンドルは、工具が既にロードされているという意味で好ましいとされる。ＡＴＣは、工具を自動でロードするので次に好ましいとされる。ＭＴＣは、工具をスピンドルへの手動ロードできるので、さらにその次に好ましいとされる。不適合グループ２６は、不適合工具は物理的に利用可能ではないが、少なくとも形状的に特徴付けられておりパーツプログラム１２の検証を含む仮想処理で利用できる、ということから、そのさらに次に好ましいとされる。
【００２８】
図３に戻ると、処理制御ルーチン５８のステップ９２で、ＴＭＡ１０の制御は図２のステップ９４に戻る。ステップ９４において、ＴＭＡ１０は、全ての、ソートされ適合した工具が処理されたか否かを判断する。この処理の段階では、適合した工具のうち処理されたものはないので、制御はステップ９６に渡されて、そこで第１に適合した工具がソートリストからアクセスされる。定義された工具および不適合工具の処理中に適合がない場合、または、全ての適合した工具が処理済みである場合、ステップ９４の結果は「ノー」となり、ステップ９８でソース工具１６を不適合グループ２６に追加してよい。
【００２９】
説明をしやすくすべく、上述の処理中に、多数の定義された工具がソース工具１６に適合したと仮定する。さらに、ソートの後で第１の適合した工具が、工具２という参照番号を有する、定義された工具３２であったと仮定する。この場合、ステップ１００で、目下対象となっている定義された工具（ここでは定義された工具３２）が、さらに以下で示すようにソース工具と既に適合したものであるか否かを判断する。本例においては、定義された工具３２は、どのソース工具とも関連がない、と仮定する。そうすると、ステップ１０２において、ＴＭＡ１０は、定義された工具３２をパーツプログラム１２のソース工具１６と自動的に相関付ける。
【００３０】
別の実施形態においては、適合する工具の参照番号を、適合する工具を指定する基準として利用することができる。例えば、多数の定義された工具が適合基準を満たす場合、ソース工具の参照番号と一致する参照番号を有する任意の定義された工具を自動的に適合する工具として指定してもよい。全ての適合した工具同様、この指定された適合した工具は、万一全ての適合基準が満たされたとしても（ツール参照番号だけは除いて）、その後別のソース工具とは適合できない。
【００３１】
状況によっては、パーツプログラムは、２つの一致する工具の利用を必要とする場合がある。例えば、特定の形状のエンドミルがパーツを粗く削るのに必要である場合があり、同一の形状の別のエンドミルが仕上げに必要である場合がある。この場合、ＴＭＡ１０は、１つの適合する工具が、これらソース工具の両方ともに関連付けられていないことを確かめる必要がある。アルゴリズム６４のステップ１００がこのフィーチャを持っている。１実施形態においては、第１のソース工具が、ステップ９６でアクセスされた第１の適合した工具と相関している場合もある。ステップ１００においては、ＴＭＡ１０は、第１の適合した工具が、まだソース工具と適合していないことを判断する。このようにして、ステップ１０２において、第１の適合した工具は第１のソース工具と相関付けされる。
【００３２】
その後、ステップ５２、５４、５６で、第２のソース工具が処理される。第２のソース工具は、第１のものと同一なので、同じ適合した工具がこの処理中に特定されるべきであり、それらは同じ順序でソートされる。故に、ステップ９６で、ＴＭＡ１０は第１の適合した工具にアクセスする。ステップ１００において、ＴＭＡ１０は、第１の適合した工具が既にソース工具と関連付けられていると判断する。そしてＴＭＡ１０はステップ９４に戻る。さらなる適合した工具が工具適合アルゴリズム６４により特定されたと仮定すると、ステップ９４の結果は「イエス」となり、ステップ９６で、次に適合した工具にアクセスする。ステップ１００において、ＴＭＡ１０は、第２の適合した工具がソース工具と関連付けられていないと判断する。最後に、ステップ１０２で、ＴＭＡ１０は、第２の適合した工具を、第２のソース工具と相関付ける。このようにすれば、マシンの１つの定義された工具が、パーツプログラム１２が必要とする、２つの別個であるが、同一のソース工具に同時に相関付けられることはない。
【００３３】
適合した工具が、上述の方法でソース工具１６と相関付けられた後で、ＴＭＡ１０はステップ５２に戻り、パーツプログラム１２が必要とするさらなるソース工具に対する適合が必要であるか否かを判断する。ステップ５４でソース工具１８にアクセスする。ステップ５６において、ＴＭＡ１０は、処理制御ルーチン５８を呼び出し、ＡＴＣグループ２２およびＭＴＣグループ２４の各定義された工具、および不適合グループ２６の各不適合工具について、上述の方法で工具適合アルゴリズム６４を実行する。本発明の１実施形態においては、この処理中に、ソートされた適合した工具のなかで特定されるものがもしあれば、ステップ１０２でそれをパーツプログラム１２のソース工具１８と相関付ける。別の実施形態においては、特定された適合した工具全てが、オペレータに提示され、手動選択される。適合した工具が見つからなかった場合、ステップ９８で、ソース工具１８を不適合グループ２６に追加する。不適合グループ２６に追加される際、ソース工具１８の参照番号は、その参照番号が既に工具ライブラリの別の定義された工具と関連付けられていない場合、ソース工具１８と関連付けられる参照番号（つまり工具２）であり、さもなくば、次の利用可能な参照番号となる。
【００３４】
前述のことから明らかなように、パーツプログラム１２のソース工具各々は、上述の方法で処理されて、工具ライブラリ内の定義された工具または不適合工具と適合される、または、不適合グループ２６に記憶される。最後に、ステップ５２において、ＴＭＡ１０は、パーツプログラム１２の全てのソース工具が処理済みであると判断して、制御はステップ１０４に渡され、そこでＴＭＡ１０は、ソース工具と関連付けられた元の工具参照番号を、相関付けられた適合した工具の参照番号で置き換える。この機能遂行にあたって、ＴＭＡ１０は先ず、各ソース工具について、該ソース工具を利用するパーツプログラム１２の全ての処理１６、１８、２０を特定する。そして、ＴＭＡ１０は、元の工具参照番号を、上で特定した適合した工具参照番号と置き換える。以下の例がこの処理を示している。
【００３５】
パーツプログラム１２において、３つの処理が存在して、それらは元々以下のソース工具を表していると仮定する。
処理１：ソース工具１（粗い切削）、ソース工具２（仕上げ）
処理２：ソース工具３（粗い切削）、ソース工具２（仕上げ）
処理３：ソース工具１（粗い切削）、ソース工具４（仕上げ）
【００３６】
図２のステップ１０４において、ＴＭＡ１０は、元々表しているソース工具各々を利用するパーツプログラム１２の処理を特定する。
ソース工具１：処理１（粗い切削）、処理３（粗い切削）
ソース工具２：処理１（仕上げ）、処理２（仕上げ）
ソース工具３：処理２（粗い切削）
ソース工具４：処理３（仕上げ）
【００３７】
さらに、上述のＴＭＡ１０の処理中に、適合した工具に関する以下の参照番号が特定されたと仮定する。
ソース工具１は、適合した工具４に適合した。
ソース工具２は、適合した工具１に適合した。
ソース工具３は、適合した工具２に適合した。
ソース工具４は、適合した工具１０に適合した。
【００３８】
全ての処理の後に、表されているソース工具が上で概略を示したように特定されると、元のソース工具参照番号を以下のように置き換える。
ソース工具１を、処理１（粗い切削）および処理３（粗い切削）の適合した工具４に置き換える。
ソース工具２を、処理１（仕上げ）および処理２（仕上げ）の適合した工具１に置き換える。
ソース工具３を、処理２（粗い切削）の適合した工具２（粗い切削）に置き換える。
ソース工具４を、処理３（仕上げ）の適合した工具１０（粗い切削）に置き換える。
【００３９】
このようにして、ＴＭＡ１０は、適合した工具の参照番号の、別の適合した工具の参照番号への置き換えを防ぐことができる。この置き換え処理の後に、ＴＭＡ１０はステップ１０６で終了する。
【００４０】
本発明の１実施形態においては、上述の置き換え処理中に、ＴＭＡ１０は、ソース工具に対応するツール利用情報（フィードおよび速度情報）をチェックして、情報がパーツプログラム１２に手動でプログラムされたか否かを判断する。オペレータは、工具のフィードおよび速度情報のデフォルト値を変更することがある。パーツプログラム１２の作成中に、フィードおよび速度情報は、例えば工具を定義する場合にメモリ１４からインポートされる、または手動で入力されることがある。情報が手動で入力された場合には、この情報に対してフラグを設定して、手動入力であることを示す。ＴＭＡ１０は、手動入力判断する際に、これらフラグを特定する。本発明の１実施形態では、フィードおよび速度情報が手動で入力された場合には、ＴＭＡ１０がそれを維持する。もしもフィードおよび速度情報が手動で入力されたものではない場合には、ＴＭＡ１０はそれを、上述の置き換え処理中に、適合した工具に関するフィードおよび速度情報と置き換える。
【００４１】
１以上のソース工具が不適合グループ２６に追加される場合、パーツプログラム１２をロードした後に、「不適合ツール（１以上）」というメッセージをオペレータに提示する。本発明の１実施形態においては、オペレータは、オプションとして、全てのソース工具およびそれらが適合するもの（スピンドル、ＡＴＣ，ＭＴＣ、あるいは不適合グループ２６）の位置をリストにした工具一覧画面を選択することができる。適合した工具が見つからなかった場合、ソース工具は「不適合工具」として特定される。オペレータは、不適合工具を、ＡＴＣグループ２２またはＭＴＣグループ２４内の、同様の、しかし同一ではない定義された工具と適合することができる。オペレータが、工具一覧画面上の不適合工具を選択して（例えばクリックして）、「適合するものを見つける」コマンドを起動すると、ＴＭＡ１０は再度、選択された不適合工具について実行される。ただし、この不適合工具の処理においては、ＴＭＡ１０は上述の処理制御ルーチン５８のステップ６０で実行開始し、ステップ９２で実行終了する。さらに、工具適合アルゴリズム６４のステップ７８に関する閾値を、１の代わりに０に設定する。
【００４２】
ステップ６０で、入力パラメータは不適合工具である。ステップ６２は、図４の工具適合アルゴリズム６４を呼び出して、上述の方法で適合する工具の位置をＡＴＣグループ２２内であると特定する。１実施形態においては、ステップ８６において、不適合工具と同じ工具タイプの各定義された工具３０、３２、３４について適合指数値を計算する代わりに、アルゴリズム６４は、適合指数を０に設定して、定義された工具３０、３２、３４の直径に基づいてパーセント適合を割り当てる。例えば、不適合工具について特定した直径に同一の直径を有する定義された工具には、１００％のパーセント適合を割り当てる。また、不適合工具データブロックについて特定した直径の２倍の直径を有する定義された工具には、２００％のパーセント適合を割り当てる、といった具合である。
【００４３】
不適合工具の処理においてステップ７８の閾値はゼロなので、ステップ７８で処理された全ての定義された工具３０、３２、３４を不適合工具のリストに追加する。この同じ処理を、ＭＴＣグループ２４の定義された工具３８、４０、４２の処理制御ルーチン５８のステップ８４、８６、８８でも行う。そして適合した工具のリストは処理制御ルーチン５８のステップ９０で、パーセント適合の順にソートをかけられてもよい。最後に、ソートされた適合した工具のリストを、適合した工具の位置（つまりＡＴＣまたはＭＴＣ）とともにオペレータに提示する。するとオペレータは、適合した工具をこのリストから選択して、それを、上述のパーツプログラム１２が要する先に不適合だったソース工具と置き換える。
【００４４】
上で示唆したように、パーツプログラム１２が要するソース工具に適合する工具は、マシン上の物理的工具（つまり、スピンドル、ＡＴＣ、またはＭＴＣの工具）に対応づけられている必要はない。オペレータがパーツプログラム１２を実行して、ソース工具が不適合グループ２６の不適合工具に相関付けられていた場合、ＴＭＡ１０は、ソース工具のうち１以上について物理的工具が存在しない旨のメッセージをオペレータに提示する。オペレータは、例えばＡＴＣに配置して対応する定義された工具を工具ライブラリに作成ことで、マシンに物理的工具をロードしてもよい。または、オペレータは工具を定義するオプションを選択して、ＭＴＣに追加して適宜手動ロードできるようにしてもよい。オペレータが物理的工具を入手しない場合でも、オペレータはマシンに対して、例えばパーツプログラム１２のグラフィック検証などの、この不適合工具を利用した仮想処理を行わせることはできる。
【００４５】
パーツプログラム１２のロード中の利用、および不適合工具の手動適合に加えて、ＴＭＡ１０は、定義された工具を工具ライブラリに追加する際にも利用可能である。工具ライブラリは、パーツプログラムまたはバックアップファイルからの新たな定義された工具、中央ライブラリサーバに存在する定義された工具等で更新されてよい。工具ライブラリへのインポート用の定義された工具がどこからくるかに関わらず、定義された工具が重複してインポートされないようＴＭＡ１０を実行することができる。
【００４６】
例えば、オペレータは、特定のマシンの工具ライブラリへのインポートを所望するパーツプログラムのソース工具を特定してよい。上述のＴＭＡ１０の工具適合処理を実行するかわりに、オペレータは、既に工具ライブラリにまだない場合、パーツプログラムの全てのソース工具を工具ライブラリにインポートする工具インポート処理を実行してよい。上述の方法によりパーツプログラム１２で参照されたソース工具のリストを集めた後で、ＴＭＡ１０は第１のソース工具にアクセスして（ステップ５２、５４）、処理制御ルーチン５８を呼び出す（ステップ５６）。ルーチン５８のステップ６０における入力パラメータは第１のソース工具である。ステップ６２において、ＴＭＡ１０は工具適合アルゴリズム６４を呼び出して、上述のようにして第１のソース工具と、ＡＴＣグループ２２の定義された工具３０、３２、３４とを比較する。このＴＭＡ１０の用途においては、比較された工具同士は等しく、適合対であると考慮されるべきである。適合した工具が特定された場合には、重複してしまうので、第１のソース工具は工具ライブラリにインポートしない。適合した工具が特定されなかった場合には、ＭＴＣグループ２４の定義された工具３８、４０、４２を同様にして処理する（ステップ８４）。ここでも、もし適合対が見つかった場合、ソース工具は工具ライブラリに追加しない。ＡＴＣグループ２２またはＭＴＣグループ２４内の定義された工具のなかに、ソース工具と適合するものがない場合には、それを工具ライブラリに追加する。この手順を残りのソース工具についても繰り返す。
【００４７】
本発明を例示的な実施形態として記載してきたが、本発明は、本開示の精神および範囲内で変形可能である。従って本出願は概要を利用して発明のいずれかの変形例、利用例、または適合例を網羅することを意図している。さらに、本発明は該当技術分野で公知または慣例の範囲である本開示からの逸脱をも網羅することを意図している。
【図１】
2010500180.tif 000003
【図２】
2010500180.tif 000004
【図３】
2010500180.tif 000005
【図４】
2010500180.tif 000006
【国際調査報告】
2010500180.tif 000007
2010500180.tif 000008
2010500180.tif 000009