Nothing Special   »   [go: up one dir, main page]

JPH04184512A - Servo motor control system - Google Patents

Servo motor control system

Info

Publication number
JPH04184512A
JPH04184512A JP31264990A JP31264990A JPH04184512A JP H04184512 A JPH04184512 A JP H04184512A JP 31264990 A JP31264990 A JP 31264990A JP 31264990 A JP31264990 A JP 31264990A JP H04184512 A JPH04184512 A JP H04184512A
Authority
JP
Japan
Prior art keywords
servo motor
integration
servo
period
integrator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP31264990A
Other languages
Japanese (ja)
Other versions
JP3197898B2 (en
Inventor
Heisuke Iwashita
平輔 岩下
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP31264990A priority Critical patent/JP3197898B2/en
Publication of JPH04184512A publication Critical patent/JPH04184512A/en
Application granted granted Critical
Publication of JP3197898B2 publication Critical patent/JP3197898B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

PURPOSE:To improve the servo rigidity while working and to reduce the overshoot of a servo motor when it is stopped by making the integration of a speed loop integrator incomplete only at the time of stopping the servo motor. CONSTITUTION:A numerical controller (NC) 20 writes moving commands in a shared RAM 21 at every IPT period (distribution period) and the processor CPU of a digital servo circuit 22 read the movement commands from the RAM 21 and performs a position and speed loop processes at time intervals produced by dividing the IPT period. When a servo motor is normally operated, a speed loop integrator (for integration process) performs perfect integration. When the motor is stopped, on the other hand, the integrator is switched to incomplete integration from the distribution period one period prior tothe distribution period in which the moving command becomes '0' so that the integrated value can become smaller when the moving command becomes '0'. Therefore, when the servo motor is stopped, the servo rigidity can be obtained and, at the same time, the overshoot of the motor can be reduced.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、工作機械の送り軸やロボットのアームを駆動
するサーボモータの制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a control system for a servo motor that drives a feed axis of a machine tool or an arm of a robot.

従来の技術 第4図はサーボモータを制御する位置・速度制御系のブ
ロック図である。
Prior Art FIG. 4 is a block diagram of a position/speed control system that controls a servo motor.

第4図において、10は工作機械やロボットを制御する
数値制御装置等の制御装置から所定分配周期毎に分配さ
れる移動指令Meを位置・速度ループ処理周期毎の移動
指令Pcに分解するブロック、11は位置ループ処理に
おける積算器(エラーレジスタ)のブロックで、位置・
速度ループ処理周期毎に上記ブロック10から出力され
る移動指令Pcから、位置・速度ループ処理周期毎の位
置のフィードバック量Pfを減じた値を積算して位置偏
差εpを求める。12はポジションゲインのブロックで
、上記位置偏差εpにポジションゲインKpを乗じて速
度指令Vcを求める。13は速度ループ処理の積分器の
ブロックで速度指令VCより速度フィードバック量Vf
を減じて得られる速度偏差εVを積算する。14は速度
ループにおける積分定数のブロック、15は速度ループ
の比例定数のブロックで、積分器13の出力Svに積分
定数klを乗じた値から速度フィードバック信号Vfに
比例定数に2を乗じた値を減じてトルク指令Tcを求め
る。16はサーボモータの機械部の伝達関数を表すブロ
ックで、Ktはトルク定数、Jmはイナーシャを表す。
In FIG. 4, 10 is a block that decomposes the movement command Me distributed at each predetermined distribution period from a control device such as a numerical control device that controls a machine tool or robot into movement commands Pc for each position/velocity loop processing period; 11 is an integrator (error register) block in position loop processing;
The position deviation εp is obtained by integrating the value obtained by subtracting the position feedback amount Pf for each position/velocity loop processing cycle from the movement command Pc output from the block 10 for each velocity loop processing cycle. Reference numeral 12 denotes a position gain block, which multiplies the position deviation εp by a position gain Kp to obtain a speed command Vc. 13 is an integrator block for speed loop processing, which receives the speed feedback amount Vf from the speed command VC.
The speed deviation εV obtained by subtracting is integrated. 14 is a block of integral constant in the velocity loop, 15 is a proportional constant block of the velocity loop, which calculates the value obtained by multiplying the output Sv of the integrator 13 by the integral constant kl and the value obtained by multiplying the proportional constant by 2 from the value obtained by multiplying the output Sv of the integrator 13 by 2. The torque command Tc is determined by subtracting the torque command Tc. 16 is a block representing the transfer function of the mechanical part of the servo motor, Kt represents the torque constant, and Jm represents the inertia.

分配層期毎指令される移動指令Mcを位置・速度ループ
処理周期毎の移動指令Pcに分解し、該移動指令Pcか
ら、位置・速度周期毎のサーボモータの移動量Pfを減
じた値を積算器11で積算し位置偏差εpを求め該位置
偏差εpにポジションゲインKpを乗じて得られる位置
ループ処理からの速度指令Vcからサーボモータの実速
度Vfを減じて速度偏差εVを求める。そして、この速
度偏差εVを積分器13で積分し、この積分値SVに積
分定数に1を乗じた値から、サーボモータの実速度Vf
に比例定数に2を乗した値を減じてトルク指令(電流指
令)Tcを求める。そして、インバータ等を介してサー
ボモータを駆動するものである。
The movement command Mc issued for each distribution layer period is decomposed into movement commands Pc for each position/velocity loop processing cycle, and the value obtained by subtracting the movement amount Pf of the servo motor for each position/velocity cycle from the movement command Pc is integrated. The actual speed Vf of the servo motor is subtracted from the speed command Vc from the position loop process obtained by multiplying the position deviation εp by the position gain Kp to obtain the speed deviation εV. Then, this speed deviation εV is integrated by the integrator 13, and the actual speed Vf of the servo motor is calculated from the value obtained by multiplying the integral value SV by 1 by the integral constant.
The torque command (current command) Tc is obtained by subtracting the value obtained by multiplying the proportionality constant by 2. The servo motor is then driven via an inverter or the like.

上記サーボモータの制御方式は従来から周知のものであ
り、このサーボモータの制御をアナログ回路で構成した
サーボ回路で行うものも、また、プルセッサによってソ
フトウェアで行うディジタルサーボ制御も従来から公知
である。
The above-mentioned servo motor control methods are conventionally well known, including methods in which the servo motor is controlled by a servo circuit composed of analog circuits, and digital servo control performed by software using a pulse processor.

上記第4図に示すサーボ回路をプロセッサでソフトウェ
アで行う場合、上記速度ループの積分器13の処理は次
のようにして行われている。
When the servo circuit shown in FIG. 4 is implemented by software using a processor, the processing of the integrator 13 of the velocity loop is performed as follows.

速度ループ処理周期nにおける速度ループ積分器の出力
を5v(n)、同周期nにおける速度指令をvc(n)
、同周期nにおける速度フィードバック量をVf(n)
とすると、速度ループの積分器13は次の第1式の演算
を行って出力5v(n)を求めている。
The output of the speed loop integrator in the speed loop processing period n is 5v(n), and the speed command in the same period n is vc(n).
, the velocity feedback amount in the same period n is Vf(n)
Then, the velocity loop integrator 13 calculates the following first equation to obtain the output 5v(n).

Sv (n)=Sv (n=1) + (Vc (n)−Vf (n)) ・・・(1) 上記第1式で示す演算は完全積分の処理であり、次の第
2式で示す不完全積分を実施する場合もある。
Sv (n) = Sv (n = 1) + (Vc (n) - Vf (n)) ... (1) The calculation shown in the first equation above is a process of complete integration, and the following second equation In some cases, we perform incomplete integration as shown.

Sv (n)=に3 ・Sv (n−1)十(Vc (
n) −Vf (n) )・・・(2) なお、k3は定数でO<k3<1である。
Sv (n) = 3 ・Sv (n-1) ten (Vc (
n) -Vf (n) )...(2) Note that k3 is a constant and O<k3<1.

アナログ回路でサーボ回路をを構成する場合には速度ル
ープの積分器のコンデンサから洩れ電流があるため、ア
ナログサーボ回路の場合には上記第2式に示す不完全積
分が実施されることになる。
When the servo circuit is configured with an analog circuit, there is a leakage current from the capacitor of the integrator of the speed loop, so in the case of the analog servo circuit, incomplete integration shown in the second equation above is performed.

発明が解決しようとする課題 第1式で示す完全積分を速度ループの積分器が実施する
場合には、定常状態では、速度指令Vcと速度フィード
バック量Vfが完全に一致するので、停止中の位置偏差
εpは「0」になる。また、一定速度における位置偏差
εpは摩擦や外乱トルクにかかわらず一定となりサーボ
剛性(外乱抑圧特性)が高くなるという特性を有してい
る。
Problems to be Solved by the Invention When the integrator of the speed loop performs the complete integration shown in equation 1, the speed command Vc and the speed feedback amount Vf completely match in the steady state, so the position during stop The deviation εp becomes "0". Further, the positional deviation εp at a constant speed is constant regardless of friction or disturbance torque, and the servo rigidity (disturbance suppression characteristic) is high.

しかし、移動指令Pc、速度指令Vcが「0」になり、
速度ループの積分器の入力が「0」になっても該積分器
にはある値が保持されることになるので、この値がトル
ク指令Tcとして出力され、このトルク指令Tcの大き
さが、サーボモータで駆動される機械系の静止摩擦レベ
ルよりも大きいと指令どうりには停止できず、オーバー
シュートを生じてしまう。
However, the movement command Pc and speed command Vc become "0",
Even if the input to the integrator of the speed loop becomes "0", a certain value will be held in the integrator, so this value is output as the torque command Tc, and the magnitude of this torque command Tc is If the static friction level is higher than the static friction level of the mechanical system driven by the servo motor, it will not be possible to stop as instructed, resulting in overshoot.

第5図は速度ループの積分器に完全積分を使用したとき
、オーバーシュートが生じることを説明する説明図であ
る。
FIG. 5 is an explanatory diagram illustrating that overshoot occurs when perfect integration is used in the integrator of the velocity loop.

説明を分かりやすくするために、第5図(a)に示すよ
うに移動指令Pcとして「1」が出力されたとする。始
めは、機械系の摩擦等でサーボモータは回転せず、第5
図(b)、(d)に示すように位置のフィードバック信
号Pf、速度フィードバック信号Vfは発生しない。そ
のため第5図(C)に示すように位置ループの積算器1
1には位置偏差εp(=1)が保持される。この位置偏
差εpが速度指令Vcとなって速度ループの積分器13
に入力され、積分器13の出力Svは第5図(e)に示
すように順次増大する。そして、この積分器の出力Sv
より発生するトルク指令Tcも順次増大し、第5図(f
)に示すように、機械系の静止摩擦を該トルク指令Tc
が越えると、ソーボモータは回転し、位置のフィードバ
ックPf。
To make the explanation easier to understand, it is assumed that "1" is output as the movement command Pc, as shown in FIG. 5(a). At first, the servo motor did not rotate due to mechanical friction, etc., and the fifth
As shown in FIGS. (b) and (d), the position feedback signal Pf and velocity feedback signal Vf are not generated. Therefore, as shown in FIG. 5(C), the position loop integrator 1
1 holds the positional deviation εp (=1). This position deviation εp becomes the speed command Vc, and the integrator 13 of the speed loop
, and the output Sv of the integrator 13 increases sequentially as shown in FIG. 5(e). Then, the output Sv of this integrator
The torque command Tc generated from
), the static friction of the mechanical system is determined by the torque command Tc
When Pf is exceeded, the sobo motor rotates and the position feedback Pf.

