JP2015161953A - 数値制御装置と移動経路修正方法 - Google Patents

数値制御装置と移動経路修正方法 Download PDF

Info

Publication number
JP2015161953A
JP2015161953A JP2014034770A JP2014034770A JP2015161953A JP 2015161953 A JP2015161953 A JP 2015161953A JP 2014034770 A JP2014034770 A JP 2014034770A JP 2014034770 A JP2014034770 A JP 2014034770A JP 2015161953 A JP2015161953 A JP 2015161953A
Authority
JP
Japan
Prior art keywords
segment
movement
distance
segments
axis
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
JP2014034770A
Other languages
English (en)
Other versions
JP6281315B2 (ja
Inventor
崇 大高
Takashi Otaka
崇 大高
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 JP2014034770A priority Critical patent/JP6281315B2/ja
Priority to CN201510085189.3A priority patent/CN104865891B/zh
Publication of JP2015161953A publication Critical patent/JP2015161953A/ja
Application granted granted Critical
Publication of JP6281315B2 publication Critical patent/JP6281315B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path

Abstract

【課題】回転軸のみの移動を含んだ移動経路でも良好な加工面を得ることができる数値制御装置と移動経路修正方法を提供する。【解決手段】セグメントS1〜S3のうち2番目のセグメントS2は回転軸のみの移動である。CPUはNCプログラムの制御指令に基づき、セグメントS2の回転軸の移動角度を特定する。CPUは移動角度とワーク半径からセグメントS2のセグメント長を計算する。セグメント長が第1設定値以下の場合、セグメントS1の始点とセグメントS2の中点をセグメントS1Rで接続、セグメントS2の中点とセグメントS3の終点をセグメントS2Rで接続する。セグメント長が第1設定値より大きい場合、CPUはセグメントS1Rを確定する。移動経路は微小ブロックを含まない。数値制御装置は回転軸の移動を含む移動経路でも良好な加工面を得ることができる。【選択図】図6

Description

本発明は、数値制御装置と移動経路修正方法に関する。
数値制御装置は、曲線を描くNCプログラムを生成する場合、CAM(computer aided manufacturing)を用いる。CAMは、曲線を複数のセグメントに分割する。CAMは、演算誤差等により、前後のセグメントと比較的大きな角度をなす微小のセグメントを生成することがある。数値制御装置は、短い周期で指令速度に対応する分の移動量をサーボアンプに送出してモータを駆動する。微小ブロックが指令速度分の移動量に満たない場合、工具は急激に減速し、工具跡が加工面に残る場合がある。
特許文献1が開示する数値制御装置は、移動経路中の連続する三つのセグメントS1,S2、S3のうち、セグメントS2の長さが第1設定値以下の場合、セグメントS1の始点とセグメントS2の中点をセグメントS1Rで接続し、セグメントS2の中点とセグメントS3の終点をセグメントS2Rで接続する。セグメントS2の長さが第1設定値より長い場合、又はセグメントS1Rの長さが第2設定値より長い場合、セグメントS1Rを確定する。移動経路は微小セグメントを含まない。故に数値制御装置は良好な加工面を得ることができる。
特開2012−78891号公報
数値制御装置は、円柱状のワークを加工する場合がある。該場合、数値制御装置はNCプログラムで回転軸の移動を指令する。特許文献1が開示する数値制御装置は回転軸の移動指令から加工面上の移動距離を算出できない。移動経路中に微小セグメントが残ってしまうので、数値制御装置は良好な加工面を得ることができない。
本発明は、回転軸のみの移動を含んだ移動経路でも良好な加工面を得ることができる数値制御装置と移動経路修正方法を提供することである。
本発明の請求項1に係る数値制御装置は、複数のセグメントで構成する工作機械のワークに対する工具の移動経路を修正する数値制御装置において、前記移動経路を前記工作機械に指令するNCプログラムに基づき、前記複数のセグメントのうち一つの注目セグメントの距離を算出する算出手段と、前記算出手段が算出した注目セグメントの距離が基準距離以下か否か判断する判断手段と、前記算出手段が算出した距離が基準距離以下と前記判断手段が判断した場合、前記注目セグメントの前のセグメントの始点と、前記注目セグメントの次のセグメントの終点との間を接続し直す再接続手段とを備え、前記算出手段は、前記NCプログラムに基づき、前記セグメントに沿う前記工具の移動が、前記ワークを回転する回転軸のみの移動か、又は前記工具を前記ワークに対して直線的に移動する直線軸のみの移動かを判断する移動軸判断手段と、前記移動軸判断手段が移動は回転軸のみの移動と判断した場合、該回転軸の回転中心から前記工具の先端までの距離である半径と、前記NCプログラムから特定する該回転軸の移動角度に基づき、前記セグメントの距離を算出する第一算出手段と、前記移動軸判断手段が移動は直線軸のみの移動と判断した場合、該直線軸の移動距離に基づき、前記セグメントの距離を算出する第二算出手段とを備えたことを特徴とする。例えば円柱又は円筒形状のワーク表面を加工する時、セグメントの移動は直線軸のみで移動する他に、回転軸のみで移動する場合がある。数値制御装置は移動軸を判定し、直線軸か回転軸かでセグメント距離の算出方法を使い分けることができる。故に数値制御装置は回転軸のみの移動であってもセグメントの距離を算出できる。セグメントの距離が基準距離以下であれば、数値制御装置は注目セグメントの前のセグメントの始点と、注目セグメントの次のセグメントの終点との間を接続し直すので、移動経路中の微小セグメントを削除できる。故に数値制御装置は回転軸のみの移動を含んだ移動経路でも微小セグメントを削除できるので、修正後の移動経路でワークを加工した場合に良好な加工面を得ることができる。
請求項2に係る数値制御装置は、請求項1に記載の発明の構成に加え、前記複数のセグメントのうち連続する3つのセグメントを、移動開始側の開始セグメント、移動終了側の終了セグメント、前記開始セグメントと前記終了セグメントを接続する中間セグメントとして選択する選択手段を備え、前記算出手段は、前記選択手段が選択した前記3つのセグメントのうち前記注目セグメントとして前記中間セグメントの距離を算出し、前記再接続手段は、開始セグメントの始点と終了セグメントの終点との間を、二本のセグメントを用いて中間セグメントの中点で接続し直すことを特徴とする。数値制御装置は3つのセグメントを選択し、注目セグメントとして中間セグメントの距離を算出する。距離が基準距離以下の場合、数値制御装置は開始セグメントの始点と終了セグメントの終点を、2本のセグメントを用いて中間セグメントの中点で接続する。故に数値制御装置は移動経路に微小セグメントを残さない上に、開始セグメントの始点と終了セグメントの終点とを滑らかに接続できる。
請求項3に係る数値制御装置は、請求項2に記載の発明の構成に加え、前記判断手段が中間セグメントの距離が基準距離よりも長いと判断した場合、開始セグメントを確定する確定手段を備え、前記選択手段は、前記確定手段が開始セグメントを確定した場合、前記確定手段が確定した開始セグメントの次のセグメントから前記3つのセグメントを新たに選択し、前記再接続手段が開始セグメントの始点と終了セグメントの終点との間を二本のセグメントを用いて接続し直した場合、該二本のセグメントのうち前記移動経路において後ろ側のセグメントを新たな中間セグメントとして、3つのセグメントを選択し直すことを特徴とする。選択手段は複数のセグメントについて3つのセグメントを順次選択するので、セグメントを順次削除できる。故に移動経路中に微小セグメントは残らない。
本発明の請求項4に係る移動経路修正方法は、複数のセグメントで構成する工作機械のワークに対する工具の移動経路を修正する数値制御装置が行う移動経路修正方法において、前記移動経路を前工作機械に指令するNCプログラムに基づき、前記複数のセグメントのうち一つの注目セグメントの距離を算出する算出工程と、前記算出工程で算出した前記注目セグメントの距離が基準距離以下か否か判断する判断工程と、前記算出工程で算出した距離が基準距離以下と前記判断工程で判断した場合、注目セグメントの前のセグメントの始点と、注目セグメントの次のセグメントの終点との間を接続し直す再接続工程とを備え、前記算出工程は、前記NCプログラムに基づき、前記セグメントに沿う前記工具の移動が、前記ワークを回転する回転軸のみの移動か、又は前記工具を前記ワークに対して直線的に移動する直線軸のみの移動かを判断する移動軸判断工程と、前記移動軸判断工程で移動は回転軸のみの移動と判断した場合、回転軸の回転中心から前記工具の先端までの距離である半径と、前記NCプログラムから特定する回転軸の移動角度に基づき、前記セグメントの距離を算出する第一算出工程と、前記移動軸判断工程で移動は直線軸のみの移動と判断した場合、直線軸の移動距離に基づき、前記セグメントの距離を算出する第二算出工程とを備えたことを特徴とする。数値制御装置は上記移動経路修正方法を行うことにより、請求項1と同様の効果を得ることができる。
工作機械1の斜視図。 工作機械1と数値制御装置20の電気的構成を示すブロック図。 セグメントバッファ231の概念図。 NCプログラム10の一部を示す図。 ワーク5における修正前の移動経路30を示す図。 ワーク5における修正後の移動経路31を示す図。 移動経路修正処理の流れ図。 図7の続きを示す流れ図。 セグメント長計算処理の流れ図。 セグメントバッファ231内のセグメントSiの修正状態を示す図。
本発明の一実施形態を図面を参照して説明する。以下説明は、図中に矢印で示す上下、左右、前後を使用する。工作機械1の左右方向、前後方向、上下方向は、夫々X軸方向、Y軸方向、Z軸方向である。図2に示す数値制御装置20は工作機械1を制御する。工作機械1は主軸(図示略)に装着した工具4を高速回転してワーク5に切削加工を施す機械である。
図1を参照し、工作機械1の構造を説明する。工作機械1は基台2、コラム3、主軸ヘッド7、主軸(図示略)、作業台15、治具装置16、工具交換装置56、操作パネル(図示略)等を備える。基台2は工作機械1の土台である。コラム3は基台2の上部後方に立設する。コラム3は角柱状である。主軸ヘッド7はコラム3前面に昇降可能に設ける。主軸ヘッド7はZ軸モータ51の駆動でZ軸方向に駆動する。Z軸モータ51はコラム3上部に設ける。主軸は主軸ヘッド7下部に設ける。主軸は工具4を装着する装着穴(図示略)を有し主軸モータ52の駆動により回転する。主軸モータ52は主軸ヘッド7上部に設ける。作業台15は主軸ヘッド7下方に設ける。作業台15は移動機構(図示略)にてX軸方向とY軸方向の二軸方向に移動可能である。移動機構の構造は限定しないが、例えば、スライドレールとボール螺子を用いた一般的なボール螺子機構を用いることができる。X軸モータ53とY軸モータ54(図2参照)は移動機構を駆動し、作業台15をX軸方向とY軸方向に移動する。
治具装置16は作業台15上面に設ける。治具装置16は固定台17、右側支持部18、左側支持部19、チルトモータ55を備える。固定台17は作業台15上面に固定する。右側支持部18と左側支持部19は固定台17上面にX軸方向に互いに離間して夫々立設する。右側支持部18と左側支持部19はワーク5を両側から回転可能に支持する。チルトモータ55は右側支持部18に設け、右側支持部18の保持部(図示略)を回転駆動する。保持部はワーク5を保持する。チルトモータ55の回転軸はX軸方向に対して平行である。
操作パネル(図示略)は工作機械1を取り囲むカバー(図示略)壁面に設ける。操作パネルは表示部11と入力部12(図2参照)等を備える。表示部11は例えば操作画面、設定画面、NCプログラム等の各種画面を表示する表示機器である。入力部12は例えば各種入力、指示、設定等を行う操作機器である。工具交換装置56は工具マガジン57を備える。工具マガジン57は複数の工具を保持し、工具交換指令が指示する工具を工具交換位置に割り出す。工具交換指令はNCプログラムで指令する。工具交換位置は工具マガジン57の最下部の位置である。工具交換装置56は主軸に装着する工具4と工具交換位置にある工具とを入れ替え交換する。
図2を参照し、数値制御装置20と工作機械1の電気的構成を説明する。数値制御装置20は、CPU21、ROM22、RAM23、不揮発性記憶装置24、入出力部35、駆動回路51A〜56A等を備える。CPU21は数値制御装置20を統括制御する。ROM22は、メインプログラム、移動経路修正プログラム、セグメント長計算プログラム等を記憶する。メインプログラムは数値制御装置20の動作を制御するものである。移動経路修正プログラムは後述する移動経路修正処理(図7,図8参照)を実行するものである。セグメント長計算プログラムは後述するセグメント長計算処理(図9参照)を実行するものである。
RAM23は各種処理実行中のデータを一時的に記憶する記憶領域に加え、セグメントバッファ231等を備える。セグメントバッファ231は、NCプログラムから生成したセグメントデータを記憶する。セグメントデータは、工具4の移動経路を構成する各セグメントの制御データである。セグメントデータの詳細は後述する。不揮発性記憶装置24はNCプログラム、各種パラメータ等を記憶する。NCプログラムは各種制御指令を含む複数のブロックで構成し、工作機械1の軸移動、工具交換等を含む各種動作をブロック単位で制御するものである。CPU21は作業者が入力部12で入力したNCプログラムを不揮発性記憶装置24に記憶する。各種パラメータは、少なくとも、ワーク5の半径r、後述する第1設定値と第2設定値等を含む。
尚、移動経路修正プログラム、セグメント長計算プログラム等の各種プログラムは、ROM22、又は不揮発性記憶装置24に記憶してもよい。また、メモリカード等に各種プログラムを記憶しておき、数値制御装置20に接続するカードスロット(図示略)からメモリカードに記憶する各種プログラムを読み出してもよい。また、NCプログラムと各種パラメータについても、ROM22、不揮発性記憶装置24、又はメモリカード等に記憶してもよい。
駆動回路51AはZ軸モータ51とエンコーダ51Bに接続する。駆動回路52Aは主軸モータ52とエンコーダ52Bに接続する。駆動回路53AはX軸モータ53とエンコーダ53Bに接続する。駆動回路54AはY軸モータ54とエンコーダ54Bに接続する。駆動回路55Aはチルトモータ55とエンコーダ55Bに接続する。駆動回路56Aは工具交換装置56を駆動するモータとエンコーダ56Bに接続する。駆動回路51A〜56AはCPU21から指令を受け、対応する各モータ51〜55、工具交換装置56を駆動するモータに駆動電流を夫々出力する。駆動回路51A〜56Aはエンコーダ51B〜56Bからフィードバック信号を受け、位置と速度のフィードバック制御を行う。フィードバック信号はパルス信号である。入出力部35は入力部12と表示部11に夫々接続する。
図3〜図5を参照し、工具4の移動経路とセグメントデータの関係を説明する。図4に例示するNCプログラム10は、図5に示す円柱状のワーク5を加工する際の工具4の移動経路30を指令する。図4に示す如く、N1、N2、N3・・・はブロック番号である。G1は切削指令である。Xは直線軸であるX軸の移動指令である。Aは回転軸の移動指令であり、数値単位は「°」である。N1ブロックの「N1 G1 X20.000」は「工具を現在位置からX軸方向に20.000mm移動せよ。」の制御指令である。N2ブロックの「N2 G1 A4.000」は「工具を現在位置から4.000°移動せよ。」の制御指令である。N3ブロックの「N3 G1 X20.000」は「工具を現在位置からX軸方向に20.000mm移動せよ。」の制御指令である。
図5に示す如く、修正前の移動経路30は、点P1−点P2間のセグメントS1、点P2−点P3間のセグメントS2、点P3−点P4間のセグメントS3で構成し、略「Z」字型の形状である。セグメントS1はNCプログラムのN1ブロックに対応する。セグメントS2はNCプログラムのN2ブロックに対応する。セグメントS3はNCプログラムのN3ブロックに対応する。本実施例は、セグメントS2は、セグメント長が後述する第1設定値以下の微小セグメントであることを想定する。
作業者が入力部12で所定の操作を行うと、CPU21は、NCプログラムを1ブロックずつ読み込んで、セグメントデータを生成する。セグメントデータは、各セグメントSiの軸移動量ΔX、ΔY、ΔZ、Δθ、セグメント長、指令速度等を含む。該データは数値制御装置20の内部処理形式に対応する。添え字iは経路開始からのセグメント番号を示す。ΔXはX軸の移動量、ΔYはY軸の移動量、ΔZはZ軸の移動量、Δθは治具装置16の回転軸の移動量(移動角度)である。CPU21は、各セグメントSiのセグメントデータに基づき、ワーク5に対する工具4の速度パターンを作成する。CPU21は、作成した速度パターンから各軸毎の補間指令(単位時間あたりの移動量)を算出する。CPU21は、算出した各軸の補間指令を、工作機械1のZ軸モータ51、X軸モータ53、Y軸モータ54、チルトモータ55の夫々の駆動回路51A、53A、54A、55Aに夫々出力する。
CPU21は、NCプログラムが指令する移動経路を修正する為に、生成したセグメントデータを、RAM23のセグメントバッファ231に指令順に記憶する。セグメントバッファ231において、ポインタAは、NCプログラムから読み取った新しいセグメントSiの位置を示す。ポインタBは、経路が確定していない最初のセグメントSiの位置を示す。CPU21は、セグメントバッファ231に、3セグメント分のセグメントデータを蓄積するまで、ポインタAをインクリメントし、且つポインタAに次のセグメントデータを順次記憶する。図3に例示するセグメントバッファ231は、セグメントS1、S2、S3の指令順にセグメントデータを記憶する。本実施形態は、セグメントバッファ231に記憶する3つのセグメントSiについて、移動開始側から順に、第1セグメント、第2セグメント、第3セグメントと呼ぶ。CPU21は、後述する移動経路修正処理(図7,8参照)により、セグメントバッファ231に記憶するセグメントSiのセグメントデータについて、移動経路30に微小セグメントが残らないように、順次修正する。
図4〜図11を参照し、CPU21が実行する移動経路修正処理を説明する。本実施形態は、図5に示す移動経路30を図6に示す移動経路31に修正する場合を一例として説明する。作業者は入力部12を用いて、図4に示すNCプログラム10を選択する。CPU21はROM22から移動経路修正プログラムを読み出して本処理を実行する。以下、説明の便宜上、セグメントバッファ231に記憶するセグメントSiのセグメントデータを、単にセグメントSiと呼ぶことがある。
図7に示す如く、先ず、CPU21は、NCプログラムを1ブロックずつ読み込み、次のセグメントSiが有るか否か判断する(S1)。CPU21は、N1ブロックからセグメントS1があると判断し(S1:YES)、ポインタAの位置にセグメントS1をセットする(S3)。CPU21はセグメントS1のセグメント長を計算する(S3)。CPU21はセグメント長を計算する時、ROM22からセグメント長計算プログラムを読み出し、セグメント長計算処理(図9参照)を実行する。
図9を参照し、セグメント長計算処理を説明する。CPU21は、セグメントS1は直線軸のみの移動か否か判断する(S31)。CPU21は、NCプログラムのN1ブロックを参照する。N1ブロックはX軸のみの移動を指示する制御指令であるので(S31:YES)、CPU21はセグメント長を、√(ΔXi+ΔYi+ΔZi)の計算式で計算する(S33)。N1ブロックは現在位置からX軸方向に20.000mmの移動であるから、ΔX=20.000、ΔY=0.000、ΔZ=0.000となる。故にセグメント長は、√(20+0+0)=20.000mmとなる。CPU21はセグメント長計算処理を終了し、図7の処理に戻る。
CPU21は、S3で求めたセグメントS1のセグメント長を、セグメントバッファ231に登録する(S4)。CPU21はポインタBから3セグメント生成したか否か判断する(S5)。現時点でポインタBから1セグメントしか生成していないので(S5:NO)、CPU21はポインタAをインクリメントし(S26)、S1に戻る。
次に、CPU21はNCプログラムのN2ブロックを読み込む。N2ブロックに次のセグメントS2があるので(S1:YES)、CPU21はポインタAの位置にセグメントS2をセットする(S2)。CPU21はセグメントS2のセグメント長を計算する(S3)。CPU21はROM22からセグメント長計算プログラムを読み出し、セグメント長計算処理(図9参照)を実行する。
図9に示す如く、CPU21は、セグメントS2は直線軸のみの移動か否か判断する(S31)。CPU21は、NCプログラムのN2ブロックを参照する。N2ブロックは、直線軸のみの移動を指示する制御指令では無いので(S31:NO)、CPU21は回転軸のみの移動か否か判断する(S32)。N2ブロックの制御指令は回転軸のみの移動を指示する制御指令であるので(S32:YES)、CPU21はセグメント長を、2πr×Δθ/360の計算式で計算する(S34)。rは、治具装置16の回転軸の回転中心から工具4先端までの距離である。rは不揮発性記憶装置24にパラメータとして予め記憶する。尚、本実施形態において、治具装置16は、治具装置16の回転中心とワーク5の軸中心とが一致するように、ワーク5を保持する(図1参照)。故にrはワーク5の半径と一致するので、ワーク5の半径を不揮発性記憶装置24に予め記憶してもよい。本実施例ではr=10とする。Δθは、N2ブロックの制御指令(A=4.000)から4°である。故にセグメント長は、2π×10×4/360=0.698mmとなる。CPU21はセグメント長計算処理を終了し、図7の処理に戻る。
CPU21は、S3で求めたセグメントS2のセグメント長を、セグメントバッファ231に登録する(S4)。現時点でポインタBから2セグメントしか生成していないので(S5:NO)、CPU21はポインタAをインクリメントし(S26)、S1に戻る。
次に、CPU21は、NCプログラムのN3ブロックを読み込む。N3ブロックに次のセグメントS3があるので(S1:YES)、CPU21は、ポインタAの位置にセグメントS3をセットする(S2)。CPU21はセグメントS3のセグメント長を計算する(S3)。CPU21はROM22からセグメント長計算プログラムを読み出し、セグメント長計算処理(図9参照)を実行する。
図9に示す如く、CPU21は、セグメントS3は直線軸のみの移動か否か判断する(S31)。CPU21は、NCプログラムのN3ブロックを参照する。N3ブロックはX軸のみの移動を指示する制御指令であるので(S31:YES)、CPU21はセグメント長を、√(ΔXi+ΔYi+ΔZi)の計算式で計算する(S33)。N3ブロックは現在位置からX軸方向に20.000mmの移動であるから、ΔX=20.000、ΔY=0.000、ΔZ=0.000となる。故にセグメント長は、√(20+0+0)=20.000mmとなる。CPU21はセグメント長計算処理を終了し、図7の処理に戻る。
CPU21は、S3で求めたセグメントS3のセグメント長を、セグメントバッファ231に登録する(S4)。図10の第1段階に示す如く、ポインタBの位置にセグメントS1、ポインタAの位置にセグメントS3が配置する。ポインタBから3セグメント生成したので(S5:YES)、CPU21は、第2セグメントは直線軸と回転軸の両方の移動を含むか否か判断する(S6)。現時点の第2セグメントはセグメントS2である。NCプログラム10のN2ブロックの制御指令に基づき、セグメントS2は回転軸のみの移動であるので(S6:NO)、CPU21は、第2セグメント長は第1設定値以下か否か判断する(S7)。第1設定値は不揮発性記憶装置24(図2参照)に予め記憶する。本実施例の第1設定値は1mmである。上記の通り、セグメントS2のセグメント長は0.698mmで第1設定値以下であるので(S7:YES)、CPU21は、第1セグメントと第2セグメントを夫々修正し、第3セグメントを削除する(S8)。
S8の処理におけるセグメントの具体的な修正方法を説明する。図6に示す如く、CPU21は、セグメントS3を削除し、セグメントS1の始点P1と、セグメントS3の終点P4とを、セグメントS2の中点T1で接続するように、セグメントS1とS2を修正する。修正後のセグメントS1はセグメントS1Rで示す。修正後のセグメントS2はセグメントS2Rで示す。セグメントS1Rの始点は点P1、終点は中点T1となる。セグメントS2Rの始点は中点T1、終点は点P4となる。修正前のセグメントS2の点P2から点P3までのΔθは4°であるから、点P2から中点T1までのΔθは2°である。従って、セグメントS1Rの始点P1は、X=0.000、A=0.000となり、終点T1はX=20.000、A=2.000となる。セグメントS2Rの始点T1はX=20.000、A=2.000となり、終点P4はX=40.000、A=4.000となる。セグメントS1RとS2Rの夫々の移動経路は、直線軸と回転軸の両方を含む移動となる。図10の第2段階に示す如く、現時点のセグメントバッファ231は、第1セグメントはセグメントS1R、第2セグメントはS2R、ポインタAは空の状態である。
図8に示す如く、CPU21は第1セグメント長と第2セグメント長を夫々計算する(S9,S10)。現時点の第1セグメントはセグメントS1R、現時点の第2セグメントはセグメントS2Rである。CPU21はセグメントS1RとS2Rのセグメント長を夫々計算する。CPU21はROM22からセグメント長計算プログラムを読み出し、セグメント長計算処理(図9参照)を実行する。
図9に示す如く、CPU21は、セグメントS1RとS2Rについて、直線軸のみの移動か否か、回転軸のみの移動か否か判断する(S31,S32)。上記の通り、セグメントS1RとS2Rは、何れも回転軸と直線軸の両方の移動を含む移動であるので(S31:NO、S32:NO、図6参照)、CPU21は、セグメントS1RとS2Rの夫々のセグメント長をNCプログラム10から計算できない。故にCPU21はセグメント長を計算することなく、セグメント長計算処理を終了し、図8の処理に戻る。
CPU21は、第1セグメントは直線軸と回転軸の両方の移動を含むか否か判断する(S11)。上記の通り、第1セグメントであるセグメントS1Rは直線軸と回転軸の両方の移動を含むので(S11:YES)、CPU21はセグメントS1Rを確定する(S13)。CPU21はポインタBをインクリメントし(S14)、図7のS1に戻る。図10の第3段階に示す如く、ポインタBは第2セグメントのセグメントS2Rに位置する。
図7に示す如く、CPU21はNCプログラムから次のセグメントが有るか否か判断する(S1)。図4に示す如く、NCプログラム10には、次のセグメントは無いので(S1:NO)、CPU21はポインタAの位置とポインタBの位置が同じか否か判断する(S21)。図10の第3段階に示す如く、ポインタAの位置とポインタBの位置は異なるので(S21:NO)、CPU21は、ポインタBの位置のセグメントを確定し(S22)、ポインタBをインクリメントする(S23)。セグメントS2Rも確定する。CPU21はS21に戻り、再び、ポインタAの位置とポインタBの位置が同じか否か判断する(S21)。図10の第4段階に示す如く、ポインタAの位置とポインタBの位置は同一であるので(S21:YES)、CPU21は本処理を終了する。このようにして、図5に示す移動経路30は、図6に示す移動経路31に修正される。
図6に示す移動経路31には、途中に微小セグメントが存在しない。セグメントS1RとセグメントS2Rが中点T1で滑らかに接続することによって、移動経路31は略直線的な経路として再生成される。故に数値制御装置20は移動経路31に従ってワーク5に対して工具4を移動することで、工具跡が残らない良好な加工表面を得ることができる。
なお、図7に示す移動経路修正処理のS6の処理において、ポインタBから3セグメント生成した後、第2セグメントが直線軸と回転軸の両方の移動を含む場合(S6:YES)、CPU21は第2セグメント長を算出できない。CPU21は、第2セグメント長を算出できなければ、第2セグメント長が第1設定値以下か否かの判断ができない。故にCPU21は経路を修正することなく、第1セグメントを確定し(S24)、ポインタBをインクリメントし(S25)、ポインタAをインクリメントする(S26)。CPU21は、次のセグメントをポインタAにセットし(S1〜S5)。セグメントバッファ231に3セグメント蓄積する。故にCPU21は、引き続き、経路修正を継続できる。
また、図7に示す移動経路修正処理のS7の処理において、第2セグメント長が第1設定値より長かった場合(S7:NO)、第2セグメントは微小セグメントではない。故にCPU21は経路を修正することなく、第1セグメントを確定し(S24)、ポインタBをインクリメントし(S25)、ポインタAをインクリメントする(S26)。
また、図8に示す移動経路修正処理のS9,S10の処理において、CPU21は、第1セグメント長と第2セグメント長を計算できた場合、計算して求めた第1セグメント長と第2セグメント長をセグメントバッファ231に登録し、S11の処理に移行すればよい
また、図8に示す移動経路修正処理のS11の処理において、修正後の第1セグメントが直線軸のみの移動又は回転軸のみの移動であった場合(S11:NO)、CPU21は、修正後の第1セグメントが微小セグメントか否か判断する必要がある。修正後の第1セグメントが微小セグメントであれば、第1セグメントを確定できない。そこで、CPU21は、修正後の第1セグメントが第2設定値より長いか否か判断する(S12)。第2設定値は、不揮発性記憶装置24に予め記憶する。本実施例の第2設置値は第1設定値と同じ1mmであるが、第1設置値と異なる値でもよい。修正後の第1セグメントが第2設定値より長い場合(S12:YES)、CPU21は修正後の第1セグメントを確定する(S13)。
一方、修正後の第1セグメントが第2設定値以下の場合(S12:NO)、CPU21は第1セグメントを確定せずに、図7のS1に戻る。この時点のセグメントバッファ231は、図10の第2段階である。ポインタAの位置は空である。CPU21は、次のセグメントをポインタAにセットし(S1〜S5)。セグメントバッファ231に再度3セグメント蓄積する。CPU21は、第2セグメントが第1設定値以下であれば(S7:YES)、第1セグメントと第2セグメントを再度修正する。CPU21は、修正後の第1セグメント長が第2設定値より長くなった時点で、第1セグメントの経路を確定する。これにより、CPU21は、微小セグメントが連続する移動経路でも、微小セグメントが残らないように移動経路を順次修正できる。
以上説明した如く、本実施形態の数値制御装置20のCPU21は、NCプログラム10を読み取ったブロック順に、軸の移動経路30を構成するセグメントSiを生成し、セグメントバッファ231に順次記憶する。CPU21は、セグメントバッファ231に蓄積するセグメントSiについて、連続する3つのブロックを処理対象のセグメントとして、移動経路を順次修正する。CPU21は、最初に、セグメントS1、S2、S3を処理対象セグメントとする。CPU21は、セグメントS2のセグメント長を計算する。セグメント長の計算は、セグメントの移動が直線軸のみの移動か、又は回転軸のみの移動かで計算方法が異なる。CPU21はNCプログラム10の対応するブロックの制御指令に基づき、直線軸のみの移動か回転軸のみの移動かを判断する。直線軸のみの移動である場合、CPU21はセグメントS2における各軸移動量ΔX、ΔY、ΔZに基づき、セグメント長を算出する。回転軸のみの移動である場合、CPU21はセグメントS2における回転軸の移動角度Δθとワーク半径rに基づき、セグメント長を算出する。これにより、CPU21は移動軸が回転軸のみの移動であっても、セグメント長を計算できる。セグメント長が第1設定値より長い場合、CPU21はセグメント1の経路を確定する。セグメント長が第1設定値以下であった場合、CPU21は、セグメントS1とセグメントS2を修正し、セグメントS3を消去して、新たな経路を作成する。
具体的には、CPU21は、セグメントS1の始点P1とセグメントS2の中点T1とを、新たなセグメントS1Rで接続し、セグメントS2の中点T1とセグメントS3の終点P4とを、新たなセグメントS2Rで接続する。CPU21は、セグメントS1Rが第2設定値より長いと判断した場合、セグメントS1Rを確定する。CPU21は、セグメントS1Rが第2設定値以下と判断した場合、処理対象セグメントに次のセグメントを追加する。CPU21は、処理対象セグメントを追加した連続する3つのセグメントSiについて、再度、経路を修正し且つ第1セグメントを順次確定する。故に修正後の移動経路31は微小セグメントを含まないので、工具4は急激に減速することが無い。故に数値制御装置20は良好な加工面を得ることができる。更に、工具4の修正後の移動経路31はNCプログラム10で指令した移動経路30から大きく逸脱しない。
以上説明において、セグメント長が本発明のセグメントの距離に相当し、第1設定値が本発明の基準距離に相当し、第1セグメントが本発明の開始セグメント、第2セグメントが本発明の中間セグメント、第3セグメントが本発明の終了セグメントに相当する。S3の処理を実行するCPU21が本発明の算出手段に相当し、S7の処理を実行するCPU21が本発明の判断手段に相当し、S8の処理を実行するCPU21が本発明の再接続手段に相当し、S31,S32の処理を実行するCPU21が本発明の移動軸判断手段に相当し、S34の処理を実行するCPU21が本発明の第一算出手段に相当し、S33の処理を実行するCPU21が本発明の第二算出手段に相当し、S1,S5の処理を実行するCPU21が本発明の選択手段に相当し、S24の処理を実行するCPU21が本発明の確定手段に相当する。
なお、本発明の数値制御装置と移動経路修正方法は、上記実施形態に限らず、各種の変形が可能なことはいうまでもない。上記実施形態は、円柱形状のワーク5を加工する場合を一例として説明したが、ワーク形状は円筒、角柱、角筒、板状、球状の他、不規則な形状であってもよい。本実施形態の数値制御装置20は様々なワーク形状について工具4の移動経路を適切に修正できる。
上記実施形態は、工具4を装着する主軸がZ軸方向に移動可能であり、作業台15がX軸とY軸方向の二軸に移動可能である工作機械1である。ワーク5に対してX軸、Y軸、Z軸方向に相対的に移動する工具4の移動機構の仕組みは上記実施形態に限定しない。例えば、主軸がX軸、Y軸、Z軸方向の三軸に移動可能であり、作業台を固定した工作機械であってもよい。また、上記実施形態の工作機械1は縦型の工作機械であるが、横型の工作機械であってもよい。また、工具交換装置56は省略してもよい。
上記実施形態の図7のS8の処理において、第3セグメントを削除し、第1セグメントと第2セグメントを夫々修正したが、3本のセグメントのうち1本を削除し、残りの2本を修正すればよい。具体的には、3本のうち1本を削除し、残りの2本で、第1セグメントの始点と第3セグメントの終点とを、第2セグメントの中点で接続し直せばよい。
上記実施形態の第1設定値と第2設定値は何れも1mmであるが、これ以外の数値に変更してもよい。第1設定値と第2設定値は互いに異なる数値であってもよい。
上記実施形態では、セグメントデータの修正をRAM23のセグメントバッファ231において順次修正したが、他のメモリの記憶領域を用いて修正してもよい。
1 工作機械
4 工具
5 ワーク
10 NCプログラム
16 治具装置
20 数値制御装置
21 CPU
30 移動経路
S1〜S3 セグメント

Claims (4)

  1. 複数のセグメントで構成する工作機械のワークに対する工具の移動経路を修正する数値制御装置において、
    前記移動経路を前記工作機械に指令するNCプログラムに基づき、前記複数のセグメントのうち一つの注目セグメントの距離を算出する算出手段と、
    前記算出手段が算出した注目セグメントの距離が基準距離以下か否か判断する判断手段と、
    前記算出手段が算出した距離が基準距離以下と前記判断手段が判断した場合、前記注目セグメントの前のセグメントの始点と、前記注目セグメントの次のセグメントの終点との間を接続し直す再接続手段とを備え、
    前記算出手段は、
    前記NCプログラムに基づき、前記セグメントに沿う前記工具の移動が、前記ワークを回転する回転軸のみの移動か、又は前記工具を前記ワークに対して直線的に移動する直線軸のみの移動かを判断する移動軸判断手段と、
    前記移動軸判断手段が移動は回転軸のみの移動と判断した場合、該回転軸の回転中心から前記工具の先端までの距離である半径と、前記NCプログラムから特定する該回転軸の移動角度に基づき、前記セグメントの距離を算出する第一算出手段と、
    前記移動軸判断手段が移動は直線軸のみの移動と判断した場合、該直線軸の移動距離に基づき、前記セグメントの距離を算出する第二算出手段と
    を備えたことを特徴とする数値制御装置。
  2. 前記複数のセグメントのうち連続する3つのセグメントを、移動開始側の開始セグメント、移動終了側の終了セグメント、前記開始セグメントと前記終了セグメントを接続する中間セグメントとして選択する選択手段を備え、
    前記算出手段は、
    前記選択手段が選択した前記3つのセグメントのうち前記注目セグメントとして前記中間セグメントの距離を算出し、
    前記再接続手段は、開始セグメントの始点と終了セグメントの終点との間を、二本のセグメントを用いて中間セグメントの中点で接続し直すことを特徴とする請求項1に記載の数値制御装置。
  3. 前記判断手段が中間セグメントの距離が基準距離よりも長いと判断した場合、開始セグメントを確定する確定手段を備え、
    前記選択手段は、
    前記確定手段が開始セグメントを確定した場合、前記確定手段が確定した開始セグメントの次のセグメントから前記3つのセグメントを新たに選択し、
    前記再接続手段が開始セグメントの始点と終了セグメントの終点との間を二本のセグメントを用いて接続し直した場合、該二本のセグメントのうち前記移動経路において後ろ側のセグメントを新たな中間セグメントとして、3つのセグメントを選択し直すことを特徴とする請求項2に記載の数値制御装置。
  4. 複数のセグメントで構成する工作機械のワークに対する工具の移動経路を修正する数値制御装置が行う移動経路修正方法において、
    前記移動経路を前工作機械に指令するNCプログラムに基づき、前記複数のセグメントのうち一つの注目セグメントの距離を算出する算出工程と、
    前記算出工程で算出した前記注目セグメントの距離が基準距離以下か否か判断する判断工程と、
    前記算出工程で算出した距離が基準距離以下と前記判断工程で判断した場合、注目セグメントの前のセグメントの始点と、注目セグメントの次のセグメントの終点との間を接続し直す再接続工程とを備え、
    前記算出工程は、
    前記NCプログラムに基づき、前記セグメントに沿う前記工具の移動が、前記ワークを回転する回転軸のみの移動か、又は前記工具を前記ワークに対して直線的に移動する直線軸のみの移動かを判断する移動軸判断工程と、
    前記移動軸判断工程で移動は回転軸のみの移動と判断した場合、回転軸の回転中心から前記工具の先端までの距離である半径と、前記NCプログラムから特定する回転軸の移動角度に基づき、前記セグメントの距離を算出する第一算出工程と、
    前記移動軸判断工程で移動は直線軸のみの移動と判断した場合、直線軸の移動距離に基づき、前記セグメントの距離を算出する第二算出工程と
    を備えたことを特徴とする移動経路修正方法。
JP2014034770A 2014-02-26 2014-02-26 数値制御装置と移動経路修正方法 Active JP6281315B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014034770A JP6281315B2 (ja) 2014-02-26 2014-02-26 数値制御装置と移動経路修正方法
CN201510085189.3A CN104865891B (zh) 2014-02-26 2015-02-16 数值控制装置和移动路径修正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014034770A JP6281315B2 (ja) 2014-02-26 2014-02-26 数値制御装置と移動経路修正方法

Publications (2)

Publication Number Publication Date
JP2015161953A true JP2015161953A (ja) 2015-09-07
JP6281315B2 JP6281315B2 (ja) 2018-02-21

Family

ID=53911797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014034770A Active JP6281315B2 (ja) 2014-02-26 2014-02-26 数値制御装置と移動経路修正方法

Country Status (2)

Country Link
JP (1) JP6281315B2 (ja)
CN (1) CN104865891B (ja)

Citations (5)

* 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デ−タ修正装置
JPH06309025A (ja) * 1993-04-21 1994-11-04 Toshiba Mach Co Ltd 数値制御指令データ前処理方法および装置
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 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100371837C (zh) * 2004-04-05 2008-02-27 财团法人工业技术研究院 数值控制机械
JP4938119B2 (ja) * 2010-08-20 2012-05-23 ファナック株式会社 工具先端点位置を制御する多軸加工機用数値制御装置
JP5037704B2 (ja) * 2011-01-26 2012-10-03 ファナック株式会社 3軸加工機用ワーク設置誤差補正部を有する数値制御装置
JP4975872B1 (ja) * 2011-02-25 2012-07-11 ファナック株式会社 多軸加工機用速度制御機能を有する数値制御装置
JP2012033203A (ja) * 2011-11-14 2012-02-16 Makino Milling Mach Co Ltd 数値制御工作機械

Patent Citations (5)

* 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デ−タ修正装置
JPH06309025A (ja) * 1993-04-21 1994-11-04 Toshiba Mach Co Ltd 数値制御指令データ前処理方法および装置
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 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体

Also Published As

Publication number Publication date
CN104865891B (zh) 2017-09-08
JP6281315B2 (ja) 2018-02-21
CN104865891A (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
JP6450732B2 (ja) 数値制御装置
JP2009266221A (ja) 加工シミュレーション方法及び加工シミュレーション装置
US10088824B2 (en) Toolpath evaluation method, toolpath generation method, and toolpath generation device
JP6107306B2 (ja) 数値制御装置及び駆動制御方法
WO2013179366A1 (ja) 数値制御装置
JP6672702B2 (ja) 制御装置、工作機械、制御方法及びコンピュータプログラム
WO2014196066A1 (ja) 数値制御装置
CN113168155B (zh) 数控装置及数控方法
WO2015132936A1 (ja) 加工プログラムの生成方法、経路生成装置および放電加工機
JP6038331B2 (ja) 工具経路生成方法および工具経路生成装置
JP6435962B2 (ja) 制御装置、工作機械及びコンピュータプログラム
CN104756025B (zh) 工件安装信息报告装置
JP6281315B2 (ja) 数値制御装置と移動経路修正方法
JP6582814B2 (ja) 数値制御装置と数値制御装置のロストモーション補償方法
WO2010073294A1 (ja) 干渉チェック装置
JP5477247B2 (ja) 数値制御装置、移動経路修正方法、移動経路修正プログラム、及び記憶媒体
JP7131454B2 (ja) 数値制御装置、工作機械、制御プログラム、及び記憶媒体
JP5037270B2 (ja) 三次元レーザ加工機におけるティーチング装置
JP6620460B2 (ja) 工作機械、工作機械の主軸の位置補正方法及びコンピュータプログラム
KR20230170569A (ko) 로봇의 이동 경로 생성 방법, 이동 경로 생성 장치, 로봇 시스템, 및 프로그램
JP2021131337A (ja) ツール位置検出装置及び該装置を備えたロボット
WO2018037527A1 (ja) 工作機械装置
TW202244645A (zh) 工具機
CN115398365A (zh) 机床、加工路径生成方法以及计算机程序
CN115769161A (zh) 机器人控制装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180108

R150 Certificate of patent or registration of utility model

Ref document number: 6281315

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150