(57)【特許請求の範囲】
【請求項１】
上位制御装置から入力される位置指令に基づいてモータの駆動を制御するモータ制御装置であって、
前記位置指令の各所定値に対応するオフセット値を記憶するオフセット値記憶部と、
入力された位置指令に対応するオフセット値を前記オフセット値記憶部から取得し、これを前記入力された位置指令に加算又は減算したオフセット位置指令に基づいて前記モータの駆動を制御する駆動制御部と、
を有し、
前記駆動制御部は、
共通の位置指令が入力される当該モータ制御装置と他のモータ制御装置との間の主従関係を判定する判定部を有し、
当該モータ制御装置が前記他のモータ制御装置に対して従属する関係にある場合に前記オフセット位置指令に基づいて前記モータの駆動を制御し、
前記他のモータ制御装置が当該モータ制御装置に対して従属する関係にある場合に前記入力された位置指令に基づいて前記モータの駆動を制御する
ことを特徴とするモータ制御装置。
【請求項２】
前記オフセット値は、当該モータ制御装置が制御するモータの出力位置と、前記他のモータ制御装置が制御するモータの出力位置との間の差分に対する補正値であることを特徴とする請求項１記載のモータ制御装置。
【請求項３】
前記補正値は、当該モータ制御装置と前記他のモータ制御装置がそれぞれ備える位置制御フィードバックループ同士の間における位置偏差の差で設定することを特徴とする請求項２記載のモータ制御装置。
【請求項４】
前記オフセット値は、使用者により任意に設定されることを特徴とする請求項１記載のモータ制御装置。
【請求項５】
前記位置指令の各所定値は離散的に設定されており、
前記駆動制御部は、
所定値間にある位置指令の値に対応するオフセット値として、前後の所定値にそれぞれ対応するオフセット値の補間値で取得することを特徴とする請求項１乃至４のいずれか１項に記載のモータ制御装置。
【請求項６】
上位制御装置から入力される位置指令に基づいてモータの駆動を制御するモータ制御装置であって、
前記位置指令の各所定値に対応するオフセット値を記憶する手段と、
入力された位置指令に対応して前記オフセット値を記憶する手段から取得したオフセット値だけ前記入力された位置指令からオフセットした位置に前記モータの駆動を制御する手段と、
を有し、
前記モータの駆動を制御する手段は、
共通の位置指令が入力される当該モータ制御装置と他のモータ制御装置との間の主従関係を判定する手段を有し、
当該モータ制御装置が前記他のモータ制御装置に対して従属する関係にある場合に前記オフセットした位置に基づいて前記モータの駆動を制御し、
前記他のモータ制御装置が当該モータ制御装置に対して従属する関係にある場合に前記入力された位置指令に基づいて前記モータの駆動を制御する
ことを特徴とするモータ制御装置。
【請求項７】
請求項１乃至６のいずれか１項に記載のモータ制御装置と、
前記モータ制御装置により駆動制御されるモータと、
前記モータ制御装置に位置指令を入力する上位制御装置と、
前記モータにより位置制御される制御機械と、
を有することを特徴とする位置制御システム。
【請求項８】
上位制御装置から入力される位置指令に基づいてモータの駆動を制御するモータ制御方法であって、
入力された位置指令に対応するオフセット値を取得し、これを前記入力された位置指令に加算又は減算したオフセット位置指令に基づいて前記モータの駆動を制御することと、
共通の位置指令が入力される当該モータ制御装置と他のモータ制御装置との間の主従関係を判定することと、
当該モータ制御装置が前記他のモータ制御装置に対して従属する関係にある場合に前記オフセット位置指令に基づいて前記モータの駆動を制御し、
前記他のモータ制御装置が当該モータ制御装置に対して従属する関係にある場合に前記入力された位置指令に基づいて前記モータの駆動を制御することと、
を実行することを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、モータ制御装置、位置制御システム、及びモータ制御方法に関する。
【背景技術】
【０００２】
特許文献１には、多軸間の同期位置決め制御において、１つのＣＰＵが各軸の位置決め制御部に対しそれぞれ軸間の位置補正を反映した位置指令を入力する位置決め制御装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３８６００１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記位置補正に用いられる補正値（補正位置情報）などは、特定の演算式等では単純に算出できない制御機械固有の不規則な数値列となる場合が多い。このため、１つのＣＰＵがこのような不規則な補正値を反映させて位置指令を生成し出力する場合には、多大なメモリ容量と高速な演算処理性能が要求され、それだけ高機能なＣＰＵが必要となり製造コストが増大する要因となる。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、上位制御装置を含めた全体の製造コストの増大を抑制できるモータ制御装置、位置制御システム、及びモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、上位制御装置から入力される位置指令に基づいてモータの駆動を制御するモータ制御装置であって、前記位置指令の各所定値に対応するオフセット値を記憶するオフセット値記憶部と、入力された位置指令に対応するオフセット値を前記オフセット値記憶部から取得し、これを前記入力された位置指令に加算又は減算したオフセット位置指令に基づいて前記モータの駆動を制御する駆動制御部と、を有し、前記駆動制御部は、共通の位置指令が入力される当該モータ制御装置と他のモータ制御装置との間の主従関係を判定する判定部を有し、当該モータ制御装置が前記他のモータ制御装置に対して従属する関係にある場合に前記オフセット位置指令に基づいて前記モータの駆動を制御し、前記他のモータ制御装置が当該モータ制御装置に対して従属する関係にある場合に前記入力された位置指令に基づいて前記モータの駆動を制御するモータ制御装置が適用される。
【０００７】
また、本発明の別の観点によれば、上位制御装置から入力される位置指令に基づいてモータの駆動を制御するモータ制御装置であって、前記位置指令の各所定値に対応するオフセット値を記憶する手段と、入力された位置指令に対応して前記オフセット値を記憶する手段から取得したオフセット値だけ前記入力された位置指令からオフセットした位置に前記モータの駆動を制御する手段と、を有し、前記モータの駆動を制御する手段は、共通の位置指令が入力される当該モータ制御装置と他のモータ制御装置との間の主従関係を判定する手段を有し、当該モータ制御装置が前記他のモータ制御装置に対して従属する関係にある場合に前記オフセットした位置に基づいて前記モータの駆動を制御し、前記他のモータ制御装置が当該モータ制御装置に対して従属する関係にある場合に前記入力された位置指令に基づいて前記モータの駆動を制御するモータ制御装置が適用される。
【０００８】
また、本発明の別の観点によれば、請求項１乃至６のいずれか１項に記載のモータ制御装置と、前記モータ制御装置により駆動制御されるモータと、前記モータ制御装置に位置指令を入力する上位制御装置と、前記モータにより位置制御される制御機械と、を有する位置制御システムが適用される。
【０００９】
また、本発明の別の観点によれば、上位制御装置から入力される位置指令に基づいてモータの駆動を制御するモータ制御方法であって、入力された位置指令に対応するオフセット値を取得し、これを前記入力された位置指令に加算又は減算したオフセット位置指令に基づいて前記モータの駆動を制御することと、共通の位置指令が入力される当該モータ制御装置と他のモータ制御装置との間の主従関係を判定することと、当該モータ制御装置が前記他のモータ制御装置に対して従属する関係にある場合に前記オフセット位置指令に基づいて前記モータの駆動を制御し、前記他のモータ制御装置が当該モータ制御装置に対して従属する関係にある場合に前記入力された位置指令に基づいて前記モータの駆動を制御することと、を実行することを特徴とするモータ制御方法が適用される。
【発明の効果】
【００１０】
本発明によれば、上位制御装置を含めた全体の製造コストの増大を抑制できる。
【図面の簡単な説明】
【００１１】
【図１】実施形態のモータ制御装置を備えた位置制御システムのブロック図である。
【図２】位置制御機械のＹ軸方向可動部分であるＸ軸リニアモータ全体の移動を模式的に示した図である。
【図３】Ｙ１軸サーボアンプとＹ２軸サーボアンプの制御ブロックを伝達関数形式で表した図である。
【図４】図２に対応してＹ１−Ｙ２軸間相対位置誤差を表した図である。
【図５】補正値テーブルの一例を模式的に表した図である。
【図６】Ｙ２軸サーボアンプのＣＰＵが実行する軸間補正値記憶処理の制御手順を表すフローチャートである。
【図７】Ｙ２軸サーボアンプのＣＰＵが実行する位置制御処理の制御手順を表すフローチャートである。
【図８】オフセット位置制御の概念を説明するための電子カムを表す図である。
【図９】座標変化制御の概念を説明するための２重回転駆動機構を表す図である。
【発明を実施するための形態】
【００１２】
以下、一実施の形態について図面を参照しつつ説明する。
【００１３】
＜位置決め制御システムの概略構成＞
図１は、本実施形態のモータ制御装置を備えた位置制御システムのブロック図を表している。この図１において、位置制御システム１は、当該位置制御システム１全体の制御を行う汎用パーソナルコンピュータ２（以下、汎用ＰＣという）と、３つのサーボアンプ３，４，５と、位置制御機械６を有している。
【００１４】
汎用ＰＣ２（上位制御装置）は、特に図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、通信制御部、操作部、表示部を備えた一般的なパーソナルコンピュータである。ＣＰＵは、上記のＲＯＭ、ＲＡＭ、ＨＤＤなどに記憶された各種のプログラムやデータに基づいて、後述の各サーボアンプ３，４，５に対して位置指令を出力する。
【００１５】
各サーボアンプ３，４，５（モータ制御装置）は、それぞれ特に図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、不揮発性記憶装置であるフラッシュメモリ、通信制御部、操作部、表示部を備えたコンピュータを有し、上記汎用ＰＣ２から入力された位置指令に基づいて後述の位置制御機械６が備えるリニアモータに給電してその駆動を制御する機能を有する。図示する例では、位置制御機械６が３つのリニアモータ１１，１２，１３を有しており、サーボアンプ３，４，５も各リニアモータ１１，１２，１３に個別に対応して３つ設けられている。
【００１６】
位置制御機械６は、平行に配置されたＹ１軸リニアモータ１２及びＹ２軸リニアモータ１３と、それらの可動子の間を両持ち梁の形で渡すように設けられた１つのＸ軸リニアモータ１１とを有しており、全体がいわゆるガントリ型（門型）の構成となっている。Ｙ１軸、Ｙ２軸リニアモータ１２，１３は、それぞれ同じ長さの直線可動範囲がＹ軸方向に平行かつ完全重複するよう配置されており、それぞれの可動子がＹ軸方向の同じ位置で移動するよう同期位置制御される。Ｘ軸リニアモータ１１は、Ｘ軸方向に延びるよう配置され、その全体がＹ１軸、Ｙ２軸リニアモータ１２，１３の駆動によってＹ軸方向に移動するとともに、当該Ｘ軸モータ１１の可動子をＸ軸方向に移動させる。
【００１７】
３つのリニアモータ１１，１２，１３は、それぞれの可動子の軸方向位置を検出するためのリニアスケール１４，１５，１６を備えている。各リニアモータ１１，１２，１３がそれぞれ対応するサーボアンプ３，４，５から駆動電力を給電されて可動子の位置を駆動するとともに、各リニアスケール１４，１５，１６が各可動子の検出位置をそれぞれ対応するサーボアンプ３，４，５へ入力する。汎用ＰＣ２は、Ｘ軸サーボアンプ３に対してＸ軸位置指令を入力するとともに、Ｙ１軸、Ｙ２軸サーボアンプ４，５に対して共通のＹ軸位置指令を入力する。各サーボアンプ３，４，５は、それぞれ入力された検出位置を参照して、対応するリニアモータ１１，１２，１３の可動子の位置が位置指令に追従一致するよう駆動電力を制御する。以上の構成により本実施形態の位置制御システム１は、汎用ＰＣ２が出力したＸ軸位置指令及びＹ軸位置指令に対応して、Ｘ軸リニアモータの可動子に設けたエンドエフェクト１７のＸ−Ｙ座標位置を制御できる。
【００１８】
＜本実施形態の特徴＞
しかし、以上の構成の位置制御システム１においても、μｍオーダーまで高精度に駆動制御することは難しい。例えば、各リニアスケール１４，１５，１６の設置構成においてビスやボルトの固定箇所付近に生じる歪みなどといった組み立て誤差や、またはＸ軸リニアモータ１１の真直度などといった製作誤差などが要因となり、組み立て構造体である位置制御機械６の各部において絶対精度を確保することが困難である。このため、当該位置制御機械６のＹ軸方向可動部分であるＸ軸リニアモータ１１全体の移動を模式的に示した図２に示すように、Ｙ１軸、Ｙ２軸のそれぞれにおけるリニアスケール１５，１６の検出位置に例えばμｍオーダー単位の絶対位置誤差が局所的又は全体的に生じてしまう。この場合には、各リニアスケール１５，１６の検出位置がデータ上では同じ位置を示していても、機械的には異なったＹ軸方向位置に位置制御することになり、その結果、位置制御機械６全体を撓ませたり、振動を誘発する原因となる。
【００１９】
このような位置制御機械６の機構上又は制御上の誤差に対処するために、各サーボアンプ４，５が、入力された本来の位置指令に対して所定の補正値（オフセット値）だけずれた補正位置（オフセット位置）でリニアモータ１２，１３を制御する手法が考えられる。このような補正値は、所定の範囲で変化する位置指令の各値に対応した非線形的な不規則値となって、特定の演算式等では単純に算出できない位置制御機械６固有の数値列となる場合が多い。
【００２０】
上位制御装置である汎用ＰＣ２がこのような不規則な補正値を反映して位置指令を生成、出力する場合には、多大なメモリ容量と高速な演算処理性能が要求され、それだけ高機能な汎用ＰＣ２が必要となり位置制御システム１全体の製造コストが増大する要因となる。特に、本実施形態のように複数のリニアモータ１１，１２，１３及びサーボアンプ３，４，５を同時に制御する多軸同期制御を１台の汎用ＰＣ２で行う場合には、処理の多重化による負担が大きくなり、さらに高機能な汎用ＰＣ２が必要となる。
【００２１】
これに対し本実施形態では、Ｙ２軸サーボアンプ５自体がＹ軸位置指令の各所定値に対応する補正値を記憶する補正値テーブル記憶部を備え、当該Ｙ２軸サーボアンプ５が入力されたＹ軸位置指令に対応する軸間補正値を補正値テーブル記憶部から取得し、これを入力されたＹ軸位置指令に加算したＹ２軸補正位置指令に基づいてＹ２軸リニアモータ１３の駆動を制御する。これにより、本来のＹ軸位置指令の各所定値に対応した補正位置でＹ２軸リニアモータ１３の出力位置を制御する処理をＹ２軸サーボアンプ５側で分担することができ、汎用ＰＣ２の処理負担を軽減できる。
【００２２】
＜Ｙ１軸、Ｙ２軸サーボアンプの制御ブロック＞
図３は、本実施形態におけるＹ１軸サーボアンプ４とＹ２軸サーボアンプ５の制御ブロックを伝達関数形式で表している。なお本実施形態の例では、この図３に示す各制御ブロックは、各サーボアンプ４，５が備えるＣＰＵにより実行されるソフトウェアで実現される。
【００２３】
この図３において、Ｙ１軸サーボアンプ４は、減算器２１と、位置制御部２２と、減算器２３と、速度制御部２４と、電流制御部２５と、速度変換部２６を有している。減算器２１は、汎用ＰＣ２から入力されたＹ軸位置指令から後述するＹ１軸検出位置を減算して位置偏差を出力する。位置制御部２２は、この位置偏差に基づいて速度指令を出力する。減算器２３は、この速度指令から後述するＹ１軸検出速度を減算して速度偏差を出力する。速度制御部２４は、この速度偏差に基づいてトルク指令を出力する。電流制御部２５は、このトルク指令に基づいてＹ１軸駆動電流を出力し、外部のＹ１軸リニアモータ１２に給電する。そしてこのＹ１軸リニアモータ１２の駆動位置をＹ１軸リニアスケール１５が検出し、Ｙ１軸検出位置（モータの出力位置）としてＹ１軸サーボアンプ４に入力する。このＹ１軸検出位置は、上記減算器２１においてＹ軸位置指令から減算されるとともに、速度変換部２６に入力される。速度変換部２６は、このＹ１軸検出位置に基づいてＹ１軸リニアモータ１２の駆動速度であるＹ１軸検出速度を出力する。なお、この速度変換部２６は、Ｙ１軸検出位置を時間微分する微分器等で構成すればよい。
【００２４】
以上における減算器２１、位置制御部２２、減算器２３、速度制御部２４、電流制御部２５、及び速度変換部２６は、外部のＹ１軸リニアモータ１２及びＹ１軸リニアスケール１５とともに、いわゆる位置制御フィードバックループと速度制御フィードバックループの２重フィードバックループを構成する。なお、電流制御部２５の内部にも電流制御フィードバックループを備えているが、図中では省略している。
【００２５】
一方、Ｙ２軸サーボアンプ５においては、上記Ｙ１軸サーボアンプ４と同様の２重フィードバックループを有しているとともに、加算器２７と補正制御部２８を有している。加算器２７は、汎用ＰＣ２から入力されたＹ軸位置指令に対して後述する軸間補正値を加算し、Ｙ２軸補正位置指令（オフセット位置指令）として減算器２１に出力する。
【００２６】
補正制御部２８は、減算器２９と、格納スイッチＳ１と、取得スイッチＳ２と、補正値テーブル記憶部３０を有している。この補正制御部２８は、汎用ＰＣ２から入力されたＹ軸位置指令と、上記Ｙ１軸サーボアンプ４内の位置フィードバックループにおける位置偏差と、当該Ｙ２軸サーボアンプ５内の位置フィードバックループにおける位置偏差が入力される。なお、Ｙ１軸サーボアンプ４からの位置偏差の情報送受は、例えばＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）などの通信ネットワークを介して行えばよい。
【００２７】
減算器２９は、当該Ｙ２軸サーボアンプ５内の位置フィードバックループにおける位置偏差から、上記Ｙ１軸サーボアンプ４内の位置フィードバックループにおける位置偏差を減算してその差分を出力する。格納スイッチＳ１は、この差分を補正値テーブル記憶部３０に入力するか否かを切り替える。汎用ＰＣ２から入力されたＹ軸位置指令は、常に補正値テーブル記憶部３０に入力される。
【００２８】
補正値テーブル記憶部３０は、その内部に補正値テーブル（後述の図５参照）を記憶しており、Ｙ軸位置指令とともに位置偏差の差分が入力された場合には、入力された位置偏差の差分を軸間補正値（オフセット値）として、Ｙ軸位置指令に対応づけて補正値テーブルに格納する。また、補正値テーブル記憶部３０にＹ軸位置指令のみが入力された場合には、入力されたＹ軸位置指令に対応して補正値テーブルに格納されている軸間補正値を読み出し、出力する。つまり、格納スイッチＳ１が接続された場合には補正値テーブル記憶部３０は軸間補正値を記憶するモードとなり、格納スイッチＳ１が遮断された場合には補正値テーブル記憶部３０が軸間補正値を読み出して出力するモードとなる。この格納スイッチＳ１は、特に図示しないハードウェアスイッチで構成されたり、またはソフトウェア的なパラメータ設定などにより切り替えを行う。
【００２９】
取得スイッチＳ２は、補正値テーブル記憶部３０が出力した軸間補正値を上記加算器２７に入力するか否かを切り替える。つまり、取得スイッチＳ２が遮断された場合には汎用ＰＣ２から入力されたＹ軸位置指令がそのまま位置フィードバックループに入力され、取得スイッチＳ２が接続された場合にはＹ軸位置指令に上記軸間補正値が加算されたＹ２軸補正位置指令が位置フィードバックループに入力される。この取得スイッチＳ２は、特に図示しないハードウェアスイッチで構成されたり、またはソフトウェア的なパラメータ設定などにより切り替えを行う。そして、当該Ｙ２軸が後述するマスタ軸の関係にある場合には遮断するよう切り替えられ、当該Ｙ２軸が後述するスレーブ軸の関係にある場合には接続するよう切り替えられる。なお、補正値テーブル記憶部３０が、各請求項記載のオフセット値記憶部と、各請求項記載の位置指令の各所定値に対応するオフセット値を記憶する手段に相当する。
【００３０】
＜本実施形態におけるＹ軸方向制御＞
以上のように構成されたＹ１軸、Ｙ２軸サーボアンプ４，５を備えることにより、本実施形態の位置制御システム１は、上記図２に対応する図４に示すようなＹ軸方向制御を行うことができる。すなわち、Ｙ軸位置指令の各所定値に対応して、Ｙ２軸サーボアンプ５内の位置フィードバックループにおける位置偏差から、Ｙ１軸サーボアンプ４内の位置フィードバックループにおける位置偏差を減算した差分は、Ｙ１軸に対するＹ２軸の相対的な位置誤差に相当する。このため、Ｙ１軸においてはＹ軸位置指令にそのまま従って位置制御する一方、Ｙ２軸においては上記のＹ２軸補正位置指令、つまりＹ軸位置指令に軸間補正値（軸間相対位置誤差）を加算して補正した位置指令に従って位置制御することで、少なくともＹ１軸とＹ２軸の間の軸間相対位置誤差を相殺した高精度の多軸同期位置制御が可能となる。
【００３１】
以上のような２軸間同期位置制御の観点で見て、Ｙ２軸はＹ１軸に従属する関係となり、つまりＹ１軸がマスタ軸（主軸）、Ｙ２軸がスレーブ軸（従軸）として機能する。上記の取得スイッチＳ２は、各Ｙ軸サーボアンプ４，５が当該位置制御システム１に組み込まれた際に、自軸と他軸の間の主従関係に基づいてあらかじめ接続状態と遮断状態を選択的に設定される。本実施形態の例では、Ｙ２軸サーボアンプ５における取得スイッチＳ２が、スレーブ軸に対応して固定的に接続状態に設定される。
【００３２】
また、位置制御機械６における各Ｙ軸リニアモータ１２，１３の可動距離や各Ｙ軸リニアスケール１５，１６の分解能によって、汎用ＰＣ２が出力するＹ軸位置指令の値の変動範囲や標本化数（サンプリング数）が増減するが、そのＹ軸位置指令が取り得る全ての値にそれぞれ対応する軸間補正値を補正値テーブル記憶部３０が全て記憶する場合には、その記憶容量が膨大となってしまう。そこで本実施形態では、図５に示す補正値テーブルのように、１０の整数倍（０倍も含む）に相当するＹ軸位置指令の値（図示する例の０、１０、２０、・・・；以下において１０倍値という）だけに対応して軸間補正値を記憶する。このように位置指令における所定間隔での離散値に対してのみ軸間補正値を記憶することで、補正値テーブルの記憶容量を大幅に削減できる（図示する例では１０分の１）。この補正値テーブルは、当該Ｙ２軸サーボアンプ５が備えるフラッシュメモリ等の不揮発性記憶部に記憶する。なお、この補正値テーブルから軸間補正値を取得する際には、入力されたＹ軸位置指令の値の前後近傍の１０倍値に対応する軸間補正値に基づいて補間値を算出すればよい（この詳細については後述する）。
【００３３】
以上から本実施形態の位置制御システム１では、位置制御機械６に対する通常の位置制御の処理とは別に、あらかじめ当該位置制御機械６においてＹ軸位置指令の各所定値に対応したＹ１軸−Ｙ２軸間相対位置誤差を検出し、それらを軸間補正値として補正値テーブルに記憶させる処理が必要となる。なお、上記の１０倍値が、各請求項記載の位置指令の各所定値に相当する。
【００３４】
＜Ｙ２軸サーボアンプが実行する軸間補正値記憶処理の制御フロー＞
以上のような軸間補正値を記憶する処理を実現するために、Ｙ２軸サーボアンプ５のＣＰＵ（特に図示せず）が実行する軸間補正値記憶処理の制御手順を、図６により順を追って説明する。図６において、このフローに示す処理は、あらかじめハードウェアスイッチの操作やパラメータ設定などにより上記格納スイッチＳ１が接続された状態で、補正値テーブル記憶部３０が軸間補正値を記憶するモードとなった際に実行を開始する。なお、この軸間補正値記憶処理の実行中においては、汎用ＰＣ２からは、位置制御機械６のＹ軸方向の可動範囲に対応する開始位置から終了位置までＹ軸位置指令を順次連続的に増加して出力し続ける。
【００３５】
まずステップＳ５で、Ｙ２軸サーボアンプ５のＣＰＵは、汎用ＰＣ２からＹ軸位置指令を入力する。
【００３６】
次にステップＳ１０へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ５で入力したＹ軸位置指令にそのまま基づいてＹ２軸リニアモータ１３の駆動を制御する。これは、当該Ｙ２軸サーボアンプ５内の２重フィードバックループにＹ軸位置指令をそのまま入力することにより行う。
【００３７】
次にステップＳ１５へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、当該サーボアンプが駆動制御するＹ２軸がマスタ軸であるか否かを判定する。言い換えると、上記取得スイッチＳ２が遮断状態に設定されているか否かを判定する。Ｙ２軸がマスタ軸である場合、判定が満たされ、後述のステップＳ４５へ移る。
【００３８】
一方、Ｙ２軸がスレーブ軸である場合、判定は満たされず、ステップＳ２０へ移る。
【００３９】
ステップＳ２０では、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ５で入力されたＹ軸位置指令の値が１０倍値であるか否かを判定する。これは、Ｙ軸位置指令の値を１０で除算した余りが０であるか否か、またはＹ軸位置指令の値を１０で除算して小数点以下を切り捨てた後、さらに１０倍した値が元のＹ軸位置指令と一致するか否かを判定すればよい。入力されたＹ軸位置指令の値が１０倍値でない場合、判定は満たされず、後述のステップＳ４５へ移る。
【００４０】
一方、入力されたＹ軸位置指令の値が１０倍値である場合、判定が満たされ、ステップＳ２５へ移る。
【００４１】
ステップＳ２５では、Ｙ２軸サーボアンプ５のＣＰＵは、マスタ軸であるＹ１軸のサーボアンプ４内の位置制御フィードバックループからＹ１軸位置偏差を入力する。
【００４２】
次にステップＳ３０へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、スレーブ軸であるＹ２軸のサーボアンプ（当該Ｙ２軸サーボアンプ５）内の位置制御フィードバックループからＹ２軸位置偏差を入力する。
【００４３】
次にステップＳ３５へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ３０で入力したＹ２軸位置偏差から、上記ステップＳ２５で入力したＹ１軸位置偏差を減算して、Ｙ１軸に対するＹ２軸の軸間補正値を求める。
【００４４】
次にステップＳ４０へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、上記補正値テーブルに対し、上記ステップＳ５で入力したＹ軸位置指令に対応づけて上記ステップＳ３５で算出した軸間補正値を格納する。
【００４５】
次にステップＳ４５へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ５で入力したＹ軸位置指令の値が、当該位置制御機械６のＹ軸方向可動範囲における終了位置に相当する値であるか否かを判定する。Ｙ軸位置指令の値が終了位置の相当値でない場合、判定は満たされず、上記ステップＳ５に戻り同様の手順を繰り返す。
【００４６】
一方、Ｙ軸位置指令の値が終了位置の相当値である場合、判定が満たされ、このフローを終了する。
【００４７】
以上の軸間補正値記憶処理を実行することにより、Ｙ２軸サーボアンプ５は、位置制御機械６のＹ軸方向可動範囲の全範囲に渡って１０値間隔のＹ軸位置指令にそれぞれ対応する軸間補正値を補正値テーブルに記憶させることができる。なお、この軸間補正値記憶処理の実行中においてマスタ軸のＹ１軸サーボアンプ４は、上記ステップＳ５、Ｓ１０、Ｓ４５の手順を繰り返し実行するだけでよい。また、Ｙ２軸サーボアンプ５においても上記ステップＳ５、Ｓ１０、Ｓ４５の手順だけを繰り返し実行させ、汎用ＰＣ２上で実行するアプリケーションプログラムにより上記ステップＳ２０、Ｓ２５、Ｓ３０、Ｓ３５、Ｓ４０の手順を繰り返し実行して当該汎用ＰＣ２上で軸間補正値を記憶してもよい。この場合には、全ての軸間補正値を記憶した後に、あらためて汎用ＰＣ２から各１０倍値のＹ軸位置指令とともに対応する軸間補正値を送信してＹ２軸サーボアンプ５の補正値テーブルに記憶させる。
【００４８】
また、上記の軸間補正値記憶処理においては、補正値テーブルに軸間補正値を記憶させるＹ軸位置指令の指定について、当該位置制御機械６のＹ軸方向可動全範囲における１０値間隔の１０倍値を全て昇順で指定していたが、これに限られない。例えば、補正値テーブルに軸間補正値を記憶させるＹ軸位置指令の指定として、１０以外の間隔値での離散値で指定してもよいし、または所定値間隔の離散値ではない任意の値で指定してもよいし、Ｙ軸方向可能範囲のうちの任意の範囲で指定してもよいし、またはそれらを昇順、降順、又は任意順のいずれの順番で指定してもよい。また、指定したＹ軸位置指令に対応する軸間補正値自体を、使用者の操作により任意に設定、記憶できるようにしてもよい。以上のように補正値テーブルに記憶させるＹ軸位置指令及び軸間補正値を高い自由度で指定、設定する場合、Ｙ２軸サーボアンプ５側で自動的に指定、設定するのではなく、汎用ＰＣ２上における使用者の操作により任意に指定、設定できるようにしてもよい。
【００４９】
＜Ｙ２軸サーボアンプが実行する位置制御処理の制御フロー＞
次に、位置制御機械６の通常の位置制御時にＹ２軸サーボアンプ５のＣＰＵ（特に図示せず）が実行する位置制御処理の制御手順を、図７により順を追って説明する。図７において、このフローに示す処理は、上記格納スイッチＳ１が遮断されて補正値テーブル記憶部３０が軸間補正値を読み出して出力するモードとなり、当該位置制御システム１全体が起動した際に実行を開始する。なお、この位置制御処理の実行中においては、汎用ＰＣ２から任意の値のＹ軸位置指令が出力される。
【００５０】
まずステップＳ１０５で、Ｙ２軸サーボアンプ５のＣＰＵは、汎用ＰＣ２からＹ軸位置指令を入力する。
【００５１】
次にステップＳ１１０へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、当該Ｙ２軸サーボアンプ５が駆動制御するＹ２軸がマスタ軸であるか否かを判定する。言い換えると、上記取得スイッチＳ２が遮断状態に設定されているか否かを判定する。Ｙ２軸がマスタ軸である場合、判定が満たされ、ステップＳ１１５へ移る。
【００５２】
ステップＳ１１５では、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ１０５で入力したＹ軸位置指令にそのまま基づいてＹ２軸リニアモータ１３の駆動を制御する。これは、当該Ｙ２軸サーボアンプ５内の２重フィードバックループにＹ軸位置指令をそのまま入力することにより行う。そして、後述のステップＳ１５０へ移る。
【００５３】
一方、上記ステップＳ１１０の判定において、Ｙ２軸がスレーブ軸である場合、判定は満たされず、ステップＳ１２０へ移る。
【００５４】
ステップＳ１２０では、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ１０５で入力されたＹ軸位置指令の値が１０倍値であるか否かを判定する。入力されたＹ軸位置指令の値が１０倍値である場合、判定が満たされ、ステップＳ１２５へ移る。
【００５５】
ステップＳ１２５では、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ１０５で入力されたＹ軸位置指令に対応する軸間補正値Ｅ３を補正値テーブルから取得し、後述のステップＳ１４５へ移る。
【００５６】
一方、上記ステップＳ１２０の判定において、入力されたＹ軸位置指令の値が１０倍値でない場合、判定は満たされず、ステップＳ１３０へ移る。
【００５７】
ステップＳ１３０では、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ１０５で入力されたＹ軸位置指令の値の前後近傍に相当する２つの１０倍値Ｐ１，Ｐ２を算出する。具体的には、Ｙ軸位置指令の値より低い１０倍値Ｐ１として、Ｙ軸位置指令（図中では「位置指令」と略記）を１０で除算して小数点以下を切り捨てた値にさらに１０を乗算して求める（図中の「ＩＮＴ（＊）」は引数＊を整数化する関数）。また、Ｙ軸位置指令の値より高い１０倍値Ｐ２として、Ｙ軸位置指令（図中では「位置指令」と略記）を１０で除算して小数点以下を切り捨てた値に１を加算し、さらに１０を乗算して求める。
【００５８】
次にステップＳ１３５へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ１３０で算出した２つの１０倍値Ｐ１，Ｐ２にそれぞれ対応する軸間補正値Ｅ１，Ｅ２を補正値テーブルから取得する。
【００５９】
次にステップＳ１４０へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ１０５で入力されたＹ軸位置指令に対応する軸間補正値Ｅ３を、２つの１０倍値Ｐ１，Ｐ２にそれぞれ対応する軸間補正値Ｅ１，Ｅ２の補間値として求める。具体的には、補間値算出式である軸間補正値Ｅ３＝（Ｅ２−Ｅ１）×（Ｙ軸位置指令−Ｐ１）／１０＋Ｅ１から求める。
【００６０】
次にステップＳ１４５へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、上記ステップＳ１０５で入力されたＹ軸位置指令に軸間補正値Ｅ３を加算したＹ２軸補正位置指令に基づいてＹ２軸リニアモータ１３の駆動を制御する。これは、上記加算器２７でＹ軸位置指令に軸間補正値Ｅ３を加算して生成したＹ２軸補正位置指令を、当該Ｙ２軸サーボアンプ５内の２重フィードバックループに入力することにより行う（上記図３参照）。
【００６１】
次にステップＳ１５０へ移り、Ｙ２軸サーボアンプ５のＣＰＵは、汎用ＰＣ２から当該位置制御処理を終了する指示が入力されたか否かを判定する。終了指示が入力されていない場合、判定は満たされず、上記ステップＳ１０５へ戻って同様の手順を繰り返す。一方、終了指示が入力された場合、判定が満たされ、このフローを終了する。
【００６２】
以上の位置制御処理を実行することにより、Ｙ２軸サーボアンプ５は、任意の値で入力されるＹ軸位置指令に対し、そのＹ軸位置指令の値が１０倍値である場合にはそのまま補正値テーブルから対応する軸間補正値Ｅ３を取得し、１０倍値でない場合にはその前後近傍の１０倍値に対応する軸間補正値から補間値を算出して当該Ｙ軸位置指令に対応する軸間補正値Ｅ３を求める。そして、この軸間補正値Ｅ３を反映したＹ２軸補正位置指令に基づいてＹ２軸リニアモータ１３を駆動制御することにより、Ｙ１軸リニアモータ１２との間でＹ１−Ｙ２軸間相対位置誤差を相殺した高精度の同期位置制御を行える。なお、この位置制御処理の実行中においてマスタ軸のＹ１軸サーボアンプ４は、上記ステップＳ１０５、Ｓ１１５、Ｓ１５０の手順を繰り返し実行するだけでよい。なお、上記図７の位置制御処理のフロー全体が、各請求項記載の駆動制御部と、各請求項記載の入力された位置指令に対応してオフセット値記憶部から取得したオフセット値だけ入力された位置指令からオフセットした位置にモータの駆動を制御する手段に相当する。また、ステップＳ１１０の手順が各請求項記載の判定部に相当する。
【００６３】
また、上記位置制御処理におけるステップＳ１５０の手順では、汎用ＰＣ２から当該位置制御処理を終了する指示の入力有無に基づいて処理の終了を判定したが、これに限られず、他の基準に基づいて処理終了の判定を行ってもよい。例えば、補正値テーブル記憶部３０が記憶している補正値テーブルが当該位置制御機械６のＹ軸方向可動範囲のうちの部分的範囲にだけ対応して作成されている場合で、汎用ＰＣ２から入力されたＹ軸位置指令の値が補正値テーブルの上記部分的範囲から外れた値である場合に当該位置制御処理を終了するよう判定してもよい。
【００６４】
＜本実施形態の効果＞
以上説明したように、本実施形態の位置制御システム１が備えるＹ２軸サーボアンプ５によれば、Ｙ２軸サーボアンプ５自体がＹ軸位置指令の各所定値（１０倍値）に対応する軸間補正値を記憶する補正値テーブル記憶部３０を備え、当該Ｙ２軸サーボアンプ５が入力されたＹ軸位置指令に対応する軸間補正値を補正値テーブル記憶部３０から取得し、これを入力されたＹ軸位置指令に加算したＹ２軸補正位置指令に基づいてＹ２軸リニアモータ１３の駆動を制御する位置制御処理を実行する。これにより、本来のＹ軸位置指令の各所定値に対応した補正位置でＹ２軸リニアモータ１３の出力位置を制御する処理を当該Ｙ２軸サーボアンプ５側で分担することができ、汎用ＰＣ２の処理負担を軽減できる。この結果、汎用ＰＣ２を含めた位置制御システム１全体の製造コストの増大を抑制できる。なお、汎用ＰＣ２に代えて、同様のＸ軸位置指令及びＹ軸位置指令を出力可能ないわゆるＰＬＣ（ＰＲＯＧＲＡＭＭＡＢＬＥ  ＬＯＧＩＣ  ＣＯＮＴＲＯＬＬＥＲ）やモーションコントローラを上位制御装置として適用してもよい。また、Ｙ２軸位置偏差からＹ１軸位置偏差を減算するなどにより軸間補正値の符号を逆にすることで、Ｙ軸位置指令から軸間補正値を減算しても同様のＹ２軸補正位置指令を算出できる。
【００６５】
また一般的に、複数のモータ及び複数のサーボアンプを同時に制御する多軸同期位置制御においては、各軸における絶対位置誤差の数値列が当該軸固有のものとなり軸間同士で相違する場合が多い。このため、複数軸のうちの１軸を基準となるマスタ軸とし、他の軸をマスタ軸に従属するスレーブ軸として設定する。つまり、マスタ軸において本来の位置指令による主導制御を行い、同じ位置指令が入力される他のスレーブ軸においてマスタ軸に対する相対的な軸間補正値を反映した補正位置指令に基づいて従属制御を行うことで、軸間における相対的な位置誤差を排除した高い精度での同期位置制御が可能となる。
【００６６】
また、本実施形態では特に、上記ステップＳ１１０の手順で判定した他のサーボアンプ（この場合のＹ１軸サーボアンプ４）との間の主従関係に基づいて、入力されたＹ軸位置指令とＹ２軸補正位置指令のいずれかに切り替えてＹ２軸リニアモータ１３を駆動制御する。これにより、当該Ｙ２軸サーボアンプ５はマスタ軸とスレーブ軸のいずれにも利用することができ、汎用性を向上できる。
【００６７】
なお本実施形態では、上記ステップＳ１５やステップＳ１１０の手順において、ハードウェアスイッチやパラメータ設定などのソフトウェアスイッチで構成する格納スイッチＳ２の状態に基づいて当該サーボアンプ（この場合のＹ２軸サーボアンプ５）と他のサーボアンプ（この場合のＹ１軸サーボアンプ４）との間の主従関係を判定したが、これに限られない。例えば、他のサーボアンプに補正値テーブル記憶部３０が備えられているか否かや、当該サーボアンプに補正値テーブル記憶部３０が備えられているか否か、等の多様な条件に基づいて主従関係を判定してもよい。
【００６８】
また、本実施形態では特に、軸間補正値は、当該Ｙ２軸サーボアンプ５が制御するＹ２軸リニアモータ１３の出力位置と、他のＹ１軸サーボアンプ４が制御するＹ１軸リニアモータ１２の出力位置との間の差分に対する補正値である。これにより、マスタ軸とスレーブ軸の間の相対的な位置誤差（オフセット差）を排除した高い精度での同期位置制御が可能となる。
【００６９】
また、本実施形態では特に、軸間補正値は、当該Ｙ２軸サーボアンプ５と他のＹ１軸サーボアンプ４がそれぞれ備える位置制御フィードバックループ同士の間における位置偏差の差で設定する。これにより、エンコーダやリニアスケール等の機械的検出器における偶発的誤差等を排除した機能的な軸間補正値の設定が可能となる。なお、上記のような２軸間の位置制御フィードバックループ同士の間における位置偏差の差以外に基づいて軸間補正値を設定してもよい。例えば、Ｙ１軸サーボアンプ４の駆動制御を停止した状態でＹ２軸サーボアンプ５による駆動制御のみでＸ軸リニアモータ１１をＹ軸位置指令の位置に位置決めし、その際のＹ１軸検出位置とＹ２軸検出位置の差で軸間補正値を設定してもよい。または、Ｙ１軸とＹ２軸の両方でＹ軸位置指令の位置に位置決めし、その際の２軸間の位置制御フィードバックループ同士の間におけるトルク指令の差が最小になるように軸間補正値を設定してもよい。
【００７０】
また、本実施形態では特に、補正値テーブル記憶部３０が記憶するＹ２軸位置指令の各所定値は上記１０倍値のように等間隔で離散的に設定されており、上記位置制御処理のフローにおいては、各１０倍値の間にあるＹ２軸位置指令の値に対応する軸間補正値として、前後近傍の１０倍値にそれぞれ対応する軸間補正値の補間値で取得する。Ｙ２軸位置指令が取り得る全ての値にそれぞれ対応する軸間補正値を、補正値テーブル記憶部３０が全て記憶する場合にはその記憶容量が膨大となる。しかし軸間補正値は連続的に変化する場合が多いため、補正値テーブル記憶部３０がＹ２軸位置指令の離散的な値に対応する軸間補正値だけを記憶した場合でも、それらの補間値を取ることで十分な精度の軸間補正値を取得できる。これにより、補正値テーブル記憶部３０の記憶容量を抑制できる。
【００７１】
なお、上記実施形態では、Ｙ軸方向駆動の直動式アクチュエータとして直動型のリニアモータを使用しているが、他にも回転式のモータとボールネジとを組み合わせた直動式アクチュエータを適用してもよい。また上記実施形態では、多軸制御の位置制御機械６としていわゆるガントリ型の制御機械を使用しているが、他の多軸同期位置制御機械を適用してもよい。
【００７２】
＜変形例＞
なお、開示の実施形態は、上記に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を説明する。
【００７３】
（１）補正値テーブルに任意のオフセット値を記憶させる場合
上記実施形態では、位置制御システム１が多軸同期位置制御を行うものとし、そのうちのスレーブ軸のサーボアンプが備える補正値テーブル記憶部３０が軸間補正値を記憶して軸間補正を行う場合を説明した。しかしこれに限られず、軸間補正値の代わりに任意に設定したオフセット値を記憶させることで、単軸での位置変換制御に利用することもできる。
【００７４】
例えば、単軸位置変換制御の概念を説明する一例として図８に示すカム機構１００のように、周方向でカム径が変化する形状の円板カム１０１の外周に従動輪１０２を押圧当接した構成で、従動輪１０２の径方向変位は円板カム１０１の回転角度によって多様に変動する。これは、従動輪１０２の出力変位が、円板カム１０１の回転位置指令に対応して変化するオフセット位置とみなすことができる。
【００７５】
これに対し、サーボアンプが備える補正値テーブル記憶部３０の補正値テーブルにおいて、軸間補正値の代わりに上記カム径に相当する任意のオフセット値を記憶させる。これにより、サーボアンプのオフセット位置制御を、入力される位置指令の各所定値に対応した任意のオフセット位置でモータの出力位置を制御できる電子カムとして適用できる。
【００７６】
（２）座標変換制御として利用する場合
上記第１の変形例では、入力された位置指令を直接１対１でオフセット位置に位置変換する制御に適用した場合を説明したが、これに限られず、他のパラメータ値を併せて反映した座標変換制御にも適用できる。
【００７７】
例えば、座標変換制御の概念を説明する一例として図９に示す２重回転駆動機構２００では、主軸２０１が回転することで固定長Ｒ１の主アーム２０２の先端部が回転し、さらにこの主アーム２０２の先端部に設けた副軸２０３が回転することで固定長Ｒ２の副アーム２０４の先端部２０５が回転する。ここで、副軸２０３の回転位置θ２が、主軸２０１に入力する回転位置指令θ１に対応する任意のオフセット位置とした場合、副アーム先端部２０５は特定の軌道で移動する。これは、主アーム先端部（副軸２０３）の位置座標に対する副アーム先端部２０５の位置座標の座標変換制御とみなすことができる。
【００７８】
このような多軸同期位置制御の制御機械に対して、上述したサーボアンプのオフセット位置制御を適用することにより、任意の座標変換制御を実現できる。つまり、補正値テーブルのオフセット値を適切に設定することで、入力した位置指令に対する制御機械の最終出力位置を、目的の機能に応じた座標変換位置に制御できる。
【００７９】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【００８０】
その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００８１】
１            位置制御システム
２            汎用パーソナルコンピュータ（上位制御装置）
３            Ｘ軸サーボアンプ
４            Ｙ１軸サーボアンプ
５            Ｙ２軸サーボアンプ（モータ制御装置）
６            位置制御機械（制御機械）
１１          Ｘ軸リニアモータ
１２          Ｙ１軸リニアモータ
１３          Ｙ２軸リニアモータ（モータ）
１４          Ｘ軸リニアスケール
１５          Ｙ１軸リニアスケール
１６          Ｙ２軸リニアスケール
２７          加算器
２８          補正制御部
２９          減算器
３０          補正値テーブル記憶部（オフセット値記憶部）
１００        カム機構
２００        ２重回転駆動機構
Ｓ１          格納スイッチ
Ｓ２          取得スイッチ
【図１】
0006331225.tif 000002
【図２】
0006331225.tif 000003
【図３】
0006331225.tif 000004
【図４】
0006331225.tif 000005
【図５】
0006331225.tif 000006
【図６】
0006331225.tif 000007
【図７】
0006331225.tif 000008
【図８】
0006331225.tif 000009
【図９】
0006331225.tif 000010