速度フィードバックVfが出力され、位置偏差εpは「
0」となる。そのため、積分器の出力Svはその時の積
分値を保持することになる。一方、トルク指令Tcは速
度フィードバック量Vfに比例定数に2を乗じた分減少
した値となる(第5図(f)参照)。しかし、この減少
したトルク指令Tcが機械系の動摩擦よりも大きいとき
にはサーボモータは回転を続けることになり、移動位置
は指令位置よりオーバーシュートし、速度フィードバッ
ク信号Vfが出力される(第5図(b)。
The speed feedback Vf is output, and the position deviation εp is
0". Therefore, the output Sv of the integrator will hold the integral value at that time. On the other hand, the torque command Tc becomes a value that is decreased by multiplying the speed feedback amount Vf by the proportionality constant by 2 (see FIG. 5(f)). However, when this decreased torque command Tc is larger than the dynamic friction of the mechanical system, the servo motor continues to rotate, the movement position overshoots the command position, and a speed feedback signal Vf is output (see Fig. 5). b).

(d)参照)。その結果位置偏差εpは負の値となり、
この位置偏差により生じる速度指令Vcによって速度ル
ープの積分器の出力は負の値に変化し、逆方向のトルク
指令Tcを出力することになる。そして、この負のトル
ク指令が機械系の静摩擦トルク以上になるとサーボモー
タは逆方向に回転しサーボモータの回転位置は指令位置
となると共に位置偏差εpも「0」となる。
(see (d)). As a result, the positional deviation εp becomes a negative value,
Due to the speed command Vc generated by this positional deviation, the output of the integrator of the speed loop changes to a negative value, and a torque command Tc in the opposite direction is output. When this negative torque command exceeds the static friction torque of the mechanical system, the servo motor rotates in the opposite direction, the rotational position of the servo motor becomes the command position, and the position deviation εp also becomes "0".

