JP4203661B2 - Servo control device - Google Patents
Servo control device Download PDFInfo
- Publication number
- JP4203661B2 JP4203661B2 JP2004225355A JP2004225355A JP4203661B2 JP 4203661 B2 JP4203661 B2 JP 4203661B2 JP 2004225355 A JP2004225355 A JP 2004225355A JP 2004225355 A JP2004225355 A JP 2004225355A JP 4203661 B2 JP4203661 B2 JP 4203661B2
- Authority
- JP
- Japan
- Prior art keywords
- command position
- data
- update
- cycle
- servo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000004364 calculation method Methods 0.000 claims description 88
- 238000001514 detection method Methods 0.000 claims description 81
- 230000005856 abnormality Effects 0.000 claims description 39
- 230000008859 change Effects 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Numerical Control (AREA)
Description
本発明は、NC装置からの指令位置の伝達に通信を用いたサーボ制御装置に関する。 The present invention relates to a servo control device that uses communication to transmit a command position from an NC device.
近年、省配線化などを目的として、NC装置からの指令位置の伝達に通信を用いたサーボ制御装置が広く使われるようになってきている(例えば、特許文献1参照)。 In recent years, servo control devices using communication for transmission of command positions from NC devices have been widely used for the purpose of reducing wiring and the like (for example, see Patent Document 1).
図11はこのようなサーボ制御装置の概要を示す構成図であり、NC装置1から通信線2を介してサーボ制御装置3は指令位置データを受け取り、この指令に従ってモータ4を駆動制御する。エンコーダ5はモータ4の現在位置を検出するもので、この現在位置が指令位置と一致するようにサーボ制御装置は閉ループ制御を行う。なお、図示していないが、通常は1台のNC装置1に対して複数台のサーボ制御装置3が接続されるケースが多く、この接続のための通信線2の構成にはバス型やリング型、スター型など様々な形態がある。しかし、本願の主旨はサーボ制御装置3の台数や通信線2の構成には特に関与しないので、NC装置1とサーボ制御装置3が1対1に接続された図を用いて以降の説明を行う。 FIG. 11 is a block diagram showing an outline of such a servo control device. The servo control device 3 receives command position data from the NC device 1 via the communication line 2, and drives and controls the motor 4 according to this command. The encoder 5 detects the current position of the motor 4, and the servo control device performs closed loop control so that the current position matches the command position. Although not shown, there are usually many cases where a plurality of servo control devices 3 are connected to one NC device 1, and the configuration of the communication line 2 for this connection is a bus type or a ring. There are various forms such as molds and star molds. However, since the gist of the present application is not particularly related to the number of servo control devices 3 and the configuration of the communication line 2, the following description will be made using a diagram in which the NC device 1 and the servo control device 3 are connected one-to-one. .
図12はNC装置1からサーボ制御装置3への指令位置の伝達を示すブロック図である。NC装置1の内部のNC演算手段6から出力される指令位置はデータ送信器7に入力され、通信線2を経由してサーボ制御装置3の内部のデータ受信器8に伝達される。さらに、指令位置中継手段9を経由して内挿手段10に指令位置は伝達される。この内挿手段10はNC演算周期よりも短いサーボ演算周期に合わせて指令位置を内挿処理するもので、この内挿された指令位置がサーボ演算手段11に伝えられてサーボ制御がなされる。データ異常検出手段12は、指令位置と共に通信データとして送信される異常チェックコードを用いてデータの異常の有無を検出するもので、その異常チェックコードとしては例えばCRCやチェックサムなどが一般的によく使われている。ここで、データ異常には異常チェックコードで検出されるもの以外にも抜けなど様々な異常があるが、本願においては、データ異常はこれらすべてを含んだ広義の意味を持つ用語として以降の説明を行う。指令位置推定手段13は過去の指令位置に基づいて指令位置を推定するもので、簡単な方法としては、例えば、前回における指令位置の変化量、すなわち変位を前回の指令位置に加算して今回の推定指令位置とするなどの演算がなされる。指令位置中継手段9は、データ異常の場合には受信した指令位置に代えて推定指令位置を内挿手段10に伝達することで、ノイズ等により一時的に通信データが化けた場合でもサーボ演算手段11がサーボ制御を継続できるようにしている。 FIG. 12 is a block diagram showing transmission of the command position from the NC device 1 to the servo control device 3. The command position output from the NC calculation means 6 inside the NC device 1 is input to the data transmitter 7 and transmitted to the data receiver 8 inside the servo control device 3 via the communication line 2. Further, the command position is transmitted to the interpolation means 10 via the command position relay means 9. The interpolation means 10 interpolates the command position in accordance with a servo calculation cycle shorter than the NC calculation cycle, and the inserted command position is transmitted to the servo calculation means 11 for servo control. The data abnormality detection means 12 detects the presence / absence of data abnormality using an abnormality check code transmitted as communication data together with the command position. For example, a CRC or a checksum is generally used as the abnormality check code. It is used. Here, there are various abnormalities such as missing data abnormalities other than those detected by the abnormality check code. However, in this application, the data abnormality is a term having a broad meaning including all of these abnormalities. Do. The command position estimating means 13 estimates the command position based on the past command position. As a simple method, for example, the command position change amount in the previous time, that is, the displacement is added to the previous command position, and the current command position is estimated. Calculations such as an estimated command position are performed. The command position relay means 9 transmits the estimated command position to the interpolation means 10 instead of the received command position in the case of data abnormality, so that even if communication data is temporarily garbled due to noise or the like, the servo calculation means 11 allows the servo control to continue.
制御周期については、NC装置1からサーボ制御装置3の内挿手段10まではNC演算周期、すなわちNC演算手段6が指令位置を更新する周期で実行される。具体的なNC演算周期の値としては、数百μsから数ms程度が一般的である。指令位置が更新される毎に通信が行われるので、NC演算周期と通信周期は同じである。但し、ここで言う通信周期とは、1つのサーボ制御装置側から見た場合における自分宛ての通信データを受信する周期を意味しており、1台のNC装置に対して複数台のサーボ制御装置が接続される場合においては全サーボ制御装置に対しての通信が完了するスキャン周期に相当する。内挿手段10以降のサーボ演算手段11では、NC演算周期よりも短いサーボ演算周期で実行される。また、NC演算とサーボ演算の同期をとるために、NC演算周期はサーボ演算周期の整数倍に設定されている。以降ではNC演算周期がサーボ演算周期の4倍の場合を例にして説明を行う。 As for the control cycle, the NC calculation cycle from the NC device 1 to the interpolation means 10 of the servo control device 3 is executed at the NC calculation cycle, that is, the cycle at which the NC calculation means 6 updates the command position. A specific value of the NC calculation cycle is generally about several hundred μs to several ms. Since communication is performed every time the command position is updated, the NC calculation cycle and the communication cycle are the same. However, the communication cycle here means a cycle of receiving communication data addressed to itself when viewed from one servo control device side, and a plurality of servo control devices for one NC device. Corresponds to a scan cycle in which communication with all servo control devices is completed. The servo calculation means 11 after the interpolation means 10 is executed with a servo calculation cycle shorter than the NC calculation cycle. In order to synchronize the NC calculation and the servo calculation, the NC calculation cycle is set to an integral multiple of the servo calculation cycle. In the following description, the case where the NC calculation cycle is four times the servo calculation cycle will be described as an example.
なお、各ブロック間に伝達される指令位置については、基準位置に対する絶対的な位置に代えて前回の位置からの相対的な変化量、すなわち変位を用いて制御される場合も多いが、混乱を避けるため図面上の指令位置はすべて絶対的な位置であるとして以降の説明を行う。 The command position transmitted between the blocks is often controlled using a relative change amount from the previous position, that is, a displacement, instead of an absolute position with respect to the reference position. In order to avoid this, the following description will be made assuming that all command positions on the drawing are absolute positions.
図13は内挿手段10の内部構成例を示すもので、第1の分割手段14と内挿された指令位置を格納するメモリ15で構成されている。このメモリ15は4個の配列で構成されており、第1の分割手段14が内挿処理して格納した指令位置をサーボ演算周期毎に順に出力する動作を行う。 FIG. 13 shows an example of the internal configuration of the interpolating means 10, which is composed of a first dividing means 14 and a memory 15 for storing the interpolated command position. This memory 15 is composed of four arrays, and performs an operation of sequentially outputting command positions stored by the first dividing means 14 after interpolation processing for each servo calculation cycle.
図14は指令位置の時間の経過に伴う推移の例を示すグラフであり、縦軸が位置で横軸が時間である。本グラフにおいて、縦の細い点線はサーボ演算周期毎に引かれており、その上方にある黒の逆三角記号はNC演算周期を示している。このグラフ上に描かれた太い点線はNC演算手段6からの指令位置であり、加速中の様子を示している。その指令位置波形の上の黒丸はそのタイミングにおいてデータ受信器8が正常なデータを受信したことを、また、×記号はデータが異常であったことを表している。また、グラフ上の太い実線はサーボ演算手段11が受け取る内挿後の指令位置を示している。 FIG. 14 is a graph showing an example of the transition of the command position over time, with the vertical axis representing position and the horizontal axis representing time. In this graph, vertical thin dotted lines are drawn for each servo calculation cycle, and the black inverted triangle symbol above it indicates the NC calculation cycle. A thick dotted line drawn on this graph is a command position from the NC calculation means 6 and shows a state during acceleration. A black circle above the command position waveform indicates that the data receiver 8 has received normal data at that timing, and a cross indicates that the data is abnormal. A thick solid line on the graph indicates a command position after interpolation received by the servo calculation means 11.
本グラフにおいて、矢印で示す部分でデータ異常が発生したため、受信した指令位置に代えて推定指令位置がサーボ演算手段11に伝達されている。この推定は、今回の変位は前回と同じ変位Pdであるとして演算する簡単な処理で行われているため、データ異常を検出したNC演算周期の末尾では指令位置の推定誤差Peが生じている。本例よりも推定のアルゴリズムを高度化して推定精度を向上すれば誤差Peを小さくできる可能性はあるが、あくまで推定であるので完全に誤差Peを0にすることはできない。この誤差Peは次の正常データを受信した周期の末尾で解消される。したがって、1度データ異常が発生すると、その発生からそれにより生じた誤差の収束までにはNC演算の2周期分の時間を要することになる。
ノイズの多い環境で使用された場合には複数の周期に渡って連続的にデータ異常が発生することもあるが、このような場合には、従来の構成では誤差の収束時間がNC演算の2周期分の時間よりもさらに長くなって無視できない制御誤差を招いてしまう。すなわち、NC装置からの指令位置どおりではなく、これに誤差が加わった指令でサーボ制御がなされる時間が長くなってしまうのである。特に、1台のNC制御装置で多数のサーボ制御装置に対して指令位置データを伝送する場合には、NC演算の処理能力の問題からNC演算周期を長くせざるを得ないため、この問題はより大きくなる。 When used in a noisy environment, data anomalies may occur continuously over a plurality of cycles. In such a case, the error convergence time is 2 in the NC calculation in the conventional configuration. It becomes longer than the time of the period and causes a control error that cannot be ignored. That is, the time during which servo control is performed with a command in which an error is added to the command position from the NC device is lengthened. In particular, when command position data is transmitted to a large number of servo controllers with one NC controller, the NC computation cycle must be lengthened due to the problem of the processing capacity of NC computation. Become bigger.
本発明はこのような従来の課題を解決するものであり、データ異常が発生した場合に生じる推定誤差の収束を早くして、劣悪なノイズ環境で使用された場合の制御特性の劣化を抑制できるサーボ制御装置の提供を目的とする。 The present invention solves such a conventional problem, and can accelerate the convergence of an estimation error that occurs when a data abnormality occurs and can suppress deterioration of control characteristics when used in a poor noise environment. The purpose is to provide a servo control device.
上記課題を解決するために本発明は、通信線を介してNC装置からの指令位置データを受信するデータ受信器と、受信データの異常を検出するデータ異常検出手段と、過去の指令位置データから今回の指令位置を推定する指令位置推定手段と、指令位置データが更新されるタイミングを検出する更新タイミング検出手段と、NC演算周期毎に更新される指令位置データをサーボ演算周期に応じて内挿処理する内挿手段と、この内挿手段にて内挿処理された指令位置に基づいてサーボ演算を行うサーボ演算手段と、データ更新タイミン
グにて指令位置データが正常の場合には前記データ受信器からの指令位置を、異常の場合には前記指令位置推定手段からの推定指令位置を前記内挿手段に中継伝達する指令位置中継手段とを備え、NC演算周期は通信周期の2倍以上の整数倍で、かつ、通信周期はサーボ演算周期の整数倍で制御され、さらに、データの非更新タイミングにおいて受信した指令位置データが正常、かつ、前回の更新タイミングにおいて異常であった場合には、今回の正常な指令位置とサーボ演算手段に出力済みの指令位置とを用いて内挿処理の再演算を行う構成としている。
In order to solve the above-described problems, the present invention provides a data receiver that receives command position data from an NC device via a communication line, data abnormality detection means that detects an abnormality in received data, and past command position data. Command position estimation means for estimating the current command position, update timing detection means for detecting timing at which the command position data is updated, and command position data updated at each NC calculation cycle are interpolated according to the servo calculation cycle. Interpolation means for processing, servo calculation means for performing servo calculation based on the command position interpolated by the interpolation means, and the data receiver when the command position data is normal at the data update timing Command position relay means for relaying the estimated command position from the command position estimating means to the interpolation means in the case of abnormality, and an NC calculation cycle It is an integer multiple of twice or more the communication cycle, and the communication cycle is controlled by an integer multiple of the servo operation cycle. In addition, the command position data received at the non-update timing of data is normal and abnormal at the previous update timing. In this case, the recalculation of the interpolation process is performed using the current normal command position and the command position already output to the servo calculation means.
1回のNC演算に付き複数回の通信を行い、さらに、指令位置データの更新タイミングでデータ異常であっても、その後の非更新タイミングで正常なデータが得られれば、その時点ですぐにサーボ演算に反映されるので、データ異常が発生した場合に生じる推定誤差の収束を早くすることができる。 Even if there is a data error at the update timing of the command position data, if normal data is obtained at the subsequent non-update timing, the servo is immediately performed at that time. Since it is reflected in the calculation, the convergence of the estimation error that occurs when data abnormality occurs can be accelerated.
本発明のサーボ制御装置によれば、1回のNC演算に付き複数回の通信を行い、さらに、指令位置データの更新タイミングでデータ異常であっても、その後の非更新タイミングで正常なデータが得られれば、その時点ですぐにサーボ演算に反映されるので、データ異常が発生した場合に生じる誤差の収束が早く、制御特性の劣化を従来よりも小さくすることができる。 According to the servo control device of the present invention, communication is performed a plurality of times per one NC calculation, and even if there is a data abnormality at the update timing of the command position data, normal data is not received at the subsequent non-update timing. If it is obtained, it is immediately reflected in the servo calculation at that time, so that the error that occurs when the data abnormality occurs converges quickly, and the deterioration of the control characteristics can be made smaller than before.
また、第1の更新検出カウンタと第2の更新検出カウンタとを組み合わせて更新タイミングの判定を行う構成としたことにより、通信異常が発生した場合であっても指令位置の更新タイミングの検出を確実に行うことができる。 In addition, since the update timing is determined by combining the first update detection counter and the second update detection counter, it is possible to reliably detect the update timing of the command position even when a communication abnormality occurs. Can be done.
さらに、予め設定した時間内に第1の更新検出カウンタが変化しなかった場合に、モータを停止させる構成としたことにより、NC装置側において万一異常な処理がなされた場合でも安全性を確保することができる。 In addition, if the first update detection counter does not change within the preset time, the motor is stopped so that safety is ensured even if abnormal processing is performed on the NC unit side. can do.
本発明は、通信線を介してNC装置からの指令位置データを受信するデータ受信器と、受信データの異常を検出するデータ異常検出手段と、過去の指令位置データから今回の指令位置を推定する指令位置推定手段と、指令位置データが更新されるタイミングを検出する更新タイミング検出手段と、NC演算周期毎に更新される指令位置データをサーボ演算周期に応じて内挿処理する内挿手段と、この内挿手段にて内挿処理された指令位置に基づいてサーボ演算を行うサーボ演算手段と、データ更新タイミングにて指令位置データが正常の場合には前記データ受信器からの指令位置を、異常の場合には前記指令位置推定手段からの推定指令位置を前記内挿手段に中継伝達する指令位置中継手段とを備え、NC演算周期は通信周期の2倍以上の整数倍で、かつ、通信周期はサーボ演算周期の整数倍で制御され、さらに、データの非更新タイミングにおいて受信した指令位置データが正常、かつ、前回の更新タイミングにおいて異常であった場合には、今回の正常な指令位置とサーボ演算手段に出力済みの指令位置とを用いて内挿処理の再演算を行う構成としている。 The present invention estimates a current command position from past command position data, a data receiver that receives command position data from an NC device via a communication line, data abnormality detection means that detects an abnormality in received data, and the like. Command position estimation means, update timing detection means for detecting timing at which the command position data is updated, interpolation means for interpolating command position data updated at each NC calculation cycle in accordance with the servo calculation cycle, Servo calculation means for performing servo calculation based on the command position interpolated by the interpolation means, and if the command position data is normal at the data update timing, the command position from the data receiver is abnormal. In this case, a command position relay means for relaying and transmitting the estimated command position from the command position estimation means to the interpolation means is provided, and the NC calculation cycle is adjusted to be at least twice the communication cycle. If the command position data received at the non-update timing of the data is normal and abnormal at the previous update timing, the communication cycle is controlled by an integral multiple of the servo calculation cycle. The normal calculation position and the command position already output to the servo calculation means are used to recalculate the interpolation process.
また、NC装置が指令位置の更新毎にインクリメントもしくはデクリメントし、指令位置と共に通信データとして送信される第1の更新検出カウンタと、更新タイミング検出手段の内部に配設され、通信周期毎にインクリメントもしくはデクリメントする第2の更新検出カウンタとを備え、更新タイミング検出手段は、前回と今回のデータが共に正常で、かつ、今回の第1の更新検出カウンタが変化した場合に第2の更新検出カウンタに対して更新タイミングを意味する値を設定し、この第2の更新検出カウンタの値に基づき更新タイミングか否かを判定する構成としている。 Also, the NC device is arranged in the update timing detection means and a first update detection counter which is incremented or decremented every time the command position is updated and transmitted as communication data together with the command position, and increments or decrements every communication cycle. A second update detection counter that decrements, and the update timing detection means is a second update detection counter when both the previous and current data are normal and the current first update detection counter changes. On the other hand, a value indicating update timing is set, and it is determined whether or not the update timing is reached based on the value of the second update detection counter.
また、予め設定した時間内に第1の更新検出カウンタが変化しなかった場合に、モータを停止させる構成としている。 In addition, the motor is stopped when the first update detection counter does not change within a preset time.
以下、本発明の実施例について図面を用いて説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1はNC装置1からサーボ制御装置3への指令位置の伝達を示すブロック図で、従来例の説明に使用した図12とは、指令位置データが更新されるタイミングを検出する更新タイミング検出手段16が追加されている点が異なる。また、指令位置中継手段17と内挿手段18についても従来例とは機能が一部異なるので従来例とは別の符号を付与している。さらに、制御周期が従来例ではNC演算周期と通信周期が同じであったのに対して、本実施例ではNC演算周期を通信周期の整数倍(倍数:2,3,4,・・・)としている。以降においては説明を簡単にするため、NC演算周期は通信周期の2倍の例を示す。NC装置1のNC演算手段6はNC演算周期で処理を実行し、そこからサーボ制御装置3の内挿手段18までは通信周期で処理を行う。内挿手段18以降のサーボ演算手段11では、従来例と同様にサーボ演算周期で実行される。ここで、通信周期はサーボ演算周期の整数倍(倍数:1,2,3,・・・)としており、通信周期とサーボ演算周期は同じであっても構わない。以降においては説明を簡単にするため、通信周期はサーボ演算周期の2倍の例を示す。したがって、以降の説明では、NC演算周期:通信周期:サーボ演算周期=4:2:1の比率であるとして説明する。 FIG. 1 is a block diagram showing transmission of a command position from the NC device 1 to the servo control device 3. FIG. 12 used for explaining the conventional example is an update timing detection means for detecting timing at which command position data is updated. The difference is that 16 is added. Further, the command position relay means 17 and the interpolation means 18 are also given different reference numerals from the conventional example because some functions are different from those of the conventional example. Furthermore, the control cycle is the same as the NC calculation cycle and the communication cycle in the conventional example, whereas in this embodiment, the NC calculation cycle is an integral multiple of the communication cycle (multiplier: 2, 3, 4,...). It is said. In the following, in order to simplify the explanation, an example in which the NC calculation cycle is twice the communication cycle is shown. The NC calculation means 6 of the NC device 1 executes processing at the NC calculation cycle, and from there to the interpolation means 18 of the servo control device 3 performs processing at the communication cycle. The servo calculation means 11 after the interpolation means 18 is executed in the servo calculation cycle as in the conventional example. Here, the communication cycle is an integral multiple of the servo calculation cycle (multiple: 1, 2, 3,...), And the communication cycle and the servo calculation cycle may be the same. In the following, in order to simplify the description, an example in which the communication cycle is twice the servo calculation cycle is shown. Therefore, in the following description, it is assumed that the ratio is NC calculation cycle: communication cycle: servo calculation cycle = 4: 2: 1.
NC演算周期が通信周期の2倍なのでNC演算1回あたり2回の通信が行われ、よって、サーボ制御装置3では同じ指令位置データを2回ずつ受信する構成となっている。サーボ制御装置3側では、いつ指令位置データが更新されるのかが不明のため、これを検出するのが更新検出タイミング検出手段16である。図2は通信線2を介してデータ送信器7からデータ受信器8に伝送される通信フレームの構成を示している。このフレームの中の要素として指令位置と共に第1の更新検出カウンタを設けている。NC演算手段6は指令位置をデータ送信器7に伝える際に、同時に第1の更新検出カウンタもインクリメントして伝える。このNC演算手段6からデータ送信器7への指令位置と第1の更新検出カウンタの伝達はNC演算周期毎に行われるが、データ送信器7は通信周期毎にフレームを送信するので、前述したようにデータ受信器8では全く同じフレームを2回ずつ受信することになる。NC演算手段6は前回と同じ値の指令位置で更新することがあるので、指令位置からは更新されたのかどうかを判別できないが、第1の更新検出カウンタはNC演算手段6が指令位置を更新する都度、インクリメントされるので、これを見れば更新タイミングかどうかの判別を行うことができる。更新タイミング検出手段16はこのようにして判別を行っている。なお、第1の更新検出カウンタは説明を簡単にするために、インクリメントするものとして説明したが、デクリメントしても構わないし、その変化量は1でなくても構わない。また、カウンタの幅についても少なくとも1ビットあれば機能する。第1の更新検出カウンタの値が変化するかどうかで判別が付くからである。したがって、NC演算周期毎に必ず変化することが保証されるデータが他に存在するならば、特に第1の更新検出カウンタを設けずにそのデータで代用しても構わない。また、図2で示したフレームには異常チェックコードも要素として示しているが、これはデータ異常検出手段12が異常の有無の判別に使用するもので、従来例で説明したものと同じである。 Since the NC calculation cycle is twice the communication cycle, communication is performed twice per NC calculation, and therefore the servo control device 3 is configured to receive the same command position data twice. Since it is unknown when the command position data is updated on the servo control device 3 side, the update detection timing detection means 16 detects this. FIG. 2 shows the structure of a communication frame transmitted from the data transmitter 7 to the data receiver 8 via the communication line 2. A first update detection counter is provided along with the command position as an element in this frame. When the NC calculation means 6 transmits the command position to the data transmitter 7, the first update detection counter is also incremented and transmitted. Transmission of the command position and the first update detection counter from the NC calculation means 6 to the data transmitter 7 is performed at every NC calculation cycle, but the data transmitter 7 transmits a frame at every communication cycle. Thus, the data receiver 8 receives the exact same frame twice. Since the NC calculation means 6 may be updated at the command position having the same value as the previous time, it cannot be determined whether or not the command position has been updated. However, the NC calculation means 6 updates the command position in the first update detection counter. Each time it is incremented, it is incremented, so that it can be determined whether or not it is an update timing. The update timing detection means 16 performs the determination in this way. The first update detection counter has been described as incrementing for the sake of simplicity, but may be decremented and the amount of change may not be 1. Also, the counter width functions if it has at least one bit. This is because it is possible to determine whether or not the value of the first update detection counter changes. Therefore, if there is other data that is guaranteed to change every NC calculation cycle, the data may be substituted without providing the first update detection counter. In addition, an abnormality check code is also shown as an element in the frame shown in FIG. 2, which is used by the data abnormality detection means 12 to determine whether there is an abnormality, and is the same as that described in the conventional example. .
図3は内挿手段18の構成例を示している。図13で示した従来例における内挿手段10とは、第2の分割手段19が追加されている点が異なる。この第2の分割手段19は、データの非更新タイミングにおいて受信した指令位置データが正常、かつ、前回の更新タイミングにおいて異常であった場合に働き、内挿処理後の指令位置はメモリ15の後段の要素2と3に格納される。他の場合には従来例と同じ動作を行う。 FIG. 3 shows a configuration example of the interpolation means 18. It differs from the interpolating means 10 in the conventional example shown in FIG. 13 in that a second dividing means 19 is added. This second dividing means 19 works when the command position data received at the non-update timing of data is normal and abnormal at the previous update timing, and the command position after the interpolation processing is the latter stage of the memory 15. Are stored in the elements 2 and 3. In other cases, the same operation as the conventional example is performed.
図4はデータ受信時の指令位置中継手段17と内挿手段18が行う処理を示すフローチャートである。まず、データ更新タイミングにおける処理は従来例で説明したのと同様に、データが正常の場合に受信した指令位置データを内挿処理し、異常の場合には以前に得た指令位置に基づき推定指令位置データを内挿処理する。これらの内挿処理では第1の分割手段14を用いる。次に、データの非更新タイミングにおける処理が、従来例にはなく新規に追加された部分である。データが正常で、かつ、前回の更新タイミングで異常であった場合に、受信した指令位置データとすでに出力した指令位置を用いて内挿処理を再演算する。この内挿処理には前述した第2の分割手段19を用いる。前回の更新タイミングですでにメモリ5に推定指令位置が格納されているので、これを正しく得られた指令位置で格納し直すのである。但し、タイミングが更新タイミングではなく非更新タイミングなので、メモリ5の要素0と1はすでに出力されサーボ演算手段11が制御に用いている。よって、内挿処理ではすでにサーボ演算手段11に出力した指令位置を考慮して演算し、内挿後の指令位置をメモリ5の残りの要素2と3に格納する。 FIG. 4 is a flowchart showing processing performed by the command position relay means 17 and the interpolation means 18 at the time of data reception. First, the processing at the data update timing is the same as that described in the conventional example. The command position data received when the data is normal is interpolated. If the data is abnormal, the estimation command is based on the previously obtained command position. Interpolate position data. In these interpolation processes, the first dividing means 14 is used. Next, the processing at the non-update timing of data is a newly added portion not in the conventional example. When the data is normal and abnormal at the previous update timing, the interpolation processing is recalculated using the received command position data and the command position already output. The second dividing means 19 described above is used for this interpolation process. Since the estimated command position is already stored in the memory 5 at the previous update timing, it is stored again at the command position obtained correctly. However, since the timing is not an update timing but a non-update timing, elements 0 and 1 of the memory 5 are already output and are used by the servo calculation means 11 for control. Therefore, in the interpolation processing, calculation is performed in consideration of the command position already output to the servo calculation means 11, and the command position after interpolation is stored in the remaining elements 2 and 3 of the memory 5.
図5は指令位置の時間の経過に伴う推移の例を示すグラフで、縦軸が位置で横軸が時間である。従来例の説明に用いた図14とほぼ同様の表記をしているが、NC演算周期と通信周期が異なるので、グラフの上方に白の逆三角記号を追加し、これにより通信が行われるが前回と同じデータを伝送される非更新タイミングを表している。NC演算手段6からの指令位置を表す太い点線上には、非更新タイミングでも受信があるので黒丸を追加記入している。 FIG. 5 is a graph showing an example of transition of the command position over time, with the vertical axis representing position and the horizontal axis representing time. Although the notation is almost the same as that in FIG. 14 used in the description of the conventional example, since the NC calculation cycle and the communication cycle are different, a white inverted triangle symbol is added above the graph so that communication is performed. This represents the non-update timing when the same data as the previous time is transmitted. On the thick dotted line representing the command position from the NC calculation means 6, since there is reception even at non-update timing, a black circle is additionally written.
本グラフにおいて、円で囲んでいる部分が従来例とは異なる部分である。矢印で示す部分でデータ異常が発生するが、次の非更新タイミングでは正常なデータが得られたため、この時点ですぐに本来の正しい指令位置がサーボ演算手段11に伝えられており、従来例で生じていた誤差Peは発生しない。すなわち、データ異常が発生してからそれにより生じた誤差の収束はNC演算の1周期分の時間で完結しており、次の周期には影響を与えていない。また、図面には示していないが、データ異常が非更新タイミングで発生した場合には、前回の更新タイミングで得られた正常な指令位置で動作するので、制御には全く影響を及ぼさない。これは、データ異常の発生頻度に比例して誤差Peが発生する従来例に対しての大きな利点である。これらのことにより、ノイズの大きな環境下においても制御特性に与える影響を大幅に低減することができる。 In this graph, the part surrounded by a circle is a part different from the conventional example. Data abnormality occurs at the portion indicated by the arrow, but normal data was obtained at the next non-update timing, so the original correct command position was immediately transmitted to the servo calculation means 11 at this point, and in the conventional example, The error Pe that has occurred does not occur. That is, the convergence of the error caused by the occurrence of the data abnormality is completed in the time of one cycle of the NC calculation, and does not affect the next cycle. Although not shown in the drawing, when the data abnormality occurs at the non-update timing, the operation is performed at the normal command position obtained at the previous update timing, so that the control is not affected at all. This is a great advantage over the conventional example in which the error Pe occurs in proportion to the frequency of occurrence of data abnormality. As a result, the influence on the control characteristics can be greatly reduced even in a noisy environment.
本実施例の構成によれば、NC演算の1周期あたりに複数回の通信を行うことにより、ノイズ等によるデータ異常の発生が誤差を引き起こす確率を低下させることができる。さらに、データ異常により誤差が生じても、正常なデータが得られた時点ですぐに内挿処理を再演算するので、データ異常が発生した場合に生じる誤差の収束が早くなり、制御特性の劣化を従来よりも小さくすることができる。しかも、その内挿処理はすでにサーボ演算手段11に出力した指令位置を考慮して演算するので、急に指令位置が変化してモータに振動を与えるようなことはなく、円滑に誤差を収束させることができる。 According to the configuration of the present embodiment, by performing communication a plurality of times per one cycle of NC calculation, it is possible to reduce the probability that the occurrence of data abnormality due to noise or the like causes an error. In addition, even if an error occurs due to a data error, the interpolation process is recalculated as soon as normal data is obtained. Can be made smaller than before. In addition, since the interpolation processing is performed in consideration of the command position already output to the servo calculation means 11, the command position does not change suddenly and the motor is not vibrated, and the error is smoothly converged. be able to.
実施例1で示した構成では更新タイミング検出手段16が重要な働きをしているが、この更新タイミングの判定には、通信データ内の第1の更新検出カウンタを用いているので、通信データが異常であった場合には正確な判定ができない可能性がある。この課題を解決するのが本実施例2である。 In the configuration shown in the first embodiment, the update timing detection means 16 plays an important role, but since the first update detection counter in the communication data is used for the determination of the update timing, the communication data If it is abnormal, there is a possibility that accurate determination cannot be made. The second embodiment solves this problem.
図6が実施例2の構成を示すブロック図で、通信フレーム内の第1の更新検出カウンタ20とデータ異常検出手段12の結果を受けて第2の更新検出カウンタ22を制御するカウンタ制御手段21と、第2の更新検出カウンタ22の結果から更新タイミングか否かを判定する判定手段23とで、更新タイミング検出手段16が構成されている。 FIG. 6 is a block diagram showing the configuration of the second embodiment. Counter control means 21 controls the second update detection counter 22 in response to the results of the first update detection counter 20 and the data abnormality detection means 12 in the communication frame. And the update timing detection means 16 is comprised by the determination means 23 which determines whether it is an update timing from the result of the 2nd update detection counter 22. FIG.
通信周期毎にカウンタ制御手段21が行う制御のフローチャートを示した図7を用いて動作を説明する。第2の更新検出カウンタ22は初期状態において負の値に設定されている。説明を容易にするため、この値を−1であるとして以降の説明を行う。この値が負の場合には第2の更新検出カウンタ22は停止しており、値が0もしくは正の場合に通信周期毎にインクリメント動作する構成になっている。また、動作時にインクリメントした結果がNC演算周期/通信周期となった場合、すなわち本実施例においては2になった場合には、カウンタの値を0にする。よって、第2の更新検出カウンタ22は、動作時には通信周期毎に0と1を交互に繰り返す。前述したように、初期状態では第2の更新検出カウンタ22は停止しているので、この起動に第1の更新検出カウンタ20を用いる。前回と今回の通信データが共に正常で、かつ、今回の第1の更新検出カウンタが変化した場合に第2の更新検出カウンタ22の値を0に設定する。これにより、値が負ではなくなるので、次回の周期以降では動作するようになる。動作中にも第1の更新検出カウンタ20による第2の更新検出カウンタ22の0に設定する処理が行われるが、これは何らかの理由により生じるかも知れないタイミングずれを防止するリフレッシュ的な意味合いを持つ。しかし、念のための意味合いであるから動作中のこの操作は無くても構わない。 The operation will be described with reference to FIG. 7 showing a flowchart of control performed by the counter control means 21 for each communication cycle. The second update detection counter 22 is set to a negative value in the initial state. In order to facilitate the explanation, the following explanation will be made assuming that this value is -1. When this value is negative, the second update detection counter 22 is stopped, and when the value is 0 or positive, the second update detection counter 22 is configured to increment every communication cycle. In addition, when the result incremented during the operation becomes the NC calculation cycle / communication cycle, that is, in the present embodiment, the counter value is set to 0. Therefore, the second update detection counter 22 alternately repeats 0 and 1 every communication cycle during operation. As described above, since the second update detection counter 22 is stopped in the initial state, the first update detection counter 20 is used for this activation. When both the previous and current communication data are normal and the current first update detection counter changes, the value of the second update detection counter 22 is set to zero. As a result, the value becomes non-negative, so that it operates after the next cycle. Even during operation, the first update detection counter 20 sets the second update detection counter 22 to 0, which has a refreshing meaning to prevent a timing shift that may occur for some reason. . However, since this is just a precaution, this operation during operation may be omitted.
このような動作を行う第2の更新検出カウンタ22の値に基づいて判定手段23が更新タイミングの判定を行うが、この処理のフローチャートを図8に示す。カウンタの値が0ならば更新タイミングと判定し、これ以外の正の値であれば非更新タイミングと判定する。また、負の値ならば、起動後の第1の更新カウンタ20が変化していない状態なので、有効な指令位置がまだ得られていない状態であると判定する。そのため、NC演算手段6は、最初の有効な指令位置を伝送する際に初めて第1の更新カウンタ20を変化させ、それまでは一定値を保つ処理を行う。 The determination means 23 determines the update timing based on the value of the second update detection counter 22 that performs such an operation. A flowchart of this process is shown in FIG. If the value of the counter is 0, it is determined as the update timing, and if it is a positive value other than this, it is determined as the non-update timing. On the other hand, if it is a negative value, the first update counter 20 after activation has not changed, so it is determined that a valid command position has not yet been obtained. Therefore, the NC calculation means 6 changes the first update counter 20 for the first time when transmitting the first valid command position, and performs a process of maintaining a constant value until then.
図9は第1の更新検出カウンタ20と第2の更新検出カウンタ22の起動時を含めた動作を示すタイムチャートである。×はその時点でデータ異常が発生したことを、また、矢印はカウンタ制御手段21による第2の更新カウンタ22を0に設定する操作を、それぞれ表している。第1の更新検出カウンタ20が0から1に変化した時に第2の更新検出カウンタ22が起動し、通信周期毎に0と1を繰り返す動作を行っており、前述した通り、この値0が更新タイミングを示している。データ異常が発生して第1の更新検出カウンタ20の値が不明となっても、第2の更新検出カウンタ22は通信周期毎に動作を続けているので確実に更新タイミングを検出することができる。 FIG. 9 is a time chart showing the operation including when the first update detection counter 20 and the second update detection counter 22 are activated. X indicates that a data abnormality occurred at that time, and the arrow indicates an operation of setting the second update counter 22 to 0 by the counter control means 21. When the first update detection counter 20 changes from 0 to 1, the second update detection counter 22 is activated and repeats 0 and 1 every communication cycle. As described above, this value 0 is updated. Timing is shown. Even if a data abnormality occurs and the value of the first update detection counter 20 becomes unknown, the second update detection counter 22 continues to operate every communication cycle, so that the update timing can be reliably detected. .
なお、第1の更新検出カウンタ20を最初の有効な指令位置を伝送する際にだけ変化させ、それにより第2の更新検出カウンタ22が起動した後は変化させず一定を保つ構成であっても構わない。第2の更新検出カウンタ22は一度起動すれば、その後は自走するので問題なく動作する。このようにすれば、NC演算手段6が行う第1の更新検出カウンタ20の操作を簡素にできる利点がある。また、言うまでもないことであるが、第1の更新検出カウンタ20と第2の更新検出カウンタ22はインクリメントではなく、デクリメントであっても構わないし、その変化量は1でなくても構わない。第1の更新検出カウンタ20は変化を検出することができればよく、その幅は1ビットであっても構わない。さらに、第2の更新検出カウンタ22の初期値は負ではなくても、動作中にはとらない値であれば判別が付くので何であっても構わない。 Even if the first update detection counter 20 is changed only when the first effective command position is transmitted, and the second update detection counter 22 is activated, the first update detection counter 20 does not change and remains constant. I do not care. Once the second update detection counter 22 is activated, it runs without any problem since it is self-running thereafter. In this way, there is an advantage that the operation of the first update detection counter 20 performed by the NC calculation means 6 can be simplified. Needless to say, the first update detection counter 20 and the second update detection counter 22 may not be incremented but may be decremented, and the change amount may not be one. The first update detection counter 20 only needs to be able to detect a change, and its width may be 1 bit. Furthermore, even if the initial value of the second update detection counter 22 is not negative, any value can be used as long as it is not taken during operation.
NC演算手段6はCPUのソフトウェアで構成されるのが一般的であるが、プログラムミスなどの理由により第1の更新検出カウンタ20のインクリメント操作が、正規のタイミングである指令位置の更新毎、すなわちNC演算周期毎には行われない可能性がある。この場合の不具合の対策例を示すのが本実施例3の構成である。 The NC calculation means 6 is generally composed of CPU software. However, for reasons such as a program error, the increment operation of the first update detection counter 20 is performed every time the command position is updated at regular timing, that is, There is a possibility that it is not performed every NC calculation cycle. A configuration example of the third embodiment shows an example of countermeasures for defects in this case.
図10は実施例3を示すタイムチャートであり、第1の更新検出カウンタ20がある時点で停止してしまった場合の様子を示している。サーボ制御装置3においては、事前にNC演算周期よりも長い値で異常検出時間Teが設定されている。本図ではNC演算周期の1.5倍に設定されている例を示している。そして、この時間内に第1の更新検出カウンタ20が変化するかどうかを常に確認しており、変化しなかった場合に異常検出信号を1にしてモータを停止させる処理が実行される。 FIG. 10 is a time chart showing the third embodiment, and shows a state where the first update detection counter 20 is stopped at a certain point. In the servo control device 3, the abnormality detection time Te is set in advance with a value longer than the NC calculation cycle. In this figure, an example is shown in which it is set to 1.5 times the NC calculation cycle. Then, it is always checked whether or not the first update detection counter 20 changes within this time, and if it does not change, the abnormality detection signal is set to 1 and the motor is stopped.
この構成により、第1の更新検出カウンタ20のインクリメント操作が正規のタイミングでなされなかった場合には、モータを停止させることで安全性を確保することができる。第1の更新検出カウンタ20が停止してしまう原因には、プログラムミス以外にCPUの暴走もあり得る。本実施例は非常に簡単な構成であるにも関わらず、NC装置1のCPUの暴走をも検出して、安全にモータを停止させることができる。 With this configuration, when the increment operation of the first update detection counter 20 is not performed at regular timing, safety can be ensured by stopping the motor. The cause of the stop of the first update detection counter 20 may be a runaway CPU in addition to a program error. Although the present embodiment has a very simple configuration, it is possible to detect the CPU runaway of the NC device 1 and stop the motor safely.
8 データ受信器
9、17 指令位置中継手段
10、18 内挿手段
11 サーボ演算手段
12 データ異常検出手段
13 指令位置推定手段
16 更新タイミング検出手段
20 第1の更新検出カウンタ
22 第2の更新検出カウンタ
8 Data receiver 9, 17 Command position relay means 10, 18 Interpolation means 11 Servo calculation means 12 Data abnormality detection means 13 Command position estimation means 16 Update timing detection means 20 First update detection counter 22 Second update detection counter
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004225355A JP4203661B2 (en) | 2004-08-02 | 2004-08-02 | Servo control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004225355A JP4203661B2 (en) | 2004-08-02 | 2004-08-02 | Servo control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006048203A JP2006048203A (en) | 2006-02-16 |
JP4203661B2 true JP4203661B2 (en) | 2009-01-07 |
Family
ID=36026702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004225355A Expired - Lifetime JP4203661B2 (en) | 2004-08-02 | 2004-08-02 | Servo control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4203661B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4935369B2 (en) * | 2007-01-22 | 2012-05-23 | パナソニック株式会社 | Servo system |
WO2014049853A1 (en) | 2012-09-28 | 2014-04-03 | 三菱電機株式会社 | Vane pump |
JP6629817B2 (en) * | 2017-11-07 | 2020-01-15 | ファナック株式会社 | Control system and motor control method |
JP2020030672A (en) * | 2018-08-23 | 2020-02-27 | ファナック株式会社 | Control system, control method and control device |
WO2023275942A1 (en) * | 2021-06-28 | 2023-01-05 | 三菱電機株式会社 | Communication cycle determination apparatus, communication cycle determination method, and communication cycle determination program |
CN116074406B (en) * | 2022-11-29 | 2024-07-19 | 北京华峰装备技术有限公司 | Instruction sending method and device |
-
2004
- 2004-08-02 JP JP2004225355A patent/JP4203661B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2006048203A (en) | 2006-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI466434B (en) | System for control electric motor and communication method | |
JP4327764B2 (en) | Data receiving apparatus, sync signal detecting method and program | |
JPS59163697A (en) | Time sharing multiplex system used in electric system of automatically moving object | |
KR102330624B1 (en) | Synchronization mechanism for high speed sensor interface | |
WO2018051833A1 (en) | Relay device, communication system, transmission method and computer program | |
JP4683346B2 (en) | Master / slave communication system and master / slave communication method | |
JP4203661B2 (en) | Servo control device | |
AU2014274576B2 (en) | Serial link fault detection system and method | |
KR101110625B1 (en) | Method and apparatus for checking integrity of transmission data | |
JP5115101B2 (en) | Field device and fieldbus controller | |
US10222786B2 (en) | Numerical control system having synchronous control function between units | |
US20050066258A1 (en) | Error decoding circuit, data bus control method and data bus system | |
KR100581986B1 (en) | Arrangement and method for the transmission of address, instruction and/or data telegrams | |
US7728645B2 (en) | Pulse generator | |
US10680849B2 (en) | Built-in apparatus, communication method, and computer readable medium | |
JPH07271441A (en) | Motor controller | |
US10935959B2 (en) | Motor control device, control system, and motor control method | |
JP6182924B2 (en) | Synchronous serial interface circuit and motion control function module | |
US8566655B2 (en) | Method for operating a communication system having a plurality of nodes, and a communication system therefor | |
US11811552B2 (en) | Method and device for processing data associated with a message received via a communications system | |
US20160259311A1 (en) | Control device and method of synchronizing control | |
JP2010200091A (en) | Communication system and communication method | |
KR20130055962A (en) | System and method for controlling roof for vehicle | |
JPH09251427A (en) | Code error correction device for flash memory and its method | |
JPH09160630A (en) | Decentralized motion controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060612 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060712 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080916 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080918 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080929 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111024 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4203661 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111024 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121024 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131024 Year of fee payment: 5 |