JP5317532B2 - Numerical controller - Google Patents

Numerical controller Download PDF

Info

Publication number
JP5317532B2
JP5317532B2 JP2008135315A JP2008135315A JP5317532B2 JP 5317532 B2 JP5317532 B2 JP 5317532B2 JP 2008135315 A JP2008135315 A JP 2008135315A JP 2008135315 A JP2008135315 A JP 2008135315A JP 5317532 B2 JP5317532 B2 JP 5317532B2
Authority
JP
Japan
Prior art keywords
movement
time
acceleration
distance
block
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.)
Expired - Fee Related
Application number
JP2008135315A
Other languages
Japanese (ja)
Other versions
JP2009282829A (en
Inventor
剛志 津田
智典 佐藤
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008135315A priority Critical patent/JP5317532B2/en
Publication of JP2009282829A publication Critical patent/JP2009282829A/en
Application granted granted Critical
Publication of JP5317532B2 publication Critical patent/JP5317532B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Description

この発明は、NCプログラムに指令された複数の動作命令を順番に実行して移動体の動作を制御する数値制御装置に関するものであり、特に現在の動作から次の動作へ移行する際に、現在の動作の位置決めがその目標位置に対して所定の範囲に到達すれば、次の動作を開始するインポジションチェックの制御に関するものである。   The present invention relates to a numerical control apparatus for controlling the operation of a moving body by sequentially executing a plurality of operation commands instructed by an NC program, and in particular, when shifting from the current operation to the next operation, This is related to the in-position check control for starting the next operation when the positioning of the operation reaches a predetermined range with respect to the target position.

一般に数値制御装置(NC装置)では、読み込んだNCプログラムを1ブロック(行)ずつ順番に実行することによって、工作機械の一連のモーションを制御する。例えば、部品加工用の工作機械においては、工具交換のための工具交換位置への移動、工具交換、工具回転、加工開始位置への位置決め(アプローチ)、切削送り開始、所定の形状を加工、早戻し、工具回転停止、原点位置への復帰、といった一連の動作(モーション)をプログラムに指令し、それぞれの命令(コマンド)を順に実行することで、加工を行う。   In general, a numerical control device (NC device) controls a series of motions of a machine tool by sequentially executing the read NC program one block (row) at a time. For example, in a machine tool for machining parts, moving to a tool change position for tool change, tool change, tool rotation, positioning to a process start position (approach), start of cutting feed, machining a predetermined shape, Processing is performed by instructing the program to perform a series of operations (motion) such as returning, stopping the rotation of the tool, and returning to the original position, and sequentially executing each command.

例えば、図18に示したようなN1、N2の2つのブロックからなるプログラムに従って一連の動作を行う場合を考える。ここでN1、N2はブロック(行)毎に記述されたシーケンス番号である。1番目のブロックN1にはX100.への位置決め動作(G0)、2番目のブロックN2にはY100.への位置決め動作(G0)が命令されている。この一連の動作は、初期位置を原点とすると、XY平面上において図19に示す経路となる。ここで点PはN1のブロックに指令されている位置決め動作の終点である。   For example, consider a case where a series of operations are performed in accordance with a program composed of two blocks N1 and N2 as shown in FIG. Here, N1 and N2 are sequence numbers described for each block (row). In the first block N1, X100. Positioning operation (G0), the second block N2 has Y100. The positioning operation (G0) is commanded. This series of operations has a path shown in FIG. 19 on the XY plane, where the initial position is the origin. Here, the point P is the end point of the positioning operation commanded to the block N1.

ここで、点Pにおいては、例えば下記文献に開示されるように、N1のブロックの位置決めが、その目標位置に対して所定の要求精度(許容誤差=インポジション幅)の範囲に到達すれば、次のN2のブロックの移動を開始するといった制御が通常行われている(例えば、特許文献1参照)。   Here, at the point P, for example, as disclosed in the following document, if the positioning of the block N1 reaches a range of a predetermined required accuracy (allowable error = in-position width) with respect to the target position, Control such as starting the movement of the next N2 block is normally performed (see, for example, Patent Document 1).

この動作の速度波形を図20に示す。ここで、横軸tは時刻であり、Vx、VyはそれぞれX軸、Y軸方向の速度である。図において、N1の位置決め動作であるX軸方向への移動の終点Pまでの残距離が所定の要求精度(L1)の範囲内になった時点(時刻t1b)で、次のN2の位置決め動作であるY軸方向の移動を開始する。実際のN1の動作が完全に完了する(時刻t1)前に、次の動作を開始することで、サイクルタイム短縮を図り、かつそのときの運動誤差が図21に示すように、目標位置に対して要求精度(L1)の範囲内となるように制御を行う。   The speed waveform of this operation is shown in FIG. Here, the horizontal axis t is time, and Vx and Vy are speeds in the X-axis and Y-axis directions, respectively. In the figure, when the remaining distance to the end point P of the movement in the X-axis direction, which is the positioning operation of N1, falls within the predetermined required accuracy (L1) (time t1b), the next positioning operation of N2 A movement in a certain Y-axis direction is started. Before the actual operation of N1 is completely completed (time t1), the next operation is started to shorten the cycle time, and the motion error at that time is compared to the target position as shown in FIG. Thus, control is performed so as to be within the range of the required accuracy (L1).

特開平11−58177号公報Japanese Patent Laid-Open No. 11-58177

しかしながら、従来の技術においては、ある動作(動作1とする)から次の動作(動作2とする)へ移動する際に、動作1の残距離に基づいて、次の移動(動作2)の開始タイミングを決めているため、タイミング調整可能な範囲は限られ、多様な開始タイミングの制御ができなかった。特に、従来の技術では所定の精度を保ちながらサイクルタイムを十分に短縮するという制御ができなかった。   However, in the conventional technique, when moving from a certain operation (referred to as operation 1) to the next operation (referred to as operation 2), the next movement (operation 2) starts based on the remaining distance of operation 1. Since the timing is determined, the range in which the timing can be adjusted is limited, and various start timings cannot be controlled. In particular, the conventional technique cannot perform control to sufficiently shorten the cycle time while maintaining a predetermined accuracy.

本発明は、上記に鑑みてなされたものであって、現在の動作の残距離により次の動作の開始タイミングを決める従来方法では不可能であったより自由度の高い開始タイミングの制御方法を可能とし、目的に応じた多様な動作を可能とする数値制御装置を提供することを目的とし、特に、精度を保ちながらサイクルタイムをさらに短縮する数値制御装置を提供することを目的とする。   The present invention has been made in view of the above, and enables a start timing control method with a higher degree of freedom than is possible with the conventional method of determining the start timing of the next operation based on the remaining distance of the current operation. An object of the present invention is to provide a numerical control device that enables various operations according to the purpose, and in particular, to provide a numerical control device that further shortens the cycle time while maintaining accuracy.

上述した課題を解決し、目的を達成するために、本発明の数値制御装置は、プログラムに指令された複数の動作命令を順番に実行して移動体の動作を制御する数値制御装置において、プログラムに指令された動作命令を解析し解析データを生成する解析処理部と、解析データ、及び予め記憶された補間・加減速のパラメータに基づいて、次の動作の動作開始タイミングを求めるタイミング制御部と、解析データ、補間・加減速のパラメータ、及び動作開始タイミングに従い補間・加減速を行う位置指令を生成する補間・加減速部と、位置指令に追従するように駆動部をサーボ制御するサーボ制御部とを備え、タイミング制御部は、現在の動作が完了する時刻、或いは現在の動作の目標位置までの残距離が終点許容誤差に一致する時刻を算出し、次の動作が移動する距離が、前記算出された時刻において、許容誤差以下となるように、動作開始タイミングを求めることを特徴とする。   In order to solve the above-described problems and achieve the object, a numerical control device according to the present invention is a numerical control device that controls the operation of a moving body by sequentially executing a plurality of operation commands instructed by a program. An analysis processing unit that analyzes an operation command instructed to generate analysis data, a timing control unit that determines an operation start timing of the next operation based on the analysis data and pre-stored interpolation / acceleration / deceleration parameters; Interpolation / acceleration / deceleration unit that generates position command to perform interpolation / acceleration / deceleration according to analysis data, interpolation / acceleration / deceleration parameters, and operation start timing, and servo control unit that servo-controls drive unit to follow position command The timing controller calculates the time when the current operation is completed or the time when the remaining distance to the target position of the current operation matches the end point allowable error. Distance next operation moves found in the calculated time, so that the less tolerance and obtains the operation start timing.

本発明によれば、タイミング制御部は、現在の動作が完了する時刻、或いは現在の動作の目標位置までの残距離が終点許容誤差に一致する時刻を算出し、次の動作が移動する距離が、この時刻において、許容誤差以下となるように、動作開始タイミングを求めるので、現在の動作の残距離により次の動作の開始タイミングを決める従来方法では不可能であったより自由度の高い開始タイミングの制御方法を可能とし、目的に応じた多様な動作を可能とする。そして、次の動作の移動を考慮して、次の動作の移動における精度を許容誤差以下に制限することができ、プログラムに指令された次の動作の指令の種類(速度、移動距離、移動方向など)によらず、適切な範囲で精度を保つことができる。また、過剰に精度を出そうとした場合であっても、サイクルタイムが長くなることがない、という効果を奏する。   According to the present invention, the timing control unit calculates the time when the current operation is completed or the time when the remaining distance to the target position of the current operation matches the end point allowable error, and the distance that the next operation moves is calculated. At this time, the operation start timing is obtained so as to be less than the allowable error, so that the start timing with a higher degree of freedom than the conventional method of determining the start timing of the next operation based on the remaining distance of the current operation is not possible. It enables a control method and various operations according to the purpose. In consideration of the movement of the next movement, the accuracy of the movement of the next movement can be limited to an allowable error or less, and the type of the next movement command (speed, movement distance, movement direction) Etc.), the accuracy can be maintained within an appropriate range. Moreover, even if it is a case where it is going to give an excessive precision, there exists an effect that cycle time does not become long.