このように速度ループの積分器を完全積分で実施すると
停止する際にオーバーシュートが生じることになる。こ
れに対して、第2式に示すような不完全積分を速度ルー
プの積分器で実施すると、該積分器の出力Svの値が小
さくなる関係でオーバーシュートの問題は少なくなるが
、速度指令VCと速度フィードバック信号Vfが等しく
ならないため、停止中に位置偏差が生しることになる。
If the integrator of the velocity loop is implemented with complete integration in this way, an overshoot will occur when stopping. On the other hand, if incomplete integration as shown in the second equation is performed using the integrator of the speed loop, the problem of overshoot will be reduced because the value of the output Sv of the integrator will become smaller, but the problem of overshoot will be reduced. Since the speed feedback signal Vf and the speed feedback signal Vf are not equal to each other, a positional deviation occurs during stopping.

そして、一定速度での移動中にサーボモータか受ける外
乱トルクによって位置偏差が変動する等の問題が生じ、
サーボ剛性が悪くなる。
Then, problems arise such as position deviation fluctuating due to disturbance torque received by the servo motor while moving at a constant speed.
Servo rigidity deteriorates.

そこで、本発明の目的は、サーボ剛性を備えると共に、
停止時のオーバーシュートを少なくするサーボモータの
制御方式を提供することにある。
Therefore, an object of the present invention is to provide servo rigidity, and
An object of the present invention is to provide a control method for a servo motor that reduces overshoot when stopped.

