(57)【特許請求の範囲】
【請求項１】
ＮＣプログラム内に含まれるＮＣ指令として、ＮＣ加工に依存しない処理を行なわせるＮＣ指令でありＮＣ工作機械の機種に依存しない第１のＮＣ指令と、前記ＮＣ加工を行なわせる第２のＮＣ指令と、が入力されるＮＣ指令入力部と、
前記ＮＣ工作機械の機種に関する機種情報を記憶しておく機械情報記憶部と、
前記ＮＣ工作機械で使用する工具の工具情報を記憶しておく工具情報記憶部と、
前記ＮＣ指令入力部に入力されたＮＣ指令が予め設定しておいたＮＣ指令と同じであるか否かに基づいて、前記ＮＣ指令入力部に入力されたＮＣ指令が第１のＮＣ指令であるか否かを判別する指令解析部と、
前記ＮＣ指令が前記第１のＮＣ指令である場合に、前記第１のＮＣ指令と、前記機種情報と、前記工具情報とに、基づいて、前記ＮＣ工作機械に前記第１のＮＣ指令に応じた一連の動作を行なわせる指定動作プログラムを作成する指令作成部と、
前記指定動作プログラムを実行することによって前記ＮＣ加工に依存しない処理を前記ＮＣ工作機械に実行させるとともに、前記第２のＮＣ指令を用いて前記ＮＣ工作機械に前記ＮＣ加工を行なわせる制御部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記ＮＣ工作機械の加工に依存しない処理は、工具交換、座標系設定、加工の開始点位置への移動または加工の終了点位置への移動であることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記機械情報記憶部は、前記機種情報として、前記ＮＣ工作機械の軸構成と、前記ＮＣ工作機械の周辺機器の有無と、前記周辺機器の種類と、の少なくとも１つを記憶しておくことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記機械情報記憶部は、前記第１のＮＣ指令と、変換用の指令形式と、の対応関係をさらに記憶しておき、
前記指令解析部は、前記対応関係に基づいて、前記第１のＮＣ指令を前記変換用の指令形式に変更することを特徴とする請求項１〜３のいずれか１つに記載の数値制御装置。
【請求項５】
前記指定動作プログラムに対応するマクロプログラムを予め格納しておく任意動作プログラム格納部をさらに備え、
前記制御部は、前記指定動作プログラムに対応するマクロプログラムに基づいて、前記指令作成部が作成した指定動作プログラムを前記マクロプログラムに変更することを特徴とする請求項４に記載の数値制御装置。
【請求項６】
前記第１のＮＣ指令を用いて作成される引数データに対応するマクロプログラムを予め格納しておく任意動作プログラム格納部をさらに備え、
前記指令解析部は、前記第１のＮＣ指令を用いて引数データを作成するとともに、前記引数データに対応するマクロプログラムに基づいて、前記引数データを解釈することを特徴とする請求項４に記載の数値制御装置。
【請求項７】
前記軸構成は、軸名称または軸タイプであり、前記周辺機器は、刃物台であることを特徴とする請求項３に記載の数値制御装置。
【請求項８】
前記工具情報記憶部は、前記工具情報として、前記周辺機器で使用する工具の情報をさらに記憶しておくことを特徴とする請求項３に記載の数値制御装置。
【請求項９】
ユーザからの指示を入力する指示入力部をさらに備え、
前記制御部は、前記ユーザからの指示に従って前記指定動作プログラムを変更し、変更後の指定動作プログラムを実行することを特徴とする請求項１〜８のいずれか１つに記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＣ指令に基づいて工作機械を制御する数値制御装置に関する。
【背景技術】
【０００２】
工作機械を数値制御(Numerical  Control；以下ＮＣという場合がある)する数値制御装置は、ＮＣプログラム内のＮＣ指令に基づいてＮＣ工作機械を動作させる。例えば、ＮＣ工作機械が、５軸加工や金型加工などの複雑な形状をワークに加工する場合、ワークを加工するためのＮＣプログラムが作成される。このＮＣプログラムは、ＣＡＭ（Computer  Aided  Manufacturing）を用いて作成されることが多い。【０００３】
ＣＡＭは、数値制御装置に対する指令の作成をコンピュータで支援するシステムである。ＣＡＭは、ワークに対して設定された座標系上で工具経路を作成する。その後、ＣＡＭは、実際にワークを加工するＮＣ工作機械に指令（工具経路と、機械固有の指令の種類と、機械固有の構成に応じた動作とを含む）を適用するために、ＣＡＭに内蔵されているポストプロセッサで指令をＮＣ指令に変換する。【０００４】
ＣＡＭメーカは、機械固有の指令の種類（Ｍコードなど）と機械固有の構成に応じた動作（軸構成に応じた動作など）とを用いた指令を、各ＮＣ工作機械メーカのＮＣ工作機械に応じたＮＣ指令へ変換するために、同一のＮＣ工作機械メーカに対してもＮＣ工作機械の種類毎に、ポストプロセッサの作成を行っている。このため、一般的にＣＡＭユーザは、自身が使用するＮＣ工作機械用のＣＡＭのポストプロセッサを購入するか、または自身で作成する必要がある。【０００５】
特許文献１のＮＣ装置は、ＮＣ工作機械に依存しないＮＣ指令が入力されると、このＮＣ指令が個々のＮＣ工作機械で実行可能か否かを判断し、実行可能な場合は、ＮＣ工作機械で加工できる個別の機械用指令に変換している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９―５３７３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来の技術では、加工を開始する位置への移動や機械固有の指令に対しては、軸移動順序の変更や主軸制御の切り替え指令の追加をユーザが行わなければならないという問題があった。【０００８】
例えば、同一加工のＮＣ指令を実行するＮＣ工作機械をミーリング専用機から複合加工機へ変更した場合、ユーザがＮＣ指令に主軸制御の切り替え指令を追加しなければならない。また、軸構成が異なると、加工終了後に工具を退避させる軸移動順序が変わるので、ＮＣ指令を変更しなければならない。【０００９】
ＮＣ工作機械における機械固有の動作は、工具交換動作、座標系設定、加工する主軸の選択、主軸の速度制御と位置決め制御との切り替え、ワークと干渉しないような加工の開始点位置への移動または加工の終了点位置への移動など、加工自体に依存しない場合が多い。また、前述したように、機械固有の指令種類または動作を用いた指令を、ＮＣ工作機械に応じたＮＣ指令へ変換するためには、ＮＣ工作機械の機種毎に、ポストプロセッサの作製が必要である。そのため、各ＮＣ工作機械において機械固有の指令種類または動作を共通化して用いることで、ポストプロセッサ開発の工数を削減することが望まれている。【００１０】
本発明は、上記に鑑みてなされたものであって、加工に依存しない動作指令を各ＮＣ工作機械に対して共通して使用することができる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、ＮＣプログラム内に含まれるＮＣ指令として、ＮＣ加工に依存しない処理を行なわせるＮＣ指令でありＮＣ工作機械の機種に依存しない第１のＮＣ指令と、前記ＮＣ加工を行なわせる第２のＮＣ指令と、が入力されるＮＣ指令入力部と、前記ＮＣ工作機械の機種に関する機種情報を記憶しておく機械情報記憶部と、前記ＮＣ工作機械で使用する工具の工具情報を記憶しておく工具情報記憶部と、前記ＮＣ指令入力部に入力されたＮＣ指令が予め設定しておいたＮＣ指令と同じであるか否かに基づいて、前記ＮＣ指令入力部に入力されたＮＣ指令が第１のＮＣ指令であるか否かを判別する指令解析部と、前記ＮＣ指令が前記第１のＮＣ指令である場合に、前記第１のＮＣ指令と、前記機種情報と、前記工具情報とに、基づいて、前記ＮＣ工作機械に前記第１のＮＣ指令に応じた一連の動作を行なわせる指定動作プログラムを作成する指令作成部と、前記指定動作プログラムを実行することによって前記ＮＣ加工に依存しない処理を前記ＮＣ工作機械に実行させるとともに、前記第２のＮＣ指令を用いて前記ＮＣ工作機械に前記ＮＣ加工を行なわせる制御部と、を備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ＮＣ指令が加工に依存しない動作指令である場合に、ＮＣ工作機械の機種情報と工具情報とに基づいて、ＮＣ工作機械に一連の動作を行なわせる指定動作プログラムを作成するので、加工に依存しない動作指令を各ＮＣ工作機械に対して共通で使用することが可能になるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施の形態１に係る数値制御装置の構成を示すブロック図である。
【図２】図２は、機械情報の一例を示す図である。
【図３】図３は、工具情報の一例を示す図である。
【図４】図４は、ＮＣ工作機械の軸構成および周辺機器の有無と種類に依存しないＮＣ指令の例を示す図である。
【図５】図５は、ＮＣ指令の実行処理手順を示すフローチャートである。
【図６】図６は、加工に依存しないＮＣ指令の判別処理手順を示すフローチャートである。
【図７】図７は、工具交換動作を行う場合の指定動作プログラムの作成手順を示すフローチャートである。
【図８】図８は、座標系設定を行う場合の指定動作プログラムの作成手順を示すフローチャートである。
【図９】図９は、開始点位置への移動を行う場合の指定動作プログラムの作成手順を示すフローチャートである。
【図１０】図１０は、終了点位置への移動を行う場合の指定動作プログラムの作成手順を示すフローチャートである。
【図１１】図１１は、実施の形態２に係る数値制御装置の構成を示すブロック図である。
【図１２】図１２は、実施の形態３に係る数値制御装置の構成を示すブロック図である。
【図１３】図１３は、指令形式の対応関係である対応関係情報を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本発明に係る数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態１．
図１は、実施の形態１に係る数値制御装置の構成を示すブロック図である。数値制御装置１Ａは、ＮＣプログラムを用いてＮＣ工作機械６を制御する装置である。本実施の形態では、予めＮＣ工作機械６に依存しない処理を実行するための共通指令（ＮＣ指令３）を定義しておく。そして、ＮＣ工作機械６に依存しないＮＣ指令３を生成し、数値制御装置１Ａに入力する。数値制御装置１Ａは、ＮＣ工作機械６に依存しないＮＣ指令３に基づいて、一連の動作を行うことができる共通指令（後述する指定動作プログラム４）を生成し、指定動作プログラム４を用いてＮＣ工作機械６を制御する。
【００１６】
ＮＣ工作機械６に依存しない処理は、例えば、加工に依存しない処理（加工の種類などとは無関係の動作）であり、例えば、工具交換、座標系設定、開始点位置への移動または終了点位置への移動などである。数値制御装置１Ａは、例えば、加工に依存しない動作として加工準備に関する動作をＮＣ工作機械６に行わせるための共通指令を生成する。
【００１７】
数値制御装置１Ａは、ＮＣ指令入力部１０、機械情報記憶部２０、工具情報記憶部３０、指令解析部４０、指令作成部５０、ＣＮＣ制御部６０を備えている。ＮＣ指令入力部１０は、ＮＣプログラム２内のＮＣ指令３が入力されると、ＮＣ指令３を指令解析部４０に送る。また、ＮＣ指令入力部１０は、ＮＣプログラム２内のＮＣプログラム情報５が入力されるとＮＣプログラム情報５を指令解析部４０に送る。本実施の形態のＮＣ指令入力部１０へは、例えば、ＮＣ加工に依存しない処理を行わせるＮＣ指令としてＮＣ工作機械６の機種に依存しない第１のＮＣ指令（ＮＣ指令３）と、ＮＣ加工を行なわせる第２のＮＣ指令と、が入力される。
【００１８】
ＮＣプログラム２は、ＮＣ工作機械６の制御に用いられるプログラムであり、例えばＣＡＭを用いて作成されている。ＮＣプログラム２には、ＮＣプログラム情報５と、加工に依存しない動作指令であるＮＣ指令３と、加工に依存する動作指令であるＮＣ指令（図示せず）と、が含まれている。ＮＣプログラム情報５は、ワーク（被加工物）の素材情報などを含んでいる。
【００１９】
また、ＮＣ指令３は、汎用のＮＣ指令であり、ＮＣ工作機械６の機種に依存しないＮＣ指令である。本実施の形態では、ＮＣ工作機械６に依存しない処理の種類と、ＮＣ指令３（指令による処理）の種類とを予め対応付けしておき、ＣＡＭは、前記対応付けに従ってＮＣ指令３を生成しておく。
【００２０】
ＮＣ工作機械の機種は、ＮＣ工作機械の軸構成と、ＮＣ工作機械の周辺機器の有無と、周辺機器の種類と、の少なくとも１つによって決まるものである。本実施の形態のＮＣ指令３には、ＮＣ工作機械６に依存しない動作指令が各ＮＣ工作機械６に対して共通で使用されている。ＮＣ工作機械６は、例えば、ミーリング加工を行う機械または旋削を行う機械などである。
【００２１】
機械情報記憶部２０は、ＮＣ工作機械６に関する機械情報９１を記憶するメモリなどである。本実施の形態の機械情報記憶部２０は、例えば、機械情報９１として、ＮＣ工作機械６の機種に関する機種情報を記憶しておく。
【００２２】
図２は、機械情報の一例を示す図である。機械情報９１は、ＮＣ工作機械６の機種（第２主軸機種、複合機種など）に関する情報を有しており、例えば、ＮＣ工作機械６の軸構成と、ＮＣ工作機械６が備える周辺機器の情報と、を含んでいる。具体的には、機械情報９１は、ＮＣ工作機械の機種に関する情報としては、ＮＣ工作機械の軸構成と、ＮＣ工作機械の周辺機器の有無と、周辺機器の種類と、の少なくとも１つの情報を有している。また、機械情報９１には、例えば、軸名称または軸タイプなどの軸に関する仕様情報と、刃物台タイプ（周辺機器のタイプ）などの仕様情報と、が含まれていてもよい。
【００２３】
工具情報記憶部３０は、ＮＣ工作機械６に搭載される工具に関する工具情報９２を記憶するメモリなどである。本実施の形態の工具情報記憶部３０は、工具情報９２としてＮＣ工作機械６で使用する工具の情報を記憶しておく。
【００２４】
図３は、工具情報の一例を示す図である。工具情報９２には、工具番号（ＴＮｏ．）、工具種類、工具長、などのＮＣ工作機械６と周辺機器で使用される工具の情報が含まれている。
【００２５】
指令解析部４０は、ＮＣ指令入力部１０から送られてきたＮＣ指令が、加工に依存しないＮＣ指令３であるか否かを判別する。具体的には、指令解析部４０は、ＮＣ指令が予め設定しておいたＮＣ指令３と同じであるか否かに基づいて、ＮＣ指令入力部１０から送られてきたＮＣ指令が加工に依存しないＮＣ指令３であるか否かを判別する。
【００２６】
指令解析部４０は、ＮＣ指令入力部１０から送られてきたＮＣ指令が加工に依存しないＮＣ指令３である場合、加工に依存しない指令動作を行うことを確定する。指令解析部４０は、動作を指定した引数（設定引数）から引数データを作成する。指令解析部４０は、作成した引数データを指令作成部５０へ送る。また、指令解析部４０は、ＮＣ指令入力部１０からＮＣプログラム情報５が送られてきた場合には、ＮＣプログラム情報５を指令作成部５０へ送る。
【００２７】
指令作成部５０は、機械情報記憶部２０から機械情報９１を読み出すとともに、工具情報記憶部３０から工具情報９２を読み出す。指令作成部５０は、引数データ、機械情報９１および工具情報９２に基づいて、ＮＣ指令３に応じた一連の動作を行う指定動作プログラム４を作成する。指定動作プログラム４は、例えば、ＥＩＡフォーマットで作成されたＮＣプログラムである。指令作成部５０で作成される指定動作プログラム４は、ＮＣ工作機械の機種に依存しない。指令作成部５０は、作成した指定動作プログラム４をＣＮＣ制御部６０に送る。
【００２８】
ＣＮＣ制御部６０は、指定動作プログラム４を実行することによってＮＣ工作機械６を制御する。ＣＮＣ制御部６０は、指定動作プログラム４を解読する解読部、各軸に移動指令を分配する分配部、サーボ制御部、などの通常のＮＣ装置が有している機能を備えている。
【００２９】
図４は、ＮＣ工作機械の軸構成および周辺機器の有無と種類に依存しないＮＣ指令の例を示す図である。図４では、ＮＣ指令３の形式と種類とを示している。ＮＣ指令３の種類には、工具交換（ＴＣＨＧ）、座標系設定（ＦＲＭＥ）、加工の開始点位置への移動（ＡＰＲＰ）、加工の終了点位置への移動（ＥＳＣＰ）などがある。
【００３０】
ＮＣ指令３では、ＮＣ指令３で指定された引数にてそれぞれの詳細動作が指定されている。ＴＣＨＧ、ＦＲＭＥ、ＡＰＲＰ、ＥＳＣＰは、それぞれ処理の種類（工具交換、座標系設定、開始点位置への移動、終了点位置への移動）を規定したものであり、数値制御装置１Ａは、この規定に従ってＮＣ指令３から指定動作プログラム４を生成する。なお、加工の開始点位置への移動指令は、工具を初期位置から旋削開始位置まで移動させる指令である。また、加工の終了点位置への移動は、工具を旋削終了位置から初期位置まで移動させる指令である。
【００３１】
図４に示す例の場合、ＴＣＨＧは、引数８１で詳細動作が指定され、ＦＲＭＥは、引数８２で詳細動作が指定されている。また、ＡＰＲＰは、引数８３で詳細動作が指定され、ＥＳＣＰは、引数８４で詳細動作が指定されている。引数８１〜８４は、例えば、以下のように指定される。
引数８１は、Ｘ１００．Ｙ１０．Ｚ１００．Ｐ１．Ｔ１０．Ｓ１である。
引数８２は、Ｘ１００．Ｙ１０．Ｚ１００．Ｂ９０．Ｃ９０．Ｉ０  Ｊ１  Ｋ０  Ｒ４５  Ｇ５４  Ｐ１である。
引数８３は、Ｘ１００．Ｙ１０．Ｚ１００．Ａ０．Ｂ９０．Ｃ９０．Ｐ１．である。
引数８４は、Ｘ１００．Ｙ１０．Ｚ１００．Ａ０．Ｂ９０．Ｃ９０．Ｐ１．である。
【００３２】
つぎに、実施の形態１に係る数値制御装置の概略処理手順について説明する。図５は、ＮＣ指令の実行処理手順を示すフローチャートである。ＮＣプログラム２内のＮＣ指令がＮＣ指令入力部１０に入力されると、ＮＣ指令は指令解析部４０に送られる。また、ＮＣプログラム２内のＮＣプログラム情報５がＮＣ指令入力部１０に入力されると、ＮＣプログラム情報５は指令解析部４０に送られる。指令解析部４０は、ＮＣ指令を受け取ると、ＮＣ指令が加工に依存しないＮＣ指令３であるか否かを判別する（ステップＳ１０）。
【００３３】
ＮＣ指令が加工に依存しないＮＣ指令３である場合（ステップＳ２０、Ｙｅｓ）、指令解析部４０は、加工に依存しない指令動作をＮＣ工作機械６に実行させることを確定する。指令解析部４０は、ＮＣ指令３で指定された引数から引数データを作成し（ステップＳ３０）。指令解析部４０は、作成した引数データを指令作成部５０へ送る。
【００３４】
指令作成部５０は、機械情報記憶部２０から機械情報９１を読み出すとともに、工具情報記憶部３０から工具情報９２を読み出す。指令作成部５０は、引数データ、機械情報９１および工具情報９２に基づいて、ＮＣ指令３に応じた一連の動作を行う指定動作プログラム４を作成する（ステップＳ４０）。指令作成部５０は、作成した指定動作プログラム４をＣＮＣ制御部６０に送る。ＣＮＣ制御部６０は、指定動作プログラム４を実行する（ステップＳ５０）。ＣＮＣ制御部６０が指定動作プログラム４を実行した後（実行完了後）、加工に依存しないＮＣ指令３の処理は完了する（ステップＳ６０）。
【００３５】
指令解析部４０は、ＮＣ指令がＮＣ指令３でない場合（ステップＳ２０、Ｎｏ）、ＮＣ指令を通常のＮＣ指令としてＣＮＣ制御部６０に送る。ＣＮＣ制御部６０は、ＮＣ指令が、通常のＮＣ指令または指定動作プログラムがＧコード形式の場合、通常の数値制御を行う。
【００３６】
（ＮＣ指令３の判別処理）
つぎに、指令解析部４０によるＮＣ指令３の判別処理について説明する。図６は、加工に依存しないＮＣ指令の判別処理手順を示すフローチャートである。指令解析部４０は、加工に依存しないＮＣ指令３の動作およびＮＣ指令３で指定された引数の意味を判別する。換言すると、指令解析部４０は、ＮＣ指令３で指定されている処理の種類を判別する。
【００３７】
具体的には、指令解析部４０は、ＮＣ指令３がＴＣＨＧであるか否かを判断する（ステップＳ１１０）。ＮＣ指令３がＴＣＨＧである場合（ステップＳ１１０、Ｙｅｓ）、指令解析部４０は、ＮＣ指令３が工具交換動作の指令であると判断する（ステップＳ１１１）。
【００３８】
そして、指令解析部４０は、ＮＣ指令３から引数を読み取り、引数に基づいて工具交換動作の引数データを作成する。工具交換の場合、指令解析部４０は、引数Ｘ、Ｙ、Ｚを、各軸の工具交換指令を行う位置（交換位置）として扱う。また、指令解析部４０は、引数Ｐを、各軸を移動させる順序（軸移動順序）として扱う。また、指令解析部４０は、引数Ｔを、交換する工具（交換工具）として扱い、引数Ｓを、交換した工具で加工する主軸（加工主軸）として扱う（ステップＳ１１２）。加工主軸は、例えば第１主軸または第２主軸である。指令解析部４０は、作成した引数データを指令作成部５０へ送信してＮＣ指令３の判別処理を終了する（ステップＳ１５０）。
【００３９】
ＮＣ指令３がＴＣＨＧでない場合（ステップＳ１１０、Ｎｏ）、指令解析部４０は、ＮＣ指令３がＦＲＭＥであるか否かを判断する（ステップＳ１２０）。ＮＣ指令３がＦＲＭＥである場合（ステップＳ１２０、Ｙｅｓ）、指令解析部４０は、ＮＣ指令３が座標系設定の指令であると判断する（ステップＳ１２１）。
【００４０】
そして、指令解析部４０は、ＮＣ指令３から引数を読み取り、引数に基づいて座標系設定の引数データを作成する。座標系設定の場合、指令解析部４０は、引数Ｘ、Ｙ、Ｚを座標系シフト量として扱う。また、指令解析部４０は、引数Ａ、Ｂ、Ｃを割り出し角度として扱う。また、指令解析部４０は、引数Ｉ、Ｊ、Ｋを座標回転角度指定として扱う。また、指令解析部４０は、引数Ｐを、構築する座標の指定として扱い、引数Ｇを、選択するワーク座標系として扱う（ステップＳ１２２）。指令解析部４０は、作成した引数データを指令作成部５０へ送信してＮＣ指令３の判別処理を終了する（ステップＳ１５０）。また、指令解析部４０は、ＮＣ指令３において、座標系シフト量、回転中心軸、座標変換タイプが指定されている場合には、これらの指定情報を指令作成部５０に送る。
【００４１】
ＮＣ指令３がＦＲＭＥでない場合（ステップＳ１２０、Ｎｏ）、指令解析部４０は、ＮＣ指令３がＡＰＲＰであるか否かを判断する（ステップＳ１３０）。ＮＣ指令３がＡＰＲＰである場合（ステップＳ１３０、Ｙｅｓ）、指令解析部４０は、ＮＣ指令３が加工の開始点位置への移動指令であると判断する（ステップＳ１３１）。
【００４２】
そして、指令解析部４０は、ＮＣ指令３から引数を読み取り、引数に基づいて開始点位置への移動の引数データを作成する。開始点位置への移動の場合、指令解析部４０は、引数Ｘ、Ｙ、Ｚを開始点位置（加工開始座標）として扱う。また、指令解析部４０は、引数Ａ、Ｂ、Ｃを開始点角度として扱う。また、指令解析部４０は、引数Ｐを軸移動順序として扱う。また、指令解析部４０は、引数Ｔを工具補正タイプとして扱い、引数Ｈを工具補正番号として扱う（ステップＳ１３２）。指令解析部４０は、作成した引数データを指令作成部５０へ送信してＮＣ指令３の判別処理を終了する（ステップＳ１５０）。
【００４３】
ＮＣ指令３がＡＰＲＰでない場合（ステップＳ１３０、Ｎｏ）、指令解析部４０は、ＮＣ指令３がＥＳＣＰであるか否かを判断する（ステップＳ１４０）。ＮＣ指令３がＥＳＣＰである場合（ステップＳ１４０、Ｙｅｓ）、指令解析部４０は、ＮＣ指令３が加工の終了点位置への移動指令であると判断する（ステップＳ１４１）。
【００４４】
そして、指令解析部４０は、ＮＣ指令３から引数を読み取り、引数に基づいて終了点位置への移動の引数データを作成する。終了点位置への移動の場合、指令解析部４０は、引数Ｘ、Ｙ、Ｚをワーク座標系での終了点位置（加工終了座標）として扱う。また、指令解析部４０は、引数Ａ、Ｂ、Ｃを割り出し角度として扱う。また、指令解析部４０は、引数Ｐを軸移動順序として扱う（ステップＳ１４２）。指令解析部４０は、作成した引数データを指令作成部５０へ送信してＮＣ指令３の判別処理を終了する（ステップＳ１５０）。
【００４５】
なお、各ＮＣ指令３に対する引数データは、図２に示した例に限定されているものではない。例えば、ＮＣ指令３がＦＲＭＥの場合、指令解析部４０は、回転軸の割り出し後の動作（クランプ、アンクランプまたはブレーキなど）に必要な指令の作成を引数で指定してもよい。また、指令解析部４０は、回転軸の割り出し後に機械情報記憶部２０から情報を取得して、所定の動作（クランプ、アンクランプまたはブレーキなど）に必要な指令を作成してもよい。
【００４６】
指令作成部５０は、指令解析部４０から受け取った引数データに基づいて、指定動作プログラム４を作成する。なお、ＮＣ指令３が該当の指令と判断されなかった場合には、通常のＮＣ指令として処理される。すなわち、ＮＣ指令がＴＣＨＧ、ＦＲＭＥ、ＡＰＲＰ、ＥＳＣＰの何れでもない場合、指令作成部５０は、処理を実行せず、指定動作プログラム４も作成しない。なお、ＮＣ指令３で指定されている処理の種類を判別する手順は、図６に示した手順に限らず、ＴＣＨＧ、ＦＲＭＥ、ＡＰＲＰ、ＥＳＣＰは、何れから順番に判別してもよい。
【００４７】
（工具交換動作の指定動作プログラム）
図７は、工具交換動作を行う場合の指定動作プログラムの作成手順を示すフローチャートである。指令作成部５０は、工具交換準備の動作指令を作成する（ステップＳ２１０）。具体的には、指令作成部５０は、クーラントＯＦＦの指令を作成する。また、指令作成部５０は、機械情報９１に基づいて刃物台タイプを確認する。刃物台タイプがＡＴＣの場合、指令作成部５０は、シャッター開を行う指令を作成する。このように、指令作成部５０は、工具交換する際に必要なＭコードの指令を作成する。
【００４８】
指令作成部５０は、加工時に設定されているモーダル情報をキャンセルする指令を作成する（ステップＳ２２０）。具体的には、指令作成部５０は、工具交換指令Ｔコードが実行できない、モーダル情報をキャンセルするための指令を作成する。
【００４９】
指令作成部５０は、引数によって交換位置が指定されているか否かを確認する。交換位置の指定がある場合（ステップＳ２３０、Ｙｅｓ）、指令作成部５０は、引数によって軸移動順序が指定されているか否かを確認する（ステップＳ２３１）。軸移動順序の指定がない場合（ステップＳ２３１、Ｎｏ）、指令作成部５０は、全軸同時で交換指令位置に移動する指令を作成する（ステップＳ２３２）。一方、軸移動順序の指定がある場合（ステップＳ２３１、Ｙｅｓ）、指令作成部５０は、指定の軸移動順序で交換指令位置に移動する指令を作成する（ステップＳ２３３）。そして、指令作成部５０は、工具交換指令を作成する（ステップＳ２４０）。
【００５０】
また、交換指令位置の指定がない場合（ステップＳ２３０、Ｎｏ）、指令作成部５０は、工具交換指令を作成する（ステップＳ２４０）。工具交換指令を作成した後、指令作成部５０は、機械情報記憶部２０から機械情報９１を読み込む。指令作成部５０は、引数および機械情報９１に基づいて、ＮＣ工作機械６が第２主軸付機種であるか否かを判断する（ステップＳ２５０）。
【００５１】
指令作成部５０は、ＮＣ工作機械６が第２主軸付機種であると判断した場合（ステップＳ２５０、Ｙｅｓ）、ＮＣ指令３の引数で第２主軸が指定されているか否かを判断する（ステップＳ２５１）。
【００５２】
ＮＣ指令３内に第２主軸の指定がない場合（ステップＳ２５１、Ｎｏ）、指令作成部５０は、第１主軸を選択する動作指令を作成する（ステップＳ２５２）。一方、ＮＣ指令３内に第２主軸の指定がある場合（ステップＳ２５１、Ｙｅｓ）、指令作成部５０は、第２主軸を選択する機械固有の動作指令を作成する（ステップＳ２５３）。
【００５３】
指令作成部５０は、ＮＣ工作機械６が第２主軸付機種でない場合、引数および機械情報９１に基づいて、ＮＣ工作機械６が複合機種であるか否かを判断する（ステップＳ２６０）。ＮＣ工作機械６が複合機種である場合（ステップＳ２６０、Ｙｅｓ）、指令作成部５０は、工具情報記憶部３０から装着工具の工具情報９２を読み込む。そして、指令作成部５０は、引数で指定された交換工具および工具情報９２に基づいて、装着工具が旋削工具であるか否かを判断する（ステップＳ２６１）。
【００５４】
装着工具が旋削工具でない場合（ステップＳ２６１、Ｎｏ）、指令作成部５０は、主軸位置決め制御（サーボオン）を指定した動作指令を作成する（ステップＳ２６２）。一方、装着工具が旋削工具である場合（ステップＳ２６１、Ｙｅｓ）、指令作成部５０は、主軸速度制御（サーボオフ）を指定した動作指令を作成する（ステップＳ２６３）。
【００５５】
主軸位置決め制御または主軸速度制御とした機械固有の指令を作成すると、工具交換動作を行う場合の指定動作プログラム４の作成処理が終了する。また、ＮＣ工作機械６が複合機種でない場合、工具交換動作を行う場合の指定動作プログラム４の作成処理が終了する。指令作成部５０は、ステップＳ２１０〜Ｓ２６３の処理によって作成した指令を、工具交換動作の指定動作プログラム４として、ＣＮＣ制御部６０に送る。
【００５６】
（座標系設定の指定動作プログラム）
図８は、座標系設定を行う場合の指定動作プログラムの作成手順を示すフローチャートである。指令作成部５０は、座標系設定を行う機械位置に基本３軸を移動させる指令（割り出し位置を移動させる指令）を作成する（ステップＳ３１０）。このとき、座標系設定を行う機械位置については、指令作成部５０は、機械情報記憶部２０に設定している値を用いる。
【００５７】
指令作成部５０は、回転軸の割り出し指令を作成する（ステップＳ３２０）。なお、指令作成部５０は、機械情報記憶部２０に登録している軸構成に回転軸が存在しない場合には、回転軸の割り出し指令を作成しないものとする。
【００５８】
指令作成部５０は、指令解析部４０から取得した選択ワーク座標系の情報に基づいて、ワーク座標系を選択する指令を作成する（ステップＳ３３０）。なお、指令作成部５０は、選択ワーク座標系の指定がない場合には、ワーク座標系を選択する指令を作成しないものとする。
【００５９】
指令作成部５０は、指令解析部４０から取得した引数に基づいて、座標系シフト量、回転中心軸、座標変換タイプを導出する。そして、指令作成部５０は、座標系シフト量、回転中心軸、座標変換タイプに基づいて、ワーク座標系から座標変換する指令を作成する（ステップＳ３４０）。なお、指令作成部５０は、座標系シフト量、回転中心軸、座標変換タイプなどの指定がない場合には、座標変換する指令を作成しないものとする。
【００６０】
座標系設定の際に回転軸の割り出しまたは構築座標を指定する場合、ＮＣ指令を行うことでアラームとなってしまう機種も存在する。そのため、指令作成部５０は、機械情報記憶部２０から取得した機械情報９１に回転軸がない場合には、座標系設定のＮＣ指令を作成しなくてもよい。指令作成部５０は、ステップＳ３１０〜Ｓ３４０の処理によって作成した指令を、座標系設定の指定動作プログラム４として、ＣＮＣ制御部６０に送る。
【００６１】
（加工の開始点位置への移動を指令する指定動作プログラム）
図９は、開始点位置への移動を行う場合の指定動作プログラムの作成手順を示すフローチャートである。指令作成部５０は、回転軸移動指令を作成する（ステップＳ４１０）。具体的には、指令作成部５０は、指令解析部４０から取得した開始点角度（回転軸の割り出し角度）への移動指令を作成する。なお、指令作成部５０は、機械情報記憶部２０に登録している機械情報９１に回転軸が存在しない場合には、回転軸移動指令を作成しないものとする。
【００６２】
指令作成部５０は、ＮＣプログラム情報５からワークの素材情報を取得する（ステップＳ４２０）。指令作成部５０は、取得した素材情報から輪郭情報を作成する（ステップＳ４３０）。
【００６３】
指令作成部５０は、輪郭情報に基づいて、工具が加工の開始点位置まで輪郭形状外（素材の外側）を移動するよう経由点を計算する。換言すると、開始点位置までの移動の経由点が計算される（ステップＳ４４０）。
【００６４】
指令作成部５０は、指令解析部４０から取得した軸移動順序指定に従って、ステップＳ４４０で計算した経由点への移動指令を作成する（ステップＳ４５０）。そして、指令作成部５０は、指令解析部４０から取得した開始点位置への移動指令を作成する（ステップＳ４６０）。指令作成部５０は、指令解析部４０から取得した工具補正タイプと工具補正番号に従って、工具補正指令を作成する（ステップＳ４７０）。指令作成部５０は、ステップＳ４１０〜Ｓ４７０の処理によって作成した指令を、開始点位置への移動を指令する指定動作プログラム４として、ＣＮＣ制御部６０に送る。
【００６５】
（加工の終了点位置への移動を指令する指定動作プログラム）
図１０は、終了点位置への移動を行う場合の指定動作プログラムの作成手順を示すフローチャートである。指令作成部５０は、ＮＣプログラム情報５からワークの素材情報を取得する（ステップＳ５１０）。指令作成部５０は、取得した素材情報から輪郭情報を作成する（ステップＳ５２０）。
【００６６】
指令作成部５０は、輪郭情報に基づいて、工具が加工の終了点位置に輪郭形状外（素材の外側）を移動するよう経由点を計算する。換言すると、終了点位置への移動の経由点が計算される（ステップＳ５３０）。
【００６７】
指令作成部５０は、指令解析部４０から取得した軸移動順序指定に従って、ステップＳ５３０で計算した経由点への移動指令を作成する（ステップＳ５４０）。そして、指令作成部５０は、指令解析部４０から取得した終了点位置への移動指令を作成する（ステップＳ５５０）。
【００６８】
指令作成部５０は、回転軸移動指令を作成する（ステップＳ５６０）。具体的には、指令作成部５０は、指令解析部４０から取得した終了点角度（回転軸の割り出し角度）への移動指令を作成する。指令作成部５０は、ステップＳ５１０〜Ｓ５６０の処理によって作成した指令を、終了点位置への移動を指令する指定動作プログラム４として、ＣＮＣ制御部６０に送る。
【００６９】
指令作成部５０が作成した指定動作プログラム４は、直ちにＣＮＣ制御部６０で実行される。指定動作プログラム４の指令が全て実行されるとＮＣ指令３による処理を終了して、指定動作プログラム４の次のＮＣ指令が実行される。なお、指定動作プログラム４は、実行されると直ちに消去される。
【００７０】
なお、本実施の形態では、ＮＣ指令３を数値制御装置１Ａに入力したが、ＮＣ指令３を含んだＮＣプログラム自体を数値制御装置１Ａに入力してもよい。この場合もＮＣプログラム内のＮＣ指令３がＮＣ指令入力部１０に入力される。
【００７１】
このように、実施の形態１によれば、ＮＣ工作機械６に依存しないＮＣ指令３を予め定義している。そして、ＣＡＭが、前記定義に従ってＮＣ指令３を作成しておくとともに、数値制御装置１Ａが、前記定義に従って、ＮＣ指令３からＮＣ工作機械６の制御に用いる指定動作プログラム４を生成している。これにより、数値制御装置１Ａは、ＮＣ指令３から生成した指定動作プログラム４を、各ＮＣ工作機械６に対して共通で使用できるようになる。また、ポストプロセッサは、各ＮＣ工作機械６に対する機械固有の指令の種類および機械固有の動作を共通化した指令として数値制御装置１Ａに出力することができる。したがって、ポストプロセッサの開発に要する工数を削減することができ、ポストプロセッサの開発が容易になる。
【００７２】
また、軸構成が同一である場合には、縦型、横型に依存せず同一のＮＣプログラムが使用可能となるので、ＮＣ指令を変更する手間を削減することが可能となる。
【００７３】
実施の形態２．
つぎに、図１１を用いてこの発明の実施の形態２について説明する。実施の形態２では、ユーザからの指示に従って指定動作プログラム４を変更し、変更後のＮＣプログラムを外部出力する。
【００７４】
図１１は、実施の形態２に係る数値制御装置の構成を示すブロック図である。図１１の各構成要素のうち図１に示す実施の形態１の数値制御装置１Ａと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００７５】
実施の形態２に係る数値制御装置１Ｂは、数値制御装置１Ａの構成要素に加えて指示入力部７１を備えている。指示入力部７１は、ユーザによって入力される指示（ユーザ指示）を受け付けるとともに、ユーザ指示をＣＮＣ制御部６０に送る。
【００７６】
指示入力部７１に入力されるユーザ指示は、ＮＣ工作機械６の動作を変更させる指示などである。ユーザ指示は、ＮＣ工作機械６の動作を変更させる指示などであり、例えば、動作を規定するパラメータを追加・変更する指示、動作指令の引数を変更する指示、動作を実行させるか否かの指示などである。
【００７７】
数値制御装置１Ｂは、指令作成部５０で生成した指定動作プログラム４をＣＮＣ制御部６０に送る。ＣＮＣ制御部６０は、指定動作プログラム４を実行することなく、指示入力部７１から入力されるユーザ指示を待つ。
【００７８】
指示入力部７１に入力されたユーザ指示は、ＣＮＣ制御部６０に送られる。これにより、ＣＮＣ制御部６０は、ユーザ指示に従って指定動作プログラム４を変更する。ＣＮＣ制御部６０は、ユーザ指示に従って変更した指定動作プログラム４を外部出力する。なお、ＣＮＣ制御部６０は、ユーザ指示に従って変更した指定動作プログラム４を用いてＮＣ工作機械６の制御を行なってもよい。
【００７９】
このように実施の形態２によれば、指示入力部７１に入力されるユーザ指示に従って指定動作プログラム４を変更するので、ユーザが所望する動作をＮＣ工作機械６に実行させることが可能となる。
【００８０】
実施の形態３．
つぎに、図１２を用いてこの発明の実施の形態３について説明する。実施の形態３では、指定動作プログラム４の引数データを、予め作成しておいたマクロプログラムで置き換える。また、ＮＣ指令３の引数データを、予め作成しておいたマクロプログラムを用いて解釈する。
【００８１】
図１２は、実施の形態３に係る数値制御装置の構成を示すブロック図である。図１２の各構成要素のうち図１に示す実施の形態１の数値制御装置１Ａと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００８２】
実施の形態３に係る数値制御装置１Ｃは、数値制御装置１Ａの構成要素に加えて任意動作プログラム格納部７２を備えている。任意動作プログラム格納部７２は、ユーザによって予め作成されたマクロプログラムを格納するメモリなどである。任意動作プログラム格納部７２には、予め指定動作プログラム４とマクロプログラムとの対応関係を格納しておく。また、任意動作プログラム格納部７２には、予め引数データの解釈とマクロプログラムとの対応関係を格納しておく。任意動作プログラム格納部７２は、指令解析部４０およびＣＮＣ制御部６０に接続されている。
【００８３】
数値制御装置１Ｃは、指令作成部５０で生成した指定動作プログラム４をＣＮＣ制御部６０に送る。ＣＮＣ制御部６０は、指定動作プログラム４を実行する前に、任意動作プログラム格納部７２内のマクロプログラムを確認する。
【００８４】
ＣＮＣ制御部６０は、指定動作プログラム４に対応するマクロプログラムが任意動作プログラム格納部７２内に格納されている場合、指定動作プログラム４をマクロプログラムに置き換える。これにより、ＮＣ指令３（指定動作プログラム４）をユーザが独自に作成したマクロプログラムを用いて実行することが可能となる。
【００８５】
また、指令解析部４０は、ＮＣ指令３の引数データを作成した後、引数データを指令作成部５０へ送る前に任意動作プログラム格納部７２内のマクロプログラムを確認する。指令解析部４０は、引数データの解釈に対応するマクロプログラムが任意動作プログラム格納部７２内に格納されている場合、マクロプログラムを用いて引数データを解釈する。
【００８６】
なお、数値制御装置１Ｃは、指定動作プログラム４をマクロプログラムに置き換える処理と、引数データをマクロプログラムを用いて解釈する処理と、の何れか一方のみを行ってもよい。
【００８７】
このように実施の形態３によれば、指定動作プログラム４を予め作成しておいたマクロプログラムで置き換えるので、ユーザが所望する指定動作プログラム４を作成することが可能となる。また、マクロプログラムを用いて引数データを解釈するので、ユーザが所望する指定動作プログラム４を作成することが可能となる。
【００８８】
実施の形態４．
つぎに、図１３を用いてこの発明の実施の形態４について説明する。実施の形態４では、ＮＣ工作機械６に依存しないＮＣ指令の形式を予め準備しておき、ＮＣ指令３を、準備しておいたＮＣ指令の形式に変更する。
【００８９】
本実施の形態では、数値制御装置１Ａと同様の構成を有した数値制御装置１Ｄ（図示せず）を用いる。数値制御装置１Ｄの機械情報記憶部２０は、ＮＣ指令３と所定の指令形式とが対応付けされた対応関係情報（指令形式の対応関係）を記憶する。
【００９０】
図１３は、指令形式の対応関係である対応関係情報を示す図である。対応関係情報９３は、ＮＣ指令３内の指令と、ＮＣ指令３を変更する任意の形式の指令と、が対応付けされた情報である。
【００９１】
対応関係情報９３における変更前指令は、ＮＣ指令３であり、変更後指令名は、ＮＣ指令３を変更する場合の変更後の指令の指令名である。対応関係情報９３には、変更後指令名が予め任意の指令形式で設定される。ここでの任意の指令形式は、図１３の変更後指令名で示されている任意の文字列であり、例えば、一般的に使用されるＧコード指令、Ｍコード指令などである。変更後指令は、ＮＣ工作機械に依存しないＮＣ指令である。
【００９２】
また、対応関係情報９３における有効指令は、変更前指令と、変更後指令名と、の何れを採用するかを示すものであり、予めユーザからの指示に従って設定される。有効指令が変更前指令を示す場合は、ＮＣ指令３がそのまま用いられる。一方、有効指令が変更後指令名を示す場合は、ＮＣ指令３が変更後指令名に変更される。
【００９３】
指令作成部５０は、有効指令が変更後指令名を示す場合、対応関係情報９３に基づいて、ＮＣ指令３を、変更後指令名の指令形式に変更する。これにより、ＮＣ指令３を、任意の指令形式に変更することが可能となる。
【００９４】
このように実施の形態４によれば、ＮＣ指令３を予め設定しておいた任意の指令形式に変更するので、ユーザが所望する指令形式でＮＣ指令３をＮＣ工作機械６に実行させることが可能となる。
【産業上の利用可能性】
【００９５】
以上のように、本発明に係る数値制御装置は、ＮＣ工作機械の加工に依存しない処理の制御に適している。
【符号の説明】
【００９６】
１Ａ〜１Ｃ  数値制御装置、２  ＮＣプログラム、３  ＮＣ指令、４  指定動作プログラム、５  ＮＣプログラム情報、６  ＮＣ工作機械、１０  ＮＣ指令入力部、２０  機械情報記憶部、３０  工具情報記憶部、４０  指令解析部、５０  指令作成部、６０  ＣＮＣ制御部、７１  指示入力部、７２  任意動作プログラム格納部、９１  機械情報、９２  工具情報、９３  対応関係情報。
【要約】
ＮＣ加工に依存しない処理を行なわせるＮＣ指令としてＮＣ工作機械（６）の機種に依存しないＮＣ指令（３）と、ＮＣ加工を行なわせるＮＣ指令と、が入力されるＮＣ指令入力部（１０）と、ＮＣ工作機械（６）の機種に関する機種情報を記憶しておく機械情報記憶部（２０）と、ＮＣ工作機械（６）で使用する工具の工具情報を記憶しておく工具情報記憶部（３０）と、ＮＣ指令入力部（１０）に入力されたＮＣ指令がＮＣ指令（３）であるか否かを判別する指令解析部（４０）と、ＮＣ指令がＮＣ指令（３）である場合に、ＮＣ指令（３）と、機種情報と、工具情報とに、基づいて、ＮＣ工作機械（６）にＮＣ指令（３）に応じた一連の動作を行なわせる指定動作プログラム（４）を作成する指令作成部（５０）と、指定動作プログラムを実行することによってＮＣ工作機械（６）を制御するＣＮＣ制御部（６０）と、を備える。【図１】
0005414948.tif 000002
【図２】
0005414948.tif 000003
【図３】
0005414948.tif 000004
【図４】
0005414948.tif 000005
【図５】
0005414948.tif 000006
【図６】
0005414948.tif 000007
【図７】
0005414948.tif 000008
【図８】
0005414948.tif 000009
【図９】
0005414948.tif 000010
【図１０】
0005414948.tif 000011
【図１１】
0005414948.tif 000012
【図１２】
0005414948.tif 000013
【図１３】
0005414948.tif 000014