IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立産機システムの特許一覧

<>
  • 特開-モータ制御装置および方法 図1
  • 特開-モータ制御装置および方法 図2
  • 特開-モータ制御装置および方法 図3
  • 特開-モータ制御装置および方法 図4
  • 特開-モータ制御装置および方法 図5
  • 特開-モータ制御装置および方法 図6
  • 特開-モータ制御装置および方法 図7
  • 特開-モータ制御装置および方法 図8
  • 特開-モータ制御装置および方法 図9
  • 特開-モータ制御装置および方法 図10
  • 特開-モータ制御装置および方法 図11
  • 特開-モータ制御装置および方法 図12
  • 特開-モータ制御装置および方法 図13
  • 特開-モータ制御装置および方法 図14
  • 特開-モータ制御装置および方法 図15
  • 特開-モータ制御装置および方法 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024023060
(43)【公開日】2024-02-21
(54)【発明の名称】モータ制御装置および方法
(51)【国際特許分類】
   H02P 29/00 20160101AFI20240214BHJP
【FI】
H02P29/00
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022126614
(22)【出願日】2022-08-08
(71)【出願人】
【識別番号】502129933
【氏名又は名称】株式会社日立産機システム
(74)【代理人】
【識別番号】110002066
【氏名又は名称】弁理士法人筒井国際特許事務所
(72)【発明者】
【氏名】近藤 輝朋
(72)【発明者】
【氏名】上井 雄介
(72)【発明者】
【氏名】高野 裕理
【テーマコード(参考)】
5H501
【Fターム(参考)】
5H501AA22
5H501DD03
5H501DD04
5H501GG01
5H501GG02
5H501GG03
5H501GG04
5H501GG11
5H501JJ03
5H501JJ04
5H501JJ17
5H501JJ23
5H501JJ24
5H501LL07
5H501LL12
5H501LL35
5H501LL36
5H501MM09
(57)【要約】
【課題】モータ制御装置に関して、上位システムと下位システムとの間でも制御パラメータの調整を実現できる技術を提供する。
【解決手段】上位システム1のコントローラ10は、上位制御指令A1と、上位制御応答A4との演算に基づいた上位制御偏差A2を、第1制御器51に入力して、第1制御ゲインに基づいたサーボ制御指令A3を出力する。モータ制御装置であるサーボアンプ20は、第2制御器52と、電力変換器23と、制御ゲイン推定器27とを有する。モータ制御装置は、サーボ制御指令A3と、上位制御応答A4とに基づいた信号を第2制御器52に入力し、第2制御器52から出力された信号を電力変換器23に入力し、電力変換器23から出力された信号をモータ30に供給する。制御ゲイン推定器27は、サーボ制御指令A3と、上位制御偏差A2または上位制御指令A1とを入力し、第1制御ゲインを推定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
上位システムからのサーボ制御指令に基づいてモータを駆動制御するモータ制御装置であって、
前記上位システムは、サーボ制御の第1制御ゲインが設定されている第1制御器を有し、上位制御指令と、前記モータからの信号に基づいた上位制御応答との演算に基づいた上位制御偏差を、前記第1制御器に入力して、前記第1制御ゲインに基づいた前記サーボ制御指令を出力し、
前記モータ制御装置は、
前記サーボ制御のための第2制御器と、
前記モータを駆動する信号を生成する電力変換器と、
前記第1制御器の前記第1制御ゲインを推定する制御ゲイン推定器と、を有し、
前記モータ制御装置は、前記サーボ制御指令と、前記上位制御応答とに基づいた信号を前記第2制御器に入力し、前記第2制御器から出力された信号を前記電力変換器に入力し、前記電力変換器から出力された信号を前記モータに供給し、
前記制御ゲイン推定器は、前記サーボ制御指令と、前記上位制御偏差または前記上位制御指令とを入力し、前記第1制御ゲインを推定し、推定された結果として推定第1制御ゲインを出力する、
モータ制御装置。
【請求項2】
請求項1記載のモータ制御装置において、
ユーザ・インタフェースとして、前記モータ制御装置に接続または内蔵される計算機によって実現されるアプリケーションを備え、
前記アプリケーションは、前記推定第1制御ゲインをユーザに対し出力する、
モータ制御装置。
【請求項3】
請求項1記載のモータ制御装置において、
ユーザ・インタフェースとして、前記モータ制御装置に接続または内蔵される計算機によって実現されるアプリケーションを備え、
前記アプリケーションは、前記上位システムから前記上位制御偏差または前記上位制御指令をモニタし、モニタした前記上位制御偏差または前記上位制御指令をユーザに対し出力する、
モータ制御装置。
【請求項4】
請求項1記載のモータ制御装置において、
前記サーボ制御は、前記上位システムに位置の制御を有する場合と、速度の制御を有する場合とがあり、
ユーザ・インタフェースとして、前記モータ制御装置に接続または内蔵される計算機によって実現されるアプリケーションを備え、
前記アプリケーションは、ユーザの操作に基づいて、前記サーボ制御として前記位置の制御と前記速度の制御とから選択して設定し、
前記制御ゲイン推定器は、選択されたサーボ制御に対応した前記第1制御ゲインを推定する、
モータ制御装置。
【請求項5】
請求項1記載のモータ制御装置において、
前記サーボ制御のフィードバック制御方法は、P制御(比例制御)と、PI制御(比例積分制御)とを有し、
ユーザ・インタフェースとして、前記モータ制御装置に接続または内蔵される計算機によって実現されるアプリケーションを備え、
前記アプリケーションは、ユーザの操作に基づいて、前記サーボ制御のフィードバック制御方法として前記P制御と前記PI制御とから選択して設定し、
前記制御ゲイン推定器は、選択されたサーボ制御に対応した前記第1制御ゲインを推定する、
モータ制御装置。
【請求項6】
請求項1記載のモータ制御装置において、
前記サーボ制御は、前記上位システムに位置の制御を有する場合であり、
前記第1制御器は、位置制御器であり、
前記第2制御器は、速度制御器である、
モータ制御装置。
【請求項7】
請求項1記載のモータ制御装置において、
前記サーボ制御は、前記上位システムに速度の制御を有する場合であり、
前記第1制御器は、速度制御器であり、
前記第2制御器は、電流制御器である、
モータ制御装置。
【請求項8】
請求項1記載のモータ制御装置において、
前記サーボ制御のフィードバック制御方法は、P制御(比例制御)であり、
前記制御ゲイン推定部は、前記P制御に対応した処理として、前記サーボ制御指令の値を前記上位制御偏差の値によって除算して得られる比率により、前記第1制御ゲインとしてPゲインを推定する、
モータ制御装置。
【請求項9】
請求項1記載のモータ制御装置において、
前記サーボ制御のフィードバック制御方法は、PI制御(比例積分制御)であり、
前記制御ゲイン推定部は、前記PI制御に対応した処理として、
周期ごとに、前記サーボ制御指令と前記上位制御偏差とを保存して、逐次に比較し、
現在の周期の前記上位制御偏差の値が、最初の周期の前記上位制御偏差に等しくなるまで保存し続け、
等しくなった周期までの前記サーボ制御指令および前記上位制御偏差に基づいて、前記第1制御ゲインを構成するIゲインを推定し、
推定されたIゲインに基づいて、前記第1制御ゲインを構成するPゲインを推定する、
モータ制御装置。
【請求項10】
請求項1記載のモータ制御装置において、
前記上位制御指令の値をゼロにし、
前記上位制御応答を操作する上位応答操作器を有し、
前記上位応答操作器は、前記第2制御器から出力された信号に基づいて、前記上位制御応答の代わりに、操作された上位制御応答を生成し、操作上位制御応答として前記上位システムに出力し、
前記上位システムは、前記操作上位制御応答に基づいて、前記サーボ制御指令を出力し、
前記制御ゲイン推定器は、前記サーボ制御指令と前記操作上位制御応答とに基づいて、前記第1制御ゲインを推定する、
モータ制御装置。
【請求項11】
請求項1記載のモータ制御装置において、
前記モータの入出力に関する疑似運転を計算する疑似運転モジュールを有し、
前記疑似運転モジュールは、前記第2制御器から出力された信号に基づいて、前記上位制御応答の代わりに、前記疑似運転による上位制御応答を生成し、疑似上位制御応答として前記上位システムに出力し、
前記上位システムは、前記疑似上位制御応答に基づいて、疑似上位制御偏差から、前記サーボ制御指令を出力し、
前記制御ゲイン推定器は、前記サーボ制御指令と前記疑似上位制御偏差とに基づいて、前記第1制御ゲインを推定する、
モータ制御装置。
【請求項12】
上位システムからのサーボ制御指令に基づいてモータを駆動制御するモータ制御装置によって実行されるモータ制御方法であって、
前記上位システムは、サーボ制御の第1制御ゲインが設定されている第1制御器を有し、上位制御指令と、前記モータからの信号に基づいた上位制御応答との演算に基づいた上位制御偏差を、前記第1制御器に入力して、前記第1制御ゲインに基づいた前記サーボ制御指令を出力し、
前記モータ制御装置は、
前記サーボ制御のための第2制御器と、
前記モータを駆動する信号を生成する電力変換器と、
前記第1制御器の前記第1制御ゲインを推定する制御ゲイン推定器と、を有し、
前記モータ制御方法は、
前記モータ制御装置が、前記サーボ制御指令と、前記上位制御応答とに基づいた信号を前記第2制御器に入力し、前記第2制御器から出力された信号を前記電力変換器に入力し、前記電力変換器から出力された信号を前記モータに供給するステップと、
前記制御ゲイン推定器が、前記サーボ制御指令と、前記上位制御偏差または前記上位制御指令とを入力し、前記第1制御ゲインを推定し、推定された結果として推定第1制御ゲインを出力するステップと、
を有する、モータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モータを駆動制御するモータ制御装置、特に、サーボ制御を行うサーボアンプ等の技術に関する。
【背景技術】
【0002】
モータに接続されるモータ制御装置であるサーボアンプ(言い換えるとサーボドライバ等)は、モータのサーボ制御を行う機能を有する。なお、モータとサーボアンプとを含むシステムや装置を、サーボモータ、サーボモータシステム等と記載する場合もある。
【0003】
サーボモータが組み込まれるアプリケーションやシステムは数多く存在する。多くのアプリケーションでは、制御パラメータのフィッティングがされることにより、高効率や高応答にすることが図られる。しかし、制御パラメータのフィッティング(言い換えると調整や設定)には、専門の知識および経験を必要とする。また、専門の知識や経験を有する者がフィッティングを行っても、時間が長くかかる場合がある。
【0004】
サーボモータに関する制御パラメータの調整に関する先行技術例として、特開2003-204689号公報(特許文献1)が挙げられる。特許文献1には、サーボモータの制御装置として、「オートチューニング中にも位置決め時間を短くする」旨や、「サーボモータの動作状況に応じて制御ゲインを、モータ速度がある設定速度未満のとき位置比例ゲインKpと速度比例ゲインKvと推定負荷イナーシャJとがKp<(Kv/J)/4なる関係をもつように設定」する旨等が記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003-204689号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
モータ制御装置であるサーボアンプについて、制御パラメータのフィッティングや調整などを、より容易に行うことができるようにして、システムの高効率や高応答を実現することが求められる。
【0007】
特許文献1のような先行技術例では、サーボモータシステムが自システム内のみで制御パラメータの推定・調整を行う例については記載されているが、サーボモータシステムとアプリケーションやコントローラ等の上位システムとの間で制御パラメータの推定・調整を行う方法については記載されていない。
【0008】
説明上、サーボモータシステム(すなわちモータとサーボアンプ)、もしくはサーボアンプを下位システム(あるいは下位装置)とし、サーボモータシステムを使用・制御するアプリケーションやコントローラ等を上位システム(あるいは上位装置)とする。上位システムに下位システムが接続されることで、あるシステムの全体が構成される。このシステムでは、上位システムのコントローラなどは、下位システムのサーボアンプに指令を与え、その指令に従ってサーボアンプがモータを駆動制御する。
【0009】
しかしながら、上位システムと下位システムとで管轄が異なり、主に下位システムのみが操作可能である場合がある。その場合、下位システムであるサーボモータシステムによる制御パラメータの調整の有効範囲は、下位システム内のみに限られる。先行技術例のような方法の場合、下位システムであるサーボモータシステムが、上位システムとの間で制御パラメータの調整を行うことは難しい。管轄の例として、事業者は、サーボアンプを製造・販売し、保守などを行う。事業者に対し、顧客は、上位システム、例えば工場の製造システム等におけるアプリケーションやコントローラ(例えばプログラマブル・ロジック・コントローラ)などを管理する。
【0010】
また、上位システムのコントローラなどと、下位システムのサーボアンプとにおいて、制御パラメータの単位系が異なる場合もある。その場合、下位システムであるサーボモータシステムは、単位系が異なる制御パラメータについての調整は難しい。先行技術例の方法のようなパラメータのチューニングは、上位システムと下位システムとが連動する場合、言い換えると、上位システムも操作可能である場合で、かつ、それらの単位系が同じである場合のみに、有効な方法である。
【0011】
そのため、サーボアンプの制御パラメータの調整について、上位システムと下位システムとの管轄が別で、主に下位システムのみが操作可能である場合、下位システム内での調整に限られ、上位システムを考慮した範囲での制御パラメータの調整はできない。また、上位システムと下位システムとで単位系が不一致の場合、その不一致を解消するためには、制御パラメータの手動調整が必要になる場合があり、効率が良くない。
【0012】
本開示の目的は、サーボモータシステムのサーボアンプ、言い換えるとモータ制御装置に関して、管轄が異なる上位システムと下位システムとの間でも、制御パラメータの調整を実現できる技術を提供することである。
【課題を解決するための手段】
【0013】
本開示のうち代表的な実施の形態は以下に示す構成を有する。実施の形態のモータ制御装置は、上位システムからのサーボ制御指令に基づいてモータを駆動制御するモータ制御装置であって、前記上位システムは、サーボ制御の第1制御ゲインが設定されている第1制御器を有し、上位制御指令と、前記モータからの信号に基づいた上位制御応答との演算に基づいた上位制御偏差を、前記第1制御器に入力して、前記第1制御ゲインに基づいた前記サーボ制御指令を出力し、前記モータ制御装置は、前記サーボ制御のための第2制御器と、前記モータを駆動する信号を生成する電力変換器と、前記第1制御器の前記第1制御ゲインを推定する制御ゲイン推定器と、を有し、前記モータ制御装置は、前記サーボ制御指令と、前記上位制御応答とに基づいた信号を前記第2制御器に入力し、前記第2制御器から出力された信号を前記電力変換器に入力し、前記電力変換器から出力された信号を前記モータに供給し、前記制御ゲイン推定器は、前記サーボ制御指令と、前記上位制御偏差または前記上位制御指令とを入力し、前記第1制御ゲインを推定し、推定された結果として推定第1制御ゲインを出力する。
【発明の効果】
【0014】
本開示のうち代表的な実施の形態によれば、サーボモータシステムのサーボアンプ、言い換えるとモータ制御装置に関して、管轄が異なる上位システムと下位システムとの間でも、制御パラメータの調整を実現できる。上記した以外の課題、構成および効果等については、発明を実施するための形態において示される。
【図面の簡単な説明】
【0015】
図1】実施の形態1のモータ制御装置を含んだシステムの構成を示す。
図2】実施の形態1のモータ制御装置のコンピュータシステムとしての構成例を示す。
図3】実施の形態1のモータ制御装置に関するユーザ・インタフェースの構成例を示す。
図4】実施の形態1のモータ制御装置に関するユーザ・インタフェースの他の構成例を示す。
図5】実施の形態1のモータ制御装置に関するユーザ・インタフェースの他の構成例を示す。
図6】実施の形態1のモータ制御装置に関するグラフィカル・ユーザ・インタフェース(GUI)の画面表示例を示す。
図7】実施の形態1のモータ制御装置における、第1制御モードとして位置の制御の場合の機能ブロック構成例を示す。
図8】実施の形態1のモータ制御装置における、第2制御モードとして速度の制御の場合(特にコントローラに速度制御器のみ有する場合)の機能ブロック構成例を示す。
図9】実施の形態1のモータ制御装置における、第2制御モードとして速度の制御の場合(特にコントローラに位置制御器と速度制御器とを有する場合)の機能ブロック構成例を示す。
図10】実施の形態1のモータ制御装置における、位置の制御でP制御の場合の、制御ゲイン推定に関する処理フローを示す。
図11】実施の形態1のモータ制御装置における、位置の制御でPI制御の場合の、制御ゲイン推定に関する処理フローを示す。
図12】実施の形態1の変形例として、フルクローズド制御の構成例を示す。
図13】実施の形態1の変形例として、センサレス制御の構成例を示す。
図14】実施の形態2のモータ制御装置を含んだシステムの構成を示す。
図15】実施の形態2のモータ制御装置における、位置の制御でP制御の場合の、制御ゲイン推定に関する処理フローを示す。
図16】実施の形態2の変形例における、疑似運転モードの場合の機能ブロック構成例を示す。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本開示の実施の形態を詳細に説明する。図面において、同一部には原則として同一符号を付し、繰り返しの説明を省略する。図面において、構成要素の表現は、発明の理解を容易にするために、実際の位置、大きさ、形状、範囲等を表していない場合がある。
【0017】
説明上、プログラムによる処理について説明する場合に、プログラムや機能や処理部等を主体として説明する場合があるが、それらについてのハードウェアとしての主体は、プロセッサ、あるいはそのプロセッサ等で構成されるコントローラ、装置、計算機、システム等である。計算機は、プロセッサによって、適宜にメモリや通信インタフェース等の資源を用いながら、メモリ上に読み出されたプログラムに従った処理を実行する。これにより、所定の機能や処理部等が実現される。プロセッサは、例えばCPU/MPUやGPU等の半導体デバイス等で構成される。処理は、ソフトウェアプログラム処理に限らず、専用回路でも実装可能である。専用回路は、FPGA、ASIC、CPLD等が適用可能である。
【0018】
プログラムは、対象計算機に予めデータとしてインストールされていてもよいし、プログラムソースから対象計算機にデータとして配布されてもよい。プログラムソースは、通信網上のプログラム配布サーバでもよいし、非一過性のコンピュータ読み取り可能な記憶媒体、例えばメモリカードやディスクでもよい。プログラムは、複数のモジュールから構成されてもよい。コンピュータシステムは、複数台の装置によって構成されてもよい。コンピュータシステムは、クライアント・サーバシステム、クラウドコンピューティングシステム、IoTシステム等で構成されてもよい。各種のデータや情報は、例えばテーブルやリスト等の構造で構成されるが、これに限定されない。識別情報、識別子、ID、名前、番号等の表現は互いに置換可能である。
【0019】
<実施の形態1>
図1等を用いて、本開示の実施の形態1のモータ制御装置などについて説明する。
【0020】
[概要等]
図1のように、システム100の全体は、例えば、上位システム1であるコントローラ10と、下位システム2であるサーボモータシステムのサーボアンプ20(言い換えるとモータ制御装置)とが接続されて構成される。システム100は、例えば、モータ駆動の動力により製造プロセスなどの動作を実現する、電力変換システムや製造システムなどがある。
【0021】
上位システム1のコントローラ10は、上位制御指令A1を生成する。コントローラ10は、上位制御指令A1に基づいて、サーボ制御指令A3を生成し、サーボアンプ20に出力・送信し、サーボアンプ20は、そのサーボ制御指令A3を受信・入力して、モータ30を駆動制御する。
【0022】
より具体的には、コントローラ10は、下位システム2から、上位制御応答A4として、モータ30の位置や速度を表す応答を、フィードバック信号として受信・入力する。サーボアンプ20は、例えばモータ30に付いたエンコーダ31からの出力の信号に基づいて、モータ30の位置や速度を表す信号を、上位制御応答A4として生成・出力する。コントローラ10は、上位制御指令A1と上位制御応答A4とを演算器11で演算することで、上位制御偏差A2を生成する。コントローラ10は、第1制御ゲインが設定されている第1制御器51を有し、上位制御偏差A2に基づいて、第1制御器51によって、サーボ制御指令A3を生成・出力する。
【0023】
サーボアンプ20は、サーボ制御指令A3に基づいて、モータ30を駆動させるための電力変換を行う電力変換器23を有する。また、サーボアンプ20は、サーボ制御指令A3に基づいて、電力変換器23に信号を与えるための第2制御器52を有する。また、サーボアンプ20は、モータ30からの信号を微分する微分器26を有する。サーボアンプ20は、サーボ制御指令A3と、モータ30からの信号(上位制御応答A4)を微分した結果の信号A8とを演算器21で演算した結果の信号A5を、第2制御器52に入力する。第2制御器52から出力された信号A6が、電力変換器23に入力され、電力変換された信号A7が、モータ30に供給される。
【0024】
そして、サーボアンプ20は、上位制御偏差A2とサーボ制御指令A3とに基づいて、第1制御器51の第1制御ゲインを推定する、制御ゲイン推定器27を有する。サーボアンプ20は、上位制御偏差A2、または上位制御指令A1を取得する。制御ゲイン推定器27は、上位制御偏差A2または上位制御指令A1と、サーボ制御指令A3とに基づいて、第1制御器51の第1制御ゲインを推定し、推定結果として推定制御ゲインA10の信号を記憶・出力する。
【0025】
本発明者は、下位システム2のサーボアンプ20から、上位システム1のコントローラ10内の制御ゲインを推定するという新しい仕組みを考えた。実施の形態1のモータ変換装置は、下位システム2のサーボアンプ20であり、上位システム1のコントローラ10内の制御パラメータとして第1制御器51の制御ゲインを推定する。実施の形態1のモータ変換装置およびユーザU1は、推定制御ゲインA10を用いて、サーボアンプ20内の制御パラメータ、あるいは、上位システム1と下位システム2とを含むシステム100全体の制御パラメータの調整を行うことができる。
【0026】
[モータ制御装置を含むシステム]
図1は、実施の形態1のモータ制御装置を含んだシステム全体の構成を示す。図1のシステム100は、上位システム1と、下位システム2と、制御対象システム3とを有する。上位システム1は、コントローラ10を有する。下位システム2は、実施の形態1のモータ制御装置であるサーボアンプ20と、そのサーボアンプ20に電気的に接続されたモータ30とを有する。制御対象システム3は、モータ30に電気的に接続された制御対象装置35を有する。
【0027】
上位システム1のコントローラ10および下位システム2のサーボアンプ20は、殆どの部分がソフトウェアプログラム処理で実現される。コントローラ10は例えばプログラマブル・ロジック・コントローラで実装できる。
【0028】
制御対象装置35は、モータ30により駆動される駆動体である。制御対象装置35は、例えば顧客の工場に設置された産業機器が挙げられる。図1では、モータ30には、ロータリーエンコーダなどのエンコーダ31がセンサとして具備されている。なお、制御対象装置35にも、エンコーダなどのセンサが具備されてもよい(後述の変形例)。
【0029】
実施の形態1で、上位システム1と下位システム2とは、管轄が別であり、顧客は上位システム1を管理し、事業者は下位システム2を管理する。事業者は、サーボアンプ20の製造・販売、保守等を行う。事業者のユーザU1は、サーボアンプ20の制御パラメータの調整などを行う。事業者は、原則的に、顧客の上位システム1のコントローラ10等を操作できない。
【0030】
上位システム1のコントローラ10は、言い換えると上位制御装置である。コントローラ10は、サーボアンプ20およびモータ30が組み込まれるシステム100の制御部に相当し、サーボアンプ20にサーボ制御指令A3を与える。
【0031】
サーボアンプ20は、コントローラ10からのサーボ制御指令A3に基づいてモータ30をサーボ制御するモータ制御装置であるとともに、図示しない商用電源の供給電力からモータ30への供給電力への電力変換を行う電力変換装置に相当する。
【0032】
モータ30は、電力変換装置であるサーボアンプ20によって速度が調整可能であるモータであればよく、詳細な種類や構造を問わずに適用可能であり、例えば誘導モータ、PMモータ、リニアモータなどが適用可能である。
【0033】
サーボアンプ20とモータ30は、相互に対応する構成を有する。サーボアンプ20は、モータ30の構成に応じた制御パラメータの設定を有する。サーボアンプ20の内部に設定される制御パラメータは、モータ30を駆動および制御するために必要なパラメータである。
【0034】
なお、事業者は、サーボアンプ20のみを製品として顧客に提供してもよいし、サーボアンプ20とモータ30とを一体とした製品としてサーボアンプシステムを顧客に提供してもよい。
【0035】
図1のシステム100における下位システム2は、セミクローズド制御構成のモータ制御系に相当する。セミクローズド制御構成は、モータ30から信号(図1での上位制御応答A4。例えばエンコーダ31からの信号。)を得てモータ30の制御を行う構成である。それに対し、フルクローズド制御構成とは、モータ30ではなく制御対象装置35から信号を得てモータ30の制御を行う構成である。図1のようなセミクローズド制御構成に限定されず、後述する変形例のように、フルクローズド制御構成にも同様に適用可能である。
【0036】
また、図1では、電力変換に関して、サーボアンプ20とモータ30との間を三相交流の構成としているが、モータ30の制御にフィードバック制御を採用している場合、この電力変換は、三相交流の構成に限定されない。
【0037】
コントローラ10は、詳細には、位置の制御の機能を有する場合(後述の図7)と、速度の制御を有する場合(後述の図8図9)とがあり、どちらでもよい。サーボアンプ20は、どちらの場合にも対応できる機能を有する。
【0038】
このサーボアンプ20を含むシステム100には、ユーザ・インタフェース40を有する。ユーザ・インタフェース40は、システム100の所定の対象物および対象情報(少なくとも上位制御偏差A2および推定制御ゲインA10)をモニタする機能などを有する。また、ユーザ・インタフェース40は、ユーザU1による操作に基づいて、制御ゲイン推定器27の設定を行うことができる機能を有する。
【0039】
ユーザ・インタフェース40は、サーボアンプ20を利用するユーザU1に対するインタフェースとなる部分である。ユーザU1は、例えば事業者のうちのサーボアンプ20の保守管理等を行う人、特に、顧客のコントローラ10、および全体のシステム100に合わせて、サーボアンプ20の制御パラメータのフィッティング・調整を行う人、が挙げられる。
【0040】
コントローラ10は、演算器11と、フィードバック制御器として第1制御器51とを有する。コントローラ10は、図示しないが、プロセッサ、メモリ、通信インタフェース装置などを備え、プロセッサによるプログラム処理によって、演算器11および第1制御器51を実現する。
【0041】
図1のように、実施の形態1でのサーボアンプ20は、概要としては、モータ制御系に、すなわち演算器21、第2制御器52、および電力変換器23に、制御ゲイン推定器27が追加で具備されている構成を有する。制御ゲイン推定器27は、上位システム1のコントローラ10の第1制御器51に設定されている制御ゲインを推定する機能を有する部分である。
【0042】
図1中の各信号について説明する。コントローラ10は、上位制御指令A1を生成する。上位制御指令A1は、例えばモータ30の位置制御におけるモータ30の位置決めのための指令である。
【0043】
コントローラ10は、サーボアンプ20から、上位制御応答A4を入力する。上位制御応答A4は、エンコーダ31からの信号に基づいて、モータ30の現在の位置や速度などを表す応答信号である。コントローラ10は、演算器11によって、上位制御指令A1と上位制御応答A4との演算を行う。例えば、演算器11は、図面で「+」(正)の入力で示す上位制御指令A1に対し、「-」(負)の入力で示す上位制御応答A4を加算する演算を行い、演算結果として上位制御偏差A2を出力する。上位制御偏差A2は、フィードバック制御における誤差を表す信号である。
【0044】
コントローラ10は、第1制御器51によって、入力値として上位制御偏差A2を入力し、出力値としてサーボ制御指令A3を出力する。上位制御偏差A2に、第1制御器51の制御ゲイン(言い換えるとフィードバックゲイン)がかけられることで、サーボ制御指令A3が生成される。コントローラ10の第1制御器51から出力されたサーボ制御指令A3は、サーボアンプ20へ送信され、サーボアンプ20内に入力される。図1では、サーボ制御指令A3がコントローラ10の出力端子N3から出力され、サーボアンプ20の入力端子N6に入力される。
【0045】
サーボアンプ20は、コントローラ10から受信したサーボ制御指令A3を入力する。サーボアンプ20は、上位制御応答A4を微分器26で微分した結果の信号A8を得る。サーボアンプ20は、サーボ制御指令A3と信号A8とを演算器21で演算し、演算結果の信号A5を、第2制御器52への指令として入力する。演算器21は、図面で「+」(正)の入力で示すサーボ制御指令A3に対し、「-」(負)の入力で示す信号A8を加算する演算を行い、演算結果として信号A5を出力する。第2制御器52は、信号A5の入力に基づいて、制御した結果の信号A6を出力する。電力変換器23は、信号A6および供給電力に基づいて、モータ30を駆動させるための三相交流の信号A7を生成・出力する。その信号A7に基づいて、モータ30が駆動される。
【0046】
モータ30からコントローラ10およびサーボアンプ20へのフィードバック信号は、モータ30のエンコーダ31と微分器26とを用いて生成される。微分器26は、速度検出器に相当する。図1では、上位制御応答A4がサーボアンプ20の出力端子N7から出力されて、コントローラ10の入力端子N8から入力される。
【0047】
制御ゲイン推定器27は、サーボ制御指令A3を入力し、また、図1の例では、上位制御偏差A2または上位制御指令A1を入力する。制御ゲイン推定器27は、例えば、上位制御偏差A2とサーボ制御指令A3とに基づいて、第1制御器51の制御ゲインを推定する演算を行い、演算結果として、推定された制御ゲインの信号として推定制御ゲインA10を出力する。説明上、推定された制御ゲインを、推定制御ゲインと記載する。制御ゲイン推定器27は、サーボアンプ20内のメモリ資源に、推定制御ゲインA10を記憶する。
【0048】
また、ユーザ・インタフェース40は、制御ゲイン推定器27による推定制御ゲインA10をモニタする。例えば後述の図3のアプリケーション41は、制御ゲイン推定器27から出力された推定制御ゲインA10を取得し、計算機42のメモリ資源に記憶する。
【0049】
また、ユーザ・インタフェース40は、コントローラ10の上位制御偏差A2または上位制御指令A1をモニタしてもよい。例えば後述の図3のアプリケーション41は、コントローラ10の出力端子N2から上位制御偏差A2を取得してもよい。また、ユーザ・インタフェース40(例えばアプリケーション41)は、モニタによって取得した上位制御偏差A2を、制御ゲイン推定器27に送信して渡してもよい。あるいは、ユーザ・インタフェース40は、制御ゲイン推定器27が取得した上位制御偏差A2を、制御ゲイン推定器27から取得してもよい。
【0050】
[サーボアンプのコンピュータシステム]
図2は、サーボアンプ20のコンピュータシステムとしての構成例を示す。サーボアンプ20は、プロセッサ201、メモリ202、通信インタフェース装置203、バス204等を備えている。図1の電力変換器23は、プログラム処理および電気回路で実現され、他の部分はプログラム処理で実現される。
【0051】
プロセッサ201は、メモリ202の制御プログラム221に従った処理、言い換えるとソフトウェアプログラム処理や演算処理を実行する。これにより、図1のサーボアンプ20内の演算器21、第2制御器52、および制御ゲイン推定器27などの各部(電力変換器23の電気回路を除く)が実現される。言い換えると、プログラム処理の実行により、サーボアンプ20内には、制御ゲイン推定器27などの各部が、実行モジュールとして構成される。
【0052】
メモリ202には、制御プログラム221、設定情報222、処理データ223などが格納されている。制御プログラム221は、サーボアンプ20に所定の機能を実現させるために所定の処理を実行させるコンピュータプログラムである。設定情報222は、制御プログラム221に関する設定情報や、サーボアンプ20の制御パラメータ(例えば速度制御器の制御ゲイン)に関する設定情報である。処理データ223は、プロセッサ201が適宜に処理で扱うデータ・情報である。
【0053】
通信インタフェース装置203は、コントローラ10との通信インタフェースや、ユーザ・インタフェース40との通信インタフェースなどが実装された部分である。
【0054】
実施の形態1でのサーボアンプ20は、各機能のための各プログラム(図2での制御プログラム221)を備えており、選択される機能に対応したプログラムの処理を実行する。なお、各プログラムは、予めサーボアンプ20にインストールされていてもよいし、サーボアンプ20の外部から、例えば外部記憶媒体や外部サーバ装置などから、適宜に読み込まれてもよい。
【0055】
[フィードバック制御方法(サーボ制御)]
図1のシステム100において、コントローラ10の第1制御器51、およびサーボアンプ20の第2制御器52を含むモータ制御系における、サーボ制御方法やフィードバック制御方法は、予め設定される。ここでのサーボ制御方法とは、一般的な、位置制御、速度制御などの制御の区分、種類であり、フィードバック制御方法は、P制御やPI制御などの方法である(後述)。
【0056】
制御ゲイン推定器27での制御ゲインの推定に関して、前提となる、第1制御器51等のフィードバック制御方法は、実施の形態1の例では、ユーザ・インタフェース40を用いて、予めユーザU1により当該フィードバック制御方法(後述の制御モード)が選択されて設定される。ユーザ・インタフェース40のアプリケーション41(後述の図3)は、フィードバック制御方法を設定する機能も有している。それに対応して、制御ゲイン推定器27は、設定されたフィードバック制御方法での、第1制御器51の制御ゲインを推定する機能を有している。
【0057】
[ユーザ・インタフェース]
図3は、ユーザ・インタフェース40に関する構成例を示す。実施の形態1の例では、ユーザ・インタフェース40として、サーボアンプ20のアプリケーション41を有する。このアプリケーション41は、サーボアンプ20を利用するユーザU1のためにグラフィカル・ユーザ・インタフェース(GUI)等を提供するアプリケーションプログラム、言い換えるとサーボアンプ・アプリケーションである。このアプリケーション41は、例えばサーボアンプ20に接続されるPC等の計算機42に、内蔵、インストールされる。このアプリケーション41は、サーボアンプ20に制御パラメータを設定する機能を有するGUIを実装したアプリケーションプログラムに相当する。
【0058】
図3のユーザ・インタフェース40を構成するアプリケーション41は、ユーザU1による操作に基づいて、GUIを伴う画面を提供し、その画面を通じて、制御ゲイン推定器27の設定やモニタを行う機能、および推定実行指示などを入力する機能を有している。ユーザU1は、アプリケーション41によって提供されるGUI画面(後述の図6)で、各種の指示や設定の操作をすることができる。
【0059】
ユーザ・インタフェース40のアプリケーション41は、コントローラ10の上位制御偏差A2の信号をモニタする機能や、サーボアンプ20の制御ゲイン推定器27の推定制御ゲインA10を出力・モニタする機能を有する。また、ユーザ・インタフェース40のアプリケーション41は、サーボアンプ20およびモータ30に関する各種のパラメータ値を表示して確認できる機能を有する。さらに、ユーザ・インタフェース40のアプリケーション41は、モータ30の制御状態や異常などについてモニタする機能、例えば上位制御応答A4などの信号をモニタする機能を有すると、より好ましい。
【0060】
図3の構成例では、PC等による計算機42を有し、計算機42は、プロセッサ301、メモリ302、通信インタフェース装置303、入出力インタフェース装置304、バス305等を備える。プロセッサ301は、メモリ302の制御プログラム321に従った処理を実行する。これにより、アプリケーション41が実現される。アプリケーション41は、実行モジュールとして稼働する。
【0061】
メモリ302には、制御プログラム321、設定情報322、画面データ323などが格納されている。制御プログラム321は、計算機42に所定の機能を実現させるために所定の処理を実行させるコンピュータプログラムであり、アプリケーション41のプログラムを含む。設定情報322は、制御プログラム321に関する設定情報や、ユーザ設定情報である。画面データ323は、アプリケーション41がユーザU1に対し提供するGUI画面などのデータ・情報である。
【0062】
通信インタフェース装置303は、サーボアンプ20との通信インタフェースや、コントローラ10と通信する場合にはコントローラ10との通信インタフェースなどが実装された部分である。入出力インタフェース装置304には、入力装置306や出力装置307が外部接続されている。入力装置306は例えばキーボード、マウス、マイク等である。出力装置307は例えばディスプレイ、プリンタ、スピーカ等である。なお、計算機42に入出力装置が内蔵されていてもよい。
【0063】
図3の計算機42は、サーボアンプ20に対し、通信で接続されているが、近接配置でもよいし、遠隔配置でもよい。また、計算機42に対し、さらに、ユーザU1の使用するクライアント端末装置が通信で接続されてもよい。すなわち、ユーザ・インタフェース40は、計算機42をサーバ装置として、そのサーバである計算機42と、ユーザU1のクライアント端末装置との間での、クライアント・サーバシステムとして構成されてもよい。その場合、ユーザU1は、クライアント端末装置を操作して、サーバである計算機42にアクセスし、計算機42によるアプリケーション41を利用する。サーバである計算機42は、アプリケーション41による画面を生成し、画面データ等(例えばWebページ)をクライアント端末装置に送信する。クライアント端末装置は、受信した画面データ等に基づいて、ディスプレイにGUI画面を表示する。
【0064】
なお、図3のアプリケーション41がサーボアンプ20に内蔵、一体化された形態としてもよい。
【0065】
図4は、ユーザ・インタフェース40に関する他の構成例を示す。図4の例のように、ユーザ・インタフェース40は、サーボアンプ20に付属または内蔵する専用のデジタルオペレータ43で実装されてもよい。デジタルオペレータ43は、サーボアンプ20の入出力インタフェース、操作インタフェースとして設けられており、操作パネル、操作ボタン等を備える。デジタルオペレータ43は、例えば液晶表示画面、ボタン、LEDランプなどのデバイスを備える。なお、デジタルオペレータ43は、タッチパネル等を備えていてもよい。図4の例では、デジタルオペレータ43に、前述のユーザ・インタフェース40の機能が実装されている。デジタルオペレータ43は、図1図2のサーボアンプ20の構成要素と接続されている。
【0066】
デジタルオペレータ43は、液晶表示画面またはタッチパネルの画面にGUIや情報を表示してもよい。例えば、デジタルオペレータ43の画面に、上位制御偏差A2などのモニタ値や、推定制御ゲインA10などの出力情報が表示され、ユーザU1はそのような情報を見て確認できる。
【0067】
図5は、ユーザ・インタフェース40に関する他の構成例を示す。図5の例のように、上位システム1のコントローラ10に対し、外部接続または内蔵されるユーザ・インタフェース40が設けられてもよい。図5の例では、上位システム1のコントローラ10に対し、通信網45を介して外部接続される計算機44を有する。通信網45はLANでもよいしWANでもよい。事業者または顧客が管理する計算機44に、アプリケーション46がインストールされている。計算機44の構成は、図3の計算機42と同様に、PC等で実装でき、プロセッサ441、メモリ442、通信インタフェース装置443等を有し、詳細の図示を省略している。図5の例では、計算機44のアプリケーション46は、コントローラ10と通信して、コントローラ10から情報、例えば上位制御偏差A2をモニタする。
【0068】
また、コントローラ10がサーボアンプ20から通信で情報、例えば推定制御ゲインA10を取得し、計算機44に送信してもよい。
【0069】
また、ユーザ・インタフェース40の他の構成例としては、コントローラ10とサーボアンプ20との両方にそれぞれ通信で接続される計算機に、同様のアプリケーションが実装されてもよい。
【0070】
[GUI画面表示例]
図6は、ユーザ・インタフェース40のアプリケーション41(例えば図3)によってユーザU1に対し提供される、GUI画面の表示例を示す。図6の画面は、例えばWebページの態様で構成されて提供されるが、これに限定されない。図6の画面例では、項目601,602,603、ボタン604、項目605,606、ボタン607、項目608,609を有する。項目601では、制御モードの一種である「形態」が選択可能であり、ここでの「形態」は、実施の形態1の機能と後述する実施の形態2の機能とに相当する。本例では「形態=1」が選択されている。
【0071】
項目602は、制御として、位置の制御と速度の制御とから選択できる(後述)。項目603は、推定対象の制御ゲインを選択できる(後述)。例えば、図示のように、ユーザU1がカーソルを操作すると、項目603でリストボックスがプルダウン表示されて、リストボックスに選択肢としてP制御とPI制御とが表示され、それらから選択して入力できる。ボタン604は、指定された形態、制御、および制御ゲインで、制御ゲイン推定を実行させる指示を入力できる推定開始ボタンである。
【0072】
項目605および項目606は、制御ゲイン推定器27による制御ゲインの推定結果(すなわち推定制御ゲインA10)を表示する項目であり、項目605には推定Pゲインが表示され、項目606には推定Iゲインが表示される(後述)。また、ボタン607は、サーボアンプ20の制御パラメータを設定・調整する場合にそのための画面へ遷移できるボタンである。例えば、ユーザU1は、制御ゲイン推定結果を見て、制御パラメータを調整する場合には、ボタン607を押し、遷移された図示しない画面で、サーボアンプ20の制御パラメータ(例えば速度制御器の制御ゲイン等)を確認・調整することができる。
【0073】
項目608および項目609は、モニタ機能によるモニタ値を表示する項目であり、項目608には、サーボ制御指令A3の値が表示され、項目609には、上位制御偏差A2の値が表示される。モニタ値の表示は、各時点の値の直接的な表示としてもよいし、時系列でのグラフの表示などとしてもよい。
【0074】
[上位制御偏差A2のモニタ機能]
上位制御偏差A2をモニタする機能について、第1実装例としては、サーボアンプ20が自動的に上位制御偏差A2をモニタしてメモリ資源に記憶するのみの構成とし、モニタ値をユーザU1に対しては出力しない構成としてもよい。図1の例では、コントローラ10の演算器11の出力側で第1制御器51の入力前のノードを流れる上位制御偏差A2を、出力端子N2から出力し、その上位制御偏差A2の信号をサーボアンプ20の入力端子N5に入力し、その上位制御偏差A2の信号を制御ゲイン推定器27に入力する。制御ゲイン推定器27(実装上の実体としては図2のプロセッサ201)は、その上位制御偏差A2の信号を一旦メモリ資源(図2のメモリ202)に記憶し、その後に推定演算に利用する。
【0075】
第2実装例としては、上位制御偏差A2のモニタ値をユーザU1に対し出力してもよい。例えば図3のユーザ・インタフェース40のアプリケーション41が、コントローラ10の上位制御偏差A2の信号を、出力端子N2を通じてモニタする。ユーザ・インタフェース40のアプリケーション41は、モニタして取得した上位制御偏差A2の信号を、サーボアンプ20の制御ゲイン推定器27に送信してもよい。制御ゲイン推定器27は、その上位制御偏差A2の信号を受信・入力し、推定演算に利用する。また、ユーザ・インタフェース40のアプリケーション41は、モニタした上位制御偏差A2の信号の値を、ユーザU1に対するGUI画面(図6)に表示する。
【0076】
[制御ゲイン推定器の入力情報]
制御ゲイン推定器27に入力する情報、言い換えると信号やパラメータ値は、基本として、前述のサーボ制御指令A3と上位制御偏差A2との2つの情報である。図1では、サーボ制御指令A3は、コントローラ10からの出力として直接的に得られる。例えばコントローラ10の出力端子N3から出力されたサーボ制御指令A3が、サーボアンプ20の入力端子N6から入力され、入力されたサーボ制御指令A3が、制御ゲイン推定器27に入力される。上位制御偏差A2は、上述したように例えばコントローラ10の出力端子N2からの出力を、入力端子N5から入力することで得られる。あるいは、上述したように、上位制御偏差A2は、ユーザ・インタフェース40によるモニタを介して得られてもよい。
【0077】
制御ゲイン推定器27の入力に関する変形例としては以下としてもよい。変形例では、サーボアンプ20またはユーザ・インタフェース40がコントローラ10からモニタ・入力する情報の1つを、上位制御偏差A2の代わりに、上位制御指令A1とする。例えば、サーボアンプ20は、コントローラ10の出力端子N1から出力される上位制御指令A1を、入力端子N4から入力して取得する。例えば、制御ゲイン推定器27は、入力端子N4から入力された上位制御指令A1を入力し、メモリ資源に記憶する。あるいは、上位制御偏差A2の場合と同様に、ユーザ・インタフェース40のアプリケーション41が、一旦、コントローラ10から上位制御指令A1をモニタして取得し、その上位制御指令A1を、サーボアンプ20に送信して、制御ゲイン推定器27がその上位制御指令A1を取得してもよい。
【0078】
一方、上位制御応答A4は、サーボアンプ20内でも、モータ30のエンコーダ31からの出力・入力として得られている。制御ゲイン推定器27は、その上位制御応答A4の信号を得る。サーボアンプ20、特に制御ゲイン推定器27は、取得した上位制御指令A1と、上位制御応答A4との演算(演算器11と同様の演算)を行うことで、上位制御偏差A2と同様の値(説明上、上位制御偏差計算値とする)を得ることができる。そして、制御ゲイン推定器27は、その上位制御偏差計算値と、サーボ制御指令A3との2つを入力として用いて、制御ゲインの推定演算を同様に行うことができる。
【0079】
図1では、コントローラ10とサーボアンプ20との間で、上位制御偏差A2と上位制御指令A1との両方を出力・入力できる構成例を図示しているが、上述したように、それらの一方のみの出力・入力でもよい。また、図1では、コントローラ10とサーボアンプ20との間の通信48は、入出力端子(出力端子N3や入力端子N6など)を介した、通信ケーブルでの接続を含む通信として図示しているが、これに限定されない。また、図1の各種の信号の入出力端子は、通信インタフェースに応じた通信端子として、より少ない数の端子にまとめられてもよい。
【0080】
[サーボ制御]
以降では、実施の形態1のモータ変換装置であるサーボアンプ20でのサーボ制御に関して、位置の制御でのP制御、およびPI制御の例について順に説明する。位置の制御の場合(後述の図7)、第1制御器51は、位置制御器に相当し、位置の制御での制御ゲインが設定される。以降で説明する制御ゲイン推定計算の方法は、速度の制御の場合(後述の図8等)においても、同様に適用可能である。
【0081】
[位置制御と速度制御]
実施の形態1では、広義の位置制御と速度制御とを扱う。広義の位置制御とは、モータ30の位置、速度、および電流の制御である。広義の速度制御とは、モータ30の速度および電流の制御である。言い換えると、実施の形態1では、コントローラ10とサーボアンプ20によるモータ30のサーボ制御に関して、コントローラ10が狭義の位置の制御(位置制御器)を有し、サーボアンプ20が速度の制御(速度制御器)および電流の制御を有する第1の場合(後述の図7)と、コントローラ10が狭義の速度の制御(速度制御器)を有し、サーボアンプ20が電流の制御を有する第2の場合とを扱う。さらに、第2の場合は、コントローラ10が速度の制御(速度制御器)のみを有する場合(後述の図8)と、コントローラ10が位置の制御(位置制御器)および速度の制御(速度制御器)を有する場合(後述の図9)との二通りがあり、いずれであってもよい。それらは上位システム1の構成次第である。図7図9は広義の位置制御に該当し、図8は広義の速度制御に該当する。
【0082】
実施の形態1では、サーボアンプ20は、コントローラ10に有する制御内容として位置の制御と速度の制御とから選択して利用可能である機能を有する。その機能は、例えばユーザ・インタフェース40のアプリケーション41(図3)で実装されている。実施の形態1では、サーボアンプ20およびユーザ・インタフェース40は、制御モードとして、位置の制御に対応した第1制御モードと、速度の制御に対応した第2制御モードとを有する。ユーザU1は、GUI画面で、位置の制御に対応した第1制御モードと速度の制御に対応した第2制御モードとから選択して設定できる(図6の項目602)。これらの制御モードは、言い換えると、コントローラ10に有する制御内容や制御器(位置制御器や速度制御器)を選択するモードである。位置の制御に対応した第1制御モードは、コントローラ10が位置の制御(図7での位置制御器51A)を有する場合に適用するモードであり、速度の制御に対応した第2制御モードは、コントローラ10が速度の制御(図8図9での速度制御器51B)を有する場合に適用するモードである。
【0083】
実施の形態1では、サーボアンプ20は、指示・設定された制御モードに対応したプログラム処理を切り替えて実行する。これにより、図1の構成は、実行モジュールの構成として、例えば図7の位置制御の構成(コントローラ10に位置制御器51Aを有する第1の場合に対応して、サーボアンプ20に速度制御器52Bを有する構成)、または、例えば図8の速度制御の構成(コントローラ10に速度制御器51Bのみを有する第2の場合に対応して、サーボアンプ20に電流制御器52Cを有する構成)となる。
【0084】
[P制御とPI制御]
また、実施の形態1では、コントローラ10とサーボアンプ20によるモータ30のサーボ制御に関するフィードバック制御方法として、P制御とPI制御とを扱う。
【0085】
P制御は、PID制御のうちの比例制御(P:Proportionの略)であり、誤差に比例した操作を行う制御である。誤差は、図1での上位制御指令A1と上位制御応答A4との差分、上位制御偏差A2である。操作は、誤差に第1制御器51の制御ゲインをかけたものを操作量とする操作である。
【0086】
PI制御は、PID制御のうちのP制御とI制御(I:Integralの略)とを合わせた比例積分制御である。I制御は、誤差を積分する操作を行う制御である。操作は、誤差(上位制御偏差A2)を積分して制御ゲインをかけたものを操作量とする操作である。
【0087】
[第1制御モード:位置の制御]
図7は、図1の構成に基づいて、第1制御モードとしてコントローラ10が位置の制御を有する場合の機能ブロック構成を示す。なお、図7では、図1のモータ30、エンコーダ31、制御対象装置35、ユーザ・インタフェース40等の図示を省略している。図7は、上位システム1のコントローラ10がモータ30に関する位置の制御を行う場合であり、第1制御器51は位置制御器51Aとして構成されている。下位システム2のサーボアンプ20は、全体の位置制御(位置、速度および電流の制御)のうち、位置の制御以降の、速度および電流の制御を行う。そのために、サーボアンプ20では、第2制御器52が、速度制御器52Bとして構成されている。電力変換器23は電流制御を含んでいる。また電流制御は、一般的なベクトル制御とする。
【0088】
図7で、全体の位置制御は、主に位置制御器51A、速度制御系(速度制御器52Bを含む)の2つの要素を有し、これらの要素での制御が順に行われる。
【0089】
コントローラ10では、上位制御指令A1と上位制御応答A4とからの上位制御偏差A2に基づいて、位置制御器52Aで位置制御された結果のサーボ制御指令A3が出力され、サーボアンプ20に入力される。サーボアンプ20では、モータ30のエンコーダ31からの信号に基づいた上位制御応答A4を微分器26で微分した結果の信号A8が得られる。サーボアンプ20では、サーボ制御指令A3と、信号A8とが演算器21で演算された結果の信号A5が、速度制御器52Bに入力される。速度制御器52Bでは、信号A5に基づいて、速度制御およびトルク変換を含めた演算がされた結果の信号A12(電流指令値)が得られる。
【0090】
第1制御モードで、制御ゲイン推定器27は、サーボ制御指令A3と上位制御偏差A2とを入力し、位置制御器51AのPゲインを推定し、推定Pゲイン(推定制御ゲインA10)として記憶・出力する。
【0091】
[第2制御モード:速度の制御]
図8は、第2制御モードとしてコントローラ10が速度の制御を有する場合の機能ブロック構成の第1例を示す。図8では、第2制御モードに該当する第1例として、コントローラ10内に位置制御器を有さずに、コントローラ10が速度の制御(速度制御器51B)のみを有する場合の制御構成を示している。
【0092】
また、図9のように、第2制御モードは、第2例として、コントローラ10内に位置・速度制御系(位置制御器51Aおよび速度制御器51B)を有する場合もある。この第2例の場合の第1制御器51は速度制御器51Bとなり、第2制御器52は電流制御系80の電流制御器52Cになる。第2制御モードに関する機能は、図8の場合と図9の場合とで本質的に同様であるため、以下では主に図8を用いて説明する。
【0093】
第2制御モードにおけるゲイン推定は、コントローラ10の速度制御器51Bのゲインの推定である。速度制御以下の制御器構成としては、速度制御器51Bと電流制御系80との2つの要素を有する。電流制御系80は、演算器22、電流制御器52C、電力変換器23を有する。電流制御系80は、電流制御ループを有しており、一般的なベクトル制御で構成され、直交座標変換および2相3相変換等の演算が行われる。図8ではループのみを図示しており、直交座標変換や2相3相変換等の処理については省略している。第2制御モードでは、コントローラ10内の第1制御器51は、速度制御器51Bとして図示している。第2制御モードでは、サーボアンプ20内は、電流の制御を行う電流制御系80として構成されている。前述の第2制御器52は電流制御器52Cとして図示している。
【0094】
サーボアンプ20では、モータ30のエンコーダ31からの信号A4aは、コントローラ10内の微分器26(26C)で微分されて、モータ30の位置・速度を表す信号A4bとなり、その信号A4bが上位制御応答としてコントローラ10の演算器11に入力される。演算器11は、上位制御指令A21と信号A4bとを演算し、演算結果として上位制御偏差に相当する信号A22が、速度制御器51Bへ入力される。速度制御器51Bでは、信号A22に基づいた速度制御が演算されて、サーボ制御指令A11として出力される。
【0095】
サーボアンプ20では、サーボ制御指令A11が、電流制御系80に入力される。サーボ制御指令A11は電流指令値に相当する。電流制御系80では、演算器22は、信号A11と、信号A7bとを演算し、演算結果の信号A12が生成され、電流制御器52Cに入力される。電流制御器52Cでは、信号A12に基づいて、電流制御された結果の信号A13が得られ、電力変換器23に入力される。電流制御器52Cは、トルク変換を含む。電力変換器23が出力する信号A7bは、3相/2相変換後の電流応答値に相当する。
【0096】
第2制御モードでは、制御ゲイン推定器27は、速度制御器51Bの前段の上位制御偏差に相当する信号A22と、速度制御器51Bで速度制御された結果の信号A11(サーボ制御指令)とを入力する。制御ゲイン推定器27は、信号A22および信号A11を用いて、速度制御器51Bの制御ゲインを推定する。
【0097】
なお、図8では、信号A22と信号A11とを制御ゲイン推定器27に入力しているが、これに限らず可能であり、前述のユーザ・インタフェース40を用いて、例えば信号A21をモニタし、モニタにより取得した信号A21を、制御ゲイン推定器27に送信してもよい。
【0098】
第2制御モードで、制御ゲイン推定器27は、信号A22と信号A11とを入力し、速度制御器51Bの制御ゲインを推定し、推定制御ゲインA10として記憶・出力する。
【0099】
なお、図9では、コントローラ10は、入力側から順に、演算器11A、位置制御器51A、演算器11B、速度制御器51Bを有する。演算器11Aは、上位制御指令A21と、上位制御応答A4aとを演算し、上位制御偏差A22とする。位置制御器51Aは、上位制御偏差A22を入力し、位置制御が演算された結果の信号A23を出力する。演算器11Bは、位置制御器51Aの出力の信号A23と、微分器26(26C)で微分した結果の信号A4bとを演算し、信号A24とする。速度制御器51Bは、信号A24を入力し、速度制御が演算された結果の信号をサーボ制御指令A11として出力する。制御ゲイン推定器27は、信号A27とサーボ制御指令A11とを入力して、速度制御器51Bの制御ゲインを推定する。
【0100】
[P制御の場合の処理フロー]
位置の制御におけるP制御の場合について説明する。図7で第1制御器51が位置制御器51Aであり、かつ、P制御である例を説明する。制御ゲイン推定器27は、メモリ資源(例えば図2のメモリ202)から、サーボ制御指令A3と上位制御偏差A2とを読み出し、第1制御器51の制御ゲインの推定のための計算処理を実行する。
【0101】
ユーザU1は、ユーザ・インタフェース40のアプリケーション41により、図6のようなGUI画面で、第1制御モードである位置の制御を選択し(項目602)、フィードバック制御方法に対応した推定対象の制御ゲインとしてPゲインを選択する(項目603)。これに従い、制御ゲイン推定器27は、位置制御器51A(図7)のPゲインを推定する処理を行う。
【0102】
図10は、制御ゲイン推定器27の処理フロー例として、位置の制御でP制御の場合に、Pゲインを推定計算、導出する場合の処理フローを示す。図10の処理フローは、制御ゲイン推定器27(実体としては図2のプロセッサ201)による可能な処理動作のうちの一部の処理動作の例を示し、ステップS11~S15を有する。
【0103】
ステップS11で、サーボアンプ20の制御選択機能(ユーザ・インタフェース40のアプリケーション41の一部)により、例えばユーザU1の操作に基づいて図6のGUI画面を通じて、位置の制御かつP制御が選択され、推定処理実行開始が指示・入力される(ボタン604)。
【0104】
ステップS12で、コントローラ10は、上位制御指令A1を生成・入力し、上位制御指令A1と上位制御応答A4(ここでは位置応答)との演算の結果として上位制御偏差A2を得る。上位制御指令A1は、ここでは位置指令値に相当する。上位制御応答A4は、ここでは位置応答値に相当する。上位制御偏差A2は、ここでは位置偏差値に相当する。
【0105】
コントローラ10は、上位制御偏差A2から位置制御器51Aによってサーボ制御指令A3を出力する。サーボ制御指令A3は、ここでは速度制御指令に相当する。位置偏差値に、位置制御器51AでPゲインがかけられることで、速度指令値が生成されている。
【0106】
ステップS13で、サーボアンプ20の制御ゲイン推定器27は、コントローラ10から、上位制御偏差A2(位置偏差値)と、サーボ制御指令A3(速度指令値)とを取得・入力して、メモリ資源に保存する。なお、ここでの位置偏差値や速度指令値は、図1等と同様に、ユーザ・インタフェース40によるモニタによって取得されてもよいし、それらの情報がユーザU1に対し出力されてもよい。
【0107】
ステップS14で、制御ゲイン推定器27は、サーボ制御指令A3(速度指令値)を上位制御偏差A2(位置偏差値)によって除算することで、位置制御器51AのPゲインを推定し、推定結果である推定Pゲインを、推定制御ゲインA10として記憶・出力する。言い換えると、推定Pゲインは、計算式として、[速度指令値]/[位置偏差値]という比率の値として得られる。
【0108】
その後、サーボアンプ20およびユーザU1は、推定Pゲインを任意に利用できる。特に、ユーザU1は、GUI画面(図6)で、推定Pゲインを確認でき(項目605)、推定Pゲインを利用して、サーボアンプ20内の制御パラメータを調整できる(ボタン607)。例えば、推定Pゲインに基づいて、図7の速度制御器52B、および電流制御のパラメータを好適な値に設定可能である。ユーザU1は、上位システム1のコントローラ10内の実際の位置制御器51AのPゲインがわからなくても、推定Pゲインを利用することで、サーボアンプ20の制御パラメータを好適に調整できる。
【0109】
[PI制御の場合の処理フロー]
位置の制御におけるPI制御の場合について説明する。図7の第1制御器51が位置制御器51Aであり、かつ、PI制御である例を説明する。ユーザU1は、ユーザ・インタフェース40のアプリケーション41により、図6のような画面で、第1制御モードである位置の制御を選択し(項目602)、フィードバック制御方法に対応した推定対象の制御ゲインとしてPIゲインを選択する(項目603)。なお、PIゲインは、PゲインとIゲインとを有する。制御ゲイン推定器27は、このPIゲインを推定する。図7では、Pゲインと推定Pゲインの場合を図示しているが、PI制御の場合には、位置制御器51Aには、PIゲイン(PゲインおよびIゲイン)が設定されており、制御ゲイン推定器27は、このPIゲイン(PゲインおよびIゲイン)を推定する。
【0110】
図11は、制御ゲイン推定器27の処理フロー例として、位置の制御でPI制御の場合に、PIゲインを推定計算、導出する場合の処理フローを示す。図11のフローは、制御ゲイン推定器27(実体は図2のプロセッサ201)による可能な処理動作のうちの一部の処理動作の例を示し、ステップS21~S28を有する。
【0111】
ステップS21で、サーボアンプ20の制御選択機能により、位置の制御でPI制御が選択され、推定処理実行開始が指示入力される。
【0112】
ステップS22で、コントローラ10は、前述と同様に、上位制御指令A1としての位置指令値と上位制御応答A4としての位置応答値とから、上位制御偏差A2としての位置偏差値を得る。コントローラ10は、その位置偏差値に基づいて、位置制御器51Aによって、サーボ制御指令値A3として速度指令値を出力する。サーボアンプ20は、コントローラ10から、上位制御偏差A2としての位置偏差値と、サーボ制御指令値A3としての速度指令値とを入力・取得し、メモリ資源に保存する。ステップS22では、特に、最初のタイミング、周期(T=[0]とする)で、制御ゲイン推定器27は、上位制御偏差[0](=位置偏差値[0])と、サーボ制御指令[0](=速度指令値[0])とを入力・保存する。上記タイミング、周期は、フィードバック制御上の時間単位である。
【0113】
ステップS23では、制御ゲイン推定器27は、次の周期(T=[1]とする)で更新された、上位制御偏差[1](=位置偏差値[1])と、サーボ制御指令[1](=速度指令値[1])とを入力・保存する。
【0114】
ステップS24およびステップS25のループでは、同様に、制御ゲイン推定器27は、各周期(T=[2],……,[n]とする)での上位制御偏差(=位置偏差値)とサーボ制御指令(=速度指令値)とを入力・保存する。ステップS25は、ループの終了の条件であり、最後の周期(T=[n])での、上位制御偏差[n]が、最初の上位制御偏差[0]と同じになったかどうかの判断である。ステップS25の条件を満たした場合(YES)、ステップS26に遷移する。
【0115】
なお、上記上位制御偏差およびサーボ制御指令をメモリ資源に保存する仕組みは、詳細を限定せず、例えば、サーボアンプ20内のRAMへの格納でもよい。
【0116】
なお、後述の式2には、ステップS25までで取得した位置偏差値と速度指令値との関係の一例を示している。
【0117】
次に、ステップS26では、制御ゲイン推定器27は、ステップS24までに保存した値である、上位制御偏差[0]~[n]、およびサーボ制御指令[1]~[n]を、後述の式3に適用することで、Iゲイン(式3でのCi)を推定する。
【0118】
ステップS27では、制御ゲイン推定器27は、上位制御偏差[1]およびサーボ制御指令[1]を用いて、ステップS26で得た推定Iゲインを、後述の式4に適用することで、Pゲイン(式3でのCp)を推定する。
【0119】
ステップS28では、サーボアンプ20は、上記で得た推定Pゲインおよび推定Iゲインを、推定制御ゲインA10として、メモリ資源に記憶し、出力する。サーボアンプ20は、例えば、GUI画面(図6)で、ユーザU1に対し、推定Pゲインおよび推定Iゲインを表示する(項目605,606)。
【0120】
なお、上記制御ゲイン推定器27による制御ゲインの推定は、推定処理の開始の時点として、サーボアンプ20を含むシステム100のサーボ制御の動作の開始時としてもよいし、動作途中としてもよいし、いずれであっても、同じ計算式などの仕組みに基づいて、推定が可能である。
【0121】
[制御ゲイン推定に関する計算式]
上記制御ゲイン推定としてPI制御の場合に関する計算式を以下に示す。下記の式1~式4は、PIゲインの推定に関する計算式である。式1は、位置偏差値(Perr)と速度指令値(v)との関係を示す。式2は、式1に基づいて、各周期(T=[1]等)の関係を示す。式3は、Iゲイン(Ci)の推定の計算式を示す。式4は、Pゲイン(Cp)の推定の計算式を示す。
【0122】
【数1】
【0123】
【数2】
【0124】
【数3】
【0125】
【数4】
【0126】
Iゲイン(Ci)は、位置偏差値と速度指令値とから求められる。式2において、前回値を0の状態にして、1周期目(T=[1])に適当なPerr1の値が入力される。すると、下記の式5となる。Perr1=Perrnのとき、[1]-[n]とすると、式3は式6のようになる。入力値Perrmと出力値vnを保存することで、Iゲイン(Ci)の導出が可能である。Iゲイン(Ci)の導出後、式6で[1]にCiを代入することで、Pゲイン(Cp)の導出が可能である。上記のようにしてPIゲインが推定可能である。
【0127】
【数5】
【0128】
【数6】
【0129】
[推定制御ゲインの利用]
実施の形態1により得られた推定制御ゲインA10の情報は、任意に利用できる。利用例は以下である。第1例は、推定制御ゲインを、図1のシステム100の全体のパラメータ設定・調整に利用するものである。ユーザU1は、推定制御ゲインを、コントローラ10の第1制御器51の制御ゲインの設定・調整に利用してもよい。また、ユーザU1は、推定制御ゲインを、サーボアンプ20の第2制御器52(例えば速度制御器52B)の制御ゲインなどの設定・調整に利用してもよい。
【0130】
第2例は、推定制御ゲインを、別の制御に利用するものである。別の制御の例は、モータ30の制振制御が挙げられる。
【0131】
[実施の形態1の効果等]
以上説明したように、実施の形態1によれば、サーボアンプ20に関して、管轄が異なる上位システム1と下位システム2との間でも、制御パラメータの調整を実現できる。実施の形態1によれば、下位システム2のサーボアンプ20が、上位システム1のコントローラ10の第1制御器51の制御ゲインを推定することができる。これにより、サーボアンプ20またはユーザU1は、推定制御ゲインA10を用いて、サーボアンプ20を含むシステム100の制御パラメータの調整を、従来よりも容易に行うことができ、従来よりも好適な制御パラメータに調整可能となる。調整の結果、サーボアンプ20を含むシステム100の高効率や高応答を実現しやすくなる。また、実施の形態1によれば、制御ゲインを推定できるので、上位システム1のコントローラ10等と下位システム2のサーボアンプ20との間で制御パラメータに関する単位系が異なる場合でも、制御パラメータの調整を補助でき、手動調整などの手間を削減できる。
【0132】
上述したように、実施の形態1では、下位システム2のサーボアンプ20から、上位システム1のコントローラ10内の制御ゲインを推定するという新しい仕組みについて説明した。従来では、下位システム2から上位システム1のコントローラ10内の制御ゲインなどの情報を参照することは、難しい場合、または手間がかかる場合がある。実施の形態1によれば、下位システム2のサーボアンプ20が、上位システム1のコントローラ10内の制御ゲインを推定できる。また、下位システム2のサーボアンプ20が、サーボアンプ20の制御パラメータ(例えば第2制御部52の制御ゲイン)を設定する際に、従来では、コントローラ10の第1制御部51の制御ゲインがわからないので、上位システム1側に合わせた好適な制御パラメータの調整は難しい。実施の形態1によれば、推定制御ゲインを用いて、上位システム1側に合わせた好適な制御パラメータの調整が可能となる。
【0133】
[変形例:フルクローズド制御構成]
図12は、実施の形態1の変形例として、フルクローズド制御構成の場合を示す。フルクローズド制御構成の場合、サーボアンプ20は、制御対象システム3の制御対象装置35に設けられた外部エンコーダ36からの出力の信号A36を得る。サーボアンプ20は、合成器1101を有する。合成器1101は、モータ30のエンコーダ31からの出力の信号A31と、外部エンコーダ36からの出力の信号A36とを合成し、合成後の信号を、上位制御応答A4として出力する。合成後の信号は、例えばモータ30の位置応答と制御対象装置35の位置応答とを演算した内容となる。コントローラ10は、この合成後による上位制御応答A4fをフィードバック信号として入力し、前述と同様に、上位制御偏差A2を生成する。制御ゲイン推定器27は、前述と同様に、サーボ制御指令A3と例えば上位制御偏差A2とを用いて、第1制御器51の制御ゲインを推定する。図12のような変形例でも、実施の形態1と同様の効果が得られる。
【0134】
[変形例:センサレス制御]
図1の実施の形態1では、モータ30にエンコーダ31が付いている、エンコーダ付き制御の構成の場合を示した。これに限らず、変形例として、モータ30にエンコーダ31が付いていない構成、いわゆるセンサレス制御の構成としてもよい。図13は、実施の形態1の変形例として、センサレス制御構成の場合を示す。この構成では、モータ30にも、制御対象装置35にも、エンコーダは設けられていない。この構成では、サーボアンプ20は、前述の構成要素に加え、センサレス制御器1201を有する。センサレス制御器1201は、モータ30の位置応答を演算し、演算結果である位置応答を表す信号を、上位制御応答A4gとして出力する。コントローラ10は、この上位制御応答A4gをフィードバック信号として入力し、前述と同様に、上位制御偏差A2を生成する。サーボアンプ20は、上位制御応答A4gを微分器26で微分した結果の信号A8を生成し、サーボ制御指令A3と信号A8との演算結果の信号A5を第2制御器52に入力する。制御ゲイン推定器27は、前述と同様に、サーボ制御指令A3と例えば上位制御偏差A2とを用いて、第1制御器51の制御ゲインを推定する。図13のような変形例でも、実施の形態1と同様の効果が得られる。
【0135】
<実施の形態2>
図14等を用いて、実施の形態2のモータ制御装置等について説明する。実施の形態2の基本的な構成は実施の形態1と同様であり、以下では実施の形態2における実施の形態1とは異なる構成部分について主に説明する。
【0136】
実施の形態2は、実施の形態1に対し主に異なる構成部分としては以下を有する。実施の形態2では、コントローラ10内の上位制御指令A1(例えば位置制御指令)を意図的に0(ゼロ)にし、サーボアンプ20が上位制御応答A4を任意に操作する。ゼロにされた上位制御指令A1を、上位制御指令A1cとする。操作された上位制御応答A4を、操作上位制御応答A4cとする。ゼロにされた上位制御指令A1とは、言い換えると、時系列上の値として常にゼロ値(あるいはオフ信号)を有する信号である。また、このゼロ値は、所定の基準値やオフセット値などの一定値としてもよい。
【0137】
実施の形態2では、実施の形態1と同様にセミクローズド制御構成において、位置の制御におけるP制御を行う場合に、コントローラ10の第1制御器51の制御ゲインを推定する例について説明する。
【0138】
[モータ制御装置を含むシステム]
図14は、実施の形態2のモータ制御装置であるサーボアンプ20を含んだシステム100の構成を示す。図14の構成では、サーボアンプ20内には、実施の形態1と同様の構成要素の他に、上位応答操作器28が設けられている。
【0139】
上位応答操作器28は、モータ30のエンコーダ31から出力される信号である上位制御応答A4に関して、値を任意に操作して、操作上位制御応答A4cを生成し、コントローラ10に出力する処理を行う部分である。
【0140】
実施の形態2では、上位制御指令A1の値をゼロにし、かつ上位制御応答A4を任意に操作する、所定の制御モードを有する。ユーザU1は、ユーザ・インタフェース40のアプリケーション41で、GUI画面(図6の項目601)を通じて、この制御モード(「形態=2」)を選択できる。実施の形態1での機能を、「形態=1」とすると、実施の形態2での制御モードを、「形態=2」として設定できる。「形態=2」の制御モードの名前は、「ゼロ指令モード」「応答操作モード」など、任意に決めてもよい。
【0141】
実施の形態2でのこの制御モードでは、まず、上位制御指令A1の値がゼロにされる。上位制御指令A1の値をゼロにする手段は、各種があるが、例えば以下が適用できる。サーボアンプ20、またはユーザ・インタフェース40のアプリケーション41から、コントローラ10に、上位制御指令A1の値をゼロにするように要求してもよい。コントローラ10は、その要求を受けて、上位制御指令A1をゼロにする。システム100にこのような情報処理上の仕組みを有してもよい。あるいは、上位システム1のコントローラ10の管理者の人に対し、事業者のユーザU1から、上位制御指令A1の値をゼロにするように要求してもよい。管理者の人は、要求を受けて、コントローラ10に対し、上位制御指令A1の値をゼロにする操作を行う。このように、人の作業で実現してもよい。
【0142】
また、この制御モードでは、サーボアンプ20からモータ30に入力する指令と同様の指令を、上位応答操作器28に入力する。例えば、サーボアンプ20は、第2制御器52として速度制御器52Bの出力の信号A6を、上位応答操作器28に入力する。この信号A6に基づいて、上位応答操作器28は、モータ30の出力である上位制御応答A4に関する操作を行い、操作上位制御応答A4cとして出力する。
【0143】
上位応答操作器28による任意の操作は、予めプログラム処理で規定されてもよいし、ユーザ・インタフェース40のアプリケーション41を介して、ユーザU1による指示・設定として規定されてもよい。また、ユーザ・インタフェース40のアプリケーション41が、上位応答操作器28での操作上位制御応答A4cの操作の状態をモニタしてもよい。
【0144】
上位応答操作器28は、可能な範囲内で任意に操作された操作上位制御応答A4cを生成する。なお、モータ30からの実際の上位制御応答A4は、実施の形態1での機能、制御モードで利用される。
【0145】
なお、サーボアンプ20内において、操作上位制御応答A4cは、微分器26の出力の信号A8と同等値として得ることができる。
【0146】
コントローラ10は、操作上位制御応答A4cを入力し、演算器11は、ゼロとされた上位制御指令A1cと、操作上位制御応答A4cとを演算し、演算結果として上位制御偏差A2cを出力する。第1制御器51、例えば位置制御器51Aは、上位制御偏差A2cに基づいて、サーボ制御指令A3を出力する。サーボアンプ20は、サーボ制御指令A3を入力し、微分器26は、操作上位制御指令A4cを微分した結果の信号A8を出力する。演算器21は、サーボ制御指令A3と、信号A8とを演算し、演算結果の信号A5を出力する。第2制御器52、例えば速度制御器52Bは、信号A5に基づいて、信号A6を出力する。信号A6が上位応答操作器28に入力される。
【0147】
一方、制御ゲイン推定器27は、サーボ制御指令A3の他に、操作上位制御応答A4cを入力し、メモリ資源に記憶する。実施の形態2では、制御ゲイン推定器27は、上位制御偏差A2を入力・取得する必要は無い。それは、操作上位制御応答A4cが、上位制御偏差A2の内容と対応しているからである。制御ゲイン推定器27は、操作上位制御応答A4cとサーボ制御指令A3とを用いて、コントローラ10の第1制御器51の制御ゲインを推定し、推定制御ゲインA10を記憶・出力する。これにより、実施の形態2では、サーボアンプ20は、コントローラ10から上位制御偏差A2をモニタ、取得する必要無く、第1制御器51の制御ゲインを推定できる。
【0148】
[実施の形態2の処理フロー]
図15は、実施の形態2で、上記制御モードの場合に、制御ゲイン推定器27により制御ゲインを推定する処理フロー例を示す。本例は、位置の制御におけるP制御の場合にPゲインを推定する例を示す。
【0149】
まず、ステップS31で、「形態=2」の制御モードが選択され、また例えば位置の制御におけるP制御が選択され、推定処理実行開始が入力される。
【0150】
ステップS32で、サーボアンプ20(あるいはユーザU1)は、コントローラ10の上位制御指令A1である位置制御指令値を0(ゼロ)にする。
【0151】
ステップS33で、サーボアンプ20は、信号A6に基づいて、上位応答操作器28により、上位制御応答A4(例えば位置応答)を任意に操作する値として、操作上位制御応答A4cを生成・設定し、出力する。
【0152】
ステップS34で、コントローラ10は、ゼロである上位制御指令A1と操作上位制御応答A4cとを演算器11で演算して上位制御偏差A2を出力し、上位制御偏差A2から第1制御器51である位置制御器51Aによってサーボ制御指令A3を出力する。サーボアンプ20の制御ゲイン推定器27は、操作上位制御応答A4cと、サーボ制御指令A3とを入力し、メモリ資源に保存する。
【0153】
ステップS35で、制御ゲイン推定器27は、サーボ制御指令A3と操作上位制御応答A4cとを逐次比較する。制御ゲイン推定器27は、比較した操作上位制御応答A4cとサーボ制御指令A3の倍率により、推定Pゲインを計算する。倍率は、割り算として、[A4cの値]/[A3の値]である。この倍率ないし比率が推定Pゲインとして得られる。
【0154】
ステップS36で、サーボアンプ20は、推定Pゲインを記憶・出力する。
【0155】
[実施の形態2の効果等]
実施の形態2によれば、上位制御応答A4に関して任意に操作し、サーボアンプ20のみによって上位システム1のコントローラ10の制御ゲインを推定できる。上位システム1のコントローラ10側では、上位制御指令A1の値をゼロにするのみでよく、他の操作・作業は不要である。そのため、制御ゲインの推定に要する工数が削減できる。
【0156】
なお、実施の形態2は、実施の形態1の機能に「形態=2」の制御モードの機能が追加されている場合として説明したが、これに限定されず、この制御モードの機能のみが実装されている形態も勿論可能である。
【0157】
[変形例:疑似運転モード]
上記実施の形態2での上位制御応答A4の任意の操作に関して、例えばモータ30の疑似運転に対応した操作として行うことが考えられる。実施の形態2の変形例では、サーボアンプ20に、このようなモータ30の疑似運転に対応した処理を行う疑似運転モジュール(言い換えると疑似モータ部)が設けられる。この疑似運転モジュールは、モータ30の入出力を模した部分であり、モータ30の疑似的な出力(言い換えると疑似的な上位制御応答)を得る部分である。この疑似運転モジュールは、サーボアンプ20のプロセッサによる計算、プログラム処理により実現される。変形例では、制御モードの1つとして、モータ30の疑似運転を行うモード(例えば「疑似運転モード」と記載)を有する。
【0158】
図16は、実施の形態2の変形例における、疑似運転モードの場合の機能ブロック構成例を示す。図16の例では、位置の制御におけるP制御の場合を示す。コントローラ10の第1制御器51は位置制御器51Aとして構成され、サーボアンプ20の第2制御器52は速度制御器52Bとして構成されている。
【0159】
サーボアンプ20は、モニタ器1501、疑似運転モジュール1502を有する。モニタ器1501は、コントローラ10内の上位制御偏差A2と、出力のサーボ制御指令A3とをモニタする。例えば、コントローラ10の出力端子N2から出力された上位制御偏差A2が、入力端子N5から入力され、モニタ器1501に入力される。また、コントローラ10の出力端子N3から出力されたサーボ制御指令A3が、入力端子N6から入力され、モニタ器1501に入力される。モニタ器1501は、モニタとして取得した上位制御偏差A2およびサーボ制御指令A3をメモリ資源に保存し、制御ゲイン推定器27に提供する。制御ゲイン推定器27は、モニタによる上位制御偏差A2およびサーボ制御指令A3を用いて、コントローラ10の第1制御器51の制御ゲイン、例えば位置制御器51Aの制御ゲインを推定し、推定制御ゲインA10を記憶、出力する。
【0160】
また、この変形例では、制御モードの1つである疑似運転モードで、モータ30からの応答出力(上位制御応答A4)を用いるのではなく、疑似運転モジュール1502を用いて、モータ30の疑似運転による制御を行う。疑似運転モジュール1502は、プロセッサによるモータ20の動作のシミュレーションで実現される。
【0161】
疑似運転モジュール1502は、サーボ制御指令A3に基づいた、第2制御器52、例えば速度制御器52Aの出力の信号A6を入力し、モータ30の疑似運転の計算に基づいて、モータ30からの応答出力(上位制御応答A4)を模した出力として、疑似的な上位制御応答A4(疑似上位制御応答A4dとする)を生成し出力する。
【0162】
コントローラ10は、疑似上位制御応答A4dを入力し、演算器11は、上位制御指令A1と疑似上位制御応答A4dとを演算し、演算結果として疑似的な上位制御偏差A2(疑似上位制御偏差A2dとする)を生成する。第1制御器51、例えば位置制御器51Aは、疑似上位制御偏差A2dに基づいて疑似的なサーボ制御指令A3(疑似サーボ制御指令A3dとする)を出力する。
【0163】
一方、サーボアンプ20は、疑似上位制御応答A4dを微分器26で微分した結果の信号A8を生成し、演算器21で、疑似サーボ制御指令A3dと信号A8とを演算し、演算結果の信号A5を得る。信号A5に基づいて、第2制御器52、例えば速度制御器52Bは、速度制御された結果の信号A6を出力する。以降同様に、時系列上で、疑似運転モジュール1502を介して、モータ30の疑似運転と、それに対応したサーボ制御とが行われる。
【0164】
なお、疑似運転モードでは、モータ30を実際に駆動させる必要は無い。そのため、実際にモータ30へ信号A7を供給する必要は無い。例えば、サーボアンプ20は、プログラム処理上で、信号A7をオフとする、あるいは、演算器22以降の処理上のスイッチをオフにする。
【0165】
上記疑似運転中に、制御ゲイン推定器27は、第1制御器51の制御ゲイン、例えば位置制御器51Aの制御ゲインを推定する。なお、図16では、ユーザ・インタフェース40等の図示を省略しているが、前述と同様に、ユーザ・インタフェース40のアプリケーション41を用いて、モニタ値や推定制御ゲインA10などをユーザU1に対し出力可能である。また、ユーザ・インタフェース40のアプリケーション41を用いて、疑似運転モジュール1502の設定や状態出力を行ってもよい。
【0166】
この変形例によれば、モータ30を駆動させる必要無く、モータ30の疑似運転に基づいて、コントローラ10の制御ゲインを推定できる。
【0167】
なお、図14の実施の形態2での上位応答操作器28に、図16の変形例の疑似運転モジュール1502を内蔵した構成としてもよい。その場合、上位応答操作器28は、疑似運転モジュール1502の疑似運転に基づいて、操作上位制御応答A4cを生成する。
【0168】
<他の変形例>
他の変形例として以下も可能である。図1のユーザ・インタフェース40、図3のアプリケーション41について、サーボアンプ20に内蔵された形態としてもよいし、一部が上位システム10内に内蔵された形態としてもよい。例えば、事業者が顧客に了承をもらって、コントローラ10内に、情報・信号(例えば上位制御偏差A2や上位制御指令A1)のモニタのためのモニタプログラムをインストールする。モニタプログラムは、プロセッサによる処理によりモニタ器として機能する。モニタ器は、例えば上位制御偏差A2の信号をモニタし、サーボアンプ20あるいはアプリケーション41に送信する。これにより、サーボアンプ20あるいはアプリケーション41は、例えば上位制御偏差A2の信号をモニタ、取得できる。
【0169】
以上、本開示の実施の形態について具体的に説明したが、前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。各実施の形態は、必須構成要素を除き、構成要素の追加・削除・置換などが可能である。特に限定しない場合、各構成要素は、単数でも複数でもよい。各実施の形態を組み合わせた形態も可能である。
【符号の説明】
【0170】
1…上位システム、2…下位システム、3…制御対象システム、10…コントローラ、11…演算器、20…サーボアンプ、21…演算器、23…電力変換器、26…微分器、27…制御ゲイン推定器、30…モータ、31…エンコーダ、35…制御対象装置、40…ユーザ・インタフェース、51…第1制御器、52…第2制御器、U1…ユーザ,A1…上位制御指令、A2…上位制御偏差、A3…サーボ制御指令、A4…上位制御応答、A10…推定制御ゲイン。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16