課題を解決するための手段 本発明は、位置・速度ループ処理をプロセッサで実施す
るサーボモータの制御方式において、その時点の分配周
期よりも設定された1以上先の分配周期における移動指
令が「0」であるとき、速度ループ処理における積分処
理を完全積分から不完全積分に切り換えることによって
、停止時のみ速度ループの積分器の積分を不完全積分に
することにより、稼働中はサーボ剛性を高め、停止時の
み位置がオーバーシュートしないように積分器の出力を
小さいものにする。
Means for Solving the Problems The present invention provides a control system for a servo motor in which position/velocity loop processing is performed by a processor, in which a movement command in a distribution cycle set one or more ahead of the current distribution cycle is "0". '', by switching the integral processing in the velocity loop processing from complete integral to incomplete integral, the integral of the velocity loop integrator becomes incomplete integral only when stopped, and the servo rigidity is increased during operation. Make the integrator output small so that the position does not overshoot only when stopping.

作   用 通常の稼働時には、速度ループの積分器(積分処理)は
完全積分を行うので、サーボ剛性は高い状態に保持され
る。一方、停止する際には、移動指令が「0」になる分
配周期よりも1以上前の分配周期から、上記積分器(積
分処理)を不完全積分に切り換えて、移動指令が「O」
になったとき積分値の値が小さなものになるようにし、
オーバーシュートをおさえる。
Operation During normal operation, the velocity loop integrator (integration process) performs complete integration, so the servo rigidity is maintained at a high level. On the other hand, when stopping, the above-mentioned integrator (integration processing) is switched to incomplete integration from a distribution cycle one or more before the distribution cycle at which the movement command becomes "0", and the movement command becomes "O".
When the value of the integral becomes small,
Prevents overshoot.

実施例 第3図は、本発明の一実施例を実施するデジタルサーボ
制御装置のブロック図であり、構成は従来のデジタルサ
ーボ制御を行う装置と同一構成であるので、概略的に示
している。
Embodiment FIG. 3 is a block diagram of a digital servo control device implementing an embodiment of the present invention. Since the configuration is the same as that of a conventional digital servo control device, it is shown schematically.

第3図において、20は数値制御装置(以下、NCとい
う)、21は共有RAM、22はプロセッサ(CPU)
、ROM、RAM等を有するデジタルサーボ回路、23
はトランジスタインバータ等のサーボアンプ、24はサ
ーボモータ、25はサーボモータ24の回転と共にパル
スを発生するパルスコーダである。
In FIG. 3, 20 is a numerical control device (hereinafter referred to as NC), 21 is a shared RAM, and 22 is a processor (CPU).
, digital servo circuit having ROM, RAM, etc., 23
24 is a servo motor, and 25 is a pulse coder that generates pulses as the servo motor 24 rotates.

NC20はIPT周期(分配周期)毎に移動指令を共有
RΔM12に書込み、デジタルサーボ回路21のCPU
はこの移動指令を共有RAM12から読取り、上記IT
P周期をN個に分割した周期で、位置・速度ループ処理
を行う。ITP周期毎NC20から出力される移動指令
がITP周期中均等に分配されるように位置・速度ルー
プ処理における移動指令Pc(n)を求め、この移動指
令Pc(n)とパルスコーダ25からの位置のフィード
バックパルスPfによって得られるサーボモータ24の
現在位置との差より位置ループ処理を行って速度指令V
cを求め、次に、該速度指令Vcとパルスコーダ25か
らのフィードバックパルスによって得られるサーボモー
タ24の実速度Vfより速度ループ処理、トルク指令(
電流指令)Tcを求める。そして、電流ループ処理を行
い、PWM指令を作成し、サーボアンプ23を介してサ
ーボモータ24を駆動する。
The NC 20 writes a movement command to the shared RΔM 12 every IPT period (distribution period), and the CPU of the digital servo circuit 21
reads this movement command from the shared RAM 12 and sends it to the IT
Position/velocity loop processing is performed in a cycle in which the P cycle is divided into N parts. The movement command Pc(n) in the position/velocity loop processing is determined so that the movement command output from the NC 20 is evenly distributed during each ITP cycle, and the movement command Pc(n) and the position from the pulse coder 25 are calculated. Position loop processing is performed based on the difference between the current position of the servo motor 24 obtained by the feedback pulse Pf, and the speed command V is
c is obtained, and then a speed loop process is performed using the speed command Vc and the actual speed Vf of the servo motor 24 obtained from the feedback pulse from the pulse coder 25, and the torque command (
Find current command) Tc. Then, current loop processing is performed, a PWM command is created, and the servo motor 24 is driven via the servo amplifier 23.

第1図、第2図は本実施例におけるデジタルサ−水回路
22のCPUが実施するITP周期ごとの移動指令読み
取り処理、および位置・速度ループ処理周期毎の位置ル
ープ処理、速度ループ処理のフローチャートである。
FIGS. 1 and 2 are flowcharts of the movement command reading process for each ITP cycle, and the position loop process and speed loop process for each position/velocity loop process cycle, which are executed by the CPU of the digital water supply circuit 22 in this embodiment. It is.

第1図はITP周期毎行う処理のフローチャートで、ま
ず、デジタルサーボ回路のCPUはITP周期ごとNC
20から出力された移動指令Mcを共有RAM21を介
して読む(ステップSL)。
Figure 1 is a flowchart of the processing performed every ITP period. First, the CPU of the digital servo circuit performs NC processing every ITP period.
20 is read via the shared RAM 21 (step SL).

そして、この移動指令が「0」であるか否か判断しくス
テップS2)、「0」であれば、レジスタに記憶される
IITP周期前の移動指令がrOJか否か判断しくステ
ップS3)、rOJであれば、ステップS1で読み取っ
た移動指令McをレジスタR(Mc)に格納する(ステ
ップS6)。すなわち、レジスタR(Mc)には当該周
期より1周期前の移動指令Mcを記憶することになる。
Then, it is determined whether this movement command is "0" (step S2), and if it is "0", it is determined whether the movement command stored in the register before the IITP cycle is rOJ or not (step S3), rOJ If so, the movement command Mc read in step S1 is stored in register R (Mc) (step S6). That is, the register R (Mc) stores the movement command Mc one cycle before the current cycle.

ステップS1で読み取った移動指令McがrOJでない
ときには、フラグFを「0」にセットしカウンタCNT
を「0」にセットしくステップS7゜S8)、ステップ
S6に移行する。これにより、後述するように位置・速
度ループ処理を行うITP周期の移動指令より1周期光
の移動指令McがあるときにはフラグF、カウンタCN
TがrOJにセットされることになり、移動開始時には
必ず、フラグF、カウンタCNTはrOJにセットされ
ることになる。
When the movement command Mc read in step S1 is not rOJ, the flag F is set to "0" and the counter CNT
is set to "0" in steps S7 and S8), and the process moves to step S6. As a result, when there is a one-cycle light movement command Mc than an ITP period movement command that performs position/velocity loop processing as described later, the flag F and the counter CN are
T is set to rOJ, and flag F and counter CNT are always set to rOJ at the start of movement.

