JP7276633B1 - Control device, control method, and program - Google Patents
Control device, control method, and program Download PDFInfo
- Publication number
- JP7276633B1 JP7276633B1 JP2023018527A JP2023018527A JP7276633B1 JP 7276633 B1 JP7276633 B1 JP 7276633B1 JP 2023018527 A JP2023018527 A JP 2023018527A JP 2023018527 A JP2023018527 A JP 2023018527A JP 7276633 B1 JP7276633 B1 JP 7276633B1
- Authority
- JP
- Japan
- Prior art keywords
- control
- target value
- manipulated variable
- amount
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000000295 complement effect Effects 0.000 claims abstract description 68
- 230000008859 change Effects 0.000 claims abstract description 40
- 230000006866 deterioration Effects 0.000 abstract description 9
- 230000004044 response Effects 0.000 description 41
- 238000005316 response function Methods 0.000 description 30
- 238000004364 calculation method Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000012937 correction Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 10
- 101000802640 Homo sapiens Lactosylceramide 4-alpha-galactosyltransferase Proteins 0.000 description 6
- 102100035838 Lactosylceramide 4-alpha-galactosyltransferase Human genes 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Landscapes
- Feedback Control In General (AREA)
Abstract
【課題】制御性能の低下を抑制できる技術を提供すること。【解決手段】本開示の一態様による制御装置は、制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、第1の制御周期Tc毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uaを出力する主制御部と、前記第1の制御周期Tcよりも短い第2の制御周期Tf毎に、前記制御対象に対する次の操作量ubを出力する高速補完制御部と、を有し、前記高速補完制御部は、前記主制御部から前記操作量uaが出力された直後の時刻t0における前記制御量と、所定の先読み長Tpと、前記目標値とに基づいて、時刻t0における前記制御量と時刻t0+Tpにおける前記目標値とを補間する暫定目標値rfを計算し、前記暫定目標値rfと現在の前記制御量との偏差に基づいて計算した瞬時的な操作変化量の平均と前記操作量uaとの和を前記操作量ubとして計算する。【選択図】図1A technique capable of suppressing deterioration in control performance is provided. A control device according to one aspect of the present disclosure is a control device that outputs a manipulated variable for a controlled object and causes the controlled variable of the controlled object to follow a target value, the control device comprising: a main control unit that outputs the next manipulated variable ua for the controlled object by model predictive control based on the manipulated variable and the controlled variable; and a second control cycle Tf shorter than the first control cycle Tc. and a high-speed complementary control unit for outputting the next manipulated variable ub for the controlled object, wherein the high-speed complementary control unit performs the above-mentioned A provisional target value rf that interpolates the control quantity at time t0 and the target value at time t0+Tp is calculated based on the control quantity, the predetermined look-ahead length Tp, and the target value, and the provisional target value rf and The operation amount ub is calculated as the sum of the average of the instantaneous operation change amount calculated based on the deviation from the current control amount and the operation amount ua. [Selection drawing] Fig. 1
Description
本開示は、制御装置、制御方法、及びプログラムに関する。 The present disclosure relates to control devices, control methods, and programs.
制御対象の制御量を目標値に追従させることを目的とする制御方式の1つとして、モデル予測制御が知られている。例えば、PLC(Programmable Logic Controller)やDCS(Distributed Control System)等のエッジデバイス上でモデル予測制御を実現しつつ、モデル予測制御に必要な制御パラメータも自動調整する技術が提案されている(特許文献1)。 Model predictive control is known as one of control methods for the purpose of causing the controlled variable of a controlled object to follow a target value. For example, a technology has been proposed that automatically adjusts control parameters necessary for model predictive control while realizing model predictive control on edge devices such as PLC (Programmable Logic Controller) and DCS (Distributed Control System) (Patent document 1).
しかしながら、モデル予測制御の制御周期は、制御対象の時定数に応じて適切に定める必要がある。予測の効果を十分に発揮するためには時定数に応じて或る程度長い制御周期を定める必要があるが、長過ぎる制御周期は制御性能が低下することがあるためである。 However, the control cycle of model predictive control needs to be determined appropriately according to the time constant of the controlled object. This is because, although it is necessary to determine a control cycle that is long enough according to the time constant in order to sufficiently exhibit the effect of prediction, control performance may be degraded if the control cycle is too long.
本開示は、上記の点に鑑みてなされたもので、制御性能の低下を抑制できる技術を提供することを目的とする。 The present disclosure has been made in view of the above points, and an object thereof is to provide a technology capable of suppressing deterioration in control performance.
本開示の一態様による制御装置は、制御対象に対する操作量を出力し、前記制御対象の制御量を目標値に追従させる制御装置であって、第1の制御周期Tc毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uaを出力する主制御部と、前記第1の制御周期Tcよりも短い第2の制御周期Tf毎に、前記制御対象に対する次の操作量ubを出力する高速補完制御部と、を有し、前記高速補完制御部は、前記主制御部から前記操作量uaが出力された直後の時刻t0における前記制御量と、所定の先読み長Tpと、前記目標値とに基づいて、時刻t0における前記制御量と時刻t0+Tpにおける前記目標値とを補間する暫定目標値rfを計算し、前記暫定目標値rfと現在の前記制御量との偏差に基づいて計算した瞬時的な操作変化量の平均と前記操作量uaとの和を前記操作量ubとして計算する。 A control device according to one aspect of the present disclosure is a control device that outputs a manipulated variable to a controlled object and causes the controlled variable of the controlled object to follow a target value, wherein the manipulated variable and the controlled variable, a main control unit that outputs the next manipulated variable u a for the controlled object by model predictive control, and a main control unit that outputs the next manipulated variable u a for the controlled object by model predictive control, and every second control cycle T f shorter than the first control cycle T c and a high-speed complementary control unit that outputs the next manipulated variable u b for the controlled object, and the high-speed complementary control unit outputs the manipulated variable u a from the main control unit at time t A provisional target value rf for interpolating the control amount at time t0 and the target value at time t0+Tp based on the control amount at 0 , a predetermined look-ahead length Tp, and the target value The operation amount ub is calculated as the sum of the average instantaneous operation change amount calculated based on the deviation between the provisional target value rf and the current control amount and the operation amount ua .
制御性能の低下を抑制できる技術が提供される。 A technique is provided that can suppress deterioration in control performance.
以下、本発明の一実施形態について、図面を参照しながら詳細に説明する。以下では、モデル予測制御の制御周期が長過ぎることによる制御性能の低下を抑制できる制御装置10について説明する。なお、以下で説明する制御装置10は、例えば、PC(パーソナルコンピュータ)等と比較して計算資源が乏しいエッジデバイス(PLCやDCS等)であることを想定する。
An embodiment of the present invention will be described in detail below with reference to the drawings. Below, the
ここで、一般に、時定数が長い制御対象に対してあまりに短い制御周期を定めた場合、予測の効果が十分に発揮できないことがある。また、多くのメモリを消費してしまったり、モデルが正しく同定できなかったりする傾向がある。他方で、長過ぎる制御周期を定めた場合、制御タイミングの間に生じた目標値(制御量に対する目標値)の変更や外乱等の影響を制御に反映できず、制御性能が低下してしまうことがある。このため、制御対象の時定数に応じて適切に長い制御周期を定める必要があるものの、制御周期が長過ぎることによって制御性能が低下してしまうことがあるというジレンマが存在する。 Here, in general, if a control period that is too short is set for a control target that has a long time constant, the prediction effect may not be sufficiently exhibited. Also, it tends to consume a lot of memory and the model cannot be correctly identified. On the other hand, if a control period that is too long is set, changes in the target value (target value for the control amount) that occur during the control timing and the effects of disturbances, etc. cannot be reflected in the control, resulting in a decrease in control performance. There is Therefore, although it is necessary to determine an appropriately long control cycle according to the time constant of the controlled object, there is a dilemma that the control performance may deteriorate due to the control cycle being too long.
そこで、以下で説明する制御装置10では、モデル予測制御の制御器(後述する主制御部104)に加えて、モデル予測制御の制御周期Tc(以下、「主制御周期Tc」ともいう。)よりも短い制御周期Tf(以下、「高速制御周期Tf」ともいう。)で制御対象を高速に制御する制御器(後述する高速補完制御部105)を設けた構成としている。これにより、モデル予測制御の主制御周期Tcが長い場合であっても、高速制御周期Tf毎に制御対象が高速に制御されるため、例えば、制御量に対する目標値の変更や変動の早い外乱の影響等にも素早く追従が可能となり、制御性能の低下を抑制することができる。また、制御装置10の計算資源が乏しく、主制御周期Tcを長くせざるを得ない場合であっても、制御性能の低下を抑制することができる(言い換えれば、制御装置10の計算資源が乏しい場合であっても、制御性能の低下を抑えつつ、長い主制御周期Tcを定めたモデル予測制御を行うことができる。更に、モデル予測制御では抑制が不十分な制御偏差(例えば、オーバーシュート等による制御偏差)の改善も期待できる。なお、制御量の例としては制御対象の温度、目標値の例としては設定温度等が挙げられる。ただし、これらはいずれも一例であって、制御量及び目標値は、温度及び設定温度に限られるものではなく、制御対象における任意の制御量及び当該制御量の目標となる目標値を用いることが可能である。
Therefore, in the
以下では、制御対象としてプラントを想定し、制御装置10が制御対象プラント20を制御する場合について説明する。ただし、制御対象はプラントに限られるものではなく、任意の機器、装置、設備等を制御対象とすることが可能である。
Below, a plant is assumed as a controlled object, and the case where the
[第一の実施形態]
以下、第一の実施形態について説明する。
[First embodiment]
A first embodiment will be described below.
<制御装置10の全体構成例>
まず、第一の実施形態に係る制御装置10の全体構成例について、図1を参照しながら説明する。図1は、第一の実施形態に係る制御装置10の全体構成の一例を示す図である。
<Overall Configuration Example of
First, an example of the overall configuration of the
図1に示すように、第一の実施形態に係る制御装置10は、モデルパラメータ推定部101と、計測部102と、差分器103と、主制御部104と、高速補完制御部105と、第1のタイマ106と、第2のタイマ107と、切替器108とを有する。これら各部は、例えば、制御装置10にインストールされた1以上のプログラムが、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)等のプロセッサに実行させる処理により実現される。
As shown in FIG. 1, the
第1のタイマ106は、主制御周期Tc毎に、モデルパラメータ推定部101及び主制御部104の動作トリガーとして動作する。なお、主制御周期Tcとは、モデル予測制御により制御対象プラント20を制御する周期のことであり、その値は予め設定される。
The
第2のタイマ107は、高速制御周期Tf毎に、計測部102及び高速補完制御部105の動作トリガーとして動作する。なお、高速制御周期Tfとは、nを予め決められた任意の自然数としてnTf=Tcと表される周期であり、高速補完制御部105により制御対象プラント20を制御する周期のことである。高速制御周期Tfの値も主制御周期Tcと同様に予め設定される。
The
計測部102は、高速制御周期Tf毎に、制御対象プラント20の制御量yを計測(観測)し、計測した制御量yを出力する。なお、制御対象プラント20の制御量yは、操作量uと外乱vとに応じて決定される。外乱vの例としては、制御量yが温度である場合には外気温の低下又は上昇等が挙げられる。
The
また、計測部102は、高速制御周期Tf毎に、切替器108から出力された操作量uを取得(観測)し、取得した操作量uを出力する。なお、操作量uの例としては、制御量yが温度である場合に熱媒体の流量を制御するバルブの開閉量等が挙げられる。
The
以下、制御量yが計測された時刻tを明示する場合、y(t)と表す。同様に、操作量uが取得された時刻tを明示する場合、u(t)と表す。その他の変数についても同様に、時刻tを明示する場合はその変数の後に「(t)」を表記するものとする。 Hereinafter, when the time t at which the controlled variable y is measured is expressed as y(t). Similarly, when specifying the time t at which the manipulated variable u is acquired, it is expressed as u(t). Similarly, for other variables, when specifying the time t, "(t)" shall be written after the variable.
差分器103は、目標値rと、制御量yとの差(偏差)を目標偏差e0として出力する。時刻tにおける目標偏差e0(t)は、e0(t)=r(t)-y(t)で計算される。なお、以下では、一例として、目標値は一定、すなわちr(t)=定数であるものとする。ただし、これは一例であって、目標値r(t)は時刻tに応じて異なり得るものであってもよい。
The
主制御部104は、主制御周期Tc毎に、モデル予測制御により制御対象プラント20を制御する。すなわち、主制御部104は、主制御周期Tc毎に、制御対象プラント20のプラント応答モデルを表すプラント応答関数{Sθ(t)}を用いて、当該制御対象プラント20に対する操作量uaを計算し、出力する。以下では、一例として、主制御部更新カウンタと呼ばれるカウンタがメモリ内に記憶されており、操作量uaが計算及び出力される毎に、当該主制御部更新カウンタが更新(例えば、1が加算)されるものとする。なお、プラント応答関数{Sθ(t)}には、モデルパラメータ推定部101によって推定対象となるモデルパラメータθが含まれる。
The
ここで、主制御部104には、制御パラメータ計算部111と、先読み応答補正部112と、操作変化量計算部113と、加算器114とが含まれる。
Here, the
制御パラメータ計算部111は、プラント応答関数{Sθ(t)}と、調整係数α,βとを入力し、制御パラメータとして制御ゲインkIと先読み長Tpとを計算し、操作変化量計算部113と先読み応答補正部112とにそれぞれ出力する。ただし、制御パラメータ計算部111は、主制御部104に含まれていなくてもよい。
The
先読み応答補正部112は、プラント応答関数{Sθ(t)}と、目標偏差e0(t)と、過去の操作量uaの変化量duの時系列データである操作変化量時系列{du(t)}と、先読み長Tpとに基づいて、目標偏差e0(t)を補正した補正目標偏差e*(t)を計算する。
The lookahead
操作変化量計算部113は、補正目標偏差e*(t)と制御ゲインkIとに基づいて、操作変化量du(t)を計算する。操作変化量計算部113は、例えば、du(t-3Tc)、du(t-2Tc)、du(t-Tc)という順序で操作変化量du(t)を算出し、出力する。なお、操作変化量duは、主制御周期Tc毎に操作量uaが変化した量である。
The operation
加算器114は、計測部102から出力された操作量uと、操作変化量計算部113から取得された操作変化量duとを加算して、新たな操作量uaを算出する。すなわち、加算器114は、任意の整数n1に対してt=n1Tcを満たす時刻t毎に、新たな操作量ua(t)=u(t-Tc)+du(t)を算出する。そして、加算器114は、この新たな操作量uaを切替器108に出力する。
The
モデルパラメータ推定部101は、主制御周期Tc毎に、制御量yと操作量uとを入力し、プラント応答関数{Sθ(t)}のモデルパラメータの推定値θestを算出し、出力する。以下では、プラント応答関数{Sθ(t)}に設定されているモデルパラメータθを「モデルパラメータ設定値θ」ともいう。なお、モデルパラメータの推定値θestを算出する際に、モデルパラメータの初期値θ0が入力されてもよい。
The
高速補完制御部105は、高速制御周期Tf毎に、制御対象プラント20を制御する。すなわち、高速補完制御部105は、高速制御周期Tf毎に、制御対象プラント20に対する操作量ubを計算し、出力する。ただし、或る整数n2,n3に対してt=n2Tfかつt=n3Tcとなる時刻tに関しては、ub(t)=ua(t)となる。
The high-speed
切替器108は、操作量ub又はuaとubの両方を入力し、操作量uを制御対象プラント20に出力する。すなわち、切替器108は、任意の整数をn4,n5として、t≠n4Tcかつt=n5Tfを満たす時刻t毎に操作量ubを入力して操作量u=ubを出力し、t=n4Tcかつt=n5Tfを満たす時刻t毎に操作量ua及びubを入力して操作量u=ua=ubを出力する。
The
なお、第一の実施形態に係る制御装置10は、例えば、主制御周期Tc毎に計算されたモデルパラメータや制御パラメータ(制御ゲイン、先読み長)をディスプレイ等の表示装置に逐次表示する表示部を有していてもよいし、これらのモデルパラメータや制御パラメータを通信ネットワークにより接続されるPC等といった端末の表示装置上に逐次表示させる表示制御部を有していてもよい。これにより、制御装置10のユーザや管理者(以降、「ユーザ等」とも表す。)は、モデルパラメータや制御パラメータのトレンドを知ることが可能となり、プラント応答モデルの同定具合や制御パラメータの調整具合を確認することができるようになる。また、プラント応答モデルに急激な変動が起きる場合にその兆候を発見することも可能となる。
Note that the
<プラント応答関数{Sθ(t)}の動作>
次に、プラント応答関数{Sθ(t)}の動作について、図2を参照しながら説明する。図2は、プラント応答関数{Sθ(t)}の動作の一例を説明するための図である。
<Operation of plant response function {S θ (t)}>
Next, the operation of the plant response function {S θ (t)} will be described with reference to FIG. FIG. 2 is a diagram for explaining an example of the operation of the plant response function {S θ (t)}.
図2に示すように、プラント応答関数{Sθ(t)}は、モデルパラメータ設定値θと時刻tとが入力されると、初期時刻0から時間t経過後の時刻tにおける単位ステップ応答Sθ(t)を出力する。なお、単位ステップ応答とは、操作量を単位ステップ入力とした場合における応答(つまり、制御対象プラント20のプラント応答モデルの出力)のことである。 As shown in FIG. 2, the plant response function {S θ (t)} is a unit step response S Output θ (t). The unit step response is the response (that is, the output of the plant response model of the controlled plant 20) when the manipulated variable is the unit step input.
<プラント応答関数{Sθ(t)}の計算>
次に、プラント応答関数{Sθ(t)}の単位ステップ応答Sθ(t)を計算する処理について、図3を参照しながら説明する。図3は、プラント応答関数{Sθ(t)}の計算処理の一例を説明するためのフローチャートである。なお、図3では、モデルパラメータ設定値θと時刻tとが入力されたものとする。
<Calculation of plant response function {S θ (t)}>
Next, the process of calculating the unit step response S θ (t) of the plant response function {S θ (t)} will be described with reference to FIG. FIG. 3 is a flowchart for explaining an example of calculation processing of the plant response function {S θ (t)}. In FIG. 3, it is assumed that the model parameter set value θ and the time t are input.
ここで、本実施形態では、プラント応答関数Sθ(t)の計算モデルとして、制御量yについては過去N点の自己回帰、操作量uについては現在値と過去M点の移動平均を用いたARMA(autoregressive moving average)モデルを採用した場合について説明する。なお、N及びMは、例えば、ユーザ等によって予め設定される。ただし、これは一例であって、例えば、ARMAXモデル等の他のモデルを採用してもよい。 Here, in this embodiment, as a calculation model of the plant response function S θ (t), autoregression of the past N points is used for the controlled variable y, and a moving average of the current value and the past M points is used for the manipulated variable u. A case where an ARMA (autoregressive moving average) model is adopted will be described. Note that N and M are set in advance by, for example, a user or the like. However, this is only an example, and other models such as the ARMAX model may be adopted.
このとき、モデルパラメータ設定値θを At this time, the model parameter setting value θ is
ステップS11:主制御部104は、時刻を表す変数をτ、インデックスkにおける状態ベクトルをφ(k)として、時刻τと状態ベクトルφ(0)とを初期化する。また、主制御部104は、インデックスkをk=0に初期化する。
Step S11: The
ここで、状態ベクトルφ(k)は、 where the state vector φ(k) is
なお、例えば、過去L点の外乱vを考慮する場合には、状態ベクトルφ(k)を、y(k)及びu(k)に加えてL個の外乱v(k)を要素として持つ状態ベクトルに拡大すればよい。 For example, when considering the disturbance v of L points in the past, the state vector φ(k) is a state having L disturbances v(k) as elements in addition to y(k) and u(k). Just expand it to a vector.
主制御部104は、例えば、τ=0と初期化すると共に、
The
ステップS12:次に、主制御部104は、モデルパラメータ設定値θと状態ベクトルφ(k)とに基づいて制御量予測値y(k)を計算する。主制御部104は、例えば、y(k)=φ(k)Τθにより制御量予測値y(k)を計算する。ここで、Τは転置を表す。
Step S12: Next, the
ステップS13:次に、主制御部104は、制御量予測値y(k)と状態ベクトルφ(k)とに基づいて、次のインデックス(つまり、k+1)における状態ベクトルφ(k+1)を更新する。主制御部104は、例えば、以下により状態ベクトルφ(k+1)を更新する。
Step S13: Next, the
ステップS14:次に、主制御部104は、時刻τをτ+ΔTに更新すると共に、インデックスkをk+1に更新する。ここで、ΔTはARMAモデルの1ステップの時間幅を表す。プラント応答関数の時間刻みΔTは、制御対象プラント20の時定数に応じて任意に設定することができるが、例えば、主制御周期Tcと同一にすることが好適である。
Step S14: Next, the
ステップS15:次に、主制御部104は、τ≧tであるか否かを判定する。そして、τ≧tであると判定されなかった場合(ステップS15でNO)、主制御部104は、ステップS12に戻る。これにより、τ≧tとなるまで、ステップS12~ステップS14が繰り返し実行される。
Step S15: Next, the
一方で、τ≧tであると判定された場合(ステップS15でYES)、主制御部104は、処理を終了する。これにより、最終的に計算されたy(k)が単位ステップ応答Sθ(t)として得られる(つまり、Sθ(t)=y(k)が、ステップ応答関数{Sθ(t)}の時刻tにおける単位ステップ応答として計算される。)。
On the other hand, if it is determined that τ≧t (YES in step S15), the
<モデルパラメータθの推定>
次に、プラント応答関数{Sθ(t)}のモデルパラメータθを推定する処理(つまり、モデルパラメータ推定値θestを算出する処理)について、図4を参照しながら説明する。図4は、モデルパラメータθの推定処理の一例を説明するためのフローチャートである。図4では、現在時刻tにおける制御量y(t)と操作量u(t)とが入力されたものとして、或るインデックスkにおけるモデルパラメータ推定値θestを算出する場合について説明する。なお、このインデックスkは、図3でプラント応答関数の計算に用いたインデックスkとは独立した値であり、モデルパラメータ推定処理の実行時インデックスを表す。
<Estimation of model parameter θ>
Next, the process of estimating the model parameter θ of the plant response function {S θ (t)} (that is, the process of calculating the model parameter estimated value θ est ) will be described with reference to FIG. FIG. 4 is a flowchart for explaining an example of estimation processing of the model parameter θ. FIG. 4 illustrates a case where the model parameter estimated value θ est at a certain index k is calculated assuming that the controlled variable y(t) and the manipulated variable u(t) at the current time t are input. Note that this index k is a value independent of the index k used to calculate the plant response function in FIG. 3, and represents an index during model parameter estimation processing.
ステップS21:モデルパラメータ推定部101は、モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化するか否かを判定する。ここで、初期化すると判定される場合としては、例えば、モデルパラメータ推定値θestを初めて算出する場合(つまり、モデルパラメータ推定値θestの初回算出時)、ユーザ等により初期化指示が行われた場合等が挙げられる。
Step S21: The model
モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定した場合(ステップS21でYES)、モデルパラメータ推定部101は、ステップS22に進む。一方で、モデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定しなかった場合(ステップS21でNO)、モデルパラメータ推定部101は、ステップS23に進む。
If it is determined to initialize the model parameter estimation value θ est (k) and the covariance matrix P(k) (YES in step S21), the model
ステップS22:上記のステップS21でモデルパラメータ推定値θest(k)と共分散行列P(k)とを初期化すると判定された場合、モデルパラメータ推定部101は、θest(0)=θ0及びP(0)=Iと初期化し、更に制御量前回値y-1←y(t)と初期化すると共に、k←0と初期化する。ここで、θ0としては、既にプラント応答関数{Sθ(t)}に設定されているモデルパラメータ設定値θを用いてもよいし、ユーザ等が事前に想定した初期値を用いてもよいし、全ての要素が0のベクトル等の固定の初期値を用いてもよい。また、Iとしては、単位行列としてもよいし、予め決められた任意の行列としてもよい。
Step S22: If it is determined in step S21 above that the model parameter estimation value θ est (k) and the covariance matrix P(k) are to be initialized, the model
ステップS23:モデルパラメータ推定部101は、状態ベクトルφ(k-1)と操作量u(t)と制御量前回値y-1とに基づいて、状態ベクトルφ(k)を更新する。すなわち、モデルパラメータ推定部101は、以下により状態ベクトルφ(k)を更新する。
Step S23: The
なお、例えば、過去L点の外乱vを考慮する場合には、上述したように、状態ベクトルφ(k)を、y(k)及びu(k)に加えてL個の外乱v(k)を要素として持つ状態ベクトルに拡大し、外乱に対する共分散行列とモデルパラメータの推定とを行うようにすればよい。 For example, when considering the disturbance v of L points in the past, as described above, the state vector φ(k) is added to y(k) and u(k), and L disturbances v(k) as elements, and estimate the covariance matrix and model parameters for the disturbance.
ステップS24:次に、モデルパラメータ推定部101は、モデルパラメータ推定値θest(k-1)と状態ベクトルφ(k)と制御量y(t)とに基づいて、予測誤差ε(k)を計算する。なお、モデルパラメータ推定値θest(k-1)は前回(つまり、k-1のとき)推定したモデルパラメータθの推定値である。
Step S24: Next, the model
モデルパラメータ推定部101は、例えば、以下により予測誤差ε(k)を計算する。
The model
y(k)=y(t)
ε(k)=y(k)-φ(k)Τθest(k-1)
y(k)=y(t)
ε(k) =y(k)−φ(k) Τθest ( k−1)
ステップS25:次に、モデルパラメータ推定部101は、共分散行列P(k)を更新する。モデルパラメータ推定部101は、例えば、以下により共分散行列P(k)を更新する。
Step S25: Next, the model
ステップS26:次に、モデルパラメータ推定部101は、モデルパラメータ推定値θestを更新するか否かを判定する。ここで、モデルパラメータ推定値θestを更新すると判定される場合としては、例えば、上記のステップS22での初期化時から所定の期間が経過するまでモデルパラメータ推定値θestが更新されなかった場合、ユーザ等により更新指示が行われた場合等が挙げられる。
Step S26: Next, the model
モデルパラメータ推定値θestを更新すると判定した場合(ステップS26でYES)、モデルパラメータ推定部101は、ステップS27に進む。一方で、モデルパラメータ推定値θestを更新すると判定しなかった場合(ステップS26でNO)、モデルパラメータ推定部101は、ステップS27を実行せずに終了する。
If it is determined to update the model parameter estimated value θ est (YES in step S26), the model
ステップS27:上記のステップS26でモデルパラメータ推定値θestを更新すると判定された場合、モデルパラメータ推定部101は、モデルパラメータ推定値θest(k)を更新する。モデルパラメータ推定部101は、例えば、以下によりモデルパラメータ推定値θest(k)を更新する。
Step S27: If it is determined in step S26 to update the model parameter estimation value θ est , the model
<先読み応答補正部112の動作>
次に、先読み応答補正部112の動作について、図5を参照しながら説明する。図5は、先読み応答補正部112の動作の一例を説明するための図である。
<Operation of look-ahead
Next, the operation of the look-
図5に示すように、先読み応答補正部112は、プラント応答関数{Sθ(t)}と、目標偏差e0(t)と、操作変化量時系列{du(t)}と、先読み長Tpとが入力されると、制御量が過去の操作変化量によって現在時刻tからTp経過後に変化すると予測される値を先読み応答補正値yn(t)として算出する。なお、先読み長Tpは制御パラメータ計算部111により計算される。
As shown in FIG. 5, the lookahead
そして、先読み応答補正部112は、先読み応答補正値yn(t)により目標偏差e0(t)を補正した補正目標偏差e*(t)を出力する。ここで、補正目標偏差e*(t)は、e*(t)=r(t)-(y(t)+yn(t))=e0(t)-yn(t)で計算される。なお、先読み応答補正値yn(t)は、例えば、国際公開第2016/092872号や特開2020-21411号公報等に記載されている手法により算出することができる。
Then, the look-ahead
<操作変化量計算部113の動作>
次に、操作変化量計算部113の動作について、図6を参照しながら説明する。図6は、操作変化量計算部113の動作の一例を説明するための図である。
<Operation of Operation
Next, the operation of the operation
図6に示すように、操作変化量計算部113は、補正目標偏差e*(t)と制御ゲインkIとが入力されると、補正目標偏差e*(t)に対して制御ゲインkIを乗じて操作変化量du(t)を出力する。すなわち、操作変化量du(t)は、du(t)=kI×e*(t)で算出される。
As shown in FIG. 6, when the correction target deviation e * (t) and the control gain kI are input, the operation change
ただし、補正目標偏差e*(t)に対して制御ゲインkIを乗じた結果が上限値dumaxを超える場合、操作変化量計算部113は、dumaxを操作変化量du(t)とする。同様に、補正目標偏差e*(t)に対して制御ゲインkIを乗じた結果が下限値duminを下回る場合、操作変化量計算部113は、duminを操作変化量du(t)とする。これにより、上下限範囲に対するリミッターを設けることができる。なお、操作量u(t)と操作変化量duとが加算器114によって加算された後の操作量uaが所定の上下限範囲を逸脱しないように、dumax及びduminを都度設定してもよい。
However, if the result of multiplying the corrected target deviation e * (t) by the control gain kI exceeds the upper limit du max , the operation
<制御パラメータの計算>
次に、制御パラメータとして制御ゲインkIと先読み長Tpを計算する処理について、図7を参照しながら説明する。図7は、制御パラメータの計算処理の一例を説明するためのフローチャートである。なお、図7では、プラント応答関数{Sθ(t)}と調整係数α,βとが入力されたものとする。
<Calculation of control parameters>
Next, processing for calculating the control gain kI and the look-ahead length Tp as control parameters will be described with reference to FIG. FIG. 7 is a flowchart for explaining an example of control parameter calculation processing. In FIG. 7, it is assumed that the plant response function {S θ (t)} and the adjustment coefficients α and β are input.
ステップS31:制御パラメータ計算部111は、プラント応答関数{Sθ(t)}と調整係数βとに基づいて、先読み長Tpを計算する。制御パラメータ計算部111は、プラント応答関数{Sθ(t)}を用いて、十分長い値として予め設定された最終時刻Tmaxのプラント応答関数値Sθ(Tmax)に対して調整係数βを乗じた値にプラント応答関数値が等しくなる時点を先読み長Tp時点とする。すなわち、制御パラメータ計算部111は、以下により先読み長Tpを計算する。
Step S31: The
Find Tp,where Sθ(Tp)=β×Sθ(Tmax)
ここで、βは、0<β≦1であることが好ましい。なお、閉ループの応答が遅い場合には、調整係数βをより小さい値とすることで応答の早さを調整することができる。
Find T p , where S θ (T p ) = β x S θ (T max )
Here, β preferably satisfies 0<β≦1. When the response of the closed loop is slow, the speed of the response can be adjusted by setting the adjustment coefficient β to a smaller value.
また、制御パラメータ計算部111は、先読み長Tp時点でのゲインgpを以下により計算する。
Further, the
gp=Sθ(Tp)
このように、先読み長Tpに基づいて制御ゲインgpを計算する。これにより、例えば、むだ時間と時定数が長い場合であっても、より早く応答させることが可能となる。
g p = S θ (T p )
Thus, the control gain gp is calculated based on the look-ahead length Tp . As a result, for example, even if the dead time and time constant are long, it is possible to respond more quickly.
なお、Tmaxは、プラント応答関数が収束するのに十分な値としてもよいし、メモリ上の制約等から定めた値であってもよい。又は、先読み応答補正部112で予測可能な期間の最大値をTmaxとしてもよい。
Note that T max may be a value that is sufficient for the plant response function to converge, or may be a value determined based on memory restrictions or the like. Alternatively, the maximum value of the period that can be predicted by the look-ahead
ステップS32:そして、制御パラメータ計算部111は、先読み長Tp時点でのゲインgpと調整係数αとに基づいて、制御ゲインkIを計算する。制御パラメータ計算部111は、以下により制御ゲインkIを計算する。
Step S32: Then, the
<先読み長Tpの計算概要>
次に、上記のステップS31における先読み長Tpの計算概要について、図8を参照しながら説明する。図8は、先読み長Tpの計算概要の一例を説明するための図である。
<Outline of calculation of look-ahead length Tp >
Next, an overview of the calculation of the look-ahead length Tp in step S31 will be described with reference to FIG. FIG. 8 is a diagram for explaining an example of a calculation outline of the look-ahead length Tp .
図8に示すように、プラント応答関数Sθ(t)の値が時刻0からTmaxまで徐々に変化していくが、或る時刻TpにおいてSθ(Tp)=β×Sθ(Tmax)が成り立つ。そこで、このような時刻Tpを先読み長とする。これにより、先読み長Tp時点におけるプラントの挙動が最終的なプラントの挙動と連動するため、無駄な操作量の変化を抑制することが可能となり、オーバーシュートやアンダーシュートの発生を抑制することができる。また、それに加えて、むだ時間や逆応答が生じる応答初期の期間を回避した先読み長を決定することが可能となる。
As shown in FIG. 8, the value of the plant response function S θ (t) gradually changes from
なお、従来技術として公知のPID(Proportional-Integral-Differential)制御においては、むだ時間の大きさに応じて微分ゲインを大きくする必要があり、ノイズに対して弱いという欠点がある。例えば、Ziegler-Nicholsのステップ応答法による制御則では、kp=1.2/(RL)、TI=2L、TD=0.5L、R=gp/Tpが用いられており、むだ時間Lに比例して微分時間TDが長く、微分強度が大きくなるため、結果的にノイズやインパルス状の外乱に脆弱な制御となってしまう。これに対して、本実施形態では、観測値の微分信号を用いないため、ノイズやむだ時間に対してロバストな制御を実現することができる。 It should be noted that PID (Proportional-Integral-Differential) control, which is known as a conventional technique, needs to increase the differential gain in accordance with the amount of dead time, and has the disadvantage of being susceptible to noise. For example, in the control law based on the Ziegler-Nichols step response method, k p =1.2/(RL), T I =2L, T D =0.5L, and R=g p /T p are used, Since the differential time TD increases in proportion to the dead time L and the differential strength increases, the control becomes vulnerable to noise and impulse-like disturbances. On the other hand, in this embodiment, since the differential signal of the observed value is not used, robust control against noise and dead time can be realized.
<先読み長Tpの計算詳細>
次に、上記のステップS31における先読み長Tpの計算詳細について、図9を参照しながら説明する。図9は、先読み長Tpの計算詳細の一例を説明するためのフローチャートである。
<Calculation details of look-ahead length Tp >
Next, details of the calculation of the look-ahead length Tp in step S31 will be described with reference to FIG. FIG. 9 is a flowchart for explaining an example of details of calculation of the look-ahead length Tp .
ステップS41:まず、制御パラメータ計算部111は、先読み長Tpを探索するための変数をT1として、T1←0とする。
Step S41: First, the
ステップS42:次に、制御パラメータ計算部111は、T1≧Tmaxであるか否かを判定する。
Step S42: Next, the
T1≧Tmaxであると判定した場合(ステップS42でYES)、制御パラメータ計算部111は、ステップS46に進む。一方で、T1≧Tmaxであると判定しなかった場合(ステップS42でNO)、制御パラメータ計算部111は、ステップS43に進む。
If it is determined that T 1 ≧T max (YES in step S42), the
ステップS43:制御パラメータ計算部111は、Sθ(T1)≧β×Sθ(Tmax)を満たすか否かを判定する。
Step S43: The
Sθ(T1)≧β×Sθ(Tmax)を満たすと判定した場合(ステップS43でYES)、制御パラメータ計算部111は、ステップS45に進む。一方で、Sθ(T1)≧β×Sθ(Tmax)を満たすと判定しなかった場合(ステップS43でNO)、制御パラメータ計算部111は、ステップS44に進む。
If it is determined that S θ (T 1 )≧β×S θ (T max ) is satisfied (YES in step S43), the
ステップS44:制御パラメータ計算部111は、T1←T1+ΔTと更新し、ステップS42に戻る。これにより、T1≧Tmax又はSθ(T1)≧β×Sθ(Tmax)のいずれかを満たすまで、ステップS44が繰り返し実行される。
Step S44: The
ステップS45:Sθ(T1)≧β×Sθ(Tmax)を満たすと判定した場合、制御パラメータ計算部111は、Tp←T1とする。すなわち、制御パラメータ計算部111は、Sθ(T1)≧β×Sθ(Tmax)を満たすT1を先読み長Tpとする。
Step S45: When it is determined that S θ (T 1 )≧β×S θ (T max ) is satisfied, the
ステップS46:T1≧Tmaxであると判定しなかった場合、制御パラメータ計算部111は、Tp←γ×Tmaxとする。ここで、0<γ<1である。すなわち、Sθ(T1)≧β×Sθ(Tmax)を満たすT1が探索できなかった場合は、Tmaxに対してγを乗じた値を先読み長Tpとする。
Step S46: If it is not determined that T 1 ≧T max , the
<高速補完制御部105の動作>
次に、高速補完制御部105の動作について、図10を参照しながら説明する。図10は、高速補完制御部105の動作の一例を説明するための図である。
<Operation of high-speed
Next, the operation of the high-speed
図10に示すように、主制御周期Tc毎に主制御部104から操作量uaが出力されるのに対して、高速補完制御部105は、高速制御周期Tf毎に、操作量ubを出力する。ただし、或る整数n2,n3に対してt=n2Tfかつt=n3Tcとなる時刻tに関しては、ub(t)=ua(t)となる。これは、主制御部104及び高速補完制御部105はいずれも現在時刻tにおける制御量y(t)を基準に計算されるためである。以下では、主制御部104から出力される操作量uaのことを「主制御操作量ua」ともいい、高速補完制御部105から出力される操作量ubのことを「補完操作量ub」ともいう。
As shown in FIG. 10, the operation amount u a is output from the
<補完操作量ubの計算>
次に、補完操作量ubを計算する処理について、図11を参照しながら説明する。図11は、補完操作量ubの計算処理の一例を説明するためのフローチャートである。なお、図11では、目標値rと、現在時刻tにおける制御量y(t)とが入力されたものとして、或るインデックスkにおける補完操作量ubを計算する場合について説明する。なお、このインデックスkは、図3でプラント応答関数の計算に用いたインデックスkや図4でモデルパラメータθの推定に用いたインデックスkとは独立した値であり、補完操作量ubの計算処理の実行時インデックスを表す。
<Calculation of complementary operation amount u b >
Next, the processing for calculating the complementary manipulated variable u b will be described with reference to FIG. 11 . FIG. 11 is a flowchart for explaining an example of calculation processing of the complement operation amount u b . In FIG. 11, a case will be described in which the complementary manipulated variable ub at a certain index k is calculated assuming that the target value r and the controlled variable y(t) at the current time t are input. Note that this index k is a value independent of the index k used for calculating the plant response function in FIG. 3 and the index k used for estimating the model parameter θ in FIG . represents the run-time index of the .
ステップS51:高速補完制御部105は、主制御部更新カウンタの値が変化(更新)されたか否かを判定する。言い換えれば、高速補完制御部105は、主制御部更新カウンタの値の変化により、主制御部104から主制御操作量uaが出力されたか否かを判定する。なお、主制御部更新カウンタの値の変化により主制御操作量uaが出力されたか否かを判定することは一例であって、主制御部更新カウンタを用いずに、主制御操作量uaが出力されたか否かを判定してもよい。例えば、高速補完制御部105は、前回の主制御操作量uaが出力されてから主制御周期Tcが経過したか否かにより、主制御操作量uaが出力されたか否かを判定してもよい。
Step S51: The high-speed
主制御部更新カウンタの値が変化したと判定した場合(ステップS51でYES)、高速補完制御部105は、ステップS52に進む。一方で、主制御部更新カウンタの値が変化したと判定しなかった場合(ステップS51でNO)、高速補完制御部105は、ステップS53に進む。
If it is determined that the value of the main control unit update counter has changed (YES in step S51), the high-speed
ステップS52:高速補完制御部105は、y0=y(t)、mdu(0)=0、k=0と初期化する。ここで、mdu(k)は、後述するように、インデックスkにおける平均操作変化量である。
Step S52: The high-speed
ステップS53:高速補完制御部105は、インデックスkをk←k+1と更新する。なお、インデックスkはカウンタの役割を持つため、例えば、「補完カウンタ」等と呼ばれてもよい。
Step S53: The high-speed
ステップS54:高速補完制御部105は、暫定目標値rf(k)を計算する。暫定目標値rf(k)とは、高速補完制御部105で用いる暫定的な目標値のことであり、以下で計算される。
Step S54: The high-speed
ステップS55:高速補完制御部105は、平均操作変化量mdu(k)を計算する。平均操作変化量mdu(k)は以下で計算される。
Step S55: The high-speed
ステップS56:高速補完制御部105は、補完操作量ubを計算する。インデックスkにおける補完操作量ub(k)は、主制御操作量uaと、平均操作変化量mdu(k)とを用いて、以下で計算される。
Step S56: The high-speed
以上により、現在時刻tにおける補完操作量ub(t)=ub(k)が得られる。 As described above, the complementary operation amount u b (t)=u b (k) at the current time t is obtained.
<暫定目標値rf(k)>
次に、上記のS54で計算される暫定目標値rf(k)について、図12を参照しながら説明する。図12は、暫定目標値rf(k)の一例を説明するための図である。
<Temporary target value r f (k)>
Next, the temporary target value r f (k) calculated in S54 will be described with reference to FIG. FIG. 12 is a diagram for explaining an example of the provisional target value r f (k).
図12に示すように、暫定目標値rf(k)は、主制御部更新カウンタが更新された直後の時刻t=t0における制御量y0=y(t0)を起点に、先読み長Tpで目標値rに到達するような軌道の中間地点としてインデックスkを用いて計算される。すなわち、暫定目標値rf(k)は、制御量y0と時刻t0+Tpにおける目標値rとを線形補間する点として計算される。 As shown in FIG. 12 , the provisional target value r f (k) is calculated from the control amount y 0 =y(t 0 ) at time t=t 0 immediately after the update counter of the main control unit is updated. It is calculated using the index k as the waypoint of the trajectory such that the target value r is reached at Tp . That is, the provisional target value r f (k) is calculated as a point of linear interpolation between the controlled variable y 0 and the target value r at time t 0 +T p .
ただし、暫定目標値rf(k)が制御量y0と時刻t0+Tpにおける目標値rとを線形補間する点として計算されることは一例であって、非線形補間する点として計算されてもよい。 However, it is an example that the provisional target value r f (k) is calculated as a point of linear interpolation between the control amount y 0 and the target value r at time t 0 +T p , and is calculated as a point of nonlinear interpolation. good too.
<高速補完制御部105を用いた場合の応答>
次に、高速補完制御部105を用いた場合の応答について、図13を参照しながら説明する。図13は、高速補完制御部105を用いた場合の応答の一例を説明するための図である。
<Response when using high-speed
Next, the response when using the high-speed
図13に示すように、主制御部104により先読み長Tp先の時点で目標偏差が0となるような制御が行われる場合、高速補完制御部105を用いた場合の応答でも、先読み長Tp先の時点で目標偏差が0となるような軌道に沿う制御が行われる。ただし、高速補完制御部105を用いた場合の応答は、主制御部104のみを用いた軌道とは必ずしも一致せず、例えば、よりオーバーシュートが抑制された軌道になることが考えられる。
As shown in FIG. 13, when the
<制御装置10のハードウェア構成>
次に、本実施形態に係る制御装置10のハードウェア構成について、図14を参照しながら説明する。図14は、第二の実施形態に係る制御装置10のハードウェア構成の一例を示す図である。
<Hardware Configuration of
Next, the hardware configuration of the
図14に示すように、第二の実施形態に係る制御装置10は、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これらの各ハードウェアは、それぞれがバス207により通信可能に接続される。
As shown in FIG. 14, the
入力装置201は、例えば、タッチパネルや各種ボタン等である。表示装置202は、例えば、表示パネル等である。なお、制御装置10は、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
The
外部I/F203は、記録媒体203a等の外部装置とのインタフェースである。記録媒体203aとしては、例えば、SDメモリカード(Secure Digital memory card)やUSB(Universal Serial Bus)メモリカード等が挙げられる。
The external I/
通信I/F204は、制御装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ205は、例えば、CPUやMPU等の各種演算装置である。メモリ装置206は、例えば、SSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
Communication I/
なお、図14に示すハードウェア構成は一例であって、制御装置10は、他のハードウェア構成を有していてもよい。例えば、制御装置10は、図示したハードウェア以外にも種々のハードウェアを有していてもよい。
Note that the hardware configuration shown in FIG. 14 is an example, and the
[第二の実施形態]
以下、第二の実施形態について説明する。なお、第二の実施形態では、第一の実施形態との相違点について説明し、第一の実施形態と同様としてよい構成要素についてはその説明を省略する。
[Second embodiment]
A second embodiment will be described below. In addition, in the second embodiment, differences from the first embodiment will be explained, and explanations of components that may be the same as those in the first embodiment will be omitted.
<制御装置10の全体構成例>
第二の実施形態に係る制御装置10の全体構成例について、図15を参照しながら説明する。図15は、第二の実施形態に係る制御装置10の全体構成の一例を示す図である。
<Overall Configuration Example of
An overall configuration example of the
図15に示すように、第二の実施形態に係る制御装置10は、事前に推定したモデルパラメータθをプラント応答関数{Sθ(t)}に設定しておくことで、第一の実施形態で説明した全体構成例からモデルパラメータ推定部101を除いたものである。
As shown in FIG. 15, the
[実施例]
次に、実施例について説明する。本実施例では、一例として、第二の実施形態に係る制御装置10によって制御対象プラント20を制御する場合について説明する。
[Example]
Next, examples will be described. In this embodiment, as an example, a case where a controlled
本実施例では、主制御周期Tc=5[sec]、高速制御周期Tf=0.5[sec]と設定した。すなわち、高速補完制御部105は、主制御部104の10倍の速さで動作するものとした。また、操作量の上限umax=90、下限umin=0とし、調整係数はα=1.0、β=0.5とした。
In this embodiment, the main control cycle T c =5 [sec] and the high-speed control cycle T f =0.5 [sec] are set. That is, it is assumed that the high-speed
本実施例における制御対象プラント20のステップ応答を図16に示す。図16に示すように、本実施例では、ステップ応答が収束するまでにおよそ150[sec]掛かっている。このため、例えば、主制御周期をTc=0.5[sec]とした場合、ステップ応答の収束までの予測にはおよそ300点の予測バッファが必要になる。一方で、本実施例では主制御周期をTc=5[sec]としているため、ステップ応答の収束までの予測には30点の予測バッファで済む。したがって、主制御周期をTc=5[sec]と長くしておくことにより、エッジデバイス等である制御装置10の予測バッファを約1/10に節約し、メモリ削減と共に計算時間も短縮することができる。
FIG. 16 shows the step response of the controlled
本実施例における制御装置10との比較例として、第二の実施形態に係る制御装置10の高速補完制御部105を無効とした場合における制御量、目標値及び操作量を図17に示す。図17では、上段に制御量(PV)、目標値(SP)を、下段に操作量(MV)を示している。また、右図は、左図の一部の時間を切り出して拡大したものである。図17に示すように、高速補完制御を無効とし、主制御部104のみを用いた制御では、主制御周期Tc=5[sec]毎に階段上に操作量が変化している。
As a comparative example with the
一方で、本実施例における制御装置10による制御量、目標値及び操作量(つまり、高速補完制御部105による高速補完制御が有効である場合における制御量、目標値及び操作量)を図18に示す。図18では、上段に制御量(PV)、目標値(SP)を、下段に操作量(MV)を示している。また、右図は、左図の一部の時間を切り出して拡大したものである。図18に示すように、図17と比較すると、制御量の目標値への追従性が向上しており、オーバーシュートが低減している。また、操作量の拡大図を見ると、操作量は主制御周期Tcでの変化に加え、高速補完制御部105による高速制御周期Tfでの変化が生じていることが確認できる。したがって、高速補完制御部105による高速補完制御を有効にすることにより、主制御部104のみを用いる場合よりも制御性能を向上させることができる。
On the other hand, the control amount, target value, and manipulated variable by the
[まとめ]
以上のように、第一及び第二の実施形態に係る制御装置10は、主制御部104によりも短い制御周期Tfで制御対象プラント20を高速する制御する高速補完制御部105を有している。これにより、主制御部104の制御周期Tcが長い場合であっても、制御周期Tf毎に制御対象プラント20が高速に制御されるため、例えば、制御量に対する目標値の変更や変動の早い外乱の影響等にも素早く追従が可能となり、制御性能の低下を抑制することができる。また、制御装置10の計算資源が乏しく、主制御周期Tcを長くせざるを得ない場合であっても、制御性能の低下を抑制することができる。更に、モデル予測制御では抑制が不十分な制御偏差(例えば、オーバーシュート等による制御偏差)の改善も期待できる。
[summary]
As described above, the
なお、第一の実施形態のようにモデルパラメータ推定部101によってモデルパラメータθの推定を行う場合、高速補完制御部105が有効だと、高速補完制御を含めた閉ループの同定となってしまうため、高速補完制御部105が無効のときのみモデルパラメータ推定部101によるモデルパラメータθの推定を行うものとしてもよい。
Note that when the model parameter θ is estimated by the model
また、主制御部104の動作は第一の実施形態で説明したものに限られず、制御方式としてモデル予測制御を採用したものであれば任意の動作を採用することが可能であるが、高速補完制御部105が先読み長Tp後に目標値rに到達する軌道を暫定目標値rfとして制御ゲインkIによって制御するため、主制御部104も同様な動作をするものであることが好ましい。
In addition, the operation of the
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。 The present invention is not limited to the specifically disclosed embodiments described above, and various variations, modifications, combinations with known techniques, etc. are possible without departing from the scope of the claims. be.
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 バス
REFERENCE SIGNS
205
Claims (9)
第1の制御周期Tc毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uaを出力する主制御部と、
前記第1の制御周期Tcよりも短い第2の制御周期Tf毎に、前記制御対象に対する次の操作量ubを出力する高速補完制御部と、を有し、
前記高速補完制御部は、
前記主制御部から前記操作量uaが出力された直後の時刻t0における前記制御量と、所定の先読み長Tpと、前記目標値とに基づいて、時刻t0における前記制御量と時刻t0+Tpにおける前記目標値とを補間する暫定目標値rfを計算し、
前記暫定目標値rfと現在の前記制御量との偏差に基づいて計算した瞬時的な操作変化量の平均と前記操作量uaとの和を前記操作量ubとして計算する、制御装置。 A control device that outputs a manipulated variable for a controlled object and causes the controlled variable of the controlled object to follow a target value,
a main control unit that outputs the next manipulated variable ua for the controlled object by model predictive control based on the manipulated variable and the controlled variable at each first control cycle Tc ;
a high-speed complementary control unit that outputs the next manipulated variable u b for the controlled object every second control cycle Tf shorter than the first control cycle Tc ,
The high-speed complement control unit is
Based on the control amount at time t0 immediately after the operation amount ua is output from the main control unit, a predetermined look-ahead length Tp , and the target value, the control amount at time t0 and the time calculating a provisional target value r f that interpolates with the target value at t 0 +T p ;
A control device that calculates a sum of an average of instantaneous operation change amounts calculated based on a deviation between the provisional target value rf and the current control amount and the operation amount ua as the operation amount ub .
時刻t0における前記制御量と時刻t0+Tpにおける前記目標値とを前記第2の制御周期Tf毎に線形補間する値を暫定目標値rfとして計算する、請求項1に記載の制御装置。 The high-speed complement control unit is
The control according to claim 1 , wherein a provisional target value rf is calculated by linearly interpolating the control amount at time t0 and the target value at time t0 + Tp every second control cycle Tf . Device.
前記暫定目標値rfと、時刻t0における前記制御量との偏差に対して所定のゲインkIを乗じた値を前記瞬時的な操作変化量として計算する、請求項1又は2に記載の制御装置。 The high-speed complement control unit is
3. The instantaneous operation change amount is calculated as a value obtained by multiplying a deviation between the provisional target value rf and the controlled variable at time t0 by a predetermined gain kI . Control device.
前記時刻t0における初期値を0として、前記第2の制御周期Tf毎にインクリメントされるカウンタkを用いて、前記カウンタkに関する前記瞬時的な操作変化量の平均を計算する、請求項1に記載の制御装置。 The high-speed complement control unit is
2. An average of said instantaneous operation change amounts for said counter k is calculated using a counter k which is incremented every said second control period Tf with an initial value at said time t0 being 0. The control device according to .
前記モデル予測制御に用いられる予測モデルに基づいて計算される、請求項3に記載の制御装置。 The look-ahead length T p and the gain k I are
4. The control device according to claim 3, which is calculated based on a predictive model used for said model predictive control.
前記主制御部から出力される前記操作量uaに適用される上下限範囲を用いて、前記上下限範囲を満たす前記操作量ubを計算する、請求項1に記載の制御装置。 The high-speed complement control unit is
2. The control device according to claim 1, wherein an upper and lower limit range applied to said manipulated variable ua output from said main control unit is used to calculate said manipulated variable ub that satisfies said upper and lower limit range.
第1の制御周期Tc毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uaを出力する主制御手順と、
前記第1の制御周期Tcよりも短い第2の制御周期Tf毎に、前記制御対象に対する次の操作量ubを出力する高速補完制御手順と、を実行し、
前記高速補完制御手順は、
前記主制御手順で前記操作量uaが出力された直後の時刻t0における前記制御量と、所定の先読み長Tpと、前記目標値とに基づいて、時刻t0における前記制御量と時刻t0+Tpにおける前記目標値とを補間する暫定目標値rfを計算し、
前記暫定目標値rfと現在の前記制御量との偏差に基づいて計算した瞬時的な操作変化量の平均と前記操作量uaとの和を前記操作量ubとして計算する、制御方法。 A control device that outputs a manipulated variable for a controlled object and causes the controlled variable of the controlled object to follow a target value,
a main control procedure for outputting the next manipulated variable ua for the controlled object by model predictive control based on the manipulated variable and the controlled variable at each first control cycle Tc ;
a high-speed complementary control procedure for outputting the next manipulated variable ub for the controlled object every second control cycle Tf shorter than the first control cycle Tc ;
The fast complementary control procedure is
Based on the control amount at time t0 immediately after the operation amount ua is output in the main control procedure, a predetermined look-ahead length Tp , and the target value, the control amount at time t0 and the time calculating a provisional target value r f that interpolates with the target value at t 0 +T p ;
A control method, wherein the operation amount ub is calculated as the sum of an average of instantaneous operation change amounts calculated based on the deviation between the provisional target value rf and the current control amount and the operation amount ua .
第1の制御周期Tc毎に、前記操作量と前記制御量とに基づいて、モデル予測制御により前記制御対象に対する次の操作量uaを出力する主制御手順と、
前記第1の制御周期Tcよりも短い第2の制御周期Tf毎に、前記制御対象に対する次の操作量ubを出力する高速補完制御手順と、を実行させ、
前記高速補完制御手順は、
前記主制御手順で前記操作量uaが出力された直後の時刻t0における前記制御量と、所定の先読み長Tpと、前記目標値とに基づいて、時刻t0における前記制御量と時刻t0+Tpにおける前記目標値とを補間する暫定目標値rfを計算し、
前記暫定目標値rfと現在の前記制御量との偏差に基づいて計算した瞬時的な操作変化量の平均と前記操作量uaとの和を前記操作量ubとして計算する、プログラム。 A control device that outputs a manipulated variable for a controlled object and causes the controlled variable of the controlled object to follow a target value,
a main control procedure for outputting the next manipulated variable ua for the controlled object by model predictive control based on the manipulated variable and the controlled variable at each first control cycle Tc ;
executing a high-speed complementary control procedure for outputting the next manipulated variable u b for the controlled object every second control cycle Tf shorter than the first control cycle Tc ;
The fast complementary control procedure is
Based on the control amount at time t0 immediately after the operation amount ua is output in the main control procedure, a predetermined look-ahead length Tp , and the target value, the control amount at time t0 and the time calculating a provisional target value r f that interpolates with the target value at t 0 +T p ;
A program for calculating the operation amount ub as the sum of an average of instantaneous operation change amounts calculated based on the deviation between the temporary target value rf and the current control amount and the operation amount ua .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023018527A JP7276633B1 (en) | 2023-02-09 | 2023-02-09 | Control device, control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023018527A JP7276633B1 (en) | 2023-02-09 | 2023-02-09 | Control device, control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7276633B1 true JP7276633B1 (en) | 2023-05-18 |
JP2024113499A JP2024113499A (en) | 2024-08-22 |
Family
ID=86378087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023018527A Active JP7276633B1 (en) | 2023-02-09 | 2023-02-09 | Control device, control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7276633B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019109598A (en) * | 2017-12-15 | 2019-07-04 | オムロン株式会社 | Control system |
-
2023
- 2023-02-09 JP JP2023018527A patent/JP7276633B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019109598A (en) * | 2017-12-15 | 2019-07-04 | オムロン株式会社 | Control system |
Also Published As
Publication number | Publication date |
---|---|
JP2024113499A (en) | 2024-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6513015B2 (en) | Method for controlling machine operation, and control system for repetitively controlling machine operation | |
Zeilinger et al. | On real-time robust model predictive control | |
JP6927446B1 (en) | Control devices, control methods and programs | |
JP7014330B1 (en) | Controls, control methods, and programs | |
Huang et al. | Practical solutions to multivariate feedback control performance assessment problem: reduced a priori knowledge of interactor matrices | |
JP7206874B2 (en) | Control device, control method and program | |
Trierweiler et al. | RPN tuning strategy for model predictive control | |
Radanovic et al. | Learning to collaborate in markov decision processes | |
CN113934142B (en) | Non-linear discrete system model-free self-adaptive sliding mode constraint event trigger control method | |
Latosiński | Sliding mode control based on the reaching law approach—A brief survey | |
JP7090734B2 (en) | Control system, control method and storage medium | |
US20240272594A1 (en) | Control device, control method, and recording medium | |
Paternain et al. | Real-time model predictive control based on prediction-correction algorithms | |
JPWO2016092872A1 (en) | Control device, program thereof, and plant control method | |
Nonhoff et al. | An online convex optimization algorithm for controlling linear systems with state and input constraints | |
WO2019004476A1 (en) | Control device and method for setting control device | |
JP7115654B1 (en) | Control device, control method and program | |
JP7276633B1 (en) | Control device, control method, and program | |
JP7283646B1 (en) | Control device, control method, and program | |
Narendra et al. | Extension of second level adaptation using multiple models to SISO systems | |
JP5581528B1 (en) | Control parameter determination apparatus, method, and program, and controller and optimization control system | |
JP7275492B2 (en) | Control device, control method and program | |
JP2024126120A (en) | Control device, control method, and program | |
Paternain et al. | A prediction-correction algorithm for real-time model predictive control | |
CN105955024B (en) | Ship supercharged steam generator main steam pressure forecast Control Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230209 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20230209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230417 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7276633 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |