JPH0421101A - Saturated processing system for learning controller - Google Patents
Saturated processing system for learning controllerInfo
- Publication number
- JPH0421101A JPH0421101A JP12425490A JP12425490A JPH0421101A JP H0421101 A JPH0421101 A JP H0421101A JP 12425490 A JP12425490 A JP 12425490A JP 12425490 A JP12425490 A JP 12425490A JP H0421101 A JPH0421101 A JP H0421101A
- Authority
- JP
- Japan
- Prior art keywords
- value
- clamp
- input
- values
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42152—Learn, self, auto tuning, calibrating, environment adaptation, repetition
Landscapes
- Feedback Control In General (AREA)
- Control Of Position Or Direction (AREA)
Abstract
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、工作機械等に用いられるサーボモータの制御
に関するもので、特に、所定周期で同一パターンが繰返
し指令されるような制御に関する。DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to the control of servo motors used in machine tools and the like, and particularly to control in which the same pattern is repeatedly commanded at a predetermined period.
従来の技術
サーボモータの制御において、所定周期で同じパターン
で繰返される指令に対し、制御偏差を零に収束させ高い
精度のモータ制御を行い加工精度を向上させる方法とし
て、学習制御方式が用いられてる。Conventional technology In the control of servo motors, a learning control method is used as a method to converge control deviation to zero in response to commands that are repeated in the same pattern at a predetermined period, perform highly accurate motor control, and improve machining accuracy. .
第5図は、上記学習制御方式を適用したサーボモータの
制御における要部ブロック線図である。FIG. 5 is a block diagram of essential parts in controlling a servo motor to which the learning control method described above is applied.
第5図において、rは速度指令、Eは該速度指令rと実
際の速度ωとの差である速度偏差、6は速度ループ伝達
関数で、位置偏差を知るための積分器が加わった従来か
ら公知のようにPI制御等を行うものである。そして、
学習制御を行うために学習コントローラ10が付加され
ており、該学習コントローラ10は帯域制限フィルタ3
、所定周期して繰返される1周期分のデータを記憶する
遅れ要素4、及び、制御対象の位相遅れ、ゲイン低下を
補償するための動特性補償要素5で構成されている。In Fig. 5, r is a speed command, E is a speed deviation that is the difference between the speed command r and the actual speed ω, and 6 is a speed loop transfer function, which is a conventional method in which an integrator is added to know the position deviation. As is well known, it performs PI control and the like. and,
A learning controller 10 is added to perform learning control, and the learning controller 10 includes a band-limiting filter 3.
, a delay element 4 that stores data for one period that is repeated at a predetermined period, and a dynamic characteristic compensation element 5 that compensates for phase lag and gain reduction of the controlled object.
上記学習コントローラ10は所定サンプリング周期T毎
に速度偏差Eに遅れ要素4から出力される1周期り前の
サンプリング時のデータElを加算し、帯域制限フィル
タ3の処理を行って遅れ要素4にそのデータを格納する
。遅れ要素4はN(=L/T)個のメモリを有し、1周
期り分の各サンプリングデータを記憶できるようになっ
ており、各サンプリング時には一番古いデータを出力す
るようになっている。即ち、各サンプリング毎1番地シ
フトして0番地のメモリに入力データを格納し、N−1
番地のデータをaカする。その結果、遅れ要素4の出力
は1周期り分遅れたサンプリングデータが出力される。The learning controller 10 adds the data El outputted from the delay element 4 at the time of sampling one cycle before to the speed deviation E at every predetermined sampling period T, and performs processing by the band-limiting filter 3 to add the data to the delay element 4. Store data. The delay element 4 has N (=L/T) memories and can store each sampling data for one cycle, and outputs the oldest data at each sampling time. . That is, the input data is shifted by one address for each sampling and stored in the memory at address 0, and
Enter the address data. As a result, the delay element 4 outputs sampling data delayed by one cycle.
そのため、周期して同一パターンの速度指令rが与えら
れるから、速度偏差Eと遅れ要素4の出力か加算されて
、速度指令rのパターン上において同一位置のデータが
補正データとして記憶されることとなる。Therefore, since the speed command r of the same pattern is given periodically, the speed deviation E and the output of the delay element 4 are added, and the data at the same position on the pattern of the speed command r is stored as correction data. Become.
また、遅れ要素4の出力は動特性補償要素5で制御対象
の位相遅れ、ゲイン以下が補償されて、学習コントロー
ラ10の出力yとして出力され、該出力yが速度偏差E
に加算されて、この加算データによって速度ループ処理
が実行される。Further, the output of the delay element 4 is compensated for the phase delay and gain of the controlled object by the dynamic characteristic compensation element 5, and is output as the output y of the learning controller 10, and the output y is the speed deviation E
The speed loop processing is executed using this added data.
その結果、所定周期りで同一パターンの処置が繰返され
、あるサンプリング時において前周期で当該サンプリン
グ時に対応するサンプリング時の速度偏差Eが大きな値
の場合には、全周期においては、学習コントローラ10
から大きな値の出力yが出力され、速度偏差に加算され
ることとなるから、速度ループ処理に入力される速度偏
差は大きく変り、実速度ωもそれに対して変化するから
、速度偏差Eはその値が零に収束するように修正される
ことになり、高精度のモータ制御が可能となる。As a result, the same pattern of processing is repeated in a predetermined cycle, and if the speed deviation E at the sampling time corresponding to the sampling time in the previous cycle at a certain sampling time is a large value, the learning controller 10
Since a large value of output y is output from and added to the speed deviation, the speed deviation input to the speed loop process changes greatly, and the actual speed ω also changes accordingly, so the speed deviation E is The value is corrected so that it converges to zero, making it possible to control the motor with high precision.
発明が解決しようとする課題
上述したように学習制御において、速度偏差Eが非常に
大きくなる場合かあ、また、サーボモータを駆動するア
ンプの有する最大出力や、サーボモータの最大出力トル
ク等によって、モータが出力できるトルクが制限される
ことから、速度偏差Eかなかなか収束しない場合が生じ
、このような場合、学習コントローラlO内の帯域制限
フィルタ3の入力の値が徐々に大きくなり、演算器で処
理できる数値の範囲を越え、オーバーフローが発生する
。このような場合、従来は、帯域制限フィルタ3の入力
をある固定値でクランプする方法が取られている。しか
し、このような方法を用いると位置かずれるいう問題が
発生する。Problems to be Solved by the Invention As mentioned above, in learning control, there are cases where the speed deviation E becomes very large, and depending on the maximum output of the amplifier that drives the servo motor, the maximum output torque of the servo motor, etc. Since the torque that the motor can output is limited, there may be cases where the speed deviation E does not converge. In such cases, the input value of the band-limiting filter 3 in the learning controller 10 gradually increases, and the calculation unit An overflow occurs when the number exceeds the range that can be processed. In such a case, a method has conventionally been adopted in which the input of the band-limiting filter 3 is clamped at a certain fixed value. However, when such a method is used, a problem arises in that the position is shifted.
第6図及び第7図はこの位置ずれ発生の説明図である。FIGS. 6 and 7 are explanatory diagrams of the occurrence of this positional deviation.
所定周期して動作は繰り返し実施されており、第6図(
a)に示すように減速時のトルクTdl。The operation is repeated at a predetermined period, as shown in Figure 6 (
As shown in a), the torque Tdl during deceleration.
Ta2.Ta3・・・・・・、加速時のトルクTal、
Ta2.・・・・・・が交互に出力され、位置、及び速
度は第6図(b)、(c)に示すように所定周期して同
一パターンで繰り返している。第6図(a)中「トルク
リミット」はサーボモータが8力できるトルクの限界値
を示すもので、トルク指令がTa1、Ta2・・・、T
dl、Ta2・・・とあったとしてもモータから出力さ
れるトルクはこのトルクリミット値までである。その結
果、トルク指令があってもモータから出力できないトル
クの積算値AI。Ta2. Ta3... Torque Tal during acceleration,
Ta2. . . . are output alternately, and the position and velocity are repeated in the same pattern at a predetermined period as shown in FIGS. 6(b) and 6(c). "Torque limit" in Fig. 6(a) indicates the limit value of the torque that the servo motor can produce with 8 forces, and the torque command is Ta1, Ta2..., T.
Even if there are dl, Ta2, etc., the torque output from the motor is up to this torque limit value. As a result, the integrated value AI of torque that cannot be output from the motor even if there is a torque command.
A2・・・、Bl、B2・・・において、A1=lBI
A2=I821・・・・・・であれば、加速及び減速時
のトルクが同等に減少するものであるから、位置ずれは
生じない。第6図(b)、 (c)はこのような場合
における状態を示している。In A2..., Bl, B2..., A1=lBI
If A2=I821..., then the torque during acceleration and deceleration is reduced equally, so no positional deviation occurs. FIGS. 6(b) and 6(c) show the state in such a case.
一方、上記積算値に差があり、例えば、AI>Bl l
、A2> l 821・・・とすると、加速時のトルク
が小さくなり、第7図(b)に示すように速度の立ち上
がり勾配は小さくなり、その分だけ移動量が少なくなる
。その結果、第7図(a)に示すように、位置ずれdi
、d2・・・が生しることとなる。On the other hand, there is a difference in the above integrated values, for example, AI>Bl l
, A2>l 821..., the torque during acceleration becomes smaller, the rising slope of the speed becomes smaller as shown in FIG. 7(b), and the amount of movement decreases accordingly. As a result, as shown in FIG. 7(a), the positional deviation di
, d2... will be generated.
そこで本発明の目的は、上記帯域制限フィルタの入力の
クランプ値を最適値に調整することによって上記位置ず
れを防止した学習コントローラの飽和処理方式を提供す
ることにある。SUMMARY OF THE INVENTION An object of the present invention is to provide a saturation processing method for a learning controller that prevents the positional shift by adjusting the clamp value of the input of the band-limiting filter to an optimal value.
課題を解決するための手段
本発明は、速度指令が所定周期で繰り返されるサーボモ
ータの制御であって、当該サンプリング時の速度偏差に
上記所定周期の1周期前の当該サンプリング時に対応す
る補正データを加算し、該加算した値を帯域制限フィル
タ処理を行って当該周期の当該サンプリング時の補正デ
ータとして記憶すると共に、上記1周期前の当該サンプ
リング時に対応する補正データに基づいて上記当該サン
プリング時の速度偏差を補正してサーボモータを制御す
る学習制御方式における学習コントローラにおいて、上
記帯域制限フィルタ処理における入力をクランプする正
、負のクランプ値より入力値が越える分を各サンプリン
グ時積算し、上記積算値が零になるように上記正、負の
クランプ値を変更することによって上記課題を解決した
。Means for Solving the Problems The present invention provides control of a servo motor in which a speed command is repeated at a predetermined period, and in which correction data corresponding to the sampling period one cycle before the predetermined period is added to the speed deviation at the sampling period. The added value is subjected to band-limiting filter processing and stored as correction data at the sampling time in the cycle, and the speed at the sampling time is calculated based on the correction data corresponding to the sampling time in the previous cycle. In a learning controller using a learning control method that corrects deviations and controls a servo motor, the amount by which the input value exceeds the positive and negative clamp values that clamp the input in the above-mentioned band-limiting filter processing is integrated at each sampling time, and the above-mentioned integrated value is calculated. The above problem was solved by changing the positive and negative clamp values so that the value becomes zero.
作 用
例えば、第6図において、Al>IBI l、A2>
l B21・・・で第7図に示すように位置ずれが生じ
たとする。このような場合、第7図(b)に示すように
破線で示す本来の速度に対して実際の速度は遅れ、速度
偏差Eは正の値で大きくなり、その結果、速度偏差Eに
補正データが加算されて、この加算値の正、負のクラン
プ値を越えた分の積算値が前周期して検出された該積算
値より大きくなる。このような場合、帯域制限フィルタ
処理の正(上限)、負(下限)のクランプ値をさげる。For example, in FIG. 6, Al>IBI l, A2>
Suppose that a positional shift occurs in B21... as shown in FIG. In such a case, as shown in Fig. 7(b), the actual speed lags behind the original speed shown by the broken line, and the speed deviation E becomes large with a positive value.As a result, the correction data is added to the speed deviation E. are added, and the integrated value of this added value exceeding the positive and negative clamp values becomes larger than the integrated value detected in the previous cycle. In such a case, the positive (upper limit) and negative (lower limit) clamp values of the band limit filter processing are lowered.
そうすると記憶される補正データのクランプされた正の
値は小さくなり、負の値はその絶対値が大きくなる。そ
の結果次の周期では、この補正データに基づいて出力さ
れる学習コントローラの出力は、正のときは小さく、負
のときはその絶対値が大きくなり、これが速度偏差に加
算されるから、速度ループ処理で出力されるトルク指令
は正のときは小さくなり、負のときはその絶対値が大き
くなる。そのため第6図におけれるAl、A2・・・の
値は小さくなり、Bl、B2・・・の値はその絶対値が
大きくなる。その結果、上記積算値A1+B1+A2+
B2・・・の値は小さ(なり零に近づき、速度偏差Eに
補正データを加算しその加算した値において正、負のク
ランプ値より越えた分の積算値も零に近づくこととなる
。Then, the clamped positive values of the stored correction data become small, and the absolute values of negative values become large. As a result, in the next cycle, the output of the learning controller based on this correction data will be small when positive, and large when negative, and this will be added to the speed deviation, so the speed loop When the torque command output in the process is positive, the torque command becomes small, and when it is negative, the absolute value becomes large. Therefore, the values of Al, A2, . . . in FIG. 6 become small, and the absolute values of Bl, B2, . As a result, the above integrated value A1+B1+A2+
The value of B2... is small (approaching zero), and the integrated value of the amount exceeding the positive and negative clamp values in the added value by adding the correction data to the speed deviation E also approaches zero.
また、上記積算値において、Al< l BIA2<
l B2 +・・・の場合には減速トルクが小さく減速
速度が落ちて、速度偏差Eの負の絶対値の値が大きくな
る。その結果、速度偏差に補正データを加算した値の正
、負のクランプ値を越えた分の積算値は前周期りのこの
積算値と比較して小さくなる。このような場合には、帯
域制限フィルタ処理の正(上限)、負(下限)のクラン
プ値をあげる。そうすると記憶される補正データのクラ
ンプされた正の値は大きくなり、負の値はその絶対値が
小さくなる。その結果次の周期では、この補正データに
基づいて出力される学習コントローラの出力は、正のと
きは大きく、負のときはその絶対値が小さくなり、これ
が速度偏差に加算されるから、速度ループ処理で出力さ
れるトルク指令は正のときは大きくなり、負のときはそ
の絶対値が小さくなる。そのため第6図におけれるAl
、 A2・・・の値は大きくなり、Bl、B2・・・の
値はその絶対値が小さくなる。その結果、上記積算値A
1+B1+A2+B2・・・の値は小さくなり零に近づ
き、速度偏差Eに補正データを加算しその加算した値に
おいて正、負のクランプ値より越えた分の積算値も零に
近づくこととなる。In addition, in the above integrated values, Al< l BIA2<
In the case of l B2 +..., the deceleration torque is small, the deceleration speed is decreased, and the negative absolute value of the speed deviation E becomes large. As a result, the integrated value of the sum of the speed deviation and the correction data that exceeds the positive and negative clamp values becomes smaller than the integrated value of the previous period. In such a case, the positive (upper limit) and negative (lower limit) clamp values of the band-limiting filter processing are increased. Then, the clamped positive values of the stored correction data become large, and the absolute values of negative values become small. As a result, in the next cycle, the output of the learning controller based on this correction data will be large when positive, and small when negative, and this will be added to the speed deviation, so the speed loop The torque command output in the process increases when it is positive, and its absolute value decreases when it is negative. Therefore, Al in Figure 6
, A2... become large, and the absolute values of Bl, B2... become small. As a result, the above integrated value A
The value of 1+B1+A2+B2... becomes smaller and approaches zero, and the integrated value of the addition of the correction data to the speed deviation E that exceeds the positive and negative clamp values also approaches zero.
実施例
第1図は本発明の一実施例の学習制御方式を適用したサ
ーボモータの制御における要部ブロック図である。Embodiment FIG. 1 is a block diagram of essential parts in controlling a servo motor to which a learning control method according to an embodiment of the present invention is applied.
第1図において、符号1は学習コントローラであり、第
5図に示した従来の学習コントローラ10と比べ、飽和
処理ブロック2が加わっている点が相違する。そして、
第5図に示す従来の方式と同一の要素は同一符号を符し
ている。In FIG. 1, reference numeral 1 denotes a learning controller, which differs from the conventional learning controller 10 shown in FIG. 5 in that a saturation processing block 2 is added. and,
Elements that are the same as those in the conventional system shown in FIG. 5 are designated by the same reference numerals.
学習コントローラ1のサンプリング周期(速度ループの
処理周期)をT、所定処理パターンで繰り返される速度
指令rの周期をLとすると、遅れ要素4にはL/T=N
個のメモリを有し、1周期り分の各サンプリングデータ
を記憶できるようになっており、各サンプリング時には
一番古いデー夕を出力するようになっている。即ち、各
サンプリング毎1番地シフトして0番地のメモリに入力
データを格納し、N−1番地のデータを出力する。If the sampling period (speed loop processing period) of the learning controller 1 is T, and the period of the speed command r repeated in a predetermined processing pattern is L, then the delay element 4 has L/T=N.
It has two memories and can store each sampling data for one cycle, and outputs the oldest data at each sampling time. That is, the input data is shifted by one address for each sampling, and the input data is stored in the memory at address 0, and the data at address N-1 is output.
その結果、遅れ要素4の出力は1周期り公達れた補正デ
ータが出力される。そのため、後述するように、周期り
で同一パターンの速度指令rが与えられるから、速度指
令rのパターン上において同一位置の補正データが速度
偏差Eに加算されることとなる。As a result, the delay element 4 outputs correction data that has been published for one cycle. Therefore, as will be described later, since the same pattern of speed commands r is given periodically, correction data at the same position on the pattern of the speed command r is added to the speed deviation E.
各サンプリング周期Tごと速度指令rから実速度ωを減
じて速度偏差Eを求め、該速度偏差Eに1周期り前の当
該サンプリング時に対応する補正データEl(メモリの
N−1番地に記憶する補正データ)が加算され、その加
算値が飽和処理ブロック2の入力X1となる。飽和処理
ブロック2は第2図にグラフで示すような処理を行って
おり、入力X1の絶対値が小さいときは入力X1をその
まま出力XOとして出力し、入ツ7X1が設定された正
の可変クランプ値Lhをこえるとこの値にクランプして
出力XOを出力する。また、入力X1が負の可変クラン
プ値Llをこえるとこの値Llに出力xOをクランプし
て出力する。なお、Lmax、Lminは演算器で処理
できる数値の限界値でLmaxは正の固定値、Lmin
は負の固定値である。そして、入力X1の各クランプ値
を越えた分を積算し、上記積算値の値に応じて、上記可
変クランプ値Lh、Llを調整するようになっている。At each sampling period T, the actual speed ω is subtracted from the speed command r to obtain the speed deviation E, and the correction data El corresponding to the speed deviation E at the sampling time one period before (the correction stored at address N-1 in the memory) data) are added, and the added value becomes the input X1 of the saturation processing block 2. The saturation processing block 2 performs processing as shown in the graph in Figure 2, and when the absolute value of input X1 is small, it outputs input X1 as it is as output When it exceeds the value Lh, it is clamped to this value and outputs the output XO. Furthermore, when the input X1 exceeds the negative variable clamp value Ll, the output xO is clamped to this value Ll and output. Note that Lmax and Lmin are the limit values of numerical values that can be processed by the arithmetic unit, Lmax is a positive fixed value, and Lmin is a positive fixed value.
is a fixed negative value. Then, the amount exceeding each clamp value of the input X1 is integrated, and the variable clamp values Lh and Ll are adjusted according to the integrated value.
こうして飽和処理ブロック2から出力されたデータXO
は帯域制限フィルタ処理3が行われ、その出力をメモリ
の0番地に格納すると共にメモリ記憶内容を1番地づつ
シフトする。The data XO output from the saturation processing block 2 in this way
Band limit filter processing 3 is performed, and the output thereof is stored in address 0 of the memory, and the memory contents are shifted one address at a time.
また、遅れ要素4の出力は動特性補償要素5で制御対象
の位相遅れ、ゲイン以下が補償されて、学習コントロー
ラ1の出力yとして出力され、該8力yが速度偏差Eに
加算されて、この加算データによって速度ループ処理が
実行される。Further, the output of the delay element 4 is compensated for the phase delay and gain of the controlled object by the dynamic characteristic compensation element 5, and is output as the output y of the learning controller 1, and the 8 forces y are added to the speed deviation E. Velocity loop processing is executed using this added data.
以上が本発明の詳細な説明であるが、次に本発明の一実
施例について説明する。The detailed description of the present invention has been described above, and next, one embodiment of the present invention will be described.
第3図は、本発明を実施する工作機械のサーボモータ制
御の一実施例のブロック図である。FIG. 3 is a block diagram of an embodiment of servo motor control of a machine tool implementing the present invention.
第3図中、20は工作機械を制御する数値制御装置、2
1は該数値制御装置20から出力される工作機械のサー
ボモータへの位置指令等を受信し、デジタルサーボ回路
22のプロセッサに受は渡すための共有メモリ、22は
デジタルサーボ回路であり、プロセッサによってサーボ
モータ24の位置、速度、電流制御などを行うと共に学
習制御の処理をも行うものである。23はトランジスタ
インバータ等で構成されるサーボアンプ、24はサーボ
モータ、25はサーボモータ1回当りに所定数のフィー
ドバックパルスを発生しデジタルサーボ回路22に出力
するパルスコーダである。なお、22aはデジタルサー
ボ回路22内に設けられているROM、RAMで構成さ
れるメモリである。In Figure 3, 20 is a numerical control device that controls the machine tool;
1 is a shared memory for receiving position commands to the servo motor of the machine tool outputted from the numerical control device 20 and passing them to the processor of the digital servo circuit 22; 22 is a digital servo circuit; It controls the position, speed, current, etc. of the servo motor 24, and also performs learning control processing. 23 is a servo amplifier composed of a transistor inverter, etc.; 24 is a servo motor; and 25 is a pulse coder that generates a predetermined number of feedback pulses per servo motor cycle and outputs them to the digital servo circuit 22. Note that 22a is a memory provided in the digital servo circuit 22 and constituted by a ROM and a RAM.
上記構成は工作機械等のサーボモータの制御において、
デジタルサーボ回路として公知な事項であり、詳細な説
明は省略する。The above configuration is used to control servo motors of machine tools, etc.
This is a well-known matter as a digital servo circuit, and detailed explanation will be omitted.
次に、デジタルサーボ回路22のプロセッサが行う処理
における飽和処理ブロック2の処理について第4図(a
)、 (b)と共に説明する。なお、他の処理は従来
と同様であるのでその説明を省略する。Next, the processing of the saturation processing block 2 in the processing performed by the processor of the digital servo circuit 22 is shown in FIG.
) and (b). Note that other processing is the same as the conventional one, so a description thereof will be omitted.
プロセッサはサンプリング周期(速度処理周期)Tごと
第4図(a)、 (b)の処理を実行し、まず、速度
指令rからバルスコーダ25で検出されるモータの実速
度ωを減じて速度偏差Eを求め該速度偏差Eに遅れ要素
のN−1番地に記憶するサンプリング周期TのN周期前
の補正データE1(繰り返される所定周期かしてサンプ
リング周期Tとし、L/T=Nとしているから、1周期
り前の当該サンプリング周期に対応する補正データEl
が読み出される)を加算しくステップS1.S2)、該
加算値X1が零以上の正の値か否か判断しくステップS
3)、零以上の正の値ならば該加算値X1が現在(始め
は初期設定されている)の正の可変クランプ値Lhより
大きいか否か判断しくステップS4)、小さければ、こ
の加算値X1を飽和処理の出力値XOとして、次の処理
の帯域制限フィルタ処理に引き渡す(ステップS5)。The processor executes the processes shown in FIGS. 4(a) and 4(b) every sampling period (speed processing period) T, and first subtracts the actual speed ω of the motor detected by the pulse coder 25 from the speed command r to obtain the speed deviation E. Calculate the correction data E1 N cycles before the sampling cycle T stored at address N-1 of the delay element in the speed deviation E (since the sampling cycle T is calculated by multiplying by the repeated predetermined cycle and L/T=N, Correction data El corresponding to the sampling period one period before
) is added in step S1. S2), Step S to determine whether the added value X1 is a positive value of zero or more.
3) If it is a positive value of zero or more, it is determined whether the added value X1 is set as the output value XO of the saturation process and passed to the next process, the band-limiting filter process (step S5).
また、加算値X1が正の可変クランプ値Lhより大きけ
れば、飽和処理の出力XOとして正の可変クランプ値L
hを出力し、積算器A(始めは初期設定で0に設定され
ている)に加算値X1から正の可変クランプ値Lhを減
じた値を加算する(ステップS6. S7)。Moreover, if the addition value X1 is larger than the positive variable clamp value Lh, the positive variable clamp value L is used as the output XO of the saturation process.
h is output, and a value obtained by subtracting the positive variable clamp value Lh from the addition value X1 is added to the integrator A (which is initially set to 0) (steps S6 and S7).
また、加算値x1が負の場合には、加算値X1が現在(
始めは初期設定されている)の負の可変クランプ値Ll
より小さいか否か判断しくステップS8)、小さくなけ
ればこの加算値X1を出力XOとして出力しくステップ
S9)、小さい場合には出力XOを負の可変クランプ値
Llとし、積算器Aに加算値X1から負の可変クランプ
値Llを減じた値を加算する(ステップSI0,811
)次に初期設定で0に設定され、この飽和処理を行うご
とに1加算されるカウンタCNTが設定された値nと等
しいか否か判断しくステップ512)、等しくなければ
、該カウンタCNTに1加算し、該カウンタCNTの値
が1周期りをサンプリング周期Tで除した値Nに等しい
か否か判断し等しくなければ当該周期のこの飽和処理を
終了し、等しければカウンタCNTを0にセットして当
該周期の処理を終了する(ステップS19.S20.5
21)。Furthermore, if the additional value x1 is negative, the additional value X1 is currently (
Negative variable clamp value Ll (which is initialized at the beginning)
If it is smaller, it is determined whether the added value The value obtained by subtracting the negative variable clamp value Ll from is added (step SI0, 811
) Next, it is determined whether the counter CNT, which is set to 0 in the initial setting and is incremented by 1 each time this saturation process is performed, is equal to the set value n (step 512). If not, 1 is added to the counter CNT. It is determined whether or not the value of the counter CNT is equal to the value N obtained by dividing one period by the sampling period T. If they are not equal, this saturation process for the period is ended, and if they are equal, the counter CNT is set to 0. (step S19.S20.5)
21).
以下、上記処理をサンプリング周期Tごと繰り返し、ス
テップS12でカウンタCNTの値が設定値nにななっ
たことを検出すると、積算値Aから前周期りにおいてカ
ウンタCNTの値がnであったときの積算値Aを記憶す
るレジスタR(A)の値を減じた値にゲインKを乗じ、
得られた値を現在の正、負の可変クランプ値Lh、Ll
から減じて新しい正、負のクランプ値Lh、Llとする
(ステップ813)。なお、レジスタR(A)には始め
は初期設定で0が設定されている。次にレジスタR(A
)に積算値Aをセットする(ステップ514)。そして
、正の可変クランプ値Lhが演算器で処理できる正の固
定クランプ値Lmaxを越えていれば、この正の可変ク
ランプ値Lhを正の固定クランプ値Lmaxに変更し、
同様に負の可変クランプ値Llが負の固定値Lminよ
り小さければ負の可変クランプ値Llをこの負の固定ク
ランプ値に変更する。なお、各可変クランプ値Lh、L
lがそれぞれの固定クランプ値Lmax、Lminを越
えてなければ、ステップS13で算出されたクランプ値
をそのまま可変クランプ値とする(ステップ815〜5
18)。そしてステップ319〜S21の処理を行って
当該サンプリング周期の処理を終了する。Thereafter, the above process is repeated every sampling period T, and when it is detected in step S12 that the value of the counter CNT has reached the set value n, the value of the counter CNT when the value of the counter CNT was n in the previous period from the integrated value A is Multiply the value obtained by subtracting the value of the register R (A) that stores the integrated value A by the gain K,
The obtained values are set as the current positive and negative variable clamp values Lh, Ll.
, to obtain new positive and negative clamp values Lh and Ll (step 813). Note that the register R(A) is initially set to 0 as an initial setting. Next, register R(A
) is set to the integrated value A (step 514). Then, if the positive variable clamp value Lh exceeds the positive fixed clamp value Lmax that can be processed by the arithmetic unit, this positive variable clamp value Lh is changed to the positive fixed clamp value Lmax,
Similarly, if the negative variable clamp value Ll is smaller than the negative fixed value Lmin, the negative variable clamp value Ll is changed to this negative fixed clamp value. In addition, each variable clamp value Lh, L
If l does not exceed the respective fixed clamp values Lmax and Lmin, the clamp value calculated in step S13 is directly used as the variable clamp value (steps 815 to 5).
18). Then, the processing of steps 319 to S21 is performed to end the processing of the sampling period.
以上の処理をサンプリング周期Tごと実施し、かつ、カ
ウンタCNTはカウント値がN(繰り返しパターンの1
周期り内におけるサンプリング時の数、N=L/T)に
なるごとに0にセットされ、該カウンタCNTの値が設
定値nになるごとにステップ813〜318の処理が行
われて、正、負の可変クランプ値Lh、Llが調整され
ることになる。すなわち所定パターンにおける決まった
所定位置で可変クランプ値Lh、Llの変更がなされる
。The above processing is performed every sampling period T, and the counter CNT has a count value of N (1 of the repeating pattern).
It is set to 0 every time the number of sampling times within a period (N=L/T) is reached, and each time the value of the counter CNT reaches the set value n, the processing of steps 813 to 318 is performed. The negative variable clamp values Lh and Ll will be adjusted. That is, the variable clamp values Lh and Ll are changed at fixed predetermined positions in a predetermined pattern.
以上のようにして、繰り返されるパターンの1周期り内
の所定位置で1回、可変クランプ値Lh。As described above, the variable clamp value Lh is set once at a predetermined position within one cycle of the repeated pattern.
Llの変更がなされ、しかも、この変更は前周期して検
出された積算値(速度偏差Eと補正データElの加算値
が可変クランプ値Lh、Llを越えた分の積算値)が当
該周期りの上記積算値より小さければ、正、負の可変ク
ランプ値Lh、Llは前周期よりも小さい値に変更され
、大きければ、大きい値に変更される。前周期で検出さ
れた上記積算値が当該周期で検出された上記積算値より
小さいということは、速度偏差Eが正方向に増大してい
ることを意味し、正のトルク指令値が大きくモータのト
ルクリミットを越える分が大きい(第6図におけるA1
.A2・・・が大きい)ことを意味する。そこで、正、
負の可変クランプ値Lh、Llを小さ(シ、補正データ
として記憶されるクランプされた値を小さくすれば、次
の周期しでは、速度偏差Eに加算される学習コントロー
ラの出力yは、正の値のときは小さく、負の値のときは
その絶対値が大きくなり、その結果、モータのトルクリ
ミット値を越える分のトルク指令の正の積算値(第6図
のAI、A2・・・)は小さくなり負の積算値(第6図
のBl、B2・・・)の絶対値は大きくなり、これら積
算値を加算した値は零に近づき、速度偏差に補正データ
を加算した値の可変クランプ値を越えた分の積算値も零
に近づき、正、負の可変クランプ値は最適な一定の値に
収束する。そして、トルクリミットを越える分のトルク
指令の正、負の積算値が等しくなることから、位置ずれ
もなくなる。 また、逆の場合で、前周期して検出され
た積算値(速度偏差Eと補正データElの加算値が可変
クランプ値Lh、Llを越えた分の積算値)が当該周期
りの上記積算値より大きければ、正、負の可変クランプ
値Lh、Llは前周期よりも大きい値に変更することに
よって、位置ずれをなくすような最適な正、負の可変ク
ランプ値Lh、Llに自動的に設定されることになる。Ll has been changed, and this change is due to the fact that the integrated value detected in the previous cycle (the integrated value of the sum of the speed deviation E and correction data El exceeding the variable clamp value Lh, Ll) is changed in the current cycle. If the integrated value is smaller than the above-mentioned integrated value, the positive and negative variable clamp values Lh and Ll are changed to a smaller value than the previous cycle, and if larger, they are changed to a larger value. The fact that the integrated value detected in the previous cycle is smaller than the integrated value detected in the current cycle means that the speed deviation E is increasing in the positive direction, and the positive torque command value is large and the motor The amount exceeding the torque limit is large (A1 in Figure 6)
.. A2... is large). So, Tadashi,
If the negative variable clamp values Lh and Ll are made small (i.e., the clamped values stored as correction data are made small), the output y of the learning controller that is added to the speed deviation E will become positive in the next cycle. When the value is a negative value, the absolute value is small, and as a result, the positive integrated value of the torque command exceeding the motor torque limit value (AI, A2, etc. in Figure 6) becomes smaller, the absolute value of the negative integrated values (Bl, B2, etc. in Figure 6) becomes larger, and the sum of these integrated values approaches zero, resulting in a variable clamp of the value obtained by adding the correction data to the speed deviation. The integrated value for the amount exceeding the torque limit also approaches zero, and the positive and negative variable clamp values converge to an optimal constant value.Then, the positive and negative integrated values of the torque command for the amount exceeding the torque limit become equal. Therefore, positional deviation is eliminated.Also, in the opposite case, the integrated value detected in the previous cycle (the integrated value of the sum of the speed deviation E and correction data El that exceeds the variable clamp values Lh and Ll) is larger than the above-mentioned integrated value for the corresponding cycle, the positive and negative variable clamp values Lh and Ll are changed to values larger than those of the previous cycle, thereby determining the optimal positive and negative variable clamp values to eliminate positional deviation. It will be automatically set to Lh and Ll.
発明の効果
本発明は、飽和処理として入力される速度偏差に補正デ
ータを加算した値をクランプするクランプ値を、該クラ
ンプ値を越えた分の積算値が零になるように変更するよ
うにして、学習コントローラによって速度偏差に補正さ
れる値を修正し、トルク指令のモータのトルクリミット
を越える分の積算値が零になるようにしたので、位置ず
れの発生を防止することができる。Effects of the Invention The present invention changes the clamp value that clamps the value obtained by adding correction data to the speed deviation input as saturation processing so that the integrated value exceeding the clamp value becomes zero. Since the value corrected to the speed deviation by the learning controller is modified so that the integrated value of the torque command exceeding the motor torque limit becomes zero, it is possible to prevent positional deviation from occurring.
第1図は本発明の一実施例の学習コントローラ方式を適
用したサーボモータの制御における要部ブロック図、第
2図は同実施例における飽和処理ブロックの入出力関係
を表す図、第3図は同実施例を実施するサーボモータ制
御部の要部ブロック図、第4図(a)、 (b)は同
実施例におけるデジタルサーボ回路のプロセッサが飽和
処理として実行する処理のフローチャート、第5図は従
来の学習コントローラを適用した学習制御を実施するサ
ーボモータの制御における要部ブロック図、第6図、第
7図は位置ずれを説明する説明図である。
1.10・・・学習コントローラ、2・・・飽和処理ブ
ロック、3・・・帯域制限フィルタ、4・・・遅れ要素
、訃・・動特性補償要素、6・・・速度ループ伝達関数
、20・・・数値制御装置、21・・・共有メモリ、2
2・・・デジタルサーボ回路、23・・・サーボアンプ
、24・・・サーボモータ、25・・・パルスコーダ。
第
図fa)Fig. 1 is a block diagram of the main parts in controlling a servo motor to which the learning controller method of an embodiment of the present invention is applied, Fig. 2 is a diagram showing the input/output relationship of the saturation processing block in the embodiment, and Fig. 3 is a diagram showing the input/output relationship of the saturation processing block in the embodiment. 4(a) and 4(b) are flowcharts of the process executed as saturation processing by the processor of the digital servo circuit in the same embodiment, and FIG. FIGS. 6 and 7 are block diagrams of main parts in controlling a servo motor that performs learning control using a conventional learning controller, and are explanatory diagrams for explaining positional deviation. 1.10 Learning controller, 2 Saturation processing block, 3 Band limit filter, 4 Delay element, Dynamic characteristic compensation element, 6 Velocity loop transfer function, 20 ... Numerical control device, 21 ... Shared memory, 2
2... Digital servo circuit, 23... Servo amplifier, 24... Servo motor, 25... Pulse coder. Figure fa)
Claims (1)
であって、当該サンプリング時の速度偏差に上記所定周
期の1周期前の当該サンプリング時に対応する補正デー
タを加算し、該加算した値を帯域制限フィルタ処理を行
って当該周期の当該サンプリング時の補正データとして
記憶すると共に、上記1周期前の当該サンプリング時に
対応する補正データに基づいて上記当該サンプリング時
の速度偏差を補正してサーボモータを制御する学習制御
方式における学習コントローラにおいて、上記帯域制限
フィルタ処理における入力をクランプする正、負のクラ
ンプ値より入力値が越える分を各サンプリング時積算し
、上記積算値が零になるように上記正、負のクランプ値
を変更することを特徴とする学習コントローラの飽和処
理方式。Control of a servo motor in which a speed command is repeated at a predetermined period, in which correction data corresponding to the sampling period one cycle before the predetermined period is added to the speed deviation at the sampling period, and the added value is applied to a band-limiting filter. Learning to perform processing and store it as correction data at the time of the sampling in the relevant cycle, and to control the servo motor by correcting the speed deviation at the time of the sampling in question based on the correction data corresponding to the time of the sampling in the previous cycle. In the learning controller in the control method, the amount by which the input value exceeds the positive and negative clamp values that clamp the input in the band-limiting filter processing is integrated at each sampling time, and the positive and negative clamp values are integrated so that the integrated value becomes zero. A saturation processing method for a learning controller characterized by changing a clamp value.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12425490A JPH0421101A (en) | 1990-05-16 | 1990-05-16 | Saturated processing system for learning controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12425490A JPH0421101A (en) | 1990-05-16 | 1990-05-16 | Saturated processing system for learning controller |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0421101A true JPH0421101A (en) | 1992-01-24 |
Family
ID=14880780
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12425490A Pending JPH0421101A (en) | 1990-05-16 | 1990-05-16 | Saturated processing system for learning controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0421101A (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06180145A (en) * | 1992-10-15 | 1994-06-28 | Rinnai Corp | Water heater |
| WO2010110168A1 (en) * | 2009-03-24 | 2010-09-30 | 株式会社安川電機 | Motor control device |
| JP2013092986A (en) * | 2011-10-27 | 2013-05-16 | Fanuc Ltd | Control device for motor having dead zone processing part |
| JP2019185530A (en) * | 2018-04-13 | 2019-10-24 | ファナック株式会社 | Machine learning device, controller, and machine learning method |
| JP2022066991A (en) * | 2020-10-19 | 2022-05-02 | 国立大学法人長岡技術科学大学 | Motor control device for air conditioner and motor control method for air conditioner |
| RU2858020C1 (en) * | 2025-10-13 | 2026-03-11 | Федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский Томский политехнический университет" | Device for anti-resonance correction of frequency characteristics of oscillatory object |
-
1990
- 1990-05-16 JP JP12425490A patent/JPH0421101A/en active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06180145A (en) * | 1992-10-15 | 1994-06-28 | Rinnai Corp | Water heater |
| WO2010110168A1 (en) * | 2009-03-24 | 2010-09-30 | 株式会社安川電機 | Motor control device |
| US20120007541A1 (en) * | 2009-03-24 | 2012-01-12 | Kabushiki Kaisha Yaskawa Denki | Motor control apparatus |
| US8274252B2 (en) | 2009-03-24 | 2012-09-25 | Kabushiki Kaisha Yaskawa Denki | Motor control apparatus |
| JP5246328B2 (en) * | 2009-03-24 | 2013-07-24 | 株式会社安川電機 | Motor control device |
| JP2013092986A (en) * | 2011-10-27 | 2013-05-16 | Fanuc Ltd | Control device for motor having dead zone processing part |
| US8903518B2 (en) | 2011-10-27 | 2014-12-02 | Fanuc Corporation | Motor control apparatus equipped with dead-zone processing unit |
| JP2019185530A (en) * | 2018-04-13 | 2019-10-24 | ファナック株式会社 | Machine learning device, controller, and machine learning method |
| JP2022066991A (en) * | 2020-10-19 | 2022-05-02 | 国立大学法人長岡技術科学大学 | Motor control device for air conditioner and motor control method for air conditioner |
| RU2858020C1 (en) * | 2025-10-13 | 2026-03-11 | Федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский Томский политехнический университет" | Device for anti-resonance correction of frequency characteristics of oscillatory object |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5371451A (en) | Predictive repetition control method for a servo motor and an apparatus therefor | |
| US6046566A (en) | Method of and apparatus for controlling a plurality of servomotors | |
| JP3923047B2 (en) | Synchronous control device | |
| KR0154224B1 (en) | Tandem control method by digital servo | |
| US5404308A (en) | Numerical control (NC) device to control feed speed of tool based on speed of spindle and amount of change of spindle speed | |
| US8090455B2 (en) | Motion control servo loop apparatus | |
| US6823235B2 (en) | Controller for machining gears | |
| JPH08179831A (en) | Quadrant projection correcting method for full-closed loop system | |
| JP2875646B2 (en) | Backlash acceleration correction device | |
| JPH0421101A (en) | Saturated processing system for learning controller | |
| US5448145A (en) | Feedforward control method for a servomotor | |
| US5367238A (en) | Backlash acceleration control method | |
| JP2733881B2 (en) | Adaptive sliding mode control method based on PI control loop | |
| JP3372262B2 (en) | Speed control method in repetitive control | |
| JP3019192B2 (en) | Backlash compensation method | |
| JPH01292405A (en) | Digital position servo device | |
| JPH03122701A (en) | Self-tuning method | |
| JP3448210B2 (en) | Closed loop process controller including PID regulator | |
| JPH02275508A (en) | Feedforward control system | |
| JPH01228005A (en) | Feed shaft position control system | |
| JPS63103682A (en) | Spped controller for servo-motor | |
| JPS62198902A (en) | Correction method for numerical control equipment | |
| KR830000317B1 (en) | Position Control System of Closed Loop Numerical Control Machine Tool | |
| JPS62236002A (en) | Process controller | |
| JPS63283490A (en) | Speed controller for servomotor |