(57)【要約】  数値制御装置（２）は、加工プログラム（１１）に含まれる指令点の情報に基づいて、指令点が形成する指令経路の形状を判定するプログラム指令形状判定部（１３）と、プログラム指令形状判定部（１３）の判定結果（２３）および指令点の情報に基づいて、挿入点を生成する挿入点生成部（１４）と、挿入点に基づいて補間を実行して工具経路を生成して、工具経路に基づいてモータ制御部（１６）にモータを制御させる補間処理部（１５）と、を備える。
2018020663.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに含まれる指令点の情報に基づいて、前記指令点が形成する指令経路の形状を判定するプログラム指令形状判定部と、
前記プログラム指令形状判定部の判定結果および前記指令点の情報に基づいて、挿入点を生成する挿入点生成部と、
前記挿入点に基づいて補間を実行して工具経路を生成して、前記工具経路に基づいてモータ制御部にモータを制御させる補間処理部と、
を備える
ことを特徴とする数値制御装置。
【請求項２】
前記プログラム指令形状判定部は、複数の前記指令点の情報に基づいて指令点毎に計算した数値を求め、前記指令点毎に計算した数値の変化量に基づいて前記指令経路の形状を判定する
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記挿入点生成部は、前記判定結果がコーナ形状である場合は、前記変化量を求めた前記指令点から等距離だけ離れた位置に前記挿入点を生成する
ことを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記挿入点生成部は、前記判定結果が円弧形状である場合は、等間隔に前記挿入点を生成する
ことを特徴とする請求項１から３のいずれか１項に記載の数値制御装置。
【請求項５】
前記指令点毎に計算した数値は、前記モータが駆動する各軸の比率変化である
ことを特徴とする請求項１から４のいずれか１項に記載の数値制御装置。
【請求項６】
前記補間処理部は、前記判定結果に基づいてクランプ速度を計算し、前記クランプ速度に基づいて前記工具経路に沿った補間周期毎の工具移動量を演算して前記モータ制御部に出力する
ことを特徴とする請求項１から５のいずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工プログラムに従って自由曲面を加工する工作機械を数値制御する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置が搭載された工作機械に３次元形状の加工を行わせる場合には、連続した複数の指令経路で自由曲面が近似された加工プログラムに従って加工が行われることがある。加工プログラムは、簡単な形状であれば手動により作成されることもあるが、自由曲面を含む３次元形状の場合には、数値制御装置とは異なる外部装置上のＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）で作成されることが一般的である。ＣＡＭにより加工プログラムが作成される際には、自由曲面をできるだけ正確に表現するために、１つの指令経路の長さである線分長を短くとった加工プログラムが生成される。ＣＡＭにおいては、演算誤差により指令経路に微小な段差のある加工プログラムが作られることがある。【０００３】
加工プログラムの指令経路に微小な段差が含まれることで、往復加工パスの往路と復路とのように隣接したパスの指令点にばらつきが生ずることになる。したがって、加工した際に傷が発生してしまうという問題がある。また、ＣＡＭから出力される加工プログラムの線分長が長い場合には、作成された加工プログラムの指令経路に忠実に従って動作すると、折れ線形状に移動する工具の指令経路がそのままワークに転写されてしまう。これにより、目標とする滑らかな加工面を得られない場合がある。【０００４】
そこで、従来の数値制御装置においては、加工プログラム指令点を数式表現可能なＮＵＲＢＳ（Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｒａｔｉｏｎａｌ  Ｂ−Ｓｐｌｉｎｅ）などの曲線で近似することにより、加工プログラムの指令経路の微小段差といったノイズブロックによる影響を軽減するようなスムージング技術が用いられている。【０００５】
特許文献１においては、生成した工具経路が、隣り合う工具経路間で段差を発生させずに、滑らかな加工面を得ることを目的として、工具経路上に等間隔に複数の目標点を設定し、複数の設定された目標点に基づいて近似曲線を計算し、近似曲線に沿った工具経路を生成する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−９６０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１が開示している方法では、設定する複数の目標点は等間隔で配置するため、加工プログラムの内のコーナ部または円弧形状など、形状にかかわらず目標点を等間隔で配置することとなる。そのため、コーナ形状部では高い精度を得ることができず、また、円弧形状部においては滑らかに工具経路を制御することができないという問題がある。【０００８】
本発明は、上記に鑑みてなされたものであって、加工プログラムの形状に基づいて高品位な加工ができる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、加工プログラムに含まれる指令点の情報に基づいて、指令点が形成する指令経路の形状を判定するプログラム指令形状判定部と、プログラム指令形状判定部の判定結果および指令点の情報に基づいて、挿入点を生成する挿入点生成部と、を備える。さらに本発明は、挿入点に基づいて補間を実行して工具経路を生成して、工具経路に基づいてモータ制御部にモータを制御させる補間処理部を備える。
【発明の効果】
【００１０】
本発明にかかる数値制御装置は、加工プログラムの形状に基づいて高品位な加工ができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１にかかる数値制御装置の構成の一例を示すブロック図
【図２】実施の形態１におけるコーナ形状の加工プログラム指令点の一例を示す図
【図３】実施の形態１における円弧形状の加工プログラム指令点の一例を示す図
【図４】実施の形態１におけるコーナ形状の加工プログラム指令点の一例を示す図
【図５】実施の形態１におけるコーナ形状の加工プログラム指令点の別の例を示す図
【図６】実施の形態１における円弧形状の加工プログラム指令点の一例を示す図
【図７】実施の形態１における円弧形状の加工プログラム指令点の別の例を示す図
【図８】実施の形態１におけるコーナ形状のノイズブロックを含んだ加工プログラム指令点の一例を示す図
【図９】実施の形態１における隣接する指令経路が角度の異なるコーナ形状になっている加工プログラム指令点の一例を示す図
【図１０】実施の形態１における円弧形状の加工プログラム指令点のさらに別の例を示す図
【図１１】実施の形態１における加工プログラムの読み込みから形状判定までの手順を示すフローチャート
【図１２】実施の形態１におけるコーナ形状の加工プログラム指令点を示す図
【図１３】実施の形態１におけるコーナ形状の別の加工プログラム指令点を示す図
【図１４】実施の形態１におけるコーナ形状に対して生成された挿入点の一例を示す図
【図１５】実施の形態１におけるコーナ形状に対して生成された挿入点の別の例を示す図
【図１６】実施の形態１における円弧形状の加工プログラム指令点を示す図
【図１７】実施の形態１における円弧形状の別の加工プログラム指令点を示す図
【図１８】実施の形態１における円弧形状に対して生成された挿入点の一例を示す図
【図１９】実施の形態１におけるコーナ形状の挿入点に基づいて直線近似補間を実行する様子を示す図
【図２０】実施の形態１におけるコーナ形状の挿入点に基づいて曲線近似補間を実行する様子を示す図
【図２１】実施の形態１における挿入点の生成から工具経路の生成までの手順を示すフローチャート
【図２２】実施の形態１にかかる数値制御装置にかかる構成要素を専用のハードウェアで構成する例を示す図
【図２３】実施の形態１にかかる数値制御装置にかかる構成要素をコンピュータで実現する場合のハードウェア構成を示す図
【発明を実施するための形態】
【００１２】
以下に、本発明の実施の形態にかかる数値制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
図１は、本発明の実施の形態１にかかる数値制御装置２の構成の一例を示すブロック図である。実施の形態１にかかる数値制御装置２は軌跡制御装置であり、加工プログラム指令に従って動作するＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）工作機械または産業ロボットといった装置に用いられる。図１は、数値制御装置２がＮＣ工作機械１に使用されている例を示している。数値制御装置２は、入力される加工プログラム１１に基づいて、サーボアンプといったモータ制御部１６を制御する。
【００１４】
加工プログラム１１は、周知のＧコードデータのように、使用する工具の選択信号、制御対象である工具の移動軌跡即ち指令経路を表すデータ、工具の移動速度のデータといった内容で構成されている。指令点が形成する経路が指令経路であり、指令経路を表すデータとは、指令点である加工プログラム指令点の座標情報である。加工プログラム１１は、ＣＡＤ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）などにより作成された３次元の設計図に基づいてＣＡＭにより生成される。上述した３次元の設計図によって表わされた自由曲線を移動経路とする場合、ＣＡＭは、当該自由曲線を微小区間に分割し、分割された微小区間の曲線を線分に置き換えることにより当該自由曲線を折れ線で近似し、近似した折れ線により当該自由曲線を線形補間する指令経路を指令する加工プログラムを作成する。
【００１５】
図１に示すように、実施の形態１にかかる数値制御装置２は、入力された加工プログラム１１から加工プログラム指令点の情報を読み取るプログラム指令読み取り部１２と、プログラム指令読み取り部１２から受け取った加工プログラム指令位置２２に基づいて、加工が指令された指令経路の形状を判定するプログラム指令形状判定部１３と、プログラム指令形状判定部１３による判定結果２３および加工プログラム指令位置２２に基づいて挿入点を生成する挿入点生成部１４と、挿入点生成部１４が生成した挿入点を基準にした補間により工具経路を生成し、補間周期毎の工具移動量をモータ指令位置２５として出力する補間処理部１５と、挿入点生成部１４にトレランスを設定するパラメータ設定部１７と、を有している。加工プログラム指令位置２２は、加工プログラム指令点の情報である。工具経路は、補正後の指令経路である。補間周期は、数値制御装置２に仕様として定められた一定の周期である。モータ制御部１６は、補間処理部１５が求めた工具経路に基づいて、モータを制御する。具体的には、モータ制御部１６は補間処理部１５からモータ指令位置２５を受け取って、工具経路に沿った補間周期毎の移動量をモータが実現するようにモータの電流およびトルクの制御を行う。モータは、複数の軸を駆動する。
【００１６】
プログラム指令形状判定部１３は、プログラム指令読み取り部１２から受け取った加工プログラム指令位置２２が示す指令経路に基づいてプログラム形状を判定する。
【００１７】
図２は、実施の形態１におけるコーナ形状の加工プログラム指令点の一例を示す図である。図３は、実施の形態１における円弧形状の加工プログラム指令点の一例を示す図である。
【００１８】
図２は、角度θａからなるＰ１、Ｐ２、Ｐ３、Ｐ４およびＰ５の５点の加工プログラム指令点からなる加工プログラム指令を示している。加工プログラム１１においては、位置すなわち加工プログラム指令点の座標が指令される。加工プログラム指令点の座標の情報は加工プログラム指令位置２２としてプログラム指令形状判定部１３に与えられる。したがって、プログラム指令形状判定部１３は、加工プログラム１１が指令する指令経路の形状を示す角度θａを、以下の数式（１）のように計算する事ができる。角度θａは、指令経路となる接続した線分同士がなす角度である。
【００１９】
【数１】
2018020663.tif 000003
【００２０】
ここで、ＲｘおよびＲｙは、モータにより駆動される各軸の比率変化Ｒのｘ成分およびｙ成分である。各軸の比率変化Ｒは、加工プログラム１１が移動を指令する各軸の移動量の比の変化量である。Ｐ１の座標を（ｘ１，ｙ１）、Ｐ２の座標を（ｘ２，ｙ２）、Ｐ３の座標を（ｘ３，ｙ３）、Ｐ１とＰ２との間の距離をＬ１、Ｐ２とＰ３との間の距離をＬ２とすると、ＲｘおよびＲｙは、以下の数式（２）および数式（３）で示される。
【００２１】
【数２】
2018020663.tif 000004
【数３】
2018020663.tif 000005
【００２２】
図３は、円弧形状を近似する指令経路を示す。ここで、指令経路となる線分が接続される各加工プログラム指令点における線分同士がなす角度を数式（１）で示したように計算すると、図３で示す全ての加工プログラム指令点において角度θａとなり、図２の角度θａと同一角度となる。各指令点における角度のみで形状を判定する場合、図２のコーナ形状と、図３の円弧形状の形状判定とは同一の形状であると判定してしまう。形状の判定は、指令経路となる線分同士がなす角度θａの他に、各軸の比率変化Ｒに基づいて実行してもよい。しかし、各軸の比率変化Ｒを計算した場合も、図２と図３とでは、各軸の比率変化Ｒは同じ値になる。
【００２３】
コーナでのクランプ速度の計算方法と、円弧でのクランプ速度の計算方法とは異なる。したがって、図２および図３に示す様な指令経路となる線分同士がなす角が同一角度の形状の場合に、円弧形状であるにも関わらずコーナ形状としての処理を行うと正しい速度計算ができない。正しい速度計算ができないことは、加工面に傷ができる原因となる。
【００２４】
そこで、プログラム指令形状判定部１３は、指標値Ｉを計算する。指標値Ｉは、各軸の比率変化Ｒの変化量である。プログラム指令形状判定部１３は、指標値Ｉを計算し、指標値Ｉに基づいてプログラム形状を判定する。ここでは、指標値Ｉの一例を説明する。ある加工プログラム指令点における指標値Ｉは、当該加工プログラム指令点における各軸の比率変化Ｒと次の加工プログラム指令点における各軸の比率変化Ｒとの間の差の絶対値、すなわち各軸の比率変化Ｒの変化量であるとする。図２のコーナ形状の場合、Ｐ２における指標値Ｉは、Ｐ２における比率変化ＲとＰ３における比率変化Ｒとの変化量となるので、Ｐ２の指令点で大きな値を持つ。図２に示すようにＰ２からＰ５までが直線状の場合は、Ｐ３以降の指標値はゼロになる。
【００２５】
一方で、図３の円弧形状においては、Ｐ２以降の各加工プログラム指令点での各軸の比率変化Ｒが同一値で算出される。したがって、図３のＰ２以降の各加工プログラム指令点における指標値Ｉである各軸の比率変化Ｒの変化量は、ゼロとなる。このような指標値Ｉを用いることにより、プログラム指令形状判定部１３によるプログラム指令形状の判定が可能となる。すなわち、後述する図１１のフローチャートに示すように、各軸の比率変化Ｒが非ゼロであって各軸の比率変化Ｒの変化量が予め定めた値より大きい場合にはコーナ形状であると判定され、各軸の比率変化Ｒが非ゼロであって各軸の比率変化Ｒの変化量が予め定めた値より小さい場合には円弧形状であると判定される。各軸の比率変化Ｒがゼロの場合、すなわち指令経路となる線分同士がなす角度が０°の場合は、直線形状であると判定することができる。
【００２６】
実施の形態１におけるプログラム指令形状判定部１３では、指令経路として接続される線分同士がなす角θａを各軸の比率変化Ｒに基づいて計算し、指標値Ｉを各軸の比率変化Ｒの変化量として計算するとして説明している。しかし、指標値Ｉは、曲率の変化量、または速度の変化量すなわち加速度といった値であってもかまわない。各軸の比率変化Ｒ、曲率および速度は、それぞれが、加工プログラム指令点毎に当該加工プログラム指令点を含んだ複数の加工プログラム指令点の情報に基づいて計算した数値である。したがって、指標値Ｉは複数の加工プログラム指令点の情報に基づいて計算した数値の変化量であればよい。
【００２７】
図４は、実施の形態１におけるコーナ形状の加工プログラム指令点の一例を示す図である。図５は、実施の形態１におけるコーナ形状の加工プログラム指令点の別の例を示す図である。
【００２８】
加工プログラム１１が指令する指令経路の形状が、指令点を挟んだ指令経路となる線分同士がなす角度がθａのコーナ形状である場合、実施の形態１におけるコーナ形状の指標値Ｉの計算は、図４に示すように角度θａを形成する単純なＰ１、Ｐ２、Ｐ３の３点の加工プログラム指令点でのみ実行されることもある。しかし、図４とは異なり、図５に示すように、指令経路をより微小な線分で分割したときの線分同士の繋ぎ目となる指令点において指標値Ｉの計算が実行されることもある。さらに、図５に示される指令点の間隔は等間隔ではなく、不均一な間隔である。図５のように指令点を設定した場合においても、コーナとなる点であるＰ４においてのみ指標値Ｉが大きくなる。図４のＰ２での指標値Ｉと図５のＰ４での指標値Ｉとは同じ値となり、プログラム指令形状判定部１３は同様の形状であると判定することが可能である。
【００２９】
図６は、実施の形態１における円弧形状の加工プログラム指令点の一例を示す図である。図７は、実施の形態１における円弧形状の加工プログラム指令点の別の例を示す図である。
【００３０】
加工プログラム１１が指令する指令経路の形状が円弧形状の場合も、図６に示すように線分長の長い指令経路同士の繋ぎ目となる指令点で指標値Ｉを計算した場合と、図７に示すように図６よりも短い間隔で設定した指令点で指標値Ｉを計算した場合とは共に指標値Ｉの値は図４および図５の場合に比べて小さくなる。したがって、プログラム指令形状判定部１３は、図６の場合および図７の場合は、同様に円弧形状と判定することが可能である。
【００３１】
図４の指令点Ｐ１、Ｐ２およびＰ３がなす角と図５の指令点Ｐ１、Ｐ４およびＰ８がなす角とは同じ値である。指令点が誤差を含んだ指令点であるノイズブロックを含まない図４および図５の場合、連続する３つの指令点を用いて数式（２）および（３）に示したように各軸の比率変化Ｒを求めて、当該比率変化Ｒを用いて指標値Ｉを求めたとしても、図４のＰ２での指標値Ｉと図５のＰ４での指標値Ｉとは同じ値になる。しかし、指令点がノイズブロックを含んでいる場合に、連続する３つの指令点を用いて各軸の比率変化Ｒを求めると誤差が生じる。
【００３２】
図８は、実施の形態１におけるコーナ形状のノイズブロックを含んだ加工プログラム指令点の一例を示す図である。図８に示すように加工プログラム指令点にノイズブロックとなるＰ２およびＰ４が含まれる場合がある。このような場合を考慮して、プログラム指令読み取り部１２が加工プログラム１１を先読みするなどして、加工プログラム指令点における各軸の比率変化Ｒの計算を大域的に実行する。加工プログラム指令点における各軸の比率変化Ｒの計算を大域的に実行するとは、当該加工プログラム指令点および当該加工プログラム指令点の前後の加工プログラム指令点の情報といった局所情報のみならず、さらに離れたそれ以外の加工プログラム指令点の情報も用いて各軸の比率変化Ｒを計算するという意味である。
【００３３】
各軸の比率変化Ｒの計算を大域的に実行する具体的な方法を図８のＰ３を例として説明する。各軸の比率変化Ｒの計算を大域的に実行する方法の一例は、Ｐ３における各軸の比率変化Ｒを求める場合に、Ｐ３の前後の指令点であるノイズブロックとなるＰ２およびＰ４を省いて、Ｐ１、Ｐ３およびＰ５の座標を用いて比率変化Ｒを求める方法である。また別の方法には、Ｐ２、Ｐ３およびＰ４を用いて求めた各軸の比率変化ＲとＰ１、Ｐ３およびＰ５を用いて求めた各軸の比率変化Ｒとの平均を最終的なＰ３における各軸の比率変化Ｒとして求める方法がある。ただし、比率変化Ｒの計算を大域的に実行する方法は、これらに限らない。上述したように、図８においてノイズブロックとなるＰ２およびＰ４を省いてＰ３における比率変化Ｒを求めたとすれば、その値は、図４のＰ２における比率変化Ｒと同じになる。
【００３４】
各指令点で求める各軸の比率変化Ｒを、上記した例のように大域的に計算して求めることにより、連続して配置される指令点における各軸の比率変化Ｒ同士の差分の絶対値である指標値Ｉの値も大域的に求めたことになる。その結果、図８のＰ３における指標値Ｉと図４のＰ２における指標値Ｉとも同じまたはほぼ同じ値になる。その結果、図４および図８の形状は同様にコーナ形状であると判定される。その結果、隣接する指令経路を往復して加工するような場合において、隣接する指令経路のいずれかまたは双方にノイズブロックが含まれていてもノイズブロックに影響されることなく、同じ形状であると判定することが可能になる。これにより、隣接する指令経路の間に段差を生じさせないで、滑らかな加工面を得ることができる。
【００３５】
図９は、実施の形態１における隣接する指令経路が角度の異なるコーナ形状になっている加工プログラム指令点の一例を示す図である。図９は、隣接する指令経路の加工プログラム指令点を表し、往復走査線で加工される。図９の上の指令経路がなす角度はθａであり、下の指令経路がなす角度はθａとは異なるθｂである。図９のような指令経路の場合においても、それぞれの経路の角度が変化する点において、各軸の比率変化Ｒおよび指標値Ｉを求めることができる。各軸の比率変化Ｒが得られれば、数式（１）より角度も求まるので、プログラム指令形状判定部１３は、指標値Ｉに基づいて、図９の上の指令経路は角度がθａのコーナ形状と判定し、図９の下の指令経路は角度がθｂのコーナ形状と判定することができる。
【００３６】
図１０は、実施の形態１における円弧形状の加工プログラム指令点のさらに別の例を示す図である。図１０は、各加工プログラム指令点における指令経路がなす角度がθａ、θｂおよびθｃとそれぞれ異なる場合の円弧形状を示している。角度θａ、θｂおよびθｃが大きく異ならなければ、各指令点における指標値Ｉは、それぞれ０に近い小さな値となる。その結果、図１０のように各指令点における指令経路がなす角度が異なる場合でも、プログラム指令形状判定部１３は、指令経路が円弧形状であると判定することができる。
【００３７】
図１１は、実施の形態１における加工プログラム１１の読み込みから形状判定までの手順を示すフローチャートである。
【００３８】
まず、プログラム指令読み取り部１２が加工プログラム１１を読み込む（ステップＳ１１）。次に、プログラム指令形状判定部１３は、読み込まれた加工プログラム１１に基づいて、加工プログラム指令点における指令経路がなす角度θを計算する（ステップＳ１２）。指令点において指令経路がなす角度θを求めるためには、当該指令点における各軸の比率変化Ｒを求める必要がある。ここで、比率変化Ｒの計算は上述したように大域的に実行されてもかまわない。
【００３９】
そして、プログラム指令形状判定部１３は、ステップＳ１２で求めた角度θの絶対値｜θ｜が予め定めた角度θ０より大きい（｜θ｜＞θ０）か否かを判定する（ステップＳ１３）。絶対値｜θ｜が角度θ０より大きくない場合（ステップＳ１３：Ｎｏ）、プログラム指令形状判定部１３は、指令経路が直線形状であると判定する（ステップＳ１６）。絶対値｜θ｜が角度θ０より大きい場合（ステップＳ１３：Ｙｅｓ）、プログラム指令形状判定部１３は、指標値Ｉを計算する（ステップＳ１４）。
【００４０】
ステップＳ１４の後、プログラム指令形状判定部１３は、指標値Ｉが予め定めた値Ｉｃより大きい（Ｉ＞Ｉｃ）か否かを判定する（ステップＳ１５）。指標値ＩがＩｃより大きくない場合（ステップＳ１５：Ｎｏ）、プログラム指令形状判定部１３は、指令経路が円弧形状であると判定する（ステップＳ１７）。指標値ＩがＩｃより大きい場合（ステップＳ１５：Ｙｅｓ）、プログラム指令形状判定部１３は、指令経路がコーナ形状であると判定する（ステップＳ１８）。
【００４１】
プログラム指令形状判定部１３における指令経路の形状判定の判定結果２３およびプログラム指令読み取り部１２から受け取った加工プログラム指令位置２２に基づいて、挿入点生成部１４は、挿入点を生成する。挿入点は、指令経路を補間して工具経路を生成するための基準となる点である。
【００４２】
図１２は、実施の形態１におけるコーナ形状の加工プログラム指令点を示す図である。図１３は、実施の形態１におけるコーナ形状の別の加工プログラム指令点を示す図である。図１２および図１３は、同一のコーナ形状の指令経路における加工プログラム指令点の様子を示している。
【００４３】
図１４は、実施の形態１におけるコーナ形状に対して生成された挿入点の一例を示す図である。図１４は、コーナ形状であると判定された図１２および図１３の指令経路に対して挿入点生成部１４が生成した挿入点Ｑ１，Ｑ２，Ｑ３，Ｑ４，Ｑ５の配置を示している。
【００４４】
図１２においては、加工プログラム指令点Ｐ４における指標値Ｉ、図１３においては、加工プログラム指令点Ｐ２における指標値Ｉに基づいて指令経路がコーナ形状であると判定されるため、図１４においては、図１２のＰ４または図１３のＰ２に相当する点に挿入点Ｑ３を設けた上で、図１２のＰ４または図１３のＰ２から等距離だけ離れたＱ２およびＱ４を挿入点としてさらに配置する。これにより、後述する補間を経てコーナ形状部における加工精度を高めることが可能となる。図１２および図１３は、指令経路がコーナ形状となるような線分長がそれぞれ異なる直線の指令経路を繋ぐ加工プログラム指令点を示している。しかし、加工プログラム１１が示す指令経路の線分長および加工プログラム１１が含むノイズブロックに影響されずに、図１２のＰ４における指標値Ｉと図１３のＰ２における指標値Ｉとはプログラム指令形状判定部１３によって同じ値となるように計算されるので、線分長およびノイズブロックによらずに適切に挿入点を配置することが可能となる。
【００４５】
図１５は、実施の形態１におけるコーナ形状に対して生成された挿入点の別の例を示す図である。図１５は、コーナ形状であると判定された図１２および図１３の指令経路に対して挿入点生成部１４が生成した挿入点Ｑ１，Ｑ２，Ｑ３，Ｑ４の配置を示している。
【００４６】
図１４と同様に図１５においても、図１２の加工プログラム指令点Ｐ４における指標値Ｉまたは図１３の加工プログラム指令点Ｐ２における指標値Ｉに基づいて指令経路がコーナ形状であると判定されるため、図１５においては、図１２のＰ４または図１３のＰ２から等距離だけ離れたＱ２およびＱ３を挿入点として設けるが、図１２のＰ４または図１３のＰ２に相当する点には挿入点を設けない。このように、指令経路をコーナ形状であると判定するための指標値Ｉを求めた加工プログラム指令点には必ずしも挿入点を配置しなくてもかまわない。
【００４７】
図１６は、実施の形態１における円弧形状の加工プログラム指令点を示す図である。図１７は、実施の形態１における円弧形状の別の加工プログラム指令点を示す図である。図１６および図１７は、同一の円弧形状の指令経路における加工プログラム指令点の様子を示している。
【００４８】
図１８は、実施の形態１における円弧形状に対して生成された挿入点の一例を示す図である。図１８は、円弧形状であると判定された図１６および図１７の指令経路に対して挿入点生成部１４が生成した挿入点Ｑ１，Ｑ２，…，Ｑ９，Ｑ１０の配置を示している。プログラム指令形状判定部１３により加工プログラム１１が指令する指令経路の形状が円弧形状であると判定された場合は、挿入点生成部１４は、図１８に示すように挿入点を等間隔に配置する。これにより、円弧形状部における滑らかな加工が可能となる。
【００４９】
なお、図１４のＱ２とＱ３との距離、図１４のＱ３とＱ４との距離、図１８の等間隔の距離といった連続して配置される挿入点の配置間隔は、挿入点および後述する補間方法によって補間処理部１５が生成する工具経路が、加工プログラム指令点からパラメータ設定部１７によって設定されたトレランス以内となるように挿入点生成部１４が決定する。
【００５０】
補間処理部１５は、挿入点生成部１４によって配置された挿入点の情報を挿入点位置２４として受け取って、挿入点に基づいて補間を実行して工具経路を生成する。補間処理部１５は、挿入点に基づいた補間を、挿入点に対する直線近似補間または曲線近似補間で実行する。ここで、曲線近似としては、ＮＵＲＢＳ曲線近似、ベジェ曲線近似、Ｂ−スプライン曲線近似またはスプライン曲線近似を適用することができる。
【００５１】
図１９は、実施の形態１におけるコーナ形状の挿入点に基づいて直線近似補間を実行する様子を示す図である。図１９は、図１４に示すように配置された挿入点に対して、補間処理部１５が直線近似補間によって生成した工具経路を実線で示している。この場合の工具経路は、補正前の指令経路に重なっている。
【００５２】
図２０は、実施の形態１におけるコーナ形状の挿入点に基づいて曲線近似補間を実行する様子を示す図である。図２０は、図１５に示すように配置された挿入点に対して、補間処理部１５が曲線近似補間によって生成した工具経路を実線で示している。破線は補正前の指令経路を示している。
【００５３】
図２１は、実施の形態１における挿入点の生成から工具経路の生成までの手順を示すフローチャートである。
【００５４】
まず、判定結果２３および加工プログラム指令位置２２に基づいて、挿入点生成部１４が挿入点を生成する（ステップＳ２１）。補間処理部１５は、挿入点位置２４を受けとり、挿入点に基づいて予め定めた補間方法により補間を実行して工具経路を生成する（ステップＳ２２）。
【００５５】
さらに、補間処理部１５は、判定結果２３に基づいて、クランプ速度を計算する（ステップＳ２３）。補間処理部１５は、判定結果２３が「指令経路がコーナ形状である」との判定である場合には、コーナの許容速度をクランプ速度として計算する。補間処理部１５は、判定結果２３が「指令経路が円弧形状である」との判定である場合には、円弧クランプ速度をクランプ速度として計算する。
【００５６】
ステップＳ２３で求めたクランプ速度を用いて、補間処理部１５は、ステップＳ２２で生成された工具経路に沿った補間周期毎の工具移動量を演算してモータ指令位置２５としてモータ制御部１６に出力する（ステップＳ２４）。
【００５７】
図２２は、実施の形態１にかかる数値制御装置２にかかる構成要素を専用のハードウェアで構成する例を示す図である。この場合、数値制御装置２が備えるプログラム指令読み取り部１２、プログラム指令形状判定部１３、挿入点生成部１４、補間処理部１５およびパラメータ設定部１７のそれぞれは、図２２に示すように専用のハードウェアである処理回路１００で構成される。処理回路１００は、単一回路、複合回路、プログラム化したプロセッサー、並列プログラム化したプロセッサー、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。プログラム指令読み取り部１２、プログラム指令形状判定部１３、挿入点生成部１４、補間処理部１５およびパラメータ設定部１７の各部の機能それぞれを別々の複数の処理回路１００で実現してもよいし、上記各部の機能をまとめて一つの処理回路１００で実現してもよい。
【００５８】
図２３は、実施の形態１にかかる数値制御装置２にかかる構成要素をコンピュータで実現する場合のハードウェア構成を示す図である。この場合、数値制御装置２が備えるプログラム指令読み取り部１２、プログラム指令形状判定部１３、挿入点生成部１４、補間処理部１５およびパラメータ設定部１７の各部は、数値制御装置２に設けられた図２３に示すようなＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１およびメモリ１０２により実現される。すなわち、数値制御装置２の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。これらのソフトウェアまたはファームウェアはプログラムとして記述され、メモリ１０２に格納される。上記プログラムは、加工プログラム１１とは別のプログラムである。ＣＰＵ１０１は、メモリ１０２に記憶された上記プログラムを読み出して実行することにより、上記各部の機能を実現する。すなわち、数値制御装置２は、上記各部の機能がコンピュータにより実行されるときに、上記各部の動作を実施するステップが結果的に実行されることになる上記プログラムを格納するためのメモリ１０２を備える。また、上記プログラムは、プログラム指令読み取り部１２、プログラム指令形状判定部１３、挿入点生成部１４、補間処理部１５およびパラメータ設定部１７の手順または方法をコンピュータに実行させるプログラムであるともいえる。
【００５９】
ここで、メモリ１０２とは、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリー、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）といった不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）が該当する。
【００６０】
また、数値制御装置２が備えるプログラム指令読み取り部１２、プログラム指令形状判定部１３、挿入点生成部１４、補間処理部１５およびパラメータ設定部１７の各部の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように数値制御装置２の構成要素は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述した各部の機能を実現することができる。
【００６１】
以上説明したように、実施の形態１におけるプログラム指令形状判定部１３は、加工プログラム指令位置２２が含む加工プログラム指令点の情報に基づいて、各加工プログラム指令点における指令経路がなす角度および指標値Ｉを計算して、指令経路の形状を判定する。そして、形状の判定結果２３に基づいて挿入点生成部１４が挿入点を生成、補間処理部１５は、挿入点に基づいて補間を実行して工具経路を生成する。指標値Ｉを利用することにより、指令経路の形状に応じた挿入点を配置することができるので、加工プログラム１１にＣＡＭによるノイズブロックのような段差が含まれていても、工具経路を安定して生成することがでる。その結果、コーナ形状部または円弧形状部によらず高い精度で滑らかに加工することができるため、高品位な加工を行う事ができる。
【００６２】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００６３】
１  ＮＣ工作機械、２  数値制御装置、１１  加工プログラム、１２  プログラム指令読み取り部、１３  プログラム指令形状判定部、１４  挿入点生成部、１５  補間処理部、１６  モータ制御部、１７  パラメータ設定部、２２  加工プログラム指令位置、２３  判定結果、２４  挿入点位置、２５  モータ指令位置、１００  処理回路、１０１  ＣＰＵ、１０２  メモリ。
【図１】
2018020663.tif 000006
【図２】
2018020663.tif 000007
【図３】
2018020663.tif 000008
【図４】
2018020663.tif 000009
【図５】
2018020663.tif 000010
【図６】
2018020663.tif 000011
【図７】
2018020663.tif 000012
【図８】
2018020663.tif 000013
【図９】
2018020663.tif 000014
【図１０】
2018020663.tif 000015
【図１１】
2018020663.tif 000016
【図１２】
2018020663.tif 000017
【図１３】
2018020663.tif 000018
【図１４】
2018020663.tif 000019
【図１５】
2018020663.tif 000020
【図１６】
2018020663.tif 000021
【図１７】
2018020663.tif 000022
【図１８】
2018020663.tif 000023
【図１９】
2018020663.tif 000024
【図２０】
2018020663.tif 000025
【図２１】
2018020663.tif 000026
【図２２】
2018020663.tif 000027
【図２３】
2018020663.tif 000028
【手続補正書】
【提出日】平成29年2月17日(2017.2.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
加工プログラムに含まれる指令点の情報に基づいて、前記指令点が形成する指令経路の形状を判定するプログラム指令形状判定部と、
前記プログラム指令形状判定部の判定結果および前記指令点の情報に基づいて、挿入点を生成する挿入点生成部と、
前記挿入点に基づいて補間を実行して工具経路を生成して、前記工具経路に基づいてモータ指令位置を出力する補間処理部と、
を備える
ことを特徴とする数値制御装置。
【請求項２】
前記プログラム指令形状判定部は、複数の前記指令点の情報に基づいて指令点毎に計算した数値を求め、前記指令点毎に計算した数値の変化量に基づいて前記指令経路の形状を判定する
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記挿入点生成部は、前記判定結果がコーナ形状である場合は、前記変化量を求めた前記指令点から等距離だけ離れた位置に前記挿入点を生成する
ことを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記挿入点生成部は、前記判定結果が円弧形状である場合は、等間隔に前記挿入点を生成する
ことを特徴とする請求項１から３のいずれか１項に記載の数値制御装置。
【請求項５】
前記指令点毎に計算した数値は、モータが駆動する各軸の比率変化である
ことを特徴とする請求項１から４のいずれか１項に記載の数値制御装置。
【請求項６】
前記補間処理部は、前記判定結果に基づいてクランプ速度を計算し、前記クランプ速度に基づいて前記工具経路に沿った補間周期毎の工具移動量を演算して、モータを制御するモータ制御部に前記工具移動量を前記モータ指令位置として出力する
ことを特徴とする請求項１から５のいずれか１項に記載の数値制御装置。
【手続補正書】
【提出日】平成29年7月20日(2017.7.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
加工プログラムに含まれる指令点の情報に基づいて、前記指令点が形成する指令経路の形状の種類を判定するプログラム指令形状判定部と、
前記プログラム指令形状判定部の判定結果および前記指令点の情報に基づいて、挿入点を生成する挿入点生成部と、
前記挿入点に基づいて補間を実行して工具経路を生成して、前記工具経路に基づいてモータ指令位置を出力する補間処理部と、
を備える
ことを特徴とする数値制御装置。
【請求項２】
前記形状の種類は、コーナ形状および円弧形状を含む
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記プログラム指令形状判定部は、複数の前記指令点の情報に基づいて指令点毎に計算した数値を求め、前記指令点毎に計算した数値の変化量に基づいて前記指令経路の形状の種類を判定する
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記指令点毎に計算した数値は、モータが駆動する各軸の比率変化である
ことを特徴とする請求項３に記載の数値制御装置。
【請求項５】
前記挿入点生成部は、前記判定結果がコーナ形状である場合は、前記変化量を求めた前記指令点から等距離だけ離れた２つの位置に前記挿入点を生成する
ことを特徴とする請求項３または４に記載の数値制御装置。
【請求項６】
前記挿入点生成部は、前記判定結果が円弧形状である場合は、等間隔に前記挿入点を生成する
ことを特徴とする請求項１から５のいずれか１項に記載の数値制御装置。
【請求項７】
前記補間処理部は、前記判定結果に基づいてクランプ速度を計算し、前記クランプ速度に基づいて前記工具経路に沿った補間周期毎の工具移動量を演算して、モータを制御するモータ制御部に前記工具移動量を前記モータ指令位置として出力する
ことを特徴とする請求項１から６のいずれか１項に記載の数値制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、加工プログラムに含まれる指令点の情報に基づいて、指令点が形成する指令経路の形状の種類を判定するプログラム指令形状判定部と、プログラム指令形状判定部の判定結果および指令点の情報に基づいて、挿入点を生成する挿入点生成部と、を備える。さらに本発明は、挿入点に基づいて補間を実行して工具経路を生成して、工具経路に基づいてモータ指令位置を出力する補間処理部を備える。
【国際調査報告】
2018020663.tif 000029
2018020663.tif 000030
2018020663.tif 000031