以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Embodiments of a numerical controller according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

実施の形態1.
図1は本発明の数値制御装置の実施の形態の数値制御装置の全体の構成を示す図である。図1において、数値制御装置100は、解析処理部102、補間・加減速部104、タイミング制御部105、及びサーボ制御部108を有している。解析処理部102は、NCプログラム(加工プログラム、モーションプログラム)101を読み込み、読み込んだNCプログラム101に記述された動作命令(位置決め、切削送りなど)を解析してブロック毎の解析データ103を生成する。解析データ103とは、各ブロックの命令を解釈した結果として得られる、ブロック毎の移動モード(位置決め、切削送り等の区別)、移動距離、移動方向、補間モード(直線、円弧、非補間等)、移動速度などの動作に関する情報である。NCプログラム101は、後述のタイミング制御部105において次の移動の情報を参照する必要がある場合には、必要な数のブロックだけ先読みされてバッファリングされる。
Embodiment 1 FIG.
FIG. 1 is a diagram showing the overall configuration of a numerical control apparatus according to an embodiment of the numerical control apparatus of the present invention. In FIG. 1, the numerical control apparatus 100 includes an analysis processing unit 102, an interpolation / acceleration / deceleration unit 104, a timing control unit 105, and a servo control unit 108. The analysis processing unit 102 reads an NC program (machining program, motion program) 101, analyzes an operation command (positioning, cutting feed, etc.) described in the read NC program 101, and generates analysis data 103 for each block. . The analysis data 103 is obtained as a result of interpreting the command of each block, movement mode for each block (distinguishing between positioning, cutting feed, etc.), movement distance, movement direction, interpolation mode (straight line, circular arc, non-interpolation, etc.) , Information about movement speed and other operations. When it is necessary for the timing control unit 105 described later to refer to the next movement information, the NC program 101 is prefetched and buffered by a necessary number of blocks.

補間・加減速部104は、生成された解析データ103及び予め記憶部に設定された補間・加減速パラメータ110に従って、補間・加減速を行い、位置指令107を出力する。またタイミング制御部105は、解析データ103、補間・加減速パラメータ110、位置指令107、及び実位置109に従って、各ブロックの動作を開始する動作開始タイミング(時刻)106を決定し、前述の補間・加減速部104に送る。補間・加減速部104は、動作開始タイミング106に従って、次の動作を開始するタイミング(時刻)で、次の動作の補間・加減速を開始し、位置指令107を生成する。   The interpolation / acceleration / deceleration unit 104 performs interpolation / acceleration / deceleration in accordance with the generated analysis data 103 and the interpolation / acceleration / deceleration parameter 110 set in the storage unit in advance, and outputs a position command 107. In addition, the timing control unit 105 determines an operation start timing (time) 106 for starting the operation of each block according to the analysis data 103, the interpolation / acceleration / deceleration parameter 110, the position command 107, and the actual position 109. This is sent to the acceleration / deceleration unit 104. The interpolation / acceleration / deceleration unit 104 starts interpolation / acceleration / deceleration of the next operation at the timing (time) when the next operation is started in accordance with the operation start timing 106 and generates a position command 107.

サーボ制御部108は、生成された位置指令107に追従するようにサーボ制御を行い、図示しないアクチュエータ(駆動部)を駆動して図示しない機械を動作させることにより、NCプログラム101に記述された目的の動作を実行する。サーボ制御部108は、機械の備える軸数分だけ設けられており、各軸の実位置(位置検出値)109が図示しない位置検出器によって検出されて、サーボ制御部108内で行われるフィードバック制御に使用されるとともに、タイミング制御部105に送られる。   The servo control unit 108 performs servo control so as to follow the generated position command 107, drives an actuator (drive unit) (not shown), and operates a machine (not shown), thereby Execute the operation. The servo control units 108 are provided as many as the number of axes provided in the machine, and the actual position (position detection value) 109 of each axis is detected by a position detector (not shown), and feedback control performed in the servo control unit 108 is performed. And is sent to the timing control unit 105.

