(57)【要約】工具が可動範囲を逸脱すると判断した場合、工具が可動範囲を逸脱する直線軸の方向とは異なる方向を工具の退避方向として決定する退避方向決定部と、この退避方向に基づき、工具を退避させる間における工具とテーブルの回転中心との間の距離が、テーブルの回転開始時または回転終了時における工具とテーブルの回転中心との間の距離以上となるように、工具の軌跡を補正する工具軌跡補正部と、を備えた。本発明によれば、機械系座標とは異なる座標系での制御を実行中に、直線軸にてストロークオーバーが発生するようなテーブル回転指令がされた場合、工具とワークとの干渉を回避しつつ、ストロークオーバーを回避することができる。
2011111088.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに基づいて、工具を移動させる複数の直線軸とテーブルを回転させるテーブル回転軸とを有する工作機械を制御する数値制御装置において、
前記工具の移動が許容される前記各直線軸上の範囲として設定された可動範囲を記憶する記憶部と、
機械座標系でない座標系でのテーブル回転指令を解析して、前記テーブル回転指令を実行すると前記工具が前記各直線軸のいずれかにて前記可動範囲を逸脱するか否かを判断するストロークオーバー判断部と、
前記ストロークオーバー判断部が前記工具が前記可動範囲を逸脱すると判断した場合、前記工具が前記可動範囲を逸脱する直線軸の方向とは異なる方向を前記工具の退避方向として決定する退避方向決定部と、
前記退避方向に基づき、前記工具を退避させる間における前記工具と前記テーブルの回転中心との間の距離が、前記テーブルの回転開始時または回転終了時における前記工具と前記テーブルの回転中心との間の距離以上となるように、前記工具の軌跡を補正する工具軌跡補正部と、
前記工具軌跡補正部が補正した前記工具の軌跡に基づき、サーボアンプに対する位置指令を出力する出力部と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記ストロークオーバー判断部は、前記テーブル回転指令の補間点位置を算出する補間処理部、及び前記補間点位置が前記各直線軸のいずれかにて前記可動範囲を逸脱するか否かを判断する移動可否判断部を有し、
前記退避方向決定部は、前記移動可否判断部が前記補間点位置が前記可動範囲を逸脱すると判断した場合、前記工具が前記可動範囲を逸脱する直線軸の方向とは異なる方向を前記工具の退避方向として決定し、
前記工具軌跡補正部は、前記補間点位置を補正した後の位置と前記テーブルの回転中心との間の距離が、前記テーブルの回転開始時または回転終了時における前記工具と前記テーブルの回転中心との間の距離以上となるように、前記補間点位置の前記退避方向の位置補正量を算出する位置補正量算出部を有し、
前記出力部は、前記補間点位置と前記位置補正量とに基づき、前記サーボアンプに対する位置指令を出力する
ことを特徴とする請求項１記載の数値制御装置。
【請求項３】
前記記憶部は、複数の方向を優先順位と対応付けて設定された退避方向テーブルを記憶し、
前記退避方向決定部は、前記退避方向テーブルに基づき、前記工具が前記可動範囲を逸脱する直線軸の方向とは異なる方向で、かつ最も優先順位の高い方向を前記退避方向として決定する
ことを特徴とする請求項１または２記載の数値制御装置。
【請求項４】
前記退避方向決定部は、前記テーブルまたは前記工具に固定された座標系の直線軸を前記退避方向として決定する
ことを特徴とする請求項１または２記載の数値制御装置。
【請求項５】
前記記憶部は、複数の方向を複数のテーブル回転軸と対応付けて設定された退避方向テーブルを記憶し、
前記退避方向決定部は、前記退避方向テーブルに基づき、前記工具が前記補間点位置にあるときに回転するテーブル回転軸と対応付けられた方向を前記退避方向として決定する
ことを特徴とする請求項２記載の数値制御装置。
【請求項６】
前記退避方向決定部は、前記補間点位置を基準として前記テーブルの回転中心から離れる方向を前記退避方向として決定する
ことを特徴とする請求項２記載の数値制御装置。
【請求項７】
前記工具軌跡補正部が補正した前記工具の軌跡上を前記工具が退避しているとき、指令速度を下げる退避速度低下部を備えた
ことを特徴とする請求項１または２記載の数値制御装置。
【請求項８】
前記工具軌跡補正部は、前記補間点位置と前記位置補正量とに基づき、前記補間点位置を補正した後の位置が前記各直線軸のいずれかにて前記可動範囲を逸脱するか否かを判断する退避方向判断部を有し、
前記退避方向決定部は、前記退避方向判断部が前記補間点位置を補正した後の位置が前記可動範囲を逸脱すると判断した場合、既に退避方向として決定した方向とは異なる方向を新たに前記退避方向として決定する
ことを特徴とする請求項２記載の数値制御装置。
【請求項９】
前記退避方向判断部が前記補間点位置を補正した後の位置が前記可動範囲を逸脱すると判断した場合、警告する警告部を備えた
ことを特徴とする請求項３記載の数値制御装置。
【請求項１０】
前記工具軌跡補正部が前記工具の軌跡を補正しているとき、前記工具の軌跡が補正されている旨を通知する補正通知部を備えた
ことを特徴とする請求項１または２記載の数値制御装置。
【請求項１１】
加工プログラムに基づいて、工具を移動させる複数の直線軸とテーブルを回転させるテーブル回転軸とを有する工作機械を制御する数値制御装置において、
前記工具の移動が許容される前記各直線軸上の範囲として設定された可動範囲を記憶する記憶ステップと、
機械座標系でない座標系でのテーブル回転指令を解析して、前記テーブル回転指令を実行すると前記工具が前記各直線軸のいずれかにて前記可動範囲を逸脱するか否かを判断するストロークオーバー判断ステップと、
前記ストロークオーバー判断ステップにて、前記工具が前記可動範囲を逸脱すると判断した場合、前記工具が前記可動範囲を逸脱する直線軸の方向とは異なる方向を前記工具の退避方向として決定する退避方向決定ステップと、
前記退避方向に基づき、前記工具を退避させる間における前記工具と前記テーブルの回転中心との間の距離が、前記テーブルの回転開始時または回転終了時における前記工具と前記テーブルの回転中心との間の距離以上となるように、前記工具の軌跡を補正する工具軌跡補正ステップと、
前記工具軌跡補正ステップにて補正した前記工具の軌跡に基づき、サーボアンプに対する位置指令を出力する出力ステップと、
を備えたことを特徴とする数値制御装置の制御方法。
【請求項１２】
前記ストロークオーバー判断ステップは、前記テーブル回転指令の補間点位置を算出する補間処理ステップ、及び前記補間点位置が前記各直線軸のいずれかにて前記可動範囲を逸脱するか否かを判断する移動可否判断ステップを有し、
前記退避方向決定ステップは、前記移動可否判断ステップにて前記補間点位置が前記可動範囲を逸脱すると判断した場合、前記補間点位置が前記可動範囲を逸脱する直線軸の方向とは異なる方向を前記工具の退避方向として決定し、
前記工具軌跡補正ステップは、前記補間点位置を補正した後の位置と前記テーブルの回転中心との間の距離が、前記テーブルの回転開始時または回転終了時における前記工具と前記テーブルの回転中心との間の距離以上となるように、前記補間点位置の前記退避方向の位置補正量を算出する位置補正量算出ステップを有し、
前記出力ステップでは、前記補間点位置と前記位置補正量とに基づき、前記サーボアンプに対する位置指令を出力する
ことを特徴とする請求項１１記載の数値制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工プログラムに基づいて、工具を移動させる複数の直線軸とテーブルを回転させるテーブル回転軸とを有する工作機械を制御して、テーブルに固定されたワークを工具により加工するための数値制御（NC：Numerical Control）装置及び数値制御装置の制御方法に関する。
【背景技術】
【０００２】
従来、工具を移動させる複数の直線軸とテーブルを回転させるテーブル回転軸とを有する工作機械として、例えば、図８や図９に示す５軸加工機が知られている。図８は３つの直線軸、１つのテーブル回転軸、及び１つの工具回転軸を有する５軸加工機の外観図である。図８に示す５軸加工機は、互いに直交するＸ軸、Ｙ軸、及びＺ軸の３つの直線軸によって工具１０２が移動されるとともに、Ｚ軸周りに回転するＣ軸によってテーブル１０１が回転され、さらにＹ軸周りに回転するＢ軸によって工具１０２が回転されることで、テーブル１０１に固定されたワーク１００を加工する。一方、図９は３つの直線軸、及び２つのテーブル回転軸を有する５軸加工機の外観図である。図９に示す５軸加工機は、互いに直交するＸ軸、Ｙ軸、及びＺ軸の３つの直線軸によって工具１０２が移動されるとともに、Ｚ軸周りに回転するＣ軸とＸ軸周りに回転するＡ軸とによってテーブル１０１が回転されることで、テーブル１０１に固定されたワーク１００を加工する。【０００３】
このような工作機械では、テーブルの回転に連動して回転されるワークに対して、工具を加工プログラムにより指令された軌跡及び速度で移動させるために、予め工作機械に設定された機械座標系とは異なる座標系で補間を行い、工具を移動させる場合がある。例えば、特許文献１に記載された工具先端点制御は、加工プログラムにより指令されたワーク上の軌跡及び速度と、工具の刃先位置（以降、「工具先端点」と呼ぶ。）のワーク上の軌跡及び速度とが一致するように制御を行い、テーブルに固定されテーブルの回転に連動して回転するテーブル座標系上で補間を行うことで、工具を移動させている。【０００４】
特許文献１に示す工具先端点制御では、テーブル回転軸に対する回転指令（以降、「テーブル回転指令」と呼ぶ。）がされると、工具先端点とテーブルとの間の相対位置を維持するように工具先端点がテーブルの回転に連動して移動する。このため、加工プログラム作成者が加工プログラム作成段階にて各駆動軸への指令位置が予め設定された可動範囲内にあることを確認しながら加工プログラムを作成することは困難である。これにより、加工プログラム実行中に、各駆動軸への指令位置が可動範囲を逸脱してしまう事態（以降、「ストロークオーバー」と呼ぶ。）が発生することがある。【０００５】
以降、従来の数値制御装置について、図１０を参照して説明する。図１０は、従来の数値制御装置を説明するための図である。図１０の太線矢印は、工具先端点制御を実行中に、Ｃ軸の回転指令により、工具先端点がブロック始点Ａからブロック終点Ｂまでテーブルの回転に連動して移動するときの軌跡を示している。また、図１０の破線は、各駆動軸の可動範囲２６０を示している。図１０（a）は、Ｙ軸にてストロークオーバーが発生する例をＺ軸プラス方向から見た図である。ストロークオーバーは、工具先端点がＡ点からＢ点へ移動する軌跡上にあるＣ点からＤ点までの軌跡において、Ｙ軸への指令位置が、可動下限値ＹＬを逸脱することにより発生する。【０００６】
もしストロークオーバーの発生にも関わらず駆動軸を動作させようとすると、可動範囲を逸脱した動作となるので駆動軸の破損となる。そこで、従来の数値制御装置は、ストロークオーバーを回避するために、図１０（b）に示すように工具先端点の軌跡を複数の移動指令に分割して指令していた。図１０（ｂ）は、図１０（a）に示す加工プログラムに従った工具先端点の軌跡を補正した軌跡を示す図である。かかる従来の数値制御装置は、Ａ点からＣ点までの軌跡においては工具先端点制御をＯＮにして「G0 C60」と指令し、ストロークオーバーの発生するＣ点からＤ点までの軌跡においては工具先端点制御をＯＦＦにして「G0 X -10」と指令し、Ｄ点からＢ点までの軌跡においては工具先端点制御をＯＮにして「G0 C180」と指令することで、動作を続行していた。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３６４３０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記のような従来の数値制御装置は、工具先端点が図１０（b）に示すC点からD点までの軌跡上を移動する間に、工具先端点とテーブル回転中心Ｏとの間の距離が近づくことにより、ワークとの干渉を引き起こす場合があるという問題があった。また、図１０（ｂ）に示すように動作が続行できるように加工プログラムを修正するためには、時間がかかるという問題があった。【０００９】
また、図１０（b）に示す工具先端点とテーブル回転中心Ｏとの間の距離が近づく場合に、ワークとの干渉を回避する方法として、Ｃ軸と直交するテーブル回転軸であるＡ軸の回転指令を行うよう加工プログラムを修正する方法が考えられる。しかしながら、この場合は加工プログラム修正のために時間がかかるといった問題があった。【００１０】
また、上記のような従来の数値制御装置では、テーブル回転指令実行時に工具先端点制御を一旦無効にし、テーブル回転指令実行後に工具先端点制御を有効にするよう、加工プログラムを修正する方法が考えられる。しかしながら、この場合は加工プログラム修正のために時間がかかるといった問題があった。
【課題を解決するための手段】
【００１１】
本発明における数値制御装置は、加工プログラムに基づいて、工具を移動させる複数の直線軸とテーブルを回転させるテーブル回転軸とを有する工作機械を制御する数値制御装置において、前記工具の移動が許容される前記各直線軸上の範囲として設定された可動範囲を記憶する記憶部と、機械座標系でない座標系でのテーブル回転指令を解析して、前記テーブル回転指令を実行すると前記工具が前記各直線軸のいずれかにて前記可動範囲を逸脱するか否かを判断するストロークオーバー判断部と、前記ストロークオーバー判断部が前記工具が前記可動範囲を逸脱すると判断した場合、前記工具が前記可動範囲を逸脱する直線軸の方向とは異なる方向を前記工具の退避方向として決定する退避方向決定部と、前記退避方向に基づき、前記工具を退避させる間における前記工具と前記テーブルの回転中心との間の距離が、前記テーブルの回転開始時または回転終了時における前記工具と前記テーブルの回転中心との間の距離以上となるように、前記工具の軌跡を補正する工具軌跡補正部と、前記工具軌跡補正部が補正した前記工具の軌跡に基づき、サーボアンプに対する位置指令を出力する出力部と、を備えたことを特徴とする。【００１２】
また、本発明における数値制御装置の制御方法は、加工プログラムに基づいて、工具を移動させる複数の直線軸とテーブルを回転させるテーブル回転軸とを有する工作機械を制御する数値制御装置において、前記工具の移動が許容される前記各直線軸上の範囲として設定された可動範囲を記憶する記憶ステップと、機械座標系でない座標系でのテーブル回転指令を解析して、前記テーブル回転指令を実行すると前記工具が前記各直線軸のいずれかにて前記可動範囲を逸脱するか否かを判断するストロークオーバー判断ステップと、前記ストロークオーバー判断ステップにて、前記工具が前記可動範囲を逸脱すると判断した場合、前記工具が前記可動範囲を逸脱する直線軸の方向とは異なる方向を前記工具の退避方向として決定する退避方向決定ステップと、前記退避方向に基づき、前記工具を退避させる間における前記工具と前記テーブルの回転中心との間の距離が、前記テーブルの回転開始時または回転終了時における前記工具と前記テーブルの回転中心との間の距離以上となるように、前記工具の軌跡を補正する工具軌跡補正ステップと、前記工具軌跡補正ステップにて補正した前記工具の軌跡に基づき、サーボアンプに対する位置指令を出力する出力ステップと、を備えたことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、機械系座標とは異なる座標系での制御を実行中に、直線軸にてストロークオーバーが発生するようなテーブル回転指令がされた場合、工具とワークとの干渉を回避しつつ、ストロークオーバーを回避することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１における数値制御装置の構成を示すブロック図である。
【図２】実施の形態１における数値制御装置の機能を示す機能ブロック図である。
【図３】実施の形態１における数値制御装置の処理を示すフローチャートである。
【図４】実施の形態１における位置補正量算出部の処理を示すフローチャートである。
【図５】Ｙ軸にストロークオーバーが発生する例を説明するための図である。
【図６】図５の例において補正後の工具先端点の軌跡を示す図である。
【図７】Ｘ軸に対する移動指令とＣ軸に対する回転指令とが合わせてされた場合、Ｙ軸にてストロークオーバーが発生する例を説明するための図である。
【図８】３つの直線軸、１つのテーブル回転軸、及び１つの工具回転軸を有する５軸加工機の外観図である。
【図９】３つの直線軸、及び２つのテーブル回転軸を有する５軸加工機の外観図である。
【図１０】従来の数値制御装置を説明するための図である。
【符号の説明】
【００１５】
１  加工プログラム
４  パラメータ
４０  数値制御装置
５０  サーボアンプ
７０  モータ
２１  プログラム解析部
２２  補間処理部
２３  移動量出力部
２４  移動可否判断部
２５  位置補正量算出部
１００  ワーク
１０１  回転テーブル
１０２  工具
１０６  テーブル回転中心からの等距離球
２１０  移動データ
２２０  補間点位置
２３０  位置指令
２４０  ストロークオーバー発生信号
２５０  位置補正量
２６０  可動範囲
２６１  退避方向表
２６２  テーブル回転中心位置
【発明を実施するための形態】
【００１６】
実施の形態１．
図１〜図７を参照して、実施の形態１を説明する。
【００１７】
図１は、実施の形態１における数値制御装置の構成を示すブロック図である。数値制御装置４０は中央処理装置（CPU：Central Processing Unit）などの処理部４１と、リードオンリメモリ（ROM：Read-Only Memory）やランダムアクセスメモリ（RAM：Random-Access Memory）などの記憶部４２とを有し、これらはバス４６で接続される。記憶部４２には、システムプログラム、加工プログラム、及び後述するパラメータ４などの様々なデータが記憶される。処理部４１は、記憶部４２に記憶されるシステムプログラムに従って加工プログラムを実行する。
【００１８】
さらに、数値制御装置４０は、バス４６に接続されるI/F部４３、I/F部４４a〜４４e、およびI/F部４５と、I/F部４３に接続される入力表示部４７とを有する。入力表示部４７は、ユーザが加工プログラムや後述のパラメータ４などを入力するための図示しないキーボードと、入力した加工プログラムやパラメータなどを表示する図示しない表示器とを有する。I/F部４４a〜４４eには、それぞれサーボアンプ５０a〜５０eが接続される。サーボアンプ５０a〜５０eには、それぞれの制御対象であるＸ軸モータ７０a、Ｙ軸モータ７０b、Ｚ軸モータ７０c、Ｂ軸モータ７０d、及びＣ軸モータ７０eが接続される。I/F部４５には、主軸アンプ５５が接続され、さらに、主軸アンプ５５にはその制御対象である主軸モータ７５が接続される。
【００１９】
Ｘ軸モータ７０a、Ｙ軸モータ７０b、Ｚ軸モータ７０c、Ｂ軸モータ７０d、Ｃ軸モータ７０e、及び主軸モータ７５は、それぞれ図８に示す工作機械のＸ軸、Ｙ軸、Ｚ軸、Ｂ軸、Ｃ軸、及び主軸を駆動する。
【００２０】
なお、本実施の形態ではサーボアンプ５０a〜５０eを包括的にサーボアンプ５０と呼び、Ｘ軸モータ７０a、Ｙ軸モータ７０b、Ｚ軸モータ７０c、Ｂ軸モータ７０d、Ｃ軸モータ７０eを包括的にモータ７０と呼ぶものとする。
【００２１】
図２は、実施の形態１における数値制御装置の機能を示す機能ブロック図である。加工プログラム１は、Ｇコードと呼ばれるJIS規格の指令コードを用いて記述されたNCプログラムであり、図１に示す入力表示部４７により数値制御装置４０に入力される。指令コードの例としては、位置決め指令（G00）、切削指令（G01）、工具先端点制御指令（G43.4またはG43.5）などがある。
【００２２】
パラメータ４は、図１に示す入力表示部４７により数値制御装置４０に入力され、記憶部４２に記憶される。パラメータ４としては、後述する可動範囲２６０、後述する退避方向表２６１、及びテーブルの回転中心Ｏの位置２６２などがある。ここで、テーブル回転中心Ｏの位置２６２は、機械座標系上の座標として設定される。まずＣ軸と直交するＸ及びＹ軸上のテーブル回転中心Ｏの位置２６２、すなわちテーブル回転中心ＯのＸ座標及びＹ座標は、工作機械の機械構成に基づき設定される。一方、Ｃ軸と平行するＺ軸上のテーブル回転中心Ｏの位置２６２、すなわちテーブル回転中心ＯのＺ座標は、任意に設定することが可能である。プログラム作成を容易にするためには当該Ｚ座標をテーブルに近い位置に設定することが望ましい。本実施の形態では、テーブル回転中心ＯのＺ座標は、テーブルの上面と下面の間に設定されているものとして説明する。
【００２３】
数値制御装置４０は、加工プログラム１を解析して補間処理や加減速処理を行うことにより、サーボアンプ５０に対して位置指令２３０を出力する。数値制御装置４０は、後述するプログラム解析部２１、補間処理部２２、移動可否判断部２４、位置補正量算出部２５、及び移動量出力部２３を有し、これらの動作は図１の処理部４１が記憶部４２に記憶するシステムプログラムを実行することにより実現される。
【００２４】
次に、図３を参照して数値制御装置４０の処理を説明する。図３は、実施の形態１における数値制御装置の処理を示すフローチャートである。
【００２５】
まず、プログラム解析部２１は、加工プログラム１の次のブロックを解析する（ステップＳ１）。ここで、「次のブロック」とは、加工プログラム１の各ブロックのうち、プログラム解析部２１により既に解析されたブロックが無い場合は最初のブロックを意味し、既に解析されたブロックがある場合は直前に解析されたブロックの次のブロックを意味する。各ブロックには、指令コードと各軸に対する指令とが記述される。
【００２６】
つぎに、プログラム解析部２１は、Ｓ１にて解析したブロックに基づき移動データ２１０を生成する（ステップＳ２）。移動データ２１０は、移動モード、座標系、機械座標系上のブロック始点位置、機械座標系上のブロック終点位置、移動距離、補間モード、制御モード、移動速度などの情報を含む。ここで、移動モードとしては、切削を行いながら移動する切削送り、切削を行わずに移動する位置決めなどがある。座標系としては、予め工作機械に設定された機械座標系と、テーブルに固定されテーブルの回転とともに回転するテーブル座標系とがある。補間モードとしては、直線補間、円弧補間、非補間などがある。制御モードとしては、機械座標系での制御と、テーブル座標系で制御を行う工具先端点制御とがある。ここで、機械座標系での制御ではテーブルと工具はそれぞれ独立して動作するのに対し、工具先端点制御ではテーブルと工具が一定の相対位置関係を維持しつつ動作する。
【００２７】
つぎに、補間処理部２２は、Ｓ２にてプログラム解析部２１が生成した移動データ２１０に含まれる制御モードを参照し、現在のブロックの制御モードが工具先端点制御であるか否かを判断する（ステップＳ３）。Ｓ３にて、工具先端点制御であると判断した場合、座標系がテーブル座標系であるため、つぎに、補間処理部２２は、テーブル座標系上での５軸それぞれの補間点位置を算出する（ステップＳ４）。その後、Ｓ４にて算出した各軸の補間点位置に基づき、機械座標系上での各軸の補間点位置２２０を算出する（ステップＳ５）。なお、Ｓ４及びＳ５における算出方法は、特許文献１などに開示された公知技術により可能であるため、説明を省略する。一方、Ｓ３にて、現在のブロックの制御モードが工具先端点制御でないと判断した場合は、座標系が機械座標系であるため、つぎに、補間処理部２２は、Ｓ５に進んで機械座標系上の５軸それぞれの補間点位置２２０を算出する。
【００２８】
以降の説明においては、現在のブロックは、テーブル座標系における工具先端点制御を実行中であり、「G00 C180.」で表される、Ｃ軸が１８０度回転するテーブル回転指令であるものとする。なお、このＣ軸の回転指令の移動モードは、切削を行わない位置決めである。
【００２９】
Ｓ５にて補間処理部２２が機械座標形上の補間点位置２２０を算出すると、次に移動可否判断部２４は、Ｘ、Ｙ、及びＺの各軸において、次の補間点位置２２０と可動範囲２６０とを比較する（ステップＳ６）。ここで、「次の補間点位置２２０」とは、Ｓ５にて補間処理部２２が算出した機械座標系上の各補間点位置２２０のうち、移動可否判断部２４により既に可動範囲２６０と比較された補間点位置２２０が無い場合は最初の補間点位置２２０を意味し、既に可動範囲２６０と比較された補間点位置２２０がある場合は直前に比較された補間点位置２２０の次の補間点位置２２０を意味する。可動範囲２６０は、機械座標系上のＸ、Ｙ、及びＺの各軸における可動上限座標と可動下限座標とから定義され、補間が許容される（工具先端点の移動が許容される）直線軸上の範囲である。本実施の形態では、可動上限座標及び可動下限座標は、それぞれつぎの式（１）及び式（２）で設定されているものとする。
（Ｘ軸可動上限座標、Ｙ軸可動上限座標、Ｚ軸可動上限座標）＝（ＸＨ、ＹＨ、ＺＨ）
・・・（１）
（Ｘ軸可動下限座標、Ｙ軸可動下限座標、Ｚ軸可動下限座標）＝（ＸＬ、ＹＬ、ＺＬ）
・・・（２）
【００３０】
つぎに、移動可否判断部２４は、Ｓ６での比較結果に基づき、ストロークオーバー発生信号２４０を生成する（ステップＳ７）。ここで、ストロークオーバー発生信号２４０は、各直線軸の有効状態または無効状態を判別可能な信号であり、補間点位置２２０が可動範囲２６０内にある軸を無効状態とし、補間点位置２２０が可動範囲２６０外にある軸を有効状態として設定される。この補間点位置２２０において、ストロークオーバー発生信号２４０が無効状態の軸ではストロークオーバーが発生しないことを意味し、有効状態の軸ではストロークオーバーが発生することを意味する。
【００３１】
つぎに、補間点位置２２０とストロークオーバー発生信号２４０とに基づき、位置補正量算出部２５はＸ、Ｙ、及びＺの各軸に対応する位置補正量２５０を算出する（ステップＳ８）。位置補正量２５０は、Ｓ７にてストロークオーバーが発生すると判断された補間点位置２２０を、ストロークオーバーを回避するために補正するときの補正量である。なお、Ｓ８における位置補正量算出部２５の処理の詳細は後述する。
【００３２】
つぎに、移動量出力部２３は、補間点位置２２０と位置補正量２５０とを加算して加減速処理を行うことにより、位置指令２３０を算出し、位置指令２３０をサーボアンプ５０に出力する（ステップＳ９）。その後、サーボアンプ５０は、位置指令２３０に基づきサーボ制御によりモータ７０を駆動制御する。
【００３３】
つぎに、移動可否判断部２４は、補間点位置２２０が現在のブロックにおける最後の補間点位置２２０であるか否かを判断し（ステップＳ１０）、最後の補間点位置２２０でない場合はＳ６に戻る。一方、Ｓ１０にて最後の補間点位置２２０である場合は、つぎに、プログラム解析部２１は、現在のブロックが加工プログラム１における最後のブロックであるか否かを判断し（ステップＳ１１）、最後のブロックでない場合はＳ１に戻る。一方、Ｓ１１にて最後のブロックである場合は、処理を終了する。
【００３４】
このように、本実施の形態では、加工プログラム１の全てのブロック毎に求める各補間点位置２２０に対して、それぞれ可動範囲２６０と比較することで補正の必要性を判断する。そして、ストロークオーバーが発生して補正が必要な補間点位置２２０に対しては、各軸毎の位置補正量２５０を算出し、ストロークオーバーを回避することができる。
【００３５】
次に、図４〜図６を参照して、位置補正量算出部２５が位置補正量２５０を算出する処理を説明する。ここで説明する位置補正量算出部２５の処理は、図３のＳ８に相当する。図４は、実施の形態１における位置補正量算出部２５の処理を示すフローチャートである。
【００３６】
まず、位置補正量算出部２５は、図３のＳ２にてプログラム解析部２１が生成した移動データ２１０に含まれる機械座標系上のブロック始点Ａの位置（Ｘａ、Ｙａ、Ｚａ）とパラメータ４として入力されたテーブル回転中心Ｏの位置２６２（Ｘo、Ｙo、Ｚo）とに基づき、これら２点間の距離Ｒを以下の式（３）により求める（ステップＳ１０１）。
2011111088.tif 000003
【００３７】
つぎに、位置補正量算出部２５は、図３のＳ７において移動可否判断部２４が出力したストロークオーバー発生信号２４０に基づき、Ｘ軸、Ｙ軸、およびＺ軸の中に有効状態の軸があるか否かを判断する（ステップＳ１０２）。有効状態の軸が無いと判断すると、位置補正量算出部２５は、各軸に対応する位置補正量２５０を０（ゼロ）に設定し（ステップＳ１０３）、その後、Ｓ１０８に進む。
【００３８】
一方、Ｓ１０２にて有効状態の軸があると判断すると、位置補正量算出部２５は、図１の記憶部４２に記憶された退避方向表２６１に基づき、退避方向を決定する（ステップＳ１０４）。この退避方向は、ストロークオーバーが発生する補間点位置２２０において、ストロークオーバーを回避するために補間点位置２２０を補正するときの補正方向である。ここで、退避方向表２６１は、１つの退避方向のみ記憶するものでもよいし、つぎの表１に示すような複数の退避方向を優先順位と対応づけて記憶するものでもよい。
【００３９】
【表１】
2011111088.tif 000004
【００４０】
次に、図５に示す場合を例にとり、具体的に説明する。図５（a）及び図５（ｂ）は、Ｙ軸にてストロークオーバーが発生する例を、それぞれＺ軸プラス方向及びＹ軸マイナス方向から見た図である。図５の太線矢印は、工具先端点制御を実行中に「G00 C180.」で表されるＣ軸の回転指令により、工具先端点がブロック始点Ａからブロック終点Ｂまでテーブルの回転に連動して移動するときの軌跡を示している。また、図５の破線は、可動範囲２６０を示している。そして、図５の二点鎖線は、テーブル回転中心Ｏを中心とし、半径を式（３）のＲとする等距離球１０６を示している。ストロークオーバーは、Ａ点からＢ点へ移動する軌道上の、Ｙ軸可動下限座標ＹＬを逸脱するＣ点からＤ点までの軌跡にて発生する。
【００４１】
なお、現在の補間点位置２２０は、Ｃ点とＤ点の間にあるＰ点（Ｘ、Ｙ、Ｚ）にあるとし、退避方向表２６１は表１に示すものであるとする。このとき、Ｐ点でのストロークオーバー発生信号２４０は、Ｙ軸が有効状態であり、Ｘ軸とＺ軸が無効状態である。よって、Ｓ１０４にて、位置補正量算出部２５は、退避方向表２６１に記憶される複数の退避方向のうち、有効状態であるＹ軸のプラス方向及びマイナス方向を除外し、残った退避方向の中で最も優先順位が高いＺ軸プラス方向を選択する。
【００４２】
Ｓ１０４の後、位置補正量算出部２５は、Ｓ１０３にて決定した退避方向に基づき、Ｘ、Ｙ、及びＺの各軸に対応する位置補正量２５０を算出する（ステップＳ１０５）。まず、ストロークオーバーの発生するＣ点からＤ点までの軌跡における工具先端点のＹ座標を、可動範囲２６０の可動下限座標ＹＬに固定する。また、Ｓ１０４にて決定した退避方向がＺ軸プラス方向であるため、各軸に対応する位置補正量２５０をつぎの式（４）のようにおく。
（Ｘ軸位置補正量、Ｙ軸位置補正量、Ｚ軸位置補正量）＝（０、０、ＣＺ）
・・・（４）
式（４）のＺ軸プラス方向のＺ軸位置補正量ＣＺは、補間点位置２２０であるＰ点とテーブル回転中心０との間の距離が一定値Ｒとなるよう、以下の式（５）により算出される。
2011111088.tif 000005
この式（５）と、Ｙ＝ＹＬより、以下の式（６）が求まる。
2011111088.tif 000006
この式（６）と式（１）により、Ｚ軸位置補正量ＣＺを求めることができる。
【００４３】
Ｓ１０５のにて位置補正量２５０を算出した後、位置補正量算出部２５は、補間点位置２２０と位置補正量２５０とを加算するとともに、Ｙ軸の座標をＹ軸の可動下限値ＹＬに設定し、補正後の補間点位置を求める（ステップＳ１０６）。図６に示すように、補間点位置Ｐを補正した後の補間点位置Ｐ’は（Ｘ、ＹＬ、Ｚ＋ＣＺ）となる。図６（a）及び図６（ｂ）は、図５の例において上述の方法でＣ点からＤ点までの各補間点位置２２０を補正した後の工具先端点の軌跡を示す図であり、それぞれ図５（a）及び図５（ｂ）に相当する。図６に示すように、Ｃ点からＤ点までの各補間点位置２２０はＹ軸の可動範囲２６０を逸脱しないように補正されている。
【００４４】
つぎに、位置補正量算出部２５は、補正後の補間点位置Ｐ’と可動範囲２６０とを比較し、補正後の補間点位置Ｐ’が可動範囲２６０内にあるか否かを判断する（ステップＳ１０７）。Ｓ１０７にて、補正後の補間点位置Ｐ’が可動範囲２６０内にある場合、つぎに、位置補正量算出部２５は、Ｓ１０８に進む。
【００４５】
一方、Ｓ１０７にて、補正後の補間点位置Ｐ’が可動範囲２６０外にある場合、つぎに、位置補正量算出部２５は、Ｓ１０４に戻り、既に退避方向として決定した方向とは異なる退避方向を決定する。ここで、仮にＳ１０７にて補正後の補間点位置Ｐ’がＺ軸の可動上限値ＺＨを逸脱すると判断した場合を例として、位置補正量算出部２５がＳ１０４に戻った後に行う処理を説明する。まず、Ｓ１０４では、前述した処理と同様に、位置補正量算出部２５は、退避方向を決定する。ここでは、退避方向表２６１の複数の退避方向のうち、ストロークオーバー発生信号２４０が有効状態であるＹ軸のプラス方向及びマイナス方向が除外される。さらに、既に退避方向として決定されたＺ軸プラス方向も除外される。そして、残った退避方向の中で最も優先順位が高い、Ｘ軸プラス方向を選択する。
【００４６】
つぎに、Ｓ１０５において、位置補正量算出部２５は、各軸に対応する位置補正量２５０をつぎの式（７）のようにおく。
（Ｘ軸位置補正量、Ｙ軸位置補正量、Ｚ軸位置補正量）＝（ＣＸ、０、ＺＨ−Ｚ）
・・・（７）
式（７）においてＣＸはＸ軸プラス方向への位置補正量である。つぎに、位置補正量算出部２５は、式（６）と同様、以下の式（８）により、ＣＸを求める。
2011111088.tif 000007
この式（８）と式（１）とに基づき、Ｘ軸位置補正量ＣＸを求めることができる。
【００４７】
Ｓ１０８において、位置補正量算出部２５は、Ｓ１０５にて算出した各軸に対応する位置補正量２５０を移動量出力部２３に出力し（ステップＳ１０８）、その後、処理を終了する。
【００４８】
本実施の形態によれば、工具先端点制御を実行中に、直線軸にてストロークオーバーが発生するようなテーブル回転指令がされた場合、工具先端点とテーブル回転軸中心との間の距離をテーブル回転開始時からテーブル回転終了時まで一定に維持しつつ工具を退避させることで、ストロークオーバーを回避することができる。これにより、工具退避中に、工具とワークとの干渉を回避することができる。また、加工プログラムの実行中に自動で補間点位置を補正するため、加工プログラムの修正を行う必要が無く、容易に加工プログラムを作成することができる。また、退避方向表にて予め複数の退避方向を記憶することができるため、１つの退避方向のみ記憶している場合と比べて、より高い確率でストロークオーバーを回避することができる。
【００４９】
なお、実施の形態１では、工具退避中における工具先端点とテーブル回転中心との間の距離を、テーブル回転指令のテーブル回転開始時での工具先端点とテーブル回転中心との間の距離と等しくなるようにするが、これに限られない。たとえば、工具退避中における工具先端点とテーブル回転中心との間の距離を、テーブル回転位置指令のテーブル回転開始時での工具先端点とテーブル回転中心との間の距離以上となるようにしてもよい。これにより、工具退避中に、工具とワークとの干渉をさらに高い確率で回避することができる。
【００５０】
また、工具退避中における工具先端点とテーブル回転中心との間の距離を、テーブル回転指令のテーブル回転開始時またはテーブル回転終了時での工具先端点とテーブル回転中心との間の距離以上となるようにしてもよい。このようにすることで、テーブル回転開始時とテーブル回転終了時とで、工具先端点とテーブル回転中心との間の距離が異なる場合にも、実施の形態１と同様の効果を得ることができる。具体例として、図７に示す場合について説明する。図７は、「G00 Ｘ-10. C180.」で表されるように、Ｘ軸に対する移動指令とＣ軸に対する回転指令とが合わせてされた場合、Ｙ軸にてストロークオーバーが発生する例を示す図であり、図５（a）に相当する。この場合、テーブル回転中心Ｏとブロック始点Ａ（Ｘa、Ｙa、Ｚa）との間の距離Ｒ１と、テーブル回転中心Ｏとブロック終点Ｂ（Ｘb、Ｙb、Ｚb）との間の距離Ｒ２とは異なる。そこで、退避時における工具先端点とテーブル回転中心Ｏとの間の距離を、Ｒ１またはＲ２以上とすることにより、実施の形態１と同様の効果を得ることができる。
【００５１】
また、実施の形態１では、退避方向を、退避方向表２６１にて対応付けられた優先順位に基づき決定するが、これに限られない。例えば、退避方向をそのストロークオーバーの発生する補間点位置２２０に基づき決定してもよい。これにより、補間点位置２２０を基準としてテーブルから離れる方向を退避方向として決定することができるため、工具とワークとの干渉を回避し得る退避方向を容易に決定することができる。
【００５２】
また、実施の形態１では、予め工作機械に設定された機械座標系のＸ、Ｙ、またはＺの各直線軸方向のいずれかを退避方向として決定しているが、これに限られない。例えば、テーブルに固定されテーブルの回転に連動して回転するテーブル座標系のＸ’、Ｙ’、またはＺ’の各直線軸方向のいずれかを退避方向として決定してもよい。これにより、テーブルの回転角度に基づき工具とワークとの干渉を回避し得る退避方向を容易に決定することができる。
【００５３】
また、直線軸方向だけでなく、テーブル回転軸や工具回転軸の回転軸方向も、退避方向として決定するようにしてもよい。このような場合であっても、本実施の形態と同様の効果を得ることができる。
【００５４】
なお、実施の形態１では、工作機械が図８に示すように１つのテーブル回転軸を有する場合について説明したが、図９に示すようにテーブル回転軸を複数有してもよい。この場合、これらテーブル回転軸の交差する点をテーブル回転中心としてもよい。このような場合であっても、本実施の形態と同様の効果を得ることができる。
【００５５】
また、工作機械が複数のテーブル回転軸を有する場合、退避方向をストロークオーバー発生時に回転中のテーブル回転軸に基づき決定してもよい。例えば、図９に示す場合、ストロークオーバー発生時にＡ軸が回転中である場合は退避方向をテーブル座標系のＸ’軸方向として決定し、Ｃ軸が回転中である場合は退避方向をテーブル座標系のＺ’軸方向を退避方向として決定する。これにより、テーブル回転軸の回転状況に基づき工具とワークとの干渉を回避し得る退避方向を容易に決定することができる。
【００５６】
また、工作機械が工具に回転軸を有する場合、工具に固定され工具回転軸の回転に連動する工具座標系の直線軸方向を退避方向として設定してもよい。これにより、工具姿勢に基づき工具とワークとの干渉を回避し得る退避方向を容易に決定することができる。
【００５７】
また、数値制御装置４０は、図３のＳ６にて移動可否判断部２４が可動範囲２６０を逸脱する軸が少なくとも１軸以上存在すると判断した場合、その補間点位置２２０における指令速度を低くする退避速度低下手段を設けてもよい。これにより、工具の退避動作を低速度で行うことができ、操作者が容易に工作機械の動作確認を行うことができ、生産効率を向上することができる。
【００５８】
また、数値制御装置４０は、位置補正量算出部２５が退避方向表２６１に記憶された全ての退避方向について図４のＳ１０４〜Ｓ１０７の処理を行った後、その補間点位置２２０においてストロークオーバーを回避できないと判断した場合、入力表示部４７の表示器などを介して警告するアラーム手段を設けてもよい。これにより、ストロークオーバーを回避できない旨を操作者に通知することができ、操作者が迅速に動作を停止することができ、生産効率を向上することができる。
【００５９】
また、数値制御装置４０は、図４のＳ１０８にて出力する各軸に対応する位置補正量２５０が０（ゼロ）でない場合、位置補正量２５０を出力中である旨を入力表示部４７の表示器を介して通知する補正通知手段を設けてもよい。これにより、補間点位置２２０の補正が行われていることを操作者に通知することができ、操作者が容易に工作機械の動作確認を行うことができ、生産効率を向上することができる。
【００６０】
また、実施の形態１では、各補間点位置２２０毎に、移動可否判断部２４によるストロークオーバーの判断や位置補正量算出部２５による位置補正量２５０の算出を行うが、これに限られない。たとえば、プログラム解析部２１にて、各ブロックの解析時にストロークオーバーが発生するか否かを判断し、ストロークオーバーが発生すると判断した場合、テーブル回転指令をストロークオーバーが発生しない軌跡と発生する軌跡とに分割し、ストロークオーバーが発生する軌跡のみを変更するようにしてもよい。すなわち、図５の場合を例に説明すると、プログラム解析部２１は、ブロック始点Ａからブロック終点Ｂまでのテーブル回転指令を、ストロークオーバーが発生しないＡ点からＣ点までのテーブル回転指令及びＤ点からＢ点までのテーブル回転指令と、ストロークオーバーが発生するＣ点からＤ点までのテーブル回転指令の３つの指令に分割する。そして、図５に示すＣ点からＤ点までのテーブル回転指令を、退避方向表２６１に基づき、図６に示すＣ点からＤ点までの移動指令へ変更する。これにより、各補間点位置２２０毎に移動可否判断部２４によるストロークオーバーの判断や位置補正量算出部２５による位置補正量２５０の算出をする必要がなくなるため、数値制御装置４０の演算負荷を軽くすることができる。
【００６１】
また、実施の形態１では、テーブル座標系における工具先端点制御の実行中に、工具先端点が可動範囲を逸脱するようなテーブル回転指令がされた場合に、工具先端点の軌跡を補正するが、これに限られない。すなわち、工具先端点制御以外にも、機械座標系でない座標系におけるいかなる制御を実行中に、工具が可動範囲を逸脱するようなテーブル回転指令がされた場合に、工具の軌跡を補正するようにしてもよい。機械座標系でない座標系での制御として、たとえばワーク座標系におけるワーク設置誤差補正がある。
【００６２】
また、実施の形態１では、工具を移動させる各直線軸の補間点位置を、その補間点での工具先端点の位置と定義したが、これに限られない。すなわち、工具を移動させる各直線軸の補間点位置は、その補間点での工具のいかなる位置と定義してもよい。
【図１】
2011111088.tif 000008
【図２】
2011111088.tif 000009
【図３】
2011111088.tif 000010
【図４】
2011111088.tif 000011
【図５】
2011111088.tif 000012
【図６】
2011111088.tif 000013
【図７】
2011111088.tif 000014
【図８】
2011111088.tif 000015
【図９】
2011111088.tif 000016
【図１０】
2011111088.tif 000017
【国際調査報告】
2011111088.tif 000018
2011111088.tif 000019
2011111088.tif 000020
2011111088.tif 000021