JP2021140771A - プロセスのデュアルモードモデルベース制御 - Google Patents

プロセスのデュアルモードモデルベース制御 Download PDF

Info

Publication number
JP2021140771A
JP2021140771A JP2021024881A JP2021024881A JP2021140771A JP 2021140771 A JP2021140771 A JP 2021140771A JP 2021024881 A JP2021024881 A JP 2021024881A JP 2021024881 A JP2021024881 A JP 2021024881A JP 2021140771 A JP2021140771 A JP 2021140771A
Authority
JP
Japan
Prior art keywords
solution
control
constrained
controller
plan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021024881A
Other languages
English (en)
Other versions
JP2021140771A5 (ja
Inventor
ウィルヘルム・ケイ・ウォズニス
K Wojsznis Wilhelm
マーク・ジェイ・ニクソン
J Nixon Mark
ジョン・エム・コールドウェル
M Caldwell John
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of JP2021140771A publication Critical patent/JP2021140771A/ja
Publication of JP2021140771A5 publication Critical patent/JP2021140771A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/041Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a variable is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33273DCS distributed, decentralised controlsystem, multiprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Feedback Control In General (AREA)

Abstract

【課題】プロセスモデルの不一致が原因で急速に低下する性能の低下を回避する。【解決手段】開示されたシステムおよび技術は、コントローラが(i)制約された解モードおよび(ii)制約されていない解モードの両方で動作することが可能な、モデルベースコントローラのためのデュアル動作モードを可能にする。デュアル動作モードは、可能な場合は制約された解モード動作を使用でき(制約された解モードでは優れた制御が可能になることが多い)、制約された解モードが不可能な場合(例えば、利用可能な時間で制約された解を展開することが不可能なとき)制約されていない解モードの使用を可能とするため、制御を改善する。これにより、典型的なモデル予測制御(MPC)コントローラと比較した場合、優れた制御が可能になる。【選択図】なし

Description

本開示は、概して、モデルベース予測制御を利用すること、より具体的には、最適化問題に対して制約された解および制約されていない解を同時に生成するデュアル動作モードを利用することに関する。
発電、化学、石油、または他のプロセスで使用されるような分散型またはスケーラブルなプロセス制御システムなどの分散プロセス制御システムは、プロセス制御ネットワークを介して、少なくとも1つのホストまたはオペレータワークステーションに、およびアナログ、デジタル、または組み合わされたアナログ/デジタルバスを介して、1つ以上の器具類またはフィールドデバイスに、互いに通信可能に結合された1つ以上のプロセスコントローラを典型的に含む。
フィールドデバイスは、バルブの開閉、デバイスのオン/オフの切り替え、およびプロセスパラメータの測定などのプロセスまたはプラント内の機能を行う。フィールドデバイスの例としては、バルブ、バルブポジショナ、スイッチ、および送信機(例えば、温度、圧力、または流量を測定するためのセンサを含むデバイス、および検知された温度、圧力、および流量を送信するための送信機)が挙げられる。
プロセスコントローラは、典型的にはプラント環境内に位置するが、フィールドデバイスによって行われるプロセス測定値(またはフィールドデバイスに関する他の情報)を示す信号を受信し、ならびに、例えば、プロセス制御判定を行い、受信した情報に基づき制御信号を生成し、スマートフィールドデバイス(例えば、HART(登録商標)、WirelessHART(登録商標)、およびFOUNDATION(登録商標)のFieldbusフィールドデバイス)に実装されている制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。
制御モジュールの実行により、プロセスコントローラは、通信リンクまたは信号路を通じてフィールドデバイスに制御信号を送信して、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する(例えば、プラントまたはシステム内部で稼働または実行している1つ以上の工業プロセスのうちの少なくとも一部分を制御する)。例えば、コントローラ(複数可)およびフィールドデバイスの第1のセットが、プロセスプラントまたはシステムによって制御されているプロセスの第1の部分を制御し得、コントローラ(複数可)およびフィールドデバイスの第2のセットが、プロセスの第2の部分を制御し得る。
1つ以上のコントローラと、1つ以上のコントローラに通信可能に接続されたフィールドデバイスと、コントローラとフィールドデバイスとの間の通信を容易にする中間ノードとによって形成されたネットワークは、「I/Oネットワーク」または「I/Oサブシステム」と呼ばれることがある。
I/Oネットワーク(複数可)からの情報は、データハイウェイまたは通信ネットワークを経由して、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、ハンドヘルドデバイス、データヒストリアン、レポートジェネレータ、中央集中型データベース、または、典型的にはプラントのより過酷なフィールド環境から離れた制御室もしくは他の場所、例えば、プロセスプラントのバックエンド環境内に置かれる他の中央集中型管理コンピューティングデバイスなどの1つ以上の他のハードウェアデバイスに利用可能であり得る。
プロセス制御ネットワークを経由して通信される情報により、オペレータまたは保守担当者は、ネットワークに接続された1つ以上のハードウェアデバイスを介して、プロセスに関して所望の機能を実行することが可能となる。これらのハードウェアデバイスは、例えば、オペレータが、プロセス制御ルーチン(複数可)の設定を変更し、プロセスコントローラまたはスマートフィールドデバイス内の制御モジュールの動作を修正し、プロセスプラント内のプロセスの現在の状態または特定のデバイスのステータスを視認し、フィールドデバイスとプロセスコントローラとによって生成されたアラームを視認し、要員のトレーニングまたはプロセス制御ソフトウェアのテストを目的としてプロセスの動作をシミュレーションし、プロセスプラント内の問題またはハードウェア障害を診断することなどをできるようにするアプリケーションを実行し得る。ハードウェアデバイス、コントローラ、およびフィールドデバイスによって利用されるプロセス制御ネットワークまたはデータハイウェイは、有線通信路、無線通信路、または有線通信路と無線通信路との組み合わせを含み得る。
一例として、Emerson社によって販売されているDeltaV(商標)制御システムおよびOvation(商標)分散制御システム(DCS)は、各々、プロセスプラント内の多様な場所に位置する異なるデバイス内に記憶され、異なるデバイスによって実行される複数のアプリケーションを含む。プロセス制御システムまたはプラントのバックエンド環境内の1つ以上のワークステーションまたはコンピューティングデバイス内に常駐する構成アプリケーションは、ユーザが、プロセス制御モジュールを作成または変更し、これらのプロセス制御モジュールを、データハイウェイを介して専用の分散コントローラへダウンロードすることを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、(i)機能ブロックに対する入力に基づき、制御スキーム内で機能を実施し、(ii)出力を制御スキーム内の他の機能ブロックに提供する、オブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、データをオペレータに対して表示するため、かつオペレータによるプロセス制御ルーチン内の設定点などの設定の変更を可能にするために視認アプリケーションが使用するオペレータインターフェースを、構成設計者が作成または変更することを可能にし得る。
各専用コントローラ(場合によっては、1つ以上のフィールドデバイス)は、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するそれぞれのコントローラアプリケーションを記憶および実行する。視認アプリケーションは、1つ以上のオペレータワークステーション(またはオペレータワークステーションおよびデータハイウェイと通信可能に接続された1つ以上のリモートコンピューティングデバイス)上で実行され得、コントローラアプリケーションからデータハイウェイを介してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、またはユーザに表示して、オペレータのビュー、エンジニアのビュー、技師のビューなどのいくつかの異なるビューのうちのいずれかを提供し得る。データヒストリアンアプリケーションは、典型的には、データハイウェイにわたって提供されたデータの一部または全てを収集および記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションは、現在のプロセス制御ルーチン構成およびそれと関連付けられたデータを記憶するために、データハイウェイに取り付けられたなおさらに離れたコンピュータで実行され得る。代替的に、構成データベースは、構成アプリケーションと同じワークステーション内に位置していてもよい。
プロセスコントローラ、I/Oカード、およびフィールドデバイスに加えて、典型的なプロセス制御システムには、プロセス動作に必要な、またはプロセス動作に関連する他の多くのサポートデバイスが含まれる。これらの追加のデバイスとしては、例えば、電源設備、発電および配電設備、典型的なプラント内の多くの場所に位置しているタービンなどの回転設備が挙げられる。
プロセスコントローラに関して、コントローラは、概して、従来のコントローラ(PIDコントローラなど)およびモデルベースコントローラ(MPCコントローラなど)の2つのカテゴリに分類することができる。これらのタイプのコントローラの各々は、プロセスを制御することができ、プロセスは、1つ以上のプロセス出力(例えば、流量、圧力、温度、組成、湿度、不透明度、密度測定など)、および1つ以上のプロセス入力(例えば、バルブ位置、流量など)を有すると特徴付けられ得る。モデルベースコントローラは、モデルベースコントローラが複雑なプロセスを制御するとき、従来のコントローラよりも効果的な制御を実装することができるため、PIDコントローラなどの従来のコントローラよりも利点を有する。これは、少なくとも部分的には、制御されているプロセスの将来の状態を予測する、モデルベースコントローラの能力に起因し得る。
従来のコントローラは、典型的に、プロセス入力(「操作変数」と呼ばれ得る)を操作して、フィードバック(すなわち、制御変数の測定値)およびプロセス出力に対して所望される値(すなわち、設定点)に基づいて、プロセス出力(「制御変数」または単に「プロセス変数」と呼ばれ得る)を変化させる。
比較すると、本明細書に記載されるようなモデルベースコントローラ(例えば、モデル予測コントローラまたはMPC)は、モデルベースコントローラが、制御されているプロセスのプロセス入力とプロセス出力との間の動的な関係を表すプロセスモデルに基づいて、プロセスの将来の状態を予測することができるという点で、PIDコントローラなどの従来のコントローラよりも利点を有する。つまり、モデルベースコントローラは、プロセス出力のフィードバックおよび所望の値だけでなく、コントローラがプロセスモデルおよびプロセス出力の測定値に基づいて、予測または見込む、プロセス出力の予測される将来の値にも基づいて、制御を実装することができる。したがって、モデルベースコントローラは、従来のコントローラでは不可能な様式で潜在的な将来のイベントを考慮することができ、(例えば、単一の操作変数またはプロセス出力における変更が、他の複数のプロセス出力の値(複数可)に影響を与える場合)重要な多変数相互作用を有する複雑なプロセスを制御するのに特に効果的であり得る。
モデルベースコントローラが多くの所望の性能特性を提供する一方で、プロセス制御業界は、モデルベース制御技術を完全に採用することに遅れをとってきた。この限定的な採用は、モデルベースコントローラが、プロセスの効果的な制御を実施するために正確なプロセスモデルを典型的に必要とするという事実に、少なくとも部分的に起因する可能性がある。残念ながら、プロセスの特性は、多くの場合、経時的に変化する。モデルベースコントローラが変更されたプロセスに対して古いプロセスモデルを使用し続ける場合、モデルベースコントローラの性能は、プロセスモデルの不一致(すなわち、プロセスモデルの特性は、モデル化されているプロセスの特性と一致しない)が原因で急速に低下する可能性がある。この性能の低下を回避するために、プロセスモデルの不一致は、概して補正される必要がある。
典型的に、モデルベースコントローラは、モデル同定または生成手順中に新規のプロセスモデルを生成することにより、プロセスモデルの不一致を補正し、その結果、新規のプロセスモデルが、プロセスの現在の特性と一致する。残念ながら、モデルの生成は、プロセスの通常の制御の中断を伴うことが多いため、モデルの生成には、問題が生じる可能性がある。上記のように、モデルベースコントローラによって使用されるプロセスモデルは、概して、制御されているプロセスの入力と出力との間の動的な関係を表す。従来、これらの動的な関係は、(i)1つ以上の操作変数を変更することによってプロセスに既知の外乱または混乱を導入すること、および(ii)操作変数に対する変更にプロセスがどのように反応するかを観察することを伴う、モデル生成手順中に捕捉される。プロセスが操作変数の変更に対する応答を終了し、定常状態に達すると、コントローラは、操作変数の変更と観察されたプロセス応答との間の関係に基づいて、プロセスモデルを生成することができる。次いで、コントローラは、新規の(およびおそらくより正確な)プロセスモデルを利用して、通常の制御を再開することができる。
残念ながら、モデルの生成には、プロセスの通常の制御を中断して、前述の既知の外乱の導入に関与することが多く、問題が生じる可能性がある。特に、通常の制御の中断は、典型的に、プロセスの動作に悪影響を及ぼし、材料または時間の浪費をもたらし得る。場合によっては、モデルの生成に非常に時間がかかり、この悪影響が増幅される可能性がある。例えば、モデルの生成は、プロセス変数が設定点または最終的な休止値に到達するまでに、数分、数時間、さらには数日かかり得るような、特定の遅いプロセスでは非常に長い時間がかかり得る。さらに、モデルベースコントローラは、機器の故障または劣化、大気の変化、原材料の変化などに起因して、プロセスの特性が経時的に変化することが多いため、頻繁なモデルの再生が必要になり得る。要するに、プロセス制御業界は、モデル生成プロセス(通常の動作の中断、外乱の導入、プロセスが定常状態に達するまでのプロセス応答の観察、および遵守に基づくモデルの生成を従来含む)には長い時間がかかる場合があり、その結果、通常の動作目標に支障をきたし得るので、モデルベース制御を完全に採用することに遅れをとってきた。
いずれにせよ、プロセスモデルの不一致に関する問題は別としても、限られた時間枠の中で精密かつ正確な予測を展開することは困難であり得るため、モデルベースコントローラは、限定的な採用となっている。一般的に言えば、プロセスコントローラは、極めて一定の間隔(例えば、数秒ごとから数分ごと)で、コントローラ出力をフィールドデバイスに送信するように構成される。理想的には、モデルベースコントローラは、将来に向けていくつかの間隔を通して正確な予測を展開する。しかし、所与の時間間隔内でこれらの正確で精密な予測を展開することは、(特に、複数の相互作用する入力および出力を含む複雑なプロセスの場合)困難であり得るという事実に起因して、モデルベース制御を実装することで別様に得られ得る利点が、減少または無効となる。その結果、プロセスプラントは、多くの場合モデルベース制御技術ではなく、従来の制御技術に依存する。
この背景説明は、以下の詳細な説明への理解および認識を容易にする文脈を提供することに留意されたい。この背景技術のセクションに記載されている範囲での現在名前が挙げられている発明者らの研究、(ならびに別の方法で出願時に先行技術とみなされていない場合がある背景技術の記載の態様)は、明示的にも黙示的にも本開示に対する先行技術とは認められない。
開示されたシステムおよび技術は、コントローラが(i)制約された解モードおよび(ii)制約されていない解モードの両方で動作することが可能なモデルベースコントローラのデュアル動作モードを可能にする。デュアル動作モードは、可能な場合は制約された解モード動作を使用でき(制約された解モードでは優れた制御が可能になることが多い)、制約された解モードが不可能な場合(例えば、利用可能な時間で制約された解を展開することが不可能なとき)は制約されていない解モードの使用を可能とするため、制御を改善する。これにより、典型的なモデル予測制御(MPC)コントローラと比較した場合、優れた制御が可能になる。
一実施形態では、(A)1つ以上のフィールドデバイスに結合されたプロセスコントローラを介して、(i)1つ以上のフィールドデバイスを介して、プロセスコントローラによって調節可能な操作変数(MV)のセット、および(ii)各々がMVのセットにおける1つ以上のMVに依存する制御変数(CV)のセットを含む、プロセス変数(PV)のセットによって表されるプロセスのモデルベース制御を実装することと、(B)CVの測定値の現在のセットを得るために、スキャン期間の開始時にプロセスコントローラによってスキャンを開始することと、(C)スキャン期間が終了する前に、プロセスモデルおよびPVのための制約のセットに従って、MVのセットに対してプロセスコントローラによって実装される現在の移動計画を選択することを含む、デュアル動作モードを実装することと、(D)値のセットを有するコントローラ出力のセットを送信すること、フィールドデバイスに伝えて、フィールドデバイスにMVのセットを値のセットに駆動させることにより、MVのセットを現在の移動計画内に含まれている値のセットに設定することによって、スキャン期間の終了前にプロセスの制御を実装することと、のうちのいずれか1つ以上を含む。デュアル動作モードを実装することは、(i)CVのセットの測定値の現在のセットをプロセスモデルのためのモデル入力として使用して、(a)制約のセットによって制限されていない一連の非制限移動計画を含む、制約されていない解、および(b)制約のセットのいずれかに違反することを回避する、一連の制限移動計画を含む、制約された解の両方の生成を開始することを含み得る。デュアル動作モードを実装することは、(ii)スキャン期間が終了する前に制約された解が生成されるとき、現在の移動計画として、制約された解の一連の制限移動計画から第1の移動計画を選択すること、および(iii)スキャン期間が終了する前に制約された解が生成されないとき、現在の移動計画として、制約されていない解の一連の非制限移動計画から第1の移動計画を選択すること、をさらに含み得る。
一実施形態では、本方法は、(A)プロセス制御環境において1つ以上のフィールドデバイスを制御するように構成されたデュアルモードモデルベースプロセスコントローラを実装することと、(B)プロセス変数(PV)のセットに対する現在の値のセットを得るために、モデルベースコントローラによるスキャンを開始することであって、現在の値のセットが制御されたプロセスの現在の状態を表し、プロセス変数が複数の制御変数(CV)および複数の操作変数(MV)を含む、開始することと、(C)一連の移動計画の各々における各MVに対する値が、制約のセットによって制限されていないように、一連の移動計画のいずれかがPVのための制約のセットのうちのいずれかに違反するかどうかに関わらず、所定の目的を達成するために、複数のMVに対する一連の移動計画を、プロセスモデルを使用して、生成することによって、プロセスモデルを利用する最適化問題に対する制約されていない解を生成することと、(D)プロセスモデルを利用して、最適化問題に対する制約された解の生成を開始することと、のうちのいずれか1つ以上を含む。
制約された解の生成を開始することは、(a)制約の初回の違反を識別し、第1のMVが初回の違反をもたらしたことを判定し、(b)初回の違反の前にスケジュールされた移動計画内に含まれる第1のMVに対する1つ以上の値に基づいて、第1のMVに対する許容範囲を計算するために、(i)制約されていない解を候補解として記憶することと、(ii)候補解を分析することにより、複数のMVから第1のMVを制限することと、のうちのいずれか1つ以上を含み得る。制約された解を生成することは、(iii)各修正された候補解が、以前に制限されたMVを計算された許容範囲内に維持し、各連続する修正された候補解が、以前の修正された候補解よりも1つ少ない非制限MVを含むように、各残りのMVに対して修正された一連の移動計画を含む、修正された候補解を繰り返し生成することにより、残りのMVを複数のMVから制限することであって、残りのMVは、残りのMVのどれが各修正された候補解に対する制約を最初に違反するかに基づいた順序で制限される、制限することと、(iv)複数のMVの各々が、最後に修正された候補解が制約のセットのいずれにも違反しない最終的な一連の移動計画を含むように制限された後、最後に修正された候補解を制約された解として記憶することによって、制約された解を確定させることと、をさらに含み得る。本方法は、(E)制約された解が確定される前にスキャン期間が満了したとき、(i)制約されていない解に対する第1の移動計画において、制約のセットのいずれにも違反しない制限された第1の移動計画を達成するために、制約のセットのいずれかに違反するいずれかの値を修正すること、および(ii)制限された第1の移動計画に従って、1つ以上のフィールドデバイスを制御するために、コントローラ出力のセットに対する制約されていない解の制限された第1の移動計画を利用することと、(F)スキャン期間が満了する前に制約された解が確定されたとき、制限された第1の移動計画に従って、1つ以上のフィールドデバイスを制御するために、コントローラ出力のセットに対して制約された解の第1の移動計画を利用することと、のうちのいずれか1つ以上をさらに含み得る。
この概要が発明を実施するための形態において以下にさらに説明される一連の概念を紹介するために提供されていることに留意されたい。発明を実施するための形態で説明されるように、特定の実施形態は、この概要に説明されていない特徴および利点を含み得、特定の実施形態は、この概要に説明される1つ以上の特徴または利点を省略し得る。
以下に説明される図の各々は、実施形態による、開示されたシステム(複数可)または方法(複数可)のうちの1つ以上の態様を示す。発明を実施するための形態は、以下の図に含まれる参照番号を参照する。
プロセスを制御するために実装され得るデュアルモードモデルベース制御(DMMC)ブロックを有するコントローラを含む、プロセス制御システムのブロック図である。 図1に示されるDMMCブロックによって提供されるデュアルモードモデル制御と関連付けられた予測制御または対応する利点のいずれも有効にしない例示的なPID制御ルーチンを示す。 図1に示されるコントローラによって実装され得る例示的なモデルベース制御動作を図示するグラフであり、図2に示され制御ループと関連づけられるものなどの従来のフィードバック制御技術に比べて多くの利点を提供する。 図1にも示されるデュアルモードモデルベース制御ループの例示的な概略図である。 デュアルモードモデルベース制御を実装する例示的な方法を示す。 制約されていない解を実装するための例示的な方法を示す。 制約された解を実装するための例示的な方法を示す。
開示されたシステムおよび技術は、コントローラが(i)制約された解モードおよび(ii)制約されていない解モードの両方で動作することが可能なモデルベースコントローラのデュアル動作モードを可能にする。デュアル動作モードは、可能な場合は制約された解モード動作を使用でき(制約された解モードでは優れた制御が可能になることが多い)、制約された解モードが不可能な場合(例えば、利用可能な時間で制約された解を展開することが不可能なとき)は制約されていない解モードの使用を可能とするため、制御を改善する。これにより、典型的なモデル予測制御(MPC)コントローラと比較した場合、優れた制御が可能になる。
例示的なプロセス制御環境
図1に例示されるようなプロセス制御システム10は、プロセスを制御するために、本明細書に記載のデュアルモデルモデルベース制御方法を実装するために使用され得る。制御されたプロセスは、任意の好適なプロセスであり得、プロセスの状態を特徴付ける1つ以上の「プロセス出力」(例えば、タンクレベル、流量、材料温度など)、および1つ以上の「プロセス入力」(例えば、様々な環境条件およびアクチュエータの状態、プロセス出力を変化させ得る操作)を有すると言うことができる。
本実施例では、プロセス制御システム10は、データヒストリアン12、および各々が表示画面14を有する、1つ以上のホストワークステーションまたはコンピュータ13(パーソナルコンピュータ、ワークステーションなどの任意のタイプのものであってもよい)に接続されたプロセスコントローラ11を含む。コントローラ11はまた、入出力(I/O)カード26および28を介してフィールドデバイス15〜22に接続される。データヒストリアン12は、データを記憶するための任意の所望のタイプのメモリ、および任意の所望のもしくは既知のソフトウェア、ハードウェア、またはファームウェアを有する、任意の所望のタイプのデータ収集ユニットであってよい。図1において、コントローラ11は、ハードワイヤード通信ネットワークおよび通信スキームを使用して、フィールドデバイス15〜22に通信可能に接続される。
概して、フィールドデバイス15〜22は、センサ、バルブ、送信機、ポジショナなどの任意のタイプのデバイスであってもよく、一方で、I/Oカード26および28は、任意の所望の通信またはコントローラプロトコルに適合する任意のタイプのI/Oデバイスであってもよい。コントローラ11は、メモリ24に記憶される1つ以上のプロセス制御ルーチン(または任意のモジュール、ブロック、もしくはそのサブルーチン)を実施または監督する、プロセッサ23を含む。一般的に言えば、コントローラ11は、任意の所望の様式でプロセスを制御するために、デバイス15〜22、ホストコンピュータ13、およびデータヒストリアン12と通信する。さらに、コントローラ11は、一般的に機能ブロックと呼ばれるものを使用して制御ストラテジまたはスキームを実施し、各機能ブロックは、(リンクと呼ばれる通信を介して)他の機能ブロックと共に動作して、プロセス制御システム10内でプロセス制御ループを実施する、全体的な制御ルーチンのオブジェクトまたは他の部分(例えば、サブルーチン)である。機能ブロックは、典型的に、送信機、センサ、または他のプロセスパラメータ測定デバイスに関連付けられるような入力機能、PID、MPC、ファジー論理などを実行する制御ルーチンに関連付けられるような制御機能、制御技術、またはバルブなどのいくつかのデバイスの動作を制御し、プロセス制御システム10内のいくつかの物理的機能を実行させる出力機能のうちの1つを実行する。もちろん、ハイブリッドおよび他のタイプの機能ブロックが存在し、本明細書において利用されてよい。機能ブロックは、以下に記載されるように、コントローラ11または他のデバイスに記憶および実行され得る。
シングルループ制御ループ32および34の例
図1の拡大されたブロック30によって示されるように、コントローラ11は、制御ルーチン32および34として示される、いくつかの単一ループ制御ルーチンを含み得、また、所望であれば、制御ループ36として示される、1つ以上の高度制御ループを実装してもよい。このような各制御ループは、典型的に、制御モジュールと呼ばれる。単一ループ制御ルーチン32および34は、バルブなどのプロセス制御デバイス、温度および圧力送信機などの測定デバイス、またはプロセス制御システム10内の任意の他のデバイスに関連付けられ得る、適切なアナログ入力(AI)およびアナログ出力(AO)機能ブロックにそれぞれ接続される単一入力/単一出力ファジー論理制御ブロックおよび単一入力/単一出力PID制御ブロックを使用して、単一ループ制御を実行するように示されている。
高度制御ループ36およびデュアルモードモデル制御の一例
高度制御ループ36は、1つ以上のAI機能ブロックに通信可能に接続された入力、および1つ以上のAO機能ブロックに通信可能に接続された出力を有する、デュアルモードモデルベース制御(DMMC)ブロックまたはルーチン38を含むように示されているが、DMMCブロック38の入力および出力は、他のタイプの入力を受信し、かつ他のタイプの制御出力(例えば、DIブロック、DOブロックなど)を提供するために、任意の他の所望される機能ブロックまたは制御要素に接続されてもよい。
DMMCブロック38は、本明細書に記載のデュアルモードモデルベース制御技術を実装することができる。より一般的には、DMMCブロック38は、任意のタイプの多入力、多出力制御スキームを実装することができ、および/またはプロセスモデルベース制御ルーチンを実装することができ、このため、モデル予測制御(MPC)ブロック、ニューラルネットワークモデリングまたは制御ブロック、多変数ファジー論理制御ブロック、リアルタイムオプティマイザブロックなどを構成する、または含むことができる。
DMMCブロック38を含む、図1に示される機能ブロックは、スタンドアロンコントローラ11によって実行され得るか、または代替的に、ワークステーション13のうちの1つもしくはフィールドデバイス19〜22のうちの1つなど、他の任意の処理デバイスもしくはプロセス制御システム10の制御要素内に位置し、それによって実行され得ることが理解されよう。一例として、フィールドデバイス21および22は、それぞれ、送信機およびバルブであってよく、また、制御ルーチンを実施するための制御要素を実行することができ、よって、1つ以上の機能ブロックなどの、制御ルーチンの一部を実行するための処理構成要素および他の構成要素を含んでよい。より具体的には、図1に図示されるように、フィールドデバイス21は、アナログ入力ブロックと関連付けられた論理およびデータを記憶するためのメモリ39Aを有し得、一方で、フィールドデバイス22は、アナログ出力(AO)ブロックと通信しているPID、MPC、または他の制御ブロックと関連付けられた論理およびデータを記憶するためのメモリ39Bを有するアクチュエータを含み得る。
述べたように、コントローラ11は、DMMCブロック38を実装して、デュアルモードモデルベース制御を実装することができる。デュアルモードコントローラ11(単に「コントローラ11」と呼ばれることもある)によって制御されるプロセスは、プロセス変数またはPVのセットによって特徴付けられ得る。PVは、(i)コントローラ出力を介して、コントローラ11によって操作される操作変数またはMV(例えば、バルブ位置)、(ii)MVを調節することによって間接的に制御される制御変数またはCV(例えば、冷水入口バルブ用のバルブ位置を調節することによって制御される水タンク温度)、(iii)CVもしくはMVの変更によって間接的に影響を受け得る補助変数またはAV(例えば、水タンクレベル)、および(iv)外乱変数またはDV(例えば、部屋の周囲温度が水タンクの温度にわずかに影響を与え得る)を含み得る。一般的に言えば、モデルベース制御を(制約された解モードまたは制約されていない解モードにおいて)実装するとき、コントローラ11は、すべてのCV測定値を使用して、すべてのMVを同時に計算する。
一実施形態では、コントローラ11は、スキャン期間k(例えば、1分)に従って動作する。瞬間kごとに(例えば、毎分)、コントローラ11は、測定されたPV(例えば、CVおよび/またはAV)を伝えるコントローラ入力を受信する。現在の測定値に基づき、コントローラは、プロセスモデルに依拠して、PVの将来の値を予測し、MVに対する「移動計画」を展開し、CVおよび/またはAVを所望の値に駆動するのを助ける。スキャン期間の終わりに、コントローラ11は、移動計画内のMV値を、制御信号またはコントローラ出力を介して、フィールドデバイス(例えば、バルブアクチュエータ)に送信する。次いで、コントローラ11は、再度測定されたPVを受信し、プロセスを繰り返す。
本明細書に記載されるように、「移動計画」は、各スキャン期間の終わりに実装される、コントローラ11によって制御されるMVのセットに対する値のセットを指す。制約された解モードまたは制約されていない解モードであるかどうかにかかわらず、コントローラ11は、各スキャン期間中に、将来に及ぶ一連の移動計画を計算することができる。一般的に言えば、「制限移動計画」は、いずれの即時の制約違反ももたらさないMVのセットを含む(すなわち、MV値は、いずれのMV制約にも違反せず、対応するCVまたはAVの予測応答は、即座に制約を違反しない)。一方、「非制限移動計画」は、制約を考慮せずに生成されているため、MV制約に違反するか、または(例えば、CVやAVなどの)制約違反をもたらすMV値を含む場合がある。コントローラ11は、典型的に、最適解の計算の一部としてスキャンごとに一連の移動計画を再計算するため、第1の移動計画の後の将来の移動計画は、典型的に、実装されないことに留意されたい。
「最適化」は、「目的関数」に対する「解」を展開することによって生じる。一般的に言えば、「目的関数」は、任意の有用なメトリック(例えば、多くの場合利益)を判定するために解くことができる式である。目的関数の例としては、「利益=24x+20y」という式であってもよく、式中xは、第1のタイプのウィジェットであり、yは、第2のタイプのウィジェットである。最適解は、目的関数の性質に応じて(前の例では、目標は、利益を最大化することである)、目的関数を最小化または最大化することによって見出され得る。最適解を識別することは、多数の候補解を評価することを伴う。
本明細書に記載されるように、最適化問題または目的関数に対する「解」は、最適化アルゴリズムまたはルーチンによって展開された解を指し、これは、コントローラ11またはコントローラ11と通信するコンピューティングデバイスによって実装され得る。「解」は、コントローラ11の制御または予測範囲の端部において、プロセスの定常状態動作点におけるPVのセットに対する目標値のセット、ならびにプロセスの現在の状態と範囲の端部との間のコントローラスキャンまたはコントローラ間隔ごとのPVに対する(例えば、MV、CV、およびAVに対する)値のセットとして特徴付けられ得る。「予測範囲」は、オプティマイザによって評価される将来へのスキャンの数を表し、一方で「制御範囲」は、MV値が出力されると予測される将来へのスキャンの数を表し、つまり、制御範囲は、評価されるMVに対する想定される「移動計画」の数を表す。
一例として、予測範囲が10であり、制御範囲が5の場合、解には、PVに対する10セットの目標値(次の5つのスキャンで実装される5つの移動計画を含み、各移動計画は、MVに対する値のセットを含む)が含まれ得る。いずれにせよ、コントローラ11は、「制約されていない解」と「制約された解」のいずれかまたは両方を、時には同時に展開する場合がある。
制約されていない解の最適化中に、コントローラ11は、制約されていない解に含まれる第1の移動計画に基づいて、コントローラ出力(フィールドデバイスにMV値を伝える)を生成する。コントローラ11は、以下(i)生成時にプロセスをモデル化するために生成された、予め生成されたプロセスモデル(典型的にオフラインで生成される)、(ii)現在のプロセス変数値、および(iii)1つ以上の制御目的を、オプティマイザに供給することによって、制約されていない解を展開することができる。オプティマイザは、プロセス変数のための定常状態値、ならびにコントローラ11によって実装される多くの「移動」の各々におけるプロセス変数のための目標値に到達するための目的関数に対して解を識別する。次いで、コントローラ11は、解から第1の「移動計画」(操作変数に対する所望の値のセットを含む)を識別し、値のいずれかが制約に違反するか、または(例えば、CVまたはAVの)制約の違反をもたらすことになる場合、第1の移動計画における所望の値のセットを「制限する」。次いで、コントローラ11は、プロセスの制御を実装するために、第1の移動計画の「制限された」値を伝えるコントローラ出力信号をフィールドデバイスに送信することができる。
比較すると、制約された解の最適化は、条件が適切な場合に優れた制御を提供することができる。制約された解の最適化中、コントローラ11は、(i)可能な場合にリアルタイムでプロセスモデルを展開することと、(ii)オプティマイザに以下、(a)現在のプロセス変数値を有する現在のプロセスモデル、(b)制御目的、および(c)全てのプロセス変数(例えば、すべてのCV、AV、MV、およびDV)の制約、を供給することと、によってコントローラ出力を生成する。オプティマイザは、制約されていない解を最初に計算することによって、制約された解(例えば、各スキャン期間中の目標CV、AV、およびMVを含む)を展開する。次いで、オプティマイザは、一連の移動計画内で時間内に制約されるような第1のMVを識別する(すなわち、最初期のMV制約違反を見出す)。次いで、このMVの移動計画の許容可能な部分が、問題に課される。次に、コントローラ11は、残りのMVを使用して制約されていない解を再計算し、すべてのMVが制約されるか、または制約されていない解が制約に違反しなくなるまで、プロセスが繰り返される。この反復手順を使用して、制約違反を引き起こさないコントローラ出力のセットが、識別される。このプロセスは、特に制約されていない解モードと比較して、計算集約的であり、その間、コントローラ11は、比較的短いオンライン実行時間を必要とする比較的単純な解を計算する。
制約された解の最適化は、少なくとも2つの有利な機能を有する。第1に、制御マトリックスまたはモデルは、各制御サイクルでオンラインで生成され得る。すべての従属変数(例えば、CVおよびAV)は、移動計算内の動的マトリックスに含まれる。各従属変数に関するエラーペナルティ(PE)は、各制御サイクルで調節される。CVが限界から遠い場合、そのPEをゼロに設定して、動的制御の問題から効果的に取り除くことができる。逆に、CVが限界に近い場合、PEの全値が、使用されてもよい。これにより、各制御サイクルでの動的移動計算は、限界に近いCVのみが含まれ得、限界から遠いCVは除外される場合がある。
第2の利点は、将来の移動計画へのMV制約の実施である。これは、コントローラ11が実装することができない移動を計画することを防止する。述べたように、一般的なアプローチは、まず制約のないMV解を計算することである。第2の工程は、時間内に制約されるような第1のMVを見出す(最初期のMV制約違反を見出す)ことである。次いで、このMVの移動計画の許容可能な部分が、問題に課される。次に、残りのMVを使用する制約されていない解が計算され、すべてのMVが制約されるか、または制約されていない解がいずれの制約にも違反しなくなるまで、このプロセスが繰り返される。
デュアルモードコントローラ11は、2つのモードで同時に動作することができる。第1に、制約された解は、予測または制御範囲の端部までの完全な一連の移動計画を有して得られてもよく、すべての関連するPVは、一連の移動計画全体を通して制約される。制約された解中の第1の移動計画におけるMV値は、コントローラ出力に利用され得る。第2に、制約されていない解が得られ得、コントローラ11は、制約に違反することを回避するために、必要に応じて第1の移動計画内のMV値を修正することができる。
一般的に言えば、コントローラ11の「出力セレクタ」は、制御スキャンの終了時に、制約された解または制約されていない解のいずれかから第1のMV移動計画を選択することができる。第1の優先事項は、概して、制約された解である。しかし、制約された解がコントローラスキャンの終了までに終了または確定されていない場合、コントローラ11は、制約されていない解の第1の移動計画を使用し、いずれの制約にも違反することを回避するために、必要に応じて制約のない第1の移動計画を調節する。
本明細書で記載される技術は、「デュアルモード」と呼ばれるが、コントローラ11は、「トリプルモード」制御を実装することも考えられ得ることが認識されることに留意されたい。つまり、コントローラ11は、3つの別個の第1の移動計画からコントローラ出力MV値を判定することができる。第1に、コントローラスキャンの終了時において、コントローラ11は、利用可能であれば、制約された解の第1の移動計画からMV値を選択することができる。第2に、制約された解がまだ準備ができていない場合、コントローラ11は、制約されていない解から第1の移動計画を選択することができる。第3に、制約されていない解もまた利用できない場合、コントローラ11は、事前に生成されたコントローラマトリックスから計算されたコントローラ出力のMV値を選択することができる。
PID制御ループの一例
図2は、コントローラ11によって実装されたときに、DMMCブロック38によって提供されるデュアルモードモデル制御と関連付けられた予測制御または任意の対応する利点を有効にしない例示的なPID制御ルーチン200を示す。
本明細書で使用される際、「予測制御」は、プロセス制御の技術を指し、(例えば、フィールドデバイスに送信される制御信号を介して)コントローラによって出力される1つ以上のMVに関する値が、1つ以上のPVに対して予測される将来の値(例えば、MVに応答する1つ以上のCV)を説明する。述べたように、ルーチン200は、予測制御を可能としない。
制御ループ200は、図1に示される制御ループ32および34と同様であり得る。特に、制御ルーチン/ループ200は、予測制御またはモデルベース制御に依拠しない。DMMCブロック38は予測制御に依拠するため、制御ルーチン200に対してより精密かつ改善された性能を提供することができる。
大まかに言えば、制御ルーチン200は、制御変数(CV)(例えば、水タンクレベル)を特定の設定点に駆動するように試みることによってプロセス201を制御する。制御ルーチン200は、CVに関する設定点(SP)または所望の値212を受信し、CVの実際値214を測定し、SPと測定されたCV値との間の誤差または差216を計算し、次いで(例えば、比例係数218、積分係数220、微分係数222、またはそれらの何らかの組み合わせの合計224に基づいて、)CVが応答する(例えば、タンクへの入口バルブ位置)、コマンドまたはコントローラ出力(例えば、操作変数(MV)226)を計算する。コントローラは、値226(例えば、アクチュエータ位置)を、AOブロック208を介して、適切なMV(例えば、アクチュエータ)に送信して、CV232(例えば、温度、レベル、または流変数)をSP値212に駆動することができる。示されるように、プロセス201内のCV232は、ループ200の直接制御の外側の1つ以上のパラメータによって影響を受ける場合がある。これらのパラメータは、外乱変数(DV)236と呼ばれ得る。
示されるように、制御ルーチン200は、4つのブロック、アナログ入力(AI)ブロック202、AIブロック204、制御ブロック206、およびAOブロック208を含む。実装に応じて、AIブロック202および204は、ルーチン200を実装するコントローラまたはコントローラに結合されたI/Oカードによって、I/Oチャネルを介して(例えば、フィールドデバイスから)受信されるアナログ信号を表し得る。例えば、AIブロック204は、第1のI/Oカードにおいて、特定のAI I/Oチャネルを識別する第1のデバイス信号タグ(DST)に制限され得、AIブロック204によって提供される値は、特定のAI I/Oチャネル上の信号(例えば、測定された流量を表す流量送信機フィールドデバイスによって提供される4〜20maの信号)の値によって結果的に駆動され得る。同様に、AOブロック208は、ルーチン200を実装するコントローラまたはコントローラに結合されたI/Oカードによって、I/Oチャネルを介して(例えば、フィールドデバイスに)送信されるアナログ信号を表してもよい。例示するために、AOブロック208は、第2のIOカードにおいて特定のAO I/Oチャネルを識別する第2のDSTに制限され得る。このため、AOブロック208に供給される値は、第2のI/Oカードに、AOブロック208で受信された値に基づいて、特定のAO I/Oチャネルに信号を駆動させ得る(例えば、値は、第2のI/Oカードに、AO I/Oチャネルを介して4〜20maの信号をバルブフィールドデバイスへと駆動させて、バルブの位置を制御し得る)。
図1に示されるDMMCブロック38は、1つ以上の入力ブロック(例えば、AIまたはDIブロック)からの入力を同様に受信してもよく、これは、ブロックに制限され、コントローラ11をフィールドデバイスに結合するI/Oチャネルを介して、コントローラ11によって受信された信号によって伝えられた値をDMMCブロック38に提供し得る。場合によっては、入力ブロックは、ユーザが、DMMCブロック38およびコントローラ11に入力として提供することができる値(例えば、特定のCVのためのSP)を入力することを可能にする「手動」ブロックであってもよい。
さらに、DMMCブロック38およびコントローラ11は、1つ以上の出力ブロック(例えば、AOまたはDOブロック)に出力値を提供することができ、これによりコントローラ11は、ブロックに制限されたI/Oチャネルを介して出力値を伝える出力信号を、フィールドデバイスに送信することができる。
モデル制御グラフおよび制御ループの一例
図3は、コントローラ11によって実装され得る例示的なモデルベース制御動作を図示するグラフ300であり、図2に示される制御ループ200と関連づけられるものなどの従来のフィードバック制御技術に比べて多くの利点を提供する。図4は、一実施形態による、デュアルモードモデルベース制御ループ36の例示的な概略図400である。
例示的なモデルベース制御動作を図示するグラフ300
図3に示されるように、モデルベースコントローラを実装する場合、コントローラ11は、時間インスタンスごとまたはスキャン時間kにおいてコントローラスキャンを実装する。スキャンとスキャンとの間の時間は、「スキャン期間」、「スキャン時間」、または「制御間隔」と呼ばれ得る。スキャン時間は、ユーザによって調節可能であってもよく、制御されたプロセスの要求に応じて任意の好適な値であってもよい。例えば、スキャン時間は、0.01秒、0.1秒、1秒、10秒、1分、10分、1時間、10時間、またはこの範囲内の任意の好適な値であり得る。
DMMCブロック38によって実装される「予測範囲」Pは、DMMCブロック38が評価する将来への工程またはスキャンの数を表す。DMMCブロック38によって実装される「制御範囲」Mは、制御間隔ごとに最適化される移動計画(すなわち、制御されたMVに対する移動のセット)の数を表す。そのため、P=10およびM=2の場合、DMMCブロック38は、次の10回のスキャンに対する関連するCVの応答に関する予測(および評価)に基づいて、2つのMV移動計画を最適化する。予測範囲および制御範囲の各々は、ユーザによって手動で設定されるか、または調節されてもよい。
示される例では、各スキャンkで、コントローラ11は、MVに対する値uを出力し、MVの影響を受け、かつSPまたは目標が存在するCVに対する値yを測定する。場合によっては、複数のMVおよびCVが、制御および評価されてもよい。
例示するために、12のMVが存在し、10のCVが存在し、10の予測範囲が存在し、4つの制御範囲が存在する例を想像されたい。各スキャンにおいて、DMMCブロック38はオプティマイザに依拠して、目標CVのセット、およびこれらの目標CVに到達するためのMVのセットを含む、(例えば、最適な動作点を表す)目的関数403を最もよく満たす定常状態プロセス変数のセットを判定し、所望の定常状態値に到達するために、(予測および制御範囲と一致する)一連の移動計画にわたって実装する。
より具体的には(そして同じ実施例において)、DMMCブロック38は、理論的には、次の4回のスキャンにわたって実装される4つの移動計画を展開し得る(以下で説明するように、一連の移動計画はスキャンごとに再計算されるため、典型的に、第1の移動計画のみが実装される。)各移動計画は、MVに対して12個の値(例えば、u1〜u12)を含む。DMMCブロック38は、各移動計画をプロセスモデル105に供給して、PV(例えば、CVおよび/またはAV)が各移動計画にどのように応答するかを予測する。4つの移動計画の影響は、(予測範囲が10であるため)次の10回のスキャンに対して評価することができる。
DMMCブロック36のブロック図400の一例
図4は、一実施形態による、DMMCブロック38を含む、高度制御ループ36の一例を概略的に例示する。実施形態に応じて、DMMCブロック38は、追加のまたは代替的な入力または出力を有し得る。
示されるように、DMMCブロック38は、これらのCVに対して行われ、かつDMMCブロック38に戻される測定値に基づいて、プロセス104の複数のCVを同時に制御するためのMPCルーチンとして実装される。一実施形態では、DMMCブロック38を使用して、動的マトリックス制御(DMC)制御技術を実装することができる。DMMCブロック38の制御ルーチン116は、オプティマイザ401と相互作用して、変数目標および値を識別し得、オプティマイザ401は、次に、目的関数403に対する最適(例えば、最大または最小)解を展開するように構成され得る。
図4に例示されるように、DMMCブロック38は、他の機能ブロック(図4に図示せず)に提供されるMVのセットに対する値を含む移動計画を生成し、次に、プロセス104のプロセス入力に接続される。DMMCブロック38は、任意の標準的なモデルベース予測制御ルーチンまたは手順を含むか、または実装することができ、その要件は必須ではないが、典型的に、出力と同じ数の入力を有する。DMMCブロック38は、入力として、N個のCV(定義された制約限界を有し得、定義された設定点を有し得る)およびAV(定義された制約限界のみを有し得る)のセットを受信する。CVおよびAVは、典型的に、プロセス104内で測定されるとき、値のベクトルを構成する。ベクトル値を有する線は、概して、そこを通るハッシュ線で図中に示される。
DMMCブロック38はまた、入力として、将来のある時点でプロセス104に提供される既知の、もしくは予想される変更または外乱であるDVのセット、ならびに、例えば、オプティマイザ401から提供される設定点(SP)として示される、設定された目標制御および補助変数、(CVT)および(AVT)を受信することができる。これらの目標は、制御または予測範囲の終了までに最適な定常状態のプラント動作点(例えば、定常状態のプロセス変数目標のセットによって表される)に到達するように設計された解の一部(例えば、一連の移動計画)を表し得る。
オプティマイザ401は、目的関数(OF)403に対する解を生成することによって最適化問題を解決する、任意の好適なオプティマイザ(例えば、線形計画法(LP)オプティマイザ、二次計画法オプティマイザなど)であり得る。
大まかに言えば、最適化問題は、オプティマイザアルゴリズム(例えば、401)が、目的関数の最適解(例えば、最大の利益をもたらす解、またはx値およびy値)を識別するために、目的関数(例えば、利益=24x+20y、x=第1のタイプのウィジェット、y=第2のタイプのウィジェット)を評価または解決することである。シナリオに応じて、オプティマイザ401は、制約されていない解(すなわち、制約を考慮しない解)または制約された解(すなわち、利用される全材料における限界、生産に費やされる合計時間における限界、特定のバルブ範囲における限界など、1つ以上の変数における制約を考慮する解)を展開し得る。1つ以上の変数の制約に違反する解は、「実行不可能な解」と呼ばれ得る。
一般的に言えば、目的関数403は、いくつかの制御変数、補助変数、および操作変数の各々と関連づけられたコストまたは利益を特定することができる。OF 403を解決するために、オプティマイザ401は、CVおよびAVの定常状態目標値に到達するための一連の移動計画にわたって、制御変数目標値(CVT)、補助変数目標値(AVT)、および操作変数目標値(MVT)を設定する。解に含まれる最終的な定常状態の目標値は、定常状態制御変数(CVSS)および定常状態補助変数(AVSS)と呼ばれ得、目的関数403を最大化または最小化する最適な動作点を表し得る。
一連のプロセス変数目標(例えば、MV、CV、またはAV)は、オプティマイザ401によって計算される「解」と呼ばれ得る。特定のスキャン期間に計算されたMVTの各セットは、「移動計画」と呼ばれ得る。別の言い方をすれば、解は、一連の移動計画(例えば、MVに対する目標値のセット)ならびに対応するCVTおよびAVTを含み得、各移動計画および対応するCVT/AVTのセットは、一連の制御スキャンのうちの異なるものに対応する。各スキャン時間において、プロセスは、予測値または目標値CVT、AVT、および/またはMVTによって表される動作点を有すると言うことができる。
移動計画は、一連のスキャンまたはコントローラ間隔にわたって実装されること(例えば、時間kにおける第1の移動計画、時間k+1における第2の移動計画など)を前提として生成または選択される。任意の所与の時間において、移動計画は、問題の時点におけるPV(例えば、CV、AV、および/またはMV)に対する値によって特徴付けることができる、「動作点」をもたらすと考えられ得る。動作点は、「定常状態」の動作点であり、ほとんどのPVは、所与の期間にわたって、あったとしてもごくわずかしか変化していない。1つ以上のPVが一定期間にわたって劇的に変化している場合、動作点は、「非定常状態」にある場合がある。
いずれにせよ、解(例えば、一連の移動計画の各々のMVT、CVT、およびAVT)は、制御アルゴリズム116に供給され得、次いで、実装する次の実際の移動計画を計算し得る。ルーチン116およびコントローラ11によって実装される次の実際の移動計画のMV値は、オプティマイザ401によって計算される次の移動計画のために受信されたMVTと同一または類似し得るが、差異が、時には存在し得る。例えば、オプティマイザ401からの第1の移動計画が、(例えば、CV、MV、またはAVの)制約違反をもたらす所与のMVに対するMVTを含む場合、ルーチン116は、所与のMVに対する値を調節し得、その結果、制約が違反しなくなる(これは、DMMCブロック38が制約されていない解を計算するときに生じ得る)。他方、オプティマイザ401が制約された解を計算するとき、典型的に、第1の移動計画(またはその点においていずれの後続の移動計画も)内のどのMVTも、制約違反をもたらすことはない。このため、ルーチン116およびコントローラ11によって実装される移動計画における値は、オプティマイザ401によって展開された第1の移動計画に対するMVTと一致することが多い。
目的関数403は、複数の潜在的な事前に記憶された目的関数から選択することができ、それらの各々は、プロセス104の最適な動作を定義する異なる方法を数学的に表すことができる。例えば、事前に記憶された目的関数のうちの1つは、プラントの利益を最大化するように構成され得、目的関数のうちの別の1つは、不足している特定の原材料の使用を最小限に抑えるように構成され得、一方で目的関数のうちのさらに1つは、プロセス104内で製造されている製品の品質を最大化するように構成されてもよい。一般的に言えば、利用される目的関数は、制御変数、補助変数、および操作変数の各移動と関連付けられたコストまたは利益を使用して、制御変数CVの設定点値または範囲、ならびに補助変数AVおよび操作変数MVの限界によって定義されるような許容可能な点のセット内の最適なプロセス動作点を判定する。もちろん、原材料の使用、収益性などのいくつかの懸念の各々をある程度最適化する目的関数を含む、本明細書に記載の目的関数の代わりに、またはそれに加えて、任意の所望の目的関数を使用することができる。
目的関数を選択するために、ユーザまたはオペレータは、オペレータまたはユーザ端末上で目的関数403を選択することによって、使用される目的関数403の指示を提供してもよい。もちろん、ユーザまたはオペレータは、プロセスの動作中に使用されている目的関数を変更することができる。所望であれば、ユーザが目的関数を提供または選択しない場合、デフォルトの目的関数を使用してもよい。
オプティマイザ401に戻ると、目的関数403に加えて、オプティマイザ401は、制御変数設定点のセット(プロセス104の制御変数CVに対してオペレータが指定する設定点であることが多く、オペレータまたは他のユーザによって変更されてもよい)ならびに各制御変数CVと関連付けられた範囲および重みまたは優先度を入力として受信することができる。オプティマイザ401は、加えてまたは代替的に、範囲または制約限界のセット、ならびにプロセス104を制御するために使用される補助変数AVに対する重みもしくは優先度のセット、または操作変数MVに対する限界のセットを受信してもよい。オプティマイザ401は、制約された解を展開するとき、これらの制約を考慮することができるが、制約されていない解を展開するときはそれらを無視してもよい。
一般的に言えば、補助変数および操作変数の範囲は、補助変数および操作変数の限界(典型的にプラントの物理的特性に基づく)を定義し、一方で制御変数の範囲は、制御変数がプロセスの十分な制御のために動作し得る範囲を提供する。制御変数および補助変数の重みは、最適化プロセス中の制御変数と補助変数の相互の相対的な重要性を特定し、状況によっては、すべての制約への違反を回避することが不可能なときに制約された解を展開することを試みる場合、オプティマイザ401が、半制約された解を生成できるように使用されてもよい。
任意の既知または標準のLPアルゴリズムまたは技術を使用して、オプティマイザ401は、一連の移動計画の各々に対して(例えば、制御範囲全体に対して)、(定常状態ゲインマトリックスから判定される)目標操作変数MVTのセットを判定するために反復し、このことは選択された目的関数403を最大化または最小化する。制約された解を展開しながら、オプティマイザ401は、目的関数403を最大化または最小化することができ、一方で制御変数CV設定点範囲限界、補助変数AV制約限界、および操作変数MV限界を満たす、またはその範囲内にあるプロセス動作を維持する。制約されていない解を展開するとき、オプティマイザ401は、これらの制約および限界を無視して、理論的な(かつ潜在的に実行不可能な)解を展開することができる。
例示的な動作では、オプティマイザ401は、操作変数値における最新の変更を判定し(すなわち、MVに対する現在の値を判定し)、予測された定常状態制御変数(CV)、補助変数(AV)、および操作変数(MV)を使用して、現在の動作から制御範囲を通してプロセス動作における変化を判定し(すわなち、制御範囲の値で特定された次の計画の数に対するMV移動計画を判定する)、つまり目標または最適なプロセス動作点に到達するプロセス中のルーチン116の動的動作を判定する。
制約された解を展開するとき、一般的に言えば、オプティマイザ401は、制御変数および補助変数の各々を限界まで強制することによって、目標操作変数値(MVT)を計算する。上記のように、多くの場合、各補助変数がそれぞれの制約限界内にとどまりながら、各CVが設定点にある(最初は制御変数の上限として扱われる場合がある)ところに解が存在する。この場合、オプティマイザ401は、目的関数に対してこの最適な結果を生成する、判定された操作変数目標MVTを出力しさえすればよい。
しかしながら、場合によっては、補助変数または操作変数の一部またはすべてに厳しい制約があるため、(例えば、各々が対応するCVTおよびAVTを有する、一連のMVT移動計画で表される)解を見つけることができない場合があり、かかる解が存在しないため、すべてのプロセス変数は、各スキャンにおいてすべての動作点でそれぞれの制約限界内にある。これらの場合、オプティマイザ401は、半制約解を計算することができる。例えば、上記のように、オプティマイザ401は、補助変数がそれぞれの限界内で動作する動作点を見出そうと試す中、CVがそれらの指定された設定点範囲内で緩和されることを可能にし得る。この場合に解が存在しない場合、オプティマイザは、解内の限界として補助変数制約限界のうちの1つを削除し、代わりに、削除された補助変数制約限界を無視する最適なプロセス動作点を判定する。ここで、オプティマイザ401は、(例えば、最低の重みまたは最高の優先度が最初に削除されて)制御変数および補助変数の各々に提供されるそれぞれの重みに基づいて、制約限界として削除する補助変数または制御変数を選択する。オプティマイザ401は、制御変数に対するすべての設定点範囲、および残りの優先度の高い補助変数の限界が満たされるMV解を見出すまで、提供された重みまたは優先度に基づいて、補助変数または制御変数を削除し続ける。
いずれにせよ、オプティマイザ401は、予測範囲または制御範囲の終了までに到達される目的関数403の解に基づいて、計算された最適目標のセット、または設定点、またはSP(例えば、CVSSおよびAVSS)をDMMCブロック38に供給し得る。DMMCブロック38は、モデル105/110に依拠して、SPに到達するために各工程で必要とされる目標CVおよびAV(すなわち、CVTおよびAVT)、ならびにCVTおよびAVTを得るために必要とされる目標MV(MVT)を計算し得る。言い換えれば、オプティマイザ401は、モデル(複数可)105/110を利用して、最適な定常状態の動作点に到達するためのCV、AV、およびMVに対する目標軌道を計算する。
DMMCブロック38は、SPを使用して、制御信号(例えば、コントローラ出力)の形態でM個の操作変数信号(MV)のセットを作成し、プロセス104のプロセス入力(例えば、バルブアクチュエータ)にMV信号を配信する。MV信号は、バルブアクチュエータ、バーナー、ポンプなどの動作の制御に関連するコントローラ出力もしくはプロセス入力、またはプロセス104の物理的動作に影響を与える任意の他のデバイスであり得る、制御信号である。
DMMCブロック38は、各コントローラスキャン中に上述のように動作するため(すなわち、完全な解および一連の移動計画が各スキャンで計算され得るため)、操作変数の目標値は、たとえSPは同じままであってもスキャンからスキャンで変化し得、その結果、DMMCブロック38は、特にノイズ、予期しない外乱、プロセス104の変化などの存在下で、将来のスキャンのために暫定的にスケジュールされたこれらの目標MVのセットのうちの任意の特定の1つに実際に一度も到達しない場合があるということに留意されたい。
典型的であるが、DMMCブロック38は、制御変数予測プロセスモデル105(「コントローラモデル」または「予測プロセスモデル」とも呼ばれる)を含み、これは、様々な異なるMPC制御技術のいずれかで使用される任意のタイプのモデルであり得る。例えば、モデル105は、N×M+Dの工程応答マトリックスであり得る(ここで、Nは、CVの数にAVの数を加えたものであり、Mは、MVの数であり、Dは、DVの数である)。モデル105は、一次、二次、三次などの予測または第1の原理モデル、状態空間モデル、畳み込みプロセスモデル、または任意の他のタイプのプロセスモデルであり得る。コントローラモデル105は、重要な基本的なモデリング作業を必要としない時系列分析技術を使用するプロセス混乱テストから判定され得るか、または1つ以上の線形モデルもしくは非線形モデルのセットを重ね合わせるものを含む任意の他の既知のプロセスモデリング技術を使用して判定されてもよい。
いずれにせよ、モデル105は、制御変数CVおよび補助変数AVの各々について以前に計算された予測を定義する出力107を生成することによって、モデルの不一致を考慮する。加算器108は、プロセス104内で感知または測定された、現在の時間における制御変数CVおよび補助変数AVの実際の測定値から現在の時間に対するこれらの予測値を差し引いて、誤差または補正ベクトル(また残差のセットとして既知である)を生成する。通常、予測誤差と呼ばれる残差のセットは、モデル105のバイアスまたはオフセット誤差を定義し、モデル105の予測を補正するために使用される。
動作中、プロセスモデル105は、MVおよびDV入力、ならびに残差を使用して、制御範囲にわたるCVおよび/またはAVの各々の将来の制御パラメータを予測し、線109上で(ベクトル形態の)CVおよび場合によってはAVの将来の予測値を提供する。オプティマイザ401は、各移動計画において、MVの潜在的な値を評価するときに、これらの予測に依拠してもよい。
さらに、プロセスモデル105および/またはオプティマイザ401は、上述の予測定常状態値CVSSおよびAVSSを生成することができる。このため、ブロック105は、予測範囲までの時間にわたって、各スキャンにおいて(例えば、各移動計画に基づいて)、CVおよびAVの各々に対して値の予測を行うことができる。
さらに、制御目標ブロック110は、例えば、ユーザまたは他の最適化アプリケーションによって提供されるN個の目標制御変数CVTおよび補助変数AVTの各々に対して、制御目標ベクトルまたは設定点ベクトルを判定する。制御目標ブロック110は、制御変数および補助変数が時間の経過とともにそれらの目標値に駆動される様式を定義する軌道フィルタを含み得る。制御目標ブロック110は、このフィルタ、ならびに設定点SPによって定義される目標変数CVTおよびAVTを使用して、制御範囲時間によって定義される期間にわたって、目標変数CVTおよびAVTの変化を定義する制御変数および補助変数の各々に対して動的制御目標ベクトルを生成する。
次いで、ベクトル加算器114は、ブロック110によって生成された動的制御ベクトルから、線109上のシミュレートされたまたは予測された制御変数CVおよび補助変数AVの各々に対する将来の制御パラメータベクトルを差し引いて、制御変数CVおよび補助変数AVの各々に対する将来の誤差ベクトルを定義する。次いで、制御変数CVおよび補助変数AVの各々に対する将来の誤差ベクトルが、制御アルゴリズム116に提供され、制御アルゴリズム116は、制御範囲にわたって(例えば、積分二乗誤差(ISE)または積分絶対誤差(IAE)を最小化する)目的関数403を最小化または最大化する操作変数MV工程を選択するように(オプティマイザ401と協働して)動作する。
いくつかの実施形態では、アルゴリズム116は、所望の場合、DMMCブロック38へのN個の制御変数および補助変数入力と、DMMCブロック38によって出力されるM個の操作変数との間の関係から展開されたN×M制御マトリックスを使用することができる。より具体的には、MPC制御アルゴリズム116は、2つの主要な目的を有し得る。第1に、制御アルゴリズム116は、(例えば、制約された解を展開するときに動作上の制約内で)最小のMV移動でCV制御誤差を最小限に抑えることを試みることができる。第2に、制御アルゴリズム401は、最適な定常状態のMV値(MVSS)および最適な定常状態のMV値から計算された目標CV値を得ることを試みることができる。
典型的なモデル予測コントローラに対する状態方程式は、次のように表され得る:
Figure 2021140771
Figure 2021140771
Figure 2021140771
式中、Q、R、Sは、それぞれ誤差、コントローラ移動、および増分移動に対するペナルティの重みであり、xkはモデル状態マトリックス、ykはプロセス出力、ukはコントローラ出力である。DMMCブロック38およびコントローラ38は、この状態方程式を実装することができる。Q、R、およびSのペナルティベクトルは本質的に分離されているため、MPCコントローラは、概して、(PIDコントローラなどの従来のコントローラとは異なり)設定点の追跡と外乱除去との間に性能のトレードオフを有さない。ただし、MPCコントローラは、依然として、特定の多変数プロセス制御の目的に合わせて調整する必要がある。プロセスモデルは、典型的に、MPCコントローラの内部構造(例えば、状態空間MPC定式化によるプロセス状態空間)と一致するが、追加の調整パラメータは、設定点の変更および外乱除去に関する動作を判定する。
いずれにせよ、図4内のDMMCブロック38の動作は、モデル105の各コントローラスキャンまたは実行動作中に新規のプロセス変数測定が利用可能であり、それが時間範囲にわたって新規の制御された変数予測のセットを生成すると仮定する。このコントローラの動作で、制御されたプロセス変数(CV)に対する新規のプロセス変数の測定値が新規のコントローラのスキャンごとに利用できないとき、制御を実行するための古いプロセス変数データをコントローラが使用することになる。
デュアルモードモデルベース制御を実装するための例示的な方法500
図5は、一実施形態による、デュアルモードモデルベース制御を実装するための例示的な方法500を示す。方法500は、全体的または部分的に、図1に示されるシステム10、より具体的には、図1および図4に示されるコントローラ11およびDMMCブロック38によって実装され得る。方法500は、(例えば、コントローラ11および/またはワークステーション13において)1つ以上の命令またはルーチンとしてメモリに保存され得る。
方法500は、コントローラのスキャン期間が開始されるときに開始する(ブロック505)。スキャン期間の開始時に、コントローラ11は、コントローラ11によって制御されるCVのセットに対する測定値の現在のセットを受信する。
次いで、コントローラ11は、最適化問題または目的関数403に対する制約された解および制約されていない解の両方の生成を開始する(ブロック507)。
ブロック509において、制御スキャン期間が終了する(またはスキャン期間の終了のわずかに前に決定閾値に到達する)。
ブロック510において、コントローラ11は、制約された解が展開を終了したかどうかを判定する。制約された解が終了している場合、コントローラ11は、制約された解を実装する(ブロック515)。制約された解が終了していない場合、コントローラ11は、制約されていない解を実装する(ブロック520)。制約されていない解もまた何らかの理由で展開されていない場合、コントローラ11は、(例えば、事前に生成されたコントローラマトリックスから計算された)事前に生成された移動計画を利用してもよい。
制約されていない解を生成するための例示的な方法600
図6は、一実施形態による、制約されていない解を実装するための例示的な方法600を示す。方法600は、全体的または部分的に、図1に示されるシステム10、より具体的には、図1および図4に示されるコントローラ11およびDMMCブロック38によって実装され得る。方法600は、(例えば、コントローラ11および/またはワークステーション13において)1つ以上の命令またはルーチンとしてメモリに保存され得る。
ブロック605において、コントローラ11は、制御目的に対する解を生成するプロセスを開始するために、プロセスモデル、(例えば、コントローラスキャンの開始時に受信される)MV値などの現在のPV値、予測されるPV値、および制御目的(例えば、目的関数403)をオプティマイザ401に供給する。場合によっては、調整パラメータおよび/または(例えば、予測誤差を表す)誤差ベクトルもまた、オプティマイザに供給され得る。
ブロック607において、オプティマイザ401は、制御範囲の終了に対する1つ以上の最適なMV値、ならびに予測範囲の終了に対するCV目標を定義することができる。
ブロック610において、オプティマイザ401および/またはコントローラ11は、目的関数403に対する制約されていない解を生成する。例えば、目的関数403の正確な性質に応じて、オプティマイザ401は、目的関数403を最小化または最大化する解を生成する。具体的には、オプティマイザ401は、制御または予測範囲の終了までに、(例えば、定常状態プロセス変数目標のセットによって表される)最適な定常状態プラント動作点、ならびに予測範囲に従って評価された最終スキャンにつながる一連のスキャンの各々について、PVのセット(例えば、CV、AV、および/またはMV)を生成する。一連のスキャンの各々について、MV目標のセットは、その特定のスキャンに関する移動計画を構成する。一般的に言えば、および他の箇所で述べられるように、オプティマイザ401は、実行可能なときに制約された解を生成する。実行不可能なとき、スラック変数が使用されてもよい。これらは、解を生成する目的で、いくつかの制約違反を許容できるようにし得る。概して、オプティマイザ401は、制約された解を提供すると想定され得る(例えば、可能な場合/実行可能な場合)。コントローラは、予測範囲の終了時に制約された定常状態の解を使用することができ、オプティマイザは、(例えば、予測範囲全体を通じて)動的に制約される解を展開することができる。
ブロック615において、コントローラ11は、PV制約(例えば、CV、AV、またはMVに関する制約)を識別する。
次いで、ブロック620において、コントローラ11は、制約されていない解に含まれる一連の移動計画からの第1の移動計画を評価する。第1の移動計画におけるMV値のいずれかがMV制約に違反している場合、またはプロセスモデルが、MV移動のうちの1つに応答してCVまたはAV制約に違反することを予測する場合、1つ以上のMVは、第1の移動計画が、制約に違反しなくなるまで調節される。第1の移動計画が制約に違反しなくなったとき、それは、「制限された」(すなわち、関連するすべての制約によって制限される)と見なされる。
この例では、第1の移動計画の後に生じると予測された制約違反は、コントローラ11およびオプティマイザ401によってほとんど無視されることに留意されたい。したがって、制約を考慮しない「理想的な」解は、制約を考慮に入れると(予測は、コントローラ11が実際には行わない動きを想定しているため)、PV値の理想的な軌道ではなくなり得る。別の言い方をすれば、将来のPV値を予測する能力によって得られる値は、この特定のシナリオでは、コントローラ11がMV信号を出力しているときにスキャン期間ごとに(例えば、第1の移動計画における値を修正することによって)制約がコントローラ11によって考慮されるという事実に照らして、コントローラ11が、将来のPV値を正確に予測しない場合があるため、いくらか鈍化される。
コントローラ11が(例えば、制約された解がスキャン期間内に展開されなかったため)制約されていない解を利用している場合、制限された第1の移動計画内の値は、コントローラ11の1つ以上のコントローラ出力を介して、フィールドデバイスに送信されて、プロセスの制御を実装する。
制約された解を生成するための例示的な方法700
図7は、一実施形態による、制約された解を実装するための例示的な方法700を示す。方法700は、全体的または部分的に、図1に示されるシステム10、より具体的には、図1および図4に示されるコントローラ11およびDMMCブロック38によって実装され得る。方法700は、(例えば、コントローラ11および/またはワークステーション13において)1つ以上の命令またはルーチンとしてメモリに保存され得る。
ブロック705において、コントローラ11は、(例えば、プロセスがオフラインである間)新規のプロセスモデルを生成する。典型的に、モデルの生成は、制御されているプロセスの入力と出力との間の動的な関係を捕捉し、それらの動的な関係を反映する数学的モデルを生成することによって生じる。従来、これらの動的な関係は、(i)1つ以上の操作変数を変更することによってプロセスに既知の外乱または混乱を導入すること、および(ii)操作変数に対する変更にプロセスがどのように反応するかを観察することを伴う、モデル生成手順中に捕捉される。プロセスが操作変数に対する変更への応答を終了し、定常状態に達すると、コントローラ11は、操作変数に対する変更と観察されたプロセス応答との間の関係に基づいて、プロセスモデルを生成することができる。次いで、コントローラ11は、新規の(およびおそらくより正確な)プロセスモデルを利用して、通常の制御を再開することができる。場合によっては、方法700を実装するとき、コントローラ11は、新規のモデルを生成しない。モデルを生成した後、モデルは、オプティマイザ401に供給され得る。
ブロック707において、コントローラ11は、制御目的に対する解を生成するプロセスを開始するために、(例えば、コントローラスキャンの開始時に受信される)現在のPV値、予測されるPV値、制御目的(例えば、目的関数403)、および1つ以上のPVの制約(例えば、CV、MV、および/またはAV)をオプティマイザ401に供給する。場合によっては、調整パラメータおよび/または(例えば、予測誤差を表す)誤差ベクトルもまた、オプティマイザ401に供給され得る。
ブロック710において、コントローラ11は、(例えば、方法600の工程を実装することによって)予測範囲に及ぶ一連のスキャンのためのPVのセットを含む制約されていない解を生成する。PVの各セットは、その特定のスキャンのためにコントローラによって(少なくとも理論的には)実装される「移動計画」を構成するMVのセットを含み得る。以下でより詳細に説明されるように、方法700は、制約違反について評価され、次いで、候補解がいずれの制約にも違反しないことが最終的に識別されるまで、連続する候補解を作成するために修正される「候補解」として制約の無い解を利用することができる。
ブロック715において、コントローラ11は、(各スキャンに対する移動計画を含む)各将来のスキャンのために展開されたPVのセットを分析する。
ブロック720において、コントローラ11は、制約違反をもたらす第1の移動計画を識別する。一例として、第3のスケジュールされた移動計画は、MV制約を超過するか、または制約を超過する別のPVをもたらすMV値を含み得る(例えば、制御バルブCV821に対する78%のMV値は、75%開放のCV821の上限制約を超過する)。制約違反が存在しない場合、コントローラ11は、ブロック735に進む(これは、制約が特に少ないかまたは甘い場合、特にプロセスの比較的早い段階で生じることがある)。一般的に言えば、DMMCブロック38と関連付けられた制約のセットのうちのいずれか1つが違反した場合、制約違反が存在する。
ブロック725において、コントローラ11は、すべてのMVが制約されているか、または制限されているかを判定する。一般的に言えば、これは、一連のMV計画のいずれにおいてもMV値が制約に違反しなくなる時点まで制約違反が識別されるので、コントローラ11が更新された解を繰り返し分析した場合にのみ当てはまる。すべてのMVが制約または制限されている場合、コントローラは、ブロック735に進む(以下でより詳細に説明される)。1つ以上のMVが一連の移動計画にわたって制約されないままである場合、コントローラ11は、ブロック730に進む。
ブロック730において、コントローラ11は、制約違反が生じる前に、移動の許容可能な部分をオプティマイザ401に供給する。引き続き前の例において、第1の2つの移動計画は、前述の他のコンポーネントとともにオプティマイザ401に供給される。
ブロック730の後、コントローラは、次いで、ブロック710に進み、ここでオプティマイザ401は、第1の2つの移動計画を想定し、かつ想定された移動計画後の後続の移動計画のために、MVが以前に識別された制約に違反することを許可しない、修正された解(この修正された解は、新規の候補解と考えられ得る)を生成する。例えば、引き続き前の例において、オプティマイザ401は、制御バルブCV821の値が、一連の移動計画内の移動計画のいずれに対しても上限制約である75%を決して超過しない解を生成することができる。
次いで、コントローラ11は、修正された解を用いて、ブロック715および720(場合によっては725および730)を再び実施する。この反復プロセスは、一連の移動計画がいずれの制約にも違反しない、修正された解または候補解が生成されるまで継続し得る。
ブロック735において、修正された制約されていない解が制約違反を含まないことが見出された後、または制約違反が見出された後、すべてのMVが一連の移動計画全体を通して制限される結果、コントローラ11は、制約された解を確定する。元の制約されていない解がいずれの制約にも違反していない場合は、制約された解として使用されてもよい。場合によっては、元の制約のない違反が、制約された解が判定される前にわずかな修正のみを必要とする場合がある。
制約された解が確定した後、コントローラ11は、(例えば、第1の移動計画のMV値に従ってフィールドデバイスを制御するために)コントローラ出力を生成して、第1の移動計画の値を伝えることによって、(スキャン期間に十分な時間が残っていると仮定して)制約された解の第1の移動計画を利用することができる。一連の移動計画全体が制約違反をもたらさないはずであるため、第1の移動計画の任意のMV値を変更する必要は存在しないはずである。
方法700は、解の移動計画を含むMV値を反復的に制限する方法と考えることができる。すなわち、工程720で制約違反が識別されるたびに、次の候補解は、解の許容移動計画、および一連の移動計画にわたって、制約違反について以前に分析された各MVの許容範囲を想定する。一実施形態では、各連続する候補解は、制約違反が識別され得る1つ少ない非制限MVを有するべきである。
追加の検討
ソフトウェアに実装される場合、本明細書に記載されるアプリケーション、サービス、およびエンジンはいずれも、コンピュータもしくはプロセッサのRAMもしくはROMなどにおける磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリ記憶デバイス、または他の記憶媒体などの、任意の有形の非一時的コンピュータ可読メモリに記憶され得る。本明細書に開示される例示的なシステムは、他の構成要素の中でも、ハードウェア上で実行されるソフトウェアまたはファームウェアを含むように開示されているが、そのようなシステムは単に例示的であるに過ぎず、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、およびファームウェア構成要素のうちのいずれかまたは全てが、ハードウェアにのみ、ソフトウェアにのみ、またはハードウェアおよびソフトウェアの任意の組み合わせで、具体化され得ることが企図される。したがって、本明細書に記載される例示的なシステムは、1つ以上のコンピュータデバイスのプロセッサで実行されるソフトウェアに実装されるものとして記載されているが、提供される例がかかるシステムを実装する唯一の方法ではないことを当業者は容易に認識するであろう。
方法500〜700を具体的に参照すると、説明された機能は、全体的または部分的に、図1に示されるシステム10のデバイス、回路、またはルーチンによって実装され得る。説明された方法の各々は、各々の方法の論理機能を実行するように恒久的または半恒久的に構成されて(例えば、ASICまたはFPGA)それぞれの方法の論理機能を実行する回路のセット、または少なくとも一時的に構成されて(例えば、1つ以上のプロセッサ、および論理機能を表し、メモリに保存されたセット命令またはルーチン)それぞれの方法の論理機能を実行する回路のセットによって具体化され得る。
本発明は具体的な例を参照して記載されてきたが、これらは例示的であるに過ぎず、本発明の限定であることを意図せず、変更、特定の追加または削除が、本発明の趣旨および範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らかであろう。さらに、上記の文章は多くの異なる実施形態の詳細な説明を記載しているが、本特許の範囲は、本特許の最後に記載される特許請求の範囲の語およびそれらの等価物によって定義されることが理解されるべきである。詳細な説明は、単に例示的なものとして解釈されるべきであり、すべての可能な実施形態を説明することは、不可能ではない場合でも非現実的であるので、すべての可能な実施形態を説明していない。
本明細書を通して、複数の事例は、単一の事例として記載された構成要素、動作、または構造を実施し得る。1つ以上の方法の個々の動作が別個の動作として図示および記載されたが、個々の動作のうちの1つ以上が、特定の実施形態において同時に実行されてもよい。
本明細書に使用される際、「1つの実施形態」または「一実施形態」に対する任意の参照は、実施形態と併せて説明された特定の要素、特徴、構造または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所における「1つの実施形態において」という語句の出現は、必ずしも全てが同一の実施形態を参照しているとは限らない。
本明細書に使用される際、「備える(comprises、comprising)」、「含む(includes、including)」、「有する(has、having)」という用語、またはそれらの任意の他の変形は、非排他的な包含を網羅することを意図する。例えば、要素のリストを含むプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるものではなく、明示的に列挙されていないか、またはかかるプロセス、方法、物品もしくは装置に固有の他の要素を含み得る。さらに、正反対に明示的に述べられない限り、「または」は、排他的なまたはではなく、包括的なまたはを指す。例えば、条件AまたはBは、Aが真(または存在)かつBが偽(または存在しない)、Aが偽(または存在しない)かつBが真(または存在する)、ならびにAおよびBの両方が真である(または存在する)のうちのいずれか1つによって満たされる。
さらに、「システムが少なくとも1つのX、Y、またはZを含む」という句は、システムがX、Y、Z、またはそれらの何らかの組み合わせを含むことを意味する。同様に、「コンポーネントがX、Y、またはZのために構成される」という句は、コンポーネントがXのために構成される、Yのために構成される、Zのために構成される、またはX、Y、およびZの何らかの組み合わせのために構成されることを意味する。
加えて、「a」または「an」の使用は、本明細書の実施形態の要素および構成要素を説明するために用いられる。この説明、およびそれに続く特許請求の範囲は、1つまたは少なくとも1つを含むように読まれるべきである。単数形はまた、それが複数形を含まないことが明らかでない限り、複数形も含む。
様々な実施形態において、本明細書に説明されるハードウェアシステムは、機械的にまたは電子的に実装され得る。例えば、ハードウェアシステムは、恒久的に構成された専用回路または論理を含み得る(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサとして)。ハードウェアシステムはまた、特定の動作を実施するためにソフトウェアによって一時的に構成されるプログラマブル論理または回路(例えば、汎用プロセッサまたは他のプログラマブルプロセッサ内に包含されるもの)も含み得る。専用かつ恒久的に構成された回路において、または一時的に構成された回路(例えば、ソフトウェアによって構成された)においてハードウェアシステムを機械的に実装する決定は、コストおよび時間を考慮してなされ得ることが理解されよう。
また、この文書の最後にある特許請求項は、「〜するための手段」または「〜するための工程」という表現が請求項(複数可)において明示的に記載されているなど、伝統的な手段・プラス・機能表現が明示的に記載されていない限り、米国特許法第112条(f)に基づいて解釈されることを意図したものではない。本明細書に記載のシステムおよび方法の少なくともいくつかの態様は、コンピュータ機能の改善、および従来のコンピュータの機能の改善を対象としている。
一般的な用語および語句
本明細書を通して、以下の用語および語句のうちのいくつかが使用される。
通信リンク。特に明記しない限り、「通信リンク」または「リンク」は、2つ以上のノードを接続する経路または媒体である。リンクは、物理リンクまたは論理リンクであり得る。物理リンクは、情報が転送されるインターフェースまたは媒体(複数可)であり、本質的に有線であっても無線であってもよい。物理リンクの例には、(i)電気エネルギーを伝送するための導体または光を伝送するための光ファイバ接続を備えたケーブルなどの有線リンク、および(ii)電磁波の1つ以上の特性に加えられた変更を介して情報を伝える無線電磁信号などの無線リンクが含まれる。
述べたように、無線リンクは、電磁波(複数可)の1つ以上の特性に加えられた変更を介して情報を伝える無線電磁信号であり得る。無線電磁信号は、マイクロ波または電波であり得、無線周波数または「RF」信号と呼ばれ得る。特に明記しない限り、記載されているRF信号は、およそ30kHz〜3,000GHzのスペクトルで見られる任意の1つ以上の帯域内の周波数で発振し得る(例えば、2.4GHz帯の802.11信号)。RF帯域の例には、30〜300kHzの低周波数(「LF」)帯域、300〜3,000kHzの中周波数(「MF」)帯域、3〜30MHzの高周波(「HF」)帯域、30〜300MHzの超高周波(「VHF」)帯域、300〜3,000MHzの極超高周波(「UHF」)帯域、3〜30GHzのスーパー高周波(「SHF」)帯域、30〜300GHzのミリ波周波数(「SHF」)帯域、および300〜3,000GHzの超極周波(tremendously high frequency)さ(「THF」)帯域、が含まれる。
場合によっては、無線電磁信号は、およそ300GHz〜30PHzの周波数で発振し、波長がおよそ100nm〜1mmの光信号である場合があり、それは、(i)おおよそ10nm〜400nmの範囲の波長およびおおよそ750THz〜30PHzの範囲の周波数を有する紫外光(「UV」)信号、(ii)およそ400nm〜700nmの範囲の波長およびおよそ430THz〜750THzの範囲の周波数を有する可視光信号、または(iii)およそ700nm〜1mmの範囲の波長およびおおよそ300GHz〜430THzの範囲の周波数を有する赤外線(「IR」)信号、であり得る。特に明記しない限り、記載されている光信号は、可視光通信(VLC)規格、光忠実度(Li−Fi)規格、赤外線データ協会(IrDA)規格、IrSimple規格などの、任意の好適な光信号プロトコルまたは規格に準拠し得る。
2つ以上のノード間の論理リンクは、基礎となる物理リンクまたは2つ以上のノードを接続する中間ノードの抽象概念を表す。例えば、2つ以上のノードは、論理リンクを介して論理的に連結され得る。論理リンクは、物理リンクおよび中間ノード(例えば、ルータ、スイッチ、または他のネットワーク機器)の任意の組み合わせを介して確立され得る。
リンクは「通信チャネル」と呼ばれることもある。無線通信システムでは、「通信チャネル」(または単に「チャネル」)という用語は一般に、特定の周波数または周波数帯域を指す。搬送信号(または搬送波)は、特定の周波数で、またはチャネルの特定の周波数帯域内で送信され得る。場合によっては、複数の信号が単一の帯域/チャネルで送信されることがある。例えば、信号は、時には異なるサブ帯域またはサブチャネルを介して、単一の帯域/チャネルで同時に送信されることがある。別の例として、信号は、時にはタイムスロットを割り当てることによって同じ帯域を介して送信されることがあり、それぞれの送信機および受信機が当該の帯域を使用する。
メモリおよびコンピュータ可読媒体。一般的に言うと、本明細書で使用される「メモリ」または「メモリデバイス」という語句は、コンピュータ可読媒体または媒体(「CRM」)を含むシステムまたはデバイスを指す。「CRM」は、情報(例えば、データ、コンピュータ可読命令、プログラムモジュール、アプリケーション、ルーチンなど)を配置、保持、または検索するための関連するコンピューティングシステムによってアクセス可能な1つ以上の媒体を指す。「CRM」は、本質的に非一時的である媒体を意味し、電波などの無形な一時的信号は指さないことに留意されたい。
CRMは、関連するコンピューティングシステム内に含まれるか、または関連するコンピューティングシステムと通信する、任意の技術、デバイス、またはデバイスグループに実装され得る。CRMには、揮発性または不揮発性の媒体、およびリムーバブルまたは非リムーバブルの媒体が含まれる。CRMは、限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリ、もしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または情報を記憶するために使用され得、かつコンピューティングシステムによってアクセスされ得る任意の他の媒体を含み得る。CRMは、システムバスに通信可能に連結され、CRMと、システムバスに連結された他のシステムまたは構成要素との間の通信を可能にする。いくつかの実装において、CRMは、メモリインターフェース(例えば、メモリコントローラ)を介してシステムバスに連結され得る。メモリインターフェースは、CRMとシステムバスとの間のデータの流れを管理する回路である。
ネットワーク。本明細書に使用される際、別段の指定がない限り、情報またはデータを通信するシステム(複数可)またはデバイス(複数可)の文脈で使用されるとき、「ネットワーク」という用語は、ノード間の遠距離通信を可能にするように接続されるノード(例えば、情報を送信する、受信するまたは転送することができるデバイスまたはシステム)およびリンクの集合を指す。
実施形態により(特に明記しない限り)、記載されたネットワークの各々は、ノード間のトラフィックを方向づける転送を担う専用のルータ、スイッチ、またはハブ、ならびに、任意選択的に、ネットワークの構成および管理を担う専用デバイスを含み得る。記載されたネットワーク内のノードのうちのいくつかまたは全てはまた、他のネットワークデバイス間で送信されるトラフィックを方向付けるために、ルータとして機能するように適合され得る。記載されたネットワークのノードは、有線または無線の様式で相互接続されてもよく、ネットワークデバイスは、異なるルーティングおよび転送能力を有してもよい。
例えば、専用ルータは、大量の伝送が可能であるが、いくつかのノードは、同一期間に比較的少量のトラフィックを送受信することが可能であり得る。加えて、記載されたネットワーク上のノード間の接続は、異なるスループット能力および異なる減衰特性を有し得る。光ファイバケーブルは、例えば、媒体の固有の物理的制限の差のために、無線リンクより数桁高い帯域幅を提供することが可能であり得る。所望であれば、記載された各ネットワークは、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、または広域ネットワーク(WAN)などのネットワークまたはサブネットワークを含み得る。
プロセッサ。本明細書に記載の例示的な方法の様々な動作は、少なくとも部分的に、1つ以上の記載された、または暗黙的に開示されたコントローラまたはプロセッサによって実行され得る(例えば、コントローラ11は、プロセッサを含み得る)。一般的に言うと、「プロセッサ」および「マイクロプロセッサ」という用語は、互換的に使用され、各々がメモリに記憶された命令を取得および実行するように構成されたコンピュータプロセッサを指す。
これらの命令を実行することによって、開示されたプロセッサ(複数可)は、命令によって定義される様々な動作または機能を実行することができる。開示されたプロセッサ(複数可)は、特定の実施形態に応じて、(例えば、命令またはソフトウェアによって)一時的に構成されてもよく、または関連する動作もしくは機能を実行するように恒久的に構成されてもよい(例えば、特定用途向け集積回路またはASIC用のプロセッサ)。各開示されたプロセッサは、例えば、メモリコントローラまたはI/Oコントローラも含み得る、チップセットの部品であってもよい。チップセットは、I/Oおよびメモリ管理機能、ならびに複数の汎用または専用レジスタ、タイマなどを提供するように典型的に構成された集積回路内の電子部品の集合である。一般的に言うと、説明されるプロセッサのうちの1つ以上は、システムバスを介して他の構成要素(メモリデバイスやI/Oデバイスなど)に通信可能に結合され得る。
動作の確実な性能は、単一のマシン内に存在するのみならず、いくつかのマシンにわたって配備された1つ以上のプロセッサの間で分散され得る。例えば、単一のプロセッサが動作のセットを実行するものとして説明されるとき、複数のプロセッサは、複数のプロセッサにわたる任意の所望の分散に従って、いくつかの実施形態において、動作のセットを実行し得ることが理解される。いくつかの実施形態では、1つ以上のプロセッサは、(例えば、家庭環境内の、職場環境内の、またはサーバファームとして)単一の場所に位置し得るが、他の実施形態では、プロセッサは多数の場所にわたって分散され得る。
「処理する(processing)」、「コンピューティングする(computing)」、「計算する(calculating)」、「判定する(determining)」、「提示する(presenting)」、「表示する(displaying)」などのような単語は、1つ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、もしくはそれらの組み合わせ)、レジスタ、または情報を受信、記憶、送信、もしくは表示する他の機械構成要素内の物理(例えば、電気、磁気、または光)量として表されたデータを操作または変換する機械(例えば、コンピュータ)の動作またはプロセスを指し得る。
ルーチン。特に明記しない限り、本開示で説明される「ルーチン」、「モジュール」、または「アプリケーション」は、CRMに格納し得るコンピュータ可読命令のセットを指す。概して、CRMは、命令を表すかまたはそれに対応するコンピュータ可読コード(「コード」)を格納し、コードは、ルーチンまたはアプリケーションによって表されるかまたはそれに関連付けられるものとして説明される機能を容易にするためにプロセッサによって実行されるように適合される。各ルーチンまたはアプリケーションは、スタンドアロンの実行可能ファイル、実行可能ファイルのスイートまたはバンドル、実行可能ファイルもしくはプログラムによって利用される1つ以上の非実行可能ファイル、またはそれらのなんらかの組み合わせを介して実装され得る。場合によっては、特に明記しない限り、説明されているルーチンの1つ以上は、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または任意の他のハードウェアもしくはファームウェア要素にハードコードされている場合がある。
さらに、特に明記しない限り、各ルーチンまたはアプリケーションは、(i)スタンドアロンのソフトウェアプログラム、(ii)ソフトウェアプログラムのモジュールもしくはサブモジュール、(iii)ソフトウェアプログラムのルーチンもしくはサブルーチン、または(iv)「呼び出し」を介してソフトウェアプログラムによって呼び出されるかアクセスされるリソースであって、これにより、システムにリソースに関連付けられたタスクまたは機能を実施させる、リソース、として具体化され得る。呼び出しは、(i)ソフトウェアプログラムによってアクセス可能なライブラリに記憶されたリソース(例えば、命令のセット)の実行を引き起こすために呼び出される「機能呼び出し」、(ii)システムリソースの実行を引き起こすために呼び出される「システム呼び出し」(例えば、多くの場合、特権カーネル空間で実行され、オペレーティングシステムのみによってのみ実行可能)、(iii)異なるアドレス空間を有する論理エンティティもしくは物理エンティティにリソースを実行させるために呼び出される「リモート呼び出し」、または(iv)それらのなんらかの組み合わせ、であり得る。例として、デバイスのプロセッサによって実行されるルーチンは、「リモート呼び出し」を呼び出して、(i)第2のデバイス(例えば、サーバホスト、エンドユーザデバイス、ネットワーキングデバイス、デバイスと通信する周辺デバイス、またはなんらかの他の物理デバイス)、(ii)同じもしくは異なるデバイス上の仮想マシン、(iii)元のプロセッサとは異なり、ルーチンを実行するデバイスの内部もしくは外部にあり得るプロセッサ(例えば、CPUまたはGPU)、または(iv)それらのなんらかの組み合わせ、においてリソースの実行を引き起し得る。
各ルーチンは、ソースコード(例えば、実行のために解釈可能、または下位レベルのコードにコンパイル可能)、オブジェクトコード、バイトコード、マシンコード、マイクロコードなどの任意の所望の言語で実装されたコードによって表すことができる。コードは、任意の好適なプログラミング言語またはスクリプト言語(例えば、C、C++、Java、Actionscript、Objective−C、Javascript、CSS、Python、XML、Swift、Ruby、Elixir、Rust、Scala、他)で記述することができる。

