JP3197898B2 - Servo motor control method - Google Patents
Servo motor control methodInfo
- Publication number
- JP3197898B2 JP3197898B2 JP31264990A JP31264990A JP3197898B2 JP 3197898 B2 JP3197898 B2 JP 3197898B2 JP 31264990 A JP31264990 A JP 31264990A JP 31264990 A JP31264990 A JP 31264990A JP 3197898 B2 JP3197898 B2 JP 3197898B2
- Authority
- JP
- Japan
- Prior art keywords
- speed
- command
- cycle
- movement command
- integration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Control Of Position Or Direction (AREA)
- Numerical Control (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、工作機械の送り軸やロボットのアームを駆
動するサーボモータの制御方式に関する。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control method of a servomotor for driving a feed shaft of a machine tool or an arm of a robot.
従来の技術 第4図はサーボモータを制御する位置・速度制御系の
ブロック図である。FIG. 4 is a block diagram of a position / speed control system for controlling a servomotor.
第4図において、10は工作機械やロボットを制御する
数値制御装置等の制御装置から所定分配周期毎に分配さ
れる移動指令Mcを位置・速度ループ処理周期毎の移動指
令Pcに分解するブロック、11は位置ループ処理における
積算器(エラーレジスタ)のブロックで、位置・速度ル
ープ処理周期毎に上記ブロック10から出力される移動指
令Pcから、位置・速度ループ処理周期毎の位置のフィー
ドバック量Pfを減じた値を積算して位置偏差εpを求め
る。12はポジションゲインのブロックで、上記位置偏差
εpにポジションゲインKpを乗じて速度指令Vcを求め
る。13は速度ループ処理の積分器のブロックで速度指令
Vcより速度フィードバック量Vfを減じて得られる速度偏
差εvを積算する。14は速度ループにおける積分定数の
ブロック、15は速度ループの比例定数のブロックで、積
分器13の出力Svに積分定数k1を乗じた値から速度フィー
ドバック信号Vfに比例定数k2を乗じた値を減じてトルク
指令Tcを求める。16はサーボモータの機械部の伝達関数
を表すブロックで、Ktはトルク定数、Jmはイナーシャを
表す。In FIG. 4, reference numeral 10 denotes a block for decomposing a movement command Mc distributed every predetermined distribution cycle from a control device such as a numerical control device for controlling a machine tool or a robot into a movement command Pc every position / velocity loop processing cycle. Reference numeral 11 denotes an integrator (error register) block for the position loop processing. The position feedback amount Pf for each position / speed loop processing cycle is calculated from the movement command Pc output from the block 10 for each position / speed loop processing cycle. The position deviation εp is obtained by integrating the reduced values. Reference numeral 12 denotes a position gain block for obtaining a speed command Vc by multiplying the position deviation εp by a position gain Kp. 13 is the speed command in the speed loop processing integrator block
The speed deviation εv obtained by subtracting the speed feedback amount Vf from Vc is integrated. 14 is a block of an integral constant in the speed loop, 15 is a block of a proportional constant of the speed loop, and subtracts a value obtained by multiplying the output Sv of the integrator 13 by the integral constant k1 by a value obtained by multiplying the speed feedback signal Vf by the proportional constant k2. To obtain the torque command Tc. Reference numeral 16 denotes a block representing a transfer function of a mechanical part of the servomotor, Kt represents a torque constant, and Jm represents inertia.
分配周期毎指令される移動指令Mcを位置・速度ループ
処理周期毎の移動指令Pcに分解し、該移動指令Pcから、
位置・速度周期毎のサーボモータの移動量Pfを減じた値
を積算器11で積算し位置偏差εpを求め該位置偏差εp
にポジションゲインKpを乗じて得られる位置ループ処理
からの速度指令Vcからサーボモータの実速度Vfを減じて
速度偏差εvを求める。そして、この速度偏差εvを積
分器13で積分し、この積分値Svに積分定数k1を乗じた値
から、サーボモータの実速度Vfに比例定数k2を乗じた値
を減じてトルク指令(電流指令)Tcを求める。そして、
インバータ等を介してサーボモータを駆動するものであ
る。The movement command Mc commanded every distribution cycle is decomposed into the movement command Pc for each position / speed loop processing cycle, and from the movement command Pc,
A value obtained by subtracting the movement amount Pf of the servo motor for each position / speed cycle is integrated by an integrator 11 to obtain a position deviation εp.
Is subtracted from the actual speed Vf of the servo motor from the speed command Vc from the position loop process obtained by multiplying the speed gain by the position gain Kp to obtain a speed deviation εv. Then, the speed deviation εv is integrated by the integrator 13, and the value obtained by multiplying the integral value Sv by the integration constant k1 is subtracted by the value obtained by multiplying the actual speed Vf of the servo motor by the proportional constant k2 to obtain a torque command (current command). ) Find Tc. And
The servo motor is driven via an inverter or the like.
上記サーボモータの制御方式は従来から周知のもので
あり、このサーボモータの制御をアナログ回路で構成し
たサーボ回路で行うものも、また、プルセッサによって
ソフトウエアで行うディジタルサーボ制御も従来から公
知である。The above-described servo motor control method is well known in the art, and control of this servo motor by a servo circuit constituted by an analog circuit, and digital servo control by software using a pull processor are also conventionally known. .
上記第4図に示すサーボ回路をプロセッサでソフトウ
エアで行う場合、上記速度ループの積分器13の処理は次
のようにして行われている。When the servo circuit shown in FIG. 4 is performed by software using a processor, the processing of the integrator 13 in the speed loop is performed as follows.
速度ループ処理周期nにおける速度ループ積分器の出
力をSv(n)、同周期nにおける速度指令をVc(n)、
同周期nにおける速度フィードバック量をVf(n)とす
ると、速度ループの積分器13は次の第1式の演算を行っ
て出力Sv(n)を求めている。The output of the speed loop integrator in the speed loop processing cycle n is Sv (n), the speed command in the same cycle n is Vc (n),
Assuming that the speed feedback amount in the same period n is Vf (n), the integrator 13 of the speed loop obtains the output Sv (n) by performing the calculation of the following first equation.
Sv(n)=Sv(n−1)+(Vc(n)−Vf(n)) …(1) 上記第1式で示す演算は完全積分の処理であり、次の
第2式で示す不完全積分を実施する場合もある。Sv (n) = Sv (n-1) + (Vc (n) -Vf (n)) (1) The operation shown in the above first expression is a process of complete integration. In some cases, complete integration is performed.
Sv(n)=k3・Sv(n−1)+(Vc(n)−Vf(n)) …(2) なお、k3は定数で0<k3<1である。 Sv (n) = k3.Sv (n-1) + (Vc (n) -Vf (n)) (2) where k3 is a constant and 0 <k3 <1.
アナログ回路でサーボ回路をを構成する場合には速度
ループの積分器のコンデンサから洩れ電流があるため、
アナログサーボ回路の場合には上記第2式に示す不完全
積分が実施されることになる。When configuring a servo circuit with an analog circuit, there is leakage current from the capacitor of the integrator in the speed loop.
In the case of an analog servo circuit, the incomplete integration represented by the above-described second equation 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 represented by the first equation, in the steady state, the speed command Vc and the speed feedback amount Vf completely coincide with each other. Deviation ε
p becomes “0”. Also, the position deviation ε at a constant speed
p has a characteristic that it becomes constant irrespective of friction or disturbance torque and servo stiffness (disturbance suppression characteristic) increases.
しかし、移動指令Pc,速度指令Vcが「0」になり、速
度ループの積分器の入力が「0」になっても該積分器に
はある値が保持されることになるので、この値がトルク
指令Tcとして出力され、このトルク指令Tcの大きさが、
サーボモータで駆動される機械系の静止摩擦レベルより
も大きいと指令どうりには停止できず、オーバーシュー
トを生じてしまう。However, even when the movement command Pc and the speed command Vc become “0” and the input of the integrator of the speed loop becomes “0”, a certain value is held in the integrator. It is output as a torque command Tc, and the magnitude of this torque command Tc is
If it is higher than the static friction level of the mechanical system driven by the servomotor, it cannot be stopped according to the command, and overshoot occurs.
第5図は速度ループの積分器に完全積分を使用したと
き、オーバーシュートが生じることを説明する説明図で
ある。FIG. 5 is an explanatory diagram for explaining that overshoot occurs when complete integration is used for the integrator of the speed loop.
説明を分かりやすくするために、第5図(a)に示す
ように移動指令Pcとして「1」が出力されたとする。始
めは、機械系の摩擦等でサーボモータは回転せず、第5
図(b),(d)に示すように位置のフィードバック信
号Pf,速度フィードバック信号Vfは発生しない。そのた
め第5図(c)に示すように位置ループの積算器11には
位置偏差εp(=1)が保持される。この位置偏差εp
が速度指令Vcとなって速度ループの積分器13に入力さ
れ、積分器13の出力Svは第5図(e)に示すように順次
増大する。そして、この積分器の出力Svより発生するト
ルク指令Tcも順次増大し、第5図(f)に示すように、
機械系の静止摩擦を該トルク指令Tcが越えると、ソーボ
モータは回転し、位置のフィードバックPf,速度フィー
ドバックVfが出力され、位置偏差εpは「0」となる。
そのため、積分器の出力Svはその時の積分値を保持する
ことになる。一方、トルク指令Tcは速度フィードバック
量Vfに比例定数k2を乗じた分減少した値となる(第5図
(f)参照)。しかし、この減少したトルク指令Tcが機
械系の動摩擦よりも大きいときにはサーボモータは回転
を続けることになり、移動位置は指令位置よりオーバー
シュートし、速度フィードバック信号Vfが出力される
(第5図(b),(d)参照)。その結果位置偏差εp
は負の値となり、この位置偏差により生じる速度指令Vc
によって速度ループの積分器の出力は負の値に変化し、
逆方向のトルク指令Tcを出力することになる。そして、
この負のトルク指令が機械系の静摩擦トルク以上になる
とサーボモータは逆方向に回転しサーボモータの回転位
置は指令位置となると共に位置偏差εpも「0」とな
る。For ease of explanation, it is assumed that “1” is output as the movement command Pc as shown in FIG. At first, the servomotor does not rotate due to mechanical friction, etc.
The position feedback signal Pf and the speed feedback signal Vf are not generated as shown in FIGS. Therefore, as shown in FIG. 5 (c), the position deviation .epsilon.p (= 1) is held in the integrator 11 of the position loop. This position deviation εp
Is input to the integrator 13 of the speed loop as the speed command Vc, and the output Sv of the integrator 13 sequentially increases as shown in FIG. Then, the torque command Tc generated from the output Sv of the integrator also increases sequentially, as shown in FIG.
When the torque command Tc exceeds the static friction of the mechanical system, the saw motor rotates, the position feedback Pf and the speed feedback Vf are output, and the position deviation εp becomes “0”.
Therefore, the output Sv of the integrator holds the integrated value at that time. On the other hand, the torque command Tc becomes a value reduced by multiplying the speed feedback amount Vf by the proportional constant k2 (see FIG. 5 (f)). However, when the reduced torque command Tc is larger than the dynamic friction of the mechanical system, the servomotor continues to rotate, the moving position overshoots the command position, and the speed feedback signal Vf is output (see FIG. b), (d)). As a result, the position deviation εp
Is a negative value, and the speed command Vc
Changes the output of the integrator of the speed loop to a negative value,
The reverse torque command Tc is output. And
When the negative torque command becomes equal to or larger than the static friction torque of the mechanical system, the servo motor rotates in the reverse direction, the rotational position of the servo motor becomes the command position, and the position deviation εp becomes “0”.
このように速度ループの積分器を完全積分で実施する
と停止する際にオーバーシュートが生じることになる。
これに対して、第2式に示すような不完全積分を速度ル
ープの積分器で実施すると、該積分器の出力Svの値が小
さくなる関係でオーバーシュートの問題は少なくなる
が、速度指令Vcと速度フィードバック信号Vfが等しくな
らないため、停止中に位置偏差が生じることになる。そ
して、一定速度での移動中にサーボモータが受ける外乱
トルクによって位置偏差が変動する等の問題が生じ、サ
ーボ剛性が悪くなる。As described above, when the integrator of the speed loop is implemented by complete integration, an overshoot occurs when stopping.
On the other hand, if the incomplete integration as shown in the second equation is performed by the integrator of the speed loop, the problem of overshoot is reduced because the value of the output Sv of the integrator is reduced, but the speed command Vc And the speed feedback signal Vf are not equal, so that a positional deviation occurs during stoppage. Then, there arises a problem that the position deviation fluctuates due to a disturbance torque received by the servomotor during the movement at a constant speed, and the servo rigidity is deteriorated.
そこで、本発明の目的は、サーボ剛性を備えると共
に、停止時のオーバーシュートを少なくするサーボモー
タの制御方式を提供することにある。SUMMARY OF THE INVENTION It is an object of the present invention to provide a servomotor control method which has servo rigidity and reduces overshoot at the time of stop.
課題を解決するための手段 本発明は、位置・速度ループ処理をプロセッサで実施
するサーボモータの制御方式において、その時点の分配
周期よりも設定された1以上先の分配周期における移動
指令が「0」であるとき、速度ループ処理における積分
処理を完全積分から不完全積分に切り換えることによっ
て、停止時のみ速度ループの積分器の積分を不完全積分
にすることにより、稼働中はサーボ剛性を高め、停止時
のみ位置がオーバーシュートしないように積分器の出力
を小さいものにする。Means for Solving the Problems According to the present invention, in a servomotor control system in which a processor executes a position / velocity loop process, a movement command in a distribution cycle one or more ahead of a distribution cycle at that time is set to “0”. ), The integral process in the speed loop process is switched from complete integral to incomplete integral, so that the integral of the integrator of the speed loop is made incomplete integral only at the time of stop, thereby increasing the servo rigidity during operation. The output of the integrator is reduced so that the position does not overshoot only when stopped.
作用 通常の稼働時には、速度ループの積分器(積分処理)
は完全積分を行うので、サーボ剛性は高い状態に保持さ
れる。一方、停止する際には、移動指令が「0」になる
分配周期よりも1以上前の分配周期から、上記積分器
(積分処理)を不完全積分に切り換えて、移動指令が
「0」になったとき積分値の値が小さなものになるよう
にし、オーバーシュートをおさえる。Action During normal operation, the speed loop integrator (integration process)
Performs perfect integration, so that the servo rigidity is kept high. On the other hand, when stopping, the integrator (integration process) is switched to incomplete integration from the distribution cycle one or more before the distribution cycle at which the movement command becomes “0”, and the movement command becomes “0”. When this happens, the value of the integral value should be small and overshoot should be avoided.
実施例 第3図は、本発明の一実施例を実施するデジタルサー
ボ制御装置のブロック図であり、構成は従来のデジタル
サーボ制御を行う装置と同一構成であるので、概略的に
示している。Embodiment FIG. 3 is a block diagram of a digital servo control device for carrying out an embodiment of the present invention, and has a schematic configuration because it has the same configuration as a conventional device for performing digital servo control.
第3図において、20は数値制御装置(以下、NCとい
う)、21は共有RAM、22はプロセッサ(CPU),ROM,RAM等
を有するデジタルサーボ回路、23はトランジスタインバ
ータ等のサーボアンプ、24はサーボモータ、25はサーボ
モータ24の回転と共にパルスを発生するパルスコーダで
ある。In FIG. 3, reference numeral 20 denotes a numerical controller (hereinafter referred to as NC), reference numeral 21 denotes a shared RAM, reference numeral 22 denotes a digital servo circuit having a processor (CPU), ROM, RAM, etc., reference numeral 23 denotes a servo amplifier such as a transistor inverter, and reference numeral 24 denotes a servo amplifier. The servo motor 25 is a pulse coder that generates a pulse with the rotation of the servo motor 24.
NC20はIPT周期(分配周期)毎に移動指令を共有RAM12
に書込み、デジタルサーボ回路21のCPUはこの移動指令
を共有RAM12から読取り、上記ITP周期をN個に分割した
周期で、位置・速度ループ処理を行う。ITP周期毎NC20
から出力される移動指令がITP周期中均等に分配される
ように位置・速度ループ処理における移動指令Pc(n)
を求め、この移動指令Pc(n)とパルスコーダ25からの
位置のフィードバックパルスPfによって得られるサーボ
モータ24の現在位置との差より位置ループ処理を行って
速度指令Vcを求め、次に、該速度指令Vcとパルスコーダ
25からのフィードバックパルスによって得られるサーボ
モータ24の実速度Vfより速度ループ処理、トルク指令
(電流指令)Tcを求める。そして、電流ループ処理を行
い、PWM指令を作成し、サーボアンプ23を介してサーボ
モータ24を駆動する。NC20 shares movement command every IPT cycle (distribution cycle) RAM12
And the CPU of the digital servo circuit 21 reads this movement command from the shared RAM 12, and performs the position / velocity loop processing in a cycle obtained by dividing the ITP cycle into N pieces. NC20 per ITP cycle
Command Pc (n) in the position / velocity loop processing so that the movement command output from the controller is evenly distributed during the ITP cycle
From the difference between the movement command Pc (n) and the current position of the servo motor 24 obtained by the feedback pulse Pf of the position from the pulse coder 25 to obtain a speed command Vc. Command Vc and pulse coder
A speed loop process and a torque command (current command) Tc are obtained from the actual speed Vf of the servo motor 24 obtained by the feedback pulse from 25. Then, a current loop process is performed, a PWM command is created, and the servo motor 24 is driven via the servo amplifier 23.
第1図,第2図は本実施例におけるデジタルサーボ回
路22のCPUが実施するITP周期ごとの移動指令読み取り処
理、および位置・速度ループ処理周期毎の位置ループ処
理、速度ループ処理のフローチャートである。FIG. 1 and FIG. 2 are flowcharts of the movement command reading processing for each ITP cycle, the position loop processing and the speed loop processing for each position / speed loop processing cycle, which are executed by the CPU of the digital servo circuit 22 in this embodiment. .
第1図はITP周期毎行う処理のフローチャートで、ま
ず、デジタルサーボ回路のCPUはITP周期ごとNC20から出
力された移動指令Mcを共有RAM21を介して読む(ステッ
プS1)。そして、この移動指令が「0」であるか否か判
断し(ステップS2)、「0」であれば、レジスタに記憶
される1ITP周期前の移動指令が「0」か否か判断し(ス
テップS3)、「0」であれば、ステップS1で読み取った
移動指令McをレジスタR(Mc)に格納する(ステップS
6)。すなわち、レジスタR(Mc)には当該周期より1
周期前の移動指令Mcを記憶することになる。FIG. 1 is a flowchart of a process performed every ITP cycle. First, the CPU of the digital servo circuit reads the movement command Mc output from the NC 20 via the shared RAM 21 every ITP cycle (step S1). Then, it is determined whether or not this movement command is “0” (step S2). If it is “0”, it is determined whether or not the movement command one ITP cycle before stored in the register is “0” (step S2). S3) If "0", move instruction Mc read in step S1 is stored in register R (Mc) (step S3).
6). That is, the register R (Mc) stores 1
The movement command Mc before the cycle is stored.
ステップS1で読み取った移動指令Mcが「0」でないと
きには、フラグFを「0」にセットしカウンタCNTを
「0」にセットし(ステップS7,S8)、ステップS6に移
行する。これにより、後述するように位置・速度ループ
処理を行うITP周期の移動指令より1周期先の移動指令M
cがあるときにはフラグF,カウンタCNTが「0」にセット
されることになり、移動開始時には必ず、フラグF,カウ
ンタCNTは「0」にセットされることになる。If the movement command Mc read in step S1 is not "0", the flag F is set to "0", the counter CNT is set to "0" (steps S7, S8), and the process proceeds to step S6. As a result, as described later, the movement command M which is one cycle ahead of the movement command in the ITP cycle for performing the position / velocity loop processing is described.
When c is present, the flag F and the counter CNT are set to "0", and the flag F and the counter CNT are always set to "0" at the start of movement.
また、ステップS1で読み取った移動指令Mcが「0」で
あり、レジスタR(Mc)の値が「0」でないとき(移動
を停止する際)には、上記フラグFを「1」にセット
し、上記カウンタCNTを設定された任意の値Aをセット
して(ステップS4,S5)、ステップS6に移行する。When the movement command Mc read in step S1 is "0" and the value of the register R (Mc) is not "0" (when stopping the movement), the flag F is set to "1". Then, the arbitrary value A set in the counter CNT is set (steps S4 and S5), and the process proceeds to step S6.
一方、位置・速度ループ周期では各周期毎第2図にフ
ローチャートで示す処理を実行し、まず、レジスタR
(Mc)に記憶されている移動指令Mcに基づいて各位置・
速度ループ処理周期毎の移動指令を従来と同様に求め
(ステップS100)、該移動指令に基づいて従来と同様に
位置ループ処理を実行し速度指令Vcを求める(ステップ
S101)。すなわち、レジスタR(Mc)に記憶する移動指
令に基づいて位置・速度ループ処理を行うことになるの
で、第1図に示すITP周期毎の移動指令Mcの読み込み
(ステップS1)は移動指令Mcを1ITP周期先読みすること
になる。On the other hand, in the position / velocity loop period, the process shown in the flowchart of FIG.
(Mc) based on the movement command Mc stored in
A movement command for each speed loop processing cycle is obtained in the same manner as in the related art (step S100), and based on the movement command, a position loop process is executed in the same manner as in the related art to obtain a speed command Vc (step
S101). That is, since the position / velocity loop processing is performed based on the movement command stored in the register R (Mc), the reading of the movement command Mc for each ITP cycle shown in FIG. One ITP cycle read ahead.
次に、フラグFが「1」か否か判断し(ステップS10
2)、該フラグFは1つ先のITP周期の移動指令Mcが
「0」でないとき「0」に設定されているから、移動開
始時、若しくはすでに移動を開始しているときには該フ
ラグFは「0」にセットされており、この場合には速度
ループ処理では完全積分が実行される。すなわち、レジ
スタに記憶する積分値SvにステップS101で求められた速
度指令Vcから速度フィードバック量Vfを減じた値(速度
偏差)を加算して積分値Svを求める第1式の完全積分を
実行し(ステップS108)、該積分値Svに積分定数k1を乗
じた値に速度フィードバック量Vfに比例定数k2を乗じた
値を減じてトルク指令Tcを算出し(ステップS106)、該
トルク指令Tcを電流ループ処理に引き渡し(ステップS1
07)、当該位置・速度ループ処理を終了する。Next, it is determined whether the flag F is "1" (step S10).
2) Since the flag F is set to “0” when the movement command Mc of the next ITP cycle is not “0”, the flag F is set at the start of movement or when movement has already been started. It is set to "0", and in this case, complete integration is executed in the speed loop processing. That is, a value obtained by subtracting the speed feedback amount Vf from the speed command Vc obtained in step S101 (speed deviation) is added to the integrated value Sv stored in the register, and the complete integration of the first equation for obtaining the integrated value Sv is executed. (Step S108), a torque command Tc is calculated by subtracting a value obtained by multiplying the integral value Sv by the integral constant k1 and a value obtained by multiplying the speed feedback amount Vf by the proportional constant k2 (Step S106). Delivered to loop processing (step S1
07), the position / velocity loop processing ends.
また、ステップS102でフラグFが「1」であるとき、
すなわち、当該位置・速度ループ処理におけるITP周期
より1周期先のITP周期の移動指令Mcが「0」で当該ITP
周期の移動指令が「0」でないとき(移動を停止する1I
TP周期前)、フラグFは「1」にセットされカウンタCN
TはAにセットされるから(ステップS2〜S5参照)、フ
ラグFは「1」であるのでステップS102からステップS1
03に移行し、カウンタCNTが「0」でなければ(始めは
「0」でない)、カウンタCNTから「1」減じて(ステ
ップS104)、第2式に示す不完全積分を行い(ステップ
S105)、得られた積分値Svによってトルク指令Tcを求め
電流ループに引き渡す(ステップS106,S107)。以下、
位置・速度ループ処理周期毎フラグFが「1」である限
り、カウンタCNTが「0」になるまで、ステップS100〜S
107の処理が実行され、速度ループ処理の積分処理は不
完全積分が実行されることになる。When the flag F is “1” in step S102,
That is, the movement command Mc of the ITP cycle one cycle ahead of the ITP cycle in the position / speed loop processing is “0” and the ITP cycle
When the cycle movement command is not “0” (stop movement 1I
Before TP cycle), the flag F is set to “1” and the counter CN
Since T is set to A (see steps S2 to S5), since the flag F is "1", steps S102 to S1 are performed.
In step 03, if the counter CNT is not "0" (not initially "0"), "1" is subtracted from the counter CNT (step S104), and the incomplete integration represented by the second equation is performed (step S104).
S105), a torque command Tc is obtained based on the obtained integral value Sv, and is passed to the current loop (steps S106 and S107). Less than,
As long as the position / velocity loop processing cycle flag F is "1", steps S100 to S100 are executed until the counter CNT becomes "0".
The processing of step 107 is executed, and in the integration processing of the speed loop processing, incomplete integration is executed.
その結果、ITP周期の移動指令Mcが「0」になる1つ
前のITP周期の各位置・速度ループ処理から速度ループ
処理の積分処理は不完全積分処理が実行されることにな
るので、ITP周期をN分割した位置・速度ループ処理周
期の各速度ループ処理での積分処理の積分値Svは順次小
さな値となり、位置・速度ループ処理における移動指令
Pcが「0」になった時点では、該積分値Svは小さな値と
なり、停止時にオーバシュートが生じることは少なくな
る。As a result, since the position / velocity loop processing of the immediately preceding ITP cycle at which the movement command Mc of the ITP cycle becomes “0”, the integral processing of the speed loop processing is performed as an incomplete integration processing. The integral value Sv of the integration process in each speed loop process of the position / speed loop process period obtained by dividing the cycle into N becomes smaller sequentially, and the movement command in the position / speed loop process
When Pc becomes “0”, the integral value Sv becomes a small value, and the occurrence of overshoot at the time of stoppage is reduced.
そして、上記カウンタCNTが「0」になると、ステッ
プS108に移行し、完全積分に戻り、かつ、次の移動指令
がある場合には、その移動指令Mcが実行される1つ前の
ITP周期でフラグF,カウンタCNTは「0」にセットされる
ことになる(ステップS7,S8参照)。When the value of the counter CNT becomes "0", the process proceeds to step S108, returns to the complete integration, and when there is a next movement command, the one before the execution of the movement command Mc is executed.
The flag F and the counter CNT are set to “0” in the ITP cycle (see steps S7 and S8).
なお、上記実施例では、ITP周期における移動指令Mc
が「0」になる1ITP周期前より、速度ループの積分処理
を不完全積分処理にするようにしたが、さらに、2ITP周
期前、3ITP周期前から不完全積分に切り換えるようにし
てもよい。In the above embodiment, the movement command Mc in the ITP cycle is used.
Although the integral processing of the velocity loop is set to the incomplete integration processing before 1ITP cycle before becomes zero, it may be switched from 2ITP cycles or 3ITP cycles to incomplete integration.
発明の効果 本発明は、サーボモータがその回転を停止する直前よ
り、速度ループ処理の積分処理を不完全積分にし、通常
のサーボモータの駆動中は上記速度ループ処理の積分処
理を完全積分するようにしたので、サーボ剛性が保持さ
れると共に、停止時にオーバーシュートを生じさせるこ
とは少なくなる。Advantageous Effects of the Invention The present invention makes the integral processing of the speed loop processing incomplete integration immediately before the servo motor stops its rotation, and completes the integration processing of the speed loop processing during normal servo motor driving. As a result, the servo rigidity is maintained, and the occurrence of overshoot at the time of stopping is reduced.
第1図は本発明の一実施例における分配周期(ITP周
期)毎のデジタルサーボ回路のプロセッサが実施する処
理のフローチャート、第2図は同実施例におけるデジタ
ルサーボ回路のプロセッサが実施する位置・速度ループ
処理のフローチャート、第3図は同実施例を実施するデ
ジタルサーボ制御装置のブロック図、第4図はサーボモ
ータの位置・速度制御系のブロック図、第5図は速度ル
ープの積分器に完全積分を使用したとき、オーバーシュ
ートが生じることを説明する説明図である。 20……数値制御装置、21……共有RAM、 22……デジタルサーボ回路、23……サーボアンプ、 24……サーボモータ、25……パルスコーダ。FIG. 1 is a flowchart of processing executed by a processor of a digital servo circuit for each distribution cycle (ITP cycle) according to an embodiment of the present invention, and FIG. 2 is a position / speed executed by a processor of the digital servo circuit in the embodiment. FIG. 3 is a block diagram of a digital servo controller which implements the embodiment, FIG. 4 is a block diagram of a position / speed control system of a servo motor, and FIG. FIG. 4 is an explanatory diagram illustrating that overshoot occurs when integration is used. 20 Numerical controller, 21 Shared RAM, 22 Digital servo circuit, 23 Servo amplifier, 24 Servo motor, 25 Pulse coder
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05D 3/12 G05B 19/404 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) G05D 3/12 G05B 19/404
Claims (1)
置・速度ループ処理をプロセッサで実施するサーボモー
タの制御方式において、その時点の分配周期よりも設定
された1以上先の分配周期における移動指令が「0」で
あるとき、オーバーシュートを防ぐために速度ループ処
理における積分処理を完全積分から不完全積分に切り換
えることを特徴とするサーボモータの制御方式。In a servo motor control method in which a processor executes position / velocity loop processing in response to a movement command instructed in each distribution cycle, a distribution cycle one or more times ahead of a distribution cycle set at that time. A control method for a servomotor, wherein when a movement command is "0", integration processing in a speed loop processing is switched from complete integration to incomplete integration in order to prevent overshoot.
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 JPH04184512A (en) | 1992-07-01 |
JP3197898B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3628119B2 (en) * | 1996-07-24 | 2005-03-09 | ファナック株式会社 | Servo motor control method |
-
1990
- 1990-11-20 JP JP31264990A patent/JP3197898B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04184512A (en) | 1992-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5107193A (en) | Feedforward control apparatus for a servomotor | |
US5691616A (en) | Fully-closed-loop servomotor control system | |
EP0012620B1 (en) | Closed loop type numerical-controlled machine tool | |
JP2573120B2 (en) | Speed control method and control device for synchronous AC servomotor | |
JP3537416B2 (en) | Servo control device | |
US6057661A (en) | Method of detecting an abnormal load on a servomotor and controlling the same in such an abnormal condition | |
JPH07110717A (en) | Motor control system | |
US5986422A (en) | Control mode changing over method for servo control system | |
JP2875646B2 (en) | Backlash acceleration correction device | |
JP3285681B2 (en) | Servo motor control method | |
WO1988004445A1 (en) | Numerical controller | |
JPH06339292A (en) | Force controlling method by estimation of disturbance load | |
EP0510212A1 (en) | Method for controlling servomotor feedforward | |
JP2673543B2 (en) | Excessive Error Detection Method in Servo Motor Control | |
JP3197898B2 (en) | Servo motor control method | |
JP3628119B2 (en) | Servo motor control method | |
JP2826391B2 (en) | Backlash acceleration control method | |
JP3253022B2 (en) | Servo motor backlash compensation control method | |
JPH06131050A (en) | Method for detecting collision of movable part driven by servo motor | |
JPH0682346A (en) | Estimation of inertia and disturbance torque and detection of abnormal load | |
JPH03246708A (en) | Acceleration feedback control system for servomotor | |
US5034672A (en) | Reference-point return method | |
JP2849085B2 (en) | Digital speed control method for electric motor | |
JPH10105247A (en) | Overshoot preventing method for servomotor | |
JP2709766B2 (en) | Feed forward control method of servo motor |
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 |