説明

加工プログラムの移動経路を修正する機能を備えた数値制御装置

【課題】ピックフィードが切削部分にある加工プログラムの場合でも、良好な加工面を得ることができる数値制御装置。
【解決手段】プログラム入力部2は、自動運転の実行時に加工プログラム1を読み出し、指令解析部3に入力する。指令解析部3は、指令ブロック毎の移動量や送り速度の指令から補間用のデータを生成する前処理部であり、前処理されたデータは、補間処理部7に入力され、各軸の移動指令に分割された後、各軸のサーボモータ8X,8Y,8Zに出力される。指令解析部3の内部において、ベクトル作成部4は、同一方向の連続する指令ブロックを一つにしたベクトルを作成し、ピックフィード判定部5に入力する。ピックフィード判定部5では、入力されたベクトルからピックフィード部分かどうかの判定が行われ、ピックフィード部分であった場合には、経路修正部6で経路の修正が行われる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、工作機械を制御する数値制御装置に関し、特に、加工プログラムの移動経路を修正する機能を備えた数値制御装置に関する。
【背景技術】
【0002】
CAM等で作成された金型加工用の加工プログラムには、隣接する移動経路を繋ぐピックフィードが存在する。一般的に、図18に示されるように、往復で切削する場合、ピックフィードは非切削部分にあるが、図19に示されるように等高線に沿って切削する場合、ピックフィードは切削部分にある場合が多い。どちらの場合も、ピックフィードとその前後のブロックは滑らかに繋がっていることが望ましい。なぜなら、ピックフィードとその前後のブロックが滑らかに繋がっていない加工プログラムでは、ピックフィードの部分でコーナ減速、加速度クランプ等により不要な減速が発生する場合があるからである。そして、ピックフィードが非切削部分にある加工プログラムでは、ピックフィードの部分で減速が発生すると、加工効率の低下の要因となる。他方、ピックフィードが切削部分にある加工プログラムでは、ピックフィードの部分で減速が発生すると、ワークにカッターマークが付く等、加工面に悪影響を与える要因となる。
【0003】
そこで、図20に示されるように、ピックフィードとその前後のブロックを滑らかに繋げるために、ピックフィードの部分を加工プログラムの中から抽出し、ピックフィードの部分とその前後のエアカットの部分の経路を、曲線上の任意点において曲率が連続する高次NURBS曲線に置き換える技術が特許文献1に開示されている。前記技術により、ピックフィードが非切削部分にある加工プログラムでは、ピックフィードの部分での減速が抑えられ、加工効率を向上させることができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−200037号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に開示された技術はピックフィードが切削部分にある加工プログラムを想定していない。また、前記技術は、ピックフィードの部分が複数ブロックで構成されている加工プログラムには適用できないという問題がある。
このため、ピックフィードが切削部分にある加工プログラムでは、加工プログラムの作成段階でピックフィードのない渦巻き状の移動経路を作成できるCAMを使用して加工プログラムを作成し直すか、あるいは、補間後加減速の時定数を大きくするか、切削速度を遅くすることにより、ピックフィードでの減速の影響を最小限に抑えていた。しかし、補間後加減速の時定数を大きくする方法では金型の形状精度が悪くなり、切削速度を遅くする方法では加工時間が長くなるという問題があった。
【0006】
そこで本発明の目的は、上記従来技術の問題点を解決するために、ピックフィードが切削部分にある加工プログラムの場合に、ピックフィード前後の滑らかでない移動経路を滑らかな経路とするように修正することで不要な減速を防止し、加工時間を極力短縮しながら良好な加工面を得ることができるように加工プログラムの移動経路を修正する機能を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【0007】
本願の請求項1に係る発明は、複数の指令ブロックにより構成され、かつ、ピックフィードが切削部分にある加工プログラムに従って対象物を移動制御する数値制御装置において、連続する指令ブロックが同一方向かどうかを所定のルールに従って判定する判定部と、前記判定部で同一方向と判定された場合に、連続する指令ブロックを1つのベクトルとするベクトル作成部と、連続する3つの前記ベクトルをそれぞれ第1ベクトル、第2ベクトル、および第3ベクトルとする3ベクトル特定部と、前記第1ベクトルと前記第3ベクトルが同一方向かを第1の条件として判定する第1判定部と、前記第2ベクトルの長さが予め定めた範囲内の長さかを第2の条件として判定する第2判定部と、前記第1の条件と前記第2の条件がともに成立する場合に、移動経路を、前記第1ベクトルの始点、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点、および前記第3ベクトルの終点を順次直線で結ぶ経路に修正する経路修正部と、を備えたことを特徴とする数値制御装置である。
請求項2に係る発明は、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点は、前記第1ベクトルの始点であり、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点は、前記第3ベクトルの終点であることを特徴とする請求項1に記載の数値制御装置である。
請求項3に係る発明は、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を結ぶ直線が、前記第2ベクトルと交わらない場合には、前記第2ベクトルの始点、または、終点のうち、前記直線に近いほうの点を通過点として、前記第1ベクトルの始点、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記通過点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点、前記第3ベクトルの終点を順次直線で結ぶ経路に修正することを特徴とする請求項1または2のいずれか1つに記載の数値制御装置である。
請求項4に係る発明は、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を結ぶ直線が、前記第2ベクトルと交わらない場合には、前記第2ベクトルの始点、および、終点から予め定められたトレランスの範囲内にある点のうち、前記直線に一番近い点を通過点として、前記第1ベクトルの始点、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記通過点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点、前記第3ベクトルの終点を順次直線で結ぶ経路に修正することを特徴とする請求項1または2のいずれか1つに記載の数値制御装置である。
【0008】
請求項5に係る発明は、前記第2ベクトルに平行で、かつ、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点と前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を通る平面を算出する算出部と、前記平面と前記第2ベクトルとの最短距離を算出する算出部と、前記平面と前記第2ベクトルとの最短距離が予め定められた範囲外の距離かを第3の条件として判定する第3判定部と、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点と前記第2ベクトル上の点と前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を最短距離で結ぶ第2ベクトル上の点を算出する算出部と、前記第1の条件、第2の条件および前記第3の条件が成立する場合に、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点と前記第2ベクトル上の点と前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を最短距離で結ぶ経路に修正する経路修正部と、を備えたことを特徴とする請求項1に記載の数値制御装置である。
請求項6に係る発明は、前記第3の条件が成立しない場合に、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点と前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を直線で結ぶ経路に修正する経路修正部と、を備えたことを特徴とする請求項5に記載の数値制御装置である。
【発明の効果】
【0009】
本発明により、ピックフィードが切削部分にある加工プログラムの場合に、ピックフィード前後の滑らかでない移動経路を滑らかな経路とするように修正することで不要な減速を防止し、加工時間を極力短縮しながら良好な加工面を得ることができるように加工プログラムの移動経路を修正する機能を備えた数値制御装置を提供できる。
【図面の簡単な説明】
【0010】
【図1】本発明に係る実施形態の数値制御装置の機能ブロック図である。
【図2】指令経路の一例を説明する図である。
【図3】修正後の指令経路を説明する図である。
【図4】修正後の指令経路を説明する図である。
【図5】修正後の指令経路を説明する図である。
【図6】修正後の指令経路を説明する図である。
【図7】修正後の指令経路を説明する図である。
【図8】修正後の指令経路を説明する図である。
【図9】図1に示される本発明の実施形態の数値制御装置10において実行される指令経路を修正する処理をおこなうアルゴリズムを説明するフローチャートである。
【図10】本発明の実施形態においてピックフィード前後の滑らかでない移動経路を滑らかな経路となるように修正することを説明する図である。
【図11】本発明の他の実施形態においてピックフィード前後の滑らかでない移動経路を滑らかな経路となるように修正することを説明する図である。
【図12】本発明の他の実施形態の数値制御装置のブロック図である。
【図13】ピックフィードが加工プログラム形状の山部分にある指令経路が実行される場合について説明する図である。
【図14】第2ベクトルに平行な平面上の直線ADと第2ベクトルを前記平面に投影した直線B’C’との交点E’を求めることを説明する図である。
【図15】第2ベクトル上の点を経由する最短経路に修正することを説明する図である。
【図16】図12に示される本発明の他の実施形態の数値制御装置10において実行される指令経路を修正する処理をおこなうアルゴリズムを説明するフローチャートである。
【図17】本発明に係る加工プログラムの移動経路を修正する機能を備えた数値制御装置の実施形態のブロック図である。
【図18】往復で切削する場合にピックフィードが非切削部分に存在することを説明する図である。
【図19】等高線に沿って切削する場合にピックフィードが切削部分に存在することを説明する図である。
【図20】ピックフィードの部分とその前後のエアカット部分の経路を曲線上の任意の点において曲率が連続する高次NURBS曲線に置き換える従来技術を説明する図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を説明する図である。
図1は、本発明に係る実施形態の数値制御装置10のブロック図である。プログラム入力部2は、自動運転の実行時に加工プログラム1を読み出し、指令解析部3に入力する。
指令解析部3は、指令ブロック毎の移動量や送り速度の指令から補間用のデータを生成する前処理部である。前処理されたデータは、補間処理部7に入力され、各軸(例えば、X軸,Y軸,Z軸)の移動指令に分割された後、各軸(X軸,Y軸,Z軸)のサーボモータに出力される。
【0012】
指令解析部3の内部において、ベクトル作成部4は、同一方向の連続する指令ブロックを一つにしたベクトルを作成し、ピックフィード判定部5に入力する。ピックフィード判定部5では、入力されたベクトルからピックフィード部分かどうかの判定が行われ、ピックフィード部分であった場合には、経路修正部6で経路の修正が行われる。
【0013】
ここでは、一例として、図2に示すような指令経路が実行される場合について説明する。説明の都合上、移動は2次元で制御されるものとする。また、N1〜N8は指令ブロックの経路を表しており、N1から順に指令されているものとする。
プログラム入力部2(図1参照)は、N1〜N8の指令ブロックを順次読み出し、指令解析部3(図1参照)に入力する。次に、指令解析部3の内部において、ベクトル作成部4(図1参照)では、同一の方向に連続する指令ブロックを一つにしたベクトルを作成する。例えば、N1の始点からN2の終点へのベクトルを作成し、N1の終点から前記ベクトルへの垂線の長さが予め定められた長さより短いかどうかを判定する。短い場合はN1,N2を一つのベクトルとし、引き続き、N1の始点からN3の終点へのベクトルを作成し、同様に、評価する。
【0014】
ここでは、図3に示すように、N1からN3までを一つのベクトルとし、これを第1ベクトルとする。以降、同様に、N4からN5までを第2ベクトルとし、N6からN8までを第3ベクトルとする。
もちろん判定条件としては、上記条件のみに限定されるものではなく、N1とN2の間、N2とN3の間等、指令ブロック間のなす角度が予め定めた角度より大きいかどうかを判定する方法でもよく、必要に応じて変更することができる。
【0015】
ピックフィード判定部5(図1参照)では、ピックフィード部分かどうかを判定するために、第1ベクトルと第3ベクトルが同一方向かを第1の条件として判定する。例えば、第1ベクトルと第3ベクトルのなす角度が予め定めた角度より小さい場合に、同一方向とする。さらに、第2ベクトルの長さが予め定めた範囲内の長さかを第2の条件として判定する。第1の条件と第2の条件がともに成立する場合に、第1、第2、および第3ベクトルをピックフィード部分とする。もちろん判定条件としては、上記条件のみに限定されるものではなく、必要に応じて変更することができる。
【0016】
経路修正部6(図1参照)では、第1、第2、および第3ベクトルがピックフィード部分であった場合、図3に示すように、移動経路を、第1ベクトルの始点、第2ベクトルの始点から一定の長さ(D1)離れた第1ベクトル上にある点、第2ベクトルの終点から一定の長さ(D2)離れた第3ベクトル上にある点、第3ベクトルの終点を順次直線で結ぶ滑らかな経路に修正する。ここで、長さD1、D2については同じ長さでもよく、異なる長さでもよい。
【0017】
なお、演算処理を簡単にするため、図4に示すように、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点を第1ベクトルの始点と同一とし、第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点を第3ベクトルの終点と同一として、始点、終点間を直線で結ぶ経路に修正することもできる。ただし、図5に示すように、隣接する移動経路の第1ベクトル同士または第3ベクトル同士の長さが異なる場合、隣接する移動経路の平行性が失われ、加工面に悪影響を与える恐れがあるため、この方法は使用できない。この場合は、図6に示すように、移動経路を、第1ベクトルの始点、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点、第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点、第3ベクトルの終点を順次直線で結ぶ滑らかな経路に修正する必要がある。
【0018】
また、第2ベクトルの始点から一定長さ離れた第1のベクトル上にある点と第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点を結ぶ直線が、第2ベクトルと交わらない場合には、第2ベクトルの始点、または、終点のうち、前記直線に近いほうの点を通過点として、第1ベクトルの始点、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点、前記通過点、第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点、第3ベクトルの終点を順次直線で結ぶ経路に修正することもできる。
図7は、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点を第1ベクトルの始点と同一とし、第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点を第3ベクトルの終点と同一とした場合について説明したものである。そして、図7(a)は修正後の経路の通過点を第2ベクトルの始点とし、図7(b)は修正後の経路の通過点を第2ベクトルの終点としている。
【0019】
また、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点と第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点を結ぶ直線が、第2ベクトルと交わらない場合には、第2ベクトルの始点、および、終点から予め定めたトレランスの範囲内にある点のうち、前記直線に一番近い点を通過点として、第1ベクトルの始点、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点、前記通過点、第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点、第3ベクトルの終点を順次直線で結ぶ経路に修正することもできる。
図8は、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点を第1ベクトルの始点と同一とし、第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点を第3ベクトルの終点と同一とした場合について示したものである。
【0020】
図9は、図1に示される本発明の実施形態の数値制御装置10において実行される指令経路を修正する処理をおこなうアルゴリズムを説明するフローチャートである。以下、各ステップに従って説明する。
●[ステップSA01]加工プログラムを読み出す。
●[ステップSA02]同一方向の連続する指令ブロックを一つにしたベクトルを作成する。なお、作成されたベクトルは、作成された順番に数値制御装置10内の記憶装置に一次的に記憶される。
●[ステップSA03]第1ベクトル,第2ベクトル,第3ベクトルの3つの連続する3ベクトルを作成済みか否か判断し、作成済みでない場合ステップSA01に戻り処理を継続し、作成済みの場合ステップSA04へ移行する。
●[ステップSA04]第1ベクトルと第3ベクトルが同一方向か否か判断し、同一方向でない場合にはステップSA07へ移行し、同一方向の場合にはステップSA05へ移行する。なお、このステップSA04は請求項1の第1判定部に対応する。
●[ステップSA05]第2ベクトルの長さが予め定めた範囲内の長さか否か判断し、定めた範囲内の長さではない場合にはステップSA07へ移行し、定めた範囲内の長さの場合にはステップSA06へ移行する。なお、このステップSA05は請求項1の第2判定部に対応する。
●[ステップSA06]移動経路を、第1ベクトルの始点、第1ベクトル上にある点、通過点、第3ベクトル上にある点、第3ベクトルの終点を順次直線で結ぶ経路に修正する。
●[ステップSA07]補間用のデータを生成する。
●[ステップSA08]各軸の移動指令に分割(補間)する。
●[ステップSA09]各軸のサーボモータに出力し、処理を終了する。
【0021】
上述した本発明の実施形態では、修正された移動経路とピックフィードブロックが交わらない場合、修正された経路とピックフィードブロックの始点または終点のどちらか近い方の点、もしくは、ピックフィードブロックの始点または終点のどちらか近い方の点からあるトレランス範囲内に存在する点を経由する経路を最終的な修正経路としている(図3〜図8、図10参照)。
【0022】
しかし、本発明の上記実施形態では、修正経路ベクトルとピックフィードベクトルが同一平面に存在しない場合、例えば、加工形状の山部分あるいは谷部分にピックフィードが存在するような加工プログラムは想定されておらず、経由点が前記ピックフィードブロックの始点または終点、もしくは、ピックフィードブロックの始点または終点のどちらか近い方の点からトレランス範囲内に存在する点を経由する経路、すなわち大きく折れ曲がった経路が生成されてしまい、滑らかな経路を生成できない可能性がある。このため、加工形状の山部分または谷部分にピックフィードが存在するような加工プログラムでは、最良の加工時間を実現できない可能性がある。
【0023】
そこで本発明の他の実施形態として、上述した本発明の実施形態における第2ベクトルに平行で、かつ、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点と第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点を通る平面と第2ベクトルとの距離が予め定められた値より大きい場合、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点と第2ベクトル上の点と第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点を最短距離で繋ぐように修正する(図11参照)。前記平面と前記第2ベクトルとの距離が予め定められた値より小さい場合、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点と第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点を直線で結ぶ滑らかな経路に修正する。
その結果、加工プログラム形状の山部分または谷部分にピックフィードが存在するような場合でも、山形状または谷形状を潰すことなく、滑らかな経路を作成することができる。
【0024】
図12は本発明の他の実施形態の数値制御装置10のブロック図である。プログラム入力部22は、自動運転の実行時に加工プログラム21を読み出し、指令解析部23に入力する。指令解析部23は、指令ブロックごとの移動量や送り速度の指令から補間用のデータを生成する前処理部である。前処理されたデータは補間処理部28に入力される。補間処理部28において前記処理されたデータは各軸(例えば、X軸,Y軸,Z軸)の移動指令に分割された後、各軸のサーボモータ(X軸サーボモータ29X,Y軸サーボモータ29Y,Z軸サーボモータ29Z)に出力される。
指令解析部23の内部において、ベクトル作成部24は同一方向の連続する指令ブロックを一つにしたベクトルを作成し、ピックフィード判定部25に入力する。ピックフィード判定部25では、入力されたベクトルからピックフィード部分か否かの判定が行われ、ピックフィード部分であると判定された場合、山/谷形状判定部26においてピックフィードが加工プログラム形状の山部分または谷部分であるかどうかの判定が行われる。
【0025】
例として、図13に示すようなピックフィードが加工プログラム形状の山部分にある指令経路が実行される場合について説明する。なお、N1〜N8は加工プログラムに記述される指令ブロックの経路を表しており、N1から順に指令されているものとする。
プログラム入力部22は、N1〜N8の指令ブロックを順次読み出し、指令解析部23に入力する。次に、指令解析部23の内部において、ベクトル作成部24では同一方向の連続する指令ブロックを一つにしたベクトルを作成する。
ピックフィード判定部25では、ピックフィード部分かどうかを判定するため、第1ベクトルと第3ベクトルが同一方向かを第1の条件として判定する。さらに、第2ベクトルの長さが予め定めた範囲内の長さかを第2の条件として判定する。第1の条件と第2の条件がともに成立する場合に、第1、第2および第3ベクトルをピックフィード部分とする。
【0026】
山/谷形状判定部26では、第1、第2および第3ベクトルがピックフィード部分であった場合、ピックフィード部分が山形状または谷形状であるかどうかを判定するため、第2ベクトルの始点から一定長さ離れた第1ベクトル上にある点Aと、第2ベクトルの終点から一定長さ離れた第3ベクトル上にある点Dを通り、第2ベクトルに平行な平面を算出し、第2ベクトルから前記平面への垂線の長さが予め定められた長さより長いかどうかを判定する(図13参照)。
【0027】
経路修正部27では、前記垂線が予め定められた長さより長い場合は、前記点Aと第2ベクトル上の点と前記点Dを最短距離で結ぶ滑らかな経路に修正する。例えば、図14に示すように前記平面上の直線ADと第2ベクトルを前記平面へ投影した直線B’C’との交点E’を求める。さらに、図15に示すように、前記点E’を第2ベクトル上へ投影した点Eを求め、前記点Aと前記点Eと前記点Dを順次直線で結ぶ滑らかな経路、すなわち第2ベクトル上の点を経由する最短経路に修正する。
前記垂線が予め定められた長さより短い場合は、前記点Aと前記点Dを直線で結ぶ滑らかな経路に修正する。なお、前記平面上の直線ADと前記直線B’C’とが交わらない場合は、本発明の上記実施形態により前記点Aと第2ベクトルの始点Bまたは終点Cと前記点Dを順次直線で結ぶ経路とすることができる。なお、図15には、前記垂線が予め定められた長さより短い場合に前記点Aと前記点Dを結ぶ直線は図示されていない。
【0028】
指令解析部23では、経路修正部27で修正された移動経路に基づいて補間用のデータが生成され、補間処理部28に入力される。補間処理部28では、各軸(X軸,Y軸,Z軸)の移動指令に分割された後、各軸のサーボモータ(X軸サーボモータ29X,Y軸サーボモータ29Y,Z軸サーボモータ29Z)に出力される。
【0029】
図16は、図12に示される本発明の他の実施形態の数値制御装置10において実行される指令経路を修正する処理をおこなうアルゴリズムを説明するフローチャートである。以下、各ステップに従って説明する。
●[ステップSB01]加工プログラムを読み出す。
●[ステップSB02]同一方向の連続する指令ブロックを一つにしたベクトルを作成する。なお、作成されたベクトルは、作成された順番に数値制御装置10内の記憶装置に一次的に記憶される。
●[ステップSB03]第1ベクトル,第2ベクトル,第3ベクトルの3つの連続する3ベクトルを作成済みか否か判断し、作成済みでない場合ステップSB01に戻り処理を継続し、作成済みの場合ステップSB04へ移行する。
●[ステップSB04]第1ベクトルと第3ベクトルが同一方向か否か判断し、同一方向でない場合にはステップSB11へ移行し、同一方向の場合にはステップSB05へ移行する。
●[ステップSB05]第2ベクトルの長さが予め定めた範囲内の長さか否か判断し、定めた範囲内の長さではない場合にはステップSB11へ移行し、定めた範囲内の長さの場合にはステップSB06へ移行する。
●[ステップSB06]第2ベクトルに平行な平面を算出する。
●[ステップSB07]第2ベクトルからステップSB06で算出した平面への垂線が一定長さ以上であるか否か判断し、一定長さ以上の場合にはステップSB09へ移行し、一定長さ以上ではない場合にはステップSB08へ移行する。
●[ステップSB08]移動経路を第1ベクトル、第3ベクトル上の点を直線で結ぶ経路に修正し、ステップSB11へ移行する。
●[ステップSB09]最短経路となる第2ベクトル上の点を算出する。
●[ステップSB10]移動経路を第1ベクトル上の点、第2ベクトル上の点、第3ベクトル上の点を順次直線で結ぶ最短経路に修正する。
●[ステップSB11]補間用のデータを生成する。
●[ステップSB12]各軸の移動指令に分割(補間)する。
●[ステップSB13]各軸のサーボモータに出力し、処理を終了する。
【0030】
図17は、本発明を適用した一実施形態の加工プログラムの移動経路を修正する機能を備えた数値制御装置10の構成を概略で示すブロック図である。プロセッサであるCPU111は、ROM112に格納されたシステムプログラムに従って数値制御装置10の全体を制御する。RAM113は、各種のデータあるいは入出力信号が格納される。不揮発性メモリ114に格納された各種のデータは電源切断後もそのまま保存される。RAM113内に、第1ベクトル、第2ベクトル、および第3ベクトルが一次的に格納される。図9のフローチャートのステップSA03で3ベクトル作成済みかの判断は、例えば、RAM113内に、第1ベクトル、第2ベクトル、第3ベクトルが格納されたか否かで行うことができる。また、第1ベクトル、第2ベクトル、第3ベクトルは作成された順番に記憶することによりそれぞれのベクトルを特定することができる。グラフィック制御回路115は、デジタル信号を表示用の信号に変換し、表示装置116に与える。キーボード117は、数値キー、文字キーなどを有する各種設定データを入力する手段である。
【0031】
軸制御回路118は、CPU111から各軸の移動指令を受けて軸の指令をサーボアンプ119に出力する。このサーボアンプ119は、この移動指令を受けて工作機械200のサーボモータ(図示せず)を駆動する。これらの構成要素はバス121で互いに結合されている。PMC(プログラマブル・マシン・コントローラ)122は、加工プログラムの実行時に、バス121経由でT機能信号(工具選択指令)などを受け取る。そして、この信号を、シーケンス・プログラムで処理して、動作指令として信号を出力し、工作機械200を制御する。また、工作機械200から状態信号を受けて、CPU111に必要な入力信号を転送する。更に、バス121には、システムプログラム等によって機能が変化するソフトウェアキー123、NCデータを記憶装置などの外部機器に送るインタフェース124が接続されている。このソフトウェアキー123は、表示装置116、キーボード117と共に、表示装置/MDIパネル125に設けられている。
【符号の説明】
【0032】
1 加工プログラム
2 プログラム入力部
3 指令解析部
4 ベクトル作成部
5 ピックフィード判定部
6 経路修正部
7 補間処理部
8X X軸サーボモータ
8Y Y軸サーボモータ
8Z Z軸サーボモータ