また、ステップS1で読み取った移動指令Mcが「0」
であり、レジスタR(Mc)の値がrOJでないとき(
移動を停止する際)には、上記フラグFを「1」にセッ
トし、上記カウンタCNTを設定された任意の値Aをセ
ットして(ステップS4、S5)、ステップS6に移行
する。
In addition, the movement command Mc read in step S1 is "0".
, and when the value of register R (Mc) is not rOJ (
When stopping the movement), the flag F is set to "1", the counter CNT is set to an arbitrary value A (steps S4 and S5), and the process moves to step S6.

一方、位置・速度ループ周期では各周期毎第2図にフロ
ーチャートで示す処理を実行し、まず、レジスタR(M
e)に記憶されている移動指令MCに基づいて各位置・
速度ループ処理周期毎の移動指令を従来と同様に求め(
ステップ5100)、該移動指令に基づいて従来と同様
に位置ループ処理を実行し速度指令Vcを求める(ステ
ップ5101)。すなわち、レジスタR(Mc)に記憶
する移動指令に基づいて位置・速度ループ処理を行うこ
とになるので、第1図に示すITP周期毎の移動指令M
eの読み込み(ステップSL)は移動指令Meを117
P周期先読みすることになる。
On the other hand, in the position/velocity loop cycle, the process shown in the flowchart in Fig. 2 is executed every cycle, and first, register R (M
e) Each position / position based on the movement command MC stored in
Obtain the movement command for each speed loop processing cycle in the same way as before (
Step 5100), based on the movement command, position loop processing is executed in the same manner as in the past to obtain a velocity command Vc (step 5101). That is, since position/velocity loop processing is performed based on the movement command stored in the register R (Mc), the movement command M for each ITP cycle shown in FIG.
To read e (step SL), move command Me is 117
This means that P cycles are read ahead.

次に、フラグFが「1」か否か判断しくステップ510
2)、該フラグFは1つ先のITP周期の移動指令Mc
が「0」でないとき「0」に設定されているから、移動
開始時、若しくはすでに移動を開始しているときには該
フラグFは「0」にセットされており、この場合には速
度ループ処理では完全積分が実行される。すなわち、レ
ジスタに記憶する積分値Svにステップ5101で求め
られた速度指令Vcから速度フィードバック量Vfを減
じた値(速度偏差)を加算して積分値Svを求める第1
式の完全積分を実行しくステップ5108)、該積分値
Vsに積分定数klを乗じた値に速度フィードバック量
Vfに比例定数に2を乗じた値を減してトルク指令Tc
を算出しくステップ8106)、該トルク指令Tcを電
流ループ処理に引き渡しくステップ5107)、当該位
置・速度ループ処理を終了する。
Next, in step 510, it is determined whether the flag F is "1" or not.
2), the flag F is the movement command Mc of the next ITP cycle.
Since it is set to "0" when is not "0", the flag F is set to "0" at the time of starting movement or when movement has already started, and in this case, the speed loop processing Complete integration is performed. That is, the first integral value Sv is determined by adding a value (velocity deviation) obtained by subtracting the velocity feedback amount Vf from the velocity command Vc determined in step 5101 to the integral value Sv stored in the register.
Complete integration of the equation is executed (step 5108), and the torque command Tc is obtained by multiplying the integral value Vs by the integral constant kl and subtracting the value obtained by multiplying the speed feedback amount Vf by the proportional constant kl by 2.
is calculated (step 8106), the torque command Tc is transferred to the current loop process (step 5107), and the position/velocity loop process is ended.