Claims (18)

  1. 方法であって、
    (A)1つ以上のフィールドデバイスに結合されているプロセスコントローラを介して、(i)前記1つ以上のフィールドデバイスを介して、前記プロセスコントローラによって調節可能な操作変数(MV)のセット、および(ii)各々が前記MVのセットにおける1つ以上のMVに依存している制御変数(CV)のセットを含むプロセス変数(PV)のセットによって表されるプロセスのモデルベース制御を実装することと、
    (B)前記CVの測定値の現在のセットを得るために、スキャン期間の開始時にプロセスコントローラによってスキャンを開始することと、
    (C)前記スキャン期間が終了する前に、プロセスモデルおよび前記PVのための制約のセットに従って、前記MVのセットに対して前記プロセスコントローラによって実装される現在の移動計画を選択することを含む、デュアル動作モードを実装することであって、
    (i)前記CVのセットの測定値の前記現在のセットを前記プロセスモデルのためのモデル入力として使用して、(a)前記制約のセットによって制限されていない一連の非制限移動計画を含む、制約されていない解、および(b)前記制約のセットのいずれかに違反することを回避する、一連の制限移動計画を含む、制約された解の両方の生成を開始することと、
    (ii)前記スキャン期間が終了する前に前記制約された解が生成されたとき、前記現在の移動計画として、前記制約された解の前記一連の制限移動計画から第1の移動計画を選択することと、
    (iii)前記スキャン期間が終了する前に前記制約された解が生成されないとき、前記現在の移動計画として、前記制約されていない解の前記一連の非制限移動計画から第1の移動計画を選択することと、を含む、実装することと、
    (D)コントローラ出力のセットを送信すること、前記値のセットを前記フィールドデバイスに伝えて、前記フィールドデバイスに前記MVのセットを前記値のセットに駆動させることにより、前記MVのセットを前記現在の移動計画内に含まれている値のセットに設定することによって、前記スキャン期間の終了前に前記プロセスの制御を実装することと、を含む、方法。
  2. 前記現在の移動計画として、前記制約されていない解の前記一連の非制限移動計画から前記第1の移動計画を選択することが、前記第1の移動計画内に含まれている任意の値が制約を違反するとき、前記第1の移動計画を修正することを含み、その結果、前記第1の移動計画が制約違反をもたらさなくなる、請求項1に記載の方法。
  3. 前記スキャン期間が、第1のスキャン期間であり、前記方法が、
    前記第1のスキャン期間の終了後、第2のスキャン期間の開始時に次のスキャンを開始して、前記CVに対する測定値の次のセットを得、および前記次のスキャンに対する第2の現在の移動計画を選択するために前記デュアル動作モードを再度実装することであって、
    (i)前記CVのセットの測定値の前記第2の現在のセットを前記プロセスモデルのためのモデル入力として使用して、(a)前記制約のセットによって制限されていない一連の非制限移動計画を含む、第2の制約されていない解、および(b)前記制約のセットのいずれかに違反することを回避する、一連の制限移動計画を含む、第2の制約された解の両方の生成を開始することと、
    (ii)前記第2のスキャン期間が終了する前に前記第2の制約された解が生成されたとき、前記第2の現在の移動計画として、前記第2の制約された解の前記一連の制限移動計画から第1の移動計画を選択することと、
    (iii)前記第2のスキャン期間が終了する前に前記第2の制約された解が生成されないとき、前記第2の現在の移動計画として、前記第2の制約されていない解の前記一連の非制限移動計画から第1の移動計画を選択することと、を含む、実装することをさらに含む、請求項1に記載の方法。
  4. 前記スキャン期間が、スキャンごとに同じ長さである通常のスキャン期間である、請求項1に記載の方法。
  5. 前記スキャン期間が、前記スキャンに応じて変化するように構成されている、請求項1に記載の方法。
  6. 前記1つ以上のフィールドデバイスが、制御バルブアクチュエータを含み、前記MVのうちの少なくとも1つが、バルブ位置を表す変数である、請求項1に記載の方法。
  7. 前記制約された解の生成を開始することが、前記制約されていない解から開始することと、制約違反をもたらす値を消去するために前記制約されていない解を繰り返し修正することと、を含む、請求項1に記載の方法。
  8. 前記制約された解の生成を開始することが、事前に生成された一連の移動計画から開始することと、制約違反をもたらす値を消去するために前記事前に生成された移動計画を繰り返し修正することと、を含む、請求項1に記載の方法。
  9. システムであって、
    プロセスを監視または制御するための1つ以上のフィールドデバイスと、
    前記1つ以上のフィールドデバイスに通信可能に結合されており、前記プロセスを制御するように構成されているプロセスコントローラであって、前記プロセスが、(i)前記1つ以上のフィールドデバイスを介して、前記プロセスコントローラによって調節可能な操作変数(MV)のセット、および(ii)各々が前記MVのセットにおける1つ以上のMVに依存している制御変数(CV)のセットを含む、プロセス変数(PV)のセットによって表される、プロセスコントローラと、を備え、
    前記プロセスコントローラが、デュアルモードモデル制御動作を実装して、プロセスモデルおよび前記PVに対する制約のセットに従って、前記MVのセットに対して前記プロセスコントローラによって実装される現在の移動計画を選択するように構成されており、前記プロセスコントローラが、
    (A)前記CVの測定値の現在のセットを得るために、スキャン期間の開始時にプロセスコントローラによってスキャンを開始することと、
    (B)前記スキャン期間が終了する前に
    (i)前記CVのセットの測定値の前記現在のセットを前記プロセスモデルのためのモデル入力として使用して、(a)前記制約のセットによって制限されていない一連の非制限移動計画を含む、制約されていない解、および(b)前記制約のセットのいずれかに違反することを回避する、一連の制限移動計画を含む、制約された解の両方の生成を開始することと、
    (ii)前記スキャン期間が終了する前に前記制約された解が生成されたとき、前記現在の移動計画として、前記制約された解の前記一連の制限移動計画から第1の移動計画を選択することと、
    (iii)前記スキャン期間が終了する前に前記制約された解が生成されないとき、前記現在の移動計画として、前記制約されていない解の前記一連の非制限移動計画から第1の移動計画を選択することと、
    (C)コントローラ出力のセットを送信すること、前記値のセットを前記フィールドデバイスに伝えて、前記フィールドデバイスに前記MVのセットを前記値のセットに駆動させることにより、前記MVのセットを前記現在の移動計画内に含まれている値のセットに設定することによって、前記スキャン期間の終了前に前記プロセスの制御を実装することと、を行うように構成されている、システム。
  10. 前記第1の移動計画内に含まれている任意の値が制約を違反するとき、前記第1の移動計画を修正することによって、前記プロセスコントローラが、前記現在の移動計画として、前記制約されていない解の前記一連の非制限移動計画から前記第1の移動計画を選択するように構成されており、その結果、前記第1の移動計画が制約違反をもたらさなくなる、請求項9に記載のシステム。
  11. 前記スキャン期間が、第1のスキャン期間であり、前記プロセスコントローラが、
    前記第1のスキャン期間の終了後、第2のスキャン期間の開始時に次のスキャンを開始して、前記CVに対する測定値の次のセットを得、および前記次のスキャンに対する第2の現在の移動計画を選択するために前記デュアル動作モードを再度実装することであって、
    (i)前記CVのセットの測定値の前記第2の現在のセットを前記プロセスモデルのためのモデル入力として使用して、(a)前記制約のセットによって制限されていない一連の非制限移動計画を含む、第2の制約されていない解、および(b)前記制約のセットのいずれかに違反することを回避する、一連の制限移動計画を含む、第2の制約された解の両方の生成を開始することと、
    (ii)前記第2のスキャン期間が終了する前に前記第2の制約された解が生成されたとき、前記第2の現在の移動計画として、前記第2の制約された解の前記一連の制限移動計画から第1の移動計画を選択することと、
    (iii)前記第2のスキャン期間が終了する前に前記第2の制約された解が生成されないとき、前記第2の現在の移動計画として、前記第2の制約されていない解の前記一連の非制限移動計画から第1の移動計画を選択することと、を含む、実装することを行うようにさらに構成されている、請求項9に記載のシステム。
  12. 前記スキャン期間が、スキャンごとに同じ長さである通常のスキャン期間である、請求項9に記載のシステム。
  13. 前記スキャン期間が、前記スキャンに応じて変化するように構成されている、請求項9に記載のシステム。
  14. 前記1つ以上のフィールドデバイスが、制御バルブアクチュエータを含み、前記MVのうちの少なくとも1つが、バルブ位置を表す変数である、請求項9に記載のシステム。
  15. 前記制約された解の生成を開始することが、前記制約されていない解から開始することと、制約違反をもたらす値を消去するために前記制約されていない解を繰り返し修正することと、を含む、請求項9に記載のシステム。
  16. 前記制約された解の生成を開始することが、事前に生成された一連の移動計画から開始することと、制約違反をもたらす値を消去するために前記事前に生成された移動計画を繰り返し修正することと、を含む、請求項9に記載のシステム。
  17. 方法であって、
    (A)プロセス制御環境において1つ以上のフィールドデバイスを制御するように構成されたデュアルモードモデルベースプロセスコントローラを実装することと、
    (B)プロセス変数(PV)のセットに対する現在の値のセットを得るために、前記モデルベースコントローラによるスキャンを開始することであって、前記現在の値のセットが、前記制御されたプロセスの現在の状態を表し、前記プロセス変数が、複数の制御変数(CV)および複数の操作変数(MV)を含む、開始することと、
    (C)前記一連の移動計画の各々における各MVに対する前記値が、前記制約のセットによって制限されていないように、前記一連の移動計画のいずれかが前記PVのための制約のセットのうちのいずれかに違反するかどうかに関わらず、所定の目的を達成するために、前記複数のMVに対する一連の移動計画を、前記プロセスモデルを使用して、生成することによって、プロセスモデルを利用する最適化問題に対する制約されていない解を生成することと、
    (D)前記プロセスモデルを利用して、前記最適化問題に対する制約のある解の生成を開始することであって、
    (i)前記制約されていない解を候補解として記憶することと、
    (ii)(a)制約の初回の違反を識別し、前記第1のMVが前記初回の違反をもたらしたことを判定し、(b)前記初回の違反の前にスケジュールされた移動計画内に含まれる前記第1のMVに対する1つ以上の値に基づいて、前記第1のMVに対する許容範囲を計算するために、前記候補解を分析することにより、前記複数のMVから第1のMVを制限することと、
    (iii)各修正された候補解が、以前に制限されたMVを計算された許容範囲内に維持し、各連続する修正された候補解が、前記以前の修正された候補解よりも1つ少ない非制限MVを含むように、各残りのMVに対して修正された一連の移動計画を含む、修正された候補解を繰り返し生成することにより、前記残りのMVを前記複数のMVから制限することであって、前記残りのMVが、前記残りのMVのどれが各修正された候補解に対する制約を最初に違反するかに基づいた順序で制限されている、制限することと、
    (iv)前記複数のMVの各々が、前記最後に修正された候補解が前記制約のセットのいずれにも違反しない最終的な一連の移動計画を含むように制限された後、前記最後に修正された候補解を前記制約された解として記憶することによって、前記制約された解を完成させることと、によって行われる、開始することと、
    (E)前記制約された解が確定される前に前記スキャン期間が満了するとき、(i)前記制約されていない解に対する第1の移動計画において、前記制約のセットのいずれにも違反しない制限された第1の移動計画を達成するために、前記制約のセットのいずれかに違反する任意の値を修正すること、および(ii)前記制限された第1の移動計画に従って、前記1つ以上のフィールドデバイスを制御するために、コントローラ出力のセットに対する前記制約されていない解の前記制限された第1の移動計画を利用することと、
    (F)前記スキャン期間が満了する前に前記制約された解が確定されるとき、前記制限された第1の移動計画に従って、前記1つ以上のフィールドデバイスを制御するために、前記コントローラ出力のセットに対して前記制約された解の第1の移動計画を利用することと、を含む、方法。
  18. 前記PVのセットに対する第2の現在の値のセットを得るために、前記モデルベースコントローラによって第2のスキャンを開始することと、前記PVのセットに対する前記第2の現在の値のセットを使用して、前記最適化問題に対する第2の制約されていない解を生成することと、前記PVのセットに対する前記第2の現在の値のセットを使用して、前記最適化問題に対する第2の制約された解の生成を開始することと、前記制約された解が前記第2のスキャン期間が終了する前に確定されるとき、前記制御出力のセットを生成するために前記制約された解を利用することと、前記第2のスキャン期間が終了する前に前記制約された解が確定していないとき、前記制御出力のセットを生成するために前記制約されていない解を利用することと、をさらに含む、請求項17に記載の方法。
