JP4638094B2 - Multi-axis control device and synchronization method therefor - Google Patents

Multi-axis control device and synchronization method therefor Download PDF

Info

Publication number
JP4638094B2
JP4638094B2 JP2001276048A JP2001276048A JP4638094B2 JP 4638094 B2 JP4638094 B2 JP 4638094B2 JP 2001276048 A JP2001276048 A JP 2001276048A JP 2001276048 A JP2001276048 A JP 2001276048A JP 4638094 B2 JP4638094 B2 JP 4638094B2
Authority
JP
Japan
Prior art keywords
cycle
pulse
synchronization pulse
period
synchronization
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
Application number
JP2001276048A
Other languages
Japanese (ja)
Other versions
JP2003088184A (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.)
Sumitomo Heavy Industries Ltd
Original Assignee
Sumitomo Heavy Industries Ltd
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 Sumitomo Heavy Industries Ltd filed Critical Sumitomo Heavy Industries Ltd
Priority to JP2001276048A priority Critical patent/JP4638094B2/en
Publication of JP2003088184A publication Critical patent/JP2003088184A/en
Application granted granted Critical
Publication of JP4638094B2 publication Critical patent/JP4638094B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ロボットやライン制御装置等、複数台のサーボモータと各サーボモータを駆動する複数のドライバ及びこれらを統括制御するための上位装置との組み合わせによる複数軸制御装置及びその軸間同期方法に関する。
【0002】
【従来の技術】
この種の複数軸制御装置においては、サーボモータとこれを駆動するドライバを含むサーボドライバとの組み合わせを駆動軸と呼び、各駆動軸におけるサーボドライバは上位装置から位置指令値を受け、ある一定の処理周期毎に制御を行う。つまり、各サーボドライバにおいては、制御対象部に設置された検出器、例えば位置検出器からの位置検出信号を受け、その位置検出値と位置指令値との偏差よりPI(比例・積分)等の制御演算を施し、ドライバに対する操作量を決定し、その操作量を出力する。ドライバは、例えばPWM(Pulse WidthModulation)電流制御部である。また、ある一定の処理周期は、サーボドライバ毎に内蔵しているクロック発生源の周期で規定される。
【0003】
【発明が解決しようとする課題】
上記のような複数軸制御装置には以下のような問題点がある。
【0004】
▲1▼位置指令を生成する上位装置とサーボドライバ間において処理周期が同期しておらず、位置指令の授受時に動作するドライバの場合、ドライバの位置指令受け取り周期のむらによって駆動軸間動作が微少にばらつく問題がある。
【0005】
▲2▼ドライバとしてPWM電流制御部が使用され、複数のサーボドライバの処理周期が同期していない場合、処理周期が各々のサーボドライバ間でばらばらなため、ある駆動軸のPWM電流制御部におけるノイズの影響が他の駆動軸に干渉する可能能性がある。
【0006】
▲3▼サーボドライバ間で共通の割込み信号によって同期を行っている複数軸制御装置では、サーボドライバの処理周期は同期するが、処理周期のn倍周期における位相を規定することができない。例えば、処理周期n回に1回の周期で位置指令を受信するようなサーボドライバの場合、この周期の位相を複数のサーボドライバ間で規定できていないため、位置指令を生成する上位装置が各駆動軸に対して同時に位置指令発行を行っても、動作開始時刻が位相のずれ分だけばらついてしまう問題がある。
【0007】
そこで、本発明の課題は、上位装置から複数の各サーボドライバに対して共通の同期パルスを供給するようにし、各サーボドライバにおいてはこの同期パルスに同期した処理周期で処理を行うことができるような複数軸制御装置及びその軸間同期方法を提供することにある。
【0008】
本発明の他の課題は、各サーボドライバにおける処理周期の位相を同期パルスの位相に一致させることのできる複数軸制御装置及びその軸間同期方法を提供することにある。
【0009】
本発明の更に他の課題は、複数のサーボドライバ間における同期をも実現できる複数軸制御装置及びその軸間同期方法を提供することにある。
【0010】
【課題を解決するための手段】
本発明によれば、モータによる複数の駆動軸を有し、各駆動軸には上位装置から周期nの同じ同期パルスが与えられ、各駆動軸では前記同期パルスに基づいて生成される内部周期で前記同期パルス1周期当たりn回の処理が行われる複数軸制御装置であって、前記同期パルスの1周期を基準クロックでカウントした場合の理想カウント値Ciがあらかじめ与えられ、各駆動軸には、前記同期パルスの立ち下がり(あるいは立ち上がり)エッジから次の立ち下がり(あるいは立ち上がり)エッジまでを基準クロックでカウントすることにより前記同期パルスの周期を検出するためのパルス周期検出器と、該パルス周期検出器の検出結果に基づいて前記内部周期を設定する周期設定手段とを備え、前記周期設定手段は、任意の同期パルス周期における前記パルス周期検出器からの実際の前記同期パルスのカウント値Cxと、前記理想カウント値Ciとからずれ量dを算出し、前記任意の同期パルス周期の次の同期パルス周期における前記内部周期を(Ci+d)/nで与えることにより、前記同期パルスと前記内部周期との同期を実現するようにしたことを特徴とする複数軸制御装置が提供される。
【0011】
本発明によればまた、各駆動軸における前記同期パルス1周期当たりn回の処理には1〜m(但し、m<n)のシーケンス番号が与えられて、該シーケンス番号で決まる処理が行われ、更に、前記同期パルスの立ち下がり(あるいは立ち上がり)エッジに所望の前記シーケンス番号による処理を合わせるための補正処理手段を備え、該補正処理手段は、前記シーケンス番号による処理毎に前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが入っているかを判定し、前記立ち下がり(あるいは立ち上がり)エッジが入っていた時のシーケンス番号を判別すると共に、前記所望のシーケンス番号との差を算出し、前記差が1以上である場合には、前記立ち下がり(あるいは立ち上がり)エッジが入っていた周期の前記同期パルスの次の周期における処理数を(n−1)とするようにこれに対応する内部周期を算出し、前記同期パルスの次の周期では、前記算出された内部周期で(n−1)回の処理が行われ、上記の動作を、前記差が0になるまで、つまり前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが前記所望のシーケンス番号による処理に入るまで繰り返すことを特徴とする複数軸制御装置が提供される。
【0012】
本発明によれば更に、前記補正処理手段が更に、前記シーケンス番号による処理毎に前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが入っているかを判定して、前記立ち下がり(あるいは立ち上がり)エッジが入っていた時には、その時点での前記同期パルスのカウント値Cyを読み込んで前記同期パルスの次の周期における内部周期の算出を、前記読み込んだカウント値Cyと合わせたい位相の目標値C+gt との差分を加算したうえで行うことにより、前記同期パルス立ち下がり(あるいは立ち上がり)エッジに対する前記内部周期の位相合わせを行うようにしたことを特徴とする複数軸制御装置が提供される。
【0013】
本発明による軸間同期方法は、モータによる複数の駆動軸を有し、各駆動軸には上位装置から周期nの同じ同期パルスが与えられ、各駆動軸では前記同期パルスに基づいて生成される内部周期で前記同期パルス1周期当たりn回の処理が行われる複数軸制御装置の軸間同期方法であって、前記同期パルスの1周期を基準クロックでカウントした場合の理想カウント値Ciがあらかじめ与えられており、各駆動軸においては、前記同期パルスの立ち下がり(あるいは立ち上がり)エッジから次の立ち下がり(あるいは立ち上がり)エッジまでを基準クロックでカウントすることにより前記同期パルスの周期を検出すると共に、該パルス周期検出器の検出結果に基づいて前記内部周期を設定する動作を実行し、前記内部周期設定動作は、任意の同期パルス周期における前記パルス周期検出器からの実際の前記同期パルスのカウント値Cxと、前記理想カウント値Ciとからずれ量dを算出し、前記任意の同期パルス周期の次の同期パルス周期における前記内部周期を(Ci+d)/nで与えることにより、前記同期パルスと前記内部周期との同期を実現するようにしたことを特徴とする。
【0014】
なお、上記の複数軸制御装置及び軸間同期方法のいずれにおいても、前記内部周期(Ci+d)/nの算出において余りが生じた場合には、該余りは次回の周期設定のための計算に加算される。
【0015】
本軸間同期方法においてはまた、各駆動軸における前記同期パルス1周期当たりn回の処理には1〜m(但し、m<n)のシーケンス番号が与えられて、該シーケンス番号で決まる処理が行われ、更に、前記同期パルスの立ち下がり(あるいは立ち上がり)エッジに所望の前記シーケンス番号による処理を合わせるための補正処理を実行し、該補正処理は、前記シーケンス番号による処理毎に前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが入っているかを判定し、前記立ち下がり(あるいは立ち上がり)エッジが入っていた時のシーケンス番号を判別すると共に、前記所望のシーケンス番号との差を算出し、前記差が1以上である場合には、前記立ち下がり(あるいは立ち上がり)エッジが入っていた周期の前記同期パルスの次の周期における処理数を(n−1)とするようにこれに対応する内部周期を算出し、前記同期パルスの次の周期では、前記算出された内部周期で(n−1)回の処理が行われ、上記の動作を、前記差が0になるまで、つまり前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが前記所望のシーケンス番号による処理に入るまで繰り返すことを特徴とする。
【0016】
本発明による軸間同期方法においては更に、前記補正処理おいて更に、前記シーケンス番号による処理毎に前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが入っているかを判定して、前記立ち下がり(あるいは立ち上がり)エッジが入っていた時には、その時点での前記同期パルスのカウント値Cyを読み込んで前記同期パルスの次の周期における内部周期の算出を、前記読み込んだカウント値Cyと合わせたい位相の目標値C+gt との差分を加算したうえで行うことにより、前記同期パルス立ち下がり(あるいは立ち上がり)エッジに対する前記内部周期の位相合わせを行うようにしたことを特徴とする。
【0017】
【作用】
本発明では、位置指令生成を行う上位装置が出力する、サーボドライバの内部周期のn倍(nは正の整数)の同期パルスを複数のサーボドライバが入力する。
この同期パルスの周期を各サーボドライバ内部の基準クロックで測定し、この測定結果を利用してサーボドライバの内部周期を補正することにより、同期パルスに対して次の同期を実現する。
【0018】
A.同期パルスに対する各サーボドライバの内部周期の同期を実現する。
B.各サーボドライバ相互の内部周期の同期を実現する。
C.各サーボドライバ内部における、内部周期のn倍周期の位相を同期パルスの位相と一致させる。
【0019】
【発明の実施の形態】
以下に、図面を参照して、本発明の好ましい実施の形態について説明する。図1は、本発明が適用される複数軸制御装置の構成例を示す。図1において、この複数軸制御装置は、M(Mは正の整数)個のサーボモータSM−1〜SM−Mを制御するためのもので、上位装置としての位置指令生成部10と、M軸のサーボドライバ20−1〜20−Mとを含む。ここでは、ドライバとして、PWM電流制御部を備えている場合について説明する。PWM電流制御部は、対応するサーボモータに供給される電流のパルス幅制御を行うものであり、良く知られているのでその詳しい説明は省略する。
【0020】
位置指令生成部10は、基準クロック発生源11、この基準クロック発生源11からの基準クロックに基づいて同期パルスを発生する同期パルス発生部12、及び基準クロック発生源11からの基準クロックに基づいて位置指令を生成する位置指令生成部13を含む。
【0021】
サーボドライバは、サーボドライバ20−1について言えば、基準クロック発生源21、位置指令生成部13からの位置指令を受信する位置指令受信部22、位置制御処理部23、PWM電流制御部24、位置検出用のパルス発生器25、同期パルス周期検出器26、同期処理部27、PWM周期設定部28を含む。同期処理部27とPWM周期設定部28は内部周期補正処理部を構成する。内部周期と言うのは、前に述べた処理周期と同じと考えて良い。また、パルス発生器25は、例えばロータリエンコーダのようなものであり、サーボモータSM−1の回転数に対応したパルス信号を発生する。そして、このパルス信号は、サーボモータSM−1で駆動される被駆動部の位置を示す位置検出信号となる。
【0022】
他のサーボドライバの構成も、サーボドライバ20−1とまったく同じであるので、以下ではサーボドライバ20−1のみについて説明を行う。
【0023】
ここで、基準クロック発生源21、位置指令受信部22、位置制御処理部23、PWM電流制御部24、位置検出用のパルス発生器25から成る構成は、サーボモータSM−1の制御系であり、従来と同じ構成と考えて良い。簡単に説明すると、位置制御処理部23は、パルス発生器25からの位置検出信号を受けると共に、位置指令受信部22からの位置指令値を受け、これらの位置検出値と位置指令値との偏差よりPI(比例・積分)等の制御演算を施し、PWM電流制御部24に対する操作量(制御量)を決定し、その操作量を出力する。PWM電流制御部24は、後述するPWM周期設定部28で設定される内部周期で電流制御を行う。このように、内部周期はPWM電流制御部24における処理の周期を規定するものであるので、以下ではPWM周期と呼ぶこととする。
【0024】
同期パルス周期検出器26、同期処理部27、PWM周期設定部28は、同期パルス発生部12からの同期パルスを受け、この同期パルスに対するPWM周期の同期(処理A)と、同期パルスの位相に対するPWM周期の位相合わせ(処理C)、及びM軸の各サーボドライバにおけるPWM周期の同期のための補正処理(処理B)を行う。
【0025】
以降の説明では、同期パルスの周期をn(nは正の整数)とし、PWM電流制御部24ではPWM周期で同期パルス1周期当たりn回の処理が行われるものとする。また、同期パルス1周期当たりn回の処理には1〜m(但し、m<n)のシーケンス番号が与えられて、このシーケンス番号で決まる処理が行われるものとする。
【0026】
はじめに、同期パルスに対するPWM周期の同期(処理A)は、同期パルス周期検出器26とPWM周期設定部28とにより以下のようにして行われる。同期パルス周期検出器26は、同期パルスの立ち下がりエッジから次の立ち下がりエッジまでを基準クロック発生源21からの基準クロックでカウントすることにより同期パルスの周期を検出する。PWM周期設定部28は、同期パルス周期検出器26の検出結果に基づいてPWM周期を設定する。ここで、同期パルスの1周期を前記基準クロックでカウントした場合の理想カウント値がCsとしてあらかじめ与えられているものとする。PWM周期設定部28は、任意の同期パルス周期における同期パルス周期検出器26からの実際の同期パルスのカウント値Cxと、理想カウント値Csとからずれ量d(=Cs−Cx)を算出し、前記任意の同期パルス周期の次の同期パルス周期におけるPWM周期を(Cs+d)/nで与えることにより、同期パルスとPWM周期との同期を実現する。
【0027】
上記の処理動作を図2を参照して説明する。
【0028】
a.同期パルス周期の測定
PWM周期による処理n回毎に、前の周期の同期パルス周期のカウント結果Cx1 を得る。上記のように、同期パルス周期を基準クロックでカウントした時の理想カウント値はCs、実際の同期パルス周期カウント結果はCx1 であり、ずれがある場合のずれ量は(Cs−Cx1 )である。
【0029】
b.PWM周期Cpwmの計算
上記の場合、次の同期パルス周期におけるPWM周期Cpwmを、
Cpwm={Cs+(Cs−Cx1 )}/nと設定する。
【0030】
これにより、同期パルスとPWM周期とが同期する。つまり、次の同期パルス周期では、(PWM周期×n)=同期パルス周期となる。但し、上記の計算において余りが生じた場合には、この余りは次回のPWM周期Cpwmの計算に加算される。
【0031】
なお、上記の処理では、同期パルス1周期当たりに分配されるn個のPWM周期のうち、例えばn個目のPWM周期が同期パルスのどの部分にくるかということまでは規定できない。これを可能にするための処理が、図1の同期処理部27をも含めて行われる以下の処理(処理B)である。つまり、以下の処理は、同期パルスに対するPWM周期での処理のシーケンス番号合わせ処理である。言い換えれば、同期パルスの立ち下がりエッジに所望のシーケンス番号による処理を合わせるための補正処理である。
【0032】
この補正処理は、シーケンス番号による処理毎に同期パルスの立ち下がりエッジが入っているかを判定し、立ち下がりエッジが入っていた時のシーケンス番号を判別すると共に、所望のシーケンス番号との差を算出し、この差が1以上である場合には、立ち下がりエッジが入っていた周期の同期パルスの次の周期における処理数を(n−1)回とするようにこれに対応するPWM周期を算出し、同期パルスの次の周期では、前記算出されたPWM周期で(n−1)回の処理を行う。そして、上記の動作を、同期パルスの立ち下がりエッジが所望のシーケンス番号による処理に入るまで、つまり前記の差が0になるまで繰り返すようにする。
【0033】
上記の補正処理を図3を参照して説明する。図3において、前に述べたように、同期パルス1周期当たりn回(ここではn=15)の処理には1〜m(ここではm=5)のシーケンス番号が与えられて、このシーケンス番号で決まる処理が行われている。なお、上記の数nはあらかじめパラメータとして与えられている。
【0034】
ある同期パルスの周期において、PWM周期での処理毎に同期パルスの立ち下がりエッジe1 が入ったかどうかを判定する。図3では、立ち下がりエッジが入った時のシーケンス番号は3であるが、これを1にしたいものとする。この場合、次の同期パルス周期におけるPWM周期での処理の回数を1減らしてn´=14とする。これは、PWM周期を前の同期パルス周期におけるPWM周期より多少長くすることを意味する。その結果、次の次の同期パルスの立ち下がりエッジ(次の次の周期の同期パルスの立ち下がりエッジ)e3 が入った時のシーケンス番号は2となる。このような補正処理をもう1回行うと、次の次の次の周期の同期パルスの立ち下がりエッジ、つまり4周期目の同期パルスの立ち下がりエッジはシーケンス番号1に入ることになる。
【0035】
この補正処理は、同期パルス2周期につき1回行うことができ、上記のようにシーケンス番号を3から1に補正する場合には同期パルス4周期分で行われることになる。そして、このような補正処理をすべてのサーボドライバで行うことにより、すべてのサーボドライバにおける処理のシーケンス番号を同じにする、つまりサーボドライバ相互間のシーケンス番号合わせ、すなわちサーボドライバ相互間の同期を実現することができる。
【0036】
とは言え、上記の補正処理でも、同期パルスの立ち下がりエッジとPWM周期との間には、PWM周期の位相において最大PWM周期1周期分のずれが生じる可能性がある(図4a)。このような位相ずれを補正して、同期パルスの立ち下がりエッジに対してPWM周期の位相合わせを行う処理が以下の位相合わせ処理である。この位相合わせ処理においても同期処理部27が使用される。
【0037】
この位相合わせ処理(処理C)では、シーケンス番号による処理毎に同期パルスの立ち下がりエッジが入っているかを判定し、立ち下がりエッジが入っていた時には、その時点での同期パルス検出器26の実際のカウント値Cyを読み込む。そして、同期パルスの次の周期におけるPWM周期の算出を、前記カウント値Cyと合わせたい位相の目標値C+gt との差分を加算したうえで行うことにより、同期パルスの立ち下がりエッジに対するPWM周期の位相合わせを行う。この位相合わせ処理によれば、同期パルスの立ち下がりエッジに対するPWM周期の位相は、与えられた目標値C+gt に近い値となる。
【0038】
上記の位相合わせ処理を図4を参照して説明する。図4(a)において、PWM周期での処理内で同期パルスの立ち下がりエッジを検出した時だけ、その時点での同期パルス周期のカウント値Cyを読む。なお、図4(a)においてεは、ソフトウエア演算処理により同期パルス周期のカウント値を得る時に時間遅れによるずれ分が生じることを表している。続いて、同期パルス周期のカウント値Cyが目標値C+gt となるように次回のPWM周期Cpwm´の計算においてずれ分ε(=C+gt −Cy)を加算する。つまり、下記の式、
Cpwm´=(n×Cpwm+ε)/n
により、次の同期パルス周期におけるPWM周期Cpwm´が計算される。
【0039】
その結果、ずれ分εが0に近付く方向に補正がかかる。すなわち、カウント値Cyが目標値C+gt に近付く。
【0040】
図5、図6は、上記の処理A〜Cの流れを示すフローチャート図である。処理Aでは、ステップS1〜S3、S7、S9、S11が実行され、処理Bでは更にステップS4、S5、S8も実行される。また、処理Cでは更に、ステップS6、S10も実行される。
【0041】
なお、上記の説明では、同期パルスの立ち下がりエッジに対してPWM周期の同期、シーケンス番号の補正、位相合わせを行う場合について説明したが、同期パルスの立ち上がりエッジに対して行う場合もまったく同じである。
【0042】
本発明による複数軸制御装置は、位置指令伝達経路に遅延のある複数軸位置決め制御装置や、共有メモリ等を使用し、一定周期のコマンドにて位置指令伝達を行う複数軸位置決め制御装置に適している。
【0043】
【発明の効果】
以上説明したように、本発明によれば以下の効果が得られる。
【0044】
▲1▼複数のサーボモータ軸間の速度誤差を厳密に除去することが可能である。
▲2▼複数のサーボドライバ間のPWMノイズによる干渉を防止することが可能である。
▲3▼位置指令を生成する上位装置側の同期周期にサーボドライバのPWM周期を同期させることにより、複数軸間での位置指令受け取りタイミングのばらつきをなくすことが可能であり、各軸での動作開始タイミングのずれを無くすことができる。
【図面の簡単な説明】
【図1】本発明による複数軸制御装置の一構成例を示したブロック図である。
【図2】本発明による同期パルスとPWM周期の同期処理を説明するための図である。
【図3】本発明による同期パルスに対するシーケンス番号の補正処理を説明するための図である。
【図4】本発明による同期パルスに対するPWM周期の位相合わせ処理を説明するための図である。
【図5】図2〜図4の処理の前半部分を説明するためのフローチャート図である。
【図6】図2〜図4の処理の後半部分を説明するためのフローチャート図である。
【符号の説明】
SM−1〜SM−M サーボモータ
10 位置指令生成部
11、21 基準クロック発生源
12 同期パルス発生部
20−1〜20−M サーボドライバ
22 位置指令受信部
23 位置制御処理部
24 PWM電流制御部
25 パルス発生器
26 同期パルス周期検出器
27 同期処理部
28 PWM周期設定部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a multi-axis control device by combining a plurality of servo motors, a plurality of drivers for driving each servo motor, and a host device for overall control thereof, such as a robot and a line control device, and an inter-axis synchronization method thereof About.
[0002]
[Prior art]
In this type of multi-axis control device, a combination of a servo motor and a servo driver including a driver that drives the servo motor is called a drive shaft, and the servo driver in each drive shaft receives a position command value from a host device and receives a certain fixed value. Control is performed at each processing cycle. In other words, each servo driver receives a position detection signal from a detector, for example, a position detector, installed in the control target unit, and calculates PI (proportional / integral) or the like from the deviation between the position detection value and the position command value. A control calculation is performed, an operation amount for the driver is determined, and the operation amount is output. The driver is, for example, a PWM (Pulse Width Modulation) current control unit. A certain processing cycle is defined by a cycle of a clock generation source built in each servo driver.
[0003]
[Problems to be solved by the invention]
The multi-axis control device as described above has the following problems.
[0004]
(1) The processing cycle between the host device that generates the position command and the servo driver is not synchronized, and in the case of a driver that operates when the position command is sent and received, the movement between the drive axes is very small due to unevenness in the position command receiving cycle of the driver There are problems that vary.
[0005]
(2) When a PWM current control unit is used as a driver and the processing cycles of a plurality of servo drivers are not synchronized, the processing cycle varies among the servo drivers, so noise in the PWM current control unit of a certain drive axis May interfere with other drive shafts.
[0006]
(3) In a multi-axis control device that synchronizes with an interrupt signal that is common between servo drivers, the processing cycle of the servo driver is synchronized, but the phase at n times the processing cycle cannot be defined. For example, in the case of a servo driver that receives a position command once every n processing cycles, the phase of this cycle cannot be defined among a plurality of servo drivers. Even if the position command is issued simultaneously to the drive shaft, there is a problem that the operation start time varies by the amount of phase shift.
[0007]
Therefore, an object of the present invention is to supply a common synchronization pulse from a host device to a plurality of servo drivers so that each servo driver can perform processing at a processing cycle synchronized with the synchronization pulse. An object of the present invention is to provide a multi-axis control device and a method for synchronizing the axes.
[0008]
Another object of the present invention is to provide a multi-axis control apparatus and an inter-axis synchronization method that can match the phase of the processing cycle in each servo driver with the phase of the synchronization pulse.
[0009]
Still another object of the present invention is to provide a multi-axis control apparatus and an inter-axis synchronization method capable of realizing synchronization among a plurality of servo drivers.
[0010]
[Means for Solving the Problems]
According to the present invention, the motor has a plurality of drive shafts, and each drive shaft is given the same synchronization pulse with the cycle n from the host device, and each drive shaft has an internal cycle generated based on the synchronization pulse. In the multi-axis control apparatus in which n times of processing is performed per cycle of the synchronization pulse, an ideal count value Ci when one cycle of the synchronization pulse is counted with a reference clock is given in advance. A pulse period detector for detecting the period of the synchronization pulse by counting from the falling (or rising) edge of the synchronization pulse to the next falling (or rising) edge with a reference clock; and the pulse period detection Period setting means for setting the internal period based on the detection result of the detector, the period setting means at any sync pulse period. The shift amount d is calculated from the actual count value Cx of the sync pulse from the pulse cycle detector and the ideal count value Ci, and the internal cycle in the next sync pulse cycle after the arbitrary sync pulse cycle is calculated. By providing (Ci + d) / n, there is provided a multi-axis control device characterized in that synchronization between the synchronization pulse and the internal period is realized.
[0011]
Further, according to the present invention, a sequence number of 1 to m (where m <n) is given to the processing of n times per cycle of the synchronization pulse in each drive axis, and processing determined by the sequence number is performed. And correction processing means for matching the processing with the desired sequence number to the falling (or rising) edge of the synchronization pulse, and the correction processing means has the rising edge of the synchronization pulse for each processing with the sequence number. It is determined whether a falling (or rising) edge is included, a sequence number when the falling (or rising) edge is included is determined, a difference from the desired sequence number is calculated, and the difference is calculated. If it is equal to or greater than 1, the next of the synchronization pulse of the period in which the falling (or rising) edge was included The internal period corresponding to this is calculated so that the number of processes in the period is (n-1), and (n-1) times of processing is performed in the calculated internal period in the next period of the synchronization pulse. The multi-axis control device is characterized in that the above-described operation is repeated until the difference becomes 0, that is, until the falling (or rising) edge of the synchronization pulse enters the processing with the desired sequence number. Is done.
[0012]
Further, according to the present invention, the correction processing unit further determines whether a falling (or rising) edge of the synchronization pulse is included for each processing by the sequence number, and the falling (or rising) edge is determined. When it has entered, the count value Cy of the synchronization pulse at that time is read, and the calculation of the internal period in the next period of the sync pulse is performed with the target value C + gt of the phase to be matched with the read count value Cy. The multi-axis control apparatus is characterized in that the phase adjustment of the internal period with respect to the falling edge (or rising edge) of the synchronization pulse is performed by adding the difference between the two.
[0013]
The inter-axis synchronization method according to the present invention has a plurality of drive shafts by a motor, and each drive shaft is given the same synchronization pulse with a period n from a host device, and each drive shaft is generated based on the synchronization pulse. An inter-axis synchronization method for a multi-axis control apparatus in which n times of processing is performed per cycle of the synchronization pulse in an internal cycle, and an ideal count value Ci when one cycle of the synchronization pulse is counted with a reference clock is given in advance. In each drive axis, the period of the synchronization pulse is detected by counting with a reference clock from the falling (or rising) edge of the synchronization pulse to the next falling (or rising) edge, and Based on the detection result of the pulse period detector, an operation for setting the internal period is executed. The shift amount d is calculated from the actual count value Cx of the sync pulse from the pulse cycle detector in the pulse cycle and the ideal count value Ci, and the internal pulse in the sync pulse cycle next to the arbitrary sync pulse cycle is calculated. The period is given by (Ci + d) / n, and the synchronization between the synchronization pulse and the internal period is realized.
[0014]
In any of the above-described multi-axis control device and inter-axis synchronization method, when a remainder occurs in the calculation of the internal period (Ci + d) / n, the remainder is added to the calculation for the next period setting. Is done.
[0015]
In the inter-axis synchronization method, a process number determined by a sequence number of 1 to m (where m <n) is given to n processes per period of the synchronization pulse in each drive axis. Further, a correction process is performed to match the process with the desired sequence number to the falling (or rising) edge of the synchronization pulse, and the correction process is performed for each process with the sequence number. It is determined whether a falling (or rising) edge is included, a sequence number when the falling (or rising) edge is included is determined, a difference from the desired sequence number is calculated, and the difference is calculated. Is equal to or greater than 1, the synchronization pulse of the period in which the falling (or rising) edge was included The internal period corresponding to this is calculated so that the number of processes in the period of (n-1) is (n-1). In the next period of the synchronization pulse, (n-1) processes are performed in the calculated internal period. And the above-described operation is repeated until the difference becomes 0, that is, until the falling (or rising) edge of the synchronization pulse enters the process with the desired sequence number.
[0016]
In the inter-axis synchronization method according to the present invention, in the correction process, it is further determined whether a falling (or rising) edge of the synchronization pulse is included for each process by the sequence number, and the falling (or When there is a rising edge, the count value Cy of the sync pulse at that time is read, and the calculation of the internal cycle in the next cycle of the sync pulse is the target value of the phase to be matched with the read count value Cy The phase adjustment of the internal period with respect to the falling edge (or rising edge) of the synchronization pulse is performed by adding the difference from C + gt .
[0017]
[Action]
In the present invention, a plurality of servo drivers input a synchronization pulse that is n times (n is a positive integer) the internal period of the servo driver, which is output by a host device that performs position command generation.
The period of this synchronization pulse is measured with a reference clock inside each servo driver, and the next synchronization is realized with respect to the synchronization pulse by correcting the internal period of the servo driver using this measurement result.
[0018]
A. The internal period of each servo driver is synchronized with the synchronization pulse.
B. Realization of internal cycle synchronization between servo drivers.
C. In each servo driver, the phase of n times the internal period is made to coincide with the phase of the synchronization pulse.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. FIG. 1 shows a configuration example of a multi-axis control apparatus to which the present invention is applied. In FIG. 1, this multi-axis control device is for controlling M (M is a positive integer) servo motors SM-1 to SM-M. Axis servo drivers 20-1 to 20-M. Here, a case where a PWM current control unit is provided as a driver will be described. The PWM current control unit controls the pulse width of the current supplied to the corresponding servo motor, and is well known, so detailed description thereof is omitted.
[0020]
The position command generation unit 10 is based on a reference clock generation source 11, a synchronization pulse generation unit 12 that generates a synchronization pulse based on the reference clock from the reference clock generation source 11, and a reference clock from the reference clock generation source 11. A position command generation unit 13 that generates a position command is included.
[0021]
As for the servo driver 20-1, the servo driver 20 includes a reference clock generation source 21, a position command receiving unit 22 that receives a position command from the position command generating unit 13, a position control processing unit 23, a PWM current control unit 24, a position A pulse generator 25 for detection, a synchronization pulse period detector 26, a synchronization processing unit 27, and a PWM period setting unit 28 are included. The synchronization processing unit 27 and the PWM cycle setting unit 28 constitute an internal cycle correction processing unit. It can be considered that the internal cycle is the same as the processing cycle described above. The pulse generator 25 is a rotary encoder, for example, and generates a pulse signal corresponding to the rotational speed of the servo motor SM-1. This pulse signal becomes a position detection signal indicating the position of the driven part driven by the servo motor SM-1.
[0022]
Since the configuration of other servo drivers is exactly the same as that of the servo driver 20-1, only the servo driver 20-1 will be described below.
[0023]
Here, the configuration comprising the reference clock generating source 21, the position command receiving unit 22, the position control processing unit 23, the PWM current control unit 24, and the position detecting pulse generator 25 is a control system for the servo motor SM-1. It can be considered that the configuration is the same as the conventional one. Briefly, the position control processing unit 23 receives a position detection signal from the pulse generator 25 and also receives a position command value from the position command receiving unit 22, and a deviation between these position detection value and the position command value. Further, a control operation such as PI (proportional / integral) is performed, an operation amount (control amount) for the PWM current control unit 24 is determined, and the operation amount is output. The PWM current control unit 24 performs current control with an internal cycle set by a PWM cycle setting unit 28 described later. Thus, since the internal cycle defines the cycle of processing in the PWM current control unit 24, it is hereinafter referred to as a PWM cycle.
[0024]
The synchronization pulse period detector 26, the synchronization processing unit 27, and the PWM period setting unit 28 receive the synchronization pulse from the synchronization pulse generation unit 12, and synchronize the PWM period with respect to the synchronization pulse (processing A) and the phase of the synchronization pulse. PWM cycle phase adjustment (Processing C) and correction processing (Processing B) for PWM cycle synchronization in each M-axis servo driver are performed.
[0025]
In the following description, it is assumed that the period of the synchronization pulse is n (n is a positive integer), and the PWM current control unit 24 performs n times of processing per synchronization pulse period in the PWM period. It is assumed that a sequence number of 1 to m (where m <n) is given to n processes per synchronization pulse period, and a process determined by this sequence number is performed.
[0026]
First, the synchronization of the PWM period with respect to the synchronization pulse (process A) is performed by the synchronization pulse period detector 26 and the PWM period setting unit 28 as follows. The synchronization pulse period detector 26 detects the period of the synchronization pulse by counting from the falling edge of the synchronization pulse to the next falling edge with the reference clock from the reference clock generation source 21. The PWM cycle setting unit 28 sets the PWM cycle based on the detection result of the synchronization pulse cycle detector 26. Here, it is assumed that an ideal count value when one period of the synchronization pulse is counted by the reference clock is given in advance as Cs. The PWM cycle setting unit 28 calculates the deviation d (= Cs−Cx) from the actual sync pulse count value Cx from the sync pulse cycle detector 26 and the ideal count value Cs in an arbitrary sync pulse cycle, Synchronization between the synchronization pulse and the PWM period is realized by giving the PWM period in the next synchronization pulse period after the arbitrary synchronization pulse period as (Cs + d) / n.
[0027]
The above processing operation will be described with reference to FIG.
[0028]
a. Counting result Cx1 of the synchronization pulse period of the previous period is obtained every n times of processing by the measurement PWM period of the synchronization pulse period. As described above, the ideal count value when the sync pulse period is counted with the reference clock is Cs, the actual sync pulse period count result is Cx1, and the shift amount when there is a shift is (Cs-Cx1).
[0029]
b. Calculation of PWM cycle Cpwm In the above case, the PWM cycle Cpwm in the next synchronization pulse cycle is
Set Cpwm = {Cs + (Cs-Cx1)} / n.
[0030]
As a result, the synchronization pulse and the PWM cycle are synchronized. That is, in the next synchronization pulse period, (PWM period × n) = synchronization pulse period. However, if a remainder occurs in the above calculation, the remainder is added to the next calculation of the PWM cycle Cpwm.
[0031]
In the above processing, it is not possible to define, for example, which part of the synchronization pulse the n-th PWM period among the n PWM periods distributed per synchronization pulse period. The processing for enabling this is the following processing (processing B) performed including the synchronization processing unit 27 of FIG. That is, the following processing is sequence number matching processing of processing in the PWM cycle with respect to the synchronization pulse. In other words, it is a correction process for matching the process with the desired sequence number to the falling edge of the sync pulse.
[0032]
This correction process determines whether the falling edge of the sync pulse is included for each process based on the sequence number, determines the sequence number when the falling edge is included, and calculates the difference from the desired sequence number If this difference is 1 or more, the corresponding PWM cycle is calculated so that the number of processes in the next cycle of the synchronization pulse having the falling edge is (n-1) times. Then, in the next cycle of the synchronization pulse, (n-1) times of processing is performed at the calculated PWM cycle. Then, the above operation is repeated until the falling edge of the synchronization pulse enters the process with the desired sequence number, that is, until the difference becomes zero.
[0033]
The above correction process will be described with reference to FIG. In FIG. 3, as described above, a sequence number of 1 to m (here, m = 5) is given to the processing of n times (here, n = 15) per synchronization pulse, and this sequence number is given. Processing determined by is performed. The number n is given as a parameter in advance.
[0034]
It is determined whether or not the falling edge e1 of the synchronizing pulse has entered every processing in the PWM period in a certain synchronizing pulse period. In FIG. 3, the sequence number when the falling edge is entered is 3, but it is assumed that 1 is desired. In this case, the number of processings in the PWM period in the next synchronization pulse period is reduced by 1, and n ′ = 14. This means that the PWM period is slightly longer than the PWM period in the previous synchronization pulse period. As a result, the sequence number is 2 when the falling edge of the next next synchronization pulse (the falling edge of the next next period synchronization pulse) e3 is entered. When such correction processing is performed once again, the falling edge of the next synchronization pulse of the next cycle, that is, the falling edge of the synchronization pulse of the fourth cycle enters sequence number 1.
[0035]
This correction process can be performed once for every two periods of the synchronization pulse. When the sequence number is corrected from 3 to 1, as described above, it is performed for four periods of the synchronization pulse. By performing such correction processing on all servo drivers, the processing sequence numbers in all servo drivers are made the same, that is, matching the sequence numbers between servo drivers, that is, achieving synchronization between servo drivers. can do.
[0036]
However, even in the correction processing described above, there is a possibility that a shift of one maximum PWM cycle occurs in the phase of the PWM cycle between the falling edge of the synchronization pulse and the PWM cycle (FIG. 4a). Processing for correcting such a phase shift and performing phase alignment of the PWM period with respect to the falling edge of the synchronization pulse is the following phase alignment processing. The synchronization processing unit 27 is also used in this phase matching process.
[0037]
In this phase matching process (Process C), it is determined whether or not a falling edge of the synchronization pulse is included for each process based on the sequence number. When the falling edge is included, the actual synchronization pulse detector 26 at that time is actually detected. The count value Cy is read. Then, by calculating the PWM period in the next period of the synchronization pulse after adding the difference between the count value Cy and the target value C + gt of the phase to be matched, the PWM period for the falling edge of the synchronization pulse Perform phase alignment. According to this phase matching process, the phase of the PWM period with respect to the falling edge of the synchronization pulse becomes a value close to the given target value C + gt .
[0038]
The phase matching process will be described with reference to FIG. In FIG. 4A, the count value Cy of the synchronization pulse period at that time is read only when the falling edge of the synchronization pulse is detected in the processing in the PWM period. In FIG. 4A, ε represents that a shift due to a time delay occurs when the count value of the synchronization pulse period is obtained by software calculation processing. Subsequently, a deviation ε (= C + gt− Cy) is added in the calculation of the next PWM cycle Cpwm ′ so that the count value Cy of the synchronization pulse cycle becomes the target value C + gt . In other words,
Cpwm ′ = (n × Cpwm + ε) / n
Thus, the PWM cycle Cpwm ′ in the next synchronization pulse cycle is calculated.
[0039]
As a result, correction is applied in the direction in which the deviation ε approaches zero. That is, the count value Cy approaches the target value C + gt .
[0040]
5 and 6 are flowcharts showing the flow of the processes A to C described above. In the process A, steps S1 to S3, S7, S9, and S11 are executed, and in the process B, steps S4, S5, and S8 are further executed. In process C, steps S6 and S10 are also executed.
[0041]
In the above description, the case where the synchronization of the PWM period, the correction of the sequence number, and the phase alignment are performed with respect to the falling edge of the synchronization pulse, but the case where the synchronization pulse is performed with respect to the rising edge of the synchronization pulse is exactly the same. is there.
[0042]
The multi-axis control device according to the present invention is suitable for a multi-axis positioning control device having a delay in a position command transmission path, a multi-axis positioning control device that uses a shared memory, etc., and performs position command transmission with a command of a fixed period Yes.
[0043]
【The invention's effect】
As described above, according to the present invention, the following effects can be obtained.
[0044]
(1) Speed errors between a plurality of servo motor shafts can be strictly eliminated.
(2) Interference due to PWM noise between a plurality of servo drivers can be prevented.
(3) By synchronizing the PWM cycle of the servo driver with the synchronization cycle of the host device that generates the position command, it is possible to eliminate variations in the position command reception timing among multiple axes, and the operation on each axis Deviation in start timing can be eliminated.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example of a multi-axis control device according to the present invention.
FIG. 2 is a diagram for explaining synchronization processing between a synchronization pulse and a PWM cycle according to the present invention.
FIG. 3 is a diagram for explaining a sequence number correction process for a synchronization pulse according to the present invention;
FIG. 4 is a diagram for explaining a phase adjustment process of a PWM cycle with respect to a synchronization pulse according to the present invention.
FIG. 5 is a flowchart for explaining the first half of the processing of FIGS.
6 is a flowchart for explaining the latter half of the processing of FIGS. 2 to 4; FIG.
[Explanation of symbols]
SM-1 to SM-M Servo motor 10 Position command generation unit 11, 21 Reference clock generation source 12 Synchronization pulse generation unit 20-1 to 20-M Servo driver 22 Position command reception unit 23 Position control processing unit 24 PWM current control unit 25 Pulse generator 26 Sync pulse cycle detector 27 Synchronization processor 28 PWM cycle setting unit

Claims (8)

モータによる複数の駆動軸を有し、各駆動軸には上位装置から周期nの同じ同期パルスが与えられ、各駆動軸では前記同期パルスに基づいて生成される内部周期で前記同期パルス1周期当たりn回の処理が行われる複数軸制御装置であって、
前記同期パルスの1周期を基準クロックでカウントした場合の理想カウント値Ciがあらかじめ与えられ、
各駆動軸には、前記同期パルスの立ち下がり(あるいは立ち上がり)エッジから次の立ち下がり(あるいは立ち上がり)エッジまでを基準クロックでカウントすることにより前記同期パルスの周期を検出するためのパルス周期検出器と、該パルス周期検出器の検出結果に基づいて前記内部周期を設定する周期設定手段とを備え、
前記周期設定手段は、任意の同期パルス周期における前記パルス周期検出器からの実際の前記同期パルスのカウント値Cxと、前記理想カウント値Ciとからずれ量dを算出し、前記任意の同期パルス周期の次の同期パルス周期における前記内部周期を(Ci+d)/nで与えることにより、前記同期パルスと前記内部周期との同期を実現するようにしたことを特徴とする複数軸制御装置。
It has a plurality of drive shafts by a motor, and each drive shaft is given the same synchronization pulse of cycle n from the host device, and each drive shaft has an internal cycle generated based on the synchronization pulse per cycle of the synchronization pulse. A multi-axis control device that performs n times of processing,
An ideal count value Ci when one period of the synchronization pulse is counted with a reference clock is given in advance,
Each drive axis has a pulse period detector for detecting the period of the synchronization pulse by counting from the falling (or rising) edge of the synchronization pulse to the next falling (or rising) edge with a reference clock. And period setting means for setting the internal period based on the detection result of the pulse period detector,
The period setting means calculates a deviation amount d from the actual count value Cx of the sync pulse from the pulse period detector in the arbitrary sync pulse period and the ideal count value Ci, and the arbitrary sync pulse period A multi-axis control device characterized in that the synchronization between the synchronization pulse and the internal cycle is realized by giving the internal cycle in the next synchronization pulse cycle as (Ci + d) / n.
請求項1記載の複数軸制御装置において、前記内部周期(Ci+d)/nの算出において余りが生じた場合には、該余りは次回の周期設定のための計算に加算されることを特徴とする複数軸制御装置。2. The multi-axis control device according to claim 1, wherein when a remainder occurs in calculation of the internal period (Ci + d) / n, the remainder is added to a calculation for a next period setting. Multi-axis control device. 請求項1あるいは2記載の複数軸制御装置において、
各駆動軸における前記同期パルス1周期当たりn回の処理には1〜m(但し、m<n)のシーケンス番号が与えられて、該シーケンス番号で決まる処理が行われ、
更に、前記同期パルスの立ち下がり(あるいは立ち上がり)エッジに所望の前記シーケンス番号による処理を合わせるための補正処理手段を備え、
該補正処理手段は、前記シーケンス番号による処理毎に前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが入っているかを判定し、前記立ち下がり(あるいは立ち上がり)エッジが入っていた時のシーケンス番号を判別すると共に、前記所望のシーケンス番号との差を算出し、前記差が1以上である場合には、前記立ち下がり(あるいは立ち上がり)エッジが入っていた周期の前記同期パルスの次の周期における処理数を(n−1)とするようにこれに対応する内部周期を算出し、
前記同期パルスの次の周期では、前記算出された内部周期で(n−1)回の処理が行われ、
上記の動作を、前記差が0になるまで、つまり前記同期パルスの立ち下がり (あるいは立ち上がり)エッジが前記所望のシーケンス番号による処理に入るまで繰り返すことを特徴とする複数軸制御装置。
The multi-axis control device according to claim 1 or 2,
A sequence number of 1 to m (where m <n) is given to the processing of n times per cycle of the synchronization pulse in each drive axis, and processing determined by the sequence number is performed.
Furthermore, it comprises a correction processing means for matching the processing with the desired sequence number to the falling (or rising) edge of the synchronization pulse,
The correction processing means determines whether the falling edge (or rising edge) of the sync pulse is included for each processing based on the sequence number, and determines the sequence number when the falling edge (or rising edge) is included. In addition, when the difference from the desired sequence number is calculated and the difference is 1 or more, the number of processes in the next cycle of the synchronization pulse in the cycle in which the falling (or rising) edge was included The internal cycle corresponding to this is calculated so that is (n-1),
In the next cycle of the synchronization pulse, (n−1) times of processing is performed in the calculated internal cycle,
A multi-axis control apparatus, wherein the above operation is repeated until the difference becomes 0, that is, until the falling edge (or rising edge) of the synchronization pulse enters the processing by the desired sequence number.
請求項3記載の複数軸制御装置において、
前記補正処理手段は更に、前記シーケンス番号による処理毎に前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが入っているかを判定して、前記立ち下がり(あるいは立ち上がり)エッジが入っていた時には、その時点での前記同期パルスのカウント値Cyを読み込んで前記同期パルスの次の周期における内部周期の算出を、前記読み込んだカウント値Cyと合わせたい位相の目標値C+gt との差分を加算したうえで行うことにより、前記同期パルス立ち下がり(あるいは立ち上がり)エッジに対する前記内部周期の位相合わせを行うようにしたことを特徴とする複数軸制御装置。
The multi-axis control device according to claim 3, wherein
The correction processing means further determines whether a falling (or rising) edge of the synchronization pulse is included for each processing by the sequence number, and when the falling (or rising) edge is included, After reading the count value Cy of the sync pulse at, and calculating the internal cycle in the next cycle of the sync pulse, after adding the difference between the read count value Cy and the target value C + gt of the phase to be matched A multi-axis control apparatus characterized in that, by performing the phase adjustment of the internal period with respect to the falling edge (or rising edge) of the synchronization pulse.
モータによる複数の駆動軸を有し、各駆動軸には上位装置から周期nの同じ同期パルスが与えられ、各駆動軸では前記同期パルスに基づいて生成される内部周期で前記同期パルス1周期当たりn回の処理が行われる複数軸制御装置の軸間同期方法であって、
前記同期パルスの1周期を基準クロックでカウントした場合の理想カウント値Ciがあらかじめ与えられており、
各駆動軸においては、前記同期パルスの立ち下がり(あるいは立ち上がり)エッジから次の立ち下がり(あるいは立ち上がり)エッジまでを基準クロックでカウントすることにより前記同期パルスの周期を検出すると共に、該パルス周期検出器の検出結果に基づいて前記内部周期を設定する動作を実行し、
前記内部周期設定動作は、任意の同期パルス周期における前記パルス周期検出器からの実際の前記同期パルスのカウント値Cxと、前記理想カウント値Ciとからずれ量dを算出し、前記任意の同期パルス周期の次の同期パルス周期における前記内部周期を(Ci+d)/nで与えることにより、前記同期パルスと前記内部周期との同期を実現するようにしたことを特徴とする複数軸制御装置における軸間同期方法。
It has a plurality of drive shafts by a motor, and each drive shaft is given the same synchronization pulse of cycle n from the host device, and each drive shaft has an internal cycle generated based on the synchronization pulse per cycle of the synchronization pulse. An inter-axis synchronization method for a multi-axis control device in which n processes are performed,
An ideal count value Ci when one period of the synchronization pulse is counted with a reference clock is given in advance,
In each drive axis, the period of the synchronization pulse is detected by counting from the falling (or rising) edge of the synchronization pulse to the next falling (or rising) edge with a reference clock, and the pulse period is detected. Executing the operation of setting the internal period based on the detection result of the device,
The internal cycle setting operation calculates a deviation amount d from the actual count value Cx of the sync pulse from the pulse cycle detector in the arbitrary sync pulse cycle and the ideal count value Ci, and the arbitrary sync pulse In the multi-axis controller, the synchronization between the synchronization pulse and the internal cycle is realized by giving the internal cycle in the next synchronization pulse cycle as (Ci + d) / n. Synchronization method.
請求項5記載の軸間同期方法において、前記内部周期(Ci+d)/nの算出において余りが生じた場合には、該余りは次回の周期設定のための計算に加算されることを特徴とする複数軸制御装置における軸間同期方法。6. The inter-axis synchronization method according to claim 5, wherein when a remainder occurs in the calculation of the internal period (Ci + d) / n, the remainder is added to the calculation for the next period setting. Inter-axis synchronization method in a multi-axis control device. 請求項5あるいは6記載の軸間同期方法において、
各駆動軸における前記同期パルス1周期当たりn回の処理には1〜m(但し、m<n)のシーケンス番号が与えられて、該シーケンス番号で決まる処理が行われ、
更に、前記同期パルスの立ち下がり(あるいは立ち上がり)エッジに所望の前記シーケンス番号による処理を合わせるための補正処理を実行し、
該補正処理は、前記シーケンス番号による処理毎に前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが入っているかを判定し、前記立ち下がり(あるいは立ち上がり)エッジが入っていた時のシーケンス番号を判別すると共に、前記所望のシーケンス番号との差を算出し、前記差が1以上である場合には、前記立ち下がり(あるいは立ち上がり)エッジが入っていた周期の前記同期パルスの次の周期における処理数を(n−1)とするようにこれに対応する内部周期を算出し、
前記同期パルスの次の周期では、前記算出された内部周期で(n−1)回の処理が行われ、
上記の動作を、前記差が0になるまで、つまり前記同期パルスの立ち下がり (あるいは立ち上がり)エッジが前記所望のシーケンス番号による処理に入るまで繰り返すことを特徴とする複数軸制御装置における軸間同期方法。
In the inter-axis synchronization method according to claim 5 or 6,
A sequence number of 1 to m (where m <n) is given to the processing of n times per cycle of the synchronization pulse in each drive axis, and processing determined by the sequence number is performed.
Further, a correction process is performed to match the process with the desired sequence number to the falling (or rising) edge of the synchronization pulse,
The correction processing determines whether the falling edge (or rising edge) of the synchronization pulse is included for each processing based on the sequence number, and determines the sequence number when the falling edge (or rising edge) is included. At the same time, the difference from the desired sequence number is calculated, and when the difference is 1 or more, the number of processes in the next cycle of the synchronization pulse of the cycle in which the falling (or rising) edge is included is calculated. Calculate the internal period corresponding to (n-1),
In the next cycle of the synchronization pulse, (n−1) times of processing is performed in the calculated internal cycle,
The above-described operation is repeated until the difference becomes zero, that is, until the falling (or rising) edge of the synchronization pulse enters the process with the desired sequence number. Method.
請求項7記載の軸間同期方法において、
前記補正処理おいて更に、前記シーケンス番号による処理毎に前記同期パルスの立ち下がり(あるいは立ち上がり)エッジが入っているかを判定して、前記立ち下がり(あるいは立ち上がり)エッジが入っていた時には、その時点での前記同期パルスのカウント値Cyを読み込んで前記同期パルスの次の周期における内部周期の算出を、前記読み込んだカウント値Cyと合わせたい位相の目標値C+gt との差分を加算したうえで行うことにより、前記同期パルス立ち下がり(あるいは立ち上がり)エッジに対する前記内部周期の位相合わせを行うようにしたことを特徴とする複数軸制御装置における軸間同期方法。
The inter-axis synchronization method according to claim 7,
Further, in the correction process, it is determined whether the falling edge (or rising edge) of the synchronization pulse is included for each processing based on the sequence number, and when the falling edge (or rising edge) is included, After reading the count value Cy of the sync pulse at, and calculating the internal cycle in the next cycle of the sync pulse, after adding the difference between the read count value Cy and the target value C + gt of the phase to be matched An inter-axis synchronization method in a multi-axis control device, wherein the phase adjustment of the internal period with respect to the falling (or rising) edge of the synchronization pulse is performed.
JP2001276048A 2001-09-12 2001-09-12 Multi-axis control device and synchronization method therefor Expired - Lifetime JP4638094B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001276048A JP4638094B2 (en) 2001-09-12 2001-09-12 Multi-axis control device and synchronization method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001276048A JP4638094B2 (en) 2001-09-12 2001-09-12 Multi-axis control device and synchronization method therefor

Publications (2)

Publication Number Publication Date
JP2003088184A JP2003088184A (en) 2003-03-20
JP4638094B2 true JP4638094B2 (en) 2011-02-23

Family

ID=19100814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001276048A Expired - Lifetime JP4638094B2 (en) 2001-09-12 2001-09-12 Multi-axis control device and synchronization method therefor

Country Status (1)

Country Link
JP (1) JP4638094B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5301180B2 (en) * 2008-03-13 2013-09-25 東芝機械株式会社 Synchronous AC servo motor and its control system
JP4980453B2 (en) * 2010-09-06 2012-07-18 ファナック株式会社 Servo control system for high-precision machining
JP5748126B2 (en) * 2011-09-13 2015-07-15 富士電機株式会社 Synchronous control system
JP2019101480A (en) 2017-11-28 2019-06-24 オムロン株式会社 Control device and control method
CN114448293B (en) * 2022-04-06 2022-07-05 中汽创智科技有限公司 Motor synchronous control method, system, vehicle and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156977A (en) * 1984-12-27 1986-07-16 Sony Corp Synchronous signal extracting circuit
JPS62122987A (en) * 1985-11-15 1987-06-04 三菱重工業株式会社 Synchronous controller for main machine and slave machine
JPH0349592A (en) * 1989-04-26 1991-03-04 Fanuc Ltd Phase synchronous revolution control system
JPH0568392A (en) * 1991-09-06 1993-03-19 Toshiba Corp Speed controller for motor
JPH08205574A (en) * 1995-01-30 1996-08-09 Matsushita Electric Ind Co Ltd Digital servo device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156977A (en) * 1984-12-27 1986-07-16 Sony Corp Synchronous signal extracting circuit
JPS62122987A (en) * 1985-11-15 1987-06-04 三菱重工業株式会社 Synchronous controller for main machine and slave machine
JPH0349592A (en) * 1989-04-26 1991-03-04 Fanuc Ltd Phase synchronous revolution control system
JPH0568392A (en) * 1991-09-06 1993-03-19 Toshiba Corp Speed controller for motor
JPH08205574A (en) * 1995-01-30 1996-08-09 Matsushita Electric Ind Co Ltd Digital servo device

Also Published As

Publication number Publication date
JP2003088184A (en) 2003-03-20

Similar Documents

Publication Publication Date Title
US7525263B2 (en) Control system
JP3486774B2 (en) Multi-axis control system
JP2013114340A (en) Motor controller for synchronously controlling master shaft and slave shafts
JP2003200332A (en) Control device for gear machining
JP4638094B2 (en) Multi-axis control device and synchronization method therefor
JP5748126B2 (en) Synchronous control system
JP2007252138A (en) Motor controller
JP2003330510A (en) Synchronous control method of numerical control apparatus
JP2005094933A (en) Motor driving device
JP2003348873A (en) Revolution controller of brushless motor
JP2007025759A (en) Electric motor driving device, position instruction device and positioning device
JP2013169063A (en) Motor controller, robot device, and method for controlling motor
JP2001178166A (en) Speed control apparatus for motor
JP2002136168A (en) Drive control method and drive control device for brushless motor
JP2526855B2 (en) Brushless motor controller
JPH08194541A (en) Position controller
JP3347777B2 (en) Phase controller
JP2000060177A (en) Speed controller for dc brushless motor
JPH01186190A (en) Synchronous controller
JP2003092895A (en) Torque controller for dc brushless motor
JP2629784B2 (en) Synchronous control device
JP2735324B2 (en) Motor rotation speed control device
JPS61151713A (en) Digital servo device with zero point correction
JP2003084833A (en) Synchronous control system for process line with plural machine shafts
JPH0817586B2 (en) Digital controller

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20080520

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080523

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080618

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101028

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: 20101104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101125

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4638094

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term