(57)【要約】【課題】接続された軸を有効に使用すること。【解決手段】モーションユニット１２は、制御部５１と記憶部５２とを有している。記憶部５２には、同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、マスター軸を設定する軸情報が格納される。制御部５１は、記憶部５２の位置情報と軸情報とに基づいて同期モーション制御の位置指令データを生成する。軸情報として、複数の仮想軸がマスター軸として設定される。制御部５１は、軸情報に基づいて、マスター軸として設定された仮想軸の位置情報と、その仮想軸をマスター軸として設定した実在軸の位置情報とに基づいて位置指令データを生成する。【選択図】図２
2017162156.tif 000002
【特許請求の範囲】
【請求項１】
主軸又は従軸として同期モーション制御の対象となるモータを駆動する複数のモータドライバが接続され、前記主軸に対して前記従軸を同期モーション制御するモーションコントローラであって、
前記同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、前記主軸を設定する軸情報が格納された記憶部と、
前記位置情報と前記軸情報とに基づいて前記同期モーション制御の位置指令データを生成する制御部と、
を有し、
前記軸情報として、複数の前記仮想軸が主軸として設定され、
前記制御部は、前記軸情報に基づいて、前記主軸として設定された仮想軸の位置情報と、その仮想軸を主軸として設定した実在軸の位置情報とに基づいて前記位置指令データを生成すること、
を特徴とするモーションコントローラ。
【請求項２】
前記記憶部には、複数の同期グループが設定され、
前記複数の同期グループはそれぞれ、少なくとも１つの主軸と少なくとも１つの従軸とを含み、
前記複数の同期グループの主軸に前記仮想軸が設定され、
前記制御部は、前記複数の同期グループに設定された主軸の位置情報と従軸の位置情報とに基づいて前記位置指令データを生成すること、
を特徴とする請求項１に記載のモーションコントローラ。
【請求項３】
前記複数の同期グループのうちの１つの同期グループの従軸として仮想軸が設定され、その仮想軸は前記複数の同期グループのうちの他の同期グループの主軸として設定され、
前記制御部は、前記１つの同期グループと前記他の同期グループに含まれる各軸の位置情報に基づいて前記位置指令データを生成すること、
を特徴とする請求項２に記載のモーションコントローラ。
【請求項４】
前記制御部は、複数の基準軸の位置情報に基づいて補間制御した位置情報を生成するものであり、
前記複数の基準軸の少なくとも１つに前記仮想軸が設定されること、
を特徴とする請求項１〜３のいずれか一項に記載のモーションコントローラ。
【請求項５】
主軸又は従軸として同期モーション制御の対象となるモータを駆動する複数のモータドライバが接続されるモーションコントローラにおいて実行され、前記主軸に対して複数の前記従軸を同期モーション制御する同期制御方法であって、
前記モーションコントローラは、前記同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、前記主軸を設定する軸情報が格納された記憶部と、前記位置情報と前記軸情報とに基づいて前記同期モーション制御の位置指令データを生成する制御部とを有し、
前記制御部は、複数の前記仮想軸が主軸として設定された前記軸情報に基づいて、前記主軸として設定された仮想軸の位置情報と、その仮想軸を主軸として設定した実在軸の位置情報とに基づいて前記位置指令データを生成すること、
を特徴とする同期制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モーションコントローラ、同期制御方法に関する。
【背景技術】
【０００２】
従来、工作機械や搬送装置などの産業用機械は、モーション制御システムにより制御されている。モーション制御システムは、モーションコントローラと複数のモータドライバを有し、モータドライバのそれぞれに制御対象のモータが接続されている。モーションコントローラは、モータドライバを介して各種のモータを同期制御する。たとえば、モーションコントローラは、１つのモータを基本となる主軸（マスター軸）とし、他のモータを従軸（スレーブ軸）とし、主軸に対して従軸を同期制御する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２０５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、制御の状態に応じて、使用可能な軸の数が減少する場合がある。たとえば、同期モーション制御では、主軸の現在位置をモーションコントローラにフィードバックし、その現在位置に応じて従軸を制御する。このため、主軸の動作に対して従軸の動作に遅れが生じる場合がある。制御対象の軸の間で遅れの無い制御を行うためには、他の軸を主軸として設定する必要がある。たとえば、３つの軸を同期制御する場合、同期制御の対象となる３つの軸と異なる１つの軸を主軸とし、その主軸に対して３つの従軸を同期制御する。つまり、この同期モーション制御では、３つの軸の制御のために４つの軸が必要となる。
【０００５】
そして、１つのモーションコントローラにて制御可能な軸（モータ）の数は仕様により制限されている。たとえば、１つのモーションコントローラにおいて制御可能な軸数を「８」とする。上記の同期モーション制御を行う場合、使用可能な軸の数は「４」となる。そして、上記と同様の同期モーション制御を行う場合、制御可能な軸の数は最大「３」となる。つまり、モーションコントローラに８個のモータを制御しても、２つの同期モーション制御として使用することができる軸数は「６」となる。このように、接続された軸を有効に使用することができない。
【０００６】
本発明は上記問題点を解決するためになされたものであって、その目的は、接続された軸を有効に使用することを可能とするモーションコントローラを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するモーションコントローラは、主軸又は従軸として同期モーション制御の対象となるモータを駆動する複数のモータドライバが接続され、前記主軸に対して前記従軸を同期モーション制御するモーションコントローラであって、前記同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、前記主軸を設定する軸情報が格納された記憶部と、前記位置情報と前記軸情報とに基づいて前記同期モーション制御の位置指令データを生成する制御部と、を有し、前記軸情報として、複数の前記仮想軸が主軸として設定され、前記制御部は、前記軸情報に基づいて、前記主軸として設定された仮想軸の位置情報と、その仮想軸を主軸として設定した実在軸の位置情報とに基づいて前記位置指令データを生成する。
【０００８】
この構成によれば、モーションコントローラでは、複数の仮想軸が設定される。制御部は、主軸に設定された仮想軸に対して実在軸を従軸として同期モーション制御する。したがって、実在軸を主軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【０００９】
上記のモーションコントローラにおいて、前記記憶部には、複数の同期グループが設定され、前記複数の同期グループはそれぞれ、少なくとも１つの主軸と少なくとも１つの従軸とを含み、前記複数の同期グループの主軸に前記仮想軸が設定され、前記制御部は、前記複数の同期グループに設定された主軸の位置情報と従軸の位置情報とに基づいて前記位置指令データを生成することが好ましい。
【００１０】
この構成によれば、各仮想軸は、同期グループの主軸として設定される。制御部は、主軸に設定された仮想軸に対して実在軸を従軸として同期モーション制御する。各同期グループについてそれぞれ同期モーション制御を行うことができる。
【００１１】
上記のモーションコントローラは、前記複数の同期グループのうちの１つの同期グループの従軸として仮想軸が設定され、その仮想軸は前記複数の同期グループのうちの他の同期グループの主軸として設定され、前記制御部は、前記１つの同期グループと前記他の同期グループに含まれる各軸の位置情報に基づいて前記位置指令データを生成することが好ましい。
【００１２】
この構成によれば、仮想軸が従軸として設定する。したがって、実在軸を主軸や従軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【００１３】
上記のモーションコントローラにおいて、前記制御部は、複数の基準軸の位置情報に基づいて補間制御した位置情報を生成するものであり、前記複数の基準軸の少なくとも１つに前記仮想軸が設定されることが好ましい。
【００１４】
この構成によれば、各仮想軸は、補間制御の基準軸として設定される。そして、補間制御によって仮想軸の位置情報に基づいて算出された位置情報を主軸の位置情報とし、その主軸に対して実在軸が従軸として同期モーション制御される。したがって、実在軸を補間制御の基準軸として使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【００１５】
上記課題を解決する同期制御方法は、主軸又は従軸として同期モーション制御の対象となるモータを駆動する複数のモータドライバが接続されるモーションコントローラにおいて実行され、前記主軸に対して複数の前記従軸を同期モーション制御する同期制御方法であって、前記モーションコントローラは、前記同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、前記主軸を設定する軸情報が格納された記憶部と、前記位置情報と前記軸情報とに基づいて前記同期モーション制御の位置指令データを生成する制御部とを有し、前記制御部は、複数の前記仮想軸が主軸として設定された前記軸情報に基づいて、前記主軸として設定された仮想軸の位置情報と、その仮想軸を主軸として設定した実在軸の位置情報とに基づいて前記位置指令データを生成する。
【００１６】
この構成によれば、モーションコントローラでは、複数の仮想軸が設定される。制御部は、主軸に設定された仮想軸に対して実在軸を従軸として同期モーション制御する。したがって、実在軸を主軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【発明の効果】
【００１７】
本発明のモーションコントローラ、同期制御方法によれば、接続された軸を有効に使用することができる。
【図面の簡単な説明】
【００１８】
【図１】同期モーション制御システムの概略構成図。
【図２】モーションコントロールユニットの概略ブロック図。
【図３】各軸に対するマスター軸の設定を示す概略図。
【図４】同期グループの説明図。
【図５】各軸に対するマスター軸の設定を示す概略図。
【図６】同期グループの説明図。
【図７】（ａ）（ｂ）は、補間位置決め制御の例を示す説明図。
【発明を実施するための形態】
【００１９】
以下、各形態を説明する。
図１に示すように、同期モーション制御システム（以下、単に制御システムという）は、プログラマブルロジックコントローラ（ＰＬＣ:Programmable Logic Controller）１０を有している。
【００２０】
ＰＬＣ１０は、ＣＰＵユニット１１と、モーションコントローラとしての複数（図では２つ）のモーションコントロールユニット（以下、モーションユニット）１２，１３とを有し、これらのユニットは直列状に連結されている。詳述すると、ＣＰＵユニット１１とモーションユニット１２，１３は側面にスタッキング接続用コネクタを有している。そして、ＣＰＵユニット１１、モーションユニット１２，１３は、それぞれ隣接するユニットのスタッキング接続用コネクタを挿入可能に形成されている。スタッキング接続用コネクタにより、ＣＰＵユニット１１とモーションユニット１２，１３は電気的に接続される。
【００２１】
モーションユニット１２には、複数のモータドライバ２０１，２０２，２０３，・・・，２０ｍが直列に接続されている。モーションユニット１２は、通信ケーブル３０１を介してモータドライバ２０１に接続され、モータドライバ２０１は通信ケーブル３０２を介してモータドライバ２０２に接続されている。更に、モータドライバ２０２は通信ケーブル３０３を介してモータドライバ２０３に接続されている。以下、同様にして、ケーブル３０ｍによりモータドライバ２０ｍが接続されている。このように接続されたモーションユニット１２とモータドライバ２０１，２０２，２０３，・・・，２０ｍは、デイジーチェーン接続によるバス型のネットワークを構成する。
【００２２】
各モータドライバ２０１，２０２，２０３，・・・，２０ｍには、モータ２１１，２１２，２１３，・・・，２１ｍがそれぞれ接続されている。モータドライバ２０１，２０２，２０３，・・・，２０ｍは例えばサーボアンプであり、モータ２１１，２１２，２１３，・・・，２１ｍは、例えばサーボモータである。
【００２３】
同様に、モーションユニット１３と複数のモータドライバ２２１，２２２，２２３，・・・，２２ｎは通信ケーブル３１１，３１２，３１３，・・・，３１ｎにより直列に接続され、デイジーチェーン接続によるバス型のネットワークを構成している。モータドライバ２２１，２２２，２２３，・・・，２２ｎは例えばサーボアンプであり、モータ２３１，２３２，２３３，・・・，２３ｎは、例えばサーボモータである。
【００２４】
モーションユニット１２，１３に接続可能なモータ、つまりモータドライバの数は、各モーションユニット１２，１３の仕様によって決定され、例えば、１６軸、３２軸、６４軸（ｍ，ｎ＝１６，３２，６４）である。
【００２５】
ＣＰＵユニット１１は、ＰＬＣ１０の全体を制御する制御装置（ＣＰＵ）を有する。ＣＰＵユニット１１には、コンピュータ４１が接続される。コンピュータ４１は、ＰＬＣ１０に含まれる各種ユニット（本実施形態では、モーションユニット１２，１３）の動作プログラムの作成や各種設定を行うために利用される。プログラム等の各種データは、コンピュータ４１からＣＰＵユニット１１を介して各モーションユニット１２，１３に供給される。モーションユニット１２，１３は、供給された各種データを記憶する。そして、モーションユニット１２，１３は、記憶した制御プログラムと各種設定に基づいて、モータ２１１，２１２，２１３，・・・，２１ｍ，２３１，２３２，２３３，・・・，２３ｎを制御する同期モーション制御を実行する。
【００２６】
モーションユニット１２は、制御プログラムと各種設定に基づいて、モータドライバ２０１に指令位置データを送信する。モータドライバ２０１は、指令位置データに基づいて、モータ２１１を駆動する。例えばサーボモータであるモータ２１１はエンコーダを有している。モータドライバ２０１は、エンコーダにより検出されたモータ２１１の現在位置を指令位置と一致するように、モータ２１１を制御する。同様に、モータドライバ２０２，２０３，・・・，２０ｍは、モータ２１２，２１３，・・・，２１ｍを駆動制御する。モーションユニット１３とモータドライバ２２１，・・・，２２ｎ、モータ２３１，・・・，２３ｎについても同様である。
【００２７】
図１において、モータドライバ２２３にはコンピュータ４２が接続されている。このコンピュータ４２は、モータドライバ２２３の各種の設定に用いられる。モータドライバ２２３に設定されるデータは、例えば、接続されたモータ２３３に対応する情報を含む。たとえば、モータ２３３において１回転あたりの指令パルス数等のデータがモータドライバ２２３に設定される。なお、他のモータドライバについても同様である。
【００２８】
［モーションユニットの概要］
次に、モーションユニットの概要を説明する。なお、図１に示す２つのモーションユニット１２，１３は同一の構成であるため、モーションユニット１２について説明する。
【００２９】
図２に示すように、モーションユニット１２は、制御部５１、記憶部５２、表示部５３、通信部５４を有している。
制御部５１は、制御バス（上記のスタッキング用コネクタ）を介して図１に示すＣＰＵユニット１１と接続される。制御部５１は、通信機能により、ＣＰＵユニット１１と所定の処理手順によりデータ通信する。また、制御部５１は、自ユニットのアドレスを設定する。
【００３０】
記憶部５２は、不揮発性のメモリ、揮発性のメモリを含む。記憶部５２は、各種データを記憶する。各種データは、制御プログラム、設定情報、を含む。設定情報は、モーションユニット１２に接続されたモータを駆動するための設定値を含む。たとえば、設定情報は、このモーションユニット１２により制御可能な軸数のモータの位置情報（設定値）を記憶する。位置情報は、例えば位置テーブルとして記憶部５２に格納される。
【００３１】
また、設定情報は、モーションユニット１２内に設定された仮想的な軸（以下、仮想軸）の情報を含む。モーションユニット１２には、複数（例えば３２軸）の仮想軸が設定される。設定情報は、各仮想軸の位置情報を含む。位置情報は、上記のモータの位置情報と同様に、位置テーブルとして記憶部５２に格納される。
【００３２】
更に、設定情報は、同期制御に必要なパラメータ（同期パラメータ）を含む。同期パラメータとして、主軸（マスター軸）と従軸（スレーブ軸）の設定や同期グループの設定を含む。モーションユニット１２は、マスター軸に対してスレーブ軸を同期制御する。マスター軸とスレーブ軸には、モーションユニット１２に実際に接続された軸（図１に示すモータ２１１，２１２，２１３，・・・，２１ｍ、以下、実在軸）と、モーションユニット１２内に設定された仮想的な軸（以下、仮想軸）が設定される。同期グループには、複数の軸が設定される。なお、必要に応じて、電子ギヤ、電子クラッチ、電子カムの情報が設定される。
【００３３】
制御部５１は、設定情報に基づいて、実在軸（図１に示すモータ２１１，２１２，２１３，・・・，２１ｍ）を制御する。制御部５１は、実在軸の位置情報を記憶部５２から順次読み出し、位置指令データとして対応するモータドライバに送信する。モータドライバは、位置指令に基づいて、モータを駆動し、位置指令に応じた位置にモータを制御する。
【００３４】
仮想軸がマスター軸やスレーブ軸として設定されている場合、制御部５１は、同期パラメータに基づいて仮想軸の位置情報を算出し、その位置情報と同期パラメータに基づいて、実在軸を制御する。つまり、制御部５１は、位置情報と同期パラメータに基づいて同期制御の対象となる実在軸の位置指令データをモータドライバに送信する。
【００３５】
表示部５３は、たとえば図１に示すモーションユニット１２の前パネルの上部分のように、外部から視認可能な位置に配置されている。表示部５３は、複数の発光素子（たとえばＬＥＤ）を有している。図２に示す制御部５１は、動作状態に応じて、表示部５３の発光素子を点灯・消灯する。
【００３６】
次に、モーションユニット１２における同期モーション制御の設定を説明する。
なお、説明を簡単にするために、実在軸を８軸、仮想軸を４軸として説明する。
図３は、実在軸と仮想軸におけるマスター軸の設定の第１の例を示す概略図である。この設定は、図２に示す記憶部５２に格納されている。なお、図３は、設定の概略を示すものであり、図２に示す記憶部５２における格納位置と異なっている。
【００３７】
軸「１」〜「８」は実在軸を示し、「仮想１」〜「仮想４」は仮想軸を示す。
図３において、軸「１」〜軸「３」に対して「仮想１」がマスター軸として設定されている。したがって、軸「１」〜軸「３」は、「仮想１」に対するスレーブ軸となる。また、軸「４」，軸「５」に対して「仮想２」がマスター軸として設定されている。したがって、軸「４」，軸「５」は、「仮想２」に対するスレーブ軸となる。更に、軸「６」，軸「７」に対して、「仮想３」がマスター軸として設定されている。したがって、軸「６」，軸「７」は、「仮想３」に対するスレーブ軸となる。
【００３８】
図４に示すように、マスター軸として設定された「仮想１」と、その「仮想１」に対してスレーブ軸として設定された軸「１」〜軸「３」は、「同期グループ１」として設定される。同様に、マスター軸として設定された「仮想２」と、その「仮想２」に対してスレーブ軸として設定された軸「４」，軸「５」は、「同期グループ２」として設定される。同様に、マスター軸として設定された「仮想３」と、その「仮想３」に対してスレーブ軸として設定された軸「６」，軸「７」は、「同期グループ３」として設定される。
【００３９】
このように設定された３つの同期グループは、それぞれのマスター軸が異なり、個別に同期モーション制御される。
図２に示す制御部５１は、「仮想１」に対して軸「１」〜軸「３」を同期モーション制御する。また、制御部５１は、「仮想２」に対して軸「４」，軸「５」を同期モーション制御し、「仮想３」に対して軸「６」，軸「７」を同期モーション制御する。
【００４０】
ところで、仮想軸が設定されないユニットや仮想軸の設定が１軸のみのモーションユニットでは、マスター軸として実在軸を設定する必要がある。つまり、図４に示す同期グループ１において、４つの実在軸が使用される。また、同期グループ２において、３つの実在軸が使用される。つまり、２つの同期グループの設定のために７軸の実在軸が用いられる。したがって、実在軸が８軸のモーションユニットでは、同期グループ３を設定することができない。この同期グループ３のために、別のモーションユニットを用意する必要がある。また、同期グループにおいて、マスター軸として設定される実在軸は、制御対象の装置（搬送装置やロボット等）の動作に利用されない。つまり、マスター軸として設定された２つの実在軸は同期モーション制御に利用されない。
【００４１】
これに対し、本実施形態のモーションユニット１２では、複数（図３では４軸）の仮想軸が設定される。そして、各仮想軸は、同期グループのマスター軸として設定され、そのマスター軸（仮想軸）に対して実在軸がスレーブ軸として同期モーション制御される。したがって、実在軸をマスター軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【００４２】
図５は、実在軸と仮想軸におけるマスター軸の設定の第２の例を示す概略図である。この設定は、図２に示す記憶部５２に格納されている。なお、図５は、設定の概略を示すものであり、図２に示す記憶部５２における格納位置と異なっている。
【００４３】
軸「１」〜「８」は実在軸を示し、「仮想１」〜「仮想４」は仮想軸を示す。
図５において、軸「１」，軸「２」に対して「仮想２」がマスター軸として設定されている。したがって、軸「１」，軸「２」は、「仮想２」に対するスレーブ軸となる。また、軸「３」，軸「４」に対して「仮想３」がマスター軸として設定されている。したがって、軸「３」，軸「４」は、「仮想３」に対するスレーブ軸となる。更に、「仮想２」，「仮想３」に対して、「仮想１」がマスター軸として設定されている。したがって、「仮想２」，「仮想３」は、「仮想１」に対するスレーブ軸となる。つまり、本実施形態のモーションユニット１２では、仮想軸をスレーブ軸として設定する。
【００４４】
図６に示すように、マスター軸として設定された「仮想１」と、その「仮想１」に対してスレーブ軸として設定された「仮想２」と「仮想３」は、「同期グループ１」として設定される。同様に、マスター軸として設定された「仮想２」と、その「仮想２」に対してスレーブ軸として設定された軸「１」，軸「２」は、「同期グループ２」として設定される。同様に、マスター軸として設定された「仮想３」と、その「仮想３」に対してスレーブ軸として設定された軸「３」，軸「４」は、「同期グループ３」として設定される。
【００４５】
図２に示す制御部５１は、「仮想１」に対して「仮想２」と「仮想３」を同期モーション制御する。さらに、制御部５１は、「仮想２」に対して軸「１」，軸「２」を同期モーション制御するとともに、「仮想３」に対して軸「３」，軸「４」を同期モーション制御する。
【００４６】
ところで、仮想軸が設定されないユニットや仮想軸をスレーブ軸として設定することが不可能なモーションユニットでは、マスター軸及びスレーブ軸として実在軸を設定する必要がある。つまり、図６に示す同期グループ１において、３つの実在軸が使用される。その同期グループ１のスレーブ軸に対してそれぞれ２つの実在軸が設定される。つまり、このような設定では、７軸の実在軸が用いられ、使用可能な実在軸は１軸となる。
【００４７】
これに対し、本実施形態のモーションユニット１２では、複数（図５では４軸）の仮想軸が設定される。そして、仮想軸をスレーブ軸として設定する。したがって、実在軸をマスター軸やスレーブ軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【００４８】
図２に示すモーションユニット１２の制御部５１において、補間制御を行うことができる。補間制御として、２軸直線補間、２軸円弧補間、３軸直線補間、３軸螺旋補間、４軸直線補間が可能である。図２に示す記憶部５２には、補間制御のための情報が設定される。補間制御のための情報は、補間の種類、補間に利用される軸が設定される。本実施形態のモーションユニット１２（制御部５１）では、実在軸と仮想軸を補間のための軸として利用（設定）することができる。
【００４９】
図７（ａ）は、２軸直線補間の例を示す。図７（ａ）において、Ｙ軸（横軸）に仮想軸（たとえば、「仮想１」）が設定され、Ｘ軸（縦軸）に仮想軸（たとえば、「仮想２」）が設定される。仮想軸「仮想１」と仮想軸「仮想２」の制御開始位置（例えば原点位置）を図７（ａ）の原点Ｏとする。
【００５０】
図２に示す制御部５１は、同期モーション制御の開始に基づいて、「仮想１」の位置情報と、「仮想２」の位置情報とに基づいて、図７（ａ）に示す直線Ｌ１上の点の位置を算出する。この直線Ｌ１の位置をマスター軸の位置情報として、たとえば軸「１」，軸「２」がスレーブ軸として設定される。図２に示す制御部５１は、直線Ｌ１の位置情報に対して、軸「１」，軸「２」を同期モーション制御する。
【００５１】
図７（ｂ）は、２軸円弧補間の例を示す。図７（ｂ）において、Ｙ軸（横軸）に仮想軸（たとえば、「仮想１」）が設定され、Ｘ軸（縦軸）に仮想軸（たとえば、「仮想２」）が設定される。仮想軸「仮想１」と仮想軸「仮想２」の制御開始位置（例えば原点位置）を開始位置Ｐ１とする。
【００５２】
図２に示す制御部５１は、同期モーション制御の開始に基づいて、「仮想１」の位置情報と、「仮想２」の位置情報とに基づいて、図７（ｂ）に示す円弧Ｌ２上の点の位置を算出する。この円弧Ｌ２の位置をマスター軸の位置情報として、たとえば軸「１」，軸「２」がスレーブ軸として設定される。図２に示す制御部５１は、円弧Ｌ２の位置情報に対して、軸「１」，軸「２」を同期モーション制御する。
【００５３】
このような補間制御により算出した位置情報に基づく同期モーション制御において、仮想軸が設定されないユニットや仮想軸の設定が１軸のみのモーションユニットでは、補間制御（直線補間、円弧補間）の基準軸（図７（ａ）及び図７（ｂ）ではＹ軸及びＸ軸）として実在軸が利用される。そして、このように利用される実在軸は、制御対象の装置（搬送装置やロボット等）の動作に利用されない。つまり、補間制御の基準軸として設定された実在軸は同期モーション制御に利用されない。
【００５４】
これに対し、本実施形態のモーションユニット１２では、複数の仮想軸が設定される。そして、各仮想軸は、補間制御の基準軸として設定される。そして、補間制御によって仮想軸の位置情報に基づいて算出された位置情報をマスター軸の位置情報とし、そのマスター軸に対して実在軸がスレーブ軸として同期モーション制御される。したがって、実在軸を補間制御の基準軸として使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【００５５】
なお、図７（ａ）では２軸直線補間の例を、図７（ｂ）では２軸円弧補間の例を示した。補間制御としては、３軸直線補間、３軸螺旋補間、４軸直線補間を設定可能であり、これらの補間制御の基準軸として仮想軸を設定することができる。したがって、各種の補間制御において、補間制御の基準軸として使用することなく、同期モーション制御に利用することができる。
【００５６】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）モーションユニット１２は、制御部５１と記憶部５２とを有している。記憶部５２には、同期モーション制御の対象として設定される複数の実在軸の位置情報と、内部的に存在する複数の仮想軸の位置情報と、マスター軸を設定する軸情報が格納される。制御部５１は、記憶部５２の位置情報と軸情報とに基づいて同期モーション制御の位置指令データを生成する。軸情報として、複数の仮想軸がマスター軸として設定される。制御部５１は、軸情報に基づいて、マスター軸として設定された仮想軸の位置情報と、その仮想軸をマスター軸として設定した実在軸の位置情報とに基づいて位置指令データを生成する。
【００５７】
このように、モーションユニット１２では、複数の仮想軸が設定される。そして、各仮想軸は、同期グループのマスター軸として設定され、そのマスター軸（仮想軸）に対して実在軸がスレーブ軸として同期モーション制御される。したがって、実在軸をマスター軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【００５８】
（２）モーションユニット１２では、複数の仮想軸が設定される。そして、仮想軸をスレーブ軸として設定する。したがって、実在軸をマスター軸やスレーブ軸として無駄に使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【００５９】
（３）モーションユニット１２では、複数の仮想軸が設定される。そして、各仮想軸は、補間制御の基準軸として設定される。そして、補間制御によって仮想軸の位置情報に基づいて算出された位置情報をマスター軸の位置情報とし、そのマスター軸に対して実在軸がスレーブ軸として同期モーション制御される。したがって、実在軸を補間制御の基準軸として使用することなく、同期モーション制御に利用することができる。つまり、実在軸を同期モーション制御に有効に利用することができる。
【００６０】
尚、上記実施形態は、以下の態様で実施してもよい。
・上記実施形態において、図１に示すモータ２１１，２１２，２１３，・・・，２１ｍとして、ステッピングモータやリニアモータ等を用いてもよい。また、モータ２３１，２３２，２３３，・・・，２３ｎとして、ステッピングモータやリニアモータ等を用いてもよい。
【００６１】
・上記実施形態は、図１に示すＣＰＵユニット１１に接続されるモーションユニット１２としたが、単独にて動作する装置（モーションコントローラ）としてもよい。
・上記実施形態に対し、スレーブ軸の動作を適宜設定してもよい。設定情報は、図２に示す記憶部５２に格納される。たとえば、マスター軸に対してスレーブ軸の動作速度を、任意に設定するようにしてもよい。また、スレーブ軸（モータ）の回転方向を設定するようにしてもよい。また、電子ギヤ、電子クラッチ、電子カム、の情報（ギヤ比、クラッチのオンオフ、カム線図）等を図２に示す記憶部５２に格納し、電子ギヤ、電子クラッチ、電子カムを用いた同期モーション制御を行うようにしてもよい。
【００６２】
・上記実施形態に対し、実在軸、仮想軸、同期グループ、マスター軸、スレーブ軸の数を適宜変更してもよい。
・上記実施形態において、図２は、モーションユニット１２における機能ブロックの一例を示すものであり、各ブロックが適宜組み合わせられ、または複数のブロックにより構成されてもよい。たとえば、記憶部５２や通信部５４が制御部５１に含まれていてもよい。
【００６３】
また、モーションユニット１２に他の機能ブロックが含まれていてもよい。たとえば、メモリカードなどの着脱可能な記録媒体をアクセスするためのインタフェース回路が含まれていても良い。メモリカードには、たとえば、設定情報や、同期モード制御において送信される位置指令データを格納する。
【００６４】
・上記実施形態に対し、実在軸をマスター軸とした同期グループを設定するようにしてもよい。
・上記実施形態において、図６に示すように、同期グループ１に対して同期グループ２，３を従属的に設定した。これに対し、さらに、同期グループ２，３の少なくとも一方に対して従属的な同期グループを設定するようにしてもよい。
【符号の説明】
【００６５】
１２，１３…モーションコントロールユニット（モーションユニット）、２０１，２０２，２０３，・・・，２０ｍ…モータドライバ、２１１，２１２，２１３，・・・，２１ｍ…モータ、５１…制御部、５２…記憶部。
【図１】
2017162156.tif 000003
【図２】
2017162156.tif 000004
【図３】
2017162156.tif 000005
【図４】
2017162156.tif 000006
【図５】
2017162156.tif 000007
【図６】
2017162156.tif 000008
【図７】
2017162156.tif 000009