(57)【特許請求の範囲】
【請求項１】
工作機械を制御する数値制御装置であって、
前記工作機械、前記数値制御装置、またはオペレータに固有の固有情報を記憶する記憶部と、
付帯情報を含む加工プログラムであって、該付帯情報は、該加工プログラムを実行可能な前記工作機械、前記数値制御装置、または前記オペレータに固有の情報を含む、加工プログラムを受け付ける受付部と、
前記受付部が受け付けた前記加工プログラムを前記記憶部に記憶し、記憶した該加工プログラムに含まれた前記付帯情報と、前記記憶部に記憶された前記固有情報とを互いに照合し、該付帯情報の中に該固有情報と一致する情報が含まれているか否かを判定する判定部と、
前記付帯情報の中に前記固有情報と一致する情報が含まれていると判定された場合は、前記記憶部に記憶された前記加工プログラムにおいて、該加工プログラムを実行可能であることを示す第１のフラグをセットする一方、前記付帯情報の中に前記固有情報と一致する情報が含まれていないと判定された場合は、前記記憶部に記憶された前記加工プログラムにおいて、該加工プログラムを実行不能であることを示す第２のフラグをセットするフラグセット部と、
前記記憶部に記憶された前記加工プログラムに前記第１のフラグがセットされているか否かを判定するフラグ判定部と、
前記フラグ判定部が前記加工プログラムに前記第１のフラグがセットされていると判定した場合にのみ、前記受付部が受け付けて前記記憶部に記憶された前記加工プログラムを実行して前記工作機械を制御する機械制御部と、を備える、数値制御装置。
【請求項２】
前記固有情報は、
前記工作機械または前記数値制御装置に固有に割り当てられた装置固有番号、
前記オペレータに固有に割り当てられたオペレータ固有番号、
前記工作機械において用いられる工具の情報を示す工具情報、または
前記工作機械によって加工されるワークの情報を示すワーク情報を含む、請求項１に記載の数値制御装置。
【請求項３】
前記固有情報は、前記オペレータ固有番号を含み、
前記数値制御装置は、前記オペレータ固有番号の入力部をさらに備え、
前記記憶部は、前記入力部に入力された前記オペレータ固有番号を記憶する、請求項２に記載の数値制御装置。
【請求項４】
前記受付部は、ネットワークを介して外部機器から送信された前記加工プログラムを受け付ける、請求項１〜３のいずれか１項に記載の数値制御装置。
【請求項５】
前記受付部は、前記数値制御装置に着脱可能な外部メモリに記憶された前記加工プログラムを受け付ける、請求項１〜３のいずれか１項に記載の数値制御装置。
【請求項６】
前記判定部が、前記付帯情報の中に前記固有情報と一致する情報が含まれていないと判定した場合にアラームを生成するアラーム生成部をさらに備える、請求項１〜５のいずれか１項に記載の数値制御装置。
【請求項７】
数値制御装置によって工作機械を制御する方法であって、
付帯情報を含む加工プログラムであって、該付帯情報は、該加工プログラムを実行可能な前記工作機械、前記数値制御装置、またはオペレータに固有の情報を含む、加工プログラムを前記数値制御装置で受け付けることと、
受け付けた前記加工プログラムを前記数値制御装置に記憶し、記憶した該加工プログラムに含まれた前記付帯情報と、前記数値制御装置が記憶している、前記工作機械、前記数値制御装置、または前記オペレータに固有の固有情報と、を互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定することと、
前記付帯情報の中に前記固有情報と一致する情報が含まれていると判定された場合は、記憶した前記加工プログラムにおいて、該加工プログラムを実行可能であることを示す第１のフラグをセットする一方、前記付帯情報の中に前記固有情報と一致する情報が含まれていないと判定された場合は、記憶した前記加工プログラムにおいて、該加工プログラムを実行不能であることを示す第２のフラグをセットすることと、
記憶した前記加工プログラムに前記第１のフラグがセットされているか否かを判定することと、
前記加工プログラムに前記第１のフラグがセットされていると判定した場合にのみ、前記数値制御装置が受け付けて記憶した前記加工プログラムを実行して前記工作機械を制御することと、を備える、方法。
【請求項８】
請求項７に記載の方法を、前記数値制御装置に実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を制御する数値制御装置、方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
加工プログラムのプログラム名、またはオペレータのレベルに応じて工作機械を動作させるか否かを判定する数値制御装置が知られている（例えば、特許文献１および２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３１３７２０号公報
【特許文献２】特開２００９−８６９６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特定の加工プログラムを実行するのに適した工作機械の数値制御装置を効率的に選別可能とする技術が求められている。
【課題を解決するための手段】
【０００５】
本発明の一態様において、工作機械を制御する数値制御装置は、工作機械、数値制御装置、またはオペレータに固有の固有情報を記憶する記憶部と、付帯情報を含む加工プログラムを受け付ける受付部とを備える。この付帯情報は、加工プログラムを実行可能な工作機械、数値制御装置、またはオペレータに固有の情報を含む。
【０００６】
また、数値制御装置は、受付部が受け付けた加工プログラムに含まれた付帯情報と、記憶部に記憶された固有情報とを互いに照合し、該付帯情報の中に該固有情報と一致する情報が含まれているか否かを判定する判定部と、付帯情報の中に固有情報と一致する情報が含まれていると判定された場合にのみ、受付部が受け付けた加工プログラムを実行して工作機械を制御する機械制御部とを備える。
【０００７】
固有情報は、工作機械または数値制御装置に固有に割り当てられた装置固有番号、オペレータに固有に割り当てられたオペレータ固有番号、工作機械において用いられる工具の情報を示す工具情報、または、工作機械によって加工されるワークの情報を示すワーク情報を含んでもよい。
【０００８】
固有情報は、オペレータ固有番号を含んでもよい。数値制御装置は、オペレータ固有番号の入力部をさらに備えてもよい。記憶部は、入力部に入力されたオペレータ固有番号を記憶してもよい。
【０００９】
受付部は、ネットワークを介して外部機器から送信された加工プログラムを受け付けてもよい。受付部は、数値制御装置に着脱可能な外部メモリに記憶された加工プログラムを受け付けてもよい。数値制御装置は、判定部が、付帯情報の中に固有情報と一致する情報が含まれていないと判定した場合にアラームを生成するアラーム生成部をさらに備えてもよい。
【００１０】
本発明の他の態様において、数値制御装置によって工作機械を制御する方法は、付帯情報を含む加工プログラムであって、該付帯情報は、該加工プログラムを実行可能な工作機械、数値制御装置、またはオペレータに固有の情報を含む、加工プログラムを受け付けることを備える。
【００１１】
また、この方法は、受け付けた加工プログラムに含まれた付帯情報と、数値制御装置が記憶している、工作機械、数値制御装置、またはオペレータに固有の固有情報と、を互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定することを備える。
【００１２】
また、この方法は、付帯情報の中に固有情報と一致する情報が含まれていると判定した場合にのみ、受け付けた加工プログラムを実行して工作機械を制御することとを備える。本発明のさらに他の態様において、コンピュータプログラムは、上述の方法を数値制御装置に実行させる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るネットワークシステムの図である。
【図２】図１に示す工作機械システムのブロック図である。
【図３】一実施形態に係る加工プログラムのデータ構造を表す図である。
【図４】図２に示す数値制御装置の動作フローの一例を示すフローチャートである。
【図５】他の実施形態に係る加工プログラムのデータ構造を表す図である。
【図６】他の実施形態に係る工作機械システムの図である。
【図７】図６に示す工作機械システムのブロック図である。
【図８】図７に示す数値制御装置の動作フローの一例を示すフローチャートである。
【図９】さらに他の実施形態に係る加工プログラムのデータ構造を表す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。まず、図１を参照して、一実施形態に係るネットワークシステム１０について説明する。ネットワークシステム１０は、外部機器１２と、該外部機器１２にネットワーク１４を介して接続された複数の工作機械システム１６Ａ、１６Ｂ、および１６Ｃとを備える。
【００１５】
外部機器１２は、例えばパーソナルコンピュータ（ＰＣ）を有し、ネットワーク１４を介して加工プログラムを工作機械システム１６Ａ、１６Ｂ、１６Ｃへ送信する。ネットワーク１４は、インターネットまたはＬＡＮ等の通信ネットワークであって、有線または無線で情報を伝送する。
【００１６】
次に、図２を参照して、工作機械システム１６Ａ、１６Ｂ、および１６Ｃについて説明する。工作機械システム１６Ａは、工作機械１８Ａ、および該工作機械１８Ａを制御する数値制御装置５０Ａを有する。
【００１７】
工作機械１８Ａは、工具が装着される加工ヘッド（図示せず）と、ワークが設置されるワークテーブル（図示せず）とを有する。これら加工ヘッドおよびワークテーブルには、サーボモータ（図示せず）が内蔵されている。
【００１８】
数値制御装置５０Ａは、ワークテーブルに内蔵されたサーボモータに指令を送り、ワークテーブルを動作させて、加工ヘッドに装着された工具に対してワークを位置決めする。また、数値制御装置５０Ａは、加工ヘッドに内蔵されたサーボモータに指令を送り、加工ヘッドに装着された工具を駆動する。回転駆動された該工具によって、ワークテーブルに設置されたワークが加工される。
【００１９】
数値制御装置５０Ａは、ＣＰＵ（中央演算処理装置）５２Ａ、記憶部５４Ａ、受付部５６Ａ、および機械駆動部５８Ａを有する。ＣＰＵ５２Ａは、バス６０を介して、記憶部５４Ａ、受付部５６Ａ、および機械駆動部５８Ａと通信可能に接続されている。ＣＰＵ５２Ａは、記憶部５４Ａ、受付部５６Ａ、および機械駆動部５８Ａと情報をやり取りしつつ、各種演算処理を実行する。
【００２０】
記憶部５４Ａは、ＥＥＰＲＯＭ（登録商標）等の電気的に消去・記録可能な不揮発性メモリから構成されたシステムメモリと、ＤＲＡＭ、ＳＲＡＭ等の高速で読み書きのできるランダムアクセスメモリから構成されたワークメモリとを有する。記憶部５４Ａは、後述する固有情報および加工プログラムを記憶することができる。
【００２１】
受付部５６Ａは、ネットワーク１４を介して外部機器１２に接続されており、該外部機器１２から送信された情報を受信する。受付部５６Ａは、外部機器１２から受信した情報をＣＰＵ５２Ａに送信する。
【００２２】
機械駆動部５８Ａは、サーボモータ制御回路およびサーボアンプ等を有し、ＣＰＵ５２Ａからの指令に応じて、工作機械１８Ａに内蔵された各サーボモータを駆動する。
【００２３】
工作機械システム１６Ｂおよび１６Ｃは、それぞれ、工作機械１８Ｂおよび１８Ｃと、該工作機械１８Ｂおよび１８Ｃを制御する数値制御装置５０Ｂおよび５０Ｃとを有する。
【００２４】
本実施形態においては、工作機械１８Ａ、１８Ｂ、および１８Ｃは、互いに異なる構成を有し、異なる種類の加工を実行する。具体的には、工作機械１８Ａ、１８Ｂ、および１８Ｃの加工ヘッドには、異なる種類の工具が装着され、異なる種類のワークを加工することができる。
【００２５】
数値制御装置５０Ｂおよび５０Ｃは、数値制御装置５０Ａと同様の構成を有する。具体的には、数値制御装置５０Ｂおよび５０Ｃは、それぞれ、ＣＰＵ５２Ｂおよび５２Ｃ、記憶部５４Ｂおよび５２Ｃ、受付部５６Ｂおよび５２Ｃ、ならびに、機械駆動部５８Ｂおよび５２Ｃを有する。
【００２６】
次に、ネットワークシステム１０の機能の一実施例について説明する。外部機器１２は、ネットワーク１４を介して、工作機械システム１６Ａ、１６Ｂ、１６Ｃに、加工プログラムを送信する。
【００２７】
一般的に、工作機械と加工プログラムとの間には、適不適の関係性が存在する。仮に、工作機械との関係性が不適である加工プログラムで該工作機械を動作させた場合、所望の加工結果が得られないだけでなく、機械の部材、工具、およびワークの間で干渉が発生し得る。
【００２８】
上述したように、工作機械１８Ａ、１８Ｂ、および１８Ｃは、互いに異なる構成を有しており、異なる種類の加工を実行する。したがって、工作機械１８Ａ、１８Ｂ、および１８Ｃを適切に動作させるためには、工作機械１８Ａ、１８Ｂ、および１８Ｃの各々に適した加工プログラムを、数値制御装置５０Ａ、５０Ｂ、および５０Ｃに実行させる必要がある。
【００２９】
そこで、本実施形態においては、数値制御装置５０Ａ、５０Ｂ、および５０Ｃに記憶した固有情報と、加工プログラムに付帯された付帯情報とを照合することによって、該加工プログラムの実行に適した数値制御装置５０Ａ、５０Ｂ、５０Ｃのみに、該加工プログラムを実行することを許容する。
【００３０】
ここで、固有情報は、工作機械１８Ａ、数値制御装置５０Ａ、またはオペレータに固有の情報である。本実施例においては、数値制御装置５０Ａの記憶部５４Ａには、固有情報として、装置固有番号が予め記憶される。この装置固有番号は、ＣＮＣ固有番号および機械固有番号を含む。
【００３１】
ここで、ＣＮＣ固有番号は、数値制御装置５０Ａの製造者が、該数値制御装置５０Ａの構成または機能等に応じて該数値制御装置５０Ａに固有に割り当てる文字列番号（いわゆる、製造番号）である。また、機械固有番号は、工作機械１８Ａのユーザが、工作機械１８Ａの構成または機能等に応じて該工作機械１８Ａに固有に割り当てる文字列番号であって、例えば、ＰＭＣラダープログラムのプログラム名等である。
【００３２】
本実施例においては、記憶部５４Ａは、装置固有番号として、ＣＮＣ固有番号：ＣＮＣ−１と、機械固有番号：ＭＴＡ−１とを記憶する。
【００３３】
数値制御装置５０Ｂの記憶部５４Ｂにも、装置固有番号が予め記憶される。該装置固有番号は、数値制御装置５０Ａおよび工作機械１８Ａの装置固有番号とは異なる文字列である。本実施例においては、記憶部５４Ｂは、装置固有番号として、数値制御装置５０Ｂに固有のＣＮＣ固有番号：ＣＮＣ−２と、工作機械１８Ｂに固有の機械固有番号：ＭＴＡ−２とを記憶する。
【００３４】
数値制御装置５０Ｃの記憶部５４Ｃにも、装置固有番号が予め記憶される。該装置固有番号は、数値制御装置５０Ａ、５０Ｂおよび工作機械１８Ａ、１８Ｂの装置固有番号とは異なる文字列である。本実施例においては、記憶部５４Ｃは、装置固有番号として、数値制御装置５０Ｃに固有のＣＮＣ固有番号：ＣＮＣ−３と、工作機械１８Ｃに固有の機械固有番号：ＭＴＢ−１とを記憶する。
【００３５】
一方、外部機器１２が送信する加工プログラムは、付帯情報を含む。この付帯情報は、該加工プログラムを実行可能な特定の工作機械１８Ａ，１８Ｂ、１８Ｃに固有の情報と、該加工プログラムを実行可能な特定の数値制御装置５０Ａ、５０Ｂ、５０Ｃに固有の情報とを含む。
【００３６】
具体的には、付帯情報は、この加工プログラムを実行可能な特定の数値制御装置５０Ａ、５０Ｂ、５０ＣのＣＮＣ固有番号に一致する番号と、加工プログラムを実行可能な特定の工作機械１８Ａ、１８Ｂ、１８Ｃの機械固有番号に一致する番号とを含む。
【００３７】
加工プログラムのデータ構造の例を、図３に示す。この加工プログラムに含まれる付帯情報は、数値制御装置５０ＡのＣＮＣ固有番号、および工作機械１８Ａの機械固有番号の各々に一致する番号（すなわち、「ＣＮＣ−１」、「ＭＴＡ−１」）を含む。
【００３８】
また、この付帯情報は、数値制御装置５０ＢのＣＮＣ固有番号、および工作機械１８Ｂの機械固有番号の各々に一致する番号（すなわち、「ＣＮＣ−２」、「ＭＴＡ−２」）を含む。
【００３９】
図３に示す加工プログラムにおいては、付帯情報には、付帯情報識別用の識別子（「．ＩＮＣＩＤＥＮＴＡＬ」）が付与されている。より具体的には、付帯情報において、ＣＮＣ固有番号に対応する番号の後に、ＣＮＣ固有番号識別用の識別子（「．ＩＮＣＩＤＥＮＴＡＬ１」）が付与されている一方、機械固有番号に対応する番号の後に、機械固有番号識別用の識別子（「．ＩＮＣＩＤＥＮＴＡＬ２」）が付与されている。
【００４０】
以下、図４を参照して、外部機器１２から図３に示す加工プログラムが送信された場合の、数値制御装置５０Ａの動作フローの一例について説明する。図４に示すフローは、数値制御装置５０Ａが起動されたときに、開始される。
【００４１】
ステップＳ１において、ＣＰＵ５２Ａは、外部機器１２から加工プログラムの送信が有るか否かを判定する。例えば、外部機器１２は、加工プログラムを送信するときに、ＣＰＵ５２Ａに対して、加工プログラム受信要求を送る。
【００４２】
ＣＰＵ５２Ａは、加工プログラム受信要求を受け付けた場合、外部機器１２から加工プログラムの送信が有る（すなわち、ＹＥＳ）と判定し、受付部５６Ａに指令を送り、受付部５６Ａから外部機器１２へ加工プログラム送信要求を発信する。これにより、外部機器１２と受付部５６Ａとの間の通信が確立される。そして、ＣＰＵ５２Ａは、ステップＳ２へ進む。
【００４３】
外部機器１２は、加工プログラム送信要求を受け付けると、ネットワーク１４を介して、加工プログラムを受付部５６Ａに送信する。一方、ＣＰＵ５２Ａは、加工プログラム受信要求を受け付けていない場合、外部機器１２から加工プログラムの送信がない（すなわち、ＮＯ）と判定し、ステップＳ７へ進む。
【００４４】
ステップＳ２において、受付部５６Ａは、外部機器１２からネットワーク１４を介して送信された加工プログラムを受け付けて、ＣＰＵ５２Ａへ送信する。ＣＰＵ５２Ａは、受付部５６Ａから送信された加工プログラムを記憶部５４Ａに記憶する。
【００４５】
ステップＳ３において、ＣＰＵ５２Ａは、記憶部５４Ａに予め記憶された固有情報と、ステップＳ２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該固有情報と一致する情報が含まれているか否かを判定する。
【００４６】
具体的には、ＣＰＵ５２Ａは、記憶部５４Ａから、固有情報として、装置固有番号（すなわち、ＣＮＣ固有番号：「ＣＮＣ−１」と、機械固有番号：「ＭＴＡ−１」）を読み出す。
【００４７】
一方、ＣＰＵ５２Ａは、受け付けた加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行を参照する。そして、ＣＰＵ５２Ａは、付帯情報の中に、数値制御装置５０ＡのＣＮＣ固有番号と一致する番号が含まれているか否かを判定する。
【００４８】
また、ＣＰＵ５２Ａは、受け付けた加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ２」の行を参照し、付帯情報の中に、工作機械１８Ａの機械固有番号と一致する番号が含まれているか否かを判定する。
【００４９】
図３に示す例の場合、付帯情報の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」と「．ＩＮＣＩＤＥＮＴＡＬ２」の行に、数値制御装置５０ＡのＣＮＣ固有番号と一致する番号：「ＣＮＣ−１」と、工作機械１８Ａの機械固有番号と一致する番号：「ＭＴＡ−１」とが、含まれている。
【００５０】
この場合、ＣＰＵ５２Ａは、このステップＳ３にてＹＥＳと判定し、ステップＳ４へ進む。一方、数値制御装置５０Ａおよび工作機械１８Ａの装置固有番号と一致する番号が付帯情報に含まれていなかった場合、ＣＰＵ５２Ａは、このステップＳ３にてＮＯと判定し、ステップＳ５へ進む。
【００５１】
このように、本実施形態においては、ＣＰＵ５２Ａは、付帯情報の中に固有情報に一致する情報が含まれているか否かを判定する判定部６２（図２）として機能する。
【００５２】
ステップＳ４において、ＣＰＵ５２Ａは、ステップＳ２にて受け付けた加工プログラムの照合結果フラグを、“ＯＫ”にセットする。
【００５３】
一方、ステップＳ３にてＮＯと判定した場合、ステップＳ５において、ＣＰＵ５２Ａは、ステップＳ２にて受け付けた加工プログラムの照合結果フラグを、“ＮＧ”にセットする。
【００５４】
ステップＳ６において、ＣＰＵ５２Ａは、アラーム信号を生成する。例えば、ＣＰＵ５２Ａは、「この装置は、ダウンロードされた加工プログラムを実行できません」との画像または音声の形態で、アラーム信号を生成する。そして、ＣＰＵ５２Ａは、生成したアラーム信号を表示部またはスピーカ（図示せず）へ送信し、表示部またはスピーカを介して、オペレータにアラームを出力する。
【００５５】
ステップＳ７において、ＣＰＵ５２Ａは、オペレータから特定の加工プログラムの実行指令を受け付けたか否かを判定する。一例として、オペレータは、数値制御装置５０Ａに設けられたキーボード等の入力装置（図示せず）を使用して、記憶部５４Ａに記憶された種々の加工プログラムのうち、所望のものを選択する。
【００５６】
オペレータが、ステップＳ２にて受け付けた、図３に示す加工プログラムを選択した場合、入力装置は、オペレータからの入力操作を受け付けて、ステップＳ２にて受け付けた加工プログラムの実行指令を、ＣＰＵ５２Ａへ送信する。
【００５７】
ＣＰＵ５２Ａは、入力部から実行指令を受け付けたときに、ＹＥＳと判定し、ステップＳ８へ進む。一方、ＣＰＵ５２Ａは、入力部から実行指令を受け付けていない場合、ＮＯと判定し、ステップＳ１１へ進む。
【００５８】
ステップＳ８において、ＣＰＵ５２Ａは、ステップＳ７にて実行指令を受け付けた加工プログラムの照合結果フラグを参照し、該照合結果フラグが“ＯＫ”にセットされているか否かを判定する。
【００５９】
例えば、ステップＳ７において、ステップＳ２で受け付けた、図３に示す加工プログラムの実行指令を受け付けた場合、該加工プログラムの照合結果フラグは、ステップＳ４にて“ＯＫ”にセットされている。
【００６０】
したがって、この場合、ＣＰＵ５２Ａは、ＹＥＳと判定し、ステップＳ９へ進む。一方、ＣＰＵ５２Ａは、ステップＳ７にて実行指令を受け付けた加工プログラムの照合結果フラグが“ＮＧ”にセットされている場合は、ＮＯと判定し、ステップＳ１０へ進む。
【００６１】
ステップＳ９において、ＣＰＵ５２Ａは、ステップＳ７にて実行指令を受け付けた加工プログラムを実行する。具体的には、ＣＰＵ５２Ａは、加工プログラムに従って機械駆動部５８Ａに指令を送り、加工ヘッドおよびワークテーブル（図示せず）に内蔵されたサーボモータを駆動する。これにより、ワークは、加工ヘッドに装着された工具によって、加工プログラムに従って加工される。
【００６２】
一方、ステップＳ８にてＮＯと判定した場合、ステップＳ１０において、ＣＰＵ５２Ａは、例えば「この装置は、指定された加工プログラムを実行できません」との画像または音声の形態で、アラーム信号を生成する。このように、本実施形態においては、ＣＰＵ５２Ａは、アラームを生成するアラーム生成部６４（図２）として機能する。
【００６３】
ＣＰＵ５２Ａは、生成したアラーム信号を表示部またはスピーカ（図示せず）へ送信し、表示部またはスピーカを介して、オペレータにアラームを出力する。アラームを出力した後、ＣＰＵ５２Ａは、数値制御装置５０Ａの動作を停止して、図４に示すフローを終了する。
【００６４】
このように、本実施形態においては、ＣＰＵ５２Ａは、加工プログラム中の付帯情報の中に固有情報に一致する情報が含まれていると判定し、該加工プログラムの照合結果フラグを“ＯＫ”にセットした場合にのみ、該加工プログラムを実行して工作機械１８Ａを制御している。
【００６５】
したがって、ＣＰＵ５２Ａは、加工プログラムを実行して工作機械１８Ａを制御する機械制御部６６（図２）として機能する。
【００６６】
ステップＳ１１において、ＣＰＵ５２Ａは、オペレータまたは上位コントローラ（例えば、外部機器１２）から、動作停止指令を受け付けたか否かを判定する。
【００６７】
ＣＰＵ５２Ａは、動作停止指令を受け付けた（すなわち、ＹＥＳ）と判定した場合、数値制御装置５０Ａの動作を停止し、図４に示すフローを終了する。一方、ＣＰＵ５２Ａは、動作停止指令を受け付けていない（すなわち、ＮＯ）と判定した場合、ステップＳ１へ戻る。
【００６８】
次に、図４を参照して、外部機器１２から図３に示す加工プログラムが送信された場合の、数値制御装置５０Ｂの動作フローの一例について説明する。なお、上述した数値制御装置５０Ａのフローと同様のプロセスについては、詳細な説明を省略する。
【００６９】
図４のフローを開始した後、ＣＰＵ５２Ｂは、数値制御装置５０Ａと同様に、上述したステップＳ１およびＳ２を実行する。
【００７０】
ステップＳ３において、ＣＰＵ５２Ｂは、判定部６２（図２）として機能して、記憶部５４Ｂに予め記憶された固有情報と、ステップＳ２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定する。
【００７１】
具体的には、ＣＰＵ５２Ｂは、記憶部５４Ｂから、固有情報として、装置固有番号（すなわち、ＣＮＣ固有番号：「ＣＮＣ−２」と、機械固有番号：「ＭＴＡ−２」）を読み出す。
【００７２】
一方、ＣＰＵ５２Ｂは、加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行を参照し、付帯情報の中に、数値制御装置５０ＢのＣＮＣ固有番号と一致する番号が含まれているか否かを判定する。
【００７３】
また、ＣＰＵ５２Ｂは、加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ２」の行を参照し、付帯情報の中に、工作機械１８Ｂの機械固有番号と一致する番号が含まれているか否かを判定する。
【００７４】
図３に示す例の場合、付帯情報の中に、数値制御装置５０ＢのＣＮＣ固有番号と一致する番号（「ＣＮＣ−２」）と、工作機械１８Ｂの機械固有番号と一致する番号（「ＭＴＡ−２」）とが、含まれている。
【００７５】
この場合、ＣＰＵ５２Ｂは、ＹＥＳと判定し、ステップＳ４へ進む。ステップＳ３の後、ＣＰＵ５２Ｂは、数値制御装置５０Ａと同様に、ステップＳ４〜Ｓ１１を順次実行する。
【００７６】
次に、図４を参照して、外部機器１２から図３に示す加工プログラムが送信された場合の、数値制御装置５０Ｃの動作フローの一例について説明する。なお、上述した数値制御装置５０Ａのフローと同様のプロセスについては、詳細な説明を省略する。
【００７７】
図４のフローを開始した後、ＣＰＵ５２Ｃは、数値制御装置５０Ａと同様に、上述のステップＳ１およびＳ２を実行する。
【００７８】
ステップＳ３において、ＣＰＵ５２Ｃは、判定部６２（図２）として機能して、記憶部５４Ｃに予め記憶された固有情報と、ステップＳ２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該装置固有番号に一致する情報が含まれているか否かを判定する。
【００７９】
具体的には、ＣＰＵ５２Ｃは、図３に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行を参照し、付帯情報の中に、数値制御装置５０ＣのＣＮＣ固有番号と一致する番号が含まれているか否かを判定する。
【００８０】
また、ＣＰＵ５２Ｃは、加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ２」の行を参照し、付帯情報の中に、工作機械１８Ｃの機械固有番号と一致する番号が含まれているか否かを判定する。
【００８１】
図３に示す例の場合、付帯情報の中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行には、数値制御装置５０ＣのＣＮＣ固有番号と一致する番号（「ＣＮＣ−３」）が含まれていない。
【００８２】
また、付帯情報の中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ２」の行には、工作機械１８Ｃの機械固有番号と一致する番号（「ＭＴＢ−１」）が含まれていない。この場合、ＣＰＵ５２Ｃは、ＮＯと判定し、ステップＳ５へ進む。
【００８３】
次いで、ステップＳ５において、ＣＰＵ５２Ｃは、ステップＳ２にて受信した加工プログラムの照合結果フラグを“ＮＧ”にセットする。次いで、ステップＳ６において、ＣＰＵ５２Ｃは、アラーム生成部６４（図２）として機能して、「本装置は、この加工プログラムを実行できません」との画像または音声の形態でアラーム信号を生成し、オペレータに出力する。
【００８４】
ステップＳ７において、ＣＰＵ５２Ｃが、ステップＳ２にて受け付けた加工プログラムの実行指令を受け付けたとすると、該加工プログラムの照合結果フラグは、ステップＳ５にて“ＮＧ”にセットされている。
【００８５】
したがって、ステップＳ８において、ＣＰＵ５２Ｃは、ＮＯと判定し、ステップＳ１０へ進む。そして、ＣＰＵ５２Ｃは、アラーム信号を生成してオペレータにアラームを出力し、図４に示すフローを終了する。
【００８６】
このように、本実施例に係る動作フローによれば、数値制御装置５０Ａ、５０Ｂ、および５０Ｃに記憶した個々の固有情報と、加工プログラムに付帯された付帯情報とを照合し（ステップＳ３）、両者が一致しなかった場合、オペレータにアラームを出力している。
【００８７】
この構成によれば、オペレータは、外部機器１２からネットワーク１４を経由して各数値制御装置５０Ａ、５０Ｂ、５０Ｃにダウンロードされた加工プログラムが、個々の数値制御装置５０Ａ、５０Ｂ、５０Ｃで実行できるものであるか否かを、自動的且つ直感的に認識できる。
【００８８】
このため、不適な加工プログラムを数値制御装置５０Ａ、５０Ｂ、５０Ｃで実行して工作機械１８Ａ、１８Ｂ、１８Ｃを動作させてしまうのを防止できるので、加工精度の低下や、機械の部材、工具、およびワークの間で干渉が発生してしまうのを、確実に防止できる。
【００８９】
また、本実施例に係る動作フローにおいては、ＣＰＵ５２Ａ、５２Ｂ、５２Ｃは、ステップＳ４で照合結果フラグが“ＯＫ”にセットされた加工プログラムのみを実行し、照合結果フラグが“ＮＧ”にセットされている加工プログラムは実行しない。
【００９０】
この構成によれば、不適な加工プログラムで工作機械１８Ａ、１８Ｂ、１８Ｃを動作させて、加工精度の低下や、機械の部材、工具、およびワークの間で干渉が発生してしまうのを、より確実に防止できる。
【００９１】
また、本実施例に係る動作フローにおいては、ＣＰＵ５２Ａ、５２Ｂ、５２Ｃは、ステップＳ６に加えて、ステップＳ１０でも、オペレータにアラームを出力している。この構成によれば、不適な加工プログラムを数値制御装置５０Ａ、５０Ｂ、５０Ｃで実行してしまうのを、オペレータに対して２段階で警告することができる。
【００９２】
また、本実施例に係る動作フローによれば、数値制御装置５０Ａ、５０Ｂ、５０Ｃは、要求に応じて、加工プログラムを外部機器１２からネットワーク１４経由で適宜ダウンロードして実行できる。
【００９３】
このため、記憶部５４Ａ、５４Ｂ、５４Ｃに、種々の加工プログラムを常時記憶させておく必要がない。したがって、記憶部５４Ａ、５４Ｂ、５４Ｃの容量または個数を低減できるので、コストを削減することができる。
【００９４】
また、本実施例に係る動作フローおいては、数値制御装置５０Ａ、５０Ｂ、５０Ｃにて加工プログラムの適否の判定を行うのに要する情報を、該加工プログラム内に付帯情報として付帯させている。この構成によれば、このような情報を記憶部５４Ａ、５４Ｂ、５４Ｃに記憶させる必要がないので、記憶部５４Ａ、５４Ｂ、５４Ｃの容量または個数を低減できる。
【００９５】
また、本実施例に係る動作フローおいては、加工プログラムの付帯情報に、ＣＮＣ固有番号と、機械固有番号の２種類の番号を付与している。この構成によれば、加工プログラムを実行させるべき数値制御装置５０Ａ、５０Ｂ、５０Ｃを選別するときの条件を複数設定できるので、より詳細な条件で数値制御装置を選別することができる。
【００９６】
次に、ネットワークシステム１０の機能の他の実施例について説明する。本実施例においては、数値制御装置５０Ａの記憶部５４Ａは、工作機械１８Ａに固有の固有情報として、工具情報とワーク情報とを予め記憶する。
【００９７】
工具情報は、工作機械１８Ａにて用いられる工具の情報を示し、オペレータによって予め定められる。一例として、工作機械１８Ａにて２種類の工具Ａおよび工具Ｂを使用可能である場合、記憶部５４Ａは、固有情報として、文字列の工具情報：ｔｏｏｌ−Ａ、およびｔｏｏｌ−Ｂを記憶する。
【００９８】
ワーク情報は、工作機械１８Ａによって加工されるワークの情報を示し、オペレータによって予め定められる。一例として、工作機械１８ＡにてタイプＡのワークを加工可能である場合、記憶部５４Ａは、固有情報として、文字列のワーク情報：ｗｏｒｋ−ｔｙｐｅ−Ａを記憶する。
【００９９】
数値制御装置５０Ｂの記憶部５４Ｂは、工作機械１８Ｂに固有の固有情報として、工具情報とワーク情報とを予め記憶する。一例として、工作機械１８Ｂにて２種類の工具Ａおよび工具Ｃを使用可能である場合、記憶部５４Ｂは、固有情報として、文字列の工具情報：ｔｏｏｌ−Ａ、およびｔｏｏｌ−Ｃを記憶する。
【０１００】
また、工作機械１８ＢにてタイプＢのワークを加工可能である場合、記憶部５４Ｂは、固有情報として、文字列のワーク情報：ｗｏｒｋ−ｔｙｐｅ−Ｂを記憶する。
【０１０１】
数値制御装置５０Ｃの記憶部５４Ｃは、工作機械１８Ｃに固有の固有情報として、工具情報とワーク情報とを予め記憶する。一例として、記憶部５４Ｃは、工作機械１８Ｃにて１種類の工具Ｄを使用可能である場合、記憶部５４Ａは、固有情報として、文字列の工具情報：ｔｏｏｌ−Ｄを記憶する。
【０１０２】
また、工作機械１８ＣにてタイプＣのワークを加工する場合、記憶部５４Ｃは、固有情報として、文字列のワーク情報：ｗｏｒｋ−ｔｙｐｅ−Ｃを記憶する。
【０１０３】
一方、外部機器１２が送信する加工プログラムは、付帯情報を含む。この付帯情報は、該加工プログラムを実行可能な特定の工作機械１８Ａ、１８Ｂ、１８Ｃに固有の情報を含む。本実施例においては、付帯情報は、この加工プログラムを実行可能な特定の工作機械１８Ａ、１８Ｂ、１８Ｃの工具情報およびワーク情報の各々に一致する情報を含む。
【０１０４】
ここで、外部機器１２が送信する加工プログラムは、工具Ａおよび工具Ｃを用いて、タイプＢのワークを加工するのに適したものであるとする。この場合の加工プログラムのデータ構造の例を、図５に示す。
【０１０５】
この加工プログラムに含まれる付帯情報は、工具Ａおよび工具Ｃの工具情報に一致する番号（すなわち、「ｔｏｏｌ−Ａ」、「ｔｏｏｌ−Ｃ」）を含む。また、付帯情報は、タイプＢのワーク情報に一致する番号（すなわち、「ｗｏｒｋ−ｔｙｐｅ−Ｂ」）を含む。
【０１０６】
また、図５に示す加工プログラムにおいては、付帯情報に、付帯情報識別用の識別子（「．ＩＮＣＩＤＥＮＴＡＬ」）が付与されている。より具体的には、付帯情報において、工具情報に対応する番号の後に、工具情報識別用の識別子（「．ＩＮＣＩＤＥＮＴＡＬ３」）が付与されている。一方、ワーク情報に対応する番号の後に、ワーク情報識別用の識別子（「．ＩＮＣＩＤＥＮＴＡＬ４」）が付与されている。
【０１０７】
以下、図４を参照して、外部機器１２から図５に示す加工プログラムが送信された場合の、数値制御装置５０Ａの動作フローの一例について説明する。なお、上述の実施例と同じプロセスについては、詳細な説明を省略する。
【０１０８】
図４に示すフローは、数値制御装置５０Ａが起動されたときに、開始される。図４のフローの開始後、ＣＰＵ５２Ａは、上述の実施例と同様にステップＳ１およびＳ２を実行する。
【０１０９】
ステップＳ３において、ＣＰＵ５２Ａは、記憶部５４Ａに予め記憶された固有情報と、ステップＳ２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定する。
【０１１０】
具体的には、ＣＰＵ５２Ａは、記憶部５４Ａから、固有情報として、工具情報（すなわち、「ｔｏｏｌ−Ａ」および「ｔｏｏｌ−Ｂ」）と、ワーク情報（すなわち、「ｗｏｒｋ−ｔｙｐｅ−Ａ」）とを読み出す。
【０１１１】
一方、ＣＰＵ５２Ａは、図５に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ３」の行を参照する。そして、ＣＰＵ５２Ａは、付帯情報の中に、記憶部５４Ａから読み出した工具情報と一致する番号（すなわち、「ｔｏｏｌ−Ａ」および「ｔｏｏｌ−Ｂ」）が含まれているか否かを判定する。
【０１１２】
図５に示す例の場合、付帯情報中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ３」の行に、「ｔｏｏｌ−Ｂ」が含まれていない。この場合、ＣＰＵ５２Ａは、付帯情報の中に工具情報一致する情報が含まれていないと判定する。
【０１１３】
このように、本実施例においては、ＣＰＵ５２Ａは、記憶部５４Ａから読み出した複数の工具情報（「ｔｏｏｌ−Ａ」および「ｔｏｏｌ−Ｂ」）の少なくとも一方が、付帯情報に含まれていない場合、付帯情報の中に工具情報一致する情報が含まれていないものと判定する。
【０１１４】
また、ＣＰＵ５２Ａは、図５に示す加工プログラム中の識別子（「．ＩＮＣＩＤＥＮＴＡＬ４」）の行を参照し、付帯情報の中に、記憶部５４Ａから読み出したワーク情報と一致する番号（すなわち、「ｗｏｒｋ−ｔｙｐｅ−Ａ」）が含まれているか否かを判定する。
【０１１５】
図５に示す例の場合、付帯情報の中に、「ｗｏｒｋ−ｔｙｐｅ−Ａ」は含まれていない。この場合、ＣＰＵ５２Ａは、付帯情報の中にワーク情報に一致する情報が含まれていないと判定する。
【０１１６】
このように、ＣＰＵ５２Ａは、記憶部５４Ａから読み出した工具情報およびワーク情報の少なくとも一方に一致する情報が付帯情報に含まれていない場合、ＮＯと判定し、ステップＳ５へ進む。
【０１１７】
一方、ＣＰＵ５２Ａは、記憶部５４Ａから読み出した工具情報およびワーク情報の各々に一致する情報が付帯情報に含まれている場合、ＹＥＳと判定し、ステップＳ４へ進む。ステップＳ３の後、ＣＰＵ５２Ａは、上述の実施例と同様に、ステップＳ４〜Ｓ１１を実行する。
【０１１８】
例えば、ステップＳ７にてオペレータが図５に示す加工プログラムの実行を指令した場合、ＣＰＵ５２Ａは、ステップＳ８にてＮＯと判定し、ステップＳ１０にてアラームを生成する。
【０１１９】
次に、図４を参照して、外部機器１２から図５に示す加工プログラムが送信された場合の、数値制御装置５０Ｂの動作フローの一例について説明する。なお、上述の実施例と同じプロセスについては、詳細な説明を省略する。
【０１２０】
図４のフローの開始後、ＣＰＵ５２Ｂは、上述の実施例と同様にステップＳ１およびＳ２を実行する。
【０１２１】
ステップＳ３において、ＣＰＵ５２Ｂは、記憶部５４Ｂに予め記憶された固有情報と、ステップＳ２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定する。
【０１２２】
具体的には、ＣＰＵ５２Ｂは、記憶部５４Ｂから、固有情報として、工具情報（すなわち、「ｔｏｏｌ−Ａ」および「ｔｏｏｌ−Ｃ」）と、ワーク情報（すなわち、「ｗｏｒｋ−ｔｙｐｅ−Ｂ」）とを読み出す。
【０１２３】
一方、ＣＰＵ５２Ｂは、図５に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ３」の行を参照する。そして、ＣＰＵ５２Ｂは、付帯情報の中に、記憶部５４Ｂから読み出した工具情報と一致する番号（すなわち、「ｔｏｏｌ−Ａ」および「ｔｏｏｌ−Ｃ」）が含まれているか否かを判定する。図５に示す例の場合、付帯情報の中には、「ｔｏｏｌ−Ａ」と「ｔｏｏｌ−Ｃ」が含まれている。
【０１２４】
また、ＣＰＵ５２Ｂは、図５に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ４」の行を参照し、付帯情報の中に、記憶部５４Ｂから読み出したワーク情報と一致する番号（すなわち、「ｗｏｒｋ−ｔｙｐｅ−Ｂ」）が含まれているか否かを判定する。
【０１２５】
図５に示す例の場合、付帯情報の中に、「ｗｏｒｋ−ｔｙｐｅ−Ｂ」が含まれている。したがって、ＣＰＵ５２Ｂは、ＹＥＳと判定し、ステップＳ４へ進む。ステップＳ３の後、ＣＰＵ５２Ｂは、上述の実施例と同様に、ステップＳ４〜Ｓ１１を実行する。
【０１２６】
例えば、ステップＳ７にてオペレータが図５に示す加工プログラムの実行を指令した場合、ＣＰＵ５２Ｂは、ステップＳ８にてＹＥＳと判定し、ステップＳ９にて加工プログラムを実行する。
【０１２７】
次に、図４を参照して、外部機器１２から図５に示す加工プログラムが送信された場合の、数値制御装置５０Ｃの動作フローの一例について説明する。なお、上述の実施例と同じプロセスについては、詳細な説明を省略する。
【０１２８】
図４のフローの開始後、ＣＰＵ５２Ｃは、上述の実施形態と同様にステップＳ１およびＳ２を実行する。
【０１２９】
ステップＳ３において、ＣＰＵ５２Ｃは、記憶部５４Ｃに予め記憶された固有情報と、ステップＳ２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定する。
【０１３０】
具体的には、ＣＰＵ５２Ｃは、記憶部５４Ｃから、固有情報として、工具情報（すなわち、「ｔｏｏｌ−Ｄ」）と、ワーク情報（すなわち、「ｗｏｒｋ−ｔｙｐｅ−Ｃ」）とを読み出す。
【０１３１】
一方、ＣＰＵ５２Ｃは、図５に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ３」の行を参照する。そして、ＣＰＵ５２Ｃは、付帯情報の中に、記憶部５４Ｃから読み出した工具情報と一致する番号（すなわち、「ｔｏｏｌ−Ｄ」）が含まれているか否かを判定する。図５に示す例の場合、付帯情報の中には、「ｔｏｏｌ−Ｄ」は含まれていない。
【０１３２】
また、ＣＰＵ５２Ｃは、図５に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ４」の行を参照し、付帯情報の中に、記憶部５４Ｃから読み出したワーク情報と一致する番号（すなわち、「ｗｏｒｋ−ｔｙｐｅ−Ｃ」）が含まれているか否かを判定する。図５に示す例の場合、付帯情報の中に、「ｗｏｒｋ−ｔｙｐｅ−Ｃ」は含まれていない。
【０１３３】
したがって、この場合、ＣＰＵ５２Ｃは、ＮＯと判定し、ステップＳ５へ進む。ステップＳ３の後、ＣＰＵ５２Ｃは、上述の実施例と同様に、ステップＳ４〜Ｓ１１を実行する。
【０１３４】
例えば、ステップＳ７にてオペレータが図５に示す加工プログラムの実行を指令した場合、ＣＰＵ５２Ｃは、ステップＳ８にてＮＯと判定し、ステップＳ１０にてアラームを生成する。
【０１３５】
本実施例に係る動作フローによれば、工具情報とワーク情報とを用いて、各数値制御装置５０Ａ、５０Ｂ、５０Ｃにダウンロードされた加工プログラムが、個々の数値制御装置５０Ａ、５０Ｂ、５０Ｃで実行するのに適したものであるか否かを、判定している。
【０１３６】
この構成によれば、上述の実施例と同様に、オペレータは、ダウンロードされた加工プログラムが個々の数値制御装置５０Ａ、５０Ｂ、５０Ｃで実行するのに適したものであるか否かを、自動的且つ直感的に認識できる。
【０１３７】
また、本実施例においては、加工プログラムの付帯情報に、工作機械１８Ａ、１８Ｂ、１８Ｃによる加工作業に必要となる工具情報とワーク情報とを付与している。この構成によれば、実際のワークの加工に則した条件で、加工プログラムを実行させるべき数値制御装置５０Ａ、５０Ｂ、５０Ｃを選別することができる。
【０１３８】
次に、図６および図７を参照して、他の実施形態に係る工作機械システム８０Ａ、８０Ｂ、および８０Ｃについて説明する。なお、本実施形態において、上述の実施形態と同様の要素には同じ符号を付し、詳細な説明を省略する。
【０１３９】
工作機械システム８０Ａは、工作機械１８Ａと、該工作機械１８Ａを制御する数値制御装置１００Ａとを有する。数値制御装置１００Ａは、記憶部５４Ａ、機械駆動部５８Ａ、ＣＰＵ１０２Ａ、受付部１０４Ａ、およびＩＤリーダ１０６Ａを有する。
【０１４０】
ＣＰＵ１０２Ａは、バス６０を介して、記憶部５４Ａ、機械駆動部５８Ａ、受付部１０４Ａ、およびＩＤリーダ１０６Ａと通信可能に接続されている。ＣＰＵ１０２Ａは、これら要素と情報をやり取りしつつ、各種演算処理を実行する。
【０１４１】
受付部１０４Ａは、外部メモリ８２（図１）に記憶されたデータを、該外部メモリ８２から受け付ける。具体的には、外部メモリ８２は、数値制御装置１００Ａに設けられたメモリ差込ポート１０８Ａ（例えば、イーサネットポート（登録商標））に、オペレータＯによって着脱可能に差し込まれる。
【０１４２】
外部メモリ８２がメモリ差込ポート１０８Ａに差し込まれると、受付部１０４Ａは、外部メモリ８２と通信可能に接続され、ＣＰＵ１０２Ａからの指令に応じて、該外部メモリ８２に記憶されたデータを受け付けることができる。
【０１４３】
ＩＤリーダ１０６Ａは、いわゆるＲＦＩＤ技術によって、オペレータＯが保持するＩＤカード８４から、オペレータＯに固有の固有情報として、該オペレータのオペレータ固有番号の入力を受け付ける。
【０１４４】
より具体的には、オペレータＯがＩＤカード８４をＩＤリーダ１０６Ａに近接配置させた場合、ＩＤリーダ１０６Ａは、ＩＤカード８４に内蔵されたＩＣタグと無線通信し、該ＩＣタグに記憶されたオペレータ固有番号を取得する。
【０１４５】
オペレータ固有番号は、オペレータＯに固有に割り当てられた番号であって、例えば、オペレータのＩＤ番号または社員番号等である。本実施形態においては、オペレータＯには、オペレータ固有番号：ＯＰＲ−１が割り当てられている。
【０１４６】
ＩＤリーダ１０６Ａは、ＩＤカード８４から取得したオペレータ固有番号をＣＰＵ１０２Ａへ送る。ＣＰＵ１０２Ａは、ＩＤリーダ１０６Ａが取得したオペレータ固有番号を記憶部５４Ａへ記憶する。
【０１４７】
このように、本実施形態においては、ＩＤリーダ１０６Ａは、オペレータ固有番号を入力するための入力部１１０（図７）として機能する。また、記憶部５４Ａには、工作機械１８Ａに固有の固有情報として、上述の機械固有番号：ＭＴＡ−１が予め記憶される。
【０１４８】
工作機械システム８０Ｂおよび８０Ｃは、それぞれ、工作機械１８Ｂおよび１８Ｃと、該工作機械１８Ｂおよび１８Ｃを制御する数値制御装置１００Ｂおよび１００Ｃとを有する。
【０１４９】
数値制御装置１００Ｂおよび１００Ｃは、数値制御装置１００Ａと同様の構成を有する。具体的には、数値制御装置１００Ｂおよび１００Ｃは、それぞれ、記憶部５４Ｂおよび５４Ｃ、機械駆動部５８Ｂおよび５８Ｃ、ＣＰＵ１０２Ｂおよび１０２Ｃ、受付部１０４Ｂおよび１０４Ｃ、ならびに、ＩＤリーダ１０６Ｂおよび１０６Ｃを有する。
【０１５０】
外部メモリ８２は、数値制御装置１００Ｂおよび１００Ｃにそれぞれ設けられたメモリ差込ポート１０８Ｂおよび１０８Ｃに差し込まれる。これにより、受付部１０４Ｂおよび１０４Ｃは、外部メモリ８２からデータを受け付けることができる。
【０１５１】
また、ＩＤリーダ１０６Ｂおよび１０６Ｃは、それぞれ、ＩＤカード８４から、オペレータＯに固有の固有情報として、オペレータ固有番号の入力を受け付けることができる。
【０１５２】
数値制御装置１００Ｂの記憶部５４Ｂは、工作機械１８Ｂに固有の固有情報として、上述の機械固有番号：ＭＴＡ−２を予め記憶する。一方、数値制御装置１００Ｃの記憶部５４Ｃは、工作機械１８Ｃに固有の固有情報として、上述の機械固有番号：ＭＴＢ−１を予め記憶する。
【０１５３】
次に、図８を参照して、工作機械システム８０Ａの機能の一例について、説明する。なお、図８に示すフローにおいて、図４に示すフローと同様のプロセスには同じステップ番号を付し、詳細な説明を省略する。図８に示すフローは、数値制御装置１００Ａが起動されたときに、開始される。
【０１５４】
ステップＳ２１において、ＣＰＵ１０２Ａは、メモリ差込ポート１０８Ａへ外部メモリ８２が差し込まれ、外部メモリ８２に記憶された加工プログラムを数値制御装置１００Ａへダウンロードするダウンロード指令を受け付けたか否かを判定する。
【０１５５】
一例として、外部メモリ８２には、図９に示す加工プログラムが記憶されている。この加工プログラムに含まれる付帯情報は、識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」によって識別される付帯情報：ＭＴＡと、識別子：「．ＩＮＣＩＤＥＮＴＡＬ５」によって識別される付帯情報：ＯＰＲ−１とを含む。
【０１５６】
ここで、付帯情報：ＭＴＡは、機械固有番号に対応する一方、付帯情報：ＯＰＲ−１は、オペレータ固有番号に対応する。
【０１５７】
オペレータＯは、外部メモリ８２に記憶された加工プログラムを工作機械システム８０Ａにて実行すべく、外部メモリ８２を、数値制御装置１００Ａのメモリ差込ポート１０８Ａへ差し込む。
【０１５８】
これにより、数値制御装置１００Ａの受付部１０４Ａと外部メモリ８２とが、通信可能に接続される。受付部１０４Ａは、外部メモリ８２がメモリ差込ポート１０８Ａへ差し込まれると、メモリ差し込み信号をＣＰＵ１０２Ａへ発信する。
【０１５９】
外部メモリ８２をメモリ差込ポート１０８Ａへ差し込んだ後、オペレータＯは、数値制御装置１００Ａに設けられた入力装置（例えば、キーボード）を操作して、外部メモリ８２に記憶された加工プログラムを数値制御装置１００Ａへダウンロードするダウンロード指令を入力する。
【０１６０】
このステップＳ２１において、ＣＰＵ１０２Ａは、受付部１０４Ａからメモリ差し込み信号を受信し、且つ、オペレータＯからダウンロード指令を受け付けた場合に、ＹＥＳと判定し、ステップＳ２２へ進む。一方、ＣＰＵ１０２Ａは、メモリ差し込み信号を検知していない場合、または、ダウンロード指令を受け付けていない場合、ＮＯと判定し、ステップＳ７へ進む。
【０１６１】
ステップＳ２２において、受付部１０４Ａは、外部メモリ８２と通信し、該外部メモリ８２から加工プログラムを受け付けて、ＣＰＵ１０２Ａへ送信する。ＣＰＵ１０２Ａは、受付部１０４Ａから送信された加工プログラムを記憶部５４Ａに記憶する。
【０１６２】
ステップＳ２３において、ＣＰＵ１０２Ａは、記憶部５４Ａに予め記憶された固有情報と、ステップＳ２２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定する。
【０１６３】
具体的には、ＣＰＵ１０２Ａは、記憶部５４Ａから、固有情報として機械固有番号：ＭＴＡ−１を読み出す。一方、ＣＰＵ１０２Ａは、図９に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行を参照する。
【０１６４】
本実施例においては、ＣＰＵ１０２Ａは、記憶部５４Ａから読み出した機械固有番号の最初の３桁に一致する番号が、識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」によって識別される付帯情報（すなわち、「ＭＴＡ」）に含まれているか否かを判定する。
【０１６５】
本実施例の場合、付帯情報の中に、機械固有番号の最初の３桁の番号：ＭＴＡと一致する番号：ＭＴＡが含まれているので、ＣＰＵ１０２Ａは、このステップＳ２３にてＹＥＳと判定し、ステップＳ４へ進む。一方、付帯情報の中に、機械固有番号の最初の３桁の番号と一致する番号が含まれていなかった場合、ＣＰＵ１０２Ａは、このステップＳ２３にてＮＯと判定し、ステップＳ５へ進む。
【０１６６】
ステップＳ７にてＹＥＳと判定した後、ステップＳ２４において、ＣＰＵ１０２Ａは、ＩＤリーダ１０６Ａにオペレータ番号が入力されたか否かを判定する。具体的には、オペレータＯがＩＤカード８４をＩＤリーダ１０６Ａに近接配置させると、ＩＤリーダ１０６Ａは、ＩＤカード８４からオペレータ固有番号（すなわち、「ＯＰＲ−１」）を取得する。
【０１６７】
ＩＤリーダ１０６Ａは、取得したオペレータ固有番号をＣＰＵ１０２Ａへ送信する。ＣＰＵ１０２Ａは、ＩＤリーダ１０６Ａから受信したオペレータ固有番号を記憶部５４Ａへ記憶する。
【０１６８】
このとき、ＣＰＵ１０２Ａは、オペレータ番号が入力された（すなわち、ＹＥＳ）ものと判定し、ステップＳ２５へ進む。一方、ＣＰＵ１０２Ａは、ＩＤリーダ１０６Ａからオペレータ番号が送信されていない場合、ＮＯと判定し、ステップＳ２６へ進む。
【０１６９】
ステップＳ２５において、ＣＰＵ１０２Ａは、ステップＳ２４にて記憶部５４Ａに記憶したオペレータ固有番号と、ステップＳ２２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該オペレータ固有番号と一致する番号が含まれているか否かを判定する。
【０１７０】
具体的には、ＣＰＵ１０２Ａは、記憶部５４Ａから、オペレータ固有番号：ＯＰＲ−１を読み出す。一方、ＣＰＵ１０２Ａは、図９に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ５」の行を参照する。
【０１７１】
本実施例の場合、識別子：「．ＩＮＣＩＤＥＮＴＡＬ５」によって識別される付帯情報に、記憶部５４Ａから読み出したオペレータ固有番号：ＯＰＲ−１と一致する番号が含まれているので、ＣＰＵ１０２Ａは、このステップＳ２５にてＹＥＳと判定し、ステップＳ８へ進む。
【０１７２】
一方、識別子：「．ＩＮＣＩＤＥＮＴＡＬ５」によって識別される付帯情報の中に、オペレータ固有番号に一致する番号が含まれていなかった場合、ＣＰＵ１０２Ａは、このステップＳ２５にてＮＯと判定し、ステップＳ１０へ進む。
【０１７３】
このように、本実施例においては、ＣＰＵ１０２Ａは、付帯情報の中に固有情報（オペレータ固有番号）に一致する情報が含まれているか否かを判定する判定部１１２（図７）として機能する。
【０１７４】
次いで、ＣＰＵ１０２Ａは、上述のステップＳ８を実行し、該ステップＳ８にてＹＥＳと判定した場合、機械制御部１１４（図７）として機能して、上述のステップＳ９を実行する。一方、ステップＳ８にてＮＯと判定した場合、ＣＰＵ１０２Ａは、アラーム生成部１１６として機能して、上述のステップＳ１０を実行する。
【０１７５】
一方、ステップＳ２４にてＮＯと判定した場合、ステップＳ２６において、ＣＰＵ１０２Ａは、例えば「オペレータ固有番号の照合を実行して下さい」との画像または音声の形態で、アラーム信号を生成する。
【０１７６】
そして、ステップＳ２７において、上述のステップＳ１１と同様に、ＣＰＵ１０２Ａは、オペレータまたは上位コントローラ（例えば、外部機器１２）から、動作停止指令を受け付けたか否かを判定する。
【０１７７】
ＣＰＵ１０２Ａは、動作停止指令を受け付けた（すなわち、ＹＥＳ）と判定した場合、数値制御装置１００Ａの動作を停止し、図８に示すフローを終了する。一方、ＣＰＵ１０２Ａは、動作停止指令を受け付けていない（すなわち、ＮＯ）と判定した場合、ステップＳ２４へ戻る。
【０１７８】
次に、図８を参照して、工作機械システム８０Ｂの機能の一例について、説明する。なお、工作機械システム８０Ａと同様のプロセスについては、詳細な説明を省略する。図８のフロー開始後、ＣＰＵ１０２Ｂは、数値制御装置１００Ａと同様に、上述したステップＳ２１およびＳ２２を実行する。
【０１７９】
ステップＳ２３において、ＣＰＵ１０２Ｂは、判定部１１２（図７）として機能して、記憶部５４Ｂに予め記憶された固有情報と、ステップＳ２２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定する。
【０１８０】
具体的には、ＣＰＵ１０２Ｂは、記憶部５４Ｂから、固有情報として機械固有番号：ＭＴＡ−２を読み出す。一方、ＣＰＵ１０２Ｂは、図９に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行を参照する。
【０１８１】
本実施例においては、ＣＰＵ１０２Ｂは、識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」によって識別される付帯情報（すなわち、「ＭＴＡ」）の中に、機械固有番号の最初の３桁の番号に一致する番号が含まれているか否かを判定する。
【０１８２】
本実施例の場合、付帯情報の中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１の行に、機械固有番号の最初の３桁の番号：ＭＴＡと一致する番号が含まれている。したがって、ＣＰＵ１０２Ｂは、このステップＳ２３にてＹＥＳと判定し、ステップＳ４へ進む。ステップＳ２３の後、ＣＰＵ１０２Ｂは、数値制御装置１００Ａと同様に、ステップＳ４〜Ｓ７、Ｓ２４〜Ｓ２７、Ｓ８〜Ｓ１１を順次実行する。
【０１８３】
次に、図８を参照して、工作機械システム８０Ｃの機能の一例について、説明する。なお、工作機械システム８０Ａと同様のプロセスについては、詳細な説明を省略する。図８のフロー開始後、ＣＰＵ１０２Ｃは、数値制御装置１００Ａと同様に、上述したステップＳ２１およびＳ２２を実行する。
【０１８４】
ステップＳ２３において、ＣＰＵ１０２Ｃは、判定部１１２（図７）として機能して、記憶部５４Ｃに予め記憶された固有情報と、ステップＳ２２にて受け付けた加工プログラムに含まれている付帯情報とを互いに照合し、該付帯情報の中に該固有情報に一致する情報が含まれているか否かを判定する。
【０１８５】
具体的には、ＣＰＵ１０２Ｃは、記憶部５４Ｃから、固有情報として機械固有番号：ＭＴＢ−１を読み出す。一方、ＣＰＵ１０２Ｃは、図９に示す加工プログラム中の識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行を参照する。本実施例においては、ＣＰＵ１０２Ｃは、識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行に、機械固有番号の最初の３桁の番号に一致する番号が含まれているか否かを判定する。
【０１８６】
本実施例の場合、識別子：「．ＩＮＣＩＤＥＮＴＡＬ１」の行に、機械固有番号の最初の３桁の番号：ＭＴＢに一致する番号が含まれていない。したがって、ＣＰＵ１０２Ｃは、このステップＳ２３にてＮＯと判定し、ステップＳ５へ進む。ステップＳ２３の後、ＣＰＵ１０２Ｃは、数値制御装置１００Ａと同様に、ステップＳ４〜Ｓ７、Ｓ２４〜Ｓ２７、Ｓ８〜Ｓ１１を順次実行する。
【０１８７】
このように、本実施例においては、機械固有番号を用いて、各数値制御装置１００Ａ、１００Ｂ、１００Ｃにダウンロードされた加工プログラムが、個々の数値制御装置１００Ａ、１００Ｂ、１００Ｃで実行するのに適したものであるか否かを、判定している（ステップＳ２３）。
【０１８８】
この構成によれば、上述の実施例と同様に、オペレータは、ダウンロードされた加工プログラムが個々の数値制御装置１００Ａ、１００Ｂ、１００Ｃで実行するのに適したものであるか否かを、自動的且つ直感的に認識できる。
【０１８９】
また、本実施例においては、オペレータＯが個々の数値制御装置１００Ａ、１００Ｂ、１００Ｃで加工プログラムを実行するのに適しているか否かを、オペレータ固有番号を用いて判定している（ステップＳ２５）。この構成によれば、オペレータの習熟度等に応じて、数値制御装置を操作して加工プログラムを実行するオペレータを制限することができる。
【０１９０】
なお、図４または図８に示すフローをコンピュータに自動で実行させるコンピュータプログラムを構築することができる。この場合において、記憶部５４Ａ、５４Ｂ、または５４Ｃは、該コンピュータプログラムを予め記憶し、ＣＰＵ５２Ａ、５２Ｂ、５２Ｃ、１０２Ａ、１０２Ｂ、または１０２Ｃは、該コンピュータプログラムを実行してもよい。
【０１９１】
また、上述の実施形態においては、付帯情報識別用の識別子を、固有情報に対応する番号の後に付した場合について述べた。しかしながら、これに限らず、付帯情報識別用の識別子を、固有情報に対応する番号の前に付してもよい。または、識別子を、固有情報に対応する番号の前後に付し、これら識別子に挟まれたブロックを付帯情報と認識してもよい。
【０１９２】
また、図８に示すフローにおいては、ステップＳ２３において、ＣＰＵ１０２Ａ、１０２Ｂ、１０２Ｃが、機械固有番号の最初の３桁の番号と付帯情報とが、互いに一致するか否かを判定する場合について述べた。
【０１９３】
しかしながら、ステップＳ２３において、ＣＰＵ１０２Ａ、１０２Ｂ、１０２Ｃは、機械固有番号の最初のｎ桁の番号（ｎは２以上の整数）と付帯情報とが、互いに一致するか否かを判定してもよい。
【０１９４】
または、ＣＰＵ１０２Ａ、１０２Ｂ、１０２Ｃは、機械固有番号のうち、最初の文字と最後の文字の間に挟まれたｎ桁の番号と、付帯情報とが、互いに一致するか否かを判定してもよい。
【０１９５】
また、図４に示すフローのステップＳ３において、ＣＰＵ５２Ａ、５２Ｂ、５２Ｃは、装置固有番号（すなわち、ＣＮＣ固有番号、機械固有番号）の最初のｎ桁の番号（ｎは２以上の整数）と付帯情報とが、互いに一致するか否かを判定してもよい。
【０１９６】
また、図４のステップＳ３において、ＣＰＵ５２Ａ、５２Ｂ、５２Ｃは、装置固有番号の代わりに、オペレータ固有番号と付帯情報とを互いに照合し、該付帯情報の中に該オペレータ固有番号と一致する番号が含まれているか否かを判定してもよい。
【０１９７】
この場合において、例えば、記憶部５４Ａは、第１のオペレータＯ１に固有に割り当てられたオペレータ固有番号を記憶する。また、記憶部５４Ｂは、第２のオペレータＯ２に固有に割り当てられたオペレータ固有番号を記憶する。また、記憶部５４Ｃは、第３のオペレータＯ３に固有に割り当てられたオペレータ固有番号を記憶する。
【０１９８】
また、図７に示す実施形態において、入力部１１０を、ＩＤリーダ１０６Ａ、１０６Ｂ、１０６Ｃの代わりに、キーボード等によって構成し、オペレータＯは、該キーボードを操作して、オペレータ固有番号を数値制御装置１００Ａ、１００Ｂ、１００Ｃに入力してもよい。
【０１９９】
この場合、ＣＰＵ１０２Ａ、１０２Ｂ、１０２Ｃは、記憶部５４は、キーボード操作によって入力されたオペレータ固有番号を入力部１１０から受信し、記憶部５４に記憶する。また、図８中のステップＳ２４において、ＣＰＵ１０２Ａ、１０２Ｂ、１０２Ｃは、該キーボード操作によってオペレータ固有番号が入力されたか否かを判定する。
【０２００】
また、固有情報および付帯情報として、例えば、パスワードのような任意の文字列、または、画像もしくは音声等のデータ（またはデータファイル）を適用することもできる。
【０２０１】
以上、発明の実施形態を通じて本発明を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。また、本発明の実施形態の中で説明されている特徴を組み合わせた形態も本発明の技術的範囲に含まれ得るが、これら特徴の組み合わせの全てが、発明の解決手段に必須であるとは限らない。さらに、上述の実施形態に、多様な変更または改良を加えることが可能であることも当業者に明らかである。
【０２０２】
また、特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、工程、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」、「次いで」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０２０３】
１０    ネットワークシステム
１２    外部機器
１４    ネットワーク
１６Ａ，１６Ｂ，１６Ｃ，８０Ａ，８０Ｂ，８０Ｃ    工作機械システム
１８Ａ，１８Ｂ，１８Ｃ    工作機械
５０Ａ，５０Ｂ，５０Ｃ，１００Ａ，１００Ｂ，１００Ｃ    数値制御装置
５２Ａ，５２Ｂ，５２Ｃ，１０２Ａ，１０２Ｂ，１０２Ｃ    ＣＰＵ
５４Ａ，５４Ｂ，５４Ｃ    記憶部
５６Ａ，５６Ｂ，５６Ｃ，１０４Ａ，１０４Ｂ，１０４Ｃ    受付部
１１０    入力部
【図１】
0006430926.tif 000002
【図２】
0006430926.tif 000003
【図３】
0006430926.tif 000004
【図４】
0006430926.tif 000005
【図５】
0006430926.tif 000006
【図６】
0006430926.tif 000007
【図７】
0006430926.tif 000008
【図８】
0006430926.tif 000009
【図９】
0006430926.tif 000010