Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3130426B2 - Motor control device - Google Patents
[go: Go Back, main page]

JP3130426B2 - Motor control device - Google Patents

Motor control device

Info

Publication number
JP3130426B2
JP3130426B2 JP06057412A JP5741294A JP3130426B2 JP 3130426 B2 JP3130426 B2 JP 3130426B2 JP 06057412 A JP06057412 A JP 06057412A JP 5741294 A JP5741294 A JP 5741294A JP 3130426 B2 JP3130426 B2 JP 3130426B2
Authority
JP
Japan
Prior art keywords
command
command signal
motor
signal
acceleration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP06057412A
Other languages
Japanese (ja)
Other versions
JPH07271441A (en
Inventor
浩二 江場
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.)
Okuma Corp
Original Assignee
Okuma 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 Okuma Corp filed Critical Okuma Corp
Priority to JP06057412A priority Critical patent/JP3130426B2/en
Publication of JPH07271441A publication Critical patent/JPH07271441A/en
Application granted granted Critical
Publication of JP3130426B2 publication Critical patent/JP3130426B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Control Of Velocity Or Acceleration (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Position Or Direction (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、モータの位置または
速度指令が通信によって入力されるモータ制御装置に関
するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a motor control device to which a position or speed command of a motor is input by communication.

【0002】[0002]

【従来の技術】図4は、従来技術を用いたモータ制御装
置の一例を示すブロック図であり、図5は、図4の通信
制御部10、指令切替え部12、加減速演算部14にお
ける処理手順を示す図である。
2. Description of the Related Art FIG. 4 is a block diagram showing an example of a motor control device using the prior art. FIG. 5 is a processing diagram of a communication control unit 10, a command switching unit 12, and an acceleration / deceleration calculation unit 14 in FIG. It is a figure showing a procedure.

【0003】図示しない上位制御回路は、所定周期Tc
毎にモータの位置または速度の指令信号をモータ制御装
置に対して出力する回路である。そして、上位制御回路
からの指令信号(以下位置指令として説明する。)は、
通信回線を介して指令周期Tc 毎に通信制御部10に入
力される(S21)。
An upper control circuit (not shown) has a predetermined period Tc
This is a circuit that outputs a command signal of the position or speed of the motor to the motor control device every time. A command signal (hereinafter, described as a position command) from the host control circuit is
It is input to the communication control unit 10 via the communication line at every command cycle Tc (S21).

【0004】通信制御部10は、上位制御回路からの位
置指令を受信して、これを加減速演算部14及びメモリ
30に供給する回路である。また通信エラーが発生した
場合にはこれを検出し、所定のアラーム信号ALARM を指
令切替え部12に出力する。k 回目の指令周期におい
て、通信制御部10が受信した位置指令をPCMD(k) とす
ると、受信が正常であれば(S22)、位置指令PCMD
(k) は指令切替え部12を通して加減速演算部14の入
力指令PC(k) となる(S23)。
The communication control unit 10 is a circuit that receives a position command from a higher-level control circuit and supplies it to the acceleration / deceleration calculation unit 14 and the memory 30. If a communication error has occurred, it is detected and a predetermined alarm signal ALARM is output to the command switching unit 12. In the k-th command cycle, if the position command received by the communication control unit 10 is PCMD (k), if the reception is normal (S22), the position command PCMD
(k) becomes the input command PC (k) of the acceleration / deceleration calculation unit 14 through the command switching unit 12 (S23).

【0005】加減速演算部14は、加減速演算として後
述する移動平均処理を行う回路である。そして、この移
動平均処理によって、入力された入力指令PC(k) の加速
度成分を抑制し(S25,S26)、位置制御演算部1
6の制御目標指令としての目標位置指令PREF(k) を出力
する(S26)。上位制御回路から送信される位置指令
PCMD(k) の加速度成分が、モータ20が実際に出力不可
能な加速度を有している場合には、モータの制御モデル
が非線形になり安定したモータ制御が困難になってしま
う。そこで、上記加減速演算部14は、入力指令PC(k)
の加速度成分を抑制して、常に安定したモータ制御を可
能としている。
The acceleration / deceleration calculation section 14 is a circuit for performing a moving average process described later as acceleration / deceleration calculation. The moving average processing suppresses the acceleration component of the input command PC (k) (S25, S26).
A target position command PREF (k) as the control target command of No. 6 is output (S26). Position command sent from host control circuit
If the acceleration component of PCMD (k) has an acceleration that the motor 20 cannot actually output, the control model of the motor becomes non-linear and stable motor control becomes difficult. Therefore, the acceleration / deceleration calculation unit 14 receives the input command PC (k)
, The acceleration component is suppressed, and stable motor control is always possible.

【0006】位置制御演算部16は、モータ20に取付
けられた位置センサ22からモータの位置P(k)を読み取
り、目標位置指令PREF(k) にモータの位置P(k)を一致さ
せるべく一般に良く知られた位置制御の手法を用い、モ
ータ20に必要な電流指令値CREF(k) を演算する。そし
て得られた電流指令値CREF(k) をインバータ18に供給
する。
The position control calculation unit 16 reads the position P (k) of the motor from a position sensor 22 attached to the motor 20 and generally adjusts the position P (k) of the motor to the target position command PREF (k). A current command value CREF (k) required for the motor 20 is calculated using a well-known position control method. Then, the obtained current command value CREF (k) is supplied to the inverter 18.

【0007】インバータ18は、電流指令値CREF(k) に
対応するモータ駆動電流をモータ20に供給し、モータ
20の位置は、目標位置指令PREF(k) に一致するように
制御される。
The inverter 18 supplies a motor drive current corresponding to the current command value CREF (k) to the motor 20, and the position of the motor 20 is controlled so as to match the target position command PREF (k).

【0008】一方、受信時に通信エラーが発生して通信
制御部10が位置指令PCMD(k) を受信できなかった場合
には(S22)、通信制御部10は所定のアラーム信号
ALARM を指令切替え部12に出力する。指令切替え部1
2の入力は、このアラーム信号ALARM によってメモリ3
0からの出力に切り替る。
On the other hand, if a communication error occurs during reception and the communication control unit 10 cannot receive the position command PCMD (k) (S22), the communication control unit 10 outputs a predetermined alarm signal.
ALARM is output to the command switching unit 12. Command switching unit 1
2 is input to memory 3 by this alarm signal ALARM.
Switch to output from 0.

【0009】メモリ30は、前回の指令周期における位
置指令PCMD(k-1) を記憶しており、通信エラーが発生し
た場合には、指令切替え部12を介してこの位置指令PC
MD(k-1) を、加減速演算部14に入力指令PC(k) として
供給する。これにより入力指令PC(k) は、入力指令PC(k
-1) と同一の値となる。一旦、通信エラーが発生する
と、位置指令の速度成分が0となりモータが停止するま
での減速期間中、メモリ30からは位置指令PCMD(k-1)
が固定的に出力され続ける(S24)。
The memory 30 stores the position command PCMD (k-1) in the previous command cycle. If a communication error occurs, the position command PCMD (k-1) is transmitted via the command switching unit 12.
MD (k-1) is supplied to the acceleration / deceleration calculation unit 14 as an input command PC (k). As a result, the input command PC (k) becomes the input command PC (k
This is the same value as -1). Once a communication error occurs, the position command PCMD (k-1) is read from the memory 30 during the deceleration period until the speed component of the position command becomes 0 and the motor stops.
Is continuously output in a fixed manner (S24).

【0010】次に、加減速演算部14で実施される加減
速処理について説明する。
Next, the acceleration / deceleration processing performed by the acceleration / deceleration calculation section 14 will be described.

【0011】加減速演算部14では、移動平均と呼ばれ
る数学的手法を用いて加減速演算を実施する。この移動
平均化処理は、入力指令PC(k) の過去n回分の平均を次
式(1)で計算することにより、加減速時定数Tc×n
における加減速結果として、目標位置指令PREF(k) を出
力するものである。
The acceleration / deceleration calculation unit 14 performs an acceleration / deceleration calculation using a mathematical method called a moving average. In this moving averaging process, the average of the past n times of the input command PC (k) is calculated by the following equation (1), so that the acceleration / deceleration time constant Tc × n
The target position command PREF (k) is output as the acceleration / deceleration result in.

【0012】[0012]

【数1】 PREF(k) = { PC(k) + PC(k-1) + PC(k-2) + … + PC(k-n+1) } /n (1) 演算に際しては、過去n回の入力指令値を格納する加減
速処理用バッファとして、指令周期毎に更新されるBUF1
(1) からBUF1(n) を使用する。この加減速処理用バッフ
ァは、入力指令PC(k) が通信制御部10又はメモリ30
から供給されるに伴って、そのBUF1(1) からBUF1(n) の
内容が更新されている(S25)。なお、図5のS25
では、このバッファ内容の更新についてすべてのバッフ
ァでデータの移動があるように記述してあるが、物理的
なデータの移動のないリングバッファを用いている。
PREF (k) = {PC (k) + PC (k-1) + PC (k-2) +... + PC (k-n + 1)} / n (1) BUF1 that is updated every command cycle as a buffer for acceleration / deceleration processing that stores n input command values
Use BUF1 (n) from (1). The buffer for acceleration / deceleration processing stores the input command PC (k) when the communication control unit 10 or the memory 30
, The contents of BUF1 (1) to BUF1 (n) are updated (S25). Note that S25 in FIG.
In this document, this buffer content is updated such that data is moved in all buffers, but a ring buffer is used in which physical data does not move.

【0013】[0013]

【発明が解決しようとする課題】モータの位置または速
度指令を通信によって入力するモータ制御装置において
は、通信エラーの発生によって過渡的に正規の指令信号
が受信できない状況が発生する。
In a motor control device which inputs a position or speed command of a motor by communication, a situation occurs where a normal command signal cannot be received transiently due to the occurrence of a communication error.

【0014】上位制御回路は、複数のモータ制御装置に
対し、それぞれの位置指令の位置座標が、目標とする合
成輪郭軌跡上を移動するよう同期した指令をそれぞれの
モータ制御装置に出力している。この場合に、1台のモ
ータ制御装置に通信エラーが発生すると、上述のように
メモリ30に記憶された前回の位置指令PCMD(k-1) が固
定的に出力され、所定期間後にそのモータが停止する。
The higher-level control circuit outputs to the respective motor control devices a command in which the position coordinates of the respective position commands are synchronized with the plurality of motor control devices so as to move on the target composite contour trajectory. . In this case, if a communication error occurs in one motor control device, the previous position command PCMD (k-1) stored in the memory 30 is fixedly output as described above, and the motor is started after a predetermined period. Stop.

【0015】しかしながら、通信エラーの発生しない他
方のモータはすぐには停止しないため、通信エラーの発
生によって各モータの位置座標を合成した軌跡が目標軌
跡と大きくずれてしまうという問題があった。
However, since the other motor that does not cause a communication error does not stop immediately, there is a problem that the trajectory obtained by synthesizing the position coordinates of each motor greatly deviates from the target trajectory due to the occurrence of the communication error.

【0016】これを防ぐためには通信の信頼性を向上さ
せる方法がある。ところが、通信手段の物理層自身にデ
ータの訂正機能を付加する等の対策では、装置のコスト
がアップし、更に指令信号等の転送スピードが低下する
ため、通信の信頼性向上の効果が薄れてしまう。
To prevent this, there is a method for improving the reliability of communication. However, measures such as adding a data correction function to the physical layer itself of the communication means increase the cost of the device and further reduce the transfer speed of command signals and the like, so that the effect of improving the reliability of communication is diminished. I will.

【0017】一方、エラーで失われた指令データを再送
信手順により与える方法の場合、コスト、転送スピード
及び信頼性の点で優れている。しかし、複数のモータを
同期運転させるためには、正規の通信時間と、加減速演
算や位置制御演算等のデータ利用開始時間との間に、再
送信のための時間を設けておく必要がある。従って、デ
ータの転送スピードを一段と向上させないと指令応答の
無駄時間が増加する。しかし、これを満足する転送スピ
ードは、その他の処理スピードにも制限され、結局指令
信号の応答時間を短縮できず、効率のよいモータ駆動が
実行できないという問題があった。
On the other hand, the method of giving command data lost due to an error by a retransmission procedure is excellent in cost, transfer speed and reliability. However, in order to synchronously operate a plurality of motors, it is necessary to provide a time for retransmission between a regular communication time and a data use start time for acceleration / deceleration calculation and position control calculation. . Therefore, unless the data transfer speed is further improved, the dead time of the command response increases. However, the transfer speed that satisfies this is also limited by other processing speeds, so that the response time of the command signal cannot be shortened, and efficient motor drive cannot be performed.

【0018】この発明は、上記問題点を解決するために
なされたものであり、通信エラーによる指令データの欠
落を、指令信号に対する応答のムダ時間を増加させるこ
となく指令データを再送信して補間し、実際のモータの
位置座標の軌跡と目標位置座標との軌跡誤差を低減する
ことが可能なモータ制御装置を提供することを目的とす
る。
SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problem, and it is possible to eliminate the lack of command data due to a communication error by re-transmitting the command data without increasing the wasteful time of the response to the command signal and interpolating the command data. It is another object of the present invention to provide a motor control device capable of reducing a locus error between a locus of actual motor position coordinates and a target position coordinate.

【0019】[0019]

【課題を解決するための手段】通信手段を介して所定周
期で位置又は速度の指令信号が供給され、モータの位置
又は速度が前記指令信号に対応するようにモータ電流を
制御するモータ制御装置において、所定周期毎に指令信
号を受信し、通信エラー発生時にはこれを検出して前記
指令信号の再送信要求をする通信制御部と、通信エラー
発生時に、受信できなかった前記指令信号の代わりとな
る代替指令信号を生成する代替指令演算部と、受信した
前記指令信号又は前記代替指令信号、及び既に受信され
ている過去の指令信号に基づいて制御目標信号を演算し
出力する加減速演算部と、再送信された指令信号を受信
した場合に、前記代替指令信号と前記再送信された指令
信号との差に基づいて、前記加減速演算部における前記
過去の指令信号を訂正する指令訂正部とを有し、通信エ
ラーが発生した次の周期においては、次の周期の指令信
号と訂正された前記過去の指令信号とに基づいて次の周
期の制御目標信号が演算されることを特徴とする。
According to the present invention, there is provided a motor control device for supplying a position or speed command signal at a predetermined cycle via communication means and controlling a motor current so that the motor position or speed corresponds to the command signal. A communication control unit that receives a command signal at predetermined intervals, detects a communication error, and requests retransmission of the command signal, and replaces the command signal that could not be received when a communication error occurs. An alternative command calculation unit that generates a replacement command signal, an acceleration / deceleration calculation unit that calculates and outputs a control target signal based on the received command signal or the replacement command signal, and a past command signal that has already been received, When a retransmitted command signal is received, the past command signal in the acceleration / deceleration calculation unit is calculated based on a difference between the substitute command signal and the retransmitted command signal. In the next cycle in which a communication error has occurred, a control target signal in the next cycle is calculated based on the command signal in the next cycle and the corrected previous command signal. It is characterized by that.

【0020】前記加減速演算部は、前記加減速演算部に
供給された複数の前記過去の指令信号を記憶し、記憶さ
れた前記過去の指令信号と、現在の前記指令信号又は前
記代替指令信号とに基づいて移動平均化演算を行って前
記制御目標信号を出力することを特徴とする。
The acceleration / deceleration calculation section stores a plurality of the past command signals supplied to the acceleration / deceleration calculation section, and stores the stored past command signal, the present command signal or the substitute command signal. And outputs the control target signal by performing a moving average calculation based on the above.

【0021】前記指令訂正部は、前記加減速演算部に記
憶されている過去の複数の前記指令信号のうち、前記代
替指令信号が代用されている前記指令信号を前記再送信
された指令信号に訂正し、最も古い指令信号には前記再
送信された指令信号と前記代替指令信号との差分を付加
することを特徴とする。
[0021] The command correction unit is configured to convert the command signal, in which the substitute command signal is substituted, out of the plurality of past command signals stored in the acceleration / deceleration calculation unit into the retransmitted command signal. It is characterized in that the difference between the retransmitted command signal and the substitute command signal is added to the oldest command signal.

【0022】前記代替指令演算部は、k回目の周期にお
いて通信エラーが発生した場合に、k回目の代替指令信
号を次式によって求めることを特徴とする。 (k回目の代替指令信号)=2×(k−1回目の指令信
号)−(k−2回目の指令信号) 前記指令訂正部は、前記再送信された指令信号と前記代
替指令信号とに基づいて、モータの制御目標軌跡に対す
る実際の制御軌跡の軌跡誤差を求め、前記軌跡誤差が所
定値を超えたかどうかを判定することを特徴とする。
[0022] The substitute command calculating section is characterized in that, when a communication error occurs in the k-th cycle, the substitute command signal is calculated by the following equation. (K-th substitute command signal) = 2 × (k−1-th command signal) − (k−2th command signal) The command correction unit converts the re-transmitted command signal and the substitute command signal. A trajectory error of an actual control trajectory with respect to a control target trajectory of the motor is obtained based on the trajectory, and it is determined whether the trajectory error exceeds a predetermined value.

【0023】前記軌跡誤差が所定値を超えた場合には、
モータが減速停止されることを特徴とする。
When the trajectory error exceeds a predetermined value,
The motor is decelerated and stopped.

【0024】[0024]

【作用】この発明によるモータ制御装置は指令訂正機能
を有し、過渡的な通信エラーが発生して、正規の指令信
号を受信できない場合に、代替指令演算部が指令信号の
代わりとなる代替指令信号を演算して供給する。従っ
て、モータを停止させることなく、かつ代替指令信号に
よって正確なモータ制御を継続でき、目標位置指令から
の軌跡誤差を最小限にすることができる。
The motor control device according to the present invention has a command correction function, and when a transient communication error occurs and a regular command signal cannot be received, the substitute command calculation unit substitutes the command signal. The signal is calculated and supplied. Therefore, accurate motor control can be continued by the substitute command signal without stopping the motor, and the trajectory error from the target position command can be minimized.

【0025】また、通信エラー発生時の指令信号であっ
て再送信された指令信号と、代替指令信号とに差がある
場合においても、次の指令周期において再送信された指
令信号に基づいて、加減速処理部の内部変数即ち過去の
指令信号が訂正される。従って、モータ制御装置の位置
座標の軌跡と目標位置座標との軌跡誤差が累積ぜずその
誤差を極めて小さく抑制することが可能である。
Further, even when there is a difference between the command signal retransmitted as a command signal at the time of occurrence of a communication error and the substitute command signal, based on the command signal retransmitted in the next command cycle, An internal variable of the acceleration / deceleration processing unit, that is, a past command signal is corrected. Therefore, it is possible to suppress the trajectory error between the trajectory of the position coordinates of the motor control device and the target position coordinates from accumulating, and to minimize the error.

【0026】更に、再送信された指令信号と代替指令信
号とに基づいて、軌跡誤差(モータの目標位置座標の軌
跡に対する実際のモータの位置座標の軌跡の軌跡誤差)
を求め、この軌跡誤差が所定値を超えた場合には、モー
タを減速停止することとした。これにより、モータの位
置座標の軌跡と目標位置座標の軌跡との軌跡誤差が許容
値を超えた状態でモータ制御が続行されることを防止で
きる。よって、極めて高いモータの位置精度が要求され
る加工条件においても確実に対応することができる。
Further, based on the retransmitted command signal and the substitute command signal, a trajectory error (a trajectory error of the actual position coordinates of the motor with respect to the trajectory of the target position coordinates of the motor)
When the trajectory error exceeds a predetermined value, the motor is decelerated and stopped. Thus, it is possible to prevent the motor control from continuing in a state where the trajectory error between the trajectory of the motor position coordinates and the trajectory of the target position coordinates exceeds the allowable value. Therefore, it is possible to reliably cope with machining conditions that require extremely high motor position accuracy.

【0027】[0027]

【実施例】以下、本発明の実施例を図を用いて説明す
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below with reference to the drawings.

【0028】図1は、本発明による指令訂正機能を有す
るモータ制御装置の一実施例を示すブロック図である。
なお、既に説明した図面と同一部分には同一符号を付し
て説明を省略する。
FIG. 1 is a block diagram showing an embodiment of a motor control device having a command correction function according to the present invention.
The same parts as those in the drawings already described are denoted by the same reference numerals and description thereof will be omitted.

【0029】本実施例では、代替指令演算部24及び指
令訂正部26が設けられている。そして、通信エラーが
発生した場合には、所定のアラーム信号ALARM が、通信
制御部10から代替指令演算部24と指令訂正部26、
及び指令切替え部12に供給される構成となっている。
In this embodiment, an alternative command operation unit 24 and a command correction unit 26 are provided. When a communication error occurs, a predetermined alarm signal ALARM is sent from the communication control unit 10 to the alternative command calculation unit 24, the command correction unit 26,
And the command switching unit 12.

【0030】ここで、代替指令演算部24は、通信エラ
ーが発生しアラーム信号ALARM が通信制御部10から出
力されると、エラーによって受信できなかった指令信号
の代わりとなる代替指令信号を演算する回路である。こ
の代替指令信号は、例えばk回目の指令周期に通信エラ
ー発生した場合に、通信制御部10が過去に受信した位
置指令PCMD(k-1) から以下に説明する方法によって求め
られる。そして、指令切替え部12及び指令訂正部26
に供給される。
Here, when a communication error occurs and the alarm signal ALARM is output from the communication control unit 10, the substitute command computing unit 24 computes a substitute command signal that replaces the command signal that could not be received due to the error. Circuit. For example, when a communication error occurs in the k-th command cycle, the substitute command signal is obtained from the position command PCMD (k-1) received in the past by the communication control unit 10 by a method described below. Then, the command switching unit 12 and the command correction unit 26
Supplied to

【0031】指令訂正部26には、通信制御部10から
の位置指令PCMD(k) と通信アラーム信号ALALM および代
替指令演算部24の代替指令TMPCMD(k) が供給される。
そして、再送信された指令信号PCMD(k) を受信した場合
に、代替指令信号TMPCMD(k)と再送信された指令信号PCM
D(k) との差に基づいて、加減速演算部14の加減速処
理用バッファの第2段BUF1(2) および最終段BUF1(n) の
内容を訂正する。
The command correction unit 26 is supplied with the position command PCMD (k) from the communication control unit 10, the communication alarm signal AALLM, and the substitute command TMPCMD (k) of the substitute command calculation unit 24.
Then, when the retransmitted command signal PCMD (k) is received, the substitute command signal TMPCMD (k) and the retransmitted command signal PCM (k) are received.
Based on the difference from D (k), the contents of the second stage BUF1 (2) and the final stage BUF1 (n) of the acceleration / deceleration processing buffer of the acceleration / deceleration calculation unit 14 are corrected.

【0032】次に、図1に示す本実施例のモータ制御装
置の指令訂正処理について、図2を用いて説明する。
Next, the command correction process of the motor control device of this embodiment shown in FIG. 1 will be described with reference to FIG.

【0033】まず、上位制御回路からの位置指令PCMD
は、従来と同様に通信回線を介して指令周期Tc 毎に通
信制御部10に入力される(S1)。
First, the position command PCMD from the host control circuit
Is input to the communication control unit 10 via the communication line every command cycle Tc as in the conventional case (S1).

【0034】いま、k 回目の指令周期において受信され
た位置指令をPCMD(k) とすると、通信エラーが発生して
おらず受信が正常であれば(S2)、指令切替え部12
を通し、位置指令PCMD(k) が加減速演算部14の入力指
令PC(k) となる(S3)。
Assuming that the position command received in the k-th command cycle is PCMD (k), if no communication error has occurred and reception is normal (S2), the command switching unit 12
, The position command PCMD (k) becomes the input command PC (k) of the acceleration / deceleration calculation unit 14 (S3).

【0035】次に、通信エラーがk 回目の指令周期にお
いて発生した場合について説明する。通信エラーが発生
したk 回目の指令周期においては、通信制御部10がこ
のエラーを検出してアラーム信号ALARM を出力し、通信
エラー信号が有効となる。一方、代替指令演算部24は
過去の位置指令PCMD(k-1) 、PCMD(k-2) を記憶しており
次式(2)によって代替指令TMPCMD(k) を演算する(S
4)。
Next, a case where a communication error occurs in the k-th command cycle will be described. In the k-th command cycle in which a communication error has occurred, the communication control unit 10 detects this error and outputs an alarm signal ALARM, and the communication error signal becomes valid. On the other hand, the substitute command calculating unit 24 stores the past position commands PCMD (k-1) and PCMD (k-2) and calculates the substitute command TMPCMD (k) according to the following equation (2) (S).
4).

【0036】[0036]

【数2】 TMPCMD(k) =2・PCMD(k-1) - PCMD(k-2) (2) 指令切替え部12は通信エラー信号が発生している場合
には、代替指令TMPCMD(k) の出力側に接続される。そし
て、この代替指令TMPCMD(k) を入力指令PC(k)として加
減速演算部14に供給する(S5)。このように、代替
指令信号を(2)式で求めることにより、位置指令PCMD
(k) の速度成分をF(k)としたとき、F(k)= F(k-1) が成
立していれば式(2)から代替指令TMPCMD(k) は位置指
令PCMD(k) に一致し、軌跡誤差は発生しない。従って、
過渡的に通信エラーが発生しても、位置精度よくモータ
の制御を続行することが可能となる。
[Expression 2] TMPCMD (k) = 2 · PCMD (k−1) −PCMD (k−2) (2) If a communication error signal is generated, the command switching unit 12 substitutes the substitute command TMPCMD (k). Is connected to the output side. Then, the substitute command TMPCMD (k) is supplied to the acceleration / deceleration calculation unit 14 as an input command PC (k) (S5). As described above, the position command PCMD is obtained by obtaining the substitute command signal by the equation (2).
Assuming that the velocity component of (k) is F (k), if F (k) = F (k-1) holds, the substitute command TMPCMD (k) is obtained from the equation (2) by the position command PCMD (k). And no trajectory error occurs. Therefore,
Even if a communication error occurs transiently, it is possible to continue control of the motor with high positional accuracy.

【0037】通信制御部10は、通信エラーを検出する
と、別途上位制御回路に対し位置指令PCMD(k) の再送信
要求を行う(S6)。この再送信の要求は、次回の位置
指令PCMD(k+1) の送信が開始されるまでにその受信が完
了するようなタイミングで行われる。従って、k 回目の
他のデータ処理(S4〜S11)に対して特に前後関係
の規定はないが、データ処理開始以降できるだけ速く再
送信要求を行うのが好ましい。
When the communication control unit 10 detects a communication error, it requests the upper control circuit to retransmit the position command PCMD (k) (S6). The retransmission request is issued at a timing such that the reception of the position command PCMD (k + 1) is completed before the transmission of the next position command PCMD (k + 1) starts. Therefore, although there is no particular stipulation on the context of the k-th other data processing (S4 to S11), it is preferable to make a retransmission request as soon as possible after the start of the data processing.

【0038】加減速演算部14は、入力指令PC(k) が通
信制御部10又は代替指令演算部24から供給されるに
伴って、その加減速処理用バッファBUF1(1) からBUF1
(n) の内容を更新(S7)する。ここで、加減速演算部
14の加減速処理用バッファとしては、物理的なデータ
の移動のないリングバッファを用いている。
When the input command PC (k) is supplied from the communication control unit 10 or the substitute command calculation unit 24, the acceleration / deceleration calculation unit 14 changes the acceleration / deceleration processing buffers BUF1 (1) to BUF1
The content of (n) is updated (S7). Here, as an acceleration / deceleration processing buffer of the acceleration / deceleration calculation unit 14, a ring buffer in which physical data does not move is used.

【0039】加減速処理用バッファが更新されると、次
に前回のk-1 回目に通信エラーが発生しているかどうか
が判定され(S8)、発生していない場合には、加減速
処理用バッファにそれぞれ記憶された過去の指令信号に
基づいて全バッファの平均値を求め、位置制御演算部1
6へ位置指令PREF(k) が出力される(S11)。
When the acceleration / deceleration processing buffer is updated, it is next determined whether or not a communication error has occurred at the previous (k-1) th time (S8). The average value of all the buffers is obtained based on the past command signals stored in the buffers, and the position control calculation unit 1
Then, the position command PREF (k) is output to 6 (S11).

【0040】一方、前回のk-1 回目における指令周期に
通信エラーが発生していた場合には、上述のように、予
め、通信制御部10からの再送信要求によって再送信さ
れた前回の指令信号PCMD(k-1) が、通信制御部10から
指令訂正部26に出力される(S9)。ここで前回指令
PCMD(k-1) は、k 回目の処理開始までに通信制御部10
の要求によって再送信され、受信されて通信制御部10
の内部に記憶されていたものである。
On the other hand, if a communication error has occurred in the previous (k-1) th command cycle, the previous command retransmitted by the retransmission request from the communication The signal PCMD (k-1) is output from the communication control unit 10 to the command correction unit 26 (S9). Here the last command
PCMD (k-1) sets the communication control unit 10 by the start of the k-th process.
Is retransmitted and received by the request of
Is stored inside the.

【0041】次に、指令訂正部26は、加減速処理用バ
ッファのうちの2段目BUF1(2) 、即ち前回の代替指令TM
PCMD(k-1) によって代替された指令信号(入力指令PC(k
-1))と、最も過去の指令信号である最終段BUF1(n) の
指令信号を以下のように訂正する(S10)。
Next, the command correction unit 26 performs the second-stage BUF1 (2) of the acceleration / deceleration processing buffer, that is, the previous substitute command TM.
Command signal replaced by PCMD (k-1) (input command PC (k
-1)), the command signal of the last stage BUF1 (n), which is the oldest command signal, is corrected as follows (S10).

【0042】まず、2段目BUF1(2) は、式(3)のよう
に再送信された前回指令信号PCMD(k-1) に訂正される。
First, the second-stage BUF1 (2) is corrected to the previous command signal PCMD (k-1) retransmitted as shown in equation (3).

【0043】[0043]

【数3】 BUF1(2) = PCMD(k-1) (3) また、最終段BUF1(n) の指令信号には、前回の代替指令
TMPCMD(k-1) と再送信された前回指令信号PCMD(k-1) と
の差分が付加されて式(4)のように訂正される。
[Equation 3] BUF1 (2) = PCMD (k-1) (3) Also, the last substitute command is given to the command signal of the last stage BUF1 (n).
The difference between TMPCMD (k-1) and the retransmitted previous command signal PCMD (k-1) is added and corrected as in equation (4).

【0044】[0044]

【数4】 BUF1(n) = BUF1(n) - TMPCMD(k-1) + PCMD(k-1) (4) 加減速処理用バッファの内容が訂正後、加減速演算部1
4は全バッファの平均値を求め、これを位置制御演算部
16へ目標位置指令PREF(k) として出力する(S1
1)。ここで、加減速処理用バッファの総和の計算を、
前回の総和を記憶し今回の差分のみ加算すればその処理
時間を短縮することができる。
BUF1 (n) = BUF1 (n)-TMPCMD (k-1) + PCMD (k-1) (4) After the contents of the acceleration / deceleration processing buffer are corrected, the acceleration / deceleration calculation unit 1
4 calculates an average value of all buffers and outputs the average value to the position control calculation unit 16 as a target position command PREF (k) (S1).
1). Here, the calculation of the sum of the acceleration / deceleration processing buffer is
The processing time can be shortened by storing the previous total and adding only the present difference.

