(57)【要約】【課題】  パラメータ変更の効果を即座にモータの駆動指令に反映することができるようにする。【解決手段】  サーボ制御部１１に、内部パラメータ１０３を変更する際に、内部パラメータ１０３に対してモーションコントローラ２から入力するパラメータ係数１０５を乗ずる係数演算部１４を備え、サーボ制御部１は、係数演算部１４で演算された、内部パラメータ１０３に対してパラメータ係数１０５を乗じた値を使用してモータ駆動指令を演算する。【選択図】  図１
2007128341.tif 000002
【特許請求の範囲】
【請求項１】
モーションコントローラから設定されるパラメータを入力するパラメータ入力部と、前記入力したパラメータを内部パラメータに変換するパラメータ計算部と、前記内部パラメータを用いてモータ駆動指令を演算するサーボ制御部で構成されるサーボドライブ装置において、
前記サーボ制御部に、前記内部パラメータを変更する際に、前記内部パラメータに対して前記モーションコントローラから入力するパラメータ係数を乗ずる係数演算部を備え、
前記サーボ制御部は、前記係数演算部で演算された、内部パラメータに対してパラメータ係数を乗じた値を使用してモータ駆動指令を演算することを特徴とするサーボドライブ装置。
【請求項２】
前記係数演算部は、前記サーボドライブ装置が実行するサーボ制御処理周期で演算を実行することを特徴とする請求項１に記載のサーボドライブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーボモータを制御するサーボドライブ装置に関し、特に運転中にパラメータを変更するサーボドライブ装置に関する。  
【背景技術】
【０００２】
従来のサーボドライブ装置でのパラメータ変更は、例えば、特許文献１の背景技術に記載されているように、パラメータが変更された際に、パラメータ変更に伴う計算処理を実行した後、計算結果のデータをサーボ制御部に適用しパラメータ変更の効果を得ていた。この場合の計算処理は、データの単位変換や正規化等の目的で実行され、場合によっては複数回の乗除算等を行っていた。このような場合、特に複数のパラメータを同時に変更する際には、全ての計算処理は一回のサーボ制御周期内に完了できないことがあり、そのような場合には別の長い周期の処理にて計算処理を実施した後に、サーボ制御に計算結果のデータを適用していた。
【０００３】
図４は従来のサーボドライブ装置の構成を示すブロック図である。
図４において、２２はモーションコントローラ（位置制御装置）であり、サーボドライブ装置２１に対して、移動指令２０１を伝送する他、必要に応じてサーボドライブ装置２１のパラメータ２０２を伝送する。サーボドライブ装置２１では、モーションコントローラ２２から伝送された移動指令２０１を基にサーボ制御部３１にてサーボ制御処理を実行した後モータ駆動指令２０４を出力し、モータ２３を駆動する。
サーボドライブ装置２１には、パラメータ２０２を入力するパラメータ入力部３２と、入力されたパラメータ２０２を内部パラメータに変換するパラメータ計算部３３と、モーションコントローラ２２から伝送された移動指令２０１に基づき、内部パラメータ２０３を参照してサーボ制御処理を実行し、モータ駆動指令２０４を出力するサーボ制御部３１がある。サーボ制御部３１で実行されるサーボ制御処理は、サーボドライブ装置２１のサーボ制御処理周期で周期的に実行される。ここでは例えばサーボ制御処理周期は１ｍｓｅｃとする。
【０００４】
必要に応じてモーションコントローラ２２がパラメータ２０２を伝送した際には、サーボドライブ装置２１では、パラメータ入力部３２でパラメータ２０２を入力し、入力したパラメータ２０２をパラメータ計算部３３へ送る。パラメータ計算部３３では、パラメータ計算処理を実行しパラメータ２０２を内部パラメータ２０３に変換し、サーボ制御部３１へ出力する。つまり、モーションコントローラ２２がパラメータ２０２を伝送することにより、サーボ制御部３１の内部パラメータ２０３が変更されることとなる。サーボ制御部３１では入力した内部パラメータ２０３の値を基にモータ駆動指令２０４を出力し、それによりモータ２３の応答性等が変化する。
【０００５】
図５に従来のサーボ制御処理とパラメータ計算処理のタイミングの例を示す。図５において、サーボ制御部３１は、モーションコントローラ２２から１ｍｓｅｃ毎に受信する移動指令２０１を用いて１ｍｓｅｃ毎にサーボ制御処理を実行する。これとは別に、モーションコントローラ２２からパラメータ２０２が伝送された場合には、パラメータ計算部３３でパラメータ計算処理が実行される。
ここで、同時に変更するパラメータの数が多い場合にはパラメータ計算処理は計算量が大きくなり、１ｍｓｅｃ毎のサーボ制御の中で実行するとサーボ制御処理が１ｍｓｅｃ以内に完了しないことがあるため、例えば４ｍｓｅｃ毎の割り込み処理でパラメータ計算処理を実行する。図５では、パラメータ計算部の太線部で表される時間に計算処理を実行する。パラメータ計算処理にて内部パラメータに変換した後に１ｍｓｅｃ毎にサーボ制御処理が行われるサーボ制御部３１へ出力される。したがって、モーションコントローラ２２から伝送されたパラメータ２０２は、入力してから４ｍｓｅｃ後にサーボ制御処理に反映されることとなる。
【０００６】
次に、内部パラメータの計算例と使われ方について説明する。
例えば、モーションコントローラ２２からパラメータ２０２として値Ｋが送られたときに、パラメータ計算処理にて内部パラメータ２０３としてＫ’を求める際に以下の式（１）の計算が実行されるとする。
Ｋ’＝Ｋ＊ａ＊ｂ／ｃ                        ・・・（１）
ここで、ａ、ｂ、ｃは、単位変換や正規化のために必要な定数である。
【０００７】
式（１）の場合には、パラメータ値Ｋから内部パラメータ値Ｋ’を得るために２回の乗算と１回の除算を必要とする。求められた内部パラメータ値Ｋ’はサーボ制御演算に使用される。
図６は、サーボ制御演算の処理を示すブロック図である。
図６は、サーボ制御のための入力値にＫ’の値を乗算し出力値を得る処理を表している。モーションコントローラ２２から同時に変更されるパラメータ２０２の数が多い場合には、各パラメータ毎に式（１）のようなパラメータ計算が必要となり、計算に長い時間を要する。
【０００８】
このように、従来のサーボ制御装置のパラメータ変更は、モーションコントローラからのパラメータの計算処理をサーボ制御処理の短い周期とは別の長い周期の処理にて実行していた。
【特許文献１】特開２００５−２２４０４６号公報（２−３頁、図４）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来のサーボ制御装置でのパラメータ変更は、モーションコントローラからのパラメータの計算処理をサーボ制御処理とは別の長い処理時間の処理にて実行していたので、特に、たくさんのパラメータを１度に変更したい場合、パラメータ変更の効果がモータの駆動指令に対し反映するのに多大な時間がかかるという問題があった。
【００１０】
本発明はこのような問題点に鑑みてなされたものであり、パラメータ変更の効果を即座にモータの駆動指令に反映することができるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、モーションコントローラから設定されるパラメータを入力するパラメータ入力部と、前記入力したパラメータを内部パラメータに変換するパラメータ計算部と、前記内部パラメータを用いてモータ駆動指令を演算するサーボ制御部で構成されるサーボドライブ装置において、前記サーボ制御部に、前記内部パラメータを変更する際に、前記内部パラメータに対して前記モーションコントローラから入力するパラメータ係数を乗ずる係数演算部を備え、前記サーボ制御部は、前記係数演算部で演算された、内部パラメータに対してパラメータ係数を乗じた値を使用してモータ駆動指令を演算することを特徴とするものである。
また、請求項２に記載の発明は、請求項１に記載の発明において、前記係数演算部は、前記サーボドライブ装置が実行するサーボ制御処理周期で処理を実行することを特徴とするものである。
【発明の効果】
【００１２】
請求項１および請求項２に記載の発明によると、パラメータ変更の際、サーボ制御部は、サーボドライブが実行するサーボ制御処理周期で演算を実行する係数演算部で演算された、内部パラメータに対してパラメータ係数を乗じた値を使用してモータ駆動指令を演算するので、パラメータ変更の際の処理が簡略化され、高速に処理可能となり、パラメータ変更の効果を即座にモータの駆動指令に反映することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１４】
図１は、本発明のサーボドライブ装置の構成を示すブロック図である。
図１において、２はモーションコントローラであり、サーボドライブ装置１に対して、移動指令１０１を伝送する他、必要に応じてサーボドライブ装置１のパラメータ１０２、およびパラメータ係数１０５を伝送する。
サーボドライブ装置１では、モーションコントローラ２から伝送された移動指令１０１、パラメータ１０２、パラメータ係数１０５を基にサーボ制御部１１にてサーボ制御処理を実行しモータ駆動指令１０４を演算する。その後モータ駆動指令１０４を出力し、モータ３を駆動する。
ここで、パラメータ１０２は、モータ駆動指令を演算する際に使用するサーボ制御用のパラメータであり、例えば、位置ループゲインＫｐ、速度ループゲインＫｖ等がある。入力されたパラメータ１０２はサーボドライブ装置１で使用しやすいように内部パラメータ１０３に変換される。パラメータ係数１０５は内部パラメータ１０３の値に乗ずる数値で有り、パラメータ係数１０５を変更することにより、パラメータ１０２の値を変更するのと同等の効果を持たせるものである。
サーボドライブ装置１には、パラメータ１０２を入力するパラメータ入力部１２と、入力されたパラメータ１０２を内部パラメータ１０３に変換するパラメータ計算部１３と、コントローラ２から伝送された移動指令１０１に基づき、内部パラメータ１０３を参照してサーボ制御処理を実行し、モータ駆動指令１０４を演算しモータ３に出力するサーボ制御部１１がある。
サーボ制御部１１の中には、モーションコントローラ２から入力されるパラメータ係数１０５を内部パラメータに乗ずる係数演算部１４がある。サーボ制御部１１で実行されるサーボ制御処理と係数演算部１４で実行される係数演算処理はサーボドライブ装置１のサーボ制御処理周期で周期的に実行される。ここでは例えばサーボ制御処理周期は１ｍｓｅｃとする。
本発明が従来と異なる点は、係数演算部１４を備え、パラメータの変更時内部パラメータの値にパラメータ係数を乗ずるようにした点である。
【００１５】
以下にパラメータ変更時の処理の詳細を説明する。
必要に応じてモーションコントローラ２がサーボドライブ装置１のパラメータ値を変更可能とするために、以下の処理を行う。
まず、サーボドライブ装置１とモーションコントローラ２の間の通信確立時の初期化処理等にて、パラメータ１０２の初期値をモーションコントローラ２からサーボドライブ装置１へ伝送し、サーボドライブ装置１では、従来技術と同様にパラメータ入力部１２でパラメータ１０２を入力し、入力したパラメータ１０２をパラメータ計算部１３へ送り、パラメータ計算部１３ではパラメータ計算処理を実行しパラメータ１０２を内部パラメータ１０３に変換し、サーボ制御部１１へ出力する。
また、別の方法として、パラメータ１０２の値は、モーションコントローラ２から入力せずにサーボドライブ装置１があらかじめ記憶している値を用いても良い。
【００１６】
次に、サーボドライブ装置１が通常動作中に、モーションコントローラ２からサーボドライブ装置１の内部パラメータ１０３を変更する際には、モーションコントローラ２からサーボドライブ装置１へ、変更する内部パラメータ１０３に対応したパラメータ係数１０５を伝送する。
なお、パラメータ係数１０５の設定方法は、作業者がモーションコントローラ２に設定する方法や、モーションコントローラ２に、ある条件で変化するようなプログラムを作成しておき、そのプログラムから設定する方法等が考えられる。
【００１７】
サーボドライブ装置１では、パラメータ係数１０５を直接サーボ制御部１１へ入力し、係数演算部１４で内部パラメータ１０３にパラメータ係数１０５を乗ずる。サーボ制御部１１ではサーボ制御処理にてパラメータ係数１０５を加味した内部パラメータ１０３の値を基にモータ駆動指令１０４を演算しモータ３に出力し、それによりモータ３の応答性等が変化する。
なお、パラメータ係数１０５の伝送方法は、必要時に送りサーボドライブ装置で記憶しておく方法の他、モーションコントローラ２からサーボドライブ装置１へ常時パラメータ係数１０５を伝送しておき、サーボ制御処理では、常時パラメータ係数１０５を乗ずる方法も可能である。
【００１８】
図２に本発明のサーボ制御処理とパラメータ計算処理のタイミングの例を表す。図２において、サーボ制御部１１は、モーションコントローラ２から１ｍｓｅｃ毎に受信する移動指令１０１を用いて１ｍｓｅｃ毎にサーボ制御処理を実行する。前述の初期化処理等にてモーションコントローラ２からパラメータ１０２が送信された場合には、従来技術の通りパラメータ計算処理が実行され、例えば４ｍｓｅｃ毎の割り込み処理でパラメータ計算処理を実行する。図２では、パラメータ計算部の太線部で表される時間に計算処理を実行する。パラメータ計算処理にて内部パラメータに変換した後に１ｍｓｅｃ毎のサーボ制御処理へ出力される。
また、モーションコントローラ２からサーボドライブ装置１へパラメータ係数１０５が伝送された場合は、パラメータ係数１０５は１ｍｓｅｃ毎にサーボ制御処理を起動するサーボ制御部１１が受信し、係数演算部１４で係数が乗算され、その結果はその回のサーボ制御処理に適用される。
【００１９】
次に、内部パラメータの計算例と使われ方について説明する。
例えば、モーションコントローラ２からパラメータ係数１０５として値αが送られたときに、係数演算部１４にて内部パラメータ１０３であるＫ’にαを乗ずる処理が実行される。求められた値はサーボ制御演算に使用される。
図３は、本発明のサーボ制御演算の処理を示すブロック図である。
図３に示されるように、Ｋ’＊αがサーボ制御演算に使用されることとなり、サーボ制御のための入力値にＫ’＊αの値を乗じ出力値を得る処理となる。すなわち、パラメータ変更の際、従来行っていた複雑なパラメータ計算処理は不要となり、１つのパラメータにつき１回の乗算を行うだけで良い。
【００２０】
このように、パラメータ変更の際、サーボ制御部は、サーボドライブが実行するサーボ制御処理周期で演算を実行する係数演算部で演算された、内部パラメータに対してパラメータ係数を乗じた値を使用してサーボ制御を行うので、パラメータ変更の際の処理が簡略化され、高速に処理可能となり、パラメータ変更の効果を即座にモータの駆動指令に反映することができるのである。
【産業上の利用可能性】
【００２１】
本発明では、パラメータ変更に際して本来の複雑なパラメータ計算処理が実施された結果に対して係数を掛けるという手順をとるために、単純な計算処理で従来のパラメータ変更処理と同等の効果が得られるため、サーボドライブ装置以外のパラメータの変更を伴う装置全般の用途にも適用できる。
【図面の簡単な説明】
【００２２】
【図１】本発明のサーボドライブ装置の構成を示すブロック図
【図２】本発明のサーボ制御処理とパラメータ計算処理のタイミングの例を示す図
【図３】本発明のサーボ制御演算の処理を示すブロック図
【図４】従来のサーボドライブ装置の構成を示すブロック図
【図５】従来のサーボ制御処理とパラメータ計算処理のタイミングの例を示す図
【図６】従来のサーボ制御演算の処理を示すブロック図
【符号の説明】
【００２３】
１、２１  サーボドライブ装置
２、２２  モーションコントローラ
３、２３  モータ
１１、３１  サーボ制御部
１２、３２  パラメータ入力部
１３、３３  パラメータ計算部
１４  係数演算部
１０１、２０１  移動指令
１０２、２０２  パラメータ
１０３、２０３  内部パラメータ
１０４、２０４  モータ駆動指令
１０５  パラメータ係数
【図１】
2007128341.tif 000003
【図２】
2007128341.tif 000004
【図３】
2007128341.tif 000005
【図４】
2007128341.tif 000006
【図５】
2007128341.tif 000007
【図６】
2007128341.tif 000008