次ぎに、タイミング制御部105の動作を図2に沿って説明する。図2はタイミング制御部105の動作を説明するためのフローチャートである。図3は図2のフローチャートの手順により、次の移動の開始タイミングを制御した場合の速度波形を示す波形図である。また、図4はその場合の軌跡を示すXYグラフである。ここでは、前述した図18の動作を例として説明する。数値制御装置100は、現在、図18のブロックN1を実行中であるとする。図2において、タイミング制御部105は、まず、ステップST11において、現在のブロックN1の完了時刻t1を、解析データ103及びパラメータ110を用いて計算する。すなわち、図3において現在のブロックの解析データ103(移動距離、移動方向、移動速度)及びパラメータ110(三角波、台形、S字などの加減速パターンの種類(形)、加減速時定数、加速度、最高速度、補間モードなど)に従って公知の方法を用いて速度波形Vx(t)を決定する。   Next, the operation of the timing control unit 105 will be described with reference to FIG. FIG. 2 is a flowchart for explaining the operation of the timing control unit 105. FIG. 3 is a waveform diagram showing a velocity waveform when the start timing of the next movement is controlled by the procedure of the flowchart of FIG. FIG. 4 is an XY graph showing the locus in that case. Here, the operation of FIG. 18 described above will be described as an example. Assume that the numerical controller 100 is currently executing the block N1 in FIG. In FIG. 2, the timing control unit 105 first calculates the completion time t1 of the current block N1 using the analysis data 103 and the parameter 110 in step ST11. That is, in FIG. 3, the analysis data 103 (moving distance, moving direction, moving speed) of the current block and parameter 110 (acceleration / deceleration pattern type (shape) such as triangular wave, trapezoid, S-shape, acceleration / deceleration time constant, acceleration, The velocity waveform Vx (t) is determined using a known method according to the maximum velocity, the interpolation mode, and the like.

例えば、台形加減速の場合には、移動距離を指令速度で除した時間だけ指令速度で速度一定となるステップ状の指令速度波形に対し、予め決められた加減速時定数の移動平均フィルタをかけることにより決定される。このとき移動距離を指令速度で除した時間が加減速時定数より短い場合には、加減速時定数を移動距離を指令速度で除した時間に一致させることで、三角波状の速度波形が決定される。また同様にS字加減速の場合には、前述のステップ状の指令速度波形に対し、二段の移動平均フィルタをかけることにより決定される。いずれの場合にも各軸の許容される最高速度を超える場合には、各軸の速度の絶対値がそれぞれの軸の最高速度以下となるように、指令速度を制限される。   For example, in the case of trapezoidal acceleration / deceleration, a moving average filter with a predetermined acceleration / deceleration time constant is applied to a stepped command speed waveform that keeps the speed constant at the command speed for the time divided by the command speed. Is determined by At this time, if the time obtained by dividing the travel distance by the command speed is shorter than the acceleration / deceleration time constant, the triangular wave speed waveform is determined by matching the acceleration / deceleration time constant to the time obtained by dividing the travel distance by the command speed. The Similarly, in the case of S-curve acceleration / deceleration, it is determined by applying a two-stage moving average filter to the above-described stepped command speed waveform. In any case, when the maximum allowable speed of each axis is exceeded, the command speed is limited so that the absolute value of the speed of each axis is not more than the maximum speed of each axis.

加減速パターンが決定すると、これにより移動完了する時刻も一意に定まる。例えば、台形加減速の場合には、加減速時定数と、移動距離を指令速度で除した時間との和が移動時間となる。移動完了時刻t1は移動開始時刻に移動時間を加算した時刻となる。同様にS字加減速の場合には、各段の加減速時定数の和と、移動距離を指令速度で除した時間との和が移動時間となる。一般には、任意の速度波形Vx(t)が与えられたとして、移動開始時刻より後で速度Vx(t)が0または、速度の絶対値が所定の微小な速度基準値以下となる値を解析的または数値的に求め、これを移動完了時刻t1とすればよい。   When the acceleration / deceleration pattern is determined, the movement completion time is also uniquely determined. For example, in the case of trapezoidal acceleration / deceleration, the sum of the acceleration / deceleration time constant and the time obtained by dividing the movement distance by the command speed is the movement time. The movement completion time t1 is a time obtained by adding the movement time to the movement start time. Similarly, in the case of S-curve acceleration / deceleration, the sum of the acceleration / deceleration time constant of each stage and the time obtained by dividing the movement distance by the command speed is the movement time. In general, assuming that an arbitrary velocity waveform Vx (t) is given, an analysis is made of a value where the velocity Vx (t) is 0 or the absolute value of the velocity is equal to or less than a predetermined minute velocity reference value after the movement start time. It may be obtained manually or numerically, and this may be set as the movement completion time t1.

次に、ステップST12においては、次のブロック(N2)にて、そのブロックの移動開始から許容誤差(次の移動が先行して移動可能な最大移動距離=始点許容誤差=許容移動距離)L2maxだけ進むまでの時間Δt2を求める(予測する)。Δt2を求めるためには、まず前述したブロックN1の速度波形を求めた方法と同様に、ブロックN2における速度波形Vy(t)を決定する。またブロックN2の移動開始時刻t2からの距離(Vy(t)の積分値)がL2maxに一致するまでの時刻Δt2を求める。例えば台形加減速で、加速中にL2maxだけ進む場合には、台形加減速の加速度(=指令速度/加減速時定数)をAとすれば、加速中の速度は
Vy(t)=A×(t−t1)
となるので、それを積分すると
Y(t)=(1/2)×A×(t−t1)×(t−t1)
を得る。従って、速度波形の積分値が許容誤差L2maxに一致する条件は次式となる。 L2max=(1/2)×A×Δt2×Δt2
すなわち上式を満たすΔt2を求めればよい。
Δt2=√(2×L2max/A)
その他の速度波形の場合も同様に、速度波形の積分値が許容誤差L2maxに一致するような時刻を解析的または数値的に解けばよい。すなわちVy(t)を積分した関数をY(t)とすると、位置Y(t)が、L2maxに一致するような時刻tを解析的または数値計算によって求める。
Next, in step ST12, in the next block (N2), an allowable error from the start of movement of the block (maximum moving distance that can be moved in advance of the next movement = starting point allowable error = allowable moving distance) is L2max. A time Δt2 until the travel is obtained (predicted). In order to obtain Δt2, first, the velocity waveform Vy (t) in the block N2 is determined in the same manner as the method for obtaining the velocity waveform of the block N1 described above. Further, a time Δt2 until the distance (integrated value of Vy (t)) from the movement start time t2 of the block N2 coincides with L2max is obtained. For example, if the trapezoidal acceleration / deceleration is advanced by L2max during acceleration, if the acceleration of the trapezoidal acceleration / deceleration (= command speed / acceleration / deceleration time constant) is A, the acceleration speed is Vy (t) = A × ( t-t1)
Therefore, when it is integrated, Y (t) = (1/2) × A × (t−t1) × (t−t1)
Get. Accordingly, the condition that the integrated value of the velocity waveform matches the allowable error L2max is as follows. L2max = (1/2) × A × Δt2 × Δt2
That is, Δt2 that satisfies the above equation may be obtained.
Δt2 = √ (2 × L2max / A)
Similarly, in the case of other velocity waveforms, the time at which the integrated value of the velocity waveform matches the allowable error L2max may be solved analytically or numerically. That is, assuming that a function obtained by integrating Vy (t) is Y (t), a time t at which the position Y (t) matches L2max is obtained by analytical or numerical calculation.

次いで、ステップST13においては、ステップST11、ステップST12の結果を用いて、次のブロック(N2)の移動の開始時刻t2を計算する。開始時刻t2は、現在の移動完了時刻t1から、前述のΔt2を減算した時刻とする。これは、現在のブロックの移動完了を待たずに先行して次のブロックを移動し始め、現在のブロックが移動完了する時点では次のブロックの移動は許容誤差L2maxだけ進んでいることを意味する。   Next, in step ST13, the movement start time t2 of the next block (N2) is calculated using the results of steps ST11 and ST12. The start time t2 is a time obtained by subtracting the above-described Δt2 from the current movement completion time t1. This means that the next block starts to move in advance without waiting for the completion of the movement of the current block, and the movement of the next block has advanced by an allowable error L2max when the movement of the current block is completed. .

さらに、ステップST14においては、ステップST13で求めた時刻t2以降であり、かつ現在のブロックの目標位置までの残距離が許容誤差(現在の移動の最大残距離=終点許容誤差=許容残距離)L1max以下であれば、次のブロック(N1)の移動を開始する。ここで、残距離は位置指令107または実位置109と目標位置(終点)までの距離とする。すなわち、下記2条件をともに満たす場合にはじめて次のブロックの移動を開始する。   Further, in step ST14, the remaining distance to the target position of the current block after time t2 obtained in step ST13 is an allowable error (maximum remaining distance of current movement = end point allowable error = allowable remaining distance) L1max. If it is below, the movement of the next block (N1) is started. Here, the remaining distance is a distance between the position command 107 or the actual position 109 and the target position (end point). That is, the movement of the next block is started only when both of the following two conditions are satisfied.

i)現在の移動の残距離が許容誤差以下
ii)次の移動が現在の移動完了を待たずに先行して移動する距離が許容誤差以下、或いは、言い換えると、
・現在の移動の残距離が許容誤差となる時刻(t1b)
・現在の移動の完了時点で次の移動が許容誤差だけ先行して移動するために次の移動が開始する時刻(t2)
のうち遅い方の時刻を選んでいるとも言える。
i) The remaining distance of the current movement is less than the allowable error ii) The distance that the next movement moves before waiting for the completion of the current movement is less than the allowable error, or in other words,
-Time when the remaining distance of the current movement becomes an allowable error (t1b)
The time (t2) when the next movement starts because the next movement moves ahead by an allowable error when the current movement is completed
It can be said that the later time is selected.