【0045】以上のように、k-1 回目に通信エラーが発
生した場合に、加減速処理用バッファのうちの2段目BU
F1(2) と、最も過去の指令信号である最終段BUF1(n) の
指令信号を訂正することにより、k 回目の処理において
加減速演算部14から出力される目標位置指令PREF(k)
の値は、実質的には変化しない。
As described above, when a communication error occurs at the (k-1) th time, the second stage BU of the acceleration / deceleration processing buffer is used.
By correcting F1 (2) and the command signal of the last stage BUF1 (n) which is the oldest command signal, the target position command PREF (k) output from the acceleration / deceleration calculation unit 14 in the k-th process
Does not substantially change.

【0046】更に、前回の代替指令TMPCMD(k-1) と再送
信された前回指令信号PCMD(k-1) との差分を、最も過去
の最終段BUF1(n) に付加することにより、k+1 回目には
この差分はバッファから消去される。従って、k+1 回目
の処理以降は通信エラーがなかったとした場合における
バッファの内容と同一となり、目標位置指令からの軌跡
誤差を最小限にすることができる。
Further, by adding the difference between the previous substitute command TMPCMD (k-1) and the retransmitted previous command signal PCMD (k-1) to the oldest final stage BUF1 (n), k At the +1 time, this difference is deleted from the buffer. Therefore, the contents of the buffer after the k + 1-th processing are the same as when there is no communication error, and the trajectory error from the target position command can be minimized.

