(57)【要約】【課題】効率的な工具管理を行うための工具管理システム、工具管理装置及び工具管理方法を提供する。【解決手段】工具管理システム１００は、プログラムにしたがって加工を行う工作機械が使用する工具に関する情報を管理する工具管理装置１と、前記工作機械を制御するＣＮＣ３と、を含む。ＣＮＣ３は、前記工作機械における前記工具の装着状態に関する情報を、前記工具管理装置に通知する工具装着検知部３０５を有する。工具管理装置１は、工具種類に共通する情報を含む工具種類データと、工具個体に関する情報を含む工具オブジェクトデータと、を対応付けた工具管理データを格納する工具管理データ格納部１０１を有する。前記工具オブジェクトデータは、前記工具の装着状態に関する情報を含むことを特徴とする。【選択図】図２
2020015143.tif 000002
【特許請求の範囲】
【請求項１】
プログラムにしたがって加工を行う工作機械が使用する工具に関する情報を管理する工具管理装置と、前記工作機械を制御する数値制御装置と、を含み、
前記数値制御装置は、前記工作機械における前記工具の装着状態に関する情報を、前記工具管理装置に通知する工具装着検知部を有し、
前記工具管理装置は、工具種類に共通する情報を含む工具種類データと、工具個体に関する情報を含む工具オブジェクトデータと、を対応付けた工具管理データを格納する工具管理データ格納部を有し、
前記工具オブジェクトデータは、前記工具の装着状態に関する情報を含むことを特徴とする
工具管理システム。
【請求項２】
前記工具種類データは工具種類名により一意に識別可能であり、
前記工具オブジェクトデータは工具名により一意に識別可能であり、
前記プログラムは、前記工具種類名により使用工具を指定するものであり、
前記数値制御装置は、前記工具管理データを参照して、前記プログラムに記述されている前記工具種類名に基づき、前記工作機械に装着された前記工具を選択する工具選択部をさらに有することを特徴とする
請求項１記載の工具管理システム。
【請求項３】
前記プログラムを作成するＣＡＭをさらに含み、
前記ＣＡＭは、前記工具種類名を使用して前記プログラムを作成するためのプログラム作成部を有することを特徴とする
請求項２記載の工具管理システム。
【請求項４】
前記工具装着検知部は、前記工作機械に前記工具が装着された際に、前記工具の前記工具名及び前記工具が装着されたマガジン及びポットを識別し、前記識別した情報を、前記工具の装着状態に関する情報として前記工具管理装置に通知することを特徴とする
請求項２記載の工具管理システム。
【請求項５】
前記工具装着検知部は、前記工具の寿命又はオフセットに関する情報を、前記工具の装着状態に関する情報としてさらに前記工具管理装置に通知することを特徴とする
請求項４記載の工具管理システム。
【請求項６】
プログラムにしたがって加工を行う工作機械が使用する工具に関する情報を管理する工具管理装置であって、
工具種類に共通する情報を含む工具種類データと、工具個体に関する情報を含む工具オブジェクトデータと、を対応付けた工具管理データを格納する工具管理データ格納部と、
前記工作機械における前記工具の装着状態に関する情報を受信する工具オブジェクトデータ生成部と、を有し、
前記工具オブジェクトデータは、前記工具の装着状態に関する情報を含むことを特徴とする
工具管理装置。
【請求項７】
工具管理装置が、プログラムにしたがって加工を行う工作機械が使用する工具に関する情報を管理する工具管理方法であって、
前記工作機械における前記工具の装着状態に関する情報を受信するステップと、
前記工具の装着状態に関する情報を含む工具オブジェクトデータを生成するステップと、
工具種類に共通する情報を含む工具種類データと、工具個体に関する情報を含む前記工具オブジェクトデータと、を対応付けた工具管理データを格納するステップと、を含むことを特徴とする
工具管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具管理システム、工具管理装置及び工具管理方法に関し、特に効率的な工具管理を行うための工具管理システム、工具管理装置及び工具管理方法に関する。
【背景技術】
【０００２】
工具データベースを備える工具管理装置、ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）、ＣＮＣ（Ｃｏｍｐｕｔｅｒ  Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）はいずれも工具情報を取扱う装置である。従来、これらの装置が取扱う工具情報は、必ずしも統一されておらず、装置間で整合性を維持するためには人手を介した作業が必要であった。
【０００３】
例えば、ＣＮＣでは、工具情報は工具番号、工具種類番号、マガジン番号、ポット番号によって管理されている（図１参照）。このうち工具番号、工具種類番号と、マガジン番号、ポット番号と、の対応関係は工作機械毎に異なりうる。工具番号又は工具種類番号で特定される工具を、どのマガジン及びポットに取り付けるかは、工作機械毎に任意に決定しうるからである。
【０００４】
一方、ＣＡＭでは、マガジン番号やポット番号という概念を扱うことはなく、工具データベースを参照しながら、工具番号か工具種類番号で使用工具を指定する。そのため、ＣＡＭでＮＣプログラム作成時に指定されていた工具を、ＣＮＣが加工時に意図通りに選択するかどうかは、各工作機械のマガジン及びポットに意図通りに工具が装着され、装着状態がＣＮＣに意図通り登録されているかどうかに依存する。
【０００５】
よって、ＣＮＣのオペレータは、ＣＡＭでＮＣプログラムを作成した際に指定されていた工具を指示書等で確認し、指示書に記載された工具を工作機械のポットに装着して、装着した工具の工具番号を正しくＣＮＣに登録するなどの作業を行う必要があった。
【０００６】
特許文献１には、ＣＮＣが管理する工具属性情報に工具種類、工具径、工具長、工具径補正番号、工具長補正番号を含ませたり、ＮＣプログラムのコメントにユニークな工具種類名を記載するなどして、工具の同一性を担保し、段取り違いを防止する手法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１４２０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１を含む従来の工具管理手法には次のような課題があった。
１）ＣＮＣのオペレータは、ＮＣプログラムに記載された工具番号や工具種類番号と、工作機械のマガジンやポットに装着された工具と、が正しい対応関係となるように、工具を目視で確認して装着及び登録する必要あり、これには時間と手間がかかる。
【０００９】
２）ＣＮＣは、工具番号、工具種類番号、マガジン番号、ポット番号により工具情報を管理するが、これらの対応関係は工作機械毎に相違しうる。工具番号、工具種類番号が示す工具は、マガジンやポットへの工具の装着状態次第である。そのため、段取り違いが発生しやすく、間違った工具で加工する危険性があった。全ての工作機械で工具の装着状態等を共通化できれば便利であるが、その運用には多大な時間と手間がかかる。
【００１０】
３）ＣＮＣは、工具オフセット量を、工具番号、工具種類番号、マガジン番号、ポット番号の対応を定義したテーブルとは別のデータテーブルで管理する。したがって、工具番号と工具オフセット量とを改めて関連付ける必要があった。そのため、例えば工作機械Ａで使用していた工具を工作機械Ｂに移設して使用するといった場合に、工作機械Ａで測定した当該工具のオフセット量を工作機械Ｂで流用することは、運用上困難であった。
【００１１】
本発明はこのような課題を解決するためのものであり、効率的な工具管理を行うための工具管理システム、工具管理装置及び工具管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一実施形態にかかる工具管理システムは、プログラムにしたがって加工を行う工作機械が使用する工具に関する情報を管理する工具管理装置と、前記工作機械を制御する数値制御装置と、を含み、前記数値制御装置は、前記工作機械における前記工具の装着状態に関する情報を、前記工具管理装置に通知する工具装着検知部を有し、前記工具管理装置は、工具種類に共通する情報を含む工具種類データと、工具個体に関する情報を含む工具オブジェクトデータと、を対応付けた工具管理データを格納する工具管理データ格納部を有し、前記工具オブジェクトデータは、前記工具の装着状態に関する情報を含むことを特徴とする。
本発明の一実施形態にかかる工具管理システムは、前記工具種類データは工具種類名により一意に識別可能であり、前記工具オブジェクトデータは工具名により一意に識別可能であり、前記プログラムは、前記工具種類名により使用工具を指定するものであり、前記数値制御装置は、前記工具管理データを参照して、前記プログラムに記述されている前記工具種類名に基づき、前記工作機械に装着された前記工具を選択する工具選択部をさらに有することを特徴とする。
本発明の一実施形態にかかる工具管理システムは、前記プログラムを作成するＣＡＭをさらに含み、前記ＣＡＭは、前記工具種類名を使用して前記プログラムを作成するためのプログラム作成部を有することを特徴とする。
本発明の一実施形態にかかる工具管理システムは、前記工具装着検知部は、前記工作機械に前記工具が装着された際に、前記工具の前記工具名及び前記工具が装着されたマガジン及びポットを識別し、前記識別した情報を、前記工具の装着状態に関する情報として前記工具管理装置に通知することを特徴とする。
本発明の一実施形態にかかる工具管理システムは、前記工具装着検知部は、前記工具の寿命又はオフセットに関する情報を、前記工具の装着状態に関する情報としてさらに前記工具管理装置に通知することを特徴とする。
本発明の一実施形態にかかる工具管理装置は、プログラムにしたがって加工を行う工作機械が使用する工具に関する情報を管理する工具管理装置であって、工具種類に共通する情報を含む工具種類データと、工具個体に関する情報を含む工具オブジェクトデータと、を対応付けた工具管理データを格納する工具管理データ格納部と、前記工作機械における前記工具の装着状態に関する情報を受信する工具オブジェクトデータ生成部と、を有し、前記工具オブジェクトデータは、前記工具の装着状態に関する情報を含むことを特徴とする。
本発明の一実施形態にかかる工具管理方法は、工具管理装置が、プログラムにしたがって加工を行う工作機械が使用する工具に関する情報を管理する工具管理方法であって、前記工作機械における前記工具の装着状態に関する情報を受信するステップと、前記工具の装着状態に関する情報を含む工具オブジェクトデータを生成するステップと、工具種類に共通する情報を含む工具種類データと、工具個体に関する情報を含む前記工具オブジェクトデータと、を対応付けた工具管理データを格納するステップと、を含むことを特徴とする。
【発明の効果】
【００１３】
本発明により、効率的な工具管理を行うための工具管理システム、工具管理装置及び工具管理方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】従来の工具管理手法を示す図である。
【図２】工具管理システム１００のハードウェア構成例を示す図である。
【図３】工具管理装置１のハードウェア構成例を示す図である。
【図４】ＣＡＭ２のハードウェア構成例を示す図である。
【図５】ＣＮＣ３のハードウェア構成例を示す図である。
【図６】工具管理システム１００の機能構成例を示す図である。
【図７】工具管理システム１００の動作例を示す図である。
【図８】工具管理システム１００の動作例を示す図である。
【図９】工具管理システム１００の動作例を示す図である。
【図１０】工具管理システム１００の動作例を示す図である。
【図１１】工具管理システム１００の動作例を示す図である。
【図１２】工具管理システム１００の動作例を示す図である。
【図１３】工具管理システム１００の変形例を示す図である。
【発明を実施するための形態】
【００１５】
図２は、工具管理システム１００の概略的なハードウェア構成図である。工具管理システム１００は、工具管理装置１、ＣＡＭ２、ＣＮＣ３を含む。工具管理装置１、ＣＡＭ２、ＣＮＣ３は有線又は無線により通信可能に接続される。
【００１６】
図３は、工具管理装置１の概略的なハードウェア構成図である。工具管理装置１は、工具情報を管理する情報処理装置であり、例えばＰＣ（パーソナルコンピュータ）である。工具管理装置１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、入出力装置１５、インタフェース１６、インタフェース１７、バス１０を有する。
【００１７】
ＣＰＵ１１は、工具管理装置１を全体的に制御するプロセッサである。典型的には、ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス１０を介して読み出し、システム・プログラムに従って工具管理装置１全体を制御する。
【００１８】
ＲＯＭ１２は、システム・プログラムを予め格納している。
【００１９】
ＲＡＭ１３は、一時的な計算データや表示データ、後述する入出力装置１５、インタフェース１６、インタフェース１７を介して入出力されるデータ等を一時的に格納する。
【００２０】
不揮発性メモリ１４は、工具管理装置１の電源が遮断されても記憶状態を保持する。例えば、不揮発性メモリ１４は、工具管理プログラムや工具管理データ等を格納する。不揮発性メモリ１４に記憶されたプログラムやデータは、実行時及び利用時にはＲＡＭ１３に展開されても良い。
【００２１】
入出力装置１５は、ディスプレイ等の表示装置、キーボード等の入力装置を含むデータ入出力装置である。例えば入出力装置１５は、ＣＰＵ１１から受けた情報をディスプレイに表示する。また、キーボードから入力されたデータをＣＰＵ１１に渡す。
【００２２】
インタフェース１６は、有線又は無線の通信手段によりＣＡＭ２と通信を行うためのインタフェースである。ＣＰＵ１１が出力するデータは、インタフェース１６を介してＣＡＭ２に渡される。ＣＡＭ２が出力するデータは、インタフェース１６を介してＣＰＵ１１に渡される。
【００２３】
インタフェース１７は、有線又は無線の通信手段によりＣＮＣ３と通信を行うためのインタフェースである。ＣＰＵ１１が出力するデータは、インタフェース１７を介してＣＮＣ３に渡される。ＣＮＣ３が出力するデータは、インタフェース１７を介してＣＰＵ１１に渡される。
【００２４】
図４は、ＣＡＭ２の概略的なハードウェア構成図である。ＣＡＭ２は、ワークを加工するためのＮＣプログラムを生成、出力する情報処理装置であり、例えばＰＣ（パーソナルコンピュータ）である。ＣＡＭ２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、不揮発性メモリ２４、入出力装置２５、インタフェース２６、インタフェース２７、バス２０を有する。
【００２５】
ＣＰＵ２１は、ＣＡＭ２を全体的に制御するプロセッサである。典型的には、ＣＰＵ２１は、ＲＯＭ２２に格納されたシステム・プログラムをバス２０を介して読み出し、システム・プログラムに従ってＣＡＭ２全体を制御する。
【００２６】
ＲＯＭ２２は、システム・プログラムを予め格納している。
【００２７】
ＲＡＭ２３は、一時的な計算データや表示データ、後述する入出力装置２５、インタフェース２６、インタフェース２７を介して入出力されるデータ等を一時的に格納する。
【００２８】
不揮発性メモリ２４は、ＣＡＭ２の電源が遮断されても記憶状態を保持する。例えば、不揮発性メモリ２４は、ＮＣプログラム作成プログラムや工具データ等を格納する。不揮発性メモリ２４に記憶されたプログラムやデータは、実行時及び利用時にはＲＡＭ２３に展開されても良い。
【００２９】
入出力装置２５は、ディスプレイ等の表示装置、キーボード等の入力装置を含むデータ入出力装置である。例えば入出力装置２５は、ＣＰＵ２１から受けた情報をディスプレイに表示する。また、キーボードから入力されたデータをＣＰＵ２１に渡す。
【００３０】
インタフェース２６は、有線又は無線の通信手段により工具管理装置１と通信を行うためのインタフェースである。ＣＰＵ２１が出力するデータは、インタフェース２６を介して工具管理装置１に渡される。工具管理装置１が出力するデータは、インタフェース２６を介してＣＰＵ２１に渡される。
【００３１】
インタフェース２７は、有線又は無線の通信手段によりＣＮＣ３と通信を行うためのインタフェースである。ＣＰＵ２１が出力するデータは、インタフェース２７を介してＣＮＣ３に渡される。ＣＮＣ３が出力するデータは、インタフェース２７を介してＣＰＵ２１に渡される。
【００３２】
図５は、ＣＮＣ３の概略的なハードウェア構成図である。ＣＮＣ３は、ＮＣプログラムにしたがって工作機械を制御する数値制御装置である。ＣＮＣ３は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、不揮発性メモリ３４、入出力装置３５、インタフェース３６、インタフェース３７、インタフェース３８、インタフェース３９、軸制御回路３９１、サーボアンプ３９２、バス３０を有する。
【００３３】
ＣＰＵ３１は、ＣＮＣ３を全体的に制御するプロセッサである。典型的には、ＣＰＵ３１は、ＲＯＭ３２に格納されたシステム・プログラムをバス３０を介して読み出し、システム・プログラムに従ってＣＮＣ３全体を制御する。
【００３４】
ＲＯＭ３２は、システム・プログラムを予め格納している。
【００３５】
ＲＡＭ３３は、一時的な計算データや表示データ、後述する入出力装置３５、インタフェース３６、インタフェース３７、インタフェース３８、インタフェース３９を介して入出力されるデータ等を一時的に格納する。
【００３６】
不揮発性メモリ３４は、ＣＮＣ３の電源が遮断されても記憶状態を保持する。例えば、不揮発性メモリ３４は、ＮＣプログラムや各種データ等を格納する。不揮発性メモリ３４に記憶されたプログラムやデータは、実行時及び利用時にはＲＡＭ３３に展開されても良い。
【００３７】
入出力装置３５は、ディスプレイ等の表示装置、キーボード等の入力装置を含むデータ入出力装置である。例えば入出力装置３５は、ＣＰＵ３１から受けた情報をディスプレイに表示する。また、キーボードから入力されたデータをＣＰＵ３１に渡す。
【００３８】
インタフェース３６は、有線又は無線の通信手段によりＣＡＭ２と通信を行うためのインタフェースである。ＣＰＵ３１が出力するデータは、インタフェース３６を介してＣＡＭ２に渡される。ＣＡＭ２が出力するデータは、インタフェース３６を介してＣＰＵ３１に渡される。
【００３９】
インタフェース３７は、有線又は無線の通信手段により工具管理装置１と通信を行うためのインタフェースである。ＣＰＵ３１が出力するデータは、インタフェース３７を介して工具管理装置１に渡される。工具管理装置１が出力するデータは、インタフェース３７を介してＣＰＵ３１に渡される。
【００４０】
インタフェース３８には、センサ４０が接続される。センサ４０は、工具が装着されたマガジン番号、ポット番号、及び装着された工具の工具名を識別するセンサである。例えばセンサ４０は、工具、マガジン、ポットに予め貼付された２次元コード等にエンコードされたマガジン番号、ポット番号、工具名を取得する画像センサである。なお本発明はこれに限定されるものでなく、センサ４０は、工具、マガジン、ポットを一意に識別可能な任意の情報を取得するものであって良い。センサ４０は、取得したマガジン番号、ポット番号、及び工具名のセットをインタフェース３８を介してＣＰＵ３１に渡す。
【００４１】
インタフェース３９には、工具交換装置６０が接続される。工具交換装置６０は１以上のマガジンを備え、マガジンは１以上のポットを備え、ポットには工具が装着される。ＣＰＵ３１は、インタフェース３９を介し、工具交換装置６０に対してマガジン番号及びポット番号を指令する。工具交換装置６０は、指令に従ってマガジン及びポットを選択し、選択されたポットに装着された工具を使用できるよう準備する。
【００４２】
軸制御回路３９１は、工作機械の動作軸を制御する。軸制御回路３９１は、ＣＰＵ３１が出力する軸の移動指令量を受けて、動作軸の移動指令をサーボアンプ３９２に出力する。
【００４３】
サーボアンプ３９２は、軸制御回路３９１が出力する軸の移動指令を受けて、サーボモータ５０を駆動する。
【００４４】
サーボモータ５０は、サーボアンプ３９２により駆動されて工作機械の動作軸を動かす。サーボモータ５０は、典型的には位置・速度検出器を内蔵する。位置・速度検出器は位置・速度フィードバック信号を出力し、この信号がＣＰＵ３１にフィードバックされることで、位置・速度のフィードバック制御が行われる。
【００４５】
なお、図５では軸制御回路３９１、サーボアンプ３９２、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数だけ用意される。
【００４６】
図６は、工具管理システム１００の概略的な機能構成を示すブロック図である。工具管理システム１００は、工具管理装置１、ＣＡＭ２、ＣＮＣ３を含む。
【００４７】
工具管理装置１は、工具管理データ格納部１０１、工具種類データ生成部１０２、工具オブジェクトデータ生成部１０３を有する。
【００４８】
工具管理データ格納部１０１は、工具種類データと、工具オブジェクトデータと、からなる工具管理データを格納する記憶領域（データベース）である。
【００４９】
工具種類データは、複数の工具に共通する属性情報の集合である。例えば工具種類データは、ユニークな工具種類名と、これに対応付けられたカタログデータと、を含む。カタログデータは、工具のメーカ名、型番、寸法、切削条件、画像等を含む。この場合、工具種類名は、あるメーカのある型番に属する工具すべて（＝工具種類）に共通する属性情報のラベルとして機能する。
【００５０】
工具オブジェクトデータは、個別の工具の属性情報の集合である。例えば工具オブジェクトデータは、ユニークな工具名と、これに対応付けられた工具種類名、工作機械名、マガジン番号、ポット番号、工具寿命、オフセットデータと、を含む。この場合、工具名は、その工具の工具種類名は何か、どのように工作機械に装着されているか、工具寿命やオフセットデータはどのような値であるか等を参照するためのラベルとして機能する。
【００５１】
通常、複数の工具オブジェクトデータに対し、同一の工具種類名が付されうる。同一メーカ、型番の工具が複数存在しうるからである。したがって、工具種類データと工具オブジェクトデータとは、１対多の関係で紐付けられる。換言すれば、個々の工具オブジェクトは、工具種類データとして定義された属性を承継するインスタンスであり、このような工具オブジェクトは複数（工具の実体の数だけ）生成されうる。
【００５２】
なお、工具管理データ格納部１０１は、工具管理データをネットワークに公開されたストレージや外部メモリなど、外部からアクセス可能な記憶領域に配置することが好ましい。これにより、ＣＡＭ２やＣＮＣ３が工具管理データにアクセスすることができる。また、図示しない解析装置に工具管理データに集約される工具寿命などの情報にアクセスさせ、工具使用の最適化のための方策立案等に供することも可能である。
【００５３】
工具種類データ生成部１０２は、上述の工具種類データを生成する。典型的には、工具種類データ生成部１０２は通信ネットワーク等を介して所定の記憶領域（例えばウェブサーバやクラウドストレージ等）を参照し、工具メーカ等が提供する工具のカタログデータを取得する。工具種類データ生成部１０２は、例えばメーカのカタログデータに含まれる型番に１対１に対応するように、ユニークな工具種類名を割り振る。典型的には、メーカ名や型番を工具種類名に含めることができる。このように工具種類名を割り振る場合は、工具種類名を付与した後は、メーカ名及び型番を工具種類データから除いて構わない。
【００５４】
工具オブジェクトデータ生成部１０３は、上述の工具オブジェクトデータを生成する。典型的には、工具オブジェクトデータ生成部１０３はインタフェース１７を介してＣＮＣ３と通信を行い、ポットに取付けられている工具各々について、工具名、工具種類名、工作機械名、マガジン番号、ポット番号、工具寿命、オフセットデータを取得する。工具名及び工具種類名と、工具が装着されているマガジン番号、ポット番号の取得方法については追って例示する。工作機械名、工具寿命、オフセットデータについては、ＣＮＣ３の標準機能を用いて取得することが可能であるため、ここでは説明を行わない。なお、工具各々には予めユニークな工具名が割り当てられているものとする。
【００５５】
ＣＡＭ２は、ＮＣプログラム作成部２０１、工具種類データ取得部２０２を有する。
【００５６】
ＮＣプログラム作成部２０１は、典型的にはＣＡＤデータに基づいてＮＣプログラムを作成する。なお、ＮＣプログラム作成部２０１の動作は公知技術であるため詳細な説明は行わない。
【００５７】
工具種類データ取得部２０２は、インタフェース２６を介して工具管理装置１と通信を行い、工具管理データ格納部１０１から工具種類データを取得し、図示しない記憶領域に蓄積する。ＮＣプログラム作成部２０１は、工具種類データ取得部２０２が取得、蓄積した工具種類データを参照し、工具管理データ格納部１０１で定義されている工具種類名を使用してＮＣプログラムを作成する。すなわち、ＮＣプログラム作成部２０１が作成するＮＣプログラム内では、工具管理データ格納部１０１に記述されている工具種類名によって使用工具が指定される。
【００５８】
ＣＮＣ３は、ＮＣプログラム実行部３０１、工具管理データ取得部３０２、工具選択部３０３、マガジン制御部３０４、工具装着検知部３０５を有する。
【００５９】
ＮＣプログラム実行部３０１は、ＮＣプログラム作成部２０１が作成したＮＣプログラムを解釈し、実行する。なお、ＮＣプログラム実行部３０１の動作は公知技術であるため詳細な説明は行わない。ＮＣプログラム実行部３０１は、ＮＣプログラム内に工具種類名が記載されている場合は、その工具種類名を工具選択部３０３に引き渡す。
【００６０】
工具管理データ取得部３０２は、インタフェース３７を介して工具管理装置１と通信を行い、工具管理データ格納部１０１から工具管理データを取得し、図示しない記憶領域に蓄積する。
【００６１】
工具選択部３０３は、工具管理データ取得部３０２が取得及び蓄積した工具管理データを参照し、ＮＣプログラム内で使用されている工具種類名を具体的な工具名に変換することにより、加工に使用すべき工具名を特定する。
【００６２】
工具選択部３０３が使用すべき工具名を特定する処理について、より具体的に説明する。工具選択部３０３はまず、工具管理データ取得部３０２が取得及び蓄積した工具管理データの中から、制御対象の工作機械名が含まれるレコードのみを抽出する。次に、ＮＣプログラムの中で工具種類名が記載されていた場合、工具選択部３０３は、工具管理データにおいて当該工具種類名に対応付けられている工具名を探索する。発見された工具名が１つであれば、その工具名が加工において使用すべき工具である。工具選択部３０３は、工具管理データにおいて工具名に対応付けられているマガジン番号、ポット番号をマガジン制御部３０４に引き渡す。一方、発見された工具名が複数であれば、工具選択部３０３は、その工具名を含むレコードの１つを任意の条件に基づいて選択し、選択した工具を加工において使用するものとする。工具選択部３０３は、例えば工具寿命（残り寿命）の最も短い（少ない）工具を選択することができる。
【００６３】
マガジン制御部３０４は、工具選択部３０３から引き渡されたマガジン番号、ポット番号を選択するよう、インタフェース３９を介して工具交換装置６０に指令する。これにより、工具選択部３０３が特定した工具が使用可能となる。
【００６４】
工具装着検知部３０５は、ポットに工具を装着する作業を行った際に動作する。事前準備として、例えば工具には工具名及び工具種類名をエンコードした２次元コード、マガジンにはマガジン番号をエンコードした２次元コード、各ポットにはポット番号をエンコードした２次元コードをそれぞれ貼付してあるものとする。工具装着検知部３０５は、工具が装着されたことを検知すると、センサ４０である画像センサにより、工具、工具が装着されたマガジン及びポットに貼付された２次元コードをそれぞれ読み取る。工具装着検知部３０５は、読み取った２次元コードをデコードして工具名、工具種類名、マガジン番号、ポット番号を得る。工具装着検知部３０５は、得られた情報をセットにして工具オブジェクトデータ生成部１０３に送信する。工具オブジェクトデータ生成部１０３は、工具装着検知部３０５から受信した情報を使用して、工具オブジェクトデータのレコードを追加又は更新する。すなわち、受信した情報に含まれる工具名が工具オブジェクトデータ中に既に存在する場合は、当該レコードの内容を受信した情報で上書きする。一方、受信した情報に含まれる工具名が工具オブジェクトデータ中に存在しない場合は、受信した情報を内容とするレコードを追加する。
【００６５】
図７乃至図１３を用いて、工具管理システム１００の動作例についてさらに具体的に説明する。
【００６６】
＜工具情報＞
図７及び図８は、工具管理データ（工具種類データ、工具オブジェクトデータを含む）の生成、更新、及び取得フローを示す図である。図７の（１）において、工具管理装置１が、工具カタログデータを基に工具種類データを生成する。通常、工具種類データは、工具の種類（メーカ名や型番）の数だけ生成される。（２）において、ＣＡＭ２が、工具種類データを取得する。工具種類データは、ＮＣプログラムを作成する際に使用される。（３）において、ＣＮＣ３に装着された工具に関する情報が工具管理装置１に送られ、この情報を基に工具管理装置１が工具オブジェクトデータを生成する。ここで、工具種類データと工具オブジェクトデータとが関連付けられ、工具管理データが完成する。（４）において、ＣＮＣ３が工具管理データを取得する。工具管理データは、ＮＣプログラムを実行する際に使用される。
【００６７】
図８は、ＣＮＣ３が複数存在する場合における工具管理データの生成、更新、及び取得フローを示す図である。ＣＮＣ３が複数存在する場合でも、図７において示したものと同様のフローにより工具管理データを生成、更新、及び取得できる。但し、ＣＮＣ３はそれぞれ自己が制御する工作機械に装着された工具に関する情報のみを工具管理装置１に送れば良い。また、自己が制御する工作機械に関係する工具管理データのみを工具管理装置１から取得すれば良い。
【００６８】
＜工具交換＞
図９及び図１０は、ＮＣプログラムの指令により工具交換を実行する際のＣＮＣ３の動作を示す図である。図９において、ＮＣプログラムには「ＭＩＬＬ＿ＩＮＤＥＸ＿ＤＩＥ＿２」という工具種類名に工具交換を行う指令が記載されている。ＮＣプログラム実行部３０１は、この工具種類名を工具選択部３０３に引き渡す。工具選択部３０３は、工具種類名をキーとして工具管理データを検索し、対応する工具オブジェクトデータを得る。なお、対応する工具オブジェクトデータが複数存在する場合、工具選択部３０３は、例えば工具寿命の最も短いもの、ポット番号が現在位置から最も近いものといった所定の基準に従って、１つの工具オブジェクトデータを選択する。工具選択部３０３は、工具オブジェクトデータからマガジン番号、ポット番号を抽出し、マガジン制御部３０４に引き渡す。マガジン制御部３０４は、工具交換装置６０に指令を出力し、現在使用中の工具から、当該マガジン番号及びポット番号に装着された工具への交換を実行する。
【００６９】
図１０は、工具選択部３０３は、工具寿命が最も短い工具オブジェクトデータを選択する際の動作を示す図である。図１０に示す工具管理データには、ＮＣプログラムで指定された工具種類名「ＭＩＬＬ＿ＩＮＤＥＸ＿ＤＩＥ＿２」に該当する工具オブジェクトデータが３件含まれている。工具選択部３０３は、最初の工具交換指令Ｍ０６において、これらの３件のうち最も工具寿命が短い「ＭＩＬＬ＿００５＿０１０６」を使用工具として選択する。さて、続く加工において、工具名「ＭＩＬＬ＿００５＿０１０６」の残り寿命が０になったものとする。この場合、工具選択部３０３は、２番目の工具交換指令Ｍ０６においては、工具寿命が尽きた「ＭＩＬＬ＿００５＿０１０６」は選択対象から除外し、残る２件から使用工具を選択することが好ましい。すなわち、残る２件のうち最も工具寿命が短い「ＭＩＬＬ＿００５＿０１０５」を使用工具として選択する。なお、「ＭＩＬＬ＿００５＿０１０６」の工具寿命が尽きていなければ、工具選択部３０３は、２番目の工具交換指令Ｍ０６で工具交換を行うことなく、「ＭＩＬＬ＿００５＿０１０６」を引き続き使用することができる。
【００７０】
＜工具管理データの共有＞
【００７１】
図１１は、複数のＣＮＣ３が共通の工具管理データを利用する場合におけるＣＮＣ３の動作を示す図である。図１１の例では、工作機械Ａ，Ｂ，Ｃにそれぞれ接続された３台のＣＮＣ３が、共通の工具管理データを参照している。各ＣＮＣ３は、共通の工具管理データから、自己が制御する工作機械に関係する工具管理データのみを抽出してローカルエリアに保持する。
【００７２】
いま、工作機械Ａ，Ｂ，Ｃにそれぞれ接続された３台のＣＮＣ３が、同じＮＣプログラムを実行するものとする。ＮＣプログラムには、工具種類名「ＭＩＬＬ＿ＩＮＤＥＸ＿ＤＩＥ＿２」への工具交換指令が含まれている。各ＣＮＣ３の工具選択部３０３は、工具種類名をキーとしてローカルエリアに保持した工具管理データを検索し、対応する工具オブジェクトデータを得る。ここで各ＣＮＣ３の保持している工具管理データは内容が異なるため、検索される工具オブジェクトデータも異なりうる。そのため、例えば工作機械Ａを制御するＣＮＣ３では、工具名「ＭＩＬＬ＿００５＿０１０７」「ＭＩＬＬ＿００５＿０１０８」のいずれかに工具交換が行われる。工作機械Ｂを制御するＣＮＣ３では、工具名「ＭＩＬＬ＿００５＿０１０９」に工具交換が行われる。そして工作機械Ｃを制御するＣＮＣ３では、工具名「ＭＩＬＬ＿００５＿０１０５」「ＭＩＬＬ＿００５＿０１０６」「ＭＩＬＬ＿００５＿０１１０」のいずれかに工具交換が行われる。このように、本発明によれば共通のＮＣプログラムで、工作機械毎の工具装着状態に応じた適切な工具を選択することが可能である。
【００７３】
＜工具オブジェクトデータの登録＞
図１２は、工作機械に装着された工具に関する工具オブジェクトデータが、自動的に工具管理データに登録される際の処理フローを示す図である。図１２の（１）において、ポットに工具が装着される。（２）において、工具装着検知部３０５は、装着された工具の工具名及び工具種類名を読み出す。（３）において、工具装着検知部３０５は、工具が装着されたマガジン及びポットのマガジン番号及びポット番号を読み出す。（４）において、工具装着検知部３０５は工具名、工具種類名、マガジン番号、ポット番号をセットにして、一旦図示しない記憶領域に格納する。また、工具装着検知部３０５は、ＣＮＣ３の標準機能を用いて工作機械名、工具寿命、オフセットデータを取得及び一時格納する。（５）において、工具装着検知部３０５は、これらのデータをセットにして工具オブジェクトデータ生成部１０３に送信する。工具オブジェクトデータ生成部１０３は、受信したデータを内容とする新たな工具オブジェクトデータを工具管理データ内に追加するか、既存の工具オブジェクトデータの内容を受信したデータで更新する。（６）において、工具管理データ取得部３０２は、更新された工具管理データを受信する。
【００７４】
ここで、（４）において工具管理装置１に送信された工具寿命、オフセットデータは、他のＣＮＣ３からも参照可能な工具管理データとして、工具管理データ格納部１０１が保持することになる。したがって、この工具が今後新たなＣＮＣ３に移設された場合、新たなＣＮＣ３においては、以前のＣＮＣ３で使用されていた工具寿命、オフセットデータといった値を流用できる。
【００７５】
なお、（４）において工具名、工具種類名、マガジン番号、ポット番号、工作機械名、工具寿命、オフセットデータをローカルに一時保存している場合は、追加又は更新後の工具オブジェクトデータに相当する情報を既にローカルに保持していることになる。よって、工具管理データ取得部３０２は、一時保存した工具オブジェクトデータに対応する工具種類データ（典型的にはカタログデータ相当の情報を含む）や、工具オブジェクトデータのうちローカルに保持されていない情報のみを工具管理装置１から取得し、取得した差分データを一時保存された情報と組み合わせることで、ローカルで工具管理データを更新することとしても良い。
【００７６】
＜他の実施例＞
図１３は、工具管理システム１００の様々な実施例を示す図である。
上述の実施の形態では、工具に貼付された２次元コードに工具名及び工具種類名がエンコードされており、センサ４０がこれを読み取る例を示した。しかしながら、本発明はこれに限定されず、他の手法により工具名と工具種類名との対応関係が与えられても良い。例えば図１３の（１）に示すように、ユーザにより工具名と工具種類名との対応関係が工具管理装置１に入力されても良い。この場合、工具に貼付された２次元コードには、工具名のみがエンコードされていれば良い。
【００７７】
また、（２）に示すように、工具管理装置１は、工具、マガジン、ポットに貼付するための２次元コード等をシール等の形で出力するコード生成部をさらに有していても良い。これにより、本発明をより正確かつ効率的に実施することが可能となる。
【００７８】
また、上述の実施の形態では、ＣＮＣ３の工具管理データ取得部３０２が、工具管理データをローカルに保持する例について説明した。しかしながら、本発明はこれに限定されず、工具管理データ取得部３０２は、少なくとも工具オブジェクトデータのみをローカルに保持することとしても良い。工具オブジェクトデータがローカルに保持されていれば、工具選択部３０３が適切な工具を選択することは可能である。一方、工具種類データを含む工具管理データをローカルに保持することにより、例えばカタログデータをＣＮＣ３上で参照することが可能となり、作業効率を向上させることができる。
【００７９】
本実施の形態によれば、工作機械の設定等に依存しないユニークな工具名で、工具を個別に特定することができる。また、ＮＣプログラムにおいては工具名でなく、工具種類名で工具を特定できるので、特定の工具や工作機械に依存しない汎用的なプログラムを提供することが可能である。すなわち、同じ種類の工具を使用する複数の工作機械で、同じＮＣプログラムを、編集の必要なく使用することができる。
【００８０】
また、本実施の形態によれば、ユニークな工具名で工具個体を管理し、工具名と工具固有の情報（工具寿命や工具オフセット等）を１対１の関係で保持し、かつそれらの情報を他の工作機械と共有することができる。そのため、工具固有の情報を複数の工作機械間で共有することができ、工作機械毎に行っていた工具の登録作業を削減することが可能である。
【００８１】
また、本実施の形態によれば、工具を装着した際に、工具名、工具種類名、マガジン番号、ポット番号を画像センサ等が読み取って、工具オブジェクトデータを登録する。そのため、従来手作業で行っていた工具の登録作業の大部分を自動化することが可能である。
【００８２】
以上、本発明の主要な実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。例えば、上述の実施の形態では工具管理装置１をＣＡＭ２、ＣＮＣ３とは別の装置として説明したが、本発明はこれに限定されず、工具管理装置１をＣＡＭ２又はＣＮＣ３の一機能として構成しても良い。又は、工具管理装置１はいわゆるクラウドコンピューティング等の技術により、仮想的に実現されるものであっても構わない。
【符号の説明】
【００８３】
１００  工具管理システム
１  工具管理装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５  入出力装置
１６  インタフェース
１７  インタフェース
１０  バス
２  ＣＡＭ
２１  ＣＰＵ
２２  ＲＯＭ
２３  ＲＡＭ
２４  不揮発性メモリ
２５  入出力装置
２６  インタフェース
２７  インタフェース
２０  バス
３  ＣＮＣ
３１  ＣＰＵ
３２  ＲＯＭ
３３  ＲＡＭ
３４  不揮発性メモリ
３５  入出力装置
３６  インタフェース
３７  インタフェース
３８  インタフェース
３９  インタフェース
３９１  軸制御回路
３９２  サーボアンプ
３０  バス
４０  センサ
５０  サーボモータ
６０  工具交換装置
【図１】
2020015143.tif 000003
【図２】
2020015143.tif 000004
【図３】
2020015143.tif 000005
【図４】
2020015143.tif 000006
【図５】
2020015143.tif 000007
【図６】
2020015143.tif 000008
【図７】
2020015143.tif 000009
【図８】
2020015143.tif 000010
【図９】
2020015143.tif 000011
【図１０】
2020015143.tif 000012
【図１１】
2020015143.tif 000013
【図１２】
2020015143.tif 000014
【図１３】
2020015143.tif 000015