図3は、上記ステップST11からステップST14の手順により、次の移動の開始タイミングを制御した場合の速度波形を示している。図3の例では、t1bとt2ではt2の方が時刻が遅いので、次の移動の開始タイミングは、上記ii)の条件が支配している。ここで、図4の軌跡を見ると、確かに軌跡がN2に接する(軌跡がプログラムに指令した経路(この場合は直線)上に来る)のは、プログラムに指令した現在の移動N1の終点(=次の移動N2の始点=点P)からN2の移動方向に距離L2maxだけ離れた地点となっている。また軌跡がN1から離れる地点と点Pとの距離はL1max以下となっている。すなわちステップST14で条件i)、ii)の両方の条件が満たされるように、次のブロック(N2)の移動を開始することにより、N1とN2の継ぎ目(交点)P付近の軌跡誤差が、N1方向、N2方向ともに許容誤差以下に制御されることがわかる。   FIG. 3 shows a velocity waveform when the start timing of the next movement is controlled by the procedure from step ST11 to step ST14. In the example of FIG. 3, since the time at t2 is later at t1b and t2, the condition of the above ii) dominates the start timing of the next movement. Here, when viewing the trajectory of FIG. 4, it is certain that the trajectory is in contact with N2 (the trajectory is on the path commanded to the program (in this case, a straight line)) that the end point of the current movement N1 commanded to the program ( = Start point of the next movement N2 = point P) is a point separated by a distance L2max in the movement direction of N2. Further, the distance between the point where the locus is away from N1 and the point P is L1max or less. That is, by starting the movement of the next block (N2) so that both the conditions i) and ii) are satisfied in step ST14, the trajectory error near the joint (intersection) P between N1 and N2 becomes N1. It can be seen that both the direction and the N2 direction are controlled to be within an allowable error.

なお、従来の方法(現在の動作の残距離が許容誤差以下となった場合に次の動作を開始する方法)による速度波形を図22、軌跡を図24に示す。従来の方法では、次の移動を開始してから(時刻t2)、現在の移動が完了するまで(時刻t1)の間に、図のVyの網掛けの面積(L2)だけ移動するが、この移動距離L2は次の移動の速度波形に依存し、例えば図23のように次の移動の速度が高いと、L2は大きくなる。すなわち、図24に示す軌跡において、軌跡がN2に接する地点と、N2の始点までの距離を、一定に保つことはできず、指令速度、移動距離、移動方向が変わることによって、速度波形が変化する。これはすなわち、プログラムに指令された次の指令によって、次の指令の始点付近の軌跡精度が不十分でなかったり、ばらついたり、或いは逆に過度に精度を出そうとしてサイクルタイムが長くなるという問題があった。   FIG. 22 shows a velocity waveform according to the conventional method (a method of starting the next operation when the remaining distance of the current operation is equal to or smaller than an allowable error), and FIG. 24 shows a locus thereof. In the conventional method, after the next movement is started (time t2) and until the current movement is completed (time t1), the movement is performed by the shaded area (L2) of Vy in the figure. The movement distance L2 depends on the speed waveform of the next movement. For example, when the speed of the next movement is high as shown in FIG. 23, L2 increases. That is, in the trajectory shown in FIG. 24, the distance from the point where the trajectory touches N2 and the start point of N2 cannot be kept constant, and the speed waveform changes as the command speed, travel distance, and travel direction change. To do. This means that the next command given to the program may cause insufficient accuracy of the trajectory near the start point of the next command, variation, or conversely, the cycle time may become longer due to excessive accuracy. was there.

これに対し、本実施の形態によれば、次の移動を考慮して、次の移動における精度を許容誤差以下に制限することができ、プログラムに指令された次の指令の種類(速度、移動距離、移動方向など)によらず、必要な範囲で精度を保つことができ、また過剰に精度を出そうとしてサイクルタイムが長くなることがない。サイクルタイムが短縮できることにより、加工物1個あたりのエネルギー消費も減らせるという効果もある。   On the other hand, according to the present embodiment, in consideration of the next movement, the accuracy in the next movement can be limited to an allowable error or less, and the type of the next instruction (speed, movement) Regardless of distance, direction of movement, etc., the accuracy can be maintained within a necessary range, and the cycle time does not become long in an attempt to obtain an excessive accuracy. Since the cycle time can be shortened, there is an effect that energy consumption per workpiece can be reduced.

また、量産前の試し運転の際には、プログラムにN1、N2の順に指令されている場合に、通常はN1からN2へ移動(順方向の動作)させるが、場合によっては同じ経路を逆にたどって戻る動作(すなわちN2からN1に戻る場合)(逆方向の動作)を行いながら、機械干渉の有無や位置決め精度の確認を行う場合がある。このような場合においては、従来の技術では、順方向の動作と逆方向の動作で軌跡が同じとならず、そのために確認作業が不正確となり、確認の判断に誤りが生じたり、プログラムの先頭に戻って頭から順方向の動作確認をやり直したりしなければならず時間がかかるという問題があった。   Also, during trial operation before mass production, if the program is commanded in the order of N1, N2, it is normally moved from N1 to N2 (forward operation), but in some cases the same route is reversed. There may be a case where the presence / absence of mechanical interference and the positioning accuracy are checked while performing a return operation (ie, returning from N2 to N1) (operation in the reverse direction). In such a case, with the conventional technique, the trajectory is not the same between the forward motion and the backward motion, so that the confirmation work becomes inaccurate, an error occurs in the confirmation judgment, or the beginning of the program There is a problem that it takes time to go back to the head and re-check the operation in the forward direction from the head.

本実施の形態によれば、継ぎ目(交点)P付近の軌跡誤差が、Pから見て通常は戻る方向(N1方向)と進む方向(N2方向)の両方において、所定の精度範囲内に制御するため、順方向の動作、逆方向の動作の軌跡はほぼ同じとなり(ともに所定の精度範囲内)、動作方向によらず安定して正確に確認作業が行え、いちいちプログラムの先頭に戻らなくても機械干渉の有無や精度の確認が短時間に行えるというメリットがある。   According to the present embodiment, the trajectory error in the vicinity of the joint (intersection) P is controlled within a predetermined accuracy range in both the return direction (N1 direction) and the forward direction (N2 direction) as viewed from P. Therefore, the trajectory of the forward motion and the backward motion are almost the same (both are within the specified accuracy range), and the confirmation work can be performed stably and accurately regardless of the motion direction, without having to return to the top of the program one by one. There is an advantage that the presence / absence of machine interference and accuracy can be confirmed in a short time.

なお、ステップST14では現在のブロックの目標位置までの残距離が許容誤差L1max以下かどうかを判定したが、残距離は位置指令107と目標位置との差から判断すればよい。   In step ST14, it is determined whether or not the remaining distance to the target position of the current block is equal to or smaller than the allowable error L1max. However, the remaining distance may be determined from the difference between the position command 107 and the target position.

また、上述した許容誤差L1maxやL2maxはブロック毎にプログラムにて指定してもよく、例えばアドレスEにてE1.0(許容誤差=1.0mm)のように指令してもよいし、また軸毎のパラメータとして予め決めておき、各ブロックの移動方向に応じて選択してもよい。或いは1つの移動ブロックで複数軸が移動する場合には、移動がある軸に相当するパラメータの中で最小の値を用いてもよい。   Further, the above-described allowable errors L1max and L2max may be specified by a program for each block, for example, may be commanded as E1.0 (allowable error = 1.0 mm) at the address E, and the axis Each parameter may be determined in advance and selected according to the moving direction of each block. Alternatively, when a plurality of axes move with one moving block, the smallest value among the parameters corresponding to the moving axis may be used.

実施の形態2.
実施の形態1では現在のブロック及び次のブロックの両方の精度を考慮して、次のブロックを開始するタイミングを決定した。本実施の形態では、同様に両方の精度を考慮しつつも、さらにサイクルタイムを短縮するための方法について述べる。
Embodiment 2. FIG.
In the first embodiment, the timing for starting the next block is determined in consideration of the accuracy of both the current block and the next block. In the present embodiment, a method for further shortening the cycle time will be described while considering both the accuracy in the same manner.

図5は本実施の形態における動作を説明するためのフローチャートである。図5において、ステップST21の動作は図2のステップST11の動作と同じであり、ステップST22の動作は図2のステップST12の動作と同じであるため、この2つのステップについては説明を省略する。以下、前述した図18の例を用いて説明する。   FIG. 5 is a flowchart for explaining the operation in the present embodiment. In FIG. 5, the operation of step ST21 is the same as the operation of step ST11 of FIG. 2, and the operation of step ST22 is the same as the operation of step ST12 of FIG. 2, so description of these two steps will be omitted. Hereinafter, a description will be given using the example of FIG.

