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

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

▶ 富士電機株式会社の特許一覧

特開2024-126120制御装置、制御方法、及びプログラム
<>
  • 特開-制御装置、制御方法、及びプログラム 図1
  • 特開-制御装置、制御方法、及びプログラム 図2
  • 特開-制御装置、制御方法、及びプログラム 図3
  • 特開-制御装置、制御方法、及びプログラム 図4
  • 特開-制御装置、制御方法、及びプログラム 図5
  • 特開-制御装置、制御方法、及びプログラム 図6
  • 特開-制御装置、制御方法、及びプログラム 図7
  • 特開-制御装置、制御方法、及びプログラム 図8
  • 特開-制御装置、制御方法、及びプログラム 図9
  • 特開-制御装置、制御方法、及びプログラム 図10
  • 特開-制御装置、制御方法、及びプログラム 図11
  • 特開-制御装置、制御方法、及びプログラム 図12
  • 特開-制御装置、制御方法、及びプログラム 図13
  • 特開-制御装置、制御方法、及びプログラム 図14
  • 特開-制御装置、制御方法、及びプログラム 図15
  • 特開-制御装置、制御方法、及びプログラム 図16
  • 特開-制御装置、制御方法、及びプログラム 図17
  • 特開-制御装置、制御方法、及びプログラム 図18
  • 特開-制御装置、制御方法、及びプログラム 図19
  • 特開-制御装置、制御方法、及びプログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126120
(43)【公開日】2024-09-20
(54)【発明の名称】制御装置、制御方法、及びプログラム
(51)【国際特許分類】
   G05B 13/02 20060101AFI20240912BHJP