【0047】指令訂正部26では、更に後述する方法に
よって、代替指令TMPCMD(k-1) と再送信された位置指令
PCMD(k-1) に基づいて、推定される軌跡誤差の最大値Δ
lmaxを演算する。
In the command correction unit 26, the substitute command TMPCMD (k-1) and the retransmitted position command are
Based on PCMD (k-1), estimated maximum value of trajectory error Δ
Calculate lmax.

【0048】そして、この軌跡誤差の最大値Δlmaxが所
定の値を超えると、これを判定して通信制御部10を介
して上位制御回路に送信する。
When the maximum value Δlmax of the trajectory error exceeds a predetermined value, it is determined and transmitted to the host control circuit via the communication control unit 10.

【0049】目標位置指令PREF(k) が演算によって求め
られ、位置制御演算部16に出力されると、位置制御演
算部16は、モータ20に取付けられた位置センサー2
2からモータの位置P(k)を読み取る。そして、目標位置
指令PREF(k) にモータの位置P(k)を一致させるべく一般
的な位置制御によりモータに必要な電流指令値CREF(k)
を演算し、得られた電流指令値CREF(k) をインバータ1
8に供給する。
When the target position command PREF (k) is obtained by calculation and output to the position control calculation unit 16, the position control calculation unit 16 reads the position sensor 2 attached to the motor 20.
Read the motor position P (k) from 2. Then, the current command value CREF (k) required for the motor is obtained by general position control so that the motor position P (k) matches the target position command PREF (k).
Is calculated, and the obtained current command value CREF (k) is
8

