JP2004260890A - 多軸モータ制御装置 - Google Patents
多軸モータ制御装置 Download PDFInfo
- Publication number
- JP2004260890A JP2004260890A JP2003046778A JP2003046778A JP2004260890A JP 2004260890 A JP2004260890 A JP 2004260890A JP 2003046778 A JP2003046778 A JP 2003046778A JP 2003046778 A JP2003046778 A JP 2003046778A JP 2004260890 A JP2004260890 A JP 2004260890A
- Authority
- JP
- Japan
- Prior art keywords
- axis
- parallel
- cpu
- motor control
- axis motor
- 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
Images
Abstract
【課題】多軸のモータ制御演算を高速に処理でき、これを安価なシステムとして提供する。
【解決手段】全体を統括するCPU8と、プログラムとデータが格納されたメモリ7と、パワーアンプ及び位置検出器とのインターフェイスを行うモータインターフェイス回路9と、上位コントローラとの通信を行う通信インターフェイス回路10とを備えた多軸モータ制御装置17において、入力データA、Bが格納された入力メモリ15と、入力データA、Bとオペコードを入力すると加減乗除演算と論理演算と数値比較演算の少なくとも1つを演算して結果を出力する複数の演算器1と、その演算結果を受けて格納する出力メモリ16からなる並列演算回路6を備える。
【選択図】 図1
【解決手段】全体を統括するCPU8と、プログラムとデータが格納されたメモリ7と、パワーアンプ及び位置検出器とのインターフェイスを行うモータインターフェイス回路9と、上位コントローラとの通信を行う通信インターフェイス回路10とを備えた多軸モータ制御装置17において、入力データA、Bが格納された入力メモリ15と、入力データA、Bとオペコードを入力すると加減乗除演算と論理演算と数値比較演算の少なくとも1つを演算して結果を出力する複数の演算器1と、その演算結果を受けて格納する出力メモリ16からなる並列演算回路6を備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、複数のモータの制御演算処理を並列に実行する多軸モータ制御装置に関する。
【0002】
【従来の技術】
従来の多軸モータ制御装置は、複数のモータ制御回路と、統括CPUと、共有メモリと、通信インターフェイス回路から構成されており、モータ制御回路は各軸の制御演算を行うCPUと、そのCPUを動作させるためのプログラムとデータを格納するメモリと、モータ駆動用のパワーアンプと位置検出器とのインターフェイスを行うモータインターフェイス回路を備えている。各モータ制御回路と多軸モータ制御装置の全体を統括する統括CPUとの間は共有メモリを介して接続されており、上位との通信を行うために通信インターフェイス回路が設置されている(例えば、特許文献1参照)。また、第2の従来の多軸モータ制御装置は、モータ制御回路にモータ駆動用のパワーアンプや位置検出器とのインターフェイスを行うモータインターフェイス回路を備えており、多軸モータ制御装置全体を統括する高速CPUと、その高速CPUを動作させるためのプログラムとデータを格納する高速メモリと、上位との通信を行う通信インターフェイス回路から構成されている。
【0003】
【特許文献1】
特開平12−287476号公報
【0004】
以下、2つの従来例について図を用いて説明する。図6において、12は多軸モータ制御装置の全体を統括する統括CPUであり、その統括CPUを動作させるためのプログラムおよびデータを格納するメモリ7とともに動作する。通信インターフェイス回路10を介して上位コントローラからモータの回転を指示する指令値が入力されると、統括CPU12は軸毎に設置された共有メモリ11にモータ指令値を書き込む。一方、8は各軸の制御を行うCPUであり、そのCPU8を動作させるためのプログラムおよびデータを格納するメモリ7を利用してモータの制御演算を行う。モータの制御演算を行う際、共有メモリ11に書き込まれている上位からのモータ指令値を読み出して制御演算を行うものである。最終的なモータへの指令値はモータインターフェイス回路9を介してパワーアンプに入力され電力増幅されてモータを駆動することになる。モータに接続された位置検出器から出力される検出データは、モータインターフェイス回路9を介してCPU8で確認され、次の制御演算のフィードバック値として利用されることになる。また、このフィードバック値はCPU8により共有メモリ11に書き込まれ、統括CPU12により読み出され、通信インターフェイス回路を介して上位コントローラへ送信される。これら一連の動作を制御周期毎に繰り返し行い、多軸モータの制御が行われている。
【0005】
図7は、図6の多軸モータ制御装置とは異なり、各軸毎に制御演算を行うCPUを設け、多軸モータ制御装置全体で1つの高速CPU13とその高速CPUが動作するために必要となる1つの高速メモリ14を設けたものである。つまり、多軸モータの制御演算を1つの高速CPUで行わせ、CPU間に配置されていた図6の例の共有メモリを削除してハードウェア構成を簡単にしたものである。
このように、従来の多軸モータ制御装置では、制御演算をCPUにて行っており、図6のように各軸毎にCPUを配置するか、図7のように高速CPUを利用して複数軸の制御演算を行うようになっていた。
【0006】
【発明が解決しようとする課題】
しかしながら、従来の多軸モータ制御装置は、モータ各軸毎に制御演算を行うためのCPUを設けるとか、あるいは1つの高速CPUにより複数軸の制御演算を行うというハードウェア構成にしていたため、ハードウェアが複雑となったり、高価なシステムとなったりしていた。そこで本発明は、多軸のモータ制御演算を高速に処理でき、これを安価なシステムとして提供することを目的とする。
【0007】
【課題を解決するための手段】
上記問題を解決するため、本発明は、多軸モータ制御装置全体を統括するCPUと、そのCPUを動作させるためのプログラムとデータが格納されたメモリと、複数のモータに対応して設けられ、パワーアンプ及び位置検出器とのインターフェイスを行う複数のモータインターフェイス回路と、上位コントローラとの通信を行う通信インターフェイス回路とを備えて前記複数のモータを制御する前記多軸モータ制御装置において、入力データA及びBが格納された入力メモリと、前記入力データA及びBとオペコードを入力すると加減乗除演算と論理演算と数値比較演算の少なくとも1つの演算をして結果を出力する複数の演算器と、その演算器の演算結果を受けて格納する出力メモリからなる並列演算回路を備えたことを特徴としている。
このようになっているため、制御演算がハードウェアにて並列に実行されて高速に処理することが可能となる。また、従来のCPUの処理を並列演算回路で実行してCPUの処理負荷が削減されるため、複数のCPUを利用した多軸モータ制御装置とする必要はなくなり、ハードウェア構成を単純なものとすることができる。
【0008】
また、請求項2に記載の本発明は、軸毎の制御演算を並列演算回路内部に配置された演算器にて並列に実行し、複数軸の制御演算を1軸毎順番に処理することを特徴とするものである。
このため従来のCPUのように1つの演算器で逐次的に行っていた制御演算を複数の演算器で並列に処理することにより、高速に制御演算を行うことが可能となる。また、複数軸の制御演算を1軸毎にまとめて処理することにより、並列演算回路内部のメモリ容量を削減することができる。
さらに、請求項3に記載の発明は、軸毎の制御演算を並列演算回路内部の特定演算器にて逐次的に実行し、その逐次的な処理が複数軸並列して実行されることを特徴とするものである。
このため並列演算回路の演算器が待ち状態となる時間が無くなり、ハードウェアが効率良く活用されて、制御演算を高速に処理することが可能となる。
【0009】
【発明の実施の形態】
以下、本発明の具体的実施例を図に基づいて説明する。
(第1実施例)
図1は本発明の多軸モータ制御装置のブロック図であり、図2はその中にある並列演算回路の内部構成図である。図1には、多軸モータ制御装置全体を統括するCPU8と、そのCPUを動作させるためのプログラムおよびデータを格納するメモリ7と、制御演算の並列処理が可能な並列演算回路6と、パワーアンプや位置検出器とのインターフェイスを行うモータインターフェイス回路9と、上位コントローラと通信する通信インターフェイス回路10とを備えて複数のモータを制御する多軸モータ制御装置を示している。また図2には、並列演算回路6の内部構成を示しており、制御演算する際の入力データA3、B4と、演算器の演算処理内容を決定するオペコード2を入力し、演算結果5を出力する加減乗除、論理演算および数値比較を行う演算器1を並列に演算できるように複数備えていることを示している。
【0010】
以下、その動作について説明する。8は多軸モータ制御装置の統括CPUであり、そのCPU8を動作させるためのプログラムおよびデータを格納するメモリ7とともに動作する。通信インターフェイス回路10を介して上位コントローラからモータへの指令値が入力され、CPUはその指令値とモータの制御演算に必要となるパラメータ値を並列演算回路6の入力データに設定し、各軸のモータ制御演算が並列演算回路内部にて実行される。制御演算が完了したことを割込み等の手段によりCPUへ通知し、CPUは演算結果5を並列演算回路から読み出し、そのデータを最終的なモータへの指令値としてモータインターフェイス回路9に書き込む。その後、指令値はパワーアンプにて電力増幅されモータを駆動することになる。モータに接続された位置検出器から出力される検出データは、モータインターフェイス回路9を介してCPU8にて確認され、CPU8では次の制御演算のフィードバック値として利用される。このフィードバック値はCPU8により読み出され、通信インターフェイス回路10を介して上位コントローラへ送信される。これら一連の動作を制御周期毎に繰り返し行い、多軸モータの制御が行われる。
次に並列演算回路6内部でのモータ制御演算方法について、請求項2に記載の方法に基づき図3、図4を用いて説明する。なお、分かり易くするため、ここでは3軸のモータ制御演算を行うものとし、各軸での演算式についても簡略化した演算を実行するものとして説明する。
まず、図3の演算では、(a+b)*c+dの処理R1を行いx1の結果を得る。さらに、(e+f)*g+hの処理R2と、演算結果x1を加算した処理R4によりx2を得る。引き続き、(i+j)*k+mの処理R3と、演算結果x1を加算した処理R5を行い、その結果に演算結果x2を加算した処理R6を行うものである。
【0011】
並列演算回路6内部には、演算器がALU1、ALU2、ALU3と3つ並列に演算処理が可能なように配置されている。各演算器では積和演算と加算処理を1度に処理が可能であり、3つの演算器を並列に動作させて3軸の演算処理を行ったものを図4に示す。図4のALU1とALU2とALU3は横に並列に配置された演算器を示し、その演算器で処理される各軸の処理内容を各内部に示している。また、その演算器で処理されるサイクル数を上から下へ順番に記載している。よって、図4では図3に示す3軸分の演算処理が、7サイクルで完了することを示している。
以下に具体的な演算処理の内容を説明する。3つの演算器ALU1、ALU2、ALU3を並列に制御演算処理させて、1軸目の制御演算を実行する場合、R1とR2とR3の処理をサイクル1に実行することができる。引き続き、サイクル1の演算結果を利用する処理R4とR5がサイクル2で実行できる。このとき、サイクル2のALU1にて、1軸目の残る処理R6を行いたいところではあるが、R6の処理は、R4の演算結果を利用する処理であるため、サイクル3にて処理しなければならない。よって、1軸目の制御演算では、サイクル1ではALU1とALU2とALU3を並列で利用し、サイクル2ではALU2とALU3を、サイクル3ではALU3を利用することになる。
次に2軸目の制御演算では、1軸目の演算でサイクル2およびサイクル3にて使用しなかった演算器を利用することができる。つまり、サイクル2では処理R1をALU1にて実行し、サイクル3では処理R2とR3をALU1とALU2にて実行することができる。引き続き、サイクル3の演算結果を利用する処理R4とR5をサイクル4にて実行する。このとき、サイクル4のALU3にて、2軸目の残る処理R6を行いたいところではあるが、R6の処理は、R4の演算結果を利用する処理であるため、サイクル5にて処理しなければならない。よって、2軸目の制御演算では、サイクル2ではALU1を利用し、サイクル3およびサイクル4ではALU1とALU2を、サイクル5ではALU1を利用することになる。
【0012】
さらに、3軸目の制御演算では、2軸目の演算でサイクル4およびサイクル5にて使用しなかった演算器を利用することができる。つまり、サイクル4では処理R1をALU3にて実行し、サイクル5では処理R2とR3をALU2とALU3にて実行することができる。引き続き、サイクル5の演算結果を利用する処理R4とR5をサイクル6で実行する。このとき、サイクル6のALU1にて、3軸目の残る処理R6を行いたいところではあるが、R6の処理は、R4の演算結果を利用する処理であるため、サイクル7にて処理しなければならない。よって、3軸目の制御演算では、サイクル4ではALU3を利用し、サイクル5およびサイクル6ではALU2とALU3を、サイクル7ではALU3を利用することになる。
以上のように1軸目の制御演算を行い、1軸目の演算にて使用しない演算器を利用して2軸目の制御演算を開始し、その後2軸目の演算にて使用しない演算器を利用して3軸目の制御演算を開始して各処理を完了する。これら3軸のモータ制御演算を制御周期毎に繰り返し行う。このように並列演算回路を利用し、3つの演算器を並列に処理させてモータの制御演算を行うことで、従来のようにCPUにて3軸のモータ制御演算を行うより、制御演算を高速に実行させることができるようになる。
【0013】
(第2実施例)
図5は第2のモータ制御演算を説明する図である。これは、請求項3の多軸モータ制御装置に相当する。また、この説明においても前述と同様に、3軸のモータ制御演算を行うものとし、各軸での演算式についても簡略化した図3に示す演算式を実行するものとして説明する。
並列演算回路6内部には、演算器がALU1、ALU2、ALU3と3つ並列に演算処理が可能なように配置されている。各演算器では積和演算と加算処理を1度に処理が可能であり、3つの演算器を並列に動作させて3軸の演算処理を行ったものを図5に示す。図5の制御演算方法では、並列演算回路内部の演算器のうち、ALU1では1軸目のモータの制御演算のみを行い、ALU2では2軸目のモータの制御演算のみを行い、ALU3では3軸目のモータの制御演算のみを行うものとする。
以下に具体的な演算処理の内容を説明する。並列に配置された3つの演算器ALU1、ALU2、ALU3のうち、ALU1にて1軸目の全ての制御演算を実行すると、R1の処理をサイクル1にて実行し、R2の処理をサイクル2、R3の処理をサイクル3、R4の処理をサイクル4、R5の処理をサイクル5、R6の処理をサイクル6と順番に実行することになる。これと並行してALU2、ALU3にて2軸目および3軸目の制御演算を実行するため、結果的に第1実施例と同じ処理を6サイクルで演算できることになる。
このように、各軸の制御演算処理を実行する並列演算回路内部の演算器を固定することは、並列で制御演算処理させる場合に、演算器間に生じる演算結果のデータ待ち等の時間を無くすことができ、R4の処理が完了しなければ、R6の処理が実行できないというデータ待ちサイクルが無くなる。すなわち、演算器を効率良く動作させることができて制御演算をより高速に実行させることが可能となるのである。
【0014】
【発明の効果】
以上述べたように、本発明の多軸モータ制御装置によれば、従来のCPUのように逐次的に処理していた制御演算をハードウェアにて並列に実行し、高速に処理することが可能になるという効果がある。また、従来のCPUにて行っていた処理を並列演算回路が実行することによりCPUの処理負荷は削減されるため、複数のCPUを利用した多軸モータ制御装置とする必要はなく、ハードウェア構成を単純化することで安価なシステムが構築可能になるという効果がある。
また、請求項2に記載の多軸モータ制御装置によれば、従来のCPUのように逐次的に行っていた制御演算を並列に処理することにより、高速に制御演算を行うことが可能になるという効果がある。このため、モータの制御周期を短縮することが可能となり制御性能の向上につながる。また、複数軸の制御演算を1軸毎にまとめて処理することにより、並列演算回路内部のメモリ容量を削減できるという効果がある。
さらに、請求項3に記載の多軸モータ制御装置によれば、並列演算回路の演算器が待ち状態となる時間を無くし、ハードウェアを効率良く活用することができるため、制御演算をより高速に処理することが可能になるという効果がある。このため、モータの制御周期を短縮することが可能となり制御性能の向上につながる。
【図面の簡単な説明】
【図1】本発明の多軸モータ制御装置の構成を示すブロック図
【図2】並列演算回路の内部構成図
【図3】第1、第2実施例の制御演算式を説明する図
【図4】第1の制御演算を説明する図
【図5】第2の制御演算を説明する図
【図6】第1従来例の多軸モータ制御装置のブロック図
【図7】第2従来例の多軸モータ制御装置のブロック図
1 演算器
2 オペコード
3 入力データA
4 入力データB
5 演算結果
6 並列演算回路
7 メモリ
8 CPU
9 モータインターフェイス回路
10 通信インターフェイス回路
11 共有メモリ
12 統括CPU
13 高速CPU
14 高速メモリ
15 入力メモリ
16 出力メモリ
17 多軸モータ制御装置
20 ALU1
21 ALU2
22 ALU3
【発明の属する技術分野】
本発明は、複数のモータの制御演算処理を並列に実行する多軸モータ制御装置に関する。
【0002】
【従来の技術】
従来の多軸モータ制御装置は、複数のモータ制御回路と、統括CPUと、共有メモリと、通信インターフェイス回路から構成されており、モータ制御回路は各軸の制御演算を行うCPUと、そのCPUを動作させるためのプログラムとデータを格納するメモリと、モータ駆動用のパワーアンプと位置検出器とのインターフェイスを行うモータインターフェイス回路を備えている。各モータ制御回路と多軸モータ制御装置の全体を統括する統括CPUとの間は共有メモリを介して接続されており、上位との通信を行うために通信インターフェイス回路が設置されている(例えば、特許文献1参照)。また、第2の従来の多軸モータ制御装置は、モータ制御回路にモータ駆動用のパワーアンプや位置検出器とのインターフェイスを行うモータインターフェイス回路を備えており、多軸モータ制御装置全体を統括する高速CPUと、その高速CPUを動作させるためのプログラムとデータを格納する高速メモリと、上位との通信を行う通信インターフェイス回路から構成されている。
【0003】
【特許文献1】
特開平12−287476号公報
【0004】
以下、2つの従来例について図を用いて説明する。図6において、12は多軸モータ制御装置の全体を統括する統括CPUであり、その統括CPUを動作させるためのプログラムおよびデータを格納するメモリ7とともに動作する。通信インターフェイス回路10を介して上位コントローラからモータの回転を指示する指令値が入力されると、統括CPU12は軸毎に設置された共有メモリ11にモータ指令値を書き込む。一方、8は各軸の制御を行うCPUであり、そのCPU8を動作させるためのプログラムおよびデータを格納するメモリ7を利用してモータの制御演算を行う。モータの制御演算を行う際、共有メモリ11に書き込まれている上位からのモータ指令値を読み出して制御演算を行うものである。最終的なモータへの指令値はモータインターフェイス回路9を介してパワーアンプに入力され電力増幅されてモータを駆動することになる。モータに接続された位置検出器から出力される検出データは、モータインターフェイス回路9を介してCPU8で確認され、次の制御演算のフィードバック値として利用されることになる。また、このフィードバック値はCPU8により共有メモリ11に書き込まれ、統括CPU12により読み出され、通信インターフェイス回路を介して上位コントローラへ送信される。これら一連の動作を制御周期毎に繰り返し行い、多軸モータの制御が行われている。
【0005】
図7は、図6の多軸モータ制御装置とは異なり、各軸毎に制御演算を行うCPUを設け、多軸モータ制御装置全体で1つの高速CPU13とその高速CPUが動作するために必要となる1つの高速メモリ14を設けたものである。つまり、多軸モータの制御演算を1つの高速CPUで行わせ、CPU間に配置されていた図6の例の共有メモリを削除してハードウェア構成を簡単にしたものである。
このように、従来の多軸モータ制御装置では、制御演算をCPUにて行っており、図6のように各軸毎にCPUを配置するか、図7のように高速CPUを利用して複数軸の制御演算を行うようになっていた。
【0006】
【発明が解決しようとする課題】
しかしながら、従来の多軸モータ制御装置は、モータ各軸毎に制御演算を行うためのCPUを設けるとか、あるいは1つの高速CPUにより複数軸の制御演算を行うというハードウェア構成にしていたため、ハードウェアが複雑となったり、高価なシステムとなったりしていた。そこで本発明は、多軸のモータ制御演算を高速に処理でき、これを安価なシステムとして提供することを目的とする。
【0007】
【課題を解決するための手段】
上記問題を解決するため、本発明は、多軸モータ制御装置全体を統括するCPUと、そのCPUを動作させるためのプログラムとデータが格納されたメモリと、複数のモータに対応して設けられ、パワーアンプ及び位置検出器とのインターフェイスを行う複数のモータインターフェイス回路と、上位コントローラとの通信を行う通信インターフェイス回路とを備えて前記複数のモータを制御する前記多軸モータ制御装置において、入力データA及びBが格納された入力メモリと、前記入力データA及びBとオペコードを入力すると加減乗除演算と論理演算と数値比較演算の少なくとも1つの演算をして結果を出力する複数の演算器と、その演算器の演算結果を受けて格納する出力メモリからなる並列演算回路を備えたことを特徴としている。
このようになっているため、制御演算がハードウェアにて並列に実行されて高速に処理することが可能となる。また、従来のCPUの処理を並列演算回路で実行してCPUの処理負荷が削減されるため、複数のCPUを利用した多軸モータ制御装置とする必要はなくなり、ハードウェア構成を単純なものとすることができる。
【0008】
また、請求項2に記載の本発明は、軸毎の制御演算を並列演算回路内部に配置された演算器にて並列に実行し、複数軸の制御演算を1軸毎順番に処理することを特徴とするものである。
このため従来のCPUのように1つの演算器で逐次的に行っていた制御演算を複数の演算器で並列に処理することにより、高速に制御演算を行うことが可能となる。また、複数軸の制御演算を1軸毎にまとめて処理することにより、並列演算回路内部のメモリ容量を削減することができる。
さらに、請求項3に記載の発明は、軸毎の制御演算を並列演算回路内部の特定演算器にて逐次的に実行し、その逐次的な処理が複数軸並列して実行されることを特徴とするものである。
このため並列演算回路の演算器が待ち状態となる時間が無くなり、ハードウェアが効率良く活用されて、制御演算を高速に処理することが可能となる。
【0009】
【発明の実施の形態】
以下、本発明の具体的実施例を図に基づいて説明する。
(第1実施例)
図1は本発明の多軸モータ制御装置のブロック図であり、図2はその中にある並列演算回路の内部構成図である。図1には、多軸モータ制御装置全体を統括するCPU8と、そのCPUを動作させるためのプログラムおよびデータを格納するメモリ7と、制御演算の並列処理が可能な並列演算回路6と、パワーアンプや位置検出器とのインターフェイスを行うモータインターフェイス回路9と、上位コントローラと通信する通信インターフェイス回路10とを備えて複数のモータを制御する多軸モータ制御装置を示している。また図2には、並列演算回路6の内部構成を示しており、制御演算する際の入力データA3、B4と、演算器の演算処理内容を決定するオペコード2を入力し、演算結果5を出力する加減乗除、論理演算および数値比較を行う演算器1を並列に演算できるように複数備えていることを示している。
【0010】
以下、その動作について説明する。8は多軸モータ制御装置の統括CPUであり、そのCPU8を動作させるためのプログラムおよびデータを格納するメモリ7とともに動作する。通信インターフェイス回路10を介して上位コントローラからモータへの指令値が入力され、CPUはその指令値とモータの制御演算に必要となるパラメータ値を並列演算回路6の入力データに設定し、各軸のモータ制御演算が並列演算回路内部にて実行される。制御演算が完了したことを割込み等の手段によりCPUへ通知し、CPUは演算結果5を並列演算回路から読み出し、そのデータを最終的なモータへの指令値としてモータインターフェイス回路9に書き込む。その後、指令値はパワーアンプにて電力増幅されモータを駆動することになる。モータに接続された位置検出器から出力される検出データは、モータインターフェイス回路9を介してCPU8にて確認され、CPU8では次の制御演算のフィードバック値として利用される。このフィードバック値はCPU8により読み出され、通信インターフェイス回路10を介して上位コントローラへ送信される。これら一連の動作を制御周期毎に繰り返し行い、多軸モータの制御が行われる。
次に並列演算回路6内部でのモータ制御演算方法について、請求項2に記載の方法に基づき図3、図4を用いて説明する。なお、分かり易くするため、ここでは3軸のモータ制御演算を行うものとし、各軸での演算式についても簡略化した演算を実行するものとして説明する。
まず、図3の演算では、(a+b)*c+dの処理R1を行いx1の結果を得る。さらに、(e+f)*g+hの処理R2と、演算結果x1を加算した処理R4によりx2を得る。引き続き、(i+j)*k+mの処理R3と、演算結果x1を加算した処理R5を行い、その結果に演算結果x2を加算した処理R6を行うものである。
【0011】
並列演算回路6内部には、演算器がALU1、ALU2、ALU3と3つ並列に演算処理が可能なように配置されている。各演算器では積和演算と加算処理を1度に処理が可能であり、3つの演算器を並列に動作させて3軸の演算処理を行ったものを図4に示す。図4のALU1とALU2とALU3は横に並列に配置された演算器を示し、その演算器で処理される各軸の処理内容を各内部に示している。また、その演算器で処理されるサイクル数を上から下へ順番に記載している。よって、図4では図3に示す3軸分の演算処理が、7サイクルで完了することを示している。
以下に具体的な演算処理の内容を説明する。3つの演算器ALU1、ALU2、ALU3を並列に制御演算処理させて、1軸目の制御演算を実行する場合、R1とR2とR3の処理をサイクル1に実行することができる。引き続き、サイクル1の演算結果を利用する処理R4とR5がサイクル2で実行できる。このとき、サイクル2のALU1にて、1軸目の残る処理R6を行いたいところではあるが、R6の処理は、R4の演算結果を利用する処理であるため、サイクル3にて処理しなければならない。よって、1軸目の制御演算では、サイクル1ではALU1とALU2とALU3を並列で利用し、サイクル2ではALU2とALU3を、サイクル3ではALU3を利用することになる。
次に2軸目の制御演算では、1軸目の演算でサイクル2およびサイクル3にて使用しなかった演算器を利用することができる。つまり、サイクル2では処理R1をALU1にて実行し、サイクル3では処理R2とR3をALU1とALU2にて実行することができる。引き続き、サイクル3の演算結果を利用する処理R4とR5をサイクル4にて実行する。このとき、サイクル4のALU3にて、2軸目の残る処理R6を行いたいところではあるが、R6の処理は、R4の演算結果を利用する処理であるため、サイクル5にて処理しなければならない。よって、2軸目の制御演算では、サイクル2ではALU1を利用し、サイクル3およびサイクル4ではALU1とALU2を、サイクル5ではALU1を利用することになる。
【0012】
さらに、3軸目の制御演算では、2軸目の演算でサイクル4およびサイクル5にて使用しなかった演算器を利用することができる。つまり、サイクル4では処理R1をALU3にて実行し、サイクル5では処理R2とR3をALU2とALU3にて実行することができる。引き続き、サイクル5の演算結果を利用する処理R4とR5をサイクル6で実行する。このとき、サイクル6のALU1にて、3軸目の残る処理R6を行いたいところではあるが、R6の処理は、R4の演算結果を利用する処理であるため、サイクル7にて処理しなければならない。よって、3軸目の制御演算では、サイクル4ではALU3を利用し、サイクル5およびサイクル6ではALU2とALU3を、サイクル7ではALU3を利用することになる。
以上のように1軸目の制御演算を行い、1軸目の演算にて使用しない演算器を利用して2軸目の制御演算を開始し、その後2軸目の演算にて使用しない演算器を利用して3軸目の制御演算を開始して各処理を完了する。これら3軸のモータ制御演算を制御周期毎に繰り返し行う。このように並列演算回路を利用し、3つの演算器を並列に処理させてモータの制御演算を行うことで、従来のようにCPUにて3軸のモータ制御演算を行うより、制御演算を高速に実行させることができるようになる。
【0013】
(第2実施例)
図5は第2のモータ制御演算を説明する図である。これは、請求項3の多軸モータ制御装置に相当する。また、この説明においても前述と同様に、3軸のモータ制御演算を行うものとし、各軸での演算式についても簡略化した図3に示す演算式を実行するものとして説明する。
並列演算回路6内部には、演算器がALU1、ALU2、ALU3と3つ並列に演算処理が可能なように配置されている。各演算器では積和演算と加算処理を1度に処理が可能であり、3つの演算器を並列に動作させて3軸の演算処理を行ったものを図5に示す。図5の制御演算方法では、並列演算回路内部の演算器のうち、ALU1では1軸目のモータの制御演算のみを行い、ALU2では2軸目のモータの制御演算のみを行い、ALU3では3軸目のモータの制御演算のみを行うものとする。
以下に具体的な演算処理の内容を説明する。並列に配置された3つの演算器ALU1、ALU2、ALU3のうち、ALU1にて1軸目の全ての制御演算を実行すると、R1の処理をサイクル1にて実行し、R2の処理をサイクル2、R3の処理をサイクル3、R4の処理をサイクル4、R5の処理をサイクル5、R6の処理をサイクル6と順番に実行することになる。これと並行してALU2、ALU3にて2軸目および3軸目の制御演算を実行するため、結果的に第1実施例と同じ処理を6サイクルで演算できることになる。
このように、各軸の制御演算処理を実行する並列演算回路内部の演算器を固定することは、並列で制御演算処理させる場合に、演算器間に生じる演算結果のデータ待ち等の時間を無くすことができ、R4の処理が完了しなければ、R6の処理が実行できないというデータ待ちサイクルが無くなる。すなわち、演算器を効率良く動作させることができて制御演算をより高速に実行させることが可能となるのである。
【0014】
【発明の効果】
以上述べたように、本発明の多軸モータ制御装置によれば、従来のCPUのように逐次的に処理していた制御演算をハードウェアにて並列に実行し、高速に処理することが可能になるという効果がある。また、従来のCPUにて行っていた処理を並列演算回路が実行することによりCPUの処理負荷は削減されるため、複数のCPUを利用した多軸モータ制御装置とする必要はなく、ハードウェア構成を単純化することで安価なシステムが構築可能になるという効果がある。
また、請求項2に記載の多軸モータ制御装置によれば、従来のCPUのように逐次的に行っていた制御演算を並列に処理することにより、高速に制御演算を行うことが可能になるという効果がある。このため、モータの制御周期を短縮することが可能となり制御性能の向上につながる。また、複数軸の制御演算を1軸毎にまとめて処理することにより、並列演算回路内部のメモリ容量を削減できるという効果がある。
さらに、請求項3に記載の多軸モータ制御装置によれば、並列演算回路の演算器が待ち状態となる時間を無くし、ハードウェアを効率良く活用することができるため、制御演算をより高速に処理することが可能になるという効果がある。このため、モータの制御周期を短縮することが可能となり制御性能の向上につながる。
【図面の簡単な説明】
【図1】本発明の多軸モータ制御装置の構成を示すブロック図
【図2】並列演算回路の内部構成図
【図3】第1、第2実施例の制御演算式を説明する図
【図4】第1の制御演算を説明する図
【図5】第2の制御演算を説明する図
【図6】第1従来例の多軸モータ制御装置のブロック図
【図7】第2従来例の多軸モータ制御装置のブロック図
1 演算器
2 オペコード
3 入力データA
4 入力データB
5 演算結果
6 並列演算回路
7 メモリ
8 CPU
9 モータインターフェイス回路
10 通信インターフェイス回路
11 共有メモリ
12 統括CPU
13 高速CPU
14 高速メモリ
15 入力メモリ
16 出力メモリ
17 多軸モータ制御装置
20 ALU1
21 ALU2
22 ALU3
Claims (3)
- 多軸モータ制御装置全体を統括するCPUと、
そのCPUを動作させるためのプログラムとデータが格納されたメモリと、
複数のモータに対応して設けられ、パワーアンプ及び位置検出器とのインターフェイスを行う複数のモータインターフェイス回路と、
上位コントローラとの通信を行う通信インターフェイス回路と
を備えて前記複数のモータを制御する前記多軸モータ制御装置において、
入力データA及びBが格納された入力メモリと、前記入力データA及びBとオペコードを入力すると加減乗除演算と論理演算と数値比較演算の少なくとも1つの演算をして結果を出力する複数の演算器と、その演算器の演算結果を受けて格納する出力メモリからなる並列演算回路を備えたことを特徴とする多軸モータ制御装置。 - 前記演算器は前記複数のモータに対応して並列に且つ1軸毎順番に演算することを特徴とする請求項1記載の多軸モータ制御演算装置。
- 前記並列演算回路は前記複数のモータに対応した複数の特定演算器を備えており、この特定演算器を利用して逐次的に演算を行う処理を、複数軸分並列に実行することを特徴とする請求項1記載の多軸モータ制御演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003046778A JP2004260890A (ja) | 2003-02-25 | 2003-02-25 | 多軸モータ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003046778A JP2004260890A (ja) | 2003-02-25 | 2003-02-25 | 多軸モータ制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004260890A true JP2004260890A (ja) | 2004-09-16 |
Family
ID=33113194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003046778A Pending JP2004260890A (ja) | 2003-02-25 | 2003-02-25 | 多軸モータ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004260890A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9356538B2 (en) | 2013-04-09 | 2016-05-31 | Mitsubishi Electric Corporation | Multiaxial driving apparatus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07234778A (ja) * | 1994-02-22 | 1995-09-05 | Texas Instr Japan Ltd | 演算回路 |
JPH09160784A (ja) * | 1995-12-06 | 1997-06-20 | Nec Corp | 並列化コンパイル方式 |
JP2000287476A (ja) * | 1999-03-30 | 2000-10-13 | Sumitomo Heavy Ind Ltd | 多軸制御システム及び多軸制御用ボード |
JP2002351280A (ja) * | 2001-05-28 | 2002-12-06 | Ricoh Co Ltd | 画像形成装置 |
-
2003
- 2003-02-25 JP JP2003046778A patent/JP2004260890A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07234778A (ja) * | 1994-02-22 | 1995-09-05 | Texas Instr Japan Ltd | 演算回路 |
JPH09160784A (ja) * | 1995-12-06 | 1997-06-20 | Nec Corp | 並列化コンパイル方式 |
JP2000287476A (ja) * | 1999-03-30 | 2000-10-13 | Sumitomo Heavy Ind Ltd | 多軸制御システム及び多軸制御用ボード |
JP2002351280A (ja) * | 2001-05-28 | 2002-12-06 | Ricoh Co Ltd | 画像形成装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9356538B2 (en) | 2013-04-09 | 2016-05-31 | Mitsubishi Electric Corporation | Multiaxial driving apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2637749B2 (ja) | データ処理装置とその処理方法 | |
US7024495B2 (en) | Programmable controller | |
CN102804136B (zh) | 副处理器、集成电路装置及电子设备 | |
JP2004260890A (ja) | 多軸モータ制御装置 | |
JP2008090455A (ja) | マルチプロセッサ信号処理装置 | |
JP4142589B2 (ja) | フィールド指向制御システムのためのモジュラー機能ブロック | |
JP4975586B2 (ja) | 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ | |
JPH025104A (ja) | 演算処理装置 | |
JPH1153020A (ja) | ロボット駆動方法およびその装置 | |
WO2004053715A1 (en) | Data processing system having a cartesian controller | |
JP2003228418A (ja) | 産業用ロボットの制御装置およびその装置における表示方法 | |
JPH01169607A (ja) | プログラマブルコントローラ | |
JP2695930B2 (ja) | インテリジェントi/oモジュール | |
JPS62117003A (ja) | マルチcpu構成プログラマブルコントロ−ラ | |
JPH06110693A (ja) | ファジー制御装置 | |
JP2001236104A (ja) | 分散制御システム | |
JPS63204322A (ja) | 情報処理装置 | |
JPH10154005A (ja) | プログラマブルコントローラの入出力制御方式 | |
JPH03156603A (ja) | プログラマブルコントローラ | |
JP2002297209A (ja) | シーケンス制御装置におけるシーケンスプログラム格納方法 | |
JPH01234957A (ja) | Dma制御方法及び装置 | |
JPH0241522A (ja) | 関数演算処理装置 | |
JP2004194402A (ja) | モータ制御回路 | |
JPH0218687A (ja) | パイプラインプロセッサ制御方式 | |
JPH0548490B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081127 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081218 |