ステップST23においては、現在のブロック(N1)にて、目標位置(終点)までの残距離がL1maxとなってから移動完了するまでの時間Δt1を計算する(予測する)。Δt1を求めるためには、まずブロックN1において、実施の形態1にて述べた方法により、速度波形Vx(t)と移動完了時刻t1を求める。次にブロックN1の移動開始完了時刻t1までの距離(時刻tからt1までのVx(t)の積分値)がL1maxに一致する時刻t=Δt2を求める。例えば台形加減速で、減速中にL1maxだけ進む場合には、台形加減速の加速度(=速度/加減速時定数)をAとすれば、減速中の速度は、
Vx(t)=A×(t1−t)
となるので、それを積分すると
X(t)=(1/2)×A×(t1−t)×(t1−t)
を得る。従って、速度波形の積分値が許容誤差L1maxに一致する条件は次式となる。 L1max=(1/2)×A×Δt1×Δt1
すなわち上式を満たすΔt1を求めればよい。
Δt1=√(2×L1max/A)
その他の速度波形の場合も同様に、速度波形Vx(t)の積分値であるX軸の位置X(t)が許容誤差L1maxに一致するような時刻を解析的または数値的に解けばよい。
In step ST23, in the current block (N1), a time Δt1 until the movement is completed after the remaining distance to the target position (end point) becomes L1max is calculated (predicted). In order to obtain Δt1, first, in block N1, the velocity waveform Vx (t) and the movement completion time t1 are obtained by the method described in the first embodiment. Next, a time t = Δt2 at which the distance from the movement start completion time t1 of the block N1 (the integrated value of Vx (t) from time t to t1) matches L1max is obtained. For example, when trapezoidal acceleration / deceleration is performed by L1max during deceleration, if the acceleration of trapezoidal acceleration / deceleration (= speed / acceleration / deceleration time constant) is A, the speed during deceleration is
Vx (t) = A * (t1-t)
Therefore, when it is integrated, X (t) = (1/2) × A × (t1−t) × (t1−t)
Get. Accordingly, the condition that the integrated value of the velocity waveform matches the allowable error L1max is as follows. L1max = (1/2) × A × Δt1 × Δt1
That is, Δt1 that satisfies the above equation may be obtained.
Δt1 = √ (2 × L1max / A)
Similarly, in the case of other velocity waveforms, the time at which the X-axis position X (t), which is the integrated value of the velocity waveform Vx (t), coincides with the allowable error L1max may be solved analytically or numerically.

次にステップST24においては、次ブロック(N2)の開始時刻t2は、現在のブロック(N1)の完了時刻t1から、ステップST22で求めた次のブロックが先行して動き始める時間Δt2と、現在のブロックが早めに移動完了とみなす時間Δt1の和を差し引いた時間として求める。すなわち、
t2=t1−Δt1−Δt2
Next, in step ST24, the start time t2 of the next block (N2) is the time Δt2 at which the next block obtained in step ST22 starts moving from the completion time t1 of the current block (N1) and the current block (N1). The time is calculated as a time obtained by subtracting the sum of the time Δt1 that the block considers to be moved early. That is,
t2 = t1−Δt1−Δt2

さらにステップST25では、この時刻t2において次ブロックの移動を開始する。本手順に従って制御を行った場合の速度波形を図6に、また軌跡を図7に示す。図6の例では、本来の現在のブロックの完了時刻t1に対して、Δt1とΔt2だけ早い時刻であるt2において次の移動を開始している。またt2からΔt2だけ進んだ時点t2aでは、Y軸方向に進んだ距離がL2max、X軸方向の残距離がL1maxに一致する。これを図7の軌跡で見ると、プログラムに指令したN1の終点Pに対して、N1方向にL1maxだけ戻り、かつN2方向にL2maxだけ進んだ点Qを通過するように軌跡が制御されることがわかる。すなわちN1とN2の継ぎ目(交点)付近の軌跡誤差が、交点付近の1点(点Q)において、N1方向、N2方向の両方がそれぞれの許容誤差に一致するように制御されることがわかる。   Further, in step ST25, the movement of the next block is started at time t2. FIG. 6 shows the velocity waveform and FIG. 7 shows the trajectory when control is performed according to this procedure. In the example of FIG. 6, the next movement is started at t2, which is a time earlier by Δt1 and Δt2 than the completion time t1 of the original current block. Further, at a time point t2a advanced by Δt2 from t2, the distance advanced in the Y-axis direction matches L2max and the remaining distance in the X-axis direction matches L1max. When this is seen in the locus of FIG. 7, the locus is controlled so as to pass through a point Q that is returned by L1max in the N1 direction and advanced by L2max in the N2 direction with respect to the end point P of N1 commanded to the program. I understand. That is, it can be seen that the locus error near the joint (intersection) between N1 and N2 is controlled so that both the N1 direction and the N2 direction coincide with the respective allowable errors at one point (point Q) near the intersection.

本実施の形態によれば、実施の形態1に比べて、さらに次の移動の開始を早めつつ、現在の移動及び次の移動における精度を許容誤差以下に制限することができるので、実施の形態1の効果に加えて、さらにサイクルタイムを短縮することができる。また特に指定した許容誤差で決まる点(点Q)を通過するように制御するので、順方向の動作と逆方向の動作ともこの点Qを通ることで、軌跡が完全に同じとなり、試し運転時の確認作業がより正確で短時間で行うことが可能となる。   According to the present embodiment, the accuracy of the current movement and the next movement can be limited to an allowable error or less while the start of the next movement is further advanced as compared with the first embodiment. In addition to the effect of 1, the cycle time can be further shortened. In addition, since control is performed so that the point (point Q) determined by the specified tolerance is passed, the trajectory is completely the same by passing this point Q in both forward and reverse movements, and during trial operation This confirmation work can be performed more accurately and in a short time.

実施の形態3.
実施の形態1では現在のブロック及び次のブロックの両方の精度を考慮して、次のブロックを開始するタイミングを決定した。しかし、単に次のブロックの精度が重要である場合には、それだけに着目して制御を行うことで、処理を簡略化することも可能である。本実施の形態では、そのための方法について述べる。
Embodiment 3 FIG.
In the first embodiment, the timing for starting the next block is determined in consideration of the accuracy of both the current block and the next block. However, when the accuracy of the next block is important, it is also possible to simplify the processing by focusing on only that and performing control. In this embodiment, a method for that purpose will be described.

図8は本実施の形態における動作を説明するためのフローチャートである。図8において、ステップST31はステップST11と、ステップST32はステップST12と、ステップST33はステップST13と同じのため、この3つのステップについては説明を省略する。以下、前述した図18の例を用いて説明する。   FIG. 8 is a flowchart for explaining the operation in the present embodiment. In FIG. 8, step ST31 is the same as step ST11, step ST32 is the same as step ST12, and step ST33 is the same as step ST13. Therefore, the description of these three steps is omitted. Hereinafter, a description will be given using the example of FIG.

ステップST34では、ステップST33で求めた時刻t2以降であれば、次のブロック(N1)の移動を開始する。すなわち、下記1条件のみを満たす場合に次の移動を開始する。
ii)次の移動が現在の移動完了を待たずに先行して移動する距離が許容誤差以下
In step ST34, if it is after time t2 calculated | required by step ST33, the movement of the following block (N1) will be started. That is, the next movement is started when only the following one condition is satisfied.
ii) The distance that the next movement moves ahead without waiting for the completion of the current movement is less than the allowable error

本手順に従った場合の、速度波形を図9に、また軌跡を図10に示す。図9に示すように、次の動作(N2)の開始タイミングは、現在の動作の残距離は考慮せず、次の動作が先行して移動する距離だけから決定される。そのため図10に示すように、点Pに対して、N2方向の距離は許容誤差L2max以下に制限されるが、N1方向の距離は制限されない。   FIG. 9 shows the velocity waveform and FIG. 10 shows the locus when this procedure is followed. As shown in FIG. 9, the start timing of the next operation (N2) is determined only from the distance that the next operation moves in advance without considering the remaining distance of the current operation. Therefore, as shown in FIG. 10, the distance in the N2 direction with respect to the point P is limited to an allowable error L2max or less, but the distance in the N1 direction is not limited.