【0050】インバータ18は、電流指令値CREF(k) に
対応するモータ駆動電流をモータ20に供給し、モータ
20の位置は、目標位置指令PREF(k) に一致するように
制御される。
The inverter 18 supplies a motor drive current corresponding to the current command value CREF (k) to the motor 20, and the position of the motor 20 is controlled so as to match the target position command PREF (k).

【0051】このように、本実施例によれば、過渡的な
通信エラーの発生があった場合においても、制御を継続
することができる。
As described above, according to the present embodiment, control can be continued even when a transient communication error occurs.

【0052】なお、本実施例では位置指令として絶対座
標を用いたが、位置の増分指令または速度指令を与える
場合においても、その積分値を本実施例の位置指令に置
き換えれば同様にして機能を実現できる。
In this embodiment, the absolute coordinates are used as the position command. However, even when a position increment command or a speed command is given, the function is similarly performed by replacing the integrated value with the position command of the present embodiment. realizable.

【0053】次に、本発明のモータ制御装置において、
通信エラー発生時に生ずる目標位置座標とモータの位置
座標との軌跡誤差について評価する。ここで、2台のモ
ータ制御装置の位置がそれぞれ直交しX、Y座標に取る
ことができるとする。
Next, in the motor control device of the present invention,
The trajectory error between the target position coordinates and the motor position coordinates generated when a communication error occurs is evaluated. Here, it is assumed that the positions of the two motor control devices are orthogonal to each other and can be taken as X and Y coordinates.

