JP2017162156A - モーションコントローラ、同期制御方法 - Google Patents
モーションコントローラ、同期制御方法 Download PDFInfo
- Publication number
- JP2017162156A JP2017162156A JP2016045566A JP2016045566A JP2017162156A JP 2017162156 A JP2017162156 A JP 2017162156A JP 2016045566 A JP2016045566 A JP 2016045566A JP 2016045566 A JP2016045566 A JP 2016045566A JP 2017162156 A JP2017162156 A JP 2017162156A
- Authority
- JP
- Japan
- Prior art keywords
- axis
- virtual
- axes
- position information
- control
- 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
Landscapes
- Numerical Control (AREA)
Abstract
【課題】接続された軸を有効に使用すること。【解決手段】モーションユニット12は、制御部51と記憶部52とを有している。記憶部52には、同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、マスター軸を設定する軸情報が格納される。制御部51は、記憶部52の位置情報と軸情報とに基づいて同期モーション制御の位置指令データを生成する。軸情報として、複数の仮想軸がマスター軸として設定される。制御部51は、軸情報に基づいて、マスター軸として設定された仮想軸の位置情報と、その仮想軸をマスター軸として設定した実在軸の位置情報とに基づいて位置指令データを生成する。【選択図】図2
Description
本発明は、モーションコントローラ、同期制御方法に関する。
従来、工作機械や搬送装置などの産業用機械は、モーション制御システムにより制御されている。モーション制御システムは、モーションコントローラと複数のモータドライバを有し、モータドライバのそれぞれに制御対象のモータが接続されている。モーションコントローラは、モータドライバを介して各種のモータを同期制御する。たとえば、モーションコントローラは、1つのモータを基本となる主軸(マスター軸)とし、他のモータを従軸(スレーブ軸)とし、主軸に対して従軸を同期制御する(例えば、特許文献1参照)。
ところで、制御の状態に応じて、使用可能な軸の数が減少する場合がある。たとえば、同期モーション制御では、主軸の現在位置をモーションコントローラにフィードバックし、その現在位置に応じて従軸を制御する。このため、主軸の動作に対して従軸の動作に遅れが生じる場合がある。制御対象の軸の間で遅れの無い制御を行うためには、他の軸を主軸として設定する必要がある。たとえば、3つの軸を同期制御する場合、同期制御の対象となる3つの軸と異なる1つの軸を主軸とし、その主軸に対して3つの従軸を同期制御する。つまり、この同期モーション制御では、3つの軸の制御のために4つの軸が必要となる。
そして、1つのモーションコントローラにて制御可能な軸(モータ)の数は仕様により制限されている。たとえば、1つのモーションコントローラにおいて制御可能な軸数を「8」とする。上記の同期モーション制御を行う場合、使用可能な軸の数は「4」となる。そして、上記と同様の同期モーション制御を行う場合、制御可能な軸の数は最大「3」となる。つまり、モーションコントローラに8個のモータを制御しても、2つの同期モーション制御として使用することができる軸数は「6」となる。このように、接続された軸を有効に使用することができない。
本発明は上記問題点を解決するためになされたものであって、その目的は、接続された軸を有効に使用することを可能とするモーションコントローラを提供することにある。
上記課題を解決するモーションコントローラは、主軸又は従軸として同期モーション制御の対象となるモータを駆動する複数のモータドライバが接続され、前記主軸に対して前記従軸を同期モーション制御するモーションコントローラであって、前記同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、前記主軸を設定する軸情報が格納された記憶部と、前記位置情報と前記軸情報とに基づいて前記同期モーション制御の位置指令データを生成する制御部と、を有し、前記軸情報として、複数の前記仮想軸が主軸として設定され、前記制御部は、前記軸情報に基づいて、前記主軸として設定された仮想軸の位置情報と、その仮想軸を主軸として設定した実在軸の位置情報とに基づいて前記位置指令データを生成する。
この構成によれば、モーションコントローラでは、複数の仮想軸が設定される。制御部は、主軸に設定された仮想軸に対して実在軸を従軸として同期モーション制御する。したがって、実在軸を主軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
上記のモーションコントローラにおいて、前記記憶部には、複数の同期グループが設定され、前記複数の同期グループはそれぞれ、少なくとも1つの主軸と少なくとも1つの従軸とを含み、前記複数の同期グループの主軸に前記仮想軸が設定され、前記制御部は、前記複数の同期グループに設定された主軸の位置情報と従軸の位置情報とに基づいて前記位置指令データを生成することが好ましい。
この構成によれば、各仮想軸は、同期グループの主軸として設定される。制御部は、主軸に設定された仮想軸に対して実在軸を従軸として同期モーション制御する。各同期グループについてそれぞれ同期モーション制御を行うことができる。
上記のモーションコントローラは、前記複数の同期グループのうちの1つの同期グループの従軸として仮想軸が設定され、その仮想軸は前記複数の同期グループのうちの他の同期グループの主軸として設定され、前記制御部は、前記1つの同期グループと前記他の同期グループに含まれる各軸の位置情報に基づいて前記位置指令データを生成することが好ましい。
この構成によれば、仮想軸が従軸として設定する。したがって、実在軸を主軸や従軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
上記のモーションコントローラにおいて、前記制御部は、複数の基準軸の位置情報に基づいて補間制御した位置情報を生成するものであり、前記複数の基準軸の少なくとも1つに前記仮想軸が設定されることが好ましい。
この構成によれば、各仮想軸は、補間制御の基準軸として設定される。そして、補間制御によって仮想軸の位置情報に基づいて算出された位置情報を主軸の位置情報とし、その主軸に対して実在軸が従軸として同期モーション制御される。したがって、実在軸を補間制御の基準軸として使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
上記課題を解決する同期制御方法は、主軸又は従軸として同期モーション制御の対象となるモータを駆動する複数のモータドライバが接続されるモーションコントローラにおいて実行され、前記主軸に対して複数の前記従軸を同期モーション制御する同期制御方法であって、前記モーションコントローラは、前記同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、前記主軸を設定する軸情報が格納された記憶部と、前記位置情報と前記軸情報とに基づいて前記同期モーション制御の位置指令データを生成する制御部とを有し、前記制御部は、複数の前記仮想軸が主軸として設定された前記軸情報に基づいて、前記主軸として設定された仮想軸の位置情報と、その仮想軸を主軸として設定した実在軸の位置情報とに基づいて前記位置指令データを生成する。
この構成によれば、モーションコントローラでは、複数の仮想軸が設定される。制御部は、主軸に設定された仮想軸に対して実在軸を従軸として同期モーション制御する。したがって、実在軸を主軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
本発明のモーションコントローラ、同期制御方法によれば、接続された軸を有効に使用することができる。
以下、各形態を説明する。
図1に示すように、同期モーション制御システム(以下、単に制御システムという)は、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)10を有している。
図1に示すように、同期モーション制御システム(以下、単に制御システムという)は、プログラマブルロジックコントローラ(PLC:Programmable Logic Controller)10を有している。
PLC10は、CPUユニット11と、モーションコントローラとしての複数(図では2つ)のモーションコントロールユニット(以下、モーションユニット)12,13とを有し、これらのユニットは直列状に連結されている。詳述すると、CPUユニット11とモーションユニット12,13は側面にスタッキング接続用コネクタを有している。そして、CPUユニット11、モーションユニット12,13は、それぞれ隣接するユニットのスタッキング接続用コネクタを挿入可能に形成されている。スタッキング接続用コネクタにより、CPUユニット11とモーションユニット12,13は電気的に接続される。
モーションユニット12には、複数のモータドライバ201,202,203,・・・,20mが直列に接続されている。モーションユニット12は、通信ケーブル301を介してモータドライバ201に接続され、モータドライバ201は通信ケーブル302を介してモータドライバ202に接続されている。更に、モータドライバ202は通信ケーブル303を介してモータドライバ203に接続されている。以下、同様にして、ケーブル30mによりモータドライバ20mが接続されている。このように接続されたモーションユニット12とモータドライバ201,202,203,・・・,20mは、デイジーチェーン接続によるバス型のネットワークを構成する。
各モータドライバ201,202,203,・・・,20mには、モータ211,212,213,・・・,21mがそれぞれ接続されている。モータドライバ201,202,203,・・・,20mは例えばサーボアンプであり、モータ211,212,213,・・・,21mは、例えばサーボモータである。
同様に、モーションユニット13と複数のモータドライバ221,222,223,・・・,22nは通信ケーブル311,312,313,・・・,31nにより直列に接続され、デイジーチェーン接続によるバス型のネットワークを構成している。モータドライバ221,222,223,・・・,22nは例えばサーボアンプであり、モータ231,232,233,・・・,23nは、例えばサーボモータである。
モーションユニット12,13に接続可能なモータ、つまりモータドライバの数は、各モーションユニット12,13の仕様によって決定され、例えば、16軸、32軸、64軸(m,n=16,32,64)である。
CPUユニット11は、PLC10の全体を制御する制御装置(CPU)を有する。CPUユニット11には、コンピュータ41が接続される。コンピュータ41は、PLC10に含まれる各種ユニット(本実施形態では、モーションユニット12,13)の動作プログラムの作成や各種設定を行うために利用される。プログラム等の各種データは、コンピュータ41からCPUユニット11を介して各モーションユニット12,13に供給される。モーションユニット12,13は、供給された各種データを記憶する。そして、モーションユニット12,13は、記憶した制御プログラムと各種設定に基づいて、モータ211,212,213,・・・,21m,231,232,233,・・・,23nを制御する同期モーション制御を実行する。
モーションユニット12は、制御プログラムと各種設定に基づいて、モータドライバ201に指令位置データを送信する。モータドライバ201は、指令位置データに基づいて、モータ211を駆動する。例えばサーボモータであるモータ211はエンコーダを有している。モータドライバ201は、エンコーダにより検出されたモータ211の現在位置を指令位置と一致するように、モータ211を制御する。同様に、モータドライバ202,203,・・・,20mは、モータ212,213,・・・,21mを駆動制御する。モーションユニット13とモータドライバ221,・・・,22n、モータ231,・・・,23nについても同様である。
図1において、モータドライバ223にはコンピュータ42が接続されている。このコンピュータ42は、モータドライバ223の各種の設定に用いられる。モータドライバ223に設定されるデータは、例えば、接続されたモータ233に対応する情報を含む。たとえば、モータ233において1回転あたりの指令パルス数等のデータがモータドライバ223に設定される。なお、他のモータドライバについても同様である。
[モーションユニットの概要]
次に、モーションユニットの概要を説明する。なお、図1に示す2つのモーションユニット12,13は同一の構成であるため、モーションユニット12について説明する。
次に、モーションユニットの概要を説明する。なお、図1に示す2つのモーションユニット12,13は同一の構成であるため、モーションユニット12について説明する。
図2に示すように、モーションユニット12は、制御部51、記憶部52、表示部53、通信部54を有している。
制御部51は、制御バス(上記のスタッキング用コネクタ)を介して図1に示すCPUユニット11と接続される。制御部51は、通信機能により、CPUユニット11と所定の処理手順によりデータ通信する。また、制御部51は、自ユニットのアドレスを設定する。
制御部51は、制御バス(上記のスタッキング用コネクタ)を介して図1に示すCPUユニット11と接続される。制御部51は、通信機能により、CPUユニット11と所定の処理手順によりデータ通信する。また、制御部51は、自ユニットのアドレスを設定する。
記憶部52は、不揮発性のメモリ、揮発性のメモリを含む。記憶部52は、各種データを記憶する。各種データは、制御プログラム、設定情報、を含む。設定情報は、モーションユニット12に接続されたモータを駆動するための設定値を含む。たとえば、設定情報は、このモーションユニット12により制御可能な軸数のモータの位置情報(設定値)を記憶する。位置情報は、例えば位置テーブルとして記憶部52に格納される。
また、設定情報は、モーションユニット12内に設定された仮想的な軸(以下、仮想軸)の情報を含む。モーションユニット12には、複数(例えば32軸)の仮想軸が設定される。設定情報は、各仮想軸の位置情報を含む。位置情報は、上記のモータの位置情報と同様に、位置テーブルとして記憶部52に格納される。
更に、設定情報は、同期制御に必要なパラメータ(同期パラメータ)を含む。同期パラメータとして、主軸(マスター軸)と従軸(スレーブ軸)の設定や同期グループの設定を含む。モーションユニット12は、マスター軸に対してスレーブ軸を同期制御する。マスター軸とスレーブ軸には、モーションユニット12に実際に接続された軸(図1に示すモータ211,212,213,・・・,21m、以下、実在軸)と、モーションユニット12内に設定された仮想的な軸(以下、仮想軸)が設定される。同期グループには、複数の軸が設定される。なお、必要に応じて、電子ギヤ、電子クラッチ、電子カムの情報が設定される。
制御部51は、設定情報に基づいて、実在軸(図1に示すモータ211,212,213,・・・,21m)を制御する。制御部51は、実在軸の位置情報を記憶部52から順次読み出し、位置指令データとして対応するモータドライバに送信する。モータドライバは、位置指令に基づいて、モータを駆動し、位置指令に応じた位置にモータを制御する。
仮想軸がマスター軸やスレーブ軸として設定されている場合、制御部51は、同期パラメータに基づいて仮想軸の位置情報を算出し、その位置情報と同期パラメータに基づいて、実在軸を制御する。つまり、制御部51は、位置情報と同期パラメータに基づいて同期制御の対象となる実在軸の位置指令データをモータドライバに送信する。
表示部53は、たとえば図1に示すモーションユニット12の前パネルの上部分のように、外部から視認可能な位置に配置されている。表示部53は、複数の発光素子(たとえばLED)を有している。図2に示す制御部51は、動作状態に応じて、表示部53の発光素子を点灯・消灯する。
次に、モーションユニット12における同期モーション制御の設定を説明する。
なお、説明を簡単にするために、実在軸を8軸、仮想軸を4軸として説明する。
図3は、実在軸と仮想軸におけるマスター軸の設定の第1の例を示す概略図である。この設定は、図2に示す記憶部52に格納されている。なお、図3は、設定の概略を示すものであり、図2に示す記憶部52における格納位置と異なっている。
なお、説明を簡単にするために、実在軸を8軸、仮想軸を4軸として説明する。
図3は、実在軸と仮想軸におけるマスター軸の設定の第1の例を示す概略図である。この設定は、図2に示す記憶部52に格納されている。なお、図3は、設定の概略を示すものであり、図2に示す記憶部52における格納位置と異なっている。
軸「1」〜「8」は実在軸を示し、「仮想1」〜「仮想4」は仮想軸を示す。
図3において、軸「1」〜軸「3」に対して「仮想1」がマスター軸として設定されている。したがって、軸「1」〜軸「3」は、「仮想1」に対するスレーブ軸となる。また、軸「4」,軸「5」に対して「仮想2」がマスター軸として設定されている。したがって、軸「4」,軸「5」は、「仮想2」に対するスレーブ軸となる。更に、軸「6」,軸「7」に対して、「仮想3」がマスター軸として設定されている。したがって、軸「6」,軸「7」は、「仮想3」に対するスレーブ軸となる。
図3において、軸「1」〜軸「3」に対して「仮想1」がマスター軸として設定されている。したがって、軸「1」〜軸「3」は、「仮想1」に対するスレーブ軸となる。また、軸「4」,軸「5」に対して「仮想2」がマスター軸として設定されている。したがって、軸「4」,軸「5」は、「仮想2」に対するスレーブ軸となる。更に、軸「6」,軸「7」に対して、「仮想3」がマスター軸として設定されている。したがって、軸「6」,軸「7」は、「仮想3」に対するスレーブ軸となる。
図4に示すように、マスター軸として設定された「仮想1」と、その「仮想1」に対してスレーブ軸として設定された軸「1」〜軸「3」は、「同期グループ1」として設定される。同様に、マスター軸として設定された「仮想2」と、その「仮想2」に対してスレーブ軸として設定された軸「4」,軸「5」は、「同期グループ2」として設定される。同様に、マスター軸として設定された「仮想3」と、その「仮想3」に対してスレーブ軸として設定された軸「6」,軸「7」は、「同期グループ3」として設定される。
このように設定された3つの同期グループは、それぞれのマスター軸が異なり、個別に同期モーション制御される。
図2に示す制御部51は、「仮想1」に対して軸「1」〜軸「3」を同期モーション制御する。また、制御部51は、「仮想2」に対して軸「4」,軸「5」を同期モーション制御し、「仮想3」に対して軸「6」,軸「7」を同期モーション制御する。
図2に示す制御部51は、「仮想1」に対して軸「1」〜軸「3」を同期モーション制御する。また、制御部51は、「仮想2」に対して軸「4」,軸「5」を同期モーション制御し、「仮想3」に対して軸「6」,軸「7」を同期モーション制御する。
ところで、仮想軸が設定されないユニットや仮想軸の設定が1軸のみのモーションユニットでは、マスター軸として実在軸を設定する必要がある。つまり、図4に示す同期グループ1において、4つの実在軸が使用される。また、同期グループ2において、3つの実在軸が使用される。つまり、2つの同期グループの設定のために7軸の実在軸が用いられる。したがって、実在軸が8軸のモーションユニットでは、同期グループ3を設定することができない。この同期グループ3のために、別のモーションユニットを用意する必要がある。また、同期グループにおいて、マスター軸として設定される実在軸は、制御対象の装置(搬送装置やロボット等)の動作に利用されない。つまり、マスター軸として設定された2つの実在軸は同期モーション制御に利用されない。
これに対し、本実施形態のモーションユニット12では、複数(図3では4軸)の仮想軸が設定される。そして、各仮想軸は、同期グループのマスター軸として設定され、そのマスター軸(仮想軸)に対して実在軸がスレーブ軸として同期モーション制御される。したがって、実在軸をマスター軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
図5は、実在軸と仮想軸におけるマスター軸の設定の第2の例を示す概略図である。この設定は、図2に示す記憶部52に格納されている。なお、図5は、設定の概略を示すものであり、図2に示す記憶部52における格納位置と異なっている。
軸「1」〜「8」は実在軸を示し、「仮想1」〜「仮想4」は仮想軸を示す。
図5において、軸「1」,軸「2」に対して「仮想2」がマスター軸として設定されている。したがって、軸「1」,軸「2」は、「仮想2」に対するスレーブ軸となる。また、軸「3」,軸「4」に対して「仮想3」がマスター軸として設定されている。したがって、軸「3」,軸「4」は、「仮想3」に対するスレーブ軸となる。更に、「仮想2」,「仮想3」に対して、「仮想1」がマスター軸として設定されている。したがって、「仮想2」,「仮想3」は、「仮想1」に対するスレーブ軸となる。つまり、本実施形態のモーションユニット12では、仮想軸をスレーブ軸として設定する。
図5において、軸「1」,軸「2」に対して「仮想2」がマスター軸として設定されている。したがって、軸「1」,軸「2」は、「仮想2」に対するスレーブ軸となる。また、軸「3」,軸「4」に対して「仮想3」がマスター軸として設定されている。したがって、軸「3」,軸「4」は、「仮想3」に対するスレーブ軸となる。更に、「仮想2」,「仮想3」に対して、「仮想1」がマスター軸として設定されている。したがって、「仮想2」,「仮想3」は、「仮想1」に対するスレーブ軸となる。つまり、本実施形態のモーションユニット12では、仮想軸をスレーブ軸として設定する。
図6に示すように、マスター軸として設定された「仮想1」と、その「仮想1」に対してスレーブ軸として設定された「仮想2」と「仮想3」は、「同期グループ1」として設定される。同様に、マスター軸として設定された「仮想2」と、その「仮想2」に対してスレーブ軸として設定された軸「1」,軸「2」は、「同期グループ2」として設定される。同様に、マスター軸として設定された「仮想3」と、その「仮想3」に対してスレーブ軸として設定された軸「3」,軸「4」は、「同期グループ3」として設定される。
図2に示す制御部51は、「仮想1」に対して「仮想2」と「仮想3」を同期モーション制御する。さらに、制御部51は、「仮想2」に対して軸「1」,軸「2」を同期モーション制御するとともに、「仮想3」に対して軸「3」,軸「4」を同期モーション制御する。
ところで、仮想軸が設定されないユニットや仮想軸をスレーブ軸として設定することが不可能なモーションユニットでは、マスター軸及びスレーブ軸として実在軸を設定する必要がある。つまり、図6に示す同期グループ1において、3つの実在軸が使用される。その同期グループ1のスレーブ軸に対してそれぞれ2つの実在軸が設定される。つまり、このような設定では、7軸の実在軸が用いられ、使用可能な実在軸は1軸となる。
これに対し、本実施形態のモーションユニット12では、複数(図5では4軸)の仮想軸が設定される。そして、仮想軸をスレーブ軸として設定する。したがって、実在軸をマスター軸やスレーブ軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
図2に示すモーションユニット12の制御部51において、補間制御を行うことができる。補間制御として、2軸直線補間、2軸円弧補間、3軸直線補間、3軸螺旋補間、4軸直線補間が可能である。図2に示す記憶部52には、補間制御のための情報が設定される。補間制御のための情報は、補間の種類、補間に利用される軸が設定される。本実施形態のモーションユニット12(制御部51)では、実在軸と仮想軸を補間のための軸として利用(設定)することができる。
図7(a)は、2軸直線補間の例を示す。図7(a)において、Y軸(横軸)に仮想軸(たとえば、「仮想1」)が設定され、X軸(縦軸)に仮想軸(たとえば、「仮想2」)が設定される。仮想軸「仮想1」と仮想軸「仮想2」の制御開始位置(例えば原点位置)を図7(a)の原点Oとする。
図2に示す制御部51は、同期モーション制御の開始に基づいて、「仮想1」の位置情報と、「仮想2」の位置情報とに基づいて、図7(a)に示す直線L1上の点の位置を算出する。この直線L1の位置をマスター軸の位置情報として、たとえば軸「1」,軸「2」がスレーブ軸として設定される。図2に示す制御部51は、直線L1の位置情報に対して、軸「1」,軸「2」を同期モーション制御する。
図7(b)は、2軸円弧補間の例を示す。図7(b)において、Y軸(横軸)に仮想軸(たとえば、「仮想1」)が設定され、X軸(縦軸)に仮想軸(たとえば、「仮想2」)が設定される。仮想軸「仮想1」と仮想軸「仮想2」の制御開始位置(例えば原点位置)を開始位置P1とする。
図2に示す制御部51は、同期モーション制御の開始に基づいて、「仮想1」の位置情報と、「仮想2」の位置情報とに基づいて、図7(b)に示す円弧L2上の点の位置を算出する。この円弧L2の位置をマスター軸の位置情報として、たとえば軸「1」,軸「2」がスレーブ軸として設定される。図2に示す制御部51は、円弧L2の位置情報に対して、軸「1」,軸「2」を同期モーション制御する。
このような補間制御により算出した位置情報に基づく同期モーション制御において、仮想軸が設定されないユニットや仮想軸の設定が1軸のみのモーションユニットでは、補間制御(直線補間、円弧補間)の基準軸(図7(a)及び図7(b)ではY軸及びX軸)として実在軸が利用される。そして、このように利用される実在軸は、制御対象の装置(搬送装置やロボット等)の動作に利用されない。つまり、補間制御の基準軸として設定された実在軸は同期モーション制御に利用されない。
これに対し、本実施形態のモーションユニット12では、複数の仮想軸が設定される。そして、各仮想軸は、補間制御の基準軸として設定される。そして、補間制御によって仮想軸の位置情報に基づいて算出された位置情報をマスター軸の位置情報とし、そのマスター軸に対して実在軸がスレーブ軸として同期モーション制御される。したがって、実在軸を補間制御の基準軸として使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
なお、図7(a)では2軸直線補間の例を、図7(b)では2軸円弧補間の例を示した。補間制御としては、3軸直線補間、3軸螺旋補間、4軸直線補間を設定可能であり、これらの補間制御の基準軸として仮想軸を設定することができる。したがって、各種の補間制御において、補間制御の基準軸として使用することなく、同期モーション制御に利用することができる。
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)モーションユニット12は、制御部51と記憶部52とを有している。記憶部52には、同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、マスター軸を設定する軸情報が格納される。制御部51は、記憶部52の位置情報と軸情報とに基づいて同期モーション制御の位置指令データを生成する。軸情報として、複数の仮想軸がマスター軸として設定される。制御部51は、軸情報に基づいて、マスター軸として設定された仮想軸の位置情報と、その仮想軸をマスター軸として設定した実在軸の位置情報とに基づいて位置指令データを生成する。
(1)モーションユニット12は、制御部51と記憶部52とを有している。記憶部52には、同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、マスター軸を設定する軸情報が格納される。制御部51は、記憶部52の位置情報と軸情報とに基づいて同期モーション制御の位置指令データを生成する。軸情報として、複数の仮想軸がマスター軸として設定される。制御部51は、軸情報に基づいて、マスター軸として設定された仮想軸の位置情報と、その仮想軸をマスター軸として設定した実在軸の位置情報とに基づいて位置指令データを生成する。
このように、モーションユニット12では、複数の仮想軸が設定される。そして、各仮想軸は、同期グループのマスター軸として設定され、そのマスター軸(仮想軸)に対して実在軸がスレーブ軸として同期モーション制御される。したがって、実在軸をマスター軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
(2)モーションユニット12では、複数の仮想軸が設定される。そして、仮想軸をスレーブ軸として設定する。したがって、実在軸をマスター軸やスレーブ軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
(3)モーションユニット12では、複数の仮想軸が設定される。そして、各仮想軸は、補間制御の基準軸として設定される。そして、補間制御によって仮想軸の位置情報に基づいて算出された位置情報をマスター軸の位置情報とし、そのマスター軸に対して実在軸がスレーブ軸として同期モーション制御される。したがって、実在軸を補間制御の基準軸として使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
尚、上記実施形態は、以下の態様で実施してもよい。
・上記実施形態において、図1に示すモータ211,212,213,・・・,21mとして、ステッピングモータやリニアモータ等を用いてもよい。また、モータ231,232,233,・・・,23nとして、ステッピングモータやリニアモータ等を用いてもよい。
・上記実施形態において、図1に示すモータ211,212,213,・・・,21mとして、ステッピングモータやリニアモータ等を用いてもよい。また、モータ231,232,233,・・・,23nとして、ステッピングモータやリニアモータ等を用いてもよい。
・上記実施形態は、図1に示すCPUユニット11に接続されるモーションユニット12としたが、単独にて動作する装置(モーションコントローラ)としてもよい。
・上記実施形態に対し、スレーブ軸の動作を適宜設定してもよい。設定情報は、図2に示す記憶部52に格納される。たとえば、マスター軸に対してスレーブ軸の動作速度を、任意に設定するようにしてもよい。また、スレーブ軸(モータ)の回転方向を設定するようにしてもよい。また、電子ギヤ、電子クラッチ、電子カム、の情報(ギヤ比、クラッチのオンオフ、カム線図)等を図2に示す記憶部52に格納し、電子ギヤ、電子クラッチ、電子カムを用いた同期モーション制御を行うようにしてもよい。
・上記実施形態に対し、スレーブ軸の動作を適宜設定してもよい。設定情報は、図2に示す記憶部52に格納される。たとえば、マスター軸に対してスレーブ軸の動作速度を、任意に設定するようにしてもよい。また、スレーブ軸(モータ)の回転方向を設定するようにしてもよい。また、電子ギヤ、電子クラッチ、電子カム、の情報(ギヤ比、クラッチのオンオフ、カム線図)等を図2に示す記憶部52に格納し、電子ギヤ、電子クラッチ、電子カムを用いた同期モーション制御を行うようにしてもよい。
・上記実施形態に対し、実在軸、仮想軸、同期グループ、マスター軸、スレーブ軸の数を適宜変更してもよい。
・上記実施形態において、図2は、モーションユニット12における機能ブロックの一例を示すものであり、各ブロックが適宜組み合わせられ、または複数のブロックにより構成されてもよい。たとえば、記憶部52や通信部54が制御部51に含まれていてもよい。
・上記実施形態において、図2は、モーションユニット12における機能ブロックの一例を示すものであり、各ブロックが適宜組み合わせられ、または複数のブロックにより構成されてもよい。たとえば、記憶部52や通信部54が制御部51に含まれていてもよい。
また、モーションユニット12に他の機能ブロックが含まれていてもよい。たとえば、メモリカードなどの着脱可能な記録媒体をアクセスするためのインタフェース回路が含まれていても良い。メモリカードには、たとえば、設定情報や、同期モード制御において送信される位置指令データを格納する。
・上記実施形態に対し、実在軸をマスター軸とした同期グループを設定するようにしてもよい。
・上記実施形態において、図6に示すように、同期グループ1に対して同期グループ2,3を従属的に設定した。これに対し、さらに、同期グループ2,3の少なくとも一方に対して従属的な同期グループを設定するようにしてもよい。
・上記実施形態において、図6に示すように、同期グループ1に対して同期グループ2,3を従属的に設定した。これに対し、さらに、同期グループ2,3の少なくとも一方に対して従属的な同期グループを設定するようにしてもよい。
12,13…モーションコントロールユニット(モーションユニット)、201,202,203,・・・,20m…モータドライバ、211,212,213,・・・,21m…モータ、51…制御部、52…記憶部。
Claims (5)
- 主軸又は従軸として同期モーション制御の対象となるモータを駆動する複数のモータドライバが接続され、前記主軸に対して前記従軸を同期モーション制御するモーションコントローラであって、
前記同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、前記主軸を設定する軸情報が格納された記憶部と、
前記位置情報と前記軸情報とに基づいて前記同期モーション制御の位置指令データを生成する制御部と、
を有し、
前記軸情報として、複数の前記仮想軸が主軸として設定され、
前記制御部は、前記軸情報に基づいて、前記主軸として設定された仮想軸の位置情報と、その仮想軸を主軸として設定した実在軸の位置情報とに基づいて前記位置指令データを生成すること、
を特徴とするモーションコントローラ。 - 前記記憶部には、複数の同期グループが設定され、
前記複数の同期グループはそれぞれ、少なくとも1つの主軸と少なくとも1つの従軸とを含み、
前記複数の同期グループの主軸に前記仮想軸が設定され、
前記制御部は、前記複数の同期グループに設定された主軸の位置情報と従軸の位置情報とに基づいて前記位置指令データを生成すること、
を特徴とする請求項1に記載のモーションコントローラ。 - 前記複数の同期グループのうちの1つの同期グループの従軸として仮想軸が設定され、その仮想軸は前記複数の同期グループのうちの他の同期グループの主軸として設定され、
前記制御部は、前記1つの同期グループと前記他の同期グループに含まれる各軸の位置情報に基づいて前記位置指令データを生成すること、
を特徴とする請求項2に記載のモーションコントローラ。 - 前記制御部は、複数の基準軸の位置情報に基づいて補間制御した位置情報を生成するものであり、
前記複数の基準軸の少なくとも1つに前記仮想軸が設定されること、
を特徴とする請求項1〜3のいずれか一項に記載のモーションコントローラ。 - 主軸又は従軸として同期モーション制御の対象となるモータを駆動する複数のモータドライバが接続されるモーションコントローラにおいて実行され、前記主軸に対して複数の前記従軸を同期モーション制御する同期制御方法であって、
前記モーションコントローラは、前記同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、前記主軸を設定する軸情報が格納された記憶部と、前記位置情報と前記軸情報とに基づいて前記同期モーション制御の位置指令データを生成する制御部とを有し、
前記制御部は、複数の前記仮想軸が主軸として設定された前記軸情報に基づいて、前記主軸として設定された仮想軸の位置情報と、その仮想軸を主軸として設定した実在軸の位置情報とに基づいて前記位置指令データを生成すること、
を特徴とする同期制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016045566A JP2017162156A (ja) | 2016-03-09 | 2016-03-09 | モーションコントローラ、同期制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016045566A JP2017162156A (ja) | 2016-03-09 | 2016-03-09 | モーションコントローラ、同期制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017162156A true JP2017162156A (ja) | 2017-09-14 |
Family
ID=59857879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016045566A Pending JP2017162156A (ja) | 2016-03-09 | 2016-03-09 | モーションコントローラ、同期制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017162156A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262291A (zh) * | 2018-03-12 | 2019-09-20 | 欧姆龙株式会社 | 控制装置、控制方法以及存储介质 |
CN114509985A (zh) * | 2020-11-17 | 2022-05-17 | 沈阳新松机器人自动化股份有限公司 | 一种基于运动控制的虚轴控制系统 |
-
2016
- 2016-03-09 JP JP2016045566A patent/JP2017162156A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262291A (zh) * | 2018-03-12 | 2019-09-20 | 欧姆龙株式会社 | 控制装置、控制方法以及存储介质 |
CN114509985A (zh) * | 2020-11-17 | 2022-05-17 | 沈阳新松机器人自动化股份有限公司 | 一种基于运动控制的虚轴控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10908577B2 (en) | Control device | |
CN101995848A (zh) | 具有旋转轴的机床中的刀具矢量显示装置 | |
US10761513B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
CN105144012A (zh) | 同步控制装置 | |
JP2016112645A (ja) | 産業用ロボットの制御システム | |
JP2017162156A (ja) | モーションコントローラ、同期制御方法 | |
JP5622125B2 (ja) | 多軸モータ駆動システム及び多軸モータ駆動装置 | |
KR20180118687A (ko) | 통신 제어 시스템 및 통신 제어 방법 | |
JP6441257B2 (ja) | 数値制御装置および同期追従制御方法 | |
US10882179B2 (en) | Control system, slave device control part, control method, and non-transitory computer readable medium | |
CN107710082B (zh) | 用于控制和/或调节机器人系统的外部控制系统的自动配置方法 | |
US7770045B2 (en) | Method and apparatus for operating cooperating, differing devices | |
US9557731B2 (en) | Control device of gear processing machine | |
CN106843163A (zh) | 一种数控系统、控制方法及控制装置 | |
JP2008525870A (ja) | 検出器信号をシミュレートするためのモジュール | |
JP3873685B2 (ja) | 多軸同期制御装置、多軸同期制御方法および多軸同期制御プログラム | |
CN105900026B (zh) | 数控装置 | |
JP2005173849A (ja) | 自動機械制御システム | |
JP4682907B2 (ja) | モータ制御装置 | |
US20190250576A1 (en) | Central control device, control method and non-transitory computer readable medium | |
JP6552314B2 (ja) | モータ制御装置 | |
CN106911268B (zh) | 用于控制电机的方法和系统 | |
JP7167516B2 (ja) | 制御装置、制御方法、および制御プログラム | |
US11590620B2 (en) | Motion control method for dual-spindle machining, dual-spindle machining apparatus and computer program product | |
Safdar | Theory of Robotics Arm Control with PLC |