JPH09288509A - Numerical control device block data processing method - Google Patents
Numerical control device block data processing methodInfo
- 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
Links
Landscapes
- Numerical Control (AREA)
Abstract
(57)【要約】
【課題】 荒加工、中仕上げ加工、仕上げ加工において
同一のプログラムを使用し、高性能プロセッサを内蔵し
ていなくても中仕上げ加工ではプログラム解析処理を高
速化する。
【解決手段】 2軸以上の駆動軸を有し、与えられた複
数の移動ブロックからなるプログラムを分配周期当たり
の線分で直線補間しながら移動する工作機械やロボット
等の数値制御装置のブロックデータ処理方法において、
起点となる点以降のブロックの移動量を合成し、その合
成された移動量のベクトルと合成する前のブロックの軌
跡とのトレランスの最大値または合成された移動量のベ
クトルと合成する前のブロックのベクトルとのなす角が
予め設定された値以下であれば、前記合成されたブロッ
クを改めて1つのブロックと定義する数値制御装置のブ
ロックデータ処理力法。
(57) 【Abstract】 PROBLEM TO BE SOLVED: To use the same program for roughing, semi-finishing, and finishing, and to speed up program analysis processing in semi-finishing even without incorporating a high-performance processor. Block data of a numerical control device such as a machine tool or robot that has two or more drive axes and moves while linearly interpolating a program consisting of a plurality of given moving blocks with line segments per distribution cycle In the processing method,
The maximum amount of tolerance between the moving amount of the block after the starting point and the vector of the combined moving amount and the trajectory of the block before combining or the block before combining with the vector of the combined moving amount A block data processing method for a numerical control device, wherein the combined block is redefined as one block if the angle formed with the vector of is less than or equal to a preset value.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、2軸以上の駆動軸
を有する工作機械やロボットの数値制御装置のプログラ
ムブロックデータの処理方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of processing program block data of a numerical control device for machine tools and robots having two or more drive axes.
【0002】[0002]
【従来の技術】金型加工では、曲面の加工を、微小直線
ブロックで構成されたプログラムを用いて行う。従来、
工作機械やロボットを制御する数値制御装置では、図1
0に表される様に、プログラムを読み込み、プログラム
解析を行い、直線や円弧などの補間を行いプログラムブ
ロックの移動量を分配周期ごとに各軸へ移動パルスとし
て分配した後、各送り軸においてサーボ制御を行つてい
る。ここで、実際の曲面と加工プログラムの形状の誤差
を小さくするためには、ブロックの長さを短くする必要
がある。2. Description of the Related Art In die processing, a curved surface is processed using a program composed of minute linear blocks. Conventionally,
Figure 1 shows a numerical control system for controlling machine tools and robots.
As shown in 0, the program is read, the program is analyzed, interpolation of straight lines and circular arcs is performed, and the movement amount of the program block is distributed as a movement pulse to each axis in every distribution cycle, and then the servo is performed on each feed axis. You are in control. Here, in order to reduce the error between the actual curved surface and the shape of the machining program, it is necessary to shorten the block length.
【0003】工作機械の金型加工の仕上げ加工に見られ
るように、特に精度が要求される場合には、移動ブロッ
クは微小長さになるが、移動ブロックが短くなると、単
位時間当たりに処理するブロックの数が多くなるためプ
ログラム解析処理部の負荷が大きくなっていた。このた
め、ブロック当たりの移動量の短い加工プログラムの場
合には、送り速度によってはプログラム解析処理が間に
合わないことがあり、送り速度を下げて単位時間当たり
に処理するブロック数を低下するか、高性能なプロセッ
サをブロック解析処理部に適用してプログラム解析処理
の高速化を図る必要があった。When precision is required, the moving block has a very small length, as seen in the finishing process of die machining of a machine tool, but when the moving block becomes short, the moving block is processed per unit time. Since the number of blocks was large, the load on the program analysis processing unit was large. For this reason, in the case of a machining program with a short movement amount per block, the program analysis process may not be in time depending on the feed rate, and the feed rate may be reduced to reduce the number of blocks processed per unit time, or It was necessary to apply a high-performance processor to the block analysis processing section to speed up program analysis processing.
【0004】[0004]
【発明が解決しようとする課題】ところが従来技術で
は、金型加工における仕上げ加工の直前の中仕上げ加工
のように、加工精度は仕上げ加工より低くてもいいが、
その代わり加工時間を短縮したい場合には、仕上げ加工
用のプログラムを用いるとプログラムブロックの分割が
細かいため前記理由により送り速度をあげることができ
ず、プログラムブロックの分割が荒い中仕上げ加工用プ
ログラムが必要であった。このため、中仕上げ加工に移
動指令ブロックの分割の荒いプログラム、仕上げ加工用
に移動指令ブロックの分割の細かいプログラムの2つの
プログラムが必要であるという問題があった。However, in the prior art, the machining accuracy may be lower than that of finishing, as in the case of intermediate finishing just before finishing in die working.
Instead, if you want to shorten the machining time, if you use a program for finishing machining, it is not possible to increase the feed rate because the program block division is fine and the program block division is rough. Was needed. For this reason, there is a problem that two programs, that is, a rough division program of the movement command block for the intermediate finishing and a fine division program of the movement instruction block for the finishing machining are required.
【0005】さらに、3次元自由曲面を加工する場合、
荒加工、中仕上げ加工、仕上げ加工と3つの加工プログ
ラムが必要であった。同一形状で3種類の加工プログラ
ムを作成することはプログラム作成装置に負担と時間が
かかっていた。仕上げ加工用プログラムにて荒加工、中
仕上げ加工を行うことも可能であるが、仕上げ加工プロ
グラムは加工精度を重視しているために1ブロックが微
小移動距離で構成されている。このため、数値制御装置
のブロック処理能力が追い付かない場合には加工時間が
長くなる。一般的に、荒加工、中仕上げ加工では加工精
度よりも加工時間が重視されるので、最適とは言えな
い。そこで、本発明は、荒加工(該当する場合)、中仕
上げ加工、仕上げ加工において同一のプログラムを使用
し、高性能プロセッサを内蔵していなくても中仕上げ加
工ではプログラム解析処理を高速化することを目的とす
る。Further, when processing a three-dimensional free curved surface,
Rough machining, semi-finishing, and finishing machining were required. Creating three types of machining programs with the same shape requires a heavy load and time on the program creation device. It is possible to perform roughing and semi-finishing with a finishing machining program, but since the finishing machining program attaches great importance to machining accuracy, one block is composed of a minute movement distance. For this reason, the processing time becomes long when the block processing capability of the numerical control device cannot keep up. Generally, in roughing and semi-finishing, the processing time is more important than the processing accuracy, so it cannot be said to be optimum. Therefore, the present invention uses the same program for rough machining (if applicable), semi-finishing, and finishing, and speeds up the program analysis processing for semi-finishing even without incorporating a high-performance processor. With the goal.
【0006】[0006]
【課題を解決するための手段】上記問題を解決するた
め、本発明は、数ブロックにまたがったプログラムブロ
ックの移動量を合成したベクトルと合成する前の軌跡と
のトレランス、またはその合成された移動量のベクトル
と合成する前のブロックのベクトルとのなす角が、設定
された許容値の範囲以内であれば、それらのブロックの
移動量を合成し、新たに1ブロックの移動ブロックと置
き換えるものである。また、本ブロック合成処理を数値
制御装置のプログラム運転の最中に同時に行うか、もし
くは予めブロック合成処理を行ったプログラムによって
プログラム運転を行う。さらに、プログラム運転中に本
ブロック合成処理を行う場合、プログラム軌跡形状や、
設定されたトレランス許容値が大きい場合には、ブロッ
クを合成する処理が長時間続き、それによってプログラ
ム解析が中断してしまうことが考えられるため、合成す
るブロックの数には、上限値を設ける。In order to solve the above problems, the present invention provides a tolerance between a vector obtained by combining movement amounts of program blocks over several blocks and a trajectory before combining, or the combined movement thereof. If the angle formed by the vector of the quantity and the vector of the block before combining is within the set allowable range, the moving amounts of those blocks are combined and a new moving block is replaced. is there. Further, this block synthesizing process is simultaneously performed during the program operation of the numerical control device, or the program operation is performed by a program which has been subjected to the block synthesizing process in advance. Furthermore, when performing this block composition processing during program operation, the program trajectory shape,
If the set tolerance tolerance is large, the process of synthesizing blocks may continue for a long time, which may interrupt the program analysis. Therefore, an upper limit is set for the number of blocks to be synthesized.
【0007】上記手段により、本発明では、中仕上げ加
工で仕上げ加工用プログラムを使用しても、許容される
トレランス範囲でプログラムブロックを合成して1ブロ
ックの移動指令ブロックとした後、通常のプログラムブ
ロック解析処理を行うため、プログラムブロック解析処
理部では、単位時間当たり解析するブロックが少なくな
るため、加工指令速度を大きくすることが可能となる。
また、前記プログラムブロックの合成処理は、数値制御
装置のプログラム運転中に実行する場合の他に、プログ
ラム運転を行う前に実行することができるので、市販の
パソコンを用いてブロック合成処理のみ行うことも可能
であり、本ブロック合成処理を持たない数値制御装置に
てブロック合成されたプログラムによるプログラム運転
を行うことも可能である。さらに、合成するブロックの
上限値を設けたので、ブロック合成処理が延々と続くこ
とを避けることができる。According to the present invention, according to the present invention, even if the finishing machining program is used in the intermediate finishing machining, the program blocks are combined into one movement command block within the allowable tolerance range, and then the ordinary program is executed. Since the block analysis processing is performed, the program block analysis processing unit reduces the number of blocks to be analyzed per unit time, so that the machining command speed can be increased.
In addition, the program block composition processing can be executed before the program operation of the numerical controller, as well as during the program operation of the numerical control device. Therefore, use only a commercially available personal computer to perform the block composition processing. It is also possible to perform the program operation by the block-synthesized program in the numerical controller which does not have the block synthesizing process. Further, since the upper limit value of the blocks to be combined is set, it is possible to prevent the block combining process from continuing indefinitely.
【0008】[0008]
【発明の実施の形態】本発明においては、プログラム作
成装置で作られた仕上げ加工用プログラムを数値制御装
置内で荒加工、中仕上げ加工用に変換しながら加工す
る。荒加工、中仕上げ加工では精度よりも加工時間短縮
を重視するために許容精度が仕上げ加工よりも緩い。3
次元自由曲面で許容精度が緩いということは加工プログ
ラムの1ブロックの移動距離が長いということになり、
数値制御装置のブロック処理能力において送り速度を高
くできるため、加工時間が短くできるということにな
る。本発明では、加工前に数値制御装置に許容精度のデ
ータを入力することで、加工用プログラムのブロックを
許容精度範囲内で合成し、ブロック解析処理を行う。BEST MODE FOR CARRYING OUT THE INVENTION In the present invention, a finishing machining program created by a program creating device is machined while being converted into rough machining and intermediate finishing machining in a numerical controller. In roughing and semi-finishing, the allowable accuracy is looser than that in finishing, because shortening the processing time is more important than accuracy. 3
The dimensional free-form surface and the tolerance being loose means that the movement distance of one block of the machining program is long,
Since the feed rate can be increased in the block processing capacity of the numerical control device, the processing time can be shortened. According to the present invention, the data of the allowable accuracy is input to the numerical control device before processing, so that the blocks of the processing program are combined within the allowable accuracy range and the block analysis processing is performed.
【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ブロックの移動距離が長く
なり、数値制御装置のブロック処理能力内で加工するこ
とができる。ブロック合成を行うか行わないかの判断
を、距離のトレランスで行うほかに、合成された移動量
のベクトルと合成する前のブロックのベクトルとのなす
角が許容値以下であるかどうかで行うこともできる。This block synthesizing procedure will be described with reference to FIGS. FIG. 7 shows a part of the finishing machining program, which is composed of continuous linear blocks starting from the N1 block. FIG. 6A shows a part of the program locus corresponding to the machining program of FIG. 7, and the starting point and the ending point of each block are represented by AF. FIG. 8 is a block synthesis flow, and the flow of block synthesis processing will be described below. The current position is set to point A in FIG. The block N1 to be moved next from the point A is read, the next block N2 is further read, a composite vector AC from the point A to the end point C of the block N2 is created, and the distance between the point B and the vector AC between ACs is created. Seeking some tolerance. If the tolerance is equal to or less than the allowable value, the next block N3 is further read, a vector AD is created, and the tolerances of the points B and C between AD are obtained. Here too, if the tolerance is the allowable value, the next block is further read, and the tolerance is compared with the allowable value while performing the same processing as the previous block. If the obtained tolerance exceeds the allowable value, the blocks from the point A to the end point of the block before this time reading are combined to make one block. For example, as shown in FIG. 6B, the vector AD
When the tolerance Tr between the point C and the point C exceeds the allowable value, the vector AC is defined as one block. After that, the end point of the block synthesized this time (point C in FIG. 6B) is set as point A, blocks after point A are set as N1, N2, N3, ... And the above block synthesizing process is repeated. By performing the above block synthesizing process, the moving distance of one block becomes long, and processing can be performed within the block processing capacity of the numerical control device. Whether to perform block composition or not is determined based on the distance tolerance, and whether the angle between the vector of the combined movement amount and the vector of the block before composition is less than the allowable value. You can also
【0010】[0010]
【実施例】以下、本発明の実施例を図に基づいて説明す
る。本発明のフローを図1に表す。図1は、本発明を用
いた数値制御装置のプログラム運転処理のフローを表
す。また、図2は、本発明の第1の実施例を表す。図1
では、プログラム運転を行う際は、プログラムを読み込
み、本発明のブロック合成処理を行った後、通常通りプ
ログラム解析を行い、直線や円弧などの補間を行いプロ
グラムブロックの移動量を分配周期ごとに各軸ヘ移動パ
ルスとして分配した後、各送り軸においてサーボ制御を
行っている。本方法では、ブロック合成処理はプログラ
ム運転を行いながら実行されることが特徴である。図2
では、一旦ブロック合成処理を行い、プログラムをメモ
リに保存した後、合成されたプログラムによるプログラ
ム運転を行う。本方法では、ブロック合成処理がプログ
ラム運転を行う前に予め実行されていることが特徴であ
る。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. The flow of the present invention is shown in FIG. FIG. 1 shows a flow of a program operation process of a numerical controller using the present invention. 2 shows a first embodiment of the present invention. FIG.
Then, when performing the program operation, after the program is read and the block composition processing of the present invention is performed, the program analysis is performed as usual, interpolation of straight lines and circular arcs is performed, and the movement amount of the program block is determined for each distribution cycle. Servo control is performed on each feed axis after the movement pulses are distributed to the axes. The feature of this method is that the block synthesis processing is executed while performing a program operation. FIG.
Then, once the block composition processing is performed, the program is stored in the memory, and then the program operation by the composed program is performed. This method is characterized in that the block synthesizing process is executed in advance before performing the program operation.
【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)。Next, the block synthesizing process of the present invention will be described with reference to FIGS. In the figure, n represents the number of blocks that are combined. When the program operation is started, first, one block of the program is read (S1), and it is determined whether the block is a linear interpolation movement command block (S2). If it is not a linear interpolation transfer command block in S2, and if n> 0 (S3), there are blocks in the middle of composition, so these composition vectors are transferred as composition blocks to the program analysis processing unit (S4) (S5). , The current block is transferred to the program analysis processing section (S6), n = 0 is set (S7), and the next block is read (S1). If n = 0 in S3, block composition has not been performed, so the current block is transferred to the program analysis processing unit (S6), n = 0 is set, and (S7) the next block is read (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)。
このようにしてブロック合成処理は、実行される。In the case of a linear interpolation block in S2, if n = 0 (S8), the current block is set as the starting point and the current block is set as the first combined vector (S9), and n = 1.
(S10), the next block is read (S1). S
If n> 0 in 8, increase n by 1 (S11),
The direction vector of this block is added to the current direction vector (S12). At this time, if n is equal to the set maximum value (S13), the combined vector up to the present is set as a combined block (S14) and transferred to the program analysis processing unit (S5). After the transfer, n = 0 is set (S7), and the next block is read (S1). If n is less than the set maximum value in S13, the tolerance between the combined vector from the starting point and the trajectory of the block before combining is obtained (S1).
5). If the tolerance is equal to or less than the allowable value (S16), the next block is read (S1). If the tolerance is greater than the allowable value in S16, the previous (n-1) combined vector is set as a combined block (S17) and transferred to the program analysis processing unit (S5). Further, the end point of the combined block is set as a new starting point (S18), the direction vector of this block is set as the first combined vector (S19), and n = 1.
(S10), the next block is read (S1).
In this way, the block synthesizing process is executed.
【0013】最後にトレランスを求める方法について図
5を用いて説明する。図5は、加工プログラムによって
点P0からP5までを5ブロックで分割している場合を
表している。ここで、点P0からP4までのブロックを
合成した場合を例にトレランスTrの求め方を説明す
る。この場合には、点P1、P2、P3におけるそれぞ
れのトレランスTr1、Tr2、Tr3の値を求め、そ
の中で最も大きなトレランスをこの場合のブロック合成
におけるトレランスTrとすればよい。Finally, a method of obtaining tolerance will be described with reference to FIG. FIG. 5 shows a case where points P0 to P5 are divided into 5 blocks by the machining program. Here, a method of obtaining the tolerance Tr will be described by taking as an example the case where the blocks from the points P0 to P4 are combined. In this case, the values of the respective tolerances Tr1, Tr2, Tr3 at the points P1, P2, P3 are obtained, and the largest tolerance among them can be used as the tolerance Tr in the block combination in this case.
【0014】ここでは、点P2におけるトレランスTr
2の求め方を説明する。Here, the tolerance Tr at the point P2
The method for obtaining 2 will be described.
【数1】 点P0、P2間の距離であるので、加工プログラムの座
標値から容易に求めることができる。[Equation 1] Since it is the distance between the points P0 and P2, it can be easily obtained from the coordinate values of the machining program.
【0015】また、内積を用いると次の式4の関係が得
られる。Further, when the inner product is used, the relation of the following expression 4 is obtained.
【数2】 式4の結果を式3に代入することによって、点P2にお
けるトレランスの値を求めることができる。[Equation 2] By substituting the result of Expression 4 into Expression 3, the tolerance value at the point P2 can be obtained.
【0016】このようにして、点P2のトレランスTr
2と同様に点P1、P3におけるトレランスTr1、T
r3を求め、Tr1からTr3の中で最も大きなトレラ
ンスを合成ベクトルIn this way, the tolerance Tr of the point P2
Similar to 2, the tolerances Tr1 and T at the points P1 and P3
r3 is found, and the largest tolerance among Tr1 to Tr3 is the combined vector
【数3】 に対するトレランスとして用いる。合成するブロックの
数がさらに多い場合も図5の場合と同様にして求めるこ
とができる。(Equation 3) Used as a tolerance against. Even when the number of blocks to be combined is larger, it can be obtained in the same manner as in the case of FIG.
【0017】次に、本発明の第2の実施例について説明
する。第1実施例では、起点となる点以降のブロックの
移動量を合成した後、その合成された移動量のベクトル
と合成する前のブロックの軌跡とのトレランスの最大値
が予め設定された値以下か以上かで、合成するか否かの
判断を行っているが、第2実施例は、起点と次の点とを
結ぶベクトルを基準とし、そのベクトルに対する起点と
その次の点以降の点とを結ぶベクトルの角度を求め、そ
の角度が予め設定された角度以下か以上かで、合成する
か否かの判断を行うものである。図9はその例を示すも
のであり、基準となるベクトルNext, a second embodiment of the present invention will be described. In the first embodiment, after the moving amount of the block after the starting point is combined, the maximum value of the tolerance between the vector of the combined moving amount and the trajectory of the block before the combining is less than or equal to a preset value. Whether or not to combine is determined based on the above, but in the second embodiment, the vector connecting the starting point and the next point is used as a reference, and the starting point for the vector and the points after the next point are set. The angle of the vector connecting the two is determined, and whether the combination is performed or not is determined if the angle is less than or equal to a preset angle. FIG. 9 shows an example of this, and the reference vector
【数4】 に対して合成後のベクトル(Equation 4) The synthesized vector for
【数5】 のなす角θ1が予め設定された角度よりも小さければ、
それ以降のベクトル(Equation 5) If the angle θ1 formed by is smaller than the preset angle,
Subsequent vector
【数6】 についても同様の比較を行い、あらかじめ設定した角度
より大きくなる直前のブロックまでを合成するという処
理を行うものである。角度の求め方は、起点の座標(x
0,y0)と基準となる点の座標(xn,yn)から逆正接
(θn=tan-1((y0−yn)/(x0−xn))を求
め、同様に合成後のベクトルの座標から逆正接を求め
て、その差を判別の対象とする角度とすることができ
る。(Equation 6) The same comparison is performed with respect to, and processing is performed to combine up to the block immediately before the angle becomes larger than a preset angle. The angle is calculated by the coordinates of the starting point (x
0 , y 0 ) and the coordinates (x n , y n ) of the reference point, the arc tangent (θ n = tan −1 ((y 0 −y n ) / (x 0 −x n )) In addition, the arctangent can be obtained from the coordinates of the combined vector, and the difference can be used as the angle to be determined.
【0018】[0018]
【発明の効果】以上述べたように、本発明によれば許容
されるトレランスの範囲内でプログラムブロックを合成
し、1ブロックの移動指令ブロックとしたので、数値制
御装置のプログラム解析処理部では、単位時間当たりに
解析するプログラムブロック数が減少し、プログラム解
析処理の効率化を図ることができ、比較的加工精度が低
い金型加工の中仕上げ加工等では、仕上げ加工用プログ
ラムを用いて許容トレランス以内で高速に加工を行うこ
とができる。また、本ブロック合成処理は、数値制御装
置のメモリ運転処理の中で実行する以外に、予め外部の
パソコンなどで実行することも可能であるため、本ブロ
ック合成処理を搭載していない数値制御装置において
も、本ブロック合成を行ったプログラムを用いて運転を
行えば、本ブロック合成処理を搭載した数値制御装置と
同等の効果を得ることができる。本ブロック合成処理で
は、合成するブロックの数に上限値を設けているので、
許容トレランスの設定値が大きい場合等にブロック合成
を延々と続ける結果、数値制御装置の処理が中断してし
まうことを防ぐことができる。さらに、3次元自由曲面
プログラム作成に際して、仕上げ加工用プログラムのみ
の作成ですむことにより、プログラム作成時間の短縮を
図ることができ、また、仕上げプログラムを用いた自動
解析、自動プログラム合成によって実行する1ブロック
の移動距離が長くなることから数値制御装置におけるブ
ロック処理能力の範囲内で処理でき、送り速度を上げて
加工できる。As described above, according to the present invention, the program blocks are combined within the allowable tolerance range to form one block of the movement command block. Therefore, in the program analysis processing section of the numerical controller, The number of program blocks to be analyzed per unit time can be reduced, and the efficiency of program analysis processing can be improved. High-speed processing can be performed within. Further, since this block composition processing can be executed in advance by an external personal computer or the like in addition to being executed in the memory operation processing of the numerical control apparatus, a numerical control apparatus not equipped with this block composition processing Also in this case, if the operation is performed using the program in which the main block composition is performed, it is possible to obtain the same effect as that of the numerical controller equipped with the main block composition processing. In this block synthesis processing, the upper limit is set for the number of blocks to be synthesized, so
It is possible to prevent the processing of the numerical control device from being interrupted as a result of continuing the block synthesis endlessly when the set value of the allowable tolerance is large. Furthermore, when creating a three-dimensional free-form surface program, it is possible to shorten the program creation time by creating only the finishing machining program. In addition, it is executed by automatic analysis and automatic program synthesis using the finishing program. Since the moving distance of the block becomes long, the processing can be performed within the range of the block processing capacity of the numerical control device, and the feed rate can be increased to perform the processing.
【図1】 本発明の数値制御処理フローである。FIG. 1 is a numerical control processing flow of the present invention.
【図2】 本発明の第1実施例の数値制御処理フローで
ある。FIG. 2 is a numerical control processing flow of the first embodiment of the present invention.
【図3】 本発明の第1実施例のブロック合成処理フロ
ーである。FIG. 3 is a block synthesis processing flow of the first embodiment of the present invention.
【図4】 本発明の第1実施例のブロック合成処理フロ
ーである。FIG. 4 is a block synthesis processing flow of the first embodiment of the present invention.
【図5】 本発明の第1実施例のトレランスを表す図で
ある。FIG. 5 is a diagram showing the tolerance of the first embodiment of the present invention.
【図6】 本発明の第1実施例のトレランスを表す図で
ある。FIG. 6 is a diagram showing the tolerance of the first embodiment of the present invention.
【図7】 本発明の第1実施例のトレランスを表す図で
ある。FIG. 7 is a diagram showing the tolerance of the first embodiment of the present invention.
【図8】 本発明の第1実施例のトレランスを表す図で
ある。FIG. 8 is a diagram showing the tolerance of the first embodiment of the present invention.
【図9】 本発明の第2実施例のトレランスを表す図で
ある。FIG. 9 is a diagram showing the tolerance of the second embodiment of the present invention.
【図10】 従来の数値制御処理フローである。FIG. 10 is a conventional numerical control processing flow.
Claims (5)
数の移動ブロックからなるプログラムを分配周期当たり
の線分で直線補間しながら移動する工作機械やロボット
等の数値制御装置のブロックデータ処理方法において、 起点となる点以降のブロックの移動量を合成し、その合
成された移動量のベクトルと合成する前のブロックの軌
跡とのトレランスの最大値が予め設定された値以下であ
れば、前記合成されたブロックを改めて1つのブロック
と定義することを特徴とする数値制御装置のブロックデ
ータ処理力法。1. A block of a numerical control device such as a machine tool or a robot having two or more drive axes and moving while linearly interpolating a program consisting of a plurality of given moving blocks with line segments per distribution cycle. In the data processing method, the moving amount of the block after the starting point is combined, and the maximum value of the tolerance between the vector of the combined moving amount and the trajectory of the block before combining is less than or equal to a preset value. For example, the block data processing method of a numerical controller characterized in that the synthesized block is defined once again as one block.
数の移動ブロックからなるプログラムを分配周期当たり
の線分で直線補間しながら移動する工作機械やロボット
等の数値制御装置のブロックデータ処理方法において、 起点となる点以降のブロックの移動量を合成し、その合
成された移動量のベクトルと合成する前のブロックのベ
クトルとのなす角が予め設定された値以下であれば、前
記合成されたブロックを改めて1つのブロックと定義す
ることを特徴とする数値制御装置のブロックデータ処理
力法。2. A block of a numerical control device such as a machine tool or a robot which has two or more drive axes and moves while linearly interpolating a program consisting of a plurality of given moving blocks with line segments per distribution cycle. In the data processing method, the moving amount of the block after the starting point is combined, and if the angle formed by the vector of the combined moving amount and the vector of the block before combining is less than or equal to a preset value, The block data processing method of a numerical controller characterized in that the synthesized block is defined once again as one block.
置がプログラム運転中のプログラム解析を行う前に実施
することを特徴とする請求項1または2記載の数値制御
装置のブロックデータ処理方法。3. The block data processing method for a numerical control device according to claim 1, wherein the block data processing is performed before the numerical control device performs a program analysis during a program operation.
置がプログラム運転を実行する前に実施され、プログラ
ム運転の際には、合成されたブロックのプログラムにて
運転を行うことを特徴とする請求項1または2記載の数
値制御装置のブロックデータ処理方法。4. The block data processing is performed before the numerical control device executes a program operation, and when the program operation is performed, the operation is performed by the program of the combined block. 3. A block data processing method for a numerical controller according to 1 or 2.
された値を上限とすることを特徴とする請求項1〜4の
いずれかの項に記載の数値制御装置のブロックデータ処
理方法。5. The block data processing method for a numerical controller according to claim 1, wherein the number of blocks to be combined has an upper limit of a preset value.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10008496A JPH09288509A (en) | 1996-04-22 | 1996-04-22 | Numerical control device block data processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10008496A JPH09288509A (en) | 1996-04-22 | 1996-04-22 | Numerical control device block data processing method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09288509A true JPH09288509A (en) | 1997-11-04 |
Family
ID=14264580
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10008496A Pending JPH09288509A (en) | 1996-04-22 | 1996-04-22 | Numerical control device block data processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09288509A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004341984A (en) * | 2003-05-19 | 2004-12-02 | Toshiba Mach Co Ltd | Numerical value control device and numerical value control method |
| JP2013012167A (en) * | 2011-06-03 | 2013-01-17 | Fanuc Ltd | Numerical controller with function for correcting movement path of processing program |
| JP2020109599A (en) * | 2019-01-07 | 2020-07-16 | ファナック株式会社 | Numerical control device |
-
1996
- 1996-04-22 JP JP10008496A patent/JPH09288509A/en active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004341984A (en) * | 2003-05-19 | 2004-12-02 | Toshiba Mach Co Ltd | Numerical value control device and numerical value control method |
| JP2013012167A (en) * | 2011-06-03 | 2013-01-17 | Fanuc Ltd | Numerical controller with function for correcting movement path of processing program |
| US8560112B2 (en) | 2011-06-03 | 2013-10-15 | Fanuc Corporation | Numerical controller with function to correct movement path of machining program |
| DE102012010408B4 (en) * | 2011-06-03 | 2015-01-22 | Fanuc Corporation | A numerical control device having a function of correcting the travel of a machine program |
| JP2020109599A (en) * | 2019-01-07 | 2020-07-16 | ファナック株式会社 | Numerical control device |
| DE102019009083A1 (en) | 2019-01-07 | 2020-07-23 | Fanuc Corporation | Numerical control device |
| US11036206B2 (en) | 2019-01-07 | 2021-06-15 | Fanuc Corporation | Numerical controller |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2634658B1 (en) | Tool path generation method and tool path generation device | |
| JPH08305430A (en) | Freely curved line interpolating system | |
| WO2008053601A1 (en) | Working control device, and its program | |
| CN1102890A (en) | CNC system of directly interpolation of curved surface profile | |
| WO1988010171A1 (en) | Acceleration/deceleration controller | |
| JP2001255917A (en) | Numerical control unit | |
| JP2790643B2 (en) | Numerical control unit | |
| JPH09288509A (en) | Numerical control device block data processing method | |
| JPH0682293B2 (en) | NC processing method and device for preventing occurrence of path error due to high speed NC processing loop | |
| JPH09198116A (en) | Numerical control device block data processing method | |
| JPH0751989A (en) | Free-form surface machining device | |
| Yeh | Feed rate determination method for tool path interpolation considering piecewise-continued machining segments with cornering errors and kinematic constraints | |
| JP3902353B2 (en) | Numerical controller | |
| JP2702559B2 (en) | Interpolation method of numerical controller | |
| JPH0635096B2 (en) | NC processing method and device | |
| JP3065167B2 (en) | Automatic programming device for numerical control | |
| JPH05108134A (en) | Coordinate conversion method for indexing the spindle | |
| JPH0561516A (en) | Numerical controller | |
| JP3164512B2 (en) | Numerical control unit | |
| JPH0561524A (en) | Numerical control device | |
| JPS63104110A (en) | Machining system | |
| JPS6168606A (en) | numerical control device | |
| JPH01184506A (en) | System for interpolating pulse with high accuracy | |
| KR960012908B1 (en) | Computerized numerical control apparatus | |
| JPH07253810A (en) | Numerical control processing unit |