(57)【特許請求の範囲】
【請求項１】
加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、
前記ワークの加工範囲を指定し登録する指定範囲登録部と、
前記加工プログラムのブロックを解析し、該ブロックの工具の移動経路が、前記登録された加工範囲の境界と交点を持つかどうかを判定する指定範囲通過ブロック判別部と、
該指定範囲通過ブロック判別部により前記加工プログラムの現在解析中のブロックが前記登録された加工範囲の境界と交点を持つブロックであると判別された場合に、該ブロックの前記プログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、
を有することを特徴とするプログラム再開機能を備えた数値制御装置。
【請求項２】
請求項１記載の指定範囲通過ブロック判別部は、加工プログラムのブロックを解析し、該ブロックの工具の移動経路に工具の先端の位置を補正した工具先端点により判別可能としたことを特徴とする請求項１に記載のプログラム再開機能を備えた数値制御装置。
【請求項３】
前記プログラム再開ブロックデータ取得部は、前記指定範囲通過ブロック判別部により前記加工プログラムのブロックが前記指定範囲登録部に登録された範囲の境界を通過したブロックであると判別された場合に、該ブロックとともに、該ブロックの直前のブロック及び該ブロックの直後のブロックの前記プログラム再開ブロックデータをまとめて取得することを特徴とする請求項１に記載のプログラム再開機能を備えた数値制御装置。
【請求項４】
前記プログラム再開ブロックデータ取得部により取得された複数のプログラム再開ブロックデータを一覧表示する一覧表示部と、
該一覧表示されたプログラム再開ブロックデータを選択するプログラム再開ブロックデータ選択部と、
該選択されたプログラム再開ブロックデータの近傍の加工プログラムを表示する加工プログラム表示部と、
前記プログラム再開ブロックデータまたはその近傍の加工プログラムのブロックをプログラム再開機能の開始ブロック及び終了ブロックとして設定する設定部と、
を有することを特徴とする請求項１に記載のプログラム再開機能を備えた数値制御装置。
【請求項５】
加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、
前記ワークの加工範囲を指定し登録する指定範囲登録部と、
前記加工プログラムの現在解析中のブロックが非切削ブロックであるかを判別する判別部と、
前記加工プログラムの現在解析中のブロックが移動を伴う非切削ブロックである場合に、該ブロックの工具の移動経路が前記登録された加工範囲の内側にあること、及び、前記加工プログラムの現在解析中のブロックが移動を伴わない非切削ブロックである場合に、該ブロックの実行時の工具位置が前記登録された加工範囲の内側にあること、を判別する非切削ブロック内側判別部と、
前記非切削ブロック内側判別部により加工範囲の内側にあると判定されて抽出された非切削ブロックのプログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、
を有することを特徴とするプログラム再開機能を備えた数値制御装置。
【請求項６】
前記非切削ブロックとは、
プログラム再開ブロックデータ取得のための非切削指令として予め登録したプログラム再開ブロックデータ取得コード、
早送り指令、
補助機能指令、
予め登録した制御軸を移動する指令、
工具補正量変更指令、
ドウェル指令、
スピンドル停止指令、
スピンドル回転指令、
サブプログラム呼び出し指令、
のうちいずれか１つ以上の指令であることを特徴とする請求項５に記載のプログラム再開機能を備えた数値制御装置。
【請求項７】
前記非切削ブロック内側判別部は、加工プログラムのブロックを解析し、該ブロックの工具の移動経路に工具の先端の位置を補正した、工具先端点により判別可能としたことを特徴とする請求項５に記載のプログラム再開機能を備えた数値制御装置。
【請求項８】
前記プログラム再開ブロックデータ取得部により取得された複数のプログラム再開ブロックデータを一覧表示する一覧表示部と、
該一覧表示されたプログラム再開ブロックデータを選択するプログラム再開ブロックデータ選択部と、
該選択されたプログラム再開ブロックデータの近傍の加工プログラムを表示する加工プログラム表示部と、
前記プログラム再開ブロックデータまたはその近傍の加工プログラムのブロックをプログラム再開機能の開始ブロック及び終了ブロックとして設定する設定部と、
を有することを特徴とする請求項５に記載のプログラム再開機能を備えた数値制御装置。
【請求項９】
加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、
前記ワークの加工範囲を指定し登録する指定範囲登録部と、
前記加工プログラムの現在解析中のブロックが非切削ブロックであるかを判別する判別部と、
前記加工プログラムの現在解析中のブロックが移動を伴う非切削ブロックである場合に、該ブロックの工具の移動経路が前記登録された加工範囲の外側にあること、及び、前記加工プログラムの現在解析中のブロックが移動を伴わない非切削ブロックである場合に、該ブロックの実行時の工具位置が前記登録された加工範囲の外側にあること、を判別する非切削ブロック外側判別部と、
前記非切削ブロック外側判別部により加工範囲の外側にあると判定されて抽出された非切削ブロックのプログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、
を有することを特徴とするプログラム再開機能を備えた数値制御装置。
【請求項１０】
前記非切削ブロックとは、
プログラム再開ブロックデータ取得のための非切削指令として予め登録したプログラム再開ブロックデータ取得コード、
早送り指令、
補助機能指令、
予め登録した制御軸を移動する指令、
工具補正量変更指令、
ドウェル指令、
スピンドル停止指令、
スピンドル回転指令、
サブプログラム呼び出し指令、
のうちいずれか１つ以上の指令であることを特徴とする請求項９に記載のプログラム再開機能を備えた数値制御装置。
【請求項１１】
前記非切削ブロック外側判別部は、加工プログラムのブロックを解析し、該ブロックの工具の移動経路に工具の先端の位置を補正した、工具先端点により判別可能としたことを特徴とする請求項９に記載のプログラム再開機能を備えた数値制御装置。
【請求項１２】
前記プログラム再開ブロックデータ取得部により取得された複数のプログラム再開ブロックデータを一覧表示する一覧表示部、
該一覧表示されたプログラム再開ブロックデータを選択するプログラム再開ブロックデータ選択部と、
該選択されたプログラム再開ブロックデータの近傍の加工プログラムを表示する加工プログラム表示部と、
前記プログラム再開ブロックデータまたはその近傍の加工プログラムのブロックをプログラム再開機能の開始ブロック及び終了ブロックとして設定する設定部と、
を有することを特徴とする請求項９に記載のプログラム再開機能を備えた数値制御装置。
【請求項１３】
前記プログラム再開ブロックデータは、
加工プログラム実行中のプログラムのブロック番号、
実行中のブロックの始点位置と終点位置、
実行中のブロックの各種モーダル情報、
親プログラムの番号とサブプログラムの呼び出しのブロック位置、
親プログラムから実行中のブロックまでの総ブロック数、
などのプログラム再開に必要なデータであることを特徴とする請求項１または請求項５または請求項９の何れか一つに記載のプログラム再開機能を備えた数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は工作機械を制御する数値制御装置に関し、特に、プログラム再開機能を備えた数値制御装置に関する。
【背景技術】
【０００２】
従来のプログラム再開機能では特許文献１に開示されるように、ワークの加工を中断した場合に、該ワークの加工を再開するためのプログラム再開ブロックデータとして非切削指令ブロックを取得していた。
【０００３】
前記プログラム再開ブロックデータとは、
加工プログラム実行中のプログラムのブロック番号、
実行中のブロックの始点位置と終点位置、
実行中のブロックの各種モーダル情報、
親プログラムの番号とサブプログラムの呼び出しのブロック位置、
親プログラムから実行中のブロックまでの総ブロック数、
などのプログラム再開に必要なデータである。（特許文献１の［０００８］を参照）
【０００４】
また、前記非切削指令とは、
指令１：プログラム再開ブロックデータ取得のための非切削指令として予め登録したプログラム再開ブロックデータ取得コード、
指令２：早送り指令、
指令３：補助機能指令、
指令４：予め登録した制御軸を移動する指令、
指令５：工具補正量変更指令、
指令６：ドウェル指令、
指令７：スピンドル停止指令、
指令８：スピンドル回転指令、
指令９：サブプログラム呼び出し指令、
のうちいずれか１つ以上の指令である。（特許文献１の［請求項２］を参照）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４３７４０４５号公報
【特許文献２】特許第３６６００３８号公報
【特許文献３】特許第４６５４９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、再加工が必要な部分を加工対象の図面から決定する場合、所望の指令が前記非切削ブロックのいずれに対応するかを調査、決定するのは工数がかかり、人為的エラーの発生源となるという問題があった。
【０００７】
この問題に対する解決策として、指令データを記憶し、加工範囲を設定し、前記指令データを前記加工範囲と比較して、前記加工範囲内の場合には該指令データによる命令を実行し、前記加工範囲外の場合には該命令を実行しないように制御し、前記指令データによる軸移動が、前記加工範囲外から前記加工範囲内への移動であるかを判断し、このような軸移動と判断された場合、その軸移動線と前記加工範囲の境界との交点又はその近傍を求め、その交点又は近傍を開始点として設定する方法が特許文献２に開示されている（特許文献２の請求項１を参照）。
【０００８】
しかしこの方法では、プログラムの再開時に事前に再加工開始ブロック近傍のプログラムを確認する手段がないため、操作者が意図したブロックと異なるブロックからプログラムが再実行されてしまう危険性がある。さらに、再加工プログラムの終了ブロックを設定することができないため、指定した加工範囲を複数の工具を使用して何度も繰り返して加工するような一連の加工プログラムの場合、意図した再加工部分のプログラム範囲を越えて加工が実行されてしまう危険性がある。
【０００９】
また、他の解決策として、加工プログラムの実行を開始する実行開始位置及び実行を終了する実行終了位置を記憶し、前記実行開始位置に相当する命令から実行終了位置に相当する命令までの部分のみを実行する方法がある。（特許文献３の［請求項１］〜［請求項１０］を参照）  
しかし、この方法では実行開始位置及び実行終了位置が一意に定まってしまうため、工具の移動経路と任意の加工範囲の境界とが交点を持つブロックまたはその境界の複数のブロックから実行開始位置及び実行終了位置を自由に選択することができないという問題がある。
【００１０】
そこで本発明は、上記従来技術の問題点に鑑み、加工対象の加工範囲を指定して所望の指令ブロックを容易に調査し、プログラム再開の開始ブロック及び終了ブロックとして設定し、加工プログラムを部分的に再実行することができるプログラム再開機能を備えた数値制御装置を提供することを課題とする。
【課題を解決するための手段】
【００１１】
本願の請求項１に係る発明は、加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、前記ワークの加工範囲を指定し登録する指定範囲登録部と、前記加工プログラムのブロックを解析し、該ブロックの工具の移動経路が、前記登録された加工範囲の境界と交点を持つかどうかを判定する指定範囲通過ブロック判別部と、該指定範囲通過ブロック判別部により前記加工プログラムの現在解析中のブロックが前記登録された加工範囲の境界と交点を持つブロックであると判別された場合に、該ブロックの前記プログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、を有することを特徴とするプログラム再開機能を備えた数値制御装置である。  
請求項２に係る発明は、請求項１記載の指定範囲通過ブロック判別部は、加工プログラムのブロックを解析し、該ブロックの工具の移動経路に工具の先端の位置を補正した工具先端点により判別可能としたことを特徴とする請求項１に記載のプログラム再開機能を備えた数値制御装置である。  
請求項３に係る発明は、前記プログラム再開ブロックデータ取得部は、前記指定範囲通過ブロック判別部により前記加工プログラムのブロックが前記指定範囲登録部に登録された範囲の境界を通過したブロックであると判別された場合に、該ブロックとともに、該ブロックの直前のブロック及び該ブロックの直後のブロックの前記プログラム再開ブロックデータをまとめて取得することを特徴とする請求項１に記載のプログラム再開機能を備えた数値制御装置である。  
請求項４に係る発明は、前記プログラム再開ブロックデータ取得部により取得された複数のプログラム再開ブロックデータを一覧表示する一覧表示部と、該一覧表示されたプログラム再開ブロックデータを選択するプログラム再開ブロックデータ選択部と、該選択されたプログラム再開ブロックデータの近傍の加工プログラムを表示する加工プログラム表示部と、前記プログラム再開ブロックデータまたはその近傍の加工プログラムのブロックをプログラム再開機能の開始ブロック及び終了ブロックとして設定する設定部と、を有することを特徴とする請求項１に記載のプログラム再開機能を備えた数値制御装置である。
【００１２】
請求項５に係る発明は、加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、前記ワークの加工範囲を指定し登録する指定範囲登録部と、前記加工プログラムの現在解析中のブロックが非切削ブロックであるかを判別する判別部と、前記加工プログラムの現在解析中のブロックが移動を伴う非切削ブロックである場合に、該ブロックの工具の移動経路が前記登録された加工範囲の内側にあること、及び、前記加工プログラムの現在解析中のブロックが移動を伴わない非切削ブロックである場合に、該ブロックの実行時の工具位置が前記登録された加工範囲の内側にあること、を判別する非切削ブロック内側判別部と、前記非切削ブロック内側判別部により加工範囲の内側にあると判定されて抽出された非切削ブロックのプログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、を有することを特徴とするプログラム再開機能を備えた数値制御装置である。  
請求項６に係る発明は、前記非切削ブロックとは、プログラム再開ブロックデータ取得のための非切削指令として予め登録したプログラム再開ブロックデータ取得コード、早送り指令、補助機能指令、予め登録した制御軸を移動する指令、工具補正量変更指令、ドウェル指令、スピンドル停止指令、スピンドル回転指令、サブプログラム呼び出し指令、のうちいずれか１つ以上の指令であることを特徴とする請求項５に記載のプログラム再開機能を備えた数値制御装置である。
【００１３】
請求項７に係る発明は、前記非切削ブロック内側判別部は、加工プログラムのブロックを解析し、該ブロックの工具の移動経路に工具の先端の位置を補正した、工具先端点により判別可能としたことを特徴とする請求項５に記載のプログラム再開機能を備えた数値制御装置である。  
請求項８に係る発明は、前記プログラム再開ブロックデータ取得部により取得された複数のプログラム再開ブロックデータを一覧表示する一覧表示部と、該一覧表示されたプログラム再開ブロックデータを選択するプログラム再開ブロックデータ選択部と、該選択されたプログラム再開ブロックデータの近傍の加工プログラムを表示する加工プログラム表示部と、前記プログラム再開ブロックデータまたはその近傍の加工プログラムのブロックをプログラム再開機能の開始ブロック及び終了ブロックとして設定する設定部と、を有することを特徴とする請求項５に記載のプログラム再開機能を備えた数値制御装置である。
【００１４】
請求項９に係る発明は、加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、前記ワークの加工範囲を指定し登録する指定範囲登録部と、前記加工プログラムの現在解析中のブロックが非切削ブロックであるかを判別する判別部と、前記加工プログラムの現在解析中のブロックが移動を伴う非切削ブロックである場合に、該ブロックの工具の移動経路が前記登録された加工範囲の外側にあること、及び、前記加工プログラムの現在解析中のブロックが移動を伴わない非切削ブロックである場合に、該ブロックの実行時の工具位置が前記登録された加工範囲の外側にあること、を判別する非切削ブロック外側判別部と、前記非切削ブロック外側判別部により加工範囲の外側にあると判定されて抽出された非切削ブロックのプログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、を有することを特徴とするプログラム再開機能を備えた数値制御装置である。
請求項１０に係る発明は、前記非切削ブロックとは、プログラム再開ブロックデータ取得のための非切削指令として予め登録したプログラム再開ブロックデータ取得コード、早送り指令、補助機能指令、予め登録した制御軸を移動する指令、工具補正量変更指令、ドウェル指令、スピンドル停止指令、スピンドル回転指令、サブプログラム呼び出し指令、のうちいずれか１つ以上の指令であることを特徴とする請求項９に記載のプログラム再開機能を備えた数値制御装置である。  
請求項１１に係る発明は、前記非切削ブロック外側判別部は、加工プログラムのブロックを解析し、該ブロックの工具の移動経路に工具の先端の位置を補正した、工具先端点により判別可能としたことを特徴とする請求項９に記載のプログラム再開機能を備えた数値制御装置である。
【００１５】
請求項１２に係る発明は、前記プログラム再開ブロックデータ取得部により取得された複数のプログラム再開ブロックデータを一覧表示する一覧表示部、該一覧表示されたプログラム再開ブロックデータを選択するプログラム再開ブロックデータ選択部と、該選択されたプログラム再開ブロックデータの近傍の加工プログラムを表示する加工プログラム表示部と、前記プログラム再開ブロックデータまたはその近傍の加工プログラムのブロックをプログラム再開機能の開始ブロック及び終了ブロックとして設定する設定部と、を有することを特徴とする請求項９に記載のプログラム再開機能を備えた数値制御装置である。
請求項１３に係る発明は、前記プログラム再開ブロックデータは、加工プログラム実行中のプログラムのブロック番号、実行中のブロックの始点位置と終点位置、実行中のブロックの各種モーダル情報、親プログラムの番号とサブプログラムの呼び出しのブロック位置、親プログラムから実行中のブロックまでの総ブロック数、などのプログラム再開に必要なデータであることを特徴とする請求項１または請求項５または請求項９の何れか一つに記載のプログラム再開機能を備えた数値制御装置である。
【発明の効果】
【００１６】
本発明により、加工対象の加工範囲を指定して所望の指令ブロックを容易に調査し、プログラム再開の開始ブロック及び終了ブロックとして設定し、加工プログラムを部分的に再実行することができるため、人為的エラーと工数を低減できる。また再加工時には、開始ブロック及び終了ブロック近傍のプログラムを確認できるため、間違って意図したプログラム範囲と異なる範囲を再実行してしまう危険が低減できる。
【図面の簡単な説明】
【００１７】
【図１】３軸各々の最小値と最大値に異なる値が設定された場合を説明する図である。
【図２】１軸について最小値と最大値に同一の値が設定された場合を説明する図である。
【図３】２軸について最小値と最大値に同一の値が設定された場合を説明する図である。
【図４】３軸全てについて最小値と最大値に同一の値が設定された場合を説明する図である。
【図５】３軸について範囲が設定された場合に指定される範囲（空間）。
【図６】２軸について範囲が設定された場合に指定される範囲（平面）。
【図７】指定範囲通過ブロック判別処理のフローを説明する図である。
【図８】非切削ブロック内側判別処理のフローを説明する図である。
【図９】非切削ブロック外側判別処理のフローを説明する図である。
【図１０】指定範囲設定の例を説明する図である。
【図１１】加工プログラムの例を説明する図である。
【図１２】図１１に示される加工サブプログラムの実行時に実行される加工プログラムの例である。
【図１３】図１１に示される加工プログラム（Ｎ１００〜Ｎ１１８）を実行した場合の、各ブロックにおける工具の移動を説明する図である。
【図１４】図１１に示される加工プログラム（Ｎ２００〜Ｎ２１３）を実行した場合の、各ブロックにおける工具の移動を説明する図である。
【図１５】プログラム再開ブロック一覧画面の第１の例である。
【図１６】プログラム再開ブロック一覧画面の第２の例である。
【図１７】プログラム再開ブロック一覧画面の第３の例である。
【図１８】プログラム再開ブロック一覧画面の第４の例である。
【図１９】プログラム再開ブロック一覧画面の第５の例である。
【図２０】プログラム再開処理のフローを説明する図である。
【図２１】プログラム再開の準備処理のフローを説明する図である。
【図２２】プログラム再開の実加工のフローを説明する図である。
【図２３】プログラム再開機能を備えた数値制御装置を説明するブロック図である。
【発明を実施するための形態】
【００１８】
本発明は、ワークの加工を再開及び終了するためのプログラム再開ブロックデータとして、工具の移動経路が、前記ワークの加工範囲を指定することにより登録した平面または空間の境界と交点を持つブロックまたはその近傍のブロック、さらに前記範囲が空間で指定された場合に、該範囲の内側または外側で実行された非切削ブロックを取得し、該プログラム再開ブロックデータに基づいて該ワークの加工を部分的に実行することができる。このとき取得された複数のプログラム再開ブロックデータは一覧から選択することができ、再開開始ブロック及び終了ブロックとして近傍のブロックも選択することができる。
【００１９】
以下、本発明の実施形態について図面と共に説明する。  
（実施形態１）
本発明に係る数値制御装置の実施形態の一つは、加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、前記ワークの加工範囲を指定する指定範囲登録部と、前記加工プログラムのブロックを解析し、該ブロックの工具の移動経路が、前記登録された加工範囲の境界と交点を持つかどうかを判定する指定範囲通過ブロック判別部と、前記指定範囲通過ブロック判別部により前記加工プログラムの現在解析中のブロックが前記登録された加工範囲の境界と交点を持つブロックであると判別された場合に、該ブロックの前記プログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、を有する。  
以下に、指定範囲登録部、指定範囲通過ブロック判別部と、プログラム再開ブロックデータ取得部についてそれぞれ説明する。
【００２０】
＜指定範囲登録部＞
加工対象の再加工が必要な部分を加工対象の図面などを基に決定する指定範囲登録部について説明する。図２３を用いて説明する数値制御装置では、指定範囲のデータを例えば表示器／手動入力手段ユニット２０などの入力手段を用いて数値制御装置に入力し、メモリに指定範囲のデータを記憶する。
【００２１】
図１は３軸各々の最小値と最大値に異なる値が設定された場合を説明する図である。図２は１軸について最小値と最大値に同一の値が設定された場合を説明する図である。図３は２軸について最小値と最大値に同一の値が設定された場合を説明する図である。図４は３軸全てについて最小値と最大値に同一の値が設定された場合を説明する図である。
【００２２】
Ｘ，Ｙ，Ｚで構成される３次元座標空間を用いて説明する。Ｘ，Ｙ，Ｚ各軸について、最小値と最大値を設定することで平面または空間の指定範囲が登録される。  
図１のように、基本３軸全てについて最小値と最大値に異なる値が設定された場合、指定範囲は「空間」になる。（図５参照）  
図２のように、基本３軸のうち、２軸について最小値と最大値に異なる値が設定され、１軸については最小値と最大値に同一の値が設定された場合は、指定範囲が「面」になる。（図６を参照）  
図３のように、基本３軸のうち、１軸について最小値と最大値に異なる値が設定され、２軸については最小値と最大値に同一の値が設定された場合は、指定範囲が「線」になる。  
図４のように、基本３軸全てについて最小値と最大値に同一の値が設定された場合は、指定範囲は「点」になる。  
なお、基本３軸以外の軸についても指定範囲を登録することができる。
【００２３】
＜指定範囲通過ブロック判別部＞
指定範囲通過ブロック判別部について説明する。加工プログラムのブロックを解析し、その解析結果の工具の移動経路が、指定範囲登録部により登録された加工範囲と交点を持つか否か判定する指定範囲通過ブロック判別処理について、図７を用いて説明する。図７は指定範囲通過ブロック判別処理のフローを説明する図である。
【００２４】
まず、判定部Ａ１により指定範囲登録部により加工範囲の指定が登録されているか否かを判定する。加工範囲の指定が無い場合には指定範囲通過ブロック判別処理を終了する。加工範囲の指定がある場合には判定部Ａ２で加工プログラムの全てのブロックについて解析が終了したか否かを判定する。解析が終了した場合には指定範囲通過ブロック判別処理を終了する。全てのブロックの解析が終了していない場合には、実行部Ａ３により加工プログラムのブロックを読み込む。
【００２５】
判定部Ａ４により現在解析中のブロックにより作られる工具の移動経路が、指定範囲登録部により登録された加工範囲と交点を持つか否かを判定する。判定に使用する工具位置は工具長や回転軸を考慮した工具先端点とすることも可能である。工具の移動経路が、指定範囲登録部により登録された範囲と交点を持たない場合には、再度判定部Ａ２に戻る。工具の移動経路が、指定範囲登録部により登録された範囲と交点を持つ場合には判定部Ａ５により現在解析中のブロックの前後のブロックの再開データもまとめて取得する設定か否かを判定する。
【００２６】
判定部Ａ５により現在解析中のブロックの前後のブロックの再開データもまとめて取得する設定であると判定された場合には実行部Ａ６により現在解析中のブロック及び現在解析中のブロックの直前のブロック及び現在解析中のブロックの直後のブロックのプログラム再開ブロックデータをまとめて取得しメモリに格納する。プログラム再開ブロックデータの取得が完了した後、再度判定部Ａ２に戻る。
【００２７】
判定部Ａ５により現在解析中のブロックの前後のブロックの再開データもまとめて取得する設定でないと判定された場合には実行部Ａ７により現在解析中のブロックのプログラム再開ブロックデータを取得しメモリに格納する。プログラム再開ブロックデータの取得が完了した後、再度判定部Ａ２に戻る。
【００２８】
ここで、前記プログラム再開ブロックデータを説明する。プログラム再開ブロックデータとは、加工プログラム実行中のプログラムのブロック番号、実行中のブロックの始点位置と終点位置、実行中のブロックの各種モーダル情報、親プログラムの番号とサブプログラムの呼び出しのブロック位置、親プログラムから実行中のブロックまでの総ブロック数、などのプログラム再開に必要なデータを意味する。
【００２９】
＜プログラム再開ブロックデータ取得部＞  
プログラム再開ブロックデータ取得部は、２通りの方法でプログラム再開ブロックデータを取得することができる。  
（方法１）  
加工プログラムを実行する前に予め指定範囲を登録している場合には、加工プログラム実行中にプログラム再開ブロックデータを取得する。なお、予め指定範囲を登録しているとは、数値制御装置のメモリに指定範囲のデータを予め設定して記憶させていることを意味する。
【００３０】
（方法２）  
加工中断後に指定範囲を登録して「サーチ」操作を行った場合には、軸を移動させずに加工プログラムを実行し、ＧコードやＭコード、Ｓコード、Ｔコード、Ｂコードなど、加工プログラムで指令されたコードのモーダル情報と数値制御装置（ＣＮＣ）の内部座標値を高速に更新する「仮実行モード」によりプログラム再開ブロックデータを取得する。
【００３１】
（実施形態２）  
本発明に係る数値制御装置の他の実施形態は、加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、前記ワークの加工範囲を指定する指定範囲登録部と、前記加工プログラムの現在解析中のブロックが非切削ブロックであるかを判別する判別部と、前記加工プログラムの現在解析中のブロックが移動を伴う非切削ブロックである場合に、該ブロックの工具の移動経路が前記登録された加工範囲の内側にあること、及び、前記加工プログラムの現在解析中のブロックが移動を伴わない非切削ブロックである場合に、該ブロックの実行時の工具位置が前記登録された加工範囲の内側にあること、を判別する非切削ブロック内側判別部と、前記非切削ブロック内側判別部により、抽出された非切削ブロックのプログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、を有する。
【００３２】
＜非切削ブロック内側判別処理＞  
上記非切削ブロック内側判別処理について説明する。  
非切削ブロックが移動を伴う場合に非切削ブロックを解析し、その解析結果の工具の移動経路（以下「工具経路」）または非切削ブロックが移動を伴わない場合に非切削ブロックが実行された工具の位置（以下「工具位置」）が指定範囲登録部により登録された加工範囲の内側にあるかを判定する非切削ブロック内側判別処理について、図８を用いて説明する。
【００３３】
まず、判定部Ｂ１により指定範囲登録部により加工範囲の指定が登録されているか否かを判定する。加工範囲の指定が無い場合には非切削ブロック内側判別処理を終了する。加工範囲の指定がある場合には判定部Ｂ２により工具位置が指定範囲の内側にある場合に非切削ブロックをプログラム再開ブロックデータとして取得する設定であるか否かを判定する。工具位置が指定範囲の内側にある場合に非切削ブロックのプログラム再開ブロックデータを取得する設定でない場合には非切削ブロック内側判別処理を終了する。工具位置が指定範囲の内側にある場合に非切削ブロックのプログラム再開ブロックデータを取得する設定である場合には判定部Ｂ３により加工プログラムに登録されている全てのブロックについて解析が終了したか否かを判定する。全てのブロックについて解析が終了した場合には非切削ブロック内側判別処理を終了する。
【００３４】
全てのブロックの解析が終了していない場合には、実行部Ｂ４により加工プログラムに登録されているブロックを読み込む。判定部Ｂ５により現在解析中のブロックが非切削ブロックか否かを判定する。非切削ブロックでない場合には再度判定部Ｂ３を実行する。判定部Ｂ５により現在解析中のブロックが非切削ブロックであると判定された場合には、判定部Ｂ６により非切削ブロックが移動を伴う指令であるか否かを判定する。判定部Ｂ６により非切削ブロックが移動を伴う指令であると判定された場合には、判定部Ｂ７により工具経路が範囲指定の内側にあるか否かを判定する。工具経路が指定範囲の内側にない場合には、再度判定部Ｂ３に戻る。
【００３５】
判定部Ｂ７により工具経路が指定範囲の内側にあると判定された場合には、実行部Ｂ８によりプログラム再開ブロックデータを取得しメモリに格納する。その後、再度判定部Ｂ３に戻る。  
判定部Ｂ６により非切削ブロックが移動を伴わない指令であると判定された場合には、判定部Ｂ９により工具位置が範囲指定の内側にあるか否かを判定する。工具位置が指定範囲の内側にない場合には、再度判定部Ｂ３に戻る。判定部Ｂ９により工具位置が指定範囲の内側にあると判定された場合には、実行部Ｂ８によりプログラム再開ブロックデータを取得しメモリに格納する。その後、再度判定部Ｂ３に戻る。
【００３６】
（実施形態３）
本発明に係る数値制御装置のさらに他の実施形態は、加工プログラムのブロックを解析し実行することにより複数の制御軸を持つ工作機械を制御しワークの加工を行うと共に、該ワークの加工を中断した場合に、加工を再開及び終了するためのプログラム再開ブロックデータを取得し、該プログラム再開ブロックデータに基づいて前記ワークの加工を部分的に実行するプログラム再開機能を備えた数値制御装置において、前記ワークの加工範囲を指定する指定範囲登録部と、前記加工プログラムの現在解析中のブロックが非切削ブロックであるかを判別する判別部と、前記加工プログラムの現在解析中のブロックが移動を伴う非切削ブロックである場合に、該ブロックの工具の移動経路が前記登録された加工範囲の外側にあること、及び、前記加工プログラムの現在解析中のブロックが移動を伴わない非切削ブロックである場合に、該ブロックの実行時の工具位置が前記登録された加工範囲の外側にあること、を判別する非切削ブロック外側判別部と、前記非切削ブロック外側判別部により、抽出された非切削ブロックのプログラム再開ブロックデータを取得するプログラム再開ブロックデータ取得部と、を有する。
【００３７】
＜非切削ブロック外側判別処理＞
非切削ブロック外側判別処理を説明する。  
非切削ブロックが移動を伴う場合に非切削ブロックを解析し、その解析結果の工具の移動経路（以下「工具経路」）または非切削ブロックが移動を伴わない場合に非切削ブロックが実行された工具の位置（以下「工具位置」）が指定範囲登録部により登録された加工範囲の外側にあるかを判定する非切削ブロック外側判別処理について、図９を用いて説明する。
【００３８】
まず、判定部Ｃ１より指定範囲登録部により加工範囲の指定が登録されているか否かを判定する。加工範囲の指定が無い場合には非切削ブロック外側判別処理を終了する。加工範囲の指定がある場合には判定部Ｃ２により工具位置が指定範囲の外側にある場合に非切削ブロックのプログラム再開ブロックデータを取得する設定であるか否かを判定する。工具位置が指定範囲の外側にある場合に非切削ブロックのプログラム再開ブロックデータを取得する設定でない場合には非切削ブロック外側判別処理を終了する。
【００３９】
工具位置が指定範囲の外側にある場合に非切削ブロックのプログラム再開ブロックデータを取得する設定である場合には判定部Ｃ３により加工プログラムに登録されている全てのブロックについて解析が終了したか否かを判定する。全てのブロックについて解析が終了した場合には非切削ブロック外側判別処理を終了する。全てのブロックの解析が終了していない場合には、実行部Ｃ４により加工プログラムに登録されているブロックを読み込む。
【００４０】
判定部Ｃ５により現在解析中のブロックが非切削ブロックか否かを判定する。非切削ブロックでない場合には再度判定部Ｃ３に戻る。判定部Ｃ５により現在解析中のブロックが非切削ブロックであると判定された場合には、判定部Ｃ６により非切削ブロックが移動を伴う指令であるか否かを判定する。判定部Ｃ６により非切削ブロックが移動を伴う指令であると判定された場合には、判定部Ｃ７により工具経路が範囲指定の外側にあるか否かを判定する。工具経路が指定範囲の外側にない場合には、再度判定部Ｃ３に戻る。
【００４１】
判定部Ｃ７により工具経路が指定範囲の外側にあると判定された場合には、実行部Ｃ８によりプログラム再開ブロックデータを取得しメモリに格納する。その後、再度判定部Ｃ３を実行する。判定部Ｃ６により非切削ブロックが移動を伴わない指令であると判定された場合には、判定部Ｃ９により工具位置が範囲指定の外側にあるか否かを判定する。工具位置が指定範囲の外側にない場合には、再度判定部Ｃ３に戻る。判定部Ｃ９により工具位置が指定範囲の外側にあると判定された場合には、実行部Ｃ８によりプログラム再開ブロックデータを取得しメモリに格納する。その後、再度判定部Ｃ３に戻る。
【００４２】
なお、判定部Ｃ６／Ｃ９の「工具経路／工具位置が指定範囲の外側にあるかを判定する」判定部は、「工具経路／工具位置が指定範囲の外側に隣接するかを判定する」判定部に置き換えることも可能である。工具経路／工具位置が指定範囲の外側に隣接しているとは、解析中のブロックが工具経路／工具位置の指定範囲の境界のブロックから別途指定されたブロック数の範囲である、または、別途座標で設定した隣接範囲内であることを指す。
【００４３】
ここで、プログラム再開ブロックデータ取得部を図１０、図１１、図１２、図１３、図１４、図１５、図１６、図１７、図１８および図１９を用いて説明する。図１０は指定範囲設定の例を説明する図である。図１１は加工プログラムの例を説明する図である。図１２は図１１に示される加工プログラムの実行時に実行される加工サブプログラムの例である。  
図１３は図１１に示される加工プログラム（Ｎ１００〜Ｎ１１８）を実行した場合の、各ブロックにおける工具の移動を説明する図である。図１４は図１１に示される加工プログラム（Ｎ２００〜Ｎ２１３）を実行した場合の、各ブロックにおける工具の移動を説明する図である。図１５はプログラム再開ブロック一覧画面の第１の例である。図１６はプログラム再開ブロック一覧画面の第２の例である。図１７はプログラム再開ブロック一覧画面の第３の例である。図１８はプログラム再開ブロック一覧画面の第４の例である。図１９はプログラム再開ブロック一覧画面の第５の例である。
【００４４】
加工対象において再加工する指定範囲が図１０に示されるように登録され、図１１，図１２に示される加工プログラムを数値制御装置が解析した場合、指定範囲の境界を通過するブロック及び指定範囲内で実行される非切削ブロックのプログラム再開ブロックデータを取得する設定とした際に取得されるプログラム再開ブロックデータについて説明する。
【００４５】
図１３及び図１４は指定範囲内のブロックの実行を説明する図である。図１３に示されるように、Ｎ１００〜Ｎ１１８のブロックを実行した場合、指定範囲の境界または内側で実行されるブロックはＮ１０４〜Ｎ１１６となる。また、図１４に示されるように、Ｎ２００〜Ｎ２１３のブロックを実行した場合、指定範囲の境界または内側で実行されるブロックはＮ２０４〜Ｎ２０８となる。プログラム再開ブロックデータとして、指定範囲の境界を通過するブロックＮ１０４，Ｎ１１６，Ｎ２０４，Ｎ２０８が取得される。  
また、図１５に示されるように、指定範囲内で実行される非切削ブロックＮ１０５，Ｎ１１５，Ｎ２０５，Ｎ２０５から実行されたＮ９０１／Ｎ９０８／Ｎ９０９，Ｎ２０６，Ｎ２０７，Ｎ２０７から実行されたＮ９０１／Ｎ９０８／Ｎ９０９が取得される。
【００４６】
上記の＜非切削ブロック内側判別処理＞と＜非切削ブロック外側判別処理＞を行う本発明の実施形態におけるプログラム再開ブロックデータ取得部について説明する。  
指定範囲の登録を図１０とし、図１１，図１２のプログラムを解析した場合、指定範囲の境界を通過するブロック及び該ブロックの直前のブロック及び該ブロックの直後のブロックのプログラム再開ブロックデータを取得する設定とした際に取得されるプログラム再開ブロックデータについて説明する。
【００４７】
図１６に示されるように、プログラム再開ブロックデータとして、Ｎ１０３，Ｎ１０４，Ｎ１０５，Ｎ１１５，Ｎ１１６，Ｎ１１７，Ｎ２０３，Ｎ２０４，Ｎ２０５，Ｎ２０７から実行されたＮ９０９，Ｎ２０８，Ｎ２０９が取得される。図１３から明らかなように、指定範囲の境界を通過したブロックの直後のブロックＮ１０５をプログラム再開の開始ブロックとして設定し、指定範囲の境界を通過したブロックの直前のブロックＮ１１５をプログラム再開の終了ブロックとして設定した場合、指定範囲の境界を通過したブロックＮ１０４をプログラム再開の開始ブロックとして設定し，指定範囲の境界を通過したブロックＮ１１６をプログラム再開の終了ブロックとして設定した場合に比べサイクルタイムを短縮することができる。
【００４８】
また、図１３から明らかなように、指定範囲の境界を通過したブロックの直後のブロックＮ１１７をプログラム再開の終了ブロックとして設定した場合、指定範囲の境界を通過したブロックＮ１０４をプログラム再開の開始ブロックとして設定し、指定範囲の境界を通過したブロックＮ１１６をプログラム再開の終了ブロックとして設定した場合に比べ再加工の設定が広範囲になるので、目的の再実行箇所をより確実に再加工できる。
【００４９】
＜プログラム再開機能の開始ブロック及び終了ブロック設定部＞
プログラム再開機能の開始ブロック及び終了ブロック設定部を説明する。プログラム再開ブロックデータ取得部により取得されたブロックデータは、プログラム再開画面でサーチを実行することにより、プログラム再開画面に一覧表示される。（図１５を参照）
プログラム再開画面の左側にはプログラム再開ブロックデータが一覧表示され、カーソルをあてることにより選択できる。プログラム再開画面の右側には、選択したプログラム再開ブロックデータ近傍のプログラムが表示される。図１７のように近傍ブロックについてもカーソルを移動させることが可能である。
【００５０】
任意の一覧表示されたプログラム再開ブロックデータまたは近傍のプログラムにカーソルを当て、再開動作開始ブロックの設定ボタンを押下することにより、プログラム再開の開始ブロックが設定される。プログラム再開の開始ブロックとして設定されたプログラム再開ブロックデータとプログラムの左側に「Ｓ」のマークが点灯する。例としてＮ２０３をプログラム再開の開始ブロックに設定した場合、図１８のように「Ｓ」のマークが点灯する。
【００５１】
同様にして、任意の一覧表示されたプログラム再開ブロックデータまたは近傍のプログラムにカーソルを当て、再開動作終了ブロックの設定ボタンを押下することにより、プログラム再開の終了ブロックが設定される。プログラム再開の終了ブロックとして設定されたプログラム再開ブロックデータとプログラムの左側に「Ｅ」のマークが点灯する。例としてＮ９０８をプログラム再開の終了ブロックに設定した場合、図１９のように「Ｅ」のマークが点灯する。この時、プログラム再開の終了ブロックは、プログラム再開の開始ブロックより後ろのブロックでなければならない。
前記プログラム再開準備動作の終了後、プログラム再開の実加工を実行することにより開始ブロックと終了ブロックの間のプログラムを再実行することができる。
【００５２】
次に、前記プログラム再開機能の開始ブロック及び終了ブロックの設定動作を含むプログラム再開処理全体について図２０を用いて説明する。  
まず、判定部Ｄ１により指定範囲登録部により加工範囲の指定が登録されているか否かを判定する。加工範囲の指定が無い場合にはプログラム再開処理を終了する。加工範囲が設定されている場合、実行部Ｄ２によりボタンの押下を監視する。判定部Ｄ３ではボタンが押下されたか否かを判定する。ボタンが押下されなかった場合には再度実行部Ｄ２によりボタンの押下の監視を続ける。ボタンが押下された場合には、判定部Ｄ４により押下されたボタンがプログラム再開実行ボタンか否かを判定する。押下されたボタンがプログラム再開実行ボタンではない場合、結合部Ｄ５により、プログラム再開の準備処理を実行する。（プログラム再開の準備処理の詳細については図２１を用いて別途説明を行う。）
【００５３】
プログラム再開の準備処理が終了すると、再度実行部Ｄ２によりボタンの押下の監視を続ける。判定部Ｄ４により押下されたボタンがプログラム再開実行ボタンであると判定された場合、判定部Ｄ６によりプログラム再開の実加工に必要な設定が完了しているか否かを判定する。プログラム再開の実加工に必要な設定が完了していない場合、再度実行部Ｄ２によりボタンの押下の監視を続ける。プログラム再開の実加工に必要な設定が完了している場合、結合部Ｄ７により、プログラム再開の実加工を実行する。（プログラム再開の実加工の詳細については図２２を用いて別途説明を行う。）プログラム再開の実加工が終了すると、プログラム再開処理は終了する。
【００５４】
図２０の結合部Ｄ５のプログラム再開の準備処理の詳細について図２１を用いて説明する。まず、判定部Ｅ１によりサーチボタンが押下されたか否かを判定する。サーチボタンが押下された場合には実行部Ｅ２により、全プログラムを仮実行し、指定範囲の設定に基づいて請求項１及び請求項５及び請求項９に記された方法（実施形態１〜３の方法）で取得したプログラム再開ブロックデータを一覧表示する。その後、実行部Ｅ３によりプログラム再開の開始ブロックの設定及び終了ブロックの設定をリセットする。
【００５５】
判定部Ｅ１によりサーチボタンが押下されなかったと判定された場合、判定部Ｅ４により以前に実行部Ｅ２及び実行部Ｅ３によるサーチ処理が一度以上実行されているか否かを判定する。以前にサーチ処理が実行されていない場合には、プログラム再開の準備処理を終了する。以前にサーチ処理が実行されている場合には、判定部Ｅ５によりプログラム再開の開始ブロック設定ボタンが押下されたか否かを判定する。プログラム再開の開始ブロック設定ボタンが押下された場合には、実行部Ｅ６によりプログラム再開の開始ブロックが設定される。プログラム再開の開始ブロック設定ボタンが押下されなかった場合、判定部Ｅ７によりプログラム再開の終了ブロック設定ボタンが押下されたか否かを判定する。プログラム再開の終了ブロック設定ボタンが押下されなかった場合には、プログラム再開の準備処理を終了する。判定部Ｅ７によりプログラム再開の終了ブロック設定ボタンが押下されたと判定された場合、判定部Ｅ８によりプログラム再開の終了ブロックとして設定しようとしているブロックよりも前のブロックが、プログラム再開の開始ブロックとして既に設定されているか否かを判定する。プログラム再開の終了ブロックとして設定しようとしているブロックよりも前のブロックが、プログラム再開の開始ブロックとして設定されていない場合には、プログラム再開の準備処理を終了する。
【００５６】
プログラム再開の終了ブロックとして設定しようとしているブロックよりも前のブロックが、プログラム再開の開始ブロックとして既に設定されている場合には実行部Ｅ９によりプログラム再開の終了ブロックが設定され、その後プログラム再開の準備処理を終了し、図２０の実行部Ｄ２戻る。なお、前記仮実行とは、プログラムの解析結果に基づいて、工具の移動を行わずに、モーダル情報（または機能情報）や補助機能の状態や座標値を更新することを意味する。
【００５７】
図２０の結合部Ｄ７のプログラム再開の実加工の詳細について図２２を用いて説明する。まず、実行部Ｆ１によりプログラム再開の開始ブロックとして設定されたブロックのスタート位置を再開ブロックデータから読込み、位置決めを行う。その後、実行部Ｆ２によりプログラムの解析を行い、解析結果に基づいて実加工を行う。その後、判定部Ｆ３により解析したブロックはプログラム再開の終了ブロックか否かを判定する。解析したブロックがプログラム再開の終了ブロックでない場合、再度実行部Ｆ２によりプログラムの解析と実加工を行う。判定部Ｆ３により解析したブロックがプログラム再開の終了ブロックであると判定された場合、プログラム再開の実加工を終了する。
【００５８】
図２３は本発明の一実施形態である数値制御装置１０の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサであるＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス１９を介して読み出し、該システムプログラムにしたがって数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データおよびＣＲＴや液晶などで構成される表示器とキーボードなどで構成される手動入力手段とからなる表示器／手動入力手段ユニット２０を介してオペレータが入力した各種データが格納される。ＳＲＡＭ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。また、ＳＲＡＭ１４には、加工プログラムのブロックが非切削指令を含むものであるかの判断のために、プログラム再開ブロックデータ取得のための非切削指令として予め登録したプログラム再開ブロックデータ取得コード、早送り指令、補助機能指令、予め登録した制御軸を移動する指令、工具補正量変更指令、ドウェル指令、スピンドル停止指令、スピンドル回転指令、サブプログラム呼び出し指令を指定した判断テーブルが格納されている。
【００５９】
ＳＲＡＭ１４中には、インタフェース１５を介して読み込まれた加工プログラムや表示器／手動入力手段ユニット２０を介して入力された加工プログラムなどが記憶される。また、ＲＯＭ１２には、本発明に係るプログラム再開機能を実現するためのプログラム再開ブロックデータ取得のためのプログラムがあらかじめ格納されている。
【００６０】
インタフェース１５は、数値制御装置１０と外部機器との接続を可能とするものである。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで制御対象物の工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、数値制御装置１０で制御される制御対象物である工作機械の本体に配備された操作盤の各種スイッチなどの信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００６１】
各送り軸の軸制御回路３０〜３２はＣＰＵ１１からの各送り軸の移動指令量を受けて、各送り軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて、機械（制御対象物）の各送り軸のサーボモータ５０、５１、５２を駆動する。各送り軸のサーボモータ５０〜５２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック制御を行う。なお、図２３では、位置・速度制御のフィードバックについては省略している。また、スピンドル制御回路３３は主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はスピンドル速度信号を受けて、スピンドルモータ６２を指令された回転速度で回転させ、主軸を駆動する。ポジションコーダ６３は、スピンドルモータ６２の回転に同期して帰還パルスをスピンドル制御回路３３にフィードバックし、速度制御を行う。
【符号の説明】
【００６２】
１０  数値制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＳＲＡＭ
１５  インタフェース
１６  ＰＭＣ
１７  Ｉ／Ｏユニット
１８  メモリ
１９  バス
２０  表示器／手動入力手段ユニット
３０，３１，３２  軸制御回路
３３  スピンドル制御回路
４０，４１，４２  サーボアンプ
５０，５１，５２  モータ
６１  スピンドルアンプ
６２  スピンドルモータ
６３  ポジションコーダ
【図１】
0005543534.tif 000002
【図２】
0005543534.tif 000003
【図３】
0005543534.tif 000004
【図４】
0005543534.tif 000005
【図５】
0005543534.tif 000006
【図６】
0005543534.tif 000007
【図７】
0005543534.tif 000008
【図８】
0005543534.tif 000009
【図９】
0005543534.tif 000010
【図１０】
0005543534.tif 000011
【図１１】
0005543534.tif 000012
【図１２】
0005543534.tif 000013
【図２０】
0005543534.tif 000014
【図２１】
0005543534.tif 000015
【図２２】
0005543534.tif 000016
【図２３】
0005543534.tif 000017
【図１３】
0005543534.tif 000018
【図１４】
0005543534.tif 000019
【図１５】
0005543534.tif 000020
【図１６】
0005543534.tif 000021
【図１７】
0005543534.tif 000022
【図１８】
0005543534.tif 000023
【図１９】
0005543534.tif 000024