(57)【特許請求の範囲】
【請求項１】
モータ、および前記モータのエンコーダデータを検出するエンコーダに接続されるとともに、前記モータを制御するモータ駆動制御装置であって、
前記モータに駆動電力を供給することによって前記モータを制御する制御部と、
前記エンコーダとの間で通信を実行するエンコーダ通信部と、
前記エンコーダデータを要求するリクエスト信号が前記エンコーダに送信された送信時刻と、前記エンコーダから前記エンコーダデータを受信した受信時刻と、の差分に基づいて、前記エンコーダと前記エンコーダ通信部とを接続するエンコーダケーブルの長さであるエンコーダケーブル長を推定するケーブル長推定部と、
前記エンコーダケーブル長に基づいて、前記駆動電力の供給を制御する際に用いられるパラメータである電力制御パラメータを補正する補正部と、
を備え、
前記制御部は、前記電力制御パラメータを用いて前記駆動電力の供給を制御する、
ことを特徴とするモータ駆動制御装置。
【請求項２】
前記補正部は、前記制御部と前記モータとを接続するモータケーブルの抵抗値であるモータケーブル抵抗値を推定し、前記電力制御パラメータを、前記モータケーブル抵抗値に基づいて補正する、
ことを特徴とする請求項１に記載のモータ駆動制御装置。
【請求項３】
前記補正部は、前記エンコーダケーブル長から前記モータケーブルの長さであるモータケーブル長を推定し、前記モータケーブル長から前記モータケーブル抵抗値を推定する、
ことを特徴とする請求項２に記載のモータ駆動制御装置。
【請求項４】
前記エンコーダデータは、前記モータの動作位置または前記モータの動作速度を含む、
ことを特徴とする請求項１から３の何れか１つに記載のモータ駆動制御装置。
【請求項５】
前記制御部は、前記電力制御パラメータに基づいて、前記駆動電力の出力特性を変更する、
ことを特徴とする請求項１から４の何れか１つに記載のモータ駆動制御装置。
【請求項６】
前記制御部は、前記電力制御パラメータに基づいて、前記モータに出力する前記駆動電力を補正する、
ことを特徴とする請求項１から４の何れか１つに記載のモータ駆動制御装置。
【請求項７】
前記エンコーダ通信部は、前記エンコーダから前記モータの動作の情報を抽出して前記制御部に送信し、
前記制御部は、前記モータの動作の情報に基づいて、前記駆動電力を前記モータに供給するタイミングを補正する、
ことを特徴とする請求項１から６の何れか１つに記載のモータ駆動制御装置。
【請求項８】
前記エンコーダ通信部は、前記差分に基づいて、前記リクエスト信号を前記エンコーダに送信するタイミングを補正する、
ことを特徴とする請求項７に記載のモータ駆動制御装置。
【請求項９】
特定の部品に対して機械的に連結されている第１のモータ、および前記第１のモータの第１のエンコーダデータを検出する第１のエンコーダに接続されるとともに、前記第１のモータを制御する第１のモータ駆動制御装置と、
前記特定の部品に対して機械的に連結されている第２のモータ、および前記第２のモータの第２のエンコーダデータを検出する第２のエンコーダに接続されるとともに、前記第２のモータを制御する第２のモータ駆動制御装置と、
を備え、
前記第１のモータ駆動制御装置は、
前記第１のエンコーダデータを要求する第１のリクエスト信号を、外部装置から送られてくる基準の時間である基準時間に従って前記第１のエンコーダに送信し、前記第１のリクエスト信号が前記第１のエンコーダに送信された第１の送信時刻と、前記第１のエンコーダから前記第１のエンコーダデータを受信した第１の受信時刻と、の差分である第１の差分を算出し、前記第１の差分に基づいて、前記第１のリクエスト信号を前記第１のエンコーダに送信するタイミングを補正し、
前記第２のモータ駆動制御装置は、
前記第２のエンコーダデータを要求する第２のリクエスト信号を、前記外部装置から送られてくる前記基準時間に従って前記第２のエンコーダに送信し、前記第２のリクエスト信号が前記第２のエンコーダに送信された第２の送信時刻と、前記第２のエンコーダから前記第２のエンコーダデータを受信した第２の受信時刻と、の差分である第２の差分を算出し、前記第２の差分に基づいて、前記第２のリクエスト信号を前記第２のエンコーダに送信するタイミングを補正する、
ことを特徴とする連結制御システム。
【請求項１０】
モータに第１の駆動電力を供給することによって前記モータを制御する第１の制御ステップと、
前記モータのエンコーダデータを検出するエンコーダとの間で通信を実行する通信ステップと、
前記エンコーダデータを要求するリクエスト信号が前記エンコーダに送信された送信時刻と、前記エンコーダから前記エンコーダデータを受信した受信時刻と、の差分に基づいて、前記エンコーダとの間で通信を実行するエンコーダ通信部と前記エンコーダとを接続するエンコーダケーブルの長さであるエンコーダケーブル長を推定するケーブル長推定ステップと、
前記モータに第２の駆動電力を供給する際に用いられるパラメータである電力制御パラメータを、前記エンコーダケーブル長に基づいて補正する補正ステップと、
前記電力制御パラメータを用いて前記モータに前記第２の駆動電力を供給することによって前記モータを制御する第２の制御ステップと、
を含むことを特徴とするモータ駆動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータの駆動を制御するモータ駆動制御装置、連結制御システム、およびモータ駆動制御方法に関する。
【背景技術】
【０００２】
サーボアンプといったモータ駆動制御装置は、モータの動作を示す情報に基づいてモータの駆動を制御する装置である。モータ駆動制御装置とモータとの間はモータケーブルで接続されているので、モータケーブルが長くなるほど、モータの動作に影響を与える。このため、モータケーブルの長さによってモータの動作が異なってしまい、モータに所望の動作をさせることが困難であった。【０００３】
特許文献１に記載の位置検出システムは、モータの動作位置の情報である位置情報を、位置情報を取得した時刻の情報に基づいて補正し、位置情報の伝送遅れに起因する動作位置の検出誤差を解消している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２３３７３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の技術では、モータ駆動制御装置とモータとの間を接続するモータケーブルの抵抗値を考慮していないので、モータ駆動制御装置が出力する駆動電力と、モータが動作に用いる駆動電力との間に差異が生じる。このため、所望の駆動電力でモータを駆動することができないという問題があった。【０００６】
本発明は、上記に鑑みてなされたものであって、所望の駆動電力でモータを駆動することができるモータ駆動制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、モータ、およびモータのエンコーダデータを検出するエンコーダに接続されるとともに、モータを制御するモータ駆動制御装置であって、モータに駆動電力を供給することによってモータを制御する制御部と、エンコーダとの間で通信を実行するエンコーダ通信部とを備えている。また、本発明のモータ駆動制御装置は、エンコーダデータを要求するリクエスト信号がエンコーダに送信された送信時刻と、エンコーダからエンコーダデータを受信した受信時刻と、の差分に基づいて、エンコーダとエンコーダ通信部とを接続するエンコーダケーブルの長さであるエンコーダケーブル長を推定するケーブル長推定部と、エンコーダケーブル長に基づいて、駆動電力の供給を制御する際に用いられるパラメータである電力制御パラメータを補正する補正部とを備えている。本発明のモータ駆動制御装置では、制御部は、電力制御パラメータを用いて駆動電力の供給を制御する。
【発明の効果】
【０００８】
本発明にかかるモータ駆動制御装置は、所望の駆動電力でモータを駆動することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかるモータ駆動制御装置を備えた制御システムの構成を示す図
【図２】実施の形態１にかかるモータ駆動制御装置による駆動電力の調整処理手順を示すフローチャート
【図３】実施の形態２にかかるモータ駆動制御装置を備えた連結制御システムの構成を示す図
【図４】実施の形態２にかかる連結制御システムによるモータの制御処理手順を示すフローチャート
【図５】実施の形態２にかかるモータ駆動制御装置のハードウェア構成例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかるモータ駆動制御装置、連結制御システム、およびモータ駆動制御方法を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、実施の形態１にかかるモータ駆動制御装置を備えた制御システムの構成を示す図である。制御システム１は、サーボ機構によってモータ２０を動作させるシステムである。
【００１２】
制御システム１は、モータ駆動制御装置１０と、モータ２０と、エンコーダ３０と、モータケーブル４１と、エンコーダケーブル５１とを備えている。制御システム１では、モータ駆動制御装置１０と、モータ２０と、エンコーダ３０と、モータケーブル４１と、エンコーダケーブル５１とがタンデム接続されている。
【００１３】
モータケーブル４１は、モータ駆動制御装置１０とモータ２０とを接続するケーブルである。モータケーブル４１は、モータ駆動制御装置１０から出力された駆動電力３１をモータ２０に送る。
【００１４】
エンコーダケーブル５１は、モータ駆動制御装置１０とエンコーダ３０とを接続するケーブルである。エンコーダケーブル５１は、モータ駆動制御装置１０から出力されたリクエスト信号をエンコーダ３０に送り、エンコーダ３０から出力されたエンコーダデータ３２をモータ駆動制御装置１０に送る。リクエスト信号は、エンコーダデータ３２をリクエストするための信号である。エンコーダデータ３２は、エンコーダ３０がモータ２０から検出した情報である。エンコーダデータ３２は、モータ２０の動作の情報（動作検出値２１）を含んでいる。動作検出値２１は、モータ２０の動作位置を示す情報と、モータ２０の動作速度を示す情報との少なくとも一方を含んでいる。エンコーダデータ３２にはヘッダ等が付与されている。
【００１５】
モータ駆動制御装置１０は、図示しないコントローラといった外部装置から送られてくる駆動指令５に基づいて、モータ２０の駆動を制御する。駆動指令５は、モータ２０の動作位置の目標値またはモータ２０の動作速度の目標値を示す動作指令である。
【００１６】
モータ駆動制御装置１０の例は、サーボアンプである。モータ駆動制御装置１０は、モータ２０を駆動するとともに、モータ２０の動作に応じてエンコーダ３０から送られてくるエンコーダデータ３２に基づいてモータ２０の動作をフィードバック制御する。具体的には、モータ駆動制御装置１０は、モータ２０の実際の動作位置またはモータ２０の実際の動作速度が駆動指令５に追従することができるように、駆動電力３１をモータ２０に出力する。
【００１７】
モータ駆動制御装置１０は、モータケーブル４１を介してモータ２０に駆動電力３１を供給する。駆動電力３１は、モータ２０を駆動するための電力である。また、モータ駆動制御装置１０は、エンコーダケーブル５１を介してエンコーダ３０から送られてくるエンコーダデータ３２を受信する。
【００１８】
モータ２０は、サーボモータであり、モータ駆動制御装置１０から供給される駆動電力３１を用いて動作する。エンコーダ３０は、モータ２０の動作に基づいて、モータ２０の動作を示すエンコーダデータ３２を生成する。エンコーダ３０の例は、モータ２０の動作位置を検出する位置検出器である。エンコーダ３０は、エンコーダデータ３２をモータ駆動制御装置１０に送信する。
【００１９】
モータ駆動制御装置１０は、制御部１１と、エンコーダ通信部１２と、ケーブル長推定部１３と、補正部として動作するケーブル抵抗推定部１４とを有している。エンコーダ通信部１２は、エンコーダ３０に接続されており、エンコーダ３０にリクエスト信号を送信する。エンコーダ通信部１２がリクエスト信号を送信するタイミングは、制御部１１からの指示に対応するタイミング、駆動指令５に対応するタイミング、またはエンコーダ通信部１２自身が決定したタイミングである。
【００２０】
また、エンコーダ通信部１２は、エンコーダ３０にリクエスト信号を送信したタイミングを示す情報（送信時刻）をケーブル長推定部１３に送信する。エンコーダ通信部１２は、エンコーダ３０から送られてくるエンコーダデータ３２を受信する。エンコーダ通信部１２は、エンコーダデータ３２の中から動作検出値２１を抽出して制御部１１に送信する。
【００２１】
ケーブル長推定部１３は、エンコーダ３０から送られてくるエンコーダデータ３２を受信する。ケーブル長推定部１３は、リクエスト信号の送信時刻およびエンコーダデータ３２の受信時刻に基づいて、リクエスト信号を送信してからエンコーダデータ３２を受信するまでの時間である送受信の遅延時間を算出する。すなわち、ケーブル長推定部１３は、リクエスト信号の通信フレームの送信時刻と、エンコーダデータ３２の通信フレームを受信する受信時刻との差分である、送受信の遅延時間を算出する。送受信の遅延時間は、エンコーダケーブル５１の長さの影響を受ける。
【００２２】
ケーブル長推定部１３は、送受信の遅延時間を用いて、エンコーダケーブル５１の長さであるエンコーダケーブル長２２を推定する。ケーブル長推定部１３は、エンコーダケーブル長２２をケーブル抵抗推定部１４に送信する。
【００２３】
モータ２０とエンコーダ３０とは一体となって配置されていることが多いので、エンコーダケーブル５１とモータケーブル４１とは同等の長さで配線されることが多い。このため、推定されたエンコーダケーブル長２２に基づいて、モータケーブル４１の長さを間接的に推定することができる。以下の説明では、モータケーブル４１の長さをモータケーブル長という場合がある。
【００２４】
実施の形態１のケーブル抵抗推定部１４は、モータケーブル長およびエンコーダケーブル５１の長さが同じであるとみなし、モータケーブル長としてエンコーダケーブル長２２を適用する。ケーブル抵抗推定部１４は、エンコーダケーブル長２２に基づいて、モータケーブル長を推定し、モータケーブル長に基づいて、モータケーブル４１の抵抗値を推定する。このとき、ケーブル抵抗推定部１４は、モータケーブル長、モータケーブル４１を長さ方向に垂直な面で切断した場合の断面積、モータケーブル４１の電気抵抗率などを用いてモータケーブル４１の抵抗値を算出する。換言すると、ケーブル抵抗推定部１４は、モータケーブル４１の単位長さ当たりの抵抗値といったパラメータと、推定したモータケーブル長とに基づいて、モータケーブル４１の抵抗値を推定する。以下の説明では、モータケーブル４１の抵抗値をモータケーブル抵抗値という場合がある。
【００２５】
ケーブル抵抗推定部１４は、制御部１１がモータ２０に供給する駆動電力３１を制御する際に用いる制御パラメータを、モータケーブル抵抗値に基づいて補正する。以下の説明では、駆動電力３１を制御する際に用いられる制御パラメータを電力制御パラメータという場合がある。電力制御パラメータが補正されることは、制御部１１が有する駆動電力３１の出力特性を変更することに対応している。
【００２６】
電力制御パラメータは、制御部１１が駆動電力３１を調整するためのパラメータであり、ケーブル抵抗推定部１４によって補正される。電力制御パラメータは、制御部１１が駆動指令５および動作検出値２１に基づいて駆動電力３１を算出する際、または制御部１１が駆動電圧を出力する際に用いられる。
【００２７】
電力制御パラメータが駆動電力３１を算出する際に用いられる場合の電力制御パラメータの例は、制御部１１が駆動電力３１を算出する際に用いる、電流、電圧、電流の追従性、電圧の追従性、またはモータケーブル抵抗値である。この場合の電力制御パラメータは、制御部１１が駆動電力３１を算出するための算出パラメータであるともいえる。
【００２８】
また、電力制御パラメータが駆動電力３１を出力する際に用いられる場合の電力制御パラメータの例は、制御部１１が出力する駆動電力３１に対する補正値である。この場合の電力制御パラメータは、制御部１１が出力する駆動電力３１を補正するための補正パラメータであるともいえる。
【００２９】
このように、電力制御パラメータが駆動電力３１を算出する際に用いられる場合、電力制御パラメータは、フィードバック制御のように用いられ、電力制御パラメータが駆動電力３１を出力する際に用いられる場合、電力制御パラメータは、フィードフォワード制御のように用いられる。ケーブル抵抗推定部１４は、補正した電力制御パラメータを制御部１１に送信する。
【００３０】
制御部１１は、コントローラから送られてくる駆動指令５を受信する。また、制御部１１は、エンコーダ通信部１２から送られてくる動作検出値２１を受信する。また、制御部１１は、ケーブル抵抗推定部１４から送られてくる電力制御パラメータを受信する。
【００３１】
制御部１１は、駆動指令５および動作検出値２１に基づいて、駆動電力３１をモータ２０に出力するタイミングを算出する。制御部１１は、駆動指令５で指定されたモータ２０の動作位置または動作速度が、動作検出値２１に一致するように駆動電力３１を出力する。換言すると、制御部１１は、送受信の遅延時間が解消されるよう、すなわち送受信の遅延時間が０となるよう、駆動電力３１を出力するタイミングを調整する。
【００３２】
また、制御部１１は、ケーブル抵抗推定部１４からの電力制御パラメータを用いて駆動電力３１を算出するか、または、出力する駆動電力３１をケーブル抵抗推定部１４からの電力制御パラメータを用いて補正する。
【００３３】
また、制御部１１は、算出または補正した駆動電力３１をモータ２０に供給することによって、モータ２０を制御する。制御部１１は、駆動電力３１をモータ２０に供給するための電流または電圧をモータ２０に出力する。制御部１１は、モータケーブル抵抗値が０である場合には、駆動指令５に対応する電流または電圧をそのままモータ２０に出力し、モータケーブル抵抗値が高くなるほど、大きな電流または大きな電圧をモータ２０に出力する。換言すると、制御部１１は、モータケーブル抵抗値が高くなるほど、大きな駆動電力３１をモータ２０に供給する。
【００３４】
このように、モータ駆動制御装置１０は、モータケーブル抵抗値（モータケーブル長）に基づいて電力制御パラメータを補正し、電力制御パラメータに基づいて駆動電力３１を調整する。
【００３５】
図２は、実施の形態１にかかるモータ駆動制御装置による駆動電力の調整処理手順を示すフローチャートである。制御部１１は、コントローラから送られてくる駆動指令５を受信すると、駆動指令５に基づいて駆動電力３１を算出し、算出した駆動電力３１を用いてモータ２０の駆動を行う。ここでの駆動電力３１は、調整前の第１の駆動電力である。
【００３６】
モータ駆動制御装置１０のエンコーダ通信部１２は、エンコーダデータ３２をリクエストするためのリクエスト信号を、エンコーダ３０に送信する（ステップＳ１０）。また、エンコーダ通信部１２は、エンコーダ３０にリクエスト信号を送信した時刻である送信時刻をケーブル長推定部１３に送信する。
【００３７】
エンコーダ３０は、モータ２０の動作に基づいてエンコーダデータ３２を生成し、エンコーダデータ３２をモータ駆動制御装置１０に送信する。これにより、エンコーダ通信部１２およびケーブル長推定部１３がエンコーダデータ３２を受信する（ステップＳ２０）。
【００３８】
ケーブル長推定部１３は、リクエスト信号の送信時刻およびエンコーダデータ３２の受信時刻に基づいて、送受信の遅延時間を算出する（ステップＳ３０）。ケーブル長推定部１３は、送受信の遅延時間を用いて、エンコーダケーブル長２２を推定（算出）する（ステップＳ４０）。ケーブル長推定部１３は、エンコーダケーブル長２２をケーブル抵抗推定部１４に送信する。
【００３９】
ケーブル抵抗推定部１４は、エンコーダケーブル長２２に基づいて、モータケーブル長を推定し、モータケーブル長に基づいて、モータケーブル抵抗値を推定（算出）する（ステップＳ５０）。すなわち、ケーブル抵抗推定部１４は、モータケーブル長がエンコーダケーブル長２２と同じであると仮定したうえで、モータケーブル長に基づいて、モータケーブル抵抗値を推定する。
【００４０】
ケーブル抵抗推定部１４は、モータケーブル抵抗値に基づいて、制御部１１が駆動電力３１を制御する際に用いる電力制御パラメータを補正する（ステップＳ６０）。ケーブル抵抗推定部１４は、算出した電力制御パラメータを制御部１１に送信する。
【００４１】
制御部１１は、ケーブル抵抗推定部１４から送られてくる電力制御パラメータを受信すると、電力制御パラメータに基づいて駆動電力３１を調整する。制御部１１は、調整後の駆動電力３１をモータ２０に供給する。これにより、制御部１１は、モータ２０の駆動電力３１を調整する（ステップＳ７０）。制御部１１によって調整された駆動電力３１が第２の駆動電力である。
【００４２】
また、エンコーダ通信部１２は、エンコーダデータ３２を受信すると、エンコーダデータ３２の中から動作検出値２１を抽出して制御部１１に送信する。制御部１１は、エンコーダ通信部１２から送られてくる動作検出値２１を受信すると、動作検出値２１に基づいて、駆動電力３１の出力タイミングを調整する。
【００４３】
なお、実施の形態１では、モータ駆動制御装置１０が制御する負荷がモータ２０である場合について説明したが、モータ駆動制御装置１０はモータ２０以外の負荷を制御してもよい。
【００４４】
ところで、モータ駆動制御装置内の制御部が使用する電力制御パラメータを、モータの抵抗値またはインダクタンスに基づいて調整する方法がある。この方法の場合、モータとモータ駆動制御装置との間のモータケーブルに含まれる抵抗値の増加分によって電力制御パラメータが最適でなくなり、意図した制御性能を実現できなくなる。すなわち、モータケーブルには抵抗成分があるので、モータ駆動制御装置が出力する駆動電力とモータに実際に印加される駆動電力とは、モータケーブル抵抗値が原因で差異が生じる。例えば、モータ駆動制御装置が駆動電力として電圧をモータへ供給する場合、モータ駆動制御装置が出力する電圧値と、モータへ実際に印加される電圧値とは、モータケーブル抵抗値によって電圧降下する分だけ異なる。
【００４５】
このように、モータケーブル抵抗値は、モータケーブル長によって異なり、モータに実際に印加される駆動電力は、モータケーブル抵抗値によって異なる。このため、モータ駆動制御装置、モータ、およびモータケーブルを含んだ制御システムでの実際の制御特性は、モータケーブル長によって異なる。ところが、モータケーブル長は、制御システムの使用状況によって様々であるので、モータ駆動制御装置に含まれる制御部に対し、予めモータケーブル長もしくはモータケーブル抵抗値を考慮して電力制御パラメータを設定することは困難である。一方、実施の形態１では、ケーブル抵抗推定部１４がモータケーブル抵抗値を推定し、モータケーブル抵抗値に基づいて電力制御パラメータを補正するので、モータケーブル長（モータケーブル抵抗値）が変化しても、所望の制御特性を実現することが可能となる。
【００４６】
なお、実施の形態１ではモータ２０にエンコーダ３０が接続されている場合について説明したが、モータ２０の動作を検出する検出器はエンコーダ３０には限られない。
【００４７】
このように、実施の形態１のモータ駆動制御装置１０は、通信フレームの送受信の遅延時間に基づいて、エンコーダケーブル長２２を推定し、エンコーダケーブル長２２に基づいて、モータケーブル抵抗値を推定している。そして、モータ駆動制御装置１０は、モータケーブル抵抗値に基づいて電力制御パラメータを補正し、電力制御パラメータを用いて駆動電力３１の供給を制御している。これにより、モータケーブル抵抗値に関わらず所望の駆動電力３１でモータ２０を駆動することが可能となる。
【００４８】
実施の形態２．
つぎに、図３から図５を用いてこの発明の実施の形態２について説明する。実施の形態２では、複数のモータ駆動制御装置が、共通の基準時間に基づいて送受信の遅延時間を算出し、この遅延時間を解消するようモータを制御する。
【００４９】
図３は、実施の形態２にかかるモータ駆動制御装置を備えた連結制御システムの構成を示す図である。連結制御システム２は、制御システム１Ａ，１Ｂおよび機械連結部４０を備えており、制御システム１Ａ，１Ｂを連動させることによって機械連結部４０を駆動するシステムである。制御システム１Ａは、サーボ機構によってモータ２０Ａを動作させるシステムであり、制御システム１Ｂは、サーボ機構によってモータ２０Ｂを動作させるシステムである。
【００５０】
制御システム１Ａは、第１のモータ駆動制御装置であるモータ駆動制御装置１０Ａと、第１のモータであるモータ２０Ａと、第１のエンコーダであるエンコーダ３０Ａと、第１のモータケーブルであるモータケーブル４１Ａと、第１のエンコーダケーブルであるエンコーダケーブル５１Ａとを備えている。
【００５１】
制御システム１Ｂは、第２のモータ駆動制御装置であるモータ駆動制御装置１０Ｂと、第２のモータであるモータ２０Ｂと、第２のエンコーダであるエンコーダ３０Ｂと、第２のモータケーブルであるモータケーブル４１Ｂと、第２のエンコーダケーブルであるエンコーダケーブル５１Ｂとを備えている。
【００５２】
モータ２０Ａ，２０Ｂ、エンコーダ３０Ａ，３０Ｂ、モータケーブル４１Ａ，４１Ｂ、およびエンコーダケーブル５１Ａ，５１Ｂは、それぞれ実施の形態１で説明したモータ２０、エンコーダ３０、モータケーブル４１、およびエンコーダケーブル５１と同様の機能を有している。また、制御システム１Ａ，１Ｂでは、各構成要素が制御システム１と同様の接続構成を有している。
【００５３】
図３では、モータ駆動制御装置１０Ａがコントローラから受け付ける駆動指令を駆動指令５Ａとして図示し、モータ駆動制御装置１０Ｂがコントローラから受け付ける駆動指令を駆動指令５Ｂとして図示している。また、図３では、モータ駆動制御装置１０Ａがモータ２０Ａに出力する駆動電力を駆動電力３１Ａとして図示し、モータ駆動制御装置１０Ｂがモータ２０Ｂに出力する駆動電力を駆動電力３１Ｂとして図示している。また、図３では、エンコーダ３０Ａがモータ駆動制御装置１０Ａに送信するエンコーダデータをエンコーダデータ３２Ａとして図示し、エンコーダ３０Ｂがモータ駆動制御装置１０Ｂに送信するエンコーダデータをエンコーダデータ３２Ｂとして図示している。
【００５４】
機械連結部４０は、モータ２０Ａ，２０Ｂに対して機械的に連結された特定の部品である。連結制御システム２では、モータ２０Ａの出力軸とモータ２０Ｂの出力軸とが、機械連結部４０に対して機械的に結合されている。機械連結部４０には、カップリング、ギア、タイミングベルトなどの機構が含まれている。なお、機械連結部４０が有する機構は、何れの機構であってもよい。
【００５５】
モータ駆動制御装置１０Ａは、制御部１１Ａと、エンコーダ通信部１２Ａと、ケーブル長推定部１３Ａと、ケーブル抵抗推定部１４Ａとを有している。モータ駆動制御装置１０Ｂは、制御部１１Ｂと、エンコーダ通信部１２Ｂと、ケーブル長推定部１３Ｂと、ケーブル抵抗推定部１４Ｂとを有している。以下の説明では、モータ駆動制御装置１０Ａ，１０Ｂが備える構成要素の機能のうち、モータ駆動制御装置１０が備える構成要素の機能と異なる機能を中心に説明する。
【００５６】
図３では、ケーブル長推定部１３Ａがケーブル抵抗推定部１４Ａに送信するエンコーダケーブル長をエンコーダケーブル長２２Ａとして図示し、ケーブル長推定部１３Ｂがケーブル抵抗推定部１４Ｂに送信するエンコーダケーブル長をエンコーダケーブル長２２Ｂとして図示している。また、図３では、エンコーダ通信部１２Ａが制御部１１Ａに送信する動作検出値を動作検出値２１Ａとして図示し、エンコーダ通信部１２Ｂが制御部１１Ｂに送信する動作検出値を動作検出値２１Ｂとして図示している。
【００５７】
モータ駆動制御装置１０Ａ，１０Ｂは、同様の構成を有しているので、以下では主にモータ駆動制御装置１０Ａの構成について説明する。
【００５８】
ケーブル長推定部１３Ａは、ケーブル長推定部１３が備える機能に加えて、送受信の遅延時間をエンコーダ通信部１２Ａに送信する機能を有している。実施の形態２では、ケーブル長推定部１３Ａが算出する送受信の遅延時間を遅延時間２３Ａといい、ケーブル長推定部１３Ｂが算出する送受信の遅延時間を遅延時間２３Ｂという。
【００５９】
エンコーダ通信部１２Ａは、エンコーダ通信部１２が備える機能に加えて、ケーブル長推定部１３Ａから遅延時間２３Ａを受け付ける機能を有している。また、エンコーダ通信部１２Ａは、モータ２０Ａの動作の基準となる時間を示す基準時間を、外部装置から受け付ける機能を有している。基準時間をエンコーダ通信部１２Ａに送信する外部装置の例は、上位コントローラである。この上位コントローラは、モータ駆動制御装置１０Ａに接続されているコントローラ、およびモータ駆動制御装置１０Ｂに接続されているコントローラを制御するコンピュータである。この場合、上位コントローラは、モータ駆動制御装置１０Ａに接続されているコントローラを介して、エンコーダ通信部１２Ａに基準時間を送信し、モータ駆動制御装置１０Ｂに接続されているコントローラを介して、エンコーダ通信部１２Ｂに基準時間を送信する。上位コントローラは、エンコーダ通信部１２Ａとエンコーダ通信部１２Ｂとに同じ基準時間（共通の基準時間）を送信する。
【００６０】
エンコーダ通信部１２Ａ，１２Ｂは、上位コントローラから受信した基準時間に従って、エンコーダ３０にリクエスト信号を送信する。また、ケーブル長推定部１３Ａ，１３Ｂは、実施の形態１のケーブル長推定部１３が送受信の遅延時間を算出した処理と同様の処理によって遅延時間２３Ａ，２３Ｂを算出する。したがって、ケーブル長推定部１３Ａ，１３Ｂが算出する遅延時間２３Ａ，２３Ｂは、ともに上位コントローラから受信した基準時間からの遅延時間である。
【００６１】
エンコーダ通信部１２Ａは、基準時間からの遅延時間である遅延時間２３Ａを、ケーブル長推定部１３Ａから受信する。エンコーダ通信部１２Ａは、リクエスト信号をエンコーダ３０Ａに出力するタイミングを、遅延時間２３Ａに基づいて補正する。具体的には、エンコーダ通信部１２Ａは、基準時間よりも遅延時間２３Ａの分だけ早い時間にリクエスト信号をエンコーダ３０Ａに出力する。
【００６２】
エンコーダ３０Ａは、基準時間よりも遅延時間２３Ａの分だけ早いタイミングでリクエスト信号を受信するので、基準時間よりも遅延時間２３Ａの分だけ早いタイミングでエンコーダデータ３２Ａを送信することが可能となる。このエンコーダデータ３２Ａは、エンコーダケーブル５１Ａにおいて遅延し、基準時間に対応するタイミングでエンコーダ通信部１２Ａが受信する。これにより、エンコーダ通信部１２Ａは、基準時間に対応するタイミングで動作検出値２１Ａを制御部１１Ａに出力することが可能となる。
【００６３】
モータ駆動制御装置１０Ｂでもモータ駆動制御装置１０Ａと同様に、エンコーダ通信部１２Ｂが、基準時間よりも遅延時間２３Ｂの分だけ早い時間にリクエスト信号をエンコーダ３０Ｂに出力する。これにより、エンコーダ通信部１２Ｂは、エンコーダ通信部１２Ａと同様に、遅延が補正されたタイミングでエンコーダデータ３２Ｂを受信するので、基準時間に対応するタイミングで動作検出値２１Ｂを制御部１１Ｂに出力することが可能となる。これにより、モータ駆動制御装置１０Ａ，１０Ｂは、基準時間に対応するタイミングに従ってモータ２０Ａ，２０Ｂを同期制御することができる。
【００６４】
図４は、実施の形態２にかかる連結制御システムによるモータの制御処理手順を示すフローチャートである。モータ駆動制御装置１０Ａは、実施の形態１で説明したステップＳ１０からＳ７０の処理を実行するとともに、図４に示したステップＳ１１０ａからＳ１３０ａの処理を実行する。モータ駆動制御装置１０Ｂは、実施の形態１で説明したステップＳ１０からＳ７０の処理を実行するとともに、図４に示したステップＳ１１０ｂからＳ１３０ｂの処理を実行する。
【００６５】
エンコーダ通信部１２Ａは、上位コントローラから受信した基準時間に従って、エンコーダ３０Ａにリクエスト信号（第１のリクエスト信号）を送信する。また、エンコーダ通信部１２Ａは、リクエスト信号の送信時刻（第１の送信時刻）をケーブル長推定部１３Ａに送信する。
【００６６】
ケーブル長推定部１３Ａは、エンコーダ通信部１２Ａからリクエスト信号の送信時刻を受信し、エンコーダ３０Ａからエンコーダデータ３２Ａを受信する。ケーブル長推定部１３Ａは、リクエスト信号の送信時刻およびエンコーダデータ（第１のエンコーダデータ）３２Ａの受信時刻（第１の受信時刻）に基づいて、基準時間からの第１の遅延時間である遅延時間２３Ａを算出する（ステップＳ１１０ａ）。このように、リクエスト信号の送信時刻は、基準時間に従ったものであるので、ケーブル長推定部１３Ａがリクエスト信号の送信時刻およびエンコーダデータ３２Ａの受信時刻に基づいて算出した遅延時間２３Ａが、基準時間からの遅延時間となる。ケーブル長推定部１３Ａは、遅延時間２３Ａをエンコーダ通信部１２Ａに送信する。
【００６７】
エンコーダ通信部１２Ｂは、上位コントローラから受信した基準時間に従って、エンコーダ３０Ｂにリクエスト信号（第２のリクエスト信号）を送信する。また、エンコーダ通信部１２Ｂは、リクエスト信号の送信時刻（第２の送信時刻）をケーブル長推定部１３Ｂに送信する。
【００６８】
ケーブル長推定部１３Ｂは、エンコーダ通信部１２Ｂからリクエスト信号の送信時刻を受信し、エンコーダ３０Ｂからエンコーダデータ３２Ｂを受信する。ケーブル長推定部１３Ｂは、リクエスト信号の送信時刻およびエンコーダデータ（第２のエンコーダデータ）３２Ｂの受信時刻（第２の受信時刻）に基づいて、基準時間からの第２の遅延時間である遅延時間２３Ｂを算出する（ステップＳ１１０ｂ）。このように、リクエスト信号の送信時刻は、基準時間に従ったものであるので、ケーブル長推定部１３Ｂがリクエスト信号の送信時刻およびエンコーダデータ３２Ｂの受信時刻に基づいて算出した遅延時間２３Ｂが、基準時間からの遅延時間となる。ケーブル長推定部１３Ｂは、遅延時間２３Ｂをエンコーダ通信部１２Ｂに送信する。
【００６９】
エンコーダ通信部１２Ａは、遅延時間２３Ａに基づいて、リクエスト信号をエンコーダ３０Ａに出力するタイミングを補正する（ステップＳ１２０ａ）。エンコーダ通信部１２Ｂは、遅延時間２３Ｂに基づいて、リクエスト信号をエンコーダ３０Ｂに出力するタイミングを補正する（ステップＳ１２０ｂ）。
【００７０】
エンコーダ３０Ａは、出力タイミングが補正されたリクエスト信号を受信すると、エンコーダデータ３２Ａをエンコーダ通信部１２Ａおよびケーブル長推定部１３Ａに送信する。これにより、エンコーダ通信部１２Ａは、エンコーダデータ３２Ａから動作検出値２１Ａを抽出し、抽出した動作検出値２１Ａを制御部１１Ａに送信する。制御部１１Ａは、動作検出値２１Ａに基づいて、モータ２０Ａを制御する（ステップＳ１３０ａ）。
【００７１】
同様に、エンコーダ３０Ｂは、出力タイミングが補正されたリクエスト信号を受信すると、エンコーダデータ３２Ｂをエンコーダ通信部１２Ｂおよびケーブル長推定部１３Ｂに送信する。これにより、エンコーダ通信部１２Ｂは、エンコーダデータ３２Ｂから動作検出値２１Ｂを抽出し、抽出した動作検出値２１Ｂを制御部１１Ｂに送信する。制御部１１Ｂは、動作検出値２１Ｂに基づいて、モータ２０Ｂを制御する（ステップＳ１３０ｂ）。
【００７２】
このように、エンコーダ通信部１２Ａが出力するリクエスト信号の出力タイミングは、基準時間に従ったものとなっているので、エンコーダ通信部１２Ａが受信するエンコーダデータ３２Ａの受信タイミングも基準時間に従ったものとなっている。したがって、制御部１１Ａによるモータ２０Ａの制御タイミングも基準時間に従ったものとなっている。
【００７３】
同様に、モータ駆動制御装置１０Ｂでは、エンコーダ通信部１２Ｂが出力するリクエスト信号の出力タイミングは、基準時間に従ったものとなる。したがって、エンコーダ通信部１２Ｂが受信するエンコーダデータ３２Ｂの受信タイミングも基準時間に従ったものとなる。したがって、制御部１１Ｂによるモータ２０Ｂの制御タイミングも基準時間に従ったものとなっている。
【００７４】
これにより、モータ２０Ａ，２０Ｂは、基準時間に従ったタイミングで同期しながら動作し、機械連結部４０を駆動する。
【００７５】
ここで、比較対象の連結制御システムについて説明する。比較対象の連結制御システムは、第３のモータ駆動制御装置および第４のモータ駆動制御装置によって、機械的に連結された複数のモータを駆動する。この比較対象の連結制御システムにおいて、第３のモータ駆動制御装置と第３のモータとを接続する第３のモータケーブルの距離と、第４のモータ駆動制御装置と第４のモータとを接続する第４のモータケーブルの距離とが異なる場合がある。この場合、第３のモータケーブルの抵抗値と、第４のモータケーブルの抵抗値とが異なるので、第３のモータの動作と第４のモータの動作との間に差異が発生する。
【００７６】
また、比較対象の連結制御システムにおいて、第３のモータ駆動制御装置と第３のエンコーダとを接続する第３のエンコーダケーブルの距離と、第４のモータ駆動制御装置と第４のエンコーダとを接続する第４のエンコーダケーブルの距離と、が異なる場合がある。この場合、第３のエンコーダから取得される動作検出値と、第４のエンコーダから取得される動作検出値とが同期せず、第３のモータの動作と第４のモータの動作との間に差異が発生する。
【００７７】
第３のモータの動作と第４のモータの動作との間に差異が発生すると、第３のモータおよび第４のモータに機械的に接続されている機械連結部に歪みが生じる。このため、機械的に連結された複数のモータを駆動する連結制御システムでは、機械連結部に歪みが生じないように複数のモータの動作が同期していることが望ましい。
【００７８】
実施の形態２では、機械連結部４０に対して機械的に連結されたモータ２０Ａ，２０Ｂを駆動するモータ駆動制御装置１０Ａ，１０Ｂが、遅延時間２３Ａ，２３Ｂに応じて、リクエスト信号の出力タイミング（動作検出値２１Ａ，２１Ｂの出力タイミング）を補正している。これにより、モータ駆動制御装置１０Ａ，１０Ｂは、モータ２０Ａ，２０Ｂの動作を同期させることができるので、機械連結部４０に発生する歪みを抑制することができる。
【００７９】
また、実施の形態２でも、実施の形態１と同様に、ケーブル抵抗推定部１４Ａ，１４Ｂは、モータケーブル抵抗値に基づいて電力制御パラメータを補正する。すなわち、ケーブル抵抗推定部１４Ａは、モータケーブル４１Ａのモータケーブル抵抗値に基づいて、制御部１１Ａが用いる電力制御パラメータを補正する。また、ケーブル抵抗推定部１４Ｂは、モータケーブル４１Ｂのモータケーブル抵抗値に基づいて、制御部１１Ｂが用いる電力制御パラメータを補正する。これにより、モータ駆動制御装置１０Ａ，１０Ｂにおけるモータ２０Ａ，２０Ｂの制御性能が同等なものとなるので、機械連結部４０に発生する歪みを抑制することができる。
【００８０】
なお、実施の形態２では、エンコーダ通信部１２Ａ，１２Ｂが動作検出値２１Ａ，２１Ｂの出力タイミングを補正しているが、この補正が無い場合であっても、連結制御システム２は、機械連結部４０の歪みを抑制することは可能である。すなわち、制御部１１Ａ，１１Ｂは、ケーブル抵抗推定部１４Ａ，１４Ｂで補正された電力制御パラメータを用いてモータ２０Ａ，２０Ｂを駆動制御するだけでも、機械連結部４０の歪みを抑制することは可能である。
【００８１】
このように実施の形態２では、モータ駆動制御装置１０Ａ，１０Ｂが、機械連結部４０に対して機械的に連結されているモータ２０Ａ，２０Ｂに対し、共通の基準時間に基づいてリクエスト信号の出力タイミングを補正している。これにより、モータ駆動制御装置１０Ａ，１０Ｂは、共通の基準時間に対応するタイミングでエンコーダデータ３２Ａ，３２Ｂを受信できるので、共通の基準時間に対応するタイミングで駆動電力３１Ａ，３１Ｂをモータ２０Ａ，２０Ｂに出力することができる。したがって、モータ２０Ａ，２０Ｂの動作が原因で発生する機械連結部４０の歪みを抑制することができる。
【００８２】
ここで、モータ駆動制御装置１０，１０Ａ，１０Ｂのハードウェア構成について説明する。なお、モータ駆動制御装置１０，１０Ａ，１０Ｂは、同様のハードウェア構成を有しているので、ここではモータ駆動制御装置１０Ａのハードウェア構成について説明する。
【００８３】
図５は、実施の形態２にかかるモータ駆動制御装置のハードウェア構成例を示す図である。モータ駆動制御装置１０Ａは、図５に示したプロセッサ３０１およびメモリ３０２により実現することができる。プロセッサ３０１の例は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰ（Digital  Signal  Processor）ともいう）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ３０２の例は、ＲＡＭ（Random  Access  Memory）またはＲＯＭ（Read  Only  Memory）である。
【００８４】
モータ駆動制御装置１０Ａは、プロセッサ３０１が、メモリ３０２で記憶されている、モータ駆動制御装置１０Ａの動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、モータ駆動制御装置１０Ａの手順または方法をコンピュータに実行させるものであるともいえる。メモリ３０２は、プロセッサ３０１が各種処理を実行する際の一時メモリにも使用される。
【００８５】
プロセッサ３０１が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な（non-transitory）記録媒体を有するコンピュータプログラムプロダクトであってもよい。プロセッサ３０１が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
【００８６】
また、モータ駆動制御装置１０Ａを専用のハードウェアで実現してもよい。また、モータ駆動制御装置１０Ａの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、制御部１１Ａは、モータ２０Ａを制御する制御回路で実現されてもよく、エンコーダ通信部１２Ａは、エンコーダ３０Ａとの間で通信を行うエンコーダ通信回路で実現されてもよい。また、ケーブル長推定部１３Ａは、エンコーダケーブル長２２Ａを推定するケーブル長推定回路で実現されてもよく、ケーブル抵抗推定部１４Ａは、モータケーブル抵抗値を推定するケーブル抵抗推定回路で実現されてもよい。
【００８７】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００８８】
１，１Ａ，１Ｂ  制御システム、２  連結制御システム、５，５Ａ，５Ｂ  駆動指令、１０，１０Ａ，１０Ｂ  モータ駆動制御装置、１１，１１Ａ，１１Ｂ  制御部、１２，１２Ａ，１２Ｂ  エンコーダ通信部、１３，１３Ａ，１３Ｂ  ケーブル長推定部、１４，１４Ａ，１４Ｂ  ケーブル抵抗推定部、２０，２０Ａ，２０Ｂ  モータ、２１，２１Ａ，２１Ｂ  動作検出値、２２，２２Ａ，２２Ｂ  エンコーダケーブル長、２３Ａ，２３Ｂ  遅延時間、３０，３０Ａ，３０Ｂ  エンコーダ、３１，３１Ａ，３１Ｂ  駆動電力、３２，３２Ａ，３２Ｂ  エンコーダデータ、４０  機械連結部、４１，４１Ａ，４１Ｂ  モータケーブル、５１，５１Ａ，５１Ｂ  エンコーダケーブル、３０１  プロセッサ、３０２  メモリ。
【要約】
モータ駆動制御装置（１０）であって、モータ（２０）に駆動電力（３１）を供給してモータ（２０）を制御する制御部（１１）と、エンコーダ（３０）との間で通信を実行するエンコーダ通信部（１２）と、エンコーダデータ（３２）を要求するリクエスト信号がエンコーダ（３０）に送信された送信時刻と、エンコーダ（３０）からエンコーダデータ（３２）を受信した受信時刻と、の差分に基づいて、エンコーダケーブル長（２２）を推定するケーブル長推定部（１３）と、エンコーダケーブル長（２２）に基づいて、駆動電力の供給を制御する際に用いられるパラメータである電力制御パラメータを補正するケーブル抵抗推定部（１４）と、を備え、制御部（１１）は、電力制御パラメータを用いて駆動電力（３１）の供給を制御する。【図１】
0006594600.tif 000002
【図２】
0006594600.tif 000003
【図３】
0006594600.tif 000004
【図４】
0006594600.tif 000005
【図５】
0006594600.tif 000006