【0054】いま、指令位置PCMD(k) が図3に示す式
(5)の直線上を、加減速時定数Tc×nより長い時
間、一定速度Fで移動し、モータ位置P(k)がこれに追従
する場合を考える(但し、指令周期Tc、移動平均項数
n)。
Now, the command position PCMD (k) moves on the straight line of the equation (5) shown in FIG. 3 at a constant speed F for a time longer than the acceleration / deceleration time constant Tc × n, and the motor position P (k) changes. Consider a case following this (however, the command period Tc and the number of moving average terms n).

【0055】[0055]

【数5】Y = X ・tan θ (5) このときのモータ位置P(k)の両軸の位置座標をPx(k) 、
Py(k) とし、P(k)から式(5)の直線に下ろした垂線の
長さΔl(k)を軌跡誤差と定義する。すると、図3から目
標位置座標の軌跡に対する軌跡誤差Δl(k)は次式(6)
で表される。
Y = X · tan θ (5) The position coordinates of both axes of the motor position P (k) at this time are represented by Px (k),
Py (k), and the length Δl (k) of the perpendicular drawn from P (k) to the straight line of equation (5) is defined as a trajectory error. Then, from FIG. 3, the trajectory error Δl (k) with respect to the trajectory of the target position coordinates is given by the following equation (6).
It is represented by

【0056】[0056]

【数6】 Δl(k) = Py(k)cos θ - Px(k)sin θ (6) 両モータ制御装置の位置制御が理想的に実施されていた
とすると、位置指令PCMD(k) とモータ位置P(k)は移動平
均処理の入出力とみなすことができる。ここで、移動平
均処理は積分演算であるため入出力間には線形性が保証
される。従って、線形関数である式(5)上の位置指令
PCMD(k) に対しモータ位置P(k)も同様に式(5)の線上
を移動する。
Δl (k) = Py (k) cos θ−Px (k) sin θ (6) Assuming that the position control of both motor controllers is ideally performed, the position command PCMD (k) and the motor The position P (k) can be regarded as input / output of the moving average processing. Here, since the moving average processing is an integral operation, linearity is guaranteed between input and output. Therefore, the position command on equation (5) which is a linear function
Similarly to PCMD (k), the motor position P (k) also moves on the line of equation (5).

【0057】いま指令周期m においてX軸用のモータ制
御装置のみに通信エラーが発生し、位置指令PCMDx(k)が
受信できなかったものとする。
Assume now that a communication error has occurred only in the motor control device for the X-axis in the command cycle m, and the position command PCMDx (k) could not be received.

【0058】従来のモータ制御装置では、通信エラー発
生とともにX軸の位置指令はPCMDx(m-1)に固定される。
一方、X軸の通信エラー発生が上位制御回路に伝達さ
れ、Y軸の位置指令の出力が停止するのは、最短でも次
回のm+1 の指令周期になる。このため指令周期m 以降に
おいてX軸に式(7)に示すPCMDx(m-1)とPCMDx(m )の
指令誤差ΔPCMDx(m)が継続的に発生することとなる。
In the conventional motor control device, the position command of the X axis is fixed to PCMDx (m-1) when a communication error occurs.
On the other hand, the occurrence of the communication error on the X axis is transmitted to the host control circuit, and the output of the position command on the Y axis stops at least at the next m + 1 command cycle. Therefore, after the command cycle m, the command error ΔPCMDx (m) between PCMDx (m-1) and PCMDx (m) shown in Expression (7) is continuously generated on the X axis.

【0059】[0059]

