JPH0325802B2 - - Google Patents

Info

Publication number
JPH0325802B2
JPH0325802B2 JP22008583A JP22008583A JPH0325802B2 JP H0325802 B2 JPH0325802 B2 JP H0325802B2 JP 22008583 A JP22008583 A JP 22008583A JP 22008583 A JP22008583 A JP 22008583A JP H0325802 B2 JPH0325802 B2 JP H0325802B2
Authority
JP
Japan
Prior art keywords
movement
amount
acceleration
time
deceleration
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
Application number
JP22008583A
Other languages
Japanese (ja)
Other versions
JPS60112106A (en
Inventor
Isao Hayazaki
Fujio Takeda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Howa Kogyo KK
Suzuki Motor Corp
Original Assignee
Howa Kogyo KK
Suzuki Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Howa Kogyo KK, Suzuki Motor Corp filed Critical Howa Kogyo KK
Priority to JP22008583A priority Critical patent/JPS60112106A/en
Publication of JPS60112106A publication Critical patent/JPS60112106A/en
Publication of JPH0325802B2 publication Critical patent/JPH0325802B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42173Acceleration deceleration

Landscapes

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

Description

【発明の詳細な説明】[Detailed description of the invention]

技術分野 本願は移動機構の移動体(例えばロボツトの腕
など)を高速かつ滑らかに移動させる移動機構の
デイジタルサーボ方式の駆動制御装置に関するも
のである。 従来技術及びその問題点 従来、ロボツトの腕やNC工作機のテーブルな
どの移動機構の移動体を駆動制御するのには、電
気サーボモータを用いたデイジタルサーボによる
速度位置決め制御が行われている。その速度位置
決め制御の方法として、例えば直線加減速が用い
られているが、速度切換えが滑らかでないため移
動体に与える衝撃が大きいという問題があつた。
こうした問題を解決するために移動体の運動をそ
の始点から最大速度を経て終点に到るまでの全域
に亘つて滑らかに変化させるような速度曲線に基
づき速度位置決めを行うようにしたものが提案さ
れている。この方法は、第1図aに示すような基
準移動時間Tm−基準移動量Smの関係を示す一
つの変位曲線を近似してデイジタル化し、“0”
と“1”の信号に変換してこのビツト列を8ビツ
トずつに区切つてメモリに記憶し、(これを基準
表という。)これを基準移動時間Tmより決る一
定時間毎に順次とり出して基準表の1ビツトデー
タが“1”ならばパルス発生、“0”ならばパル
スを発生せずとしてサーボモータを駆動制御する
ものである。例えば移動体に与えられた移動量が
基準移動量Sm(基準表の最大移動量)より大きい
か等しいときは、一定時間に順々に基準表の1ビ
ツトデータを調べ“1”ならパルス発生、“0”
ならパルスを発生せずを行い、基準表上の加速完
了位置まできたときに、基準移動量Smより大き
いときはその差分のパルス数を加速完了時のパル
ス間隔で発生して等速移動させ、その後再び基準
表に従つて減速完了位置まで行う。また、移動体
の移動量が基準移動量Smよりも小さいとき(第
1図b)には、公知の補間処理を一定時間繰り返
えして行い移動量を小さくしている。ところが、
このようにして予め用意しておく基準表を1つに
しておいて、移動量がこの基準表の基準移動量
Smよりも小さい場合には補間処理を行うので、
移動時間は移動量に無関係に必ず基準移動時間
Tm分は要するため、移動量の小さい位置決めを
頻繁に行うような場合には多くの時間を要すると
いう欠点があつた。 目的及び概要 本発明は前記従来技術の欠点を解消することを
目的とし、基準加減速速度曲線から求められる基
準移動時間−基準移動量の関係を示す基準表と、
この基準移動量よりも短い移動量に対して設定し
た、前記基準加減速速度曲線と相似な複数の加減
速速度曲線から求められる基準移動時間−基準移
動量の関係を示す複数の基準表とを予め記憶手段
に記憶させ、移動体を、任意の移動量だけ移動さ
せるにあたつて、前記複数の基準表のうちから最
短時間でかつ滑らかに移動し得る最適な基準表を
選択し、この最適な基準表に基づいて指令パルス
を発生し、サーボモータを制御して移動体を移動
させるようにしたことを特徴とし、最大の基準移
動量よりも小さい位置決めを頻繁に行うような場
合でも円滑に、しかも最短時間で移動させること
のできる移動機構の駆動制御方法を提供しようと
するものである。 実施例 第2図から第3図に示すように、1は移動機構
として例示するスライドテーブル機構で、本体2
の2つの案内ロツド3,3に摺動するようにスラ
イドテーブル4が装着され、このスライドテーブ
ル4は更に、送りねじ杆5と螺合している。この
送りねじ杆5の両端は夫々本体2に回動可能に支
持されており、一方は継手6を介してサーボモー
タMの回転主軸に連結されている。 次にこのスライドテーブル機構1を駆動制御す
る位置速度制御装置について説明する。位置速度
制御装置は中央演算処理装置9、プログラムメモ
リ10、演算メモリ11、テーブルメモリ12、
入出力装置14及びこれらを接続するバス13等
よりなる公知のマイクロコンピユータで構成され
る指令パルス列発生手段7とパルス信号弁別器1
5a、減算器15b、位置偏差カウンタ16、
D/A変換器17、サーボアンプ18、回転速度
検出器19、回転数検出器20から成る速度ルー
プ及び位置ループサーボ系を備えたデイジタルサ
ーボによる位置決め制御装置8より成る。 次にテーブルメモリ12について説明する。い
ま最大速度Vmに到達する基準加減速速度曲線が
第4図aのように設定され、また、この基準加減
速速度曲線を積分することにより第5図aに示す
基準移動時間Tm−基準移動量Smの曲線が得ら
れる。この基準移動時間Tmより短い移動量Tn
に対応して、基本となる前記基準加減速速度曲線
と相似な、つまり時間軸と速度軸を縮小した加減
速速度曲線を複数設定し(例えば第4図bの曲
線)、これを積分することで第5図bに示す基準
移動時間Tn−基準移動量Snの曲線が得られる。
こうして求められたいくつかの基準移動時間−基
準移動量の曲線(m個の変位曲線)に対し夫々近
似となるようなデイジタル化を行い、“0”と
“1”の信号に直し、ビツト列にしてテーブルメ
モリ12(ROM)内に予めm個の基準表Tai(i
=1、2、…m)として記憶させておく(第6
図)。次にこのm個の基準表のうち、最適な基準
表を選ぶために用意する比較テーブルについて説
明する。まず、m個の加減速速度曲線のうち、第
n番目の基準移動時間(加減速時間)Tnと最大
速度Vnは基準加減速速度曲線(第4図a)に対
して相似なので、 Tn=(n/m)・Tm (1) Vn=(n/m)・Vm (2) (n=1、2、…m) また、移動量は Sm=k・Vm・Tm (3) Sn=k・Vn・Tn (4) (kは定数) (1)〜(4)より Sn=(n/m)2・Sm (5) いま、移動量Sが移動量SnとSn+1の中間に
ある場合、移動所要時間と移動量の関係を示す第
9図からわかるように、移動量Sが境界移動量
Scより小さいときは第n番目の基準表Tanを、
またそれ以上のときは第(n+1)番目の基準表
Tan+1を用いればよい。 従つて Tn+1=Tn+(Sc−Sn)/Vn (6) (1)から(5)を(6)へ代入して Sc=(n(n+1/k)/m2)・Sm (7) ここでkは加減速時の移動量を最大速度と加減
速時間で割つたもので1より小さい値をとり、通
常はk=0.5とするのが適切である。いまk=0.5
を(7)へ代入して Sc=(n(n+2)/m2)・Sm (8) (n=1、2、…m) (8)式より移動量と選択される基準表の番号
(n)との対応関係が第1表のように得られ、こ
のように比較するために夫々のnに対応した比較
値を第7図のように比較テーブルとして予めテー
ブルメモリ12(ROM)内に記憶させておく。
TECHNICAL FIELD The present application relates to a digital servo type drive control device for a moving mechanism that moves a moving body (for example, a robot arm, etc.) of the moving mechanism at high speed and smoothly. BACKGROUND ART Conventionally, speed positioning control using digital servo using electric servo motors has been used to drive and control moving bodies of moving mechanisms such as robot arms and tables of NC machine tools. For example, linear acceleration/deceleration is used as a speed positioning control method, but there is a problem in that the speed change is not smooth and therefore a large impact is applied to the moving object.
In order to solve these problems, a system has been proposed in which speed positioning is performed based on a speed curve that smoothly changes the motion of a moving object over the entire range from its starting point to its maximum speed to its end point. ing. This method approximates and digitizes a displacement curve showing the relationship between the reference travel time Tm and the reference travel amount Sm as shown in Figure 1a.
This bit string is divided into 8 bits and stored in memory (this is called a reference table), which is sequentially taken out at fixed time intervals determined by the reference travel time Tm and used as a reference table. If the 1-bit data in the table is "1", a pulse is generated, and if it is "0", a pulse is not generated and the servo motor is driven and controlled. For example, when the amount of movement given to the moving object is greater than or equal to the reference amount of movement Sm (maximum amount of movement in the reference table), one bit data of the reference table is checked in sequence at a certain time, and if it is "1", a pulse is generated. “0”
If so, do not generate pulses, and when it reaches the acceleration completion position on the reference table, if it is larger than the reference movement amount Sm, generate the number of pulses corresponding to the difference at the pulse interval at the time of acceleration completion and move at a constant speed, After that, the deceleration is performed again according to the reference table until the deceleration is completed. Furthermore, when the amount of movement of the moving body is smaller than the reference amount of movement Sm (FIG. 1b), known interpolation processing is repeated for a certain period of time to reduce the amount of movement. However,
In this way, one standard table is prepared in advance, and the amount of movement is the standard movement amount of this standard table.
If it is smaller than Sm, interpolation processing is performed, so
The travel time is always the standard travel time regardless of the amount of travel.
Since it requires Tm minutes, it has the disadvantage that it takes a lot of time when positioning with a small amount of movement is frequently performed. Purpose and Summary The present invention aims to eliminate the drawbacks of the prior art, and includes a reference table showing the relationship between reference travel time and reference travel amount determined from a reference acceleration/deceleration speed curve;
A plurality of reference tables showing the relationship between reference travel time and reference travel amount determined from a plurality of acceleration/deceleration curves similar to the reference acceleration/deceleration curve set for a travel distance shorter than this reference travel amount. The optimum reference table is stored in advance in the storage means, and when moving the movable body by an arbitrary amount of movement, the optimum reference table that allows smooth movement in the shortest time is selected from among the plurality of reference tables. It is characterized by generating command pulses based on a standard table and controlling the servo motor to move the moving object, making it possible to move the moving object smoothly even when positioning is frequently performed smaller than the maximum standard movement amount. Moreover, it is an object of the present invention to provide a drive control method for a moving mechanism that can move the moving mechanism in the shortest possible time. Embodiment As shown in FIGS. 2 and 3, 1 is a slide table mechanism exemplified as a moving mechanism;
A slide table 4 is slidably mounted on the two guide rods 3, 3, and this slide table 4 is further threadedly engaged with a feed screw rod 5. Both ends of the feed screw rod 5 are rotatably supported by the main body 2, and one end is connected to the rotating main shaft of the servo motor M via a joint 6. Next, a position and speed control device for driving and controlling this slide table mechanism 1 will be explained. The position speed control device includes a central processing unit 9, a program memory 10, an arithmetic memory 11, a table memory 12,
A command pulse train generating means 7 and a pulse signal discriminator 1 are composed of a known microcomputer including an input/output device 14 and a bus 13 connecting these devices.
5a, subtractor 15b, position deviation counter 16,
It consists of a digital servo positioning control device 8 equipped with a speed loop and position loop servo system consisting of a D/A converter 17, a servo amplifier 18, a rotational speed detector 19, and a rotational speed detector 20. Next, the table memory 12 will be explained. The reference acceleration/deceleration speed curve that now reaches the maximum speed Vm is set as shown in Figure 4 a, and by integrating this reference acceleration/deceleration curve, the reference travel time Tm - reference travel amount shown in Figure 5 a is obtained. A curve of Sm is obtained. Travel amount Tn shorter than this standard travel time Tm
In response to this, a plurality of acceleration/deceleration curves that are similar to the basic reference acceleration/deceleration curve, that is, the time axis and the speed axis are reduced, are set (for example, the curve in FIG. 4b), and these curves are integrated. Thus, a curve of reference movement time Tn-reference movement amount Sn shown in FIG. 5b is obtained.
The several reference travel time-reference travel amount curves (m displacement curves) obtained in this way are digitized to approximate them, converted to "0" and "1" signals, and then converted into bit strings. m reference tables Tai(i) are stored in advance in the table memory 12 (ROM).
= 1, 2,...m) (6th
figure). Next, a comparison table prepared for selecting the optimal standard table from among the m standard tables will be explained. First, among the m acceleration/deceleration curves, the n-th reference travel time (acceleration/deceleration time) Tn and the maximum speed Vn are similar to the reference acceleration/deceleration curve (Figure 4a), so Tn=( n/m)・Tm (1) Vn=(n/m)・Vm (2) (n=1, 2,...m) Also, the amount of movement is Sm=k・Vm・Tm (3) Sn=k・Vn・Tn (4) (k is a constant) From (1) to (4), Sn=(n/m) 2・Sm (5) Now, if the movement amount S is between the movement amount Sn and Sn+1, the movement As can be seen from Figure 9, which shows the relationship between the required time and the amount of movement, the amount of movement S is the amount of boundary movement.
When it is smaller than Sc, use the nth standard table Tan,
In addition, if it is more than that, the (n+1)th standard table
Tan+1 may be used. Therefore, Tn+1=Tn+(Sc-Sn)/Vn (6) Substituting (1) to (5) into (6), Sc=(n(n+1/k)/m 2 )・Sm (7) Here, k is obtained by dividing the amount of movement during acceleration/deceleration by the maximum speed and acceleration/deceleration time, and takes a value smaller than 1, and normally it is appropriate to set k = 0.5. Now k=0.5
Substituting into (7), Sc=(n(n+2)/m 2 )・Sm (8) (n=1, 2,...m) From equation (8), the amount of movement and the number of the selected standard table ( n) is obtained as shown in Table 1, and in order to make this comparison, the comparison values corresponding to each n are stored in advance in the table memory 12 (ROM) as a comparison table as shown in FIG. Let me remember it.

