(57)【要約】      （修正有）【課題】制御量に対する外乱の影響を効果的に抑制すること。【解決手段】制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、最新の計測値と過去読み長が示す時点における計測値との差を、前記最新の予測値と前記過去読み長が示す時点における予測値との差で補正した過去読み補正値を算出する第１の補正値算出手段と、前記目標値と前記制御量との差又は未来の前記目標値と未来の前記制御量との差のいずれかを前記過去読み補正値により補正した補正目標偏差を算出する第２の補正値算出手段と、前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手段と、を有する。【選択図】図１
2020021411.tif 000002
【特許請求の範囲】
【請求項１】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、
前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記制御量の予測値を算出し、算出した予測値を時系列として第１の記憶手段に記憶させる予測値算出手段と、
前記制御量の計測値を取得し、取得した計測値を時系列として第２の記憶手段に記憶させる計測値取得手段と、
前記予測値の時系列と前記計測値の時系列とを過去読みするための時間幅を示す過去読み長が入力されると、前記第１の記憶手段に記憶されている予測値のうちの最新の予測値及び前記過去読み長が示す時点における予測値と、前記第２の記憶手段に記憶されている計測値のうちの最新の計測値及び前記過去読み長が示す時点における計測値とを用いて、前記最新の計測値と前記過去読み長が示す時点における計測値との差を、前記最新の予測値と前記過去読み長が示す時点における予測値との差で補正した過去読み補正値を算出する第１の補正値算出手段と、
前記目標値と前記制御量との差又は未来の前記目標値と未来の前記制御量との差のいずれかを前記過去読み補正値により補正した補正目標偏差を算出する第２の補正値算出手段と、
前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手段と、
を有することを特徴とする制御装置。
【請求項２】
前記操作量算出手段は、
前記補正目標偏差に基づいて前記操作量の変化量を算出し、現在の操作量に対して前記操作量の変化量を加えることで、新たな前記操作量を算出する、ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記操作量算出手段は、
前記補正目標偏差に対して所定のゲインを乗じることで、前記操作量の変化量を算出する、ことを特徴とする請求項２に記載の制御装置。
【請求項４】
前記予測値算出手段は、
前記操作量の変化量が算出される度に、前記第１の記憶手段に記憶されている予測値の時系列を更新し、
前記計測値取得手段は、
前記操作量の変化量が算出される度に、前記第２の記憶手段に記憶されている計測値の時系列を更新する、ことを特徴とする請求項２又は３に記載の制御装置。
【請求項５】
前記予測値算出手段は、
前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、現在時刻ｔにおける各時刻ｓの一般化予測値を算出し、算出した一般化予測値のうち、ｓ＝ｔである一般化予測値を時刻ｔにおける予測値として算出する、ことを特徴とする、請求項１乃至４の何れか一項に記載の制御装置。
【請求項６】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させるコンピュータが、
前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記制御量の予測値を算出し、算出した予測値を時系列として第１の記憶手段に記憶させる予測値算出手順と、
前記制御量の計測値を取得し、取得した計測値を時系列として第２の記憶手段に記憶させる計測値取得手順と、
前記予測値の時系列と前記計測値の時系列とを過去読みするための時間幅を示す過去読み長が入力されると、前記第１の記憶手段に記憶されている予測値のうちの最新の予測値及び前記過去読み長が示す時点における予測値と、前記第２の記憶手段に記憶されている計測値のうちの最新の計測値及び前記過去読み長が示す時点における計測値とを用いて、前記最新の計測値と前記過去読み長が示す時点における計測値との差を、前記最新の予測値と前記過去読み長が示す時点における予測値との差で補正した過去読み補正値を算出する第１の補正値算出手順と、
前記目標値と前記制御量との差又は未来の前記目標値と未来の前記制御量との差のいずれかを前記過去読み補正値により補正した補正目標偏差を算出する第２の補正値算出手順と、
前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手順と、
を実行することを特徴とする制御方法。
【請求項７】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させるコンピュータに、
前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記制御量の予測値を算出し、算出した予測値を時系列として第１の記憶手段に記憶させる予測値算出手順と、
前記制御量の計測値を取得し、取得した計測値を時系列として第２の記憶手段に記憶させる計測値取得手順と、
前記予測値の時系列と前記計測値の時系列とを過去読みするための時間幅を示す過去読み長が入力されると、前記第１の記憶手段に記憶されている予測値のうちの最新の予測値及び前記過去読み長が示す時点における予測値と、前記第２の記憶手段に記憶されている計測値のうちの最新の計測値及び前記過去読み長が示す時点における計測値とを用いて、前記最新の計測値と前記過去読み長が示す時点における計測値との差を、前記最新の予測値と前記過去読み長が示す時点における予測値との差で補正した過去読み補正値を算出する第１の補正値算出手順と、
前記目標値と前記制御量との差又は未来の前記目標値と未来の前記制御量との差のいずれかを前記過去読み補正値により補正した補正目標偏差を算出する第２の補正値算出手順と、
前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手順と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
温調制御装置やＰＬＣ（Programmable Logic Controller）、ＤＣＳ（Distributed Control System）等の制御装置、パーソナルコンピュータや組み込み制御機器上で実装される制御装置等が産業上広く利用されている。
【０００３】
また、制御対象の制御量を目標値に追従させることを目的とする制御方式として、ＰＩＤ（Proportional-Integral-Differential）、モデル予測制御（ＭＰＣ：Model-Predictive-Control）、内部モデル制御、ＬＱＧ（Linear-Quadratic-Gaussian）制御、Ｈ２制御、Ｈ∞制御等の制御方式が知られている。更に、これらの制御方式に関連する技術が、例えば、特許文献１乃至５に開示されている。
【０００４】
例えば、特許文献１には、モデル予測制御において、制御量の予測値と実測値との誤差である予測誤差と、ステップ応答の終端値とに基づいて外乱推定値を計算した上で、この外乱推定値に基づいて、制御対象に対する操作量を修正する技術が開示されている。
【０００５】
また、例えば、特許文献２には、現在に至るまでの過去の操作量の変化に応じた制御量の収束値の予測値と、目標値との差である補正目標偏差に基づいて、新たな操作量を決定する技術が開示されている。
【０００６】
また、例えば、特許文献３には、目標偏差の現在値と、操作量の変化量との関係を示す制御用論理式が成立する領域をグラフ上に表示する技術が開示されている。
【０００７】
また、例えば、特許文献４には、モデル予測制御を用いた主調整器と従調整器との２つの制御器の操作量の誤差を推定外乱として、主調整器の操作へフィードフォワード出力する技術が開示されている。
【０００８】
更に、例えば、特許文献５には、連続する複数の動作周期の間で大きさ及び印加タイミングが同一である外乱が印加された場合における或る動作周期での制御量の実測値と、当該或る動作周期での制御量の予測値との誤差であるモデル予測誤差を用いて、当該或る動作周期より後の動作周期における予測値を補正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第５３９６９１５号公報
【特許文献２】国際公開第２０１６／０９２８７２号
【特許文献３】国際公開第２０１５／０６０１４９号
【特許文献４】特許第４１７７１７１号公報
【特許文献５】特開２０１８−４１１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、モデル予測制御においては、制御量に対する外乱の影響を抑制することが重要である場合が多い。このため、例えば、上記の特許文献１に開示されているように、外乱推定値に基づいて操作量を修正する方法は、制御対象の制御量を目標値に追従させるにあたって有効である場合が多い。
【００１１】
しかしながら、従来技術では、実際に起こり得る外乱の時定数や継続時間によって外乱推定モデルを動的に変更することができず、外乱推定モデル等を事前に仮定する必要があった。他方で、外乱モデルには、例えば、インパルス外乱やステップ外乱、ランプ外乱等の種々のモデルが存在する。このため、実際に生じた外乱によっては、制御量に対する外乱の影響を効果的に抑制することができない場合があった。
【００１２】
本発明の一実施形態は、上記の点に鑑みてなされたもので、制御量に対する外乱の影響を効果的に抑制することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明の一実施形態は、制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、前記制御対象のプラント応答モデルと、現在に至るまでの過去の前記操作量の変化量とに基づいて、前記制御量の予測値を算出し、算出した予測値を時系列として第１の記憶手段に記憶させる予測値算出手段と、前記制御量の計測値を取得し、取得した計測値を時系列として第２の記憶手段に記憶させる計測値取得手段と、前記予測値の時系列と前記計測値の時系列とを過去読みするための時間幅を示す過去読み長が入力されると、前記第１の記憶手段に記憶されている予測値のうちの最新の予測値及び前記過去読み長が示す時点における予測値と、前記第２の記憶手段に記憶されている計測値のうちの最新の計測値及び前記過去読み長が示す時点における計測値とを用いて、前記最新の計測値と前記過去読み長が示す時点における計測値との差を、前記最新の予測値と前記過去読み長が示す時点における予測値との差で補正した過去読み補正値を算出する第１の補正値算出手段と、前記目標値と前記制御量との差又は未来の前記目標値と未来の前記制御量との差のいずれかを前記過去読み補正値により補正した補正目標偏差を算出する第２の補正値算出手段と、前記補正目標偏差に基づいて、新たな前記操作量を算出する操作量算出手段と、を有することを特徴とする。
【発明の効果】
【００１４】
制御量に対する外乱の影響を効果的に抑制することができる。
【図面の簡単な説明】
【００１５】
【図１】第一の実施形態に係る制御装置の構成の一例を示す図である。
【図２】目標値先読み部の動作の一例を説明するための図である。
【図３】応答補正部の動作の一例を説明するための図（その１）である。
【図４】応答補正部の動作の一例を説明するための図（その２）である。
【図５】応答補正部の動作の一例を説明するための図（その３）である。
【図６】予測時系列記憶部の更新処理の一例を説明するためのフローチャートである。
【図７】予測時系列記憶部の更新の一例を説明するための図である。
【図８】過去計測値時系列記憶部の更新処理の一例を説明するためのフローチャートである。
【図９】過去計測値時系列記憶部の更新の一例を説明するための図である。
【図１０】過去予測時系列記憶部の更新処理の一例を説明するためのフローチャートである。
【図１１】過去予測時系列記憶部の更新の一例を説明するための図である。
【図１２】操作変化量算出部の動作の一例を説明するための図である。
【図１３】第一の実施形態に係る制御装置を用いて、制御対象プラントの制御ループを構成した場合の一例を示す図である。
【図１４】第一の実施形態に係る制御装置のハードウェア構成の一例を示す図である。
【図１５】第二の実施形態に係る制御装置の構成の一例を示す図である。
【図１６】実施例におけるプラント応答モデルを示す図である。
【図１７】実施例における制御ゲインの設計に用いられる情報を示す図である。
【図１８】実施例における制御ゲインを示す図である。
【図１９】実施例における制御結果を示す図（その１）である。
【図２０】実施例における制御結果を示す図（その２）である。
【図２１】実施例における制御結果を示す図（その３）である。
【図２２】実施例における制御結果を示す図（その４）である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態（以降、「本実施形態」とも表す。）について、図面を参照しながら詳細に説明する。以降では、現在から未来への目標値時系列が入力された場合において、制御量を目標値に追従（又は整定）させるための操作量を計算する制御装置１０について説明する。本実施形態に係る制御装置１０は、任意の目標値の時系列データである目標値時系列｛ｒ（ｔ）｝や制御対象プラント２０の状態等を示す制御量ｙ等に基づいて、制御対象プラント２０に対する操作量ｕを算出する。そして、本実施形態に係る制御装置１０は、この操作量ｕに応じた制御対象プラント２０の制御量ｙを計測し、この制御量ｙや目標値時系列｛ｒ（ｔ）｝等に基づいて、次の操作量ｕを算出する。なお、制御量ｙとしては、例えば、制御対象プラント２０の温度、目標値ｒとしては、例えば、設定温度等が挙げられる。ただし、制御量ｙ及び目標値ｒは、温度及び設定温度に限られず、制御対象プラント２０における任意の制御量及び当該制御量の目標となる任意の目標値を用いることができる。
【００１７】
本実施形態に係る制御装置１０は、例えば、組み込み型の計算機器やＰＬＣ等であるものとする。ただし、本実施形態に係る制御装置１０は、これに限られず、任意の機器又は装置であっても良い。
【００１８】
［第一の実施形態］
＜制御装置１０の構成＞
まず、本実施形態に係る制御装置１０の構成について、図１を参照しながら説明する。図１は、第一の実施形態に係る制御装置１０の構成の一例を示す図である。
【００１９】
図１に示すように、本実施形態に係る制御装置１０は、目標値先読み部１０１と、計測部１０２と、差分器１０３と、操作量更新部１０４と、タイマ１０５とを有する。これら各機能部は、例えば、制御装置１０にインストールされた１以上のプログラムがＣＰＵ（Central Processing Unit）等に実行させる処理によって実現される。
【００２０】
目標値先読み部１０１は、所定の制御周期Ｔｃ毎に、目標値時系列｛ｒ（ｔ）｝と、先読み長Ｔｐとを入力して、現在時刻ｔから先読み長後の時刻ｔ＋Ｔｐにおける目標値ｒ（ｔ＋Ｔｐ）を出力する。先読み長Ｔｐとは、目標値時系列｛ｒ（ｔ）｝のうち、先読みする目標値ｒ（ｔ＋Ｔｐ）を決定するための時間長である。なお、以降では、目標値ｒ（ｔ＋Ｔｐ）を「先読み目標値ｒ（ｔ＋Ｔｐ）」とも表す。
【００２１】
計測部１０２は、制御周期Ｔｃ毎に、制御対象プラント２０の制御量ｙを計測する。そして、計測部１０２は、計測した制御量ｙの最新の値を、制御量現在値ｙ０として出力する。なお、ｙ０は計測部１０２によって計測された制御量であることから「制御量計測値ｙ０」とも表す。したがって、制御量現在値とは、制御量計測値のうち、最新の制御量計測値のことである。
【００２２】
なお、制御対象プラント２０の制御量ｙは、操作量ｕと外乱ｖとに応じて決定される。外乱ｖとしては、例えば、制御量ｙが温度である場合における外気温の低下又は上昇等が挙げられる。
【００２３】
また、計測部１０２は、操作量更新部１０４から出力された操作量ｕを取得し、取得した操作量ｕの最新の値を、操作量現在値ｕ０として出力する。
【００２４】
差分器１０３は、目標値先読み部１０１から出力された先読み目標値ｒ（ｔ＋Ｔｐ）と、制御量現在値ｙ０との差（偏差）を目標偏差ｅ０（ｔ＋Ｔｐ｜ｔ）として出力する。目標偏差ｅ０（ｔ＋Ｔｐ｜ｔ）は、ｅ０（ｔ＋Ｔｐ｜ｔ）＝ｒ（ｔ＋Ｔｐ）−ｙ０（ｔ）で算出される。なお、以降では、目標偏差ｅ０（ｔ＋Ｔｐ｜ｔ）を「先読み目標偏差ｅ０（ｔ＋Ｔｐ｜ｔ）」とも表す。
【００２５】
操作量更新部１０４は、制御周期Ｔｃ毎に、制御対象プラント２０に対する操作量ｕを出力する。操作量更新部１０４には、応答補正部１１１と、操作変化量算出部１１２と、加算器１１３とが含まれる。
【００２６】
応答補正部１１１は、制御対象プラント２０のプラント応答モデル｛Ｓ（ｔ）｝と、先読み目標偏差ｅ０（ｔ＋Ｔｐ｜ｔ）と、先読み長Ｔｐと、過去読み長Ｔｑと、過去の操作量ｕの変化量ｄｕの時系列データである操作変化量時系列｛ｄｕ（ｔ）｝とに基づいて、操作変化量ｄｕの算出に用いられる補正目標偏差ｅ＊（ｔ）を算出する。過去読み長Ｔｑとは、補正目標偏差ｅ＊（ｔ）を算出するにあたり、計測部１０２によって過去に計測された制御量計測値ｙ０の時系列データ｛ｙ０（ｔ）｝と、応答補正部１１１が過去に予測した制御量ｙの予測値の時系列データ｛ｙｂ（ｔ）｝とをどこまで遡るかを決定するための時間長である。補正目標偏差ｅ＊（ｔ）の算出方法の詳細については後述する。
【００２７】
なお、以降では、操作量ｕの変化量ｄｕを「操作変化量ｄｕ」とも表す。また、過去に計測された制御量計測値ｙ０の時系列データ｛ｙ０（ｔ）｝を「過去計測値時系列｛ｙ０（ｔ）｝」とも表し、過去に予測した制御量ｙの予測値の時系列データ｛ｙｂ（ｔ）｝を「過去予測時系列｛ｙｂ（ｔ）｝」とも表す。各ｙｂ（ｔ）は、各時刻ｔで予測した、当該時刻ｔにおける制御量ｙの予測値（後述する第１の応答予測値）である。｛ｙｂ（ｔ）｝の算出方法の詳細については後述する。
【００２８】
操作変化量算出部１１２は、制御周期Ｔｃ毎に、応答補正部１１１により算出された補正目標偏差ｅ＊（ｔ）に基づいて、操作変化量ｄｕを算出する。操作変化量算出部１１２は、例えば、ｄｕ（ｔ−３Ｔｃ）、ｄｕ（ｔ−２Ｔｃ）、ｄｕ（ｔ−Ｔｃ）という順序で操作変化量ｄｕ（ｔ）を算出し、出力する。なお、操作変化量ｄｕは、制御周期Ｔｃ毎に操作量ｕが変化した量である。
【００２９】
加算器１１３は、計測部１０２から出力された操作量現在値ｕ０と、操作変化量算出部１１２から出力された操作変化量ｄｕとを加算して、新たな操作量ｕを算出する。そして、加算器１１３は、この操作量ｕを制御対象プラント２０に出力する。この操作量ｕは、ｕ（ｔ）＝ｕ０＋ｄｕ（ｔ）＝ｕ（ｔ−Ｔｃ）＋ｄｕ（ｔ）で算出される。
【００３０】
タイマ１０５は、制御周期Ｔｃ毎に、目標値先読み部１０１と計測部１０２とを動作させる。なお、目標値先読み部１０１と計測部１０２とが制御周期Ｔｃ毎に動作することで、操作量更新部１０４も制御周期Ｔｃ毎に動作する。
【００３１】
＜目標値先読み部１０１の動作＞
次に、目標値先読み部１０１の動作について、図２を参照しながら説明する。図２は、目標値先読み部１０１の動作の一例を説明するための図である。
【００３２】
図２に示すように、目標値先読み部１０１は、目標値時系列｛ｒ（ｔ）｝と、先読み長Ｔｐとが入力されると、現在時刻ｔから先読み長後の時刻ｔ＋Ｔｐにおける先読み目標値ｒ（ｔ＋Ｔｐ）を出力する。なお、図２におけるＳＶは制御量の目標値を表す。
【００３３】
このように、目標値先読み部１０１は、目標値時系列｛ｒ（ｔ）｝のうち、先読み長後の時刻ｔ＋Ｔｐにおける目標値ｒ（ｔ＋Ｔｐ）を出力する。
【００３４】
なお、図２に示す例では、目標値時系列｛ｒ（ｔ）｝が直線によって表される場合を示しているが、これに限られない。目標値時系列｛ｒ（ｔ）｝は任意の曲線や矩形等によって表されても良い。特に、目標値時系列｛ｒ（ｔ）｝は、時刻ｔに応じて周期的に変化する曲線によって表されても良い。また、目標値時系列｛ｒ（ｔ）｝は、予め設定されていても良いし、未来の目標値ｒ（ｔ）が随時更新されても良い。
【００３５】
＜応答補正部１１１の動作＞
次に、応答補正部１１１の動作について、図３を参照しながら説明する。図３は、応答補正部１１１の動作の一例を説明するための図（その１）である。
【００３６】
図３に示すように、応答補正部１１１は、プラント応答モデル｛Ｓ（ｔ）｝と、先読み目標偏差ｅ０（ｔ＋Ｔｐ｜ｔ）と、先読み長Ｔｐと、過去読み長Ｔｑと、操作変化量時系列｛ｄｕ（ｔ）｝と、制御量現在値ｙ０（ｔ）とが入力されると、以下のステップＳ１〜ステップＳ４により補正目標偏差ｅ＊（ｔ）を算出し、出力する。なお、図３におけるＰＶは制御量を表し、ＭＶは操作量を表し、ｄＭＶは操作変化量を表す。
【００３７】
ステップＳ１：応答補正部１１１は、過去の操作変化量ｄｕによって制御量現在値ｙ０がＴｐ後に変化すると予測される値を先読み応答補正値ｙｎ（ｔ）として算出する。なお、例えば、現在時刻をｔとした場合、過去の操作変化量ｄｕは、ｄｕ（ｔ−Ｔｃ）、ｄｕ（ｔ−２Ｔｃ）等と表される。
【００３８】
ここで、一例として、プラント応答モデル｛Ｓ（ｔ）｝がステップ応答モデルである場合における先読み応答補正値ｙｎ（ｔ）の算出方法について説明する。
【００３９】
時刻ｔで予測した、時刻での制御量の予測値を一般化予測値ｙｎ，Ｃ（ｓ｜ｔ）として、応答補正部１１１は、以下の式（１）で一般化予測値ｙｎ，Ｃ（ｓ｜ｔ）を計算する。
【００４０】
【数１】
2020021411.tif 000003
ここで、Ｍは、一般化予測値ｙｎ，Ｃ（ｓ｜ｔ）の計算に使用するモデルの長さ（モデル区間）である。
【００４１】
このとき、現在時刻ｔに対応する第１の応答予測値ｙｎ，Ｂ（ｔ）をｙｎ，Ｂ（ｔ）＝ｙｎ，Ｃ（ｔ｜ｔ）、未来時刻ｔ＋Ｔｐに対応する第２の応答予測値ｙｎ，Ａ（ｔ）をｙｎ，Ａ（ｔ）＝ｙｎ，Ｃ（ｔ＋Ｔｐ｜ｔ）として、応答補正部１１１は、ｙｎ（ｔ）＝ｙｎ，Ａ（ｔ）−ｙｎ，Ｂ（ｔ）により先読み応答補正値ｙｎ（ｔ）を算出する。なお、上述したｙｂ（ｔ）は時刻ｔにおける第１の応答予測値であり、ｙｂ（ｔ）＝ｙｎ，Ｃ（ｔ｜ｔ）＝ｙｎ，Ｂ（ｔ）である。
【００４２】
ステップＳ２：次に、応答補正部１１１は、先読み目標偏差ｅ０（ｔ＋Ｔｐ｜ｔ）を先読み応答補正値ｙｎ（ｔ）によって補正した先読み補正目標偏差ｅｆ＊（ｔ）として、ｅｆ＊（ｔ）＝ｒ（ｔ＋Ｔｐ）−（ｙ０（ｔ）＋ｙｎ（ｔ））＝ｅ０（ｔ＋Ｔｐ｜ｔ）−ｙｎ（ｔ）により算出する。
【００４３】
ステップＳ３：次に、応答補正部１１１は、制御量現在値ｙ０と、制御量予測値ｙｐ（ｔ｜ｔ−Ｔｑ）との差を過去読み補正値ｅｂ＊（ｔ）として、ｅｂ＊（ｔ）＝ｙ０（ｔ）−ｙｐ（ｔ｜ｔ−Ｔｑ）により算出する。ここで、制御量予測値ｙｐ（ｔ｜ｔ−Ｔｑ）は、過去時刻ｔ−Ｔｑで予測した、現在時刻ｔでの制御量の予測値である。
【００４４】
ここで、制御量予測値ｙｐ（ｔ｜ｔ−Ｔｑ）の算出方法について、図４を参照しながら説明する。図４は、応答補正部１１１の動作の一例を説明するための図（その２）である。
【００４５】
図４に示すように、応答補正部１１１は、過去読み長Ｔｑと、過去計測値時系列｛ｙ０（ｔ）｝と、過去予測時系列｛ｙｂ（ｔ）｝とを入力して、以下の式により制御量予測値ｙｐ（ｔ｜ｔ−Ｔｑ）を算出する。
【００４６】
ｙｐ（ｔ｜ｔ−Ｔｑ）＝ｙ０（ｔ−Ｔｑ）＋（ｙｂ（ｔ）−ｙｂ（ｔ−Ｔｑ））
すなわち、過去予測時系列｛ｙｂ（ｔ）｝はプラント応答モデル｛Ｓ（ｔ）｝と制御装置１０が出力した操作変化量｛ｄｕ（ｔ）｝とに基づいて算出されており、過去の制御量計測値ｙ０（ｔ−Ｔｑ）は実際に計測された値であるから、上記の過去時刻ｔ−Ｔｑにおける現在時刻ｔでの制御量予測値ｙｐ（ｔ｜ｔ−Ｔｑ）は、過去時刻ｔ−Ｔｑから現在時刻ｔに至るまで、プラント応答モデル｛Ｓ（ｔ）｝と操作変化量｛ｄｕ（ｔ）｝とによって正しい予測が行えるという前提の下で算出された制御量の予測値であると言うことができる。したがって、現在時刻ｔで実際に計測された制御量現在値ｙ０（ｔ）と、制御量予測値ｙｐ（ｔ｜ｔ−Ｔｑ）との間に誤差が発生するとすれば、この誤差は、プラント応答モデル｛Ｓ（ｔ）｝と実際のプラント応答との間のズレや何等かの外乱の影響等を表していると言うことができる。このため、上述したように、この誤差を過去読み補正値ｅｂ＊（ｔ）として、ｅｂ＊（ｔ）＝ｙ０（ｔ）−ｙｐ（ｔ｜ｔ−Ｔｑ）＝（ｙ０（ｔ）−ｙ０（ｔ−Ｔｑ））−（ｙｂ（ｔ）−ｙｂ（ｔ−Ｔｑ））により算出する。
【００４７】
図３に戻る。ステップＳ４：最後に、応答補正部１１１は、先読み目標偏差ｅｆ＊（ｔ）を過去読み補正値ｅｂ＊（ｔ）で補正した補正目標偏差ｅ＊（ｔ）を、ｅ＊（ｔ）＝ｅｆ＊（ｔ）−ｅｂ＊（ｔ）により算出する。
【００４８】
ここで、一例として、一般化予測値ｙｎ，Ｃの時系列データ（以降、「予測時系列」とも表す。）を記憶する予測時系列記憶部１２１と、過去計測値時系列を記憶する過去計測値時系列記憶部１２２と、過去予測時系列を記憶する過去予測時系列記憶部１２３とを応答補正部１１１が利用して、補正目標偏差ｅ＊を算出する場合について、図５を参照しながら説明する。図５は、応答補正部１１１の動作の一例を説明するための図（その３）である。なお、予測時系列記憶部１２１、過去計測値時系列記憶部１２２及び過去予測時系列記憶部１２３は、例えば、補助記憶装置やＲＡＭ（Random Access Memory）等の記憶装置を用いて実現可能である。
【００４９】
図５に示すように、予測時系列記憶部１２１には、現在時刻をｔとして、時刻ｔ−Δｔから未来の時刻ｔ＋Ｔｂまでの制御量の予測値（一般化予測値）ｙｎ，Ｃ（ｔ−Δｔ｜ｔ），ｙｎ，Ｃ（ｔ｜ｔ），ｙｎ，Ｃ（ｔ＋Δｔ｜ｔ），・・・，ｙｎ，Ｃ（ｔ＋Ｔｂ｜ｔ）が記憶されている。なお、Ｔｂは、予測時系列記憶部１２１に記憶される一般化予測値ｙｎ，Ｃの長さ（時間長）を決める定数であり、Ｔｂ＝Ｎ１Δｔ（Ｎ１は、任意の正の整数）であるものとする。また、Δｔは、予測間隔であり、Δｔ＝Ｔｃであるものとする。
【００５０】
また、過去計測値時系列記憶部１２２には、現在時刻をｔとして、時刻ｔから過去の時刻ｔ−Ｔｅまでの制御量計測値ｙ０（ｔ），ｙ０（ｔ−Δｔ），・・・，ｙ０（ｔ−Ｔｅ）が記憶されている。なお、Ｔｅは、過去計測値時系列記憶部１２２に記憶される制御量計測値ｙ０の長さ（時間長）を決める定数であり、Ｔｅ＝Ｎ２Δｔ（Ｎ２は、任意の正の整数）であるものとする。ここで、Ｎ２＝Ｎ１であっても良い。
【００５１】
更に、過去予測時系列記憶部１２３には、現在時刻をｔとして、時刻ｔから過去の時刻ｔ−Ｔｅまでの制御量の予測値（第１の応答予測値）ｙｂ（ｔ），ｙｂ（ｔ−Δｔ），・・・，ｙｂ（ｔ−Ｔｅ）が記憶されている。ここで、ｙｂ（ｔ）＝ｙｎ，Ｂ（ｔ）＝ｙｎ，Ｃ（ｔ｜ｔ）であることから、第１の応答予測値ｙｂ（ｔ）＝ｙｎ，Ｂ（ｔ）とは、現在時刻ｔで予測した時刻ｓの一般化予測値ｙｎ，Ｃ（ｓ｜ｔ）のうち、ｓ＝ｔでの一般化予測値ｙｎ，Ｃ（ｔ｜ｔ）のことである。
【００５２】
このとき、図５に示すように、先読み応答補正値ｙｎ（ｔ）は、予測時系列記憶部１２１に記憶されているｙｎ，Ａ（ｔ）＝ｙｎ，Ｃ（ｔ＋Ｔｐ｜ｔ）と、ｙｎ，Ｂ（ｔ）＝ｙｎ，Ｃ（ｔ｜ｔ）とを用いて、ｙｎ（ｔ）＝ｙｎ，Ａ（ｔ）−ｙｎ，Ｂ（ｔ）により算出される。これにより、この先読み応答補正値ｙｎ（ｔ）を用いて、先読み補正目標偏差ｅｆ＊（ｔ）は、ｅｆ＊（ｔ）＝ｅ０（ｔ＋Ｔｐ｜ｔ）−ｙｎ（ｔ）により算出される。
【００５３】
また、図５に示すように、過去計測値時系列記憶部１２２に記憶されているｙ０（ｔ）及びｙ０（ｔ−Ｔｑ）と、過去予測時系列記憶部１２３に記憶されているｙｂ（ｔ）及びｙｂ（ｔ−Ｔｑ）とを用いて、過去読み補正値ｅｂ＊（ｔ）は、ｅｂ＊（ｔ）＝（ｙ０（ｔ）−ｙ０（ｔ−Ｔｑ））−（ｙｂ（ｔ）−ｙｂ（ｔ−Ｔｑ））により算出される。
【００５４】
以上により、補正目標偏差ｅ＊（ｔ）は、ｅ＊（ｔ）＝ｅｆ＊（ｔ）−ｅｂ＊（ｔ）により算出される。このように、予測時系列記憶部１２１と、過去計測値時系列記憶部１２２と、過去予測時系列記憶部１２３とを用いることで、応答補正部１１１は、少ない計算量と少ないメモリとで補正目標偏差ｅ＊を計算することができる。
【００５５】
また、予測時系列記憶部１２１及び過去予測時系列記憶部１２３は、操作変化量ｄｕが応答補正部１１１に入力される度に、時系列更新部１２４によって更新される。同様に、過去計測値時系列記憶部１２２は、制御量現在値ｙ０が応答補正部１１１に入力される度に、時系列更新部１２４によって更新される。
【００５６】
なお、応答補正部１１１は、補正目標偏差ｅ＊（ｔ）を、ｅ＊（ｔ）＝ｅｆ＊（ｔ）−ｅｂ＊（ｔ）／Ｔｑにより算出しても良い。これにより、例えば、過去読み長Ｔｑが非常に大きい値である場合に、ｅｂ＊（ｔ）も大きくなってしまうことに対する影響を緩和させることができる。
【００５７】
＜予測時系列記憶部１２１の更新処理＞
ここで、時系列更新部１２４が予測時系列記憶部１２１を更新する処理について、図６を参照しながら説明する。図６は、予測時系列記憶部１２１の更新処理の一例を説明するためのフローチャートである。以降では、予測時系列記憶部１２１に記憶されている時刻ｔでの一般化予測値ｙｎ，Ｃを、時刻ｔ＋Δｔでの一般化予測値ｙｎ，Ｃに更新する場合について説明する。
【００５８】
ステップＳ１１：時系列更新部１２４は、予測時系列記憶部１２１に記憶されている時刻ｔでの一般化予測値ｙｎ，Ｃを時刻Δｔだけシフトする。
【００５９】
例えば、図７（ａ）に示すように、ｙｎ，Ｃ（ｔ−Δ｜ｔ），ｙｎ，Ｃ（ｔ｜ｔ），ｙｎ，Ｃ（ｔ＋Δ｜ｔ），・・・，ｙｎ，Ｃ（ｔ＋Ｔｐ｜ｔ），・・・，ｙｎ，Ｃ（ｔ＋Ｔｂ｜ｔ）が予測時系列記憶部１２１に記憶されており、それぞれの相対位置ｍが−１，０，１，・・・，Ｎ＝Ｎ１であるものとする。この場合、時系列更新部１２４は、相対位置ｍ≧０以上の一般化予測値ｙｎ，Ｃの相対位置ｍを−１する。すなわち、時系列更新部１２４は、相対位置ｍ＝０であるｙｎ，Ｃ（ｔ｜ｔ）を相対位置ｍ＝−１に、相対位置ｍ＝１であるｙｎ，Ｃ（ｔ＋Δｔ｜ｔ）を相対位置ｍ＝０に順にシフトする。以降も同様に、時系列更新部１２４は、相対位置ｍ＝Ｎであるｙｎ，Ｃ（ｔ＋Ｔｂ｜ｔ）を相対位置ｍ＝Ｎ−１にシフトするまで、各ｙｎ，Ｃの相対位置ｍを順にシフトする。
【００６０】
ステップＳ１２：時系列更新部１２４は、最終時刻（すなわち、相対位置ｍ＝Ｎ）における一般化予測値ｙｎ，Ｃを更新する。時刻ｔで予測した最終時刻ｔ＋ＮΔｔ＋Δｔにおける一般化予測値ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）は、例えば、時刻ｔ＋ＮΔｔ以前における一般化予測値ｙｎ，Ｃを用いて、例えば、
【００６１】
【数２】
2020021411.tif 000004
により推定する。これは、時刻ｔにおける時刻ｔ＋ＮΔｔ−（ｊ−１）Δｔでの一般化予測値ｙｎ，Ｃに対して重みａｊを掛けて和を取った式である。
【００６２】
一般化予測値ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）は、これ以外にも、例えば、時刻ｔで予測した時刻ｔ＋ＮΔｔの一般化予測値ｙｎ，Ｃをそのまま使う場合、すなわち、ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）＝ｙｎ，Ｃ（ｔ＋ＮΔｔ｜ｔ）とする場合も考えられる。
【００６３】
また、例えば、速度変化を考慮して、時刻ｔ＋ＮΔｔにおける一般化予測値ｙｎ，Ｃと、時刻ｔ＋ＮΔｔ−Δｔの一般化予測値ｙｎ，Ｃとを外挿して、ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）＝（１＋ｈ）×ｙｎ，Ｃ（ｔ＋ＮΔｔ｜ｔ）−ｈ×ｙｎ，Ｃ（ｔ＋ＮΔｔ−Δｔ｜ｔ），ｈ≧０とする場合も考えられる。この場合、ｈ＝１とすれば、時刻ｔ＋ＮΔｔにおける一般化予測値ｙｎ，Ｃと、時刻ｔ＋ＮΔｔ−Δｔにおける一般化予測値ｙｎ，Ｃとの差がΔｔだけ継続すると推定することに相当する。
【００６４】
以上により、図７（ｂ）に示すように、予測時系列記憶部１２１の相対位置Ｎがｙｎ，Ｃ（ｔ＋Ｔｂ＋Δｔ｜ｔ）＝ｙｎ，Ｃ（ｔ＋ＮΔｔ＋Δｔ｜ｔ）に更新される。
【００６５】
ステップＳ１３：時系列更新部１２４は、最新の操作変化量ｄｕ（ｔ＋Δｔ）の影響を反映する。すなわち、図７（ｃ）に示すように、時系列更新部１２４は、相対位置ｍ＝０〜Ｎまでの各一般化予測値ｙｎ，Ｃ（ｔ＋（ｍ＋１）Δｔ｜ｔ）に対して、Ｓ（ｍΔｔ）ｄｕ（ｔ＋Δｔ）を加える。
【００６６】
具体的には、相対位置ｍ＝０の一般化予測値ｙｎ，Ｃ（ｔ＋Δｔ｜ｔ）に対しては、Ｓ（０）ｄｕ（ｔ＋Δｔ）を加える。また、相対位置ｍ＝１の一般化予測値ｙｎ，Ｃ（ｔ＋２Δｔ｜ｔ）に対しては、Ｓ（Δｔ）ｄｕ（ｔ＋Δｔ）を加える。ｍ≧３の場合も同様である。
【００６７】
ステップＳ１４：時系列更新部１２４は、予測時系列記憶部１２１に記憶されている各一般化予測値ｙｎ，Ｃを時刻ｔ＋Δｔの予測時系列とする。すなわち、上記のＳ１３により、ｍ＝０〜Ｎまでの各一般化予測値ｙｎ，Ｃは、ｙｎ，Ｃ（ｔ＋Δｔ＋ｍΔｔ｜ｔ＋Δｔ）＝Ｓ（ｍΔｔ）ｄｕ（ｔ＋Δｔ）＋ｙｎ，Ｃ（ｔ＋（ｍ＋１）Δｔ｜ｔ）と表せる。
【００６８】
そこで、ｔ´＝ｔ＋Δｔとすれば、図７（ｄ）に示すように、相対位置ｍ＝−１の一般化予測値はｙｎ，Ｃ（ｔ´−Δｔ｜ｔ´）、相対位置ｍ＝０の一般化予測値はｙｎ，Ｃ（ｔ´｜ｔ´）、相対位置ｍ＝１の一般化予測値はｙｎ，Ｃ（ｔ´＋Δｔ｜ｔ´）と表せる。ｍ≧２の場合も同様に、ｙｎ，Ｃ（ｔ´＋ｍΔｔ｜ｔ´）と表せる。これにより、予測時系列記憶部１２１に記憶されている時刻ｔでの一般化予測値ｙｎ，Ｃが、時刻ｔ＋Δｔでの一般化予測値ｙｎ，Ｃに更新される。
【００６９】
＜過去計測値時系列記憶部１２２の更新処理＞
次に、時系列更新部１２４が過去計測値時系列記憶部１２２を更新する処理について、図８を参照しながら説明する。図８は、過去計測値時系列記憶部１２２の更新処理の一例を説明するためのフローチャートである。以降では、過去計測値時系列記憶部１２２に記憶されている時刻ｔでの過去計測値時系列を、時刻ｔ＋Δｔでの過去計測値時系列に更新する場合について説明する。
【００７０】
ステップＳ２１：時系列更新部１２４は、過去計測値時系列記憶部１２２に記憶されている制御量計測値ｙ０を時刻Δｔだけシフトする。
【００７１】
例えば、図９（ａ）に示すように、ｙ０（ｔ），ｙ０（ｔ−Δｔ），・・・，ｙ０（ｔ−Ｔｑ），・・・，ｙ０（ｔ−Ｔｅ＋Δｔ），ｙ０（ｔ−Ｔｅ）が過去計測値時系列記憶部１２２に記憶されており、それぞれの相対位置ｍが０，１，・・・，Ｎ−１，Ｎ＝Ｎ２であるものとする。この場合、時系列更新部１２４は、相対位置Ｎ−１以下の制御量計測値ｙ０の相対位置ｍを＋１する。すなわち、時系列更新部１２４は、相対位置ｍ＝Ｎ−１であるｙ０の相対位置を相対位置ｍ＝Ｎに、相対位置ｍ＝Ｎ−２であるｙ０の相対位置を相対位置ｍ＝Ｎ−１に順にシフトする。以降も同様に、時系列更新部１２４は、相対位置ｍ＝０であるｙ０を相対位置ｍ＝１にシフトするまで、各ｙ０の相対位置ｍを順にシフトする。
【００７２】
ステップＳ２２：時系列更新部１２４は、最新の制御量計測値ｙ０（ｔ＋Δｔ）を反映する。すなわち、例えば、図９（ｂ）に示すように、時系列更新部１２４は、過去計測値時系列記憶部１２２の各記憶領域のうちの最新時刻（すなわち、相対位置＝０）の記憶領域に対して、最新の制御量計測値ｙ０（ｔ＋Δｔ）をセットする。
【００７３】
ステップＳ２３：時系列更新部１２４は、過去計測値時系列記憶部１２２を更新する。すなわち、例えば、図９（ｃ）に示すように、時系列更新部１２４は、ｔ´＝ｔ＋Δｔとして、過去計測値時系列記憶部１２２に記憶されている各制御量計測値ｙ０を時刻ｔ´＝ｔ＋Δｔでの過去計測値時系列とする。これにより、過去計測値時系列記憶部１２２に記憶されている時刻ｔでの過去計測値時系列が、時刻ｔ´＝ｔ＋Δｔでの過去計測値時系列に更新される。
【００７４】
＜過去予測時系列記憶部１２３の更新処理＞
次に、時系列更新部１２４が過去予測時系列記憶部１２３を更新する処理について、図１０を参照しながら説明する。図１０は、過去予測時系列記憶部１２３の更新処理の一例を説明するためのフローチャートである。以降では、過去予測時系列記憶部１２３に記憶されている時刻ｔでの過去予測時系列を、時刻ｔ＋Δｔでの過去予測時系列に更新する場合について説明する。
【００７５】
ステップＳ３１：時系列更新部１２４は、過去予測時系列記憶部１２３に記憶されている予測値（第１の応答予測値）ｙｂを時刻Δｔだけシフトする。
【００７６】
例えば、図１１（ａ）に示すように、ｙｂ（ｔ），ｙｂ（ｔ−Δｔ），・・・，ｙｂ（ｔ−Ｔｑ），・・・，ｙｂ（ｔ−Ｔｅ＋Δｔ），ｙｂ（ｔ−Ｔｅ）が過去予測時系列記憶部１２３に記憶されており、それぞれの相対位置ｍが０，１，・・・，Ｎ−１，Ｎ＝Ｎ２であるものとする。この場合、時系列更新部１２４は、相対位置Ｎ−１以下の予測値ｙｂの相対位置ｍを＋１する。すなわち、時系列更新部１２４は、相対位置ｍ＝Ｎ−１であるｙｂの相対位置を相対位置ｍ＝Ｎに、相対位置ｍ＝Ｎ−２であるｙｂの相対位置を相対位置ｍ＝Ｎ−１に順にシフトする。以降も同様に、時系列更新部１２４は、相対位置ｍ＝０であるｙｂを相対位置ｍ＝１にシフトするまで、各ｙｂの相対位置ｍを順にシフトする。
【００７７】
ステップＳ３２：時系列更新部１２４は、最新の制御量の予測値ｙｎ，Ｃ（ｔ＋Δｔ｜ｔ＋Δｔ）＝ｙｂ（ｔ＋Δｔ）を反映する。すなわち、例えば、図１１（ｂ）に示すように、時系列更新部１２４は、過去予測時系列記憶部１２３の各記憶領域のうちの最新時刻（すなわち、相対位置＝０）の記憶領域に対して、最新の制御量の予測値ｙｎ，Ｃ（ｔ＋Δｔ｜ｔ＋Δｔ）＝ｙｂ（ｔ＋Δｔ）をセットする。
【００７８】
ステップＳ３３：時系列更新部１２４は、過去予測時系列記憶部１２３を更新する。すなわち、例えば、図１１（ｃ）に示すように、時系列更新部１２４は、ｔ´＝ｔ＋Δｔとして、過去予測時系列記憶部１２３に記憶されている各予測値ｙｂを時刻ｔ´＝ｔ＋Δｔでの過去予測時系列とする。これにより、過去予測時系列記憶部１２３に記憶されている時刻ｔでの過去予測時系列が、時刻ｔ´＝ｔ＋Δｔでの過去予測時系列に更新される。
【００７９】
＜操作変化量算出部１１２の動作＞
次に、操作変化量算出部１１２の動作について、図１２を参照しながら説明する。図１２は、操作変化量算出部１１２の動作の一例を説明するための図である。
【００８０】
図１２に示すように、操作変化量算出部１１２は、補正目標偏差ｅ＊（ｔ）が入力されると、この補正目標偏差ｅ＊（ｔ）に対して所定の制御ゲインを乗じることで操作変化量ｄｕ（ｔ）を算出し、算出したｄｕ（ｔ）を出力する。例えば、所定の制御ゲインとして積分ゲインｋＩを用いる場合、操作変化量ｄｕ（ｔ）は、ｄｕ（ｔ）＝ｋＩ×ｅ＊（ｔ）で算出される。
【００８１】
ただし、補正目標偏差ｅ＊（ｔ）に対して所定の制御ゲインを乗じた結果、操作変化量ｄｕの上限値ｄｕｍａｘを超える場合、操作変化量算出部１１２は、ｄｕｍａｘを操作変化量ｄｕ（ｔ）とする。同様に、補正目標偏差ｅ＊（ｔ）に対して所定の制御ゲインを乗じた結果、操作変化量ｄｕの下限値ｄｕｍｉｎを下回る場合、操作変化量算出部１１２は、ｄｕｍｉｎを操作変化量ｄｕ（ｔ）とする。
【００８２】
＜制御装置１０を用いた制御ループ＞
ここで、本実施形態に係る制御装置１０を用いて、制御対象プラント２０の制御ループを構成した場合（より正確には、閉ループを近似的に表現した場合）の一例を図１３に示す。図１３は、第一の実施形態に係る制御装置１０を用いて、制御対象プラント２０の制御ループを構成した場合の一例を示す図である。
【００８３】
図１３に示す例では、以下のように制御ループを構成した。
【００８４】
・制御対象プラント２０の実プラント伝達関数：Ｐ＊（ｓ）
・制御器：Ｋ（ｓ）＝ｋＩ×１／ｓ
・第１の応答予測値ｙｎ，Ｂ（ｔ）を生成するフィルタＢ：ＦＢ（ｓ）
・第２の応答予測値ｙｎ，Ａ（ｔ）を生成するフィルタＡ：ＦＡ（ｓ；Ｔｐ）
・先読み目標値ｒ（ｔ＋Ｔｐ）を生成するフィルタＣ：ＦＣ（ｓ；Ｔｐ）
・過去読み補正値ｅｂ＊（ｔ）を生成するフィルタＤ：ＦＤ（ｓ；Ｔｑ）
図１３に示す例では、フィルタＣが目標値先読み部１０１に相当する。制御器Ｋ（ｓ）が操作変化量算出部１１２及び加算器１１３に相当する。なお、フィルタＡ、フィルタＢ及びフィルタＤは、応答補正部１１１が実行する計算を表し、フィルタＡは先読み長Ｔｐが出力に影響し、フィルタＤは過去読み長Ｔｑが出力に影響する。
【００８５】
このとき、フィルタＣは、制御周期Ｔｃ毎に、目標値時系列｛ｒ（ｔ）｝を入力して、先読み目標値ｒ（ｔ＋Ｔｐ）を出力する。
【００８６】
制御器は、制御周期Ｔｃ毎に、算出した操作変化量ｄｕを操作量現在値ｕ０に加算して、操作量ｕ（ｔ）を出力する。このとき、制御器は、上述したように、補正目標偏差ｅ＊に対して所定の制御ゲインを乗ずることで、操作変化量ｄｕを算出する。このため、制御器は、積分器で近似することができ、Ｋ（ｓ）＝ｋＩ×１／ｓとなる。なお、制御器には、ｅ＊（ｔ）＝ｒ（ｔ＋Ｔｐ）−（ｙｎ，Ａ（ｔ）＋ｗ（ｔ）＋ｅｂ＊（ｔ））が入力される。ここで、ｗ（ｔ）＝ｙ（ｔ）−ｙｎ，Ｂ（ｔ）である。
【００８７】
また、実プラント伝達関数Ｐ＊（ｓ）は、外乱をｖ（ｔ）として、ｕ（ｔ）＋ｖ（ｔ）を入力して、制御量ｙ（ｔ）を出力する。
【００８８】
図１３に示す例では、全体的な動作として、制御量ｙ（ｔ）がフィルタＡとフィルタＢとによって、時刻Ｔｐ経過後の制御量の推定値（すなわち、第２の応答予測値ｙｎ，Ａ（ｔ）及び第１の応答予測値ｙｎ，Ｂ（ｔ））に補正される。また、フィルタＤによって過去の予測誤差（すなわち、制御量計測値ｙ０（ｔ）と、この制御量計測値ｙ０に対応する制御量予測値ｙｂ（ｔ）との誤差）が過去読み補正値ｅｂ＊（ｔ）により補正される。
【００８９】
そして、補正された制御量が、先読み目標値ｒ（ｔ＋Ｔｐ）と一致するように制御器によって制御される。したがって、本実施形態に係る制御装置１０は、現在時刻ｔからＴｐ経過後の制御量が目標値と一致するような操作量を、更に過去の予測誤差を補正した上で、従来のモデル予測制御のような最適化演算なしに、決定していると言うことができる。
【００９０】
ここで、例えば、プラント応答モデルをＰ（ｓ）とし、先読み長Ｔｐをステップ応答が収束すると見做せるほど十分長い値とすると、ＦＡ（ｓ；Ｔｐ）は定常ゲインＰ（０）に等しくなる。このため、本実施形態に係る制御装置１０では、先読み長Ｔｐを、無限大も含めた任意の値に設定することができるものの、例えば、ステップ応答が目標値に収束するまでの値とすることが好ましい。特に、ステップ応答が目標値に到達する８０％程度までの値とすることが好ましい。更に、例えば、ステップ応答の目標値が周期的に変化するような場合には、この変化周期に合せて十分小さい値とすることが好ましい。
【００９１】
なお、先読み長Ｔｐを０と設定した場合、未来の目標値と未来の予測値との差である先読み目標偏差ではなく、現在の目標値と現在の制御量との差である目標偏差を過去読み補正値によって補正した補正目標偏差が算出されることになる。一方で、先読み長Ｔｐを十分に大きい値と設定した場合、目標値と未来の予測値の収束値との差である終端応答目標偏差を過去読み補正値によって補正した補正目標偏差が算出されることになる。
【００９２】
以上のように、本実施形態に係る制御装置１０は、任意に設定された先読み長Ｔｐ及び過去読み長Ｔｑを用いて、先読み長Ｔｐにおける目標値ｒ（ｔ＋Ｔｐ）を先読みし、この先読みした目標値ｒ（ｔ＋Ｔｐ）に制御量を追従させるような操作量を、過去読み長Ｔｑを用いた過去の予測誤差を補正した上で、決定することができる。このため、本実施形態に係る制御装置１０によれば、外乱による制御量への影響を効果的に抑制することができるようになる。
【００９３】
特に、プラントの運用時に実際に起こり得る外乱の時定数や継続時間等に合せて、過去読み長Ｔｑを適切に設定することで、より高い外乱抑制効果を得ることができるようになる。例えば、時定数の長い外乱が想定される場合には長い過去読み長Ｔｑを設定し、時定数の短い外乱が想定される場合には短い過去読み長Ｔｑを設定する等である。
【００９４】
なお、過去読み長Ｔｑは、予め想定される外乱に合せて設定されても良いし、実際のプラントの運用時におけるプロセス変動の緩急等に合せて適宜設定が調整されても良い。
【００９５】
＜制御装置１０のハードウェア構成＞
次に、本実施形態に係る制御装置１０のハードウェア構成について、図１４を参照しながら説明する。図１４は、第一の実施形態に係る制御装置１０のハードウェア構成の一例を示す図である。
【００９６】
図１４に示すように、本実施形態に係る制御装置１０は、入力装置２０１と、表示装置２０２と、外部Ｉ／Ｆ２０３と、通信Ｉ／Ｆ２０４と、ＲＯＭ（Read Only Memory）２０５と、ＲＡＭ２０６と、ＣＰＵ２０７と、補助記憶装置２０８とを有する。これら各ハードウェアは、バス２０９により相互に通信可能に接続されている。
【００９７】
入力装置２０１は、例えば各種ボタンやタッチパネル、キーボード、マウス等であり、制御装置１０に各種の操作を入力するのに用いられる。表示装置２０２は、例えばディスプレイ等であり、制御装置１０による各種の処理結果を表示する。なお、制御装置１０は、入力装置２０１及び表示装置２０２の少なくとも一方を有していなくても良い。
【００９８】
外部Ｉ／Ｆ２０３は、外部装置とのインタフェースである。外部装置には、記録媒体２０３ａ等がある。制御装置１０は、外部Ｉ／Ｆ２０３を介して、記録媒体２０３ａの読み取りや書き込みを行うことができる。記録媒体２０３ａには、例えば、ＳＤメモリカード(SD memory card）やＵＳＢメモリ、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）等がある。なお、制御装置１０が有する各機能部を実現する１以上のプログラムは、記録媒体２０３ａに格納されていても良い。
【００９９】
通信Ｉ／Ｆ２０４は、制御装置１０が他の装置とデータ通信を行うためのインタフェースである。なお、制御装置１０が有する各機能部を実現する１以上のプログラムは、通信Ｉ／Ｆ２０４を介して、所定のサーバ等から取得（ダウンロード）されても良い。
【０１００】
ＲＯＭ２０５は、電源を切ってもデータを保持することができる不揮発性の半導体メモリである。ＲＡＭ２０６は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＣＰＵ２０７は、例えば補助記憶装置２０８やＲＯＭ２０５からプログラムやデータをＲＡＭ２０６に読み出して、各種処理を実行する演算装置である。
【０１０１】
補助記憶装置２０８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性のメモリである。補助記憶装置２０８に格納されているプログラムやデータには、例えば、制御装置１０が有する各機能部を実現する１以上のプログラムや基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上で動作する各種アプリケーションプログラム等がある。
【０１０２】
本実施形態に係る制御装置１０は、図１４に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、図１４では、制御装置１０が１台のコンピュータで実現される場合のハードウェア構成例を示したが、制御装置１０は複数台のコンピュータで実現されていても良い。
【０１０３】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態に係る制御装置１０は、図１５に示すように、先読み長Ｔｐを用いない。これは、第一の実施形態に係る制御装置１０において、Ｔｐ＝０とした場合と同様である。
【０１０４】
先読み長Ｔｐを用いないことで、上述したように、第二の実施形態に係る制御装置１０は、現在の目標値と現在の制御量との差である目標偏差を過去読み補正値によって補正した補正目標偏差を算出することができる。
【０１０５】
［実施例］
次に、実施例について説明する。以降の実施例では、第一の実施形態に係る制御装置１０によって制御対象プラント２０を制御する場合について説明する。この実施例においては、目標値が一定のレギュレーション制御において、過去読み長Ｔｑを用いた補正（過去読み補正値）を加えることによって外乱に対する応答性が改善することを示す。
【０１０６】
まず、制御対象プラント２０のステップ応答モデルを図１６に示す。図１６に示すように、本実施例では、おおよそｔ＝１０〜１２頃に、応答が定常値に達するステップ応答モデルを用いる。
【０１０７】
また、本実施例では、国際公開第２０１５／０６０１４９号に開示されている制御系設計支援装置にて制御ゲインを設計するものとする。この制御系設計支援装置に入力される各情報（制御仕様を示す情報）を図１７（ａ）〜図１７（ｃ）に示す。図１７（ａ）は、各操作時刻における操作変化量上下限である。図１７（ｂ）は、各制御時刻における許容目標偏差の制約である。図１７（ｃ）は、制御応答波形である。これらの各情報が上記の制御系設計支援装置に入力されることで、図１８に示す領域Ｒが出力される。領域Ｒは、補正目標偏差ｅ＊と操作変化量ｄｕとが、図１７（ａ）〜図１７（ｂ）に示した各情報を満たす領域、すなわち、制御ゲインの許容範囲を表すグラフである。
【０１０８】
ここで、本実施例では、図１８に示される領域Ｒを参考に、この領域Ｒの中心付近を通る値１．７４６を制御ゲインＫＩとして選択したものとする。すなわち、ｄｕ（ｔ）＝１．７４６×ｅ＊（ｔ）となる。
【０１０９】
このとき、制御周期Ｔｃ＝０．６として、従来のＰＩＤ制御によって制御対象プラント２０を制御した結果を図１９に示す。図１９（ａ）〜図１９（ｃ）に示すように、目標値ｒ（ｔ）は０で固定されており、外乱ｖ（ｔ）はランプ関数状に変化した後に一定値となる。このとき、制御量ｙ（ｔ）は、外乱ｖ（ｔ）の影響によって、一旦０．６付近まで上昇し、操作量ｕ（ｔ）が−１２付近まで低下してそれ以上の上昇を防いでいる。外乱ｖ（ｔ）が一定値となった後は、制御量ｙ（ｔ）は目標値ｒ（ｔ）＝０に収束している。
【０１１０】
また、制御周期Ｔｃ＝０．６、先読み長Ｔｐ＝１．８、過去読み長Ｔｑ＝１．８として、第一の実施形態に係る制御装置１０によって制御対象プラント２０を制御した結果を図２０に示す。図２０（ａ）〜図２０（ｃ）に示すように、図１９と同様に、目標値ｒ（ｔ）は０で固定されており、外乱ｖ（ｔ）はランプ関数状に変化した後に一定値となる。このとき、制御量ｙ（ｔ）は、外乱ｖ（ｔ）の影響によって、一旦０．５付近まで上昇し、操作量ｕ（ｔ）が−１２付近まで低下してそれ以上の上昇を防いでいる。外乱ｖ（ｔ）が一定値となった後は、制御量ｙ（ｔ）は目標値ｒ（ｔ）＝０に収束している。
【０１１１】
図１９と図２０とを比較すると、図２０の方が制御量ｙ（ｔ）のピーク値が約０．８小さく、外乱の影響を約６２％削減できている。
【０１１２】
次に、目標値ｒ（ｔ）及び外乱ｖ（ｔ）は図１９及び図２０と同様で、制御周期Ｔｃ＝０．３として、従来のＰＩＤ制御によって制御対象プラント２０を制御した結果を図２１に示す。図２１（ａ）〜図２１（ｃ）に示すように、制御量ｙ（ｔ）は、外乱ｖ（ｔ）の影響によって、一旦０．６付近まで上昇し、操作量ｕ（ｔ）が−１２付近まで低下してそれ以上の上昇を防いでいる。外乱ｖ（ｔ）が一定値となった後は、制御量ｙ（ｔ）は目標値ｒ（ｔ）＝０に収束している。図１９と比較した場合、操作量の変更周期が短くなっているものの、制御応答自体をそれほど変化していない。
【０１１３】
次に、目標値ｒ（ｔ）及び外乱ｖ（ｔ）は図２１と同様で、制御周期Ｔｃ＝０．３、先読み長Ｔｐ＝０．９、過去読み長Ｔｑ＝０．９として、第一の実施形態に係る制御装置１０によって制御対象プラント２０を制御した結果を図２２に示す。図２２（ａ）〜図２２（ｃ）に示すように、制御量ｙ（ｔ）は、外乱ｖ（ｔ）の影響によって、一旦０．３付近まで上昇し、操作量ｕ（ｔ）が−１２付近まで低下してそれ以上の上昇を防いでいる。外乱ｖ（ｔ）が一定値となった後は、制御量ｙ（ｔ）は目標値ｒ（ｔ）＝０に収束している。
【０１１４】
図２１と図２２とを比較すると、図２２の方が制御量ｙ（ｔ）のピーク値が約０．４小さく、外乱の影響を約５７％削減できている。
【０１１５】
以上のように、本実施形態に係る制御装置１０によれば、過去読み長Ｔｑによる補正によって、外乱による制御量への影響を効果的に抑制できていることがわかる。
【０１１６】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１１７】
１０        制御装置
２０        制御対象プラント
１０１      目標値先読み部
１０２      計測部
１０３      差分器
１０４      操作量更新部
１１１      応答補正部
１１２      操作変化量算出部
１１３      加算器
【図１】
2020021411.tif 000005
【図２】
2020021411.tif 000006
【図３】
2020021411.tif 000007
【図４】
2020021411.tif 000008
【図５】
2020021411.tif 000009
【図６】
2020021411.tif 000010
【図７】
2020021411.tif 000011
【図８】
2020021411.tif 000012
【図９】
2020021411.tif 000013
【図１０】
2020021411.tif 000014
【図１１】
2020021411.tif 000015
【図１２】
2020021411.tif 000016
【図１３】
2020021411.tif 000017
【図１４】
2020021411.tif 000018
【図１５】
2020021411.tif 000019
【図１６】
2020021411.tif 000020
【図１７】
2020021411.tif 000021
【図１８】
2020021411.tif 000022
【図１９】
2020021411.tif 000023
【図２０】
2020021411.tif 000024
【図２１】
2020021411.tif 000025
【図２２】
2020021411.tif 000026