JPH07334217A - Axial position controller - Google Patents
Axial position controllerInfo
- Publication number
- JPH07334217A JPH07334217A JP6130043A JP13004394A JPH07334217A JP H07334217 A JPH07334217 A JP H07334217A JP 6130043 A JP6130043 A JP 6130043A JP 13004394 A JP13004394 A JP 13004394A JP H07334217 A JPH07334217 A JP H07334217A
- Authority
- JP
- Japan
- Prior art keywords
- position control
- speed
- interrupt signal
- axis
- command value
- 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
Landscapes
- Numerical Control (AREA)
- Control Of Position Or Direction (AREA)
- Control Of Multiple Motors (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はサーボモータの制御装置
に関するものであり、工作機械やロボット・ローダーな
どのように同期駆動軸を駆動するサーボモータの位置及
び、速度制御を1台のマイクロプロセッサにて実行する
に好適な軸位置制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a servomotor control device, and one microprocessor for controlling the position and speed of a servomotor that drives a synchronous drive shaft such as a machine tool or a robot loader. The present invention relates to an axis position control device suitable for execution.
【0002】[0002]
【従来の技術】工作機械やロボット・ローダーなどのよ
うな複数軸(少なくとも1軸以上)を有する駆動対象を
駆動制御するためには、これらの軸を駆動するサーボモ
ータの位置および速度制御をそれぞれ実行する必要があ
る。通常これらの複数軸を駆動制御するためにはサーボ
モータ1台につき1台の位置制御装置が必要とされてい
たが、近年高性能化と共に低コスト化が強く要求される
ようになり、軸位置制御系を1台の位置制御装置を用い
て制御することにより低コスト化実現が図られている。
図8は従来技術による軸位置制御装置を4軸すなわち4
台のサーボモータを有する工作機械に適用した場合の概
念的な機能ブロック図を示すものである。図8において
軸位置制御装置10には第1軸のサーボモータ41に電
力を供給するサーボアンプ31と、サーボモータ41の
回転位置を検出する位置検出器51が接続されている。
サーボモータ41を第1軸のトルクを制御するという観
点から第8図においてはサーボアンプ31と合わせてト
ルク制御装置21を構成する要素としている。また、軸
位置制御装置10には第2軸〜第4軸駆動制御用のトル
ク制御装置22〜24、および位置検出器52〜54が
接続される。さらに、軸位置制御装置10は割込信号発
生部11と、位置誤差Pe及び該位置誤差Peに基づい
て速度指令値Vrを生成する位置制御部12と、位置検
出器からのデータを処理してサーボモータの現在位置P
am,i,j を検出する位置検出部13と、位置制御部12
により生成される各軸速度指令値Vrを格納する速度指
令値格納部14と、速度誤差Ve及び該速度誤差Veに
基づいて電流指令値Irm を生成する速度制御部15
と、位置検出部13にて生成された現在位置Pam,i,j
から速度Vam,i,j を検出する速度検出部16と、を有
している。なお、本明細書中においては、位置/速度/
電流の各指令値および検出値を示す英記号における添字
m,i,j には次の意味を持たせるものとする。 m :制御対象軸(サーボモータ)識別番号。(1〜4) i :位置指令周期識別番号。(正整数) j :位置制御処理識別番号。(0〜m−1(=3)の正
整数) これらの添字を省略する場合は、軸に依存しないか時間
的な前後関係を問題にしない場合である。2. Description of the Related Art In order to drive and control a drive target having a plurality of axes (at least one axis or more) such as a machine tool or a robot loader, position and speed control of servo motors driving these axes is performed. Need to do. Normally, one position control device was required for each servo motor to drive and control these multiple axes, but in recent years there has been a strong demand for higher performance and lower cost. Cost reduction is achieved by controlling the control system using a single position control device.
FIG. 8 shows a prior art shaft position control device with four axes
It is a conceptual functional block diagram when applied to a machine tool having a single servo motor. In FIG. 8, the axis position control device 10 is connected to a servo amplifier 31 that supplies electric power to the servo motor 41 of the first axis and a position detector 51 that detects the rotational position of the servo motor 41.
From the viewpoint of controlling the torque of the first axis, the servo motor 41 is an element that constitutes the torque control device 21 together with the servo amplifier 31 in FIG. Further, the shaft position control device 10 is connected with torque control devices 22 to 24 for second to fourth axis drive control, and position detectors 52 to 54. Further, the axis position control device 10 processes the data from the interrupt signal generator 11, the position error Pe, the position controller 12 that generates the speed command value Vr based on the position error Pe, and the data from the position detector. Current position P of servo motor
a position detection unit 13 for detecting am, i, j and a position control unit 12
A speed command value storage unit 14 for storing each shaft speed command value Vr generated by the above, and a speed control unit 15 for generating a current command value Irm based on the speed error Ve and the speed error Ve.
And the current position Pam, i, j generated by the position detection unit 13.
From the velocity Vam, i, j. In the present specification, position / speed /
Subscripts in English symbols indicating current command values and detected values
Let m, i, j have the following meanings. m: Control target axis (servo motor) identification number. (1 to 4) i: Position command cycle identification number. (Positive integer) j: Position control process identification number. (Positive integer of 0 to m-1 (= 3)) When these subscripts are omitted, it is not dependent on the axis or the temporal context is not a problem.
【0003】図9は従来技術による軸位置制御装置の動
作を示すフローチャートであり、図10は従来技術によ
る軸位置制御装置の動作タイムチャートである。以下に
図8〜図10を用いて従来技術の動作説明を行う。図8
において、図示しないNCプログラム読み込み部および
NCプログラム解釈部により読み込まれ解釈されたNC
プログラムに基づいて、図示しない関数発生部は駆動制
御対象となる全軸(サーボモータ)の移動情報(目標位
置、速度等)を算出しそれぞれの軸を駆動するサーボモ
ータに対する位置指令値をi番目の位置指令値(=Pr
m,i )として所定のタイミングにて軸位置制御装置10
へ転送する。軸位置制御装置10の内部では、この転送
タイミングに同期して、位置制御処理を開始するための
割込信号INTが割込信号生成部11にて生成される。
i番目の位置指令値Prm,i 転送直後の割込信号INT
が発生すると位置制御部12はj=0として第1軸に対
する位置制御処理PC1を開始する。まず、サーボモー
タ識別番号mをjから求める(図9ステップS1)。j
=0であるのでm=1となる。次にi番目位置指令値P
rm,i の中からPr1,i を読み込み位置指令値Prとす
る(図9ステップS2)。次に位置制御周期毎に位置検
出部17にて検出・生成される位置検出値Pam,I,0 の
中からPa1,i,0 を選択し位置検出値Paとする(図9
ステップS3)。位置制御部12においては位置指令値
Prと位置検出値Paの差を演算して位置誤差とし、所
定のゲインを乗じて速度指令値Vrを生成する(図9ス
テップS4)。この速度指令値算出処理は割込信号IN
T発生1回につき1回しか実行しない。今はj=0であ
るので、前記VrはVr1,i,0 となるので、この値を速
度指令値格納部14の第1軸用格納位置に格納する(図
9ステップS5)。格納終了後、位置制御部12は速度
制御部15を起動し、j=0における位置制御処理を終
了する。速度制御処理部12は割込信号INT発生1回
につき全てのサーボモータに対する速度制御処理を行な
うものである。速度制御処理に必要な速度検出値Vaは
例えば、所定周期で得られる2つの位置検出値Paを用
いた公知の方法により速度検出部16にて常時生成され
る。速度制御部15では最初の制御対象を指定して(図
9ステップS6)、第1軸目の速度指令値Vr1,i,0 を
速度指令値格納部14から読み込む(図9ステップS
7)。次に第1軸の速度検出値Va1,i,0 を読み込む
(図9ステップS8)。次に前記速度指令値Vr1,i,0
と前記速度検出値Va1,i,0 との差分を取ることにより
速度誤差Veを算出し、比例ー積分動作フィードバック
制御等の公知の方法により前記速度誤差Veに基づいて
トルク指令値Trを生成し、さらにトルク指令値Trよ
り電流指令値Ir1 を算出する(図9ステップS9)。
この電流指令値は図示しないサーボアンプIFを介して
第1軸用サーボアンプ31に転送される(図9ステップ
S10)。このステップS7からステップS10が第1
軸に対する速度制御処理SC1である。この電流指令値
Ir1 に基づいて第1軸用サーボアンプ31では公知の
技術により最終的にサーボモータ31に印加すべき各相
電圧を発生する。この電圧の印加によりサーボモータ3
1には駆動トルクが発生し、駆動負荷を所望の位置、速
度にて駆動制御する。速度制御部15においては電流指
令値の転送の後にサーボモータ識別添字kを更新し、第
4軸までの電流指令値生成・転送が終了したかどうかを
チェックする(図9ステップS11、S12)。終了し
ていない場合はステップS7からステップS12を繰り
返し、終了したならば割込処理を終えて次の割込信号I
NTの発生を待つ。今の場合はステップS12の判定処
理の段階でk=2であるのでステップS7へ戻り、第2
軸目の速度制御処理SC2を行なう。j=0では第2〜
4軸に対する速度指令値(Vr2,i,0 〜Vr4,i,0 )は
生成されないので、ステップS7で読み込む速度指令値
としては前回の位置指令周期(i−1番目)のj=1の
割込処理において算出された速度指令値Vr2,i-1,1 を
用いる。以下、第1軸に対する速度制御処理SC1と同
様にして第2軸に対する電流指令値Ir2 が算出・転送
される。第3、4軸に対する電流指令Ir3 、Ir4 も
同様にして第3、4軸目の速度制御処理SC3、SC4
において速度指令値Vr3,i-1,2 、Vr4,i-1,3 を用い
て算出され各軸サーボアンプへ転送される。上記手順に
て第1軸に対する位置制御処理PC1と、第1〜第4軸
に対する速度制御処理SC1〜SC4を終了すると、j
=0における割込処理を全て終了し、次の割込信号IN
Tの発生を待つ。次の割込信号INTが発生するとj=
1の割込処理が開始され、j=0の割込処理と同様の手
順にて位置指令値Pr2,i に基づいた第2軸に対する位
置制御処理PC2と第1〜第4軸に対する速度制御処理
SC1〜SC4が実行される。以降、同様にしてj=2
の割込処理において位置指令値Pr3,i に基づいた第3
軸に対する位置制御処理PC3と第1〜第4軸に対する
速度制御処理SC1〜SC4が、j=3の割込処理にお
いて位置指令値Pr4,i に基づいた第4軸に対する位置
制御処理PC3と第1〜第4軸に対する速度制御処理S
C1〜SC4が実行される。j=0〜3の割込処理が終
了するとjは0にリセットされ、次の位置指令値Prm,
i+1 の転送に備える。FIG. 9 is a flow chart showing the operation of the conventional shaft position control device, and FIG. 10 is an operation time chart of the conventional shaft position control device. The operation of the conventional technique will be described below with reference to FIGS. Figure 8
NC read and interpreted by an NC program reading unit and an NC program interpreting unit not shown in FIG.
Based on the program, a function generator (not shown) calculates movement information (target position, speed, etc.) of all axes (servo motors) to be drive-controlled and outputs the position command value for the servo motors driving each axis to the i-th position. Position command value (= Pr
m, i) at a predetermined timing as the axis position control device 10
Transfer to. Inside the axis position control device 10, an interrupt signal INT for starting the position control process is generated by the interrupt signal generator 11 in synchronization with this transfer timing.
i-th position command value Prm, i Interrupt signal INT immediately after transfer
When occurs, the position control unit 12 sets j = 0 and starts the position control processing PC1 for the first axis. First, the servo motor identification number m is obtained from j (step S1 in FIG. 9). j
Since = 0, m = 1. Next, i-th position command value P
Pr1, i is read from rm, i and is set as the position command value Pr (step S2 in FIG. 9). Next, Pa1, i, 0 is selected from the position detection values Pam, I, 0 detected and generated by the position detection unit 17 for each position control cycle and set as the position detection value Pa (FIG. 9).
Step S3). In the position control unit 12, the difference between the position command value Pr and the position detection value Pa is calculated as a position error and multiplied by a predetermined gain to generate the speed command value Vr (step S4 in FIG. 9). This speed command value calculation process is performed by the interrupt signal IN
Execute only once for each T occurrence. Since j = 0 now, Vr becomes Vr1, i, 0, and this value is stored in the storage position for the first axis of the speed command value storage unit 14 (step S5 in FIG. 9). After the end of storage, the position control unit 12 activates the speed control unit 15, and ends the position control process at j = 0. The speed control processing unit 12 performs speed control processing for all servo motors for each generation of the interrupt signal INT. The speed detection value Va required for the speed control process is constantly generated by the speed detection unit 16 by a known method using two position detection values Pa obtained in a predetermined cycle, for example. The speed control unit 15 specifies the first control target (step S6 in FIG. 9) and reads the speed command value Vr1, i, 0 of the first axis from the speed command value storage unit 14 (step S6 in FIG. 9).
7). Next, the speed detection value Va1, i, 0 of the first axis is read (step S8 in FIG. 9). Next, the speed command value Vr1, i, 0
And the speed detection value Va1, i, 0 are calculated to calculate a speed error Ve, and a torque command value Tr is generated based on the speed error Ve by a known method such as proportional-integral operation feedback control. Further, the current command value Ir1 is calculated from the torque command value Tr (step S9 in FIG. 9).
This current command value is transferred to the first-axis servo amplifier 31 via the servo amplifier IF (not shown) (step S10 in FIG. 9). The steps S7 to S10 are the first
This is the speed control processing SC1 for the axis. Based on the current command value Ir1, the first-axis servo amplifier 31 finally generates a phase voltage to be applied to the servo motor 31 by a known technique. By applying this voltage, the servo motor 3
A drive torque is generated at 1, and the drive load is drive-controlled at a desired position and speed. The speed control unit 15 updates the servo motor identification subscript k after the transfer of the current command value, and checks whether or not the current command value generation / transfer up to the fourth axis is completed (steps S11 and S12 in FIG. 9). If not completed, steps S7 to S12 are repeated, and if completed, the interrupt processing is terminated and the next interrupt signal I
Wait for NT to occur. In this case, since k = 2 at the stage of the determination process in step S12, the process returns to step S7 and the second
The axis speed control process SC2 is performed. If j = 0, the second
Since the speed command values (Vr2, i, 0 to Vr4, i, 0) for the four axes are not generated, the speed command value read in step S7 is a division of j = 1 of the previous position command cycle (i-1th). The speed command value Vr2, i-1,1 calculated in the plug-in process is used. Thereafter, the current command value Ir2 for the second axis is calculated and transferred in the same manner as the speed control processing SC1 for the first axis. Similarly, the current commands Ir3 and Ir4 for the third and fourth axes are similarly performed for the speed control processes SC3 and SC4 of the third and fourth axes.
At, the speed command values Vr3, i-1,2 and Vr4, i-1,3 are calculated and transferred to each axis servo amplifier. When the position control process PC1 for the first axis and the speed control processes SC1 to SC4 for the first to fourth axes are completed in the above procedure, j
= 0, all interrupt processing is completed, and the next interrupt signal IN
Wait for the occurrence of T. When the next interrupt signal INT is generated, j =
The interrupt processing of 1 is started, and the position control processing PC2 for the second axis and the speed control processing for the first to fourth axes based on the position command value Pr2, i are performed in the same procedure as the interrupt processing of j = 0. SC1 to SC4 are executed. Thereafter, similarly, j = 2
In the interrupt processing of the third command based on the position command value Pr3, i
The position control process PC3 for the axis and the speed control processes SC1 to SC4 for the first to fourth axes are the first position control process PC3 and the first position control process PC3 for the fourth axis based on the position command value Pr4, i in the interrupt process of j = 3. ~ Speed control process S for the fourth axis
C1 to SC4 are executed. When the interrupt processing of j = 0 to 3 is completed, j is reset to 0, and the next position command value Prm,
Prepare for i + 1 transfer.
【0004】[0004]
【発明が解決しようとする課題】従来の技術による軸位
置制御装置10の制御動作は上述のごとく実行される。
これをタイムチャートにしたものが図10であり、同図
中Tpcは位置制御周期を、Tprは位置指令周期を表
す。上述のように、従来技術においては割込処理1回に
つき新しく算出される速度指令値Vrは1軸分のみであ
るので、例えばi番目の位置指令周期中のj=2の割込
処理では新規の速度指令値としてVr3,i,2 がPC3で
算出され、各軸速度制御処理SC1〜SC4では速度指
令値および速度検出値データとしてそれぞれ次のデータ
が用いられる。 SC1・・・Vr1,i,0 および Va1,i,2 SC2・・・Vr2,i,1 および Va2,i,2 SC3・・・Vr3,i,2 および Va3,i,2 SC4・・・Vr4,i-1,3 および Va4,i,2 この例におけるSC4のように最新の位置指令値(=P
rm,i )に基づく速度指令値が未算出の時点で実行され
る速度制御処理では、速度誤差を求めるための速度指令
値として1回前の位置指令値に基づいて算出された速度
指令値(上記例ではVr4,i-1,3 )を採用している。し
たがって最初の時点でi番目の位置指令値Pr4,i がす
でに軸位置制御装置10に転送されているにもかかわら
ずこの指令値が反映されないことになる。i番目の位置
指令値Prm,i が各軸の速度制御処理に反映されるのは
第1軸目がj=0におけるSC1、第2軸目がj=1に
おけるSC2、第3軸目がj=2におけるSC3、第4
軸目はj=3におけるSC4、がそれぞれ実行された時
点である。これは、関数発生部においては各軸の同期運
転を行なうべく同期運転位置指令値を算出し軸位置制御
装置10に転送しても、軸位置制御装置10内部のこの
同期運転位置指令値に基づく各軸速度制御処理が同一位
置制御周期内にて行なわれないことによる時間差のため
に指令値レベルで大きな同期誤差を生じるという問題が
あることを意味する。この同期誤差について以下に具体
的に説明する。今、全軸が停止している状態でNCプロ
グラムとして第1軸および第4軸に共に等しい距離の移
動指令が与えられたとする。第1軸位置を縦軸に、第4
軸位置を横軸に取ると、図11に示すグラフの第1象限
の破線矢印で描かれるような移動開始点(=Ps)と終
了点(=Pd)を結ぶ45度直線が理想的な指令軌跡と
なる。ここで第1軸と第4軸についての加減速単位量
(加減速時における速度曲線の傾き)、サーボアンプ/
サーボモータ定格が同じであるとすると、これら2軸に
ついての速度指令曲線は同じ形となる。今、前記同期運
転位置指令に基づいて速度制御部15にて算出される第
1軸および第4軸に対する速度(指令)曲線が図11の
第2および第4象限に示すような同じ大きさの台形状に
なったとすると、前記時間差があるため、前記同期運転
位置指令値に基づいた速度指令曲線が立ち上がるのは、
第1軸においてはi番目位置指令周期中のj=0のIN
T割込処理中におけるSC1の実行直後であり、第4軸
においてはi番目位置指令周期中のj=3のINT割込
処理中におけるSC4の実行直後である。したがって、
これらの間の時間差は実質位置制御周期Tpcの3.5
倍ほどになる。i番目位置指令周期中のj=3のINT
割込処理中におけるSC4実行直前までは第1軸に対し
てのみ速度指令値が発生しており、第4軸は速度指令値
=0(停止状態)という状態が続く。したがってこの間
は速度曲線の時間積分値が位置となることを考慮する
と、実際の位置指令軌跡が理想位置指令軌跡より離れる
ことになり、結果的に大きな同期運転位置指令誤差すな
わち図11中の位置指令誤差ERpが発生する。図11
において加減速単位量=1m/S*S、位置指令周期T
pr=10ms、位置制御周期Tpc=2.5msとす
ると、図11の位置指令誤差ERpは約30μmとな
り、昨今の輪郭加工精度要求がサブミクロンから数μm
であることを考えると実用上大きな課題となっている。
本発明は、以上の課題を解決するためになされたもので
あり、その目的は、同期運転における位置指令誤差の問
題を発生することなく同期駆動軸を駆動するサーボモー
タの位置、速度制御を1台のマイクロプロセッサにて実
行する軸位置制御装置を提供することにある。The control operation of the shaft position control device 10 according to the prior art is executed as described above.
A time chart of this is shown in FIG. 10, in which Tpc represents a position control cycle and Tpr represents a position command cycle. As described above, in the prior art, the speed command value Vr newly calculated for each interrupt process is only for one axis, so that, for example, in the interrupt process of j = 2 in the i-th position command cycle, it is new. Vr3, i, 2 is calculated by the PC 3 as the speed command value of 1., and the following data is used as the speed command value and the speed detection value data in each axis speed control process SC1 to SC4. SC1 ... Vr1, i, 0 and Va1, i, 2 SC2 ... Vr2, i, 1 and Va2, i, 2 SC3 ... Vr3, i, 2 and Va3, i, 2 SC4 ... Vr4 , i-1,3 and Va4, i, 2 The latest position command value (= P
In the speed control process executed when the speed command value based on rm, i) is not calculated, the speed command value calculated based on the previous position command value as the speed command value for obtaining the speed error ( In the above example, Vr4, i-1,3) is adopted. Therefore, although the i-th position command value Pr4, i has already been transferred to the axis position control device 10 at the first time point, this command value is not reflected. The i-th position command value Prm, i is reflected in the speed control processing of each axis by SC1 when j = 0 on the first axis, SC2 when j = 1 on the second axis and j on the third axis. SC3 at = 2, 4th
The axis is the time point when SC4 at j = 3 is executed. This is because even if the function generating unit calculates a synchronous operation position command value to perform synchronous operation of each axis and transfers it to the axis position control device 10, it is based on this synchronous operation position command value inside the axis position control device 10. This means that there is a problem that a large synchronization error occurs at the command value level due to a time difference due to the fact that each axis speed control process is not performed within the same position control cycle. This synchronization error will be specifically described below. Now, it is assumed that movement commands of the same distance are given to both the first axis and the fourth axis as an NC program while all axes are stopped. The first axis position is the vertical axis, and the fourth axis is
If the axis position is taken as the horizontal axis, a 45-degree straight line connecting the movement start point (= Ps) and the end point (= Pd) as drawn by the dashed arrow in the first quadrant of the graph shown in FIG. 11 is an ideal command. It becomes a locus. Here, the acceleration / deceleration unit amount for the first and fourth axes (the slope of the speed curve during acceleration / deceleration), servo amplifier /
If the servo motor ratings are the same, the speed command curves for these two axes will have the same shape. Now, the speed (command) curves for the first axis and the fourth axis calculated by the speed controller 15 based on the synchronous operation position command have the same magnitude as shown in the second and fourth quadrants of FIG. If it becomes a trapezoid, because of the time difference, the speed command curve based on the synchronous operation position command value rises
In the 1st axis, IN of j = 0 in the i-th position command cycle
Immediately after the execution of SC1 during the T interrupt processing, and immediately after execution of SC4 during the INT interrupt processing of j = 3 in the i-th position command cycle in the 4th axis. Therefore,
The time difference between them is 3.5 of the actual position control period Tpc.
It doubles. INT of j = 3 in the i-th position command cycle
The speed command value is generated only for the first axis until immediately before the execution of SC4 during the interrupt processing, and the speed command value = 0 (stopped state) continues for the fourth axis. Therefore, considering that the time integrated value of the speed curve becomes the position during this period, the actual position command locus is separated from the ideal position command locus, resulting in a large synchronous operation position command error, that is, the position command in FIG. An error ERp occurs. Figure 11
In acceleration / deceleration unit amount = 1 m / S * S, position command cycle T
If pr = 10 ms and the position control cycle Tpc = 2.5 ms, the position command error ERp in FIG. 11 is about 30 μm, and the recent contour processing accuracy requirement is from submicron to several μm.
Considering that, it is a big problem in practical use.
The present invention has been made to solve the above problems, and an object of the present invention is to control the position and speed of a servo motor that drives a synchronous drive shaft without causing the problem of position command error in synchronous operation. An object of the present invention is to provide an axis position control device that is executed by a single microprocessor.
【0005】[0005]
【課題を解決するための手段】以上の目的を達成するた
めに、請求項1記載の発明は、入力される位置指令値に
基づいて少なくとも1台以上のモータの位置制御と速度
制御とを実行する軸位置制御装置において、一定周期毎
に計時信号を生成する計時信号発生部と、位置制御周期
内での前記計時信号発生回数をカウントして一定間隔で
計時データを生成する計時回数カウント部と、所定の位
置制御周期において前記計時回数カウント部が最初の前
記計時データを発生した時に全てのモータに関して対応
する前記位置指令値に基づいて速度指令値を算出する位
置制御処理を行なう複数台位置制御部と、前記複数台位
置制御部で生成された速度指令値に基づいて前記計時回
数カウント部で発生する前記計時データに応じて前記位
置制御周期内で全てのモータに関して速度制御処理を順
次行なう複数台速度制御部と、を有することを特徴とす
る。また、請求項2記載の発明は、入力される位置指令
値に基づいて少なくとも1台以上のモータの位置制御と
速度制御を実行する軸位置制御装置において、周期の異
なる複数の割込信号を生成する割込信号発生部と、制御
すべきモータ台数データを格納するモータ台数格納部
と、前記モータ台数格納部の格納内容に応じて前記割込
信号の中から位置制御を実行する位置制御実行用割込信
号と速度制御を実行する速度制御実行用割込信号との選
択を行ない優先順位を付けて出力する割込信号選択部
と、位置制御実行用割込信号が発生した場合に所定の位
置制御周期内で全てのモータの位置制御処理を行なう複
数台位置制御部と、速度制御実行用割込信号が発生した
場合に前記位置制御周期内で全てのモータの速度制御処
理を順次行なう複数台速度制御部と、を有し、前記割込
信号選択部は前記モータ台数が1の場合には前記位置制
御実行用割込信号の優先度を速度制御実行用割込信号の
優先度よりも低くし、前記モータ台数が複数の場合には
前記位置制御実行用割込信号の優先度を速度制御実行用
割込信号の優先度よりも高くすることを特徴とする。In order to achieve the above object, the invention according to claim 1 executes position control and speed control of at least one or more motors based on an input position command value. In the axis position control device, a clock signal generating unit that generates a clock signal at every constant cycle, and a clock frequency counting unit that counts the clock signal generation frequency within the position control cycle and generates clock data at regular intervals. , A plural position control for performing a position control process for calculating a speed command value based on the corresponding position command values for all the motors when the time count counting unit first generates the time measurement data in a predetermined position control cycle. Unit and all the units within the position control cycle in accordance with the time count data generated by the time count counting unit based on the speed command value generated by the multiple unit position control unit. And having between multiple speed controller for sequentially controlling the speed processing with respect to motor. Further, according to a second aspect of the present invention, in the axis position control device that executes position control and speed control of at least one motor based on the input position command value, a plurality of interrupt signals having different cycles are generated. An interrupt signal generation unit, a motor number storage unit for storing data on the number of motors to be controlled, and position control execution for executing position control from the interrupt signals according to the stored contents of the motor number storage unit. An interrupt signal selection unit that selects and outputs an interrupt signal and a speed control execution interrupt signal that executes speed control, and a predetermined position when a position control execution interrupt signal is generated. Multiple units that perform position control processing for all motors within the control cycle, and multiple units that sequentially perform speed control processing for all motors within the position control cycle when a speed control execution interrupt signal is generated. speed When the number of the motors is 1, the interrupt signal selection unit lowers the priority of the position control execution interrupt signal below the priority of the speed control execution interrupt signal. When the number of motors is plural, the priority of the position control execution interrupt signal is set higher than that of the speed control execution interrupt signal.
【0006】[0006]
【作用】従って、本発明によれば、同一位置制御周期内
にて複数台位置制御部は位置制御処理において最新の位
置指令値に基づいた全てのモータに対する速度指令値の
算出を行ない、複数台速度制御部は前記速度指令値に基
づいて全てのモータの速度制御処理を順次行なう。した
がって、各軸の速度制御処理が同一位置制御周期内にて
算出されたデータに基づいて行なわれるので、処理時間
の時間差による指令値レベルで生じる大きな同期運転位
置指令誤差を回避できる。また、割込信号選択部は、制
御すべきモータ台数が1の場合には前記位置制御実行用
割込信号の優先度を速度制御実行用割込信号の優先度よ
りも低くし、前記モータ台数が複数の場合には前記位置
制御実行用割込信号の優先度を速度制御実行用割込信号
の優先度よりも高く設定するので、位置制御処理が速度
制御処理にて中断されることがなく、各軸の速度制御処
理が同一位置制御周期内にて算出されたデータに基づい
て行なわれるので、処理時間の時間差による指令値レベ
ルで生じる大きな同期運転位置指令誤差を回避できる、
と共に、優先度を変更することによって軸位置制御装置
を1軸位置制御装置として使用することができる。Therefore, according to the present invention, within the same position control cycle, the plurality of units position control section calculates the speed command value for all the motors based on the latest position command value in the position control processing, and the plurality of units position control units are calculated. The speed control unit sequentially performs speed control processing for all the motors based on the speed command value. Therefore, since the speed control processing of each axis is performed based on the data calculated within the same position control cycle, it is possible to avoid a large synchronous operation position command error that occurs at the command value level due to the time difference of the processing time. When the number of motors to be controlled is 1, the interrupt signal selection unit lowers the priority of the position control execution interrupt signal below the priority of the speed control execution interrupt signal. If there are a plurality of positions, the priority of the position control execution interrupt signal is set higher than the priority of the speed control execution interrupt signal, so that the position control processing is not interrupted by the speed control processing. Since the speed control processing of each axis is performed based on the data calculated in the same position control cycle, it is possible to avoid a large synchronous operation position command error that occurs at the command value level due to the time difference of the processing time.
At the same time, the axis position control device can be used as a one-axis position control device by changing the priority.
【0007】[0007]
【実施例】図1は本発明に係る第1実施例の軸位置制御
装置を4軸すなわち4台のサーボモータを有する工作機
械に適用した場合の概念的機能ブロック図である。な
お、本第1実施例においては、便宜上、軸の制御とモー
タの制御は同一のものとみなす。図2は本発明の第1実
施例の軸位置制御装置を示すハードウェア構成図であ
り、図3は本発明の第1実施例の軸位置制御装置の動作
を示すフローチャートである。また、図4は本発明の第
1実施例の軸位置制御装置の動作タイムチャートであ
る。図1、図3および図4において、従来技術を示す図
8、図9および図10と同一番号にて示されている構成
要素についての機能・処理内容は従来技術と同一である
ので説明を省略し、本発明の本質的な部分についてのみ
を以下に説明する。図1において軸位置制御装置1には
従来技術による軸位置制御装置と共通の構成要素のほか
に、計時信号発生部が一定周期毎に生成する計時信号、
すなわち一定周期を有するハードウェアクロック信号C
LKを速度制御周期の長さ分だけ計時してその位置制御
周期内における計時回数をカウントし計時データCNT
を生成する計時回数カウント部106と、前記計時デー
タがCNT=0の場合に全てのサーボモータの位置制御
処理を行なう複数台位置制御部2と、前記複数台位置制
御部2で生成される複数の速度指令値に基づいて前記計
時データにより全てのモータの速度制御処理を順次1台
毎に行なう複数台速度制御部3とを有している。 次に
図2〜図4を用いて第1実施例の動作説明を行う。軸位
置制御装置1のハードウェア構成は図2に示すごときも
のであり、位置指令値などの転送経路であるシステムバ
スおよびシステムバスIF105、マイクロプロセッサ
101、リードオンリーメモリ(ROM)102、ラン
ダムアクセスメモリ(RAM)103、計時回数カウン
ト部106、位置検出器IF120、サーボアンプIF
130から構成される。前記計時回数カウント部106
は制御処理を識別するための時間カウンタであり、軸位
置制御装置1内におけるハードウェアクロック信号CL
Kが計時回数カウント部106に入力され速度制御周期
の時間長分計時されると最初0に設定されていたカウン
トデータを1だけインクリメントする。このカウントデ
ータは計時データCNTとしてマイクロプロセッサ10
1に転送される。計時データCNTの値の取り得る範囲
は0〜4である。この範囲は軸位置制御装置1において
1回の位置制御周期内で実行すべき位置制御処理と速度
制御処理の回数の和で決まる。本実施例においては、こ
れらの回数は、位置制御処理が1回、速度制御処理が各
軸1回ずつの計4回としているので、計時データCNT
の値の範囲を0〜4に設定するものである。また、軸位
置制御装置1における速度制御周期は1台のモータに対
する速度制御処理時間と全てのモータに対する位置制御
処理時間のうちの長い方の時間より短くならないように
決定する。マイクロプロセッサ101はこの計時データ
CNTにより予めROM102に格納された処理プログ
ラムを順次実行し、軸位置制御装置としての各種処理を
実行する。RAM103にはこの際に必要となるソフト
ウェア変数等が格納され、このRAM内の指令格納部1
04には位置/速度指令値が格納される。位置検出器I
F120は各モータに結合されている位置検出器51〜
54からの位置検出アナログ信号E1〜E4を受けて公
知技術によりデジタル化する回路121〜124で構成
される。サーボアンプIF130は各軸サーボアンプに
電流指令値Ir1 〜Ir4 を所定のタイミングにて転送
するシリアル通信IF回路131〜134にて構成され
る。FIG. 1 is a conceptual functional block diagram when the shaft position control device of the first embodiment according to the present invention is applied to a machine tool having four axes, that is, four servo motors. In the first embodiment, for the sake of convenience, the axis control and the motor control are regarded as the same. 2 is a hardware configuration diagram showing the shaft position control device of the first embodiment of the present invention, and FIG. 3 is a flow chart showing the operation of the shaft position control device of the first embodiment of the present invention. FIG. 4 is an operation time chart of the shaft position control device according to the first embodiment of the present invention. In FIGS. 1, 3 and 4, the functions and processing contents of the components indicated by the same numbers as those of FIGS. 8, 9 and 10 showing the conventional technique are the same as those of the conventional technique, and therefore the description thereof is omitted. However, only the essential parts of the present invention will be described below. 1, in addition to the components common to the shaft position control device according to the prior art, the shaft position control device 1 also includes a time signal generated by the time signal generation unit at regular intervals,
That is, the hardware clock signal C having a fixed cycle
LK is timed for the length of the speed control cycle, and the number of times of time counting within the position control cycle is counted to measure time data CNT.
And a plurality of units position control unit 2 for performing position control processing of all servo motors when the time count data is CNT = 0, and a plurality of units generated by the plurality of unit position control unit 2. A plurality of units speed control unit 3 that sequentially performs speed control processing of all the motors on the basis of the speed command value according to the time count data. Next, the operation of the first embodiment will be described with reference to FIGS. The hardware configuration of the axis position control device 1 is as shown in FIG. 2, and includes a system bus and a system bus IF 105, which is a transfer path of a position command value, a microprocessor 101, a read only memory (ROM) 102, a random access memory. (RAM) 103, time count counter 106, position detector IF 120, servo amplifier IF
It is composed of 130. The time count counting unit 106
Is a time counter for identifying control processing, and is a hardware clock signal CL in the axis position control device 1.
When K is input to the time count counting unit 106 and time is counted for the time length of the speed control cycle, the count data initially set to 0 is incremented by 1. This count data is used as time measurement data CNT by the microprocessor 10
Forwarded to 1. The range of the value of the time measurement data CNT is 0 to 4. This range is determined by the sum of the number of times of position control processing and speed control processing to be executed in one position control cycle in the axis position control device 1. In the present embodiment, the number of times is four for the position control processing once and the speed control processing once for each axis.
The value range of is set to 0-4. The speed control cycle in the axis position control device 1 is determined so as not to be shorter than the longer of the speed control processing time for one motor and the position control processing time for all motors. The microprocessor 101 sequentially executes processing programs stored in the ROM 102 in advance by using the time measurement data CNT to execute various kinds of processing as an axis position control device. The RAM 103 stores software variables and the like required at this time, and the command storage unit 1 in this RAM is stored.
A position / speed command value is stored in 04. Position detector I
F120 is a position detector 51-connected to each motor.
It is composed of circuits 121 to 124 which receive the position detection analog signals E1 to E4 from 54 and digitize them by a known technique. The servo amplifier IF130 is composed of serial communication IF circuits 131 to 134 for transferring the current command values Ir1 to Ir4 to each axis servo amplifier at a predetermined timing.
【0008】次にマイクロプロセッサ101の動作説明
を図3にて行なう。今、それぞれの軸を駆動するサーボ
モータに対するi番目の位置指令値Prm,i が所定のタ
イミングにて軸位置制御装置1に転送され、j番目の位
置制御周期にあるものとする。軸位置制御装置1の内部
では計時データCNTの更新をポーリングによりマイク
ロプロセッサ101が監視し、その値が0かどうかを判
断する(図3ステップN1)。CNT=0の場合はステ
ップN2に進み全軸に対する位置制御処理PCを開始す
る。CNT=1〜4の場合はステップN6に進み、CN
Tの値に対応するモータについての速度制御処理SCm
(m=1〜4)を実行する。今、 CNT=0であるの
でステップN2の処理であるi番目の4個の位置指令値
Prm,i(m=1〜4)を読み込む。次に従来技術と同
様に位置検出器IF120から4個の位置検出値Pam,
I,j (m=1〜4)を読み込む(図3ステップN3)。
マイクロプロセッサ101はこれらのデータから全ての
モータ(4個)に対する速度指令値Vrm,i,j (m=1
〜4)を公知の方法にて算出し(図3ステップN4)、
指令値格納部104に格納する(図3ステップN5)。
格納が終了するとj=0のCNT=0の処理である全モ
ータに対する位置制御処理PCを終了する。次にCNT
=1となると、マイクロプロセッサ101は図3中のス
テップN6以降のステップ、つまり各軸(モータ)に対
して速度制御処理を順次実行していく。まず、どの軸に
対して処理を行なうかCNTの値に応じてサーボモータ
識別添字kを決定する(図3ステップN6)。この場
合、k=CNT=1として、第1軸に対する速度制御処
理SC1を実行する。まず、従来技術と同じ方法にて第
1軸目の速度指令値Vr1,i,0 を指令値格納部104か
ら読み込む(図3ステップN7)。次に第1軸の速度検
出値Va1,i,0 を読み込む(図3ステップN8)。次に
従来技術と同様にして電流指令値Ir1 を算出する(図
3ステップN9)。この電流指令値はサーボアンプIF
131を介して第1軸用サーボアンプ31に転送される
(図3ステップN10)。この電流指令値Ir1 に基づ
いて第1軸用サーボアンプ31では公知の技術により最
終的にサーボモータ31に印加すべき各相電圧を発生す
る。この電圧の印加によりサーボモータ31には駆動ト
ルクが発生し、駆動負荷を所望の位置、速度にて駆動制
御する。マイクロプロセッサ101は電流指令値の転送
終了をもって第1軸目速度制御処理SC1を終えて、次
の計時データCNTの更新を待つ。以下、計時データC
NT=2〜4の場合には第2〜第4軸目速度制御処理S
C2〜SC4が第1軸に対する速度制御処理SC1と同
様にして実行される。上記手順にて全軸に対する位置制
御処理PCと、第1〜第4軸に対する速度制御処理SC
1〜SC4が終了すると、j=0における制御処理は全
て終了する。次の制御処理周期(j=1)においては、
j=0の制御処理と同様の手順にて位置指令値Prm,i
に基づいた全軸に対する位置制御処理PCと第1〜第4
軸に対する速度制御処理SC1〜SC4が実行される。
以降、同様にしてj=2および3の制御処理が実行され
る。j=0〜3の制御処理が終了するとjは0にリセッ
トされ、次の位置指令値Prm,i+1 の転送に備える。軸
位置制御装置1の制御動作は上述のごとく実行される。
これをタイムチャートにしたものが図4であり、同図中
Tscは速度制御周期(計時データCNT更新周期)
を、Tpcは位置制御周期を、Tprは位置指令周期を
表す。上述のように、本発明においては位置制御処理1
回につき全軸分の速度指令値が新しく算出されるので、
例えばi番目の位置指令周期中のj=2の割込処理では
新規の速度指令値としてVm,i,2 (m=1〜4)が全軸
位置制御処理PCで算出され、各軸速度制御処理SC1
〜SC4では速度指令値および速度検出値データとして
それぞれ次のデータが用いられる。 SC1・・・Vr1,i,2 および Va1,i,2 SC2・・・Vr2,i,2 および Va2,i,2 SC3・・・Vr3,i,2 および Va3,i,2 SC4・・・Vr4,i,2 および Va4,i,2 つまり、最新の位置指令値(=Prm,i )に基づく速度
指令値は全軸同じ位置制御処理において算出されるの
で、従来技術において問題とした最新の位置指令値に基
づく速度指令値更新の時間差は存在しない。つまり、同
一位置制御周期内で最新の速度指令値を用いて全てのモ
ータに対して速度制御処理を行なうことができる。ただ
し、従来技術と同様に、1回の速度制御処理においては
1軸分の電流指令値しか算出しないので、同一位置制御
周期内において各モータ間の電流指令の発生時間差は依
然として存在し、この原因による同期誤差が残る。しか
し、この時間差は、例えば第1軸と第4軸との間では3
速度制御周期Tsc分であり、位置制御周期Tpcの6
割に相当するのみである。したがって、制御周期の設定
にも依存するが従来技術における時間差の1/6程度に
小さくできる。(図4参照)。図5は上述の実施例の軸
位置制御装置についての同期運転位置指令誤差を示す図
であり、従来技術による軸位置制御装置における同期運
転位置指令誤差を説明した図11と図の見方は同じであ
る。図11と同じ同期運転位置指令値が与えられた場合
(すなわち図5における第1、第4軸の速度指令曲線は
図11のそれらと同じ場合)に前記同期運転位置指令値
に基づいた速度指令曲線が立ち上がるのは、第1軸にお
いてはi番目位置指令周期中のj=0のINT=0の処
理におけるSC1の実行直後であり、第4軸においては
i番目位置指令周期中のj=0のINT=0の処理中に
おけるSC4の実行直後である。したがって、これらの
間の時間差は上述のように実質位置制御周期Tpcの
0.6倍になる。図11の場合と同じく、加減速単位量
=1m/S・S、位置指令周期Tpr=10ms、位置
制御周期Tpc=2.5msとすると、図5の位置指令
誤差ERpは約5μmとなり、図11の場合と比べて1
/6に減少している。Next, the operation of the microprocessor 101 will be described with reference to FIG. Now, it is assumed that the i-th position command value Prm, i for the servo motor that drives each axis is transferred to the axis position control device 1 at a predetermined timing and is in the j-th position control cycle. Inside the axis position control device 1, the microprocessor 101 monitors the update of the time count data CNT by polling and determines whether the value is 0 (step N1 in FIG. 3). If CNT = 0, the process proceeds to step N2 to start the position control processing PC for all axes. If CNT = 1 to 4, proceed to Step N6, where CN
Speed control process SCm for the motor corresponding to the value of T
(M = 1 to 4) is executed. Since CNT = 0 now, the i-th four position command values Prm, i (m = 1 to 4), which is the process of step N2, are read. Next, as in the prior art, four position detection values Pam,
I, j (m = 1 to 4) is read (step N3 in FIG. 3).
From these data, the microprocessor 101 uses the speed command values Vrm, i, j (m = 1) for all the motors (four).
~ 4) is calculated by a known method (step N4 in FIG. 3),
The data is stored in the command value storage unit 104 (step N5 in FIG. 3).
When the storage is completed, the position control process PC for all motors, which is the process of CNT = 0 with j = 0, is completed. Then CNT
When = 1, the microprocessor 101 sequentially executes the speed control processing for the steps after step N6 in FIG. 3, that is, for each axis (motor). First, the servo motor identification subscript k is determined according to the value of CNT which axis is to be processed (step N6 in FIG. 3). In this case, k = CNT = 1 and the speed control process SC1 for the first axis is executed. First, the speed command value Vr1, i, 0 for the first axis is read from the command value storage unit 104 by the same method as in the prior art (step N7 in FIG. 3). Next, the speed detection value Va1, i, 0 of the first axis is read (step N8 in FIG. 3). Next, the current command value Ir1 is calculated in the same manner as in the prior art (step N9 in FIG. 3). This current command value is the servo amplifier IF
The data is transferred to the first-axis servo amplifier 31 via 131 (step N10 in FIG. 3). Based on the current command value Ir1, the first-axis servo amplifier 31 finally generates a phase voltage to be applied to the servo motor 31 by a known technique. By applying this voltage, a drive torque is generated in the servo motor 31, and the drive load is drive-controlled at a desired position and speed. The microprocessor 101 completes the first axis speed control processing SC1 upon completion of the transfer of the current command value, and waits for the next update of the time count data CNT. Below, timing data C
In the case of NT = 2-4, the 2nd-4th axis speed control processing S
C2 to SC4 are executed in the same manner as the speed control process SC1 for the first axis. In the above procedure, the position control processing PC for all axes and the speed control processing SC for the first to fourth axes
When 1 to SC4 are completed, the control process at j = 0 is completed. In the next control processing cycle (j = 1),
The position command value Prm, i is set in the same procedure as the control process for j = 0.
Position control processing PC for all axes based on
The speed control processes SC1 to SC4 for the axis are executed.
After that, similarly, the control processes of j = 2 and 3 are executed. When the control process of j = 0 to 3 is completed, j is reset to 0, and the next position command value Prm, i + 1 is prepared for transfer. The control operation of the shaft position control device 1 is executed as described above.
A time chart of this is shown in FIG. 4, in which Tsc is a speed control cycle (clock data CNT update cycle).
, Tpc represents a position control cycle, and Tpr represents a position command cycle. As described above, in the present invention, the position control processing 1
Since the speed command values for all axes are newly calculated each time,
For example, in the interrupt processing of j = 2 in the i-th position command cycle, Vm, i, 2 (m = 1 to 4) is calculated as a new speed command value by the all-axis position control processing PC, and each axis speed control is performed. Process SC1
In SC4, the following data are used as the speed command value and the speed detection value data, respectively. SC1 ... Vr1, i, 2 and Va1, i, 2 SC2 ... Vr2, i, 2 and Va2, i, 2 SC3 ... Vr3, i, 2 and Va3, i, 2 SC4 ... Vr4 , i, 2 and Va4, i, 2 In other words, the speed command value based on the latest position command value (= Prm, i) is calculated in the same position control process for all axes, so the latest position problematic in the prior art There is no time difference between updating the speed command value based on the command value. That is, the speed control processing can be performed for all the motors using the latest speed command value within the same position control cycle. However, as in the prior art, the current command value for only one axis is calculated in one speed control process, so there is still a difference in the generation time of the current command between the motors within the same position control cycle. Synchronization error due to remains. However, this time difference is, for example, 3 between the first axis and the fourth axis.
This is the speed control period Tsc, which is 6 of the position control period Tpc.
It is only worth the price. Therefore, although it depends on the setting of the control cycle, it can be reduced to about 1/6 of the time difference in the conventional technique. (See Figure 4). FIG. 5 is a diagram showing a synchronous operating position command error for the shaft position control device of the above-described embodiment, and the view of the diagram is the same as that of FIG. 11 for explaining the synchronous operating position command error in the shaft position control device according to the prior art. is there. When the same synchronous operation position command value as in FIG. 11 is given (that is, the speed command curves of the first and fourth axes in FIG. 5 are the same as those in FIG. 11), the speed command based on the synchronous operation position command value. The curve rises immediately after execution of SC1 in the process of INT = 0 of j = 0 in the i-th position command cycle in the first axis, and j = 0 in the i-th position command cycle in the fourth axis. Immediately after the execution of SC4 during the processing of INT = 0. Therefore, the time difference between them is 0.6 times the actual position control period Tpc as described above. As in the case of FIG. 11, when the acceleration / deceleration unit amount is 1 m / S · S, the position command cycle Tpr is 10 ms, and the position control cycle Tpc is 2.5 ms, the position command error ERp in FIG. 5 is about 5 μm. 1 compared to
It has decreased to / 6.
【0009】上記の第1実施例における計時データCN
Tの代わりにハードウェア割込信号を使っても本発明の
目的を達成することができる。図6はこの観点から為さ
れた本発明の第2実施例の軸位置制御装置1を示すハー
ドウェア構成図であり、図7は本発明の第2実施例の軸
位置制御装置1の動作タイムチャートである。以下に示
す本発明の第2実施例の説明において言及されない事項
については上述の本発明の第1の実施例と同じである。
図6において、ハードウェアクロック信号CLKから位
置制御/速度制御周期に対応する割込信号を発生する割
込信号発生部107では、少なくとも図4における速度
制御周期Tscに等しい周期の割込信号Int_Lと、
これと同期して図4における位置制御周期Tpcに等し
い周期の割込信号Int_Hが作られる。最新の位置指
令値に基づく速度指令値を全軸同じ位置制御処理におい
て実行するように、つまり位置制御処理割込処理が速度
制御割込処理にて中断されることがないようにするため
に割込信号Int_Hの割込レベル(割込プライオリテ
ィ)は割込信号Int_Lよりも高く設定しておく。こ
れによりInt_HとInt_Lが競合してもInt_
Hの割込が優先され優先処理が保証される。したがっ
て、これらの割込信号Int_HおよびInt_Lを割
込信号選択部108に入力し、後述するモータ台数格納
部からの情報に応じて、優先度を決め速度制御処理用割
込信号INTvおよび位置制御用割込信号INTpとし
てマイクロプロセッサ101に入力し、それぞれ上記第
1実施例におけるCNT=0およびCNT=1〜4の制
御処理を行なうようにすると、第1実施例と同じ効果が
得られる。この際、Int_HとInt_Lは同期関係
にあるので、全軸に対する位置制御処理PCが実行され
る速度制御周期における速度制御処理はダミー処理とし
実質どの軸に対する速度制御処理も行なわないようにし
ておく(このダミー速度制御処理をSC0と表す)。つ
まり、PCが実行される速度制御周期内における速度制
御割込処理SC0は割込終了処理のみを、SC1からS
C4はそれぞれの軸に対応した図3中のステップN6〜
N10と割込終了処理を行なうことになる。以上の動作
をタイムチャートに表したものが図7(a)である。ま
た、本実施例においては、割込信号選択部の選択結果に
より実行する軸制御を多軸位置制御と1軸位置制御とで
選択可能である。つまり、1軸位置制御装置において
は、より高い制御性能を得るための方策として各制御周
期を短くする他に、マイナーループである速度制御ルー
プの実行を位置制御ループよりも優先させて、速度制御
処理用割込信号INTvの割込レベルを位置制御用割込
信号INTpの割込レベルよりも高くしているのが普通
である。本発明による複数軸を制御する軸位置制御装置
をこのような1軸位置制御装置としても使用できるよう
にするために、RAM103の中に制御すべきモータ台
数を格納するモータ台数格納部109を設け公知の方法
により与えられる前記モータ台数データをここに格納し
ておく。割込信号選択部108は前記モータ台数が1の
場合には割込信号発生部107で生成される前記2種の
割込信号Int_HおよびInt_Lと、マイクロプロ
セッサ101へ入力される前記2種の割込信号INTv
およびINTpとの関係を決定するものである。具体的
には、前記モータ台数データが1の場合は位置制御実行
用割込信号INTpの優先度を速度制御実行用割込信号
INTvの優先度よりも低くするためにInt_HをI
NTvにInt_LをINTpとし、前記モータ台数デ
ータが複数台の場合は位置制御実行用割込信号INTp
の優先度を速度制御実行用割込信号INTvの優先度よ
りも高くするためにInt_LをINTvにInt_H
をINTpとしてマイクロプロセッサ101に入力する
ものである。図7(b)にモータ台数データが1の場合
の動作のタイムチャートを示す。図7(b)において、
SC1〜SC4は単一のモータに対して行なわれる処理
順序を示し、速度制御処理は位置制御処理に優先して実
行され、i番目に行なわれる速度制御処理はi−1番目
の速度指令値が使用されるが、短い制御周期で単一のモ
ータを連続的に制御するので、大きな位置指令誤差は発
生しない。また、速度制御処理は位置制御処理に優先し
て実行されるので図7(a)のようなダミー処理SC0
は不要となる。このように、割込信号選択部で処理の優
先順位を選択することによって、用途に応じた正確な多
軸制御を行なうと共に、同一の制御装置によって1軸制
御も行なうことが可能であり、制御装置の汎用性を向上
することができる。Timekeeping data CN in the first embodiment described above
The object of the present invention can be achieved by using a hardware interrupt signal instead of T. FIG. 6 is a hardware configuration diagram showing the shaft position control device 1 of the second embodiment of the present invention made from this viewpoint, and FIG. 7 is an operation time of the shaft position control device 1 of the second embodiment of the present invention. It is a chart. Items not mentioned in the following description of the second embodiment of the present invention are the same as those of the first embodiment of the present invention described above.
6, in the interrupt signal generator 107 that generates an interrupt signal corresponding to the position control / speed control cycle from the hardware clock signal CLK, an interrupt signal Int_L having a cycle at least equal to the speed control cycle Tsc in FIG. ,
In synchronization with this, an interrupt signal Int_H having a cycle equal to the position control cycle Tpc in FIG. 4 is generated. To ensure that the speed command value based on the latest position command value is executed in the same position control process for all axes, that is, the position control process interrupt process is not interrupted by the speed control interrupt process. The interrupt level (interrupt priority) of the interrupt signal Int_H is set higher than that of the interrupt signal Int_L. As a result, even if Int_H and Int_L compete with each other, Int_
The H interrupt is prioritized and the priority processing is guaranteed. Therefore, these interrupt signals Int_H and Int_L are input to the interrupt signal selection unit 108, the priority is determined according to the information from the motor number storage unit, which will be described later, and the speed control processing interrupt signal INTv and the position control signal. When the interrupt signal INTp is input to the microprocessor 101 and the control processing of CNT = 0 and CNT = 1 to 4 in the first embodiment is performed, the same effect as in the first embodiment can be obtained. At this time, since Int_H and Int_L are in a synchronous relationship, the speed control process in the speed control cycle in which the position control process PC for all axes is executed is a dummy process and substantially no speed control process is performed for any axis ( This dummy speed control process is expressed as SC0). That is, the speed control interrupt processing SC0 in the speed control cycle in which the PC is executed performs only the interrupt end processing, from SC1 to S.
C4 is the step N6 to FIG. 3 corresponding to each axis.
The interrupt end process is performed with N10. FIG. 7A shows the above operation in a time chart. Further, in the present embodiment, the axis control executed based on the selection result of the interrupt signal selection unit can be selected from the multi-axis position control and the single-axis position control. That is, in the one-axis position control device, in addition to shortening each control cycle as a measure for obtaining higher control performance, execution of the speed control loop, which is a minor loop, is prioritized over the position control loop, and speed control is performed. Usually, the interrupt level of the processing interrupt signal INTv is set higher than the interrupt level of the position control interrupt signal INTp. In order to enable the axis position control device for controlling a plurality of axes according to the present invention to be used as such a one-axis position control device, the RAM 103 is provided with a motor number storage unit 109 for storing the number of motors to be controlled. The number-of-motors data given by a known method is stored here. When the number of motors is 1, the interrupt signal selection unit 108 outputs the two types of interrupt signals Int_H and Int_L generated by the interrupt signal generation unit 107 and the two types of interrupt signals input to the microprocessor 101. Included signal INTv
And INTp. Specifically, when the number-of-motors data is 1, Int_H is set to I in order to lower the priority of the position control execution interrupt signal INTp than the speed control execution interrupt signal INTv.
Int_L is set to INTp in NTv, and when the number of motor data is plural, the position control execution interrupt signal INTp
Int_L to INTv in order to make the priority level of INTv higher than that of the speed control execution interrupt signal INTv.
Is input to the microprocessor 101 as INTp. FIG. 7B shows a time chart of the operation when the number-of-motors data is 1. In FIG. 7 (b),
SC1 to SC4 indicate the processing order to be executed for a single motor, the speed control processing is executed prior to the position control processing, and the i-th speed control processing is performed with the i-1th speed command value. Although used, it does not cause a large position command error because it continuously controls a single motor with a short control cycle. Further, since the speed control process is executed prior to the position control process, the dummy process SC0 as shown in FIG.
Is unnecessary. In this way, by selecting the priority of processing by the interrupt signal selection unit, it is possible to perform accurate multi-axis control according to the application and also perform single-axis control by the same control device. The versatility of the device can be improved.
【0010】また、これまでに示した本発明の実施例以
外にも本発明の主旨を逸脱しない範囲での下記のような
変形を行なってもよい。 A1.制御すべきサーボモータ台数を設定するモータ台
数設定部と、サーボモータ1台についての位置制御1回
分および速度制御1回分の処理時間を格納する処理時間
格納部と、前記サーボモータ台数と前記処理時間から位
置制御周期Tpcを決定する位置制御周期決定部とを有
し、サーボモータ台数に応じて位置制御周期Tpcを変
えることを特徴とする軸位置制御装置である。位置制御
周期決定部では次のようにして位置制御周期Tpcを決
める。図7(a)の場合はTpc=Tsc*(モータ台
数+1)、ここでTscは(モータ1台分の位置制御処
理時間*モータ台数)とモータ1台分の速度制御処理時
間のうちの長い方の時間に余裕時間を加えて得られる速
度制御周期である。図7(b)の場合はTpc=(Ts
c*モータ台数)とする。 A2.制御すべきサーボモータ台数を格納するサーボモ
ータ台数格納部と、サーボモータ1台についての位置制
御1回分および速度制御1回分の処理時間を格納する処
理時間格納部と、位置指令周期を格納する位置指令周期
格納部と、前記サーボモータ台数と前記処理時間から位
置指令1周期内における位置制御及び速度制御回数を決
定する制御回数決定部とを有し、サーボモータ台数に応
じて位置指令周期Tprの1周期内における位置制御及
び速度制御回数を変えることを特徴とする軸位置制御装
置である。制御回数決定部においては予め与えられる位
置指令周期Tprと上記A1項に示した、モータ台数に
よって決まる位置制御周期Tpcから位置指令1周期内
における位置制御及び速度制御回数を決定する。Besides the above-described embodiments of the present invention, the following modifications may be made without departing from the spirit of the present invention. A1. A motor number setting unit for setting the number of servo motors to be controlled, a processing time storage unit for storing processing time for one position control and one speed control for one servo motor, the number of servo motors and the processing time. To a position control cycle determining unit that determines the position control cycle Tpc, and the position control cycle Tpc is changed according to the number of servo motors. The position control cycle determination unit determines the position control cycle Tpc as follows. In the case of FIG. 7A, Tpc = Tsc * (number of motors + 1), where Tsc is the longer of (position control processing time for one motor * number of motors) and speed control processing time for one motor. This is a speed control cycle obtained by adding a margin time to the other time. In the case of FIG. 7B, Tpc = (Ts
c * number of motors). A2. Servo motor number storage section for storing the number of servo motors to be controlled, processing time storage section for storing the processing time for one position control and one speed control for one servo motor, and position for storing the position command cycle A command cycle storage unit and a control count determination unit that determines the number of position control and speed control within one cycle of the position command from the number of servo motors and the processing time are provided, and the position command cycle Tpr The axis position control device is characterized by changing the number of times of position control and speed control within one cycle. The control frequency determining unit determines the number of times of position control and speed control in one cycle of the position command from the position command cycle Tpr given in advance and the position control cycle Tpc determined by the number of motors shown in the item A1.
【発明の効果】以上述べてきたように、本発明によれ
ば、1台のマイクロプロセッサが有する複数台位置制御
部は計時回数カウント部からのデータに応じて同一の位
置制御周期において最新の位置指令値に基づいて全ての
モータに対する速度指令算出を行ない、複数台速度制御
部は前記速度指令値に基づいて全てのモータの速度制御
処理を順次行なうので、処理時間の時間差による指令値
レベルで生じる大きな同期運転位置指令誤差を回避でき
る。したがって実際に軸が移動する指令軌跡を理想指令
軌跡に近付けることが可能となり、加工精度の向上を行
なうことができる。また、割込信号選択部が制御するモ
ータの数に応じて外部から入力される割込信号を選択的
に出力し、複数台位置制御部によるモータの位置制御処
理と、複数台速度制御部による速度制御処理とを同一位
置制御周期内で行なうので、ハードウェアの割込信号を
用いて、処理時間の時間差による指令値レベルで生じる
大きな同期運転位置指令誤差を回避できる。したがって
実際に軸が移動する指令軌跡を理想指令軌跡に近付ける
ことが可能となり、ハードウェアクロックを利用した制
御によって加工精度の向上を行なうことができる。さら
に、制御すべきモータ台数が1の場合には前記割込信号
選択部が入力される割込信号の内、位置制御を実行する
位置制御実行用割込信号の優先度を速度制御を実行する
速度制御実行用割込信号の優先度よりも低くし、前記モ
ータ台数が複数の場合には前記位置制御実行用割込信号
の優先度を速度制御実行用割込信号の優先度よりも高く
設定するので、処理時間の時間差による指令値レベルで
生じる大きな同期運転位置指令誤差を回避できると共
に、優先度を変更することによって複数軸を制御する位
置制御装置を1軸位置制御装置として使用することが可
能になり、制御装置の汎用性を向上することができる。As described above, according to the present invention, the position control section of a plurality of units of one microprocessor has the latest position in the same position control cycle according to the data from the time count counting section. The speed command is calculated for all the motors based on the command value, and the multiple-unit speed control unit sequentially performs the speed control process for all the motors based on the speed command value. A large synchronous operation position command error can be avoided. Therefore, it becomes possible to bring the command locus along which the axis actually moves closer to the ideal command locus, and the machining accuracy can be improved. The interrupt signal selection unit selectively outputs an interrupt signal input from the outside according to the number of motors controlled, and the position control processing of the motor by the multiple unit position control unit and the multiple unit speed control unit Since the speed control process is performed within the same position control cycle, a large synchronous operation position command error caused by a command value level due to a time difference in processing time can be avoided by using a hardware interrupt signal. Therefore, it becomes possible to bring the command locus in which the axis actually moves closer to the ideal command locus, and the machining accuracy can be improved by the control using the hardware clock. Further, when the number of motors to be controlled is 1, among the interrupt signals input to the interrupt signal selection unit, the priority of the position control execution interrupt signal for executing position control is executed for speed control. The priority of the speed control execution interrupt signal is set lower than that of the speed control execution interrupt signal, and when the number of motors is plural, the priority of the position control execution interrupt signal is set higher than the priority of the speed control execution interrupt signal. Therefore, it is possible to avoid a large synchronous operation position command error that occurs in the command value level due to the time difference in processing time, and use a position control device that controls multiple axes by changing the priority as a one-axis position control device. Therefore, the versatility of the control device can be improved.
【図1】本発明に係る軸位置制御装置の第1実施例を示
す概念的機能ブロック図である。FIG. 1 is a conceptual functional block diagram showing a first embodiment of an axis position control device according to the present invention.
【図2】本発明に係る軸位置制御装置の第1実施例を示
すハードウェア構成図である。FIG. 2 is a hardware configuration diagram showing a first embodiment of an axis position control device according to the present invention.
【図3】本発明に係る軸位置制御装置の第1実施例の動
作を示すフローチャートである。FIG. 3 is a flowchart showing the operation of the first embodiment of the shaft position control device according to the present invention.
【図4】本発明に係る軸位置制御装置の第1実施例の動
作タイムチャートである。FIG. 4 is an operation time chart of the first embodiment of the shaft position control device according to the present invention.
【図5】本発明に係る実施例の軸位置制御装置について
の位置指令同期誤差を示す図である。FIG. 5 is a diagram showing a position command synchronization error in the shaft position control device according to the embodiment of the present invention.
【図6】本発明に係る軸位置制御装置の第2実施例を示
すハードウェア構成図である。FIG. 6 is a hardware configuration diagram showing a second embodiment of the shaft position control device according to the present invention.
【図7】本発明に係る軸位置制御装置の第2実施例の動
作タイムチャートである。FIG. 7 is an operation time chart of the second embodiment of the shaft position control device according to the invention.
【図8】従来技術の軸位置制御装置を示す概念的機能ブ
ロック図である。FIG. 8 is a conceptual functional block diagram showing a conventional shaft position control device.
【図9】従来技術の軸位置制御装置の動作を示すフロー
チャートである。FIG. 9 is a flowchart showing the operation of a conventional shaft position control device.
【図10】従来技術の軸位置制御装置の動作タイムチャ
ートである。FIG. 10 is an operation time chart of a conventional shaft position control device.
【図11】従来技術の軸位置制御装置についての同期運
転位置指令誤差を示す図である。FIG. 11 is a diagram showing a synchronous operation position command error for a conventional shaft position control device.
1 軸位置制御装置 2 複数台位置制御部 3 複数台速度制御部 13 位置検出部 16 速度検出部 21〜24 トルク制御装置 31 サーボアンプ 41 サーボモータ 51〜54 位置検出器 106 計時回数カウント部 1 Axis Position Control Device 2 Multiple Units Position Control Unit 3 Multiple Units Speed Control Unit 13 Position Detection Unit 16 Speed Detection Unit 21-24 Torque Control Device 31 Servo Amplifier 41 Servo Motor 51-54 Position Detector 106 Time Counting Unit
Claims (2)
とも1台以上のモータの位置制御と速度制御とを実行す
る軸位置制御装置において、 一定周期毎に計時信号を生成する計時信号発生部と、 位置制御周期内での前記計時信号発生回数をカウントし
て一定間隔で計時データを生成する計時回数カウント部
と、 所定の位置制御周期において前記計時回数カウント部が
最初の前記計時データを発生した時に全てのモータに関
して対応する前記位置指令値に基づいて速度指令値を算
出する位置制御処理を行なう複数台位置制御部と、 前記複数台位置制御部で生成された速度指令値に基づい
て前記計時回数カウント部で発生する前記計時データに
応じて前記位置制御周期内で全てのモータに関して速度
制御処理を順次行なう複数台速度制御部と、 を有することを特徴とする軸位置制御装置。1. A shaft position control device that executes position control and speed control of at least one motor based on a position command value that is input, and a time signal generation unit that generates a time signal at regular intervals. , A time count counter that counts the number of times the time count signal is generated in a position control cycle and generates time count data at a fixed interval, and the time count count section generates the first time count data in a predetermined position control cycle Sometimes, a plurality of unit position control units that perform position control processing to calculate a speed command value based on the corresponding position command values for all motors, and the timekeeping based on the speed command values generated by the plurality of unit position control units. A plurality of speed control units that sequentially perform speed control processing for all motors within the position control cycle in accordance with the time count data generated by the frequency counting unit; Axis position control apparatus characterized by having.
とも1台以上のモータの位置制御と速度制御を実行する
軸位置制御装置において、 周期の異なる複数の割込信号を生成する割込信号発生部
と、 制御すべきモータ台数データを格納するモータ台数格納
部と、 前記モータ台数格納部の格納内容に応じて前記割込信号
の中から位置制御を実行する位置制御実行用割込信号と
速度制御を実行する速度制御実行用割込信号との選択を
行ない優先順位を付けて出力する割込信号選択部と、 位置制御実行用割込信号が発生した場合に所定の位置制
御周期内で全てのモータの位置制御処理を行なう複数台
位置制御部と、 速度制御実行用割込信号が発生した場合に前記位置制御
周期内で全てのモータの速度制御処理を順次行なう複数
台速度制御部と、 を有し、 前記割込信号選択部は前記モータ台数が1の場合には前
記位置制御実行用割込信号の優先度を速度制御実行用割
込信号の優先度よりも低くし、前記モータ台数が複数の
場合には前記位置制御実行用割込信号の優先度を速度制
御実行用割込信号の優先度よりも高くすることを特徴と
する軸位置制御装置。2. An axis position control device for executing position control and speed control of at least one motor based on an input position command value, and generating an interrupt signal for generating a plurality of interrupt signals with different cycles. Section, a motor number storing section for storing data on the number of motors to be controlled, and a position control execution interrupt signal and speed for executing position control from the interrupt signals according to the contents stored in the motor number storing section. An interrupt signal selection section that selects a speed control execution interrupt signal to execute control and outputs with prioritization, and if a position control execution interrupt signal occurs, all within a predetermined position control cycle. A plurality of unit position control section for performing position control processing of the motor, and a plurality of unit speed control section for sequentially performing speed control processing of all the motors within the position control cycle when a speed control execution interrupt signal is generated, To If the number of motors is 1, the interrupt signal selection unit lowers the priority of the position control execution interrupt signal below the priority of the speed control execution interrupt signal. In the case of a plurality of axes, the position control execution interrupt signal has a higher priority than the speed control execution interrupt signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6130043A JPH07334217A (en) | 1994-06-13 | 1994-06-13 | Axial position controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6130043A JPH07334217A (en) | 1994-06-13 | 1994-06-13 | Axial position controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07334217A true JPH07334217A (en) | 1995-12-22 |
Family
ID=15024717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6130043A Pending JPH07334217A (en) | 1994-06-13 | 1994-06-13 | Axial position controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07334217A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002176792A (en) * | 2000-12-08 | 2002-06-21 | Fuji Electric Co Ltd | Vector controller |
JP2003058253A (en) * | 2001-08-17 | 2003-02-28 | Yaskawa Electric Corp | Servo controller |
KR100455432B1 (en) * | 1998-08-28 | 2005-05-19 | 엘지산전 주식회사 | Multi-axis Synchronous Operation Control Device |
JP2006262636A (en) * | 2005-03-17 | 2006-09-28 | Yaskawa Electric Corp | Multi-axial servo driver |
JP2008017553A (en) * | 2006-07-03 | 2008-01-24 | Delta Electronics Inc | Ac servo drive device integrated with three devices |
JP2010252615A (en) * | 2009-03-27 | 2010-11-04 | Juki Corp | Method of controlling a plurality of servomotors |
-
1994
- 1994-06-13 JP JP6130043A patent/JPH07334217A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100455432B1 (en) * | 1998-08-28 | 2005-05-19 | 엘지산전 주식회사 | Multi-axis Synchronous Operation Control Device |
JP2002176792A (en) * | 2000-12-08 | 2002-06-21 | Fuji Electric Co Ltd | Vector controller |
JP2003058253A (en) * | 2001-08-17 | 2003-02-28 | Yaskawa Electric Corp | Servo controller |
JP2006262636A (en) * | 2005-03-17 | 2006-09-28 | Yaskawa Electric Corp | Multi-axial servo driver |
JP4683325B2 (en) * | 2005-03-17 | 2011-05-18 | 株式会社安川電機 | Multi-axis motor control system |
JP2008017553A (en) * | 2006-07-03 | 2008-01-24 | Delta Electronics Inc | Ac servo drive device integrated with three devices |
JP2010252615A (en) * | 2009-03-27 | 2010-11-04 | Juki Corp | Method of controlling a plurality of servomotors |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4528632A (en) | Industrial articulated robot linear interpolation control device | |
US4609855A (en) | Adaptive servomotor control | |
CN108621153B (en) | Control system, controller and control method | |
JP2935706B2 (en) | Machining program correction method | |
US6278902B1 (en) | Robot control method and robot control system | |
JPH07334217A (en) | Axial position controller | |
KR920002760B1 (en) | Speed controller | |
US5449875A (en) | Method of controlling spot welding robot | |
US11262721B2 (en) | Automatic optimization of the parameterization of a movement controller | |
KR970002259B1 (en) | Method for controlling servomotor | |
JPH08339212A (en) | Method for return to absolute origin in industrial controller | |
JPH0250482B2 (en) | ||
JPH081564A (en) | Robot control device | |
US5162714A (en) | Numerical control device for transfer machines | |
JP2000339036A (en) | Positioning controller | |
JPH01177885A (en) | Positioning method for motor | |
JPH07104705B2 (en) | Numerical control device | |
JPH0778031A (en) | Control method for servomotor | |
KR100505046B1 (en) | How to improve the performance of PL using positioning module | |
JPS61288982A (en) | Method of controlling robot with visual sensor | |
JP2629758B2 (en) | Trajectory correction method | |
JPH0776890B2 (en) | Tracking control method between two servo systems | |
JPH04355682A (en) | Positioning device | |
JPH11167410A (en) | Robot controller for automatically setting operation period | |
JPH05108128A (en) | Positioning completion confirming system |