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

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

Info

Publication number
JP2012078891A
JP2012078891A JP2010220680A JP2010220680A JP2012078891A JP 2012078891 A JP2012078891 A JP 2012078891A JP 2010220680 A JP2010220680 A JP 2010220680A JP 2010220680 A JP2010220680 A JP 2010220680A JP 2012078891 A JP2012078891 A JP 2012078891A
Authority
JP
Japan
Prior art keywords
block
segment
new
predetermined length
blocks
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
JP2010220680A
Other languages
English (en)
Other versions
JP5477247B2 (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 JP2010220680A priority Critical patent/JP5477247B2/ja
Publication of JP2012078891A publication Critical patent/JP2012078891A/ja
Application granted granted Critical
Publication of JP5477247B2 publication Critical patent/JP5477247B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】工具の減速による影響のない良好な加工面を得ることができ、かつ工具の移動経路がプログラムで指令した経路から大きく逸脱しない数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体を提供する。
【解決手段】セグメントS1,S2、S3のうち、セグメントS2が第1設定値以下の場合、セグメントS1の始点とセグメントS2の中点をセグメントS1Rで接続し、セグメントS2の中点とセグメントS3の終点をセグメントS2Rで接続する。セグメントS2が第1設定値より大きい場合、又はセグメントS1Rが第2設定値より長い場合、セグメントS1Rを確定する。故に、移動経路は微小ブロックを含まないので、良好な加工面を得ることができる。
【選択図】図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つのブロックに基づいて前記移動経路を順次修正する数値制御装置において、前記中間ブロックが第1所定長以下か否かを判断する第1判断手段と、前記中間ブロックが前記第1所定長より長いと前記第1判断手段が判断した場合、前記開始ブロックを前記工作機械の移動経路として確定する第1ブロック確定手段と、前記中間ブロックが前記第1所定長以下であると前記第1判断手段が判断した場合、前記開始ブロックの始点と前記中間ブロックの中点を接続するブロックを新たな開始ブロックとし、前記中間ブロックの中点と前記終了ブロックの終点を接続するブロックを新たな中間ブロックとして修正する修正手段と、前記修正手段によって修正した前記新たな開始ブロックが第2所定長より長いか否かを判断する第2判断手段と、前記新たな開始ブロックが前記第2所定長より長いと前記第2判断手段が判断した場合、該新たな開始ブロックを前記工作機械の移動経路として確定する第2ブロック確定手段と、前記第1ブロック確定手段が前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとし、前記第2ブロック確定手段が前記工作機械の移動経路を確定した場合、前記新たな中間ブロックを前記開始ブロックとし、前記終了ブロックに連続する2つのブロックを順に前記中間ブロック、前記終了ブロックとし、前記新たな開始ブロックが前記第2所定長以下であると前記第2判断手段が判断した場合、該新たな開始ブロックを前記開始ブロックとし、前記新たな中間ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記3つのブロックを再設定するブロック再設定手段とを備えている。
第1態様では、第1ブロック確定手段は、中間ブロックが第1所定長より長い場合、開始ブロックを経路として確定する。修正手段は、中間ブロックが第1所定長以下の場合、開始ブロックの始点と中間ブロックの中点を接続するブロックを新たな開始ブロックとし、中間ブロックの中点と終了ブロックの終点を接続するブロックを新たな中間ブロックとして修正する。第2ブロック確定手段は、新たな開始ブロックが第2所定長より長い場合、新たな開始ブロックを経路として確定する。ブロック再設定手段は、新たな開始ブロックが第2所定長以下である場合、新たな開始ブロックを開始ブロックとし、新たな中間ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして、3つのブロックを再設定する。第1態様は、中間ブロックが第1所定長より長ければ、開始ブロックを経路として確定する。故に、工作機械の移動経路は、途中に移動量の小さいブロックを含まない。また、新たな開始ブロックが第2所定長より長ければ、新たな開始ブロックを経路として確定する。故に、新たな開始ブロックは所定の長さよりも大きくなった時点で経路が確定するため、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から大きく逸脱することがない。よって、第1態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
本発明の第2態様に係る移動経路修正方法は、複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する3つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記3つのブロックに基づいて前記移動経路を順次修正する数値制御装置によって行われる移動経路修正方法において、前記中間ブロックが第1所定長以下か否かを判断する第1判断ステップと、前記中間ブロックが前記第1所定長より長いと前記第1判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定する第1ブロック確定ステップと、前記中間ブロックが前記第1所定長以下であると前記第1判断ステップにおいて判断した場合、前記開始ブロックの始点と前記中間ブロックの中点を接続するブロックを新たな開始ブロックとし、前記中間ブロックの中点と前記終了ブロックの終点を接続するブロックを新たな中間ブロックとして修正する修正ステップと、前記修正ステップにおいて修正した前記新たな開始ブロックが第2所定長より長いか否かを判断する第2判断ステップと、前記新たな開始ブロックが前記第2所定長より長いと前記第2判断ステップにおいて判断した場合、該新たな開始ブロックを前記工作機械の移動経路として確定する第2ブロック確定ステップと、前記第1ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとし、前記第2ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記新たな中間ブロックを前記開始ブロックとし、前記終了ブロックに連続する2つのブロックを順に前記中間ブロック、前記終了ブロックとし、前記新たな開始ブロックが前記第2所定長以下であると前記第2判断ステップにおいて判断した場合、該新たな開始ブロックを前記開始ブロックとし、前記新たな中間ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記3つのブロックを再設定するブロック再設定ステップとを備えている。
第2態様では、第1ブロック確定ステップは、中間ブロックが第1所定長より長い場合、開始ブロックを経路として確定する。修正ステップは、中間ブロックが第1所定長以下の場合、開始ブロックの始点と中間ブロックの中点を接続するブロックを新たな開始ブロックとし、中間ブロックの中点と終了ブロックの終点を接続するブロックを新たな中間ブロックとして修正する。第2ブロック確定ステップは、新たな開始ブロックが第2所定長より長い場合、新たな開始ブロックを経路として確定する。ブロック再設定ステップは、新たな開始ブロックが第2所定長以下である場合、新たな開始ブロックを開始ブロックとし、新たな中間ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして、3つのブロックを再設定する。よって、第2態様は、中間ブロックが第1所定長より長ければ、開始ブロックを経路として確定する。故に、工作機械の移動経路は、途中に移動量の小さいブロックを含まない。また、新たな開始ブロックが第2所定長より長ければ、新たな開始ブロックを経路として確定する。故に、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から逸脱することがない。第2態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
本発明の第3態様に係る移動経路修正プログラムは、複数のブロックで構成される工作機械の移動経路を該複数のブロックの内連続する3つのブロックを移動開始側の開始ブロック、移動終了側の終了ブロック、該開始ブロックと該終了ブロックを繋ぐ中間ブロックとして選択し、前記3つのブロックに基づいて前記移動経路を順次修正する数値制御装置の動作を制御する移動経路修正プログラムにおいて、コンピュータに、前記中間ブロックが第1所定長以下か否かを判断する第1判断ステップと、前記中間ブロックが前記第1所定長より長いと前記第1判断ステップにおいて判断した場合、前記開始ブロックを前記工作機械の移動経路として確定する第1ブロック確定ステップと、前記中間ブロックが前記第1所定長以下であると前記第1判断ステップにおいて判断した場合、前記開始ブロックの始点と前記中間ブロックの中点を接続するブロックを新たな開始ブロックとし、前記中間ブロックの中点と前記終了ブロックの終点を接続するブロックを新たな中間ブロックとして修正する修正ステップと、前記修正ステップにおいて修正した前記新たな開始ブロックが第2所定長より長いか否かを判断する第2判断ステップと、前記新たな開始ブロックが前記第2所定長より長いと前記第2判断ステップにおいて判断した場合、該新たな開始ブロックを前記工作機械の移動経路として確定する第2ブロック確定ステップと、前記第1ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記中間ブロックを前記開始ブロックとし、前記終了ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとし、前記第2ブロック確定ステップにおいて前記工作機械の移動経路を確定した場合、前記新たな中間ブロックを前記開始ブロックとし、前記終了ブロックに連続する2つのブロックを順に前記中間ブロック、前記終了ブロックとし、前記新たな開始ブロックが前記第2所定長以下であると前記第2判断ステップにおいて判断した場合、該新たな開始ブロックを前記開始ブロックとし、前記新たな中間ブロックを前記中間ブロックとし、前記終了ブロックの次のブロックを前記終了ブロックとして前記3つのブロックを再設定するブロック再設定ステップとを実行させることを特徴とする。
第3態様では、コンピュータは各種ステップを実行する。第1ブロック確定ステップは、中間ブロックが第1所定長より長い場合、開始ブロックを経路として確定する。修正ステップは、中間ブロックが第1所定長以下の場合、開始ブロックの始点と中間ブロックの中点を接続するブロックを新たな開始ブロックとし、中間ブロックの中点と終了ブロックの終点を接続するブロックを新たな中間ブロックとして修正する。第2ブロック確定ステップは、新たな開始ブロックが第2所定長より長い場合、新たな開始ブロックを経路として確定する。ブロック再設定ステップは、新たな開始ブロックが第2所定長以下である場合、新たな開始ブロックを開始ブロックとし、新たな中間ブロックを中間ブロックとし、終了ブロックの次のブロックを終了ブロックとして、3つのブロックを再設定する。第2態様は、中間ブロックが第1所定長より長ければ、開始ブロックを経路として確定する。故に、工作機械の移動経路は、途中に移動量の小さいブロックを含まない。また、新たな開始ブロックが第2所定長より長ければ、新たな開始ブロックを経路として確定する。故に、微小ブロックが連続するプログラムで、ブロックが次々と削除され、工具がプログラムで指令した経路から逸脱することがない。よって、第3態様は、工具がプログラムで指令した経路から逸脱せず、工具の減速による影響のない良好な加工面を得ることができる。
本発明の第4態様に係る記憶媒体は、請求項3に記載の移動経路修正プログラムを記憶したことを特徴とする。
第4態様では、請求項3に記載の移動経路修正プログラムを記憶している。故に、コンピュータが実行することで、第3態様に記載の効果を得ることができる。
数値制御装置1の電気的構成を示すブロック図である。 セグメントバッファ231の内容を示す概念図である。 CPU21が実行する移動経路修正処理のフローチャートである。 修正前の移動経路の第1段階の図である。 移動経路を修正した第2段階の図である。 移動経路を修正した第3段階の図である。 移動経路を修正した第4段階の図である。 セグメントバッファ231の修正対象のセグメントSiを示す図である。 図8の続きを示す図である。
以下、本発明の一実施形態である数値制御装置1、移動経路修正方法、移動経路修正プログラム及び記憶媒体について、図面を参照して説明する。図1に示す数値制御装置1は、加工プログラムが指令する経路にしたがい、工作機械2の軸移動を制御する。工作機械2は、加工物と工具の相対移動により、加工物を切削する。
数値制御装置1の電気的構成について、図1を参照して説明する。数値制御装置1は、CPU21、ROM22、RAM23、フラッシュメモリ24を有するマイクロコンピュータと、入力インタフェイス25と、入出力インタフェイス26とを備えている。入力インタフェイス25は、操作部12に接続している。
ROM22は、数値制御装置1のメインプログラムに加え、加工プログラムを1ブロックずつ読込んでセグメントデータを生成する「セグメント生成プログラム」、複数のセグメントで構成した移動経路を修正する本発明の「移動経路修正プログラム」等を記憶する。「移動経路修正プログラム」は、コンピュータで読み取り可能な記憶媒体としてのフラッシュメモリ24等に記憶してもよい。RAM23は、セグメントバッファ231を少なくとも備えている。セグメントバッファ231は、加工プログラムから生成したセグメントデータを記憶する。フラッシュメモリ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〜図9を参照して説明する。本実施形態は、図4に示す移動経路を修正する場合について、第1段階から第4段階に分けて説明する。図4の移動経路は、A1〜A8の各点を直線で繋いだ移動経路である。A1〜A8の間は、各セグメントSiで繋いでいる。作業者が操作部12を操作すると、CPU21は、ROM221のプログラム記憶領域221(図1参照)に記憶した「移動経路修正プログラム」を読み込んで実行する。
CPU21は、フラッシュメモリ24の加工プログラム記憶領域241(図1参照)に記憶した加工プログラムに基づき、次に修正すべきセグメントSiが有るか否かを判断する(S11)。CPU21は、今から修正を開始する為、次に修正すべきセグメントSiがあると判断し(S11:YES)、ポインタAの位置に次のセグメントSiをセットする(S13)。
CPU21は、ポインタBから3セグメント生成したか否かを判断する(S14)。故に、CPU21は、セグメントバッファ231上に、3セグメント分のセグメントSiを蓄積するまでは(S14:NO)、ポインタAをインクリメントし(S22)、次のセグメントがあれば(S11:YES)、ポインタAに次のセグメントを記憶する(S13)。図8の第1段階に示すように、セグメントバッファ231は、ポインタBから3セグメント分のセグメントS1、S2、S3を蓄積している。
CPU21は、ポインタBから3セグメント生成したと判断した場合(S14:YES)、現時点で「第2のセグメント」であるセグメントS2のセグメント長は、第1設定値以下か否かを判断する(S15)。CPU21は、セグメントS2のセグメント長が第1設定値以下と判断した場合(S15:YES)、現時点で「第1のセグメント」であるセグメントS1と、第2のセグメントであるS2とを修正し、現時点で「第3のセグメント」であるセグメントS3を消去して、新たな経路を作成する(S16)。
S16のセグメントSiの経路接続の修正方法について具体的に説明する。図5に示すように、CPU21は、「第2のセグメント」であるセグメントS2の中点T1の座標を、セグメントS2の始点の座標と終点の座標とから算出する。CPU21は、セグメントS1の始点(A1)とセグメントS2の中点T1とを、新たなセグメントS1Rで接続する。CPU21は、セグメントS2の中点T1とセグメントS3の終点(A4)とを、新たなセグメントS2Rで接続する。本実施形態では、「R」は修正回数1回、「RR」は修正回数2回、「RRR」は修正回数3回を意味する。CPU21は、残ったセグメントS3を消去する。故に、図5に示すように、A1と中点T1とA4とを、新たなセグメントS1RとS2Rで繋いだ新たな経路が生成する(第2段階)。
CPU21は、図5に示す新たな経路において、現時点で「第1のセグメント」であるセグメントS1Rのセグメント長が第2設定値より長いか否かを判断する(S17)。
CPU21は、セグメントS1Rのセグメント長が第2設定値以下と判断した場合(S17:NO)、S11に戻り、次のセグメントが有るか否かを判断する。図8の第2段階に示すように、ポインタAの位置は空の状態である。CPU21は、加工プログラムに基づき、次のセグメントSiが有ると判断した場合(S11:YES)、図8の「セグメント再設定」に示すように、空のポインタAの位置に、次のセグメントS4をセットする(S13)。
セグメントバッファ231は、ポインタBの位置からポインタAの位置までに、セグメントS1R、S2R、S4の3つのセグメントを蓄積している(図8の「セグメント再設定」参照)。故に、CPU21は、ポインタBから3セグメント生成したと判断し(S14:YES)、現時点で「第2のセグメント」であるセグメントS2Rのセグメント長が第1設定値以下か否かを判断する(S15)。CPU21は、図5に示すセグメントS2Rのセグメント長が第1設定値以下と判断した場合(S15:YES)、再度、経路を修正する(S16)。
図6に示すように、CPU21は、「第2のセグメント」であるセグメントS2Rの中点T2の座標を、セグメントS2Rの始点の座標と終点の座標とから算出する。CPU21は、セグメントS1Rの始点(A1)とセグメントS2Rの中点T2とを、新たなセグメントS1RRで接続する。CPU21は、セグメントS2Rの中点T2とセグメントS4の終点(A5)とを、新たなセグメントS2RRで接続する。CPU21は、残ったセグメントS4を消去する。故に、図6に示すように、A1と中点T2とA5とを、新たなセグメントS1RRとS2RRで繋いだ新たな経路が生成する(第3段階)。
CPU21は、図6に示す新たな経路において、現時点で「第1のセグメント」であるセグメントS1RRのセグメント長が第2設定値より長いか否かを判断する(S17)。
CPU21は、セグメントS1RRのセグメント長が第2設定値以下と判断した場合(S17:NO)、S11に戻り、加工プログラムに基づき、次のセグメントSiが有るか否かを判断する。図8の第3段階に示すように、ポインタAの位置は空の状態である。CPU21は、次のセグメントSiが有ると判断した場合(S11:YES)、空のポインタAの位置に、図9の上段の「セグメント再設定」に示すように、次のセグメントS5をセットする(S13)。
セグメントバッファ231は、ポインタBの位置からポインタAの位置まで、セグメントS1RR、S2RR、S5の3つのセグメントSiを蓄積している(図9の上段の「セグメント再設定」参照)。故に、CPU21は、ポインタBから3セグメント生成したと判断し(S14:YES)、現時点の第2のセグメントであるセグメントS2RRのセグメント長が第1設定値以下か否かを判断する(S15)。CPU21は、図6に示すセグメントS2RRのセグメント長が第1設定値以下と判断した場合(S15:YES)、再度、経路を修正する(S16)。
図7に示すように、CPU21は、セグメントS2RRの中点T3の座標を、セグメントS2RRの始点と終点とから算出する。CPU21は、セグメントS1RRの始点とセグメントS2RRの中点T3とを、新たなセグメントS1RRRで接続する。CPU21は、セグメントS2RRの中点T3とセグメントS5の終点(A6)とを、新たなセグメントS2RRRで接続する。CPU21は、残ったセグメントS5を消去する。故に、図7に示すように、A1と中点T3とA6とを、新たなセグメントS1RRRとS2RRRで繋いだ新たな経路が生成する(第4段階)。
CPU21は、図7に示す新たな経路において、現時点で「第1のセグメント」であるセグメントS1RRのセグメント長が第2設定値より長いか否かを判断する(S17)。セグメントS1RRは、図4の第1段階に比べて長い。CPU21は、セグメントS1RRRのセグメント長が第2設定値より長いと判断した場合(S17:YES)、セグメントS1RRRについて経路を確定する(S18)。セグメントS1RRRは、A1〜T3を繋ぐ経路である。
CPU21は、「第1のセグメント」について経路が確定すると、図9の「経路確定」に示すように、ポインタBをインクリメントし(S19)、S11に戻る。経路が確定した状態では、ポインタAの位置は空の状態である。CPU21は、加工プログラムに基づき、次のセグメントが有ると判断した場合(S11:YES)、空のポインタAの位置に、次のセグメントS6をセットする(S13)。
CPU21は、ポインタBから3セグメント生成したか否かを判断する(S14)。CPU21は、S11において、ポインタBをインクリメントしている。ポインタBとポインタAの間は、2つのセグメントSiのみである。故に、CPU21は、ポインタBから3セグメント生成していないと判断し(S14:NO)、ポインタAをインクリメントする(S22)。CPU21は、次のセグメントSiが有ると判断した場合(S11:YES)、空のポインタAの位置に、図9の下段の「セグメント再設定」に示すように、次のセグメントS7をセットする(S13)。CPU21は、ポインタBから3セグメント生成したと判断し(S14:YES)、上記同様に経路の最後まで、処理を繰り返す。
CPU21は、次のセグメントSiがないと判断した場合(S11:NO)、セグメントバッファ231において、ポインタAはポインタBと同位置であるか否かを判断する(S23)。CPU21は、ポインタAがポインタBと同位置でないと判断した場合(S23:NO)、ポインタBの位置のセグメントを確定し(S24)、ポインタBをインクリメントする(S25)。CPU21は、S23に戻り、ポインタAはポインタBと同位置であるか否かを再度判断する。CPU21は、ポインタAがポインタBと同位置であると判断した場合(S23:YES)、移動経路修正処理を終了する。
CPU21は、経路修正の途中で、第2のセグメントのセグメント長が第1設定値より長いと判断した場合(S15:NO)、第1のセグメントSiを確定する(S20)。CPU21は、ポインタBをインクリメントし(S21)、ポインタAをインクリメントし(S22)、S11に戻って処理を繰り返す。
即ち、CPU21は、第2のセグメントのセグメント長が第1設定値より長いと判断した場合(S15:NO)、第1のセグメントについて経路を確定する(S20)。故に、修正後の移動経路は、微小ブロックを含まないので、工具が急激に減速することがなく、良好な加工面を得ることができる。また、経路修正後の第1のセグメントのセグメント長が第2設定値より長いと判断した場合(S17:YES)、第1のセグメントについて経路を確定する(S18)。故に、第1セグメントが所定の長さより大きくなった時点で、第1セグメントの経路が確定するため、微小ブロックが連続するプログラムで、移動経路が次々と修正されて、工具の移動経路がプログラムで指令した経路から大きく逸脱することがない。
以上説明したように、本実施形態の数値制御装置1では、CPU21は、加工プログラムを読み取ったブロック順に、軸の移動経路を構成するセグメントSiを生成し、セグメントバッファ231に順次記憶する。CPU21は、セグメントバッファ231に蓄積するセグメントSiについて、連続する3つのブロックを処理対象のセグメントとして、移動経路を順次修正する。CPU21は、最初に、セグメントS1、S2、S3を処理対象セグメントとする。CPU21は、セグメントS2が第1設定値より長いと判断した場合、セグメント1の経路を確定する。CPU21は、第2のセグメント長が第1設定値以下であると判断した場合、セグメントS1と、セグメントS2とを修正し、セグメントS3を消去して、新たな経路を作成する。
具体的には、CPU21は、セグメントS1の始点とセグメントS2の中点T1とを、新たなセグメントS1Rで接続し、セグメントS2の中点T1とセグメントS3の終点とを、新たなセグメントS2Rで接続する。CPU21は、セグメントS1Rが第2設定値より長いと判断した場合、セグメントS1Rを確定する。CPU21は、セグメントS1Rが第2設定値以下と判断した場合、処理対象セグメントに次のセグメントを追加する。CPU21は、処理対象セグメントを追加した連続する3つのセグメントSiについて、再度、経路を修正しつつ第1のセグメントを順次確定する。故に、修正後の移動経路は、微小のセグメントを含まないので、工具が急激に減速することがなく、良好な加工面を得ることができ、且つ工具の移動経路がプログラムで指令した経路から大きく逸脱することがない。
以上説明において、S15の処理を実行するCPU21が本発明の「第1判断手段」に相当し、S20の処理を実行するCPU21が本発明の「第1ブロック確定手段」に相当し、S16の処理を実行するCPU21が本発明の「修正手段」に相当し、S17の処理を実行するCPU21が本発明の「第2判断手段」に相当し、S18の処理を実行するCPU21が本発明の「第2ブロック確定手段」に相当し、S19、S21、S22の処理を実行するCPU21が本発明の「ブロック再設定手段」に相当する。
なお、本発明の数値制御装置、移動経路修正方法、移動経路修正プログラム及び記憶媒体は、上記実施形態に限らず、各種の変形が可能なことはいうまでもない。
1 数値制御装置
2 工作機械
21 CPU
22 ROM
23 RAM
24 フラッシュメモリ
231 セグメントバッファ

Claims (4)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2012078891A true JP2012078891A (ja) 2012-04-19
JP5477247B2 JP5477247B2 (ja) 2014-04-23

Family

ID=46239115

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP5477247B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012078892A (ja) * 2010-09-30 2012-04-19 Brother Ind Ltd 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体
JP2015161953A (ja) * 2014-02-26 2015-09-07 ブラザー工業株式会社 数値制御装置と移動経路修正方法

Citations (3)

* 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 制御装置

Patent Citations (3)

* 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 制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012078892A (ja) * 2010-09-30 2012-04-19 Brother Ind Ltd 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体
JP2015161953A (ja) * 2014-02-26 2015-09-07 ブラザー工業株式会社 数値制御装置と移動経路修正方法

Also Published As

Publication number Publication date
JP5477247B2 (ja) 2014-04-23

Similar Documents

Publication Publication Date Title
TWI512417B (zh) 加工程式作成裝置、數值控制裝置、加工系統、加工程式作成方法及數值控制方法
US9851709B2 (en) Numerical control device
JP6472585B1 (ja) 積層条件制御装置
JP5562430B2 (ja) 工具経路の生成方法および生成装置
JP5009010B2 (ja) 数値制御装置
US8560112B2 (en) Numerical controller with function to correct movement path of machining program
JP6450732B2 (ja) 数値制御装置
JP6646027B2 (ja) ポストプロセッサ装置、加工プログラム生成方法、cnc加工システム及び加工プログラム生成用プログラム
WO2013179366A1 (ja) 数値制御装置
CN109725602B (zh) 数值控制装置及方法、cnc机床、计算机可读信息记录介质
JP2001125613A (ja) 数値制御シミュレーション装置
KR20130095762A (ko) 공구경로의 생성방법 및 생성장치
CN101729000A (zh) 伺服电动机控制装置
JP6038331B2 (ja) 工具経路生成方法および工具経路生成装置
JP5477247B2 (ja) 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体
JP2008117032A (ja) 加工制御装置およびそのプログラム
JP2009098981A (ja) 加工時間算出装置およびそのプログラム
JP2007304714A (ja) 数値制御装置
JP5659666B2 (ja) 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体
JP5875740B1 (ja) 数値制御装置
JP5143661B2 (ja) Nc旋盤の制御方法及び制御装置
JP5573664B2 (ja) 数値制御装置、移動制御方法、移動制御プログラム及び記憶媒体
JPH07210225A (ja) 数値制御装置
JP4982170B2 (ja) 加工制御装置および加工制御プログラム
JP2010039993A (ja) Nc旋盤の制御方法及び制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131226

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: 20140114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140127

R150 Certificate of patent or registration of utility model

Ref document number: 5477247

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150