【数7】 ΔPCMDx(m)= PCMDx(m-1) - PCMDx(m)= F ・cos θ・Tc (7) 加減速時間が経過した指令周期m+n 以降において、上記
式(7)から次式(8)の関係が成立する。
ΔPCMDx (m) = PCMDx (m−1) −PCMDx (m) = F · cos θ · Tc (7) From the command cycle m + n after the acceleration / deceleration time has elapsed, the above equation (7) is used. The following equation (8) holds.

【0060】[0060]

【数8】 Px(k) = Px(m) - F ・cos θ・Tc , Py(k) = Py(m) (8) ここで、Px(m) 、Py(m) は、式(5)を満足するので、
式(6)に式(8)の関係を代入して整理すると、次式
(9)が得られる。
Px (k) = Px (m) −F · cos θ · Tc, Py (k) = Py (m) (8) Here, Px (m) and Py (m) are expressed by the following equation (5). )
By substituting the relationship of equation (8) into equation (6) and rearranging, the following equation (9) is obtained.

【0061】[0061]

【数9】 Δl(k) = F ・cos θ・sin θ・Tc (9) ここで、式(9)をθについて微分して推定される軌跡
誤差(モータの目標位置座標の軌跡に対する実際の位置
座標の軌跡の軌跡誤差)の最大値を求めると式(10)
の様になる。
Δl (k) = F · cos θ · sin θ · Tc (9) Here, the trajectory error estimated by differentiating the equation (9) with respect to θ (the actual trajectory error relative to the trajectory of the target position coordinates of the motor) When the maximum value of the trajectory error of the trajectory of the position coordinates is obtained, the following equation (10) is obtained.
It becomes like.

【0062】[0062]

【数10】 Δlmax = F・Tc/2 (10) ( k > m-1 θ= π/4 + p・π/2 p=0 、1 、2 、・・・) 一方、指令訂正機能を有する本発明のモータ制御装置に
おいては、通信エラー発生した指令周期m において、指
令信号の速度成分がF から0になったかどうかで初めて
結果が変化する。即ち、位置指令PCMD(k) の速度成分を
F(k)としたとき、F(m) = F(m-1) が成立していれば、式
(2)から代替指令TMPCMD(m) がPCMD(m) に一致するた
め、軌跡誤差は発生しない。
Δlmax = F · Tc / 2 (10) (k> m−1θ = π / 4 + p · π / 2p = 0, 1, 2,...) On the other hand, it has a command correction function. In the motor control device of the present invention, the result changes for the first time in the command period m at which a communication error has occurred, depending on whether the speed component of the command signal has changed from F to 0. That is, the velocity component of the position command PCMD (k) is
If F (m) = F (m-1) holds when F (k) holds, the substitute command TMPCMD (m) matches PCMD (m) from equation (2), so the trajectory error is Does not occur.

【0063】F(m-1)=F かつ F(m) =0の場合を検討す
ると以下のようになる。
Considering the case where F (m-1) = F and F (m) = 0, the following is obtained.

【0064】まず、指令周期m における指令信号PCMDx
(k)に含まれる指令誤差は式(11)で表される。
First, the command signal PCMDx in the command cycle m
The command error included in (k) is expressed by equation (11).

【0065】[0065]

【数11】 ΔPCMDx(m )= ( TMPCMD(m) - PCMDx(m) ) / n = F ・cos θ・Tc / n (11) 次に、指令周期m+1 において式(3)、(4)の関係で
加減速処理用バッファの内容が訂正されるため、指令誤
差ΔPCMDx(m+1)は式(12)となる。
ΔPCMDx (m) = (TMPCMD (m) −PCMDx (m)) / n = F · cos θ · Tc / n (11) Next, in the command cycle m + 1, equations (3) and (4) ), The contents of the acceleration / deceleration processing buffer are corrected, so that the command error ΔPCMDx (m + 1) is given by Expression (12).

【0066】[0066]

【数12】 ΔPCMDx(m+1 )= -F・cos θ・Tc / n (12) 指令周期m+1 以降については、加減速処理用バッファの
内容が、全て正規の指令信号に一致するため誤差は発生
しない。式(11)、(12)から、従来と同様に推定
される軌跡誤差量の最大値Δlmaxを求めると次式(1
3)のようになる。
ΔPCMDx (m + 1) = − F · cos θ · Tc / n (12) After the command cycle m + 1, the contents of the acceleration / deceleration processing buffer all match the normal command signal. No error occurs. From the equations (11) and (12), the maximum value Δlmax of the trajectory error estimated in the same manner as in the related art is obtained by the following equation (1
It looks like 3).

【0067】[0067]

【数13】 Δlmax = F・Tc/2n ( k = m,m+1 θ= π/4 + p・π/2 p=0 、1 、2 、・・・) (13) 式(8)と式(10)から、本発明によるモータ制御装
置で発生すると推定される軌跡誤差量の最大値が 1 /
n に低減されていることがわかる。n の値は、一般に
10程度はとられるため軌跡誤差は大幅に減少する。
Δlmax = F · Tc / 2n (k = m, m + 1 θ = π / 4 + p · π / 2p = 0, 1, 2,...) (13) Equation (8) From Expression (10), the maximum value of the trajectory error amount estimated to occur in the motor control device according to the present invention is 1 /
It can be seen that it has been reduced to n. Since the value of n is generally about 10, the trajectory error is greatly reduced.

【0068】本発明においては、指令訂正部26が、代
替指令TMPCMD(m) と再送信された位置指令PCMD(m) に基
づいて、この式(13)に示される軌跡誤差の最大値Δ
lmaxを演算する。そしてこの軌跡誤差の最大値Δlmaxが
所定の値を超えると、これを判定し、通信制御部10を
介して上位制御回路に送信する。
In the present invention, the command correction unit 26 determines the maximum value Δ of the trajectory error represented by the equation (13) based on the substitute command TMPCMD (m) and the retransmitted position command PCMD (m).
Calculate lmax. When the maximum value Δlmax of the trajectory error exceeds a predetermined value, it is determined and transmitted to the higher-level control circuit via the communication control unit 10.

【0069】上位制御回路は、この軌跡誤差の最大値Δ
lmaxが所定の値を超えた場合には、各軸のモータ制御装
置に対する位置指令をホールドしてモータ動作を停止す
ることができる。これによって、モータの位置座標の軌
跡と目標位置座標との軌跡誤差が許容値を超えた状態で
モータ制御が続行されることを防止できる。従って、極
めて高いモータの位置精度が要求される加工条件におい
ても確実に対応することができる。
The upper control circuit determines the maximum value Δ
When lmax exceeds a predetermined value, the motor operation can be stopped by holding the position command to the motor control device of each axis. Thus, it is possible to prevent the motor control from continuing in a state where the trajectory error between the trajectory of the motor position coordinates and the target position coordinates exceeds the allowable value. Therefore, it is possible to reliably cope with processing conditions that require extremely high motor position accuracy.

【0070】また、軌跡誤差が発生するのは、指令信号
の速度成分が変化したタイミングで通信エラーが起こっ
た場合のみである。そして、一般に加減速演算部14
は、カスケード接続される場合が多く、後段の加減速演
算によって連続する周期に異符号であらわれる誤差がさ
らに平均化されて減少することにより、その軌跡誤差は
極めて小さく抑制することができるという顕著な効果を
有することが明らかである。
A trajectory error occurs only when a communication error occurs at the timing when the speed component of the command signal changes. In general, the acceleration / deceleration calculation unit 14
Is often connected in cascade, and the error that appears with a different sign in a continuous cycle due to the acceleration / deceleration calculation at the subsequent stage is further averaged and reduced, so that the trajectory error can be extremely small. It is clear that it has an effect.

【0071】なお、本実施例においては、加減速演算と
して移動平均処理を例にとって説明したがこれには限ら
ず、指数加減速処理であってもよい。指数加減速処理を
用いた場合におけるエラー訂正処理について以下に説明
する。
In this embodiment, the moving average processing has been described as an example of the acceleration / deceleration calculation. However, the present invention is not limited to this, and may be an exponential acceleration / deceleration processing. The error correction processing when the exponential acceleration / deceleration processing is used will be described below.