しかしながら、各軸の加減速フィルタやサーボ系の特性が、一次遅れや二次遅れなどのように、そのインパルス応答が時間とともに漸減したり、或いはピークまでの立ち上がり時間よりピークからほぼ0にたち下がるまでの時間の方が長いような特性を有する場合には、移動速度が同じであれば、軌跡が現在の移動から離れる地点と点Pとの距離よりも、軌跡が次の移動に接する地点と点Pとの距離の方が長くなる。このような場合には、次の移動方向の誤差を制限しておけば、自然と現在の移動方向の誤差もそれ以下に制限されるので、実用的にはこれで十分である。このような制御を行うことにより、図1における位置指令107もしくは実位置109といったデータを用いずに処理できるので、処理が簡略化され、より少ない通信量と演算量で実現でき、コントローラの低コスト化が期待できる。   However, the acceleration / deceleration filter and servo system characteristics of each axis gradually decrease with time, such as first-order lag and second-order lag, or drop from the peak to almost zero from the rise time to the peak. If the movement speed is the same, if the trajectory is longer, the point where the trajectory is in contact with the next movement than the distance between the point where the trajectory is away from the current movement and the point P The distance from the point P becomes longer. In such a case, if the error in the next movement direction is limited, the error in the current movement direction is naturally limited to that or less, and this is sufficient for practical use. By performing such control, processing can be performed without using the data such as the position command 107 or the actual position 109 in FIG. 1, so that the processing is simplified and can be realized with a smaller amount of communication and calculation, and the cost of the controller Can be expected.

実施の形態4.
実施の形態1から3では、現在の移動(N1)が完了するまでに、次の移動(N2)が先頭から先行して進む距離を一定値以下に制限するものであった。しかしながら、次の移動のさらに次の動作(N3)を行い、かつその動作(N3)での精度が強く求められるような場合では、軌跡が次の移動(N2)に接する地点とN2の終点までの距離を管理したほうが好適な場合がある。本実施の形態ではその方法について述べる。
Embodiment 4 FIG.
In the first to third embodiments, the distance that the next movement (N2) advances in advance from the head is limited to a certain value or less before the current movement (N1) is completed. However, in the case where the next operation (N3) of the next movement is performed and the accuracy in the operation (N3) is strongly required, the point where the trajectory touches the next movement (N2) and the end point of N2 It may be preferable to manage the distance. This embodiment will describe the method.

最も簡単な例として実施の形態3の例を基礎として説明を行う。ただしプログラムは図11に示すようにN1からN3の3つのブロックからなるとする。ブロックN3は、切削送り(G1)にて速度(F)1000にてZ軸の位置が−50.まで移動するという指令である。   The simplest example will be described based on the example of the third embodiment. However, it is assumed that the program consists of three blocks N1 to N3 as shown in FIG. In the block N3, the Z-axis position is -50. It is a command to move to.

図12を用いて説明する。実施の形態3において、L2maxを、移動(N2)の長さから、許容誤差L2max’を減算した値とする。
L2max=D2−L2max’
ここでD2はブロックN2の移動距離、L2max’は、N2の残距離の最小値(最小残距離)を示し、すなわちN2の移動において、軌跡がプログラムに指令された指令経路(N2)に接する地点Rと、その終点Sまでの距離に相当する。
This will be described with reference to FIG. In the third embodiment, L2max is a value obtained by subtracting the allowable error L2max ′ from the length of the movement (N2).
L2max = D2−L2max ′
Here, D2 represents the moving distance of the block N2, and L2max ′ represents the minimum value (minimum remaining distance) of the remaining distance of N2, that is, the point where the locus is in contact with the command path (N2) commanded to the program in the movement of N2. It corresponds to the distance to R and its end point S.

上記L2maxを実施の形態3に適用すると、速度波形は図13のようになり、現在の移動(N1)が完了した時刻t1において、次の移動の残距離がL2max’に一致するように、次の移動(N2)を開始する。これにより、軌跡は図12に示すように、N2の終点から指定した距離L2max’だけ戻った地点Rにて、軌跡が指令経路に一致することになる。   When the above L2max is applied to the third embodiment, the velocity waveform is as shown in FIG. 13, and at the time t1 when the current movement (N1) is completed, the next distance is set so that the remaining distance of the next movement matches L2max ′. Starts moving (N2). As a result, as shown in FIG. 12, the locus coincides with the command route at a point R returned by the distance L2max ′ designated from the end point of N2.

本実施の形態によれば、例えばN2の後に、切削送り動作や、工具交換動作、計測動作など、より正確な位置決めや精度が求められる動作を行うような場合において、N2から見ると一つ前の移動による軌跡誤差の影響を、N2の終点から指定した距離だけ前の時点で完全に無くすことで、N2の後に行う動作を安定して正確に行うことができる。基本的な手順としては、移動の始点からの距離を指定することも、終点からの距離を指定することも大差ないが、使用する側の立場から見ると、終点からの距離を一定のパラメータ(L2max’)により指定しておけば、移動の距離ごとにその都度使用者が指定する必要がなく、使い勝手が良くなるという効果を得ることができる。   According to the present embodiment, for example, when N2 is followed by an operation that requires more accurate positioning and accuracy, such as a cutting feed operation, a tool change operation, and a measurement operation, when viewed from N2, By completely eliminating the influence of the trajectory error due to the movement at the time point before the end point of N2 by the designated distance, the operation performed after N2 can be performed stably and accurately. As a basic procedure, there is no difference between specifying the distance from the start point of movement and specifying the distance from the end point, but from the viewpoint of the user, the distance from the end point is set to a certain parameter ( If it is specified by L2max ′), it is not necessary for the user to specify for each distance of movement, and the effect of improved usability can be obtained.

また、特殊な例として、L2max’を0とすることで、図14に示すように、複数の動作の完了時期を一致させるように制御することも可能である。この場合には、N1とN2の両方の動作が完了して初めてそのさらに次のN3の動作が可能であるという順序関係がある場合に、図13に示したように動作N2を開始すればN3の動作開始において、N1完了時点からの待ち時間は0となる。また、これ以上にN2のタイミングを早めても、サイクルタイムがこれ以上短くなるわけではなく、逆にN1の完了の方がN2よりも遅いということになり、本来プログラムに指令されていた順序を極端に崩すことになり、不要な機械干渉などを生じる恐れがある。その意味で、図14に示したように、複数の動作の完了時期を一致させるように、N2の開始タイミングを決める方法は、サイクルタイムを最大限短縮するために必要十分なタイミングであるといえる。   As a special example, by setting L2max ′ to 0, as shown in FIG. 14, it is possible to perform control so that the completion timings of a plurality of operations coincide. In this case, if there is an order relationship that the next N3 operation is possible only after the operations of both N1 and N2 are completed, if the operation N2 is started as shown in FIG. At the start of the operation, the waiting time from the point of completion of N1 is zero. Further, even if the timing of N2 is further advanced, the cycle time is not shortened any more, and conversely, the completion of N1 is later than N2, and the order originally commanded to the program is changed. It will collapse extremely and may cause unnecessary mechanical interference. In that sense, as shown in FIG. 14, the method of determining the start timing of N2 so that the completion timings of a plurality of operations coincide with each other can be said to be a timing that is necessary and sufficient to shorten the cycle time to the maximum. .

なお、上記本実施の形態で述べた方法は、実施の形態3で述べた方法を基礎にして説明したが、実施の形態1,2で述べた方法にも同様に適用可能である。   The method described in the present embodiment has been described based on the method described in the third embodiment. However, the method can be similarly applied to the methods described in the first and second embodiments.

実施の形態5.
実施の形態1乃至4では、説明容易とするためにブロックN1、N2にそれぞれ1つの軸の移動指令だけを指令した場合についての例を述べた。これに対し、各ブロックにおいて複数の軸の移動指令が命令され、それぞれの軸の移動が同時に行われる場合に対応するための方法を述べる。
Embodiment 5 FIG.
In the first to fourth embodiments, for ease of explanation, an example has been described in which only one axis movement command is issued to each of the blocks N1 and N2. On the other hand, a method for dealing with a case where a movement command for a plurality of axes is instructed in each block and movement of each axis is performed simultaneously will be described.

最も典型的な例として、実施の形態1を基礎として、それを複数の軸の並列動作に拡張した場合を説明する。例えば図15のようなプログラムが与えられたとする。ここでX、Y、Z、Cはそれぞれ軸名称を指し、それに続く数字は各軸の目標位置の座標値を指す。   As a most typical example, a case will be described in which the first embodiment is used as a basis and is extended to a parallel operation of a plurality of axes. For example, assume that a program as shown in FIG. 15 is given. Here, X, Y, Z, and C indicate axis names, respectively, and the subsequent numbers indicate the coordinate values of the target position of each axis.

図16は本実施の形態における動作手順を示すフローチャートである。図16において、まず、ステップST51では、現在のブロックN1において、ステップST11と同じく、X軸の移動の完了時刻t1を求め、同様に、Z軸の移動の完了時刻t1’を求める。両者のうち、遅い方を選びT1とする。この例ではT1=t1’である。   FIG. 16 is a flowchart showing an operation procedure in the present embodiment. In FIG. 16, first, in step ST51, as in step ST11, the completion time t1 of the movement of the X axis is obtained in the current block N1, and similarly, the completion time t1 'of the movement of the Z axis is obtained. Of the two, select the slower one and set it as T1. In this example, T1 = t1 '.

次に、ステップST52では、次のブロックN2において、ステップST12と同じく、Y軸の移動開始からL2maxだけ進むまでの時間でΔt2を求め、同様に、C軸についても移動開始からL2maxだけ進むまでの時間でΔt2’を求める。両者の小さい方を選びΔT2とする。この例ではΔT2=Δt2’である。   Next, in step ST52, in the next block N2, as in step ST12, Δt2 is obtained by the time from the start of movement of the Y axis to the advance of L2max, and similarly, from the start of movement of the C axis to the advance of L2max. Δt2 ′ is obtained by time. The smaller of them is selected as ΔT2. In this example, ΔT2 = Δt2 ′.

ステップST53では、次のブロックの開始時刻t2を求める。すなわち、
t2=T1−ΔT2
In step ST53, the start time t2 of the next block is obtained. That is,
t2 = T1-ΔT2

ステップST54では、ステップST53で求めた時刻t2以降であり、かつ現在のブロック(N1)のX軸、Z軸の残距離がそれぞれ許容誤差(L1max)以下であれば、次のブロック(N2)の移動を開始する。   In step ST54, if it is after time t2 obtained in step ST53 and the remaining distances in the X-axis and Z-axis of the current block (N1) are each equal to or less than the allowable error (L1max), the next block (N2) Start moving.

すなわち、上記手順は、現在のブロックにおけるすべての軸の残距離が許容誤差以下であり、かつ次のブロックにおけるすべての軸の先行移動距離が許容誤差以下となるときに、次の移動を開始する。   That is, the above procedure starts the next movement when the remaining distance of all the axes in the current block is less than the allowable error and the preceding moving distance of all the axes in the next block is less than the allowable error. .

図17に本手順を適用した場合の速度波形を示す。すなわち、次の動作N2を開始するタイミングは、以下の4つの時刻のうち、もっとも遅い時刻を選ぶことに相当する。
・t1b :現在のブロックのX軸の残距離が許容誤差(L1max)以下となる時点 ・t1b’:現在のブロックのZ軸の残距離が許容誤差(L1max)以下となる時点 ・t2 :現在のブロックのすべての軸の移動が完了した時点での、
次のブロックのY軸が先行して進む距離が許容誤差(L2max)以下となる時点
・t2’ :現在のブロックのすべての軸の移動が完了した時点での、
次のブロックのC軸が先行して進む距離が許容誤差(L2max)以下となる時点
FIG. 17 shows a velocity waveform when this procedure is applied. That is, the timing for starting the next operation N2 corresponds to selecting the latest time among the following four times.
T1b: time point when the remaining distance on the X axis of the current block is less than or equal to the allowable error (L1max) t1b ′: time point when the remaining distance on the Z axis of the current block is less than or equal to the allowable error (L1max) t2: current time When the movement of all axes of the block is completed,
When the distance that the Y axis of the next block advances is less than the tolerance (L2max) t2 ′: When the movement of all the axes of the current block is completed,
When the distance that the C axis of the next block advances is less than the tolerance (L2max)

本実施の形態によれば、各ブロックにおいて複数の軸の移動が指令されていたとしても、すべての軸の誤差を管理することができ、精度を保ちながら、サイクルタイムを短縮することが可能となる。   According to this embodiment, even if movement of a plurality of axes is commanded in each block, errors of all axes can be managed, and cycle time can be shortened while maintaining accuracy. Become.

なお、本実施の形態で述べた方法は、複数の工具が同時に移動するような多系統の工作機械などにおいて、複数の動作を並列に実行する際にも、同様に適用可能である。   It should be noted that the method described in the present embodiment can be similarly applied when a plurality of operations are executed in parallel in a multi-system machine tool or the like in which a plurality of tools move simultaneously.

また、上記では各軸が独立で動作する(各軸の動作完了時刻が軸によって異なる)場合について述べたが、全軸が同期して動作する場合(補間動作)にも同様に適用可能である。この場合には、t1とt1’の時刻は同じ時刻となる。   In the above description, each axis operates independently (the operation completion time of each axis varies depending on the axis). However, the present invention can be similarly applied to a case where all axes operate synchronously (interpolation operation). . In this case, the times t1 and t1 'are the same time.

この発明の数値制御装置は、工作機械、ロボット、産業機械等のモーションを制御する数値制御装置に適用されて好適なものであり、特に目標位置への位置決め移動動作において所定の精度を保ちながら、よりサイクルタイムを短縮したい場合に最適なものである。   The numerical control device of the present invention is suitable for being applied to a numerical control device that controls the motion of a machine tool, robot, industrial machine, etc., and while maintaining a predetermined accuracy, particularly in a positioning movement operation to a target position, It is optimal when you want to shorten the cycle time.

本発明の数値制御装置の実施の形態の全体構成図である。It is a whole lineblock diagram of an embodiment of a numerical control device of the present invention. 本発明の実施の形態1の動作を示すフローチャートの図である。It is a figure of the flowchart which shows the operation | movement of Embodiment 1 of this invention. 本発明の実施の形態1の速度波形を示す波形図である。It is a wave form diagram which shows the velocity waveform of Embodiment 1 of this invention. 本発明の実施の形態1の軌跡を示すXYグラフを示す図である。It is a figure which shows the XY graph which shows the locus | trajectory of Embodiment 1 of this invention. 本発明の実施の形態2の動作を示すフローチャートの図である。It is a figure of the flowchart which shows the operation | movement of Embodiment 2 of this invention. 本発明の実施の形態2の速度波形を示す波形図である。It is a wave form diagram which shows the speed waveform of Embodiment 2 of this invention. 本発明の実施の形態2の軌跡を示すXYグラフを示す図である。It is a figure which shows the XY graph which shows the locus | trajectory of Embodiment 2 of this invention. 本発明の実施の形態3の動作を示すフローチャートの図である。It is a figure of the flowchart which shows the operation | movement of Embodiment 3 of this invention. 本発明の実施の形態3の速度波形を示す波形図である。It is a wave form diagram which shows the speed waveform of Embodiment 3 of this invention. 本発明の実施の形態3の軌跡を示すXYグラフを示す図である。It is a figure which shows the XY graph which shows the locus | trajectory of Embodiment 3 of this invention. 本発明の実施の形態4のNCプログラムの一例を示す図である。It is a figure which shows an example of NC program of Embodiment 4 of this invention. 本発明の実施の形態4の軌跡を示すXYグラフを示す図である。It is a figure which shows the XY graph which shows the locus | trajectory of Embodiment 4 of this invention. 本発明の実施の形態4の速度波形を示す波形図である。It is a wave form diagram which shows the velocity waveform of Embodiment 4 of this invention. 本発明の実施の形態4の速度波形を示す波形図である。It is a wave form diagram which shows the velocity waveform of Embodiment 4 of this invention. 本発明の実施の形態5のNCプログラムの一例を示す図である。It is a figure which shows an example of NC program of Embodiment 5 of this invention. 本発明の実施の形態5の動作を示すフローチャートの図である。It is a figure of the flowchart which shows the operation | movement of Embodiment 5 of this invention. 本発明の実施の形態5の速度波形を示す波形図である。It is a wave form diagram which shows the velocity waveform of Embodiment 5 of this invention. NCプログラムの一例を示す図である。It is a figure which shows an example of NC program. 図18のNCプログラム例の指令経路を示すXYグラフ図である。FIG. 19 is an XY graph diagram illustrating a command path of the NC program example of FIG. 18. 従来技術の速度波形を示す波形図である。It is a wave form diagram which shows the speed waveform of a prior art. 従来技術の軌跡を示すXYグラフを示す図である。It is a figure which shows the XY graph which shows the locus | trajectory of a prior art. 従来技術の速度波形を示す波形図である。It is a wave form diagram which shows the speed waveform of a prior art. 従来技術の他の速度波形を示す波形図である。It is a wave form diagram which shows the other speed waveform of a prior art. 従来技術の軌跡を示すXYグラフを示す図である。It is a figure which shows the XY graph which shows the locus | trajectory of a prior art.

