JPH09288509A - 数値制御装置のブロックデータ処理方法 - Google Patents

数値制御装置のブロックデータ処理方法

Info

Publication number
JPH09288509A
JPH09288509A JP10008496A JP10008496A JPH09288509A JP H09288509 A JPH09288509 A JP H09288509A JP 10008496 A JP10008496 A JP 10008496A JP 10008496 A JP10008496 A JP 10008496A JP H09288509 A JPH09288509 A JP H09288509A
Authority
JP
Japan
Prior art keywords
block
program
data processing
combined
processing method
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.)
Pending
Application number
JP10008496A
Other languages
English (en)
Inventor
Shusuke Oba
秀典 大場
Michihiko Sumino
充彦 角野
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.)
Yaskawa Electric Corp
DMG Mori Co Ltd
Original Assignee
Yaskawa Electric Corp
Mori Seiki Co 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 Yaskawa Electric Corp, Mori Seiki Co Ltd filed Critical Yaskawa Electric Corp
Priority to JP10008496A priority Critical patent/JPH09288509A/ja
Publication of JPH09288509A publication Critical patent/JPH09288509A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)

Abstract

(57)【要約】 【課題】 荒加工、中仕上げ加工、仕上げ加工において
同一のプログラムを使用し、高性能プロセッサを内蔵し
ていなくても中仕上げ加工ではプログラム解析処理を高
速化する。 【解決手段】 2軸以上の駆動軸を有し、与えられた複
数の移動ブロックからなるプログラムを分配周期当たり
の線分で直線補間しながら移動する工作機械やロボット
等の数値制御装置のブロックデータ処理方法において、
起点となる点以降のブロックの移動量を合成し、その合
成された移動量のベクトルと合成する前のブロックの軌
跡とのトレランスの最大値または合成された移動量のベ
クトルと合成する前のブロックのベクトルとのなす角が
予め設定された値以下であれば、前記合成されたブロッ
クを改めて1つのブロックと定義する数値制御装置のブ
ロックデータ処理力法。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2軸以上の駆動軸
を有する工作機械やロボットの数値制御装置のプログラ
ムブロックデータの処理方法に関する。
【0002】
【従来の技術】金型加工では、曲面の加工を、微小直線
ブロックで構成されたプログラムを用いて行う。従来、
工作機械やロボットを制御する数値制御装置では、図1
0に表される様に、プログラムを読み込み、プログラム
解析を行い、直線や円弧などの補間を行いプログラムブ
ロックの移動量を分配周期ごとに各軸へ移動パルスとし
て分配した後、各送り軸においてサーボ制御を行つてい
る。ここで、実際の曲面と加工プログラムの形状の誤差
を小さくするためには、ブロックの長さを短くする必要
がある。
【0003】工作機械の金型加工の仕上げ加工に見られ
るように、特に精度が要求される場合には、移動ブロッ
クは微小長さになるが、移動ブロックが短くなると、単
位時間当たりに処理するブロックの数が多くなるためプ
ログラム解析処理部の負荷が大きくなっていた。このた
め、ブロック当たりの移動量の短い加工プログラムの場
合には、送り速度によってはプログラム解析処理が間に
合わないことがあり、送り速度を下げて単位時間当たり
に処理するブロック数を低下するか、高性能なプロセッ
サをブロック解析処理部に適用してプログラム解析処理
の高速化を図る必要があった。
【0004】
【発明が解決しようとする課題】ところが従来技術で
は、金型加工における仕上げ加工の直前の中仕上げ加工
のように、加工精度は仕上げ加工より低くてもいいが、
その代わり加工時間を短縮したい場合には、仕上げ加工
用のプログラムを用いるとプログラムブロックの分割が
細かいため前記理由により送り速度をあげることができ
ず、プログラムブロックの分割が荒い中仕上げ加工用プ
ログラムが必要であった。このため、中仕上げ加工に移
動指令ブロックの分割の荒いプログラム、仕上げ加工用
に移動指令ブロックの分割の細かいプログラムの2つの
プログラムが必要であるという問題があった。
【0005】さらに、3次元自由曲面を加工する場合、
荒加工、中仕上げ加工、仕上げ加工と3つの加工プログ
ラムが必要であった。同一形状で3種類の加工プログラ
ムを作成することはプログラム作成装置に負担と時間が
かかっていた。仕上げ加工用プログラムにて荒加工、中
仕上げ加工を行うことも可能であるが、仕上げ加工プロ
グラムは加工精度を重視しているために1ブロックが微
小移動距離で構成されている。このため、数値制御装置
のブロック処理能力が追い付かない場合には加工時間が
長くなる。一般的に、荒加工、中仕上げ加工では加工精
度よりも加工時間が重視されるので、最適とは言えな
い。そこで、本発明は、荒加工(該当する場合)、中仕
上げ加工、仕上げ加工において同一のプログラムを使用
し、高性能プロセッサを内蔵していなくても中仕上げ加
工ではプログラム解析処理を高速化することを目的とす
る。
【0006】
【課題を解決するための手段】上記問題を解決するた
め、本発明は、数ブロックにまたがったプログラムブロ
ックの移動量を合成したベクトルと合成する前の軌跡と
のトレランス、またはその合成された移動量のベクトル
と合成する前のブロックのベクトルとのなす角が、設定
された許容値の範囲以内であれば、それらのブロックの
移動量を合成し、新たに1ブロックの移動ブロックと置
き換えるものである。また、本ブロック合成処理を数値
制御装置のプログラム運転の最中に同時に行うか、もし
くは予めブロック合成処理を行ったプログラムによって
プログラム運転を行う。さらに、プログラム運転中に本
ブロック合成処理を行う場合、プログラム軌跡形状や、
設定されたトレランス許容値が大きい場合には、ブロッ
クを合成する処理が長時間続き、それによってプログラ
ム解析が中断してしまうことが考えられるため、合成す
るブロックの数には、上限値を設ける。
【0007】上記手段により、本発明では、中仕上げ加
工で仕上げ加工用プログラムを使用しても、許容される
トレランス範囲でプログラムブロックを合成して1ブロ
ックの移動指令ブロックとした後、通常のプログラムブ
ロック解析処理を行うため、プログラムブロック解析処
理部では、単位時間当たり解析するブロックが少なくな
るため、加工指令速度を大きくすることが可能となる。
また、前記プログラムブロックの合成処理は、数値制御
装置のプログラム運転中に実行する場合の他に、プログ
ラム運転を行う前に実行することができるので、市販の
パソコンを用いてブロック合成処理のみ行うことも可能
であり、本ブロック合成処理を持たない数値制御装置に
てブロック合成されたプログラムによるプログラム運転
を行うことも可能である。さらに、合成するブロックの
上限値を設けたので、ブロック合成処理が延々と続くこ
とを避けることができる。
【0008】
【発明の実施の形態】本発明においては、プログラム作
成装置で作られた仕上げ加工用プログラムを数値制御装
置内で荒加工、中仕上げ加工用に変換しながら加工す
る。荒加工、中仕上げ加工では精度よりも加工時間短縮
を重視するために許容精度が仕上げ加工よりも緩い。3
次元自由曲面で許容精度が緩いということは加工プログ
ラムの1ブロックの移動距離が長いということになり、
数値制御装置のブロック処理能力において送り速度を高
くできるため、加工時間が短くできるということにな
る。本発明では、加工前に数値制御装置に許容精度のデ
ータを入力することで、加工用プログラムのブロックを
許容精度範囲内で合成し、ブロック解析処理を行う。
【0009】このブロック合成手順を図6〜図8により
説明する。図7は仕上げ加工プログラムの一部を表して
おり、N1ブロック以下、連続する直線ブロックにて構
成されている。図6(a)は図7の加工プログラムに対
応したプログラム軌跡の一部を表しており、各ブロック
の起点、終点がA〜Fで表される。図8はブロック合成
フローであり、ブロック合成処理の流れを以下に説明す
る。現在位置を図6のA点とする。A点から次に移動し
ようとするブロックN1を読み込み、さらに次のブロッ
クN2を読み込み、A点からN2ブロックの終点Cまで
の合成ベクトルACを作成し、AC間のB点とベクトル
ACの距離であるトレランスを求める。トレランスが許
容値以下であれば、さらに次のブロックN3を読み込
み、ベクトルADを作成し、AD間のB点、C点のトレ
ランスを求める。ここでもトレランスが許容値であれば
さらに次のブロックを読み込み、前回と同様の処理を行
いながらトレランスを許容値と比較していく。求めたト
レランスが許容値を越えた場合、A点から今回読み込む
前のブロックの終点までのブロックを合成し、1ブロッ
クとする。たとえば図6(b)のように、ベクトルAD
とC点とのトレランスTrが許容値を越えた場合は、ベ
クトルACを1ブロックとする。その後は、今回合成さ
れたブロックの終点(図6(b)の場合C点)をA点と
し、A点以降のブロックをN1,N2,N3・・・とし
て、上述のブロック合成処理を繰り返す。以上のブロッ
ク合成処理を行うことで、1ブロックの移動距離が長く
なり、数値制御装置のブロック処理能力内で加工するこ
とができる。ブロック合成を行うか行わないかの判断
を、距離のトレランスで行うほかに、合成された移動量
のベクトルと合成する前のブロックのベクトルとのなす
角が許容値以下であるかどうかで行うこともできる。
【0010】
【実施例】以下、本発明の実施例を図に基づいて説明す
る。本発明のフローを図1に表す。図1は、本発明を用
いた数値制御装置のプログラム運転処理のフローを表
す。また、図2は、本発明の第1の実施例を表す。図1
では、プログラム運転を行う際は、プログラムを読み込
み、本発明のブロック合成処理を行った後、通常通りプ
ログラム解析を行い、直線や円弧などの補間を行いプロ
グラムブロックの移動量を分配周期ごとに各軸ヘ移動パ
ルスとして分配した後、各送り軸においてサーボ制御を
行っている。本方法では、ブロック合成処理はプログラ
ム運転を行いながら実行されることが特徴である。図2
では、一旦ブロック合成処理を行い、プログラムをメモ
リに保存した後、合成されたプログラムによるプログラ
ム運転を行う。本方法では、ブロック合成処理がプログ
ラム運転を行う前に予め実行されていることが特徴であ
る。
【0011】次に本発明のブロック合成処理について図
3、図4を用いて説明する。図中、nは合成されている
ブロックの数を表す。プログラム運転を開始すると、ま
ずプログラムを1ブロック読み込み(S1)、直線補間
移動指令のブロックであるか判別する(S2)。S2に
おいて直線補間移勤指令ブロックでない場合、n>0で
あれば(S3)、合成途中のブロックがあるので、それ
らの合成ベクトルを合成ブロックとして(S4)プログ
ラム解析処理部へ転送(S5)後、今回のブロックをプ
ログラム解析処理部へ転送し(S6)、n=0として
(S7)、次のブロックを読み込む(S1)。S3にお
いてn=0であれば、ブロック合成を行っていないの
で、今回のブロックをプログラム解析処理部へ転送し
(S6)、n=0とし、(S7)次のブロックを読み込
む(S1)。
【0012】S2において直線補間ブロックである場
合、n=0であれば(S8)、現在位置を起点とし今回
のブロックを初回の合成ベクトルとし(S9)、n=1
とし(S10)、次のブロックを読み込む(S1)。S
8においてn>0であれば、nを1増加し(S11)、
現在の方向べクトルに今回のブロックの方向ベクトルを
足し込む(S12)。このときnが設定された最大値に
等しければ(S13)、現在までの合成ベクトルを合成
ブロックとして(S14)、プログラム解析処理部へ転
送する(S5)。転送後n=0として(S7)、次のブ
ロックを読み込む(S1)。S13においてnが設定さ
れた最大値未満であれば、起点からの合成ベクトルと合
成前のブロックの軌跡とのトレランスを求める(S1
5)。トレランスが許容値以下であれば(S16)、次
のブロックを読み込む(S1)。S16においてトレラ
ンスが許容値より大きければ、前回(n−1回)の合成
ベクトルを合成ブロックとし(S17)、プログラム解
析処理部へ転送する(S5)。さらに合成ブロックの終
点を新たな起点とし(S18)、今回のブロックの方向
べクトルを初回の合成べクトルとし(S19)、n=1
として(S10)、次のブロックを読み込む(S1)。
このようにしてブロック合成処理は、実行される。
【0013】最後にトレランスを求める方法について図
5を用いて説明する。図5は、加工プログラムによって
点P0からP5までを5ブロックで分割している場合を
表している。ここで、点P0からP4までのブロックを
合成した場合を例にトレランスTrの求め方を説明す
る。この場合には、点P1、P2、P3におけるそれぞ
れのトレランスTr1、Tr2、Tr3の値を求め、そ
の中で最も大きなトレランスをこの場合のブロック合成
におけるトレランスTrとすればよい。
【0014】ここでは、点P2におけるトレランスTr
2の求め方を説明する。
【数1】 点P0、P2間の距離であるので、加工プログラムの座
標値から容易に求めることができる。
【0015】また、内積を用いると次の式4の関係が得
られる。
【数2】 式4の結果を式3に代入することによって、点P2にお
けるトレランスの値を求めることができる。
【0016】このようにして、点P2のトレランスTr
2と同様に点P1、P3におけるトレランスTr1、T
r3を求め、Tr1からTr3の中で最も大きなトレラ
ンスを合成ベクトル
【数3】 に対するトレランスとして用いる。合成するブロックの
数がさらに多い場合も図5の場合と同様にして求めるこ
とができる。
【0017】次に、本発明の第2の実施例について説明
する。第1実施例では、起点となる点以降のブロックの
移動量を合成した後、その合成された移動量のベクトル
と合成する前のブロックの軌跡とのトレランスの最大値
が予め設定された値以下か以上かで、合成するか否かの
判断を行っているが、第2実施例は、起点と次の点とを
結ぶベクトルを基準とし、そのベクトルに対する起点と
その次の点以降の点とを結ぶベクトルの角度を求め、そ
の角度が予め設定された角度以下か以上かで、合成する
か否かの判断を行うものである。図9はその例を示すも
のであり、基準となるベクトル
【数4】 に対して合成後のベクトル
【数5】 のなす角θ1が予め設定された角度よりも小さければ、
それ以降のベクトル
【数6】 についても同様の比較を行い、あらかじめ設定した角度
より大きくなる直前のブロックまでを合成するという処
理を行うものである。角度の求め方は、起点の座標(x
0,y0)と基準となる点の座標(xn,yn)から逆正接
(θn=tan-1((y0−yn)/(x0−xn))を求
め、同様に合成後のベクトルの座標から逆正接を求め
て、その差を判別の対象とする角度とすることができ
る。
【0018】
【発明の効果】以上述べたように、本発明によれば許容
されるトレランスの範囲内でプログラムブロックを合成
し、1ブロックの移動指令ブロックとしたので、数値制
御装置のプログラム解析処理部では、単位時間当たりに
解析するプログラムブロック数が減少し、プログラム解
析処理の効率化を図ることができ、比較的加工精度が低
い金型加工の中仕上げ加工等では、仕上げ加工用プログ
ラムを用いて許容トレランス以内で高速に加工を行うこ
とができる。また、本ブロック合成処理は、数値制御装
置のメモリ運転処理の中で実行する以外に、予め外部の
パソコンなどで実行することも可能であるため、本ブロ
ック合成処理を搭載していない数値制御装置において
も、本ブロック合成を行ったプログラムを用いて運転を
行えば、本ブロック合成処理を搭載した数値制御装置と
同等の効果を得ることができる。本ブロック合成処理で
は、合成するブロックの数に上限値を設けているので、
許容トレランスの設定値が大きい場合等にブロック合成
を延々と続ける結果、数値制御装置の処理が中断してし
まうことを防ぐことができる。さらに、3次元自由曲面
プログラム作成に際して、仕上げ加工用プログラムのみ
の作成ですむことにより、プログラム作成時間の短縮を
図ることができ、また、仕上げプログラムを用いた自動
解析、自動プログラム合成によって実行する1ブロック
の移動距離が長くなることから数値制御装置におけるブ
ロック処理能力の範囲内で処理でき、送り速度を上げて
加工できる。
【図面の簡単な説明】
【図1】 本発明の数値制御処理フローである。
【図2】 本発明の第1実施例の数値制御処理フローで
ある。
【図3】 本発明の第1実施例のブロック合成処理フロ
ーである。
【図4】 本発明の第1実施例のブロック合成処理フロ
ーである。
【図5】 本発明の第1実施例のトレランスを表す図で
ある。
【図6】 本発明の第1実施例のトレランスを表す図で
ある。
【図7】 本発明の第1実施例のトレランスを表す図で
ある。
【図8】 本発明の第1実施例のトレランスを表す図で
ある。
【図9】 本発明の第2実施例のトレランスを表す図で
ある。
【図10】 従来の数値制御処理フローである。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 2軸以上の駆動軸を有し、与えられた複
    数の移動ブロックからなるプログラムを分配周期当たり
    の線分で直線補間しながら移動する工作機械やロボット
    等の数値制御装置のブロックデータ処理方法において、 起点となる点以降のブロックの移動量を合成し、その合
    成された移動量のベクトルと合成する前のブロックの軌
    跡とのトレランスの最大値が予め設定された値以下であ
    れば、前記合成されたブロックを改めて1つのブロック
    と定義することを特徴とする数値制御装置のブロックデ
    ータ処理力法。
  2. 【請求項2】 2軸以上の駆動軸を有し、与えられた複
    数の移動ブロックからなるプログラムを分配周期当たり
    の線分で直線補間しながら移動する工作機械やロボット
    等の数値制御装置のブロックデータ処理方法において、 起点となる点以降のブロックの移動量を合成し、その合
    成された移動量のベクトルと合成する前のブロックのベ
    クトルとのなす角が予め設定された値以下であれば、前
    記合成されたブロックを改めて1つのブロックと定義す
    ることを特徴とする数値制御装置のブロックデータ処理
    力法。
  3. 【請求項3】 前記ブロックデータ処理は、数値制御装
    置がプログラム運転中のプログラム解析を行う前に実施
    することを特徴とする請求項1または2記載の数値制御
    装置のブロックデータ処理方法。
  4. 【請求項4】 前記ブロックデータ処理は、数値制御装
    置がプログラム運転を実行する前に実施され、プログラ
    ム運転の際には、合成されたブロックのプログラムにて
    運転を行うことを特徴とする請求項1または2記載の数
    値制御装置のブロックデータ処理方法。
  5. 【請求項5】 前記合成するブロックの数は、予め設定
    された値を上限とすることを特徴とする請求項1〜4の
    いずれかの項に記載の数値制御装置のブロックデータ処
    理方法。
JP10008496A 1996-04-22 1996-04-22 数値制御装置のブロックデータ処理方法 Pending JPH09288509A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10008496A JPH09288509A (ja) 1996-04-22 1996-04-22 数値制御装置のブロックデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10008496A JPH09288509A (ja) 1996-04-22 1996-04-22 数値制御装置のブロックデータ処理方法

Publications (1)

Publication Number Publication Date
JPH09288509A true JPH09288509A (ja) 1997-11-04

Family

ID=14264580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10008496A Pending JPH09288509A (ja) 1996-04-22 1996-04-22 数値制御装置のブロックデータ処理方法

Country Status (1)

Country Link
JP (1) JPH09288509A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341984A (ja) * 2003-05-19 2004-12-02 Toshiba Mach Co Ltd 数値制御装置及び数値制御方法
JP2013012167A (ja) * 2011-06-03 2013-01-17 Fanuc Ltd 加工プログラムの移動経路を修正する機能を備えた数値制御装置
JP2020109599A (ja) * 2019-01-07 2020-07-16 ファナック株式会社 数値制御装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004341984A (ja) * 2003-05-19 2004-12-02 Toshiba Mach Co Ltd 数値制御装置及び数値制御方法
JP2013012167A (ja) * 2011-06-03 2013-01-17 Fanuc Ltd 加工プログラムの移動経路を修正する機能を備えた数値制御装置
US8560112B2 (en) 2011-06-03 2013-10-15 Fanuc Corporation Numerical controller with function to correct movement path of machining program
DE102012010408B4 (de) * 2011-06-03 2015-01-22 Fanuc Corporation Numerische Steuervorrichtung mit einer Funktion zum Korrigieren des Bewegungswegs eines Maschinenprogramms
JP2020109599A (ja) * 2019-01-07 2020-07-16 ファナック株式会社 数値制御装置
DE102019009083A1 (de) 2019-01-07 2020-07-23 Fanuc Corporation Numerische Steuervorrichtung
US11036206B2 (en) 2019-01-07 2021-06-15 Fanuc Corporation Numerical controller

Similar Documents

Publication Publication Date Title
JPH08305430A (ja) 自由曲線補間方式
WO2008053601A1 (en) Working control device, and its program
CN1102890A (zh) 可对曲面轮廓直接插补的cnc系统
WO1988010171A1 (fr) Dispositif de commande d'acceleration/deceleration
JP2001255917A (ja) 数値制御装置
JP2790643B2 (ja) 数値制御装置
JPH09288509A (ja) 数値制御装置のブロックデータ処理方法
JPH0682293B2 (ja) 高速nc加工のドル−プによる経路誤差の発生を防止するnc加工方法と装置
JPH09198116A (ja) 数値制御装置のブロックデータ処理方法
JPH0751989A (ja) 自由曲面加工装置
Yeh Feed rate determination method for tool path interpolation considering piecewise-continued machining segments with cornering errors and kinematic constraints
JP3902353B2 (ja) 数値制御装置
JP2702559B2 (ja) 数値制御装置の補間方式
JPH0635096B2 (ja) Nc加工方法と装置
JP2669641B2 (ja) 非真円形工作物加工用数値制御装置
JP3065167B2 (ja) 数値制御用自動プログラミング装置
JPH05108134A (ja) 主軸の割出対応の座標変換方法
JPH0561516A (ja) 数値制御装置
JP3164512B2 (ja) 数値制御装置
JPH0561524A (ja) 数値制御装置
JPS63104110A (ja) 機械加工システム
JPS6168606A (ja) 数値制御装置
JPH01184506A (ja) 高精度パルス補間方法
KR960012908B1 (ko) 좌표변환을 이용한 컴퓨터 수치제어 공작기계
JPH07253810A (ja) 数値制御加工装置