【0072】指数加減速処理においては、位置制御演算
部16に出力される目標位置指令PREF(k) は、次式(1
4)で表される。式(14)からも明らかなように、指
数加減速処理によれば前回のPREF(k-1) のみを記憶して
おけば演算が可能であり、また演算量が少ないという効
果を有する。
In the exponential acceleration / deceleration processing, the target position command PREF (k) output to the position control calculation unit 16 is given by the following equation (1)
4). As is clear from the equation (14), according to the exponential acceleration / deceleration processing, the operation can be performed by storing only the previous PREF (k-1), and the operation amount is small.

【0073】[0073]

【数14】 PREF(k) = PREF(k-1) + Ke ×{ PC(k)-PREF(k-1) } (14) ここでkeは時定数の逆数となる係数である。PREF (k) = PREF (k-1) + Ke {PC (k) -PREF (k-1)} (14) Here, ke is a coefficient which is a reciprocal of a time constant.

【0074】式(14)で得られる目標位置指令をPREF
(k)'として、k-1 回目に通信エラーがあったとする。通
信エラー発生時における代替指令信号TMPCMD(K-1) は、
移動平均処理と同様に式(2)によって生成する。この
場合に、指令訂正部26は、k-2 回目における位置制御
演算部16への目標位置指令PREF(k-2) と、再送信され
たPCMD(k-1) を式(14)に代入し、式(15)によっ
て前回の目標位置指令PREF(k-1) を求める。
The target position command obtained by equation (14) is
As (k) ', it is assumed that a communication error occurs at the (k-1) th time. When a communication error occurs, the substitute command signal TMPCMD (K-1)
It is generated by equation (2) as in the moving average processing. In this case, the command correction unit 26 substitutes the target position command PREF (k-2) to the position control calculation unit 16 at the (k-2) th time and the retransmitted PCMD (k-1) into the equation (14). Then, the previous target position command PREF (k-1) is obtained by equation (15).

【0075】[0075]

【数15】 PREF(k-1) = PREF(k-2) + Ke ×{ PC(k-1)-PREF(k-2) } (15) そして、式(15)で得られた前回のPREF(k-1) を加減
速演算部14に出力し、加減速演算部14に記憶された
PREF(k-1)'を、この正しい前回のPREF(k-1) に訂正す
る。更に、k 回目の指令周期における加減速演算処理に
際して、加減速演算部14は、訂正されたPREF(k-1) の
値を用いて式(14)に示される指数加減速演算を実行
する。
PREF (k-1) = PREF (k-2) + Ke × {PC (k-1) -PREF (k-2)} (15) PREF (k-1) is output to the acceleration / deceleration calculation unit 14 and stored in the acceleration / deceleration calculation unit 14.
PREF (k-1) 'is corrected to this correct previous PREF (k-1). Further, at the time of the acceleration / deceleration calculation process in the k-th command cycle, the acceleration / deceleration calculation unit 14 executes the exponential acceleration / deceleration calculation shown in Expression (14) using the corrected value of PREF (k-1).

【0076】このように指数加減速処理によっても、モ
ータを停止させることなく、かつ代替指令信号によって
正確な制御を継続でき、目標位置指令からの軌跡誤差を
最小限にすることができる。
As described above, even with the exponential acceleration / deceleration processing, accurate control can be continued by the substitute command signal without stopping the motor, and the trajectory error from the target position command can be minimized.

【0077】また、通信エラー発生時の再送信された指
令信号と、代替指令信号とに差があっても、次の指令周
期では再送信された正規の指令信号に基づいて、過去の
指令信号を訂正し演算処理を行う。従って、モータ制御
装置の位置座標の軌跡と目標位置座標の軌跡との軌跡誤
差が累積ぜず、その誤差を極めて小さく抑制することが
可能である。
Further, even if there is a difference between the retransmitted command signal at the time of occurrence of the communication error and the substitute command signal, the previous command signal is used in the next command cycle based on the retransmitted normal command signal. Is corrected and arithmetic processing is performed. Therefore, the trajectory error between the trajectory of the position coordinates of the motor control device and the trajectory of the target position coordinates does not accumulate, and it is possible to minimize the error.

【0078】[0078]

【発明の効果】以上説明したように、過渡的な通信エラ
ーが発生して、正規の指令信号を受信できない場合に、
代替指令演算部が、指令信号の代わりとなる代替指令信
号を演算して供給する。従って、モータを停止させるこ
となく、かつ代替指令信号によって正確な制御を継続で
き、目標位置からの軌跡誤差を最小限にすることができ
る。
As described above, when a transient communication error occurs and a normal command signal cannot be received,
An alternative command operation unit calculates and supplies an alternative command signal that substitutes for the command signal. Therefore, accurate control can be continued without stopping the motor and by the substitute command signal, and the trajectory error from the target position can be minimized.

【0079】また、通信エラー発生時の指令信号であっ
て再送信された指令信号と、代替指令信号とに差がある
場合においても、次の制御周期において再送信された正
規指令信号に基づいて、加減速処理部の内部変数即ち過
去の指令信号を訂正される。従って、モータ制御装置の
位置座標の軌跡と指令位置座標の軌跡との軌跡誤差が累
積ぜずその誤差を極めて小さく抑制することが可能であ
る。
Further, even when there is a difference between the retransmitted command signal which is a command signal at the time of occurrence of a communication error and the substitute command signal, it is determined based on the normal command signal retransmitted in the next control cycle. The internal variable of the acceleration / deceleration processing unit, that is, the past command signal is corrected. Therefore, it is possible to suppress the trajectory error between the trajectory of the position coordinates of the motor control device and the trajectory of the commanded position coordinates from accumulating, and to minimize the error.

【0080】更に、再送信された指令信号と代替指令信
号とに基づく軌跡誤差を求め、この軌跡誤差が所定値を
越えた場合には、モータを減速停止させることとした。
これにより、モータ制御装置の位置座標の軌跡と指令位
置座標との軌跡誤差が許容値を超えた状態でモータ制御
が続行されることを防止できる。よって、極めて高いモ
ータの位置精度が要求される加工条件においても確実に
対応することができる。
Further, a trajectory error based on the retransmitted command signal and the substitute command signal is determined, and when the trajectory error exceeds a predetermined value, the motor is decelerated and stopped.
Thus, it is possible to prevent the motor control from continuing in a state where the trajectory error between the trajectory of the position coordinates of the motor control device and the command position coordinates exceeds the allowable value. Therefore, it is possible to reliably cope with machining conditions that require extremely high motor position accuracy.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施例に係るモータ制御装置の回路の
例を示すブロック図である。
FIG. 1 is a block diagram illustrating an example of a circuit of a motor control device according to an embodiment of the present invention.

【図2】図1のモータ制御装置における訂正処理手順を
示す図である。
FIG. 2 is a diagram showing a correction processing procedure in the motor control device of FIG. 1;

【図3】軌跡誤差量を説明する図である。FIG. 3 is a diagram illustrating a trajectory error amount.

【図4】従来のモータ制御装置の回路の例を示すブロッ
ク図である。
FIG. 4 is a block diagram illustrating an example of a circuit of a conventional motor control device.

【図5】図4のモータ制御装置におけるデータ処理手順
を示す図である。
FIG. 5 is a diagram showing a data processing procedure in the motor control device of FIG. 4;

【符号の説明】[Explanation of symbols]