符号の説明Explanation of symbols

100 数値制御装置
101 NCプログラム(プログラム)
102 解析処理部
103 解析データ
104 補間・加減速部
105 タイミング制御部
106 動作開始タイミング
107 位置指令
108 サーボ制御部
109 実位置
110 補間・加減速パラメータ(パラメータ)
100 Numerical control device 101 NC program (program)
102 Analysis processing unit 103 Analysis data 104 Interpolation / acceleration / deceleration unit 105 Timing control unit 106 Operation start timing 107 Position command 108 Servo control unit 109 Actual position 110 Interpolation / acceleration / deceleration parameter (parameter)

Claims (1)

プログラムに指令された複数の動作命令を順番に実行して移動体の動作を制御する数値制御装置において、
プログラムに指令された動作命令を解析し解析データを生成する解析処理部と、
前記解析データ、及び予め記憶された補間・加減速のパラメータに基づいて、次の動作の動作開始タイミングを求めるタイミング制御部と、
前記解析データ、前記補間・加減速のパラメータ、及び前記動作開始タイミングに従い補間・加減速を行う位置指令を生成する補間・加減速部と、
前記位置指令に追従するように駆動部をサーボ制御するサーボ制御部とを備え、
前記タイミング制御部は、
在の動作の目標位置までの残距離が終点許容誤差に一致する時刻を算出し、次の動作により移動する距離が、前記現在の動作の目標位置までの残距離が終点許容誤差に一致する時刻において、始点許容誤差に一致するように、前記動作開始タイミングを求める
ことを特徴とする数値制御装置。
In a numerical control device that controls the operation of a moving body by sequentially executing a plurality of operation commands instructed by a program,
An analysis processing unit that analyzes operation commands instructed by the program and generates analysis data;
Based on the analysis data and pre-stored interpolation / acceleration / deceleration parameters, a timing control unit for obtaining an operation start timing of the next operation;
An interpolation / acceleration / deceleration unit that generates a position command for performing interpolation / acceleration according to the analysis data, the interpolation / acceleration / deceleration parameters, and the operation start timing;
A servo control unit that servo-controls the drive unit so as to follow the position command,
The timing controller is
Calculating a time when the remaining distance to the target position of the current operation matches the end point tolerances, the distance moved by the next operation, remaining distance until said target position of the current operation matches the end point tolerance The numerical control device characterized in that the operation start timing is obtained so as to coincide with a start point allowable error at a time.
JP2008135315A 2008-05-23 2008-05-23 Numerical controller Expired - Fee Related JP5317532B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008135315A JP5317532B2 (en) 2008-05-23 2008-05-23 Numerical controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008135315A JP5317532B2 (en) 2008-05-23 2008-05-23 Numerical controller

Publications (2)

Publication Number Publication Date
JP2009282829A JP2009282829A (en) 2009-12-03
JP5317532B2 true JP5317532B2 (en) 2013-10-16

Family

ID=41453209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008135315A Expired - Fee Related JP5317532B2 (en) 2008-05-23 2008-05-23 Numerical controller

Country Status (1)

Country Link
JP (1) JP5317532B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015210563A (en) * 2014-04-24 2015-11-24 ファナック株式会社 Numerical controller for acceleration of machine tool inversion operation

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012174786A (en) * 2011-02-18 2012-09-10 Sumitomo Heavy Ind Ltd Display device, transport system, and exposure apparatus
CN104303118B (en) 2012-05-15 2016-10-12 三菱电机株式会社 Numerical control device
JP5607690B2 (en) * 2012-08-01 2014-10-15 ファナック株式会社 Machine tool with rotating table
JP6474955B2 (en) * 2013-11-29 2019-02-27 株式会社ダイヘン Manipulator movement control device and movement control method
JP6380119B2 (en) * 2015-01-20 2018-08-29 ブラザー工業株式会社 Numerical control device and control method
JP6435872B2 (en) * 2015-01-20 2018-12-12 ブラザー工業株式会社 Numerical control device and control method
JP6396273B2 (en) 2015-10-14 2018-09-26 ファナック株式会社 Numerical control device for positioning to avoid interference with workpiece
JP7121032B2 (en) * 2017-10-17 2022-08-17 株式会社Fuji Machine tool equipment
JP7396862B2 (en) 2019-11-06 2023-12-12 ファナック株式会社 Machine tool control device and machine tool control method
DE112021007022T5 (en) 2021-04-13 2023-11-30 Fanuc Corporation Numerical control device
JP7415093B1 (en) 2023-05-11 2024-01-16 ファナック株式会社 Control device and computer readable recording medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3537229B2 (en) * 1995-07-28 2004-06-14 ファナック株式会社 Robot control method
JP3666341B2 (en) * 2000-02-04 2005-06-29 三菱電機株式会社 Robot control method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015210563A (en) * 2014-04-24 2015-11-24 ファナック株式会社 Numerical controller for acceleration of machine tool inversion operation

Also Published As

Publication number Publication date
JP2009282829A (en) 2009-12-03

Similar Documents

Publication Publication Date Title
JP5317532B2 (en) Numerical controller
JP4406034B2 (en) Numerical control device for controlling a 5-axis machine
US9678499B2 (en) Method for controlling redundantly actuated machines for cutting a pattern of disconnected contours
US8036770B2 (en) Numerical control unit with set amount of execution
TWI538761B (en) Method for controlling machines according to pattern of contours and laser cutting machine
TWI512417B (en) Apparatus for creating processing program, numerical control apparatus, processing system, method for creating processing program, and numerical control method
CN102650867B (en) Numerical controller having speed control function for multi-axis machining device
EP1661657B1 (en) Laser processing robot system with a scanning head and a rapid movable support mechanism ; Method for controlling the same
JP3827951B2 (en) NC program optimization method and apparatus in NC machining
JP3746019B2 (en) Laser processing machine
JP5813058B2 (en) Numerical controller with a function for shortening the starting point path of a complex fixed cycle
JP2008046899A (en) Numerical control device
US20210247734A1 (en) Numerical control device and numerical control method
JP3853752B2 (en) Simulation device
JP4945191B2 (en) Numerical control device for machine tools
CN101563661A (en) Working control device, and its program
US9983568B2 (en) Numerical controller
JP3945507B2 (en) Numerical controller
US6745098B2 (en) Machining based on master program merged from parts programs
JP4112433B2 (en) Numerical control device for machine tool and numerical control method for machine tool
JP7355952B1 (en) Control device and computer readable recording medium
JP5143661B2 (en) NC lathe control method and control device
JPH0798608A (en) Working route deciding device for two torch type laser beam machine
JP6396275B2 (en) Numerical control device that overlaps operation by table format data
JP2020067863A (en) Program correction device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130520

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130709

R150 Certificate of patent or registration of utility model

Ref document number: 5317532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees