(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-11
(45)【発行日】2023-12-19
(54)【発明の名称】制御装置および制御方法
(51)【国際特許分類】
G05B 11/32 20060101AFI20231212BHJP
【FI】
G05B11/32 F
(21)【出願番号】P 2020016891
(22)【出願日】2020-02-04
【審査請求日】2022-12-21
(73)【特許権者】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】100098394
【氏名又は名称】山川 茂樹
(74)【代理人】
【識別番号】100064621
【氏名又は名称】山川 政樹
(72)【発明者】
【氏名】田中 雅人
【審査官】仁木 学
(56)【参考文献】
【文献】特開2000-227801(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 11/00 - 11/60
13/00 - 13/04
(57)【特許請求の範囲】
【請求項1】
設定値と制御量とを入力として第1の操作量を算出するように構成された操作量算出部と、
外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出するように構成されたフィードフォワード算出部と、
前記操作量算出部によって算出された前記第1の操作量に前記第1のフィードフォワード量を加算するように構成されたフィードフォワード実行部と、
前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力するように構成された操作量出力部と、
前記トリガー変数が入力された規定の第1の試行期間において
前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定するように構成された第1の推定部と、
前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出するように構成された総量算出部と、
前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定するように構成された第2の推定部とを備え、
前記フィードフォワード算出部は、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量と
し、
前記総量算出部は、前記トリガー変数が入力された規定の第2の試行期間において前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出し、
前記第2の推定部は、前記第2の試行期間における前記第2の操作量の変化量の総量から前記第2の試行期間における前記第2のフィードフォワード量の総量を減算した結果に基づいて前記第2のパラメータを更新することを特徴とする制御装置。
【請求項2】
設定値と制御量とを入力として第1の操作量を算出するように構成された操作量算出部と、
外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出するように構成されたフィードフォワード算出部と、
前記操作量算出部によって算出された前記第1の操作量に前記第1のフィードフォワード量を加算するように構成されたフィードフォワード実行部と、
前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力するように構成された操作量出力部と、
前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定するように構成された第1の推定部と、
前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出するように構成された総量算出部と、
前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定するように構成された第2の推定部とを備え、
前記フィードフォワード算出部は、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とし、
前記第2のフィードフォワード量は、ゼロから前記第1のパラメータの値へと徐々に収束する量であり、前記第1のパラメータをKx1、前記第2のフィードフォワード量を徐々に収束させる時間を規定する時定数をTf、前記時定数を調整する係数をA、前記トリガー変数をFF_X、ラプラス演算子をsとしたとき、[Kx1/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_Xにより算出されることを特徴とする制御装置。
【請求項3】
設定値と制御量とを入力として第1の操作量を算出するように構成された操作量算出部と、
外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出するように構成されたフィードフォワード算出部と、
前記操作量算出部によって算出された前記第1の操作量に前記第1のフィードフォワード量を加算するように構成されたフィードフォワード実行部と、
前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力するように構成された操作量出力部と、
前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定するように構成された第1の推定部と、
前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出するように構成された総量算出部と、
前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定するように構成された第2の推定部とを備え、
前記フィードフォワード算出部は、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とし、
前記第3のフィードフォワード量は、前記第2のパラメータの値に近づいた後にゼロへと徐々に収束する量であり、前記第2のパラメータをKx2、前記第3のフィードフォワード量を徐々に収束させる時間を規定する時定数をTf、前記時定数を調整する係数をA、前記トリガー変数をFF_X、ラプラス演算子をsとしたとき、[Kx2s/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_Xにより算出されることを特徴とする制御装置。
【請求項4】
請求項1乃至
3のいずれか1項に記載の制御装置において、
前記第1の推定部は、前記外乱リカバリー応答前後の前記第2の操作量の差を前記第1のパラメータの値とすることを特徴とする制御装置。
【請求項5】
請求項1乃至
4のいずれか1項に記載の制御装置において、
前記第2の推定部は、前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算し、前記第1の操作量と前記第1、第2、第3のフィードフォワード量との算出周期に、前記減算結果を乗算した値を前記第2のパラメータの値とすることを特徴とする制御装置。
【請求項6】
設定値と制御量とを入力として第1の操作量を算出する第1のステップと、
外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出する第2のステップと、
前記第1の操作量に前記第1のフィードフォワード量を加算する第3のステップと、
前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力する第4のステップと、
前記トリガー変数が入力された規定の第1の試行期間において
前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定する第5のステップと、
前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出する第6のステップと、
前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定する第7のステップと
、
前記トリガー変数が入力された規定の第2の試行期間において前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出する第8のステップと、
前記第8のステップで算出した前記第2のフィードフォワード量の総量を前記第2の試行期間における前記第2の操作量の変化量の総量から減算した結果に基づいて前記第2のパラメータを更新する第9のステップとを含み、
前記第2のステップは、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とするステップを含むことを特徴とする制御方法。
【請求項7】
設定値と制御量とを入力として第1の操作量を算出する第1のステップと、
外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出する第2のステップと、
前記第1の操作量に前記第1のフィードフォワード量を加算する第3のステップと、
前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力する第4のステップと、
前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定する第5のステップと、
前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出する第6のステップと、
前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定する第7のステップとを含み、
前記第2のステップは、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とするステップを含み、
前記第2のフィードフォワード量は、ゼロから前記第1のパラメータの値へと徐々に収束する量であり、前記第1のパラメータをKx1、前記第2のフィードフォワード量を徐々に収束させる時間を規定する時定数をTf、前記時定数を調整する係数をA、前記トリガー変数をFF_X、ラプラス演算子をsとしたとき、[Kx1/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_Xにより算出されることを特徴とする制御方法。
【請求項8】
設定値と制御量とを入力として第1の操作量を算出する第1のステップと、
外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出する第2のステップと、
前記第1の操作量に前記第1のフィードフォワード量を加算する第3のステップと、
前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力する第4のステップと、
前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定する第5のステップと、
前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出する第6のステップと、
前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定する第7のステップとを含み、
前記第2のステップは、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とするステップを含み、
前記第3のフィードフォワード量は、前記第2のパラメータの値に近づいた後にゼロへと徐々に収束する量であり、前記第2のパラメータをKx2、前記第3のフィードフォワード量を徐々に収束させる時間を規定する時定数をTf、前記時定数を調整する係数をA、前記トリガー変数をFF_X、ラプラス演算子をsとしたとき、[Kx2s/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_Xにより算出されることを特徴とする制御方法。
【請求項9】
請求項
6乃至
8のいずれか1項に記載の制御方法において、
前記第5のステップは、前記外乱リカバリー応答前後の前記第2の操作量の差を前記第1のパラメータの値とするステップを含むことを特徴とする制御方法。
【請求項10】
請求項
6乃至
9のいずれか1項に記載の制御方法において、
前記第7、第9のステップは、前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算し、前記第1の操作量と前記第1、第2、第3のフィードフォワード量との算出周期に、前記減算結果を乗算した値を前記第2のパラメータの値とするステップを含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フィードバック制御とフィードフォワード制御とを併用する制御装置および制御方法に関するものである。
【背景技術】
【0002】
代表的なフィードバック(Feedback)制御であるPID制御に、フィードフォワード(Feedforward)分を加算する方法(以下、フィードフォワード+フィードバック制御とする)が提案されている(特許文献1参照)。
【0003】
発明者は、このようなフィードフォワード+フィードバック制御を特に
図17のような加熱装置に適用する場合において、実用性を向上させるために、操作量MVの下限値OL、上限値OHを通常値に漸近的に収束させる形式のフィードフォワード方法(特許文献2)と、フィードフォワード量MV_Pをゼロに漸近的に収束させる形式のフィードフォワード方法(特許文献3)とを提案した。
【0004】
図17の加熱装置は、処理対象のワークを加熱する熱処理炉100と、電気ヒータ101と、熱処理炉100内の温度を計測する温度センサ102と、熱処理炉100内の温度を制御する温調計103と、電力調整器104と、電力供給回路105と、加熱装置全体を制御するPLC(Programmable Logic Controller)106とから構成される。温調計103は、温度センサ102が計測した温度PV(制御量)が温度設定値SPと一致するように操作量MVを算出する。電力調整器104は、操作量MVに応じた電力を決定し、この決定した電力を電力供給回路105を通じて電気ヒータ101に供給する。
【0005】
発明者が特許文献3で提案したフィードフォワード+フィードバック制御は、典型的なフィードフォワード制御に近い。
図18の制御系のブロック線図を用いて、発明者が特許文献3で提案した技術について説明する。
図18のPは制御対象を示している。
【0006】
操作量算出部201は、設定値SPと制御量PVとを入力として、制御量PVが設定値SPと一致するように、例えば以下の伝達関数式のようなPID制御演算を行って操作量MV(本発明では、基本操作量MVとする)を算出する。
MV=(100/Pb){1+(1/Tis)+Tds}(SP-PV)
・・・(1)
Pbは比例帯、Tiは積分時間、Tdは微分時間、sはラプラス演算子である。
【0007】
加算量算出部204は、基本操作量MVに対するフィードフォワード分の加算量の目標値である操作量加算値FF_P(FF_P≠0)が入力されると、操作量加算値FF_Pに近づいた後にゼロ値へと徐々に収束する操作量加算量MV_Pを算出する。具体的には、加算量算出部204は、下記のような伝達関数式で操作量加算量MV_Pを算出する。
MV_P={Kxs/(1+Tfs)2}FF_P ・・・(2)
【0008】
式(2)のTfは、操作量加算量MV_Pを徐々に収束させる時間を規定するパラメータである。Kxはフィードフォワードの大きさを規定するパラメータである。操作量加算量MV_Pの変化の1例を
図19に示す。
図19の例では、操作量加算値FF_P=50%、パラメータTf=100sec.、パラメータKx=275としている。
【0009】
減算量算出部205は、基本操作量MVに対するフィードフォワード分の減算量の目標値である操作量減算値FF_M(FF_M≠0)が入力されると、操作量減算値FF_Mに近づいた後にゼロ値へと徐々に収束する操作量減算量MV_Mを算出する。具体的には、減算量算出部205は、下記のような伝達関数式で操作量減算量MV_Mを算出する。
MV_M={Kxs/(1+Tfs)2}FF_M ・・・(3)
【0010】
式(3)のTfは、操作量減算量MV_Mを徐々に収束させる時間を規定するパラメータである。操作量変更部206は、操作量算出部201で算出された基本操作量MVに、加算量算出部204によって算出された操作量加算量MV_Pを加算し、さらに減算量算出部205によって算出された操作量減算量MV_Mを減算した結果を操作量MV_F(本発明では、実操作量MV_Fとする)として算出する。
MV_F=MV+MV_P-MV_M ・・・(4)
【0011】
リミット処理部207は、操作量変更部206によって算出された実操作量MV_Fを所定の操作量下限値OL以上の値に制限する下限リミット処理と、実操作量MV_Fを所定の操作量上限値OH以下の値に制限する上限リミット処理とを行なう。このリミット処理部207でリミット処理された実操作量MV_F’が制御対象Pに出力される。
【0012】
特許文献3で提案した技術によれば、基本操作量MVにフィードフォワード分の変更を施して、一定時間経過後にフィードフォワード分を0%に戻すような不連続な制御で発生する不具合を低減することができる。
【0013】
ただし、制御技術の専門家ではない通常のオペレータ(制御技術ユーザ)が、フィードフォワード制御の実行結果を適切に評価できることはほとんどない。フィードフォワード分の操作量加算量(本発明では、特許文献3と区別するため、フィードフォワード量MV_Xとする)は、適切に評価しながら調整されなければならない。フィードフォワード量MV_Xが不適切であれば、フィードフォワード制御の効果は劣化する。しかしながら、制御技術の専門家ではない通常のオペレータにとって、フィードフォワード量MV_Xを適切に調整して、フィードフォワード制御の効果を高めることは困難であった。
【先行技術文献】
【特許文献】
【0014】
【文献】特開2007-102816号公報
【文献】特開2019-101846号公報
【文献】特開2019-101847号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
本発明は、上記課題を解決するためになされたもので、適切なフィードフォワード量を合理的に推定することができる制御装置および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0016】
本発明の制御装置は、設定値と制御量とを入力として第1の操作量を算出するように構成された操作量算出部と、外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出するように構成されたフィードフォワード算出部と、前記操作量算出部によって算出された前記第1の操作量に前記第1のフィードフォワード量を加算するように構成されたフィードフォワード実行部と、前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力するように構成された操作量出力部と、前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定するように構成された第1の推定部と、前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出するように構成された総量算出部と、前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定するように構成された第2の推定部とを備え、前記フィードフォワード算出部は、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とし、前記総量算出部は、前記トリガー変数が入力された規定の第2の試行期間において前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出し、前記第2の推定部は、前記第2の試行期間における前記第2の操作量の変化量の総量から前記第2の試行期間における前記第2のフィードフォワード量の総量を減算した結果に基づいて前記第2のパラメータを更新することを特徴とするものである。
【0017】
また、本発明の制御装置は、設定値と制御量とを入力として第1の操作量を算出するように構成された操作量算出部と、外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出するように構成されたフィードフォワード算出部と、前記操作量算出部によって算出された前記第1の操作量に前記第1のフィードフォワード量を加算するように構成されたフィードフォワード実行部と、前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力するように構成された操作量出力部と、前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定するように構成された第1の推定部と、前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出するように構成された総量算出部と、前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定するように構成された第2の推定部とを備え、前記フィードフォワード算出部は、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とし、前記第2のフィードフォワード量は、ゼロから前記第1のパラメータの値へと徐々に収束する量であり、前記第1のパラメータをKx1、前記第2のフィードフォワード量を徐々に収束させる時間を規定する時定数をTf、前記時定数を調整する係数をA、前記トリガー変数をFF_X、ラプラス演算子をsとしたとき、[Kx1/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_Xにより算出されることを特徴とするものである。
また、本発明の制御装置は、設定値と制御量とを入力として第1の操作量を算出するように構成された操作量算出部と、外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出するように構成されたフィードフォワード算出部と、前記操作量算出部によって算出された前記第1の操作量に前記第1のフィードフォワード量を加算するように構成されたフィードフォワード実行部と、前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力するように構成された操作量出力部と、前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定するように構成された第1の推定部と、前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出するように構成された総量算出部と、前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定するように構成された第2の推定部とを備え、前記フィードフォワード算出部は、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とし、前記第3のフィードフォワード量は、前記第2のパラメータの値に近づいた後にゼロへと徐々に収束する量であり、前記第2のパラメータをKx2、前記第3のフィードフォワード量を徐々に収束させる時間を規定する時定数をTf、前記時定数を調整する係数をA、前記トリガー変数をFF_X、ラプラス演算子をsとしたとき、[Kx2s/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_Xにより算出されることを特徴とするものである。
【0018】
また、本発明の制御装置の1構成例において、前記第1の推定部は、前記外乱リカバリー応答前後の前記第2の操作量の差を前記第1のパラメータの値とすることを特徴とするものである。
また、本発明の制御装置の1構成例において、前記第2の推定部は、前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算し、前記第1の操作量と前記第1、第2、第3のフィードフォワード量との算出周期に、前記減算結果を乗算した値を前記第2のパラメータの値とすることを特徴とするものである。
【0019】
また、本発明の制御方法は、設定値と制御量とを入力として第1の操作量を算出する第1のステップと、外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出する第2のステップと、前記第1の操作量に前記第1のフィードフォワード量を加算する第3のステップと、前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力する第4のステップと、前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定する第5のステップと、前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出する第6のステップと、前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定する第7のステップと、前記トリガー変数が入力された規定の第2の試行期間において前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出する第8のステップと、前記第8のステップで算出した前記第2のフィードフォワード量の総量を前記第2の試行期間における前記第2の操作量の変化量の総量から減算した結果に基づいて前記第2のパラメータを更新する第9のステップとを含み、前記第2のステップは、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とするステップを含むことを特徴とするものである。
【0020】
また、本発明の制御方法は、設定値と制御量とを入力として第1の操作量を算出する第1のステップと、外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出する第2のステップと、前記第1の操作量に前記第1のフィードフォワード量を加算する第3のステップと、前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力する第4のステップと、前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定する第5のステップと、前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出する第6のステップと、前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定する第7のステップとを含み、前記第2のステップは、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とするステップを含み、前記第2のフィードフォワード量は、ゼロから前記第1のパラメータの値へと徐々に収束する量であり、前記第1のパラメータをKx1、前記第2のフィードフォワード量を徐々に収束させる時間を規定する時定数をTf、前記時定数を調整する係数をA、前記トリガー変数をFF_X、ラプラス演算子をsとしたとき、[Kx1/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_Xにより算出されることを特徴とするものである。
また、本発明の制御方法は、設定値と制御量とを入力として第1の操作量を算出する第1のステップと、外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数の入力に応じて、前記外乱の抑制に必要な第1のフィードフォワード量を算出する第2のステップと、前記第1の操作量に前記第1のフィードフォワード量を加算する第3のステップと、前記第1の操作量に前記第1のフィードフォワード量を加算した第2の操作量を制御対象に出力する第4のステップと、前記トリガー変数が入力された規定の第1の試行期間において前記第1のフィードフォワード量がゼロの状態で前記第1の操作量のみを前記第2の操作量として制御対象に出力させたときの外乱リカバリー応答前後の前記第2の操作量の差に基づいて、ステップ外乱の抑制に必要な第2のフィードフォワード量の算出のための第1のパラメータを推定する第5のステップと、前記第1の試行期間において前記第2のフィードフォワード量が出力されたと仮定したときの前記第2のフィードフォワード量の総量を前記第1のパラメータに基づいて算出する第6のステップと、前記第1の試行期間における前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算した結果に基づいて、インパルス外乱の抑制に必要な第3のフィードフォワード量の算出のための第2のパラメータを推定する第7のステップとを含み、前記第2のステップは、前記第1の試行期間の後に前記トリガー変数が入力されたときに、前記第1のパラメータに基づいて算出した前記第2のフィードフォワード量と前記第2のパラメータに基づいて算出した前記第3のフィードフォワード量との和を前記第1のフィードフォワード量とするステップを含み、前記第3のフィードフォワード量は、前記第2のパラメータの値に近づいた後にゼロへと徐々に収束する量であり、前記第2のパラメータをKx2、前記第3のフィードフォワード量を徐々に収束させる時間を規定する時定数をTf、前記時定数を調整する係数をA、前記トリガー変数をFF_X、ラプラス演算子をsとしたとき、[Kx2s/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_Xにより算出されることを特徴とするものである。
【0021】
また、本発明の制御方法の1構成例において、前記第5のステップは、前記外乱リカバリー応答前後の前記第2の操作量の差を前記第1のパラメータの値とするステップを含むことを特徴とするものである。
また、本発明の制御方法の1構成例において、前記第7、第9のステップは、前記第2の操作量の変化量の総量から前記第2のフィードフォワード量の総量を減算し、前記第1の操作量と前記第1、第2、第3のフィードフォワード量との算出周期に、前記減算結果を乗算した値を前記第2のパラメータの値とするステップを含むことを特徴とするものである。
【発明の効果】
【0022】
本発明によれば、第1の推定部と総量算出部と第2の推定部とを設けることにより、外乱リカバリー制御の実行結果(試行結果)に基づいて、適切な第1のフィードフォワード量を合理的に推定することができる。その結果、本発明では、フィードフォワード制御の効果を高めることができる。
【0023】
また、本発明では、第2の推定部が、第2の試行期間における第2の操作量の変化量の総量から第2の試行期間における第2のフィードフォワード量の総量を減算して、この減算結果に基づいて第2のパラメータを更新することにより、第1のフィードフォワード量をさらに高精度に推定することができる。
【図面の簡単な説明】
【0024】
【
図1】
図1は、本発明の実施例に係る制御装置の構成を示すブロック図である。
【
図2】
図2は、本発明の実施例に係る制御系のブロック線図である。
【
図3】
図3は、本発明の実施例に係る制御装置の動作を説明するフローチャートである。
【
図4】
図4は、本発明の実施例に係る制御装置の動作を説明するフローチャートである。
【
図5】
図5は、本発明の実施例に係るフィードフォワード量の変化の1例を示す図である。
【
図6】
図6は、本発明の実施例に係るフィードフォワード量の変化の1例を示す図である。
【
図7】
図7は、本発明の実施例に係るフィードフォワード量の変化の1例を示す図である。
【
図8】
図8は、本発明の実施例においてフィードフォワード制御を実行せずにフィードバック制御のみを実行した場合のシミュレーション結果を示す図である。
【
図9】
図9は、本発明の実施例においてフィードフォワード制御を実行せずにフィードバック制御のみを実行した場合のシミュレーション結果を示す図である。
【
図10】
図10は、本発明の実施例においてフィードフォワード制御を実行せずにフィードバック制御のみを実行した場合のシミュレーション結果を示す図である。
【
図11】
図11は、本発明の実施例においてフィードフォワード制御とフィードバック制御を実行した場合のシミュレーション結果を示す図である。
【
図12】
図12は、本発明の実施例においてフィードフォワード制御とフィードバック制御を実行した場合のフィードフォワード量のシミュレーション結果を示す図である。
【
図13】
図13は、本発明の実施例においてフィードフォワード制御とフィードバック制御を実行した場合のシミュレーション結果を示す図である。
【
図14】
図14は、本発明の実施例においてフィードフォワード制御とフィードバック制御を実行した場合のフィードフォワード量のシミュレーション結果を示す図である。
【
図15】
図15は、フィードフォワード量の別の例を示す図である。
【
図16】
図16は、本発明の実施例に係る制御装置を実現するコンピュータの構成例を示すブロック図である。
【
図18】
図18は、フィードバック+フィードフォワードの制御系のブロック線図である。
【
図19】
図19は、フィードバック+フィードフォワード制御における操作量加算量の変化の1例を示す図である。
【発明を実施するための形態】
【0025】
[発明の原理1]
本発明では、特許文献3で提案した技術などが特に適用対象とする外乱リカバリー応答を適用対象とする。適用対象の外乱には、大きく分けてインパルス外乱とステップ外乱の2種類がある。
【0026】
インパルス外乱は、外乱リカバリー応答の前後で整定時の実操作量MV_Fにほぼ変化が生じない外乱であり、一時的かつ衝撃のような外乱である。ステップ外乱は、外乱リカバリー応答の前後で整定時の実操作量MV_Fに顕著な変化が生じる外乱であり、整定状態という平衡点自体が変化する外乱である。なお、特許文献3で提案した技術は、インパルス外乱に特に適している。
【0027】
インパルス外乱のみであれば、フィードバック制御のみによる外乱リカバリー制御(制御量PVを設定値SPに復帰させる制御)での実操作量MV_Fの変化量総量ΔMV_impを目安にフィードフォワード量MV_Xを適正化できる。また、ステップ外乱のみであれば、フィードバック制御のみによる外乱リカバリー応答前後の実操作量差ΔMV_stpを目安にフィードフォワード量MV_Xを適正化できる。特に調整が難しいのは、インパルス外乱とステップ外乱の両方が同時に発生する外乱(本発明では混合外乱とする)である。
【0028】
発明者は、鋭意研究の結果、以下の(I)、(II)の手順、または(I)~(III)の手順でほぼ適正なフィードフォワード量MV_Xを推定できることを突き止めた。なお、本発明では、外乱印加のタイミングが既知であることにより、フィードフォワード動作を加えるタイミングを、自動決定できることを前提とする。
【0029】
また、本発明では、フィードバック制御として例えばPID制御を採用することにより、コントローラパラメータであるPIDパラメータに基づいて、フィードフォワード量MV_Xを収束させる時間のパラメータTfを、一意的に自動決定できることを前提とする。
【0030】
(I)少なくともフィードバック制御による外乱リカバリー制御(またはフィードバック制御のみの外乱リカバリー制御)を実行し、外乱リカバリー応答前後の実操作量差ΔMV_stpを目安にステップ外乱に必要なフィードフォワード量MV_X1を推定する。理論的には、適正なフィードフォワード量MV_X1は、実操作量差ΔMV_stpに比例する。
【0031】
(II)上記(I)で実行した外乱リカバリー制御において、実操作量MV_Fの変化量総量ΔMV_allを算出し、(I)で推定したステップ外乱に必要なフィードフォワード量MV_X1の総量MV_X1_allを減算した実操作量MV_Fの変化量総量ΔMV_impを目安にインパルス外乱に必要なフィードフォワード量MV_X2を推定する。理論的には、適正なフィードフォワード量MV_X2は、実操作量MV_Fの変化量総量ΔMV_impに概ね比例する。すなわち、本発明では、1回の外乱リカバリー応答を確認すればよい。
【0032】
[発明の原理2]
上記の(I)、(II)の手順により、フィードフォワード量MV_Xの概ね適切な推定が可能である。ただし、混合外乱が発生した場合には、(I)、(II)の手順が終了した段階ではインパルス外乱に必要なフィードフォワード量MV_X2を高精度に推定する目安が得られているとは限らない。したがって、以下の(III)の手順を追加することが好ましい。
【0033】
(III)少なくとも上記(I)で推定したステップ外乱に対するフィードフォワード制御(フィードフォワード量MV_X1)とフィードバック制御とで外乱リカバリー制御を再度実行し、フィードフォワード量MV_X1の総量MV_X1_allを減算した実操作量MV_Fの変化量総量ΔMV_impを目安にインパルス外乱に必要なフィードフォワード量MV_X2を推定する。理論的には、適正なフィードフォワード量MV_X2は、実操作量MV_Fの変化量総量ΔMV_impに比例する。
【0034】
すなわち、本発明では、フィードフォワード量MV_Xを特に高精度にするためには、上記のように2回の外乱リカバリー応答を確認すればよい。2回の試行で済むということは、合理的かつ効率的な手順になる。
【0035】
[実施例]
以下、本発明の実施例について図面を参照して説明する。
図1は本発明の実施例に係る制御装置の構成を示すブロック図である。制御装置は、設定値SPと制御量PVとを入力として基本操作量MV(第1の操作量)をPID演算により算出する操作量算出部1と、外乱の印加前に有意の値となり外乱の印加後に非有意の値となるトリガー変数FF_Xの入力に応じて、外乱の抑制に必要なフィードフォワード量MV_X(第1のフィードフォワード量)を算出するフィードフォワード算出部2と、操作量算出部1によって算出された基本操作量MVにフィードフォワード量MV_Xを加算して実操作量MV_F(第2の操作量)とするフィードフォワード実行部3とを備えている。
【0036】
また、制御装置は、トリガー変数FF_Xが入力された規定の第1の試行期間において少なくとも基本操作量MVを含む実操作量MV_Fを制御対象に出力させたときの外乱リカバリー応答前後の実操作量差ΔMV_stpに基づいて、ステップ外乱の抑制に必要なフィードフォワード量MV_X1(第2のフィードフォワード量)の算出のためのパラメータKx1(第1のパラメータ)を推定するステップ対応推定部4(第1の推定部)と、第1の試行期間においてフィードフォワード量MV_X1が出力されたと仮定したときのフィードフォワード量MV_X1の総量MV_X1_allをパラメータKx1に基づいて算出する総量算出部5と、第1の試行期間における実操作量MV_Fの変化量総量ΔMV_allからフィードフォワード量MV_X1の総量を減算して、この減算結果ΔMV_impに基づいて、インパルス外乱の抑制に必要なフィードフォワード量MV_X2(第3のフィードフォワード量)の算出のためのパラメータKx2(第2のパラメータ)を推定するインパルス対応推定部6(第2の推定部)とを備えている。なお、本実施例では、少なくとも基本操作量MVを含む実操作量MV_Fの一例として、フィードフォワード量MV_Xがゼロの状態で基本操作量MVのみを実操作量MV_Fとして制御対象に出力させる形態で説明する。
【0037】
さらに、制御装置は、ステップ対応推定部4とインパルス対応推定部6の推定結果をフィードフォワード算出部2に設定する推定結果出力部7と、フィードフォワード実行部3で算出された実操作量MV_Fを操作量下限値OL以上で操作量上限値OH以下の値に制限するリミット処理を行なうリミット処理部8と、リミット処理された実操作量MV_F’(第2の操作量)を制御対象に出力する操作量出力部9とを備えている。ただし、実操作量MV_Fの動作が操作量下限値OLから操作量上限値OHの範囲に限られている場合は、リミット処理部は備えなくてもよいし、本発明は実操作量MV_Fの動作が操作量下限値OLから操作量上限値OHの範囲に限られている場合に特に有効に適用できる。
図2は本実施例の制御系のブロック線図である。
図2のPは制御対象を示している。
【0038】
次に、本実施例の制御装置の動作を
図3、
図4を参照して説明する。設定値SP(例えば温度設定値)は、制御装置のオペレータなどによって設定され、操作量算出部1に入力される(
図3ステップS100)。
【0039】
制御量PV(例えば温度計測値)は、図示しない計測器(例えば被加熱物の温度を計測する温度センサ)によって計測され、操作量算出部1に入力される(
図3ステップS101)。
【0040】
操作量算出部1は、設定値SPと制御量PVとを入力として、制御量PVが設定値SPと一致するように、例えば以下の伝達関数式のようなPID演算を行って基本操作量MVを算出する(
図3ステップS102)。
MV=(100/Pb){1+(1/Tis)+Tds}(SP-PV)
・・・(5)
Pbは比例帯、Tiは積分時間、Tdは微分時間、sはラプラス演算子である。
【0041】
フィードフォワード算出部2は、フィードフォワード制御の実行時にフィードフォワード量MV_Xを算出するが、外乱の印加前に1(有意の値)となり外乱の印加後に0(非有意の値)となるトリガー変数FF_Xが0の場合(
図3ステップS103においてNO)、フィードバック制御のみでフィードフォワード制御を実行しないものとして、フィードフォワード量MV_Xを0にする(
図3ステップS104)。
【0042】
フィードフォワード実行部3は、操作量算出部1によって算出された基本操作量MVに、フィードフォワード算出部2によって算出されたフィードフォワード量MV_Xを加算した結果を実操作量MV_Fとして算出する(
図3ステップS105)。
MV_F=MV+MV_X ・・・(6)
【0043】
ここでは、MV_X=0なので、MV_F=MVである。リミット処理部8は、フィードフォワード実行部3によって算出された実操作量MV_Fを所定の操作量下限値OL以上の値に制限する下限リミット処理と、実操作量MV_Fを所定の操作量上限値OH以下の値に制限する上限リミット処理とを行なう(
図3ステップS106)。
IF MV_F<OL THEN MV_F’=OL ・・・(7)
IF MV_F>OH THEN MV_F’=OH ・・・(8)
つまり、リミット処理部8は、実操作量MV_Fが操作量下限値OLより小さい場合、実操作量MV_F’=OLとし、実操作量MV_Fが操作量上限値OHより大きい場合、実操作量MV_F’=OHとする。
【0044】
操作量出力部9は、リミット処理部8でリミット処理された実操作量MV_F’を制御対象に出力する(
図3ステップS107)。実操作量MV_F’の出力先は、ヒータやバルブなどの操作部(不図示)である。ヒータの場合には、実操作量MV_F’の実際の出力先は、ヒータに電力を供給する電力調整器(不図示)となる。
【0045】
制御装置は、
図3のステップS100~S107の処理を例えばオペレータの指示によって制御が終了するまで(
図3ステップS108においてYES)、制御周期毎に実行する。
【0046】
次に、トリガー変数FF_Xが1(有意の値)になったときの動作を説明する。本実施例では、外乱印加のタイミングが既知であることにより、フィードフォワード制御の実行のタイミングを自動決定できることを前提としており、本実施例の制御装置が適用されるシステムにおいて、制御中に想定される外乱を抑制するために、外部機器から制御装置に対して規定のタイミングでトリガー変数FF_X=1が自動的に入力される。
【0047】
例えば薬品の製造装置において、薬品製造の炉の扉が開くことによって炉内の温度が変動するという状況がある。この場合、炉の温度を制御する制御装置(外部機器)は、炉の扉が開くタイミング(外乱印加のタイミング)よりも前の時点で本実施例の制御装置に対してトリガー変数FF_X=1を送信する。
【0048】
同様に、設定値SP(温度設定値)が一定のリフロー炉において、はんだ付けの対象となるプリント基板が定期的に投入されることによって温度が変動するという状況がある。この場合、プリント基板の搬送を制御する制御装置(外部機器)は、リフロー炉にプリント基板が投入されるタイミング(外乱印加のタイミング)よりも前の時点で本実施例の制御装置に対してトリガー変数FF_X=1を送信する。
【0049】
また、外部機器は、外乱の印加が終了した時点から所定時間後にトリガー変数FF_Xを0(非有意の値)にする。
なお、外乱印加のタイミングに対してトリガー変数FF_Xを1にするタイミングをどの程度前にすべきかについては後述する。
【0050】
ステップ対応推定部4は、トリガー変数FF_Xが0から1になったとき(
図3ステップS103においてYES)、トリガー変数FF_Xが1になった1回目の外乱リカバリー制御の期間(第1の試行期間)においては(
図3ステップS109においてYES)、FF_X=0のときと同様にフィードバック制御のみでフィードフォワード制御を実行しないものとして、フィードフォワード算出部2からフィードフォワード量MV_X=0を出力させる(
図3ステップS110)。
【0051】
図3のステップS111~S113の処理は、ステップS105~S107の処理と同じである。そして、ステップ対応推定部4とインパルス対応推定部6とは、フィードフォワード実行部3によって算出されリミット処理部8によって処理された実操作量MV_F’を時刻と共に記憶する(
図3ステップS114)。
【0052】
ステップ対応推定部4は、トリガー変数FF_Xが1になった1回目の外乱リカバリー制御において、実操作量MV_F’が整定したと判定した場合(
図3ステップS115においてYES)、外乱リカバリー応答前後の実操作量差ΔMV_stpを算出する(
図3ステップS116)。実操作量差ΔMV_stpは、ステップS115において整定したと判定したときの実操作量MV_F’の整定値と外乱印加前の実操作量MV_F’(トリガー変数FF_Xが1になる直前の実操作量MV_F’の整定値)との差である。
【0053】
そして、ステップ対応推定部4は、ステップ外乱の抑制に必要なフィードフォワード量MV_X1の算出のためのパラメータKx1の適正値を次式のように推定する(
図3ステップS117)。
Kx1=ΔMV_stp ・・・(9)
すなわち、本実施例では、ステップ対応推定部4は、実操作量差ΔMV_stpをそのままパラメータKx1とする。
【0054】
推定結果出力部7は、ステップ対応推定部4によって推定されたパラメータKx1の値をフィードフォワード算出部2に設定する(
図3ステップS118)。このように、推定したパラメータKx1の値をフィードフォワード算出部2に自動設定してもよいし、パラメータKx1の値を画面に表示してオペレータに確認させた上でオペレータが手動でフィードフォワード算出部2に設定してもよい。パラメータKx1の設定により、後述のようにフィードフォワード算出部2がフィードフォワード量MV_X1を逐次的に算出できるようになる。
【0055】
ステップ外乱の抑制に必要なフィードフォワード量MV_X1の算出式は次式のようになる。
MV_X1
=[Kx1/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_X
・・・(10)
【0056】
また、インパルス外乱の抑制に必要なフィードフォワード量MV_X2の算出式は次式のようになる。
MV_X2
=[Kx2s/{(1+ATfs)(1+(2.0-A)Tfs)}]FF_X
・・・(11)
【0057】
式(10)、式(11)において、Tfはフィードフォワード量MV_X1,MV_X2を徐々に収束させる時間を規定するパラメータ(時定数)である。時定数Tfは、フィードバック制御系などの情報に基づいて事前に設定しておくことができる。
【0058】
式(10)、式(11)のAは時定数Tfのバランスを調整する係数(Aは0より大きい実数)である。本実施例では、A=1.0としている。
上記のとおり、パラメータKx1は、ステップ対応推定部4によって推定された値であり、基本操作量MVに対するフィードフォワード分の加減算量の実質的に目標値である。式(10)により、フィードフォワード量MV_X1は、ゼロ値からパラメータKx1の値へと徐々に収束する。
【0059】
また、式(11)のKx2は、インパルス外乱の抑制に必要なフィードフォワード量MV_X2の算出のためのパラメータであり、基本操作量MVに対するフィードフォワード分の加減算量の総量(各制御周期の加減算量の積算値)の実質的に目標値である。式(11)により、フィードフォワード量MV_X2は、その総量(各制御周期の積算値)がパラメータKx2の値に近づいた後に、フィードフォワード量MV_X2自体はゼロ値へと徐々に収束する。
なお、式(10)、式(11)は、フィードフォワード算出部2に記憶されている。
【0060】
次に、総量算出部5は、トリガー変数FF_Xが1になった1回目の外乱リカバリー制御においてステップ外乱の抑制に必要なフィードフォワード量MV_X1が出力されたと仮定したときの実操作量MV_F’の整定までのフィードフォワード量MV_X1の総量MV_X1_all(各制御周期の加減算量の積算値)を算出する(
図3ステップS119)。ステップ対応推定部4によってパラメータKx1の値が推定されたので、トリガー変数FF_Xが1になった時点から出力されるフィードフォワード量MV_X1は、上記の式(10)によって算出することができる。
【0061】
インパルス対応推定部6は、外乱印加前の実操作量MV_F’(トリガー変数FF_Xが1になる直前の実操作量MV_F’の整定値)に対して、トリガー変数FF_Xが1になった1回目の外乱リカバリー制御における実操作量MV_F’の変化量総量ΔMV_all(各制御周期の変化量の積算値)を、記憶している実操作量MV_F’の時系列データに基づいて算出する(
図3ステップS120)。なお、本実施例では、実操作量MV_Fは基本操作量MVのみが含まれる形態としているので、MV_F=MVである。
【0062】
続いて、インパルス対応推定部6は、ステップS120で算出した実操作量MV_F’の変化量総量ΔMV_allから総量算出部5によって算出されたフィードフォワード量MV_X1の総量MV_X1_allを減算した変化量総量ΔMV_impを算出する(
図3ステップS121)。
ΔMV_imp=ΔMV_all-MV_X1_all ・・・(12)
【0063】
さらに、インパルス対応推定部6は、インパルス外乱の抑制に必要なフィードフォワード量MV_X2の算出のためのパラメータKx2の適正値を次式のように推定する(
図3ステップS122)。
Kx2=ΔMV_imp×dt ・・・(13)
【0064】
式(13)において、dtは制御周期(基本操作量MVとフィードフォワード量MV_X1,MV_X2,MV_Xの算出周期)であり、単位はsec.である。
【0065】
推定結果出力部7は、インパルス対応推定部6によって推定されたパラメータKx2の値をフィードフォワード算出部2に設定する(
図3ステップS123)。このように、推定したパラメータKx2の値をフィードフォワード算出部2に自動設定してもよいし、パラメータKx2の値を画面に表示してオペレータに確認させた上でオペレータが手動でフィードフォワード算出部2に設定してもよい。パラメータKx2の設定により、フィードフォワード算出部2がフィードフォワード量MV_X2を逐次的に算出できるようになる。
【0066】
ステップS109~S123までの処理が上記の(I)、(II)の手順に相当する処理フローになる。これにより、実用上ほぼ問題ない程度のパラメータKx1,Kx2の適正値を推定することができる。なお、ステップS116~S123の処理は、実操作量MV_F’が整定したときに1回行えばよい。
上記のとおり、外乱印加が終了した後の規定のタイミングでトリガー変数FF_Xは1から0に戻る。
【0067】
次に、フィードフォワード算出部2は、トリガー変数FF_Xが0から1になったとき(ステップS103においてYES)、トリガー変数FF_Xが1になった2回目の外乱リカバリー制御の期間(第2の試行期間)においては(
図4ステップS124においてYES)、フィードフォワード+フィードバック制御を実行するため、式(10)によりステップ外乱の抑制に必要なフィードフォワード量MV_X1を算出する(
図4ステップS125)。このフィードフォワード量MV_X1の算出と同時に、フィードフォワード算出部2は、式(11)によりインパルス外乱の抑制に必要なフィードフォワード量MV_X2を算出する(
図4ステップS126)。
【0068】
そして、フィードフォワード算出部2は、次式のようにフィードフォワード量MV_X1とMV_X2とを加算したフィードフォワード量MV_Xを算出する(
図4ステップS127)。
MV_X=MV_X1+MV_X2 ・・・(14)
【0069】
図4のステップS128~S130の処理は、ステップS105~S107の処理と同じである。そして、ステップ対応推定部4とインパルス対応推定部6とは、フィードフォワード実行部3によって算出されリミット処理部8によって処理された実操作量MV_F’を時刻と共に記憶する(
図4ステップS131)。
【0070】
総量算出部5は、トリガー変数FF_Xが1になった2回目の外乱リカバリー制御において、実操作量MV_F’が整定したときに(
図4ステップS132においてYES)、実操作量MV_F’の整定までにフィードフォワード算出部2によって算出されたフィードフォワード量MV_X1の総量MV_X1_allを算出する(
図4ステップS133)。
【0071】
インパルス対応推定部6は、外乱印加前の実操作量MV_F’(トリガー変数FF_Xが1になる直前の実操作量MV_F’の整定値)に対して、トリガー変数FF_Xが1になった2回目の外乱リカバリー制御における実操作量MV_F’の変化量総量ΔMV_allを、記憶している実操作量MV_F’の時系列データに基づいて算出する(
図4ステップS134)。
【0072】
続いて、インパルス対応推定部6は、ステップS134で算出した実操作量MV_F’の変化量総量ΔMV_allからステップS133で算出されたフィードフォワード量MV_X1の総量MV_X1_allを減算した変化量総量ΔMV_impを算出する(
図4ステップS135)。
【0073】
さらに、インパルス対応推定部6は、ステップS135で算出した変化量総量ΔMV_impに基づいて、パラメータKx2の適正値を式(13)により推定する(
図4ステップS136)。
【0074】
推定結果出力部7は、フィードフォワード算出部2に設定されているパラメータKx2の値を、インパルス対応推定部6によって新たに推定された値に更新する(
図4ステップS137)。このようにパラメータKx2の値を自動更新してもよいし、パラメータKx2の値を画面に表示してオペレータに確認させた上でオペレータが手動で更新してもよい。
【0075】
ステップS124~S137までの処理が上記の(III)の手順に相当する処理フローになる。なお、ステップS133~S137の処理は、実操作量MV_F’が整定したときに1回行えばよい。
【0076】
トリガー変数FF_Xが1になった3回目以降の外乱リカバリー制御の場合におけるステップS138~S143の処理は、ステップS125~S130と同じなので、説明は省略する。
【0077】
図5はフィードフォワード量MV_X1の変化の例を示す図、
図6はフィードフォワード量MV_X2の変化の例を示す図、
図7はフィードフォワード量MV_Xの変化の例を示す図である。
図5~
図7の例では、Kx1=20.0、Kx2=3304.0、Tf=15.0sec.としている。なお、前述の総量(各制御周期の積算値)とは、
図5~
図7における曲線により囲まれる面積に相当する量である。
【0078】
以下、シミュレーションにより本実施例の効果を検証する。以下の例では、制御対象を、プロセスゲイン10.0、プロセス時定数400.0sec.、プロセスむだ時間20.0sec.の1次遅れ伝達関数で近似できる制御系とする。すなわち、制御対象のモデル数式Gpは次式のように記述できる。
Gp=10.0exp(-20.0s)/(1+400.0s) ・・・(15)
【0079】
また、操作量算出部1に設定されるPIDパラメータを、比例帯Pb=60%、積分時間Ti=120.0sec.、微分時間Td=10.0sec.とした。制御周期dtは1.0sec.である。
【0080】
フィードフォワード制御の開始タイミング、すなわちトリガー変数FF_Xを0から1にするタイミングは、微分時間Tdに基づいて設定できる。具体的には、外乱印加の時点よりαTd前(係数αは0より大きい実数であり、例えば0.7)であることが妥当である。微分時間Td=10.0sec.の場合、フィードフォワード制御の開始タイミングは、外乱印加の時点より7.0sec.前となる。ただし、係数αは、適宜微調整され得る値である。
【0081】
同様に、時定数Tfは、微分時間Tdに基づいて設定できる。具体的には、Tf=βTd(係数βは0より大きい実数であり、例えば0.4)であることが妥当である。微分時間Td=10.0sec.の場合、時定数Tf=4.0sec.となる。ただし、係数βは、適宜微調整され得る値である。
【0082】
図8~
図10は、本実施例の適用対象となる外乱リカバリー応答の例を示す図であり、フィードフォワード制御を実行せずにフィードバック制御のみで温度制御した場合の制御量PVと実操作量MV_F’(=操作量MV)の変化の例を示す図である。
【0083】
図8は、100sec.の時点でインパルス外乱が印加された場合のフィードバック制御による外乱リカバリー応答のシミュレーション結果を示している。外乱リカバリー応答の前後で整定時の実操作量MV_F’(=操作量MV)は、ほぼ変化していない。
【0084】
図9は、100sec.の時点でステップ外乱が印加された場合のフィードバック制御による外乱リカバリー応答のシミュレーション結果を示している。外乱リカバリー応答の前後で整定時の実操作量MV_F’(=操作量MV)に顕著な変化が生じている。
【0085】
図10は、100sec.の時点で混合外乱が印加された場合のフィードバック制御による外乱リカバリー応答のシミュレーション結果を示している。このシミュレーション結果は、トリガー変数FF_Xが1になった1回目の制御の結果に相当する。混合印加はステップ外乱を含むため、外乱リカバリー応答の前後で整定時の実操作量MV_F’(=操作量MV)に顕著な変化が生じている。
【0086】
図10の例では、外乱印加前の実操作量MV_F’=30.0%に対して外乱リカバリー応答後の実操作量MV_F’の整定値が45.0%なので、実操作量差ΔMV_stp=15.0%となる。ステップ対応推定部4は、式(9)によりパラメータKx1=15.0と推定する(
図3ステップS117)。
【0087】
また、
図10の例では、実操作量MV_F’の変化量総量ΔMV_allからフィードフォワード量MV_X1の総量を減算した変化量総量ΔMV_imp=768.2%となる。インパルス対応推定部6は、式(13)によりパラメータKx2=768.2と推定する(
図3ステップS122)。
【0088】
図11は、100sec.の時点で混合外乱が印加された場合のフィードフォワード制御とフィードバック制御による外乱リカバリー応答のシミュレーション結果を示し、
図12は、
図11の場合のフィードフォワード量MV_Xのシミュレーション結果を示している。これらのシミュレーション結果は、トリガー変数FF_Xが1になった2回目の制御の結果に相当する。
【0089】
フィードフォワード制御の開始タイミング、すなわちトリガー変数FF_Xを0から1にするタイミングは、外乱印加の時点より7.0sec.前の93sec.の時点になっている。
図11の例では、実操作量MV_F’の変化量総量ΔMV_allからフィードフォワード量MV_X1の総量を減算した変化量総量ΔMV_imp==745.5%となる。インパルス対応推定部6は、式(13)によりパラメータKx2=745.5と推定する(
図4ステップS136)。トリガー変数FF_Xが1になった1回目の制御と比較して、より高精度な推定値を算出することができる。
【0090】
図13は、100sec.の時点で混合外乱が印加された場合のフィードフォワード制御とフィードバック制御による外乱リカバリー応答のシミュレーション結果を示し、
図14は、
図13の場合のフィードフォワード量MV_Xのシミュレーション結果を示している。これらのシミュレーション結果は、トリガー変数FF_Xが1になった1回目、2回目の制御によってKx1=15.0,Kx2=745.5が設定された後に、トリガー変数FF_Xが1になった3回目以降の制御の結果に相当する。
【0091】
制御結果の比較としては、
図10がフィードバック制御のみによる結果を示し、
図13が本実施例で推定したフィードフォワード量MV_Xを適用したフィードフォワード制御とフィードバック制御を組合せた制御の結果を示している。
図10の例では、混合外乱により制御量PVが大きく下降するのに対して、
図13の例では、混合外乱の影響をほとんど抑制できていることが分かる。
【0092】
なお、本発明は、フィードフォワード量MV_Xの特性を
図7と略等価な関数やパターンに置換した場合でも、本発明の技術思想の範囲で適用可能である。例えばフィードフォワード量MV_Xを、
図15のような折れ線パターンとしてもよい。
【0093】
また、本実施例では、設定値SPに対して制御量PVが下降する外乱の例で説明しているが、本発明は設定値SPに対して制御量PVが上昇する外乱にも対応可能である。制御量PVが上昇する外乱が発生した場合には、実操作量差ΔMV_stpと実操作量MV_F’の変化量総量ΔMV_allとフィードフォワード量MV_X1の総量MV_X1_allとパラメータKx1,Kx2とフィードフォワード量MV_X1,MV_X2とが負の値となる。
【0094】
また、本実施例では、第2の試行期間における調整を実施しているが、この調整を実施しなくてもよい。第2の試行期間における調整を実施しない場合には、ステップS125~S137の処理を無くし、トリガー変数FF_Xが1になった2回目以降の外乱リカバリー制御においてステップS138~S143の処理を実行すればよい。
【0095】
本実施例で説明した制御装置は、CPU(Central Processing Unit)、記憶装置及びインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このコンピュータの構成例を
図16に示す。
【0096】
コンピュータは、CPU300と、記憶装置301と、インタフェース装置(I/F)302とを備えている。I/F302には、例えば温度センサや電力調整器が接続される。このようなコンピュータにおいて、本実施例の制御方法を実現させるためのプログラムは記憶装置301に格納される。CPU300は、記憶装置301に格納されたプログラムに従って本実施例で説明した処理を実行する。
【産業上の利用可能性】
【0097】
本発明は、制御装置に適用することができる。
【符号の説明】
【0098】
1…操作量算出部、2…フィードフォワード算出部、3…フィードフォワード実行部、4…ステップ対応推定部、5…総量算出部、6…インパルス対応推定部、7…推定結果出力部、8…リミット処理部、9…操作量出力部。