JPH0679246B2 - High-speed positioning method - Google Patents
High-speed positioning methodInfo
- Publication number
- JPH0679246B2 JPH0679246B2 JP62061178A JP6117887A JPH0679246B2 JP H0679246 B2 JPH0679246 B2 JP H0679246B2 JP 62061178 A JP62061178 A JP 62061178A JP 6117887 A JP6117887 A JP 6117887A JP H0679246 B2 JPH0679246 B2 JP H0679246B2
- Authority
- JP
- Japan
- Prior art keywords
- deviation amount
- position deviation
- cycle
- speed
- detected
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 16
- 238000005070 sampling Methods 0.000 claims description 34
- 238000007796 conventional method Methods 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Landscapes
- Numerical Control (AREA)
- Control Of Position Or Direction (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、コンピュータ内蔵の数値制御装置(以下CNC
という)やロボット等のように、コンピュータを使用し
てデジタル制御し、機械を位置決めする位置決め制御方
式に関する。Description: TECHNICAL FIELD The present invention relates to a numerical control device (hereinafter referred to as CNC) with a built-in computer.
, Etc., such as robots, etc., and digitally controlled using a computer, and relates to a positioning control method for positioning a machine.
従来の技術 CNCやロボットのように、コンピュータを使ってデジタ
ル制御して機械の位置決めを行う装置においては、所定
サンプリング周期毎に、当該ブロックの指令速度に応じ
てパルス分配計算を行い、この計算されたパルス分配
量、即ち、移動量を次のサンプリング周期に位置制御部
へ出力し、サーボモータを駆動し、当該ブロックで指令
された位置に到達したか否かを位置制御部で検出される
位置偏差量がパラメータで設定されたインポジション幅
内に入ったか否か判断し、インポジション幅内に入る
と、次のブロックの処理を開始していた。Conventional technology In devices such as CNCs and robots that digitally control a machine using a computer to perform machine positioning, pulse distribution calculation is performed according to the command speed of the block at a specified sampling cycle, and this calculation is performed. The pulse distribution amount, that is, the movement amount, is output to the position control unit in the next sampling cycle, the servo motor is driven, and the position control unit detects whether or not the position commanded by the block is reached. It was determined whether the deviation amount was within the in-position width set by the parameter, and when it was within the in-position width, the processing of the next block was started.
発明が解決しようとする問題点 第4図は、従来の位置決め制御方式の説明図で、第4図
(a)はサンプリング周期Tを表わし、(b)は各ブロ
ックでのパルス分配計算を表示しており、このパルス分
配計算によって、当該ブロックでの指令速度fで、各サ
ンプリング周期毎に位置制御部へ出力される移動量P
(n),P(n+1)…を求め、一周期遅れて位置制御部へ第4図
(c)に示すように、この移動量がP(n),P(n+1)…が出
力される。そして、この移動量P(n),P(n+1)…を受けて
サーボモータは第4図(c)のAに示すように回転す
る。一方、位置制御部内のエラーレジスタの値より位置
偏差量ε(m)を所定周期毎検出し、この位置偏差量ε(m)
がパラメータで設定されたインポジション幅内にあるか
否かチェックし、インポジション内ならば、次のブロッ
クのパルス分配計算を開始している。Problems to be Solved by the Invention FIG. 4 is an explanatory diagram of a conventional positioning control method, FIG. 4 (a) shows a sampling period T, and FIG. 4 (b) shows a pulse distribution calculation in each block. By this pulse distribution calculation, the movement amount P output to the position control unit at each sampling cycle at the command speed f in the block is calculated.
(n), P (n + 1) ... Is calculated, and this movement amount P (n), P (n + 1) ... is transferred to the position control section with a delay of one cycle as shown in FIG. 4 (c). Is output. Then, upon receiving the movement amounts P (n), P (n + 1) ..., The servo motor rotates as shown by A in FIG. 4 (c). On the other hand, the position deviation amount ε (m) is detected every predetermined period from the value of the error register in the position control unit, and this position deviation amount ε (m) is detected.
Is within the in-position width set by the parameter, and if it is within the in-position, pulse distribution calculation for the next block is started.
第4図においては、始めのブロックに対しt(n)より3
サンプリング周期に亘ってパルス分配計算がなされ、位
置制御部に1サンプリング周期遅れてパルス分配計算さ
れた移動量P(n),P(n+1),P(n+2)が指令速度fで位置制
御部に入力される。そして、モータが回転し、時刻t(n
+5)で始まる周期での検出された位置偏差量ε(m)がイン
ポジション幅内であったとした場合を記載しており、こ
のインポジション幅内に入ったことが検出されると、次
のブロックのパルス分配計算が行われ、次のサンプリン
グ周期t(n+6)で始まる周期にこの計算された移動量が
位置制御部へ出力されることとなる。このことは、イン
ポジション幅に入ったことが検出されたあとは、ただち
に次のブロックの動作を開始してよいにもかかわらず、
1サンプリング周期T遅れて、次のブロックの動作が開
始されることとなり、加工時間が長くなるという欠点が
ある。In FIG. 4, 3 from t (n) for the first block.
The pulse distribution calculation is performed over the sampling cycle, and the movement amount P (n), P (n + 1), P (n + 2) calculated by the pulse distribution with a delay of one sampling cycle in the position control unit is the command speed f. It is input to the position control unit. Then, the motor rotates and the time t (n
It describes the case where the detected position deviation amount ε (m) in the cycle beginning with +5) is within the in-position width. The pulse distribution calculation for the block is performed, and the calculated movement amount is output to the position control unit in the cycle starting at the next sampling cycle t (n + 6). This means that even if the operation of the next block may be started immediately after it is detected that the in-position width has been entered,
The operation of the next block is started with a delay of one sampling period T, and there is a disadvantage that the processing time becomes long.
そこで、本発明の目的は、位置偏差量がインポジション
幅に入った後、次のブロックの動作(モータの回転)が
1サンプリング周期遅れることなく行われるようにする
ことができる高速位置決め方式を提供することにある。Therefore, an object of the present invention is to provide a high-speed positioning method capable of allowing the operation of the next block (rotation of the motor) to be performed without delaying one sampling cycle after the position deviation amount enters the in-position width. To do.
問題点を解決するための手段 本発明は、プログラムより読取られた1ブロックの移動
指令に対し、所定サンプリング周期毎にパルス分配計算
を行い、次のサンプリング周期にパルス分配計算された
移動量を位置制御部に出力し、機械を移動させ、パルス
分配計算が終了した周期の次のサンプリング周期以降の
サンプリング周期開始時に位置制御部から位置偏差量を
検出し、該検出した位置偏差量と、位置偏差量を検出し
た1つ前のサンプリング周期でのパルス分配計算による
指令速度とによって次の周期で検出される位置偏差量を
予測し、予測位置偏差量が設定されたインポジション幅
内に入ることにより位置決め完了として次のブロックの
処理を開始するように構成することによって前記問題点
を解決した。Means for Solving the Problems According to the present invention, pulse distribution calculation is performed for each predetermined sampling cycle in response to a movement command of one block read by a program, and the movement amount calculated by pulse distribution is calculated in the next sampling cycle. Output to the control unit, move the machine, detect the position deviation amount from the position control unit at the start of the sampling period after the sampling period after the pulse distribution calculation is completed, and detect the position deviation amount and the position deviation. By predicting the position deviation amount detected in the next cycle according to the command speed by the pulse distribution calculation in the sampling cycle one before that which detected the amount, and the predicted position deviation amount falls within the set in-position width. The above problem was solved by arranging to start processing of the next block upon completion of positioning.
作 用 位置制御部で制御されるサーボ系の伝達関数は機械のハ
ードウエアが特定されて一律的に決まる。The transfer function of the servo system controlled by the working position control unit is uniformly determined by the hardware of the machine being specified.
そのため、パルス分配計算が終了した次のサンプリング
周期以降の各サンプリング周期毎に位置偏差量を検出す
れば、この位置偏差量と、位置偏差量を検出したサンプ
リング周期の前のサンプリング周期の指令速度により、
前記伝達関数に従って次のサンプリング周期で検出され
位置偏差量を予測し、この予測された位置偏差量がイン
ポジション幅内であると、ただちに次のブロックのパル
ス分配計算を開始し、次のタイミング周期にはパルス分
配計算された移動量が位置制御部に入力され、サーボモ
ータを駆動するから、機械は、あるブロックで指令され
た位置に達すると、ただちに次のブロックの動作を開始
するから従来の位置決め方式と比較し、1サンプリング
周期早めて次のブロックの処理動作が開始される。Therefore, if the position deviation amount is detected for each sampling period after the next sampling period after the pulse distribution calculation is completed, this position deviation amount and the command speed of the sampling period before the sampling period in which the position deviation amount is detected are used. ,
The position deviation amount detected in the next sampling cycle according to the transfer function is predicted, and when the predicted position deviation amount is within the in-position width, the pulse distribution calculation of the next block is immediately started, and the next timing cycle is calculated. Pulse distribution is input to the position control unit and drives the servo motor, so the machine immediately starts the operation of the next block when it reaches the position commanded by one block. Compared with the positioning method, the processing operation of the next block is started one sampling period earlier.
実施例 第1図,第2図は、本発明の実施例の説明図で、第1図
において、サンプリング周期をTとし、あるブロックが
読まれ、時刻t(n),t(n+1),t(n+2)で始まる各周期での
パルス分配の計算の結果、夫々各周期毎のパルス分配
量、即ち移動量P(n),P(n+1),P(n+2)が求められ、求め
られた移動量P(n)〜P(n+2)は1サンプリング周期遅れ
て位置制御部へプログラムで指令された速度fで出力さ
れたとする例を示すものであり、又、速度制御部で制御
されるサーボ系の伝達関数が一次遅れの例を示してお
り、サーボモータは、各周期の指令速度fでの指令移動
量P(n)〜P(n+2)に対し、第1図,第2図,F(t),F′(t)
で示す速度曲線で示すように駆動されることとなる。Embodiment FIG. 1 and FIG. 2 are explanatory views of an embodiment of the present invention. In FIG. 1, a sampling cycle is T, a certain block is read, and time t (n), t (n + 1) , t (n + 2) in each cycle, as a result of calculation of pulse distribution in each cycle, that is, pulse distribution amount in each cycle, that is, movement amount P (n), P (n + 1), P (n + 2) Is obtained, and the obtained movement amounts P (n) to P (n + 2) are output at a speed f commanded by the program to the position control unit with a delay of one sampling period. , The transfer function of the servo system controlled by the speed control unit shows an example of first-order lag, and the servo motor changes the command movement amount P (n) to P (n + 2) at the command speed f of each cycle. In contrast, Fig. 1, Fig. 2, F (t), F '(t)
It will be driven as shown by the speed curve shown by.
即ち、サーボ系の伝達関数の一次遅れの時定数をTc,速
度指令部に移動量P(n)が入力された時点t(n+1)を原点
とすると、指令速度fにおける移動指令に対するサーボ
モータの応答速度曲線F(t)は次の第1式で表わされ
る。That is, assuming that the time constant of the first-order delay of the transfer function of the servo system is Tc and the time point t (n + 1) when the movement amount P (n) is input to the speed command section is the origin, the servo for the movement command at the command speed f is set. The response speed curve F (t) of the motor is expressed by the following first equation.
F(t)=f(1−e−(t/Tc)) …(1) この応答速度曲線は次の周期の時刻t(n+2)と時刻t(n+
3)間においては、第2図中g1(t),g2(t)の曲線を加算し
たものに等しい。曲線g1(t)は時刻t(n+1)とt(n+2)間
の1周期に速度fの移動指令があって、時刻t(n+2)で
該移動指令がなくなったときの時刻t(n+2)以降の
サーボモータの速度減衰曲線を示し、g2(t)は時刻t(n+
2)で速度fの移動指令があったときのサーボモータの速
度曲線を示すもので、時刻t(n+2),t(n+3)間の時刻(T
+t)においては、第1式の速度曲線F(t)は次の第2
式のようになる。F (t) = f (1-e- (t / Tc) ) (1) This response speed curve shows time t (n + 2) and time t (n +) of the next cycle.
Between 3), it is equal to the sum of the curves of g1 (t) and g2 (t) in FIG. The curve g1 (t) indicates that there is a movement command of speed f in one cycle between time t (n + 1) and t (n + 2), and the movement command disappears at time t (n + 2). The speed decay curve of the servo motor after the time t (n + 2) is shown, and g2 (t) is the time t (n +
It shows the speed curve of the servo motor when there is a movement command of speed f in 2), and the time between the time t (n + 2) and t (n + 3) (T
+ T), the velocity curve F (t) of the first equation is
It becomes like a formula.
F(t)=f(1−e−((T+t)/Tc)) …(2) 又、曲線g1(t)は次の第3式となる。F (t) = f (1-e -((T + t) / Tc) ) (2) The curve g1 (t) is given by the following third equation.
g1(t)=f(1-e-(T/Tc))・e-(t/Tc) …(3) 曲線g2(t)は次の第4式となる。g1 (t) = f (1-e- (T / Tc) ). e- (t / Tc) (3) The curve g2 (t) is given by the following fourth equation.
g2(t)=f(1−e−(t/Tc)) …(4) その結果、 g1(t)+g2(t)=f(1-e-(T/Tc))・e-(t/Tc) +f(1−e−(t/Tc)) =f(1−e−((T+t)/Tc)) …(5) となり、g1(t)+g2tは第2式の右辺と等しいものとな
る。g2 (t) = f (1-e- (t / Tc) ) (4) As a result, g1 (t) + g2 (t) = f (1-e- (T / Tc) ) ・ e- (t / Tc) + f (1-e- (t / Tc) ) = f (1-e -((T + t) / Tc) ) (5), g1 (t) + g2t is equal to the right side of the second equation Becomes
同様に、時刻t(n+3)とt(n+4)間では、同様に求めた曲
線g3(t)とg4(t)を加算した値がF(t)となる。Similarly, between times t (n + 3) and t (n + 4), the value obtained by adding the similarly obtained curves g3 (t) and g4 (t) is F (t).
又、同様に時刻t(n+4)以降のサーボモータの速度(減
衰)曲線F′(t)は、曲線g3(t)とg5(t)を加算したも
のである。Similarly, the speed (damping) curve F '(t) of the servo motor after the time t (n + 4) is obtained by adding the curves g3 (t) and g5 (t).
即ち、時刻t(n+3),t(n+4)でのサーボモータの速度F
(2T),F(3T)は第1式より、 F(2T)=f(1−e−(2T/Tc)) …(6) F(3T)=f(1−e−(3T/Tc)) …(7) となり、時刻t(n+4)より経過時間をtとすると、F′
は第7式より、 F′(t)=f(1-e-(3T/Tc))・e-(t/Tc) …(8) となり、g3(t)は第6式より、 g3(t)=f(1−e−(2T/Tc)e) ・e−((T+t)/Tc) …(9) g5(t)は、 g5(t)=f(1-e-(T/Tc))・e-(t/Tc) …(10) g3(t)+g5(t)は第9式,第10式より、 g3(t)+g5(t)=f(1−e−(2T/Tc)) ・e-((T+t/Tc)+f(1-e-(T/Tc)) ・e−(t/Tc)=f(e−((T+t/Tc) −e−((3T+t/Tc)+e−(t/Tc) −e-((T+t)/Tc))=f(1-e-(3T/Tc)) ・e−(T/Tc) …(11) となり、第8式の右辺と等しくなり、 F′(t)=g3(t)+g5(t) …(12) となる。That is, the speed F of the servo motor at time t (n + 3), t (n + 4)
From the first equation, (2T) and F (3T) are F (2T) = f (1-e- (2T / Tc) ) (6) F (3T) = f (1-e- (3T / Tc) ) ) (7), and if the elapsed time from time t (n + 4) is t, then F '
From the 7th formula, F ′ (t) = f (1-e − (3T / Tc) ) ・ e − (t / Tc) … (8), g3 (t) from the 6th formula, g3 (t t) = f (1-e- (2T / Tc) e) -e -((T + t) / Tc) (9) g5 (t) is g5 (t) = f (1-e- (T / Tc) ) ・ e- (t / Tc) … (10) g3 (t) + g5 (t) is calculated from the 9th and 10th equations. G3 (t) + g5 (t) = f (1-e − (2T / Tc) ) -e - ((T + t / Tc) + f (1-e- (T / Tc) ) -e- (t / Tc) = f (e -((T + t / Tc) -e- ((3T + t / Tc) + e- (t / Tc) -e -((T + t) / Tc) ) = f (1-e- (3T / Tc) ) ・ e- (T / Tc) … (11 ), Which is equal to the right-hand side of Eq. 8, and F '(t) = g3 (t) + g5 (t) (12).
一方、移動量は速度を積分して求められるものであるか
ら、位置制御部に移動量P(n)〜P(n+1)が入力完了した
時点、即ち、時刻t(n+4)における位置偏差量は、速度
曲線F′(t)を時刻t(n+4)より速度が「0」となる時刻
まで積分したもの値、即ち、第2図でaで示す面積とな
る。そして、第12式よりこの面積は速度曲線g5(t),g3
(t)を各々時刻t(n+4)より各々速度が「0」になる時刻
まで積分した値、即ち、第2図b,cで示す面積の合計と
なる。On the other hand, since the movement amount is obtained by integrating the velocity, at the time when the movement amounts P (n) to P (n + 1) have been input to the position control unit, that is, at time t (n + 4). The position deviation amount is a value obtained by integrating the speed curve F ′ (t) from time t (n + 4) until the speed becomes “0”, that is, the area indicated by a in FIG. Then, from Equation 12, this area is the velocity curve g5 (t), g3
It is a value obtained by integrating (t) from time t (n + 4) to the time when the velocity becomes "0", that is, the sum of the areas shown in FIGS. 2b and 2c.
面積bについて検討すると、サーボモータは、移動指令
に対し追従し、移動指令量だけ移動するものであるか
ら、時刻t(n+3)からt(n+4)間のサンプリング周期T間
に速度fの指令、即ち、f・Tの移動指令量が出され、
これに対し、サーボモータが速度曲線g4(t)に示すよう
に回転したものであるから、時刻t(n+3)からt(n+4)間
のサンプリング周期T間に移動した量は速度曲線g4(t)
をt(n+3)からt(n+4)まで積分した値であり、残量が面
積bと等しくなる。即ち、第2図で示す面積dとbは等
しい値となる。その結果、面積bの値は、 となり、面積bは求めることができる。Considering the area b, since the servo motor follows the movement command and moves by the movement command amount, the speed is increased during the sampling cycle T between the time t (n + 3) and t (n + 4). The command of f, that is, the movement command amount of f · T is issued,
On the other hand, since the servo motor is rotated as shown by the speed curve g4 (t), the amount moved during the sampling period T from time t (n + 3) to t (n + 4) is the speed. Curve g4 (t)
Is a value obtained by integrating t (n + 3) to t (n + 4), and the remaining amount is equal to the area b. That is, the areas d and b shown in FIG. 2 have the same value. As a result, the value of area b is Therefore, the area b can be obtained.
又、面積cについて検討すると、時刻t(n+3)を原点と
し、このときの速度をf0とすると、面積cは速度曲線g3
(t)をTから無限大まで積分した値である。即ち、次の
第15式で表わされる。Further, considering the area c, when the time t (n + 3) is the origin and the speed at this time is f 0 , the area c is the speed curve g3.
It is a value obtained by integrating (t) from T to infinity. That is, it is represented by the following fifteenth expression.
一方、前記速度曲線g3(t)を0から無限大まで積分した
値は、時刻t(n+3)での速度曲線g3(t)に対応する位置偏
差量ε(m)を意味するから、 故に、時刻t(n+3)で位置偏差量ε(m)を検出すると、面
積cは第15,16式より、 c=ε(m)e−(T/Tc) …(17) として求められる。 On the other hand, the value obtained by integrating the speed curve g3 (t) from 0 to infinity means the position deviation amount ε (m) corresponding to the speed curve g3 (t) at the time t (n + 3). Therefore, when the position deviation amount ε (m) is detected at the time t (n + 3), the area c is calculated by the equations 15 and 16 as c = ε (m) e − (T / Tc) (17) To be
その結果、次の周期の時刻t(n+4)での予測位置偏差量
ε(m+1)は、面積cとbを加算したものであるから、第1
4式,第17式より、 ε(m+1)=ε(m)e−(T/Tc) +fTc(1−e−(T/Tc)) …(18) として求められる。As a result, the predicted position deviation amount ε (m + 1) at the time t (n + 4) of the next cycle is the sum of the areas c and b.
From Equation 4 and Equation 17, ε (m + 1) = ε (m) e− (T / Tc) + fTc (1-e− (T / Tc) ) (18)
即ち、パルス分配計算が終了し次の周期の開始時(又は
最後のパルス分配計算が行われた周期の終り)に、第1
図の例では時刻t(n+3)に位置制御部のエラーレジスタ
から位置偏差量ε(m)を読取れば、次の周期で検出され
る予測位置偏差量ε(m+1)を第18式より予測することが
できる。第18式において、Tはサンプリング周期、Tcは
サーボ系の時定数、fは位置偏差量ε(m)を検出した1
つ前の周期におけるパルス分配計算により求められる指
令速度であるため、次の周期における予測位置偏差量ε
(m+1)は検出した当該周期での位置偏差量ε(m)により予
測することができる。なお、パルス分配計算が終了した
次の周期より開始される予測偏差量ε(m+1)の計算にお
いて、1回目は、前記指令速度fはプログラムで指令さ
れる速度であるが、2回目以降は「0」となる。That is, when the pulse distribution calculation ends and the next cycle starts (or the end of the cycle when the last pulse distribution calculation is performed), the first
In the example of the figure, if the position deviation amount ε (m) is read from the error register of the position control unit at time t (n + 3), the predicted position deviation amount ε (m + 1) detected in the next cycle is It can be predicted from Equation 18. In the 18th equation, T is the sampling period, Tc is the time constant of the servo system, and f is the position deviation amount ε (m) detected 1
Since it is the command speed obtained by the pulse distribution calculation in the immediately preceding cycle, the predicted position deviation amount ε in the next cycle is
(m + 1) can be predicted by the detected position deviation amount ε (m) in the period. In the calculation of the predicted deviation amount ε (m + 1) started in the next cycle after the pulse distribution calculation is finished, the command speed f is the speed commanded by the program at the first time, but the second time and thereafter. Becomes "0".
第3図は、本実施例における位置決め方式を実行するた
めのフローチャートで、各サンプリング周期毎に該処理
を行うものである。FIG. 3 is a flow chart for executing the positioning method in the present embodiment, and the processing is performed at each sampling cycle.
まず、パルス分配計算する分配パルスがあるか否かを判
断し(ステップS1)、分配パルスがあれば、分配計算処
理を行う(ステップS10)、即ち、第1図において、分
配パルス量P(n),P(n+1),P(n+2)を計算処理し、次の周
期に位置制御部へ出力することとなる。そして、計算す
べきパルス分配がなければ、フラグHが「1」か否かを
判断し(ステップS2)、後述するように該フラグHは始
めは「1」でないのでステップS3へ移行し、前周期での
指令速度fをレジスタRに記憶させ、次に、位置制御部
のエラーレジスタより位置偏差量ε(m)を検出し(ステ
ップS5)、この検出された位置偏差量とレジスタRに記
憶した指令速度fより、第18式によって次周期での予測
位置偏差量ε(m+1)を算出する(ステップS6)。そし
て、求められた予測偏差量ε(m+1)がパラメータで設定
されたインポジション幅内にあるか否か判断し(ステッ
プS7)、インポジション幅内でなければ、フラグHを
「1」にセットし(ステップS8)、このパルス分配計算
周期の処理を終了する。そして次の周期においては、フ
ラグHが「1」にセットされているから、ステップS2よ
りステップS4へ移行し、レジスタRに「0」を記憶さ
せ、前回と同じように位置偏差量ε(m)を検出し(ステ
ップS5)、次に第18式により予測位置偏差量ε(m+1)を
算出するが、今回はレジスタRに記憶される指令速度f
が「0」となっているため、第18式において、 ε(m+1)=ε(m)q−(T/Tc) のみの計算を行って予測位置偏差量ε(m+1)を求め、イ
ンポジション幅内か否か判断する。First, it is determined whether or not there is a distribution pulse for pulse distribution calculation (step S1), and if there is a distribution pulse, distribution calculation processing is performed (step S10), that is, in FIG. 1, the distribution pulse amount P (n ), P (n + 1), P (n + 2) are calculated and output to the position controller in the next cycle. Then, if there is no pulse distribution to be calculated, it is judged whether or not the flag H is "1" (step S2). Since the flag H is not initially "1" as will be described later, the process proceeds to step S3. The command speed f in the cycle is stored in the register R, then the position deviation amount ε (m) is detected from the error register of the position control unit (step S5), and the detected position deviation amount and the register R are stored. From the commanded speed f, the predicted position deviation amount ε (m + 1) in the next cycle is calculated by the 18th equation (step S6). Then, it is determined whether or not the calculated prediction deviation amount ε (m + 1) is within the in-position width set by the parameter (step S7). If it is not within the in-position width, the flag H is set to "1". Is set (step S8), and the processing of this pulse distribution calculation cycle ends. Then, in the next cycle, since the flag H is set to "1", the process proceeds from step S2 to step S4, "0" is stored in the register R, and the position deviation amount ε (m ) Is detected (step S5), and then the predicted position deviation amount ε (m + 1) is calculated by the equation (18). This time, the command speed f stored in the register R is calculated.
Since it is “0”, in Eq. 18, only ε (m + 1) = ε (m) q − (T / Tc) is calculated to calculate the predicted position deviation amount ε (m + 1). Then, it is determined whether it is within the in-position range.
以下各周期毎に該処理を行い、予測位置偏差量ε(m+1)
がインポジション幅内になるまで行い、インポジション
幅内になると、ステップS7からステップS9へ移行しフラ
グHをリセットし、次のブロックの分配処理を開始する
(ステップS10)。The following process is performed for each cycle, and the predicted position deviation amount ε (m + 1)
Is within the in-position width, and when it is within the in-position width, the process proceeds from step S7 to step S9, the flag H is reset, and the distribution process of the next block is started (step S10).
このように、次の周期での位置偏差量ε(m+1)を予測
し、該予測位置偏差量ε(m+1)がインポジション幅内で
あると、当該周期より次のブロックの処理を開始するか
ら、1つのブロックから次のブロックへの処理へ移行す
るとき、1サンプリング周期だけ処理が早くなる。In this way, the position deviation amount ε (m + 1) in the next cycle is predicted, and if the predicted position deviation amount ε (m + 1) is within the in-position width, processing of the block next to the cycle is performed. From the start of processing, the processing speeds up by one sampling period when the processing shifts from one block to the next block.
例えば、第1図において、時刻t(n+4)で検出した位置
偏差量ε(m)より次の周期の開始時である時刻t(n+5)で
の位置偏差量ε(m+1)を予測し、その予測位置偏差量ε
(m+1)がインポジション幅内であると、時刻t(n+4)から
の周期より次のブロックの処理を開始したから、従来の
方式であると、時刻t(n+5)から次のブロックの処理を
開始する場合と比べ、1サンプリング周期Tだけ早くす
ることができる。For example, in FIG. 1, the position deviation amount ε (m + 1 at the time t (n + 5), which is the start of the next cycle, is calculated from the position deviation amount ε (m) detected at the time t (n + 4). ) And the predicted position deviation amount ε
If (m + 1) is within the in-position width, the processing of the next block is started from the cycle from time t (n + 4). Therefore, the conventional method starts from time t (n + 5). Compared to the case where the processing of the next block is started, it can be advanced by one sampling period T.
発明の効果 以上述べたように、本発明は1サンプリング周期後の位
置偏差量を予測し、予測位置偏差量がインポジション幅
内であると、ただちに次のブロックの処理を開始する位
置決め方式であるから、高速に位置決めができ、かつ、
高速加工を可能とする。EFFECTS OF THE INVENTION As described above, the present invention is a positioning method that predicts the amount of positional deviation after one sampling period, and immediately starts processing the next block when the predicted amount of positional deviation is within the in-position width. Can be positioned at high speed, and
Enables high-speed processing.
第1図は、本発明の一実施例の位置決め方式の説明図、
第2図は同実施例における作動原理説明図、第3図は同
実施の動作処理フローチャート、第4図は従来の位置決
め方式の説明図である。 T……タイミング周期、P(n),P(n+1)……パルス分配計
算による移動量、f……指令速度、F(t),F′(t)……モ
ータ速度。FIG. 1 is an explanatory view of a positioning method according to an embodiment of the present invention,
FIG. 2 is an explanatory view of the operation principle in the same embodiment, FIG. 3 is an operation processing flowchart of the same embodiment, and FIG. 4 is an explanatory view of a conventional positioning method. T ... timing cycle, P (n), P (n + 1) ... movement amount by pulse distribution calculation, f ... command speed, F (t), F '(t) ... motor speed.
Claims (2)
動指令に対し、所定サンプリング周期毎にパルス分配計
算を行い、次のサンプリング周期にパルス分配計算され
た移動量を位置制御部に出力し、機械を移動させ、パル
ス分配計算が終了した周期の次のサンプリング周期以降
のサンプリング周期開始時に位置制御部から位置偏差量
を検出し、該検出した位置偏差量と、位置偏差量を検出
した1つ前のサンプリング周期でのパルス分配計算によ
る指令速度とによって、次の周期で検出される位置偏差
量を予測し、予測位置偏差量が設定されたインポジショ
ン幅内に入ることにより位置決め完了として次のブロッ
クの処理を開始するようにした高速位置決め方式。1. A movement command for one block read from a program is subjected to pulse distribution calculation at every predetermined sampling cycle, and the movement amount calculated in pulse distribution calculation is output to a position control section in the next sampling cycle. Is moved to detect the position deviation amount from the position control unit at the start of the sampling period after the sampling period after the period when the pulse distribution calculation is finished, and the detected position deviation amount and the position deviation amount immediately before the position deviation amount are detected. The position deviation amount detected in the next cycle is predicted by the command speed by the pulse distribution calculation in the sampling cycle of, and when the predicted position deviation amount falls within the set in-position width, the next block is determined as the positioning completion. A high-speed positioning method that starts processing of.
れを一次遅れとし、前記検出された位置偏差量と指令速
度より、次の周期で検出される位置偏差量を予測する特
許請求の範囲第1項記載の高速位置決め方式。2. A delay of a servo system controlled by the position control unit is defined as a primary delay, and a position deviation amount detected in the next cycle is predicted from the detected position deviation amount and command speed. High-speed positioning method described in the range 1st term.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62061178A JPH0679246B2 (en) | 1987-03-18 | 1987-03-18 | High-speed positioning method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62061178A JPH0679246B2 (en) | 1987-03-18 | 1987-03-18 | High-speed positioning method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63228302A JPS63228302A (en) | 1988-09-22 |
| JPH0679246B2 true JPH0679246B2 (en) | 1994-10-05 |
Family
ID=13163641
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62061178A Expired - Lifetime JPH0679246B2 (en) | 1987-03-18 | 1987-03-18 | High-speed positioning method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0679246B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116481433B (en) * | 2023-05-11 | 2026-01-30 | 珠海格力电器股份有限公司 | Methods and apparatus for determining motor position, and non-volatile storage media |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4932084A (en) * | 1972-07-25 | 1974-03-23 | ||
| JPS599707A (en) * | 1982-07-09 | 1984-01-19 | Honda Motor Co Ltd | Speed control device of robot |
-
1987
- 1987-03-18 JP JP62061178A patent/JPH0679246B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63228302A (en) | 1988-09-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0460224B1 (en) | Servo motor control method | |
| EP0137857B1 (en) | Numerical control method | |
| US4815007A (en) | Apparatus for controlling a robot | |
| EP0553356B1 (en) | Method and apparatus for prediction repetition control of servo motor | |
| JP2875646B2 (en) | Backlash acceleration correction device | |
| KR920002760B1 (en) | Speed controller | |
| JP3083870B2 (en) | Numerical control unit | |
| JPH11514774A (en) | Control using set value generator | |
| EP0606488B1 (en) | Control method for spot welding robot | |
| US9519280B2 (en) | Numerical control device for machine tool | |
| JPH0679246B2 (en) | High-speed positioning method | |
| JPH02146607A (en) | Interpolation system for nc transfer command | |
| JP2722286B2 (en) | Optimal acceleration / deceleration control method for servo motor | |
| JP3219195B2 (en) | Feed rate control method in numerical control | |
| JPS58169212A (en) | Position controller of servomotor | |
| JPH03175502A (en) | Thinning learning control system | |
| GB2273177A (en) | Actuator position control. | |
| JP2703099B2 (en) | Conveyor tracking method for industrial robots | |
| JPH0778031A (en) | Control method for servomotor | |
| JPH07334217A (en) | Axial position controller | |
| JP3198010B2 (en) | Control method and control device for machine tool | |
| JPH01177885A (en) | How to position the motor | |
| WO1991013388A1 (en) | Improvements in or relating to actuator control | |
| JPH0325802B2 (en) | ||
| JPS63200204A (en) | Control method for industrial robots |