10 数値制御装置

21 加工プログラム
22 プログラム入力部
23 指令解析部
24 ベクトル作成部
25 ピックフィード判定部
27 経路修正部
28 補間処理部
29X X軸サーボモータ
29Y Y軸サーボモータ
29Z Z軸サーボモータ
200 工作機械

【特許請求の範囲】
【請求項1】
複数の指令ブロックにより構成され、かつ、ピックフィードが切削部分にある加工プログラムに従って対象物を移動制御する数値制御装置において、
連続する指令ブロックが同一方向かどうかを所定のルールに従って判定する判定部と、
前記判定部で同一方向と判定された場合に、連続する指令ブロックを1つのベクトルとするベクトル作成部と、
連続する3つの前記ベクトルをそれぞれ第1ベクトル、第2ベクトル、および第3ベクトルとする3ベクトル特定部と、
前記第1ベクトルと前記第3ベクトルが同一方向かを第1の条件として判定する第1判定部と、
前記第2ベクトルの長さが予め定めた範囲内の長さかを第2の条件として判定する第2判定部と、
前記第1の条件と前記第2の条件がともに成立する場合に、移動経路を、前記第1ベクトルの始点、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点、および前記第3ベクトルの終点を順次直線で結ぶ経路に修正する経路修正部と、
を備えたことを特徴とする数値制御装置。
【請求項2】
前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点は、前記第1ベクトルの始点であり、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点は、前記第3ベクトルの終点であることを特徴とする請求項1に記載の数値制御装置。
【請求項3】
前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を結ぶ直線が、前記第2ベクトルと交わらない場合には、前記第2ベクトルの始点、または、終点のうち、前記直線に近いほうの点を通過点として、前記第1ベクトルの始点、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記通過点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点、前記第3ベクトルの終点を順次直線で結ぶ経路に修正することを特徴とする請求項1または2のいずれか1つに記載の数値制御装置。
【請求項4】
前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を結ぶ直線が、前記第2ベクトルと交わらない場合には、前記第2ベクトルの始点、および、終点から予め定められたトレランスの範囲内にある点のうち、前記直線に一番近い点を通過点として、前記第1ベクトルの始点、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点、前記通過点、前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点、前記第3ベクトルの終点を順次直線で結ぶ経路に修正することを特徴とする請求項1または2のいずれか1つに記載の数値制御装置。
【請求項5】
前記第2ベクトルに平行で、かつ、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点と前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を通る平面を算出する算出部と、前記平面と前記第2ベクトルとの最短距離を算出する算出部と、
前記平面と前記第2ベクトルとの最短距離が予め定められた範囲外の距離かを第3の条件として判定する第3判定部と、
前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点と前記第2ベクトル上の点と前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を最短距離で結ぶ第2ベクトル上の点を算出する算出部と、
前記第1の条件、第2の条件および前記第3の条件が成立する場合に、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点と前記第2ベクトル上の点と前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を最短距離で結ぶ経路に修正する経路修正部と、
を備えたことを特徴とする請求項1に記載の数値制御装置。
【請求項6】
前記第3の条件が成立しない場合に、前記第2ベクトルの始点から一定長さ離れた前記第1ベクトル上にある点と前記第2ベクトルの終点から一定長さ離れた前記第3ベクトル上にある点を直線で結ぶ経路に修正する経路修正部と、
を備えたことを特徴とする請求項5に記載の数値制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−12167(P2013−12167A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−218085(P2011−218085)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(390008235)ファナック株式会社 (1,110)
【Fターム(参考)】