(57)【要約】【課題】時系列データの収集に要する時間と労力を削減し、制御やモデリングに関する専門的知識を不要とする。【解決手段】制御対象モデル生成装置は、制御対象の数式モデルを記憶するモデル記憶部１と、コントローラアルゴリズムを記憶するコントローラ記憶部２と、制御系のシミュレーションを実行するシミュレーション演算部５と、実際の制御対象の制御結果から求められた実制御特徴量を記憶する実制御特徴量記憶部７と、モデル制御特徴量をシミュレーションの結果から算出するモデル制御特徴量演算部８と、実制御特徴量とモデル制御特徴量との近さを示す評価関数値を演算する評価関数演算部９と、制御対象モデルパラメータを逐次変更しながらシミュレーションを実行させ、評価関数値が最適値となる制御対象モデルパラメータを求める制御対象モデルパラメータ探索演算部１０とを備える。【選択図】  図１
2006127079.tif 000002
【特許請求の範囲】
【請求項１】
制御対象の数式モデルが持つ制御対象モデルパラメータの値を探索することにより制御対象モデルを生成する制御対象モデル生成装置であって、
制御対象の数式モデルを予め記憶するモデル記憶部と、
コントローラを仮想的に生成するコントローラアルゴリズムを予め記憶するコントローラ記憶部と、
前記数式モデルによって表される制御対象と前記コントローラアルゴリズムによって表されるコントローラとからなる制御系についてその制御応答を模擬するシミュレーションを実行するシミュレーション演算部と、
前記シミュレーションの結果を評価する際に用いる制御特徴量を制御特徴量評価項目として予め記憶する制御特徴量評価項目記憶部と、
実際の制御対象の制御結果から求められた、前記制御特徴量評価項目に該当する実制御特徴量を予め記憶する実制御特徴量記憶部と、
前記制御特徴量評価項目に該当するモデル制御特徴量を前記シミュレーションの結果に基づいて算出するモデル制御特徴量演算部と、
前記実制御特徴量と前記モデル制御特徴量との近さを示す評価関数値を演算する評価関数演算部と、
前記数式モデルに設定する制御対象モデルパラメータの値を逐次変更しながら前記シミュレーション演算部に前記シミュレーションを実行させ、前記評価関数値が最適値となる制御対象モデルパラメータの値をモデルパラメータ探索結果として確定する制御対象モデルパラメータ探索演算部とを備えることを特徴とする制御対象モデル生成装置。
【請求項２】
請求項１記載の制御対象モデル生成装置において、
前記コントローラは、ＰＩＤコントローラであることを特徴とする制御対象モデル生成装置。
【請求項３】
請求項１記載の制御対象モデル生成装置において、
前記制御特徴量は、目標値到達時間、オーバーシュート量、ハンチング周期のうちの少なくとも１つであることを特徴とする制御対象モデル生成装置。
【請求項４】
制御対象の数式モデルが持つ制御対象モデルパラメータの値を探索することにより制御対象モデルを生成する制御対象モデル生成方法であって、
予め記憶している数式モデルによって表される制御対象と予め記憶しているコントローラアルゴリズムによって表されるコントローラとからなる制御系についてその制御応答を模擬するシミュレーションを実行するシミュレーション演算手順と、
前記シミュレーションの結果を評価する際に用いる制御特徴量を制御特徴量評価項目として予め記憶し、この制御特徴量評価項目に該当するモデル制御特徴量を前記シミュレーションの結果に基づいて算出するモデル制御特徴量演算手順と、
実際の制御対象の制御結果から予め求められた、前記制御特徴量評価項目に該当する実制御特徴量と、前記モデル制御特徴量との近さを示す評価関数値を演算する評価関数演算手順と、
前記数式モデルに設定する制御対象モデルパラメータの値を逐次変更しながら前記シミュレーションを実行させ、前記評価関数値が最適値となる制御対象モデルパラメータの値をモデルパラメータ探索結果として確定する制御対象モデルパラメータ探索演算手順とを備えることを特徴とする制御対象モデル生成方法。
【請求項５】
請求項４記載の制御対象モデル生成方法において、
前記コントローラは、ＰＩＤコントローラであることを特徴とする制御対象モデル生成方法。
【請求項６】
請求項４記載の制御対象モデル生成方法において、
前記制御特徴量は、目標値到達時間、オーバーシュート量、ハンチング周期のうちの少なくとも１つであることを特徴とする制御対象モデル生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象のモデルを生成する制御対象モデル生成装置および生成方法に関するものである。
【背景技術】
【０００２】
コントローラの制御パラメータを調整する場合、作業者が経験と知識を使って制御パラメータを調整する手順と、パラメータを設定したコントローラを用いて実際に制御対象を制御する手順と、コントローラが出力した操作量に応じて制御対象が出力する制御量を検出する手順と、この制御量を制御の目標値と比較する手順といった一連の手順を繰り返すことで、最適な制御パラメータを決定する方法がある。
【０００３】
この方法は多大な労力と調整コストがかかるため、これに代わる方法として制御対象の次数を含むプロセスパラメータ（プロセスゲイン、プロセス時定数など）を分析し、制御パラメータを確定する手順も実施されている。この手順では、制御対象の特性を数式モデルで近似するモデリングステップを実施し、そのモデリング結果を参照して制御パラメータを決定するが、従来は専門的な考察や作業が必要とされ、誰もが用いることができるというものではなかった。
【０００４】
かかる事情に鑑みて、コントローラから制御対象に出力された操作量の時系列データと、それに応じて制御対象から出力された制御量の時系列データとを取得することで、制御対象の数式モデルを自動的に生成し、この数式モデルを用いたシミュレーションにより制御パラメータを変更したときの制御特性を確認しながら、コントローラの制御パラメータを簡単に調整できるようにした制御パラメータ調整技術が特許文献１に開示されている。
【０００５】
なお、出願人は、本明細書に記載した先行技術文献情報で特定される先行技術文献以外には、本発明に関連する先行技術文献を出願時までに発見するには至らなかった。
【特許文献１】特開２００４−３８４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示された制御パラメータ調整技術により制御対象のモデリングに精通した者でなくても制御対象の数式モデルを生成し、これを用いてコントローラの制御パラメータを簡単に調整できるようになったが、数式モデルの自動生成にあたっては、制御対象に出力された操作量ＭＶの時系列データと、それに応じて制御対象から出力された制御量ＰＶの時系列データとを同じデータ収集周期で事前に収集し、電子媒体に記憶するデータ収集装置が必要となる。
【０００７】
しかし、一般には、通常運転の際に２つの時系列データを共に常時収集する必要のあるコントローラは稀であり、データ収集装置がコントローラの構成要素として予め設置されていることは少ない。よって、数式モデルの生成を行うにはデータ収集装置を一時的に設置して、２つの時系列データを収集した後に、制御対象の数式モデルを生成するというステップをとることになり、制御やモデリングに関する専門的な知識は必要としないが、数式モデル生成に必要なデータ収集に時間と労力がかかるという問題点があった。また、コントローラのハード面の制約やコントローラが設置されている場所の制約により、データ収集装置の持込みや設置ができず、結果的に数式モデル生成による制御パラメータ調整ができないこともある。
【０００８】
本発明は、上記課題を解決するためになされたもので、時系列データの収集に要する時間と労力を大幅に削減することができ、制御やモデリングに関する専門的知識を必要としない制御対象モデル生成装置および生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、制御対象の数式モデルが持つ制御対象モデルパラメータの値を探索することにより制御対象モデルを生成する制御対象モデル生成装置であって、制御対象の数式モデルを予め記憶するモデル記憶部と、コントローラを仮想的に生成するコントローラアルゴリズムを予め記憶するコントローラ記憶部と、前記数式モデルによって表される制御対象と前記コントローラアルゴリズムによって表されるコントローラとからなる制御系についてその制御応答を模擬するシミュレーションを実行するシミュレーション演算部と、前記シミュレーションの結果を評価する際に用いる制御特徴量を制御特徴量評価項目として予め記憶する制御特徴量評価項目記憶部と、実際の制御対象の制御結果から求められた、前記制御特徴量評価項目に該当する実制御特徴量を予め記憶する実制御特徴量記憶部と、前記制御特徴量評価項目に該当するモデル制御特徴量を前記シミュレーションの結果に基づいて算出するモデル制御特徴量演算部と、前記実制御特徴量と前記モデル制御特徴量との近さを示す評価関数値を演算する評価関数演算部と、前記数式モデルに設定する制御対象モデルパラメータの値を逐次変更しながら前記シミュレーション演算部に前記シミュレーションを実行させ、前記評価関数値が最適値となる制御対象モデルパラメータの値をモデルパラメータ探索結果として確定する制御対象モデルパラメータ探索演算部とを備えるものである。
また、本発明の制御対象モデル生成装置の１構成例において、前記コントローラは、ＰＩＤコントローラである。
また、本発明の制御対象モデル生成装置の１構成例において、前記制御特徴量は、目標値到達時間、オーバーシュート量、ハンチング周期のうちの少なくとも１つである。
また、本発明は、制御対象の数式モデルが持つ制御対象モデルパラメータの値を探索することにより制御対象モデルを生成する制御対象モデル生成方法であって、予め記憶している数式モデルによって表される制御対象と予め記憶しているコントローラアルゴリズムによって表されるコントローラとからなる制御系についてその制御応答を模擬するシミュレーションを実行するシミュレーション演算手順と、前記シミュレーションの結果を評価する際に用いる制御特徴量を制御特徴量評価項目として予め記憶し、この制御特徴量評価項目に該当するモデル制御特徴量を前記シミュレーションの結果に基づいて算出するモデル制御特徴量演算手順と、実際の制御対象の制御結果から予め求められた、前記制御特徴量評価項目に該当する実制御特徴量と、前記モデル制御特徴量との近さを示す評価関数値を演算する評価関数演算手順と、前記数式モデルに設定する制御対象モデルパラメータの値を逐次変更しながら前記シミュレーションを実行させ、前記評価関数値が最適値となる制御対象モデルパラメータの値をモデルパラメータ探索結果として確定する制御対象モデルパラメータ探索演算手順とを備えるものである。
【発明の効果】
【００１０】
本発明によれば、実際の制御系でユーザが用いるコントローラアルゴリズムと制御対象の数式モデルとを組み合わせた制御系モデルを仮想的に生成し、この制御系についてその制御応答を模擬するシミュレーションを実行して制御系モデルのモデル制御特徴量を算出し、実際に観測された実制御特徴量とモデル制御特徴量との近さを表す評価関数値を使用して、評価関数値が最適な値に近づくようにシミュレーションを繰り返すことにより、制御対象の数式モデルが持つ制御対象モデルパラメータの値を探索することができる。その結果、ユーザは、操作量の時系列データの収集が不要となり、さらに制御対象から出力される制御量についても、例えばオーバーシュート量やハンチング周期などの実制御特徴量が確認できる程度の簡単な情報収集によって、深い専門的な知識がなくとも制御対象の数式モデルを自動的に生成することができる。また、生成した数式モデルを用いてコントローラのパラメータを調整することができる。
【発明を実施するための最良の形態】
【００１１】
本発明は、実際の制御系でユーザが用いているコントローラアルゴリズムと制御対象の数式モデルとを組み合わせた制御系モデルをコンピュータ上に生成し、実際にユーザが用いているコントローラの設定パラメータ（例えばＰＩＤコントローラでは、比例帯、積分時間、微分時間）を制御系モデルに与えた場合の制御結果から前記制御系モデルのモデル制御特徴量（例えばオーバーシュート量やハンチング周期など）を算出し、実際に観測された実制御特徴量とモデル制御特徴量との近さを表す評価関数値を使用して、評価関数値が最適な値に近づくように制御系モデルのシミュレーションを繰り返すことにより、制御対象の数式モデルにおける１つまたは複数のパラメータの数値的組み合わせを探索する。
【００１２】
［実施の形態］
以下、本発明の実施の形態について図面を参照して詳細に説明する。図１は本発明の実施の形態となる制御対象モデル生成装置の構成を示すブロック図、図２は図１の制御対象モデル生成装置の動作を示すフローチャートである。本実施の形態の制御対象モデル生成装置は、制御対象の数式モデルを予め記憶するモデル記憶部１と、コントローラを仮想的に生成するコントローラアルゴリズムを予め記憶するコントローラ記憶部２と、コントローラの設定パラメータを予め記憶するコントローラ設定パラメータ記憶部３と、シミュレーション仕様を記憶するシミュレーション仕様記憶部４と、数式モデルによって表される制御対象とコントローラアルゴリズムによって表されるコントローラとからなる制御系についてその制御応答を模擬するシミュレーションを実行するシミュレーション演算部５と、シミュレーションの結果を評価する際に用いる制御特徴量を制御特徴量評価項目として予め記憶する制御特徴量評価項目記憶部６と、実際の制御対象の制御結果から求められた、制御特徴量評価項目に該当する実制御特徴量を予め記憶する実制御特徴量記憶部７と、制御特徴量評価項目に該当するモデル制御特徴量をシミュレーションの結果に基づいて算出するモデル制御特徴量演算部８と、実制御特徴量とモデル制御特徴量との近さを示す評価関数値を演算する評価関数演算部９と、数式モデルに設定する制御対象モデルパラメータの値を逐次変更しながらシミュレーション演算部５にシミュレーションを実行させ、評価関数値が最適値となる制御対象モデルパラメータの値をモデルパラメータ探索結果として確定する制御対象モデルパラメータ探索演算部１０とを備える。
【００１３】
以下、本実施の形態の制御対象モデル生成装置の動作について説明するが、まず最初に個々の構成要素の動作を説明し、次に全体の処理の流れを図２を用いて説明する。なお、以後の説明は温度制御で昇温する場合のものとして説明する。
制御対象は、例えば１次遅れとむだ時間の要素を有するものとしてその伝達関数Ｇｐを次式のような伝達関数で表現できる。
Ｇｐ＝Ｋｐｅｘｐ（−Ｌｐｓ）／（１＋Ｔ１ｓ）                      ・・・（１）
【００１４】
式（１）において、Ｋｐはプロセスゲイン、Ｌｐはプロセスむだ時間、Ｔ１はプロセス時定数、ｓはラプラス演算子である。モデル記憶部１には、制御対象モデル生成装置を使用するユーザによって式（１）の伝達関数式が制御対象の数式モデルとして予め登録されている。この際、プロセスゲインＫｐ、プロセスむだ時間Ｌｐ、およびプロセス時定数Ｔ１は、変数として登録されている。
【００１５】
コントローラ記憶部２には、コントローラアルゴリズム、すなわち制御対象の制御に使用する実際の装置と同等のコントローラをシミュレーション演算部５に仮想的に生成させるプログラムがユーザによって予め登録されている。例えば、ＰＩＤコントローラを使用する場合には、以下のＰＩＤコントローラアルゴリズムを表す伝達関数式が予め登録されている。
ＭＶ＝（１００／Ｐｂ）｛１＋（１／Ｔｉｓ）＋Ｔｄｓ｝（ＳＰ−ＰＶ）  ・・（２）
【００１６】
式（２）において、Ｐｂ，Ｔｉ，ＴｄはＰＩＤパラメータであり、Ｐｂは比例帯、Ｔｉは積分時間、Ｔｄは微分時間である。また、ＭＶは操作量、ＳＰは目標値、ＰＶは制御量である。比例帯Ｐｂ、積分時間Ｔｉ、微分時間Ｔｄおよび目標値ＳＰは、後述のようにコントローラ設定パラメータ記憶部３にあらかじめ登録されている。操作量ＭＶと制御量ＰＶは、シミュレーション演算部５によるシミュレーション時に動的に変化する変数である。
【００１７】
コントローラ設定パラメータ記憶部３には、コントローラ記憶部２に登録されたコントローラアルゴリズムに従って操作量ＭＶを算出する際に必要となるコントローラのパラメータがユーザによって予め登録されている。登録されているパラメータとしては、例えば式（２）のＰＩＤコントローラアルゴリズムの場合、ＰＩＤパラメータとして比例帯Ｐｂ、積分時間Ｔｉおよび微分時間Ｔｄがあり、さらにその他のパラメータとして目標値ＳＰと、コントローラの制御周期ｃｄｔとがある。なお、本実施の形態の制御対象モデル生成装置により制御対象モデルを生成した後に、この制御対象モデルを用いて周知の技術によりＰＩＤパラメータの最終的な値を求めることになる。したがって、ＰＩＤパラメータの適切な値はここでは未確定であり、コントローラ設定パラメータ記憶部３に登録するＰＩＤパラメータの値は実際の制御システムでユーザが任意に設定している値である。
【００１８】
シミュレーション仕様記憶部４には、例えば制御量ＰＶの初期値ＰＶini 、操作量ＭＶの初期値ＭＶini 、シミュレーション総時間ｔsim といったシミュレーションの仕様がユーザによって予め登録されている。シミュレーション総時間ｔsim はシミュレーションの終了判定のために使用され、シミュレーション開始時刻からの経過時間がｔsim に達した時点でシミュレーションが終了する。
【００１９】
シミュレーション演算部５は、モデル記憶部１の数式モデルによって表される制御対象とコントローラ記憶部２のコントローラアルゴリズムによって表されるコントローラとからなる仮想の制御系についてその制御応答を模擬するシミュレーションを、コントローラ設定パラメータ記憶部３に登録されたコントローラ設定パラメータと、シミュレーション仕様記憶部４に登録されたシミュレーション仕様と、制御対象モデルパラメータ探索演算部１０が生成した制御対象モデルパラメータに基づいて行う。このときの仮想の制御系のブロック線図を図３に示す。シミュレーション演算部５は、コントローラアルゴリズムを用いた操作量ＭＶの演算と、操作量ＭＶと制御対象の数式モデルを用いた制御量ＰＶの演算とを繰り返し実行することにより、シミュレーション総時間内における時刻と制御量ＰＶの時系列データの組を求める。
【００２０】
図４はシミュレーション演算部５の動作を示すフローチャートである。シミュレーション演算部５は、初期設定処理（図４ステップＳ１０）とシミュレーション処理（ステップＳ１１，Ｓ１２，Ｓ１４，Ｓ１５）とシミュレーション終了判定処理（ステップＳ１３）とを実行する。
【００２１】
初期設定処理において、シミュレーション演算部５は、シミュレーション時刻ｔ［ｉ］を識別するためのカウント値ｉを０に初期化し、シミュレーション開始時刻ｔ［０］を０とする。また、シミュレーション演算部５は、シミュレーション仕様記憶部４に登録されたシミュレーション仕様に基づいて、シミュレーション開始時刻における制御量の初期値ＰＶ［０］をＰＶini とし、操作量の初期値ＭＶ［０］をＭＶini とする。
【００２２】
シミュレーション処理において、シミュレーション演算部５は、カウント値ｉを１カウントアップしてｉ＝１とし（ステップＳ１１）、続いてシミュレーション時刻ｔ［ｉ］をｔ［ｉ］＝ｔ［ｉ−１］＋ｃｄｔによって算出する（ステップＳ１２）。
【００２３】
続いて、シミュレーション演算部５は、シミュレーション仕様記憶部４に登録されたシミュレーション総時間ｔsim に基づいてシミュレーション終了判定処理を行い、ｔ［ｉ］≦ｔsim が成立するかどうかを判定する（ステップＳ１３）。シミュレーション演算部５は、ｔ［ｉ］≦ｔsim 、すなわち時刻ｔ［ｉ］がシミュレーション総時間ｔsim を超えていない場合には、ステップＳ１４に進んでシミュレーション処理を続行する。
【００２４】
シミュレーション処理を続行する場合、シミュレーション演算部５は、コントローラ設定パラメータ記憶部３に登録されたパラメータと、コントローラ記憶部２に登録された式（２）に基づく以下の式により、時刻ｔ［ｉ］の操作量ＭＶ［ｉ］を算出する（ステップＳ１４）。
ＭＶ［ｉ］＝（１００／Ｐｂ）｛１＋（１／Ｔｉｓ）＋Ｔｄｓ｝（ＳＰ
−ＰＶ［ｉ−１］）                                    ・・・（３）
【００２５】
そして、シミュレーション演算部５は、制御対象モデルパラメータ探索演算部１０によって生成された制御対象モデルパラメータと、算出した操作量ＭＶ［ｉ］と、モデル記憶部１に登録された式（１）に基づく次式により、時刻ｔ［ｉ］の制御量ＰＶ［ｉ］を算出する（ステップＳ１５）。
ＰＶ［ｉ］＝｛Ｋｐｅｘｐ（−Ｌｐｓ）／（１＋Ｔ１ｓ）｝ＭＶ［ｉ］  ・・・（４）
シミュレーション演算部５は、算出した制御量ＰＶ［ｉ］を時刻ｔ［ｉ］と対応付けて記憶する。
【００２６】
次に、シミュレーション演算部５は、ステップＳ１１に戻り、カウント値ｉを１カウントアップしてｉ＝２とし、ｉ＝１のときと同様に（ｔ［ｉ］，ＰＶ［ｉ］）を算出する処理を行う。こうして、ステップＳ１１〜Ｓ１５の処理が繰り返される。シミュレーション演算部５は、繰り返し処理の中で、ステップＳ１３においてｔ［ｉ］＞ｔsim 、すなわち時刻ｔ［ｉ］がシミュレーション総時間ｔsim を超えた場合には、シミュレーション処理を終了する。この終了時点では、時刻ｔ［ｉ］＝０〜ｔ［ｉ］＝ｔsim における時刻ｔ［ｉ］と制御量ＰＶ［ｉ］の時系列データの組（ｔ［ｉ］，ＰＶ［ｉ］）が求められていることになる。
【００２７】
制御特徴量評価項目記憶部６には、シミュレーションの結果を評価する際の評価項目（以下、制御特徴量評価項目と呼ぶ）として評価対象とする制御特徴量の種類がユーザによって予め登録されている。制御特徴量評価項目として登録される制御特徴量の種類を例えばｃｈａｒＮａｍｅ［ｋ］とすると、ｃｈａｒＮａｍｅ［１］＝“目標値到達時間”、ｃｈａｒＮａｍｅ［２］＝“オーバーシュート量”、ｃｈａｒＮａｍｅ［３］＝“ハンチング周期”といったように登録されている。
【００２８】
なお、制御特徴量評価項目記憶部６に予め制御特徴量を何種類か登録しておき、これらの中から制御特徴量評価項目として使用するものをユーザに選択させ、ユーザが選択した制御特徴量評価項目に評価対象であることを示すフラグをセットすることで、制御特徴量評価項目を制御特徴量評価項目記憶部６に登録する方法もある。
【００２９】
実制御特徴量記憶部７には、実際の制御対象の制御結果から求められた、制御特徴量評価項目記憶部６に登録された制御特徴量評価項目に該当する実制御特徴量ｒｅａｌＶａｌ［ｋ］がユーザによって予め登録されている。実制御特徴量ｒｅａｌＶａｌ［ｋ］は、コントローラ設定パラメータ記憶部３のＰＩＤパラメータと同じ値を設定した実際のＰＩＤコントローラを用いて実際の制御対象を制御した結果から得られたものである。その求め方は、例えば時間を計測するための時計とコントローラに通常備えられている表示器を使って制御量ＰＶを観測し、目標値到達時間やオーバーシュート量、ハンチング周期といった制御特徴量を計測すればよい。
【００３０】
また、実制御特徴量記憶部７には、実制御特徴量ｒｅａｌＶａｌ［ｋ］の検出の可否を示す実制御特徴量検出フラグｒｅａｌＦｌａｇ［ｋ］が登録されている。実制御特徴量検出フラグｒｅａｌＦｌａｇ［ｋ］は、制御特徴量ｃｈａｒＮａｍｅ［ｋ］に該当する実制御特徴量を検出できた場合にはｒｅａｌＦｌａｇ［ｋ］＝１となり、検出できなかった場合にはｒｅａｌＦｌａｇ［ｋ］＝０となる。
【００３１】
例えば、制御特徴量ｃｈａｒＮａｍｅ［１］に該当する目標値到達時間が実際の制御で１２０［ｓｅｃ］であった場合、ｒｅａｌＦｌａｇ［１］＝１、ｒｅａｌＶａｌ［１］＝１２０［ｓｅｃ］と登録される。また、制御特徴量ｃｈａｒＮａｍｅ［２］に該当するオーバーシュート量が実際の制御で１０［℃］であった場合、ｒｅａｌＦｌａｇ［２］＝１、ｒｅａｌＶａｌ［２］＝１０［℃］と登録される。さらに、制御特徴量ｃｈａｒＮａｍｅ［３］に該当するハンチング周期が実際の制御で２０［ｓｅｃ］であった場合、ｒｅａｌＦｌａｇ［３］＝１、ｒｅａｌＶａｌ［３］＝２０［ｓｅｃ］と登録される。
【００３２】
モデル制御特徴量演算部８は、制御特徴量評価項目記憶部６に登録された制御特徴量評価項目に該当するモデル制御特徴量ｍｄｌＶａｌ［ｋ］を、シミュレーション演算部５が求めた時系列データ（ｔ［ｉ］，ＰＶ［ｉ］）に基づいて算出して記憶する。また、モデル制御特徴量演算部８は、時系列データ（ｔ［ｉ］，ＰＶ［ｉ］）に基づくモデル制御特徴量ｍｄｌＶａｌ［ｋ］の算出の可否を示すモデル制御特徴量検出フラグｍｄｌＦｌａｇ［ｋ］を記憶する。モデル制御特徴量検出フラグｍｄｌＦｌａｇ［ｋ］は、制御特徴量ｃｈａｒＮａｍｅ［ｋ］に該当するモデル制御特徴量ｍｄｌＶａｌ［ｋ］を算出できた場合にはｍｄｌＦｌａｇ［ｋ］＝１となり、算出できなかった場合にはｍｄｌＦｌａｇ［ｋ］＝０となる。
【００３３】
ここで、時系列データ（ｔ［ｉ］，ＰＶ［ｉ］）とモデル制御特徴量（目標値到達時間、オーバーシュート量、ハンチング周期）との関係を図５に示す。目標値到達時間は、制御量ＰＶ［ｉ］が初期値ＰＶini から目標値ＳＰに到達するまでの時間、オーバーシュート量は、目標値ＳＰに対する制御量ＰＶ［ｉ］の最大偏差である。また、ハンチング周期は、この例では、制御量ＰＶ［ｉ］の極大値間の時間平均値と考える。なお、制御量ＰＶ［ｉ］は、制御周期ｃｄｔ毎に算出された離散値であるが、図５では連続的な値として曲線で表記している。
【００３４】
次に、モデル制御特徴量のうち目標値到達時間とオーバーシュート量を算出する動作について図６を用いて説明する。まず、モデル制御特徴量演算部８は、初期設定処理を行う（図６ステップＳ２０）。初期設定処理において、モデル制御特徴量演算部８は、時系列データｔ［ｉ］を識別するためのカウント値ｉを０に初期化し、またモデル制御特徴量検出フラグｍｄｌＦｌａｇ［１］，ｍｄｌＦｌａｇ［２］を０に初期化すると共に、モデル制御特徴量ｍｄｌＶａｌ［１］，ｍｄｌＶａｌ［２］も０に初期化する。
【００３５】
初期設定処理に続いて、モデル制御特徴量演算部８は、カウント値ｉを１カウントアップし（ステップＳ２１）、このカウント値ｉに対応する時系列データｔ［ｉ］がシミュレーション総時間ｔsim 以内かどうかを判定する（ステップＳ２２）。モデル制御特徴量演算部８は、時系列データｔ［ｉ］がシミュレーション総時間ｔsim 以内であれば、ＰＶ［ｉ］＞ＳＰが成立するかどうかを判定する（ステップＳ２３）。モデル制御特徴量演算部８は、時系列データＰＶ［ｉ］が目標値ＳＰ以下であれば、ステップＳ２１に戻る。
【００３６】
モデル制御特徴量演算部８は、ステップＳ２１〜Ｓ２３の処理を繰り返し、時系列データＰＶ［ｉ］が目標値ＳＰを超えたとき（ステップＳ２３においてＹＥＳ）、目標値到達時間を表すモデル制御特徴量ｍｄｌＶａｌ［１］を時系列データｔ［ｉ］とし、モデル制御特徴量検出フラグｍｄｌＦｌａｇ［１］を１に設定する（ステップＳ２４）。
【００３７】
なお、ステップＳ２２において時系列データｔ［ｉ］がシミュレーション総時間ｔsim を超えた場合は、０≦ｔ［ｉ］≦ｔsim の範囲では時系列データＰＶ［ｉ］が目標値ＳＰを超える値をとらないことになり、目標値到達時間が検出できなかったことになる。また、目標値到達時間を検出できない場合は、オーバーシュート量も検出できないことになるので、モデル制御特徴量演算部８は、図６の処理を終了する。この場合、モデル制御特徴量検出フラグｍｄｌＦｌａｇ［１］，ｍｄｌＦｌａｇ［２］とモデル制御特徴量ｍｄｌＶａｌ［１］，ｍｄｌＶａｌ［２］は全て０のままである。
【００３８】
ステップＳ２３においてＰＶ［ｉ］＞ＳＰが成立して目標値到達時間が検出できた場合のみ、ステップＳ２５に進んでオーバーシュート量を検出する。モデル制御特徴量演算部８は、目標値到達時間を検出できた場合、時系列データＰＶ［ｉ］の変化量ｄＰＶ［ｉ］の初期設定処理として、ｄＰＶ［ｉ］＝ＰＶ［ｉ］−ＰＶ［ｉ−１］を演算する（ステップＳ２５）。ｄＰＶ［ｉ］は時系列データＰＶ［ｉ］とＰＶ［ｉ−１］との間の変化量であり、ｄＰＶ［ｉ］の符号からＰＶ［ｉ］が増加しているのか（ｄＰＶ［ｉ］が正値）、減少しているのか（ｄＰＶ［ｉ］が負値）を判断することができる。オーバーシュート量は、この変化量ｄＰＶ［ｉ］を利用して、目標値到達時間の後に時系列データＰＶ［ｉ］が増加から減少に転じたタイミングを検出することで求めることができる。
【００３９】
変化量ｄＰＶ［ｉ］を初期化した後、モデル制御特徴量演算部８は、カウント値ｉを１カウントアップし（ステップＳ２６）、このカウント値ｉに対応する時系列データｔ［ｉ］がシミュレーション総時間ｔsim 以内かどうかを判定する（ステップＳ２７）。モデル制御特徴量演算部８は、時系列データｔ［ｉ］がシミュレーション総時間ｔsim 以内であれば、変化量ｄＰＶ［ｉ］を次式のように算出する（ステップＳ２８）。
ｄＰＶ［ｉ］＝ＰＶ［ｉ］−ＰＶ［ｉ−１］                          ・・・（５）
【００４０】
モデル制御特徴量演算部８は、直前のカウント値ｉ−１で算出した変化量ｄＰＶ［ｉ−１］が正値であり、かつ現在のカウント値ｉで算出した変化量ｄＰＶ［ｉ］が負値であるという条件を満たすかどうかのチェックを行う（ステップＳ２９）。この条件を満たさない場合には（ステップＳ２９においてＮＯ）、ステップＳ２６に戻り、カウント値ｉを１カウントアップして変化量ｄＰＶ［ｉ］を算出する処理を行う。こうして、ステップＳ２６〜Ｓ２９の処理が繰り返される。モデル制御特徴量演算部８は、ステップＳ２９においてＹＥＳの場合には、カウント値ｉ−１のときの時系列データＰＶ［ｉ−１］を極大値と見なし、オーバーシュート量を表すモデル制御特徴量ｍｄｌＶａｌ［２］をＰＶ［ｉ−１］−ＳＰとし、モデル制御特徴量検出フラグｍｄｌＦｌａｇ［２］を１に設定する（ステップＳ３０）。なお、モデル制御特徴量演算部８は、ステップＳ２６〜Ｓ２９の繰り返し処理中に、ステップＳ２８において算出した変化量ｄＰＶ［ｉ］が０になった場合には、直前のカウント値ｉ−１の変化量であるｄＰＶ［ｉ−１］をｄＰＶ［ｉ］に設定して（ｄＰＶ［ｉ］＝ｄＰＶ［ｉ−１］を実行）、次ステップ（Ｓ２９）以降の処理を続行する。以上で図６の処理が終了する。
【００４１】
ステップＳ２７において時系列データｔ［ｉ］がシミュレーション総時間ｔsim を超えた場合、モデル制御特徴量演算部８は、オーバーシュート量を検出することなく図６の処理を終了する。この場合は、モデル制御特徴量ｍｄｌＶａｌ［２］とモデル制御特徴量検出フラグｍｄｌＦｌａｇ［２］が０のままとなる。なお、ここで述べた目標値到達時間とオーバーシュート量の算出方法は、あくまでも１例にすぎない。
【００４２】
次に、モデル制御特徴量のうちハンチング周期を算出する動作について図７を用いて説明する。まず、モデル制御特徴量演算部８は、初期設定処理を行う（図７ステップＳ４０）。初期設定処理において、モデル制御特徴量演算部８は、時系列データＰＶ［ｉ］の極大値の個数ｎを０に、モデル制御特徴量検出フラグｍｄｌＦｌａｇ［３］とモデル制御特徴量ｍｄｌＶａｌ［３］も０に設定する。また、時系列データｔ［ｉ］を識別するためのカウント値ｉを１に設定し、時系列データＰＶ［ｉ］の変化量ｄＰＶ［ｉ］にはＰＶ［ｉ］−ＰＶ［ｉ−１］の値を設定して初期化処理を終了する。また、本実施の形態では、前記オーバーシュート量の演算と同様に変化量ｄＰＶ［ｉ］を用いて時系列データＰＶ［ｉ］に極大値が出現したときの時刻ｔ［ｉ］を検出し、これを検出時刻ｈｔ［ｎ］として記憶して、ｈｔ［ｎ］−ｈｔ［ｎ−１］の平均値をハンチング周期とする方法を説明する。
【００４３】
初期設定処理に続いて、モデル制御特徴量演算部８は、カウント値ｉを１カウントアップし（ステップＳ４１）、このカウント値ｉに対応する時系列データｔ［ｉ］がシミュレーション総時間ｔsim 以内かどうかを判定する（ステップＳ４２）。モデル制御特徴量演算部８は、時系列データｔ［ｉ］がシミュレーション総時間ｔsim 以内であれば、変化量ｄＰＶ［ｉ］を式（５）により算出する（ステップＳ４３）。
【００４４】
モデル制御特徴量演算部８は、直前のカウント値ｉ−１で算出した変化量ｄＰＶ［ｉ−１］が正値であり、かつ現在のカウント値ｉで算出した変化量ｄＰＶ［ｉ］が負値であるという条件を満たすかどうかのチェックを行う（ステップＳ４４）。この条件を満たさない場合には（ステップＳ４４においてＮＯ）、ステップＳ４１に戻り、カウント値ｉを１カウントアップして変化量ｄＰＶ［ｉ］を算出する処理を行う。こうして、ステップＳ４１〜Ｓ４４の処理が繰り返される。モデル制御特徴量演算部８は、ステップＳ４４においてＹＥＳの場合には、カウント値ｉ−１のときの時系列データＰＶ［ｉ−１］を極大値と見なし、極大値の個数ｎを１加算して（ステップＳ４５）、極大値が生じた時刻のデータｔ［ｉ−１］を検出時刻ｈｔ［ｎ］として記憶し（ステップＳ４６）、ステップＳ４１に戻る。なお、モデル制御特徴量演算部８は、ステップＳ４１〜Ｓ４４の繰り返し処理中に、ステップＳ４３において算出した変化量ｄＰＶ［ｉ］が０になった場合には、直前のカウント値ｉ−１の変化量であるｄＰＶ［ｉ−１］をｄＰＶ［ｉ］に設定して（ｄＰＶ［ｉ］＝ｄＰＶ［ｉ−１］を実行）、次ステップ（Ｓ４４）以降の処理を続行する。
【００４５】
ステップＳ４１〜Ｓ４６の処理の繰り返しの中で、時系列データｔ［ｉ］がシミュレーション総時間ｔsim を超えた場合（ステップＳ４２においてＹＥＳ）、モデル制御特徴量演算部８は、ステップＳ４７に進み、極大値の個数ｎが２以上かどうかを判定する。極大値の個数ｎが２以上の場合、モデル制御特徴量演算部８は、時系列データＰＶ［ｉ］の極大値の周期の平均値Ｃを以下の式（６）のように算出し、ハンチング周期を表すモデル制御特徴量ｍｄｌＶａｌ［３］を平均値Ｃとし、モデル制御特徴量検出フラグｍｄｌＦｌａｇ［３］を１に設定する（ステップＳ４８）。以上で図７の処理が終了する。ステップＳ４７において極大値の個数ｎが１以下の場合、モデル制御特徴量演算部８は、ハンチング周期を検出することなく図７の処理を終了する。この場合は、モデル制御特徴量検出フラグｍｄｌＦｌａｇ［３］とモデル制御特徴量ｍｄｌＶａｌ［３］は初期値０のままとなる。
【００４６】
【数１】
2006127079.tif 000003
【００４７】
なお、例えばステップＳ４０の初期設定処理において、目標値到達時間やオーバーシュート量検出時間を演算開始時間に設定したり、検出される極大値の個数ｎの最大値を設けて演算の終了条件とするなどの方法により、ユーザがハンチング周期を観測した条件や時間の範囲（想定範囲でも構わない）内にハンチング周期の演算を限定することももちろん可能であり、ここで述べた演算方法はハンチング周期算出のための１例にすぎない。
【００４８】
図６と図７の処理によりモデル制御特徴量演算部８は、例えば目標値到達時間についてｍｄｌＦｌａｇ［１］＝１、ｍｄｌＶａｌ［１］＝１１８［ｓｅｃ］と記憶し、オーバーシュート量についてｍｄｌＦｌａｇ［２］＝１、ｍｄｌＶａｌ［２］＝１２［℃］と記憶し、ハンチング周期についてｍｄｌＦｌａｇ［３］＝１、ｍｄｌＶａｌ［３］＝１６［ｓｅｃ］と記憶する。
【００４９】
次に、評価関数演算部９は、実制御特徴量記憶部７に記憶された実制御特徴量とモデル制御特徴量演算部８によって算出されたモデル制御特徴量とを比較し、両者の近さを示す評価関数値Ｆを求める評価関数処理を実行する。前記実制御特徴量の観測の有無とその値であるｒｅａｌＦｌａｇ［ｋ］およびｒｅａｌＶａｌ［ｋ］と前記モデル制御特徴量の検出の有無とその値であるｍｄｌＦｌａｇ［ｋ］およびｍｄｌＶａｌ［ｋ］から、評価関数値Ｆを求める図８のような評価関数処理を実行する。この例では、評価関数値Ｆ（０以上）が０若しくは０に近い最小値になる場合が最適値であり、この場合に実制御特徴量とモデル制御特徴量とが最も近くなる。
【００５０】
まず、評価関数演算部９は、評価関数値Ｆを０に初期化すると共に、制御特徴量評価項目を識別するためのカウント値ｋを１に初期化する初期設定処理を行う（図８ステップＳ５０）。続いて、評価関数演算部９は、実制御特徴量検出フラグｒｅａｌＦｌａｇ［ｋ］とモデル制御特徴量検出フラグｍｄｌＦｌａｇ［ｋ］とが等しいかどうかを判定し（ステップＳ５１）、等しい場合には、（ｒｅａｌＶａｌ［ｋ］−ｍｄｌＶａｌ［ｋ］）2 を評価関数値Ｆに加算する（ステップＳ５２）。また、評価関数演算部９は、実制御特徴量検出フラグｒｅａｌＦｌａｇ［ｋ］とモデル制御特徴量検出フラグｍｄｌＦｌａｇ［ｋ］とが等しくない場合、所定値ＥｒｒＭａｘを評価関数値Ｆに加算する（ステップＳ５３）。ここで、ＥｒｒＭａｘは０よりも充分大きな正の値とする。
【００５１】
次に、評価関数演算部９は、カウント値ｋを１カウントアップし（ステップＳ５４）、このカウント値ｋが制御特徴量評価項目記憶部６に登録された制御特徴量評価項目の数を超えたかどうか判定する（ステップＳ５５）。カウント値ｋが制御特徴量評価項目数以下の場合には、ステップＳ５１に戻る。こうして、ステップＳ５１〜Ｓ５５の処理が繰り返される。カウント値ｋが制御特徴量評価項目数を超えたときに、図８の処理が終了し、評価関数演算部９は、算出した評価関数値Ｆを記憶する。
【００５２】
次に、制御対象モデルパラメータ探索演算部１０は、制御対象モデルパラメータ生成処理と評価関数値比較処理と制御対象モデルパラメータ確定処理とからなる制御対象モデルパラメータ探索処理を実行する。
制御対象モデルパラメータ生成処理において、制御対象モデルパラメータ探索演算部１０は、制御対象モデルのパラメータがとり得る全ての値、すなわちプロセスゲインＫｐとプロセスむだ時間Ｌｐとプロセス時定数Ｔ１とがとり得る全ての組み合わせを１つずつ順番に生成する。このときの各パラメータを生成するための変化幅をそれぞれｄＫｐ、ｄＬｐ、ｄＴ１とする。あらかじめ定められたプロセスゲイン最大値をＫｐ＿max 、プロセスむだ時間最大値をＬｐ＿max 、プロセス時定数最大値をＴ１＿max とすると、プロセスゲインＫｐはとり得る範囲が０＜Ｋｐ≦Ｋｐ＿max で分解能がｄＫｐの精度で生成され、プロセスむだ時間Ｌｐはとり得る範囲が０≦Ｌｐ≦Ｌｐ＿max で分解能がｄＬｐの精度で生成され、プロセス時定数Ｔ１はとり得る範囲が０≦Ｔ１≦Ｔ１＿max で分解能がｄＴ１の精度で生成される。
【００５３】
評価関数値比較処理において、制御対象モデルパラメータ探索演算部１０は、プロセスゲインＫｐとプロセスむだ時間Ｌｐとプロセス時定数Ｔ１とがとり得る全ての組み合わせについて計算された評価関数値Ｆを比較して、全ての評価関数値Ｆのうち最小の評価関数値Ｆ＿min （Ｆ＿min ≧０）を与えるプロセスゲインＫｐとプロセスむだ時間Ｌｐとプロセス時定数Ｔ１との組み合わせを抽出する。
制御対象モデルパラメータ確定処理において、制御対象モデルパラメータ探索演算部１０は、評価関数値比較処理で抽出したプロセスゲインＫｐとプロセスむだ時間Ｌｐとプロセス時定数Ｔ１との組み合わせをモデルパラメータ探索結果として採用する。
【００５４】
なお、以上の制御対象モデルパラメータ探索処理は、制御対象モデルのパラメータがとり得る全ての値を１つずつ生成してシミュレーション演算部５にシミュレーション処理を実行させ、計算された全ての評価関数値Ｆを比較することにより、最適な制御対象モデルパラメータの値を探索する手法であるが、この手法は探索効率を考慮しない手法であり、一事例に過ぎない。評価関数値Ｆが最適値に近づくように制御対象モデルパラメータの値を逐次変更しながら探索的にシミュレーション演算部５を動作させる効率的な手法として、一般に知られているパウエル法などを用いてもよい。
【００５５】
次に、図１の制御対象モデル生成装置の処理の流れを図２を用いて説明する。まず、制御対象モデルパラメータ探索演算部１０は制御対象モデルパラメータ生成処理を行う（図２ステップＳ１）。
【００５６】
続いて、シミュレーション演算部５は、図４で説明したシミュレーション処理を行い（ステップＳ２）、モデル制御特徴量演算部８は、図６、図７で説明したモデル制御特徴量演算処理を行い（ステップＳ３）、評価関数演算部９は図８で説明した評価関数処理を行う（ステップＳ４）。
【００５７】
制御対象モデルパラメータ探索演算部１０は、シミュレーション処理とモデル制御特徴量演算処理と評価関数処理とが終了した後、制御対象モデルパラメータがとり得る全ての組み合わせについてステップＳ１〜Ｓ４の処理が終了したかどうかを判定する（ステップＳ５）。制御対象モデルパラメータがとり得る全ての組み合わせについてステップＳ１〜Ｓ４の処理が終了した場合には、ステップＳ６に進み、終了していない場合には、ステップＳ１に戻ってプロセスゲインＫｐとプロセスむだ時間Ｌｐとプロセス時定数Ｔ１の値の新たな組み合わせを制御対象モデルパラメータ探索演算部１０が生成する。こうして、プロセスゲインＫｐとプロセスむだ時間Ｌｐとプロセス時定数Ｔ１とがとり得る組み合わせのそれぞれについてステップＳ１〜Ｓ４の処理が実行され、それぞれの組み合わせに対する評価関数値Ｆが求められる。
【００５８】
制御対象モデルパラメータの値がとり得る全ての組み合わせについてステップＳ１〜Ｓ４の処理が終了した場合、制御対象モデルパラメータ探索演算部１０は、評価関数値比較処理を実行して、最小の評価関数値Ｆ＿min を与えるプロセスゲインＫｐとプロセスむだ時間Ｌｐとプロセス時定数Ｔ１との組み合わせを抽出し（ステップＳ６）、抽出したプロセスゲインＫｐとプロセスむだ時間Ｌｐとプロセス時定数Ｔ１との組み合わせをモデルパラメータ探索結果として確定する（ステップＳ７）。以上で、制御対象モデル生成装置の処理が終了する。
【００５９】
本実施の形態によれば、実際の制御系でユーザが用いるコントローラアルゴリズムと制御対象の数式モデルとを組み合わせた制御系モデルを仮想的に生成し、この制御系についてその制御応答を模擬するシミュレーションを実行して制御系モデルのモデル制御特徴量を算出し、実際に観測された実制御特徴量とモデル制御特徴量との近さを表す評価関数値を使用して、評価関数値が最適な値に近づくようにシミュレーションを繰り返すことにより、制御対象の数式モデルが持つ制御対象モデルパラメータを探索するので、ユーザは、操作量ＭＶの時系列データの収集が不要となり、さらに制御対象から出力される制御量ＰＶについても、例えばオーバーシュート量やハンチング周期などの実制御特徴量が確認できる程度の簡単な情報収集によって、深い専門的な知識がなくとも制御対象の数式モデルを自動的に生成することができ、この数式モデルを用いて前記特許文献１に開示された簡単な方法によってコントローラのパラメータ調整が可能となる。
【００６０】
なお、本実施の形態で説明した制御対象モデル生成装置は、ＣＰＵ、記憶装置及びインタフェースを備えたコンピュータとこれらのハードウェア資源を制御するプログラムによって実現することができる。ＣＰＵは、記憶装置に格納されたプログラムに従って本実施の形態で説明したような処理を実行する。
【産業上の利用可能性】
【００６１】
本発明は、プロセス制御における制御対象モデルの自動生成に適用することができる。
【図面の簡単な説明】
【００６２】
【図１】本発明の実施の形態となる制御対象モデル生成装置の構成を示すブロック図である。
【図２】本発明の実施の形態の制御対象モデル生成装置の動作を示すフローチャートである。
【図３】本発明の実施の形態における仮想の制御系のブロック線図である。
【図４】本発明の実施の形態のシミュレーション演算部の動作を示すフローチャートである。
【図５】シミュレーション演算部で得られた時系列データとモデル制御特徴量との関係を示す図である。
【図６】本発明の実施の形態のモデル制御特徴量演算部が目標値到達時間とオーバーシュート量を算出する動作を示すフローチャートである。
【図７】本発明の実施の形態のモデル制御特徴量演算部がハンチング周期を算出する動作を示すフローチャートである。
【図８】本発明の実施の形態の評価関数演算部の動作を示すフローチャートである。
【符号の説明】
【００６３】
１…モデル記憶部、２…コントローラ記憶部、３…コントローラ設定パラメータ記憶部、４…シミュレーション仕様記憶部、５…シミュレーション演算部、６…制御特徴量評価項目記憶部、７…実制御特徴量記憶部、８…モデル制御特徴量演算部、９…評価関数演算部、１０…制御対象モデルパラメータ探索演算部。
【図１】
2006127079.tif 000004
【図２】
2006127079.tif 000005
【図３】
2006127079.tif 000006
【図４】
2006127079.tif 000007
【図５】
2006127079.tif 000008
【図６】
2006127079.tif 000009
【図７】
2006127079.tif 000010
【図８】
2006127079.tif 000011