(57)【特許請求の範囲】
【請求項１】
制御対象を制御する制御装置であって、
指令パターンから制御周期ごとに指令値を算出する指令値生成部と、
前記指令パターンから制御周期ごとに算出された前記指令値を補正する制御周期ごとの補正値を含む補正データの候補を算出する処理を複数回実行し、算出した複数の候補のうち、所定の評価関数によって最も評価の高い候補を補正データとして選択する学習制御部と、
前記指令値と前記補正データから補正後指令値を算出し、前記制御対象に対して補正後指令値を制御周期ごとに送信する制御部と、
前記制御対象の応答特性を測定するための特性測定用指令値を生成する特性測定用指令値生成部と、
前記学習制御部によって前記複数の候補が算出される際に用いられる補正シフト時間ｓｔを算出する補正シフト時間算出部と、
を備え、
前記補正シフト時間算出部は、前記特性測定用指令値生成部が生成した前記特性測定用指令値を前記制御対象に送信した制御周期から、前記制御対象から取得するフィードバック値において前記特性測定用指令値の影響が最も大きく現れた制御周期までの時間差を用いて前記補正シフト時間ｓｔを算出し、
Ｋおよびｎの各々を１以上の整数として、前記学習制御部は、Ｋ＋１回目に算出する候補における、ｎ制御周期目の前記補正値を、
（Ａ）Ｋ回目に算出した候補における、ｎ制御周期目の前記補正値と、
（Ｂ）Ｋ回目に算出した候補における、ｎに前記補正シフト時間ｓｔを加算したｎ＋ｓｔ制御周期目の前記補正値を用いて算出された前記補正後指令値に対するフィードバック値と、前記指令値生成部が前記ｎ＋ｓｔ制御周期目に算出した前記指令値との偏差と、
を用いて生成する
ことを特徴とする、制御装置。
【請求項２】
前記特性測定用指令値は、単位時間幅の短パルスであることを特徴とする、請求項１に記載の制御装置。
【請求項３】
前記特性測定用指令値は、ステップ関数であり、前記補正シフト時間算出部はステップ応答を算出することにより、前記補正シフト時間ｓｔを算出することを特徴とする、請求項１に記載の制御装置。
【請求項４】
前記特性測定用指令値は、ランプ関数であり、前記補正シフト時間算出部は、ランプ応答からステップ応答を算出し、前記ステップ応答から前記補正シフト時間ｓｔを算出することを特徴とする、請求項１に記載の制御装置。
【請求項５】
前記補正シフト時間ｓｔは、前記制御対象の前記応答特性から算出される実数であることを特徴とする、請求項１〜３のいずれか１項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御指令により制御対象を制御する制御装置において学習制御により制御性能を向上させる制御装置に関する。
【背景技術】
【０００２】
制御対象をモデル化し、制御対象のシステムの同定に用いたパラメータに基づいてフィードフォワード入力を計算する方式が一般的である。制御対象がパラメータ値を正確に算出することが困難である場合、実際に試行を繰り返しながらフィードフォワード入力を修正して目標とする出力を-実現する方式として学習制御方式が知られている。
【０００３】
制御対象に未知の要素を含む動的システムに制御において、特にロボット、モータを用いたメカニカルシステムの制御に学習制御が用いられている。
【０００４】
特許文献１に記載の数値制御装置においては、各周期毎に位置偏差データと補正データとを取り込み、この位置偏差データを用いた学習演算を行うことにより、同一形状を加工する任意の位置で学習制御を行い、位置偏差を取得することで高精度な加工を実現できる数値制御装置を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２２７１６３号公報（２００４年８月１２日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、学習制御によって制御性能を向上させるためには、学習制御に用いられるパラメータを制御対象に合わせて適切に設定する必要がある。
【０００７】
上記特許文献１に挙げられた制御装置においては、目標とする偏差量を少なくするような補正値が算出されるが、この補正値は制御対象の特性を加味したものではないため学習制御のためのパラメータが適切に設定されていないことに起因して、制御性能が目標性能に到達しない恐れがある。学習制御を行うパラメータの調整と補正値の演算を試行錯誤しながら行うこととなり、制御装置を含む制御システムの迅速な立上を阻害する。
【０００８】
本発明は、制御対象に合わせた学習制御に用いられるパラメータを容易に算出することができる制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明に係る制御装置は、制御対象を制御する制御装置であって、指令パターンから指令値を算出する指令値生成部と、前記指令パターンから算出された前記指令値を補正する補正値を含む補正データを繰り返し算出する学習制御部と、前記指令値と前記補正データから補正後指令値を算出し、前記制御対象に対して補正後指令値を送信する制御部と、を備え前記学習制御部は、前記制御対象に対して出力した前記補正後指令値に対するフィードバック値と、前記指令値生成部が演算した前記指令値との偏差と、前記制御対象の応答の遅れ特性とから、前記補正データを生成する、ことを特徴としている。
【００１０】
また、本発明に係る制御装置は、前記制御装置は、特性測定用指令値生成部と、前記学習制御を行う際に用いられる補正シフト時間算出部と、をさら備え、前記補正シフト時間算出部は、前記特性測定用指令値生成部が生成した特性測定用指令値に対するフィードバック値を取得し、特性測定用指令値とフィードバック値とを比較することにより前記補正シフト時間を算出するものであってもよい。
【００１１】
また、本発明に係る制御装置は、前記特性測定用指令値は、単位時間幅の短パルスであってもよい。
【００１２】
また、本発明に係る制御装置は、前記特性測定用指令値は、ステップ関数であり、前記補正シフト時間算出部はステップ応答を算出することにより、前記補正シフト時間を算出するものであってもよい。
【００１３】
また、本発明に係る制御装置は、前記特性測定用指令値は、ランプ関数であり、前記補正シフト時間算出部は、ランプ応答からステップ応答を算出し、前記ステップ応答から前記補正シフト時間を算出するものであってもよい。
【００１４】
また、本発明に係る制御装置は、前記補正シフト時間は、前記制御対象の前記応答特性から算出される実数であってもよい。
【発明の効果】
【００１５】
本発明によれば、学習制御を行う制御装置であって、学習制御に用いられる制御対象のパラメータを容易に求めることができ、制御性能を向上させる制御装置を得ることができる。
【図面の簡単な説明】
【００１６】
【図１】制御システムの全体構成を示す図である。
【図２】制御装置のハードウェア構成を示す図である。
【図３】制御装置１００の動作フローチャートを示す図である。
【図４】制御装置１００の動作フローチャートを示す図である。
【図５】制御装置１００の動作フローチャートを示す図である。
【図６】特性測定用パターンから補正シフト時間演算を示す図である。
【図７】学習制御パラメータを用いて学習制御を行った結果を示す図である。
【図８】異なる補正シフト時間で学習を行った結果を示す図である。
【図９】制御装置の機能構成を示すブロック図である。
【図１０】本実施の形態の制御装置で実行されるライブラリプログラムの一例を示す図である。
【図１１】本実施の形態の制御装置で実行されるライブラリプログラムの一例を示す図である。
【発明を実施するための形態】
【００１７】
以下に、本発明にかかる制御装置１００の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態の形態によりこの発明が限定されるものではない。
【００１８】
〔実施の形態１〕
<制御システムの全体構成>
図１は、本発明の実施の形態による制御装置１００を含む制御システムの構成を示すブロック図である。図において、当該制御システムは、本実施の形態にかかわる制御装置１００と制御対象２から構成される。制御装置１００は典型的には、ＰＬＣ（プログラマブルコントローラ）で構成され、制御出力を演算し制御対象を制御する。制御装置１００は所定の制御周期ごとに制御対象を制御した結果であるフィードバック値から制御出力を演算する。制御対象２は、典型的には駆動制御装置としてアクチュエータにより駆動される機械であり、制御装置１００が演算した制御出力が入力され、制御出力に応じて駆動される。制御出力によって駆動された制御対象は、エンコーダ（図示せず）等を介して駆動された位置・速度等をフィードバック値として制御装置１００へ出力する。
【００１９】
本発明の実施の形態については位置制御を行うことにより、指令パターンに応じた軌跡の制御を行う制御システムの実施例について以下に説明する。
【００２０】
本実施の形態では、モータで制御対象を駆動する例を取って説明を行うが制御装置１００によって制御が行われるものであればこの例に限定されず、例えば制御対象として温度を制御する温度制御装置であっても良い。
【００２１】
<制御装置のハードウェア構成>
次に、制御装置１００のハードウェア構成の構成について説明する。図２は、図１に示す制御装置１００のハードウェア構成の一例を示す模式図である。図２を参照して、制御装置１００は、予めインストールされたプログラムをプロセッサが実行することで、制御対象に対する制御を実現する。より具体的には、制御装置１００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などのプロセッサ１０２と、チップセット１０４と、メインメモリ１０６と、フラッシュメモリ１０８と、外部ネットワークコントローラ１１６と、メモリカードインターフェイス１１８と、内部バスコントローラ１２２と、フィールドバスコントローラ１２４とを含む。
【００２２】
プロセッサ１０２は、フラッシュメモリ１０８に格納されたシステムプログラム１１０およびユーザプログラム１１２を読み出して、メインメモリ１０６に展開して実行することで、制御対象に対する制御を実現する。システムプログラム１１０は、データの入出力処理や実行タイミング制御などの、制御装置１００の基本的な機能を提供するための命令コードを含む。本実施の形態においては、システムプログラム１１０は、ライブラリプログラム１１０Ａを含む。ライブラリプログラム１１０Ａは、汎用的な処理を再利用可能な形で格納されており、ユーザプログラム１１２の実行時に、必要に応じて呼び出される（call/invoke）。すなわち、ライブラリプログラム１１０Ａは、制御装置１００でのプログラム実行に用いられる。
【００２３】
ユーザプログラム１１２は、制御対象に応じて任意に設計され、シーケンス制御を実行するためのシーケンスプログラム１１２Ａおよびモーション制御を実行するためのモーションプログラム１１２Ｂを含む。これらのシーケンスプログラム１１２Ａおよびモーションプログラム１１２Ｂは、ライブラリプログラム１１０Ａを適宜呼び出すことで実行される。
【００２４】
チップセット１０４は、各コンポーネントを制御することで、制御装置１００全体としての処理を実現する。
【００２５】
内部バスコントローラ１２２は、制御装置１００と内部バスを通じて連結されるＩ／Ｏユニット１２６とデータを遣り取りするインターフェイスである。フィールドバスコントローラ１２４は、制御装置１００とフィールドバス１３０（図２）を通じて連結されるＩ／Ｏユニット１２８とデータを遣り取りするインターフェイスである。内部バスコントローラ１２２およびフィールドバスコントローラ１２４は、対応のＩ／Ｏユニット１２６および１２８にそれぞれ入力される状態値を取得するとともに、プロセッサ１０２での演算結果を対応のＩ／Ｏユニット１２６および１２８から指令値としてそれぞれ出力する。
【００２６】
外部ネットワークコントローラ１１６は、各種の有線／無線ネットワークを通じたデータの遣り取りを制御する。メモリカードインターフェイス１１８は、メモリカード１２０を着脱可能に構成されており、メモリカード１２０に対してデータを書込み、メモリカード１２０からデータを読出すことが可能になっている。
【００２７】
制御装置１００がプログラムを実行することで提供される機能の一部または全部を専用
のハードウェア回路として実装してもよい。
【００２８】
<学習制御の制御装置の動作>
図３は本実施の形態にかかわる学習制御プログラムが実行された時の制御装置１００の動作を示すフローチャートを示す。学習制御プログラムが実行されることにより、制御装置１００は試行前の偏差データを用いて望ましい出力を出すための補正値を繰り返し的に算出する。
【００２９】
Ｓ１では学習制御パラメータをメモリから読み出す。学習制御パラメータは制御装置１００が制御する制御対象の特性に応じて変更されるパラメータであり、後述する補正シフト時間を含む。
【００３０】
Ｓ２では指令パターンから指令値を算出する。ユーザプログラムで規定されている指令パターンから制御周期ごとにモータ制御装置へ出力する指令値を演算する。指令パターンとは、目標とする制御対象の動作を規定するパターンである。典型的には制御対象を特定の位置から特定の位置へ移動させる位置の時間的な変化を示すデータである。制御装置１００は指令パターンから制御周期毎にモータ制御装置へ与える位置指令値を演算する。
【００３１】
Ｓ３ではＫ回目の補正データを用いて、制御周期毎に出力する指令値を算出する。制御装置１００はメモリ上に格納された補正データを読み出し、読みだした補正データを指令値に加算することにより、指令値を補正し、補正後指令値を得る。
【００３２】
Ｓ４では制御周期毎に補正した補正後指令値をモータ制御装置へ出力する。制御装置１００はＳ３で補正された指令値を逐次メモリから読み出しモータ制御装置へ出力する。同時に制御対象からフィードバックデータを取得し、逐次メモリに格納する。
【００３３】
Ｓ５では格納したフィードバックデータと制御周期毎の指令値と学習制御パラメータからＫ＋１回目の補正データを算出する。制御装置１００は格納されたフィードバックデータと制御周期毎の指令値との偏差データを算出し、偏差データに読み込んだ学習制御パラメータから補正シフト時間を用いて算出することにより、後述する数式１からＫ＋１回目の補正データを算出する。これらの一連の処理を繰り返し的に実行することにより、目標とする制御対象の動作を規定する指令パターンに近づくような補正データを繰り返し算出する。
【００３４】
Ｓ６では、制御装置１００は学習の結果として算出したＫ回分の補正データを評価し、所定の評価関数によって最も適した補正データを選択し格納する。具体的には制御装置１００は、Ｋ回目までの位置偏差の二乗和を取得し、その位置偏差の二乗和の減少率が所定の値以下になった場合に学習制御を終了とする。学習結果の評価の仕方はこの手法に限らず、例えば所定回数の学習を行った結果、最も位置偏差の二乗和が少なくなる補正データを選択しても良い。このように目標値に近づく度合を学習制御の終了条件とする構成をとる場合は、繰り返し学習制御を行い補正データを求めたとしても目標とする指令値に近づくとは限らないため、無駄な学習制御演算を回避することができる。
【００３５】
<学習制御パラメータ算出実行時の制御装置の動作>
図４は、学習制御パラメータ算出プログラムが実行された時の制御装置１００の動作を示すフローチャートである。学習制御パラメータ算出プログラムが実行されると、制御装置１００は学習制御パラメータに含まれる、補正シフト時間を制御対象装置の応答特性のデータを取得することにより算出する。
【００３６】
Ｓ１１では学習制御パラメータ算出プログラムが実行されると、制御装置１００は特性計測用指令パターンを読み出し、特性計測用の指令値を算出する。ここで特性計測用指令パターンは、指令値に対する制御対象の応答特性を算出できる指令パターンであればどのような指令パターンであっても良く、単位パルス、ステップ関数、ランプ関数であっても良い。
【００３７】
Ｓ１２では、制御装置１００は制御周期毎に算出した特性計測用指令値を出力し、かつ制御周期毎にフィードバック値を取り込み格納する。
【００３８】
Ｓ１３では、制御装置１００は特性計測用指令値及び制御周期毎のフィードバック値から、制御対象の応答特性データを取得する。本発明の実施形態では単位パルスを出力した場合のフィードバック値から、応答特性データを取得する。制御装置１００は応答特性データを用いて補正シフト時間を算出する。応答特性データから算出する補正シフト時間については後述する。
【００３９】
制御装置１００は、補正シフト時間を算出し算出した補正シフト時間を学習制御パラメータとして格納する。
【００４０】
<学習結果を用いた制御プログラム実行時の制御装置の動作>
上述したように、制御装置１００は、学習制御パラメータ算出プログラム実行により、制御対象の応答特性のデータを取得し、学習制御パラメータを格納する。
【００４１】
制御装置１００は、学習制御プログラム実行により、学習制御パラメータ算出プログラム実行より、算出された学習制御パラメータを用いて、繰り返し的に補正データを算出すると共に、学習制御の結果として得られた補正データを格納する。（図５）
制御装置１００は、学習制御の結果として得られた補正データを用いて指令パターンから算出した指令値と学習制御の結果として得られた補正データを用いて指令値を算出し、制御周期毎に出力する。目標とする制御対象の動作を規定するパターンである指令パターンに対する位置偏差が最小となるような指令値を補正データを用いて算出する。
【００４２】
Ｓ３１では、制御装置１００は、指令パターンを読み出し指令値を生成する。
【００４３】
Ｓ３２では制御装置１００は、補正データを読み出し、指令値に加算し、補正された指令値を算出する。
【００４４】
Ｓ３３では、制御周期毎に算出した指令値をモータ制御装置へ出力する。制御周期毎に補正された指令値を制御対象へ繰り返し出力する。
【００４５】
<補正シフト時間>
図６に特性計測用パターンの例を示す。ここでは、単位時間幅パルスを特性計測用パターンとして出力する例を示す。図６は、単位時間幅パルスを入力し、その応答データを取得した例を示す。ここで単位時間とは制御周期の時間幅を指す。図６の例では制御周期が１ｍｓであるため１ｍｓ幅のパルスを出力した例で以下に説明をする。
【００４６】
学習制御が適用されるケースでは、通常サンプリング時刻毎に指令値が変化する。学習制御で求める補正データは、各サンプリング時刻の補正量の集まりであると考えられる。そのため本発明の実施形態による学習制御では、あるサンプリング時刻の偏差を用いて対応するサンプリング時刻の指令値に対する補正量を求めることにより、学習制御を通じて適切な補正データの算出が可能となる。
【００４７】
指令値の補正量は、サンプリング時刻毎のパルスになるので、単位時間幅パルスを入力したとき、影響が最も多く現れるサンプリング時刻の応答データから補正量を求める。
【００４８】
図６に示す例では、単位時間幅のパルスに対して、４ｍｓの応答遅れが生じていることが分かる、この値を補正シフト時間として設定する。
【００４９】
図７に補正シフト時間を用いた補正指令値を用いた制御結果について示す。図７に指令位置、実位置、補正後位置指令値の軌跡を示す。加えて図７には、指令位置と実位置の位置偏差量を示す。さらに図７には、指令値補正量の時間変化を示す。図７に示す通り、補正後位置指令値は、実位置と指令位置に対して、補正シフト時刻だけ遡ったサンプリング時刻の補正データを用いることにより、実位置と指令位置との偏差が最少化されていることが分かる。
【００５０】
図８に応答特性として図６の特性を有する制御対象について、異なる補正シフト時間を用いて学習制御を行った結果を示す。指令パターンから算出される補正前の指令値とフィードバック値の位置偏差の２乗和の減少率が５％以下になった場合に学習制御を打ち切る条件で算出した。
【００５１】
補正シフト時間として４ｍｓとして設定して学習制御を行った場合と、補正シフト時間として１ｍｓと６ｍｓとして設定した結果とを比較すると、補正シフト時間が制御対象の特性に合致した適切な値でない場合には、学習を繰り返し実行したとしても目標とする動作に近づかないことが分かる。
【００５２】
本発明においては、学習制御のパラメータの値である補正シフト時間を制御対象の特性値から算出することにより、適切な補正シフト時間を用いた学習制御を行うことにより指令パターンとして与えられる目標とする機械の動作へ近づけることができる。
【００５３】
<補正シフト時間算出の変形例>
補正シフト時間の算出にあたり、図５の例では単位時間幅パルスに対する応答データを取得した。これに対してステップ応答データＳ（ｎ），n=0-Nを測定して、次の計算式により、単位時間幅パルス指令値に対する応答データU(n)を求めても良い。
〔数２〕U(n) =  S(n) - S(n-1) ,  n=0〜N,
〔数３〕ただし、S(-1) = 0 
補正シフト時間の算出にあたり、ランプ応答データR(n), n=0〜Nを測定して次の計算によりステップ応答データS(n)を経由して、単位時間幅パルス指令値に対する応答データU(n)を求めても良い。
〔数４〕 S(n) = R(n) - R(n-1),    n=0〜N,  ただしR(-1)=0とする
〔数５〕 U(n) =  S(n) - S(n-1) ,  n=0〜N,  ただし S(-1)=0 とする
<制御装置の機能的構成>
図９に、本発明の実施の形態による制御装置１００の機能的構成を示す。制御装置１００は、指令値生成部２０と、学習制御部３０と、制御部１０と、特性測定用指令値生成部４０と補正シフト時間算出部５０とを備える。
【００５４】
指令値生成部２０は、指令パターンを読み出し、読み出した指令パターンに基づいて指令値を生成する。ここで指令パターンは制御システムが目標とする制御対象の動作軌跡を規定とする制御の目標とする値である。
【００５５】
制御部１０は、指令値生成部が生成した指令値と学習制御部が生成した補正データとを加算された補正後指令値を所定の制御周期毎に出力し、制御対象を駆動させる。
【００５６】
特性用測定用指令値生成部４０は、制御対象の特性を計測するための指令パターンを生成する。制御部は制御対象の特性測定を行う場合は、制御対象に対して所定の制御周期毎に特性測定用の指令値を制御対象へ出力する。
【００５７】
補正シフト時間算出部５０は、特性測定用指令値に基づいて制御対象を駆動したフィードアック値から、学習制御パラメータとして補正シフト時間を算出する。
【００５８】
学習制御部３０は、指令値生成部が生成した指令値とフィードバック値との差である偏差データを読み込み、指令値を補正する補正値を含む補正データ繰り返し的に演算する。
【００５９】
学習制御部３０は、指令値生成部２０が演算した指令値と、制御対象から入力されるフィードバック値との偏差を演算する。学習制御部３０はさらに、所定の制御周期ごとに、指令値生成部２０が演算した指令値とフィードバック値とから演算を行い、Ｋ回目の偏差データを用いてＫ＋１回目の指令値に対する補正データを演算する。ここで制御対象２に関する応答特性から補正シフト時間分だけシフトさせた偏差データを用いて、補正データを演算することにより、制御対象特性に応じた補正データを算出することが可能となる。
【００６０】
補正シフト時間は、制御周期の倍数であっても良いし、実数を用いても良い。
【００６１】
〔数式１〕 Rev(k+1)(n) = Rev(k)(n) + G * Err(k) (n+st)
k: 学習回数  0,1,2,…
n: サンプル時刻  0,1,2,….,N
Rev(k+1)(n): 学習k+1回目用のサンプル時刻nの補正データ
Rev(k)(n)： 学習k回目用のサンプル時刻nの補正データ
G : 学習の強さを決める係数
Err(k)(n+st): 学習k回目のサンプル時刻n+stの偏差データ
st: 補正シフト時間(制御周期の整数倍)
制御部１０は、指令値に対して補正値を加算して、制御対象へ出力する。
【００６２】
<ライブラリプログラムおよびユーザプログラム>
次に本実施の形態の制御装置が学習制御パラメータ算出、学習制御、動作軌跡制御を行う構成について説明する。一実施形態として、制御装置には、学習制御、学習制御パラメータ算出に適したライブラリプログラムが予め容易される。制御装置のユーザは、図示しない制御装置のサポート装置を用いて当該ライブラリプログラムを読みだすようなコードを作成することができる。このようなライブラリプログラムを制御装置メーカやサードパーティが予め提供しておくことで、短い時間で、制御対象に応じた学習制御パラメータの算出をするようなユーザプログラムを作成することが可能となる。すなわち、ユーザプログラムは、制御対象において典型的には動作軌跡を制御する制御装置において学習制御により指令パターンで与えられる補正データの算出に用いられる。
【００６３】
図１０は、本実施の形態の制御装置で実行されるライブラリプログラムの一例を示す。主として、学習制御ファンクションブロックと、学習制御パラメータ算出ファンクションブロックとを含む。これらのファンクションブロックの一部または全部は、その実行順序が到来すると、対応するライブラリプログラムを読み出し、読みだして実行することを指定するための命令である。言い換えれば、各ファンクションブロックに対応するプログラムの実態であるライブラリプログラムが予め容易されており、プロセッサは、プログラムに従って、ライブラリプログラムを適宜呼び出して実行することになる。以下、各ファンクションブロックの機能について説明する。
【００６４】
特性測定ＦＢは、制御対象の応答特性を算出するための指令値を生成し、生成した指令値に対すフィードバック値を入手することにより、制御対象の応答特性から学習制御パラメータとして補正シフト時間を導出する。
【００６５】
特性測定ＦＢの入力としては、特性測定モード起動と最大測定時間と指令値高さフィードバック値とが規定されている。特性測定モード起動は本ファンクションブロックを起動する信号であり、ＴＲＵＥとなると特性測定モードが開始され、特性測定中がＴＲＵＥとなる。特性測定モードでは、制御装置は特性指令用のパターンから指令値を算出し、制御対象へ出力すると共に、制御対象からのフィードバック値を逐次格納する。最大測定時間は、制御対象への指令値出力に対してフィードバック値を測定する最大時間であり、特性測定用指令値を出力した制御周期から最大時間だけ制御対象のフィードバック値を測定し格納する。指令値高さは制御対象へ出力する特性計測用指令値の高さを指定する入力であり、最大測定時間でかつ指令値高さを有する特性計測用指令値をパルス状、またはステップ状に出力する。
【００６６】
特性測定用ファンクションブロックは入力としてさらに、フィードバック値が規定される。フィードバック値は、最大測定時間として与えられた測定時間において、格納されたフィードバック値が入力される。特性計測用指令値とフィードバック値との時刻を比較することにより、補正シフト時間が出力される。
【００６７】
＜２．学習制御ファンクションブロック＞
図１１は学習制御ファンクションブロックの一例を示す。学習制御ファンクションブロックは、入力として学習制御起動が規定される。学習制御起動がＴＲＵＥとなると、学習制御中にＴＲＵＥが出力される。
【００６８】
学習制御ファンクションブロックは、さらに学習終了判定値、補正シフト時間、指令パターン（配列データ）、フィードバック値を入力として備える。学習終了判定値  は、判定条件として与えられる実数である。補正シフト時間は、特性測定ファンクションブロックで演算された値であり、制御周期の整数倍または実数で与えられる。指令パターンは配列データとして与えられる。フィードバック値は配列データとして与えられる。指令パターンとフィードバック値とから位置偏差の２乗和を算出し、評価関数値として出力する。
【００６９】
制御ファンクションブロックはさらに補正データを入力として規定される。補正データについては、指令パターンとフィードバック値との偏差に対して補正シフト時間分だけシフトした時間について加算することで補正データを出力し、補正データ配列を更新して出力する。補正データ配列の更新が完了すると出力として学習終了がＴＲＵＥとなり、学習制御ファンクションブロックの起動が終了する。
【００７０】
（利点）
上述したような学習制御ファンクションブロック、特性算出用ファンクションブロックおよびそれを実現するためのライブラリプログラムが提供されることで、作成工数をかけることなく、制御対象の特性に王板学習制御パラメータの算出と、学習制御を行うユーザプログラムが作成できる。
【００７１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００７２】
２  制御対象
１０  制御部
２０  指令値生成部
３０  学習制御部
４０  特性測定用指令値生成部
５０  補正シフト時間算出部
１００  制御装置
【図１】
0006544219.tif 000002
【図２】
0006544219.tif 000003
【図３】
0006544219.tif 000004
【図４】
0006544219.tif 000005
【図５】
0006544219.tif 000006
【図６】
0006544219.tif 000007
【図７】
0006544219.tif 000008
【図８】
0006544219.tif 000009
【図９】
0006544219.tif 000010
【図１０】
0006544219.tif 000011
【図１１】
0006544219.tif 000012