JP2021024881A 2020-02-28 2021-02-19 プロセスのデュアルモードモデルベース制御 Pending JP2021140771A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/804,799 US11467545B2 (en) 2020-02-28 2020-02-28 Dual-mode model-based control of a process
US16/804,799 2020-02-28

Publications (2)

Publication Number Publication Date
JP2021140771A true JP2021140771A (ja) 2021-09-16
JP2021140771A5 JP2021140771A5 (ja) 2024-01-29

Family

ID=75339289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021024881A Pending JP2021140771A (ja) 2020-02-28 2021-02-19 プロセスのデュアルモードモデルベース制御

Country Status (5)

Country Link
US (1) US11467545B2 (ja)
JP (1) JP2021140771A (ja)
CN (1) CN113325809A (ja)
DE (1) DE102021104820A1 (ja)
GB (1) GB2596381A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11702087B2 (en) * 2019-09-17 2023-07-18 Baidu Usa Llc Autonomous driving monitoring system
JP7409345B2 (ja) * 2021-03-31 2024-01-09 横河電機株式会社 学習処理装置、制御装置、学習処理方法、制御方法、学習プログラムおよび制御プログラム
CN113848711B (zh) * 2021-09-18 2023-07-14 内蒙古工业大学 一种基于安全模型强化学习的数据中心制冷控制算法
CN114200900A (zh) * 2021-11-29 2022-03-18 合肥工业大学 用于thf回收装置的分散控制系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050863B2 (en) * 2002-09-11 2006-05-23 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
GB2446343B (en) * 2005-12-05 2011-06-08 Fisher Rosemount Systems Inc Multi-objective predictive process optimization with concurrent process simulation
AT511520B1 (de) 2012-05-24 2017-06-15 Avl List Gmbh Verfahren und eine Vorrichtung zur Prüfung des Antriebsstranges von zumindest teilweise elektrisch betriebenen Fahrzeugen
US10156197B1 (en) * 2017-06-16 2018-12-18 GM Global Technology Operations LLC Model predictive control systems and methods for increasing computational efficiency