また、ステップ5102でフラグFが「1」であるとき
、すなわち、当該位置・速度ループ処理におけるITP
周期より1周期光のITP周期の移動指令Meが「0」
で当該ITP周期の移動指令が「0」でないとき(移動
を停止する1 17P周期前)、フラグFは「1」にセ
ットされカウンタCNTはAにセットされるから(ステ
ップ82〜S5参照)、フラグFは「1」であるのでス
テップ5102からステップ5103に移行し、カウン
タCNTが「0」でなければ(始めは「0」でない)、
カウンタCNTから「1」減じて(ステップ5104)
、第2式に示す不完全積分を行い(ステップ5105)
、得られた積分値Svによってトルク指令Tcを求め電
流ループに引き渡す(ステップ5106.5107)。
Further, when the flag F is "1" in step 5102, that is, the ITP in the position/velocity loop processing is
The movement command Me for the ITP period of one period of light is “0” from the period.
When the movement command of the relevant ITP cycle is not "0" (1 17P cycle before stopping movement), the flag F is set to "1" and the counter CNT is set to A (see steps 82 to S5). Since the flag F is "1", the process moves from step 5102 to step 5103, and if the counter CNT is not "0" (it is not "0" at the beginning),
Subtract “1” from counter CNT (step 5104)
, performs the incomplete integration shown in the second equation (step 5105).
, the torque command Tc is obtained from the obtained integral value Sv and delivered to the current loop (steps 5106 and 5107).

以下、位置・速度ループ処理周期毎フラグFが「1」で
ある限り、カウンタCNTが「0」になるまで、ステッ
プ8100〜5107の処理が実行され、速度ループ処
理の積分処理は不完全積分が実行されることになる。
Thereafter, as long as the flag F for each position/velocity loop processing cycle is "1", the processing of steps 8100 to 5107 is executed until the counter CNT becomes "0", and the integral processing of the velocity loop processing is performed using incomplete integration. It will be executed.

その結果、ITP周期の移動指令Mcが「0」になる1
つ前のITP周期の各位置・速度ループ処理から速度ル
ープ処理の積分処理は不完全積分処理が実行されること
になるので、ITP周期をN分割した位置・速度ループ
処理周期の各速度ループ処理での積分処理の積分値Sv
は順次小さな値となり、位置・速度ループ処理における
移動指令Pcが「0」になった時点では、該積分値Sv
は小さな値となり、停止時にオーバシュートが生じるこ
とは少なくなる。
As a result, the movement command Mc of the ITP period becomes "0"1
Since incomplete integration processing is executed from each position/velocity loop process of the previous ITP cycle to the velocity loop process, each velocity loop process of the position/velocity loop process cycle obtained by dividing the ITP cycle into N. The integral value Sv of the integral processing at
gradually becomes smaller, and when the movement command Pc in the position/velocity loop process becomes "0", the integral value Sv
is a small value, and overshoot is less likely to occur when stopping.

そして、上記カウンタCNTがrOJになると、ステッ
プ5108に移行し、完全積分に戻り、かつ、次の移動
指令がある場合には、その移動指令Meが実行される1
つ前のITP周期でフラグF。
When the counter CNT reaches rOJ, the process moves to step 5108, returns to complete integration, and if there is a next movement command, that movement command Me is executed.
Flag F in the previous ITP cycle.

カウンタCNTは「0」にセットされることになる(ス
テップS7,88参照)。
The counter CNT will be set to "0" (see steps S7 and 88).

なお、上記実施例では、ITP周期における移動指令M
eがrOJになるIITP周期前より、速度ループの積
分処理を不完全積分処理にするようにしたが、さらに、
2 ITP周期前、31TP周期前から不完全積分に切
り換えるようにしてもよい。
In addition, in the above embodiment, the movement command M in the ITP cycle
Before the IITP cycle when e reaches rOJ, the velocity loop integration process is changed to incomplete integration process, but in addition,
It is also possible to switch to incomplete integration before 2 ITP cycles or 31 TP cycles.

発明の効果 本発明は、サーボモータがその回転を停止する直前より
、速度ループ処理の積分処理を不完全積分にし、通常の
サーボモータの駆動中は上記速度ループ処理の積分処理
を完全積分するようにしたので、サーボ剛性が保持され
ると共に、停止時にオーバーシュートを生じさせること
は少なくなる。
Effects of the Invention The present invention makes the integral process of the velocity loop process an incomplete integral immediately before the servo motor stops its rotation, and makes the integral process of the velocity loop process a complete integral during normal driving of the servo motor. As a result, servo rigidity is maintained and overshoot is less likely to occur when stopping.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例における分配周期(ITP周
期)毎のデジタルサーボ回路のプロセッサが実施する処
理のフローチャート、第2図は同実施例におけるデジタ
ルサーボ回路のプロセッサが実施する位置・速度ループ
処理のフローチャート、第3図は同実施例を実施するデ
ジタルサーボ制御装置のブロック図、第4図はサーボモ
ータの位置・速度制御系のブロック図、第5図は速度ル
ープの積分器に完全積分を使用したとき、オーバーシュ
ートが生じることを説明する説明図である。 20・・・数値制御装置、21・・・共有RAM122
・・・デジタルサーボ回路、23・・・サーボアンプ、
24・・・サーボモータ、25川パルスコーダ。
FIG. 1 is a flowchart of the processing executed by the processor of the digital servo circuit for each distribution period (ITP period) in an embodiment of the present invention, and FIG. 2 is the position/velocity process executed by the processor of the digital servo circuit in the embodiment. A flowchart of the loop processing, Fig. 3 is a block diagram of the digital servo control device implementing the same embodiment, Fig. 4 is a block diagram of the servo motor position/speed control system, and Fig. 5 is a complete diagram of the integrator of the velocity loop. FIG. 3 is an explanatory diagram illustrating that overshoot occurs when integration is used. 20... Numerical control device, 21... Shared RAM 122
...Digital servo circuit, 23...Servo amplifier,
24... Servo motor, 25 River pulse coder.

