JP2012078892A - 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体 - Google Patents

数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体 Download PDF

Info

Publication number
JP2012078892A
JP2012078892A JP2010220685A JP2010220685A JP2012078892A JP 2012078892 A JP2012078892 A JP 2012078892A JP 2010220685 A JP2010220685 A JP 2010220685A JP 2010220685 A JP2010220685 A JP 2010220685A JP 2012078892 A JP2012078892 A JP 2012078892A
Authority
JP
Japan
Prior art keywords
block
point
connection point
segment
correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010220685A
Other languages
English (en)
Other versions
JP5659666B2 (ja
Inventor
Takashi Otaka
崇 大高
Tomonori Akusawa
智規 阿久澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010220685A priority Critical patent/JP5659666B2/ja
Publication of JP2012078892A publication Critical patent/JP2012078892A/ja
Application granted granted Critical
Publication of JP5659666B2 publication Critical patent/JP5659666B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

【課題】工具の減速による影響のない良好な加工面を得ることができ、工具の移動経路がプログラムで指令した経路から大きく逸脱することのない数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体を提供する。
【解決手段】セグメントS1,S2、S3のうち、セグメントS2が設定値より長い場合、セグメントS1を確定する。セグメントS2が設定値未満の場合、セグメントS1の始点とセグメントS3の終点とを新たなセグメントS1R(1),S2R(1)で接続する接続点T1を算出する。接続点T1は、経路を修正する点の中点(平均点)となる。セグメントS2(1)が設定値より長い場合、セグメントS1R(1)を確定する。故に、移動経路から微小ブロックを削除できる。
【選択図】図5

Description

本発明は、数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体に関する。
数値制御装置は、曲線を描く加工プログラムを生成する場合、CAM(computer aided manufacturing)を用いている。CAMは、曲線を複数のブロックに分割する。CAMは、演算誤差等により、前後のブロックと比較的大きな角度をなす微小のブロックを生成することがある。数値制御装置は、短い周期で指令速度に対応する分の移動量をサーボアンプに送出してモータを駆動する。微小ブロックが指令速度分の移動量に満たない場合、工具は急激に減速する。故に、加工面に工具跡が残ることがある。
特許文献1が開示する移動経路修正方法は、複数のセグメントで構成される移動経路において、連続する三つのセグメントデータに対して第1、第2、第3のセグメントS1、S2、S3がジグザグ状に接続しているかを第1の条件とし、第2のセグメントS2が設定された長さより短いかを第2の条件とし、前記第1の条件と前記第2の条件がともに成立する場合には、前記第2のセグメントS2の移動量を前記第1、前記第3のセグメントS1、S3の移動量に分配するように移動経路を修正する。
特許第3385247号公報
しかしながら、特許文献1が開示する移動経路修正方法は、3つのセグメントがジグザグの経路にならなければ、移動経路を修正しないという不具合が有する。故に、移動経路中に微小ブロックが残ってしまい、良好な加工面を得ることができなかった。特許文献1の移動経路修正条件からジグザグの経路であることを除外すると、所定の長さより短いブロックが次々と削除されることになるため、工具の移動経路がプログラムで指令した経路から逸脱する場合がある。
本発明は、上記課題を解決するためになされたものであり、工具の減速による影響のない良好な加工面を得ることができ、工具の移動経路がプログラムで指令した経路から大きく逸脱することのない数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体を提供することを目的とする。
本発明の第1態様に係る数値制御装置は、複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する3つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記3つのブロックに基づいて前記移動経路を順次修正する数値制御装置において、前記中間ブロックが所定長以下か否かを判断する判断手段と、前記中間ブロックが前記所定長より長いと前記判断手段が判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定手段と、前記中間ブロックが前記所定長以下であると前記判断手段が判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点とを接続する接続点を算出する接続点算出手段と、前記開始ブロックの始点と前記接続点算出手段によって算出した前記接続点とを接続するブロックを新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正手段と、前記修正手段による修正回数を計数する修正回数計数手段と、前記ブロック確定手段が前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記3つのブロックを再設定するブロック再設定手段と、前記修正回数計数手段によって計数した前記修正回数をクリアする修正回数クリア手段とを備え、前記接続点算出手段は、前記中間ブロックの始点の座標を(xa、ya、za)、前記中間ブロックの終点の座標を(xb、yb、zb)、前記接続点の座標を(xc、yc、zc)、前記修正回数計数手段によって計数した修正回数をnとした場合、xc=(xa×n+xb)/(n+1)、yc=(ya×n+yb)/(n+1)、zc=(za×n+zb)/(n+1)、で計算される前記接続点を算出することを特徴とする。
第1態様では、ブロック確定手段は、中間ブロックが所定長より長いと判断手段が判断した場合、開始ブロックを工作機械の移動経路として確定する。接続点算出手段は、中間ブロックが所定長以下であると判断手段が判断した場合、中間ブロックの始点と終点に基づき、開始ブロックの始点と、終了ブロックの終点とを接続する接続点を算出する。修正手段は、開始ブロックの始点と接続点算出手段によって算出した接続点とを接続するブロックを新たな開始ブロックとし、接続点と終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして修正する。修正回数計数手段は、修正手段による修正回数を計数する。ブロック再設定手段は、ブロック確定手段が工作機械の移動経路を確定した場合、中間ブロックを開始ブロックとし、終了ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして3つのブロックを再設定する。修正回数クリア手段は、ブロック確定手段が工作機械の移動経路を確定した場合、修正回数計数手段によって計数した修正回数をクリアする。中間ブロックの始点の座標は(xa、ya、za)、中間ブロックの終点の座標は(xb、yb、zb)、接続点の座標は(xc、yc、zc)、修正回数計数手段によって計数した修正回数はnである。接続点算出手段は、中間ブロックの始点の座標を(xa、ya、za)、中間ブロックの終点の座標を(xb、yb、zb)、接続点の座標を(xc、yc、zc)、修正回数計数手段によって計数した修正回数をnとした場合、xc=(xa×n+xb)/(n+1)、yc=(ya×n+yb)/(n+1)、zc=(za×n+zb)/(n+1)を満たす接続点を算出する。故に、開始ブロックは、中間ブロックが所定長より長くなった時点で経路が確定するため、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から大きく逸脱することがない。よって、第1態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
本発明の第2態様に係る移動経路修正方法は、複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する3つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記3つのブロックに基づいて前記移動経路を順次修正する数値制御装置によって行われる移動経路修正方法であって、前記中間ブロックが所定長以下か否かを判断する判断ステップと、前記中間ブロックが前記所定長より長いと前記判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定ステップと、前記中間ブロックが前記所定長以下であると前記判断ステップが判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点から接続される接続点を算出する接続点算出ステップと、前記開始ブロックの始点と前記接続点算出ステップにおいて算出した前記接続点とを接続する新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正ステップと、前記修正ステップによる修正回数を計数する修正回数計数ステップと、前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記3つのブロックを再設定するブロック再設定ステップと 前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記修正回数計数ステップによって計数した前記修正回数をクリアする修正回数クリアステップとを備え、前記接続点算出ステップにおいて、前記中間ブロックの始点の座標を(xa、ya、za)、前記中間ブロックの終点の座標を(xb、yb、zb)、前記接続点の座標を(xc、yc、zc)、前記修正回数計数ステップによって計数した修正回数をnとした場合、xc=(xa×n+xb)/(n+1)、yc=(ya×n+yb)/(n+1)、zc=(za×n+zb)/(n+1)、で計算される前記接続点を算出することを特徴とする。
第2態様では、ブロック確定ステップは、中間ブロックが所定長より長いと判断ステップが判断した場合、開始ブロックを工作機械の移動経路として確定する。接続点算出ステップは、中間ブロックが所定長以下であると判断ステップが判断した場合、中間ブロックの始点と終点に基づき、開始ブロックの始点と、終了ブロックの終点とを接続する接続点を算出する。修正ステップは、開始ブロックの始点と接続点算出ステップによって算出した接続点とを接続するブロックを新たな開始ブロックとし、接続点と終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして修正する。修正回数計数ステップは、修正ステップによる修正回数を計数する。ブロック再設定ステップは、ブロック確定ステップが工作機械の移動経路を確定した場合、中間ブロックを開始ブロックとし、終了ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして3つのブロックを再設定する。修正回数クリアステップは、ブロック確定ステップが工作機械の移動経路を確定した場合、修正回数計数ステップによって計数した修正回数をクリアする。中間ブロックの始点の座標は(xa、ya、za)、中間ブロックの終点の座標は(xb、yb、zb)、接続点の座標は(xc、yc、zc)、修正回数計数ステップによって計数した修正回数はnである。接続点算出ステップは、中間ブロックの始点の座標を(xa、ya、za)、中間ブロックの終点の座標を(xb、yb、zb)、接続点の座標を(xc、yc、zc)、修正回数計数ステップによって計数した修正回数をnとした場合、xc=(xa×n+xb)/(n+1)、yc=(ya×n+yb)/(n+1)、zc=(za×n+zb)/(n+1)を満たす接続点を算出する。故に、開始ブロックは、中間ブロックが所定長より長くなった時点で経路が確定するため、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から大きく逸脱することがない。よって、第1態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
本発明の第3態様に係る移動経路修正プログラムは、複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する3つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記3つのブロックに基づいて前記移動経路を順次修正する数値制御装置の動作を制御する移動経路修正プログラムにおいて、コンピュータに、前記中間ブロックが所定長以下か否かを判断する判断ステップと、前記中間ブロックが前記所定長より長いと前記判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定ステップと、前記中間ブロックが前記所定長以下であると前記判断ステップが判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点から接続される接続点を算出する接続点算出ステップと、前記開始ブロックの始点と前記接続点算出ステップにおいて算出した前記接続点とを接続する新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正ステップと、前記修正ステップによる修正回数を計数する修正回数計数ステップと、前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記3つのブロックを再設定するブロック再設定ステップと 前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記修正回数計数ステップによって計数した前記修正回数をクリアする修正回数クリアステップとを実行させ、前記接続点算出ステップにおいて、前記中間ブロックの始点の座標を(xa、ya、za)、前記中間ブロックの終点の座標を(xb、yb、zb)、前記接続点の座標を(xc、yc、zc)、前記修正回数計数ステップによって計数した修正回数をnとした場合、xc=(xa×n+xb)/(n+1)、yc=(ya×n+yb)/(n+1)、zc=(za×n+zb)/(n+1)、で計算される前記接続点を算出することを特徴とする。
第3態様では、ブロック確定ステップは、中間ブロックが所定長より長いと判断ステップが判断した場合、開始ブロックを工作機械の移動経路として確定する。接続点算出ステップは、中間ブロックが所定長以下であると判断ステップが判断した場合、中間ブロックの始点と終点に基づき、開始ブロックの始点と、終了ブロックの終点とを接続する接続点を算出する。修正ステップは、開始ブロックの始点と接続点算出ステップによって算出した接続点とを接続するブロックを新たな開始ブロックとし、接続点と終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして修正する。修正回数計数ステップは、修正ステップによる修正回数を計数する。ブロック再設定ステップは、ブロック確定ステップが工作機械の移動経路を確定した場合、中間ブロックを開始ブロックとし、終了ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして3つのブロックを再設定する。修正回数クリアステップは、ブロック確定ステップが工作機械の移動経路を確定した場合、修正回数計数ステップによって計数した修正回数をクリアする。中間ブロックの始点の座標は(xa、ya、za)、中間ブロックの終点の座標は(xb、yb、zb)、接続点の座標は(xc、yc、zc)、修正回数計数ステップによって計数した修正回数はnである。接続点算出ステップは、中間ブロックの始点の座標を(xa、ya、za)、中間ブロックの終点の座標を(xb、yb、zb)、接続点の座標を(xc、yc、zc)、修正回数計数ステップによって計数した修正回数をnとした場合、xc=(xa×n+xb)/(n+1)、yc=(ya×n+yb)/(n+1)、zc=(za×n+zb)/(n+1)を満たす接続点を算出する。故に、開始ブロックは、中間ブロックが所定長より長くなった時点で経路が確定するため、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から大きく逸脱することがない。よって、第1態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
本発明の第4態様に係る記憶媒体は、請求項3に記載の移動経路修正プログラムを記憶したことを特徴とする。
第4態様では、請求項3に記載の移動経路修正プログラムを記憶している。故に、コンピュータが第4態様の移動経路修正プログラムを実行することで、第3態様に記載の効果を得ることができる。
数値制御装置1の電気的構成を示すブロック図である。 セグメントバッファ231の内容を示す概念図である。 CPU21が実行する移動経路修正処理のフローチャートである。 修正前の移動経路の第1段階の図である。 移動経路を修正した第2段階の図である。 移動経路を修正した第3段階の図である。 移動経路を修正した第4段階の図である。 セグメントバッファ231の修正対象のセグメントSiを示す図である。 図8の続きを示す図である。 図9の続きを示す図である。
以下、本発明の一実施形態である数値制御装置1、移動経路修正方法、移動経路修正プログラム及び記憶媒体について、図面を参照して説明する。図1に示す数値制御装置1は、加工プログラムが指令する経路にしたがい、工作機械2(図1参照)の軸移動を制御する。工作機械2は、加工物と工具の相対移動により、加工物を切削する。
数値制御装置1の電気的構成について、図1を参照して説明する。数値制御装置1は、CPU21、ROM22、RAM23、フラッシュメモリ24を有するマイクロコンピュータと、入力インタフェイス25と、入出力インタフェイス26とを備えている。入力インタフェイス25は、操作部12に接続している。
ROM22は、数値制御装置1のメインプログラムに加え、加工プログラムを1ブロックずつ読込んでセグメントデータを生成する「セグメント生成プログラム」、複数のセグメントで構成した移動経路を修正する本発明の「移動経路修正プログラム」等を記憶する。「移動経路修正プログラム」は、コンピュータで読み取り可能な記憶媒体としてのフラッシュメモリ24等に記憶してもよい。RAM23は、セグメントバッファ231、修正回数記憶領域232を少なくとも備えている。セグメントバッファ231は、加工プログラムから生成したセグメントデータを記憶する。修正回数記憶領域232は、後述する移動経路を連続して行った修正回数nを記憶する。フラッシュメモリ24は、加工プログラムを記憶する加工プログラム記憶領域241を少なくとも備えている。
入出力インタフェイス26は、工作機械2のX軸モータ51を駆動する駆動回路41と、工作機械2のY軸モータ52を駆動する駆動回路42と、工作機械2のZ軸モータ53を駆動する駆動回路43と、工作機械2の主軸モータ54を駆動する駆動回路44等に接続している。X軸モータ51及びY軸モータ52の駆動は、工作機械2のテーブル(図示省略)をX軸方向及びY軸方向に移動する。Z軸モータ53の駆動は、工作機械の主軸ヘッド(図示省略)をZ軸方向に移動する。
X軸モータ51、Y軸モータ52、Z軸モータ53、主軸モータ54は、各モータの位置を検出するエンコーダ(図示省略)を備えている。各エンコーダは、各駆動回路41、42、43、44に接続している。
セグメントデータについて説明する。加工プログラムが指令する経路は、例えば、図4に示すように、A1、A2、…、A8からなる座標列である。作業者が操作部12を操作すると、CPU21は、A1〜A8の座標列を読み取って、各セグメントの各軸移動量Xi、Yi、Zi、セグメント長Li、指令速度FからなるセグメントデータSi(以下、単に「セグメントSi」と呼ぶ)を生成する。添え字iは、経路開始からのブロック番号を示している。図2に示すように、RAM23のセグメントバッファ231は、生成したセグメントS1、S2、S3を指令順に記憶する。
CPU21は、セグメントバッファ231に順次蓄積したセグメントSiに基づき、テーブル及び主軸ヘッドの速度パターンを作成する。CPU21は、作成した速度パターンから各軸毎の補間指令(単位時間あたりの移動量)を算出する。CPU21は、算出した各軸の補間指令を、工作機械2のX軸モータ51、Y軸モータ52、Z軸モータ53の駆動回路41、42、43にそれぞれ出力する。
図2に示すように、セグメントバッファ231は、加工プログラムを読み取ったブロック順に、セグメントSiを順次記憶する。CPU21は、セグメントバッファ231に蓄積するセグメントSiについて、連続する3つのブロックに基づいて移動経路を順次修正する。CPU21は、連続する3つのブロックを処理対象のセグメントとする。本実施形態は、3つのセグメントについて、移動開始側から移動終了側に向かって、第1のセグメント(本発明の「開始ブロック」に相当)、第2のセグメント(本発明の「中間ブロック」に相当)、第3のセグメント(本発明の「終了ブロック」に相当)と称する。
ポインタAは、加工プログラムの次のブロックから読み取った新しいセグメントSiを記憶する位置を示している。ポインタBは、経路がまだ確定していない最初のセグメントSiの位置を示している。故に、CPU21は、セグメントバッファ231に、3セグメント分のセグメントSiを蓄積するまでは、ポインタAをインクリメントし、かつポインタAに次のセグメントSiを記憶する。図2に示す例は、セグメントバッファ231に、3セグメント分のセグメントS1、S2、S3を蓄積していることを示している。
CPU21が実行する移動経路修正処理について、図3のフローチャート、図4〜図10を参照して説明する。本実施形態は、図4に示す移動経路を修正する場合について、第1段階から第4段階に分けて説明する。図4の移動経路は、A1〜A8の各点を直線で繋いだ移動経路である。A1〜A8の間は、各セグメントSiで繋いでいる。作業者が操作部12を操作すると、CPU21は、ROM22のプログラム記憶領域221(図1参照)に記憶した「移動経路修正プログラム」を読み込んで実行する。
CPU21は、RAM23の修正回数記憶領域232に記憶する修正回数nをクリアする(S11)。CPU21は、フラッシュメモリ24の加工プログラム記憶領域241(図1参照)に記憶した加工プログラムに基づき、次に修正すべきセグメントSiが有るか否かを判断する(S12)。CPU21は、次に修正すべきセグメントSiがあると判断し(S12:YES)、ポインタAの位置に次のセグメントSiをセット(記憶)する(S13)。
CPU21は、ポインタBから3セグメント生成したか否かを判断する(S14)。故に、CPU21は、セグメントバッファ231上に、3セグメント分のセグメントSiを蓄積するまでは(S14:NO)、ポインタAをインクリメントし(S24)、次のセグメントがあれば(S12:YES)、ポインタAに次のセグメントを記憶する(S13)。図8の第1段階に示すように、セグメントバッファ231は、ポインタBから3セグメント分のセグメントS1、S2、S3を蓄積している。
CPU21は、ポインタBから3セグメント生成したと判断した場合(S14:YES)、現時点で「第2のセグメント」であるセグメントS2のセグメント長は、設定値以下か否かを判断する(S15)。CPU21は、セグメントS2のセグメント長が設定値以下と判断した場合(S15:YES)、RAM23の修正回数記憶領域232に記憶する修正回数nに1を加算する(S16)。CPU21は、セグメントS1の始点A1と、セグメントS3の終点A4とを接続する接続点T1を算出するために、接続点算出処理を実行する(S17)。
S17の接続点算出処理について具体的に説明する。本実施形態は、第2のセグメントの始点の座標を(xa、ya、za)、第2のセグメントの終点の座標を(xb、yb、zb)、接続点Tの座標を(xc、yc、zc)と定義する。
CPU21は、以下の式を満たす接続点Tの座標を算出する。
・xc=(xa×n+xb)/(n+1)
・yc=(ya×n+yb)/(n+1)
・zc=(za×n+zb)/(n+1)
現時点の第2のセグメントは、セグメントS2である。セグメントS2の始点A2の座標は(xa、ya、za)、セグメントS2の終点A3の座標は(xb、yb、zb)、接続点T1の座標は(xc、yc、zc)である。CPU21は、修正回数nは1であるので、以下の式を満たす接続点T1の座標を算出する(S17)。
・xc=(xa×1+xb)/2
・yc=(ya×1+yb)/2
・zc=(za×1+zb)/2
図5に示すように、CPU21は、第1のセグメントであるセグメントS1を修正し、セグメントS1の始点(A1)と、算出した接続点T1とを、新たなセグメントS1R(1)で接続する(S18)。CPU21は、第2のセグメントであるセグメントS2を修正し、算出した接続点T1とセグメントS3の終点(A4)とを、新たなセグメントS2R(1)で接続する(S19)。各セグメントSiに添えた「R」は、修正したセグメントであることを示している。各セグメントの括弧内の値は、修正回数を示している。CPU21は、残ったセグメントS3を消去(クリア)する(S20)。故に、A1と、T1と、A4とを、新たなセグメントS1R(1)とS2R(1)で繋いだ新たな経路が生成する(第2段階)。図5に示すように、修正回数1回目では、接続点T1の座標は、A2とA3の中点の座標となる。
CPU21は、S12に戻り、次のセグメントが有るか否かを判断する。図8の第2段階に示すように、ポインタAの位置は空の状態である。CPU21は、加工プログラムに基づき、次のセグメントSiが有ると判断した場合(S12:YES)、図8の「セグメント再設定」に示すように、空のポインタAの位置に、次のセグメントS4をセットする(S13)。
セグメントバッファ231は、ポインタBの位置からポインタAの位置までに、セグメントS1R(1)、S2R(1)、S4の3つのセグメントを蓄積している(図8の「セグメント再設定」参照)。故に、CPU21は、ポインタBから3セグメント生成したと判断し(S14:YES)、現時点で「第2のセグメント」であるセグメントS2R(1)のセグメント長が設定値以下か否かを判断する(S15)。CPU21は、図5に示すセグメントS2R(1)のセグメント長が設定値以下と判断した場合(S15:YES)、再度、経路を修正する為、RAM23の修正回数記憶領域232に記憶する修正回数nに1加算する(S16)。故に、修正回数nは2回となる。CPU21は、セグメントS1R(1)の始点A1と、セグメントS4の終点A5とを接続する接続点T2を算出するために、接続点算出処理を実行する(S17)。
現時点の第2のセグメントは、セグメントS2R(1)である。セグメントS2R(1)の始点T1の座標は(xa、ya、za)、セグメントS2R(1)の終点A4の座標は(xb、yb、zb)、接続点T2の座標は(xc、yc、zc)である。CPU21は、以下の式を満たす接続点T2の座標を算出する。
・xc=(xa×2+xb)/3
・yc=(ya×2+yb)/3
・zc=(za×2+zb)/3
図6に示すように、CPU21は、第1のセグメントであるセグメントS1R(1)を修正し、セグメントS1R(1)の始点A1と、算出した接続点T2とを、新たなセグメントS1R(2)で接続する(S18)。CPU21は、第2のセグメントであるセグメントS2R(1)を修正し、算出した接続点T2とセグメントS4の終点A5とを、新たなセグメントS2R(2)で接続する(S19)。CPU21は、残ったセグメントS4を消去する(S20)。故に、A1と、T2と、A5とを、新たなセグメントS1R(2)とS2R(2)で繋いだ新たな経路が生成する(第3段階)。図6に示すように、修正回数2回目では、接続点T2の座標は、A2とA3とA4の平均点の座標となる。
CPU21は、S12に戻り、次のセグメントが有るか否かを判断する。図9の第3段階に示すように、ポインタAの位置は空の状態である。CPU21は、加工プログラムに基づき、次のセグメントSiが有ると判断した場合(S12:YES)、図9の「セグメント再設定」に示すように、空のポインタAの位置に、次のセグメントS5をセットする(S13)。
セグメントバッファ231は、ポインタBの位置からポインタAの位置までに、セグメントS1R(2)、S2R(2)、S5の3つのセグメントを蓄積している(図9の「セグメント再設定」参照)。故に、CPU21は、ポインタBから3セグメント生成したと判断し(S14:YES)、現時点で「第2のセグメント」であるセグメントS2R(2)のセグメント長が設定値以下か否かを判断する(S15)。CPU21は、図5に示すセグメントS2R(2)のセグメント長が設定値以下と判断した場合(S15:YES)、再度、経路を修正する為、RAM23の修正回数記憶領域232に記憶する修正回数nに1加算する(S16)。故に、修正回数nは3回となる。CPU21は、セグメントS1R(2)の始点A1と、セグメントS5の終点A6とを接続する接続点T3を算出するために、接続点算出処理を実行する(S17)。
現時点の第2のセグメントは、セグメントS2R(2)である。セグメントS2R(2)の始点AT2の座標は(xa、ya、za)、セグメントS2R(2)の終点A5の座標は(xb、yb、zb)、接続点T3の座標は(xc、yc、zc)である。CPU21は、以下の式を満たす接続点T3の座標を算出する。
・xc=(xa×3+xb)/4
・yc=(ya×3+yb)/4
・zc=(za×3+zb)/4
図7に示すように、CPU21は、第1のセグメントであるセグメントS1R(2)を修正し、セグメントS1R(2)の始点A1と、算出した接続点T3とを、新たなセグメントS1R(3)で接続する(S18)。CPU21は、第2のセグメントであるセグメントS2R(2)を修正し、算出した接続点T3とセグメントS5の終点A6とを、新たなセグメントS2R(3)で接続する(S19)。CPU21は、残ったセグメントS5を消去する(S20)。故に、A1と、T3と、A6とを、新たなセグメントS1R(3)とS2R(3)で繋いだ新たな経路が生成する(第4段階)。図7に示すように、修正回数3回目では、接続点T3の座標は、A2とA3とA4とA5の平均点の座標となる。
CPU21は、S12に戻り、次のセグメントが有るか否かを判断する。図9の第4段階に示すように、ポインタAの位置は空の状態である。CPU21は、加工プログラムに基づき、次のセグメントSiが有ると判断した場合(S12:YES)、空のポインタAの位置に、次のセグメントS6をセットする(S13)。
セグメントバッファ231は、ポインタBの位置からポインタAの位置までに、セグメントS1R(3)、S2R(3)、S6の3つのセグメントを蓄積している。故に、CPU21は、ポインタBから3セグメント生成したと判断し(S14:YES)、現時点で「第2のセグメント」であるセグメントS2R(3)のセグメント長が設定値以下か否かを判断する(S15)。
図7に示すように、セグメントS2R(3)は、図4の第1段階のセグメントS2に比べてかなり長くなっている。CPU21は、図7に示すセグメントS2R(3)のセグメント長が設定値より長いと判断した場合(S15:NO)、RAM23の修正回数記憶領域232に記憶する修正回数nをクリアし(S21)、現時点で第1のセグメントであるセグメントS1R(3)について経路を確定する(S22)。セグメントS1R(3)は、A1とT3を繋ぐ経路である。
CPU21は、「第1のセグメント」について経路が確定すると、図10の「経路確定」に示すように、ポインタBをインクリメントし(S23)、ポインタAをインクリメントする(S24)。CPU21は、S12に戻る。経路が確定した状態では、ポインタAの位置は空の状態である。CPU21は、加工プログラムに基づき、次のセグメントが有ると判断した場合(S12:YES)、空のポインタAの位置に、図10の「セグメント再設定」に示すように、次のセグメントS7をセットする(S13)。CPU21は、ポインタBから3セグメント生成したと判断し(S14:YES)、上記同様に経路の最後まで、処理を繰り返す。
CPU21は、次のセグメントSiがないと判断した場合(S12:NO)、セグメントバッファ231において、ポインタAはポインタBと同位置であるか否かを判断する(S25)。CPU21は、ポインタAがポインタBと同位置でないと判断した場合(S25:NO)、ポインタBの位置のセグメントを確定し(S26)、ポインタBをインクリメントする(S27)。CPU21は、S25に戻り、ポインタAはポインタBと同位置であるか否かを再度判断する。CPU21は、ポインタAがポインタBと同位置であると判断した場合(S25:YES)、移動経路修正処理を終了する。
即ち、CPU21は、第2のセグメントのセグメント長が設定値より大きいと判断した場合、第1のセグメントについて経路を確定する。故に、修正後の移動経路は、微小ブロックを含まないので、工具が急激に減速することがなく、良好な加工面を得ることができる。また、微小ブロックが連続するプログラムでも、経路修正処理を行っていくうちに第2のセグメント長が長くなるため、経路修正が無限に行われることはない。故に、工具が移動する経路はプログラムで指令した経路から大きく逸脱することがない。
以上説明したように、本実施形態の数値制御装置1では、CPU21は、加工プログラムを読み取ったブロック順に、軸の移動経路を構成するセグメントSiを生成し、セグメントバッファ231に順次記憶する。CPU21は、セグメントバッファ231に蓄積するセグメントSiについて、連続する3つのブロックを処理対象のセグメントとして、移動経路を順次修正する。CPU21は、最初に、第1のセグメント、第2のセグメント、第3のセグメントとして、セグメントS1、S2、S3を処理対象セグメントとする。CPU21は、セグメントS2が設定値より大きいと判断した場合、セグメントS1の経路を確定する。
CPU21はセグメントS2が設定値以下と判断した場合、経路を修正する。具体的には、本実施形態は、第2のセグメントの始点の座標を(xa、ya、za)、第2のセグメントの終点の座標を(xb、yb、zb)、接続点の座標を(xc、yc、zc)、修正回数をnとする。CPU21は、xc=(xa×n+xb)/(n+1)、yc=(ya×n+yb)/(n+1)、zc=(za×n+zb)/(n+1)、で計算される接続点を算出する。
CPU21は、第1のセグメントの始点と接続点とを新たな第1のセグメントで接続し、接続点と第3のセグメントの終点とを新たな第2のセグメントで接続する。CPU21は、処理対象セグメントに次のセグメントを追加する。CPU21は、処理対象セグメントを追加した連続する3つのセグメントSiについて、再度、経路を修正しつつ第1のセグメントを順次確定する。
上述したS17の接続点算出処理において、接続点は、経路を修正した点の全ての座標の中点(平均点)となる。例えば、図5に示すように、第2段階の修正では、接続点T1は、A2,A3の中点である。図6に示すように、第3段階の修正では、接続点T2は、A2,A3,A4の平均点である。図7に示すように、第4段階の修正では、接続点T3は、A2,A3,A4,A5の平均点である。S17の接続点算出処理では、修正回数nが徐々に大きくなると、算出する接続点Tの座標は経路終了側に徐々に移動するが、修正回数1回目における第2のセグメントの始点によって経路開始側にも引っ張られる状態となる。故に、第1のセグメント、第2のセグメントは徐々に長くなるので、微小セグメントは確実に消失する。故に、修正後の移動経路は、微小のセグメントを含まないので、工具が急激に減速することがなく、良好な加工面を得ることができる。また、第2のセグメントが徐々に長くなるので、微小ブロックが連続するプログラムでも、経路修正が無限に行われることはない。故に、工具が移動する経路がプログラムで指令した経路から大きく逸脱することがない。
以上説明において、S15の処理を実行するCPU21が本発明の「判断手段」に相当し、S17の処理を実行するCPU21が本発明の「接続点算出手段」に相当し、S18、S19の処理を実行するCPU21が本発明の「修正手段」に相当し、S22の処理を実行するCPU21が本発明の「ブロック確定手段」に相当し、S23、S24の処理を実行するCPU21が本発明の「ブロック再設定手段」に相当する。
なお、本発明の数値制御装置、移動経路修正方法、移動経路修正プログラム及び記憶媒体は、上記実施形態に限らず、各種の変形が可能なことはいうまでもない。
1 数値制御装置
2 工作機械
21 CPU
22 ROM
23 RAM
24 フラッシュメモリ
231 セグメントバッファ

Claims (4)

  1. 複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する3つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記3つのブロックに基づいて前記移動経路を順次修正する数値制御装置において、
    前記中間ブロックが所定長以下か否かを判断する判断手段と、
    前記中間ブロックが前記所定長より長いと前記判断手段が判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定手段と、
    前記中間ブロックが前記所定長以下であると前記判断手段が判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点とを接続する接続点を算出する接続点算出手段と、
    前記開始ブロックの始点と前記接続点算出手段によって算出した前記接続点とを接続するブロックを新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正手段と、
    前記修正手段による修正回数を計数する修正回数計数手段と、
    前記ブロック確定手段が前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記3つのブロックを再設定するブロック再設定手段と、前記修正回数計数手段によって計数した前記修正回数をクリアする修正回数クリア手段と
    を備え、
    前記接続点算出手段は、
    前記中間ブロックの始点の座標を(xa、ya、za)、前記中間ブロックの終点の座標を(xb、yb、zb)、前記接続点の座標を(xc、yc、zc)、前記修正回数計数手段によって計数した修正回数をnとした場合、
    xc=(xa×n+xb)/(n+1)、
    yc=(ya×n+yb)/(n+1)、
    zc=(za×n+zb)/(n+1)、
    で計算される前記接続点を算出することを特徴とする数値制御装置。
  2. 複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する3つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記3つのブロックに基づいて前記移動経路を順次修正する数値制御装置によって行われる移動経路修正方法であって、
    前記中間ブロックが所定長以下か否かを判断する判断ステップと、
    前記中間ブロックが前記所定長より長いと前記判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定ステップと、
    前記中間ブロックが前記所定長以下であると前記判断ステップが判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点から接続される接続点を算出する接続点算出ステップと、
    前記開始ブロックの始点と前記接続点算出ステップにおいて算出した前記接続点とを接続する新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正ステップと、
    前記修正ステップによる修正回数を計数する修正回数計数ステップと、
    前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロック
    として前記3つのブロックを再設定するブロック再設定ステップと 前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記修正回数計数ステップによって計数した前記修正回数をクリアする修正回数クリアステップと
    を備え、
    前記接続点算出ステップにおいて、
    前記中間ブロックの始点の座標を(xa、ya、za)、前記中間ブロックの終点の座標を(xb、yb、zb)、前記接続点の座標を(xc、yc、zc)、前記修正回数計数ステップによって計数した修正回数をnとした場合、
    xc=(xa×n+xb)/(n+1)、
    yc=(ya×n+yb)/(n+1)、
    zc=(za×n+zb)/(n+1)、
    で計算される前記接続点を算出することを特徴とする移動経路修正方法。
  3. 複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する3つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記3つのブロックに基づいて前記移動経路を順次修正する数値制御装置の動作を制御する移動経路修正プログラムにおいて、
    コンピュータに、
    前記中間ブロックが所定長以下か否かを判断する判断ステップと、
    前記中間ブロックが前記所定長より長いと前記判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定するブロック確定ステップと、
    前記中間ブロックが前記所定長以下であると前記判断ステップが判断した場合、前記中間ブロックの始点と終点に基づき、前記開始ブロックの始点と、前記終了ブロックの終点から接続される接続点を算出する接続点算出ステップと、
    前記開始ブロックの始点と前記接続点算出ステップにおいて算出した前記接続点とを接続する新たな開始ブロックとし、前記接続点と前記終了ブロックの終点とを接続するブロックを新たな中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして修正する修正ステップと、
    前記修正ステップによる修正回数を計数する修正回数計数ステップと、
    前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記3つのブロックを再設定するブロック再設定ステップと、
    前記ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記修正回数計数ステップによって計数した前記修正回数をクリアする修正回数クリアステップと
    を実行させ、
    前記接続点算出ステップにおいて、
    前記中間ブロックの始点の座標を(xa、ya、za)、前記中間ブロックの終点の座標を(xb、yb、zb)、前記接続点の座標を(xc、yc、zc)、前記修正回数計数ステップによって計数した修正回数をnとした場合、
    xc=(xa×n+xb)/(n+1)、
    yc=(ya×n+yb)/(n+1)、
    zc=(za×n+zb)/(n+1)、
    で計算される前記接続点を算出することを特徴とする移動経路修正プログラム。
  4. 請求項3に記載の移動経路修正プログラムを記憶したことを特徴とする記憶媒体。
JP2010220685A 2010-09-30 2010-09-30 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体 Active JP5659666B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010220685A JP5659666B2 (ja) 2010-09-30 2010-09-30 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010220685A JP5659666B2 (ja) 2010-09-30 2010-09-30 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2012078892A true JP2012078892A (ja) 2012-04-19
JP5659666B2 JP5659666B2 (ja) 2015-01-28

Family

ID=46239116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010220685A Active JP5659666B2 (ja) 2010-09-30 2010-09-30 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体

Country Status (1)

Country Link
JP (1) JP5659666B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021200403A1 (ja) * 2020-03-31 2021-10-07 ブラザー工業株式会社 工作機械、加工経路生成方法、及びコンピュータプログラム
JP7517411B2 (ja) 2020-03-31 2024-07-17 ブラザー工業株式会社 工作機械、加工経路生成方法、及びコンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6364104A (ja) * 1986-09-05 1988-03-22 Okuma Mach Works Ltd Ncデ−タ修正装置
JP2001034319A (ja) * 1999-07-26 2001-02-09 Mitsubishi Electric Corp 軌跡制御装置
JP2002132317A (ja) * 2000-10-26 2002-05-10 Fanuc Ltd 制御装置
JP2012078891A (ja) * 2010-09-30 2012-04-19 Brother Ind Ltd 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6364104A (ja) * 1986-09-05 1988-03-22 Okuma Mach Works Ltd Ncデ−タ修正装置
JP2001034319A (ja) * 1999-07-26 2001-02-09 Mitsubishi Electric Corp 軌跡制御装置
JP2002132317A (ja) * 2000-10-26 2002-05-10 Fanuc Ltd 制御装置
JP2012078891A (ja) * 2010-09-30 2012-04-19 Brother Ind Ltd 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021200403A1 (ja) * 2020-03-31 2021-10-07 ブラザー工業株式会社 工作機械、加工経路生成方法、及びコンピュータプログラム
JP7517411B2 (ja) 2020-03-31 2024-07-17 ブラザー工業株式会社 工作機械、加工経路生成方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP5659666B2 (ja) 2015-01-28

Similar Documents

Publication Publication Date Title
JP5417392B2 (ja) 数値制御装置
JP5562430B2 (ja) 工具経路の生成方法および生成装置
US9678500B2 (en) Machining program creating device numerical control device, machining system, machining program creating method, numerical control method, and machining program
JP6435872B2 (ja) 数値制御装置と制御方法
US8560112B2 (en) Numerical controller with function to correct movement path of machining program
US20160091886A1 (en) Numerical control device
JP2008117032A (ja) 加工制御装置およびそのプログラム
JP2020027410A (ja) 加工経路生成装置及び数値制御装置
JP2007304714A (ja) 数値制御装置
JP5477247B2 (ja) 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体
JP5659666B2 (ja) 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体
JP6435962B2 (ja) 制御装置、工作機械及びコンピュータプログラム
JP6380119B2 (ja) 数値制御装置と制御方法
JP5573664B2 (ja) 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
CN116635800A (zh) 数值控制装置
JP5143661B2 (ja) Nc旋盤の制御方法及び制御装置
JP6582931B2 (ja) 制御装置、工作機械、制御方法及びコンピュータプログラム
JP5875740B1 (ja) 数値制御装置
JP2014041499A (ja) 数値制御装置と制御方法
JP5679898B2 (ja) 軌跡制御装置
JP6407478B1 (ja) 電子カムパターン生成方法および電子カムパターン生成装置
JP4982170B2 (ja) 加工制御装置および加工制御プログラム
JP4723991B2 (ja) 加工面方向を考慮した送り軸加減速機能を有する数値制御装置
JP6281315B2 (ja) 数値制御装置と移動経路修正方法
CN116917822A (zh) 数值控制装置以及数值控制程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141117

R150 Certificate of patent or registration of utility model

Ref document number: 5659666

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150