(57)【特許請求の範囲】
【請求項１】
プログラムに含まれる固定サイクル指令である深穴ドリルサイクル指令に基づいて複数の指令データを含む指令データ列を生成し、該指令データ列に基づいて機械を制御する数値制御装置において、
前記深穴ドリルサイクル指令を解析し、解析結果に基づいて前記指令データ列を生成する固定サイクル演算部を備え、
前記固定サイクル演算部は、
前記深穴ドリルサイクル指令により指令されるワークに対する工具の全体の切込み量およびワークに対する１回の工具の切込み量に基づいて余りの切込み量を算出する余量算出部と、
前記余りの切込み量に基づいて、前記指令データ列による前記工具の送り移動量の合計が少なくなるように前記指令データ列に含まれる指令データの順番または切込み量を調整する指令データ列調整部と、を備え、
前記指令データ列調整部は、
前記余りの切込み量の切削送りを指令する指令データを最初に実行するように前記指令データ列に含まれる指令データの順番を変更する順序変更部を備える、
ことを特徴とする数値制御装置。
【請求項２】
プログラムに含まれる固定サイクル指令である深穴ドリルサイクル指令に基づいて複数の指令データを含む指令データ列を生成し、該指令データ列に基づいて機械を制御する数値制御装置において、
前記深穴ドリルサイクル指令を解析し、解析結果に基づいて前記指令データ列を生成する固定サイクル演算部を備え、
前記固定サイクル演算部は、
前記深穴ドリルサイクル指令により指令されるワークに対する工具の全体の切込み量およびワークに対する１回の工具の切込み量に基づいて余りの切込み量を算出する余量算出部と、
前記余りの切込み量に基づいて、前記指令データ列による前記工具の送り移動量の合計が少なくなるように前記指令データ列に含まれる指令データの順番または切込み量を調整する指令データ列調整部と、を備え、
前記指令データ列調整部は、
前記指令データ列の最後の指令データの実行時に前記工具が取り付けられた主軸モータの負荷トルクを計測し、前記負荷トルクが予め設定された第２の閾値を越えない範囲で前記最後の指令データの切込み量に対して前記余りの切込み量を上乗せする余量再配分部を備える、
ことを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に固定サイクルにおける余りステップの順序変更もしくは再分配による高速化機能を備えた数値制御装置に関する。
【背景技術】
【０００２】
従来、数値制御装置により行われる穴あけ加工の動作パターンとして、図１０に示すような深穴ドリルサイクルがある。この加工サイクルは、以下のような動作を行う。
動作１：切込み量ｑだけ一定の切削速度で送る。
動作２：復帰点まで早送りで戻る。
動作３：次の切込みのため、前の切込み終了点より逃げ量ｄ（パラメータまたはセッティングで設定する）だけ手前まで早送りする。
動作４：ｄ＋ｑだけ一定の切削速度で送る。
動作５：動作２〜４を繰り返す。
動作６：切込みの途中で穴底に到達すると、切込みを終了する。
動作７：復帰点まで早送りで戻す。
【０００３】
上記した深穴ドリルサイクルは以下のコードにより指令することができる。
Ｇ８３  Ｘｘ  Ｙｙ  Ｚｚ  Ｒｒ  Ｑｑ  Ｆｆ；
上記指令において、ｘ，ｙ，ｚ，ｒ，ｑ，ｆはデータ値で、Ｘ，ＹはＸＹ平面上のドリル加工を行う位置の座標、Ｚはドリル加工の穴底の位置の座標、Ｒは復帰点の位置の座標、Ｑは切込み量、Ｆは送り速度を示している。
【０００４】
深穴ドリルサイクルは、深穴を加工する際に使用され、穴底まで、間欠的に切削送りして切りくずを外に排出しながら加工することを特徴とする。
このような固定サイクルの実行時間を短縮する方法として、切込み量を変更することが考えられる。例えば特許文献１に開示される技術では、切込み量を大きくすることにより、切込み動作の回数を減らして実行時間の短縮をしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１０５６０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示される技術を用いて切込み量を大きくしたときに、例えば切込み動作の回数が変わらなかった場合などのように、実行時間が短縮されるどころか、早送り動作の距離が伸びた分、実行時間が増加してしまうことがあるという問題がある。図１１は、図１０の設定から切込み量をａだけ大きくした場合の動作を示している。図１０の深穴ドリルサイクルの動作と図１１の深穴ドリルサイクルの動作とでは、切削の移動距離の合計こそ２ｑ＋ｑ’＋２ｄで変わらないが、早送りの移動距離の合計は、図１０の場合、ｑ＋（ｑ−ｄ）＋２ｑ＋（２ｑ−ｄ）＋（２ｑ＋ｑ’）＝８ｑ＋ｑ’−２ｄとなり、一方で図１１の場合、（ｑ＋ａ）＋（ｑ＋ａ−ｄ）＋２（ｑ＋ａ）＋（２（ｑ＋ａ）−ｄ）＋（２ｑ＋ｑ’）＝８ｑ＋ｑ’−２ｄ＋６ａとなり、切込み量を大きくしたことで６ａだけ移動距離が長くなり、実行時間が増加することがわかる。
【０００７】
そこで本発明の目的は、固定サイクルの各ステップを調整することによる高速化機能を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明では、固定サイクルの各ステップの実行順序の調整、または各ステップにおける切込み量の調整を行うことで固定サイクルの実行時間を短縮する機能手段を数値制御装置に設けることにより、上記課題を解決する。
【０００９】
そして、本願の請求項１に係る発明は、プログラムに含まれる固定サイクル指令である深穴ドリルサイクル指令に基づいて複数の指令データを含む指令データ列を生成し、該指令データ列に基づいて機械を制御する数値制御装置において、前記深穴ドリルサイクル指令を解析し、解析結果に基づいて前記指令データ列を生成する固定サイクル演算部を備え、前記固定サイクル演算部は、前記深穴ドリルサイクル指令により指令されるワークに対する工具の全体の切込み量およびワークに対する１回の工具の切込み量に基づいて余りの切込み量を算出する余量算出部と、前記余りの切込み量に基づいて、前記指令データ列による前記工具の送り移動量の合計が少なくなるように前記指令データ列に含まれる指令データの順番または切込み量を調整する指令データ列調整部と、を備え、前記指令データ列調整部は、前記余りの切込み量の切削送りを指令する指令データを最初に実行するように前記指令データ列に含まれる指令データの順番を変更する順序変更部を備える、ことを特徴とする数値制御装置である。
【００１２】
本願の請求項２に係る発明は、プログラムに含まれる固定サイクル指令である深穴ドリルサイクル指令に基づいて複数の指令データを含む指令データ列を生成し、該指令データ列に基づいて機械を制御する数値制御装置において、前記深穴ドリルサイクル指令を解析し、解析結果に基づいて前記指令データ列を生成する固定サイクル演算部を備え、前記固定サイクル演算部は、前記深穴ドリルサイクル指令により指令されるワークに対する工具の全体の切込み量およびワークに対する１回の工具の切込み量に基づいて余りの切込み量を算出する余量算出部と、前記余りの切込み量に基づいて、前記指令データ列による前記工具の送り移動量の合計が少なくなるように前記指令データ列に含まれる指令データの順番または切込み量を調整する指令データ列調整部と、を備え、前記指令データ列調整部は、前記指令データ列の最後の指令データの実行時に前記工具が取り付けられた主軸モータの負荷トルクを計測し、前記負荷トルクが予め設定された第２の閾値を越えない範囲で前記最後の指令データの切込み量に対して前記余りの切込み量を上乗せする余量再配分部を備える、ことを特徴とする数値制御装置である。
【発明の効果】
【００１３】
本発明により、従来動作と比べて、オペレータが意識して切込み量を変更しなくとも早送りの移動距離を短くすることができ、実行時間を短縮することができるため、切込み量を大きくした際に切込み動作の回数が変わらなかったとしても、早送りの移動距離が短くなり、実行時間を短縮することができる。また、余りステップを再分配可能であれば再分配するので、従来動作に比べて固定サイクルの切込み回数を減らすことができ、実行時間を短縮することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の数値制御装置による固定サイクルの各ステップの実行順序の調整方法を説明する図である。
【図２】図１において各ステップの切込み量を大きくした場合について説明する図である。
【図３】本発明の数値制御装置による固定サイクルの各ステップの切込み量の調整方法を説明する図である。
【図４】本発明の数値制御装置による他の固定サイクルの各ステップの切込み量の調整方法を説明する図である。
【図５】本発明の一実施形態による数値制御装置の要部構成図である。
【図６】本発明の一実施形態による数値制御装置の概略的な機能ブロック図である。
【図７】固定サイクルの各ステップの実行順序の調整を行う場合の動作を示す概略的なフローチャートである。
【図８】固定サイクルの各ステップにおける切込み量の調整（等分配）を切込み量の閾値ａを用いて行う場合の動作を示す概略的なフローチャートである。
【図９Ａ】固定サイクルの各ステップにおける切込み量の調整を主軸モータの負荷トルクの閾値ｂを用いて行う場合の動作を示す概略的なフローチャート（１）である。
【図９Ｂ】固定サイクルの各ステップにおける切込み量の調整を主軸モータの負荷トルクの閾値ｂを用いて行う場合の動作を示す概略的なフローチャート（２）である。
【図１０】数値制御装置で行われる深穴ドリルサイクルによる穴あけ加工の動作パターンを示す図である。
【図１１】図１０において各ステップの切込み量を大きくした場合について説明する図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面と共に説明する。
本発明の数値制御装置は、固定サイクル指令を実行する際に、固定サイクルの各ステップの実行順序または各ステップにおける切込み量を、工具の移動量が最短となるように調整することにより固定サイクルの実行時間を短縮する。
【００１６】
図１を用いて本発明の数値制御装置による固定サイクルの各ステップの実行順序の調整方法を説明する。
図１（ａ）は、切込み量ｑ（余りステップにおける切込み量はｑ’）とした場合における通常の深穴ドリルサイクル指令による切込み動作を示しており、また、図１（ｂ）は、図１（ａ）から切込み量は変更せずに、余りステップを最初に実行するように実行順序を変更したものである。この時、切削の移動距離の合計は、図１（ａ）も図１（ｂ）も２ｑ＋ｑ’＋２ｄで変わらないが、早送りの移動距離の合計は、図１（ａ）の場合、ｑ＋（ｑ−ｄ）＋２ｑ＋（２ｑ−ｄ）＋（２ｑ＋ｑ’）＝８ｑ＋ｑ’−２ｄとなるが、図１（ｂ）の場合、ｑ’＋（ｑ’−ｄ）＋（ｑ’＋ｑ）＋（ｑ’＋ｑ−ｄ）＋（ｑ’＋２ｑ）＝４ｑ＋５ｑ’−２ｄとなり、４（ｑ−ｑ’）だけ移動距離が短くなり、実行時間が短縮できる。この方法を用いることによる高速化の効果は、穴あけのステップ数をｎとすると、一般に２ｎ（ｑ−ｑ’）分の移動距離の短縮となる。
【００１７】
図２は、本発明の数値制御装置により固定サイクルの各ステップの実行順序を調整した上で切込み量を大きくした場合について説明する図である。上記した方法により固定サイクルの各ステップの実行順序を調整して余りステップを最初に実行するようにすると、切込み量を大きくして、切込み動作の回数が変わらなかったとしても、早送りの移動距離が短くなり、実行時間を短縮することができる。
図２（ａ）は、切込み量ｑ（余りステップにおける切込み量はｑ’）とした場合における余りステップを最初に実行した場合の深穴ドリルサイクル指令による切込み動作を示しており、また、図２（ｂ）は図２（ａ）の設定から切込み量をａだけ大きくした場合の動作を示している。この時、切削の移動距離の合計は、図２（ａ）も図２（ｂ）も２ｑ＋ｑ’＋２ｄで変わらないが、早送りの移動距離の合計は、図２（ａ）の場合、ｑ’＋（ｑ’−ｄ）＋（ｑ’＋ｑ）＋（ｑ’＋ｑ−ｄ）＋（ｑ’＋２ｑ）＝４ｑ＋５ｑ’−２ｄとなるが、図２（ｂ）の場合、（ｑ’−２ａ）＋（ｑ’−２ａ−ｄ）＋（（ｑ’）＋（ｑ＋ａ））＋（（ｑ’−２ａ）＋（ｑ＋ａ）−ｄ）＋（ｑ’＋２ｑ）＝４ｑ＋５ｑ’−２ｄ−６ａとなり、６ａだけ移動距離が短くなり、実行時間が短縮できることがわかる。この方法を用いることによる高速化の効果は、穴あけのステップ数をｎとすると、一般にｎ（ｎ−１）ａ分の移動距離の短縮となる。なお、余りステップは少なくとも最後に実行しないようにすれば通常の固定サイクルを実行した場合と比較して早送りの移動距離は短くなるので、必ずしも一番最初に余りステップを実行する必要はないが、なるべく早い順番で余りステップを実行するようにした方が早送りの移動距離の合計は短くなるので、状況が許す限り早い段階で余りステップを実行するようにするとよい。
【００１８】
次に、図３を用いて本発明の数値制御装置による固定サイクルの各ステップにおける切込み量の調整方法を説明する。
図３（ａ）は、切込み量ｑ（余りステップにおける切込み量はｑ’）とした場合における通常の深穴ドリルサイクル指令による切込み動作を示している。本発明の数値制御装置では、予め余り量の閾値ａを設定しておくことで、余りステップｑ’が閾値ａよりも小さい場合に、当該余りステップを他の通常のステップに対して再分配する。例えば、図３（ａ）において、余りの切込み量ｑ’とａを比較し、ｑ’がａより小さいとした場合、本発明の数値制御装置では、図３（ｂ）に示すように余りの切込み量ｑ’を他のステップに等分配する。この時、切削の移動距離の合計は、図３（ａ）の場合、ｑ＋（ｄ＋ｑ）＋（ｄ＋ｑ’）＝２ｑ＋ｑ’＋２ｄとなる一方で、図３（ｂ）の場合は、（ｑ＋ｑ’／２）＋（ｄ＋ｑ＋ｑ’／２）＝２ｑ＋ｑ’＋ｄとなり、ｄだけ短くなる。また、早送りの移動距離の合計は、図３（ａ）の場合、ｑ＋（ｑ−ｄ）＋２ｑ＋（２ｑ−ｄ）＋（２ｑ＋ｑ’）＝８ｑ＋ｑ’−２ｄとなるが、図３（ｂ）の場合は、（ｑ＋ｑ’／２）＋（ｑ＋ｑ’／２−ｄ）＋（２ｑ＋ｑ’）＝４ｑ＋２ｑ’−ｄとなり、４ｑ−ｑ’−ｄだけ移動距離が短くなる。このように、切削の移動距離および早送りの移動距離が短くなった分、固定サイクルの実行時間が短縮できる。
なお、余りステップの切込み量は必ずしも他のステップに等しく分配する必要はなく、最後のステップにまとめて追加しても良いし、最初のステップには少ない切込み量を、後のステップには多い切込み量を分配するなどしてもよい。
【００１９】
図４は、上記とは異なる固定サイクルの各ステップにおける切込み量の調整方法を説明する図である。図４では、図３で説明したように余りステップを再分配する条件として負荷トルクの閾値ｂを用いる例を考える。例えば、図４（ａ）における２回目の切込み動作時に、負荷トルクが閾値ｂを越えない場合は、切込み量に関わらず、切込み動作を続行するようにする。余りステップが十分に小さければ、穴底に到達するまで負荷トルクは閾値を越えず、図４（ｂ）に示すように２回目の切込み動作で穴底まで切込んでしまうことができる。この時、切削の移動距離の合計は、図４（ａ）の場合、ｑ＋（ｄ＋ｑ）＋（ｄ＋ｑ’）＝２ｑ＋ｑ’＋２ｄとなる一方で、図４（ｂ）の場合は、ｑ＋（ｄ＋ｑ＋ｑ’）＝２ｑ＋ｑ’＋ｄとなり、ｄだけ短くなる。また、早送りの移動距離の合計は、図４（ａ）の場合、ｑ＋（ｑ−ｄ）＋２ｑ＋（２ｑ−ｄ）＋（２ｑ＋ｑ’）＝８ｑ＋ｑ’−２ｄとなるが、図４（ｂ）の場合は、ｑ＋（ｑ−ｄ）＋（２ｑ＋ｑ’）＝４ｑ＋ｑ’−ｄとなり、４ｑ−ｄだけ移動距離が短くなる。このように、切削の移動距離および早送りの移動距離が短くなった分、固定サイクルの実行時間が短縮できる。
【００２０】
以下では、上記した固定サイクルの各ステップの実行順序の調整方法または各ステップにおける切込み量の調整方法を実装した数値制御装置の構成について説明する。
図５は、本発明の一実施形態による数値制御装置の要部を示すハードウェア構成図である。数値制御装置１が備えるＣＰＵ１１は、数値制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データ等が格納される。
【００２１】
ＳＲＡＭ１４は図示しないバッテリでバックアップされ、数値制御装置１の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＳＲＡＭ１４中には、インタフェース１５を介して読み込まれた後述する加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や上記した固定サイクルの各ステップの調整処理を実行するための各種のシステムプログラムがあらかじめ書き込まれている。本発明を実行する加工プログラム等の各種加工プログラムはインタフェース１５や表示器／ＭＤＩユニット７０を介して入力し、ＳＲＡＭ１４に格納することができる。
【００２２】
インタフェース１５は、数値制御装置１とアダプタ等の外部機器７２との接続するためのインタフェースである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２３】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は手動パルス発生器等を備えた操作盤７１に接続されている。
【００２４】
各軸の軸制御回路３０〜３２はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて、各軸のサーボモータ５０〜５２を駆動する。各軸のサーボモータ５０〜５２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３２にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
【００２５】
スピンドル制御回路６０は、工作機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、工作機械の主軸モータ６２を指令された回転速度で回転させ、工具を駆動する。
主軸モータ６２には歯車あるいはベルト等でポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはＣＰＵ１１によって読み取られる。
【００２６】
図６は、上記した固定サイクルの各ステップの実行順序の調整方法または各ステップにおける切込み量の調整方法を図５に示した数値制御装置１に対してシステムプログラムとして実装した場合の概略的な機能ブロック図を示している。数値制御装置１は、指令解析部１００、固定サイクル演算部１１０、補間部１２０、サーボ制御部１３０、スピンドル指令実行部１４０、スピンドル制御部１５０を備え、また、固定サイクル演算部１１０は、余量算出部１１１、および順序変更部１１３と余量再配分部１１４との少なくともいずれかを含む指令データ列調整部１１２を備える。
【００２７】
指令解析部１００は、メモリに記憶される分割されたプログラム２００からブロックを順次読み出して解析し、解析したブロックが通常の移動を指令するブロックである場合には、解析結果に基づいて各軸の移動を指令する指令データを作成し、作成した該指令データを補間部１２０へと出力する（図中点線矢印）。また、指令解析部１００は、解析したブロックが主軸モータ６２の回転を指令するブロックである場合には、解析結果に基づいて主軸モータ６２を指令する主軸指令データを作成し、作成した該主軸指令データをスピンドル指令実行部１４０へと出力する（図中点線矢印）。一方で、指令解析部１００は、解析したブロックが固定サイクルを指令するブロックである場合には、解析結果を固定サイクル演算部１１０へと出力する。
【００２８】
固定サイクル演算部１１０は、指令解析部１００から受け付けた固定サイクル指令の解析結果に基づいて工具経路を指令する指令データを順次生成する。固定サイクル演算部１１０は、固定サイクル指令による各指令値に基づいて、例えば図１〜図４などに示した一連の切削送り及び早送りの指令データ列を生成する。固定サイクル演算部１１０は指令データ列を生成する際、余量算出部１１１により余りステップの切込み量ｑ’を算出し、算出した余りステップの切込み量ｑ’に基づいて指令データ列調整部１１２が上記した図１〜４を用いて説明した固定サイクルの各ステップの調整方法を実行し、指令データ列の調整を行う。指令データ列調整部１１２は、図１に例示した各ステップの実行順序の調整方法を実行する順序変更部１１３と、図３，４に例示した各ステップにおける切込み量の調整方法を実行する余量再配分部１１４との少なくともいずれかを含んでおり、指令解析部が解析した固定サイクル指令に対して適用可能ないずれかの調整方法を実行することにより指令データ列の調整を行う。指令データ列調整部１１２は、複数の調整方法を実行可能である場合には、それぞれの調整方法の内で、固定サイクルの実行時間を最も短縮できる調整方法を選択するようにしても良い。
【００２９】
補間部１２０は、指令解析部１００が出力した指令データ、または固定サイクル演算部１１０が出力した指令データ列に基づいて、該指令データ（列）により指令される指令経路上の点を補間周期で補間計算した補間データを生成した上で、該補間データに対して補間周期毎の各駆動軸の速度を調整する加減速処理を行い、加減速の調整が為された補間データをサーボ制御部１３０へ出力する。
そして、サーボ制御部１３０は、補間部１２０の出力に基づいて制御対象となる機械の各軸の駆動部（サーボモータ５０〜５２）をサーボアンプ４０〜４２を介して制御する。
【００３０】
スピンドル指令実行部１４０は、指令解析部１００が出力した主軸指令データ、または固定サイクル演算部１１０が出力した主軸指令データ列に基づいて、該主軸指令データ（列）により指令される主軸モータの回転・停止に係るデータを生成し、スピンドル制御部１５０へと出力する。
そして、スピンドル制御部１５０はスピンドル指令実行部１４０の出力に基づいて制御対象となる機械が備える主軸モータ６２をスピンドルアンプ６１を介して制御する。
【００３１】
図７は、順序変更部１１３により固定サイクルの各ステップの実行順序の調整を行う場合の固定サイクル演算部１１０の動作の流れを示す概略的なフローチャートである。
●［ステップＳＡ０１］余量算出部１１１は、固定サイクルのブロックで指令される復帰店から穴底までの距離ｚを切込み量ｑで割った商ｎと余りｑ’を算出してメモリに記憶する。
●［ステップＳＡ０２］順序変更部１１３は、最初にドリルを加工位置へ早送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、順序変更部１１３の指令に従って指令データを出力する。
●［ステップＳＡ０３］順序変更部１１３は、余りステップの切込み量ｑ’が０であるか否かを判定する。０である場合にはステップＳＡ０６へ処理を移行し、０でない場合にはステップＳＡ０４へ処理を移行する。
【００３２】
●［ステップＳＡ０４］順序変更部１１３は、ワークに対して切込み量ｑ’だけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、順序変更部１１３の指令に従って指令データを出力する。
●［ステップＳＡ０５］順序変更部１１３は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、順序変更部１１３の指令に従って指令データを出力する。
【００３３】
●［ステップＳＡ０６］順序変更部１１３は、ワークに対して切込み量ｑだけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、順序変更部１１３の指令に従って指令データを出力する。
●［ステップＳＡ０７］順序変更部１１３は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、順序変更部１１３の指令に従って指令データを出力する。
●［ステップＳＡ０８］順序変更部１１３はステップＳＡ０１でメモリに記憶したｎの値を１だけ減算する。
【００３４】
●［ステップＳＡ０９］順序変更部１１３は、メモリに記憶されているｎの値が０であるか否かを判定する。０である場合には本処理を終了し、０でない場合にはステップＳＡ１０へ処理を移行する。
●［ステップＳＡ１０］順序変更部１１３は、メモリに記憶されているｎの回数（０〜ｎ−１）だけステップＳＡ１１〜ステップＳＡ１３を繰り返し実行する。
●［ステップＳＡ１１］順序変更部１１３は、ドリルを次の切削開始点へ早送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、順序変更部１１３の指令に従って指令データを出力する。
●［ステップＳＡ１２］順序変更部１１３は、ワークに対して切込み量ｑ＋ｄだけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、順序変更部１１３の指令に従って指令データを出力する。
●［ステップＳＡ１３］順序変更部１１３は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、順序変更部１１３の指令に従って指令データを出力する。
【００３５】
図８は、余量再配分部１１４により固定サイクルの各ステップにおける切込み量の調整（等分配）を切込み量の閾値ａを用いて行う場合の固定サイクル演算部１１０の動作の流れを示す概略的なフローチャートである。
●［ステップＳＢ０１］余量算出部１１１は、固定サイクルのブロックで指令される復帰店から穴底までの距離ｚを切込み量ｑで割った商ｎと余りｑ’を算出してメモリに記憶する。
●［ステップＳＢ０２］余量再配分部１１４は、ステップＳＢ０１で算出したｎと余りステップの切込み量ｑ’とのいずれかが０であるか否かを判定する。いずれかが０である場合にはステップＳＢ０４へ処理を移行し、いずれも０でない場合にはステップＳＢ０３へ処理を移行する。
●［ステップＳＢ０３］余量再配分部１１４は、ステップＳＢ０１で算出した余りステップの切込み量ｑ’が、予め設定された閾値ａよりも小さいか否かを判定する。閾値ａよりも小さい場合にはステップＳＢ０５へ処理を移行し、閾値ａ以上である場合にはステップＳＢ０４へ処理を移行する。
●［ステップＳＢ０４］余量再配分部１１４は、通常の固定サイクルの指令データ列を生成して出力するように固定サイクル演算部１１０に指令し、本処理を終了する。
【００３６】
●［ステップＳＢ０５］余量再配分部１１４は、最初にドリルを加工位置へ早送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＢ０６］余量再配分部１１４は、ワークに対して切込み量ｑ＋ｑ’／ｎだけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＢ０７］余量再配分部１１４は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＢ０８］余量再配分部１１４はステップＳＢ０１でメモリに記憶したｎの値を１だけ減算する。
【００３７】
●［ステップＳＢ０９］余量再配分部１１４は、メモリに記憶されているｎの値が０であるか否かを判定する。０である場合には本処理を終了し、０でない場合にはステップＳＢ１０へ処理を移行する。
●［ステップＳＢ１０］余量再配分部１１４は、メモリに記憶されているｎの回数（０〜ｎ−１）だけステップＳＢ１１〜ステップＳＢ１３を繰り返し実行する。
●［ステップＳＢ１１］余量再配分部１１４は、ドリルを次の切削開始点へ早送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＢ１２］余量再配分部１１４は、ワークに対して切込み量ｑ＋ｑ’／ｎ＋ｄだけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＢ１３］余量再配分部１１４は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
【００３８】
図９Ａ，９Ｂは、余量再配分部１１４により固定サイクルの各ステップにおける切込み量の調整を主軸モータ６２の負荷トルクの閾値ｂを用いて行う場合の固定サイクル演算部１１０の動作の流れを示す概略的なフローチャートである。
●［ステップＳＣ０１］余量算出部１１１は、固定サイクルのブロックで指令される復帰店から穴底までの距離ｚを切込み量ｑで割った商ｎと余りｑ’を算出してメモリに記憶する。
●［ステップＳＣ０２］余量再配分部１１４は、最初にドリルを加工位置へ早送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ０３］余量再配分部１１４は、メモリに記憶されているｎの値が０であるか否かを判定する。０である場合にはステップＳＣ０４へ処理を移行し、０でない場合にはステップＳＣ０６へ処理を移行する。
●［ステップＳＣ０４］余量再配分部１１４は、ワークに対して切込み量ｑ’だけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ０５］余量再配分部１１４は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令して本処理を終了する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
【００３９】
●［ステップＳＣ０６］余量再配分部１１４は、メモリに記憶されているｎの値が１であるか否かを判定する。１である場合にはステップＳＣ１７へ処理を移行し、１でない場合にはステップＳＣ０７へ処理を移行する。
●［ステップＳＣ０７］余量再配分部１１４は、ワークに対して切込み量ｑだけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ０８］余量再配分部１１４は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令して本処理を終了する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ０９］余量再配分部１１４はステップＳＣ０１でメモリに記憶したｎの値を１だけ減算する。
【００４０】
●［ステップＳＣ１０］余量再配分部１１４は、メモリに記憶されているｎの値が１であるか否かを判定する。１である場合にはステップＳＣ１５へ処理を移行し、１でない場合にはステップＳＣ１１へ処理を移行する。
●［ステップＳＣ１１］余量再配分部１１４は、メモリに記憶されているｎの値−１の回数（０〜ｎ−２）だけステップＳＣ１２〜ステップＳＣ１４を繰り返し実行する。
●［ステップＳＣ１２］余量再配分部１１４は、ドリルを次の切削開始点へ早送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ１３］余量再配分部１１４は、ワークに対して切込み量ｑ＋ｄだけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ１４］余量再配分部１１４は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
【００４１】
●［ステップＳＣ１５］余量再配分部１１４は、ドリルを次の切削開始点へ早送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ１６］余量再配分部１１４は、ワークに対して切込み量ｑ＋ｑ’＋ｄだけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令し、処理をステップＳＣ１８へ移行する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データの出力を開始する。
●［ステップＳＣ１７］余量再配分部１１４は、ワークに対して切込み量ｑ＋ｑ’だけ切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令し、処理をステップＳＣ１８へ移行する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データの出力を開始する。
【００４２】
●［ステップＳＣ１８］余量再配分部１１４は、スピンドルアンプ６１からフィードバックされる主軸モータ６２の負荷トルクの値を計測する。
●［ステップＳＣ１９］余量再配分部１１４は、ステップＳＣ１８で計測した主軸モータ６２の負荷トルク値があらかじめ設定された閾値ｂを超えているか否かを判定する。負荷トルク値があらかじめ設定された閾値ｂを超えている場合にはステップＳＣ２１へと処理を移行し、越えていない場合にはステップＳＣ２０へと処理を移行する。
●［ステップＳＣ２０］余量再配分部１１４は、固定サイクル演算部１１０から出力される指令データに基づく切削送り動作が完了したか否かを判定する。切削送り動作が完了した場合にはステップＳＣ２５へ処理を移行し、終了していない場合にはステップＳＣ１８へ処理を移行して主軸モータ６２の負荷トルクの計測を継続する。
【００４３】
●［ステップＳＣ２１］余量再配分部１１４は、補間部１２０に対して切削送り動作を中断するように指令し、現在の軸位置を中断点としてメモリに記憶する。
●［ステップＳＣ２２］余量再配分部１１４は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ２３］余量再配分部１１４は、ドリルを中断点のｄ手前まで早送りをする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
●［ステップＳＣ２４］余量再配分部１１４は、ワークに対して穴底まで切込む切削送りをする指令データを出力するように固定サイクル演算部１１０に指令し、処理をステップＳＣ２５へ移行する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データの出力を開始する。
●［ステップＳＣ２５］余量再配分部１１４は、ドリルを復帰点へ早送りする指令データを出力するように固定サイクル演算部１１０に指令する。固定サイクル演算部１１０は、余量再配分部１１４の指令に従って指令データを出力する。
【００４４】
このような構成を備えた数値制御装置では、従来動作と比べて、オペレータが意識して切込み量を変更しなくとも早送りの移動距離を短くすることができ、実行時間を短縮することができるため、切込み量を大きくした際に切込み動作の回数が変わらなかったとしても、早送りの移動距離が短くなり、実行時間を短縮することができる。また、余りステップを再分配可能であれば再分配するので、従来動作に比べて固定サイクルの切込み回数を減らすことができ、実行時間を短縮することができる。
【００４５】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００４６】
１  数値制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＳＲＡＭ
１５  インタフェース
１６  ＰＭＣ
１７  Ｉ／Ｏユニット
１８  インタフェース
１９  インタフェース
２０  バス
３０，３１，３２  軸制御回路
４０，４１，４２  サーボアンプ
５０，５１，５２  サーボモータ
６０  スピンドル制御回路
６１  スピンドルアンプ
６２  主軸モータ
６３  ポジションコーダ
７０  表示器／ＭＤＩユニット
７１  操作盤
７２  外部機器
１００  指令解析部
１１０  固定サイクル演算部
１１１  余量算出部
１１２  指令データ列調整部
１１３  順序変更部
１１４  余量再配分部
１２０  補間部
１３０  サーボ制御部
１４０  スピンドル指令実行部
１５０  スピンドル制御部
２００  プログラム
【図１】
0006378233.tif 000002
【図２】
0006378233.tif 000003
【図３】
0006378233.tif 000004
【図４】
0006378233.tif 000005
【図５】
0006378233.tif 000006
【図６】
0006378233.tif 000007
【図７】
0006378233.tif 000008
【図８】
0006378233.tif 000009
【図９Ａ】
0006378233.tif 000010
【図９Ｂ】
0006378233.tif 000011
【図１０】
0006378233.tif 000012
【図１１】
0006378233.tif 000013