Claims (1)

【特許請求の範囲】[Claims] 分配周期毎指令される移動指令を受けて位置・速度ルー
プ処理をプロセッサで実施するサーボモータの制御方式
において、その時点の分配周期よりも設定された1以上
先の分配周期における移動指令が「0」であるとき、オ
ーバーシュートを防ぐために速度ループ処理における積
分処理を完全積分から不完全積分に切り換えることを特
徴とするサーボモータの制御方式。
In a servo motor control system in which a processor executes position/velocity loop processing in response to a movement command issued every distribution cycle, if the movement command in a distribution cycle set one or more ahead of the current distribution cycle is "0", '', a servo motor control method is characterized in that, in order to prevent overshoot, integration processing in velocity loop processing is switched from complete integration to incomplete integration.
JP31264990A 1990-11-20 1990-11-20 Servo motor control method Expired - Fee Related JP3197898B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31264990A JP3197898B2 (en) 1990-11-20 1990-11-20 Servo motor control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31264990A JP3197898B2 (en) 1990-11-20 1990-11-20 Servo motor control method

Publications (2)

Publication Number Publication Date
JPH04184512A true JPH04184512A (en) 1992-07-01
JP3197898B2 JP3197898B2 (en) 2001-08-13

Family

ID=18031755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31264990A Expired - Fee Related JP3197898B2 (en) 1990-11-20 1990-11-20 Servo motor control method

Country Status (1)

Country Link
JP (1) JP3197898B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998003900A1 (en) * 1996-07-24 1998-01-29 Fanuc Ltd Method of controlling servomotor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998003900A1 (en) * 1996-07-24 1998-01-29 Fanuc Ltd Method of controlling servomotor
US6020706A (en) * 1996-07-24 2000-02-01 Fanuc Ltd. Method of and apparatus for controlling a servomotor

Also Published As

Publication number Publication date
JP3197898B2 (en) 2001-08-13

Similar Documents

Publication Publication Date Title
US5107193A (en) Feedforward control apparatus for a servomotor
US5691616A (en) Fully-closed-loop servomotor control system
JPH03228106A (en) Control system for servo motor
JPH07110717A (en) Motor control system
US5986422A (en) Control mode changing over method for servo control system
JP2935706B2 (en) Machining program correction method
JPH0569275A (en) Numerical control device
JPH06245561A (en) Abnormal load detection control method for servo motor
JP2875646B2 (en) Backlash acceleration correction device
EP0292574A1 (en) Numerical controller
JP3285681B2 (en) Servo motor control method
JPH01164280A (en) Acceleration or deceleration controlling system
JPH06339292A (en) Force controlling method by estimation of disturbance load
JP2673543B2 (en) Excessive Error Detection Method in Servo Motor Control
JPH0616242B2 (en) Numerical control method
KR970002259B1 (en) Servo motor control method
JP2826391B2 (en) Backlash acceleration control method
JPH04184512A (en) Servo motor control system
JP3253022B2 (en) Servo motor backlash compensation control method
JP3556779B2 (en) Servo motor overshoot prevention method
JPH06131050A (en) Method for detecting collision of movable part driven by servo motor
JPH09106304A (en) Control method of working area for machine tool
JPH0580805A (en) Adaptive sliding mode control system based on pi control loop
JPH03246708A (en) Acceleration feedback control system for servomotor
JPH02232702A (en) Controller

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080608

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090608

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees