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

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

▶ アズビル株式会社の特許一覧

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