【表】 また、テーブルメモリ12に記憶されている各
基準表の夫々に対応したパラメータ、即ち基準移
動量Sn、基準移動時間Tn、加速完了時間Tvn(n
は1…m)の値を予め第8図に示すテーブルパラ
メータメモリとしてテーブルメモリ12内に記憶
させておく。 次に、前記したm個の基準表のうちから、移動
体4に与えられた(あるいは演算の結果求められ
た)移動量を移動させるにあたつて最短時間で移
動し得る最適な基準表を選択する手順を第10図
に示すフローチヤートによつて説明する。プログ
ラムがスタートすると、ステツプAで第7図の比
較テーブルのテーブルカウンタの初期値をc=1
にセツトし、次いで入出力装置14を介して移動
指令が入力されて移動体4の原点と現在位置、原
点と目標位置との差を算出してその符号により移
動方向を求め、その絶対値(移動量)を変数Bに
代入し(ステツプB)、次いでテーブルカウンタ
の指す比較テーブルの比較値を変数Aに代入し
(ステツプC)、ステツプDで変数Aが変数Bより
大きいか等しい時はその時のテーブルカウンタの
値がテーブルメモリ12内の基準表の番号で、そ
うでないときはステツプE、ステツプFを介して
テーブルカウンタを1ずつ増していき、ステツプ
C、Dを最大(m−1)回繰り返してテーブルメ
モリ12内の最適基準表の番号を求める。また、
こうして求まつた基準表の番号からその番号の指
すテーブルパラメータメモリより、選択された基
準表に対応する基準移動量Sn、基準移動時間
Tn、加速完了時間Tvnのパラメータを読み出し、
更に、テーブルパラメータメモリより読出した基
準移動量Snより、与えられた移動量が大きい場
合には等速領域移動量を算出し前記読み出したパ
ラメータと共に演算メモリ11に書き込んでお
く。このようにしてm個の基準表から1つの基準
表が選択され、続いて移動体4の移動処理が開始
されるが、次にこの移動処理を第11、12図に
示すフローチヤートに従つて説明する。ステツプ
aで、与えられた移動量と、選択させたテーブル
パラメータメモリの基準移動量とを比較し、基準
移動量と等しいか大のときはイからハの夫々のル
ープを実行する。加速ループイでは加速処理を行
い、ステツプbで選択された基準表の1ビツトデ
ータの位置を示すポインタ(以下テーブルポイン
タと記す)が加速完了位置即ち加速完了時間に達
したかどうかを判断し、達していればステツプh
へ、そうでなければステツプcへ進む。ステツプ
cではテーブルポインタが指すデータが“1”か
どうか判断し、“1”ならステツプdで出力装置
から移動パルスを発生し、“0”ならステツプg
へ進んで移動パルスを発生したのと同一時間にな
るように時間調整を行い、ステツプeへ進む。ス
テツプeではテーブルポインタを現在指していた
位置より1ビツト次の位置を指すように更新し、
更にステツプfへ進んで加速ループイの処理を繰
返し実行する時間が一定時間間隔となるように時
間調整を行う。この時間調整は、所定の加速時間
で加速を実行するためのものであり、所定の一定
時間間隔は加速時間と、加速ループイの実行回数
より求めることができる。こうしてテーブルポイ
ンタが加速完了位置を指すと、ステツプhへ進
み、先程算出しておいた等速領域移動量が0かど
うか判断し、0ならステツプlへ、そうでなけれ
ばステツプiで出力装置より移動パルスを発生、
ステツプjで等速領域移動量を減じて更新し、ス
テツプkで前記加速ループイの処理時間と同一と
なるように時間調整を行い、等速領域移動ループ
ロの処理を繰返し実行することにより等間隔パル
ス列を得て、等速移動を行う。等速領域移動量が
0になると、ステツプlへ進み、テーブルポイン
タが減速完了位置かどうかを判断し、そうでなけ
ればステツプmでテーブルポインタの指す基準表
の1ビツトデータを調べ、“1”ならステツプn
で移動パルスを出力、“0”ならステツプgで時
間調整をし、ステツプoでテーブルポインタを更
新、ステツプpで加速ループイの処理時間と減速
ループハの処理時間が同一となるように時間調整
を行う。こうして減速ループハを繰返しテーブル
ポインタが減速完了位置になると処理は終了す
る。次に選択したテーブルパラメータメモリの基
準移動量が移動量より大のときは、補間処理ルー
プニへ進み、ステツプrでテーブルポインタが加
減速完了位置に達したかどうか、即ち移動時間を
完了したかどうかを判断し、そうなら終了、そう
でなければステツプsへ進み、ステツプsではテ
ーブルポインタの指す基準表の1ビツトデータが
“1”かどうか判断し、“1”ならステツプtで公
知の補間処理を行ない、ステツプuでパルス発生
するかどうか判断し、YESならステツプvで出
力装置より移動パルスを発生する。ステツプwで
テーブルポインタを次の位置へ更新し、また、こ
の補間処理ループのどの経路を経ても前記加速ル
ープイ、等速領域移動ループロ、減速ループハの
処理時間と同一となるように時間調整のステツプ
X、Y、Zが挿入されている。 このようにして指令パルス列発生手段7よりパ
ルス列がパルス信号弁別器15aへ入力され、こ
のパルス信号弁別器15aの他の入力には回転数
検出器20からサーボモータMの回動量に応じた
数のパルス信号が加えられ、パルス信号弁別器1
5aはこれらの入力信号の加算、減算の弁別を行
い、これを位置偏差カウンタ16へ導く。位置偏
差カウンタ16のカウント値はD/A変換器17
でアナログ信号に変換されて減算器15bに加え
られる。減算器15bの他の入力には回転速度検
出器19からサーボモータMの回転速度に対応す
るアナログ信号が加えられ、減算器15bはこれ
らの入力信号の偏差をとつてこれをサーボアンプ
18を介してサーボモータMへ導き、駆動する。 サーボモータMは送りねじ杆5を回動させて移
動体4を移動させ、高速位置決めを実行する。 第13図aはm=8として式(5)により各移動量
Snを、式(8)により各境界移動量Scを算出して、
これを線図化したもので従来は第13図bのよう
に最大の基準移動量S8以下の移動量に対しても
所要時間T8だけかかつていたのに対し、本発明
では最大の基準移動量S8以下の移動量が与えら
れた場合、aの線図に従うことにより所要時間
T8以下になる。尚、第13図cはmを大きくと
つて算出したときの理想的な曲線で、この第13
図によれば、m=8程度にとればこの理想的な曲
線に十分近似させることができる。 本実施例では比較テーブルを予めROMに記憶
させておき、第10図に示すフローチヤートに従
つて最適な基準表を選択したが、式(8)をもとに直
接演算を行い、基準表を選択してもよい。また、
第11,12図に示すフローチヤートの時間調整
は、所要時間間隔のクロツクによる割込処理を各
移動処理にて実行すれば、省略することができ
る。また、移動処理をソフトウエアで説明した
が、ハードウエアでも実現できる。 効 果 以上のように本発明では、移動体の運動をその
始点から最大速度を経て終点に到るまでの全域に
亘つて滑らかに変化させるような基準加減速速度
曲線から求められる基準移動時間−基準移動量の
関係を示す基本の基準表と、前記基準移動量より
も短い移動量に対応して設定した、前記基準加減
速速度曲線と相似な複数の加減速速度曲線から求
められる基準移動時間−基準移動量の関係を示す
複数の基準表とを予め記憶手段に記憶させ、移動
機構の移動体を、予め与えられた任意の移動量だ
け移動させるにあたつて、前記複数の基準表のう
ちから最短時間で移動し得る最適な基準表を選択
し、この基準表に基づいて指令パルスを発生し、
サーボモータを制御して移動体を移動させるよう
にしたので、従来のように、基本となる一つだけ
の基準移動時間−基準移動量の関係を示す基準表
に基づいてこの基準移動量よりも短い移動量に対
しては公知の補間処理を行なつて基準移動時間だ
けかかつて移動体を移動させていたのに対し、短
に時間で移動させることができ、しかも基準加減
速速度曲線と略同一の加速度、減速度となるた
め、どのような移動量に対しても移動体に与える
衝撃を同じにでき、円滑な移動を期待できる。更
に、複数の基準表を予め記憶手段に記憶させたの
で、いちいち演算する時間が省略でき、より高速
な移動体の移動ができる。
[Table] In addition, parameters corresponding to each reference table stored in the table memory 12, namely, reference movement amount Sn, reference movement time Tn, and acceleration completion time Tvn(n
1...m) are stored in advance in the table memory 12 as a table parameter memory shown in FIG. Next, from among the m reference tables mentioned above, select an optimal reference table that allows the moving body 4 to move the amount of movement given (or obtained as a result of calculation) in the shortest time. The selection procedure will be explained using the flowchart shown in FIG. When the program starts, in step A, set the initial value of the table counter of the comparison table in Figure 7 to c=1.
Then, a movement command is input via the input/output device 14, and the differences between the origin and the current position of the moving body 4, and the difference between the origin and the target position are calculated, the movement direction is determined by the sign, and the absolute value ( The amount of movement) is assigned to variable B (step B), then the comparison value of the comparison table pointed to by the table counter is assigned to variable A (step C), and if variable A is greater than or equal to variable B in step D, then If the value of the table counter is the number of the reference table in the table memory 12, if not, increase the table counter by 1 through steps E and F, and repeat steps C and D a maximum of (m-1) times. The number of the optimum standard table in the table memory 12 is repeatedly determined. Also,
Based on the standard table number thus determined, from the table parameter memory pointed to by that number, the standard movement amount Sn and standard movement time corresponding to the selected standard table are
Read the parameters of Tn and acceleration completion time Tvn,
Further, if the given movement amount is larger than the reference movement amount Sn read from the table parameter memory, the constant velocity region movement amount is calculated and written in the calculation memory 11 together with the read parameters. In this way, one reference table is selected from the m reference tables, and then the moving process of the moving object 4 is started. Next, this moving process is carried out according to the flowchart shown in FIGS. 11 and 12. explain. In step a, the given movement amount is compared with the reference movement amount of the selected table parameter memory, and if it is equal to or greater than the reference movement amount, each of the loops A to C is executed. In the acceleration loop, acceleration processing is performed, and it is determined whether the pointer (hereinafter referred to as table pointer) indicating the position of 1-bit data in the reference table selected in step b has reached the acceleration completion position, that is, the acceleration completion time. If so, step h
If not, proceed to step c. In step c, it is determined whether the data pointed to by the table pointer is "1" or not. If it is "1", a movement pulse is generated from the output device in step d, and if it is "0", a movement pulse is generated from the output device.
Then, the time is adjusted so that it is the same time as when the movement pulse was generated, and the process goes to step e. In step e, the table pointer is updated to point to the next position by one bit from the current position.
Further, the process proceeds to step f, and the time is adjusted so that the time for repeatedly executing the acceleration loop-i process is a constant time interval. This time adjustment is for executing acceleration in a predetermined acceleration time, and the predetermined constant time interval can be determined from the acceleration time and the number of executions of the acceleration loop. When the table pointer points to the acceleration completion position, the process proceeds to step h, where it is determined whether the constant velocity area movement amount calculated earlier is 0, and if it is 0, the process proceeds to step l; otherwise, from the output device at step i. Generates a moving pulse,
In step j, the constant velocity area movement amount is decreased and updated, and in step k, the time is adjusted so that it is the same as the processing time of the acceleration loop i, and the uniformly spaced pulse train is created by repeatedly executing the process of the constant velocity area movement loop pro. , and move at a constant speed. When the constant velocity area movement amount becomes 0, proceed to step 1 and judge whether the table pointer is at the deceleration completion position. If not, proceed to step m to check the 1-bit data in the reference table pointed to by the table pointer and set it to "1". Then step n
Outputs a movement pulse at "0", adjusts the time at step g, updates the table pointer at step o, and adjusts the time so that the processing time for acceleration loop I and the processing time for deceleration loop I are the same at step p. . In this way, the deceleration loop is repeated and the process ends when the table pointer reaches the deceleration completion position. Next, when the reference movement amount of the selected table parameter memory is larger than the movement amount, the process proceeds to interpolation processing loop 2, and in step r, whether the table pointer has reached the acceleration/deceleration completion position, that is, whether the movement time has been completed. If so, the process ends. If not, the process proceeds to step s. In step s, it is determined whether the 1-bit data in the reference table pointed to by the table pointer is "1". If it is "1", known interpolation processing is performed in step t. Then, in step u, it is determined whether or not a pulse should be generated. If YES, a moving pulse is generated from the output device in step v. In step w, the table pointer is updated to the next position, and the time adjustment step is performed so that the processing time of the acceleration loop I, constant velocity area movement loop pro, and deceleration loop pro is the same no matter which route this interpolation processing loop takes. X, Y, and Z are inserted. In this way, a pulse train is inputted from the command pulse train generating means 7 to the pulse signal discriminator 15a, and the other inputs of the pulse signal discriminator 15a are supplied with a number of pulses corresponding to the amount of rotation of the servo motor M from the rotation speed detector 20. A pulse signal is applied and the pulse signal discriminator 1
5a performs the discrimination between addition and subtraction of these input signals, and guides this to the position deviation counter 16. The count value of the position deviation counter 16 is calculated by the D/A converter 17.
The signal is converted into an analog signal and added to the subtracter 15b. An analog signal corresponding to the rotational speed of the servo motor M is added from the rotational speed detector 19 to the other input of the subtracter 15b, and the subtracter 15b calculates the deviation of these input signals and sends it through the servo amplifier 18. is guided to the servo motor M and driven. The servo motor M rotates the feed screw rod 5 to move the movable body 4 and perform high-speed positioning. Figure 13a shows each movement amount using equation (5) with m=8.
Sn, calculate each boundary movement amount Sc using equation (8),
This is diagrammed. Conventionally, as shown in Figure 13b, even for a movement amount less than the maximum reference movement amount S8, the required time was only T8, but in the present invention, the maximum reference movement amount If the amount of movement is less than S8, the required time will be calculated by following the diagram in a.
Becomes T8 or below. Note that Fig. 13c is an ideal curve calculated by setting m large;
According to the figure, by setting m to about 8, it is possible to sufficiently approximate this ideal curve. In this example, the comparison table was stored in the ROM in advance and the optimal reference table was selected according to the flowchart shown in FIG. You may choose. Also,
The time adjustment in the flowcharts shown in FIGS. 11 and 12 can be omitted if interrupt processing using a clock at required time intervals is executed in each movement process. Further, although the movement processing has been explained using software, it can also be realized using hardware. Effects As described above, in the present invention, the reference travel time determined from the reference acceleration/deceleration speed curve that smoothly changes the motion of a moving object over the entire range from its starting point to its maximum speed to its end point. A reference travel time determined from a basic reference table showing the relationship between reference travel amounts and a plurality of acceleration/deceleration speed curves similar to the reference acceleration/deceleration speed curves set corresponding to travel distances shorter than the reference travel amount. - A plurality of reference tables indicating the relationship between the reference movement amounts are stored in advance in the storage means, and when moving the moving body of the moving mechanism by an arbitrary predetermined movement amount, the plurality of reference tables are stored in advance. Select the optimal reference table that allows movement in the shortest time, generate command pulses based on this reference table,
Since the moving body is moved by controlling the servo motor, it is possible to move the moving object by controlling the servo motor. For short travel distances, a well-known interpolation process is performed to move the moving object only for the standard travel time, whereas in the past the moving object can be moved in a short amount of time. Since the acceleration and deceleration are the same, the same impact can be applied to the moving object regardless of the amount of movement, and smooth movement can be expected. Furthermore, since a plurality of reference tables are stored in advance in the storage means, the time required for each calculation can be omitted, and the moving body can move faster.

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

第1図は従来の基準移動量−基準移動時間の関
係図、第2図はスライドテーブル機構の平面図、
第3図はブロツク図、第4図は基準加減速速度曲
線を示す図、第5図は第4図の変位曲線を示す
図、第6図は複数の基準表のメモリ内配列を示す
図、第7図は比較テーブルを示す図、第8図はテ
ーブルパラメータメモリを示す図、第9図は境界
移動量の説明図、第10図は最適な基準表を求め
る手順を示すフローチヤート、第11図、第12
図はパルス発生のためのフローチヤート、第13
図はm=8の場合の移動所要時間と移動量の関係
を示す図である。 1……スライドテーブル機構、4……スライド
テーブル、7……指令パルス列発生手段、8……
位置決め制御装置、12……テーブルメモリ、M
……サーボモータM。
Fig. 1 is a diagram of the relationship between the conventional reference movement amount and reference movement time, and Fig. 2 is a plan view of the slide table mechanism.
3 is a block diagram, FIG. 4 is a diagram showing the standard acceleration/deceleration curve, FIG. 5 is a diagram showing the displacement curve of FIG. 4, and FIG. 6 is a diagram showing the arrangement of multiple reference tables in memory. FIG. 7 is a diagram showing a comparison table, FIG. 8 is a diagram showing table parameter memory, FIG. 9 is an explanatory diagram of the amount of boundary movement, FIG. Figure, 12th
The figure is a flowchart for pulse generation, number 13.
The figure is a diagram showing the relationship between the travel time and the travel amount when m=8. DESCRIPTION OF SYMBOLS 1...Slide table mechanism, 4...Slide table, 7...Command pulse train generation means, 8...
Positioning control device, 12...Table memory, M
...Servo motor M.

Claims (1)

【特許請求の範囲】[Claims] 1 記憶手段を備えた指令パルス列発生手段から
の指令パルスに基づき、サーボモータをフイード
バツク制御し、このサーボモータの回転により移
動体を移動させるようにした移動機構において、
移動体の運動をその始点から最大速度を経て終点
に到るまでの全域に亘つて滑らかに変化させるよ
うに設定した基準加減速速度曲線から求められる
基準移動時間−基準移動量の関係を示す基本の基
準表と、前記基準移動量よりも短い移動量に対応
して設定され、前記基準加減速速度曲線と相似な
複数の加減速速度曲線から求められる基準移動時
間−基準移動量の関係を示す複数の基準表とを予
め前記記憶手段に記憶させ、与えられた移動量
と、各基準表と対応して予め準備される境界移動
量を比較し、その結果に基づいて前記複数の基準
表から移動体を最短時間でかつ滑らかに移動させ
得る基準表を選択し、次いで与えられた移動体と
選択した基準表から定まる基準移動量とを比較
し、与えられた移動量が基準移動量と等しいと
き、選択した基準表による加減速のみを行ない、
前者が後者より大のとき、前記加減速の間に等速
移動を行ない、前者が後者より小のとき、基準表
に対して補間処理を行なつて、夫々の場合につい
て与えられた移動量となるように指令パルス列を
発生させることを特徴とする移動機構の駆動制御
方法。
1. A moving mechanism in which a servo motor is feedback-controlled based on command pulses from a command pulse train generating means equipped with a storage means, and a moving body is moved by rotation of the servo motor,
Basics that indicate the relationship between the reference travel time and the reference travel distance, which are determined from the reference acceleration/deceleration speed curve that is set to smoothly change the motion of a moving object over the entire range from its starting point to its maximum speed to its end point. and a reference table showing a relationship between a reference travel time and a reference travel amount determined from a plurality of acceleration/deceleration speed curves that are set corresponding to travel distances shorter than the reference travel amount and that are similar to the reference acceleration/deceleration speed curve. A plurality of reference tables are stored in the storage means in advance, the given movement amount is compared with a boundary movement amount prepared in advance corresponding to each reference table, and based on the result, the amount of movement is Select a reference table that allows the moving object to move smoothly in the shortest time, then compare the given moving object with the reference movement amount determined from the selected reference table, and determine that the given movement amount is equal to the reference movement amount. At this time, only acceleration/deceleration is performed according to the selected reference table,
When the former is larger than the latter, uniform movement is performed during the acceleration/deceleration, and when the former is smaller than the latter, interpolation processing is performed on the reference table to calculate the amount of movement given in each case. 1. A drive control method for a moving mechanism, characterized by generating a command pulse train so that
JP22008583A 1983-11-22 1983-11-22 Drive control method of moving mechanism Granted JPS60112106A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22008583A JPS60112106A (en) 1983-11-22 1983-11-22 Drive control method of moving mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22008583A JPS60112106A (en) 1983-11-22 1983-11-22 Drive control method of moving mechanism

Publications (2)

Publication Number Publication Date
JPS60112106A JPS60112106A (en) 1985-06-18
JPH0325802B2 true JPH0325802B2 (en) 1991-04-09

Family

ID=16745691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22008583A Granted JPS60112106A (en) 1983-11-22 1983-11-22 Drive control method of moving mechanism

Country Status (1)

Country Link
JP (1) JPS60112106A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6289119A (en) * 1985-10-16 1987-04-23 Pioneer Electronic Corp Adjustable-speed control method
JPS63216112A (en) * 1987-03-04 1988-09-08 Oriental Motor Co Ltd Positioning device for servo motor
JPH03152605A (en) * 1989-11-09 1991-06-28 Honda Motor Co Ltd Acceleration/deceleration control method for robot
JP4172477B2 (en) 2005-08-17 2008-10-29 村田機械株式会社 How to implement pattern on actual machine

Also Published As

Publication number Publication date
JPS60112106A (en) 1985-06-18

Similar Documents

Publication Publication Date Title
JPS6116568B2 (en)
Koren Design of computer control for manufacturing systems
JP7376260B2 (en) numerical control device
JPH0325802B2 (en)
US4214192A (en) Path control apparatus for the computer directed control of a numerically controlled machine tool
JP2826391B2 (en) Backlash acceleration control method
IL45683A (en) Velocity-change control system and method for numerical control apparatus
US5034672A (en) Reference-point return method
JPH0561651B2 (en)
US5231340A (en) Servomotor control method
JPS6232508A (en) Positioning control method for servo-system of numerical controller
JPH03175502A (en) Thinning learning control system
JP2813352B2 (en) Positioning device
JPH078160B2 (en) Motor controller
JPS581805B2 (en) Positioning control method
JPH0623928B2 (en) Robot hand trajectory correction method
JPH11114858A (en) Locus control method and locus control device
JP2628297B2 (en) Robot control method and device
JP2669641B2 (en) Numerical controller for machining non-round workpieces
JP2629758B2 (en) Trajectory correction method
JP2653130B2 (en) Acceleration / deceleration control device
WO1989006836A1 (en) High precision pulse interpolation system
JPS61137719A (en) Injection molder
JP3394121B2 (en) Numerical control unit
JPH0256608A (en) Determining method for speed program of robot