(57)【特許請求の範囲】
【請求項１】
工具および加工対象の少なくともいずれか一方に設けられた２以上の駆動軸によって、前記工具と前記加工対象とを相対的に移動させながら前記加工対象の加工を行う数値制御装置であって、
加工プログラム上の移動経路が前記加工対象に形成されるように、補正距離で前記加工プログラム上の移動経路を補正した補正経路を生成する補正経路生成手段と、
前記加工対象に対して前記工具の基準位置を前記補正経路上で相対的に移動させる移動指令を生成する移動指令生成手段と、
前記加工対象に対して前記工具の基準位置を前記補正経路に沿って相対的に振動させる振動条件を取得する振動指令解析手段と、
単位時間での前記移動指令による移動量である指令移動量を算出する指令移動量算出手段と、
前記移動指令に対応する時刻における前記単位時間での振動による移動量である補正経路上振動移動量を、前記振動条件を用いて算出する補正経路上振動移動量算出手段と、
前記指令移動量と前記補正経路上振動移動量とを合成して合成移動量を算出し、前記合成移動量の算出基準となる位置から前記合成移動量だけ移動した位置が前記補正経路上に位置するように、前記単位時間内の移動量を求める移動量合成手段と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記加工プログラムに追加経路を生成する経路生成指示が含まれる場合に、前記経路生成指示に基づいた追加指令を生成する追加指令生成手段と、
前記追加指令に対応する時刻における前記単位時間での振動による移動量である追加経路上振動移動量を、前記振動条件を用いて算出する追加経路上振動移動量算出手段と、
をさらに備えることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記追加指令から前記追加経路を生成する追加経路生成手段をさらに備え、
前記補正経路生成手段は、前記追加経路生成手段で前記追加経路が生成されると、前記追加経路を前記補正距離で補正する機能をさらに備え、
前記移動量合成手段は、前記補正された追加経路に対応する経路では、前記指令移動量と前記追加経路上振動移動量とを合成し、前記補正された追加経路以外の経路では、前記指令移動量と前記補正経路上振動移動量とを合成して前記合成移動量を算出することを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記補正経路生成手段は、前記加工プログラムには規定されていない経路を挿入する経路挿入モードが含まれているかを解析し、前記経路挿入モードが含まれている場合には、前記補正経路の生成時に挿入経路を生成し、
前記補正経路上振動移動量算出手段は、前記挿入経路を含む前記補正経路に対する前記移動指令について、前記補正経路上振動移動量を算出し、
前記移動量合成手段は、前記挿入経路を含む前記補正経路で、前記指令移動量と前記補正経路上振動移動量とを合成することを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関するものである。
【背景技術】
【０００２】
従来では、旋削加工において、切削工具をワークに対して、少なくとも２軸方向に送り動作させる切削工具送り機構と、上記少なくとも２軸方向に切削工具を低周波振動させて切削工具送り駆動モータを制御する制御機構と、を有する数値制御装置が提案されている（たとえば、特許文献１〜３参照）。この数値制御装置では制御機構は、各種設定を行う操作手段と、操作手段によって設定されたワークの回転数または切削工具１回転当たりの切削工具の送り量に応じて、切削工具を少なくとも２軸方向に同期させて送り動作させる２５Ｈｚ以上の低周波で動作可能なデータとして、送り軸のイナーシャまたはモータ特性等の機械特性に応じた少なくとも切削工具送り機構の前進量、後退量、前進速度、後退速度が予め表にされて格納されている振動切削情報格納手段と、振動切削情報格納手段に格納されている当該データに基づいて切削工具送り駆動モータを制御してなるモータ制御手段と、を有している。これによって、補間経路に沿って前進、後退動作を繰り返すことによって、低周波振動を生成している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０３３９２９号公報
【特許文献２】特許第５１３９５９１号公報
【特許文献３】特許第５１３９５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１〜３では、プログラムで指令した経路そのものに対して振動条件を決定し、同経路上を振動しながら移動することが前提となっている。そのため、プログラムで指定した経路ではなく、数値制御装置が経路を補正または生成した場合の低周波振動切削については対応することができない。【０００５】
本発明は、上記に鑑みてなされたもので、プログラムで指定した経路に基づいて数値制御装置が補正または生成した実際の工具の経路についても加工対象に対して工具が所定の周波数で振動しながら加工することができる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、この発明にかかる数値制御装置は、工具および加工対象の少なくともいずれか一方に設けられた２以上の駆動軸によって、前記工具と前記加工対象とを相対的に移動させながら前記加工対象の加工を行う数値制御装置であって、加工プログラム上の移動経路が前記加工対象に形成されるように、補正距離で前記加工プログラム上の移動経路を補正した補正経路を生成する補正経路生成手段と、前記加工対象に対して前記工具の基準位置を前記補正経路上で相対的に移動させる移動指令を生成する移動指令生成手段と、前記加工対象に対して前記工具の基準位置を前記補正経路に沿って相対的に振動させる振動条件を取得する振動指令解析手段と、単位時間での前記移動指令による移動量である指令移動量を算出する指令移動量算出手段と、前記移動指令に対応する時刻における前記単位時間での振動による移動量である補正経路上振動移動量を、前記振動条件を用いて算出する補正経路上振動移動量算出手段と、前記指令移動量と前記補正経路上振動移動量とを合成して合成移動量を算出し、前記合成移動量の算出基準となる位置から前記合成移動量だけ移動した位置が前記補正経路上に位置するように、前記単位時間内の移動量を求める移動量合成手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、プログラム上の移動経路を補正距離で補正した補正経路に対して補正経路に沿った振動を与えるようにしたので、プログラムで指定されていない補正経路についても、加工対象に対して工具が所定の周波数で相対的に振動しながら加工することができるという効果を有する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態１による数値制御装置の構成の一例を示すブロック図である。
【図２】図２は、補正経路の一例を示す図である。
【図３】図３は、旋削加工を行う実施の形態１による数値制御装置の軸の構成を模式的に示す図である。
【図４】図４は、実施の形態１による加工方法を模式的に示す図である。
【図５】図５は、実施の形態１による加工プログラムの一例を示す図である。
【図６】図６は、実施の形態１による振動を伴う補間処理の一例を示すフローチャートである。
【図７】図７は、補正経路が円弧状の場合のＸ軸とＺ軸の指令位置を示す図である。
【図８】図８は、実施の形態２による数値制御装置の構成の一例を示すブロック図である。
【図９】図９は、実施の形態２による振動を伴う補間処理の一例を示すフローチャートである。
【図１０】図１０は、実施の形態２による加工方法を模式的に示す図である。
【図１１】図１１は、実施の形態３による数値制御装置の構成の一例を示すブロック図である。
【図１２】図１２は、新たな経路の挿入の一例を示す図である。
【図１３】図１３は、実施の形態３による振動を伴う補間処理の一例を示すフローチャートである。
【図１４】図１４は、実施の形態３による加工方法を模式的に示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、本発明の実施の形態にかかる数値制御装置を詳細に説明する。なお、これらの実施の形態により本発明が限定されるものではない。
【００１０】
実施の形態１．
図１は、実施の形態１による数値制御装置の構成の一例を示すブロック図である。数値制御装置１は、駆動部１０と、入力操作部２０と、表示部３０と、制御演算部４０と、を有する。
【００１１】
駆動部１０は、加工対象および工具のいずれか一方または両方を少なくとも２軸方向に駆動する機構である。ここでは、数値制御装置１上で規定された各軸方向に加工対象および／または工具を移動させるサーボモータ１１と、サーボモータ１１の位置・速度を検出する検出器１２と、検出器１２からの位置・速度に基づいて、加工対象および／または工具の位置や速度の制御を行う各軸方向のサーボ制御部１３（Ｘ軸サーボ制御部１３Ｘ，Ｚ軸サーボ制御部１３Ｚ，・・・。なお、以下では、駆動軸の方向を区別する必要がない場合には、単にサーボ制御部１３と表記する）と、を有する。また、加工対象に設けられた主軸を回転させる主軸モータ１４と、主軸モータ１４の位置・回転数を検出する検出器１５と、検出器１５からの位置・回転数に基づいて、加工対象に設けられた主軸の回転を制御する主軸制御部１６と、を有する。
【００１２】
入力操作部２０は、キーボード、ボタンまたはマウスなどの入力手段によって構成され、ユーザによる数値制御装置１に対するコマンドなどの入力、または加工プログラムもしくはパラメータなどの入力が行われる。表示部３０は、液晶表示装置などの表示手段によって構成され、制御演算部４０によって処理された情報が表示される。
【００１３】
制御演算部４０は、入力制御部４１と、データ設定部４２と、記憶部４３と、画面処理部４４と、解析処理部４５と、機械制御信号処理部４６と、ＰＬＣ（Programmable  Logic  Controller）回路部４７と、補間処理部４８と、加減速処理部４９と、軸データ出力部５０と、を有する。
【００１４】
入力制御部４１は、入力操作部２０から入力される情報を受け付ける。データ設定部４２は、入力制御部４１で受け付けられた情報を記憶部４３に記憶する。たとえば入力された内容が加工プログラム４３２の編集の場合には、記憶部４３に記憶されている加工プログラム４３２に編集された内容を反映させ、パラメータが入力された場合には記憶部４３のパラメータ４３１の記憶領域に記憶する。
【００１５】
記憶部４３は、制御演算部４０の処理で使用されるパラメータ４３１、実行される加工プログラム４３２、表示部３０に表示させる画面表示データ４３３などの情報を記憶する。パラメータ４３１として、たとえば工具ごとの径（半径）、加工を行うに当たって加工プログラム上の移動経路（以下、プログラム経路という）から実際の工具の移動経路にオフセットさせる量である補正距離などを例示することができる。補正として、工具長補正、摩耗補正、ノーズR補正、その他回転方向の補正、あるいは３次元的な補正、機械誤差の補正などを例示することができる。また、記憶部４３には、パラメータ４３１、加工プログラム４３２以外の一時的に使用されるデータを記憶する共有エリア４３４が設けられている。画面処理部４４は、記憶部４３の画面表示データを表示部３０に表示させる制御を行う。
【００１６】
解析処理部４５は、１以上のブロックを含む加工プログラムを読み込み、読み込んだ加工プログラムを１ブロック毎に解析し、１ブロックでの移動経路を生成する移動経路生成部４５１と、加工プログラムに振動指令が含まれているかを解析し、振動指令が含まれている場合に、振動指令に含まれる周波数と振幅などの振動情報を生成する振動指令解析部４５２と、移動経路生成部４５１で生成された１ブロックでの移動経路から、実際の工具の経路である補正経路を生成する補正経路生成部４５３と、１ブロックでの補正経路から移動指令を生成する移動指令生成部４５４と、を有する。なお、この明細書においては、加工プログラムに含まれる振動指令の振幅は１ミクロン以上３００ミクロン以下であることが望ましい。これは、振幅が１ミクロンより小さいと、切削効率が悪くなり、またサーボ系が応答できなくなるからであり、振幅が３００ミクロンより大きいと、機械振動につながる虞があるからである。また、周波数は１０Ｈｚ以上３００Ｈｚ以下であることが望ましい。これは、周波数が１０Ｈｚより小さいと振動切削の効果が得られなくなるからであり、３００Ｈｚよりも大きいとサーボ系が応答できなくなるからである。
【００１７】
移動経路生成部４５１で生成される移動経路は、一般的にその命令によって加工された後の加工対象の輪郭の軌跡を示すものである。そのような加工対象の輪郭を得るために、工具で切削するのであるが、加工対象に対して工具を移動させる際の工具の基準位置（たとえば工具の中心位置）の軌跡は、上記移動経路とは異なる。それは、工具の基準位置と刃先の位置とが一致していないためである。そこで、実際の加工では、加工対象の輪郭となる加工プログラムの移動経路を、工具の基準位置と刃先の位置との差である補正距離を用いて、工具の基準位置の移動経路である補正経路に補正し、この補正経路を用いて制御を行う。補正経路生成部４５３では、この移動経路を補正経路に補正する処理を行う。たとえば、移動経路上の各点から垂直な方向に補正距離だけ離れた点を連ねたものを補正経路とする。この際、補正経路生成部４５３では、加工プログラムから加工に用いられる工具を取得し、その工具の径などの補正距離を記憶部４３のパラメータ４３１から取得して、補正経路を生成する。
【００１８】
図２は、補正経路の一例を示す図である。図２（ａ）に示されるように、プログラム経路Ｐ１１上の各点から垂直に補正距離ｄだけ移動した点を結んだものが補正経路Ｐ１２となる。この補正経路Ｐ１２が工具の実際の移動経路となり、これによって加工対象はプログラム経路Ｐ１１で示される輪郭を有することになる。プログラム経路Ｐ１１に曲線が含まれたり、あるいはプログラム経路Ｐ１１にコーナが含まれたりなどする場合には、プログラム経路Ｐ１１と、補正経路Ｐ１２の長さは異なる場合がある。また、図２（ｂ）に示されるように、プログラム経路Ｐ１１を補正距離ｄだけ単純に平行移動したものが補正経路Ｐ１２となる場合もある。この場合には、プログラム経路Ｐ１１と補正経路Ｐ１２の長さは等しくなる。なお、実施の形態１では、工具の基準位置と刃先との間に距離がある場合に補正経路を生成するのではなく、たとえば新品状態の工具では刃先は鋭利であるが、使用につれて摩耗し、その位置が新品状態とは違ってくるような場合などにも補正経路を生成してもよい。
【００１９】
機械制御信号処理部４６は、解析処理部４５によって、数値制御軸（駆動軸）を動作させる指令以外の機械を動作させる指令としての補助指令を読み込んだ場合に、補助指令が指令されたことをＰＬＣ回路部４７に通知する。ＰＬＣ回路部４７は、機械制御信号処理部４６から補助指令が指令されたことの通知を受けると、その補助指令に対応する処理を実行する。
【００２０】
補間処理部４８は、解析処理部４５が解析した補正経路を用い、単位時間（補間周期）で移動する移動量である指令移動量を算出する指令移動量算出部４８１と、振動指令解析部４５２からの振動情報に基づいて補正経路上で工具または加工対象を振動させるための単位時間での移動量である補正経路上振動移動量を算出する補正経路上振動移動量算出部４８２と、単位時間当たりの指令移動量と補正経路上振動移動量とを合成した合成移動量を算出する移動量合成部４８３と、補正経路内を通るように単位時間当たりの合成移動量から各駆動軸の移動量を算出する合成移動量分解部４８４と、を有する。
【００２１】
加減速処理部４９は、補間処理部４８から出力された各駆動軸の合成移動量を、予め指定された加減速パターンに従って加減速を考慮した単位時間当たりの移動指令に変換する。軸データ出力部５０は、加減速処理部４９で処理された単位時間当たりの移動指令を、各駆動軸を制御するサーボ制御部１３Ｘ，１３Ｚ，・・・に出力する。
【００２２】
工具または加工対象を振動させながら加工を行うためには、上記したように、加工を行う際に、加工対象と工具とを相対的に移動させればよい。図３は、旋削加工を行う実施の形態１による数値制御装置の軸の構成を模式的に示す図である。この図では、紙面内に直交するＺ軸とＸ軸を設けている。図３（ａ）は、加工対象６１を固定し、たとえば旋削加工を行う旋削加工用工具である工具６２のみをＺ軸とＸ軸方向に移動させる場合であり、図３（ｂ）は、加工対象６１をＺ軸方向に移動させ、工具６２をＸ軸方向に移動させる場合である。これらのいずれの場合でも、移動させる対象（加工対象６１および／または工具６２）にサーボモータ１１を設けることで、以下に説明する処理を行うことが可能となる。
【００２３】
図４は、実施の形態１による加工方法を模式的に示す図である。ここでは、紙面内に直交するＺ軸とＸ軸が設けられ、このＺＸ面内の移動経路に沿って工具６２と加工対象とを相対的に移動させながら加工を行う場合が示されている。
【００２４】
移動経路Ｐ１１は、プログラム経路を示している。工具６２では、基準位置である中心位置６２ａと、加工対象の輪郭を旋削するための刃先位置６２ｂ（加工対象と接する工具の位置）と、の間が補正距離ｄだけ離れている。そのため、補正経路Ｐ１２は、プログラム経路Ｐ１１に対して補正距離ｄだけＸ軸の負方向にずらした位置に設定される。
【００２５】
そして、補正経路Ｐ１２に沿って工具６２の中心位置６２ａを加工対象に対して相対的に移動させる際に、補正経路Ｐ１２をなぞるように工具６２を振動させるようにしている。これによって、プログラム経路Ｐ１１の位置を輪郭とする加工を行うことができる。なお、工具６２を振動させるという記載は、工具６２の加工対象６１に対する相対的な運動であり、実際には図３に示したように、工具６２と加工対象６１のいずれを動かしてもよい。以下の説明も同様である。
【００２６】
図５は、実施の形態１による加工プログラムの一例を示す図である。加工プログラムは、行（ブロック）ごとに読み込まれ、実行されていく。この加工プログラム中の行４０２の「Ｇ００  Ｘ２０．０  Ｚ０．０；」は位置決めの指令であり、行４０３の「Ｇ０１  Ｘ２０．０  Ｚ３０．０；」は直線補間の指令であり、一般的な数値制御装置で使用される指令である。
【００２７】
一方、行４０１の「Ｇ２００  Ｆ５０  Ａ０．０３；」と行４０４の「Ｇ２０１；」は、この実施の形態１の振動切削を指令するものであり、新たに設けられる指令である。ここでは、指令「Ｇ２００」は振動切削の開始を意味するものであり、指令「Ｇ２０１」は振動切削の終了を意味するものである。また、「Ｆ」とそれに続く数値は振動させる周波数（Ｈｚ）を意味するものであり、「Ａ」とそれに続く数値は振動させる振幅（たとえばｍｍ）を意味するものである。なお、これは一例であり、振動切削の開始と終了、振動させる周波数と振幅を意味する記号は、他のものであってもよく、周波数と振幅の指令値についても任意の数値で構わないが、曲線経路上で精度良く振動させるため、また、切削により発生する切屑を振動により細かく分断するために、微小な振動（振幅が数百マイクロメートル以下かつ周波数が数百Ｈｚ以下）を一般的に指令する。なお、この例では、振動条件が加工プログラム中で指定される場合を示しているが、振動条件が加工プログラム中で指定されていなくてもよい。
【００２８】
つぎに、実施の形態１の数値制御装置による加工方法について説明する。図６は、実施の形態１による振動を伴う補間処理の一例を示すフローチャートである。
【００２９】
まず、解析処理部４５の移動経路生成部４５１によって加工プログラムから工具および／または加工対象の位置と速度を含むプログラム経路が生成され、補正経路生成部４５３によって、パラメータを用いて実際の工具の基準位置に合わせてプログラム経路を補正した補正経路が生成される。そして、移動指令生成部４５４によって補正経路を有する移動指令が生成され、補間処理部４８に出力される。この補正は、たとえば工具の基準位置と刃先との間の補正距離、または刃先の摩耗によって生じる位置ずれ量を考慮した補正距離に基づいて行われる。また、振動指令解析部４５２によって、加工プログラムに含まれる周波数と振幅を含む振動条件が補間処理部４８に出力される。これによって、補間処理部４８は、解析処理部４５から出力される移動指令と振動条件を取得する（ステップＳ１１）。
【００３０】
ついで、補間処理部４８の指令移動量算出部４８１は、補正経路に基づいて生成された移動指令から単位時間（補間周期）当たりの指令移動量（移動指令による移動量である）を算出する（ステップＳ１２）。これは、直線補間、円弧補間などの種類によって、予め定められた手法によって求められる。
【００３１】
その後、補正経路上振動移動量算出部４８２は、単位時間当たりの振動による移動量である補正経路上振動移動量を算出する（ステップＳ１３）。補正経路上振動移動量は取得した振動条件（周波数、振幅）の基本振動波形を想定し、今回の補間時刻に対応する基本振動波形上の位置を求め、前回補間時刻時の位置との差として今回補間時刻に対応する補正経路上振動移動量を求める。基本振動波形として、正弦波または矩形波などを例示することができる。
【００３２】
ついで、移動量合成部４８３は、指令移動量と補正経路上振動移動量とを合成した合成移動量を算出する（ステップＳ１４）。ここでは、指令移動量に補正経路上振動移動量を加算するものとする。
【００３３】
その後、合成移動量分解部４８４は、補正経路内を通るように、単位時間当たりの合成移動量を各駆動軸の成分に分解した軸移動量を算出する（ステップＳ１５）。そして、算出した軸移動量は、軸データ出力部５０を介して各駆動軸のサーボ制御部１３に出力される（ステップＳ１６）。
【００３４】
なお、ステップＳ１４で、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合、または合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、意図しない領域まで加工されることになる。そのため、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合には、合成移動量の終点の位置が加工開始点までとなるように、また合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、合成移動量の終点が加工終了点までとなるように、合成移動量を補正してもよい。
【００３５】
その後、指令移動量算出部４８１は、指令済みの指令移動量のそれまでの合算値が目標移動量未満であるかを判定する（ステップＳ１７）。指令移動量の合算値が目標移動量未満である場合（ステップＳ１７でＹｅｓの場合）には、ステップＳ１２へと処理が戻り、上述した処理が繰り返し実行される。一方、指令移動量の合算値が目標移動量に到達した場合（ステップＳ１７でＮｏの場合）には、加工が目標位置まで進行したので、処理が終了する。
【００３６】
図７は、補正経路が円弧状の場合のＸ軸とＺ軸の指令位置を示す図である。図７（ａ）に示されるように、紙面内にＺ軸とＸ軸を取り、ＺＸ平面内で加工対象に対して工具６２が円弧状の補正経路を描くように、工具６２または加工対象の位置を移動させていく。この加工の最中には、振動の位置が時間に対して正弦波を描くような振動を加える。加工開始点Ｐ０における工具６２の加工対象に対する移動方向はＺ軸方向となっており、加工終了点Ｐ１における工具６２の加工対象に対する移動方向はＸ軸方向となっている。そのため、加工開始では振動はＺ軸方向の成分のみでＸ軸方向の成分はない。工具６２が補正経路上を進行するにつれて、振動の各駆動軸方向の成分は、Ｚ軸方向で徐々に減少し、Ｘ軸方向で徐々に増大するようになる。そして、加工終了では、振動はＸ軸方向のみでＺ軸方向の成分はない。このように、工具６２の移動方向に応じて振動角度が変化する様子が、図７（ｂ）と（ｃ）に示されている。
【００３７】
この実施の形態１では、加工中に移動経路に沿って加える振動の周波数と振幅とを規定した振動切削を行う指令を加工プログラムに設け、加工プログラム中の移動指令に基づくプログラム経路から、補正情報に基づいて加工対象に対する工具６２の基準位置の軌跡である補正経路を生成し、この補正経路での加工に対して、補正経路に沿った振動を加えるようにした。これによって、補正経路以外の位置を削ったり、加工対象を削りすぎたりすることを防ぐことができる。このとき、補正経路に沿った振動を、振幅が数百マイクロメートル以下かつ周波数が数百Ｈｚ以下の低周波振動とすることで、切削により発生する切屑を振動により細かく分断することができる。
【００３８】
また、合成移動量が加工開始位置から加工方向の反対側になってしまう場合には、合成移動量の終点が加工開始点までとなるように合成移動量を補正し、また合成移動量が加工終了位置から加工方向側を過ぎてしまう場合には、合成移動量の終点が加工終了点までとなるように、合成移動量を補正するようにした。これによって、加工開始位置と加工終了位置をはみ出した加工を行うことがないという効果も有する。
【００３９】
さらに、加工プログラムに振動切削を行う指令を記述するようにしたので、加工時に加える振動に関する表を制御演算部４０が保持する必要がなく、また表に振動に関する加工条件を入力する手間を省くことができるという効果も有する。また、補間処理時に振動を付加するので、補間処理よりも大きい周期で実行される処理（たとえばプログラムの解析処理）で振動を付加する場合に比して、より高い周波数の振動を発生させて加工を行うことができるという効果を有する。
【００４０】
実施の形態２．
図８は、実施の形態２による数値制御装置の構成の一例を示すブロック図である。この数値制御装置１は、実施の形態１と解析処理部４５と補間処理部４８の構成が異なる。
【００４１】
解析処理部４５は、実施の形態１の移動経路生成部４５１と補正経路生成部４５３とを含まず、読み込んだ１ブロック中に数値制御装置１で自動的に経路を生成する指示（以下、経路生成指示という）が含まれるかを解析し、経路生成指示が含まれている場合に、その経路生成指示にしたがって追加指令を生成する追加指令生成部４５５をさらに有する。また、移動指令生成部４５４は、１以上のブロックを含む加工プログラムを読み込み、読み込んだ加工プログラムを１ブロック毎に解析し、１ブロックで移動する移動指令を生成する。
【００４２】
補間処理部４８は、実施の形態１の補正経路上振動移動量算出部４８２を含まず、振動指令解析部４５２からの振動情報に基づいて、移動指令生成部４５４で規定されるプログラム経路における工具または加工対象を振動させるための単位時間での移動量である通常経路上振動移動量を算出する通常経路上振動移動量算出部４８５と、振動指令解析部４５２からの振動情報に基づいて、追加指令生成部４５５で規定される追加経路上における工具または加工対象を振動させるための単位時間での移動量である追加経路上振動移動量を算出する追加経路上振動移動量算出部４８６と、をさらに備える。
【００４３】
また、移動量合成部４８３は、指令移動量算出部４８１で算出された指令移動量と、通常経路上振動移動量算出部４８５で算出された通常経路上振動移動量と、追加経路上振動移動量算出部４８６で算出された追加経路上振動移動量と、を用いて合成移動量を算出する。具体的には、移動指令生成部４５４で規定されるプログラム経路に対応する指令移動量に対しては通常経路上振動移動量で合成を行い、追加指令生成部４５５で規定される追加経路に対応する指令移動量に対しては追加経路上振動移動量で合成を行う。なお、実施の形態１と同一の構成要素には、同一の符号を付してその説明を省略する。
【００４４】
つぎに、実施の形態２の数値制御装置による加工方法について説明する。図９は、実施の形態２による振動を伴う補間処理の一例を示すフローチャートである。
【００４５】
まず、解析処理部４５の移動指令生成部４５４によって加工プログラムから工具および／または加工対象の位置と速度を含むプログラム経路を有する移動指令が補間処理部４８に出力され、また追加指令生成部４５５によって工具および／または加工対象の位置と速度を含む追加経路を有する追加指令が補間処理部４８に出力される。追加指令は、加工プログラム中で経路生成指示を含むブロックがある場合に、追加指令生成部４５５が経路生成指示を補間処理部４８に渡す形式に指令化したものである。また、振動指令解析部４５２によって、加工プログラムに含まれる周波数と振幅を含む振動条件が補間処理部４８に出力される。これによって、補間処理部４８は、解析処理部４５から出力される移動指令と振動条件を取得する（ステップＳ５１）。
【００４６】
ついで、補間処理部４８の指令移動量算出部４８１は、移動指令と追加指令とから単位時間（補間周期）当たりの指令移動量（移動指令と追加指令による移動量である）を算出する（ステップＳ５２）。これは、直線補間、円弧補間などの種類によって、予め定められた手法によって求められる。
【００４７】
その後、通常経路上振動移動量算出部４８５は、移動指令から得られるプログラム経路に対して、単位時間当たりの振動による移動量である通常経路上振動移動量を算出し、追加経路上振動移動量算出部４８６は、追加指令から得られる追加経路に対して、単位時間当たりの振動による移動量である追加経路上振動移動量を算出する（ステップＳ５３）。通常経路上振動移動量と追加経路上振動移動量は取得した振動条件（周波数、振幅）の正弦波を想定し、今回の補間時刻に対応する正弦波上の位置を求め、前回補間時刻時の位置との差として今回補間時刻に対応する振動移動量を求める。
【００４８】
ついで、移動量合成部４８３は、指令移動量と、通常経路上振動移動量および追加経路上振動移動量とを合成した合成移動量を算出する（ステップＳ５４）。ここでは、移動指令に含まれるプログラム経路での指令移動量に通常経路上振動移動量を加算し、追加指令に含まれる追加経路での指令移動量に追加経路上振動移動量を加算する。
【００４９】
その後、合成移動量分解部４８４は、プログラム経路と追加経路とをつなぎ合わせた移動経路内を通るように、単位時間当たりの合成移動量を各駆動軸の成分に分解した軸移動量を算出する（ステップＳ５５）。そして、算出した軸移動量は、軸データ出力部５０を介して各駆動軸のサーボ制御部１３に出力される（ステップＳ５６）。
【００５０】
なお、ステップＳ５４で、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合、または合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、意図しない領域まで加工されることになる。そのため、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合には、合成移動量の終点の位置が加工開始点までとなるように、また合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、合成移動量の終点が加工終了点までとなるように、合成移動量を補正してもよい。
【００５１】
その後、指令移動量算出部４８１は、指令済みの指令移動量のそれまでの合算値が目標移動量未満であるかを判定する（ステップＳ５７）。指令移動量の合算値が目標移動量未満である場合（ステップＳ５７でＹｅｓの場合）には、ステップＳ５２へと処理が戻り、上述した処理が繰り返し実行される。一方、指令移動量の合算値が目標移動量に到達した場合（ステップＳ５７でＮｏの場合）には、加工が目標位置まで進行したので、処理が終了する。
【００５２】
図１０は、実施の形態２による加工方法を模式的に示す図であり、（ａ）は加工プログラムの一例を示す図であり、（ｂ）は（ａ）の加工プログラムを実行した場合の移動経路を示す図であり、（ｃ）は（ａ）の加工プログラムを実行したときの各軸での振動状態を示す図である。図１０（ａ）に示される加工プログラムでは、Ｘ＝ｘｂ，Ｚ＝０からＸ＝ｘｂ，Ｚ＝ｚｂまで切削し、そこからＸ＝０，Ｚ＝ｚｂまで切削する移動経路において、コーナ部分（Ｘ＝ｘｂ，Ｚ＝ｚｂ付近）を面取りすることを示している。また、実施の形態１と同様に、移動に際して振動を加える加工であることが規定されている。
【００５３】
図１０（ａ）での移動経路が図１０（ｂ）に示されている。図１０（ａ）の加工プログラムでは、Ｘ＝ｘｂ，Ｚ＝ｚｂ付近で、面取り加工を行うことが指示されている。そのため、移動経路はＰａ１，Ｐａ２，Ｐａ３で示される。このうち、Ｐａ１，Ｐａ３は図１０（ａ）の加工プログラム中の指令に明示される通常のプログラム経路である。一方、Ｐａ２は、図１０（ａ）の加工プログラムに示されておらず、経路生成指示「Ｃ」に基づいて追加指令生成部４５５で生成された追加指令によって生成される追加経路である。
【００５４】
実施の形態２では、プログラム経路Ｐａ１，Ｐａ３でプログラム経路に沿った振動を加えながら加工を行うようにするとともに、追加経路Ｐａ２でも追加経路に沿った振動を加えながら加工を行うようにしている。この状態が図１０（ｃ）に示されている。プログラム経路Ｐａ１は、Ｚ軸に沿った加工であるので、Ｘ軸方向のみ振動している。追加経路Ｐａ２では、Ｚ軸方向とＸ軸方向の両方で振動が行われている。そして、プログラム経路Ｐａ３は、Ｘ軸に沿った加工であるので、Ｚ軸方向のみ振動している。このように、加工プログラム中では明示されず、追加指令生成部４５５で生成される追加指令に基づく追加経路に対しても振動を付加することが可能になる。
【００５５】
実施の形態２では、加工プログラム中に経路生成指示が存在する場合に、その経路生成指示にしたがって生成した追加経路に対しても振動を生成するようにした。これによって、加工プログラムにユーザによって指定された経路以外の経路が存在する場合でも振動を伴う加工を行うことができるという効果を有する。
【００５６】
実施の形態３．
実施の形態１では、加工プログラムで規定された移動経路から、工具の径などの補正距離を考慮して加工対象に対する工具の基準位置の軌跡である補正経路を作成し、この補正経路に対して振動を加える場合を説明した。また、実施の形態２では、加工プログラムに経路生成指示が含まれている場合に、経路生成指示に基づいた追加指令を生成し、この追加指令による追加経路に対して振動を加える場合を説明した。一方、現実の加工においては、移動指令で規定されるプログラム経路から補正経路を作成した際に、補正経路間に新たな経路を挿入しなければならない場合も存在する。実施の形態３では、移動指令または追加指令で規定される経路に対して補正された補正経路と、それらの補正経路間に挿入される挿入経路と、に対して振動を伴う加工を行うことができる数値制御装置について説明する。
【００５７】
図１１は、実施の形態３による数値制御装置の構成の一例を示すブロック図である。この数値制御装置は、実施の形態１とは解析処理部４５と補間処理部４８の構成が異なる。
【００５８】
解析処理部４５は、実施の形態１の構成に、読み込んだ１ブロック中に経路生成指示が含まれるかを解析し、経路生成指示が含まれている場合に、その経路生成指示にしたがって追加指令を生成する追加指令生成部４５５と、追加指令での移動経路である追加経路を生成する追加経路生成部４５６と、をさらに有する。
【００５９】
また、補正経路生成部４５３は、プログラム経路と追加経路とに基づいて補正距離ｄを用いて補正経路を生成する。さらに、補正経路生成部４５３は、加工プログラム中にノーズＲ補正などの加工プログラムには規定されていない経路を挿入するモード（以下、経路挿入モードという）が含まれているかを解析し、経路挿入モードが含まれている場合には、経路挿入モードに基づいて加工プログラムには規定されていない新たな挿入経路を生成して、補正経路を生成する処理を行う。
【００６０】
図１２は、新たな経路の挿入の一例を示す図である。ここでは、プログラム経路Ｐ１１中の経路の向きが変わる点に対してノーズＲ補正を行う場合を示している。具体的には、プログラム経路Ｐ１１に対して、補正距離ｄで補正を行い、経路Ｐａ１，Ｐａ３，Ｐａ５を作成している。しかし、この補正経路の作成処理だけでは、経路Ｐａ１の端部Ａ１と経路Ｐａ３の端部Ａ２との間と、経路Ｐａ３の端部Ａ３と経路Ｐａ５の端部Ａ４との間と、は結ばれない。ここでは、ノーズＲ補正によって端部Ａ１と端部Ａ２との間に経路Ｐａ２が挿入され、端部Ａ３と端部Ａ４との間に経路Ｐａ４が挿入される。その結果、経路Ｐａ１〜Ｐａ５からなる補正経路Ｐ１２が生成される。
【００６１】
補間処理部４８は、振動指令解析部４５２からの振動情報に基づいて、追加指令で規定される追加経路に対応する補正経路上で工具または加工対象を振動させるための単位時間での移動量である追加経路上振動移動量を算出する追加経路上振動移動量算出部４８６をさらに備える。
【００６２】
また、補正経路上振動移動量算出部４８２は、振動指令解析部４５２からの振動情報に基づいて、補正経路生成部４５３で生成された補正経路のうち追加経路に対応しない経路上で工具または加工対象を振動させるための単位時間での移動量である追加経路上振動移動量を算出する。ここで、補正経路のうち追加経路に対応しない経路には、プログラム経路を補正距離で補正した経路と、経路挿入モードに基づいて生成された挿入経路と、を含む。
【００６３】
移動量合成部４８３は、指令移動量算出部４８１で算出された指令移動量と、補正経路上振動移動量算出部４８２で算出された補正経路上振動移動量と、追加経路上振動移動量算出部４８６で算出された追加経路上振動移動量と、を用いて合成移動量を算出する。具体的には、補正経路中の追加経路に対応しない経路についての指令移動量に対しては補正経路上振動移動量で合成を行い、補正経路中の追加経路に対応する経路についての指令移動量に対しては追加経路上振動移動量で合成を行う。なお、実施の形態１と同一の構成要素には、同一の符号を付してその説明を省略する。
【００６４】
つぎに、実施の形態３の数値制御装置による加工方法について説明する。図１３は、実施の形態３による振動を伴う補間処理の一例を示すフローチャートである。
【００６５】
まず、解析処理部４５の移動経路生成部４５１によって加工プログラムから工具および／または加工対象の位置と速度を含むプログラム経路が生成される。また、追加指令生成部４５５によって工具および／または加工対象の位置と速度を含む追加指令が生成され、これからプログラム上の移動経路である追加経路が生成される。さらに、補正経路生成部４５３によって、パラメータを用いて実際の工具の基準位置に合わせてプログラム経路と追加経路とを補正した補正経路が生成される。このとき、経路挿入モードが加工プログラム中にある場合には新たな挿入経路が補正経路に挿入される。そして、移動指令生成部４５４によって補正経路に関する移動指令が生成され、補間処理部４８に出力される。また、振動指令解析部４５２によって、加工プログラムに含まれる周波数と振幅を含む振動条件が補間処理部４８に出力される。これによって、補間処理部４８は、解析処理部４５から出力される移動指令と振動条件を取得する（ステップＳ７１）。
【００６６】
ついで、補間処理部４８の指令移動量算出部４８１は、補正経路に基づいて生成された移動指令から単位時間（補間周期）当たりの指令移動量（移動指令による移動量である）を算出する（ステップＳ７２）。これは、直線補間、円弧補間などの種類によって、予め定められた手法によって求められる。
【００６７】
その後、補正経路上振動移動量算出部４８２は、補正経路中の追加経路に対応しない経路に対して、単位時間当たりの振動による移動量である補正経路上振動移動量を算出し、追加経路上振動移動量算出部４８６は、補正経路中の追加経路に対応する経路に対して、単位時間当たりの振動による移動量である追加経路上振動移動量を算出する（ステップＳ７３）。補正経路上振動移動量と追加経路上振動移動量は取得した振動条件（周波数、振幅）の正弦波を想定し、今回の補間時刻に対応する正弦波上の位置を求め、前回補間時刻時の位置との差として今回補間時刻に対応する振動移動量を求める。
【００６８】
ついで、移動量合成部４８３は、指令移動量と、補正経路上振動移動量および追加経路上振動移動量とを合成した合成移動量を算出する（ステップＳ７４）。ここでは、補正経路中の追加経路に対応しない経路での指令移動量に補正経路上振動移動量を加算し、補正経路中の追加経路に対応する経路での指令移動量に追加経路上振動移動量を加算する。
【００６９】
その後、合成移動量分解部４８４は、補正経路内を通るように、単位時間当たりの合成移動量を各駆動軸の成分に分解した軸移動量を算出する（ステップＳ７５）。そして、算出した軸移動量は、軸データ出力部５０を介して各駆動軸のサーボ制御部１３に出力される（ステップＳ７６）。
【００７０】
なお、ステップＳ７４で、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合、または合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、意図しない領域まで加工されることになる。そのため、合成移動量の終点の位置が加工開始位置から加工方向の反対側に位置してしまう場合には、合成移動量の終点の位置が加工開始点までとなるように、また合成移動量の終点が加工終了位置から加工方向側を過ぎてしまう場合には、合成移動量の終点が加工終了点までとなるように、合成移動量を補正してもよい。
【００７１】
その後、指令移動量算出部４８１は、指令済みの指令移動量のそれまでの合算値が目標移動量未満であるかを判定する（ステップＳ７７）。指令移動量の合算値が目標移動量未満である場合（ステップＳ７７でＹｅｓの場合）には、ステップＳ７２へと処理が戻り、上述した処理が繰り返し実行される。一方、指令移動量の合算値が目標移動量に到達した場合（ステップＳ７７でＮｏの場合）には、加工が目標位置まで進行したので、処理が終了する。
【００７２】
図１４は、実施の形態３による加工方法を模式的に示す図であり、（ａ）は加工プログラムの一例を示す図であり、（ｂ）は（ａ）の加工プログラムを実行した場合の移動経路を示す図である。図１４（ａ）に示される加工プログラムでは、Ｘ＝ｘａ，Ｚ＝０からＸ＝ｘａ，Ｚ＝ｚａまで切削し、そこからＸ＝ｘｂ，Ｚ＝ｚａまで切削する経路において、コーナ部分（Ｘ＝ｘａ，Ｚ＝ｚａ付近）を面取りし、さらに面取りした部分の両端部付近でノーズＲ補正を行うことを示している。また、実施の形態１と同様に、移動に際して振動を加える加工であることが規定されている。
【００７３】
図１４（ａ）でのプログラム経路および補正経路が図１４（ｂ）に示されている。まず、プログラム経路Ｐ１１が算出される。具体的には、加工プログラムから経路Ｐａ０１，Ｐａ０３が生成される。また、加工プログラムには面取り指示が含まれるため、追加指令生成部４５５によって面取りの追加指令が生成される。そして、追加経路生成部４５６によって面取りの追加指令によって生成される追加経路Ｐａ０２が生成される。そのため、プログラム経路Ｐ１１はＰａ１，Ｐａ２，Ｐａ３によって構成されることになる。
【００７４】
つぎに、プログラム経路Ｐ１１から補正経路Ｐ１２が生成される。具体的には、プログラム経路Ｐ１１に対して、補正距離ｄで補正を行い、経路Ｐａ０１，Ｐａ０２，Ｐａ０３に対応する経路Ｐａ１，Ｐａ３，Ｐａ５を作成する。この状態では、経路Ｐａ１の端部Ａ１と経路Ｐａ３の端部Ａ２との間と、経路Ｐａ３の端部Ａ３と経路Ｐａ５の端部Ａ４との間に経路はない。その後、ノーズＲ補正によって端部Ａ１と端部Ａ２との間に経路Ｐａ２が挿入され、端部Ａ３と端部Ａ４との間に経路Ｐａ４が挿入される。その結果、経路Ｐａ１〜Ｐａ５からなる補正経路Ｐ１２が生成される。
【００７５】
そして、補正経路上振動移動量算出部４８２は追加経路Ｐａ０２に対応しない経路Ｐａ１，Ｐａ２，Ｐａ４，Ｐａ５に対して補正経路上振動移動量を算出し、追加経路上振動移動量算出部４８６は追加経路Ｐａ０２に対応する経路Ｐａ３に対して追加経路上振動移動量を算出する。そして、これらが指令移動量と合成される。
【００７６】
実施の形態３では、加工プログラム中に経路挿入モードが含まれる場合に、補正した経路の端部間を結ぶ挿入経路を生成し、補正した経路間に挿入経路を挿入して補正経路を生成し、この補正経路に対しても振動を生成するようにした。また、加工プログラム中に経路生成指示がさらに含まれる場合に、その経路生成指示にしたがって生成した追加経路に対しても振動を生成するようにした。これによって、加工プログラムでユーザによって指定された経路以外の経路が補正経路上に存在する場合でも、補正経路全体にわたって振動を伴う加工を行うことができるという効果を有する。
【００７７】
なお、上記した実施の形態１〜３は、ドリル加工に対しても適用することができる。
【産業上の利用可能性】
【００７８】
以上のように、本発明にかかる数値制御装置は、加工プログラムを用いた工作機械の数値制御に適している。
【符号の説明】
【００７９】
１  数値制御装置、１０  駆動部、１１  サーボモータ、１２  検出器、１３  サーボ制御部、１３Ｘ  Ｘ軸サーボ制御部、１３Ｚ  Ｚ軸サーボ制御部、１４  主軸モータ、１５  検出器、１６  主軸制御部、２０  入力操作部、３０  表示部、４０  制御演算部、４１  入力制御部、４２  データ設定部、４３  記憶部、４４  画面処理部、４５  解析処理部、４６  機械制御信号処理部、４７  ＰＬＣ回路部、４８  補間処理部、４９  加減速処理部、５０  軸データ出力部、６１  加工対象、６２  工具、６２ａ  中心位置、６２ｂ  刃先位置、４３１  パラメータ、４３２  加工プログラム、４３３  画面表示データ、４３４  共有エリア、４５１  移動経路生成部、４５２  振動指令解析部、４５３  補正経路生成部、４５４  移動指令生成部、４５５  追加指令生成部、４５６  追加経路生成部、４８１  指令移動量算出部、４８２  補正経路上振動移動量算出部、４８３  移動量合成部、４８４  合成移動量分解部、４８５  通常経路上振動移動量算出部、４８６  追加経路上振動移動量算出部。
【要約】
加工プログラム上の移動経路が加工対象に形成されるように、補正距離で加工プログラム上の移動経路を補正した補正経路を生成する補正経路生成部（４５３）と、加工対象に対して工具の基準位置を補正経路上で相対的に移動させる移動指令を生成する移動指令生成部（４５４）と、加工対象に対して工具の基準位置を補正経路に沿って相対的に振動させる振動条件を取得する振動指令解析部（４５２）と、指令移動量算出部（４８１）と、単位時間での振動による移動量である補正経路上振動移動量を算出する補正経路上振動移動量算出部（４８２）と、指令移動量と補正経路上振動移動量とを合成して合成移動量を算出する移動量合成部（４８３）と、を備える。【図１】
0005606658.tif 000002
【図２】
0005606658.tif 000003
【図３】
0005606658.tif 000004
【図４】
0005606658.tif 000005
【図５】
0005606658.tif 000006
【図６】
0005606658.tif 000007
【図７】
0005606658.tif 000008
【図８】
0005606658.tif 000009
【図９】
0005606658.tif 000010
【図１０】
0005606658.tif 000011
【図１１】
0005606658.tif 000012
【図１２】
0005606658.tif 000013
【図１３】
0005606658.tif 000014
【図１４】
0005606658.tif 000015