特許第6510629号(P6510629)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ハネウェル・インターナショナル・インコーポレーテッドの特許一覧

特許6510629プラント全体の制御及び最適化のためのカスケード型モデル予測制御(MPC)手法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6510629
(24)【登録日】2019年4月12日
(45)【発行日】2019年5月8日
(54)【発明の名称】プラント全体の制御及び最適化のためのカスケード型モデル予測制御(MPC)手法
(51)【国際特許分類】
   G05B 13/04 20060101AFI20190422BHJP
【FI】
   G05B13/04
【請求項の数】8
【全頁数】37
(21)【出願番号】特願2017-503847(P2017-503847)
(86)(22)【出願日】2015年7月8日
(65)【公表番号】特表2017-529586(P2017-529586A)
(43)【公表日】2017年10月5日
(86)【国際出願番号】US2015039541
(87)【国際公開番号】WO2016014247
(87)【国際公開日】20160128
【審査請求日】2018年4月17日
(31)【優先権主張番号】14/336,888
(32)【優先日】2014年7月21日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】500575824
【氏名又は名称】ハネウェル・インターナショナル・インコーポレーテッド
【氏名又は名称原語表記】Honeywell International Inc.
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(72)【発明者】
【氏名】ルー,ジョセフ・ズィー
【審査官】 牧 初
(56)【参考文献】
【文献】 特表2013−502003(JP,A)
【文献】 特開2005−092584(JP,A)
【文献】 特開2008−123354(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/00−13/04
(57)【特許請求の範囲】
【請求項1】
マスタモデル予測制御(MPC)コントローラ(302)において、産業用設備用のプランニングモデル(200)を得るステップ(1702)と、
前記マスタMPCコントローラからの少なくとも1つの最適化呼び出しを、1つ又は複数のスレーブMPCコントローラ(304a〜304n)に送信するステップ(1706)と、
前記少なくとも1つの最適化呼び出しに応答して、前記1つ又は複数のスレーブMPCコントローラからの少なくとも1つのプロキシ制限値を、前記マスタMPCコントローラにおいて受信するステップ(1708)であって、前記少なくとも1つのプロキシ制限値が、前記1つ又は複数のスレーブMPCコントローラによって制御される1つ又は複数のプロセス変数が、いかなるプロセス変数制約にも反することなく、どの程度まで調整可能であるかを特定する、ステップ(1708)と、
前記プランニングモデル及び前記少なくとも1つのプロキシ制限値を使用して、前記マスタMPCコントローラにおいて、プラント全体の最適化を行うステップ(1710)であって、前記少なくとも1つのプロキシ制限値が、前記マスタMPCコントローラに、前記プラント全体の最適化の間、前記1つ又は複数のスレーブMPCコントローラの前記プロセス変数制約を遵守することを可能にさせる、ステップ(1710)と
を含む、方法。
【請求項2】
前記少なくとも1つのプロキシ制限値を受信する前記ステップが、前記1つ又は複数のスレーブMPCコントローラによって使用される1つ又は複数のMPCモデル(250)に基づく少なくとも1つのプロキシ制限値を受信するステップを含
前記プランニングモデルが、前記産業用設備内の複数のユニット(202)、及び前記ユニット間のマテリアルフローを特定し、
各MPCモデルが、前記産業用設備内の単一のユニットの複数の構成要素、前記単一のユニットの前記複数の構成要素を制御するために使用されるアクチュエータ、及び前記アクチュエータを制御するために使用されるプロセスコントローラを特定する、請求項に記載の方法。
【請求項3】
各プロキシ制限値が、1つのプロセス変数に対して取得可能な最大値又は最小値を、いかなるプロセス変数制約にも反することなく特定する、請求項1に記載の方法。
【請求項4】
前記プラント全体の最適化中の前記マスタMPCコントローラが、閉ループ制御システム内で、リアルタイムプランニングソリューションを生成する、請求項1に記載の方法。
【請求項5】
マスタモデル予測制御(MPC)コントローラ(302)であって、
産業用設備用のプランニングモデル(200)を格納するように構成された少なくとも1つのメモリ(144)、
1つ又は複数のスレーブMPCコントローラ(304a〜304n)と通信するように構成された少なくとも1つのネットワークインタフェース(146)、及び
少なくとも1つの処理デバイス(142)であって、
前記1つ又は複数のスレーブMPCコントローラへの少なくとも1つの最適化呼び出しの送信を開始し、
前記少なくとも1つの最適化呼び出しに応答して、前記1つ又は複数のスレーブMPCコントローラから少なくとも1つのプロキシ制限値を受信し、前記少なくとも1つのプロキシ制限値が、前記1つ又は複数のスレーブMPCコントローラによって制御される1つ又は複数のプロセス変数が、いかなるプロセス変数制約にも反することなく、どの程度まで調整可能であるかを特定し、かつ、
前記プランニングモデル及び前記少なくとも1つのプロキシ制限値を使用して、プラント全体の最適化を行い、前記少なくとも1つの処理デバイスが、前記少なくとも1つのプロキシ制限値を使用した前記プラント全体の最適化の間、前記1つ又は複数のスレーブMPCコントローラの前記プロセス変数制約を遵守するように構成される、
ように構成された、少なくとも1つの処理デバイス(142)
含む、マスタモデル予測制御(MPC)コントローラ(302)を備える、装置。
【請求項6】
前記少なくとも1つの処理デバイスが、
前記産業用設備の種々の部分を特定するグラフィカルユーザインタフェース(500)を生成し、
前記少なくとも1つのプロキシ制限値を使用して、前記産業用設備内の1つ又は複数の障害を特定し、各障害が、プロキシ制限値が前記プラント全体の最適化を制約している前記スレーブMPCコントローラに関連付けられ
前記1つ又は複数の障害を引き起こす、前記産業用設備の各部分に対して、前記グラフィカルユーザインタフェースに第1の指標(504)を表示する
ように、さらに構成される、請求項に記載の装置。
【請求項7】
前記少なくとも1つの処理デバイスが、
前記産業用設備の前記種々の部分のうちの1つを選択すると、前記産業用設備の前記選択された部分に関連付けられる前記MPCモデルを表示し、
前記MPCモデル内のプロセスコントローラを選択すると、前記選択されたプロセスコントローラに関連付けられる制御された変数及び操作された変数を示す表(402)を表示し、かつ
前記プラント全体の最適化を制約している各制御された変数又は操作された変数に対する、第2の指標(506)を、前記グラフィカルユーザインタフェースに表示するように、さらに構成される、請求項に記載の装置。
【請求項8】
コンピュータプログラムを具体化する非一時的コンピュータ可読媒体であって、前記コンピュータプログラムが、
マスタモデル予測制御(MPC)コントローラ(302)において、産業用設備用のプランニングモデル(200)を得るステップ(1702)と、
前記マスタMPCコントローラからの少なくとも1つの最適化呼び出しを、1つ又は複数のスレーブMPCコントローラ(304a〜304n)に送信するステップ(1706)と、
前記少なくとも1つの最適化呼び出しに応答して、前記1つ又は複数のスレーブMPCコントローラからの少なくとも1つのプロキシ制限値を、前記マスタMPCコントローラにおいて受信するステップ(1708)であって、前記少なくとも1つのプロキシ制限値が、前記1つ又は複数のスレーブMPCコントローラによって制御される1つ又は複数のプロセス変数が、いかなるプロセス変数制約にも反することなく、どの程度まで調整可能であるかを特定する、ステップ(1708)と、
前記プランニングモデル及び前記少なくとも1つのプロキシ制限値を使用して、前記マスタMPCコントローラにおいて、プラント全体の最適化を行うステップ(1710)であって、前記少なくとも1つのプロキシ制限値が、前記マスタMPCコントローラに、前記プラント全体の最適化の間、前記1つ又は複数のスレーブMPCコントローラの前記プロセス変数制約を遵守することを可能にさせる、ステップ(1710)と
のためのコンピュータ可読プログラムコードを含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本開示は、概して、産業用プロセス制御及び自動化システムに関する。より詳細には、本開示は、プラント全体の制御及び最適化のためのカスケード型(cascaded)モデル予測制御(MPC:Model Predictive Control)手法に関する。
【背景技術】
【0002】
[0002]処理設備は、産業用プロセス制御及び自動化システムを使用して管理されることが多い。多くの制御及び自動化システムは、種々の機能を果たす複数の階層レイヤを含む。例えば、下位レイヤは、プロセス制御機能及びモデル予測制御(MPC)動作を行うデバイスを含むことができる一方、上位レイヤは、プラント全体の最適化ソリューションを提供するデバイスを含むことができる。
【0003】
[0003]理想的には、制御とプラント全体の最適化は、一体的にデザインされるであろうが、下位レベルでの分散型制御と、上位レベルでの集中型最適化を、どのように同時にもたらすかという1つの問題が起こる。分散型MPCソリューションは、プロセスの不調、機器の故障、及び保守点検に対処する際のそれらの操作性及び柔軟性により、しばしばより望ましいものとなる。集中型プランニング最適化は、その上位レベル図が枝葉の又は不明瞭な細目を取り除くことから、しばしばより望ましいものとなる。しかしながら、従来の制御及び自動化システムの1つの欠点は、複数のレイヤにわたる保証されたソリューションの一貫性の欠如にある。実際には、プラント全体のプランニング最適化は、仮に閉ループ制御システムの一部として実装されるとしても、まれである。結果として、かなりの額の最適化利益が手の届かないままである。
【発明の概要】
【発明が解決しようとする課題】
【0004】
[0004]本開示は、プラント全体の制御及び最適化のためのカスケード型モデル予測制御(MPC)手法を提供する。
【課題を解決するための手段】
【0005】
[0005]第1の実施形態において、方法は、マスタ(master)MPCコントローラにおいて、産業用設備用のプランニングモデルを得ることを含む。方法は、マスタMPCコントローラからの少なくとも1つの最適化呼び出しを、1つ又は複数のスレーブ(slave)MPCコントローラへ送信することも含む。方法は、少なくとも1つの最適化呼び出しに応答して、1つ又は複数のスレーブMPCコントローラからの少なくとも1つのプロキシ制限値を、マスタMPCコントローラにおいて受信することをさらに含む。少なくとも1つのプロキシ制限値は、1つ又は複数のスレーブMPCコントローラによって制御される1つ又は複数のプロセス変数が、いかなるプロセス変数制約にも反することなく、どの程度まで調整可能であるかを特定する。さらに、方法は、プランニングモデルと少なくとも1つのプロキシ制限値を使用して、マスタMPCコントローラにおいて、プラント全体の最適化を行うことを含む。少なくとも1つのプロキシ制限値は、マスタMPCコントローラに、プラント全体の最適化の間、1つ又は複数のスレーブMPCコントローラのプロセス変数制約を遵守する(honor)ことを可能にさせる。
【0006】
[0006]第2の実施形態において、装置は、産業用設備用のプランニングモデルを格納するように構成された少なくとも1つのメモリ、1つ又は複数のスレーブMPCコントローラと通信するように構成された少なくとも1つのネットワークインタフェース、及び少なくとも1つの処理デバイスを有するマスタMPCコントローラを含む。少なくとも1つの処理デバイスは、少なくとも1つの最適化呼び出しの1つ又は複数のスレーブMPCコントローラへの送信を開始し、少なくとも1つの最適化呼び出しに応答して、1つ又は複数のスレーブMPCコントローラから、少なくとも1つのプロキシ制限値を受信するように構成される。少なくとも1つのプロキシ制限値は、1つ又は複数のスレーブMPCコントローラによって制御される1つ又は複数のプロセス変数が、いかなるプロセス変数制約にも反することなく、どの程度まで調整可能であるかを特定する。少なくとも1つの処理デバイスは、プランニングモデルと少なくとも1つのプロキシ制限値を使用して、プラント全体の最適化を行うようにさらに構成される。少なくとも1つの処理デバイスは、少なくとも1つのプロキシ制限値を使用してプラント全体の最適化を行う間、1つ又は複数のスレーブMPCコントローラのプロセス変数制約を遵守するように構成される。
【0007】
[0007]第3の実施形態において、非一時的コンピュータ可読媒体は、コンピュータプログラムを具体化する。コンピュータプログラムは、マスタMPCコントローラにおいて、産業用設備用のプランニングモデルを得るためのコンピュータ可読プログラムコードを含む。コンピュータプログラムは、マスタMPCコントローラからの少なくとも1つの最適化呼び出しを、1つ又は複数のスレーブMPCコントローラへ送信するためのコンピュータ可読プログラムコードも含む。コンピュータプログラムは、少なくとも1つの最適化呼び出しに応答して、1つ又は複数のスレーブMPCコントローラからの少なくとも1つのプロキシ制限値を、マスタMPCコントローラにおいて受信するためのコンピュータ可読プログラムコードをさらに含む。少なくとも1つのプロキシ制限値は、1つ又は複数のスレーブMPCコントローラによって制御される1つ又は複数のプロセス変数が、いかなるプロセス変数制約にも反することなく、どの程度まで調整可能であるかを特定する。さらに、コンピュータプログラムは、プランニングモデルと少なくとも1つのプロキシ制限値を使用して、マスタMPCコントローラにおいて、プラント全体の最適化を行うためのコンピュータ可読プログラムコードを含む。少なくとも1つのプロキシ制限値は、マスタMPCコントローラに、プラント全体の最適化の間、1つ又は複数のスレーブMPCコントローラのプロセス変数制約を遵守することを可能にさせる。
【0008】
[0008]その他の技術上の特徴は、以下の図面、発明を実施するための形態、及び特許請求の範囲から、当業者には容易に明らかになるであろう。
[0009]本開示のより十分な理解のために、次に、以下の添付図面と併せて取り上げられる、以下の発明を実施するための形態に対して参照が行われる。
【図面の簡単な説明】
【0009】
図1】[0010]本開示による、例示的な産業用プロセス制御及び自動化システムを示す図である。
図2A】[0011]本開示による、産業用プロセス制御及び自動化システムにおいて、カスケード型MPC手法をサポートするために使用される、例示的なプランニング及びモデル予測制御(MPC)モデルを示す図である。
図2B】本開示による、産業用プロセス制御及び自動化システムにおいて、カスケード型MPC手法をサポートするために使用される、例示的なプランニング及びモデル予測制御(MPC)モデルを示す図である。
図3A】[0012]本開示による、産業用プロセス制御及び自動化システム用の例示的なカスケード型MPCアーキテクチャを示す図である。
図3B】本開示による、産業用プロセス制御及び自動化システム用の例示的なカスケード型MPCアーキテクチャを示す図である。
図4】[0013]本開示による、カスケード型MPCアーキテクチャにおけるプロキシ制限の例示的な使用を示す図である。
図5】[0014]本開示による、カスケード型MPCアーキテクチャと共に使用するための例示的なグラフィカルユーザインタフェース(GUI:Graphical User Interface)を示す図である。
図6】[0015]本開示による、カスケード型MPCアーキテクチャと共に寄与値(contribution value)及び寄与コスト(contribution cost)を使用するための例示的な技法を示す図である。
図7】[0016]本開示による、カスケード型MPCアーキテクチャにおいてプランニングモデルを形成するための例示的なベースモデルを示す図である。
図8】本開示による、カスケード型MPCアーキテクチャにおいてプランニングモデルを形成するための例示的なベースモデルを示す図である。
図9】本開示による、カスケード型MPCアーキテクチャにおいてプランニングモデルを形成するための例示的なベースモデルを示す図である。
図10】[0017]本開示による、カスケード型MPCアーキテクチャにおけるプランニングモデルを検証する(validate)ための例示的な技法を示す図である。
図11】[0018]本開示による、カスケード型MPCアーキテクチャにおけるマスタMPCコントローラとスレーブMPCコントローラとにおいて、変数をリンクするための例示的な技法を示す図である。
図12】本開示による、カスケード型MPCアーキテクチャおけるマスタMPCコントローラとスレーブMPCコントローラとにおいて、変数をリンクするための例示的な技法を示す図である。
図13】本開示による、カスケード型MPCアーキテクチャにおけるマスタMPCコントローラとスレーブMPCコントローラとにおいて、変数をリンクするための例示的な技法を示す図である。
図14】本開示による、カスケード型MPCアーキテクチャにおけるマスタMPCコントローラとスレーブMPCコントローラとにおいて、変数をリンクするための例示的な技法を示す図である。
図15】本開示による、カスケード型MPCアーキテクチャにおけるマスタMPCコントローラとスレーブMPCコントローラとにおいて、変数をリンクするための例示的な技法を示す図である。
図16】本開示による、カスケード型MPCアーキテクチャにおけるマスタMPCコントローラとスレーブMPCコントローラとにおいて、変数をリンクするための例示的な技法を示す図である。
図17】[0019]本開示による、産業用プロセス制御及び自動化システムにおける、カスケード型MPCコントローラの例示的な使用方法を示す図である。
【発明を実施するための形態】
【0010】
[0020]以下に述べられる図1〜17、また本特許書類において本発明の原理を説明するために使用される様々な実施形態は、単に例示としてのものであり、どのような形であれ本発明の範囲を限定するものとして解釈されるべきではない。本発明の原理が、任意のタイプの適切に構成されたデバイス又はシステムにおいて実施され得る、ということが当業者であれば理解するであろう。
【0011】
[0021]図1は、本開示による、例示的な産業用プロセス制御及び自動化システム100を示す図である。図1に示されるように、システム100は、少なくとも1つの製品又はその他の材料(material)の生産又は処理を容易にする様々な構成要素を含む。例えば、システム100は、本明細書では、1つ又は複数のプラント101a〜101n内の構成要素にわたる制御を容易にするために使用される。各プラント101a〜101nは、少なくとも1つの製品又はその他の材料を生産するための1つ又は複数の製造設備などの、1つ又は複数の処理設備(又は、その1つ又は複数の部分)に相当する。一般に、各プラント101a〜101nは、1つ又は複数のプロセスを実装してもよく、個別に又はまとめてプロセスシステムと呼ばれることが可能である。プロセスシステムは、一般に、1つ又は複数の製品又はその他の材料を何らかの方法で処理するように構成された、任意のシステム又はその一部に相当する。
【0012】
[0022]図1では、システム100は、プロセス制御のパデュー(Purdue)モデルを使用して実装される。パデューモデルでは、「レベル0」は、1つ又は複数のセンサ102aと1つ又は複数のアクチュエータ(actuator)102bを含み得る。センサ102及びアクチュエータ102bは、多種多様な機能のいずれかを果たすことが可能な、プロセスシステム内の構成要素に相当する。例えば、センサ102aは、温度、圧力、又は流量などのプロセスシステムにおける多種多様な特性を測定することができる。また、アクチュエータ102bは、プロセスシステムにおける多種多様な特性を修正することができる。センサ102a及びアクチュエータ102bは、任意の適切なプロセスシステム内の任意のその他の又は追加の構成要素に相当することができる。センサ102aのそれぞれは、プロセスシステムにおける1つ又は複数の特性を測定するのに適した任意の構造を含む。アクチュエータ102bのそれぞれは、プロセスシステムにおける1つ又は複数の条件下で動作するのに、又は1つ又は複数の条件に影響を及ぼすのに適した任意の構造を含む。
【0013】
[0023]少なくとも1つのネットワーク104は、センサ102aとアクチュエータ102bに結合される。ネットワーク104は、センサ102a及びアクチュエータ102bとの相互作用を容易にする。例えば、ネットワーク104は、センサ102aからの測定データを伝送し、制御信号をアクチュエータ102bに提供することができる。ネットワーク104は、任意の適切なネットワーク又はネットワークの組合せに相当することができる。特定の例として、ネットワーク104は、イーサネットネットワーク、電気信号ネットワーク(HART又はFOUNDATION Fieldbusネットワークなど)、空気制御信号ネットワーク、又は任意のその他のもしくは追加型のネットワークに相当することができる。
【0014】
[0024]パデューモデルでは、「レベル1」は、ネットワークに104に結合される1つ又は複数のコントローラ106を含み得る。各コントローラ106は、特に、1つ又は複数のセンサ102aからの測定値を使用して、1つ又は複数のアクチュエータ102bの動作を制御し得る。例えば、コントローラ106は、1つ又は複数のセンサ102aから測定データを受信し、その測定データを使用して、1つ又は複数のアクチュエータ102b用の制御信号を生成することができる。各コントローラ106は、1つ又は複数のセンサ102aと相互作用し、かつ1つ又は複数のアクチュエータ102bを制御するのに適した任意の構造を含む。各コントローラ106は、例えば、ロバスト多変数予測制御テクノロジー(RMPCT:Robust Multivariable Predictive Control Technology)コントローラ、又はモデル予測制御(MPC)もしくはその他の先進的予測制御(APC:Advanced Predictive Control)を実装するその他のタイプのコントローラなどの多変数コントローラに相当する可能性がある。特定の例として、各コントローラ106は、リアルタイムオペレーティングシステムを実行するコンピューティングデバイスに相当することができる。
【0015】
[0025]2つのネットワーク108は、コントローラ106に結合される。ネットワーク108は、コントローラ106との間でデータのやり取りを行うなどによって、コントローラ106との相互作用を容易にする。ネットワーク108は、任意の適切なネットワーク又はネットワークの組合せに相当することができる。特定の例として、ネットワーク108は、ハネウェル・インターナショナル社(Honeywell International Inc.)からのフォルトトレラントイーサネット(FTE:Fault Tolerant Ethernet)ネットワークなどの、冗長ペアのイーサネットネットワークに相当することができる。
【0016】
[0026]少なくとも1つのスイッチ/ファイアウォール110は、ネットワーク108を、2つのネットワーク112に結合する。このスイッチ/ファイアウォール110は、1つのネットワークからのトラフィックを、もう一方のネットワークに伝送し得る。スイッチ/ファイアウォール110はまた、1つのネットワーク上のトラフィックが、もう一方のネットワークに達することを阻止し得る。スイッチ/ファイアウォール110は、ハネウェル制御ファイアウォール(CF9)デバイスなどの、ネットワーク間での通信を提供するのに適した任意の構造を含む。ネットワーク112は、FTEネットワークなどの任意の適切なネットワークに相当することができる。
【0017】
[0027]パデューモデルにおいて、「レベル2」は、ネットワーク112に結合された1つ又は複数の機械レベルのコントローラ114を含み得る。機械レベルのコントローラ114は、特定の産業用機器(ボイラ又はその他の機械など)に関連付けられることが可能な、コントローラ106、センサ102a、及びアクチュエータ102bの動作及び制御をサポートするために、様々な機能を果たす。例えば、機械レベルのコントローラ114は、センサ102aからの測定データ又はアクチュエータ102b用の制御信号などの、コントローラ106によって収集又は生成された情報のログを作成することができる。機械レベルのコントローラ114は、コントローラ106の動作を制御し、それによってアクチュエータ102bの動作を制御するアプリケーションを実行することもできる。さらに、機械レベルのコントローラ114は、コントローラ106へのセキュアなアクセスを提供することができる。機械レベルのコントローラ114のそれぞれは、1つの機械もしくはその他の個々の機器へのアクセスを提供するのに、それらの制御に、又はそれらに関する動作に適した任意の構造を含む。機械レベルのコントローラ114のそれぞれは、例えば、Microsoft Windowsオペレーティングシステムを実行するサーバコンピューティングデバイスに相当することができる。示されていないが、種々の機械レベルのコントローラ114が、プロセスシステム内の種々の機器を制御するために使用され得る(この場合、各機器は、1つ又は複数のコントローラに106、センサ102a、及びアクチュエータ102bに関連付けられる)。
【0018】
[0028]1つ又は複数のオペレータステーション116は、ネットワーク112に結合される。オペレータステーション116は、機械レベルのコントローラ114へのユーザアクセスを提供し、それによって、コントローラ106(また、場合によっては、センサ102a及びアクチュエータ102b)へのユーザアクセスを提供することのできる、コンピューティング又は通信デバイスに相当する。特定の例として、オペレータステーション116は、ユーザに、コントローラ106及び/又は機械レベルのコントローラ114によって収集された情報を使用して、センサ102a及びアクチュエータ102bの動作上の履歴を見直すことを可能にさせることができる。オペレータステーション116は、ユーザに、センサ102a、アクチュエータ102b、コントローラ106、又は機械レベルのコントローラ114の動作を調整することを可能にさせることもできる。さらに、オペレータステーション116は、コントローラ106又は機械レベルのコントローラ114によって生成された、警告、警報、又はその他のメッセージもしくは表示を受信し、表示することができる。オペレータステーション116のそれぞれは、システム100内の1つ又は複数の構成要素のユーザアクセス及び制御をサポートするのに適した任意の構造を含む。オペレータステーション116のそれぞれは、例えば、Microsoft Windowsオペレーティングシステムを実行するコンピューティングデバイスに相当することができる。
【0019】
[0029]少なくとも1つのルータ/ファイアウォール118は、ネットワーク112を2つのネットワーク120に結合する。このルータ/ファイアウォール118は、セキュアなルータ又は組合せルータ/ファイアウォールなどの、ネットワーク間での通信を提供するのに適した任意の構造を含む。ネットワーク120は、FTEネットワークなどの任意の適切なネットワークに相当することができる。
【0020】
[0030]パデューモデルにおいて、「レベル3」は、ネットワーク120に結合された1つ又は複数のユニットレベルのコントローラ122を含み得る。各ユニットレベルのコントローラ122は、通常、1つのプロセスの少なくとも一部を実装するために共に動作する種々の機械の集合体に相当する、プロセスシステム内の1つのユニットに関連付けられる。ユニットレベルのコントローラ122は、下位レベル内の構成要素の動作及び制御をサポートするために様々な機能を果たす。例えば、ユニットレベルのコントローラ122は、下位レベル内の構成要素によって収集又は生成された情報のログを作成し、下部レベル内の構成要素を制御するアプリケーションを実行し、かつ下部レベル内の構成要素へのセキュアなアクセスを提供することができる。ユニットレベルのコントローラ122のそれぞれは、1つのプロセスユニット内の1つ又は複数の機械もしくはその他の機器へのアクセスを提供するのに、それらの制御に、又はそれらに関する動作に適した任意の構造を含む。ユニットレベルのコントローラ122のそれぞれは、例えば、Microsoft Windowsオペレーティングシステムを実行するサーバコンピューティングデバイスに相当することができる。示されていないが、種々のユニットレベルのコントローラ122が、1つのプロセスシステム内の種々のユニットを制御するために使用され得る(この場合、各ユニットは、1つ又は複数の機械レベルのコントローラ114、コントローラ106、センサ102a、及びアクチュエータ102bに関連付けられる)。
【0021】
[0031]ユニットレベルのコントローラ122へのアクセスは、1つ又は複数のオペレータステーション124によって提供され得る。オペレータステーション124のそれぞれは、システム100内の1つ又は複数の構成要素のユーザアクセス及び制御をサポートするのに適した任意の構造を含む。オペレータステーション124のそれぞれは、例えば、Microsoft Windowsオペレーティングシステムを実行するコンピューティングデバイスに相当することができる。
【0022】
[0032]少なくとも1つのルータ/ファイアウォール126は、ネットワーク120を2つのネットワーク128に結合する。このルータ/ファイアウォール126は、セキュアなルータ又は組合せルータ/ファイアウォールなどの、ネットワーク間での通信を提供するのに適した任意の構造を含む。ネットワーク128は、FTEネットワークなどの任意の適切なネットワークに相当することができる。
【0023】
[0033]パデューモデルにおいて、「レベル4」は、ネットワーク128に結合された1つ又は複数のプラントレベルのコントローラ130を含み得る。各プラントレベルのコントローラ130は、通常、同一、同様、又は種々のプロセスを実装する1つ又は複数のプロセスユニットを含み得る、プラント101a〜101nのうちの1つに関連付けられる。プラントレベルのコントローラ130は、下位レベル内の構成要素の動作及び制御をサポートするために様々な機能を果たす。特定の例として、プラントレベルのコントローラ130は、1つ又は複数の製造実行システム(MES:Manufacturing Execution System)アプリケーション、スケジューリングアプリケーション、又は任意のその他のもしくは追加のプラントもしくはプロセス制御アプリケーションを実行することができる。プラントレベルのコントローラ130のそれぞれは、1つのプロセスプラント内の1つ又は複数のプロセスユニットへのアクセスを提供するのに、それらの制御に、又はそれらに関する動作に適した任意の構造を含む。プラントレベルのコントローラ130のそれぞれは、例えば、Microsoft Windowsオペレーティングシステムを実行するサーバコンピューティングデバイスに相当することができる。
【0024】
[0034]プラントレベルのコントローラ130へのアクセスは、1つ又は複数のオペレータステーション132によって提供され得る。オペレータステーション132のそれぞれは、システム100内の1つ又は複数の構成要素のユーザアクセス及び制御をサポートするのに適した任意の構造を含む。オペレータステーション132のそれぞれは、例えば、Microsoft Windowsオペレーティングシステムを実行するコンピューティングデバイスに相当することができる。
【0025】
[0035]少なくとも1つのルータ/ファイアウォール134は、ネットワーク128を1つ又は複数のネットワーク136に結合する。このルータ/ファイアウォール134は、セキュアなルータ又は組合せルータ/ファイアウォールなどの、ネットワーク間での通信を提供するのに適した任意の構造を含む。ネットワーク136は、エンタープライズ全体のイーサネットもしくはその他のネットワーク、又はより大型のネットワーク(インターネットなど)の全体もしくは一部などの、任意の適したネットワークに相当することができる。
【0026】
[0036]パデューモデルにおいて、「レベル5」は、ネットワーク136に結合された1つ又は複数のエンタープライズレベルのコントローラ138を含み得る。各エンタープライズレベルのコントローラ138は、通常、複数のプラント101a〜101n用のプランニング動作を行い、かつそれらのプラント101a〜101nの様々な側面を制御することができる。エンタープライズレベルのコントローラ138はまた、プラント101a〜101n内の構成要素の動作及び制御をサポートするために様々な機能を果たす。特定の例として、エンタープライズレベルのコントローラ138は、1つ又は複数の注文処理アプリケーション、エンタープライズリソースプランニング(ERP:Enterprise Resource Planning)アプリケーション、先進的プランニング及びスケジューリング(APS:Advanced Planning and Scheduling)アプリケーション、又はその他のもしくは追加のエンタープライズ制御アプリケーションを実行することができる。エンタープライズレベルのコントローラ138のそれぞれは、1つ又は複数のプラントの制御部へのアクセスを提供するのに、それの制御に、又はそれに関する動作に適した任意の構造を含む。エンタープライズレベルのコントローラ138のそれぞれは、例えば、Microsoft Windowsオペレーティングシステムを実行するサーバコンピューティングデバイスに相当することができる。本書類において、「エンタープライズ」という用語は、管理されるべき1つ又は複数のプラントもしくはその他の処理設備を有する組織を指す。1つのプラント101aが管理されるべきである場合、エンタープライズレベルのコントローラ138の機能性は、プラントレベルのコントローラ130に組み入れられることが可能である、ということに留意されたい。
【0027】
[0037]エンタープライズレベルのコントローラ138へのアクセスは、1つ又は複数のオペレータステーション140によって提供され得る。オペレータステーション140のそれぞれは、システム100内の1つ又は複数の構成要素のユーザアクセス及び制御をサポートするのに適した任意の構造を含む。オペレータステーション140のそれぞれは、例えば、Microsoft Windowsオペレーティングシステムを実行するコンピューティングデバイスに相当することができる。
【0028】
[0038]パデューモデルの様々なレベルは、1つ又は複数のデータベースなどのその他の構成要素を含むことができる。各レベルに関連したデータベースは、システム100のそのレベル又は1つもしくは複数のその他のレベルに関連した任意の適切な情報を格納することができる。例えば、ヒストリアン141が、ネットワーク136に結合されることが可能である。ヒストリアン141は、システム100についての様々な情報を格納する構成要素に相当することができる。ヒストリアン141は、例えば、生産のスケジューリング及び最適化の最中に使用される情報を格納することができる。ヒストリアン141は、情報を格納し、かつ情報の検索を容易にするのに適した任意の構造に相当する。ヒストリアン141は、ネットワーク136に結合された単一の集中型構成要素として示されているが、システム100内の他の場所に位置することが可能であり、又は複数のヒストリアンが、システム100内の様々な位置に分散されることが可能である。
【0029】
[0039]特定の実施形態において、図1での様々なコントローラ及びオペレータステーションは、コンピューティングデバイスに相当してもよい。例えば、コントローラ106、114、122、130、138のそれぞれは、1つ又は複数の処理デバイス142と、処理デバイス142によって使用され、生成され、又は収集される命令及びデータを格納するための1つ又は複数のメモリ144を含むことができる。コントローラ106、114、122、130、138のそれぞれは、1つ又は複数のイーサネットインタフェースもしくは無線トランシーバなどの、少なくとも1つのネットワークインタフェース146も含むことができる。また、オペレータステーション116、124、132、140のそれぞれは、1つ又は複数の処理デバイス148と、処理デバイス148によって使用され、生成され、又は収集される命令及びデータを格納するための1つ又は複数のメモリ150を含むことができる。オペレータステーション116、124、132、140のそれぞれは、1つ又は複数のイーサネットインタフェースもしくは無線トランシーバなどの少なくとも1つのネットワークインタフェース152も含むことができる。
【0030】
[0040]過去数十年にわたって、MPCは、多くの業種に対する標準多変数制御ソリューションとなってきた。MPCの広範な使用は、より経済的に意味のある進歩にとっての強固な基盤、すなわち閉ループのプラント全体の最適化を整えた。しかしながら、ほとんどの業種に対して閉ループのプラント全体の最適化を提供しようとする際に、多くの技術上の、作業の流れ上の、またユーザエクスペリエンス上の課題が存在する。結果として、生産プランニングとして一般に知られている、開ループのプラント全体の最適化が依然として行われる。実際には、プラント全体のプランニング最適化は、仮に閉ループ制御システムの一部として実装されるとしても、まれである。事実、多くの業種では、プランニング結果は、毎日のオペレータ指示票などの仲介手段を通して、手動で(従って非最適に)調整される場合が多い。このことから、かなりの額の製造利益が手に入れることができないままである。
【0031】
[0041]いくつかの業種において、生産計画をより小さな実行可能部分に分けるために、開ループ生産スケジューラなどの仲介ソリューションレイヤが考案された。このスケジューラは、プランニングソリューションのオペレータ動作への変換を補助するが、手動の調整をなくすることはない。その他の業種では、開ループ生産スケジューラは、生産プランニングの代わりに使用されているが、その生産高目標(output target)は、同じく、手動で調整されることが多い。
【0032】
[0042]開ループソリューションを手動で調整する慣例は、(i)プロセスユニット内の下位レベルの(場合によっては安全関連の)制御制約を満たすために、(ii)生産在庫(production inventory)又は製品品質に対する外乱(プランニング専門用語では、「想定外事象」と呼ばれる)を補うために、上位レベルの生産目標を変換又は見直す必要性に起因することが多い。手動変換に伴う技術的な難しさは、大体において、様々なスケールでのモデルを使用する多レベルのソリューションを統合する際に伴う難しさと同時に起こる。
【0033】
[0043]本開示は、自動式制御及び自動化システムの一部として、プラント全体の最適化をもたらすのに役立つ、プラント全体の制御及び最適化用のカスケード型MPCソリューションを提供する。以下に説明されるように、「マスタ」MPCコントローラは、単一期間のプランニングモデル、又はシードモデルとしてのその他の適切な縮約モデルなどの、プランニングモデルを使用するように構成される。マスタMPCコントローラは、そのオプティマイザ(optimizer)を使用して、プラント内部の生産在庫、製造活動、又は製品品質を制御し、プラント全体の経済最適化を果たす。マスタMPCコントローラは、1つ又は複数のスレーブMPCコントローラの上にカスケード接続される(cascade)。スレーブMPCコントローラは、例えば、システムのユニットレベル(レベル3)におけるコントローラに相当することができ、各スレーブMPCコントローラは、マスタMPCコントローラに、その動作状態と制約を提供する。この理由で、マスタMPCコントローラからのプラント全体の最適化ソリューションは、スレーブMPCコントローラからの全てのユニットレベルのオペレーティング制約を遵守することができる。一体的に、MPCカスケードは、1つの一貫した制御システムにおいて、分散型制御(ユニットレベルなどにおいて)と集中型プラント全体の最適化(プラントレベルなどにおいて)の両方を同時にもたらす。「プラント全体の最適化」又は「プラント全体の制御」という成句は、産業用設備内の複数のユニットの、それらの複数のユニットがその産業用設備内のありとあらゆるユニットに相当するか否かに関わらず、最適化又は制御を指す。
【0034】
[0044]このようにして、このMPCカスケードソリューションは、埋込み式リアルタイムプランニングソリューションに、下位レベルのオペレーティング制約を遵守することを可能にさせる。プランニングモデルと制御モデルの両方をオンラインで交差活用する(cross−leverage)ことによって、MPCカスケードソリューションは、リアルタイムに閉ループ制御システム内で、プランニング最適化の「後退ホライズン(区間)」形式を実行することを可能にする。MPCカスケードソリューションは、特に、そのスレーブMPCコントローラを通して、ジャストインタイムの生産計画を自動的に実行するために使用され得る。マスタMPCコントローラにおける後退ホライズンプランニング最適化の定式は、オフラインのプランニングツールにおいて使用されるような単一期間の、しかし通常1〜14日の範囲などのその短縮された時間ホライズンでのプランニング最適化の定式と同様、又は同一とすることができる。
【0035】
[0045]本特許書類での残りの説明は、以下のように分けられる。産業用プロセス制御及び自動化の状況で使用され得る多スケールモデルが説明され、多スケールモデルを使用するMPCカスケードソリューションが提供される。多スケールモデルを併合する(マージする、merge)ためのコンジット(conduit)がプロキシ制限の形式において説明され、ユーザのエスクペリエンスを高めるための多スケールソリューションが提供される。さらに、中央経済目的関数を中間ストリームの価格/コストにキャストする(cast)方法として、寄与値及び寄与コストの使用が開示され、MPCカスケードソリューションを使用する一定のシステムで使用され得るモデル構造が説明される。最後に、モデル検証技法が提供され、MPCカスケードソリューションにおけるマスタ−スレーブ変数に対処するための技法が、開示される。
【0036】
[0046]図1は、産業用プロセス制御及び自動化システム100の1つの例を示すが、図1に対して、様々な変更が行われ得る。例えば、制御及び自動化システムは、任意の個数のセンサ、アクチュエータ、コントローラ、サーバ、オペレータステーション、ネットワーク、及びその他の構成要素を含むことができる。また、図1でのシステム100の構成及び配置は、単に例示としてのものである。構成要素は、特定の必要性に従って、任意のその他の適切な構成において、追加され、除外され、組み合わせられ、又は配置されることが可能である。さらに、特定の機能が、システム100の特定の構成要素によって果たされるとして、説明されている。このことは、単に例示としてのものである。一般に、制御及び自動化システムは、高度に構成可能であり、特性の必要性に従って、任意の適切な方法で構成されることが可能である。さらに、図1は、MPCカスケードソリューションが使用されることが可能である、例示的な環境を示す。この機能性は、任意のその他の適切なデバイス又はシステムにおいて使用されることが可能である。
【0037】
[0047]多スケールモデル
[0048]複数のユニットを有する産業用プラントを考察してみる。上位レベルでは、全てのプロセスユニット間の全体的な物質、構成要素、及びエネルギーの収支が確立される必要がある。下位レベルでは、各ユニットが、プラント内の安全性と、ユニットの円滑で効率的な動作を確実にするように適切に制御される必要がある。
【0038】
[0049]プランニング及びMPCモデルは、カスケード型MPCアーキテクチャにおける多レベルの問題を解決するために使用され得る多スケールモデルの組の例である。図2A及び2Bは、本開示による、産業用プロセス制御及び自動化システムにおけるカスケード型MPC手法をサポートするために使用される、例示的なプランニング及びMPCモデルを示す。具体的には、図2Aは、歩留まり(yield)に基づくプランニングモデル200を表し、図2Bは、MPCモデル250を表す。
【0039】
[0050]図2Aに示されるように、プランニングモデル200は、一般に、供給(feed)材料の1つ又は複数の投入(入力、input)ストリーム204を、処理済み材料の1つ又は複数の産出(出力、output)ストリーム206に変換するように動作する、複数のユニット202を特定する。この例では、ユニット202は、1つの投入ストリーム204(原油)を複数の産出ストリーム206(種々の精製済み石油/ガス製品)に変換する、石油及びガス精製所における構成要素を表す。様々な中間製品208は、ユニット202によって作り出され、1つ又は複数の貯蔵タンク210は、中間製品208の1つ又は複数を保管するために使用され得る。図2Bに示されるように、MPCモデル250は、1つのユニットの複数の構成要素252を特定する。様々なバルブ及びその他のアクチュエータ254は、ユニット内部で動作を調整するために使用されることが可能で、様々なAPC及びその他のコントローラ256は、ユニット内部でアクチュエータを制御するために使用され得る。
【0040】
[0051]一般に、プランニングモデル200は、「鳥瞰」図でプラント全体(又はその一部)を見るので、粗いスケールでの個々のユニットに相当する。プランニングモデル200は、プラント内部の単位生産量、製品品質、物質収支及びエネルギー収支、ならびに製造活動に付随する、ユニット間の定常状態関係に焦点を合わせる。プランニングモデル200は、通常(しかし必ずではない)、プロセス歩留まりモデルと製品品質特性から構成される。プランニングモデル200は、プランニングツール、スケジューリングツール、歩留まり検証ツール及び/又は履歴的動作データなどの、様々なソースの組合せから構築され得る。しかしながら、MPCモデル250は、より細かいスケールでの少なくとも1つのユニットに相当する。MPCモデル250は、ユニットの安全、円滑、かつ効率的な動作に付随する、制御変数(CV:Controlled Variable)、操作変数(MV:Manipulated Variable)、及び外乱変数(DV:Disturbance Variable)間のユニット内部の動的関係に焦点に合わせる。2つのモデル200、250の時間スケールも異なる。MPCモデルの時間ホライズンは、通常、数分から数時間の範囲であるが、プランニングモデルの時間ホライズンは、通常、数日から数カ月の範囲である。「制御変数」は、一般に、その値が、設定値もしくはその近く又は所望の範囲内にあるように制御される変数を表し、一方「操作変数」は、一般に、少なくとも1つの制御変数の値を修正するように調整される変数を表すことに留意されたい。「外乱変数」は、一般に、その値が考慮されるが、制御も調整もされない可能性がある変数を表す。
【0041】
[0052]プランニングモデル200は、しばしば、各ユニット内部の圧力、温度、タンクレベル、及びバルブ開口などの、非生産関連の又は非経済的関連の変数を除外することが可能であり、また除外する必要がある。その代わりに、プランニングモデル200は、1つのプロセスユニットを、1つ又はいくつかの材料もしくはエネルギーの歩留まりベクトルに単純化することができる。一方、MPCモデル250は、通常、ユニットの安全かつ効率的な動作を確実にするのを手助けするために、制御用のオペレーティング変数の全てを含む。結果として、MPCモデル250は、プランニングモデル200に比べ、1つのユニットに対してより多くの変数を含む。具体的な例として、石油精製所の流動接触分解ユニット(FCCU:Fluidized Catalytic Cracking Unit)用のMPCモデル250は、約100CV(産出)と40MV(投入)を含むことができる。同じユニットのプランニングモデル200は、原材料品質及びオペレーティングモード(投入として)と、FCCU製品歩留まり及び品質(産出として)との重要な因果関係のみに焦点を合わせることができ、それによって、プランニングモデル200は、わずか3つ又は4つの投入と10の産出を有することができる。この変数差は、従来、多レベルのソリューションを効果的に統合することに対する障害となってきた。追加の差は、2つのモデル200、250の通常の焦点を比較する、以下の表1で合算される。
【0042】
【表1-1】
【0043】
【表1-2】
【0044】
[0053]粗いスケールのプランニングモデル200を使用することのいくつかの利点がある。例えば、プラント全体の経済最適化は、任意の1つのプロセスユニット内部の場合によっては不明瞭な細目と絡み合うことなく、プランニングモデル200を使用して、コンパクトかつ明瞭に定式化され得る。また、最初に、上位レベルの最適化問題を解決し、次に、各ユニットにソリューションを継承する方法を見つけるために、分割−統治手法が、採用され得る。
【0045】
[0054]コンパクトで堅固なプランニングモデル200は、プランニング問題が簡単に設定され、明瞭に表示され、素早く解決されるようにするが、それは欠点を伴い、すなわち、いずれのユニット内部でも細目にわたる変数の可視性をもたない。これらの細目にわたる変数の多くは、上位レベルの生産プランニングにはほとんど関係ない可能性があるが、小さなサブセットは、通常、それに関係する。プランニングモデル200が、いずれの下位レベルのユニット内部でも可視性をもたない場合、このモデルは、そのソリューションが、最適でもそうではなくても、全てのユニットの下部レベルの制約を遵守するようになることを保証することはできない。このことは、従来のプランニングソリューションが、しばしばユニット内部のオペレーティング制約を考慮に入れるように、手動で変換されるか見直される必要があり、かなりの利ざやが、変換の際に失われる可能性があることの1つの理由である。スケジューリングソリューションに対しても、それが粗いスケールにおいての歩留まりに基づくプランニングモデル200を使用する場合、同じことが言える。
【0046】
[0055]全体的な視点から、上位レベルの歩留まりに基づくプランニングモデル200で定式化された最適化又は制御問題は、下位レベルのMPCモデル250から利益を得ることができる。その理論的根拠は、ユニット内の制約充足を保証するために使用される細目が、これらの細目は必ずしも適正なモデル形式に編成されないが、通常、ユニットのMPCモデル250にすでにある、ということである。理想的には、必要に応じて、プランニングのための、ユニットの制約の細目を補うために、MPCモデル250が使用されることが可能である。以下で説明されるカスケード型MPC手法は、MPCモデルが、下位レベルの細かいスケールのモデル情報を、上位レベルの粗いスケールのプラント全体の最適化定式又は制御定式に提供するために有効に使用されることが可能な構造的枠組みを提供する。以下に説明されるカスケード型MPC手法は、プランニングモデル200とMPCモデル250を利用して、この機能性を提供することができる。
【0047】
[0056]多スケールモデルを使用したカスケード型MPCソリューション
[0057]プラント全体の視点から、制御とプランニングは結合されることが多い。プランニングは、通常、最適化に対する実行可能領域を確立するための制御に頼る一方、制御は、通常、その最も利益をもたらす可能性のあるオペレーティング点において、ユニットを調整し、プラント全体を運営するためのプランニングに頼る。従って、プランニングは、各ユニット内部の制約に、プラント全体の最適化に対するより大きな実行可能領域を作り出すよう強要するMPCコントローラに依存することが多い。一方、MPCコントローラは、どの制約が本当にプラント全体の障害であり、従って押し出される必要があるか、どの制約が無効ではなく、また無効のままである可能性があるか、を知る前に、プランニングからの手引きに依存することが多い。従って、これらの2のソリューションレイヤは、互いに共依存であり、同時に取り扱われる必要がある。
【0048】
[0058]この連成問題を解決する1つの方法は、制御及びプラント全体の最適化を一体的にデザインすることである。各MPCコントローラが埋込み式経済的オプティマイザを有することから、プラント全体の最適化とユニットレベルのMPC制御の両方を行う、1つの大型のプラント全体のMPCコントローラが考案されることが可能である。しかしながら、このような一体式の妥協を許さないMPCソリューションには、様々な欠点がある。どんな一体的デザイン手法にもある1つの課題は、下位レベルでの分散型制御と、上位レベルでの集中型最適化を同時に提供してきたことである。
【0049】
[0059]図3A及び3Bは、本開示による、産業用プロセス制御及び自動化システム用の例示的なカスケード型MPCアーキテクチャ300を示す。図3Aに示されるように、カスケード型アーキテクチャ300は、マスタMPCコントローラ302と1つ又は複数のスレーブMPCコントローラ304a〜304nを含む。スレーブMPCコントローラ304a〜304nは、1つ又は複数の正規のプロセスコントローラ306a〜306mと相互作用する。スレーブMPCコントローラ304a〜304nは、レベル3コントローラを表す一方、プロセスコントローラ306a〜306mは、レベル2コントローラを表すことができる。
【0050】
[0060]各MPCコントローラ302、304a〜304nは、経済最適化と多変数制御の機能をサポートする。マスタMPCコントローラ302は、プランニングモデル200(歩留まりに基づく単一期間プランニングモデルなど)を使用して、初期定常状態ゲインマトリックスを提供し、関連のモデルダイナミクスが、プラントのオペレーティングデータ(履歴データなど)を使用して判定され得る。マスタMPCコントローラ302は、プラント内部の生産在庫、製造活動、又は製品品質を制御するよう動作する。従って、同じプランニングモデル構造及び経済性を備えた、マスタMPCコントローラ302の埋込み式経済的オプティマイザは、単一期間のオフラインプランニング最適化を再現することができるが、それは、オンラインのリアルタイム方法においてである。
【0051】
[0061]マスタMPCコントローラ302は、nスレーブMPCコントローラ304a〜304n(nは1以上の整数値)の上にカスケード接続する。スレーブMPCコントローラ304a〜304nは、マスタMPCコントローラ302に、プラントのユニット毎の将来予測及びオペレーティング制約を提供する。この情報で、カスケード型アーキテクチャ300からのリアルタイムプランニングソリューションは、上述の欠点を軽減するか又は取り除く。一体的に、MPCコントローラ302、304a〜304nは、全て1つの一貫したカスケード型制御システムにおいて、細かいスケールのMPCモデル250での下位レベルにおける分散型制御と、粗いスケールのプランニングモデル200での上位レベルにおける集中型プラント全体の最適化を同時にもたらす。
【0052】
[0062]生産計画が、1組のオペレーティング命令に手動で変換される必要がたびたびあるもう1つの理由は、開ループプランニングソリューションが、通常、数日から1週間(1つの期間での)の範囲である時間ホライズンを有し、またこのソリューションが、普通は1日に1回のみ、又は数日に1回のみ実行されるということである。従って、それは、原材料品質又は周囲条件の変化、プロセスユニットの不調、加熱又は冷却能力の限度、及び保守点検などの不確実性に対処するための効果的なフィードバック機構を欠くことになる。これらの状況への対処を手助けするために、オプティマイザが、マスタMPCコントローラ302に埋め込まれ、このオプティマイザは、数分に1回から1時間に1回の範囲の頻度などの、ユーザ規定の頻度で実行することができる。各ユニットの生産数量と製品品質の両方が、その頻度で測定又は推定されることが可能で、予測誤差は、任意の標準MPCとしてのマスタMPCコントローラ302においてバイアス補正され得る。元の最適計画からのズレが検出されると、プラント全体の再最適化が直ちに行われ得る。その後、新しい最適生産目標が、スレーブMPCコントローラ304a〜304nに送信され、それらのコントローラによって実行されるようになり、手動の変換又は調整の必要性を減らす、又はなくすることができる。
【0053】
[0063]特定の最適化状況はまた、リアルタイムで追加の利益を獲得するために、従来のMPC最適化状況から修正されることが可能である。従来のMPC手法とカスケード型MPCソリューションとの間のいくつかの類似と相違は、以下を含む可能性がある。
【0054】
・目的関数は、オフラインプランニングの該当するものと同じままとすることができる。
・マスタMPCコントローラ302における時間ホライズンは、数時間から数日又は数週間の範囲のものなどの、オンラインチューニングパラメータとすることができ、オフライン(特に多期間)プランニングで使用される時間ホライズンより短くすることができる。
【0055】
・チューニングは、ジャストインタイム製造の形式で、より利益を獲得するように設定され得る。チューニングに対する留意点は、(例として)製品の予約注文をどのくらい先まで設定するか、製品注文の変動(数量とグレードの両方において)、どんな追加の購入/販売時機が追求され得るか、どんな半仕上げ構成要素が、取引先と交換され得るか、又はスポット市場で購入/販売され得るか、を含み得る。
【0056】
・生産在庫及び製品品質は、リアルタイム測定フィードバックを用いて動的に制御されることが可能である。
・時間ホライズン範囲での製品注文は、オフラインの該当するものでは推定されるのとは対照的に、知られている。マスタMPCコントローラ302は、仮定の注文に基づく計画とは対照的に、ジャストインタイムの生産計画を作り上げることができる。
【0057】
・マスタMPCコントローラ302において使用されるプランニングモデル200は、スレーブMPCコントローラ304a〜304nに関連する歩留まり検証機構を用いて、リアルタイムで更新され得る。交差検証(cross−validation)(測定誤差に関してなど)の後、測定された歩留まりは、プランニングモデル200を更新するために使用されることが可能で、マスタMPCコントローラ302は、より正確な有益な生産計画を生成することができる。
【0058】
[0064]カスケード型アーキテクチャ300は、図3Bに示されるように、制御階層図350を提供する。カスケード型アーキテクチャ300は、プランニングモデル200のコピーを得て、それを、遅れ及びランプを加えて、MPCコントローラに合体させる(graft)ことによって、従来の制御及び自動化システムにおける分割線を取り壊す。単位供給量は、MVとして使用され得て、生産在庫は、マスタMPCコントローラ302においてCVとして使用され得る。マスタMPCコントローラ302は、プランニングモデル200からの全体像を理解し、かつ先進的プロセス制御に対してユニット毎のMPCモデル250を使用する、リアルタイム計画実行部である。従って、マスタMPCコントローラ302は、スレーブMPCコントローラ304a〜304nと共同でプラントを最適化して、全てのユニットの制約を遵守しながら、最良に達成可能な計画を生成することができる。
【0059】
[0065]マスタMPCコントローラ302によって使用されるプランニングモデル200は、2つの部品、すなわち、(i)MPC制御用の動的モデル、(ii)経済最適化用の定常状態モデル(動的モデルの定常状態部分である)、を包含すると考えられ得る。マスタMPCコントローラ302は、オフラインプランニング最適化の精度を高めるMPCフィードバックを活用し、それによって、以前には使用できなかったリアルタイム情報を組み入れることによって、リアルタイムに理解するほど元の計画に近くなるように、オフラインプランニング最適化を再現する。マスタMPCコントローラのモデル200のダイナミクスは、プラントのオペレーティングデータから特定されることが可能で、マスタMPCコントローラ302は、閉ループでの所望の在庫/特性制御を提供することができる。マスタMPCコントローラ302からの制御及び最適化ソリューションは、スレーブMPCコントローラ304a〜304nからのオペレーティング制約を遵守することから、これは、マスタMPCコントローラ302に、閉ループで実行することを可能にさせ、MPCカスケードを可能にする。このことは、集中型コンパクトプラントレベルの最適化とユニットレベルの分散型MPC制御の両方を提供しつつ、行われる。
【0060】
[0066]マスタMPCコントローラ302の多変数制御機能性は、あるタイプの生産コントローラ、又はその主要CVとして在庫レベルを使用する在庫コントローラに相当することができる(「在庫」は、本明細書では、現在の状態において、予測される今後の状態において、又はその両方での物質/エネルギー/などの累積量を指す)。各単位変更量(又はMV)は、マスタMPCコントローラ302を通して直接に、スレーブMPCコントローラ304a〜304nを介して間接的に、又はプロセスコントローラ306a〜306m(RMPCTコントローラなど)を介して間接的に、構成され得る。各スレーブMPCコントローラ304a〜304nは、各ユニットの変更量内の「余地」を予測することができ(以下に説明されるプロキシ制限を介して)、マスタMPCコントローラ302は、ユニットが受け入れることができない変更量を要求することを控えることができる。マスタMPCコントローラ302は、物質/エネルギー収支(モデル/制約)用のCVをさらに含むことができる。
【0061】
[0067]マスタMPCコントローラ302は、プランニングモデルを使用して、経済最適化動作を行うのに適した任意の構造を含む。マスタMPCコントローラ302は、例えば、単入力単出力(SISO:Single Input Single Output)コントローラ、多入力多出力(MIMO:Multiple Input Multiple Output)コントローラ、又はその他の個数の入力及び出力を備えたコントローラに相当することができる。各スレーブMPCコントローラ304a〜304nは、マスタMPCコントローラと相互作用するのに適した任意の構造を含む。各スレーブMPCコントローラ304a〜304nは、例えば、SISOコントローラ、MIMOコントローラ、又はその他の個数の入力及び出力を備えたコントローラに相当することができる。
【0062】
[0068]プロキシ制限
[0069]マスタMPCコントローラ302は、縮約モデルを使用する独立したMPCコントローラである。マスタMPCコントローラ302が、スレーブMPCコントローラ304a〜304nにわたってカスケード接続するために、マスタMPCコントローラ302は、スレーブコントローラ304a〜304nの制約を遵守し、そうしなければ、組み合わされたソリューション全体が、実装に対して最適でもなく、実行可能でさえもない可能性がある。この状況の回避を手助けするために、プロキシ制限は、多スケールモデルを併合するために使用される。プロキシ制限は、マスタMPCコントローラの空間におけるスレーブMPCコントローラの制約の代替え的な表示である。プロキシ制限は、スレーブMPCコントローラの制約をマスタMPCコントローラに「移す」ための、個々のスレーブMPCコントローラとマスタMPCコントローラとの間のコンジットとして表示され得る。複数のスレーブMPCコントローラ304a〜304nからのプロキシ制限は、マスタMPCコントローラの制御及び経済最適化定式に組み合わされ、含まれ得る。
【0063】
[0070]プロキシ制限は、マスタMPCコントローラ302のMV空間において表示され得るが、それらの境界値は、スレーブMPCコントローラ304a〜304nのMV空間において計算され得る。マスタMPCコントローラ302のMV毎に、その下流スレーブMPCコントローラのそれぞれは、1つ又は複数のスレーブCV又はMVが、それらのオペレーティング制限に達するようになる前に移動することができる距離分を予測することができる。マスタMPCコントローラ302からの2つ以上のMVが、スレーブMPCコントローラ304a〜304nに関連付けられている場合、プロキシ制限は、本質的に、多変量であり得る。
【0064】
[0071]図4は、本開示による、カスケード型MPCアーキテクチャにおけるプロキシ制限の例示的な使用を示す。具体的には、図4は、1つのプロキシ制限がユニット全体を十分に表す、FCCU用のカスケード型アーキテクチャにおけるプロキシ制限の例示的な使用を示す。FCCUの原材料は、マスタMPCコントローラ302用のプランニングモデル200におけるMV4として、またスレーブMPCコントローラ304a用のMPCモデル250におけるMV9として、構成されると仮定する。また、ユニットへの現在の供給量が、33.5の値を有すると仮定する。さらに、スレーブMPCコントローラ304aが、供給量が、表402に示されるように、1つ又は複数のスレーブCV及び/又はMVが1つ又は複数の制限に達するようになる前に、38.1の最大値まで増やされることが可能であると予測すると仮定する。表402は、本明細書では、スレーブMPCコントローラ304aによって制御される種々のCVと、それらのCVを制御するためにスレーブMPCコントローラ304aによって使用される種々のMVを示す。38.1の最大境界値は、マスタMPCコントローラ302に受け入れられ、マスタMPCコントローラのMV4用の高プロキシ制限として使用される。
【0065】
[0072]各ユニットにおいて、どのくらい多くのスレーブ制約が、マスタMPCコントローラのMV(単位供給量など)を制限することができるかに関わらず、マスタMPCコントローラ302のみが、そのMVを強要することを止めるべき点を知る必要がある(そうでない場合、いくつかの下位レベルの制約違反が生じる可能性がある)。この停止点は、マスタMPCコントローラのMVを制限することのできる、対応する下位レベルのユニットにおける有効なスレーブ制約のセット全体に相当する、プロキシ制限と一致する。上記の具体的な例において、複数のプロキシ制限も使用され得るが、下位レベルのFCCUユニットにおける全てのスレーブ制約に対して、ただ1つのプロキシ制限が必要とされる。
【0066】
[0073]プロキシ制限の1つの特徴は、ユニット内の全てのスレーブMPC制約が、不要な要素を取り除いて、1つ又はいくつかのプロキシ制限にされ得ることである。従って、プロキシ制限は、マスタMPCコントローラ302に、粗いスケールのモデル200を、それを細かいスケールのスレーブMPCモデル250と効果的に併合しつつ、そのままの状態で保持するための結束機構として機能する。言い換えれば、このことは、マスタMPCコントローラ320内部のプラント全体の最適化問題を、粗いスケールのモデル200が互換性のある細かいスケールのモデルに拡張されるようにすることなく、その元のコンパクトプランニング形式に保持することを可能にする。
【0067】
[0074]プロキシ制限の助けで、カスケード型MPC手法を使用する一体化最適化ソリューションは、様々な利益をもたらす。例えば、埋込み式リアルタイムプランニングソリューションは、スレーブMPCコントローラ304a〜304nにおけるユニットレベルのオペレーティング制約を遵守し、マスタMPCコントローラ302は、オフラインプランニングツールが開ループで管理すると考えられる同じ変数組(在庫又は品質など)を動的に制御する。事実上、ユニット内の全ての関連のMPC制約は、不要な要素が取り除かれて、1つ又は複数のプロキシ制限にされ、今度は、マスタMPCコントローラの最適化に含まれることになる。さらに、プロキシ制限は、1つのレイヤよりも、多レイヤの最適化に目が行くようにする。さらに、開ループ最適化ソリューションの手動調整又は変換の慣例は、減らされるか又はなくされることが可能である。プランニングモデルと制御モデルの両方をオンラインで交差活用することによって、カスケード型MPC手法は、閉ループ制御システム内でのプラント全体の最適化を、リアルタイムで実行することを可能にする。従って、カスケード型MPC手法は、プラントレベルにおける粗いスケールのプランニングモデル200での集中型最適化と、ユニットレベルにおける細かいスケールのMPCモデル250での分散型制御を、同時に提供する。
【0068】
[0075]プロキシ制限とカスケード接続するMPCの概念は、スレーブコントローラとしてのレベル3 MPCコントローラで行われるとして、説明されたことに留意されたい。しかしながら、この概念は、制御及び自動化システムの種々のレベルで使用され得るか、又はそれらのレベルにまで及ぶことが可能である。例えば、プラント内の複数のカスケード型アーキテクチャ300におけるマスタMPCコントローラは、プラントレベルのマスタMPCコントローラに対して、スレーブMPCコントローラを形成することができる。特定の例として、石油/ガス精製所用のプラントレベルのマスタMPCコントローラは、単純な歩留まりベクトル(1つの投入原材料としての原油、複数の産出原材料としての精製製品)を使用することができる。同様に、複数のプラントレベルのマスタMPCコントローラは、エンタープライズレベルのマスタMPCコントローラに対して、スレーブMPCコントローラとして機能することができる。特定の例として、種々の精製所が種々の市場に関係している場合、複数の精製所にわたるエンタープライズレベルのマスタMPCコントローラは、地域の製品需要/供給と、各精製所の生産能力に基づいて、全体的な最適値をリアルタイムで計算することができる。
【0069】
[0076]ユーザエクスペリエンスを高めるための多スケールソリューション
[0077]カスケード型MPCアーキテクチャ300が、1組のモデルを使用することから、プランニングモデル200は、自然に、プラントの明瞭な鳥瞰図を備えるグラフィカルユーザインタフェース(GUI:Graphical User Interface)を提供するために使用され得る。図5は、本開示による、カスケード型MPCアーキテクチャと共に使用するための例示的なGUI500を示す。GUI500は、プランニングモデル200内の種々のユニット202を特定する様々なアイコン502を含む。マスタMPCコントローラ302は、GUI500内に様々な情報を提供することができる。例えば、マスタMPCコントローラ302は、単位生産量、使用可能な在庫、予定製品出荷、コスト構造、総利ざや、その利ざやに対する各ユニットの寄与、及び生産計画のリアルタイム実行に付随するその他の関連情報を提供することができる。
【0070】
[0078]マスタMPCコントローラ302はまた、オペレータに、どのユニットがプラント全体の障害となっているかを、それらのユニットのプロキシ制限を見ることによって、GUI500内で容易に特定することを可能にさせる。少なくとも1つの有効なプロキシ制限を有するユニット202であれば、ユニットの処理量が、実際に、そのスレーブMPCコントローラ内部の下位レベルの制約によって制約されている場合などの、全体的な障害である。これらのユニットは、明瞭な「一目瞭然の」図を提供するGUI500において、色付きマルなどの指標504を使用して、グラフィカルに特定され得る。限界利益値は、任意選択で、各障害ユニットの次に表示され、ユニットの処理量が増加している場合、プラントが達成し得る利益の増加分を示すことができる。
【0071】
[0079]オペレータ(生産管理者又は計画立案者など)は、GUI500を使用して、障害ユニットにドリルダウンすることができる。例えば、GUI500において特定のアイコン502が選択されると、選択されたユニット202用のMPCモデル250が、オペレータに表示され得る。表示されたMPCモデル250は、ユニットの生産処理量を現在制限している有効な制約を示す、スレーブMPCコントローラのGUIに相当する。MPCモデル250において特定のコントローラが選択されると、表402がオペレータに表示され得る。
【0072】
[0080]制約として現在有効である表402内の変数(機器又は保守点検の問題などを原因とする)は、指標506(色付きマルなど)を使用して特定され得る。表402内の特定の変数がオペレータによって選択されると、保守点検GUI508又はその他のインタフェースが、オペレータに提示され得る。例えば、オペレータは、バルブ制約を選択して、そのバルブ用の保守点検GUI508を表示することができる。保守点検GUI508は、バルブが2週間内に保守点検に予定が組み込まれていることを示すことができる。マスタMPCコントローラ302と同様に、スレーブMPCコントローラ304a〜304nは、制約が取り除かれた場合(それによって、今度は、処理量を上げるのを促進すると考えられる)、プラントが達成し得る利益の増加分を示す限界利益値を、表402内の各有効制約の次に表示することができる。
【0073】
[0081]複雑な設備では、通常、任意の所与の時点で対処される必要のある、ずらりと並んだアクチュエータ及びその他の機器がある。保守点検担当者は、彼らの保守点検作業に優先順位を付けるための適切な手引きをもたない場合が多い。APC保守点検作業及びその他の保守点検作業に対しても同じことが言える。図5に示された方法では、各保守点検作業は、増加利益分でタグ付けされることが可能で、作業リストは、サービス要求時間によってよりもむしろ、利益影響度によって簡単にソートされ得る。障害は、ユニットでの単純な保守点検問題によって引き起こされる場合がよくある。いくつかの利益に影響する項目は、それらの項目を修理しないことの代償を誰も知らないことから、長期間、修理されない状態でいる可能性がある。多層制御システムGUIの場合、保守点検作業は、それらの経済的影響度によって簡単にソートされることが可能であり、新しい経済中心の自動化保守点検枠組みが確立されることが可能である。
【0074】
[0082]寄与値及び寄与コスト
[0083]図2Aに戻って参照すると、上記で示されたように、プランニングモデル200において示されるプロセスユニット202は、一般に、様々な中間製品208を作り出しつつ、1つ又は複数の投入ストリーム204を、1つ又は複数の産出ストリーム206に変換するように動作する。マスタMPCコントローラ302又はスレーブMPCコントローラ304a〜304nは、それらの制御又は最適化動作を行う場合、寄与値及び/又は寄与コストを使用することができる。
【0075】
[0084]各寄与値は、1つ又は複数の最終製品(最終製品は、プロセスシステムによって産出される製品に相当する)を生産するために使用される中間製品に関連付けられ得る。寄与値は、各最終製品及び各最終製品の値段に対するその中間製品の寄与を使用して計算され得る。いくつかの実施形態において、中間製品の寄与値は、以下のように計算される。
【0076】
【数1】
【0077】
ここで、nは、中間製品を使用して産出され得る最終製品の個数を表す。また、Contributionは、第i最終製品を生産するのに専用の中間製品の割合を表し、ProductPriceは、第i最終製品に対する予測の又は現在の市場価格を表す。さらに、FurtherProcessingCostは、第i最終製品を生産するのに必要な追加の処理コストを表す(任意選択で、省略されてもよく、又はゼロに設定されてもよい)。
【0078】
[0085]その他の実施形態において、中間製品の寄与値は、以下のように計算される。
【0079】
【数2】
【0080】
ここで、第i最終製品に対する製品価格は、様々な生産過剰及び生産不足シナリオ、又はその他の状況に対して補正を加えるために調整され得る。例えば、第i最終製品の計画された生産量がその計画を超える場合、最終製品の価格は、保管コスト及び今後の注文リスクを考慮して、下げられることが可能である。第i最終製品の計画された生産量がその計画を下回る場合、最終製品の価格は、注文の最終期限に間に合わないことに対する違約金がある場合は、上げられることが可能である。
【0081】
[0086]また、寄与値に対して様々な調整が行われ得ることに留意されたい。例えば、保管が可能な場合、通常高価な中間製品は、次のプランニング期間用に保管され、保持される(現在の期間でのその寄与値を下げるよりもむしろ)。もう1つの例として、過剰な中間製品が、スポット市場で販売され得る場合、より高い寄与値が中間製品に割り当てられ得る。さらに、寄与値は、現在のプランニング期間に関して、及び次のプランニング期間に関して、一緒に結び付けられ、現在の期間の終了時における、ホライズン効果の望ましくない低減を抑えることに役立つことができることに留意されたい。
【0082】
[0087]各寄与コストは、1つ又は複数の原材料製品(原材料製品は、プロセスシステム内に投入される材料に相当する)を使用して、生産される中間製品に関連付けられ得る。寄与コストは、各原材料製品のその中間製品の使用、及び各原材料製品の価格を使用して計算され得る。いくつかの実施形態において、中間製品の寄与コストは、以下のように計算される。
【0083】
【数3】
【0084】
ここで、mは、中間製品を生産するために使用される原材料製品の個数を表す。また、Contributionは、中間製品を生産するのに専用の第i原材料製品の割合を表し、またFeedCostは、第i原材料製品に対する予測の又は現在の市場価格を表す。さらに、UpstreamProcessingCostは、第i原材料製品を処理し、中間製品を生産するために必要とされる処理コストを表す(任意選択で、省略されてもよく、又はゼロに設定されてもよい)。
【0085】
[0088]その他の実施形態において、中間製品の寄与コストは、以下のように計算される。
【0086】
【数4】
【0087】
ここで、第i原材料製品に対するコストは、様々な生産過剰及び生産不足シナリオ、又はその他の状況に対して補正を加えるために調整され得る。例えば、第i原材料製品の計画された在庫がその計画又は保管能力を超える場合、消費を促進するためにその調整済みコストが下げられることが可能である。第i原材料製品の計画された在庫がその計画又は保管能力を下回る場合、消費を抑えるために、その調整済みコストが上げられることが可能である。また、寄与コストに対して様々な調整が行われ得ることに留意されたい。例えば、原材料製品の調整済みコストがそのスポット市場価格より高い場合、それを生産する代わりに、中間製品を購入するほうが経済的となるか否かを判定するために、「内製対外部調達」分析が使用され得る。
【0088】
[0089]図6は、本開示による、カスケード型MPCアーキテクチャと共に寄与値及び寄与コストを使用するための例示的な技法を示す。この例では、マスタMPCコントローラ302は、(i)そのプランニングモデル、その経済性、及び以前のイテレーションからのデータに基づいて寄与値及び寄与コストを、(ii)寄与値及び寄与コストならびにプロキシ値に基づいて予測の歩留まりを、反復して特定するように動作する。寄与値及び寄与コストは、スレーブMPCコントローラに、それらの局所最適化ニーズに対して提供され得る。最適なソリューション(最適化された計画など)が見つけられると、マスタMPCコントローラ302は、最適化された経済性をスレーブMPCコントローラ304a〜304nに提供する。寄与値を使用することに関連したマスタMPCコントローラ302の動作に関する追加の詳細は、米国特許出願公開第2011/0040399号(その全体が参照により本明細に組み込まれている)において確認され得る。
【0089】
[0090]例示的なプランニングモデル構造
[0091]いくつかの実施形態において、マスタMPCコントローラ302用のプランニングモデル200は、1つ又は複数のベースモデルを使用して形成され得る。例えば、2つのベースモデル(処理ユニットモデルとプールタンクモデル)が、プランニングモデルを形成する際に提供され得る。処理ユニットは、1つ又は複数の投入原材料及び1つ又は複数の産出原材料として、モデル化され得る。プールタンクは、混合タンク又は非混合(保管のみ)タンクとしてモデル化され得る。実装形態に応じて、その他の又は追加のベースモデルが、使用され得ることに留意されたい。
【0090】
[0092]図7〜9は、本開示による、カスケード型MPCアーキテクチャにおいて、プランニングモデルを形成するための例示的なベースモデルを示す。図7及び8は、処理ユニット用の例示的なモデルを示し、図9は、プールタンク用の例示的なモデルを示す。
【0091】
[0093]図7に示されるように、1つの投入原材料と複数の産出製品との間の物質収支用に、以下の伝達関数が使用され得る。
【0092】
【数5】
【0093】
ここで、yは、第i製品に対するベース歩留まりであり、Δyは、ベクトル(m要素の)である。また、
【0094】
【数6】
【0095】
ここで、vgは、ボリュームゲインであり、ここで、
【0096】
【数7】
【0097】
このモデル形式は、プランニングモデルにおいて一般に使用される構造に一致する。厳密には、このモデル形式は、それが二次ゲインでの線形ダイナミクスを有するような線形モデルではない。モデルは、単位当たり1つの投入原材料を有し、産出製品の各特性は、製品ドロー(product draw)と同様の時定数及び遅れを有する。表2は、同じ手法を使用して自然に複数の原材料に及ぶことが可能であるが、1つの原材料フローに対する定常状態ゲインマトリックスを示す。
【0098】
【表2】
【0099】
[0094]図8に示されるように、以下の伝達関数は、投入原材料の第i特性を第j製品の第i特性に変換するために使用され得る。
【0100】
【数8】
【0101】
ここで、Gcjは、ベクトル(m要素の)であり、Gは、「通過」DVゲインである。この手法は、製品の各特性が、製品ドローと同様の時定数及び遅れを有し、初期化によって、それらの各特性が、同じ値に設定され得ると仮定する。この手法はまた、特性がMPCコントローラによって影響され得る(又は制御され得る)と仮定する。表3は、再び同じ手法を使用して自然に複数の原材料に及ぶことが可能であるが、1つの原材料のマテリアルフロー(material flow)及び特性の両方に対する定常状態ゲインマトリックスを示す。
【0102】
【表3】
【0103】
[0095]この方法で定義される処理ユニットモデルのダイナミクスを得るために、様々な技法が使用され得る。例えば、ダイナミクスは、履歴データから推定され、工学技術の知識で検証され、短時間の段階的なテストの間に特定されるか、又は動作中に推定され得る。処理ユニットの集中歩留まり(lumped yield)(ベース歩留まりよりもむしろ)がリアルタイムで更新される場合など、バイアス更新及び歩留まり検証も、起こる可能性がある。様々な誤差補正スキームも、マスタMPCコントローラプランニングモデルで使用され得る。第1の誤差補正スキームでは、歩留まりは、投入流量から直接に計算されることが可能で、平均歩留まり(過去の時間窓範囲内)は、同様の時間窓にわたって今後の平均歩留まりを予測するために推定され、使用され得る(時間窓の幅はチューニング可能であり得る)。推定の歩留まりは、集中歩留まり値が更新される前に、内部の予測可能性閾値(場合によってチューニング可能)に合格しなければならない可能性があることに留意されたい。ゲイン更新は、モデル予測精度を上げることができ、検証されたゲインは、今後の集中歩留まりでのより良い予測可能性を有することができる。第2の誤差補正スキームでは、バイアス更新機構が、マスタMPCモデル予測内部のバイアスを更新するために使用され得る。
【0104】
[0096]図9は、一般的なプールタンク900の例示的なモデル化を示す。プールタンク900は、設備内で製造される物質(1つ又は複数の中間製品など)を保管するために使用される構造を表す。上記の図2Aで示された貯蔵タンク210は、プールタンクの例である。物質の複数のストリーム(Fin)がタンク900に流れ込み、各ストリームは、r特性を有する。また、物質の複数のストリーム(Fout)は、タンク900から流れ出て、全てのストリームは同じ特性を有する。現在の量は、Vで表され、同様の特性を有する投入ストリームは、プールタンク900にまとめてプールされると仮定することができる。以下で説明されるモデルが、中間製品をプールするために使用されるタンク用であり、最終製品のブレンディングに適する、又は適さない可能性があることに留意されたい。また、その他の手法(非線形補正項又は非線形ブレンディング法を使用する手法など)も使用され得るが、線形混合ルールが、測定フィードバーク用に十分に正確であるように、投入ストリームが同様に十分であり得ることに留意されたい。
【0105】
[0097]プールタンク900のモデルでは、以下の物質収支の数式が使用され得る。
【0106】
【数9】
【0107】
以下の数式が第i量的特性のブレンディングを表すために使用され得る。
【0108】
【数10】
【0109】
【数11】
【0110】
【数12】
【0111】
以下は、ラプラス変換と再編成を使用して得られ得る。
【0112】
【数13】
【0113】
以下のように、石油及びガスシステムにおいて、ブレンディングボーナスも使用され得る。
【0114】
【数14】
【0115】
表4は、一般的なプールタンクのモデル化をまとめている。
【0116】
【表4】
【0117】
仮定は、ここでは、投入流量がそれらの特性よりも頻繁に変動することと、投入−産出変数が、適切に測定され得る(自動化された方法又は試験所において)ことを含む。
[0098]特に、ベースモデル構造を使用することの利点は、制限された個数のベース構造(上の例では2つなど)をデザインすることを含み、この場合、ベース構造は、ユニットとタンクがどのように接続されるかの面で柔軟性をもたらす。例えば、処理ユニットとプールタンクは、構成後に固定されることが可能で、在庫量/特性の状態は、動的に追跡され得る。処理ユニットとプールタンクの間の接続は、ステートレス(stateless)で、オンザフライで変更され得る。その上、マスタMPCコントローラ用のプランニングモデルは、オンザフライで構成され得る。さらに、カスケード型アーキテクチャは、中間の投入−産出信号が適切に測定され得る限り、中間のフィードバックを簡単に活用することができ、この手法は、その構造が実際の処理ユニットとより自然に整合するように、改善されたモデル更新をサポートすることができる。
【0118】
[0099]モデル検証技法
[00100]制御及び自動化システムのマスタMPCコントローラ302又はその他の構成要素は、マスタMPCコントローラ302によって使用されるプランニングモデルを検証するために、検証技法を実装することができる。図10は、本開示による、カスケード型MPCアーキテクチャにおいて、プランニングモデルを検証するための例示的な技法を示す。図10では、各スレーブMPCコントローラ304a〜304nが少なくとも1つのプロセス要素(処理ユニット又はプールタンク)1002a〜1002rに関連付けられる場合の、コントローラ及びその他のデバイスの階層が示される。各プロセス要素1002a〜1002rは、それぞれ、関連する歩留まり検証ブロック1004a〜1004rを有する。
【0119】
[00101]特に、歩留まり検証ブロック1004a〜1004rは、物質収支、エネルギー収支、製品特性又はその他のモデル化更新の包絡線計算を含むモデル検証をサポートする。プランニングモデルは、物質、エネルギー、又はその他の要因がモデルにおいてバランスが取れているか確認することによって検証され得る。包絡線計算は、重量又は同等値において行われることが可能で、その結果は、ユーザの選択に基づく種々の単位で提示され得る(重量又は体積など)。温度/密度の補正係数が使用されることが可能で、値は、共通単位(バレル又はトンなど)に換算され得る。特定の業種での物質計量において一般に使用される慣例が、サポートされ得る。
【0120】
[00102]検証において、様々なその他のデザイン問題が考えられ得る。例えば、いくつかの測定が、断続的、不十分、非定期的、欠けている、延期される、又は部分的に架空である可能性があり、スキーム(フィルタリング又はバイアス更新など)が、このような変則に対処するために使用され得る。また、ある場合、物質は、(計画外又は測定不能の)規格外のマテリアルリサイクルがある場合、バランスを保てない可能性があり、任意の適切な方法(ユーザ入力などに基づく)で対処され得る。さらに、いくつかのストリームの歩留まりが、保守点検又は異常なプロセス状態を原因として、ある期間でのそれらの「正常」値とは著しく異なる場合があり、再び任意の適切な方法(ユーザ入力などに基づく)で対処され得る。
【0121】
[00103]歩留まり検証ブロック1004a〜1004rは、上で説明されたような集中歩留まりのバイアス更新及び歩留まり検証もサポートすることができる。例えば、歩留まり検証ブロック1004a〜1004rは、物質収支及び量/温度補正を加えることによって、リアルタイムの歩留まりを測定し、それらを交差検証する(cross−validate)ことができる。歩留まり検証ブロック1004a〜1004rは、上で説明された第1の誤差補正スキームを行うこともできる。
【0122】
[00104]マスタ−スレーブ変数に対処するための技法
[00105]上で説明されたプロキシ制限は、スレーブMPCコントローラ304a〜304nからの制約が、マスタMPCコントローラ302に受け入れられることを可能にする。図11〜16は、本開示による、カスケード型MPCアーキテクチャにおけるマスタMPCコントローラ及びスレーブMPCコントローラにおいて、変数をリンクするための例示的な技法を示す。この技法は、マスタMPCコントローラ302に、その動作中に、スレーブMPCコントローラ304a〜304nの制約を考慮することを可能にさせる。しかしながら、その他の手法も使用され得ることに留意されたい。
【0123】
[00106]図11に示されるように、マスタMPCコントローラ302は、マスタMPCコントローラ302によって使用される種々のMV又はDVを特定するMV/DV指標1102を有する。マスタMPCコントローラ302によって制御される様々なCV1104は、それらのMV又はDVに影響される可能性がある。スレーブMPCコントローラ304a〜304bによって使用される種々のMV又はDVを特定するMV/DV指標1106もある。スレーブMPCコントローラ304a〜304bによって制御される様々なCV1108〜1110は、それらのMV又はDVに影響される可能性がある。コンジョイント変数(conjoint variable)は、マスタMPCコントローラとスレーブMPCコントローラの両方における同じ変数に相当する(上に説明されたようなマスタコントローラにおけるMV4、スレーブコントローラにおけるMV9など)。コンジョイント変数は、マスタ及びスレーブMPCコントローラにおいて、MV又はDVとして構成され得る。
【0124】
[00107]マスタ及びスレーブCV制約は、MV/DV指標1102での値を、MV/DV指標1106での対応する値に関連付けることによって、結合され得る。このことは、MV/DVイン指標1102及びMV/DV指標1106によって特定された変数が、コンジョイント変数であることを示す。このことは、マスタMPCコントローラ302のプラント全体の最適化に、スレーブMPCコントローラ304a〜304bからのCV制約のいくつか又は全てを含むことを可能にさせる。
【0125】
[00108]図12に示されるように、スレーブMPCコントローラの少なくとも1つのCVは、プロキシ制限を介して、マスタMPCコントローラに、「昇格」することができる。プロシキ制限は、MV/DV指標1106の対応する列に関連するMV/DV指標1102の列に現れる。例えば、スレーブMPCコントローラにおけるCV制約が以下のように表されると仮定する。
【0126】
【数15】
【0127】
このCV制約は、この数式を使用して、マスタMPCコントローラにおけるCVプロキシ制限として使用され得る。
【0128】
【数16】
【0129】
これは、スレーブMPCコントローラの制約が、マスタMPCコントローラに受け入れられ、それによって使用されることが可能である、1つの例示的な方法を表す。
[00109]スレーブMPCコントローラの制約は、任意の適切な方法で、マスタMPCコントローラのプランニング動作に組み込まれることが可能である。例えば、図13は、スレーブMPCコントローラの自由なMVが、それらの現在の値に固定される場合、スレーブコントローラのCV制約が、マスタコントローラのMV空間1300にプロットされ得ることを示す。一般に、スレーブコントローラのMV制限は、マスタコントローラのMV空間1300に単純な境界線として現れ、スレーブコントローラのCV制限は、線形制約として現れる。これらの制限間の実行可能領域1302は、スレーブMPCコントローラの全ての制約を満たしつつ、マスタMPCコントローラによって選択され得る値の考えられる組合せを定義する。スレーブコントローラの制約によって定義される実行可能領域1302の形は、一般に、多角形又は多面体である。図14に示されるように、スレーブMPCコントローラの自由なMVが、その他の値をとる場合(何らかの理由で)、実行可能領域1302の形は、変わる。影付きバー1402は、これらの制約がどのようにシフトし得るかを示す。同様に、スレーブコントローラのモデルゲインがオンザフライで更新される場合、これらのCV制約の傾斜は、それに応じて変わり得る。
【0130】
[00110]マスタMPCコントローラとスレーブMPCコントローラとの間に1つのコンジョイント変数がある場合、実行可能領域1302の大きさが、図15に示される実行可能領域1502などに、縮小され得る。このことは、ある時点で小さな変更を加えることによって、所与の方向に、マスタMPCコントローラのMV/DVを押したい場合に達成され得る。その場合、実行可能空間の狭い帯のみが使用される。この実行可能領域1502の高低の値は、自由なスレーブコントローラのMVに対して適切な位置を見つけることによって計算され得る。最大値は、スレーブコントローラがそのMV2値を最大にするための、マスタコントローラからの最適化呼び出しによって計算され得る。最小値は、スレーブコントローラがそのMV2値を最小にするための、マスタコントローラからの最適化呼び出しによって計算され得る。最大化目的関数は、製品の寄与値とその他の局所最適化構成要素を含むように増大され得る。寄与値の場合、ユニットが、より有益な歩留まりプロファイルにプッシュされ得る。
【0131】
[00111]マスタMPCコントローラとスレーブMPCコントローラとの間に2つのコンジョイント変数がある場合、実行可能領域は、図16に示されるように定義され得る。現在のMV点1602(この例では、原点)において、マスタMPCコントローラは、1つの水平な実行可能バー1604と1つの垂直な実行可能バー1606を推定することができる。このことは、図15に示されるものと同じ方法で起こり得る。各バーの幅は、それが、実行可能領域の初期表示を作る長方形範囲1608を形成するもう一方のバーの両端に達するまで広げられ得る。しかしながら、長方形範囲1608の角は、それらがスレーブMPCコントローラの制約の外側にあることから、実行不可能な範囲に相当する。必要に応じて、長方形範囲1608の角を切り取るための様々な手法が使用され得る。例えば、現在のMV点又は最後の最適点に近いスレーブコントローラのCV制約が選択されることが可能で、1×2制約行が、選択されたスレーブCV制約毎に設定されたマスタコントローラの制約の終わりに付け加えられることが可能である。一例として、1×2行は、スレーブコントローラのMPCマトリックス(選択された行と2つのコンジョイントMVの列)からコピーされ得る。スレーブコントローラのオプティマイザが呼び出され、CV高制約を最大にし、CV低制約を最小にすることによって、選択されたCVを最大又は最小にすることができる。
【0132】
[00112]1つ又は2つのみのコンジョイント変数が上で説明されたが、本明細書において説明される手法は、任意の個数のコンジョイント変数に及ぶことができることに留意されたい。この手法は、マスタMPCコントローラに、そのスレーブMPCコントローラの制約を、それらの制約によって定義された実行可能領域でプラントの動作を最適化しつつ、考慮することを可能にさせる。
【0133】
[00113]例示的な方法
[00114]図17は、本開示による、産業用プロセス制御及び自動化システムにおいて、カスケード型MPCコントローラを使用するための例示的な方法1700を示す。説明を簡単にするために、方法1700は、制御及び自動化システム100において動作することのできる、カスケード型MPCアーキテクチャ300に関して説明される。方法1700は、任意のその他の適切なカスケード型MPCアーキテクチャと共に、任意のその他の適切なシステムにおいて使用され得る。
【0134】
[00115]図17に示されるように、ステップ1702において、プランニングモデルが、マスタMPCコントローラにおいて得られ、ステップ1704において、MPCモデルが、スレーブMPCコントローラにおいて得られる。このことは、例えば、プランニングモデル200を生成する、又は単一期間のプランニングモデルなどの、既存のプランニングモデル200を再利用することを含むことができる。このことは、標準技法を使用するなどによって、MPCモデル250を生成することも含むことができる。
【0135】
[00116]ステップ1706において、カスケード型MPCアーキテクチャの動作中、最適化呼び出しが、マスタMPCコントローラからスレーブMPCコントローラに送信される。最適化呼び出しは、スレーブMPCコントローラが、それらのMV値に対して、それらの制約に反することなく何らかの変更が行われ得るか否か(また、どの程度まで変更が行われ得るか)を判定することを要求することができる。ステップ1708において、スレーブMPCコントローラは、それらの制約に関連するプロキシ制限値をマスタMPCコントローラに送信することによって、応答する。このことは、例えば、スレーブMPCコントローラが、どの程度まで何らかの変更がそれらのMV値に対して行われ得るか、どの制約が破られる可能性があるかを特定することを含むことができる。
【0136】
[00117]ステップ1710において、プランニングモデルは、プロキシ制限値を使用した最適化動作の間に、マスタMPCコントローラによって操作される。このことは、例えば、マスタMPCコントローラが、複数のスレーブMPCコントローラからのプロキシ制限値を、マスタMPCコントローラの制御及び経済最適化定式において、組み合わせることを含むことができる。同時に、ステップ1712において、MPCモデルは、制御動作の間、スレーブMPCコントローラによって操作される。このことは、例えば、スレーブMPCコントローラが、それらの機能がマスタMPCコントローラによって生成された制御及び経済最適化定式に基づく、標準MPC機能を果たすことを含むことができる。この方法では、ステップ1714において、一体化プランニング/最適化及び制御機能が、制御及び自動化システムにおいて起こる可能性がある。
【0137】
[00118]図17は、産業用プロセス制御及び自動化システムにおいて、カスケード型MPCコントローラを使用するための方法1700の1つの例を示すが、様々な変更が図17に対して行われてもよい。例えば、一連のステップとして示されているが、図17での様々なステップは、重複して起こる、並行して起こる、異なる順序で起こる、又は任意の回数起こる可能性がある。
【0138】
[00119]結論
[00120]本開示は、プランニングと制御との間の隙間を埋める新規のカスケード型MPCアーキテクチャを提供した。このアーキテクチャは、ユニットレベルにおけるスレーブMPCコントローラなどの、1つ又は複数のスレーブMPCコントローラにわたってカスケード接続されたマスタMPCコントローラを含む。マスタMPCコントローラは、プランニングモデルを使用して、プラント内部の生産在庫、製造活動、及び製品品質を制御するなどを行う。スレーブMPCコントローラは、それらの今後の予測及びオペレーティング制約をマスタMPCコントローラに、プロキシ制限などを介して提供する。多層MPCカスケードに埋め込まれたリアルタイムプランニングソリューリョンは、下位レベルのオペレーティング制約を遵守し、手動で変換されることをもう必要としない。プランニングモデルと制御モデルの両方をオンラインで交差活用することによって、MPCカスケードアーキテクチャは、閉ループ制御システム内で、プラント全体の最適化をリアルタイムで実行し、スレーブMPCコントローラを通して、ジャストインタイムの生産計画を自動的に遂行することを可能にする。
【0139】
[00121]いくつかの実施形態において、本特許書類において説明された様々な機能が、コンピュータ可読プログラムコードから形成され、かつコンピュータ可読媒体に埋め込まれたコンピュータプログラムによって実装又はサポートされる。「コンピュータ可読プログラムコード」という成句は、ソースコード、オブジェクトコード、及び実行可能コードを含む、任意のタイプのコンピュータコードを含む。「コンピュータ可読媒体」という成句は、読み取り専用メモリ(ROM:Read Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、ハードディスクドライブ、コンパクトディスク(CD:Compact Disc)、デジタルビデオディスク(DVD:Digital Video Disc)、又は任意のその他のタイプのメモリなどの、コンピュータによってアクセスされることが可能な任意のタイプの媒体を含む。「非一時的」コンピュータ可読媒体は、一時的電気信号又はその他の信号を伝送する、有線、無線、光、又はその他の通信リンクを含まない。非一時的コンピュータ可読媒体は、データが永続的に格納され得る媒体と、書き換え可能光ディスク又は消去可能メモリデバイスなどの、データが格納され、後で上書きされることが可能な媒体を含む。
【0140】
[00122]本特許書類を通して使用されるいくつかの単語及び成句の定義を示すことは有益であり得る。「アプリケーション」及び「プログラム」という用語は、1つ又は複数のコンピュータプログラム、ソフトウェア構成要素、命令セット、手順、機能、オブジェクト、クラス、インスタンス、関連データ、又は適切なコンピュータコード(ソースコード、オブジェクトコード、又は実行可能コードを含む)での実装形態に適合されるそれらの一部を指す。「communicate(通信する)」という用語及びそれの派生語は、直接、間接両方の通信を含む。「include(含む)」、「comprise(含む、備える)」という用語、及びそれらの派生語は、制限なしの包含を意味する。「or(又は)」という用語は、包含的であり、「and/or(及び/又は)」を意味する。「associated with(に関連する)」という成句及びそれの派生語は、含む、〜内に含まれる、〜と相互接続する、包含する、〜内に包含される、〜に又は〜と接続する、〜に又は〜と結合する、〜と通信可能である、〜と連携する、相互配置する、並置する、〜に近接する、〜に又は〜と結び付けられる、有する、〜の特性を有する、〜への又は〜との関係を有する、あるいは同様のものを含むことを意味し得る。「at least one of(少なくとも1つの)」という成句は、項目リストで使用される場合、列挙された項目のうちの1つ又は複数の種々の組合せが使用され得る、またリスト内のただ1つの項目が必要とされ得ることを意味する。例えば、「at least one of: A,B,and C(A、B、及びCのうちの少なくとも1つの)」は、A、B、C、AとB、AとC、BとC、AとBとCの組合せのうちのいずれかを含む。
【0141】
[00123]本開示は、特定の実施形態と、それに一般に関連する方法を説明したが、これらの実施形態及び方法の修正、置換が、当業者には明らかであろう。従って、例示的な実施形態の上の説明は、本開示を定義又は制約するものではない。その他の変更、代用、及び修正もまた、以下の特許請求の範囲によって定義されるような、本開示の趣旨及び範囲から外れない限り、可能である。
図1
図2A
図2B
図3A
図3B
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17