Also Published As

Publication number Publication date
US20210271212A1 (en) 2021-09-02
CN113325809A (zh) 2021-08-31
US11467545B2 (en) 2022-10-11
GB2596381A (en) 2021-12-29
DE102021104820A1 (de) 2021-09-02
GB202102587D0 (en) 2021-04-07

Similar Documents

Publication Publication Date Title
JP2021140771A (ja) プロセスのデュアルモードモデルベース制御
CN106575104B (zh) 使用无线过程信号的模型预测控制
CN101925866B (zh) 具有用来补偿模型失配的调节的鲁棒的自适应模型预测控制器
JP6163526B2 (ja) バッチプロセスのオンラインプロセスランの分析を実行する方法
JP5697899B2 (ja) 連続的にスケジュールされるモデルパラメータに基づく適応制御装置
US6901300B2 (en) Adaptation of advanced process control blocks in response to variable process delay
EP2924570B1 (en) Cloud-level control loop tuning analytics
CA2678820C (en) Two-stage model predictive control technique
JP4786072B2 (ja) 多入力/多出力論理装置及び該多入力/多出力論理装置を使用してプロセスを制御する方法
US8244384B2 (en) System identification in automated process control
US20210333789A1 (en) Method and apparatus for real time model predictive control operator support in industrial process control and automation systems
WO2007140196A2 (en) Automated tuning method for multivariable model predictive controllers
GB2429539A (en) Integrated model predictive control and optimization within a process control system
JP2016028349A (ja) プロセスモデルの高速同定および生成
WO2016014271A1 (en) Robust control design approach for chemical processing industries and other industries
US6597958B1 (en) Method for measuring the control performance provided by an industrial process control system
US11467543B2 (en) Process controller design with process approximation and lambda tuning
Isaza et al. Efficient solution of nonlinear model predictive control by a restricted enumeration method
Cano Marchal et al. Control of Lower-Level Dynamic Layers
Halldin Control of a Multivariable Lighting System
Iglesias et al. A Fuzzy Proposal to Improve Parametric PMC Performance

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240119