WO1993024875A1 - Control method for servomotor - Google Patents

Control method for servomotor Download PDF

Info

Publication number
WO1993024875A1
WO1993024875A1 PCT/JP1993/000618 JP9300618W WO9324875A1 WO 1993024875 A1 WO1993024875 A1 WO 1993024875A1 JP 9300618 W JP9300618 W JP 9300618W WO 9324875 A1 WO9324875 A1 WO 9324875A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
speed
cycle
value
amount
Prior art date
Application number
PCT/JP1993/000618
Other languages
French (fr)
Japanese (ja)
Inventor
Yasusuke Iwashita
Original Assignee
Fanuc Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Ltd filed Critical Fanuc Ltd
Priority to EP19930911992 priority Critical patent/EP0596141A4/en
Publication of WO1993024875A1 publication Critical patent/WO1993024875A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41428Feedforward of position and speed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41429Mean value of previous feedforward values
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41433Advance feedforward as function of delay rising torque, for large acceleration changes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43048Step change in reference, soft start, smoothing reference

Definitions

  • the present invention relates to a control method of a servomotor that drives a feed shaft of a machine tool or an arm of a robot, and particularly to a feedforward control method of a servomotor.
  • feed-forward control is performed in the position loop in order to reduce the position deviation and correct the servo delay.
  • This feed-forward control differentiates the movement command at each position and speed processing cycle, and multiplies the derivative by the feed-forward coefficient to obtain a normal position loop.
  • the speed command obtained by the processing is added to and corrected, and the speed loop processing is performed based on the corrected speed command.
  • the distribution cycle (ITP cycle) in which the movement command is transferred from the numerical controller to the servo circuit side, that is, to the position loop, is typically about 8 msec, and the position loop and speed inside the servo circuit are The loop period is typically 2 msec or lmsec. Then, in the position loop, the ITP cycle in which the movement command is passed from the numerical controller is divided into the position loop cycle, and each of the divided position loop cycles is divided. It is controlled so that the movement command in is equal.
  • the position loop in each position and speed loop processing cycle in each ITP cycle Since the movement commands in the position loop processing are controlled so as to be even, a large step is generated in the movement commands in the position loop processing cycle before and after the ITP cycle shifts, and this is a feed forward. Differentiated by the C term, it becomes a large value.
  • the speed command contains a high-frequency component, which makes it impossible to follow the speed lobe, causing undulations in the position deviation, and greatly affecting the movement of the motor and the machine.
  • acceleration / deceleration processing was introduced into the position control and also the speed control in the feedback field to eliminate the undulation.
  • Method of controlling a servomotor for performing a smoothing operation (smoothing process) to be performed The inventor of the present invention filed an international application PCTZJP 90/0380 to file an international publication WO900Z1. It was published internationally as 156-2.
  • the inventors of the present application have made further improvements, and in the above-mentioned smoothing operation that averages past data in time, the data is output later (future) than the ITP cycle.
  • the preceding smoothing process is performed by using a leading smoothing process for averaging the position and speed loop cycle movement commands before and after the position and speed loop cycle movement command using the movement command.
  • a control method was developed in which the value obtained by the feedback processing was added to the speed command obtained by the ordinary position loop processing as a feed-forward amount, and the international application PCTZJP 9.1 Z 0 15 3 Issue No.
  • the following equation (1) is calculated to obtain the average value m of the movement command, and the average value m is multiplied by the feedforward coefficient ⁇ to obtain the position value.
  • the feed amount is assumed to be the amount.
  • N is the value obtained by dividing the ITP cycle by the cycle of the position and velocity loops
  • Z- 1 is the delay of the processing cycle of one position and velocity loop.
  • the acceleration change of the command can be considered as the change of the difference of the movement command for each ITP cycle. That is, since the movement command for each ITP cycle is a movement command in a predetermined time (ITP cycle), it means speed. Therefore, the difference between the movement commands for each ITP cycle means the acceleration, and the change in the difference between the movement commands indicates a change in the acceleration of the command.
  • An object of the present invention is to compensate for a delay in the rise of a torque of a servo system, which is likely to occur when a command change in acceleration is large, and to reduce an error in an actual movement locus.
  • a velocity command is obtained by performing a position loop process based on a movement command distributed from a numerical controller in each distribution cycle and a position feedback amount.
  • the step of calculating the feedforward amount includes a step of performing a preceding smoothing process to obtain smoothing data for each position loop processing cycle.
  • SMD 0 indicates the smoothing data of the current position loop processing cycle
  • SMD 1 indicates the smoothing data of the current position loop processing cycle
  • a step of obtaining the position feed-forward amount FF p by performing the operation of the following equation (2), where
  • the value of parameter k is set to k1 if the magnitude of the acceleration change is smaller than a predetermined threshold value, and to k1 if the magnitude of the acceleration change is equal to or larger than the predetermined threshold value. Includes a step of setting a value of k2 larger than k1 for a predetermined period.
  • the position feed-amount FF p can be obtained by the following equation (3).
  • the value of the parameter k is set to kl, and when the magnitude of the acceleration change is equal to or larger than the set value, the set time is set.
  • the value of parameter k is determined by setting k3 to a value smaller than k1 by a predetermined amount.
  • FIG. 1 is a block diagram of a servo system for performing feedforward control of the present invention.
  • FIG. 2 is a block diagram of a servomotor control device for performing the method of the present invention.
  • Fig. 3 is a flowchart of the processing performed by the processor of the digital servo circuit shown in Fig. 2 every ITP cycle
  • Fig. 4 is the position and position of the processor of the digital servo circuit shown in Fig. 2. The flow chart of the processing executed for each speed loop processing cycle
  • FIG. 5 is an explanatory diagram of a process for obtaining smoothing data from a movement command
  • FIG. 6 is an explanatory diagram of a process of calculating a feedforward amount
  • Fig. 7 is a diagram showing the cutting trajectory when shifting from straight line machining to arc machining by the conventional feedforward control method.
  • FIG. 8 is a diagram showing a cutting trajectory when shifting from linear machining to circular arc machining by the feedforward control method of the present invention.
  • DDA igital Differential Analyzer 1 uses a position command and a speed loop to send a movement command M cmd sent from a CNC (numerical control device with built-in computer) for each distribution cycle (ITP cycle). Divide into movement instructions for each processing cycle.
  • the error counter 2 calculates the position deviation by adding the movement command output from the DDA 1 and reducing the movement amount of the servo motor for each position and speed loop processing cycle.
  • Numeral 3 is a term for obtaining a speed command by multiplying the position deviation stored in the error counter 2 by the position gain Kp.
  • 4 is a term of the velocity loop, where kl is an integral constant and k2 is a proportional constant. 5 and 6 are the terms of the transfer function of the servomotor, Kt is the Tonnell constant, and Jm is the motor inertia.
  • 10 and 11 are the terms of the transfer function of the machine coupled to the servomotor, K m is the panel constant, C m is the viscous term, and J L is the machine inertia. 1 2 is a term of a transfer function for converting speed into position.
  • a movement command Mcmd is output from a numerical control device such as CNC, and DDA1 obtains a movement command for each position and velocity loop processing period Ts.
  • the position error is obtained by the error register 2 from the movement command and the feedback amount of the position, and the position error is multiplied by the position gain Kp to obtain the speed command Vc1.
  • the leading smoothing means 7 performs processing based on the processing of the above equation (1) or based on the movement command Mcmd of the ITP cycle and the movement command Mcmd of the ITP cycle before and after the ITP cycle. Obtain smoothing data SMD.
  • the position feed-forward is calculated by the following equation (4).
  • the position feed-forward is calculated for a predetermined period by the calculation of the following equation (5). Calculate the load amount FF p (processing in item 8).
  • SMDO indicates the preceding smoothing data calculated in the position and speed loop processing cycle
  • SMD 1 indicates the preceding smoothing data calculated one position and the speed loop processing cycle earlier.
  • the feedforward amount FFp is equal to the preceding smoothing of the cycle, compared to when the commanded acceleration is smaller than the threshold value A. Since the data increases by SMDO kb and decreases by the preceding smoothing data SMD 1 kb calculated one cycle Ts before, the feed-forward amount FFp is a predetermined time corresponding to kb. Only in time.
  • the position feed-forward control of the position is performed by adding the feed-forward amount FFp of the position to the speed command Vc1 obtained by the position loop processing.
  • the speed feedback amount from the servomotor is subtracted to determine the speed deviation, and the same speed loop processing as in the past is performed to obtain the torque command Tc1.
  • the value obtained by differentiating the preceding smoothing data SMD (obtaining the differential value by subtracting the preceding smoothing data of the previous cycle from the preceding smoothing data of the cycle) to the value obtained by calculating the servo motor torque.
  • This feed-forward amount FFV is added to the torque command Tc1 obtained by the above-described speed loop processing, and the speed feed-forward control is performed.
  • the executed torque command Tc is obtained, and the servomotor is driven by the torque command Tc.
  • FIG. 2 is a block diagram of a servomotor control system to which the present invention is applied.
  • the configuration is schematically shown because the configuration is the same as that of a conventional device for performing digital servo control.
  • 20 is a computer numerical controller (CNC)
  • 21 is a shared RAM
  • 22 is a digital servo circuit having a CPU, ROM, RAM, etc.
  • 23 is a transistor driver.
  • M is a servomotor
  • 24 is a pulse coder that generates pulses with the rotation of the servomotor M.
  • FIG. 2 shows only a single-axis servo motor.
  • the CNC 20 writes the movement command Mcmd into the shared RAM 21 for each ITP cycle (distribution cycle), and the CPU of the digital servo circuit 22 reads the movement command Mcmd from the shared RAM 21 and executes the above ITP cycle.
  • T s a movement command in the position and velocity loop processing T s is determined so that the movement command Mcmd output from the NC 20 is evenly distributed during the ITP cycle (DDA processing).
  • the position loop processing is performed based on the difference from the current position of the servomotor M obtained by the feed knocking pulse from the pulse coder 24, and the position of the servo motor M is described later.
  • step S1 the CPU of the digital servo circuit 22 reads the movement command Mcmd distributed from the CNC 20 from the shared memory 21 and sends it to step S2.
  • the value stored in register R2 is stored in register R3
  • the value stored in register R1 is stored in register R2
  • the movement read in step S1 is stored in register R1 Stores the command M cmd.
  • Register R 1 has a (future) movement command M cmd that is temporally advanced by one ITP cycle with respect to the movement command M cmd for processing the position and velocity loops.
  • Means that the movement command Mcmd of the position and speed loop processing cycle is stored in the register R3, and the (past) movement command Mcmd delayed by one ITP cycle is stored in the register R3. .
  • “0” is stored in registers R1, R2, and R3 by default.
  • step S3 the value of the counter C1 indicating the index of the position and speed loop processing cycle is set to "0".
  • step S4 first, the value stored in the register R2 is subtracted from the value stored in the register R1, and the movement command Mcmd of the ITP cycle and one ITP cycle ahead ( Find the difference between the future movement commands M cmd.
  • This difference represents the acceleration between the current cycle and the next cycle. That is, since the movement command distributed for each ITP cycle is a movement command for a predetermined time (ITP cycle), it represents the speed, and the difference between the cycle and the next cycle movement command (speed) represents the acceleration.
  • the value stored in the register R3 is subtracted from the value stored in the register R2, and the acceleration in that cycle is calculated one ITP cycle before (in the past).
  • the absolute value of the difference I (R 1-R 2)-(R 2-R 3) Determines whether I is greater than or equal to the set threshold A If the absolute value of the acceleration difference is equal to or greater than the threshold value A, the set value B is stored in the force counter C2, and the processing of the ITP cycle ends. If the difference between the accelerations is smaller than the threshold value A, the process ends without setting the counter C2. That is, the counter C 2 is set to the value of B only when the acceleration change is equal to or more than the threshold value A.
  • the value of B above is a positive integer value set corresponding to the time (usually about 20 to 30 msec) that the servo system delays with respect to the change in acceleration.
  • steps A1 to A5 are the processing for obtaining the preceding smoothing data SDM0. is there.
  • the preceding smoothing processing based on the above-mentioned equation (1) is to obtain the preceding smoothing data SDM0 using the movement command for each position and speed loop (the movement command after DDA processing).
  • This method complicates the processing, but in the preceding smoothing processing of the processing in steps A1 to A5, relatively simple processing is performed from the movement command Mcmd for each distribution cycle. It is possible to obtain the preceding smoothing data based on the theory. It will be described later that the preceding smoothing data obtained by the above equation (1) is substantially the same as the preceding smoothing data obtained by the processing of steps A1 to A5.
  • step A6 it is determined whether or not the value of the counter C2 is positive. If the counter C2 is not positive (if it is “0”), the process proceeds to step A7, and the smoothing data SMD0 and the register obtained at the position and speed loop processing cycle are obtained. From the smoothing data SMD 1 one cycle before stored in the data, the above formula (4) is calculated, and Find the position feed-forward amount FF p.
  • step A8 If the set value B is stored in the counter C2 in step S5 described above, and the current value of the counter C2 is positive, the counter C2 is set in step A8. After subtracting “1” from the counter C 2, the arithmetic operation of the above equation (5) is performed in step A 9 to obtain the feed-off head amount FF p of the position.
  • step A10 the process proceeds to step A10 to perform DDA processing based on the movement command Mcmd stored in the register R2, thereby obtaining a movement command for the position and speed loop processing cycle.
  • the same position loop as before is performed.
  • the speed command Vc1 is obtained by performing the step processing (step A11), and the speed command Vc1 is fed to the position feedthrough of the position obtained in step A7 or step A9.
  • the speed command Vc that has been subjected to the position feedforward processing is obtained by adding the mode amount FFp (step A12).
  • This speed command Vc and speed feedback signal enable the same speed loop processing as before.
  • step A14 The calculation of the above equation (6) is performed by the SMD 1 to determine the feedforward amount FFv of the speed (step A14).
  • This speed feedforward amount FFV is added to the torque command Tel obtained in step A10, and the torque command Tc under speed feedforward control is added. (Step A15), and passes the torque command Tc to the current loop (Step A16).
  • the smoothing data SMD0 obtained in the cycle is stored in a register so as to be used as the smoothing data SMD1 one cycle T s before in the next cycle (step S10).
  • Step A 17 terminate the processing of the position and speed loop.
  • the CPU executes the processing described in FIG. 4 for each position and speed loop processing cycle T s.
  • the preceding smoothing data SMD obtained by the equation (1) is represented by the following equation (7).
  • q (j) indicates the movement command for the j-th position and velocity loop cycle.
  • the preceding smoothing data SMD includes the movement command q (j) of the position and velocity loop of the cycle j, the movement command q (jl) of the immediately preceding (past), and the movement of the preceding (future). It shows that the command q (j + l) and the movement command q (j + 2) two ahead are added and the result is divided by 4, and the preceding sum calculated by the above equation (7) is obtained.
  • the preceding smoothing data SMD obtained in 1 to A5 indicates that they are the same.
  • the register Rl receives the movement command Q3 one ITP cycle ahead (future), the register R2 receives the movement command Q2 of the ITP cycle corresponding to the position and speed loop, and The register R 3 stores the movement command Q 1 after (past) one ITP cycle.
  • the feedforward amount FF p is calculated by the period j and the period
  • the feedforward amount F F p can be obtained by the following equation (13).
  • the value of k is set to ka
  • 3 ⁇ 4: 1 ⁇
  • the feedforward amount FFp is obtained as 3 — 1 ⁇ (;.
  • the same operation and effect as those of the above embodiment can be obtained.
  • FIGS. 7 and 8 are diagrams showing the results of an experiment for investigating the effect of the present invention.
  • the moving speed is constant and the Y axis reaches the point P.
  • the cutting trajectory when a linear command is issued along the direction and the circular command 30 is given from the point P is drawn.
  • the actual trajectory is enlarged in the radial direction with respect to the actual trajectory. Therefore, the trajectory 31 of the straight part is not shown parallel to the Y axis.
  • FIG. 7 shows a conventional feedforward control.
  • the feedforward command is not advanced in time.
  • the results are shown in the case where the control is performed by obtaining the feedback amount regardless of the acceleration change.
  • FIG. 8 shows the experimental results when the present invention was implemented.
  • the speed in the X-axis direction It increases sinusoidally from “0”, and decreases sinusoidally from the previous speed (command speed) in the Y-axis direction. That is, the change in acceleration of the command changes sharply at point P.
  • FIGS. 7 and 8 With the actual trajectory at the point P where the change in acceleration is large, the error of the actual trajectory with respect to the command is smaller in FIG. You can see that it is done.
  • the feed-ahead amount is temporally reduced. It is calculated by proceeding.
  • the feedforward amount is increased in the forward and reverse directions according to the acceleration change of the command, and the torque command by the position and velocity loop processing is increased in the forward and reverse directions.
  • the delay of the rise of the servo system is compensated.
  • the position error is reduced even when the moving trajectory of the machine tool or the robot driven by the servomotor changes abruptly.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position Or Direction (AREA)
  • Feedback Control In General (AREA)

Abstract

This method is to reduce the positional errors by compensating for the delay in the rising torque of servo systems when the change in acceleration by an instruction is great. This control method comprises the steps of pre-smoothing (7) for each loop processing cycle of the position and speed; calculating the feed forward amount FFp on the basis of the pre-smoothed data SMD; and controlling the feed forward by adding the feed forward amount FFp to the speed instruction obtained by the positional loop. In the step of obtaining the feed forward amount FFp, the feed forward amount is calculated by advancing it temporally if the change in acceleration by the instruction is great, hence compensating for the delay in the rising torque.

Description

明 細 書  Specification
サーボモータの制御方法  Servo motor control method
技 術 分 野  Technical field
本発明は、 工作機械の送り 軸やロボ ッ 卜 のアームを駆 動するサーボモータの制御方法、 特に、 サーボモー タの フ ィ ー ドフ ォ ワー ド制御方法に関する。  The present invention relates to a control method of a servomotor that drives a feed shaft of a machine tool or an arm of a robot, and particularly to a feedforward control method of a servomotor.
背 景 技 術  Background technology
サーボモー タを用いて工作機械の送り軸やロ ボッ 卜の アームな どを制御する場合、 特に、 工作機械で高速切削 を行な う場合等にはサーボ系の追従遅れによ る形状誤差 が生じやすい。 そ こで、 位置偏差を低減さ せ、 サーボ遅 れを補正するために位置ループに於いてフ ィ 一 ドフ ォ ヮ 一 ド制御が行なわれる。  When a servomotor is used to control the feed axis of a machine tool or the arm of a robot, especially when performing high-speed cutting with a machine tool, a shape error occurs due to the delay in following the servo system. Cheap. Therefore, feed-forward control is performed in the position loop in order to reduce the position deviation and correct the servo delay.
こ のフ ィ 一 ドフ ォ ヮー ド制御は、 位置及び速度処理周 期毎に移動指令を微分 し、 こ の微分値にフ ィ ー ドフ ォ ヮ 一 ド係数を乗 じた値を通常の位置ループ処理で得られた 速度指令に加算 して補正 し、 この補正された速度指令に 基づいて速度ループ処理を行な う ものであ る。  This feed-forward control differentiates the movement command at each position and speed processing cycle, and multiplies the derivative by the feed-forward coefficient to obtain a normal position loop. The speed command obtained by the processing is added to and corrected, and the speed loop processing is performed based on the corrected speed command.
数値制御装置からサーボ回路側、 即ち、 位置ループに 移動指令が受け渡 し される分配周期 ( I T P周期) は典 型的には 8 m s e c 程度であ り 、 サーボ回路内部での位 置ループ及び速度ループの周期は典型的には 2 m s e c 或いは l m s e c である。 そ して、 位置ループでは上記 数値制御装置か ら移動指令が受け渡される I T P周期を 位置ループ周期に分割 し、 分割された各位置ループ周期 に於ける移動指令が均等にな るよ う に制御 している。 そ のため、 数値制御装置か ら出力される移動指令に加減速 時定数を与えて出力する よ う に して も、 位置ループでは 各 I T P周期内に於ける位置及び速度ループ処理周期毎 の各位置ループ処理での移動指令が均等にな るよ う に制 御されるか ら、 I T P周期が移行する前後の位置ループ 処理周期の移動指令に大きな段差が生 じ、 これがフ ィ ー ドフ ォ ワー ド項で微分されて大き な値とな る。 これによ り 、 速度指令は高周波成分を含むこ と にな り 、 速度ル一 ブで追従できな く な り 、 位置偏差に う ね り が生 じ、 モー タゃ機械の動き に大きな シ ョ ッ ク を発生させる原因とな る o The distribution cycle (ITP cycle) in which the movement command is transferred from the numerical controller to the servo circuit side, that is, to the position loop, is typically about 8 msec, and the position loop and speed inside the servo circuit are The loop period is typically 2 msec or lmsec. Then, in the position loop, the ITP cycle in which the movement command is passed from the numerical controller is divided into the position loop cycle, and each of the divided position loop cycles is divided. It is controlled so that the movement command in is equal. Therefore, even if the acceleration / deceleration time constant is given to the movement command output from the numerical controller and output, the position loop in each position and speed loop processing cycle in each ITP cycle Since the movement commands in the position loop processing are controlled so as to be even, a large step is generated in the movement commands in the position loop processing cycle before and after the ITP cycle shifts, and this is a feed forward. Differentiated by the C term, it becomes a large value. As a result, the speed command contains a high-frequency component, which makes it impossible to follow the speed lobe, causing undulations in the position deviation, and greatly affecting the movement of the motor and the machine. O
そ こ で上記の問題点を解消するために、 位置の制御、 更には速度の制御のフ ィ 一 ドフ ォ ヮ ー ドの項に加減速処 理を揷入 し、 上記う ね り を解消さ せるスム一 ジ ング操作 (平滑処理) を行な う サ一ボモー タ の制御方法について 本願発明の発明者は国際出願 P C T Z J P 9 0 / 0 0 3 8 0号を行ない、 国際公開 W O 9 0 Z 1 1 5 6 2号と し て国際公開された。  Therefore, in order to solve the above problem, acceleration / deceleration processing was introduced into the position control and also the speed control in the feedback field to eliminate the undulation. Method of controlling a servomotor for performing a smoothing operation (smoothing process) to be performed The inventor of the present invention filed an international application PCTZJP 90/0380 to file an international publication WO900Z1. It was published internationally as 156-2.
本願発明者等は更に改良を重ね、 時間的に過去のデ— タを平均化する ものであ っ た上記スムー ジ ング操作に於 いて、 当該 I T P周期よ り も後 (未来) に出力される移 動指令を利用 して当該位置及び速度ループ周期の移動指 令の前後の位置及び速度ループ周期の移動指令を平均化 する先行スムー ジ ング処理を用い、 こ の先行スムー ジ ン グ処理で得 られた値をフ ィ 一 ドフ ォ ヮ ー ド量と して通常 の位置ループ処理で得られる速度指令に加算する制御方 法を開発 し、 国際出願 P C T Z J P 9 1 Z 0 1 5 3 7号、 P C T Z J P 9 2 0 0 6 6 6号及び P C T / J P 9 2 / 0 1 1 5 0号を行ない、 夫々、 国際公開番号 W 0 9 2 0 9 0 2 2号、 W 0 9 2 2 1 0 7 5号及び W 0 9 3 / 0 5 4 5 5号と して国際公開された。 The inventors of the present application have made further improvements, and in the above-mentioned smoothing operation that averages past data in time, the data is output later (future) than the ITP cycle. The preceding smoothing process is performed by using a leading smoothing process for averaging the position and speed loop cycle movement commands before and after the position and speed loop cycle movement command using the movement command. A control method was developed in which the value obtained by the feedback processing was added to the speed command obtained by the ordinary position loop processing as a feed-forward amount, and the international application PCTZJP 9.1 Z 0 15 3 Issue No. 7, PCTZJP 92 0 0 66 66 and PCT / JP 92/0 1 150, respectively, International publication numbers W 0 9 0 9 0 2 2 and W 0 9 2 2 1 It was published internationally as No. 075 and W093 / 054545.
こ の先行スムー ジ ング処理では、 次の式 ( 1 ) の演算 を行ない移動指令の平均値 mを求め、 こ の平均値 mにフ イ ー ドフ ォ ワー ド係数 αを乗 じて位置のフ ィ ー ドフ ォ ヮ 一 ド量と している。  In this preceding smoothing processing, the following equation (1) is calculated to obtain the average value m of the movement command, and the average value m is multiplied by the feedforward coefficient α to obtain the position value. The feed amount is assumed to be the amount.
m = Z d(l + Z一1十 … + Z— — 1 ) )· (移動指令量) N m = Z d (l + Z one 1 dozen ... + Z- - 1)) · ( motion command amount) N
…… ( 1 ) 尚、 Nは I T P周期を位置及び速度ループの周期で割 つ た値、 Z—1は 1位置及び速度ループ処理周期の遅れを 示す。 Z d は進め要素であ り 、 進め量 dは上記 Nの約 1 2の値がと られ、 N = 8である と 「 3」 又は 「 4」 に 設定され、 N = 4の時には d = l 又は 2 に設定される。 ... (1) Note that N is the value obtained by dividing the ITP cycle by the cycle of the position and velocity loops, and Z- 1 is the delay of the processing cycle of one position and velocity loop. Z d is an advancement element, and the advance amount d is about 12 of the above N, and is set to “3” or “4” when N = 8, and d = l when N = 4 Or set to 2.
又、 上記 P C T Z J P 9 2 Z 0 0 6 6 6号及び P C T Z J P 9 2 / 0 1 1 5 0号では、 上記式 ( 1 ) と同等な スムー ジ ングデータ を得る先行スム一 ジ ング処理と して、 当該 I T P周期と前後の I T P周期の移動指令を利用す る もの も提案している。  Also, in the above PCTZJP92Z06666 and PCTZJP92 / 01150, the preceding smoothing processing for obtaining smoothing data equivalent to the above equation (1) is performed. A device that uses the movement command of the ITP cycle and the preceding and following ITP cycles is also proposed.
上述の如き先行スムー ジ ング処理を含むフ ィ 一 ドフ ォ ヮー ド制御を行な っ た場合で も、 指令の加速度変化が大 き いと き には、 サーボモータの ト ルク の立ち上がり が遅 れて位置誤差が生 じ易い。 指令の加速度変化は I T P周 期毎の移動指令の差の変化と して考える こ とが出来る。 即ち、 I T P周期毎の移動指令は、 予め定め られた一定 時間 ( I T P周期) における移動指令であ るか ら、 速度 を意味する。 従って、 I T P周期毎の移動指令の差は加 速度を意味 し、 こ の移動指令の差の変化は、 指令の加速 度変化を表わす。 Even when the feed-forward control including the preceding smoothing process is performed, the change in the acceleration of the command is large. In this case, the rise of the torque of the servomotor is delayed, and a position error is likely to occur. The acceleration change of the command can be considered as the change of the difference of the movement command for each ITP cycle. That is, since the movement command for each ITP cycle is a movement command in a predetermined time (ITP cycle), it means speed. Therefore, the difference between the movement commands for each ITP cycle means the acceleration, and the change in the difference between the movement commands indicates a change in the acceleration of the command.
発 明 の 開 示  Disclosure of the invention
本発明の 目的は、 指令の加速度変化が大き い と き に生 じ易いサーボ系の ト ルク の立ち上がり の遅れを補償 し実 際の移動軌跡の誤差を小さ く する こ と にあ る。  An object of the present invention is to compensate for a delay in the rise of a torque of a servo system, which is likely to occur when a command change in acceleration is large, and to reduce an error in an actual movement locus.
本発明のサーボモータの制御方法は、 数値制御装置か ら分配周期毎に分配される移動指令と位置のフ ィ 一 ドバ ッ ク量と に基づいて位置ループ処理を行な って速度指令 を求めるステ ッ プと、 当該分配周期と その前後の分配周 期の移動指令の変化量か ら指令の加速度変化の大き さを 検出するステ ッ プと、 指令の加速度変化の大き さが所定 の し き い値以上か否かを判別するステ ッ プと、 当該分配 周期及びその前後の分配周期の移動指令に基づいて位置 のフ ィ 一 ドフ ォ ヮ一 ド量を算出するステ ッ プと、 該ステ ッ ブは、 前記加速度変化の大き さが所定の し き い値以上 のと き は、 前記加速度変化の大き さが所定の し きい値よ り 小さ いと き よ り も位置のフ ィ 一 ドフ ォ ヮー ド量を所定 時間だけ時間的に進めて算出する こ とを含み、 位置ルー ブ処理で求められた速度指令に、 算出された位置のフ ィ 一 ドフ ォ ヮ ー ド量を加算 して速度指令を補正するステ ツ ブとを備える。 According to the servo motor control method of the present invention, a velocity command is obtained by performing a position loop process based on a movement command distributed from a numerical controller in each distribution cycle and a position feedback amount. A step of detecting the magnitude of the command acceleration change from the change amount of the movement command in the distribution cycle and the distribution cycle before and after the distribution cycle; and a step in which the magnitude of the command acceleration change is predetermined. A step of determining whether or not the value is equal to or greater than a predetermined value; a step of calculating a feed-forward amount of the position based on a movement command of the distribution cycle and distribution cycles before and after the distribution cycle; and When the magnitude of the acceleration change is equal to or larger than a predetermined threshold, the position feed-off position is smaller than when the magnitude of the acceleration change is smaller than the predetermined threshold. Advance the amount of time by the specified time. And a child and out, position Lou A step of correcting the speed command by adding a feed-forward amount of the calculated position to the speed command obtained by the speed processing.
本発明の一態様によれば、 前記フ ィ 一 ドフ ォ ヮー ド量 を算出するステ ッ プは、 先行スムー ジ ング処理を行な つ て位置ループ処理周期毎のスムー ジ ングデータ を求める ステ ッ プと、 当該位置ループ処理周期のスムー ジ ングデ 一 夕を S M D 0、 1位置ル一ブ処理周期前のスムー ジ ン グデー タを S M D 1、 フ ィ ー ドフ ォ ワー ド係数を な、 ノく ラ メ 一 タを k と して、 次式 ( 2 ) の演算を行な って位置 のフ ィ 一 ドフ ォ ヮー ド量 F F pを求めるステ ッ プと、  According to one aspect of the present invention, the step of calculating the feedforward amount includes a step of performing a preceding smoothing process to obtain smoothing data for each position loop processing cycle. SMD 0 indicates the smoothing data of the current position loop processing cycle, SMD 1 indicates the smoothing data of the current position loop processing cycle, and indicates the feed-forward coefficient. A step of obtaining the position feed-forward amount FF p by performing the operation of the following equation (2), where
F F p = α { k · S M D 0+ (1 - k ) S M D l}  F F p = α {k · S M D 0+ (1-k) S M D l}
( 2 ) バラ メ ー タ kの値を、 加速度変化の大き さが所定の し き い値よ り 小さ いと き には k 1 、 加速度変化の大き さが 所定の し き い値以上のと き には、 所定の期間だけ k 1 よ り 大き い k 2の値に設定するステ ッ プとを備え る。  (2) The value of parameter k is set to k1 if the magnitude of the acceleration change is smaller than a predetermined threshold value, and to k1 if the magnitude of the acceleration change is equal to or larger than the predetermined threshold value. Includes a step of setting a value of k2 larger than k1 for a predetermined period.
本発明の他の態様によれば、 位置のフ ィ 一 ド ォ ヮ一 ド 量 F F pを次式 ( 3 ) で求める こ と も出来る。 この場合 には、 加速度変化の大き さが設定値よ り 小さい と き には、 パラ メ ー タ kの値を k l と し、 加速度変化の大き さが設 定値以上の と き には、 設定時間だけパラ メ ータ kの値を k 1 よ り所定量小さい k 3の値に して求める。  According to another embodiment of the present invention, the position feed-amount FF p can be obtained by the following equation (3). In this case, when the magnitude of the acceleration change is smaller than the set value, the value of the parameter k is set to kl, and when the magnitude of the acceleration change is equal to or larger than the set value, the set time is set. The value of parameter k is determined by setting k3 to a value smaller than k1 by a predetermined amount.
F F p = α { ( 1 - k ) - S M D O+ k - S M D 1}  F F p = α {(1-k)-S M D O + k-S M D 1}
( 3 ) 上記の如 く してフ ィ 一 ドフ ォ ヮー ド量を算出する こ と によ って速度指令がサーボ系の遅れに対応する分先行 し て補償され、 指令に対する応答性が良く な り 、 移動軌跡 の誤差が少な く なる。 (3) By calculating the feedforward amount as described above, the speed command is compensated ahead of time by the amount corresponding to the delay of the servo system, the response to the command is improved, and the movement is improved. Trajectory error is reduced.
図面の簡単な説明  BRIEF DESCRIPTION OF THE FIGURES
図 1 は、 本発明のフ ィ ー ドフ ォ ワ ー ド制御を行な う サ —ボ系のブロ ッ ク図、  FIG. 1 is a block diagram of a servo system for performing feedforward control of the present invention.
図 2 は、 本発明の方法を実施するためのサーボモータ 制御装置のプロ ッ ク 図、  FIG. 2 is a block diagram of a servomotor control device for performing the method of the present invention.
図 3 は、 図 2 に示 したディ ジタルサーボ回路のブロセ ッ サが I T P周期毎に実施する処理のフ ローチ ヤ一 ト 、 図 4 は、 図 2 に示 したディ ジタルサーボ回路のブロセ ッ サが位置及び速度ループ処理周期毎に実施する処理の フ ロ ー チヤ一 ト 、  Fig. 3 is a flowchart of the processing performed by the processor of the digital servo circuit shown in Fig. 2 every ITP cycle, and Fig. 4 is the position and position of the processor of the digital servo circuit shown in Fig. 2. The flow chart of the processing executed for each speed loop processing cycle,
図 5 は、 移動指令からスムー ジ ングデー タを求める処 理の説明図、  FIG. 5 is an explanatory diagram of a process for obtaining smoothing data from a movement command,
図 6 は、 フ ィ ー ドフ ォ ワー ド量を算出する処理の説明 図、  FIG. 6 is an explanatory diagram of a process of calculating a feedforward amount,
図 7 は、 従来のフ ィ ー ドフ ォ ワー ド制御方法によ って 直線加工か ら円弧加工に移行させたと きの切削軌跡を示 す図、  Fig. 7 is a diagram showing the cutting trajectory when shifting from straight line machining to arc machining by the conventional feedforward control method.
図 8 は、 本発明のフ ィ ー ドフ ォ ワー ド制御方法によ つ て直線加工から円弧加工に移行させた と きの切削軌跡を 示す図であ る。  FIG. 8 is a diagram showing a cutting trajectory when shifting from linear machining to circular arc machining by the feedforward control method of the present invention.
発明を実施するための最良の形態 図 1 に 於いて、 D D A ( igital Differential Analyzer) 1 は C N C (コ ン ピュータ 内蔵の数値制御装 置) か ら分配周期 ( I T P周期) 毎に送られて く る移動 指令 M c m dを位置及び速度ループ処理周期毎の移動指 令に分割する。 エラ ーカ ウ ンタ 2 は D D A 1 から出力さ れる移動指令を加算 し、 各位置及び速度ループ処理周期 毎のサーボモー タの移動量を減 じて位置偏差を求める。 BEST MODE FOR CARRYING OUT THE INVENTION In Fig. 1, DDA (igital Differential Analyzer) 1 uses a position command and a speed loop to send a movement command M cmd sent from a CNC (numerical control device with built-in computer) for each distribution cycle (ITP cycle). Divide into movement instructions for each processing cycle. The error counter 2 calculates the position deviation by adding the movement command output from the DDA 1 and reducing the movement amount of the servo motor for each position and speed loop processing cycle.
3 はエラ 一カ ウ ンタ 2 に記憶された位置偏差にポ ジ シ ョ ンゲイ ン K pを乗 じて速度指令を求める項であ る。 4は 速度ループの項であ り 、 k l は積分定数、 k 2 は比例定 数を示す。 5、 6はサーボモー タ の伝達関数の項であ り、 K t は ト ノレク 定数、 J mはモー タ イ ナー シ ャ を示す。 Numeral 3 is a term for obtaining a speed command by multiplying the position deviation stored in the error counter 2 by the position gain Kp. 4 is a term of the velocity loop, where kl is an integral constant and k2 is a proportional constant. 5 and 6 are the terms of the transfer function of the servomotor, Kt is the Tonnell constant, and Jm is the motor inertia.
1 0及び 1 1 はサーボモータ に結合された機械の伝達関 数の項であ り 、 K mはパネ定数、 C mは粘性項、 J L は 機械のイ ナ一シ ャ を示す。 1 2は速度を位置に変換する 伝達関数の項である。 10 and 11 are the terms of the transfer function of the machine coupled to the servomotor, K m is the panel constant, C m is the viscous term, and J L is the machine inertia. 1 2 is a term of a transfer function for converting speed into position.
7 は先行スム一 ジ ング処理の項、 8 は先行ス ムー ジ ン グ処理によ って得られた先行スムー ジ ングデー タ S M D よ り位置のフ ィ 一 ドフ ォ ヮ ー ド量 F F pを求める項であ り 、 k はサーボモー タ に接続される機械の特性、 後述す る加速度変化に応じて調整されるパラ メ ー タを示 し、 な は位置のフ ィ ー ドフ ォ ワ ー ド係数であ る。 9 は先行スム — ジ ングデータ S M Dを微分 して、 即ち、 当該周期のス ム一 ジ ングデー タ と 1周期前のスムー ジ ングデータ から 速度のフ ィ ー ドフ ォ ワー ド量 F F vを求める項であ る。 尚、 T s は位置及び速度ループの周期であ る。 7 is the term of the preceding smoothing process, and 8 is the feed-forward amount FF p of the position from the preceding smoothing data SMD obtained by the preceding smoothing process. Where k is the characteristic of the machine connected to the servomotor and the parameter that is adjusted according to the change in acceleration, which is described later.Nana is the feed-forward coefficient of the position. is there. 9 is a term for differentiating the preceding smoothing data SMD, that is, a term for obtaining the velocity feedforward amount FFv of the speed from the smoothing data of the current cycle and the smoothing data of the previous cycle. It is. Note that T s is the period of the position and velocity loops.
I T P周期毎、 C N C等の数値制御装置から移動指令 M c m d が出力され、 D D A 1 によ って位置及び速度ル ーブ処理周期 T s 毎の移動指令が求め られる。 この移動 指令と位置のフ ィ ー ドバッ ク量よ り エラー レ ジスタ 2で 位置偏差が求め られ、 こ の位置偏差にポ ジ シ ョ ンゲイ ン K p が乗 じ られて速度指令 V c 1 が求め られる。 一方、 先行スムー ジ ング手段 7 によ って上記式 ( 1 ) の処理若 し く は、 当該 I T P周期の移動指令 M c m d と該 I T P 周期の前後の I T P周期の移動指令 M c m d に基づいて 先行スムー ジ ングデータ S M Dを求める。  At each ITP period, a movement command Mcmd is output from a numerical control device such as CNC, and DDA1 obtains a movement command for each position and velocity loop processing period Ts. The position error is obtained by the error register 2 from the movement command and the feedback amount of the position, and the position error is multiplied by the position gain Kp to obtain the speed command Vc1. Can be On the other hand, the leading smoothing means 7 performs processing based on the processing of the above equation (1) or based on the movement command Mcmd of the ITP cycle and the movement command Mcmd of the ITP cycle before and after the ITP cycle. Obtain smoothing data SMD.
先行スムー ジ ングデータ S M Dを用いて、 指令の加速 度変化がし き い値 A よ り 小さ いと き には、 次の式 ( 4 ) の演算によ って位置のフ ィ 一 ドフ ォ ヮ ー ド量 F F p を算 出 し、 指令の加速度変化がし き い値 A以上のと き には、 所定の期間だけ次の式 ( 5 ) の演算によ って位置のフ ィ ー ドフ ォ ワー ド量 F F p を算出する (項 8 の処理) 。  If the change in the acceleration of the command is smaller than the threshold value A using the preceding smoothing data SMD, the position feed-forward is calculated by the following equation (4). When the command acceleration change is equal to or greater than the threshold value A, the position feed-forward is calculated for a predetermined period by the calculation of the following equation (5). Calculate the load amount FF p (processing in item 8).
指令の加速度変化が小さい と き、  When the command acceleration change is small,
FFp= { k a + ( 1 - k a ) Z " · S M D FFp = {k a + (1-k a) Z "
= a { k a * S M D 0+ ( l - k a ) · S M D 1}  = a {k a * S M D 0+ (l-k a) · S M D 1}
( 4 )  ( Four )
指令の加速度変化が大きい と き、  When the acceleration change of the command is large,
FFp= a {( k a + k b ) + ( 1 - k a — k b ) Z "a } · S M D = { ( k a + k b )SMD0+ ( 1 - k a - k b )SMD1} FFp = a {(ka + kb) + (1-ka — kb) Z " a } · SMD = {(ka + kb) SMD0 + (1-ka-kb) SMD1}
( 5 ) 尚、 S M D Oは当該位置及び速度ループ処理周期で算 出された先行スムー ジ ングデータ、 S M D 1 は 1位置及 び速度ループ処理周期前に算出された先行スムー ジ ング データを表わ し、 指令の加速度変化が し き い値 A以上の と き には、 指令の加速度がし きい値 Aよ り 小さ いと き と 較べ、 フ ィ ー ドフ ォ ワー ド量 F F pは、 当該周期の先行 スムー ジ ングデータ S M D Oの k b だけ増加 し、 1周期 T s前に算出された先行スムー ジ ングデ一 夕 S M D 1の k bだけ減少するので、 フ ィ 一 ドフ ォ ヮ ー ド量 F F p は k b に対応する所定時間だけ時間的に進め られる こ と に な る。 ( Five ) Note that SMDO indicates the preceding smoothing data calculated in the position and speed loop processing cycle, and SMD 1 indicates the preceding smoothing data calculated one position and the speed loop processing cycle earlier. When the acceleration change is equal to or greater than the threshold value A, the feedforward amount FFp is equal to the preceding smoothing of the cycle, compared to when the commanded acceleration is smaller than the threshold value A. Since the data increases by SMDO kb and decreases by the preceding smoothing data SMD 1 kb calculated one cycle Ts before, the feed-forward amount FFp is a predetermined time corresponding to kb. Only in time.
そ して、 上記位置ループ処理によ って求め られた速度 指令 V c 1 に上記位置のフ ィ 一 ドフ ォ ヮ ー ド量 F F pを 加算 して位置のフ ィ 一 ドフ ォ ヮ ー ド制御が実行された速 度指令 V c を求める。 こ の速度指令 V c か らサーボモー 夕 からの速度フ ィ 一 ドバッ ク量を減じて速度偏差を求め 従来と同様の速度ループ処理を実行 し ト ルク指令 T c 1 を求める。 ま た、 先行スムー ジ ングデータ S M Dを微分 (当該周期の先行スムー ジ ングデータ から前周期の先行 スムー ジ ングデー タを減 じてこ の微分値を得る) して得 られる値に、 サーボモー タの トルク定数 K t 、 イ ナー シ ャ J m、 該サーボモータ に結合された機械のイ ナー シ ャ J L によ って決ま る定数 ( J m + J L ) K t 及び速度 フ ィ 一 ドフ ォ ヮ 一 ド係数) 5を乗じて速度のフ ィ 一 ドフ ォ ワー ド量 F F vを求める。 すなわち、 次の式 ( 6 ) の演 算を行な って速度のフ ィ 一 ドフ ォ ヮー ド量 F F V を求め る。 Then, the position feed-forward control of the position is performed by adding the feed-forward amount FFp of the position to the speed command Vc1 obtained by the position loop processing. Find the speed command V c at which was executed. From this speed command Vc, the speed feedback amount from the servomotor is subtracted to determine the speed deviation, and the same speed loop processing as in the past is performed to obtain the torque command Tc1. In addition, the value obtained by differentiating the preceding smoothing data SMD (obtaining the differential value by subtracting the preceding smoothing data of the previous cycle from the preceding smoothing data of the cycle) to the value obtained by calculating the servo motor torque. Constant K t, inertia J m, constant (J m + JL) K t determined by inertia JL of the machine coupled to the servomotor, and velocity feed-forward Multiply by 5 to find the speed feedforward amount FFv. That is, the performance of the following equation (6) Calculation to find the speed feed-forward amount FFV.
F F V = {^ ( J m + J L)/K t } {(1一 Z - /T s } S M D  F F V = {^ (J m + J L) / K t} {(1-Z-/ T s} S M D
= {β ' ( J m + J L)/K t } (S M D 0- S M D l)  = {β '(J m + J L) / K t} (S M D 0- S M D l)
( 6 ) このフ ィ 一 ドフ ォ ヮ一 ド量 F F V を上述 した速度ルー ブ処理によ って得られた トルク指令 T c 1 に加算 し、 速 度の フ ィ 一 ドフ ォ ヮ ー ド制御が行なわれた ト ルク指令 T c を求め、 該 トルク指令 T c によ ってサ一ボモー タを 駆動する ものである。  (6) This feed-forward amount FFV is added to the torque command Tc1 obtained by the above-described speed loop processing, and the speed feed-forward control is performed. The executed torque command Tc is obtained, and the servomotor is driven by the torque command Tc.
図 2 は、 本発明を適用 したサーボモータ制御系のプロ ッ ク図であ り 、 構成は従来のデジタルサーボ制御を行な う装置と同一構成であるので、 概略的に示 している。  FIG. 2 is a block diagram of a servomotor control system to which the present invention is applied. The configuration is schematically shown because the configuration is the same as that of a conventional device for performing digital servo control.
図 2 において、 2 0は コ ン ピュータ数値制御装置 ( C N C ) 、 2 1 は共有 R A M、 2 2 は C P U、 R O M、 R A M等を有するディ ジ タルサーボ回路、 2 3 は ト ラ ン ジスタ イ ンバ一 夕等のサーボア ンブ、 Mはサーボモータ、 2 4はサーボモータ Mの回転と共にパルスを発生するバ ルス コ ーダであ る。 なお、 図 2 には、 1軸のサーボモー タのみを示 している。  In FIG. 2, 20 is a computer numerical controller (CNC), 21 is a shared RAM, 22 is a digital servo circuit having a CPU, ROM, RAM, etc., and 23 is a transistor driver. , M is a servomotor, and 24 is a pulse coder that generates pulses with the rotation of the servomotor M. FIG. 2 shows only a single-axis servo motor.
C N C 2 0は、 I T P周期 (分配周期) 毎に移動指令 M c m dを共有 R A M 2 1 に書込み、 ディ ジタルサーボ 回路 2 2の C P Uはこの移動指令 M c m dを共有 R A M 2 1 か ら読取り 、 上記 I T P周期を N個に分割 した周期 T s ( I T P周期 = T s X N ) で、 位置及び速度ループ 処理を行な う。 I T P周期毎、 N C 2 0か ら出力される 移動指令 M c m dが I T P周期中均等に分配される よ う に位置及び速度ループ処理 T s における移動指令を求め ( D D A処理) 、 こ の移動指令とパルスコ ーダ 2 4から のフ ィ 一 ド ノく ッ ク ノ ルス によ って得られるサー ボモー タ Mの現在位置との差よ り 位置ループ処理を行な う と共に、 後述する位置のフ ィ 一 ドフ ォ ヮー ド制御処理を行な って 速度指令を求める。 次に、 求め られた速度指令とパルス コ ーダ 2 4力、らのフ ィ 一 ド ノ' ッ ク バルスに よ っ て得 られ るサーボモータ Mの実速度よ り速度ループ処理、 さ らに は速度のフ ィ 一 ドフ ォ ヮー ド処理を行ない、 ト ルク指令 (電流指令) を求める。 そ して、 電流ルーブ処理を行な い、 P WM指令を作成 し、 サーボア ンブ 2 3を介 してサ ーボモータ Mを駆動する。 The CNC 20 writes the movement command Mcmd into the shared RAM 21 for each ITP cycle (distribution cycle), and the CPU of the digital servo circuit 22 reads the movement command Mcmd from the shared RAM 21 and executes the above ITP cycle. Position and velocity loop with a period T s (ITP period = T s XN) Perform processing. In each ITP cycle, a movement command in the position and velocity loop processing T s is determined so that the movement command Mcmd output from the NC 20 is evenly distributed during the ITP cycle (DDA processing). The position loop processing is performed based on the difference from the current position of the servomotor M obtained by the feed knocking pulse from the pulse coder 24, and the position of the servo motor M is described later. Performs speed control processing to obtain a speed command. Next, speed loop processing is performed from the actual speed of the servo motor M obtained by the obtained speed command and the pulse coder 24 force, the feed-nod valve, and the like. Performs speed feed-forward processing and finds the torque command (current command). Then, current lube processing is performed, a PWM command is created, and the servo motor M is driven via the servo amplifier 23.
次に、 ディ ジタルサーボ回路 2 2の C P Uが実施する Next, the CPU of the digital servo circuit 22 performs
I T P周期毎に実施する処理について図 3 を参照して説 明する。 The processing performed for each ITP cycle will be described with reference to FIG.
ディ ジタルサーボ回路 2 2の C P Uは、 先ずステ ッ プ S 1 に於 い て、 C N C 2 0 か ら 分配 さ れた移動指令 M c m dを共有メ モ リ 2 1 か ら読み取り 、 ステ ッ プ S 2 に於いて レ ジス タ R 3 に レ ジスタ R 2 に記憶された値、 レ ジス タ R 2 に レ ジス タ R 1 に記憶された値、 レ ジス タ R 1 にステ ッ プ S 1 で読み取った移動指令 M c m dを格 納する。  First, in step S1, the CPU of the digital servo circuit 22 reads the movement command Mcmd distributed from the CNC 20 from the shared memory 21 and sends it to step S2. At this time, the value stored in register R2 is stored in register R3, the value stored in register R1 is stored in register R2, and the movement read in step S1 is stored in register R1 Stores the command M cmd.
後述する よ う に、 通常の位置及び速度ループの処理は レ ジス タ R 2 に記憶された移動指令 M c m dの値に基づ いて実行されるため、 移動指令 M c m dは 1 つ先読みさ れる こ と になる。 レ ジス タ R 1 には、 位置及び速度ルー ブの処理を行な う移動指令 M c m d に対して 1 I T P周 期だけ時間的に進んだ (未来の) 移動指令 M c m d、 レ ジスタ R 2 には、 当該位置及び速度ループ処理周期の移 動指令 M c m d、 レ ジス タ R 3 には 1 I T P周期だけ時 間的に遅れた (過去の) 移動指令 M c m dが夫々記憶さ れる こ と になる。 なお、 レ ジスタ R 1、 R 2及び R 3 に は初期設定に於いて 「 0 」 が格納されてい る。 As described below, the normal position and velocity loop processing is Since execution is performed based on the value of the movement command Mcmd stored in the register R2, one movement command Mcmd is read ahead. Register R 1 has a (future) movement command M cmd that is temporally advanced by one ITP cycle with respect to the movement command M cmd for processing the position and velocity loops. Means that the movement command Mcmd of the position and speed loop processing cycle is stored in the register R3, and the (past) movement command Mcmd delayed by one ITP cycle is stored in the register R3. . Note that “0” is stored in registers R1, R2, and R3 by default.
ステ ッ プ S 3 に於いて位置及び速度ループ処理周期の 指標を示すカ ウ ン タ C 1 の値を 「 0」 にセ ッ トする。  In step S3, the value of the counter C1 indicating the index of the position and speed loop processing cycle is set to "0".
ステ ッ プ S 4 に於いては、 先ずレ ジスタ R 1 に記憶さ れた値から レ ジスタ R 2 に記憶された値を減 じて、 当該 I T P周期の移動指令 M c m d と 1 I T P周期先 (未来) の移動指令 M c m d の差を求める。 こ の差は当該周期と 次周期との加速度を表わす。 即ち、 I T P周期毎に分配 される移動指令は、 所定時間 ( I T P周期) の移動指令 であるから速度を表わ し、 当該周期と次周期の移動指令 (速度) の差は、 加速度を表わすこ と にな る。 同様に、 レ ジス タ R 2 に記憶された値から レ ジスタ R 3 に記憶さ れた値を減 じて、 1 I T P周期前 (過去) から当該周期 におけ る加速度を求め、 上記 2つの加速度の差の絶対値 I ( R 1 - R 2 ) - ( R 2 - R 3 ) I が設定された し き い値 A以上か否か判断する。 加速度の差の絶対値が し き い値 A以上の と き には、 力 ゥ ンタ C 2 に設定値 Bを格納 し当該 I T P周期の処理を 終了する。 また、 し きい値 Aよ り上記加速度の差が小さ いと き には、 カ ウ ン タ C 2をセ ッ トする こ とな く こ の処 理を終了する。 つま り 、 加速度変化が し き い値 A以上の と きのみカ ウ ンタ C 2 は Bの値にセ ッ ト される。 以下各 I T P周期毎こ の処理を実行する。 なお上記 Bの値は、 加速度変化に対 してサーボ系が遅れる時間 (通常 2 0〜 3 0 m s e c程度) に対応して設定された正の整数値と する。 In step S4, first, the value stored in the register R2 is subtracted from the value stored in the register R1, and the movement command Mcmd of the ITP cycle and one ITP cycle ahead ( Find the difference between the future movement commands M cmd. This difference represents the acceleration between the current cycle and the next cycle. That is, since the movement command distributed for each ITP cycle is a movement command for a predetermined time (ITP cycle), it represents the speed, and the difference between the cycle and the next cycle movement command (speed) represents the acceleration. And Similarly, the value stored in the register R3 is subtracted from the value stored in the register R2, and the acceleration in that cycle is calculated one ITP cycle before (in the past). The absolute value of the difference I (R 1-R 2)-(R 2-R 3) Determines whether I is greater than or equal to the set threshold A If the absolute value of the acceleration difference is equal to or greater than the threshold value A, the set value B is stored in the force counter C2, and the processing of the ITP cycle ends. If the difference between the accelerations is smaller than the threshold value A, the process ends without setting the counter C2. That is, the counter C 2 is set to the value of B only when the acceleration change is equal to or more than the threshold value A. Hereinafter, this process is executed in each ITP cycle. The value of B above is a positive integer value set corresponding to the time (usually about 20 to 30 msec) that the servo system delays with respect to the change in acceleration.
次に、 ディ ジタルサーボ回路 2 2の C P Uが位置及び 速度ループ処理周期 T s 毎に実行する処理について図 4 のフ ロ ー チ ヤ一 トを参照 して説明する。  Next, processing executed by the CPU of the digital servo circuit 22 at each position and speed loop processing cycle Ts will be described with reference to the flowchart of FIG.
ディ ジタ ルサーボ回路 2 2の C P Uは、 ステ ッ プ A 1 に於いて、 カ ウ ンタ C 1 の値が、 分割数 N ( = I T P周 期 位置及び速度ループ処理周期) の 1 / 2 よ り小さい か否かを判断する。 カ ウ ンタ C 1 の値が N Z 2 よ り 小さ いな らば、 ステ ッ プ A 2でアキュム レー タ S U Mに レ ジ ス タ R 2の値か ら レ ジス タ R 3の値を減 じた値を加算し、 ま た、 カ ウ ンタ Cの値が N Z 2以上であれば、 ステ ッ プ A 3 に於いてアキュム レータ S U Mに レ ジス タ R 1 の値 から レ ジス タ R 2の値を減じた値を加算し、 ステ ッ プ A 4 に移行する。 尚、 アキュム レー タ S U Mの値は初期設 定に於いて 「 0」 に されている。  In the CPU of the digital servo circuit 22, in step A 1, the value of the counter C 1 is smaller than 2 of the number of divisions N (= ITP cycle position and speed loop processing cycle) It is determined whether or not. If the value of the counter C1 is smaller than NZ2, the value of the register R2 is subtracted from the value of the register R2 in the accumulator SUM in step A2. If the value of the counter C is NZ2 or more, the value of the register R2 is subtracted from the value of the register R1 to the accumulator SUM in step A3. Then, the process proceeds to step A4. Note that the value of the accumulator SUM is set to "0" in the initial setting.
ステ ッ プ A 4 に於いてアキュム レー タ S U Mの値を上 記分割数 N の 2 乗で除算 し、 先行ス ム ー ジ ングデー タ S D M 0 を求める。 次に、 カ ウ ンタ C 1 をイ ンク リ メ ン トする (ステ ッ プ A 5 ) o こ のステ ッ プ A 1〜 A 5 まで の処理が先行ス ムー ジ ングデータ S D M 0 を求める処理 である。 Increase the value of the accumulator SUM in step A4. Divide by the square of the number of divisions N to obtain the preceding smoothing data SDM0. Next, the counter C1 is incremented (step A5). O The processing of steps A1 to A5 is the processing for obtaining the preceding smoothing data SDM0. is there.
前述 した式 ( 1 ) に基づく 先行スムー ジ ング処理は、 位置及び速度ループ毎の移動指令 ( D D A処理後の移動 指令) を用いて先行ス厶一 ジ ングデー タ S D M 0 を求め る ものであ っ た。 こ の方法だと処理が複雑にな るが、 上 記ステ ッ プ A 1 〜A 5 の処理の先行スム一 ジ ング処理で は、 分配周期毎の移動指令 M c m d か ら比較的簡単な処 理によ って先行スム一 ジ ングデー タを求める こ とが出来 る。 上記式 ( 1 ) で求め られる先行スムー ジ ングデータ と上記ステ ッ プ A 1 〜 A 5 の処理で求め られる先行スム 一ジ ングデー タが実質的に同一である こ と は後述する。  The preceding smoothing processing based on the above-mentioned equation (1) is to obtain the preceding smoothing data SDM0 using the movement command for each position and speed loop (the movement command after DDA processing). Was. This method complicates the processing, but in the preceding smoothing processing of the processing in steps A1 to A5, relatively simple processing is performed from the movement command Mcmd for each distribution cycle. It is possible to obtain the preceding smoothing data based on the theory. It will be described later that the preceding smoothing data obtained by the above equation (1) is substantially the same as the preceding smoothing data obtained by the processing of steps A1 to A5.
尚、 式 ( 1 ) に基づいて先行スムー ジ ングデータ を求 める処理については上述の P C T Z J P 9 I / O 1 5 3 7 号及び P C T Z J P 9 2 / 0 1 1 5 0号に詳細に記載 されている。  The process of obtaining the preceding smoothing data based on the equation (1) is described in detail in PCTZJP 9 I / O 1537 and PCTZJP 92/0 1150 described above. I have.
次にステ ッ プ A 6 に於いて、 上記カ ウ ン タ C 2 の値が 正であ るか否か判断する。 カ ウ ン タ C 2 が正でなければ ( 「 0」 であれば) 、 ステ ッ プ A 7 に移行 し、 当該位置 及び速度ループ処理周期で求め られたスムー ジ ングデ一 夕 S M D 0 と レ ジス タ に記憶された 1 周期前のスムー ジ ングデータ S M D 1 よ り上記式 ( 4 ) の演算を行ない、 位置のフ ィ 一 ドフ ォ ヮー ド量 F F pを求める。 Next, in step A6, it is determined whether or not the value of the counter C2 is positive. If the counter C2 is not positive (if it is “0”), the process proceeds to step A7, and the smoothing data SMD0 and the register obtained at the position and speed loop processing cycle are obtained. From the smoothing data SMD 1 one cycle before stored in the data, the above formula (4) is calculated, and Find the position feed-forward amount FF p.
前述のステ ッ プ S 5 に於いてカ ウ ンタ C 2 に設定値 B が格納され、 且つ該カ ウ ンタ C 2の現在値が正であ る場 合には、 ステ ッ プ A 8で該カ ウ ン タ C 2か ら 「 1」 を減 じ、 ステ ッ プ A 9で上記式 ( 5 ) の演算を行な って位置 のフ ィ 一 ドフ 才 ヮー ド量 F F pを求める。  If the set value B is stored in the counter C2 in step S5 described above, and the current value of the counter C2 is positive, the counter C2 is set in step A8. After subtracting “1” from the counter C 2, the arithmetic operation of the above equation (5) is performed in step A 9 to obtain the feed-off head amount FF p of the position.
次に、 ステ ッ プ A 1 0 に移行 して レ ジス タ R 2 に格納 された移動指令 M c m d に基づいて D D Aの処理を行な い、 位置及び速度ループ処理周期の移動指令を求める。  Next, the process proceeds to step A10 to perform DDA processing based on the movement command Mcmd stored in the register R2, thereby obtaining a movement command for the position and speed loop processing cycle.
尚、 作動開始時の最初の I T P 1周期の期間は、 レ ジ ス 夕 R 2 には移動指令 M c m dが記憶されていないから、 位置及び速度ループの移動指令は 「 0」 である。 即ち、 スムー ジ ング処理及びフ ィ 一 ドフ ォ ヮー ド処理のみが 1 I T P周期先行 して実行される こ とになる。 こ のこ とは、 フ ィ 一 ドフ ォ ヮ— ド処理は位置及び速度ループの処理よ り 1 I T P周期先行 して行なわれる こ とを意味する。  Note that during the first ITP1 cycle at the start of operation, the movement command Mcmd is not stored in the register R2, so the movement command of the position and speed loop is "0". In other words, only the smoothing processing and the feed-forward processing are executed in advance of one ITP cycle. This means that the feed-forward processing is performed one ITP period before the processing of the position and velocity loops.
ステ ッ プ A 1 0の処理で求め られた位置及び速度ルー ブ処理周期の移動指令及びパルス コー ター 2 4からの位 置のフ ィ ー ドバッ ク量に基づいて、 従来と同様の位置ル ー ブ処理を行な い速度指令 V c 1 を求め (ステ ッ プ A 1 1 ) 、 速度指令 V c 1 にステ ッ プ A 7 ま たはステ ッ プ A 9で求めた位置のフ ィ 一 ドフ ォ ヮー ド量 F F pを加算 し、 位置のフ ィ ー ドフ ォ ワー ド処理を した速度指令 V c を求める (ステ ッ プ A 1 2 ) 。 こ の速度指令 V c と速度 フ ィ 一 ドバ ッ ク信号によ り従来と同様の速度ループ処理 を行ない ト ルク指令 T c 1 を求める (ステ ッ プ A 1 3 ) c 更に、 当該周期で求めたスムー ジ ングデー タ S M D 0 と レ ジス タ に記憶 さ れた前周期のス ム ー ジ ングデー タ S M D 1 によ り 上記式 ( 6 ) の演算を行ない速度のフ ィ ー ドフ ォ ワ ー ド量 F F vを求める (ス テ ッ プ A 1 4 ) 。 こ の速度フ ィ 一 ドフ ォ ヮ ー ド量 F F V をステ ッ プ A 1 0 で求めた ト ルク指令 T e l に加算 し、 速度フ ィ ー ドフ ォ ワ ー ド制御がされた ト ルク指令 T c を求め (ステ ッ プ A 1 5 ) 、 電流ループに こ の ト ルク指令 T c を引 き渡す (ステ ッ プ A 1 6 ) 。 そ して、 当該周期で求めたス ム一 ジ ングデー タ S M D 0 を次の周期で 1 周期 T s 前のスム 一ジ ングデー タ S M D 1 と して使用するために レ ジスタ に格納 し (ステ ッ プ A 1 7 ) 、 当該位置及び速度ループ の処理を終了する。 以下、 C P Uは各位置及び速度ルー ブ処理周期 T s 毎に図 4 に記載された処理を実行する。 Based on the position and speed loop processing cycle movement command obtained in step A10 and the feedback amount at the position from the pulse coater 24, the same position loop as before is performed. The speed command Vc1 is obtained by performing the step processing (step A11), and the speed command Vc1 is fed to the position feedthrough of the position obtained in step A7 or step A9. The speed command Vc that has been subjected to the position feedforward processing is obtained by adding the mode amount FFp (step A12). This speed command Vc and speed feedback signal enable the same speed loop processing as before. To obtain the torque command Tc1 (Step A13) c. Further, the smoothing data SMD0 obtained in the cycle and the smoothing data of the previous cycle stored in the register are obtained. The calculation of the above equation (6) is performed by the SMD 1 to determine the feedforward amount FFv of the speed (step A14). This speed feedforward amount FFV is added to the torque command Tel obtained in step A10, and the torque command Tc under speed feedforward control is added. (Step A15), and passes the torque command Tc to the current loop (Step A16). Then, the smoothing data SMD0 obtained in the cycle is stored in a register so as to be used as the smoothing data SMD1 one cycle T s before in the next cycle (step S10). Step A 17), terminate the processing of the position and speed loop. Hereinafter, the CPU executes the processing described in FIG. 4 for each position and speed loop processing cycle T s.
なお、 上記各実施例においては、 速度のフ ィ ー ドフ ォ ワー ド制御 も実施する例を述べたが、 必ず し も速度のフ イ ー ドフ ォ ワ ー ド制御は実施 しな く て もよい。  In each of the above embodiments, the example in which the speed feedforward control is also performed has been described. However, the speed feedforward control need not always be performed. .
次に、 先行スムー ジ ングデー タを得る方法と して、 上 述 した処理方法と式 ( 1 ) によ っ て求める方法が実質的 に同一であ る こ とを図 5 を参照して説明する。  Next, with reference to FIG. 5, it will be described that a method of obtaining the preceding smoothing data is substantially the same as the above-described processing method and a method of obtaining the same by the equation (1). .
I T P周期間に位置及び速度周期が 4回であ る と し、 すなわち N = 4 と し、 式 ( 1 ) の進め量 dを 2 と したと き の例で説明す る。 I T P周期の n周期での移動指令 M c m dを Q nと し、 n ≤ 0では Q n = 0、 n ≥ l に於 いて移動指令 Q l、 Q 2、 〜、 Q n、 …が分配された もの とする。 ま た、 各 I T P周期に於ける移動指令 Q l、 Q2、 Q 3を 4分割 した位置及び速度ループの移動指令を各々 q 1. q 2、 q 3とする。 D D Aでの位置及び速度ループ での移動指令は各周期毎均等にな るよ う にする ものであ るから Q n/N = QnZ 4 = q n となる。 そ うする と、 上 記ステ ッ プ A 1 〜A 5 におけるカ ウ ン タ C l、 アキュム レー 夕 S U M及び先行スムー ジ ングデータ S M D 0 の値 は次の表 1 のよ う になる。 An example will be described in which the position and velocity periods are four times during the ITP period, that is, N = 4, and the advance amount d in Equation (1) is 2. The movement command M cmd for n cycles of the ITP cycle is Q n, and when n ≤ 0, Q n = 0 and n ≥ l And movement commands Ql, Q2, ..., Qn, ... are distributed. Also, the respective q 1. q 2, q 3 motion commands of each in the move command to the ITP period Q l, Q2, Q 3 and 4 divided position and velocity loop. Since the movement commands in the position and speed loops in the DDA are to be made uniform in each cycle, Qn / N = QnZ4 = qn. Then, the values of the counter Cl, the accumulation sum SUM, and the preceding smoothing data SMD0 in the above steps A1 to A5 are as shown in Table 1 below.
Figure imgf000020_0001
表 1 から分かるよ う に、 I T P周期 n周期の先行スム 一ジ ングデータ S M Dは、
Figure imgf000020_0001
As can be seen from Table 1, the preceding smoothing data SMD with n ITP cycles is
1 番目の位置及び速度ループ周期では、  In the first position and velocity loop period,
( q »-!+ 3 q „) / 4  (q »-! + 3 q„) / 4
2番目の位置及び速度ループ周期では、  In the second position and velocity loop period,
Q n  Q n
3番目の位置及び速度ループ周期では、  In the third position and velocity loop period,
( 3 q „ + q „ + ι) Z 4 (3 q „+ q„ + ι) Z 4
4番目の位置及び速度ループ周期では、  In the fourth position and velocity loop period,
( 2 q n + 2 q n + i) / 4 (2 q n + 2 q n + i) / 4
と な り 、 こ れは、 当該位置及び速度ループ周期の移動指 令、 1 つ前 (過去) の移動指令、 1つ先 (未来) の移動 指令及び 2つ先の移動指令を加算 し 4で除 して先行スム 一ジ ングデータ S M Dを求めている こ とを示 している。 Therefore, this is obtained by adding the movement command of the position and speed loop cycle, the previous (past) movement command, the next (future) movement command, and the second movement command and adding 4 In other words, it indicates that the preceding smoothing data SMD is required.
一方、 式 ( 1 ) で求め られる先行ス ム一 ジ ングデー タ S M Dは次の式 ( 7 ) と なる。  On the other hand, the preceding smoothing data SMD obtained by the equation (1) is represented by the following equation (7).
S M D = Z 2 ( l + Z - '+ Z -'+ Z "3) q , / 4 SMD = Z 2 (l + Z-'+ Z-' + Z " 3 ) q, / 4
= ( Ζ 2 + Ζ 1 + 1 + Ζ -1) q j / 4 = { q (j + 2)+ q (j + l)+ q (j) + q (j-1)} Z 4 = (Ζ 2 + Ζ 1 + 1 + Ζ- 1 ) qj / 4 = {q (j + 2) + q (j + l) + q (j) + q (j-1)} Z 4
··· ( 7 ) なお、 上記式 ( 7 ) に於いて q ( j )は j 番目の位置及 び速度ループ周期の移動指令を示 しており 、 式 ( 7 ) か ら分かるよ う に、 先行スムー ジ ングデー タ S M Dは、 当 該周期 j の位置及び速度ループの移動指令 q (j)、 1 つ 前 (過去) の移動指令 q (j-l)、 1 つ先 (未来) の移動 指令 q (j + l)、 及び 2つ先の移動指令 q (j + 2)を加算 し 4 で除 して求めている こ とを示 しており 、 上記式 ( 7 ) で 求める先行スム一 ジ ングデー タ S M D と上記ステ ッ プ A(7) In the above equation (7), q (j) indicates the movement command for the j-th position and velocity loop cycle. As can be seen from equation (7), The preceding smoothing data SMD includes the movement command q (j) of the position and velocity loop of the cycle j, the movement command q (jl) of the immediately preceding (past), and the movement of the preceding (future). It shows that the command q (j + l) and the movement command q (j + 2) two ahead are added and the result is divided by 4, and the preceding sum calculated by the above equation (7) is obtained. Switching data SMD and step A above
1 〜A 5で求める先行スムー ジ ングデータ S M Dは同一 である こ とを表 している。 The preceding smoothing data SMD obtained in 1 to A5 indicates that they are the same.
そ こ で、 上記式 ( 7 ) を用いて、 位置のフ ィ ー ドフ ォ ヮ 一 ド量 F F p を表わすとする と 位置及び速度ループ 周期 j の点での先行スム 一 ジ ングデー タ S D M0 は式  Therefore, if the feed-forward quantity FF p of the position is expressed by using the above equation (7), the preceding smoothing data SD M0 at the point of the position and velocity loop period j is Expression
( 7 ) よ り 、  (7)
S M D 0= {q (j + 2)+ q (j + l)+ q (j) + q (j-1)}/ 4  S M D 0 = {q (j + 2) + q (j + l) + q (j) + q (j-1)} / 4
… ( 8 ) 該周期 j よ り 1周期前 ( j - 1 ) の先行スムー ジ ング データ S D M I は次の式 ( 9 ) となる。  (8) The preceding smoothing data S DMI one cycle (j-1) before the cycle j is given by the following equation (9).
S M D 1= { q (j + 1) + q (j) + q (j-1) + Q (j-2)}/ 4  S M D 1 = {q (j + 1) + q (j) + q (j-1) + Q (j-2)} / 4
… ( 9 ) よ って位置のフ ィ 一 ドフ ォ ヮ 一 ド量 F F p は次のよ う に o  … (9) Thus, the position feed-off amount F F p is given by o
F F p = α { k - S M D 0+ ( 1 - k ) S M D 1}  F F p = α {k-S M D 0+ (1-k) S M D 1}
= ( /4 )[k { q (j + 2)+ q (j + 1) + q j+ q (j-1)} + (1- k ) {q (j + l)+ q (j) + q (j-l)+ q (j-2)}] = (/ 4) [k {q (j + 2) + q (j + 1) + q j + q (j-1)} + (1- k) (q (j + l) + q (j) + q (jl) + q (j-2)}]
= (a /4 )[{q (j + 1) + q (j) + q (j-1) + q (j-2)} + k { q (j+2) - q (j-2)}] = (a / 4) [{q (j + 1) + q (j) + q (j-1) + q (j-2)} + k {q (j + 2)-q (j-2) }]
… ( 1 0 ) そ こ で、 図 6 に示すよ う に、 位置及び速度ループが j 周期で、 I T P周期の切換え直後の周期である とする と、 レ ジス タ R l には、 1 I T P周期先 (未来) の移動指令 Q 3が、 レ ジス タ R 2 には、 当該位置及び速度ループの に対応する I T P周期の移動指令 Q 2が、 ま た、 レ ジス タ R 3 には、 1 I T P周期後 (過去) の移動指令 Q 1が 格納されている こ と にな る。 尚、 この例では Q 1 = Q 2、 q l = q 1と る。 … (10) Then, as shown in Fig. 6, assuming that the position and velocity loops are j periods and are the periods immediately after the switching of the ITP period, The register Rl receives the movement command Q3 one ITP cycle ahead (future), the register R2 receives the movement command Q2 of the ITP cycle corresponding to the position and speed loop, and The register R 3 stores the movement command Q 1 after (past) one ITP cycle. In this example, Q1 = Q2 and ql = q1.
j 番目の位置及び速度ループ周期における フ ィ 一 ドフ ォ ワー ド量 F F p は上記式 ( 1 0 ) よ り 、  The feedforward amount FFp at the j-th position and velocity loop cycle is given by the above equation (10).
F F p = (a /4 ) {q 2 + q 2+ q i+ q i+ k (q 2- q i)} FF p = (a / 4) {q 2 + q 2+ q i + q i + k (q 2 -qi)}
= · q 2  = Q 2
… ( 1 1 ) 同様に ( j + 1 ) 番目の位置及び速度ループ周期では、 F F p = (a /4 ) {q 2+ q z+ q 2+ q i+ k ( q 2 - q 1 )} ... (1 1) Similarly the (j + 1) th position and speed loop period, FF p = (a / 4 ) {q 2 + q z + q 2+ q i + k (q 2 - q 1)}
= · q 2  = Q 2
( j + 2 ) 番目の位置及び速度ループ周期では、  At the (j + 2) th position and velocity loop period,
F F p = ( α / 4 ) { q 2 + q 2 + q 2 + q 2 + k ( q 3— q 2 )} FF p = (α / 4) {q 2 + q 2 + q 2 + q 2 + k (q 3 — q 2 )}
= ( /4 ) {4 q 2 + k (q a- q 2)} = (/ 4) {4 q 2 + k (q a- q 2 )}
( j + 3 ) 番目の位置及び速度ループ周期では、  At the (j + 3) th position and velocity loop period,
F F p = ( α / 4 ) { q a + q 2 + q 2 + q z + k ( q 3 - q 2 )}  F F p = (α / 4) {q a + q 2 + q 2 + q z + k (q 3-q 2)}
= ( a /4 ) 3 + 3 q 2 + k ( q 3— q 2)} とな る。 = (a / 4) 3 + 3 q 2 + k (q 3 — q 2 )}.
Q 3の移動指令が Q 1 = Q 2 に対 して小さ く 、 指令の 加速度変化がし きい値 Aよ り 小さいと き には上記 kの値 は k aであ る。 し き い値 A以上の と き には、 k = k a + k bであ り 、 指令の加速度変化が大き いか小さ いかによ つ て、 フ ィ ー ドフ ォ ワ ー ド量 F F p は、 周期 j と周期 When the movement command of Q3 is smaller than Q1 = Q2 and the change in acceleration of the command is smaller than the threshold value A, the value of k is ka. Above the threshold value A, k = ka + kb, which depends on whether the acceleration change of the command is large or small. Therefore, the feedforward amount FF p is calculated by the period j and the period
( j + 1 ) のと き には変わり はないが、 周期 ( j + 2 ) 、 周期 ( j 3 ) の と き変化が生 じ る。 即ち、 指令の加速度 変化が大き いか小さ いかによ つて、 フ ィ ー ドフ ォ ワー ド 量 F F p は、 周期 ( j + 2 ) 、 ( j + 3 ) の時、 k b There is no change when (j + 1), but a change occurs when the period (j + 2) and period (j 3). That is, depending on whether the acceleration change of the command is large or small, the feedforward amount FFp is k b at the periods (j + 2) and (j + 3).
( q „- q 2) だけの差が生じ る。 このこ と は、 1 I T P 周期先 (未来) の移動指令 Q 3 が大き く 、 従って大き く 加速された場合には加速度変化が小さ いと き と比べて、 k b ( q a - q 2) だけフ ィ ー ドフ ォ ワ ー ド量が多 く な り、 大き く 減速されたと き には、 I k b ( q 3 - q 2) I だけ フ ィ 一 ドフ ォ ヮ 一 ド量が減少させ られる こ とを意味 し、 フ ィ ー ドフ ォ ワ ー ド制御が時間的に進め られた ものとな る こ とを意味 している。 (q „-q 2 ) This occurs when the movement command Q 3 one ITP cycle ahead (future) is large, and therefore the acceleration change is small when the acceleration is large. In contrast, the feedforward amount is increased by kb (qa-q2), and when the speed is greatly reduced, only Ikb (q3-q2) I This means that the feed amount is reduced, which means that the feed-forward control is advanced in time.
ま た、 フ ィ ー ドフ ォ ワ ー ド量 F F p を次の式 ( 1 3 ) によ っ て求める こ と も出来る。 こ の場合には、 指令の加 速度変化が し き い値 T よ り小さ い と き には k の値を k a と し、 し き い値 T以上の と き には、 ¾: = 1^ 3 — 1^ (; と し てフ ィ ー ドフ ォ ワ ー ド量 F F p を求める。 この場合 も実 質的に上記実施例と同一の作用効果が得られる。  Also, the feedforward amount F F p can be obtained by the following equation (13). In this case, when the acceleration change of the command is smaller than the threshold value T, the value of k is set to ka, and when the acceleration change of the command is larger than the threshold value T, ¾: = 1 ^ The feedforward amount FFp is obtained as 3 — 1 ^ (;. In this case, the same operation and effect as those of the above embodiment can be obtained.
F F p = α { ( Ι - k ) · S M D O + k · S M D 1 } F F p = α {(Ι-k) · S M D O + k · S M D 1}
… ( 1 3 ) 尚、 先行スム ー ジ ングデー タ S M Dを求める と き に、 1 I T P周期に対する位置及び速度ループ処理周期の数 Nが 4、 8 等の偶数の場合、 例えば N = 4 のと き d の値 は 「 1 」 又は 「 2 」 、 N = 8 のと き に d の値は 「 3 」 又 は 「 4 」 に設定されるので当該位置及び速度ループ処理 周期を中心とする平均を取る こ とができない。 そのため、 先行スムー ジ ングデー タ S M Dは時間的に遅れた ものか 進んだものになる。 そ こで、 P C T Z J P 9 2 / 0 1 1 5 0号に記載されている よ う に、 進んだ先行スムー ジ ン グデー タを求め ( N = 4 のと き d = 2 と して求める) 、 該デー タ と前位置及び速度ループ周期で求めた先行スム 一ジ ングデー タ との加重平均を求める こ と によ って等価 的に時間遅れ及び進みがない先行スム ー ジ ングデー タを 求めこ れによ り フ ィ ー ドフ ォ ワー ド量を求める こ と も出 来る。 … (1 3) When the preceding smoothing data SMD is obtained, when the number N of the position and speed loop processing cycles for one ITP cycle is an even number such as 4 or 8, for example, when N = 4 The value of d is "1" or "2", and when N = 8, the value of d is "3" or Since is set to “4”, it is not possible to take an average around the position and speed loop processing cycle. Therefore, the leading smoothing data SMD will be delayed or advanced in time. Therefore, as described in PCTZJP92 / 0150, advanced advanced smoothing data is obtained (when N = 4, d = 2). By calculating the weighted average of the data and the preceding smoothing data obtained from the previous position and speed loop cycle, the preceding smoothing data with no time delay and advance is equivalently obtained. It is also possible to obtain more feedforward amount.
図 7 及び図 8 は本発明の効果を調べるために実験 した と きの結果を表す図であ り 、 半径 3 2 mmの円弧を切削す る際に、 移動速度は一定で点 P まで Y軸方向に沿っ た直 線指令を出 し、 点 P から円弧指令 3 0 を与えた と き にお ける切削軌跡が描画 されている。 ただ し、 指令に対する 実際の軌跡の誤差を表わすために実際の軌跡に対 して半 径方向に拡大 して表わされている。 そのため直線部の軌 跡 3 1 は Y軸と平行には表われていない。  FIGS. 7 and 8 are diagrams showing the results of an experiment for investigating the effect of the present invention. When cutting an arc having a radius of 32 mm, the moving speed is constant and the Y axis reaches the point P. The cutting trajectory when a linear command is issued along the direction and the circular command 30 is given from the point P is drawn. However, in order to represent the error of the actual trajectory with respect to the command, the actual trajectory is enlarged in the radial direction with respect to the actual trajectory. Therefore, the trajectory 31 of the straight part is not shown parallel to the Y axis.
図 7 は従来のフ ィ ー ドフ ォ ワー ド制御によ る もので、 本願発明のよ う な指令の加速度変化が大き いと き にフ ィ 一 ドフ ォ ヮ ー ド指令を時間的に進めず、 加速度変化に関 係な く フ ィ 一 ドフ ォ ヮ ー ド量を求めて制御 した場合の結 果を示す。 図 8 は本発明を実施したと きの実験結果を示 す。 点 Pから円弧指令に変わる と、 X軸方向の速度は 「 0」 から正弦波的に増大 し、 ま た、 Y軸方向はそれま での速度 (指令速度) か ら正弦波的に減少する。 即ち、 指令の加速度変化は点 P において急激に変化する こ と に な る。 この加速度変化が大き い点 P における実際の軌跡 を図 7 と図 8 を比較 して分かるよ う に、 本願発明を実施 した図 8 の方が、 指令に対する実際の軌跡の誤差は少な く 、 改善されている こ とが分かる。 FIG. 7 shows a conventional feedforward control. When the acceleration change of the command is large as in the present invention, the feedforward command is not advanced in time. The results are shown in the case where the control is performed by obtaining the feedback amount regardless of the acceleration change. FIG. 8 shows the experimental results when the present invention was implemented. When changing from point P to an arc command, the speed in the X-axis direction It increases sinusoidally from “0”, and decreases sinusoidally from the previous speed (command speed) in the Y-axis direction. That is, the change in acceleration of the command changes sharply at point P. As can be seen by comparing FIGS. 7 and 8 with the actual trajectory at the point P where the change in acceleration is large, the error of the actual trajectory with respect to the command is smaller in FIG. You can see that it is done.
上述の如 く 本発明によれば、 位置及び速度ループ処理 を行な っている I T P周期に於ける移動指令の加速度変 化が大きい と き に、 フ ィ 一 ドォ ヮ一 ド量が時間的に進め て算出される。 これによ り 、 フ ィ ー ドォ ワー ド量は指令 の加速度変化に応 じて正、 逆方向に増大され、 位置及び 速度ループ処理によ る ト ルク指令が正、 逆方向に増大さ せ られて、 サーボ系の立ち上がり の遅れが補償される。 その結果、 サーボモータで駆動される工作機械やロ ボッ 卜の移動軌跡が急激に変化するよ う な場合で も位置誤差 が少な く な る。  As described above, according to the present invention, when the acceleration change of the movement command in the ITP cycle in which the position and velocity loop processing is performed is large, the feed-ahead amount is temporally reduced. It is calculated by proceeding. As a result, the feedforward amount is increased in the forward and reverse directions according to the acceleration change of the command, and the torque command by the position and velocity loop processing is increased in the forward and reverse directions. As a result, the delay of the rise of the servo system is compensated. As a result, the position error is reduced even when the moving trajectory of the machine tool or the robot driven by the servomotor changes abruptly.

Claims

請 求 の 範 囲 The scope of the claims
1 . ( a ) 数値制御装置から分配周期毎に分配される移 動指令と位置のフ ィ 一 ドバッ ク量とに基づいて位置ルー ブ処理を行なって速度指令を求めるステ ッ プと、 1. (a) A step of obtaining a speed command by performing position loop processing based on the movement command distributed from the numerical controller at each distribution cycle and the position feedback amount,
( b ) 当該分配周期とその前後の分配周期の移動指令 の変化量から指令の加速度変化の大き さを検出するステ ッ ブと、  (b) detecting the magnitude of the command acceleration change from the change amount of the movement command in the distribution cycle and the distribution cycle before and after the distribution cycle; and
( c ) 前記ステ ッ プ ( b ) で検出された指令の加速度 変化の大き さが所定の し き い値以上か否かを判別するス テ ツ ブと、  (c) a step of determining whether or not the magnitude of the change in acceleration of the command detected in step (b) is equal to or greater than a predetermined threshold value;
( d ) 当該分配周期及びその前後の分配周期の移動指 令に基づいて位置のフ ィ 一 ドフ ォ ヮー ド量を算出するス テ ツ ブと、  (d) a step of calculating the feedforward amount of the position based on the movement command of the distribution cycle and the distribution cycle before and after the distribution cycle; and
前記ステ ッ プ ( d ) は、 前記ステ ッ プ ( c ) に於ける 判別結果に応じて前記加速度変化の大き さが所定の し き い値以上の と き は、 前記加速度変化の大き さが所定の し き い値よ り 小さ いと き よ り も位置のフ ィ 一 ドフ ォ ヮ一 ド 量を所定時間だけ時間的に進めて算出する こ とを含み、 ( e ) 前記ステ ッ プ ( a ) で求め られた速度指令に、 前記ステ ッ プ ( d ) で算出された位置のフ ィ ー ドフ ォ ヮ 一 ド量を加算して速度指令を補正するステ ッ プとを備え る、 サーボモー タの制御方法。  When the magnitude of the acceleration change is equal to or greater than a predetermined threshold value according to the determination result in the step (c), the magnitude of the acceleration change is determined. (E) calculating the feedforward amount of the position at a position smaller than the predetermined threshold value by advancing the feedforward amount of the position by a predetermined time. ), And a step of adding the feedforward amount at the position calculated in step (d) to the speed command obtained in step (d) to correct the speed command. Control method.
2 . 前記ステ ッ プ ( d ) は、 ( d 1 ) 先行スムー ジ ング 処理を行な つて位置ループ処理周期毎のスムー ジ ングデ 一 夕を求めるステ ッ プと、 ( d 2 ) 前記ステ ッ プ ( d l ) で求め られた当該位置 ループ処理周期のスムー ジ ングデータを S M D 0、 1 位 置ループ処理周期前のスムー ジ ングデータを S M D 1、 フ ィ ー ドフ ォ ワー ド係数をな 、 パラ メ ータを k と して、 次式の演算を行な っ て位置の フ ィ 一 ドフ ォ ヮ ー ド量 F F p を求めるステ ッ プと、 2. The step (d) includes: (d1) a step of performing a preceding smoothing process to obtain an entire smoothing data every position loop processing cycle; (d2) SMD0 is the smoothing data of the position loop processing cycle obtained in the above step (dl), SMD1 is the smoothing data before the first position loop processing cycle, and feed-forward. A step of calculating the feed-forward amount FF p of the position by performing the following equation with the word coefficient and the parameter being k;
F F p = a { k - S M D O+ (l - k ) S M D l}  F F p = a {k-S M D O + (l-k) S M D l}
( d 3 ) 前記パラ メ ー タ kの値を、 前記加速度変化の 大き さが所定の し き い値よ り 小さ いと き には k 1 、 加速 度変化の大き さが所定の し き い値以上のと き には、 所定 の期間だけ k 1 よ り 大き い k 2の値に設定するステ ッ プ とを備える、 請求の範囲第 1項に記載のサーボモー タの 制御方法。  (d3) The value of the parameter k is set to k1 when the magnitude of the acceleration change is smaller than a predetermined threshold value, and the value of the parameter k is set to a predetermined threshold value. 2. The servo motor control method according to claim 1, further comprising: setting a value of k2 larger than k1 for a predetermined period.
3. ( f ) 速度指令と速度のフ ィ ー ドバッ ク量とに基づ いて速度ループ処理を行な って ト ルク指令を求めるステ ッ ブと、  3. (f) a step of performing a speed loop process based on the speed command and the speed feedback amount to obtain a torque command,
( g ) 前記ステ ッ プ ( d 1 ) で求め られたスム一 ジ ン グデー タを微分 した値に基づいて速度のフ ィ 一 ドフ ォ ヮ 一 ド量を算出するステ ッ プと、  (g) calculating a velocity feed-forward amount based on a value obtained by differentiating the smoothing data obtained in the step (d 1);
( h ) 前記ステ ッ プ ( f ) で求め られた ト ルク指令に、 前記ステ ッ プ ( g ) で算出された速度のフ ィ ー ドフ ォ ヮ 一 ド量を加算 して ト ルク指令を補正するステ ッ プとを更 に備え る、 請求の範囲第 2項に記載のサーボモータの制 御方法。  (h) The torque command is corrected by adding the feedforward amount of the speed calculated in the step (g) to the torque command obtained in the step (f). 3. The control method for a servomotor according to claim 2, further comprising a step of performing the operation.
4. 前記ステ ッ プ ( d ) は、 ( d 4 ) 先行スムー ジ ング 処理を行な つて各位置ループ処理周期のスムー ジ ングデ 一 夕を求めるステ ッ プと、 4. The step (d) is (d4) preceding smoothing Performing a process to obtain a smoothing delay for each position loop processing cycle; and
( d 5 ) 前記ステ ッ プ ( d 4 ) で求められた当該位置 ループ処理周期のスムー ジ ングデータを S M D 0、 1 位 置ループ処理周期前のスムー ジ ングデータを S M D 1、 フ ィ ー ドフ ォ ワー ド係数を α、 ノ、 'ラ メ ータを k と して、 次式の 演算を行な っ て位置の フ ィ 一 ドフ ォ ヮ ー ド量 (d5) SMD0 is the smoothing data of the position loop processing cycle determined in the above step (d4), SMD1 is the smoothing data of the previous position loop processing cycle, and feed When the power coefficient is α, no, and the parameter is k, the following formula is used to calculate the position feed-forward amount.
F F pを求めるステ ッ プと、 Steps to find F F p
F F p = α { (Ι - k ) · S M D O+ k - S M D 1}  F F p = α {(Ι-k) · S M D O + k-S M D 1}
( d 6 ) 前記パラ メ ー タ kの値を、 前記加速度変化の 大き さが所定の し き い値よ り 小さ いと き には k 1 、 加速 度変化の大き さが所定の し き い値以上のと き には、 所定 の期間だけ k 1 よ り 小さ い k 3の値に設定するステ ッ プ とを備える、 請求の範囲第 1項に記載のサーボモー タの 制御方法。  (d6) The value of the parameter k is set to k1 when the magnitude of the acceleration change is smaller than a predetermined threshold value, and the value of the parameter k is set to a predetermined threshold value. 2. The servo motor control method according to claim 1, further comprising: setting a value of k3 smaller than k1 for a predetermined period.
5. ( f ) 速度指令と速度のフ ィ ー ドバッ ク量とに基づ いて速度ループ処理を行な って ト ルク指令を求めるステ ッ ブと、  5. (f) A step of performing a speed loop process based on the speed command and the speed feedback amount to obtain a torque command,
( g ) 前記ステ ッ プ ( d 4 ) で求め られたスムー ジ ン グデー タを微分 した値に基づいて速度のフ ィ 一 ドフ ォ ヮ 一 ド量を算出するステ ッ プと、  (g) calculating a velocity feed-forward amount based on a value obtained by differentiating the smoothing data obtained in the step (d4);
( h ) 前記ステ ッ プ ( f ) で求められた ト ルク指令に、 前記ステ ッ プ ( g ) で算出された速度のフ ィ ー ドフ ォ ヮ ― ド量を加算して ト ルク指令を補正するステ ッ プとを備 える、 請求の範囲第 4項に記載のサーボモー タの制御方 (h) The torque command is corrected by adding the feedforward amount of the speed calculated in step (g) to the torque command obtained in step (f). A method for controlling a servo motor according to claim 4, comprising a step of performing
PCT/JP1993/000618 1992-05-22 1993-05-11 Control method for servomotor WO1993024875A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP19930911992 EP0596141A4 (en) 1992-05-22 1993-05-11 Control method for servomotor.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4/154085 1992-05-22
JP15408592A JPH05324086A (en) 1992-05-22 1992-05-22 Servo motor control system

Publications (1)

Publication Number Publication Date
WO1993024875A1 true WO1993024875A1 (en) 1993-12-09

Family

ID=15576567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1993/000618 WO1993024875A1 (en) 1992-05-22 1993-05-11 Control method for servomotor

Country Status (2)

Country Link
JP (1) JPH05324086A (en)
WO (1) WO1993024875A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1143316A1 (en) * 1999-10-20 2001-10-10 Makino Milling Machine Co. Ltd. Nc machine tool, and method of controlling nc machine tool
CN114476864A (en) * 2022-01-13 2022-05-13 北京精密机电控制设备研究所 Control method of electromechanical servo flexible cable driving device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4014162B2 (en) * 2003-08-06 2007-11-28 ヤマザキマザック株式会社 Machine tool position control device and machine tool position control method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157209A (en) * 1986-12-20 1988-06-30 Mitsubishi Heavy Ind Ltd Method and device for feed control of numerically controlled machine tool
JPH01292405A (en) * 1988-05-19 1989-11-24 Hitachi Ltd Digital position servo device
JPH0315911A (en) * 1989-03-20 1991-01-24 Fanuc Ltd Feed forwarding control system for servo motor
JPH0464898A (en) * 1990-04-17 1992-02-28 Mitsubishi Heavy Ind Ltd Servo controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157209A (en) * 1986-12-20 1988-06-30 Mitsubishi Heavy Ind Ltd Method and device for feed control of numerically controlled machine tool
JPH01292405A (en) * 1988-05-19 1989-11-24 Hitachi Ltd Digital position servo device
JPH0315911A (en) * 1989-03-20 1991-01-24 Fanuc Ltd Feed forwarding control system for servo motor
JPH0464898A (en) * 1990-04-17 1992-02-28 Mitsubishi Heavy Ind Ltd Servo controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0596141A4 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1143316A1 (en) * 1999-10-20 2001-10-10 Makino Milling Machine Co. Ltd. Nc machine tool, and method of controlling nc machine tool
EP1143316A4 (en) * 1999-10-20 2005-03-09 Makino Milling Machine Nc machine tool, and method of controlling nc machine tool
EP1710643A2 (en) * 1999-10-20 2006-10-11 Makino Milling Machine Co. Ltd. NC machine tool and method of controlling NC machine tool
EP1710643A3 (en) * 1999-10-20 2007-03-07 Makino Milling Machine Co. Ltd. NC machine tool and method of controlling NC machine tool
CN114476864A (en) * 2022-01-13 2022-05-13 北京精密机电控制设备研究所 Control method of electromechanical servo flexible cable driving device
CN114476864B (en) * 2022-01-13 2024-05-10 北京精密机电控制设备研究所 Control method of electromechanical servo flexible cable driving device

Also Published As

Publication number Publication date
JPH05324086A (en) 1993-12-07

Similar Documents

Publication Publication Date Title
JP2762364B2 (en) Feedforward control method for servo motor
JP4665096B2 (en) Motion controller used in machine tool with sliding mode controller
US6252368B1 (en) Numerically controlled system and backlash compensation device for use with the system
JP3129622B2 (en) Quadrant projection correction method in full closed loop system
JP2573120B2 (en) Speed control method and control device for synchronous AC servomotor
US5637969A (en) Vibration control method
JP4453526B2 (en) Servo control device
JP2875646B2 (en) Backlash acceleration correction device
JP4927985B1 (en) Drive control apparatus for servo motor having at least two feed axes orthogonal to each other for moving table or tool of machine tool
WO1993024875A1 (en) Control method for servomotor
US5448145A (en) Feedforward control method for a servomotor
KR970002259B1 (en) Method for controlling servomotor
JP4183057B2 (en) Numerical control system
JP2826391B2 (en) Backlash acceleration control method
JPH0392911A (en) Robot control method for sliding mode control
WO1994002988A1 (en) Method for estimating inertia and disturbance torque, and method for detecting abnormal load
KR100343565B1 (en) Position Controlling Method For Compensationg For Contour Error in Multi-axes System
JP2709766B2 (en) Feed forward control method of servo motor
KR970003877B1 (en) Method of controlling feed-forward of servo motor
JP3019192B2 (en) Backlash compensation method
JPH10149210A (en) Method for preparing command for positioning control system
EP0596141A1 (en) Control method for servomotor
JPH04276802A (en) Control system for servomotor
JP3199769B2 (en) Servo control device
JP2734236B2 (en) Servo motor control device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

ENP Entry into the national phase

Ref country code: US

Ref document number: 1994 211767

Date of ref document: 19940113

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1993911992

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1993911992

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1993911992

Country of ref document: EP