10 通信制御部 12 指令切替え部 14 加減速演算部 16 位置制御演算部 18 インバータ 20 モータ 22 位置センサ 24 代替指令演算部 26 指令訂正部 DESCRIPTION OF SYMBOLS 10 Communication control part 12 Command switching part 14 Acceleration / deceleration calculation part 16 Position control calculation part 18 Inverter 20 Motor 22 Position sensor 24 Alternative command calculation part 26 Command correction part

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 通信手段を介して所定周期で位置又は速
度の指令信号が供給され、モータの位置又は速度が前記
指令信号に対応するようにモータ電流を制御するモータ
制御装置において、 所定周期毎に指令信号を受信し、通信エラー発生時には
これを検出して前記指令信号の再送信を要求をする通信
制御部と、 通信エラー発生時に、受信できなかった前記指令信号の
代わりとなる代替指令信号を生成する代替指令演算部
と、 受信した前記指令信号又は前記代替指令信号、及び既に
受信されている過去の指令信号に基づいて制御目標信号
を演算し出力する加減速演算部と、 再送信された指令信号を受信した場合に、前記代替指令
信号と前記再送信された指令信号との差に基づいて、前
記加減速演算部における前記過去の指令信号を訂正する
指令訂正部とを有し、 通信エラーが発生した次の周期においては、次の周期の
指令信号と訂正された前記過去の指令信号とに基づいて
次の周期の制御目標信号が演算されることを特徴とする
モータ制御装置。
1. A motor control device for supplying a position or speed command signal at a predetermined cycle via communication means and controlling a motor current so that the motor position or speed corresponds to the command signal. A communication control unit that receives a command signal, detects a communication error, and requests retransmission of the command signal; and, when a communication error occurs, an alternative command signal that replaces the command signal that could not be received. An acceleration / deceleration operation unit that calculates and outputs a control target signal based on the received instruction signal or the alternative instruction signal and a previously received past instruction signal, A command for correcting the past command signal in the acceleration / deceleration calculation unit based on a difference between the substitute command signal and the retransmitted command signal. A correction unit, wherein in the next cycle in which a communication error has occurred, the control target signal in the next cycle is calculated based on the command signal in the next cycle and the corrected past command signal. Characteristic motor control device.
【請求項2】 請求項1記載のモータ制御装置におい
て、 前記加減速演算部は、 前記加減速演算部に供給された複数の前記過去の指令信
号を記憶し、 記憶された前記過去の指令信号と、現在の前記指令信号
又は前記代替指令信号とに基づいて移動平均化演算を行
って前記制御目標信号を出力することを特徴とするモー
タ制御装置。
2. The motor control device according to claim 1, wherein the acceleration / deceleration calculation unit stores a plurality of the past command signals supplied to the acceleration / deceleration calculation unit, and stores the stored past command signal. And performing a moving average calculation based on the current command signal or the substitute command signal and outputting the control target signal.
【請求項3】 請求項2記載のモータ制御装置におい
て、 前記指令訂正部は、 前記加減速演算部に記憶されている過去の複数の前記指
令信号のうち、 前記代替指令信号が代用されている前記指令信号を前記
再送信された指令信号に訂正し、 最も古い指令信号には前記再送信された指令信号と前記
代替指令信号との差分を付加することを特徴とするモー
タ制御装置。
3. The motor control device according to claim 2, wherein the command correction unit substitutes the substitute command signal among a plurality of past command signals stored in the acceleration / deceleration calculation unit. The motor control device, wherein the command signal is corrected to the retransmitted command signal, and a difference between the retransmitted command signal and the substitute command signal is added to the oldest command signal.
【請求項4】 請求項1及び請求項2及び請求項3のい
ずれか1つに記載のモータ制御装置において、 前記代替指令演算部は、k回目の周期において通信エラ
ーが発生した場合に、k回目の代替指令信号を次式によ
って求めることを特徴とするモータ制御装置。 (k回目の代替指令信号)=2×(k−1回目の指令信
号)−(k−2回目の指令信号)
4. The motor control device according to claim 1, wherein the substitute command calculation unit is configured to execute k k when a communication error occurs in a k-th cycle. A motor control device wherein a second substitute command signal is obtained by the following equation. (K-th substitute command signal) = 2 × (k−1-th command signal) − (k−2-th command signal)
【請求項5】 請求項1及び請求項2及び請求項3のい
ずれか1つに記載のモータ制御装置において、 前記指令訂正部は、前記再送信された指令信号と前記代
替指令信号とに基づいて、モータの制御目標軌跡に対す
る実際の制御軌跡の軌跡誤差を求め、 前記軌跡誤差が所定値を超えたかどうかを判定すること
を特徴とするモータ制御装置。
5. The motor control device according to claim 1, wherein the command correction unit is configured to perform the control based on the retransmitted command signal and the substitute command signal. And calculating a trajectory error of an actual control trajectory with respect to a control target trajectory of the motor, and determining whether the trajectory error exceeds a predetermined value.
【請求項6】 請求項5記載のモータ制御装置におい
て、 前記軌跡誤差が所定値を超えた場合には、モータが減速
停止されることを特徴とするモータ制御装置。
6. The motor control device according to claim 5, wherein the motor is decelerated and stopped when the trajectory error exceeds a predetermined value.
JP06057412A 1994-03-28 1994-03-28 Motor control device Expired - Fee Related JP3130426B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06057412A JP3130426B2 (en) 1994-03-28 1994-03-28 Motor control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06057412A JP3130426B2 (en) 1994-03-28 1994-03-28 Motor control device

Publications (2)

Publication Number Publication Date
JPH07271441A JPH07271441A (en) 1995-10-20
JP3130426B2 true JP3130426B2 (en) 2001-01-31

Family

ID=13054940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06057412A Expired - Fee Related JP3130426B2 (en) 1994-03-28 1994-03-28 Motor control device

Country Status (1)

Country Link
JP (1) JP3130426B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428641A (en) * 2009-05-15 2012-04-25 三菱电机株式会社 Motor drive control device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4007197B2 (en) * 2003-01-16 2007-11-14 トヨタ自動車株式会社 Motor control device
JP6420177B2 (en) * 2015-02-26 2018-11-07 東洋電機製造株式会社 Control system, receiving apparatus and control method thereof
JP6506155B2 (en) * 2015-11-05 2019-04-24 Dmg森精機株式会社 Control device
JP6396389B2 (en) 2016-10-27 2018-09-26 ファナック株式会社 Servo control device
CN113169698A (en) * 2018-11-29 2021-07-23 日本电产株式会社 Motor unit, motor operation display system, and motor operation display device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102428641A (en) * 2009-05-15 2012-04-25 三菱电机株式会社 Motor drive control device
CN102428641B (en) * 2009-05-15 2014-07-16 三菱电机株式会社 Motor drive control device

Also Published As

Publication number Publication date
JPH07271441A (en) 1995-10-20

Similar Documents

Publication Publication Date Title
US4663726A (en) Robot control utilizing cubic spline interpolation
JP2010170435A (en) System and method for instructing motion control, and motion control system
JP3130426B2 (en) Motor control device
JP2019038089A (en) Robot system
CN112673331B (en) Synchronous control device, system, method and simulation device
EP3822734B1 (en) Control device and control method
EP0080377B1 (en) Method and apparatus for sensing present position in position control system
JP7657676B2 (en) Robot controller and emergency stop method for robot
JP5687302B2 (en) Load drive control device and load drive control method
CN101174807B (en) Dc motor controlling system capable of on-line switch over between velocity and position and its switch over method
CN114253221A (en) S-shaped velocity planning method, device, computer equipment and storage medium
JP2003076410A (en) Speed control device, speed control method, and program for causing computer to execute the method
CN112192575B (en) Method and device for transition of space trajectories of adjacent joints
CN113858213B (en) Robot dynamic track planning method for target synchronization
JP2687936B2 (en) Multi-arm robot controller
JPH04112690A (en) Control method for servo motor
JP7763962B2 (en) Tracking control device and tracking control method
JP7734012B2 (en) Controller and its command value extrapolation method
CN107741731B (en) Error processing method caused by S-curve calculation precision
US9602109B2 (en) Method and circuit configuration for determining position minus time
JPH06179152A (en) Method and apparatus for controlling rotation of rotary table
CN111522328A (en) Method and device for self-tuning of servo system, servo system
JPH0764644A (en) Gain switching device for positioning servo mechanism
JPH0253110A (en) Function generating device for digital servo control
JP4945737B2 (en) Robot system and interpolation method

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101117

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111117

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121117

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131117

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees