(57)【要約】【課題】動作完了信号の受信を必要とする補助指令において、追加の機能を必要とせず、読み込んだブロックにおいて動作完了信号を待機することなく、加工プログラムの実行時間を短縮し、加工時間を短縮することのできる数値制御装置を得ること。【解決手段】Ｍコードと、指令に関する情報として定めたＭコード完了待ち条件と、が対応付けられているＭコード完了待ちテーブルを記憶する記憶部１２７と、実行される加工プログラムから検出されたＭコードの次の指令による実行結果が、Ｍコード完了待ち条件に合致するか否かを判断する完了待ち判断部１１６と、実行結果が、Ｍコード完了待ち条件に合致しない場合に、順次、次の指令の実行要求を行い、実行結果がＭコード完了待ち条件に合致する場合は、順次、次の指令の実行要求を行わずに動作完了信号の受信を待機する指令実行部１１７と、を備えた。【選択図】図１
2011039701.tif 000002
【特許請求の範囲】
【請求項１】
工作機械の工具を軸移動する指令としての移動指令と、軸移動を補助する指令としての補助指令と、を含む指令が記述された加工プログラムを記憶する加工プログラム記憶手段と、
前記補助指令と、前記指令に関する情報を前記補助指令に応じた前記工作機械からの動作完了信号を待機する条件として定めた完了待ち条件と、が対応付けられている補助指令完了待ちテーブルを記憶する補助指令完了待ちテーブル記憶手段と、
前記加工プログラムの実行要求を受け付けることで、前記加工プログラム記憶手段に記憶されている前記加工プログラムに記載されている順番に前記指令を実行する加工プログラム実行手段と、
前記動作完了信号を受信する完了信号受信手段と、
実行される前記加工プログラムから前記指令を検出し、前記指令として前記補助指令が検出された場合、検出された補助指令の次の指令による実行結果が、補助指令完了待ちテーブルにおける前記検出された補助指令に応じた前記完了待ち条件に合致するか否かを判断する完了待ち判断手段と、
前記実行結果が、前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件に合致しない場合に、前記加工プログラムにおいて順次、次の指令の実行要求を行い、前記実行結果が前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件に合致する場合は、前記加工プログラムにおいて順次、次の指令の実行要求を行わずに前記動作完了信号の受信を待機する指令実行手段と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記指令実行手段は、前記動作完了信号の受信を待機している場合において、前記動作完了信号の受信が確認された場合に、前記加工プログラムにおいて順次、次の指令の実行要求を行うこと
を特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記補助指令完了待ちテーブルは、前記補助指令と、前記完了待ち条件としての前記工具の所定の軸と、所定の軸の下限値及び上限値と、が対応付けられており、
前記完了待ち判断手段は、前記補助指令が検出された場合、検出された補助指令の次の指令の実行結果である前記工具の軸が、前記検出された補助指令に応じた前記完了待ち条件としての前記所定の軸と、合致するか否かを判断し、更に、前記工具の軸の座標値が、前記所定の下限値以上かつ上限値以下である座標範囲に含まれるか否かを判断し、
前記指令実行手段は、前記実行結果である前記軸が、前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件である前記所定の軸と、合致し、更に、前記軸の座標値が、前記所定の下限値以上かつ上限値以下である座標範囲に含まれない場合に、前記加工プログラムにおいて順次、次の指令の実行要求を行い、前記実行結果である前記軸が前記所定の軸と合致し、更に、前記軸の座標値が前記座標範囲に含まれる場合に、前記加工プログラムにおいて順次、次の指令の実行要求を行わずに前記動作完了信号の受信を待機すること
を特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記補助指令完了待ちテーブルは、前記補助指令と、前記完了待ち条件としての所定の指令と、が対応付けられており、
前記完了待ち判断手段は、前記補助指令が検出された場合、検出された補助指令の次の指令が、前記検出された補助指令に応じた前記完了待ち条件としての前記所定の指令に合致するか否かを判断し、
前記指令実行手段は、前記次の指令が、前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件である前記所定の指令に合致しない場合に、前記加工プログラムにおいて順次、次の指令の実行要求を行い、前記次の指令が、前記所定の指令に合致する場合は、前記加工プログラムにおいて順次、次の指令の実行要求を行わずに前記動作完了信号の受信を待機すること
を特徴とする請求項２に記載の数値制御装置。
【請求項５】
数値制御装置で実行される数値制御方法において、
数値制御装置は、
工作機械の工具を軸移動する指令としての移動指令と、軸移動を補助する指令としての補助指令と、を含む指令が記述された加工プログラムを記憶する加工プログラム記憶手段と、
前記補助指令と、前記指令に関する情報を前記補助指令に応じた前記工作機械からの動作完了信号を待機する条件として定めた完了待ち条件と、が対応付けられている補助指令完了待ちテーブルを記憶する補助指令完了待ちテーブル記憶手段と、
を備え、
前記加工プログラムの実行要求を受け付けることで、前記加工プログラム記憶手段に記憶されている前記加工プログラムに記載されている順番に前記指令を実行する加工プログラム実行ステップと、
前記動作完了信号を受信する完了信号受信ステップと、
実行される前記加工プログラムから前記指令を検出し、前記指令として前記補助指令が検出された場合、検出された補助指令の次の指令による実行結果が、補助指令完了待ちテーブルにおける前記検出された補助指令に応じた前記完了待ち条件に合致するか否かを判断する完了待ち判断ステップと、
前記実行結果が、前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件に合致しない場合に、前記加工プログラムにおいて順次、次の指令の実行要求を行い、前記実行結果が前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件に合致する場合は、前記加工プログラムにおいて順次、次の指令の実行要求を行わずに前記動作完了信号の受信を待機する指令実行ステップと、
を含むことを特徴とする数値制御方法。
【請求項６】
コンピュータを、
工作機械の工具を軸移動する指令としての移動指令と、軸移動を補助する指令としての補助指令と、を含む指令が記述された加工プログラムを記憶する加工プログラム記憶手段と、
前記補助指令と、前記指令に関する情報を前記補助指令に応じた前記工作機械からの動作完了信号を待機する条件として定めた完了待ち条件と、が対応付けられている補助指令完了待ちテーブルを記憶する補助指令完了待ちテーブル記憶手段と、
前記加工プログラムの実行要求を受け付けることで、前記加工プログラム記憶手段に記憶されている前記加工プログラムに記載されている順番に前記指令を実行する加工プログラム実行手段と、
前記動作完了信号を受信する完了信号受信手段と、
実行される前記加工プログラムから前記指令を検出し、前記指令として前記補助指令が検出された場合、検出された補助指令の次の指令による実行結果が、補助指令完了待ちテーブルにおける前記検出された補助指令に応じた前記完了待ち条件に合致するか否かを判断する完了待ち判断手段と、
前記実行結果が、前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件に合致しない場合に、前記加工プログラムにおいて順次、次の指令の実行要求を行い、前記実行結果が前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件に合致する場合は、前記加工プログラムにおいて順次、次の指令の実行要求を行わずに前記動作完了信号の受信を待機する指令実行手段と、
して機能させるための数値制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の工具の制御を行う数値制御装置、数値制御方法及び数値制御プログラムに関するものである。
【背景技術】
【０００２】
数値制御装置は、加工プログラムを読み込んで、数値情報による指令を工作機械に送出することによって、工作機械を制御する。加工プログラムには、ＮＣ制御軸を動作させる指令としての移動指令と、ＮＣ制御軸を動作させる指令以外の軸移動を補助する指令としての補助指令と、を含む指令がブロック単位で記述されている。
【０００３】
数値制御装置は、加工プログラムから補助指令を読み込んだ場合、補助指令に応じた処理を実行し、工作機械に数値情報による指令を送出する。そして、工作機械から、送出された指令に応じた動作完了信号を受信することによって、数値制御装置は、加工プログラムから、順次、次のブロックの読み込みを行い、読み込まれたブロックにある指令を実行する。
【０００４】
このため、従来の数値制御装置は、読み込まれたブロックに補助指令がある場合、補助指令の動作完了信号の受信を待機するため、動作完了信号が受信されるまで、加工プログラムから、次のブロックの読み込みを停止する必要があった。そのため、従来の数値制御装置は、補助指令の動作完了信号を受信せずに、順次、次のブロックの読み込みを行っても問題ない場合においても、補助指令の動作完了信号の受信を待機するため、加工プログラムの実行時間が長くなるという問題があった。
【０００５】
そのため、従来から、動作完了信号の受信を必要としない補助指令を予め登録しておき、読み込まれたブロックに動作完了信号の受信を必要としない補助指令がある場合は、補助指令の動作完了信号の受信を待機することなく、順次、次のブロックの読み込みを行い、指令を実行することで、加工プログラムの実行時間を短縮する技術が知られている（例えば、特許文献１参照）。
【０００６】
また、従来から、補助指令に対する動作完了信号の受信を待機する加工プログラムのブロックに、明示的に、補助指令の動作完了信号の待機指令を記載して、加工プログラムを実行する際に、待機指令が記載されたブロックまで、順次、加工プログラムを実行し、待機指令が記載されたブロックで、動作完了信号の受信を待機する技術が知られている（例えば、特許文献２参照）。
【０００７】
しかしながら、特許文献１に開示された発明では、加工プログラムから、動作完了信号の受信を必要とする補助指令を実行した場合には、読み込んだブロックにおいて動作完了信号を待機するために、加工プログラムの実行時間が長くなってしまうという問題がある。
【０００８】
また、特許文献２に開示された発明では、動作完了信号の待機指令が、新たに加工プログラムに記載されるため、数値制御装置に、新たに、動作完了信号の待機指令を解釈し実行する機能を付加する必要があるという問題がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開昭６２-１８９５０６号公報
【特許文献２】特開２００７−３１０４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、上記に鑑みてなされたものであって、加工プログラムから、動作完了信号の受信を必要とする補助指令を読み込んだ場合においても、追加の機能を必要とせず、読み込んだブロックにおいて動作完了信号を待機することなく、加工プログラムの実行時間を短縮することのできる数値制御装置、数値制御方法及び数値制御プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、工作機械の工具を軸移動する指令としての移動指令と、軸移動を補助する指令としての補助指令と、を含む指令が記述された加工プログラムを記憶する加工プログラム記憶手段と、前記補助指令と、前記指令に関する情報を前記補助指令に応じた前記工作機械からの動作完了信号を待機する条件として定めた完了待ち条件と、が対応付けられている補助指令完了待ちテーブルを記憶する補助指令完了待ちテーブル記憶手段と、前記加工プログラムの実行要求を受け付けることで、前記加工プログラム記憶手段に記憶されている前記加工プログラムに記載されている順番に前記指令を実行する加工プログラム実行手段と、前記動作完了信号を受信する完了信号受信手段と、実行される前記加工プログラムから前記指令を検出し、前記指令として前記補助指令が検出された場合、検出された補助指令の次の指令による実行結果が、補助指令完了待ちテーブルにおける前記検出された補助指令に応じた前記完了待ち条件に合致するか否かを判断する完了待ち判断手段と、前記実行結果が、前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件に合致しない場合に、前記加工プログラムにおいて順次、次の指令の実行要求を行い、前記実行結果が前記完了待ち条件において前記実行要求を行った補助指令に応じた前記完了待ち条件に合致する場合は、前記加工プログラムにおいて順次、次の指令の実行要求を行わずに前記動作完了信号の受信を待機する指令実行手段と、を備えたことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、加工プログラムから、動作完了信号の受信を必要とする補助指令を読み込んだ場合においても、追加の機能を必要とせず、読み込んだブロックにおいて動作完了信号を待機することなく、加工プログラムの実行時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施の形態１にかかるＮＣ装置及び工作機械の構成を示すブロック図の一例を示す図である。
【図２】図２は、加工プログラム１０１とシーケンスプログラム１０２の関係を示す説明図である。
【図３】図３は、Ｍコード完了待ちテーブルの構造を示した図である。
【図４】図４は、実施の形態１にかかるＮＣ装置１００による指令実行部１１７の指令実行の処理手順を示すフローチャートである。
【図５】図５は、実施の形態１の変形例にかかるＭコード完了待ちテーブルの構造を示した図である。
【発明を実施するための形態】
【００１４】
以下に、実施の形態１にかかる数値制御装置（以下、ＮＣ装置という）の実施の形態を図面に基づいて詳細に説明する。
【００１５】
実施の形態１．
図１は、実施の形態１にかかるＮＣ装置及び工作機械の構成を示すブロック図の一例を示す図である。
【００１６】
ＮＣ装置１００は、工作機械１３０と接続されている。また、ＮＣ装置１００は入出力装置１４０と接続されている。
【００１７】
工作機械１３０は、主軸モータ１３１と、主軸アンプ１３２と、サーボモータ１３３と、サーボアンプ１３４と、ツールチェンジャー１３５と、ポジションセンサ１３６と、油圧機器１３７と、空気圧機器１３８と、を備えている。
【００１８】
工作機械１３０は、工作対象物としてのワークを、目的の形状、寸法、表面状態に加工する機械である。主軸アンプ１３２は、主軸モータ１３１を駆動させることにより主軸を回転させる。また、主軸モータ１３１は、主軸アンプ１３２により制御される主軸を回転駆動するモータである。サーボアンプ１３４は、サーボモータ１３３を駆動する。また、サーボモータ１３３は、サーボアンプ１３４により工具の位置や速度の制御を行う。具体的には、サーボモータ１３３は、ツールチェンジャー１３５を動作させる。ツールチェンジャー１３５は、ツールの交換を行う。ポジションセンサ１３６は、ツールチェンジャー１３５の位置を検出することにより、工具の位置を検出する。油圧機器１３７は、油圧ポンプにより油圧モータを駆動することで機器の制御を行う。空気圧機器１３８は、圧縮した空気の圧力を利用し機器の制御を行う。
【００１９】
ＮＣ装置１００は、記憶部１２７から加工プログラム１０１を読み込み、工作機械１３０を操作するための指令を発生させ、工作機械１３０の制御を行う。ＮＣ装置１００は、サーボ・主軸通信インタフェース部１２０と、指令送出部１２１と、入出力信号インタフェース部１２５と、記憶部１２７と、加工プログラム実行部１１５と、シーケンスインタフェース部１０４と、シーケンス処理部１０３と、を備えている。
【００２０】
サーボ・主軸通信インタフェース部１２０は、ＮＣ装置と、工作機械のサーボアンプ及び主軸アンプと、の通信インタフェースである。入出力信号インタフェース部１２５は、工作機械のポジションセンサからＮＣ装置への入力信号と、ＮＣ装置から工作機械の油圧機器および空気圧機器への出力信号と、の通信を担う通信インタフェースである。シーケンスインタフェース部１０４は、シーケンス処理部１０３と、工作機械と、の通信を担う通信インタフェースである。
【００２１】
記憶部１２７は、パラメータ１１０と、加工プログラム１０１と、シーケンスプログラム１０２と、を記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やメモリ等の記憶媒体である。
【００２２】
加工プログラム１０１は、工作機械の工具を軸移動する指令としての移動指令と、軸移動を補助する指令としての補助指令と、を含む指令がブロック単位で順番に記述されている。補助指令の一例としてＭコードが挙げられる。Ｍコードとは、主軸の回転や停止、切削油の供給／停止などの補助動作の指令である。シーケンスプログラム１０２は、Ｍコードの処理手順が記載されている。
【００２３】
図２は、加工プログラム１０１とシーケンスプログラム１０２の関係を示す説明図である。Ｍコードデータ３２０は、加工プログラム１０１からシーケンスプログラム１０２に送出される、Ｍコードのデータを示す。シーケンスプログラム１０２は、Ｍコードデコード処理ブロック３１１、Ｍ９コード処理ブロック３１２、Ｍ９コード完了チェックブロック３１３を主に含んでいる。Ｍコードデコード処理ブロック３１１は、加工プログラム１０１に記述されているＭコードデータ３２０を解釈し、この場合、Ｍコード「Ｍ９」が出力されたことを判断するプログラムが記述されている。Ｍ９コード処理ブロック３１２は、Ｍコード「Ｍ９」に応じた処理を実行するプログラムが記述されている。また、Ｍコード完了チェックブロック３１３は、Ｍコード「Ｍ９」に応じた工作機械からのＭコード完了信号の受信が完了したか否か判断するプログラムが記述されている。また、Ｍコード完了信号３２１は、シーケンスプログラム１０２から加工プログラム１０１に送出される、Ｍコードの動作完了信号である。
【００２４】
パラメータ１１０は、ＮＣ装置が工作機械を制御するために必要な設定値を記憶する記憶部である。パラメータ１１０の一つとして、Ｍコード完了待ちテーブル１１１がある。
【００２５】
図３は、Ｍコード完了待ちテーブルの構造を示した図である。本図に示すように、Ｍコード完了待ちテーブルは、対象Ｍコードと、軸と、下限値と、上限値とを対応付けて保持している。
【００２６】
Ｍコード完了待ち条件とは、Ｍコードに関する情報をＭコードに応じた工作機械からのＭコード完了信号を待機する条件として定めたものである。
【００２７】
ここで、実施の形態１にかかるＭコード完了待ち条件は、Ｍコードに応じたＭコード完了待ちテーブルの軸、および、軸に応じたＭコード完了待ちテーブルの下限値以上かつ上限値以下で定められる座標範囲である。
【００２８】
図３において、対象Ｍコードは、実行するブロックでＭコード完了信号を待機する必要がないＭコードを示す。軸は、工作機械の工具の動作対象となる軸を示し、Ｍコード完了待ちテーブルで保持することによって、軸と、対象Ｍコードで特定されるＭコードによって動作する工作機械の工具の軸と、の合致の判断に使用することができる。
【００２９】
また、図３において、下限値は、工作機械の工具の軸の動作範囲である下限値を示す。また、図３において、上限値は、工作機械の工具の軸の動作範囲である上限値を示す。下限値及び上限値は、Ｍコード完了待ちテーブルで保持することによって、対象Ｍコードで特定されるＭコードによって動作する工作機械の工具の軸の座標値が、下限値以上かつ上限値以下で定められる座標範囲に存在するか否かの判断に使用することができる。
【００３０】
つまり、図３のＭコード完了待ちテーブルにおけるＭコード完了待ち条件に合致する場合とは、Ｍコードによって動作する工作機械の工具の軸と、Ｍコードに応じたＭコード完了待ちテーブルの軸とが合致して、かつ、工作機械の工具の軸の座標値が、軸に応じたＭコード完了待ちテーブルの下限値以上かつ上限値以下で定められる座標範囲に含まれる場合である。
【００３１】
入出力装置１４０は、表示装置、キーボードなどのマンマシンインタフェース部である。入出力装置１４０は、パラメータ１１０、加工プログラム１０１、シーケンスプログラム１０２の表示および編集を行う。
【００３２】
加工プログラム実行部１１５は、数値制御装置の動作要求を受け付けるＣＰＵ（図示せず）からの加工プログラムの実行要求を受け付けることで、記憶部１２７に記憶されている加工プログラムのブロックを記載されている順番に読み込み、読み込んだブロックに記述された指令を実行する。
【００３３】
加工プログラム実行部１１５は、完了待ち判断部１１６と、指令実行部１１７と、を備えている。
【００３４】
完了待ち判断部１１６は、実行される加工プログラムのブロックから指令を検出し、指令としてＭコードが検出された場合、まず、Ｍコード完了待ちテーブル１１１の対象Ｍコードから、検出されたＭコードを検索する。そして、完了待ち判断部１１６は、検索されたＭコードに応じたＭコード完了待ちテーブル１１１のＭコード完了待ち条件を読み出す。完了待ち判断部１１６は、検出されたＭコードの次の指令による実行結果が、読み出されたＭコード完了待ち条件に合致するか否かを、判断する。
【００３５】
例えば、図３を用いて説明する。完了待ち判断部１１６は、Ｍコード「Ｍ９」が検出された場合、まず図３のＭコード完了待ちテーブルの対象Ｍコードから、検出されたＭコード「Ｍ９」を検索する。
【００３６】
そして、完了待ち判断部１１６は、Ｍコード「Ｍ９」に応じたＭコード完了待ちテーブルの軸を読み出して、読み出されたＭコード完了待ちテーブルの軸「Ｘ軸」と、検出されたＭコード「Ｍ９」の次の指令による実行結果である工具の軸と、が合致するか否かを、Ｍコード完了待ち条件として判断する。
【００３７】
そして、完了待ち判断部１１６は、上記の工具の軸が、読み出されたＭコード完了待ちテーブルの所定の軸「Ｘ軸」と合致した場合、Ｍコード「Ｍ９」に応じたＭコード完了待ちテーブルの軸「Ｘ軸」の下限値及び上限値を読み出し、検出されたＭコード「Ｍ９」の次の指令による実行結果である工具の軸の座標値が、読み出された下限値「２０．０００」以上かつ上限値「３０．０００」以下の座標範囲に含まれるか否かを、判断する。
【００３８】
指令実行部１１７は、検出されたＭコードの次の指令による実行結果が、Ｍコード完了待ちテーブル１１１のＭコード完了待ち条件において実行要求を行ったＭコードに応じたＭコード完了待ち条件に合致しない場合に、加工プログラムにおいて順次、次のブロックを読み込み、読み込んだブロックにある指令の実行要求を行う。また、指令実行部１１７は、検出されたＭコードの次の指令による実行結果が、Ｍコード完了待ちテーブル１１１のＭコード完了待ち条件において実行要求を行ったＭコードに応じたＭコード完了待ち条件に合致する場合は、加工プログラムにおいて順次、次に読み込まれるブロックの指令の実行要求を行うことなく、Ｍコード完了信号の受信を待機するために、ブロックの読み込みを停止する。
【００３９】
また、指令実行部１１７は、検出されたＭコードに応じたＭコード完了信号の受信を待機している場合において、完了信号受信部１１８によって、検出されたＭコードに応じたＭコード完了信号の受信が確認された場合に、加工プログラムから、順次、次のブロックを読み込み、読み込んだブロックにある指令の実行要求を行う。
【００４０】
例えば、図３を用いて、Ｍコード「Ｍ９」が検出された例を、図３のＭコード完了待ちテーブルを参照して説明する。指令実行部１１７は、検出されたＭコード「Ｍ９」の次の指令による実行結果である軸と、検出されたＭコード「Ｍ９」に応じたＭコード完了待ちテーブルのＭコード完了待ち条件である所定の軸「Ｘ軸」と合致しない場合、加工プログラムにおいて順次、次のブロックを読み込み、読み込んだブロックにある指令の実行要求を行う。また、指令実行部１１７は、実行結果である軸と、Ｍコード完了待ち条件である所定の軸「Ｘ軸」と、が合致した場合であって、更に、実行結果である軸の座標値が、所定の軸の下限値「２０．０００」以上かつ上限値「３０．０００」以下の座標範囲に含まれない場合には、加工プログラムにおいて順次、次のブロックを読み込み、読み込んだブロックにある指令の実行要求を行う。
【００４１】
また、指令実行部１１７は、実行結果である軸と、所定の軸「Ｘ軸」と、が合致し、更に、合致した場合の軸の座標値が、所定の軸の下限値「２０．０００」以上かつ上限値「３０．０００」以下の座標範囲に含まれる場合は、加工プログラムにおいて順次、次に読み込まれるブロックの指令の実行要求を行うことなく、Ｍコード完了信号の受信を待機するために、ブロックの読み込みを停止する。
【００４２】
また、指令実行部１１７は、検出されたＭコード「Ｍ９」に応じたＭコード完了信号の受信を待機している場合において、完了信号受信部１１８によって、検出されたＭコード「Ｍ９」に応じたＭコード完了信号の受信が確認された場合に、加工プログラムから、順次、次のブロックを読み込み、読み込んだブロックにある指令の実行要求を行う。
【００４３】
シーケンス処理部１０３は、加工プログラム実行部１１５によってＭコードが検出された場合に、シーケンスプログラム１０２を読み込み、Ｍコードの処理を行う。具体的には、シーケンス処理部１０３は、検出されたＭコードを参照し、参照されたＭコードに応じた工作機械を制御する処理を、数値情報による指令として、指令送出部１２１に送出する。
【００４４】
シーケンス処理部１０３は、完了信号受信部１１８を備えている。完了信号受信部１１８は、検出されたＭコードに応じた実行指令が工作機械により実行されることによって、工作機械からのＭコード完了信号を、入出力信号インタフェース部１２５と、シーケンスインタフェース部１０４と、を介して受信する。
【００４５】
指令送出部１２１は、工作機械を制御する処理を、数値情報による指令として、サーボ・主軸通信インタフェース部１２０を介して、工作機械に送出する。指令送出部１２１は、加工プログラム実行部１１５からの加工プログラムによる移動指令を受け付ける。また、指令送出部１２１は、シーケンス処理部１０３からシーケンスインタフェース部１０４を介して、主軸の正転指令、逆転指令、ＰＬＣ軸の移動指令等の数値情報による指令を受け付ける。指令送出部１２１は、受け付けた指令を数値情報による指令として、工作機械に送出する。また、指令送出部１２１は、工作機械のサーボ軸及び主軸の状態を、加工プログラム実行部１１５と、シーケンスインタフェース部と、に対して通知する。よって、シーケンスインタフェース部に通知された工作機械のサーボ軸及び主軸の状態は、シーケンス処理部に通知される。
【００４６】
指令送出部１２１は、ＮＣ軸指令送出部１２２と、主軸指令送出部１２３と、補助軸指令送出部１２４と、を備えている。ＮＣ軸指令送出部１２２は、ＮＣ軸に対する動作指令を、工作機械に送出する。主軸指令送出部１２３は、主軸に対する動作指令を、工作機械に送出する。補助軸指令送出部１２４は、ＰＬＣ軸に対する動作指令を、工作機械に送出する。
【００４７】
図４は、Ｍコードが検出された場合における、指令実行部１１７の指令実行の処理手順を示すフローチャートである。
【００４８】
ここで、図２に示されている加工プログラムと、図３に示されているＭコード完了待ちテーブルと、を例に挙げて説明する。
【００４９】
まず、指令実行部１１７は、加工プログラム実行部１１５により検出されたＭコードを、Ｍコード完了待ちテーブル１１１の対象Ｍコードから検索して、検出されたＭコードがＭコード完了待ちテーブル１１１の対象Ｍコードに存在するか否か判断する（ステップＳ４０１）。
【００５０】
ここで、検出されたＭコードを、Ｍコード完了待ちテーブル１１１の対象Ｍコードから検索した結果、検出されたＭコードが、Ｍコード完了待ちテーブル１１１の対象Ｍコードに存在しないと判断した場合（ステップＳ４０１：Ｎｏ）、従来のＭコード待ち処理と同様の流れになり、指令実行部１１７は、Ｍコード完了信号を受信待ち状態となる（ステップＳ４０２）。加工プログラム実行部１１５により検出されたＭコードがＭコード完了待ちテーブル１１１の対象Ｍコードに存在しない場合の指令実行部１１７の動作は、Ｍコードが検出されたブロックでＭコード完了信号を待機するため、従来の指令実行の処理と変わらない。
【００５１】
ここで、Ｍコード完了信号を受信していないと判断した場合（ステップＳ４０２：Ｎｏ）、指令実行部１１７は、ステップ１０２の処理を繰り返す。つまり、Ｍコード完了信号の受信待ち状態となる。
【００５２】
また、Ｍコード完了信号を受信したと判断した場合（ステップＳ４０２：Ｙｅｓ）、指令実行部１１７は、実行中ブロックが動作完了したか否かを判断する（ステップＳ４０３）。
【００５３】
また、実行中ブロックが動作完了していないと判断した場合（ステップＳ４０３：Ｎｏ）、指令実行部１１７は、ステップＳ４０３の処理を繰り返す。つまり、実行中ブロックの動作完了の待ち状態となる。
【００５４】
また、実行中ブロックが動作完了したと判断した場合（ステップＳ４０３：Ｙｅｓ）、指令実行部１１７は、次ブロックの実行を行う（ステップＳ４０４）。このように、従来の指令実行の処理を行うことができる。
【００５５】
一方、ステップ４０１において検出されたＭコードを、Ｍコード完了待ちテーブル１１１の対象Ｍコードから検索した結果、検出されたＭコードが、Ｍコード完了待ちテーブル１１１の対象Ｍコードに存在したと判断した場合（ステップＳ４０１：Ｙｅｓ）、指令実行部１１７は、検出されたＭコードに応じたＭコード完了信号を受信待ち状態になる（ステップＳ４０５）。
【００５６】
ここで、図２を用いて説明する。ここでは、Ｍコード「Ｍ９」は、ＰＬＣ軸で制御するツールチェンジャー１３５を動作させることによって工具交換を行う目的で使用されるものとして説明する。ＮＣ装置は、工具交換が完了する前に「Ｘ軸」の座標値が「２０．０００」以上「３０．０００」以下である場合、工作機械の動作に問題が発生し、また、「Ｘ軸」の座標値が上記の条件を満たさない場合、工作機器の動作には特に問題が発生することなく、他の移動指令を実行することができる。
【００５７】
図２の加工プログラム１０１のＮ２０に検出されたＭコード「Ｍ９」が、図３のＭコード完了待ちテーブル１１１の対象Ｍコードに存在した場合は、シーケンス処理部１０３は、Ｍコードデータ３２０を解釈して「Ｍ９」が出力されたことを判断し、ツールチェンジャー１３５を動作させるためのシーケンスの処理を実行する。シーケンスの処理の一例として、Ｍコードと、Ｍコードに応じた工作機械に送出する動作指令と、が対応付けられているテーブルを記憶部に記憶させておき、このテーブルを参照することで、シーケンス処理部１０３により解釈されたＭコードに応じて、工作機械に送出する動作指令を取得することなどが考えられる。そして、シーケンスインタフェース部１０４を介して、指令送出部１２１にツールチェンジャー１３５に接続されたサーボモータ１３３を動作させる命令を送出する。
【００５８】
そして、補助軸指令送出部１２４は、受け付けた指令にしたがって、サーボモータ１３３を動作するための指令を、サーボ・主軸通信インタフェース部１２０を介して、サーボアンプ１３４に送出する。サーボアンプ１３４は、サーボモータ１３３を動作させることにより、工具交換を行うツールチェンジャー１３５を動作させる。
【００５９】
また、Ｍコード完了信号を受信したと判断した場合（ステップＳ４０５：Ｙｅｓ）、指令実行部１１７は、ステップＳ４０３の処理に進み、従来のＭコード待ち処理を行う。
【００６０】
つまり、ツールチェンジャー１３５を工具交換の完了位置まで動作させた場合、接続されているポジションセンサ１３６がＯＮ状態になることで、ＯＮ状態の情報が入出力信号インタフェース部１２５及びシーケンスインタフェース部１０４を介して、シーケンス処理部１０３に送出される。シーケンス処理部１０３は、Ｍコード「Ｍ９」に応じた工作機械からのＭコード完了信号を受信したか否か判断する。受信したと判断した場合、シーケンスインタフェース部１０４を介して、Ｍコード完了信号３２１を加工プログラム実行部１１５に通知する。
【００６１】
一方、ステップＳ４０５において、Ｍコード完了信号を受信していないと判断した場合（ステップＳ４０５：Ｎｏ）、指令実行部１１７は、実行中ブロックが動作完了したか否かを判断する（ステップＳ４０６）。つまり、図２を用いて説明すると、図２の「Ｍ９」に応じた工具交換が完了していない場合、Ｍコード完了信号３２１は通知されていないので、ブロックＮ２０が完了したか否かを判断する。
【００６２】
ここで、実行中ブロックが動作完了していないと判断した場合（ステップＳ４０６：Ｎｏ）、指令実行部１１７は、ステップ１０５の処理に戻る。
【００６３】
また、実行中ブロックが動作完了したと判断した場合（ステップＳ４０６：Ｙｅｓ）、完了待ち判断部１１６は、Ｍコード完了待ちテーブル１１１の対象Ｍコードから検索されたＭコードに応じた、Ｍコード完了待ちテーブル１１１のＭコード完了待ち条件を読み出す。そして、完了待ち判断部１１６は、検出されたＭコードの次の指令による実行結果が、読み出されたＭコード完了待ちテーブル１１１のＭコード完了待ち条件に合致するか否かを、判断する（ステップ４０７）。
【００６４】
ここで、図２を用いて説明する。図２のブロックＮ２０は「Ｍ９」のみであり、その他の指令が存在しないので、指令実行部１１７は、実行中ブロック完了と判断する。そして、完了待ち判断部１１６は、ブロックＮ３０の実行結果である工具の軸と、対象ＭコードとしてのＭコード「Ｍ９」に応じたＭコード完了待ちテーブル１１１の軸「Ｘ軸」と、が合致するか否か判断し、合致した場合、更に、Ｍコード完了待ちテーブルの軸「Ｘ軸」の下限値「２０．０００」及び上限値「３０．０００」を読み出し、実行結果である工具の軸の座標値が、下限値「２０．０００」以上かつ上限値「３０．０００」以下の座標範囲に含まれるか否かを、Ｍコード完了待ち条件として判断する。
【００６５】
そして、検出されたＭコードの次ブロックによる実行結果が、読み出されたＭコード完了待ちテーブル１１１のＭコード完了待ち条件に合致したと判断した場合（ステップ４０７：Ｙｅｓ）、指令実行部１１７は、ステップＳ４０５の処理に戻る。
【００６６】
また、検出されたＭコードの次ブロックによる実行結果が、読み出されたＭコード完了待ちテーブル１１１のＭコード完了待ち条件に合致していないと判断した場合（ステップ４０７：Ｎｏ）、指令実行部１１７は、次ブロックの実行を行う（ステップＳ４０８）。そして、指令実行部１１７は、ステップ１０５の処理に戻る。
【００６７】
つまり、図２を用いて説明すると、ブロックＮ３０は、ブロックＮ３０の軸は「Ｚ軸」であり、軸の座標値は「２０」である。ここで、Ｍコードに応じた工作機械からのＭコード完了信号を待機するか否かをＭコード完了待ち条件により判断する。この場合、ブロックＮ３０の実行結果である工具の軸「Ｚ軸」と、対象ＭコードとしてのＭコード「Ｍ９」に応じたＭコード完了待ちテーブル１１１の軸「Ｘ軸」と、が合致しない。そのため、指令実行部１１７は、Ｍコード完了信号３２１の完了を待たずに、ステップＳ４０８に進み、ブロックＮ３０を実行する（ステップＳ４０８）。
【００６８】
そして、Ｍコード完了信号の受信を確認しつつ、ステップＳ４０５とステップＳ４０６を繰り返すことで、指令実行部１１７は、ブロックＮ３０でＭコード完了信号を待機する。そして、「Ｚ軸」の座標値が「２０．０００」となることでブロックＮ３０を完了と判断し、ステップＳ４０７に進み、完了待ち判断部１１６は、ブロックＮ４０を確認する。
【００６９】
ここで、ブロックＮ４０の軸は「Ｘ軸」であり、軸の座標値は「−１０」である。ここで、Ｍコードに応じた工作機械からのＭコード完了信号を待機するか否かをＭコード完了待ち条件として判断する。この場合、ブロックＮ４０の実行結果である工具の軸「Ｘ軸」と、対象ＭコードとしてのＭコード「Ｍ９」に応じたＭコード完了待ちテーブル１１１の軸「Ｘ軸」と、が合致する。そのため、更に、ブロックＮ４０の実行結果である工具の軸の座標値「−１０」が、Ｍコード完了待ちテーブル１１１の軸「Ｘ軸」に対応する下限値及び上限値を読み出し、下限値「２０．０００」以上かつ上限値「３０．０００」以下の座標範囲に含まれるか否かを、Ｍコード完了待ち条件として判断する。この場合、ブロックＮ４０の実行結果である工具の軸の座標値「−１０」が、上記のＭコード完了待ち条件に合致しない。
【００７０】
そのため、ステップＳ４０７において、完了待ち判断部１１６により、ブロックＮ４０が実行できると判断されることで、ステップＳ４０８に進み、指令実行部１１７は、ブロックＮ４０を実行する。ブロックＮ４０の実行が完了すると、完了待ち判断部１１６は、ブロックＮ５０を確認する。
【００７１】
ここで、ブロックＮ５０の軸は「Ｙ軸」であり、軸の座標値は「３０」である。ここで、Ｍコードに応じた工作機械からのＭコード完了信号を待機するか否かをＭコード完了待ち条件により判断する。この場合、ブロックＮ３０を確認した際の処理と同様に、Ｍコード完了待ち条件に合致しない。そのため、ステップＳ４０７において、完了待ち判断部１１６により、ブロックＮ５０も実行できると判断されることで、ステップＳ４０８に進み、指令実行部１１７は、ブロックＮ５０を実行する。ブロックＮ５０の実行が完了すると、ステップＳ４０７において、完了待ち判断部１１６は、ブロックＮ６０を確認する。
【００７２】
ここで、ブロックＮ６０の軸は「Ｘ軸」であり、軸の座標値は「２５」である。ここで、Ｍコードに応じた工作機械からのＭコード完了信号を待機するか否かをＭコード完了待ち条件により判断する。この場合、ブロックＮ６０の実行結果である工具の軸「Ｘ軸」と、対象ＭコードとしてのＭコード「Ｍ９」に応じたＭコード完了待ちテーブル１１１の軸「Ｘ軸」と、が合致する。そのため、更に、ブロックＮ６０の実行結果である工具の軸の座標値「２５」が、Ｍコード完了待ちテーブル１１１の軸「Ｘ軸」に対応する下限値及び上限値を読み出し、下限値「２０．０００」以上かつ上限値「３０．０００」以下の座標範囲に含まれるか否かを、Ｍコード完了待ち条件として判断する。この場合、ブロックＮ６０の実行結果である工具の軸の座標値「２５」が、上記のＭコード完了待ち条件に合致する。そのため、ステップＳ４０７において、完了待ち判断部１１６により、ブロックＮ６０を実行しないと判断されることで、ステップＳ４０５に戻り、指令実行部１１７は、ブロックＮ５０でＭコード完了信号３２１を待機する。
【００７３】
Ｍコード完了信号を受信した場合、ステップＳ４０３で、ブロックＮ５０の移動指令が完了していることを確認し、ステップＳ４０４に進み、指令実行部１１７は、ブロックＮ６０を実行する。
【００７４】
これにより、Ｍコードが検出された場合における指令実行部１１７の指令実行の処理を終了することができる。
【００７５】
つまり、従来は、ブロックＮ２０で工具交換の処理の完了を待機していたが、実施の形態１における指令実行部１１７による指令実行の処理を行うことにより、ブロックＮ５０までプログラムの実行を進め、工具交換の処理と、ブロックＮ３０からブロックＮ５０までの移動処理と、を平行して実行することができた。それによって、ブロックＮ３０からブロックＮ５０までの実行にかかる時間を短縮することができた。
【００７６】
また、実施の形態１にかかるＮＣ装置１００においては、Ｍコード「Ｍ９」を用いて説明したが、その他のＭコードについても適用することができる。また、上記の実施例では、「Ｘ軸」の場合について説明したが、他の軸についても適用することができる。また、上記の実施例では、Ｍコード完了待ち条件が１つのみ登録されている場合を示したが、図３におけるＭコード完了待ちテーブルの対象ＭコードにおけるＭコード「Ｍ２０」のように、複数の条件を登録することもできる。同様に上記の実施例では、工具交換を実行するＭコードについて説明したが、油圧機器１３７、空気圧機器１３８など、その他の工作機械の構成要素を動作の対象としたＭコードについても適用できる。
【００７７】
このように、本実施の形態では、ＮＣ装置１００における完了待ち判断部１１６によって実行される加工プログラムのブロックからＭコードが検出された場合、新たに動作完了信号の待機指令を解釈し実行するための機能をＮＣ装置に付加せずに、Ｍコード完了待ち条件を、Ｍコードに応じたＭコード完了待ちテーブルの軸、および、軸に応じたＭコード完了待ちテーブルの下限値以上かつ上限値以下で定められる座標範囲と定め、このＭコード完了待ち条件に合致するまで加工プログラムの実行を行うことによって、加工プログラムの実行時間を短縮し、加工時間を短縮することができた。
【００７８】
実施の形態１の変形例．
また、上記においては、Ｍコード完了待ちテーブルのＭコード完了待ち条件を、所定の軸と所定の軸の下限値及び上限値としていたが、Ｍコード完了待ち条件として、Ｍコード、Ｇコード、Ｔコードなどを設定することもできる。Ｇコードとは、加工の方法や各軸の動き方などの準備動作の指令である。Ｔコードとは、工具交換などの準備動作の指令である。
【００７９】
この場合、実施の形態１の変形例にかかるＭコード完了待ちテーブルは、対象Ｍコードと、完了待ち指令と、を対応付けて保持している。実施の形態１の変形例にかかるＭコード完了待ち条件は、対象ＭコードにおけるＭコードに応じたＭコード完了待ちテーブルの完了待ち指令である。
【００８０】
図５は、実施の形態１の変形例にかかるＭコード完了待ちテーブルの構造を示した図である。本図に示すように、Ｍコード完了待ちテーブルは、対象Ｍコードと、完了待ち指令と、を対応付けて保持している。
【００８１】
図５において、完了待ち指令は、工作機械の準備動作の指令を示す。完了待ち指令は、Ｍコード完了待ちテーブルで保持することによって、対象Ｍコードを検出したブロックの次のブロックに記述される指令と、Ｍコードに応じたＭコード完了待ちテーブルの完了待ち指令と、の合致の判断に使用することができる。
【００８２】
つまり、図５のＭコード完了待ちテーブルにおけるＭコード完了待ち条件に合致する場合とは、検出されたＭコードの次の指令と、検出されたＭコードに応じたＭコード完了待ちテーブルの完了待ち指令とが合致する場合である。
【００８３】
そして、完了待ち判断部１１６は、Ｍコードが検出された場合、検出されたＭコードをＭコード完了待ちテーブルの対象Ｍコードから検索する。そして、完了待ち判断部１１６は、検索されたＭコードに応じて、Ｍコード完了待ち条件としての所定の指令を読み込む。これにより、完了待ち判断部１１６は、検出されたＭコードの次の指令が、読み込まれた所定の指令と、合致するか否かを判断する。
【００８４】
実施の形態１の変形例にかかる指令実行部１１７は、検出されたＭコードの次の指令が、Ｍコード完了待ち条件として読み込まれた所定の指令と合致しない場合に、加工プログラムにおいて順次、次のブロックを読み込み、読み込んだブロックにある指令の実行要求を行う。また、指令実行部１１７は、検出されたＭコードの次の指令が、読み込まれた所定の指令と合致する場合は、加工プログラムにおいて順次、次に読み込まれるブロックの指令の実行要求を行うことなく、ブロックの読み込みを停止することで、Ｍコード完了信号の受信を待機する。そして、指令実行部１１７は、Ｍコード完了信号の受信を待機している場合において、完了信号受信部１１８によってＭコード完了信号の受信が確認された場合に、加工プログラムにおいて順次、次のブロックを読み込み、読み込んだブロックにある指令の実行要求を行う。
【００８５】
ここで、実施の形態１と同様に、図２、図４を用いて説明する。図２において、加工プログラム１１０のＮ２０に検出されたＭコード「Ｍ９」に応じたＭコード完了待ち条件として、「Ｍ２５」が設定されている。つまり、図４のブロックＮ２０においてＭコード「Ｍ９」が検出された場合、実施の形態１と同様に、指令実行部１１７は、図４のステップＳ４０１〜Ｓ４０６と同様の処理を行う。そして、完了待ち判断部１１６は、ブロックＮ２０の動作完了後に、ステップＳ４０７と同様に、次ブロックであるブロックＮ３０が、Ｍコード完了待ち条件としての完了待ち指令である「Ｍ２５」と合致するか否かを判断する処理を行う。この場合、ブロックＮ３０は「Ｚ２０」であり、完了待ち指令である「Ｍ２５」と合致しないため、ステップＳ４０７指令実行部１１７は、ステップＳ４０８と同様に指令実行の処理を行うことができる。
【００８６】
このように、実施の形態１の変形例にかかるＮＣ装置１００における完了待ち判断部１１６によって実行される加工プログラムのブロックからＭコードが検出された場合、新たに動作完了信号の待機指令を解釈し実行するための機能をＮＣ装置に付加せずに、Ｍコード完了待ち条件を、Ｍコードに応じたＭコード完了待ちテーブルの完了待ち指令と定め、このＭコード完了待ち条件に合致するまで加工プログラムの実行を行うことによって、加工プログラムの実行時間を短縮し、加工時間を短縮することができた。
【００８７】
本実施の形態の数値制御装置は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００８８】
本実施の形態の数値制御装置で実行される数値制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００８９】
さらに、本実施の形態の数値制御装置で実行される数値制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の数値制御装置で実行される数値制御プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９０】
また、本実施の形態の数値制御プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００９１】
本実施の形態の数値制御装置で実行される数値制御プログラムは、上述した各部（加工プログラム実行部、シーケンス処理部、記憶部など）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから数値制御プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、加工プログラム実行部、シーケンス処理部、記憶部などが主記憶装置上に生成されるようになっている。
【００９２】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。本発明の実施態様は、以上に説明したような特定の実施の形態に限定されるものではない。
【符号の説明】
【００９３】
１００  ＮＣ装置
１０１  加工プログラム
１０２  シーケンスプログラム
１０３  シーケンス処理部
１０４  シーケンスインタフェース部
１１０  パラメータ
１１５  加工プログラム実行部
１１６  完了待ち判断部
１１７  指令実行部
１２０  サーボ・主軸通信インタフェース部
１２１  指令送出部
１２２  ＮＣ軸指令送出部
１２３  主軸指令送出部
１２４  補助軸指令送出部
１２５  入出力信号インタフェース部
１２７  記憶部
１３０  工作機械
１３１  主軸モータ
１３２  主軸アンプ
１３３  サーボモータ
１３４  サーボアンプ
１３５  ツールチェンジャー
１３６  ポジションセンサ
１３７  油圧機器
１３８  空気圧機器
１４０  入出力装置
３２０  Ｍコードデータ
３２１  Ｍコード完了信号
【図１】
2011039701.tif 000003
【図２】
2011039701.tif 000004
【図３】
2011039701.tif 000005
【図４】
2011039701.tif 000006
【図５】
2011039701.tif 000007