JPH103311A - 通信サーボ制御装置 - Google Patents
通信サーボ制御装置Info
- Publication number
- JPH103311A JPH103311A JP15559696A JP15559696A JPH103311A JP H103311 A JPH103311 A JP H103311A JP 15559696 A JP15559696 A JP 15559696A JP 15559696 A JP15559696 A JP 15559696A JP H103311 A JPH103311 A JP H103311A
- Authority
- JP
- Japan
- Prior art keywords
- controller
- servo
- axis
- calculation result
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Numerical Control (AREA)
Abstract
(57)【要約】
【課題】 MPUの能力を最大限発揮させることによ
り、一定時間内により多くの処理を実行させて、スルー
プットを向上させる。 【解決手段】 NC1からは、各軸に対して位置指令が
出力され、サーボコントローラ3-Wに分配される。サー
ボコントローラ3-Wでは、各軸に該当する位置指令を識
別及び受信して、所定の演算ループを実行して、次のサ
ーボコントローラ3-Xにネットワーク2を介して伝送す
る。該当する演算結果を受信したサーボコントローラ3
-Xは、割り当てられている演算ループを実行し、さら
に、次のサーボコントローラ3-Yに演算結果を伝送す
る。以下順にパイプライン処理して、最後の演算を実行
したサーボコントローラ3-Zは、各軸についての電流指
令を演算する。電流指令は、ネットワーク2を介して、
各軸対応の所定のサーボコントローラ3に伝送される。
サーボアンプ4は、これをドライブ指令として供給し、
各サーボモータ5-W,5-X,5-Y,5-Zが駆動される。
り、一定時間内により多くの処理を実行させて、スルー
プットを向上させる。 【解決手段】 NC1からは、各軸に対して位置指令が
出力され、サーボコントローラ3-Wに分配される。サー
ボコントローラ3-Wでは、各軸に該当する位置指令を識
別及び受信して、所定の演算ループを実行して、次のサ
ーボコントローラ3-Xにネットワーク2を介して伝送す
る。該当する演算結果を受信したサーボコントローラ3
-Xは、割り当てられている演算ループを実行し、さら
に、次のサーボコントローラ3-Yに演算結果を伝送す
る。以下順にパイプライン処理して、最後の演算を実行
したサーボコントローラ3-Zは、各軸についての電流指
令を演算する。電流指令は、ネットワーク2を介して、
各軸対応の所定のサーボコントローラ3に伝送される。
サーボアンプ4は、これをドライブ指令として供給し、
各サーボモータ5-W,5-X,5-Y,5-Zが駆動される。
Description
【0001】
【発明の属する技術分野】本発明は、NC工作機械の通
信サーボ制御装置に係るもので、特に、複数のサーボコ
ントローラを含み、各サーボコントローラ間でデータの
通信制御を行うことにより、高速かつ高効率に処理を行
うサーボ制御システムに関するものである。
信サーボ制御装置に係るもので、特に、複数のサーボコ
ントローラを含み、各サーボコントローラ間でデータの
通信制御を行うことにより、高速かつ高効率に処理を行
うサーボ制御システムに関するものである。
【0002】
【従来の技術】一般に、多軸のNC工作機械のサーボコ
ントローラにおいては、制御周期毎に、また軸毎に同様
の計算を行い、サーボモータの制御を行っている。この
NC工作機械で使用しているデジタルサーボ系の計算
は、比較的単純なループ計算の繰り返しである場合が多
い。現状のサーボコントローラを含む制御システムで
は、各軸のサーボコントローラが位置・速度・トルク等
の制御ループを、軸毎に個別に計算している。また、こ
のような計算には、通常、マイクロプロセッサ(MP
U)が使用されており、軸毎に1つずつ備えられてい
る。
ントローラにおいては、制御周期毎に、また軸毎に同様
の計算を行い、サーボモータの制御を行っている。この
NC工作機械で使用しているデジタルサーボ系の計算
は、比較的単純なループ計算の繰り返しである場合が多
い。現状のサーボコントローラを含む制御システムで
は、各軸のサーボコントローラが位置・速度・トルク等
の制御ループを、軸毎に個別に計算している。また、こ
のような計算には、通常、マイクロプロセッサ(MP
U)が使用されており、軸毎に1つずつ備えられてい
る。
【0003】図9に、従来の通信サーボ制御装置のシス
テム構成図を示す。
テム構成図を示す。
【0004】数値制御装置(NC)91は、マイクロプ
ロセッサ等で構成され、全体の制御を行う。NC91
は、通信線92を介して、複数のサーボコントローラ9
3-W,93-X,93-Y,93-Zに接続されている(以
下、「-W」,「-X」,「-Y」,「-Z」は、W、X、Y、
Zの各軸に対応する添字である。)。各サーボコントロ
ーラ93-W,93-X,93-Y,93-Zは、例えば、デジ
タルサーボコントローラで構成され、それぞれ主軸等の
軸、及びX軸、Y軸、Z軸に対応して設けられており、
各軸の位置・速度・トルク等の各値を演算する。各サー
ボコントローラ93-W,93-X,93-Y,93-Zは、そ
れぞれ、各サーボアンプ94-W,94-X,94-Y,94
-Zに接続され、所定の電流に増幅される。サーボアンプ
94-W,94-X,94-Y,94-Zは、それぞれ、サーボ
モータ95-W,95-X,95-Y,95-Zに接続される。
各サーボモータ95は、所定の位置・速度・トルク等に
制御され軸移動・加工等を行う。
ロセッサ等で構成され、全体の制御を行う。NC91
は、通信線92を介して、複数のサーボコントローラ9
3-W,93-X,93-Y,93-Zに接続されている(以
下、「-W」,「-X」,「-Y」,「-Z」は、W、X、Y、
Zの各軸に対応する添字である。)。各サーボコントロ
ーラ93-W,93-X,93-Y,93-Zは、例えば、デジ
タルサーボコントローラで構成され、それぞれ主軸等の
軸、及びX軸、Y軸、Z軸に対応して設けられており、
各軸の位置・速度・トルク等の各値を演算する。各サー
ボコントローラ93-W,93-X,93-Y,93-Zは、そ
れぞれ、各サーボアンプ94-W,94-X,94-Y,94
-Zに接続され、所定の電流に増幅される。サーボアンプ
94-W,94-X,94-Y,94-Zは、それぞれ、サーボ
モータ95-W,95-X,95-Y,95-Zに接続される。
各サーボモータ95は、所定の位置・速度・トルク等に
制御され軸移動・加工等を行う。
【0005】つぎに、このような従来の通信サーボ制御
装置の動作を説明する。NC91からは、各軸に対して
位置指令が出力される。位置指令は、通信線92によ
り、各サーボコントローラ93-W,93-X,93-Y,9
3-Zに分配される。各サーボコントローラ93では、そ
れぞれ該当する位置指令を選択し、該当する軸について
の電流指令を演算する。サーボアンプ94は、この電流
指令を増幅し、ドライブ電流とする。各サーボモータ9
5-W,95-X,95-Y,95-Zは、各ドライブ電流によ
り、位置調整、切削等の所定の工作動作を行う。
装置の動作を説明する。NC91からは、各軸に対して
位置指令が出力される。位置指令は、通信線92によ
り、各サーボコントローラ93-W,93-X,93-Y,9
3-Zに分配される。各サーボコントローラ93では、そ
れぞれ該当する位置指令を選択し、該当する軸について
の電流指令を演算する。サーボアンプ94は、この電流
指令を増幅し、ドライブ電流とする。各サーボモータ9
5-W,95-X,95-Y,95-Zは、各ドライブ電流によ
り、位置調整、切削等の所定の工作動作を行う。
【0006】図10に、従来の通信サーボ制御装置の具
体的な動作説明図を示す。例えば、サーボコントローラ
93-Xの演算がAX,BX,CX,DXという4つの演
算ループで構成されているとする。同様に、他のデジタ
ルサーボ93-Y,93-Z,93-Wの演算も、それぞれA
Y〜DY,AZ〜DZ,AW〜DWという4つのループ
で構成されるものにする。そして、これらの4つの演算
ループは、各々のサーボコントローラ93-X〜93-Z,
93-W内の各マイクロプロセッサのキャッシュメモリに
全て収まるが、2つは同時に収まらないものとする。ま
た、A、B、C、Dの各演算ループを単純に実行する
と、それぞれ6単位時間かかるものとする。但し、各演
算ループ間の演算結果を通信する時間は、わずかなもの
と想定されるので、通信時間は無視した。
体的な動作説明図を示す。例えば、サーボコントローラ
93-Xの演算がAX,BX,CX,DXという4つの演
算ループで構成されているとする。同様に、他のデジタ
ルサーボ93-Y,93-Z,93-Wの演算も、それぞれA
Y〜DY,AZ〜DZ,AW〜DWという4つのループ
で構成されるものにする。そして、これらの4つの演算
ループは、各々のサーボコントローラ93-X〜93-Z,
93-W内の各マイクロプロセッサのキャッシュメモリに
全て収まるが、2つは同時に収まらないものとする。ま
た、A、B、C、Dの各演算ループを単純に実行する
と、それぞれ6単位時間かかるものとする。但し、各演
算ループ間の演算結果を通信する時間は、わずかなもの
と想定されるので、通信時間は無視した。
【0007】図10のように、各サーボコントローラ9
3では、位置指令が入力されてから、演算ループA、
B、C、Dの順序で演算を実行し、電流指令を出力す
る。したがって、以上のような場合には、6単位時間x
4演算ループ=24単位時間を要することになる。
3では、位置指令が入力されてから、演算ループA、
B、C、Dの順序で演算を実行し、電流指令を出力す
る。したがって、以上のような場合には、6単位時間x
4演算ループ=24単位時間を要することになる。
【0008】ところで、近年のマイクロプロセッサ(M
PU)は性能の向上が著しく、キャッシュメモリを備え
たものがある。キャッシュメモリとは、MPUが高速ア
クセス可能な一時記憶用の高速メモリである。ここで、
高速メモリとは、プログラム処理の同期をとるために、
MPUによりウェイトをかけることなくMPUがアクセ
ス可能なメモリである。例えば、高速メモリを用いた場
合は、MPUが1つの命令を処理するのに、1クロック
で処理可能である。一方、低速メモリとは、MPUにウ
ェイトをかけないとアクセスができないメモリである。
普通の低速メモリを用いると1命令に対して2クロック
以上かかり、2ウェイト以上のウェイトがかかることに
なる。すなわち、同じ命令をMPUに実行させる場合、
高速メモリでは1クロックかかるところ、低速メモリで
は2クロック以上かかる。そのため、低速メモリを用い
た場合の処理時間は、高速メモリを用いた場合の2倍以
上かかることになる。
PU)は性能の向上が著しく、キャッシュメモリを備え
たものがある。キャッシュメモリとは、MPUが高速ア
クセス可能な一時記憶用の高速メモリである。ここで、
高速メモリとは、プログラム処理の同期をとるために、
MPUによりウェイトをかけることなくMPUがアクセ
ス可能なメモリである。例えば、高速メモリを用いた場
合は、MPUが1つの命令を処理するのに、1クロック
で処理可能である。一方、低速メモリとは、MPUにウ
ェイトをかけないとアクセスができないメモリである。
普通の低速メモリを用いると1命令に対して2クロック
以上かかり、2ウェイト以上のウェイトがかかることに
なる。すなわち、同じ命令をMPUに実行させる場合、
高速メモリでは1クロックかかるところ、低速メモリで
は2クロック以上かかる。そのため、低速メモリを用い
た場合の処理時間は、高速メモリを用いた場合の2倍以
上かかることになる。
【0009】通常、高速メモリは高価なため、MPUの
システム全体を高速メモリにすることは難しい。そこ
で、通常は、小容量の高速メモリをキャッシュメモリと
してMPUあるいはその周辺に設け、プログラム・デー
タの一部についてのみ、このキャッシュメモリに記憶す
ることにより、アクセス速度を向上させるようにしてい
る。
システム全体を高速メモリにすることは難しい。そこ
で、通常は、小容量の高速メモリをキャッシュメモリと
してMPUあるいはその周辺に設け、プログラム・デー
タの一部についてのみ、このキャッシュメモリに記憶す
ることにより、アクセス速度を向上させるようにしてい
る。
【0010】
【発明が解決しようとする課題】MPUの演算速度につ
いては、キャッシュメモリを多くヒットさせることによ
り、かなりの高速化が見込める。しかし、通常は、キャ
ッシュメモリの容量には制限があるため、プログラムが
大きくなればなるほど、また、処理の分岐等が多くなれ
ばなるほどキャッシュメモリのヒット率は下がることに
なる。
いては、キャッシュメモリを多くヒットさせることによ
り、かなりの高速化が見込める。しかし、通常は、キャ
ッシュメモリの容量には制限があるため、プログラムが
大きくなればなるほど、また、処理の分岐等が多くなれ
ばなるほどキャッシュメモリのヒット率は下がることに
なる。
【0011】前述のように、従来の通信サーボ制御装置
においては、サーボコントローラの制御プログラムは、
複数の演算処理から構成されており、キャッシュメモリ
にプログラムの全てを記憶することは現実的ではない。
このため、プログラム処理が実行されていくにつれ、キ
ャッシュメモリのヒットミスが発生する。そして結果的
に、この際の処理時間が、本来のMPUの能力に比較し
て、長時間かかることになる。
においては、サーボコントローラの制御プログラムは、
複数の演算処理から構成されており、キャッシュメモリ
にプログラムの全てを記憶することは現実的ではない。
このため、プログラム処理が実行されていくにつれ、キ
ャッシュメモリのヒットミスが発生する。そして結果的
に、この際の処理時間が、本来のMPUの能力に比較し
て、長時間かかることになる。
【0012】このように、従来の通信サーボシステムで
は、キャッシュメモリを備えていても、制御プログラム
がある程度膨大になってくると、キャッシュメモリのヒ
ットミスが発生し、MPUの能力の全てを効率的に活用
することができない。
は、キャッシュメモリを備えていても、制御プログラム
がある程度膨大になってくると、キャッシュメモリのヒ
ットミスが発生し、MPUの能力の全てを効率的に活用
することができない。
【0013】そこで、本発明は、MPUの能力を最大限
発揮させることにより、従来のシステムと比較して、一
定時間内により多くの処理を実行させて、スループット
を向上させることを目的とする。また、従来のシステム
に比べて低コストで、複数の同一処理を実行させること
を目的とする。
発揮させることにより、従来のシステムと比較して、一
定時間内により多くの処理を実行させて、スループット
を向上させることを目的とする。また、従来のシステム
に比べて低コストで、複数の同一処理を実行させること
を目的とする。
【0014】
【課題を解決するための手段】本発明では、各軸のサー
ボコントローラの備えるMPUのプログラムを、キャッ
シュメモリに収まる程度の演算ループに細分化し、それ
ぞれの演算ループを各サーボコントローラで専門的に演
算させる。さらに、ひとつのサーボコントローラによる
演算結果を、他のサーボコントローラに次々と通信し
て、パイプライン処理を実行できるように構成すること
により、最高速の演算性能を定常的に実現するようにし
た。
ボコントローラの備えるMPUのプログラムを、キャッ
シュメモリに収まる程度の演算ループに細分化し、それ
ぞれの演算ループを各サーボコントローラで専門的に演
算させる。さらに、ひとつのサーボコントローラによる
演算結果を、他のサーボコントローラに次々と通信し
て、パイプライン処理を実行できるように構成すること
により、最高速の演算性能を定常的に実現するようにし
た。
【0015】本発明の通信サーボ制御装置によると、各
軸についての位置指令を発生する主コントローラと、各
軸についての駆動部が接続された複数の従コントローラ
と、前記主コントローラ及び前記複数の従コントローラ
との間を相互に接続するネットワークとを備えた通信サ
ーボ制御装置において、前記従コントローラは、各々の
従コントローラが互いに異なる専門的な演算処理を行う
ための、キャッシュメモリを有するプロセッサを含み、
各軸についての前記位置指令により、各々前記専門的な
演算処理を各軸について順次実行し、演算結果を相互に
前記ネットワークを介して送受し、前記異なる演算処理
を一連に連結することにより前記複数の従コントローラ
による演算パイプラインを構成し、前記演算パイプライ
ンによる一連の演算ループを前記従コントローラの個数
又は各軸の個数備えるようにしたことを特徴とする通信
サーボ制御装置を提供する。
軸についての位置指令を発生する主コントローラと、各
軸についての駆動部が接続された複数の従コントローラ
と、前記主コントローラ及び前記複数の従コントローラ
との間を相互に接続するネットワークとを備えた通信サ
ーボ制御装置において、前記従コントローラは、各々の
従コントローラが互いに異なる専門的な演算処理を行う
ための、キャッシュメモリを有するプロセッサを含み、
各軸についての前記位置指令により、各々前記専門的な
演算処理を各軸について順次実行し、演算結果を相互に
前記ネットワークを介して送受し、前記異なる演算処理
を一連に連結することにより前記複数の従コントローラ
による演算パイプラインを構成し、前記演算パイプライ
ンによる一連の演算ループを前記従コントローラの個数
又は各軸の個数備えるようにしたことを特徴とする通信
サーボ制御装置を提供する。
【0016】また、前記従コントローラは、キャッシュ
メモリを含み、一連の演算処理の内の互いに異なる部分
的な演算処理を前記キャッシュメモリにより専門的に実
行するプロセッサと、前記部分的な演算処理の演算結果
を相互に前記ネットワークを介して送受し、複数の従コ
ントローラの前記プロセッサにより前記一連の演算処理
を実行する演算パイプラインを構成する通信制御部と、
接続された各軸についての前記駆動部を駆動する駆動制
御部とを備えたことを特徴とする。
メモリを含み、一連の演算処理の内の互いに異なる部分
的な演算処理を前記キャッシュメモリにより専門的に実
行するプロセッサと、前記部分的な演算処理の演算結果
を相互に前記ネットワークを介して送受し、複数の従コ
ントローラの前記プロセッサにより前記一連の演算処理
を実行する演算パイプラインを構成する通信制御部と、
接続された各軸についての前記駆動部を駆動する駆動制
御部とを備えたことを特徴とする。
【0017】
【実施の形態】図1に、本発明に係る通信サーボ制御装
置のシステム構成図を示す。
置のシステム構成図を示す。
【0018】数値制御装置(NC)1は、マイクロプロ
セッサ等で構成され、全体の制御を行う。NC1は、ネ
ットワーク2を介して、複数のサーボコントローラ3-
W,3-X,3-Y,3-Zに接続されている(以下、「-
W」,「-X」,「-Y」,「-Z」は、W、X、Y、Zの各
軸に対応する添字である。)。ネットワーク2は、バス
型、ループ型、放射型等適宜の構成を採用することがで
きる。いずれの構成においても、各サーボコントローラ
3-W,3-X,3-Y,3-Zは、少なくとも一つのサーボコ
ントローラ3がNC1から位置指令を受信できるように
し、また、各サーボコントローラ3間で演算結果の情報
の授受を行うことができるように構成される。図1のよ
うに、ネットワーク2がバス型の場合は、各サーボコン
トローラ3間で、それぞれ直接に演算結果を伝送するこ
とができる。ネットワーク2がループ型の場合、例え
ば、NC1、サーボコントローラ3-W、3-X、3-Y、3
-Z、NC1の順でループ接続されているとする。この場
合、サーボコントローラ3-Wと3-X,サーボコントロー
ラ3-Xと3-Y,サーボコントローラ3-Yと3-Z間は、そ
れぞれ直接に演算結果を相互に伝送することができ、ま
た、サーボコントローラ3-Zと3-W間は、NC1を介し
て伝送することができる。一方、ネットワークが放射型
の場合には、あるサーボコントローラ3からNC1に一
旦演算結果が伝送され、NC1では、これを折り返して
所定の他のサーボコントローラへ伝送するように構成す
ればよい。
セッサ等で構成され、全体の制御を行う。NC1は、ネ
ットワーク2を介して、複数のサーボコントローラ3-
W,3-X,3-Y,3-Zに接続されている(以下、「-
W」,「-X」,「-Y」,「-Z」は、W、X、Y、Zの各
軸に対応する添字である。)。ネットワーク2は、バス
型、ループ型、放射型等適宜の構成を採用することがで
きる。いずれの構成においても、各サーボコントローラ
3-W,3-X,3-Y,3-Zは、少なくとも一つのサーボコ
ントローラ3がNC1から位置指令を受信できるように
し、また、各サーボコントローラ3間で演算結果の情報
の授受を行うことができるように構成される。図1のよ
うに、ネットワーク2がバス型の場合は、各サーボコン
トローラ3間で、それぞれ直接に演算結果を伝送するこ
とができる。ネットワーク2がループ型の場合、例え
ば、NC1、サーボコントローラ3-W、3-X、3-Y、3
-Z、NC1の順でループ接続されているとする。この場
合、サーボコントローラ3-Wと3-X,サーボコントロー
ラ3-Xと3-Y,サーボコントローラ3-Yと3-Z間は、そ
れぞれ直接に演算結果を相互に伝送することができ、ま
た、サーボコントローラ3-Zと3-W間は、NC1を介し
て伝送することができる。一方、ネットワークが放射型
の場合には、あるサーボコントローラ3からNC1に一
旦演算結果が伝送され、NC1では、これを折り返して
所定の他のサーボコントローラへ伝送するように構成す
ればよい。
【0019】また、各サーボコントローラ3-W,3-X,
3-Y,3-Zは、例えば、デジタルサーボコントローラで
構成される。サーボコントローラ3-W,3-X,3-Y,3
-Zは、それぞれ主軸等のW軸、及びX軸、Y軸、Z軸に
対応して設けられており、各軸の位置・速度・トルク等
の各値を演算する。各サーボコントローラ3-W,3-X,
3-Y,3-Zは、それぞれ、必要に応じて、各サーボアン
プ4-W,4-X,4-Y,4-Zに接続され、所定の電流に増
幅される。サーボアンプ4-W,4-X,4-Y,4-Zは、そ
れぞれ、サーボモータ5-W,5-X,5-Y,5-Zに接続さ
れ、各サーボモータは所定の位置・速度・トルク等に制
御されて軸移動・加工等を行う。
3-Y,3-Zは、例えば、デジタルサーボコントローラで
構成される。サーボコントローラ3-W,3-X,3-Y,3
-Zは、それぞれ主軸等のW軸、及びX軸、Y軸、Z軸に
対応して設けられており、各軸の位置・速度・トルク等
の各値を演算する。各サーボコントローラ3-W,3-X,
3-Y,3-Zは、それぞれ、必要に応じて、各サーボアン
プ4-W,4-X,4-Y,4-Zに接続され、所定の電流に増
幅される。サーボアンプ4-W,4-X,4-Y,4-Zは、そ
れぞれ、サーボモータ5-W,5-X,5-Y,5-Zに接続さ
れ、各サーボモータは所定の位置・速度・トルク等に制
御されて軸移動・加工等を行う。
【0020】つぎに、このような本発明に係る通信サー
ボ制御装置の動作概要を説明する。まず、NC1から
は、各軸に対して位置指令が出力される。位置指令は、
ネットワーク2により、例えば、最初の所定のサーボコ
ントローラ3-Wに分配される。最初の所定のサーボコン
トローラ3-Wでは、各軸に該当する位置指令を識別及び
受信して、所定の演算ループを実行する。そして、演算
結果を、ネットワーク2を介して、次のサーボコントロ
ーラ3-Xに伝送する。ここで、自己のサーボコントロー
ラへのデータの識別、そのデータの受信、及び所定の宛
先のサーボコントローラへの識別を含む送信等について
は、通信分野における周知の技術を適宜採用することに
より実現可能である。該当する演算結果を受信したサー
ボコントローラ3-Xは、割り当てられている演算ループ
を実行しさらに、ネットワーク2を介して、次のサーボ
コントローラ3-Yに演算結果を伝送する。各サーボコン
トローラ3では、以下順に演算結果の受信、演算実行及
び演算結果の送信をおこなう。最後の演算を実行したサ
ーボコントローラ3-Zは、受信した演算結果に基づき、
各軸についての電流指令を演算する。求められた演算結
果は、ネットワーク2を介して、各軸対応の所定のサー
ボコントローラ3に伝送される。各軸対応のサーボコン
トローラ3に接続されているサーボアンプ4は、この電
流指令を増幅し、ドライブ電流とする。各サーボモータ
5-W,5-X,5-Y,5-Zは、各ドライブ電流により、位
置調整、切削等の所定の工作動作を行う。
ボ制御装置の動作概要を説明する。まず、NC1から
は、各軸に対して位置指令が出力される。位置指令は、
ネットワーク2により、例えば、最初の所定のサーボコ
ントローラ3-Wに分配される。最初の所定のサーボコン
トローラ3-Wでは、各軸に該当する位置指令を識別及び
受信して、所定の演算ループを実行する。そして、演算
結果を、ネットワーク2を介して、次のサーボコントロ
ーラ3-Xに伝送する。ここで、自己のサーボコントロー
ラへのデータの識別、そのデータの受信、及び所定の宛
先のサーボコントローラへの識別を含む送信等について
は、通信分野における周知の技術を適宜採用することに
より実現可能である。該当する演算結果を受信したサー
ボコントローラ3-Xは、割り当てられている演算ループ
を実行しさらに、ネットワーク2を介して、次のサーボ
コントローラ3-Yに演算結果を伝送する。各サーボコン
トローラ3では、以下順に演算結果の受信、演算実行及
び演算結果の送信をおこなう。最後の演算を実行したサ
ーボコントローラ3-Zは、受信した演算結果に基づき、
各軸についての電流指令を演算する。求められた演算結
果は、ネットワーク2を介して、各軸対応の所定のサー
ボコントローラ3に伝送される。各軸対応のサーボコン
トローラ3に接続されているサーボアンプ4は、この電
流指令を増幅し、ドライブ電流とする。各サーボモータ
5-W,5-X,5-Y,5-Zは、各ドライブ電流により、位
置調整、切削等の所定の工作動作を行う。
【0021】つぎに、図2に、本発明に係るサーボコン
トローラの構成図を示す。一例として、X軸についての
サーボコントローラ3-Xについて説明する。
トローラの構成図を示す。一例として、X軸についての
サーボコントローラ3-Xについて説明する。
【0022】CPU31は、サーボの演算を行う1チッ
ププロセッサであり、ROM、RAM及びキャッシュメ
モリを内蔵している。一連の制御プログラムを、このキ
ャッシュメモリの内部に収まる程度の部分的な演算ルー
プに細分化する。キャッシュメモリには、その内のひと
つの演算ループが記憶されている。他の軸についてのサ
ーボコントローラのキャッシュメモリにも、異なる部分
的な演算ループがそれぞれ記憶される。
ププロセッサであり、ROM、RAM及びキャッシュメ
モリを内蔵している。一連の制御プログラムを、このキ
ャッシュメモリの内部に収まる程度の部分的な演算ルー
プに細分化する。キャッシュメモリには、その内のひと
つの演算ループが記憶されている。他の軸についてのサ
ーボコントローラのキャッシュメモリにも、異なる部分
的な演算ループがそれぞれ記憶される。
【0023】デュアルポートメモリ32は、RAM等か
ら構成され、CPU31と通信制御部33の両方に接続
される。このデュアルポートメモリ32内は、他のデジ
タルサーボコントローラへ送信するデータ、及び他のサ
ーボコントローラから受信するデータ等のバッファとし
て機能する。例えば、サーボコントローラ3-Xのデュア
ルポートメモリ32-Xには、サーボコントローラ3-Wか
らの演算結果のデータを受信する記憶領域と、サーボコ
ントローラ3-Yへ演算結果のデータを送信する記憶領域
を持ち、さらにサーボコントローラ3-Zから電流指令を
受信する記憶領域を含む。そして、CPU31は、デュ
アルポートメモリ32及び通信制御部33を介して、各
演算に必要なデータの入出力を行う。
ら構成され、CPU31と通信制御部33の両方に接続
される。このデュアルポートメモリ32内は、他のデジ
タルサーボコントローラへ送信するデータ、及び他のサ
ーボコントローラから受信するデータ等のバッファとし
て機能する。例えば、サーボコントローラ3-Xのデュア
ルポートメモリ32-Xには、サーボコントローラ3-Wか
らの演算結果のデータを受信する記憶領域と、サーボコ
ントローラ3-Yへ演算結果のデータを送信する記憶領域
を持ち、さらにサーボコントローラ3-Zから電流指令を
受信する記憶領域を含む。そして、CPU31は、デュ
アルポートメモリ32及び通信制御部33を介して、各
演算に必要なデータの入出力を行う。
【0024】通信制御部33は、通信プロセッサ及びト
ランシーバを含み、ネットワーク2と接続され、サーボ
コントローラ3-Xと、他のデジタルサーボコントローラ
3-W、3-Y、3-Z又はNC1とのデータの入出力制御を
行う。通信制御部33及びネットワーク2において、デ
ータ形式、通信プロトコル等は、適宜規定することがで
きる。ただし、通常は、リアルタイムで動作するネット
ワークであることが必要である。
ランシーバを含み、ネットワーク2と接続され、サーボ
コントローラ3-Xと、他のデジタルサーボコントローラ
3-W、3-Y、3-Z又はNC1とのデータの入出力制御を
行う。通信制御部33及びネットワーク2において、デ
ータ形式、通信プロトコル等は、適宜規定することがで
きる。ただし、通常は、リアルタイムで動作するネット
ワークであることが必要である。
【0025】また、駆動制御部34は、サーボモータと
のインターフェース及びアンプを含み、サーボモータ4
にドライブ電流を出力する。
のインターフェース及びアンプを含み、サーボモータ4
にドライブ電流を出力する。
【0026】このような構成において、まず、前段のサ
ーボコントローラ3-Wから出力された演算結果は、通信
制御部33により識別及び受信され、デュアルポートメ
モリ32に記憶される。CPU31は、デュアルポート
メモリ32に記憶された演算結果に基づいて、次の演算
処理を実行する。このとき、CPU31内のキャッシュ
メモリによるプログラム及びデータ処理により演算が高
速に実行されることになる。CPU31による演算結果
は、デュアルポートメモリ32に一時記憶される。通信
制御部33は、この演算結果をネットワーク2を介し
て、次段のサーボコントローラ3-Yへ転送する。一方、
サーボコントローラ3-Zから電流指令が送信された場合
は、通信制御部33は、これが電流指令であることを識
別し、デュアルポートメモリ32に記憶する。CPU3
1は、このデュアルポートメモリ32の内容を読込み、
駆動制御部34によりサーボモータ4を駆動する制御を
実行する。
ーボコントローラ3-Wから出力された演算結果は、通信
制御部33により識別及び受信され、デュアルポートメ
モリ32に記憶される。CPU31は、デュアルポート
メモリ32に記憶された演算結果に基づいて、次の演算
処理を実行する。このとき、CPU31内のキャッシュ
メモリによるプログラム及びデータ処理により演算が高
速に実行されることになる。CPU31による演算結果
は、デュアルポートメモリ32に一時記憶される。通信
制御部33は、この演算結果をネットワーク2を介し
て、次段のサーボコントローラ3-Yへ転送する。一方、
サーボコントローラ3-Zから電流指令が送信された場合
は、通信制御部33は、これが電流指令であることを識
別し、デュアルポートメモリ32に記憶する。CPU3
1は、このデュアルポートメモリ32の内容を読込み、
駆動制御部34によりサーボモータ4を駆動する制御を
実行する。
【0027】つぎに、図3に、本発明に係る通信サーボ
装置の動作説明図を示す。以下に本発明に係る通信サー
ボ制御装置の動作を説明する。
装置の動作説明図を示す。以下に本発明に係る通信サー
ボ制御装置の動作を説明する。
【0028】例えば、ここで、制御プログラムは、演算
ループA,B,C,Dから構成され、位置指令に基づき
これら演算ループを順次実行することにより、サーボモ
ータを駆動する電流指令を求めるものとする。そして、
従来のサーボ制御装置における演算ループA,B,C,
Dの各々の計算時間が、キャッシュメモリにヒットしな
い場合は、各々6単位時間かかり、一方、全てキャッシ
ュメモリにヒットした場合は、各々5単位時間で済むと
する。また、サーボコントローラ3-W,3-X,3-Y,3
-Zは、それぞれ、演算ループA,B,C,Dを実行する
ようにキャッシュメモリに記憶されており、また、それ
ぞれW、X、Y、Z軸に対応するサーボモータが接続さ
れている。
ループA,B,C,Dから構成され、位置指令に基づき
これら演算ループを順次実行することにより、サーボモ
ータを駆動する電流指令を求めるものとする。そして、
従来のサーボ制御装置における演算ループA,B,C,
Dの各々の計算時間が、キャッシュメモリにヒットしな
い場合は、各々6単位時間かかり、一方、全てキャッシ
ュメモリにヒットした場合は、各々5単位時間で済むと
する。また、サーボコントローラ3-W,3-X,3-Y,3
-Zは、それぞれ、演算ループA,B,C,Dを実行する
ようにキャッシュメモリに記憶されており、また、それ
ぞれW、X、Y、Z軸に対応するサーボモータが接続さ
れている。
【0029】まず、NC1が、ネットワーク2を介して
通信を行い、サーボコントローラ3-W,3-X,3-Y,3
-Zに関する各位置指令を、適当なタイミングを定めて、
サーボコントローラ3-Wに順次送信する。サーボコント
ローラ3-Wは、演算ループAを実行し、その演算結果を
デジタルサーボコントローラ3-Xに送信する。より詳細
には、ネットワーク2を介して伝送された位置指令は、
サーボコントローラ3-Wにおいて、通信制御部33によ
り識別及び受信され、デュアルポートメモリ32に記憶
される。CPU31は、この位置指令に基づいて、内部
のキャッシュメモリを用いて演算ループAを実行する。
その演算結果は、デュアルポートメモリ32に記憶され
る。通信制御部33は、記憶された演算結果を、適当な
タイミングで読み出し、ネットワークを介してサーボコ
ントローラ3-X宛に送信する。
通信を行い、サーボコントローラ3-W,3-X,3-Y,3
-Zに関する各位置指令を、適当なタイミングを定めて、
サーボコントローラ3-Wに順次送信する。サーボコント
ローラ3-Wは、演算ループAを実行し、その演算結果を
デジタルサーボコントローラ3-Xに送信する。より詳細
には、ネットワーク2を介して伝送された位置指令は、
サーボコントローラ3-Wにおいて、通信制御部33によ
り識別及び受信され、デュアルポートメモリ32に記憶
される。CPU31は、この位置指令に基づいて、内部
のキャッシュメモリを用いて演算ループAを実行する。
その演算結果は、デュアルポートメモリ32に記憶され
る。通信制御部33は、記憶された演算結果を、適当な
タイミングで読み出し、ネットワークを介してサーボコ
ントローラ3-X宛に送信する。
【0030】サーボコントローラ3-Xは、サーボコント
ローラ3-Wから送信された演算結果を受信する。具体的
には、通信制御部33により、サーボコントローラ3-W
から送信された演算結果が自己への信号であると識別し
て受信するとともに、デュアルポートメモリ32に記憶
する。サーボコントローラ3-Xは、上述と同様に、演算
ループBを実行し、その演算結果をサーボコントローラ
3-Yに送信する。同様に、サーボコントローラ3-Yは、
演算ループCを実行し、その演算結果をサーボコントロ
ーラ3-Zに送信する。
ローラ3-Wから送信された演算結果を受信する。具体的
には、通信制御部33により、サーボコントローラ3-W
から送信された演算結果が自己への信号であると識別し
て受信するとともに、デュアルポートメモリ32に記憶
する。サーボコントローラ3-Xは、上述と同様に、演算
ループBを実行し、その演算結果をサーボコントローラ
3-Yに送信する。同様に、サーボコントローラ3-Yは、
演算ループCを実行し、その演算結果をサーボコントロ
ーラ3-Zに送信する。
【0031】最後に、サーボコントローラ3-Zは、演算
ループDを実行し、W,X,Y,Z軸のいずれかに対応
するサーボコントローラ3-W,3-X,3-Y,3-Zに、電
流指令を演算結果として送信する。より詳細には、サー
ボコントローラ3-Zにおいて、W、X、Y軸についての
各電流指令は、デュアルポートメモリ32に記憶された
後に、通信制御部33により、ネットワーク2に送信さ
れる。各サーボコントローラ3-W,3-X,3-Y内の通信
制御部33は、所定の各電流指令を識別及び受信すると
ともに、デュアルポートメモリ32に記憶する。各サー
ボコントローラ3-W,3-X,3-Y内のCPU31は、こ
の電流指令により、サーボコントローラ駆動部34を制
御して、各軸に対応するサーボモータ5を駆動する。一
方、Z軸については、ネットワークを介して伝送する必
要がないので、演算結果を直接用いて、サーボコントロ
ーラ駆動部34を制御して、各軸に対応するサーボモー
タ5を駆動する。なお、CPU31は、デュアルポート
メモリ32に電流指令を一旦記憶した後に、適当なタイ
ミングで再び読み出して、サーボモータ5を駆動するよ
うにしても良い。
ループDを実行し、W,X,Y,Z軸のいずれかに対応
するサーボコントローラ3-W,3-X,3-Y,3-Zに、電
流指令を演算結果として送信する。より詳細には、サー
ボコントローラ3-Zにおいて、W、X、Y軸についての
各電流指令は、デュアルポートメモリ32に記憶された
後に、通信制御部33により、ネットワーク2に送信さ
れる。各サーボコントローラ3-W,3-X,3-Y内の通信
制御部33は、所定の各電流指令を識別及び受信すると
ともに、デュアルポートメモリ32に記憶する。各サー
ボコントローラ3-W,3-X,3-Y内のCPU31は、こ
の電流指令により、サーボコントローラ駆動部34を制
御して、各軸に対応するサーボモータ5を駆動する。一
方、Z軸については、ネットワークを介して伝送する必
要がないので、演算結果を直接用いて、サーボコントロ
ーラ駆動部34を制御して、各軸に対応するサーボモー
タ5を駆動する。なお、CPU31は、デュアルポート
メモリ32に電流指令を一旦記憶した後に、適当なタイ
ミングで再び読み出して、サーボモータ5を駆動するよ
うにしても良い。
【0032】図4及び図5に、本発明に係る通信サーボ
制御装置の動作を説明するためのタイムチャートを示
す。ここで、図4に連続して図5の動作説明図が連結さ
れる。ここでは、データ転送時間を1単位、演算時間を
5単位としている。「データ転送」の欄は、ネットワー
ク2を介して転送動作をするサーボコントローラを示
し、記号「Z→M」は、求められた電流指令を、該当す
るサーボコントローラへ転送する期間を示す。
制御装置の動作を説明するためのタイムチャートを示
す。ここで、図4に連続して図5の動作説明図が連結さ
れる。ここでは、データ転送時間を1単位、演算時間を
5単位としている。「データ転送」の欄は、ネットワー
ク2を介して転送動作をするサーボコントローラを示
し、記号「Z→M」は、求められた電流指令を、該当す
るサーボコントローラへ転送する期間を示す。
【0033】まず時間t1においては、NC1からサー
ボコントローラ3-Wに対して、ネットワーク2を介し
て、W軸についての位置指令Wが伝送され、サーボコン
トローラ3-Wの通信制御部33-Wがこれを受信する。こ
の1単位時間が、データ転送時間である。つぎに、時間
t2〜t6において、サーボコントローラ3-WのCPU
31は、W軸について演算Aを実行する。この5単位時
間が、演算ループAの演算時間である。ここで、時間t
6においては、CPU31による演算処理と同時に、サ
ーボコントローラ3-Wの通信制御部33-Wは、NC1か
らX軸についての位置指令を受信する処理を行ってい
る。
ボコントローラ3-Wに対して、ネットワーク2を介し
て、W軸についての位置指令Wが伝送され、サーボコン
トローラ3-Wの通信制御部33-Wがこれを受信する。こ
の1単位時間が、データ転送時間である。つぎに、時間
t2〜t6において、サーボコントローラ3-WのCPU
31は、W軸について演算Aを実行する。この5単位時
間が、演算ループAの演算時間である。ここで、時間t
6においては、CPU31による演算処理と同時に、サ
ーボコントローラ3-Wの通信制御部33-Wは、NC1か
らX軸についての位置指令を受信する処理を行ってい
る。
【0034】時間t7では、サーボコントローラ3-W
は、受信したX軸についての位置指令に基づきCPU3
1で演算ループAを実行するととともに、通信制御部3
3-Wにより、既に求めたW軸についての演算ループAの
演算結果を、ネットワーク2を介してサーボコントロー
ラ3-Wからサーボコントローラ3-Xへ転送している。一
方、サーボコントローラ3-Xにおいては、受信したW軸
についての演算ループAの演算結果を、通信制御部33
-Xにより受信し、デジタルボートメモリ32-Xに記憶す
る。ここでは、例えば、時間t7のような1単位時間
が、サーボコントローラ3間のデータ転送時間であると
している。なお、サーボコントローラ間のデータ転送時
間と、NC1からサーボコントローラ3へのデータ転送
時間とを等しい値にしているが、異なる値となることも
ある。
は、受信したX軸についての位置指令に基づきCPU3
1で演算ループAを実行するととともに、通信制御部3
3-Wにより、既に求めたW軸についての演算ループAの
演算結果を、ネットワーク2を介してサーボコントロー
ラ3-Wからサーボコントローラ3-Xへ転送している。一
方、サーボコントローラ3-Xにおいては、受信したW軸
についての演算ループAの演算結果を、通信制御部33
-Xにより受信し、デジタルボートメモリ32-Xに記憶す
る。ここでは、例えば、時間t7のような1単位時間
が、サーボコントローラ3間のデータ転送時間であると
している。なお、サーボコントローラ間のデータ転送時
間と、NC1からサーボコントローラ3へのデータ転送
時間とを等しい値にしているが、異なる値となることも
ある。
【0035】つぎに、時間t8〜t12では、サーボコ
ントローラ3-XのCPU31-Xは、W軸についての演算
ループBを実行する。そして、時間t13では、サーボ
コントローラ3-Xによる演算結果が、サーボコントロー
ラ3-Yに転送される。以下同様に、サーボコントローラ
3-Yで演算ループCが実行され、サーボコントローラ3
-Zへ転送され、さらに、サーボコントローラ3-Zで演算
ループDが実行され、各軸についての電流指令が求めら
れるというように、パイプライン処理動作が実行され
る。
ントローラ3-XのCPU31-Xは、W軸についての演算
ループBを実行する。そして、時間t13では、サーボ
コントローラ3-Xによる演算結果が、サーボコントロー
ラ3-Yに転送される。以下同様に、サーボコントローラ
3-Yで演算ループCが実行され、サーボコントローラ3
-Zへ転送され、さらに、サーボコントローラ3-Zで演算
ループDが実行され、各軸についての電流指令が求めら
れるというように、パイプライン処理動作が実行され
る。
【0036】最後に、サーボコントローラ3-Zにおいて
求められた電流指令は、各々の軸のサーボコントローラ
33へ転送される。例えば、時間t2〜t24までの一
連のパイプライン処理により求められたW軸の電流指令
については、時間t25でサーボコントローラ3-Zから
対応するサーボコントローラ3-Wへ転送される。このデ
ータ転送時間も、ここでは、例えば1単位時間としてい
る。ただし、Z軸については、サーボコントローラ間で
転送する必要はないが、CPU31又はデュアルポート
メモリ32を用いることにより、同じタイミングの1単
位時間を設定することができる。
求められた電流指令は、各々の軸のサーボコントローラ
33へ転送される。例えば、時間t2〜t24までの一
連のパイプライン処理により求められたW軸の電流指令
については、時間t25でサーボコントローラ3-Zから
対応するサーボコントローラ3-Wへ転送される。このデ
ータ転送時間も、ここでは、例えば1単位時間としてい
る。ただし、Z軸については、サーボコントローラ間で
転送する必要はないが、CPU31又はデュアルポート
メモリ32を用いることにより、同じタイミングの1単
位時間を設定することができる。
【0037】各軸の電流指令を受信した各サーボコント
ローラ3では、サーボ駆動部34により各サーボモータ
4を駆動する。
ローラ3では、サーボ駆動部34により各サーボモータ
4を駆動する。
【0038】以上のように、例えば、1つの演算結果の
データ転送にかかる時間Tを1単位時間として、W,
X,Y,Z軸の各サーボコントローラ3が専門的に各5
単位時間の演算ループA,B,C,Dのパイプライン処
理を実行すると、各CPU31の演算処理においては、
データ通信時間が演算時間に隠れてしまい、演算時間の
時間待ちを発生させない。したがって、CPU31の効
率を最大限引き出すことが可能となる。
データ転送にかかる時間Tを1単位時間として、W,
X,Y,Z軸の各サーボコントローラ3が専門的に各5
単位時間の演算ループA,B,C,Dのパイプライン処
理を実行すると、各CPU31の演算処理においては、
データ通信時間が演算時間に隠れてしまい、演算時間の
時間待ちを発生させない。したがって、CPU31の効
率を最大限引き出すことが可能となる。
【0039】このことについて、図5において、例えば
時間t22〜t26に基づいて説明する。この間では、
サーボコントローラ3-WのCPU31は、演算ループA
を実行している。一方、同じサーボコントローラ3-Wの
通信制御部33は、時間t22で、サーボコントローラ
3-Wからサーボコントローラ3-Xへ、ネットワーク2を
介してデータ転送を同時に実行する。つぎに時間t23
で、サーボコントローラ3-Xからサーボコントローラ3
-Yへ、ネットワーク2を介して、データ転送を実行す
る。同様に時間t24で、サーボコントローラ3-Yから
サーボコントローラ3-Zへ、ネットワーク2を介して、
データ転送を実行する。また、時間t25で、サーボコ
ントローラ3-Zにより電流指令が求められると、サーボ
コントローラ3-Zから、求められた電流指令Wに対応す
るサーボコントローラ3-Wへ、ネットワーク2を介し
て、データ転送を実行する。時間t26では、NC1か
ら、サーボコントローラ3-Wへ次の位置指令Xがデータ
転送され、受信される。
時間t22〜t26に基づいて説明する。この間では、
サーボコントローラ3-WのCPU31は、演算ループA
を実行している。一方、同じサーボコントローラ3-Wの
通信制御部33は、時間t22で、サーボコントローラ
3-Wからサーボコントローラ3-Xへ、ネットワーク2を
介してデータ転送を同時に実行する。つぎに時間t23
で、サーボコントローラ3-Xからサーボコントローラ3
-Yへ、ネットワーク2を介して、データ転送を実行す
る。同様に時間t24で、サーボコントローラ3-Yから
サーボコントローラ3-Zへ、ネットワーク2を介して、
データ転送を実行する。また、時間t25で、サーボコ
ントローラ3-Zにより電流指令が求められると、サーボ
コントローラ3-Zから、求められた電流指令Wに対応す
るサーボコントローラ3-Wへ、ネットワーク2を介し
て、データ転送を実行する。時間t26では、NC1か
ら、サーボコントローラ3-Wへ次の位置指令Xがデータ
転送され、受信される。
【0040】なお、通信時間については、上述の説明で
1単位時間としたのは、説明上の便宜の為であり、演算
時間に対して、時間がかかりすぎると全体の処理時間が
延びてしまう。したがって、この程度で、通信が終わる
ようなハードウェアを用意すべきである。本発明を実施
した場合の通信時間は、デジタルサーボコントローラ間
でやりとりするデータ量と、通信速度、通信プロトコル
などに依存し、変化する。そして、本発明と実施する場
合には、全体処理時間が短縮されるという効果を奏する
ことができるスペックを持つ通信システムを具備するこ
とが不可欠である。その為には、以下の関係が成立する
必要がある。
1単位時間としたのは、説明上の便宜の為であり、演算
時間に対して、時間がかかりすぎると全体の処理時間が
延びてしまう。したがって、この程度で、通信が終わる
ようなハードウェアを用意すべきである。本発明を実施
した場合の通信時間は、デジタルサーボコントローラ間
でやりとりするデータ量と、通信速度、通信プロトコル
などに依存し、変化する。そして、本発明と実施する場
合には、全体処理時間が短縮されるという効果を奏する
ことができるスペックを持つ通信システムを具備するこ
とが不可欠である。その為には、以下の関係が成立する
必要がある。
【0041】Tcalmin:各デジタルサーボコントローラ
の実施する演算(A,B,C,D)のうち、最も短い処
理時間。
の実施する演算(A,B,C,D)のうち、最も短い処
理時間。
【0042】Tcomsum:各紺とローラ間(CN→W,W
→X,X→Y,Y→Z,Z→M)で行う通信にかかる時
間の合計。
→X,X→Y,Y→Z,Z→M)で行う通信にかかる時
間の合計。
【0043】Tcalmin > Tcomsum もし、この関係が成立しない場合は、通信時間が無視で
きなくなり、上述のような効果を奏することが十分にで
きないことになります。このため、本発明においては、
この関係を満たすように、伝送するデータ量を規制して
できるだけ少くし、十分な通信速度を出せるハードウェ
アを用意し、適当なプロトコルを選定するようにする。
きなくなり、上述のような効果を奏することが十分にで
きないことになります。このため、本発明においては、
この関係を満たすように、伝送するデータ量を規制して
できるだけ少くし、十分な通信速度を出せるハードウェ
アを用意し、適当なプロトコルを選定するようにする。
【0044】なお、以上の説明では、W、X、Y、Zの
各軸についてのシステムを説明したが、これに限らず複
数の軸を備えたサーボ制御装置に適用することができ
る。また、A、B、C、Dの各演算ループについてのシ
ステムを説明したが、これに限らず複数の演算ループを
備えたサーボ制御装置に適用することができる。また、
演算ループの順番、NC1から位置指令を受信するサー
ボコントローラについても、適宜選択することができ
る。
各軸についてのシステムを説明したが、これに限らず複
数の軸を備えたサーボ制御装置に適用することができ
る。また、A、B、C、Dの各演算ループについてのシ
ステムを説明したが、これに限らず複数の演算ループを
備えたサーボ制御装置に適用することができる。また、
演算ループの順番、NC1から位置指令を受信するサー
ボコントローラについても、適宜選択することができ
る。
【0045】本発明においては、上述の実施の形態に限
らず、演算時間、データ転送時間及びサーボコントロー
ラの個数についての条件を適宜変更して、パイプライン
処理を実行することができる。例えば、演算ループの数
が軸毎に設けられたサーボコントローラの個数と異なる
場合は、各演算ループを各サーボコントローラに適宜割
り振ること等により実施することができる。
らず、演算時間、データ転送時間及びサーボコントロー
ラの個数についての条件を適宜変更して、パイプライン
処理を実行することができる。例えば、演算ループの数
が軸毎に設けられたサーボコントローラの個数と異なる
場合は、各演算ループを各サーボコントローラに適宜割
り振ること等により実施することができる。
【0046】以下に本発明の他の実施の形態を説明す
る。図6には、演算ループに対して軸数が多い場合の構
成図を示す。例えば、演算ループA,B、Cに対して、
軸数が4つある場合を想定する。この場合、例えば、サ
ーボコントローラ3-Wは演算ループAを担当し、サーボ
コントローラ3-Xは演算ループBを、サーボコントロー
ラ3-Yは演算ループCをそれぞれ担当するように構成す
る。サーボコントローラ3-Zは、演算ループを担当しな
くても十分機能することができる。
る。図6には、演算ループに対して軸数が多い場合の構
成図を示す。例えば、演算ループA,B、Cに対して、
軸数が4つある場合を想定する。この場合、例えば、サ
ーボコントローラ3-Wは演算ループAを担当し、サーボ
コントローラ3-Xは演算ループBを、サーボコントロー
ラ3-Yは演算ループCをそれぞれ担当するように構成す
る。サーボコントローラ3-Zは、演算ループを担当しな
くても十分機能することができる。
【0047】また、図7には、演算ループに対して軸数
が少ない場合の構成図を示す。例えば、演算ループA,
A’,B,C,Dに対して、軸数が4つある場合を想定
する。この場合、例えば、サーボコントローラ3-Wは、
比較的演算負荷の少ない演算ループの組合せを選択し
て、ひとつのサーボコントローラで分担するように設定
する。例えば、演算ループA及びA’についての組合せ
が速度に対する影響が少ないとされる場合は、これら演
算ループを、サーボコントローラ3-Wが、担当するよう
に構成することができる。
が少ない場合の構成図を示す。例えば、演算ループA,
A’,B,C,Dに対して、軸数が4つある場合を想定
する。この場合、例えば、サーボコントローラ3-Wは、
比較的演算負荷の少ない演算ループの組合せを選択し
て、ひとつのサーボコントローラで分担するように設定
する。例えば、演算ループA及びA’についての組合せ
が速度に対する影響が少ないとされる場合は、これら演
算ループを、サーボコントローラ3-Wが、担当するよう
に構成することができる。
【0048】また、図8に、駆動部が接続されていない
サーボコントローラを備えた場合の構成図を示す。ここ
では、演算ループA,B,C,Dに対して、軸数がX、
Y、Zの3つある場合の構成図を示す。実際に駆動部が
接続されていないサーボコントローラ3-Wを余分に設
け、演算のみを専用で実行するようにした構成すること
ができる。これにより、複雑な演算も高速で実行するこ
とが可能となる。
サーボコントローラを備えた場合の構成図を示す。ここ
では、演算ループA,B,C,Dに対して、軸数がX、
Y、Zの3つある場合の構成図を示す。実際に駆動部が
接続されていないサーボコントローラ3-Wを余分に設
け、演算のみを専用で実行するようにした構成すること
ができる。これにより、複雑な演算も高速で実行するこ
とが可能となる。
【0049】さらに、演算時間が、各演算ループでばら
つきがある場合も、デュアルポートメモリ32をバッフ
ァとして機能させることにより、転送時間と同期を保持
してパイプライン処理を実行することができる。同様
に、データ転送時間のばらつきに対してもデュアルポー
トメモリ32により、同期を保持して処理を実行するこ
とができる。
つきがある場合も、デュアルポートメモリ32をバッフ
ァとして機能させることにより、転送時間と同期を保持
してパイプライン処理を実行することができる。同様
に、データ転送時間のばらつきに対してもデュアルポー
トメモリ32により、同期を保持して処理を実行するこ
とができる。
【0050】
【発明の効果】以上のように、本発明によると、キャッ
シュメモリのヒットミスがなくなり、MPUの能力の全
てを効率的に活用することができる。
シュメモリのヒットミスがなくなり、MPUの能力の全
てを効率的に活用することができる。
【0051】また、本発明によると、MPUの能力を最
大限発揮させることにより、従来のシステムと比較し
て、一定時間内により多くの処理を実行させて、スルー
プットを向上させることができる。また、従来のシステ
ムに比べて低コストで、複数の同一処理を実行させるこ
とができる。
大限発揮させることにより、従来のシステムと比較し
て、一定時間内により多くの処理を実行させて、スルー
プットを向上させることができる。また、従来のシステ
ムに比べて低コストで、複数の同一処理を実行させるこ
とができる。
【図1】本発明に係る通信サーボ制御装置のシステム構
成図。
成図。
【図2】本発明に係るサーボコントローラの構成図。
【図3】本発明に係る通信サーボ装置の動作説明図。
【図4】本発明に係る通信サーボ制御装置の動作を説明
するためのタイムチャート(1)。
するためのタイムチャート(1)。
【図5】本発明に係る通信サーボ制御装置の動作を説明
するためのタイムチャート(2)。
するためのタイムチャート(2)。
【図6】演算ループに対して軸数が多い場合の構成図。
【図7】演算ループに対して軸数が少ない場合の構成
図。
図。
【図8】駆動部が接続されていないサーボコントローラ
を備えた場合の構成図。
を備えた場合の構成図。
【図9】従来の通信サーボ制御装置のシステム構成図。
【図10】従来の通信サーボ制御装置の具体的な動作説
明図。
明図。
1 NC1 2 ネットワーク 3 サーボコントローラ 4 サーボアンプ 5 サーボモータ
Claims (10)
- 【請求項1】各軸についての位置指令を発生する主コン
トローラと、各軸についての駆動部が接続された複数の
従コントローラと、前記主コントローラ及び前記複数の
従コントローラとの間を相互に接続するネットワークと
を備えた通信サーボ制御装置において、 前記従コントローラは、 各々の従コントローラが互いに異なる専門的な演算処理
を行うための、キャッシュメモリを有するプロセッサを
含み、各軸についての前記位置指令により、各々前記専
門的な演算処理を各軸について順次実行し、 演算結果を相互に前記ネットワークを介して送受し、前
記異なる演算処理を一連に連結することにより前記複数
の従コントローラによる演算パイプラインを構成し、前
記演算パイプラインによる一連の演算ループを前記従コ
ントローラの個数又は各軸の個数備えるようにしたこと
を特徴とする通信サーボ制御装置。 - 【請求項2】各軸についての位置指令を発生する主コン
トローラと、各軸についての駆動部が接続された複数の
従コントローラと、前記主コントローラ及び前記複数の
従コントローラとの間を相互に接続するネットワークと
を備えた通信サーボ制御装置において、 前記各軸について順次、前記主コントローラから送信さ
れた前記位置指令を受信して、所定の第1の演算を実行
し、求められた第1の演算結果を前記ネットワークを介
して第2の従コントローラへ送信し、一方、第Nの従コ
ントローラから送信された所定の駆動指令を前記ネット
ワークを介して受信し駆動制御する第1の従コントロー
ラと、 前記各軸について順次、第n−1(nは、1<n<Nの
整数)の従コントローラから出力された第n−1の演算
結果を受信して、所定の第nの演算を実行し、求められ
た第nの演算結果を前記ネットワークを介して第n+1
の従コントローラへ送信し、一方、第Nの従コントロー
ラから送信された所定の駆動指令を前記ネットワークを
介して受信し駆動制御する第nの従コントローラと、 前記各軸について順次、第N−1(Nは、n<Nの整
数)の従コントローラから出力された第N−1の演算結
果を受信して、所定の第Nの演算を実行し、求められた
第Nの演算結果が自己の従コントローラの軸についての
演算結果である場合、前記第Nの演算結果を接続された
駆動部の駆動指令として用い、一方、前記第Nの演算結
果がそれ以外の軸についての演算結果である場合、前記
第Nの演算結果を駆動指令として当該軸に対応する所定
の従コントローラへ前記ネットワークを介して転送する
第Nの従コントローラとをを備えた通信サーボ制御装
置。 - 【請求項3】前記第1〜第Nの従コントローラにおいて
は、各軸について順次、特定の前記部分的な演算処理を
実行し、 前記第1〜第Nの従コントローラによるそれぞれの前記
部分的な演算処理により前記演算パイプラインを構成
し、 各軸について順次前記主コントローラから出力された前
記位置指令から、前記演算パイプラインによる一連の演
算ループを実行することにより、前記駆動指令を演算す
ることを特徴とする請求項1又は2に記載の通信サーボ
制御装置。 - 【請求項4】前記演算パイプラインにより、前記主コン
トローラからの前記位置指令から各軸についての駆動指
令をもとめるための一連の演算ループを、前記従コント
ローラの数又は各軸の数だけ備えることを特徴とする請
求項2又は3に記載の通信サーボ制御装置。 - 【請求項5】前記従コントローラは、 キャッシュメモリを含み、一連の演算処理の内の互いに
異なる部分的な演算処理を前記キャッシュメモリにより
専門的に実行するプロセッサと、 前記部分的な演算処理の演算結果を相互に前記ネットワ
ークを介して送受し、複数の従コントローラの前記プロ
セッサにより前記一連の演算処理を実行する演算パイプ
ラインを構成する通信制御部と、 接続された各軸についての前記駆動部を駆動する駆動制
御部とを備えたことを特徴とする請求項1乃至4のいず
れかに記載の通信サーボ制御装置。 - 【請求項6】前記従コントローラは、 前記プロセッサと前記通信制御部との間に、前記ネット
ワークと送信又は受信するデータを一時記憶し、前記プ
ロセッサ又は前記通信制御部により、適宜読み出し又は
書込みを行う記憶部をさらに備えたことを特徴とする請
求項5に記載の通信サーボ制御装置。 - 【請求項7】前記通信制御部は、 ネットワーク上に、前記主コントローラが出力した前記
位置指令又は他のサーボコントローラが出力した演算結
果が、自己のサーボコントローラ宛の情報であることを
識別し、前記位置指令又は前記演算結果を受信して、前
記記憶部に記憶し、一方、前記記憶部に記憶された自己
の前記プロセッサが演算した前記演算結果をネットワー
ク上に出力することを特徴とする請求項5又は6に記載
の通信サーボ制御装置。 - 【請求項8】前記従コントローラは、接続されたサーボ
モータを駆動制御するサーボコントローラであって、 自己のサーボコントローラが受信した情報及び送信する
情報を一時記憶する記憶部と、 前記記憶部に記憶された、前記主コントローラが出力し
た前記位置指令又は他のサーボコントローラが出力した
演算結果に基づいて、所定の演算を実行し、求められた
演算結果を前記記憶部に記憶するとともに、前記記憶部
に記憶された演算結果が自己のサーボコントローラに対
応する駆動指令である場合、前記駆動制御部に駆動電流
を出力するプロセッサ、 ネットワーク上に、前記主コントローラが出力した前記
位置指令又は他のサーボコントローラが出力した演算結
果が、自己のサーボコントローラ宛の情報であることを
識別し、前記位置指令又は前記演算結果を受信して、前
記記憶部に記憶し、一方、前記記憶部に記憶された自己
の前記プロセッサが演算した前記演算結果をネットワー
ク上に出力する通信制御部と、 前記プロセッサから出力された前記駆動電流によりサー
ボモータを駆動する駆動制御部とを備えたことを特徴と
する請求項1乃至4のいずれかに記載の通信サーボ制御
装置。 - 【請求項9】駆動部が接続されてなく駆動制御を実行し
ないが、所定の演算ループの実行及び演算結果の授受の
みを行う従コントローラをさらに備えたことを特徴とす
る請求項1乃至8のいずれかに記載の通信サーボ制御装
置。 - 【請求項10】前記位置指令又は前記駆動指令は、前記
駆動部の位置、速度、又はトルクを制御する指令を含む
ことを特徴とする請求項1乃至8のいずれかに記載の通
信サーボ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15559696A JPH103311A (ja) | 1996-06-17 | 1996-06-17 | 通信サーボ制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15559696A JPH103311A (ja) | 1996-06-17 | 1996-06-17 | 通信サーボ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH103311A true JPH103311A (ja) | 1998-01-06 |
Family
ID=15609492
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15559696A Pending JPH103311A (ja) | 1996-06-17 | 1996-06-17 | 通信サーボ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH103311A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4869301A (en) * | 1988-03-05 | 1989-09-26 | Tadahiro Ohmi | Cylinder cabinet piping system |
| CN112486102A (zh) * | 2019-09-12 | 2021-03-12 | 发那科株式会社 | 伺服控制装置、伺服控制系统以及伺服控制方法 |
-
1996
- 1996-06-17 JP JP15559696A patent/JPH103311A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4869301A (en) * | 1988-03-05 | 1989-09-26 | Tadahiro Ohmi | Cylinder cabinet piping system |
| CN112486102A (zh) * | 2019-09-12 | 2021-03-12 | 发那科株式会社 | 伺服控制装置、伺服控制系统以及伺服控制方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20130041510A1 (en) | Numerical control system having multi-core processor | |
| JPH041840A (ja) | データ処理システム | |
| JP2018502406A (ja) | マルチチャネルi2s伝送制御システムおよび方法 | |
| EP0300044A1 (en) | Method of numerical control having a parallel processing function | |
| JP2637749B2 (ja) | データ処理装置とその処理方法 | |
| US6457121B1 (en) | Method and apparatus for reordering data in X86 ordering | |
| JPH01295355A (ja) | マルチマスタバス用割込制御回路 | |
| JPH103311A (ja) | 通信サーボ制御装置 | |
| US6668205B1 (en) | Control method of factory automation system, recording medium recording a program therefor and central processor of factory automation system | |
| JP2008090825A (ja) | 位置検出器をマルチドロップ接続した多軸制御システム | |
| CN217157135U (zh) | 用于分装仪的多轴控制单元、系统及分装仪 | |
| US7009357B2 (en) | Servo control system and its control method | |
| JPH05342172A (ja) | マルチプロセッサシステム | |
| JPS62160564A (ja) | パイプライン制御方式 | |
| US6085272A (en) | Transmitting command block data using the lower address part of the address phase | |
| JPS6353607A (ja) | コンピユ−タ化数値制御装置 | |
| JPH0756803A (ja) | 高速dma転送装置 | |
| JP2023135945A (ja) | 時刻同期方法、ロボットコントローラーおよびロボットシステム | |
| JPH1049216A (ja) | 装置間データ通信方法 | |
| CN121018518A (zh) | 控制器以及机器人系统 | |
| JP3111371B2 (ja) | プログラマブルコントローラ | |
| CN106874235A (zh) | 一种基于spi串行链路的模拟dpram通信系统及方法 | |
| JP2001092795A (ja) | 分散型プログラマブルサーボコントローラシステム | |
| JPH0317708A (ja) | 数値制御装置 | |
| JPH096425A (ja) | マルチプロセッサシステム |