【FI】
G05B13/02 Z
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023034303
(22)【出願日】2023-03-07
(11)【特許番号】
(45)【特許公報発行日】2023-05-30
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】丹下 吉雄
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA05
5H004GA07
5H004GB01
5H004HA07
5H004HB01
5H004KA33
5H004KA35
(57)【要約】
【課題】制御性能の低下を抑制できる技術を提供すること。
【解決手段】本開示の一態様による制御装置は、制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、第1の制御周期T毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uを出力する主制御部と、前記第1の制御周期Tよりも短い第2の制御周期T毎に、前記制御対象に対する次の操作量uを出力する高速補完制御部と、を有し、前記高速補完制御部は、前記主制御部から前記操作量uが出力された直後の時刻tにおける前記制御量と、所定の先読み長Tと、前記目標値とに基づいて、前記先読み長T後における目標偏差の予測値である予測目標偏差eを計算し、前記予測目標偏差eと所定のゲインkとに基づいて計算した瞬時的な操作変化量の平均と前記操作量uとの和を前記操作量uとして計算する。
【選択図】図1
【特許請求の範囲】
【請求項1】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、
第1の制御周期T毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uを出力する主制御部と、
前記第1の制御周期Tよりも短い第2の制御周期T毎に、前記制御対象に対する次の操作量uを出力する高速補完制御部と、を有し、
前記高速補完制御部は、
前記主制御部から前記操作量uが出力された直後の時刻tにおける前記制御量と、所定の先読み長Tと、前記目標値とに基づいて、前記先読み長T後における目標偏差の予測値である予測目標偏差eを計算し、
前記予測目標偏差eと所定のゲインkとに基づいて計算した瞬時的な操作変化量の平均と前記操作量uとの和を前記操作量uとして計算する、制御装置。
【請求項2】
前記高速補完制御部は、
前記予測目標偏差eに対して前記ゲインkを乗じることで、前記瞬時的な操作変化量を計算する、請求項1に記載の制御装置。
【請求項3】
前記先読み長Tと前記ゲインkは、
前記モデル予測制御に用いられる予測モデルに基づいて計算される、請求項2に記載の制御装置。
【請求項4】
前記高速補完制御部は、
前記時刻tにおける前記制御量から前記先読み長T後に前記目標値に到達するような線形な制御軌道を用いて、前記目標値と、現在時刻tにおける前記制御量から前記制御軌道により予測される時刻t+Tの前記制御量との差を前記予測目標偏差eとして計算する、請求項1乃至3の何れか一項に記載の制御装置。
【請求項5】
前記高速補完制御部は、
前記時刻tにおける前記制御量から現在時刻tにおける前記制御量までの線形な制御軌道により予測される時刻t+Tの前記制御量と、前記目標値と差を前記予測目標偏差eとして計算する、請求項1乃至3の何れか一項に記載の制御装置。
【請求項6】
前記高速補完制御部は、
前記時刻tにおける初期値を0として、前記第2の制御周期T毎にインクリメントされるカウンタkを用いて、前記カウンタkに関する前記予測目標偏差e(k)と前記瞬時的な操作変化量の平均とを計算する、請求項1に記載の制御装置。
【請求項7】
前記高速補完制御部は、
前記主制御部から出力される前記操作量uに適用される上下限範囲を用いて、前記上下限範囲を満たす前記操作量uを計算する、請求項1に記載の制御装置。
【請求項8】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置が、
第1の制御周期T毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uを出力する主制御手順と、
前記第1の制御周期Tよりも短い第2の制御周期T毎に、前記制御対象に対する次の操作量uを出力する高速補完制御手順と、を実行し、
前記高速補完制御手順は、
前記主制御手順で前記操作量uが出力された直後の時刻tにおける前記制御量と、所定の先読み長Tと、前記目標値とに基づいて、前記先読み長T後における目標偏差の予測値である予測目標偏差eを計算し、
前記予測目標偏差eと所定のゲインkとに基づいて計算した瞬時的な操作変化量の平均と前記操作量uとの和を前記操作量uとして計算する、制御方法。
【請求項9】
制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置に、
第1の制御周期T毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uを出力する主制御手順と、
前記第1の制御周期Tよりも短い第2の制御周期T毎に、前記制御対象に対する次の操作量uを出力する高速補完制御手順と、を実行させ、
前記高速補完制御手順は、
前記主制御手順で前記操作量uが出力された直後の時刻tにおける前記制御量と、所定の先読み長Tと、前記目標値とに基づいて、前記先読み長T後における目標偏差の予測値である予測目標偏差eを計算し、
前記予測目標偏差eと所定のゲインkとに基づいて計算した瞬時的な操作変化量の平均と前記操作量uとの和を前記操作量uとして計算する、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置、制御方法、及びプログラムに関する。
【背景技術】
【0002】
制御対象の制御量を目標値に追従させることを目的とする制御方式の1つとして、モデル予測制御が知られている。例えば、PLC(Programmable Logic Controller)やDCS(Distributed Control System)等のエッジデバイス上でモデル予測制御を実現しつつ、モデル予測制御に必要な制御パラメータも自動調整する技術が提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第7014330号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、モデル予測制御の制御周期は、制御対象の時定数に応じて適切に定める必要がある。予測の効果を十分に発揮するためには時定数に応じて或る程度長い制御周期を定める必要があるが、長過ぎる制御周期は制御性能が低下することがあるためである。
【0005】
本開示は、上記の点に鑑みてなされたもので、制御性能の低下を抑制できる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様による制御装置は、制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、第1の制御周期T毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uを出力する主制御部と、前記第1の制御周期Tよりも短い第2の制御周期T毎に、前記制御対象に対する次の操作量uを出力する高速補完制御部と、を有し、前記高速補完制御部は、前記主制御部から前記操作量uが出力された直後の時刻tにおける前記制御量と、所定の先読み長Tと、前記目標値とに基づいて、前記先読み長T後における目標偏差の予測値である予測目標偏差eを計算し、前記予測目標偏差eと所定のゲインkとに基づいて計算した瞬時的な操作変化量の平均と前記操作量uとの和を前記操作量uとして計算する。
【発明の効果】
【0007】
制御性能の低下を抑制できる技術が提供される。
【図面の簡単な説明】
【0008】
図1】第一の実施形態に係る制御装置の全体構成の一例を示す図である。
図2】プラント応答関数の動作の一例を説明するための図である。
図3】プラント応答関数の計算処理の一例を説明するためのフローチャートである。
図4】モデルパラメータの推定処理の一例を説明するためのフローチャートである。
図5】先読み応答補正部の動作の一例を説明するための図である。
図6】操作変化量計算部の動作の一例を説明するための図である。
図7】制御パラメータの計算処理の一例を説明するためのフローチャートである。
図8】先読み長の計算概要の一例を説明するための図である。
図9】先読み長の計算処理の一例を説明するためのフローチャートである。
図10】高速補完制御部の動作の一例を説明するための図である。
図11】補完操作量の計算処理の一例を説明するためのフローチャートである。
図12】予測目標偏差の一例を説明するための図(その1)である。
図13】予測目標偏差の一例を説明するための図(その2)である。
図14】高速補完制御部を用いた場合の応答の一例を説明するための図である。
図15】第一の実施形態に係る制御装置のハードウェア構成の一例を示す図である。
図16】第二の実施形態に係る制御装置の全体構成の一例を示す図である。
図17】実施例におけるプラント応答を示す図である。
図18】実施例において高速補完制御が無効である場合の制御量、目標値及び操作量を示す図である。
図19】実施例において高速補完制御が有効である場合の制御量、目標値及び操作量を示す図(その1)である。
図20】実施例において高速補完制御が有効である場合の制御量、目標値及び操作量を示す図(その2)である。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。以下では、モデル予測制御の制御周期が長過ぎることによる制御性能の低下を抑制できる制御装置10について説明する。なお、以下で説明する制御装置10は、例えば、PC(パーソナルコンピュータ)等と比較して計算資源が乏しいエッジデバイス(PLCやDCS等)であることを想定する。
【0010】
ここで、一般に、時定数が長い制御対象に対してあまりに短い制御周期を定めた場合、予測の効果が十分に発揮できないことがある。また、多くのメモリを消費してしまったり、モデルが正しく同定できなかったりする傾向がある。他方で、長過ぎる制御周期を定めた場合、制御タイミングの間に生じた目標値(制御量に対する目標値)の変更や外乱等の影響を制御に反映できず、制御性能が低下してしまうことがある。このため、制御対象の時定数に応じて適切に長い制御周期を定める必要があるものの、制御周期が長過ぎることによって制御性能が低下してしまうことがあるというジレンマが存在する。
【0011】
そこで、以下で説明する制御装置10では、モデル予測制御の制御器(後述する主制御部104)に加えて、モデル予測制御の制御周期T(以下、「主制御周期T」ともいう。)よりも短い制御周期T(以下、「高速制御周期T」ともいう。)で制御対象を高速に制御する制御器(後述する高速補完制御部105)を設けた構成としている。これにより、モデル予測制御の主制御周期Tが長い場合であっても、高速制御周期T毎に制御対象が高速に制御されるため、例えば、制御量に対する目標値の変更や変動の早い外乱の影響等にも素早く追従が可能となり、制御性能の低下を抑制することができる。また、制御装置10の計算資源が乏しく、主制御周期Tを長くせざるを得ない場合であっても、制御性能の低下を抑制することができる(言い換えれば、制御装置10の計算資源が乏しい場合であっても、制御性能の低下を抑えつつ、長い主制御周期Tを定めたモデル予測制御を行うことができる。更に、モデル予測制御では抑制が不十分な制御偏差(例えば、オーバーシュート等による制御偏差)の改善も期待できる。なお、制御量の例としては制御対象の温度、目標値の例としては設定温度等が挙げられる。ただし、これらはいずれも一例であって、制御量及び目標値は、温度及び設定温度に限られるものではなく、制御対象における任意の制御量及び当該制御量の目標となる目標値を用いることが可能である。
【0012】
以下では、制御対象としてプラントを想定し、制御装置10が制御対象プラント20を制御する場合について説明する。ただし、制御対象はプラントに限られるものではなく、任意の機器、装置、設備等を制御対象とすることが可能である。
【0013】
[第一の実施形態]
以下、第一の実施形態について説明する。
【0014】
<制御装置10の全体構成例>
まず、第一の実施形態に係る制御装置10の全体構成例について、図1を参照しながら説明する。図1は、第一の実施形態に係る制御装置10の全体構成の一例を示す図である。
【0015】
図1に示すように、第一の実施形態に係る制御装置10は、モデルパラメータ推定部101と、計測部102と、差分器103と、主制御部104と、高速補完制御部105と、第1のタイマ106と、第2のタイマ107と、切替器108とを有する。これら各部は、例えば、制御装置10にインストールされた1以上のプログラムが、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)等のプロセッサに実行させる処理により実現される。
【0016】
第1のタイマ106は、主制御周期T毎に、モデルパラメータ推定部101及び主制御部104の動作トリガーとして動作する。なお、主制御周期Tとは、モデル予測制御により制御対象プラント20を制御する周期のことであり、その値は予め設定される。
【0017】
第2のタイマ107は、高速制御周期T毎に、計測部102及び高速補完制御部105の動作トリガーとして動作する。なお、高速制御周期Tとは、nを予め決められた任意の自然数としてnT=Tと表される周期であり、高速補完制御部105により制御対象プラント20を制御する周期のことである。高速制御周期Tの値も主制御周期Tと同様に予め設定される。
【0018】
計測部102は、高速制御周期T毎に、制御対象プラント20の制御量yを計測(観測)し、計測した制御量yを出力する。なお、制御対象プラント20の制御量yは、操作量uと外乱vとに応じて決定される。外乱vの例としては、制御量yが温度である場合には外気温の低下又は上昇等が挙げられる。
【0019】
また、計測部102は、高速制御周期T毎に、切替器108から出力された操作量uを取得(観測)し、取得した操作量uを出力する。なお、操作量uの例としては、制御量yが温度である場合に熱媒体の流量を制御するバルブの開閉量等が挙げられる。
【0020】
以下、制御量yが計測された時刻tを明示する場合、y(t)と表す。同様に、操作量uが取得された時刻tを明示する場合、u(t)と表す。その他の変数についても同様に、時刻tを明示する場合はその変数の後に「(t)」を表記するものとする。
【0021】
差分器103は、目標値rと、制御量yとの差(偏差)を目標偏差eとして出力する。時刻tにおける目標偏差e(t)は、e(t)=r(t)-y(t)で計算される。なお、以下では、一例として、目標値は一定、すなわちr(t)=定数であるものとする。ただし、これは一例であって、目標値r(t)は時刻tに応じて異なり得るものであってもよい。
【0022】
主制御部104は、主制御周期T毎に、モデル予測制御により制御対象プラント20を制御する。すなわち、主制御部104は、主制御周期T毎に、制御対象プラント20のプラント応答モデルを表すプラント応答関数{Sθ(t)}を用いて、当該制御対象プラント20に対する操作量uを計算し、出力する。以下では、一例として、主制御部更新カウンタと呼ばれるカウンタがメモリ内に記憶されており、操作量uが計算及び出力される毎に、当該主制御部更新カウンタが更新(例えば、1が加算)されるものとする。なお、プラント応答関数{Sθ(t)}には、モデルパラメータ推定部101によって推定対象となるモデルパラメータθが含まれる。
【0023】
ここで、主制御部104には、制御パラメータ計算部111と、先読み応答補正部112と、操作変化量計算部113と、加算器114とが含まれる。
【0024】
制御パラメータ計算部111は、プラント応答関数{Sθ(t)}と、調整係数α,βとを入力し、制御パラメータとして制御ゲインkと先読み長Tとを計算し、操作変化量計算部113と先読み応答補正部112とにそれぞれ出力する。ただし、制御パラメータ計算部111は、主制御部104に含まれていなくてもよい。
【0025】
先読み応答補正部112は、プラント応答関数{Sθ(t)}と、目標偏差e(t)と、過去の操作量uの変化量duの時系列データである操作変化量時系列{du(t)}と、先読み長Tとに基づいて、目標偏差e(t)を補正した補正目標偏差e(t)を計算する。
【0026】
操作変化量計算部113は、補正目標偏差e(t)と制御ゲインkとに基づいて、操作変化量du(t)を計算する。操作変化量計算部113は、例えば、du(t-3T)、du(t-2T)、du(t-T)という順序で操作変化量du(t)を算出し、出力する。なお、操作変化量duは、主制御周期T毎に操作量uが変化した量である。
【0027】
加算器114は、計測部102から出力された操作量uと、操作変化量計算部113から取得された操作変化量duとを加算して、新たな操作量uを算出する。すなわち、加算器114は、任意の整数nに対してt=nを満たす時刻t毎に、新たな操作量u(t)=u(t-T)+du(t)を算出する。そして、加算器114は、この新たな操作量uを切替器108に出力する。
【0028】
モデルパラメータ推定部101は、主制御周期T毎に、制御量yと操作量uとを入力し、プラント応答関数{Sθ(t)}のモデルパラメータの推定値θestを算出し、出力する。以下では、プラント応答関数{Sθ(t)}に設定されているモデルパラメータθを「モデルパラメータ設定値θ」ともいう。なお、モデルパラメータの推定値θestを算出する際に、モデルパラメータの初期値θが入力されてもよい。
【0029】
高速補完制御部105は、高速制御周期T毎に、制御対象プラント20を制御する。すなわち、高速補完制御部105は、高速制御周期T毎に、制御対象プラント20に対する操作量uを計算し、出力する。ただし、或る整数n,nに対してt=nかつt=nとなる時刻tに関しては、u(t)=u(t)となる。
【0030】
切替器108は、操作量u又はuとuの両方を入力し、操作量uを制御対象プラント20に出力する。すなわち、切替器108は、任意の整数をn,nとして、t≠nかつt=nを満たす時刻t毎に操作量uを入力して操作量u=uを出力し、t=nかつt=nを満たす時刻t毎に操作量u及びuを入力して操作量u=u=uを出力する。
【0031】
なお、第一の実施形態に係る制御装置10は、例えば、主制御周期T毎に計算されたモデルパラメータや制御パラメータ(制御ゲイン、先読み長)をディスプレイ等の表示装置に逐次表示する表示部を有していてもよいし、これらのモデルパラメータや制御パラメータを通信ネットワークにより接続されるPC等といった端末の表示装置上に逐次表示させる表示制御部を有していてもよい。これにより、制御装置10のユーザや管理者(以降、「ユーザ等」とも表す。)は、モデルパラメータや制御パラメータのトレンドを知ることが可能となり、プラント応答モデルの同定具合や制御パラメータの調整具合を確認することができるようになる。また、プラント応答モデルに急激な変動が起きる場合にその兆候を発見することも可能となる。
【0032】
<プラント応答関数{Sθ(t)}の動作>
次に、プラント応答関数{Sθ(t)}の動作について、図2を参照しながら説明する。図2は、プラント応答関数{Sθ(t)}の動作の一例を説明するための図である。
【0033】
図2に示すように、プラント応答関数{Sθ(t)}は、モデルパラメータ設定値θと時刻tとが入力されると、初期時刻0から時間t経過後の時刻tにおける単位ステップ応答Sθ(t)を出力する。なお、単位ステップ応答とは、操作量を単位ステップ入力とした場合における応答(つまり、制御対象プラント20のプラント応答モデルの出力)のことである。
【0034】
<プラント応答関数{Sθ(t)}の計算>
次に、プラント応答関数{Sθ(t)}の単位ステップ応答Sθ(t)を計算する処理について、図3を参照しながら説明する。図3は、プラント応答関数{Sθ(t)}の計算処理の一例を説明するためのフローチャートである。なお、図3では、モデルパラメータ設定値θと時刻tとが入力されたものとする。
【0035】
ここで、本実施形態では、プラント応答関数Sθ(t)の計算モデルとして、制御量yについては過去N点の自己回帰、操作量uについては現在値と過去M点の移動平均を用いたARMA(autoregressive moving average)モデルを採用した場合について説明する。なお、N及びMは、例えば、ユーザ等によって予め設定される。ただし、これは一例であって、例えば、ARMAXモデル等の他のモデルを採用してもよい。
【0036】
このとき、モデルパラメータ設定値θを
【数1】
とする。モデルパラメータ設定値θの各要素は、以下の数2に示すARMAモデルの係数である。
【数2】
ここで、kはインデックスである。ただし、これは一例であって、例えば、過去L点(Lは予め設定された1以上の整数)の外乱vを考慮したモデルが用いられてもよい。
【0037】
ステップS11:主制御部104は、時刻を表す変数をτ、インデックスkにおける状態ベクトルをφ(k)として、時刻τと状態ベクトルφ(0)とを初期化する。また、主制御部104は、インデックスkをk=0に初期化する。
【0038】
ここで、状態ベクトルφ(k)は、
【数3】
と表される。
【0039】
なお、例えば、過去L点の外乱vを考慮する場合には、状態ベクトルφ(k)を、y(k)及びu(k)に加えてL個の外乱v(k)を要素として持つ状態ベクトルに拡大すればよい。
【0040】
主制御部104は、例えば、τ=0と初期化すると共に、
【数4】
と初期化する。すなわち、φ(0)はu(k)に相当する要素のみ1、他の要素は0に初期化される。これは、単位ステップ応答を模擬する際の初期値として設定していることを意味する。
【0041】
ステップS12:次に、主制御部104は、モデルパラメータ設定値θと状態ベクトルφ(k)とに基づいて制御量予測値y(k)を計算する。主制御部104は、例えば、y(k)=φ(k)Τθにより制御量予測値y(k)を計算する。ここで、Τは転置を表す。
【0042】
ステップS13:次に、主制御部104は、制御量予測値y(k)と状態ベクトルφ(k)とに基づいて、次のインデックス(つまり、k+1)における状態ベクトルφ(k+1)を更新する。主制御部104は、例えば、以下により状態ベクトルφ(k+1)を更新する。
【数5】
ここで、y(k)には上記のステップS12で計算した制御量予測値を設定し、u(k+1)には1を設定する。また、y(k-1),・・・,y(k-N+1)及びu(k),・・・,u(k-M+1)には、状態ベクトルφ(k)と同じ値を設定する(すなわち、状態ベクトルφ(k)に含まれるy(k-1),・・・,y(k-N+1)及びu(k),・・・,u(k-M+1)をそれぞれ設定する。)。
【0043】
ステップS14:次に、主制御部104は、時刻τをτ+ΔTに更新すると共に、インデックスkをk+1に更新する。ここで、ΔTはARMAモデルの1ステップの時間幅を表す。プラント応答関数の時間刻みΔTは、制御対象プラント20の時定数に応じて任意に設定することができるが、例えば、主制御周期Tと同一にすることが好適である。
【0044】
ステップS15:次に、主制御部104は、τ≧tであるか否かを判定する。そして、τ≧tであると判定されなかった場合(ステップS15でNO)、主制御部104は、ステップS12に戻る。これにより、τ≧tとなるまで、ステップS12~ステップS14が繰り返し実行される。
【0045】
一方で、τ≧tであると判定された場合(ステップS15でYES)、主制御部104は、処理を終了する。これにより、最終的に計算されたy(k)が単位ステップ応答Sθ(t)として得られる(つまり、Sθ(t)=y(k)が、ステップ応答関数{Sθ(t)}の時刻tにおける単位ステップ応答として計算される。)。
【0046】
<モデルパラメータθの推定>
次に、プラント応答関数{Sθ(t)}のモデルパラメータθを推定する処理(つまり、モデルパラメータ推定値θestを算出する処理)について、図4を参照しながら説明する。図4は、モデルパラメータθの推定処理の一例を説明するためのフローチャートである。図4では、現在時刻tにおける制御量y(t)と操作量u(t)とが入力されたものとして、或るインデックスkにおけるモデルパラメータ推定値θestを算出する場合について説明する。なお、このインデックスkは、図3でプラント応答関数の計算に用いたインデックスkとは独立した値であり、モデルパラメータ推定処理の実行時インデックスを表す。
【0047】
ステップS21:モデルパラメータ推定部101は、モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化するか否かを判定する。ここで、初期化すると判定される場合としては、例えば、モデルパラメータ推定値θestを初めて算出する場合(つまり、モデルパラメータ推定値θestの初回算出時)、ユーザ等により初期化指示が行われた場合等が挙げられる。
【0048】
モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定した場合(ステップS21でYES)、モデルパラメータ推定部101は、ステップS22に進む。一方で、モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定しなかった場合(ステップS21でNO)、モデルパラメータ推定部101は、ステップS23に進む。
【0049】
ステップS22:上記のステップS21でモデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定された場合、モデルパラメータ推定部101は、θest(0)=θ及びP(0)=Iと初期化し、更に制御量前回値y-1←y(t)と初期化すると共に、k←0と初期化する。ここで、θとしては、既にプラント応答関数{Sθ(t)}に設定されているモデルパラメータ設定値θを用いてもよいし、ユーザ等が事前に想定した初期値を用いてもよいし、全ての要素が0のベクトル等の固定の初期値を用いてもよい。また、Iとしては、単位行列としてもよいし、予め決められた任意の行列としてもよい。
【0050】
ステップS23:モデルパラメータ推定部101は、状態ベクトルφ(k-1)と操作量u(t)と制御量前回値y-1とに基づいて、状態ベクトルφ(k)を更新する。すなわち、モデルパラメータ推定部101は、以下により状態ベクトルφ(k)を更新する。
【数6】
ここで、y(k-1)にはy-1を設定し、u(k)にはu(t)を設定する。また、y(k-2),・・・,y(k-N)及びu(k-1),・・・,u(k-M)には、状態ベクトルφ(k-1)と同じ値を設定する(すなわち、状態ベクトルφ(k-1)に含まれるy(k-2),・・・,y(k-N)及びu(k-1),・・・,u(k-M)をそれぞれ設定する。)。更に、モデルパラメータ推定部101は、制御量前回値y-1←y(t)と更新する。
【0051】
なお、例えば、過去L点の外乱vを考慮する場合には、上述したように、状態ベクトルφ(k)を、y(k)及びu(k)に加えてL個の外乱v(k)を要素として持つ状態ベクトルに拡大し、外乱に対する共分散行列とモデルパラメータの推定とを行うようにすればよい。
【0052】
ステップS24:次に、モデルパラメータ推定部101は、モデルパラメータ推定値θest(k-1)と状態ベクトルφ(k)と制御量y(t)とに基づいて、予測誤差ε(k)を計算する。なお、モデルパラメータ推定値θest(k-1)は前回(つまり、k-1のとき)推定したモデルパラメータθの推定値である。
【0053】
モデルパラメータ推定部101は、例えば、以下により予測誤差ε(k)を計算する。
【0054】
y(k)=y(t)
ε(k)=y(k)-φ(k)Τθest(k-1)
【0055】
ステップS25:次に、モデルパラメータ推定部101は、共分散行列P(k)を更新する。モデルパラメータ推定部101は、例えば、以下により共分散行列P(k)を更新する。
【数7】
ここで、P(k-1)は前回(つまり、k-1のとき)得られた共分散行列である。また、λは0<λ≦1を取る忘却係数であり、予め設定された値である。忘却係数λは過去データを忘却するための係数であり、0に近いほど急激に過去データの影響が減少し、1に近いほど過去データの影響が保持される。
【0056】
ステップS26:次に、モデルパラメータ推定部101は、モデルパラメータ推定値θestを更新するか否かを判定する。ここで、モデルパラメータ推定値θestを更新すると判定される場合としては、例えば、上記のステップS22での初期化時から所定の期間が経過するまでモデルパラメータ推定値θestが更新されなかった場合、ユーザ等により更新指示が行われた場合等が挙げられる。
【0057】
モデルパラメータ推定値θestを更新すると判定した場合(ステップS26でYES)、モデルパラメータ推定部101は、ステップS27に進む。一方で、モデルパラメータ推定値θestを更新すると判定しなかった場合(ステップS26でNO)、モデルパラメータ推定部101は、ステップS27を実行せずに終了する。
【0058】
ステップS27:上記のステップS26でモデルパラメータ推定値θestを更新すると判定された場合、モデルパラメータ推定部101は、モデルパラメータ推定値θest(k)を更新する。モデルパラメータ推定部101は、例えば、以下によりモデルパラメータ推定値θest(k)を更新する。
【数8】
ステップS28:そして、モデルパラメータ推定部101は、モデルパラメータ推定処理の実行時インデックスkをk+1に更新する。
【0059】
<先読み応答補正部112の動作>
次に、先読み応答補正部112の動作について、図5を参照しながら説明する。図5は、先読み応答補正部112の動作の一例を説明するための図である。
【0060】
図5に示すように、先読み応答補正部112は、プラント応答関数{Sθ(t)}と、目標偏差e(t)と、操作変化量時系列{du(t)}と、先読み長Tとが入力されると、制御量が過去の操作変化量によって現在時刻tからT経過後に変化すると予測される値を先読み応答補正値y(t)として算出する。なお、先読み長Tは制御パラメータ計算部111により計算される。
【0061】
そして、先読み応答補正部112は、先読み応答補正値y(t)により目標偏差e(t)を補正した補正目標偏差e(t)を出力する。ここで、補正目標偏差e(t)は、e(t)=r(t)-(y(t)+y(t))=e(t)-y(t)で計算される。なお、先読み応答補正値y(t)は、例えば、国際公開第2016/092872号や特開2020-21411号公報等に記載されている手法により算出することができる。
【0062】
<操作変化量計算部113の動作>
次に、操作変化量計算部113の動作について、図6を参照しながら説明する。図6は、操作変化量計算部113の動作の一例を説明するための図である。
【0063】
図6に示すように、操作変化量計算部113は、補正目標偏差e(t)と制御ゲインkとが入力されると、補正目標偏差e(t)に対して制御ゲインkを乗じて操作変化量du(t)を出力する。すなわち、操作変化量du(t)は、du(t)=k×e(t)で算出される。
【0064】
ただし、補正目標偏差e(t)に対して制御ゲインkを乗じた結果が上限値dumaxを超える場合、操作変化量計算部113は、dumaxを操作変化量du(t)とする。同様に、補正目標偏差e(t)に対して制御ゲインkを乗じた結果が下限値duminを下回る場合、操作変化量計算部113は、duminを操作変化量du(t)とする。これにより、上下限範囲に対するリミッターを設けることができる。なお、操作量u(t)と操作変化量duとが加算器114によって加算された後の操作量uが所定の上下限範囲を逸脱しないように、dumax及びduminを都度設定してもよい。
【0065】
<制御パラメータの計算>
次に、制御パラメータとして制御ゲインkと先読み長Tを計算する処理について、図7を参照しながら説明する。図7は、制御パラメータの計算処理の一例を説明するためのフローチャートである。なお、図7では、プラント応答関数{Sθ(t)}と調整係数α,βとが入力されたものとする。
【0066】
ステップS31:制御パラメータ計算部111は、プラント応答関数{Sθ(t)}と調整係数βとに基づいて、先読み長Tを計算する。制御パラメータ計算部111は、プラント応答関数{Sθ(t)}を用いて、十分長い値として予め設定された最終時刻Tmaxのプラント応答関数値Sθ(Tmax)に対して調整係数βを乗じた値にプラント応答関数値が等しくなる時点を先読み長T時点とする。すなわち、制御パラメータ計算部111は、以下により先読み長Tを計算する。
【0067】
Find T,where Sθ(T)=β×Sθ(Tmax
ここで、βは、0<β≦1であることが好ましい。なお、閉ループの応答が遅い場合には、調整係数βをより小さい値とすることで応答の早さを調整することができる。
【0068】
また、制御パラメータ計算部111は、先読み長T時点でのゲインgを以下により計算する。
【0069】
=Sθ(T
このように、先読み長Tに基づいて制御ゲインgを計算する。これにより、例えば、むだ時間と時定数が長い場合であっても、より早く応答させることが可能となる。
【0070】
なお、Tmaxは、プラント応答関数が収束するのに十分な値としてもよいし、メモリ上の制約等から定めた値であってもよい。又は、先読み応答補正部112で予測可能な期間の最大値をTmaxとしてもよい。
【0071】
ステップS32:そして、制御パラメータ計算部111は、先読み長T時点でのゲインgと調整係数αとに基づいて、制御ゲインkを計算する。制御パラメータ計算部111は、以下により制御ゲインkを計算する。
【数9】
すなわち、先読み長T時点でのゲインgの逆数に対して調整係数αを乗じた値を制御ゲインkとする。ここで、αは、0<α≦1であることが好ましい。また、εはゲインが大きくなりすぎるのを回避するための微小な非負の値であり、ε≧0を満たす。
【0072】
<先読み長Tの計算概要>
次に、上記のステップS31における先読み長Tの計算概要について、図8を参照しながら説明する。図8は、先読み長Tの計算概要の一例を説明するための図である。
【0073】
図8に示すように、プラント応答関数Sθ(t)の値が時刻0からTmaxまで徐々に変化していくが、或る時刻TにおいてSθ(T)=β×Sθ(Tmax)が成り立つ。そこで、このような時刻Tを先読み長とする。これにより、先読み長T時点におけるプラントの挙動が最終的なプラントの挙動と連動するため、無駄な操作量の変化を抑制することが可能となり、オーバーシュートやアンダーシュートの発生を抑制することができる。また、それに加えて、むだ時間や逆応答が生じる応答初期の期間を回避した先読み長を決定することが可能となる。
【0074】
なお、従来技術として公知のPID(Proportional-Integral-Differential)制御においては、むだ時間の大きさに応じて微分ゲインを大きくする必要があり、ノイズに対して弱いという欠点がある。例えば、Ziegler-Nicholsのステップ応答法による制御則では、k=1.2/(RL)、T=2L、T=0.5L、R=g/Tが用いられており、むだ時間Lに比例して微分時間Tが長く、微分強度が大きくなるため、結果的にノイズやインパルス状の外乱に脆弱な制御となってしまう。これに対して、本実施形態では、観測値の微分信号を用いないため、ノイズやむだ時間に対してロバストな制御を実現することができる。
【0075】
<先読み長Tの計算詳細>
次に、上記のステップS31における先読み長Tの計算詳細について、図9を参照しながら説明する。図9は、先読み長Tの計算詳細の一例を説明するためのフローチャートである。
【0076】
ステップS41:まず、制御パラメータ計算部111は、先読み長Tを探索するための変数をTとして、T←0とする。
【0077】
ステップS42:次に、制御パラメータ計算部111は、T≧Tmaxであるか否かを判定する。
【0078】
≧Tmaxであると判定した場合(ステップS42でYES)、制御パラメータ計算部111は、ステップS46に進む。一方で、T≧Tmaxであると判定しなかった場合(ステップS42でNO)、制御パラメータ計算部111は、ステップS43に進む。
【0079】
ステップS43:制御パラメータ計算部111は、Sθ(T)≧β×Sθ(Tmax)を満たすか否かを判定する。
【0080】
θ(T)≧β×Sθ(Tmax)を満たすと判定した場合(ステップS43でYES)、制御パラメータ計算部111は、ステップS45に進む。一方で、Sθ(T)≧β×Sθ(Tmax)を満たすと判定しなかった場合(ステップS43でNO)、制御パラメータ計算部111は、ステップS44に進む。
【0081】
ステップS44:制御パラメータ計算部111は、T←T+ΔTと更新し、ステップS42に戻る。これにより、T≧Tmax又はSθ(T)≧β×Sθ(Tmax)のいずれかを満たすまで、ステップS44が繰り返し実行される。
【0082】
ステップS45:Sθ(T)≧β×Sθ(Tmax)を満たすと判定した場合、制御パラメータ計算部111は、T←Tとする。すなわち、制御パラメータ計算部111は、Sθ(T)≧β×Sθ(Tmax)を満たすTを先読み長Tとする。
【0083】
ステップS46:T≧Tmaxであると判定しなかった場合、制御パラメータ計算部111は、T←γ×Tmaxとする。ここで、0<γ<1である。すなわち、Sθ(T)≧β×Sθ(Tmax)を満たすTが探索できなかった場合は、Tmaxに対してγを乗じた値を先読み長Tとする。
【0084】
<高速補完制御部105の動作>
次に、高速補完制御部105の動作について、図10を参照しながら説明する。図10は、高速補完制御部105の動作の一例を説明するための図である。
【0085】
図10に示すように、主制御周期T毎に主制御部104から操作量uが出力されるのに対して、高速補完制御部105は、高速制御周期T毎に、操作量uを出力する。ただし、或る整数n,nに対してt=nかつt=nとなる時刻tに関しては、u(t)=u(t)となる。これは、主制御部104及び高速補完制御部105はいずれも現在時刻tにおける制御量y(t)を基準に計算されるためである。以下では、主制御部104から出力される操作量uのことを「主制御操作量u」ともいい、高速補完制御部105から出力される操作量uのことを「補完操作量u」ともいう。
【0086】
<補完操作量uの計算>
次に、補完操作量uを計算する処理について、図11を参照しながら説明する。図11は、補完操作量uの計算処理の一例を説明するためのフローチャートである。なお、図11では、目標値rと、現在時刻tにおける制御量y(t)とが入力されたものとして、或るインデックスkにおける補完操作量uを計算する場合について説明する。なお、このインデックスkは、図3でプラント応答関数の計算に用いたインデックスkや図4でモデルパラメータθの推定に用いたインデックスkとは独立した値であり、補完操作量uの計算処理の実行時インデックスを表す。
【0087】
ステップS51:高速補完制御部105は、主制御部更新カウンタの値が変化(更新)されたか否かを判定する。言い換えれば、高速補完制御部105は、主制御部更新カウンタの値の変化により、主制御部104から主制御操作量uが出力されたか否かを判定する。なお、主制御部更新カウンタの値の変化により主制御操作量uが出力されたか否かを判定することは一例であって、主制御部更新カウンタを用いずに、主制御操作量uが出力されたか否かを判定してもよい。例えば、高速補完制御部105は、前回の主制御操作量uが出力されてから主制御周期Tが経過したか否かにより、主制御操作量uが出力されたか否かを判定してもよい。
【0088】
主制御部更新カウンタの値が変化したと判定した場合(ステップS51でYES)、高速補完制御部105は、ステップS52に進む。一方で、主制御部更新カウンタの値が変化したと判定しなかった場合(ステップS51でNO)、高速補完制御部105は、ステップS53に進む。
【0089】
ステップS52:高速補完制御部105は、y=y(t)、mdu(0)=0、k=0と初期化する。ここで、mdu(k)は、後述するように、インデックスkにおける平均操作変化量である。
【0090】
ステップS53:高速補完制御部105は、インデックスkをk←k+1と更新する。なお、インデックスkはカウンタの役割を持つため、例えば、「補完カウンタ」等と呼ばれてもよい。
【0091】
ステップS54:高速補完制御部105は、予測目標偏差e(k)を計算する。予測目標偏差e(k)とは、現在時刻tで予測される先読み長T後の暫定的な目標偏差のことである。高速補完制御部105は、例えば、以下の計算方法1又は計算方法2により予測目標偏差e(k)を計算する。なお、予測目標偏差e(k)の例については後述する。
【0092】
・予測目標偏差e(k)の計算方法1
高速補完制御部105は、以下により予測目標偏差e(k)を計算する。
【数10】
ここで、r(t)は現在時刻tの目標値、y(t)は現在時刻tの制御量である。
【0093】
・予測目標偏差e(k)の計算方法2
高速補完制御部105は、以下により予測目標偏差e(k)を計算する。
【数11】
ここで、r(t)は現在時刻tの目標値、y(t)は現在時刻tの制御量である。
【0094】
ステップS55:高速補完制御部105は、平均操作変化量mdu(k)を計算する。平均操作変化量mdu(k)は以下で計算される。
【数12】
ここで、du(k)は、瞬時的な操作変化量を表す瞬時操作変化量である。このように、平均操作変化量mdu(k)は、k=0以降の瞬時操作変化量du(k)の平均となっている。
【0095】
ステップS56:高速補完制御部105は、補完操作量uを計算する。インデックスkにおける補完操作量u(k)は、主制御操作量uと、平均操作変化量mdu(k)とを用いて、以下で計算される。
【数13】
ここで、umin及びumaxは操作量に対して課された上下限制約である。このumin及びumaxは、例えば、主制御部104から出力される操作量uに対して課されている上下限制約をそのまま用いてもよい。
【0096】
以上により、現在時刻tにおける補完操作量u(t)=u(k)が得られる。
【0097】
<計算方法1による予測目標偏差e(k)>
次に、上記のS54で計算方法1によって計算される予測目標偏差e(k)について、図12を参照しながら説明する。図12は、予測目標偏差e(k)の一例を説明するための図(その1)である。
【0098】
図12に示すように、計算方法1による予測目標偏差e(k)は、主制御部更新カウンタが更新された直後の時刻t=tにおける制御量y=y(t)から先読み長Tに目標値r(t+T)に到達するような線形な軌道(制御軌道)を考えたときに、目標値r(t+T)と、現在時刻tにおける制御量y(t)(つまり、高速補完制御部105の動作時の制御量y(t))から当該軌道により時刻t+Tの制御量を予測したときの値(予測制御量)との差として計算される。言い換えれば、計算方法1による予測目標偏差e(k)は、目標値r(t+T)と、現在時刻tにおける制御量y(t)に当該軌道を平行移動させたときの当該軌道上の時刻t+Tの制御量(予測制御量)との差として計算される。
【0099】
<計算方法2による予測目標偏差e(k)>
次に、上記のS54で計算方法2によって計算される予測目標偏差e(k)について、図13を参照しながら説明する。図13は、予測目標偏差e(k)の一例を説明するための図(その2)である。
【0100】
図13に示すように、計算方法2による予測目標偏差e(k)は、主制御部更新カウンタが更新された直後の時刻t=tにおける制御量y=y(t)から現在時刻tにおける制御量y(t)までの線形な軌道により時刻t+Tの制御量を予測したときの値(予測制御量)と、目標値r(t+T)との差として計算される。言い換えれば、計算方法2による予測目標偏差e(k)は、当該軌道を時刻t+Tまで延長したときの制御量(予測制御量)と、目標値r(t+T)との差として計算される。
【0101】
<高速補完制御部105を用いた場合の応答>
次に、高速補完制御部105を用いた場合の応答について、図14を参照しながら説明する。図14は、高速補完制御部105を用いた場合の応答の一例を説明するための図である。
【0102】
図14に示すように、主制御部104により先読み長T先の時点で目標偏差が0となるような制御が行われる場合、高速補完制御部105を用いた場合の応答でも、先読み長T先の時点で目標偏差が0となるような軌道に沿う制御が行われる。ただし、高速補完制御部105を用いた場合の応答は、主制御部104のみを用いた軌道とは必ずしも一致せず、例えば、よりオーバーシュートが抑制された軌道になることが考えられる。
【0103】
<制御装置10のハードウェア構成>
次に、本実施形態に係る制御装置10のハードウェア構成について、図15を参照しながら説明する。図15は、第二の実施形態に係る制御装置10のハードウェア構成の一例を示す図である。
【0104】
図15に示すように、第二の実施形態に係る制御装置10は、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これらの各ハードウェアは、それぞれがバス207により通信可能に接続される。
【0105】
入力装置201は、例えば、タッチパネルや各種ボタン等である。表示装置202は、例えば、表示パネル等である。なお、制御装置10は、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
【0106】
外部I/F203は、記録媒体203a等の外部装置とのインタフェースである。記録媒体203aとしては、例えば、SDメモリカード(Secure Digital memory card)やUSB(Universal Serial Bus)メモリカード等が挙げられる。
【0107】
通信I/F204は、制御装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ205は、例えば、CPUやMPU等の各種演算装置である。メモリ装置206は、例えば、SSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
【0108】
なお、図15に示すハードウェア構成は一例であって、制御装置10は、他のハードウェア構成を有していてもよい。例えば、制御装置10は、図示したハードウェア以外にも種々のハードウェアを有していてもよい。
【0109】
[第二の実施形態]
以下、第二の実施形態について説明する。なお、第二の実施形態では、第一の実施形態との相違点について説明し、第一の実施形態と同様としてよい構成要素についてはその説明を省略する。
【0110】
<制御装置10の全体構成例>
第二の実施形態に係る制御装置10の全体構成例について、図16を参照しながら説明する。図16は、第二の実施形態に係る制御装置10の全体構成の一例を示す図である。
【0111】
図16に示すように、第二の実施形態に係る制御装置10は、事前に推定したモデルパラメータθをプラント応答関数{Sθ(t)}に設定しておくことで、第一の実施形態で説明した全体構成例からモデルパラメータ推定部101を除いたものである。
【0112】
[実施例]
次に、実施例について説明する。本実施例では、一例として、第二の実施形態に係る制御装置10によって制御対象プラント20を制御する場合について説明する。
【0113】
本実施例では、主制御周期T=5[sec]、高速制御周期T=0.2[sec]と設定した。すなわち、高速補完制御部105は、主制御部104の25倍の速さで動作するものとした。また、操作量の上限umax=90、下限umin=0とし、調整係数はα=1.0、β=0.5とした。
【0114】
本実施例における制御対象プラント20のステップ応答を図17に示す。図17に示すように、本実施例では、ステップ応答が収束するまでにおよそ150[sec]掛かっている。このため、例えば、主制御周期をT=0.5[sec]とした場合、ステップ応答の収束までの予測にはおよそ300点の予測バッファが必要になる。一方で、本実施例では主制御周期をT=5[sec]としているため、ステップ応答の収束までの予測には30点の予測バッファで済む。したがって、主制御周期をT=5[sec]と長くしておくことにより、エッジデバイス等である制御装置10の予測バッファを約1/10に節約し、メモリ削減と共に計算時間も短縮することができる。
【0115】
本実施例における制御装置10との比較例として、第二の実施形態に係る制御装置10の高速補完制御部105を無効とした場合における制御量、目標値及び操作量を図18に示す。図18では、上段に制御量(PV)、目標値(SP)を、下段に操作量(MV)を示している。また、右図は、左図の一部の時間を切り出して拡大したものである。図18に示すように、高速補完制御を無効とし、主制御部104のみを用いた制御では、主制御周期T=5[sec]毎に階段上に操作量が変化している。
【0116】
予測目標偏差e(k)を計算方法1により計算するときの本実施例における制御装置10による制御量、目標値及び操作量(つまり、高速補完制御部105による高速補完制御が有効である場合における制御量、目標値及び操作量)を図19に示す。図19では、上段に制御量(PV)、目標値(SP)を、下段に操作量(MV)を示している。また、右図は、左図の一部の時間を切り出して拡大したものである。図19に示すように、図18と比較すると、制御量の目標値への追従性が向上しており、オーバーシュートが低減している。また、操作量の拡大図を見ると、操作量は主制御周期Tでの変化に加え、高速補完制御部105による高速制御周期Tでの変化が生じていることが確認できる。したがって、高速補完制御部105による高速補完制御を有効にすることにより、主制御部104のみを用いる場合よりも制御性能を向上させることができる。
【0117】
また、予測目標偏差e(k)を計算方法2により計算するときの本実施例における制御装置10による制御量、目標値及び操作量を図20に示す。図20では、上段に制御量(PV)、目標値(SP)を、下段に操作量(MV)を示している。また、右図は、左図の一部の時間を切り出して拡大したものである。図20に示すように、図18と比較すると、制御量の目標値への追従性が向上しており、オーバーシュートがほぼゼロになっている。また、操作量の拡大図を見ると、操作量は主制御周期Tでの変化に加え、高速補完制御部105による高速制御周期Tでの変化が生じていることが確認できる。したがって、高速補完制御部105による高速補完制御を有効にすることにより、主制御部104のみを用いる場合よりも制御性能を向上させることができる。
【0118】
なお、図19図20を比較すると、図20では操作量の変動が急速となっているが、これは予測目標偏差e(k)の計算方法2では制御量の時間方向の傾きに大きく影響されるためである。
【0119】
予測目標偏差e(k)の計算方法1と計算方法2ではオーバーシュート量と操作量の変動幅が異なっている。このため、操作量変動が大きくてもオーバーシュート量を抑えたい用途では計算方法2を、操作量変動をできるだけ抑制しつつオーバーシュート量もバランスよく抑制したい用途では計算方法1を用いることが好適である。例えば、PWM(Pulse Width Modulation)制御におけるON時間を操作量とするような電気的制御では操作量の変動が大きくとも問題が生じるケースは少ないため、計算方法2を用いることができる。一方で、流量の電動弁制御の開度を操作量とするような機械的制御では操作量の短期的な変動が機械的ストレスになり得るため、計算方法1を用いるのが好適である。
【0120】
[まとめ]
以上のように、第一及び第二の実施形態に係る制御装置10は、主制御部104によりも短い制御周期Tで制御対象プラント20を高速する制御する高速補完制御部105を有している。これにより、主制御部104の制御周期Tが長い場合であっても、制御周期T毎に制御対象プラント20が高速に制御されるため、例えば、制御量に対する目標値の変更や変動の早い外乱の影響等にも素早く追従が可能となり、制御性能の低下を抑制することができる。また、制御装置10の計算資源が乏しく、主制御周期Tを長くせざるを得ない場合であっても、制御性能の低下を抑制することができる。更に、モデル予測制御では抑制が不十分な制御偏差(例えば、オーバーシュート等による制御偏差)の改善も期待できる。
【0121】
なお、第一の実施形態のようにモデルパラメータ推定部101によってモデルパラメータθの推定を行う場合、高速補完制御部105が有効だと、高速補完制御を含めた閉ループの同定となってしまうため、高速補完制御部105が無効のときのみモデルパラメータ推定部101によるモデルパラメータθの推定を行うものとしてもよい。
【0122】
また、主制御部104の動作は第一の実施形態で説明したものに限られず、制御方式としてモデル予測制御を採用したものであれば任意の動作を採用することが可能であるが、高速補完制御部105が制御量y(t)を起点として、時刻t+Tに目標値rに到達する軌道(制御軌道)を暫定的に設定して、当該軌道に沿うように制御ゲインkによって補完制御するため、主制御部104も同様な動作をするものであることが好ましい。
【0123】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0124】
10 制御装置
20 制御対象プラント
101 モデルパラメータ推定部
102 計測部
103 差分器
104 主制御部
105 高速補完制御部
106 第1のタイマ
107 第2のタイマ
108 切替器
111 制御パラメータ計算部
112 先読み応答補正部
113 操作変化量計算部
114 加算器
201 入力装置
202 表示装置
203 外部I/F
203a 記録媒体
204 通信I/F
205 プロセッサ
206 メモリ装置
207 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20