Integrated model prediction control and optimization in process control system
Abstract
[Subject] The process control configuration system used when creating or perusing the unified type optimization and control block which realizes an optimization routine, and a multiplex input / multiplex output-control routine is offered. [Solution means] A user can display or set up now a オプチ miser or a control routine by this configuration system. . The storing routine can store the information belonging to two or more control variables, the concomitant variable, and two or more instrumental variables which are used by an optimization routine and/or the control routine. The display routine can show a user the display screen about the above-mentioned information belonging to two or more above-mentioned control variables, a concomitant variable, and two or more above-mentioned instrumental variables. [Selection figure] Fig. 1
Term
Term ended
Projected expiry passed 11 September 2023, 3 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
35 claims: 11 independent, 24 dependent
- 1A process control configuration system used when creating or browsing control blocks with an integrated optimizer and multiple input / multiple output control routines, stored on a computer readable medium and said computer readable medium. It comprises a configuration routine configured to run on a processor, the configuration routine containing response information for each of at least some of a control variable and an auxiliary variable, said optimizer and said multiple inputs. / Multiple output A storage routine that stores information belonging to a plurality of the control variable and the auxiliary variable and the plurality of operation variables used by one or both of the control routes, and the control variable, the auxiliary variable, and the operation. It has a display routine configured to present a display screen related to one or more of the variables to the user, the previous term display screen has a subset of the response information, and the response information is each of the control variables. Represents each response of the control variable and at least a portion of the auxiliary variables to. The subset of response information includes response information representing the response of each of the control variable and at least a portion of the auxiliary variable to at least one of the instrumental variables, a process control configuration system. .. 統合型オプチマイザおよび多重入力/多重出力制御ルーチンを有する制御ブロックを作成または閲覧する際に利用されるプロセス制御コンフィギュレーションシステムであって、 コンピュータ読取り可能媒体と、 前記コンピュータ読取り可能媒体上に格納され、プロセッサ上で実行されるように構成されたコンフィギュレーションルーチンとを備え、 該コンフィギュレーションルーチンは、 制御変数および補助変数のうちの少なくとも一部の各々についての応答情報を含む、前記オプチマイザおよび前記多重入力/多重出力制御ルーチのうちの一方または双方により利用される複数の前記制御変数および前記補助変数ならびに複数の操作変数に属する情報を格納する格納ルーチンと、 前記制御変数、前記補助変数、および前記操作変数のうちの一または複数に関連する表示画面をユーザに提示するように構成された表示ルーチンとを有し、 前期表示画面は前記応答情報のサブセットを有し、前記応答情報は操作変数の各々に対する前記制御変数および前記補助変数のうちの前記少なくとも一部の各々の各応答を表し、 前記応答情報の前記サブセットには、前記操作変数のうちの少なくとも一つに対する前記制御変数および前記補助変数のうちの前記少なくとも一部の各々の応答を表す応答情報が含まれる、プロセス制御コンフィギュレーションシステム。
- 32. The configuration routine further comprises a second routine that allows the user to associate one of the control variable and one of the auxiliary variables with said one of the manipulation functions. Process control configuration system. 前記コンフィギュレーションルーチンは、前記操作関数のうちの前記一つに前記制御変数および前記補助変数のうちの一つを前記ユーザが関連付けできるようにする第二のルーチンをさらに有する、請求項2記載のプロセス制御コンフィギュレーションシステム。
- 4The configuration routine further comprises a third routine that allows the user to separate one of the control variable and the auxiliary variable associated with said one of the operating functions. 3 Process control configuration system described. 前記コンフィギュレーションルーチンは、前記操作関数のうちの前記一つに関連付けられた前記制御変数および前記補助変数のうちの一つを前記ユーザが分離できるようにする第三のルーチンをさらに有する、請求項3記載のプロセス制御コンフィギュレーションシステム。
- 9The display routine is configured to display a sign of an available variable among the plurality of control variables and auxiliary variables, and the available variation is available to be associated with the operational variable. The process control configuration system described in Section 3. 前記表示ルーチンは、前記複数の制御変数および補助変数のうちの利用可能な変数のしるしを表示するように構成され、該利用可能な変は、操作変数に関連付けされるべく利用可能である、請求項3記載のプロセス制御コンフィギュレーションシステム。
- 18A process control system that controls a process and is configured to control the process based on a plurality of measurement inputs from the process and based on a given set of target values during each operation cycle of the process control system. A multiple input / multiple output control controller configured to generate a plurality of control outputs during each operation cycle of the process control system, and the multiple input / multiple output controller during each operation cycle of the process control system. It comprises an optimizer configured to create the set of target values utilized by the optimizer, which is a linear programming optimizer or a quadratic programming optimizer having an objective function, wherein the optimizer is predetermined. Keeping a set of control variables within the set point limit of, keeping a set of auxiliary variables within a given set of auxiliary variable limits, and keeping a set of operational variables within a given set of operational variable limits. A process control system configured to minimize or maximize the objective function and allow at least one of the set point limits to be violated in the absence of a solution. プロセスを制御するプロセス制御システムであって、 前記プロセス制御システムの各動作サイクル中に前記プロセスからの複数の測定入力に基づきかつ与えられた目標値のセットに基づいて前記プロセスを制御するように構成された複数の制御出力を前記プロセス制御システムの各動作サイクル中に生成するように構成された多重入力/多重出力制御コントローラと、 前記プロセス制御システムの各動作サイクル中に前記多重入力/多重出力コントローラによって利用される前記目標値のセットを作成するように構成されたオプチマイザとを備えており、 前記オプチマイザは、目的関数を有する線形計画法オプチマイザまたは二次計画法オプチマイザであり、前記オプチマイザは、所定の設定ポイントリミット内に制御変数のセットを維持し、所定の補助変数リミットのセット内に補助変数のセットを維持し、そして所定の操作変数リミットのセット内に操作変数のセットを維持しながら、前記目的関数を最小化または最大化し、解がない場合には、前記設定ポイントリミットのうちの少なくとも一つが侵害されること可能にするように構成されている、プロセス制御システム。
- 22It is a response matrix that defines each reaction of a set consisting of control variables and auxiliary variables for each change of the set of operating variables, and the number of control variables and auxiliary variables in the set consisting of the control variables and auxiliary variables is A response matrix that is equal to the first number and the number of control variables in the set of control variables is equal to the second number, It is configured to generate a set of target operational variable values that defines the optimal operating point based on the set of predicted values of the control and auxiliary variables of the process and based on the set of current values of the operational variables of the process. It is configured to utilize a set of predictive control variables and predictive auxiliary variables, a set of predictive operational variables, and the response matrix to generate a set of target values for a predetermined subset of a set of control variables and auxiliary variables. , A linear optimizer or a quadratic optimizer, wherein the number of predicted values of the control variable and the auxiliary variable in the set of predicted values consisting of the control variable and the auxiliary variable is equal to the first number, and the current value of the operation function The number of current values of the operational variables in the set is equal to the second number, the number of predictive control variables and auxiliary variables in the set consisting of the predictive control variable and the predictive auxiliary variable is equal to the first number, and the control variable And a linear optimizer or a quadratic optimizer in which the number of control variables and auxiliary variables in the predetermined subset of the set of auxiliary variables is different from the first number. The control is configured to generate a set of predictive control variables and predictive auxiliary variables and a set of predictive operational variables, and to produce a set of operational control signals to control the operational variables in the process. In a multiple input / multiple output controller configured to combine the set of target values of the predetermined subset of a set of variables and auxiliary variables with the measurements of the predetermined subset of the set of control variables and auxiliary variables. The linear optimizer or the secondary optimizer comprises a multiple input / multiple output controller in which the number of operation control signals in the set of operation variables is equal to the second number. A set of target control variable values that maximizes or minimizes the objective function while keeping each of the auxiliary variables and the control variables within a set constraint limit. If there is no solution that is configured to generate and keeps each of the control variables at a given set point and keeps each of the auxiliary and operational variables within a given constraint limit. The optimizer maximizes or minimizes the objective function while keeping each of the control variables within a predetermined set point limit and each of the auxiliary and operational variables within the constraint limit. It is configured to generate a set of target manipulated variable values, keeping each of the control variables within a given set point limit and keeping each of the auxiliary variables and the manipulated variable within a given constraint limit. If no solution exists, the optimizer may allow one or more of the control variables to violate a predetermined set point limit based on the priority associated with the control variable. Generate a set of target control variable values that maximizes or minimizes the objective function by keeping each of the auxiliary variables within a given constraint limit and keeping the control variable within a given constraint limit. A process control system that controls a process, configured to do so. 操作変数のセットの各々の変化に対する制御変数および補助変数よりなるセットの各々の反応を定義する応答行列であって、前記制御変数および補助変数よりなるセット内の制御変数と補助変数との数が第一の数に等しく、前記操作変数のセット内の操作変数の数が第二の数に等しい応答行列と、 前記プロセスの制御変数および補助変数の予測値のセットに基づきかつ前記プロセスの操作変数の現在値のセットに基いて最適動作ポイントを定義する目標操作変数値のセットとを生成するように構成され、制御変数および補助変数のセットの所定のサブセットの目標値のセットを生成するために予測制御変数および予測補助変数よりなるセット、予測操作変数のセット、ならびに前記応答行列を利用するように構成された、線形オプチマイザまたは二次オプチマイザであって、前記制御変数および補助変数よりなる予測値のセット内の制御変数および補助変数の予測値数が前記第一の数に等しく、前記操作関数の現在値のセット内の操作変数の現在値数が第二の数に等しく、前記予測制御変数および予測補助変数よりなるセット内の予測制御変数および補助変数の数が前記第一の数に等しく、前記制御変数および補助変数よりなるセットの前記所定のサブセット内の制御変数および補助変数の数が前記第一の数とは異なる、線形オプチマイザまたは二次オプチマイザと、 前記予測制御変数および予測補助変数よりなるセットと前記予測操作変数のセットとを生成するように構成され、前記プロセスの前記操作変数を制御するために操作制御信号のセットを生産するために前記制御変数および補助変数よりなるセットの前記所定のサブセットの前記目標値のセットを前記制御変数および補助変数よりなるセットの前記所定のサブセットの測定値と組み合わせるように構成された多重入力/多重出力コントローラであって、前記操作変数のセット内の前記操作制御信号の数が前記第二の数と等しい、多重入力/多重出力コントローラとを備えており、 前記線形オプチマイザまたは前記二次オプチマイザは、前記制御変数の各々を所定の設定ポイントに維持するとともに前記補助変数および前記操作変数の各々を所定のコンストレイントリミット内に維持しながら、目的関数を最大化または最小化する前記目標操作変数値のセットを生成するように構成され、前記制御変数の各々を所定の設定ポイントに維持するとともに前記補助変数および前記操作変数の各々を所定のコンストレイントリミット内に維持する解が存在しない場合には、 前記オプチマイザは、前記制御変数の各々を所定の設定ポイントリミット内に維持するとともに前記補助変数および前記操作変数の各々をコンストレイントリミット内に維持しながら前記目的関数を最大化または最小化する前記目標操作変数値のセットを生成するように構成され、 前記制御変数の各々を所定の設定ポイントリミット内に維持するとともに前記補助変数および前記操作変数の各々を所定のコンストレイントリミット内に維持する解が存在しない場合には、前記オプチマイザは、前記制御変数に関連する優先順位に基づいて前記制御変数のうちの一または複数の変数が所定の設定ポイントリミットを侵害することを許容しながら、前記補助変数の各々を所定のコンストレイントリミット内に維持するとともに前記操作変数を所定のコンストレイントリミット内に維持して前記目的関数を最大化または最小化する前記目標操作変数値のセットを生成するように構成される、プロセスを制御するプロセス制御システム。
- 25In a method of controlling a process having a plurality of control variables and a plurality of control variables and auxiliary variables that can be affected by changes in the control variables, the plurality of operation functions are combined with the plurality of control variables and auxiliary variables. A method of controlling processes that differ in number in terms of selecting a subset of the plurality of control variables and auxiliary variables to be used when performing process control, and the plurality of control variables and Creating a control matrix using the selected subset consisting of auxiliary variables and the plurality of operation variables, and having the selected subset consisting of the plurality of control variables and auxiliary variables as inputs, the plurality of A controller is generated from the control matrix having the operation variable of the above, and the plurality of control variables and the plurality of control variables are defined by a set of target values of the selected subset consisting of the plurality of control variables and auxiliary variables. Performing process optimization by selecting process action points that minimize or maximize objective functions that depend on control and auxiliary variables in A set of operational variable values is created from the target value set of the selected subset consisting of the plurality of control variables and auxiliary variables and the measured values of the selected subset consisting of the plurality of control variables and auxiliary variables. To perform multiple input / multiple output control techniques using the controller generated from the control matrix, and to use the created set of operational variable values to control the process. Having and selecting the subset involves selecting one of the control variables or auxiliary variables that is most responsive to one of the operational variables. Method. 複数の操作変数ならびに該操作変数の変化により影響を受けることが可能な複数の制御変数および補助変数を有したプロセスを制御する方法において、前記複数の操作関数が前記複数の制御変数および補助変数と数の点において異なっているプロセスを制御する方法であって、 プロセス制御を実行する際に利用するために前記複数の制御変数および補助変数よりなるサブセットを選択することと、 前記複数の制御変数および補助変数よりなる前記選択されたサブセットと前記複数の操作変数とを用いて制御行列を作成することと、 前記複数の制御変数および補助変数よりなる前記選択されたサブセットを入力として有し、前記複数の操作変数を出力として有する前記制御行列からコントローラを生成することと、 前記複数の制御変数および補助変数よりなる前記選択されたサブセットの目標値のセットによって定義され、前記複数の操作変数と前記複数の制御変数および補助変数に依存する目的関数を最小化または最大化するプロセス動作ポイントを選択することによりプロセス最適化を実行することと、 前記複数の制御変数および補助変数よりなる前記選択されたサブセットの前記目標値のセットと前記複数の制御変数および補助変数よりなる前記選択されたサブセットの測定値とから操作変数値のセットを作成するために、前記制御行列から生成されたコントローラを利用して多重入力/多重出力制御技術を実行することと、 前記プロセスを制御するために前記作成された操作変数値のセットを利用することとを有しており、 前記サブセットを選択することには、前記操作変数のうちの一つに対して最も応答性のある、前記制御変数または前記補助変数のうちの一つを選択することが含まれる方法。
- 29In a method of controlling a process having a plurality of control variables and a plurality of control variables and auxiliary variables that can be affected by changes in the control variables, the plurality of operation functions are combined with the plurality of control variables and auxiliary variables. A method of controlling processes that differ in number in terms of selecting a subset of the plurality of control variables and auxiliary variables to be used when performing process control, and the plurality of control variables and Creating a control matrix using the selected subset consisting of auxiliary variables and the plurality of operation variables, and having the selected subset consisting of the plurality of control variables and auxiliary variables as inputs, the plurality of A controller is generated from the control matrix having the operation variable of the above, and the plurality of control variables and the plurality of control variables are defined by a set of target values of the selected subset consisting of the plurality of control variables and auxiliary variables. Performing process optimization by selecting process action points that minimize or maximize objective functions that depend on control and auxiliary variables in A set of operational variable values is created from the target value set of the selected subset consisting of the plurality of control variables and auxiliary variables and the measured values of the selected subset consisting of the plurality of control variables and auxiliary variables. To perform multiple input / multiple output control techniques using the controller generated from the control matrix, and to use the created set of operational variable values to control the process. A method of controlling a process that has and has less control variables and auxiliary variables in the subset than the number of control variables in the plurality of control variables. 複数の操作変数ならびに該操作変数の変化により影響を受けることが可能な複数の制御変数および補助変数を有したプロセスを制御する方法において、前記複数の操作関数が前記複数の制御変数および補助変数と数の点において異なっているプロセスを制御する方法であって、 プロセス制御を実行する際に利用するために前記複数の制御変数および補助変数よりなるサブセットを選択することと、 前記複数の制御変数および補助変数よりなる前記選択されたサブセットと前記複数の操作変数とを用いて制御行列を作成することと、 前記複数の制御変数および補助変数よりなる前記選択されたサブセットを入力として有し、前記複数の操作変数を出力として有する前記制御行列からコントローラを生成することと、 前記複数の制御変数および補助変数よりなる前記選択されたサブセットの目標値のセットによって定義され、前記複数の操作変数と前記複数の制御変数および補助変数に依存する目的関数を最小化または最大化するプロセス動作ポイントを選択することによりプロセス最適化を実行することと、 前記複数の制御変数および補助変数よりなる前記選択されたサブセットの前記目標値のセットと前記複数の制御変数および補助変数よりなる前記選択されたサブセットの測定値とから操作変数値のセットを作成するために、前記制御行列から生成されたコントローラを利用して多重入力/多重出力制御技術を実行することと、 前記プロセスを制御するために前記作成された操作変数値のセットを利用することとを有しおり、 前記サブセット内の制御変数および補助変数の数が前記複数の操作変数内の操作変数の数よりも少ない、プロセスを制御する方法。
- 30A process control element configured to be used as part of a process control routine performed on a processor to control multiple control and auxiliary parameters of a process using multiple operational parameters. A computer-readable medium and a functional block stored on the computer-readable medium and configured to run on the processor to perform multiple input / multiple output control of the process during each control scan period. The functional block is an objective function that defines an optimization criterion based on the plurality of control parameters and auxiliary parameters, and defines an optimization criterion based on the first number of control parameters and auxiliary parameters. Includes an objective function to be used and a linear or quadratic programming routine that utilizes the objective function to generate a set of optimized target values for the plurality of control parameters and auxiliary parameters during each control scan period. Optimizer routine and A predetermined subset of the plurality of control parameters and auxiliary parameters is associated with the plurality of operation parameters, and the number of control parameters and auxiliary parameters in the predetermined subset is equal to the first number and is within the plurality of operation parameters. During each control scan period, the control matrix having the number of operating parameters equal to the first number and the target value of the subset consisting of the control matrix and the plurality of control variables and auxiliary variables are used. A control signal is generated for each of the plurality of operating parameters, and the control signal moves the subset of the plurality of control parameters and auxiliary parameters to the optimum target value of the subset of the plurality of control parameters and auxiliary parameters. A process control element having multiple input / multiple output control routines determined to be. 複数の操作パラメータを利用してプロセスの複数の制御パラメータおよび補助パラメータを制御するためにプロセッサ上で実施されるプロセス制御ルーチンの一部として利用されるように構成されたプロセス制御要素であって、 コンピュータ読取り可能媒体と、 前記コンピュータ読取り可能媒体上に格納され、各制御スキャン期間中に前記プロセスの多重入力/多重出力制御を実施するために前記プロセッサ上で実行されるように構成された機能ブロックとを備え、 該機能ブロックは、 前記複数の制御パラメータおよび補助パラメータに基づいて最適化基準を定義する目的関数であって、第一の数の制御パラメータおよび補助パラメータに基づいて最適化基準を定義する目的関数と、 各制御スキャン期間中に前記複数の制御パラメータおよび補助パラメータの最適化目標値のセットを生成するために前記目的関数を利用する、線形計画法ルーチンまたは二次計画法ルーチンを含むオプチマイザルーチンと、 前記複数の操作パラメータに前記複数の制御パラメータおよび補助パラメータの所定のサブセットを関連付け、該所定のサブセット内の制御パラメータおよび補助パラメータの数が前記第一の数に等しく、前記複数の操作パラメータ内の操作パラメータの数が前記第一の数に等しい、制御行列と、 前記制御行列と前記複数の制御変数および補助変数よりなる前記サブセットの前記目標値とを用いて、各制御スキャン期間中に、前記複数の操作パラメータの各々に対して制御信号を生成し、該制御信号は、前記複数の制御パラメータおよび補助パラメータの前記サブセットの前記最適目標値に前記複数の制御パラメータおよび補助パラメータの前記サブセットを移動するべく決定される、多重入力/多重出力制御ルーチンとを有する、プロセス制御要素。
- 31A process control element configured to be used as part of a process control routine performed on a processor to control multiple control and auxiliary parameters of a process using multiple operational parameters. A computer-readable medium and a functional block stored on the computer-readable medium and configured to run on the processor to perform multiple input / multiple output control of the process during each control scan period. The functional block comprises an objective function that defines an optimization criterion based on the plurality of control parameters and auxiliary parameters, and an optimization target value for the control parameter and the auxiliary parameters during each control scan period. An optimizer routine that utilizes the objective function to generate a set of, and a control matrix that associates the plurality of operational parameters with a predetermined subset of the plurality of control parameters and auxiliary parameters. Multiple inputs that generate a control signal for each of the plurality of operational parameters during each control scan period using the control matrix and the target value of the subset of the subset consisting of the plurality of control variables and auxiliary variables. In a multiplex output control routine, the control signal is determined to move the subset of control parameters and auxiliary parameters to the optimal target value of the subset of control parameters and auxiliary parameters. It has multiple input / multiple output control routines, the functional block comprises a storage device for storing a set of control parameter setting points and a set of auxiliary parameter limits and operational parameter limits, and the optimizer routine is , The control parameter is positioned at the control parameter setting point, the auxiliary parameter and the operation parameter are housed within the auxiliary parameter limit and the operation parameter limit, and the operation is performed so as to result in minimizing or maximizing the objective function. It is configured to determine the set of said optimal target values for the parameters. The storage device also stores a set of control parameter setting point limits, maintains the control parameters at the control parameter setting point limits, and keeps the auxiliary parameters and the operating parameters within the auxiliary parameter limits and the operating parameter limits. In the absence of a solution to maintain, the optimizer routine maintains each of the control parameters within the control parameter setting point limit and sets each of the auxiliary parameters and the operational parameters to the auxiliary parameter limit and the operation. It is configured to generate the optimal target value set of the operational parameters that maximizes or minimizes the objective function while keeping it within the parameter limits. The storage device also stores a set of priority indicators for the control parameters, each of the control parameters is maintained within the control parameter setting point limit, and each of the auxiliary parameters and the operation parameters is set to the auxiliary parameter limit. And in the absence of a solution to keep within the operational parameter limits, the optimizer routine will have one or more of the control parameters violate the control parameter setting point based on the priority index of the auxiliary parameter. Each of the control parameters is kept within the control parameter setting point limit to generate the set of target manipulation parameters that maximizes or minimizes the objective function, allowing the control parameters to be generated. The storage device also stores a set of priority indicators of the auxiliary parameters, keeps each of the control parameters within the control parameter setting point limit, and sets each of the auxiliary parameter and the operation parameter to the auxiliary parameter limit. And in the absence of a solution to be maintained within the operational parameter limit, the optimizer routine violates the auxiliary parameter limit at least one of the auxiliary parameters based on the priority index of the auxiliary parameter. A process control element configured to generate the set of target manipulation parameters that maximizes or minimizes the objective function while allowing that. 複数の操作パラメータを利用してプロセスの複数の制御パラメータおよび補助パラメータを制御するためにプロセッサ上で実施されるプロセス制御ルーチンの一部として利用されるように構成されたプロセス制御要素であって、 コンピュータ読取り可能媒体と、 前記コンピュータ読取り可能媒体上に格納され、各制御スキャン期間中に前記プロセスの多重入力/多重出力制御を実施するために前記プロセッサ上で実行されるように構成された機能ブロックとを備え、 該機能ブロックは、 前記複数の制御パラメータおよび補助パラメータに基づいて最適化基準を定義する目的関数と、 各制御スキャン期間中に前記制御パラメータおよび前記補助パラメータに対して最適化目標値のセットを生成すべく前記目的関数を利用するオプチマイザルーチンと、 前記複数の操作パラメータに前記複数の制御パラメータおよび補助パラメータよりなる所定のサブセットを関連付ける制御行列と、 前記制御行列と前記複数の制御変数および補助変数よりなる前記サブセットの前記目標値とを用いて、各制御スキャン期間中に、前記複数の操作パラメータの各々に対して制御信号を生成する多重入力/多重出力制御ルーチンであって、該制御信号は、前記複数の制御パラメータおよび補助パラメータよりなる前記サブセットの前記最適目標値に前記複数の制御パラメータおよび補助パラメータよりなる前記サブセットを移動するように決定される、多重入力/多重出力制御ルーチンとを有し、 前記機能ブロックは、制御パラメータ設定ポイントのセットと補助パラメータリミットおよび操作パラメータリミットよりなるセットとを格納する格納装置を備え、前記オプチマイザルーチンは、前記制御パラメータを前記制御パラメータ設定ポイントに位置付け、前記補助パラメータおよび操作パラメータを前記補助パラメータリミットおよび前記操作パラメータリミット内に納め、前記目的関数を最小化または最大化する結果になるように前記操作パラメータの前記最適目標値のセットを決定するように構成され、 前記格納装置は制御パラメータ設定ポイントリミットのセットも格納しており、前記制御パラメータを前記制御パラメータ設定ポイントリミットに維持し、前記補助パラメータおよび前記操作パラメータを前記補助パラメータリミットおよび前記操作パラメータリミット内に維持する解が存在しない場合には、前記オプチマイザルーチンは、前記制御パラメータの各々を前記制御パラメータ設定ポイントリミット内に維持し、前記補助パラメータおよび前記操作パラメータの各々を前記補助パラメータリミットおよび前記操作パラメータリミット内に維持しながら、前記目的関数を最大化または最小化する前記操作パラメータの前記最適目標値のセットを生成するように構成され、 前記格納装置は前記制御パラメータの優先順位指標のセットも格納しており、前記制御パラメータの各々を前記制御パラメータ設定ポイントリミット内に維持し、前記補助パラメータおよび前記操作パラメータの各々を前記補助パラメータリミットおよび操作パラメータリミット内に維持する解が存在しない場合には、前記オプチマイザルーチンは、前記補助パラメータの前記優先順位指標に基づいて前記制御パラメータのうちの一または複数が前記制御パラメータ設定ポイントを侵害することを許容しながら、前記制御パラメータの各々を前記制御パラメータ設定ポイントリミット内に維持して前記目的関数を最大化または最小化する前記目標操作パラメータのセットを生成するように構成され、 前記格納装置は前記補助パラメータの優先順位指標のセットも格納しており、前記制御パラメータの各々を前記制御パラメータ設定ポイントリミット内に維持し、前記補助パラメータおよび前記操作パラメータの各々を前記補助パラメータリミットおよび前記操作パラメータリミット内に維持する解が存在しない場合には、前記オプチマイザルーチンは、前記補助パラメータの前記優先順位指標に基づいて前記補助パラメータのうちの少なくとも一つが前記補助パラメータリミットを侵害することを許容しながら前記目的関数を最大化または最小化する前記目標操作パラメータのセットを生成するように構成される、プロセス制御要素。
- 32A method of performing control of a process having a first number of control variables and auxiliary variables controlled by a second number of control variables, wherein the control variable and the auxiliary variables are subject to changes in each of the control variables. Determining the step response matrix that defines each response, and selecting said control variables and a subset of said auxiliary variables that have as many control variables and auxiliary variables as or less than the number of operational variables. Creating a square control matrix from the response in the response matrix consisting of said control variable and said selected subset of said auxiliary variable and said manipulated variable, and during each scan of the process, said said control variable and said. Obtaining measurements for each of the selected subsets of auxiliary variables, and calculating optimal operating target values for each of the control variable and the selected subset of auxiliary variables. Each said target value of said control variable and said selected subset of said auxiliary variable and said measured value of said selected subset of said control variable and said auxiliary variable to generate a set of operational parameter signals. To execute the multiple input / multiple output control routine using the control matrix and to use the operation parameter signal to control the process, and to select the subset. Is a method of performing process control, comprising selecting one of the control variables or the auxiliary variables as the variable most responsive to one of the manipulation variables. 第二の数の操作変数により制御される第一の数の制御変数および補助変数を有するプロセスの制御を実行する方法であって、 前記操作変数の各々の変化に対する前記制御変数および前記補助変数の各々の応答を定義するステップ応答行列を決定することと、 操作変数の数と同一またはそれより小さい数の制御変数および補助変数を有する、前記制御変数および前記補助変数のサブセットを選択することと、 前記制御変数および前記補助変数の前記選択されたサブセットと前記操作変数とよりなる前記応答行列内の前記応答から正方制御行列を作成することと、 前記プロセスの各スキャン中において、 前記制御変数および前記補助変数の前記選択されたサブセットの各々の測定値を取得することと、 前記制御変数および前記補助変数の前記選択されたサブセットの各々に対して最適動作目標値を計算することと、 操作パラメータ信号のセットを生成するために、前記制御変数および前記補助変数の前記選択されたサブセットの前記各々の前記目標値と、前記制御変数および前記補助変数の前記選択されたサブセットの前記測定値と、前記制御行列とを用いて多重入力/多重出力制御ルーチンを実行することと、 前記プロセスを制御するために前記操作パラメータ信号を用いることとを有しており、 前記サブセットを選択することには、前記操作変数のうちの一つに対して最も応答性のある変数として前記制御変数または前記補助変数のうちの一つを選択することが含まれる、プロセス制御を実行する方法。
Independent claims11
126 paragraphs, as filed
The present invention generally relates to a process control system, and more particularly to the use of an optimal model prediction controller in a process control system.
This application is a partial continuation of US Patent Application No. 10 / 310,416, filed December 5, 2002, entitled "Settings and Browsing Display for Integrated Model Predictive Control and Optimizer Functional Blocks". It is an application and claims priority based on this application, the US patent application entitled "Settings and Viewing Display for Integrated Model Predictive Control and Optimizer Functional Blocks" in 2002. It is a partial continuation of US Patent Application No. 10 / 241,350 filed on September 11, and claims priority based on this application. These applications are incorporated herein by reference in their entirety from all perspectives. Process control systems, such as distributed process control systems or scalable process control systems used in chemical processes, petroleum processes, or other processes, are via analog buses, digital buses, or combined analog / digital buses. It is common to have one or more process controllers communicatively connected to each other, to at least one host or operator workstation, and to field devices. Field devices are, for example, valves, valve positioners, switches, and transmitters (eg, temperature sensors, pressure sensors and flow rate sensors) that can perform in-process functions such as opening and closing valves and measuring process parameters. The process controller receives signals representing process measurements and / or other information related to these field devices created by the field devices and uses this information to perform control routines and then the control signals. Generate. This control signal is transmitted to the field device via the bus described above to control the operation of the process. Information from field devices and controllers is typically made available to one or more applications run by the operator workstation, which allows the operator to view the current status of the process. Any desired process-related operation, such as modifying process behavior, can be performed.
A process controller is a different algorithm, subroutine, control loop for each of several different loops defined or implemented within a process, such as flow control loops, temperature control loops, pressure control loops, etc. It is usually programmed to execute (these are all control routines). Generally speaking, each of these control loops has one or more input blocks, such as an analog input (AI) functional block, and a single, such as a proportional differential integration (PID) control functional block or a fuzzy logic control functional block. It has a single output control block and a single output block such as an analog output (AO) functional block. These control loops typically perform single input / single output control because the control block produces a single control output, such as the valve position used to control the single process input. However, in certain cases, multiple independent processes because more than one single process input affects the controlled process variables, and in effect each process input can affect the state of multiple process outputs. It cannot be said that it is very effective to utilize a single input control loop / single output control loop that operates in. An example of such is, for example, in a process with a tank filled by two inflow pipes and emptied by a single outflow pipe, each pipe is controlled by a different valve, and the temperature, pressure, and throughput of the tank. Is controlled to be at or near the desired value. As mentioned above, control of tank throughput, temperature, and pressure can be performed using separate processing control loops, separate temperature control loops, and separate pressure control loops. However, in this case, when the temperature control loop operates to change the setting of one of the input valves to control the temperature in the tank, the pressure in the tank rises, which causes, for example, the pressure loop to lower the pressure. The discharge valve can be opened. Then, by this operation, the processing amount control loop is entered. One of the force valves is closed, which affects the temperature, so that the temperature control loop can operate in another. As can be seen from this example, a single-input / single-output control loop causes the process output (in this case, throughput, temperature and pressure) to oscillate without reaching a stable state. It will operate in an unacceptable manner.
<p> Therefore, model predictive control (MPC) or other types of advanced control have been used to perform process control in situations where changes to a particular controlled process variable affect multiple process variables or outputs. Since the late 1970s, numerous successful cases of implementing model predictive control have been reported, and MPC has become the predominant form of advanced multiple variable control in the process industry. Furthermore, MPC is implemented as software for the distributed control system layer in the distributed control system. U.S. Pat. Nos. 4,616,308 and 4,349,869 outline MPC controllers that can be used within process control systems.</p><p> In general, MPC measures the effect of each change of multiple process inputs on each of multiple process outputs, and then uses this measured response to model a control matrix or process. It is a multiple input / multiple output control method. A process model or control matrix, which generally defines the steady-state behavior of a process, is mathematically inverted and then used as or in a multiple input / multiple output controller for the process input. Control process output based on the changes brought about. In some cases, the process model is represented as a process output response curve (usually a step response curve) for each process input, which is created, for example, based on a series of pseudo-random step changes provided for each process input. sell. These response curves can be used to model the process in known ways. Since model predictive control is known in the art, detailed description of this specification is omitted herein, but Qin, S. Joe and Thomas A. Described by Badgwell, An Overview of Industrial Model Predictive Control Technology, AIChE Conference, 1996.</p><p> MPC has proven to be a very effective and useful control technique and is used in connection with process optimization. To optimize a process with MPC, the optimizer can run the process at the optimal point by minimizing or maximizing one or more process input variables determined by the MPC routine. Although this technique is computer-friendly, in order to optimize a process from an economic point of view, for example, a process that has a significant impact on improving the economic behavior of the process (such as process flow or quality). You need to select a variable. In order for a process to operate at the optimum point from a financial or economic point of view, it is usually necessary to control not only a single process variable but also many process variables in combination with each other.</p><p> As a solution for dynamic optimization by MPC, optimization using more modern technology such as quadratic programming technology or interior point method has been proposed. These methods determine the optimal solution, and the optimizer controls the move of the controller output (that is, the instrumental variable of the process), taking into account process dynamics, current constraints, and optimization goals. To provide. However, this approach puts a huge load on the computer and is not practically feasible at the current state of the art.</p><p> In many cases with MPC, the number of instrumental variables available within a process (that is, the control output of an MPC routine) is the number of control variables for that process (that is, the number of process variables that should be controlled to a particular set point. ) Exceeds. As a result, there are often many degrees of freedom available for optimizing and handling constraints. Theoretically, in order to make such an optimization, the values represented by process variables, constraints, limits, and economic factors that define the optimum operating point of the process must be calculated. Often, these process variables are constrained variables. This is because these process variables have limits related to the physical properties of the process, and the process variables must belong to and be maintained within these limits. For example, process variables that represent the level of a tank are limited to the maximum and minimum levels that the actual tank can physically reach. The optimization function can calculate the cost and / or profit so that it operates at a level that maximizes the profit and minimizes the cost in relation to each of the constraint or auxiliary variables. The measurements of these auxiliary variables are then provided as input to the MPC routine, which can be treated as a control variable with a set point equal to the working point of the auxiliary variable defined by the optimization routine.</p><p> Only in square control where the number of control inputs to the process (ie, the instrumental variables brought about by the control routine) is equal to the number of controlled process variables (ie, the inputs to the controller), the MPC has the performance required for the application. On the other hand, it often produces the greatest results. However, the number of auxiliary constraint variables plus the number of process control variables is often larger than the number of instrumental variables. Performing an MPC in such a non-square configuration would result in unacceptably degraded performance.</p><p> Dynamically select a set of control and constraint variables equal to the number of manipulated variables and generate a controller online or during process operation to determine the next move of this manipulated variable. It is probable that others were trying to solve the above problems by doing so. However, this technique is expensive from a computer point of view. This is because this technique applies matrix inversion and may not be available, for example, in the case of MPCs that are executed as functional blocks in process controllers. Equally important, the combination of the generated controller's inputs and outputs can cause the controller to go into a bad state, which can lead to unacceptable behavior. When configuring the controller offline, the controller's adjustments can be verified and improved, but such work is an undue burden on online operation and is practical to perform at the controller level. Is impossible for.</p>
<p> An integrated optimization / control block that implements optimization routines and multiple input / multiple output control routines A process control configuration system used when creating or browsing is provided. This configuration system allows the user to view or configure optimizer or control routines. For example, a storage routine stores information belonging to multiple control variables and auxiliary variables and multiple manipulated variables used by optimization routines and / or control routines, and a display routine stores multiple control variables and auxiliary variables and multiple control variables. A display screen for information belonging to an operation variable can be provided to the user.</p><p> In one embodiment, the storage routine stores response information for each of at least some of the control and auxiliary variables. The response information of the control variable or the auxiliary variable may have information representing each response of the control variable or the auxiliary variable for each manipulated variable. For example, the response may be a step response, an impulse response, a ramp response, or the like. The display routine can display the response information to the user. For example, the user may identify an instrumental variable and the display routine may display the response of one or more of the control and auxiliary variables to that particular instrumental variable.</p><p> In another aspect, the process control system that controls the process comprises a multiple input / multiple output controller and an optimizer. The multiple input / multiple output controller is based on multiple measurement inputs from the process during each operation cycle of the process control system and is a set of target values provided for multiple inputs / multiple outputs during each operation cycle of the process control system. Generates multiple control outputs that are configured to control the process based on. The optimizer creates a set of target values used by the multiple input / multiple output controller during each operation cycle of the process control system. The optimizer keeps the control variables within a given set point limit, keeps the set of auxiliary variables within a given set of auxiliary variable limits, and keeps the set of manipulated variables within a given set of manipulated variable limits. , Attempts to minimize or maximize the objective function. If the optimizer cannot determine the solution, the optimizer attempts to minimize or maximize the objective function while allowing it to violate at least one of the set point limits.</p><p> In another aspect, a process control technique that controls a process having multiple control variables and multiple control variables and auxiliary variables selects a subset consisting of the control variables and auxiliary variables used when performing process control. At least one of the selected control variables and auxiliary variables is selected based on the fact that it is the most responsive to one of the operational variables. A control matrix is created using these selected control variables, auxiliary variables, and instrumental variables, and a controller is generated from this control matrix. Inputs to this controller include selected control variables and auxiliary variables, and outputs of this controller include instrumental variables. Optimization is performed by selecting a process action point that minimizes or maximizes the objective function, which is defined by a set of target values for the selected control and auxiliary variables. Execute multiple input / multiple output control technology using a controller, and create a set of instrumental variable values from the above target values.</p>
Here, in FIG. 1, the process control system 10 comprises a process controller 11, which is a data historian 12 and one or more host workstations or computers 13 (of any kind, each having a display screen 14). It may be connected to a personal computer, workstation, etc.) so that it can communicate with it. The controller 11 is also connected to the field devices 15 to 22 via input / output (I / O) cards 26 and 28. The data historian 12 may be a desired type of data acquisition unit having a desired type of memory for storing data and desired or known software, hardware, or firmware, and is one of workstations 13. It may be separated (as shown in Figure 1) or part of it. The controller 11 is, for example, a DeltaV® controller sold by Fisher Rosemount Systems, Inc. that communicates with the host computer 13 and the data historian 12 through, for example, an Ethernet® connection or other desired communication network 29. It may be connected as possible. The communication network 29 has a form such as a local area network (LAN), a wide area network (WAN), and a telecommunications network, and is realized by using wired or wireless technology. Controller 11 is associated with, for example, a standard 4-20mA device and / or with smart communication protocols such as the FOUNDATION® fieldbus protocol (fieldbus), the HART® protocol, and so on. Communicatably connected to field devices 15-22 using the desired hardware and software.
Field devices 15-22 may be any type of device, such as sensors, valves, transmitters, positioners, and I / O cards 26, 28 may be any type of I / O device that follows the desired communication protocol or controller protocol. In the embodiment shown in FIG. 1, field devices 15-18 are standard 4-20mA devices that communicate with the I / O card 26 over an analog line, and field devices 19-22 use fieldbus protocol communication. It is a smart device such as a fieldbus field device that communicates with the I / O card 28 via a digital bus. Of course, field devices 15-22 may comply with any other standard or protocol desired, including any standard or protocol developed in the future.
Controller 11 is one of many controllers distributed within plant 10 and having at least one processor inside, executing or monitoring one or more process processing routines, which routines are inside. It may have a control loop stored in or associated with it. Controller 11 also communicates with devices 15-22, host computer 13, and data historian 12 to control the process in a desired manner. It should be noted that any of the control routines or elements described herein may be implemented or performed by another controller or other device, if desired. Similarly, the control routines or elements implemented herein within the process control system 10 may be in any form, including software, firmware, hardware, and the like. In this regard, the process control element may be any component or part of the process control system, including, for example, routines, blocks, or modules stored on a computer-readable medium. A module, or a part of a control procedure such as a subroutine, a part of a subroutine (eg, a line of code), a control routine is a ladder logic, a sequential function chart, a functional block diagram, object-oriented programming, or any other software programming language. Alternatively, it may be implemented in any desired software format using the design paradigm. Similarly, control routines may be hard-coded into, for example, one or more EPROMs, EEPROMs, application specific integrated circuits (ASICs), or other hardware or firmware elements. In addition, control routines may be designed using any design tool, including graphic design tools or other types of software / hardware / firmware programming or design tools. In this way, the controller 11 can control the battle in the desired way.
In one embodiment, controller 11 executes a control strategy using what is commonly referred to as a functional block. In this strategy, each functional block is a component or object of the entire control routine, acts in association with other functional blocks (by communication called links), and executes process control loops within process control system 10. .. Functional blocks are usually control functions such as input functions such as input functions associated with transmitters, sensors or other process parameter measuring devices, control functions such as control functions associated with control routines that perform PID control, fuzzy logic control, etc., or valves. It executes one of the output functions that control the operation of some devices such as, and performs some physical function in the process control system 10. Of course, there are also hybrid functional blocks and other types of functional blocks. Functional blocks may be stored in controller 11 and executed by it, but this is typically some kind of smart field device such as a standard 4-20mA device, and a HART device. It may be used in or related to these, or may be stored and executed within the field device itself, as in the case of fieldbus devices. Although the control system is described here using a functional block control strategy that uses an object-oriented programming paradigm, the control strategy or control loop or control module uses other conventions such as ladder logic and sequential function charts. Or may be implemented or designed using other desired programming languages or programming paradigms.
As shown in enlarged block 30 of FIG. 1, controller 11 may have multiple single loop control routines, designated as routines 32, 34, and one or more advanced control loops, designated as control loop 36. You may do it. Each such loop is commonly referred to as a control module. The single loop control routine 32 performs signal loop control with a single input / single output fuzzy logical control block connected to the appropriate analog input (AI) and analog output (AO) functional blocks. The single loop control routine 34 is intended to perform signal loop control with a single input / single output PID control block connected to the appropriate analog input (AI) and analog output (AO) functional blocks. As shown, these functional blocks may be associated with process controllers such as valves, measuring devices such as temperature and pressure transmitters, and other devices within process control system 10. May be related. The altitude control loop 36 is shown as including an altitude control block 38 having an input communicably connected to a plurality of AI functional blocks and an output communicably connected to a plurality of AO functional blocks. The inputs and outputs of block 38 may be communicably connected to other desired functional blocks or control elements to receive other types of inputs and transmit other types of control outputs. As will be described later, the advanced control block 38 may be a control block that integrates a model predictive control routine and an optimizer to execute optimal control of a process or a part of the process. Advanced control blocks are described herein as including model predictive control (MPC) blocks, but other multiple input / multiple output control routines such as neural network modeling or control routines, multivariable fuzzy logic control routines, or It may be a procedure. The functional block shown in FIG. 1, including the altitude control block 38, is either executed by controller 11 or workstation 1
As shown in FIG. 1, one of workstations 13 has an altitude control block generation routine 40, which is used to create, download, and execute altitude control block 38. The advanced control block generation routine 40 may be stored in memory within workstation 13 and executed by a processor, but in addition to or in place of this, the routine (or part thereof) may, if desired, It may be stored and executed in another device in the process control system 10. In general, the advanced control block generation routine 40 is collected by the control block creation routine 42, which creates the advanced control blocks further described herein and connects the advanced control blocks into the process control system, and the advanced control blocks. Process modeling routine 44 that creates a process model or a part of it for a process based on the data, and control logic parameters for advanced control blocks are created from the process model, and these control logic parameters are controlled by the process. It has a control logic parameter creation routine 46 that is stored or downloaded in the altitude control block for use in, and an optimizer routine 48 that creates an optimizer to be used in combination with the altitude control block. These routines 42, 44, 46, 48 may consist of a series of different routines. In this series of routines, the first is to create an advanced control element having a control input unit configured to receive process output and a control output unit configured to provide control signals to the process input unit. A routine, a second routine that allows the user to download and communicatively connect the advanced control elements in the process control routine (which may be the desired configuration routine), and an advanced control element for each process input. Select a third routine that provides the excitation waveform, a fourth routine that uses an altitude control element to collect data that reflects the response of each process output to the excitation waveform, and a set of inputs for the altitude control block. Or user
FIG. 2 is a block diagram showing in more detail one embodiment of the altitude control block 38 communicatively connected to the process 50. It is understood from this figure that the advanced control block 38 generates a set of instrumental variable MVs to provide to the other functional blocks, and these other functional blocks are connected to the control input of process 50. As shown in FIG. 2, the altitude control block 38 has an MPC controller block 52, an optimizer 54, a target transformation block 55, a step response model or control matrix 56, and an input processing / filter block 58. .. The MPC controller 52 is a standard M × M square (M can be any number greater than 1) MPC routine or procedure with as many inputs as outputs. The MPC controller 52, as input, is a set of N control variable CV and auxiliary variable AV (vector of values) measured within process 50, and a well-known or expected to be provided to process 50 at some time in the future. A set of disturbance variables DV that are changes or disturbances that are made, and a steady-state target control variable CV provided by target transformation block 55.<sub>T</sub>And auxiliary variables AV<sub>T</sub>Receive with a set of. The MPC controller 52 uses these inputs to create a set of M instrumental variable MVs (in the form of control signals) and supplies the instrumental variable MV signals to control process 50.
In addition, the MPC controller 52 represents a predicted steady state control variable CV that represents the predicted values on the predicted horizon of each of the control variable CV, auxiliary variable AV, and operation variable MV.<sub>SS</sub>Set and the predicted steady state auxiliary variable AV<sub>SS</sub>Set of and the predicted steady-state instrumental variable MV<sub>SS</sub>Is calculated and provided to the input processing / filter block 58. Input processing / filter block 58 is a control variable CV<sub>SS</sub>, Auxiliary variable AV<sub>SS</sub>, And instrumental variable MV<sub>SS</sub>Processes the determined steady-state values described above to reduce the effects of noise and unpredictable disturbances on these variables. The input processing / filter block 58 may include a lowpass filter or any other input processing that reduces the effects of noise, modeling errors, and disturbances on these values, and the filtered control variable CV.<sub>SSfil</sub>, Auxiliary variable AV<sub>SSfil</sub>, And instrumental variable MV<sub>SSfil</sub>Will be provided to the optimizer 54.
The optimizer 54, in this example, is a linear programming (LP) optimizer that optimizes the process using an objective function (OF) that can be provided by selection block 62. Alternatively, the optimizer 54 may be a quadratic programming optimizer, that is, an optimizer having a linear model and a quadratic objective function. In general, the objective function OF identifies the costs or profits associated with each of the multiple control variables, auxiliary variables, and instrumental variables, and the optimizer 54 maximizes or minimizes these objective functions. Set the target value of the variable of. The selection block 62 mathematically represents the various ways in which the objective function OF provided to the optimizer 54 determines the optimal behavior of process 50, even if it is selected as one of a pre-stored set of objective functions 64. Good. For example, one pre-stored objective function 64 is configured to maximize plant profit, another objective function 64 is configured to minimize the use of certain undersupplied raw materials, and Another objective function 64 may be configured to maximize the quality of the product manufactured within process 50. In general, the objective function depends on the set point value or range of the control variable CV and the limits of the auxiliary variable AV and the operational variable MV, using the cost or profit associated with the displacement of the control variable, auxiliary variable, and operational variable, respectively. Determine the optimal process operating point within a defined and acceptable set of points. Of course, in place of or in addition to those described herein, a desired objective function that includes an objective function that somewhat optimizes each of several concerns such as raw material use and profitability. It can also be used.
To select one of the objective functions 64 described above, the user or operator selects one of the objective functions 64 on the operator terminal or user terminal (eg, one of workstations 13 in FIG. 1). By selecting, the objective function 64 to be used may be presented, and this selection is provided to selection block 62 via input 66. In response to input 66, selection block 62 provides the selected objective function OF to optimizer 54. Of course, the user or operator can change the objective function used while the process is running. If the user does not provide or select an objective function, the default objective function may be used if desired. One of the possible default objective functions is described in detail below. Although shown as part of the altitude control block 38, various objective functions are stored in the operator terminal 13 of FIG. 1 and one of these objective functions is being created or generated. May be provided to the block.
In addition to the objective function OF, the optimizer 54 is, as input, a set of control variable set points (typically set points specified by the operator for the control variable CV of process 50, by the operator or other user. It can be changed) and receives the range and weighting or priority associated with each of these control variables CVs. In addition, the optimizer 54 receives a set of ranges or constraint limits for the auxiliary variable AV and a set of weights or priorities and a set of limits of the instrumental variable MV used to control process 50. In general, the range of auxiliary and manipulated variables sets limits for auxiliary and manipulated variables (usually based on the physical characteristics of the plant), and the range of control variables allows the control variables to better control the process. The range of operation is provided. Weighting of control variables, auxiliary variables, and operational variables may identify the relative importance of control variables and auxiliary variables to each other during the optimization process, and in some situations some of these constraints are compromised. If so, it may be used to allow the optimizer 54 to generate a control target solution.
During operation, the optimizer 54 may be optimized using linear programming (LP) techniques. As is known, linear programming is a mathematical technique for solving a set of linear equations and inequalities that maximizes or minimizes a particular additional function, called an objective function. As mentioned above, the objective function may represent economic value such as cost or profit, or it may represent other objectives instead of economic objectives. Moreover, as is understood, the steady-state gain matrix defines the steady-state gain for each possible pair of manipulated variable and control variable or auxiliary variable. In other words, the steady-state gain matrix defines the steady-state gain in each control and auxiliary variable for each unit change of the instrumental variable and the disturbance variable. This steady-state gain matrix is generally an N × M matrix, where N is the number of control variables and auxiliary variables and M is the number of operational variables used in the optimizer routine. In general, N may be greater than, equal to, or less than M, and in the most common case N is greater than M.
Using known or standard LP algorithms or techniques, the optimizer 54 was selected while performing process operations within the control variable CV set point range limit, auxiliary variable AV constraint limit, and operational variable MV limit. Goal control variable MV that maximizes or minimizes the objective function OF<sub>T</sub>Iteratively operates (determined from the steady-state gain matrix) to determine the set of. In one embodiment, the optimizer 54 actually determines the amount of change in the instrumental variable and the control variable CV in the predicted steady state.<sub>SSfil</sub>, Auxiliary variable AV<sub>SSfil</sub>And instrumental variable MV<sub>SSfil</sub>Uses the displayed value to determine the change in process behavior from the current behavior of the process, that is, the dynamic behavior of the MPC control routine in the process of reaching the target or optimal process behavior point. .. This dynamic motion is important because it is necessary to ensure that no constraint limits are violated during the transition from the current motion point to the target motion point.
In one embodiment, the LP optimizer 54 may be designed to minimize an objective function of the form:
<maths num="1"><img file="JP2005292862A_D0001.tif" /></maths>
Where Q = total cost / profit, P = AV<sub>S</sub>And CV<sub>S</sub>And related profit vector, C = MV<sub>S</sub>And related cost vectors, A = gain matrix, DMV = MV<sub>S</sub>It is a vector for calculating the amount of change in.
Profit values are positive and cost values are negative, which indicate their respective effects on the object. Using this objective function, the LP optimizer 54 operates with the control variable CV within a certain range from the target setting point and the auxiliary variable AV within its own upper and lower bound constraint limits. Calculate the amount of change in the instrumental variable MV that minimizes the objective function while ensuring that the variable MV is within its own upper and lower limits.
In one of the available optimization procedures, the instrumental variable increment is used at the present time (t), the sum of the instrumental variable increments is used on the control horizon, and the control and auxiliary variable increments are the current position. It is determined at the end point of the predicted horizon instead of the value in. This is common in LP applications. Of course, the LP algorithm may be modified appropriately for the purpose of this variation. In either case, the LP optimizer 54 may use a steady-state model, and as a result, the application generally requires steady-state. The predictive horizon commonly used in MPC design guarantees a future steady state for the self-regulating process. Assuming that the predictive horizon is p and the control horizon is c, one possible predictive process steady-state equation for the m × n input / output process expressed in incremental form is as follows.
<maths num="2"><img file="JP2005292862A_D0002.tif" /></maths>
Vector DMV (t + c) is all controller output mv<sub>i</sub>To represent the total amount of change on the control horizon brought about by, it is as follows.
<maths num="3"><img file="JP2005292862A_D0003.tif" /></maths>
These changes must meet the limits of both the instrumental variable MV and the control variable CV (where the auxiliary variables are treated as control variables) and are therefore:
<maths num="4"><img file="JP2005292862A_D0004.tif" /></maths>
<maths num="5"><img file="JP2005292862A_D0005.tif" /></maths>
In this case, the objective function that maximizes the product value and minimizes the raw material cost can also be determined as follows.
<maths num="6"><img file="JP2005292862A_D0006.tif" /></maths>
Here, UCV is a cost vector for unit change in the control variable CV process value, and UMV is a cost vector for unit change in the manipulated variable MV process value.
Applying the above equation (1), the objective function can be expressed as follows with respect to the instrumental variable MV.
<maths num="7"><img file="JP2005292862A_D0007.tif" /></maths>
The LP algorithm calculates the objective function to find the initial vertex in the region defined by equation (7) in order to find the optimum solution, and the vertex having the maximum value (minimum value) of the objective function is the optimum solution. The solution is improved at each step until the algorithm determines that. Then, the determined optimal instrumental variable value is the target instrumental variable MV achieved in the control horizon.<sub>T</sub>Applies as.
In general, running the LP algorithm on a prepared matrix returns three possible results. The first is the target instrumental variable MV<sub>T</sub>To obtain a unique solution for. Second, there are no boundaries in the solution. However, this does not occur if the control variable and the auxiliary variable each have an upper limit and a lower limit. Third, there is no solution. This means that the boundaries or constraints of process variables are too tight. To address the third case, the entire constraint may be relaxed to obtain a solution. Basically, it is assumed that the optimizer cannot change the limit (upper limit / lower limit) of the manipulated variable. Similar assumptions can be used for constraints or limits (upper / lower limits) of auxiliary variables. However, since the optimizer moves the control variable CV to an arbitrary setting point (CV setting point control), the control variable CV is moved to a value within an arbitrary range from this setting point or a value within a range around it. It can be changed to move to any of (CV range control). In this case, the value of the control variable can be placed within a range rather than at a particular set point. If there are some auxiliary variable AVs that violate their own constraints and the transition from CV set point control to CV range control does not provide a solution, then based on the weighting or priority specification provided. It is also possible to relax or ignore the constraints of auxiliary variables. In one embodiment, the solution is determined by minimizing the square error of the auxiliary variables and allowing each to infringe on that constraint, or by sequentially abandoning the constraints of the lowest priority auxiliary variable. sell.
As described above, the objective function OF can be selected or set by default by the control block generator 40. One way to make such default settings is provided below. Specifically, it is desirable to provide optimization capability, but in many cases it is only required to maintain the setting points of control variables while preserving the behavioral constraints of auxiliary variables and instrumental variables. For these applications, block 38 may be configured to act as just an MPC functional block. To allow for such ease of use, the default "behavior" objective function may be created automatically by assigning default costs to various variables in the objective function along with the weighting of the default auxiliary variable AV. These defaults may set all costs for the auxiliary variable AV or instrumental variable MV equally, or assign another predetermined cost for these auxiliary variable AV and instrumental variable MV. If the expert option is selected, the user may create additional optimization options and determine the associated costs for the various objective functions 64. The expert user can also modify the default auxiliary variable AV weighting and the default control variable CV weighting of the default objective function.
For example, in one embodiment where economic factors are not specified for the process configuration, the objective function may be automatically created from the MPC configuration. In general, the objective function can be created using the following formula.
<maths num="8"><img file="JP2005292862A_D0008.tif" /></maths>
Variable C<sub>j</sub>And P<sub>j</sub>Can be defined from the configuration settings. In particular, assuming that the control variable CV setting point can be defined only by LL or HL, p<sub>j</sub>The value can be defined as follows.
If the set point is defined in LL or a minimum value is selected, p<sub>j</sub>= -1 If the set point is defined in HL or the maximum value is selected, p<sub>j</sub>= 1 Assuming no configuration information is entered for the auxiliary variable AV, all p for the auxiliary variable AV<sub>j</sub>= 0. Similarly, for the instrumental variable MV, C<sub>j</sub>Value is preferred instrumental variable target MV<sub>T</sub>Depends on whether is defined. Preferred operating goal MV<sub>T</sub>Is defined as follows:
MV<sub>T</sub>If HL (upper limit) or maximum value is selected, C<sub>j</sub>= 1 MV<sub>T</sub>If LL (lower limit) or minimum value is selected, C<sub>j</sub>= -1 MV<sub>T</sub>If is not defined, C<sub>j</sub>= 0 If desired, the choice of using the optimizer 54 in conjunction with the MPC controller 52 is adjustable, which can provide a degree of optimization. In order to perform this function, the amount of change in the instrumental variable MV used in the controller 52 can be changed by various weighting the amount of change in the instrumental variable MV determined by the MPC controller 52 and the optimizer 54. .. A combination of such an instrumental variable MV and a weight is valid MV (MV) in the present specification.<sub>eff</sub>). Valid MV<sub>eff</sub>Can be determined as follows.
<maths num="9"><img file="JP2005292862A_D0009.tif" /></maths>
S is chosen arbitrarily or empirically. Generally, S can be greater than 1 and in the range of 10. Here, when α = 0, the optimizer contributes to the effective output as set at the time of generation. When α = 1, the controller provides MPC with dynamic control only. Of course, in the range between 0 and 1, optimizer and MPC controls make various contributions.
The above default objective function may be used to establish the optimizer's behavior during the various possible modes of operation of the optimizer. In particular, if the number of control variable CVs matches the number of control variable MVs, the expected behavior with the default settings is as long as the auxiliary variable AV and the control variable MV are expected to fall within their limits. It means that the setting point of CV can be maintained. If the auxiliary or instrumental variables are expected to exceed the limits, the control variable action setting points can be changed within that range so as not to violate these limits. In this case, if the optimizer 54 cannot obtain a solution that satisfies the limits of the auxiliary variable and the limits of the manipulated variable while keeping the control variable within that range, the control variable is kept within that range and the auxiliary variable is maintained. Can be tolerated to deviate from its constraint limits. In order to find the optimal solution, the auxiliary variables AV predicted to violate the limits are treated equally, and the average limit deviation of these auxiliary variable AVs is minimized.
To establish this behavior, the default cost / profit used by the objective function is that the control variable CV is assigned a profit of 1 if the range is defined so that the deviation is below the set point. If the range is defined so that the deviation exceeds the set point, it may be set automatically so that the control variable CV is assigned a profit of -1. The auxiliary variable AV in the limit may be assigned a profit of 0 and the instrumental variable MV may be assigned a cost of 0.
If the number of control variables CVs is less than the number of instrumental variables MVs, additional degrees of freedom can be used to address the requirements associated with the set manipulated variable MV final pause position. Here, the control variable setting point (if the control variable CV is defined) is maintained as long as the auxiliary and manipulated variables are expected to fall within their limits. The mean deviation of the instrumental variables from the final pause position is minimized. If one or more of the auxiliary and manipulated variables are expected to violate their limits, the control variable behavior setting points are changed within the settings so that these limits are not violated. Under this condition, if there are multiple solutions, the solution used for control minimizes the mean deviation of the instrumental variables from the set final pause position.
If the optimizer 54 does not obtain a solution that satisfies the auxiliary and manipulated variables and keeps the control variable in a certain range (ie, there is no solution), the control variable is kept in the range and the auxiliary variable. Is allowed to deviate from the constraint limit. In finding the best solution, auxiliary variables that are expected to violate the limits are treated equally and their mean limit deviations are minimized. To perform this approach, the default cost / profit ratio used by the objective function is a profit of 1 if the range is defined to allow deviations below the set point. Is automatically set to assign a -1 profit to the control variable if is defined to allow deviations above the set point. Auxiliary variables are assigned a profit of 1 or -1, and instrumental variables are assigned a cost of 0.1.
In either case, after the operation, the optimizer 54 will use the optimal or target instrumental variable MV.<sub>T</sub>Is provided to the target transformation block 55, which uses the steady-state gain matrix to provide the target instrumental variable MV.<sub>T</sub>Determine the target steady-state control and instrumental variables derived from. This conversion is easy to calculate. Because the steady-state gain matrix defines the interaction between the manipulated variable and the control and auxiliary variables, the defined target (steady-state) manipulated variable MV<sub>T</sub>From the target instrumental variable CV<sub>T</sub>And target auxiliary variable AV<sub>T</sub>This is because it can be used to uniquely determine.
Once this is determined, at least N target control variables CV<sub>T</sub>And target auxiliary variable AV<sub>T</sub>A subset consisting of is provided as input to the MPC controller 52, which controller has these target control variables CV as described above.<sub>T</sub>And target auxiliary variable AV<sub>T</sub>New steady-state instrumental variable (on control horizon) using<sub>SS</sub>Determine the set of. The MV<sub>SS</sub>Set of target values CV at the end of the predicted horizon<sub>T</sub>And AV<sub>T</sub>Move the current control variable CV and auxiliary variable AV to. Of course, as we all know, the MPC controller has these variables MV<sub>SS</sub>The instrumental variable is changed stepwise to reach the steady state value of, and in theory, this variable MV<sub>SS</sub>Is the target instrumental variable MV determined by the optimizer 54<sub>T</sub>Will be. The optimizer 54 and MPC controller 52 operate as described above during each process scan, so the target value of the instrumental variable MV<sub>T</sub>May change from scan to scan. As a result, the MPC controller has these target instrumental variables MV, especially in the presence of noise, unexpected disturbances, process 50 changes, etc.<sub>T</sub>You may never reach a particular set of multiple sets of. However, the optimizer 54 always drives the controller 52 to move the instrumental variable MV to the optimal solution.
As is known, the MPC controller 52 has a control prediction process model 70, which is an N × (M + D) step response matrix (N is the number of control variables CV plus the number of auxiliary variables AV). , M may be the number of instrumental variables MV, D may be the number of disturbance variables DV). The control prediction process model 70 creates pre-calculated predictions for each of the control variable CV and the auxiliary variable AV on the output 72, and the vector adder 74 actually measures these predictions for the current time. Create an error vector or correction vector on the input 76 by subtracting it from the values of the CV and the auxiliary variable AV.
The control prediction process model 70 then uses an N × (M + D) step response matrix on the control horizon based on the disturbance and manipulation variables provided for the other inputs of the control prediction process model 70. Predict future control parameters for each of the control variable CV and auxiliary variable AV. In addition, the control prediction process model 70 is a prediction steady state value CV of control variables and auxiliary variables.<sub>SS</sub>And AV<sub>SS</sub>Is also provided for input processing / filter block 58.
The control target block 80 uses the trajectory filter 82 preset in the block 38 to provide N target control variables CV provided by the target transformation block 55.<sub>T</sub>And auxiliary variables AV<sub>T</sub>Determine the control target vector for each of. In particular, the locus filter provides a unit vector that defines how control variables and auxiliary variables are gradually moved to their target values. The control target block 80 contains this unit vector and the target variable CV.<sub>T</sub>And AV<sub>T</sub>The target variable CV in the period defined by the control horizon time using<sub>T</sub>And AV<sub>T</sub>Create dynamic control target vectors for each of the control and auxiliary variables that determine the change in. Subsequently, the vector adder 84 subtracts the future control parameter vectors of the control variable CV and the auxiliary variable AV from the dynamic control vector, and determines the error vectors of the control variable CV and the auxiliary variable AV. Each future error vector of the control variable CV and the auxiliary variable AV is then provided to the MPC algorithm to minimize, for example, the least squares error of the instrumental variable MV on the control horizon and the control variable CV and the auxiliary variable AV on the predictive horizon. Operates to select the MV step of the manipulated variable to be converted. Naturally, the MPC algorithm or controller uses an M × M process model or control matrix that results from the relationship between the N control variables and auxiliary variables input to the MPC controller and the M manipulation variables output from the MPC controller 52. ..
More specifically, the MPC algorithm that works with the optimizer has two main purposes. One is to try to minimize CV control error with the minimum MV movement within the behavioral constraint, and the other is the optimal steady state MV value set by the optimizer and the optimal steady state. Attempts to achieve the target CV value calculated directly from the state MV value.
To achieve these goals, the original MPC algorithm with no constraints can be extended to include the MV target value into a least squares solution. The objective function of this MPC controller is:
<maths num="10"><img file="JP2005292862A_D0010.tif" /></maths>
Here, CV (k) is the prediction vector of the p-step destination of the controlled output, R (k) is the reference trajectory (setting point) vector of the p-step destination, and ΔMV (k) is the increment of the c-step destination. Control movement vector, Γ<sup>y</sup>= diag [Γ<sup>y</sup><sub>1</sub>, ..., Γ<sup>y</sup><sub>p</sub>] Is the control output error penalty matrix, Γ<sup>u</sup>= diag [Γ<sup>u</sup><sub>1</sub>, ..., Γ<sup>u</sup><sub>c</sub>] Is the control movement penalty matrix, p is the predicted horizon (number of steps), c is the control horizon (number of steps), Γ<sup>o o</sup>Is the error penalty for the total movement of the controller output on the control horizon for the target optimal variation of the MV defined by the optimizer. For brevity, the objective function is shown as a single input / single output (SISO) control.
As will be understood, the first two terms are the objective functions of the MPC controller without constraints, and the third term sets additional conditions for equalizing the total output movement of the controller to the optimal target. In other words, the first two terms set the controller's dynamic behavior object, and the third term sets the steady-state optimization object.
Similar to the fundamental solution of an MPC controller without constraints, the fundamental solution of this controller can be expressed as:
<maths num="11"><img file="JP2005292862A_D0011.tif" /></maths>
Here, ΔMV (k) is the amount of change in the MPC controller output at time k, K.<sub>ampc</sub>Is an optimized MPC controller gain, S<sup>u</sup>Is a process dynamic matrix.
S<sup>u</sup>Can be constructed from the step response of dimension p × c for the SISO model and from the step response of p * n × c * m for the multiple input / multiple output MIMO model, where m is the operation input and n is the operation input. It is a control output.
For optimized MPC, the dynamic matrix expands to size: (p + 1) x m for SISO models and size: (p + m) * n x c * m for MIMO models. Corresponds to MV errors. E<sub>p + 1</sub>(k) is a CV error vector on the predicted horizon, and is an error of the total amount of controller output movement on the control horizon with respect to the target optimum change amount of the MV. The matrix Γ is the matrix Γ<sup>y</sup>And Γ<sup>o o</sup>For the SISO controller, it is a square matrix of dimension (p + 1), and for the multivariate controller, it is a square matrix of [n (p + m)]. The superscript T indicates the transpose matrix.
The optimizer 54 optimizes based on all variables consisting of the control variable CV and the auxiliary variable AV, and defines the unique optimum operation point.<sub>T</sub>Since the target set of is determined, it is a problem if the MPC controller 52 operates using only a subset consisting of the control variable CV and the auxiliary variable AV in the control matrix, and the instrumental variable MV output is actually created from it. It is said that it is not. The reason is that if controller 52 moves a selected subset of the control variable CV and auxiliary variable AV described above to their associated target values, then one complete set of control and auxiliary variables This is because the remaining variables will also reach their target values. As a result, a square (MxM) MPC controller with an MxM control matrix is used with an optimizer that uses a rectangular (NxM) process model to perform process optimization. This allows standard MPC control techniques to be used with standard optimization techniques without inverting the non-square matrix for approximation or with the risks associated with such transformation techniques within the controller. Become.
In one embodiment, if the MPC controller is square, that is, the number of instrumental variables AV is equal to the number of control variables CVs, the target value of the instrumental variable MV is effectively achieved by changing the CV value as follows: can do.
<maths num="12"><img file="JP2005292862A_D0012.tif" /></maths>
Here, ΔMVT is the amount of change in the optimum target value of MV, and ΔCV is the amount of change in CV for reaching the optimum MV. CV changes are carried out by managing CV configuration points.
In operation, the optimizer 54 sets and updates the steady-state target value of the MPC non-constraint controller for each scan. Therefore, the MPC controller 52 executes a non-constraint algorithm. Target value CV<sub>T</sub>And AV<sub>T</sub>Is set with constraints in mind, so the controller operates within constraint limits as long as a feasible solution exists. Therefore, the optimization is integrated with the MPC controller.
3 and 4 are flowcharts 90 illustrating the steps used to perform integrated model predictive control and optimization. Flowchart 90 is generally divided into two sections, 90a (Fig. 3) and 90b (Fig. 4), which occur before the process operation (90a) and during the process operation, for example, every scan of the process operation. Shows function (90b). Prior to process operation, the operator or engineer performs multiple steps to create an advanced control block 38 that includes an integrated control MPC controller and optimizer. In particular, block 92 may select an altitude control template for use as altitude control block 38. The template may be stored in a library within the configuration application on user interface 13 and replicated from it, as well as the general arithmetic and logical functions of the MPC controller routine 52 and the optimizer 54 without a particular MPC. It may have a process model, a steady state gain / control matrix, and a specific objective function. This advanced control template may be provided in a module having other blocks, which include, for example, input and output blocks configured to communicate with other devices within process 50, as well as PIDs. Includes other types of blocks such as control blocks, neural network control blocks, and control blocks including fuzzy logic control blocks. In one embodiment, it will be understood that each block in the module is an object in an object-oriented programming paradigm with inputs and outputs interconnected to communicate between the blocks. During operation, the processor executing the module sequentially executes each block at different time points using the inputs to the blocks to produce the output of the blocks. These are then provided to the inputs of the other blocks, as defined by the particular communication link between the blocks.
In block 94, the operator defines specific instrumental variables, control variables, constraint variables, and disturbance variables used in block 38. If desired, in a configuration program such as program 40 in FIG. 1, the user looks at the control template, selects inputs and outputs, names and sets them, and browses them using any standard browser in the settings environment. , You may find the actual inputs and outputs in the control system and select these actual control variables as the input and output control variables for the control template. Figure 5 illustrates a screen display screen created by a configuration routine, with multiple AI (analog input) and AO (analog output) function blocks, multiple PID control function blocks, and advanced function blocks. A control module DEB_MPC having a plurality of interconnected functional blocks including the MPC-PRO functional block is illustrated. The tree structure on the left side of the display screen in FIG. 5 illustrates the functional blocks in the DEB-MPC, including, for example, blocks 1, C4_AI, C4_DGEN, and so on.
As will be appreciated, the user can specify these inputs and outputs by drawing a line between the inputs and outputs to and from the MPC-PRO functional block and the inputs and outputs of other functional blocks. .. Alternatively, the user may select an MPC-PRO block to access the properties of the MPC-PRO block. You can display a dialog box like the one in Figure 6 that allows the user to see the properties of the MPC-PRO block. As illustrated in Figure 6, different tabs are provided for each of the control variables, manipulation variables, disturbance variables, and constraint variables to organize these variables. Is especially needed if each variable has multiple variables, such as 20 or more, and is associated with altitude control block 38. Within the tab for a particular type of variable, a description, low limit or high limit (constraint), and pathname may be provided. In addition, the user or operator can identify the action the block should take if the variable is in a bad state. This behavior includes, for example, no action, the use of simulated values for the variable instead of measurements, or the permission of manual input. In addition, the operator can specify whether it should be minimized or maximized to perform the optimization, and also specify the priority or weighting and profit values associated with this variable. These fields must be filled in if the default objective function is not used. Needless to say, the user may add, move, modify, or delete information or variables using the appropriate buttons on the right side of the dialog box.
The user can identify or change the information of one or more of these variables by selecting the variable. In this case, a dialog box such as the REFLUX FLOW instrumental variable dialog box of FIG. 7 may be presented to the user. The user may change the information in the various boxes in this dialog box, or browse to identify information such as the pathname of the variable (its input or output connections). Using the screen of FIG. 7, the user can select the internal browse button or the external browse button to browse inside the current module or the external module provided with the MPC-PRO block. Needless to say, if desired, the operator or user can manually provide the address, pathname, tag name, etc. to define the input and output connections of the advanced control block.
After selecting the inputs and outputs to the advanced control function block, the user selects the setting points associated with the control variables, the ranges or limits associated with the control variables, auxiliary variables and operational variables, and the control variables, auxiliary variables and operational variables. Each of the and associated weights may be defined. Of course, some of this information, such as constraint limits or constraint limit ranges, may already be associated with these variables. This is because these variables are selected or searched within the process control system configuration environment. If desired, the operator can specify one or more objective functions used within the optimizer in block 96 of FIG. 3 by identifying unit costs and / or profits for each of the manipulated variables, control variables and auxiliary variables. It may be set. Of course, the operator may choose to use the default objective function at this point, as described above. FIG. 8 is a screen display screen provided by a configuration routine that allows a user or operator to select one of a set of objective functions used to create an advanced control block. As will be appreciated, the user can select a pre-stored set of objective functions using a display screen, such as the screen display screen provided by FIG. Here, it is exemplified as a standard objective function and objective functions 2 to 5.
When the inputs (control variables, auxiliary variables and disturbance variables) are named, concatenated to the altitude control template, and the weights, limits and set points are associated with them, in block 98 of Figure 3, this altitude control template is in control. Downloaded to the selected controller in the process as a functional block to be used. The basic properties of the control blocks and the method of configuring the control blocks are described in "Integrated Advanced Control Blocks in Process Control". It is described in US Pat. No. 6,445,963, entitled "System (Integrated Advanced Control Block in Process Control Systems)", which patent is transferred to the transferee of the invention, cited herein and expressly incorporated. The patent describes the essence of creating an MPC controller within a process control system and does not describe how the optimizer is connected to that controller, but is a general for connecting and configuring controllers. Steps can be used for control block 38 as described herein, and the template contains all the logical elements of control block 38 described herein, not just those described in the cited patents. That will be understood.
In either case, after the advanced control template is downloaded to the controller, the operator causes block 100 to perform the test phase of the control template and the step response matrix and process model used within the MPC controller algorithm. You may choose to generate. As described in the patent above, during this test phase, the control logic within the advanced control block 38 provides the process with a series of pseudo-random waveforms as operational variables, control variables and auxiliary variables (essentially by the MPC controller). It is treated as a control variable) and monitors changes. If desired, the operating and disturbing variables as well as the control and auxiliary variables may be collected by Historia 12 in FIG. 1 and the operator may obtain this data from Historia 12 for this data. Configuration program 40 (Fig. 1) may be configured to perform trend analysis in any way, thereby finding or determining the step response matrix. Each step response identifies the response of one of the control or auxiliary variables to a unit change in one (only one) of the manipulated and control variables over a period of time. .. The unit change is generally a step change, but may be another type of change such as an impulse change or a ramp change. On the other hand, if desired, the control block 38 generates a step response matrix in response to the data collected when applying the pseudo-random waveforms to the process 50, and then creates these waveforms into the advanced control block 38. It may be provided to the operator interface 13 used by the installing operator or user.
FIG. 9 illustrates screen display screens that can be provided by a test routine to provide a plot of data collected and trend-analyzed to the operator, from which the operator can use the step response curve, i.e., altitude control. Can be oriented when creating a process model or control matrix for use within a block's MPC controller. In particular, the plot area 101 is plotted with other data (data previously identified by the operator) in response to multiple inputs or outputs or test waveforms. Bar graph region 102 provides a bar graph for each of the trend-analyzed data variables, indicated by the variable name, the current value of the variable in bar graph format, and, if appropriate, a set point (a large triangle on the bar graph). ) And, if appropriate, limits (indicated by small triangles on the bar graph) for each of the variables to be trend-analyzed. Other areas of this display screen illustrate other items related to the altitude control block, such as the block's target and actual modes (104) and the set time to steady state (106).
Prior to creating the process model of the advanced control block, the operator can use the screen to identify the data that needs to be used from the trend plot 101. In particular, the operator may specify the start and end points of plot 102 as the data used to create the step response. By shadowing the data in this area with a different color such as green, it can be visually indicated that this area is the selected area. Similarly, the operator can identify and eliminate areas within this shaded area (because they are not representative due to noise or unfavorable disturbances, etc.). This region is illustrated between lines 112 and 114 and can be shaded, for example, in red to indicate that this data should not be included in creating the step response. Needless to say, the user can include or exclude any desired data and data for each of the multiple trend plots (Figure 9 shows that eight trend plots are available). Can be included or excluded. Here, different trend plots are associated with, for example, different instrumental variables, control variables, auxiliary variables, and so on.
To create a set of step responses, the operator can select the model creation button 116 on the screen display screen of FIG. 9 and the routine to create a set of step responses can be created using the selected data from the trend plot. .. Each step response indicates the response of one of the control or auxiliary variables to one of the manipulated or disturbed variables. This generation process is well known and will not be described in more detail herein.
Referring to FIG. 3, after the step response matrix (or impulse response matrix, ramp response matrix, etc.) is created, if the number of control variables and auxiliary variables exceeds the number of operation variables, the step response matrix. (Or, impulse response matrix, ramp response matrix, etc.) is used to select a subset of the control variables and auxiliary variables described above. This subset is used in the MPC algorithm as an M × M process model or control matrix that is inverted and used within the MPC controller 52. This selection process may be performed manually by the operator or automatically by a routine within, for example, user interface 13 having access to the step response matrix. In general, one of the above-mentioned control variables and auxiliary variables is specified as the one most closely related to one of the above-mentioned instrumental variables. Therefore, a single and only (ie different) variable of the control variables or auxiliary variables (inputs to the process controller) described above is associated with each of the various operating variables described above (outputs of the process controller) (eg, the output of the process controller). Therefore, the MPC algorithm can be based on a process model created from the M × M set of step responses.
In one embodiment that takes a discovery approach to determine the combinations described above, the automated routine or operator selects a set of M control variables and auxiliary variables, where M is equal to the number of manipulated variables. This is to select a single control variable or auxiliary variable that has some combination of maximum gain and fastest response time for one particular unit change of the above-mentioned instrumental variables and pair these two variables. .. Of course, in some cases, a particular control or auxiliary variable may have large gains and fast response times for multiple manipulated variables. In such a case, the control variable or auxiliary variable may be paired with any associated manipulated variable, or in fact may be paired with a manipulated variable that does not produce maximum gain and fastest response time. This is because, in total, an instrumental variable that causes such a small gain or slow response time is unlikely to have a favorable effect on other control or auxiliary variables. Therefore, a pair of a control variable or an auxiliary variable, one of which is an operation variable and the other of which is a control variable or an auxiliary variable, is a subset of the control variable and the auxiliary variable that, as a whole, correspond to the operation variable and the control variable most responsive to the operation variable. Is selected to pair with.
Also, the automatic routine or operator can use uncorrelated control variables CV and auxiliary variables AV, highly uncorrelated control variables CV and auxiliary variables AV, minimally correlated control variables CV and auxiliary variables AV, etc. You can try to include it. Moreover, the MPC controller does not take all control variables as input, as it is okay if not all of the control variables are selected as one of a subset of M control variables and auxiliary variables. Because a set of control and auxiliary variable target values is a process operation point where the non-selective control variable (and the non-selective auxiliary variable) is at its own set point or within its own defined operating range. This is because it is selected by the optimizer as shown.
Of course, one has dozens or even hundreds of control and auxiliary variables, and the other has dozens or hundreds of manipulated variables, so it's best suited for each of the various manipulated variables, at least from a visual point of view. It may be difficult to select a set consisting of control variables and auxiliary variables that respond to. To solve this problem, the advanced control block generation routine 40 in the operator interface 13 has a set of screen display screens or presents these display screens to the user or operator so that the MPC controller 52 is in operation. The control variables and auxiliary variables to be used as a subset of the control variables and auxiliary variables to be used may be assisted or enabled so that the operator can appropriately select them.
Thus, the operator may be presented with a screen at block 120 of FIG. 3 to be able to see the response of each of the control and auxiliary variables to one particular or selected instrumental variable. .. Such a screen is illustrated in FIG. 10 and shows the response of each of a plurality of control variables and auxiliary variables (displayed as constraints) to an instrumental variable called TOP_DRAW. The operator may scroll through the entire manipulated variable one at a time to see the step response of each of the control and auxiliary variables to each of the various manipulated variables, and during this process the manipulated variable. You may choose one of the control variables or auxiliary variables that respond optimally to. Operators typically seek to select a control or instrumental variable that has the best combination of the best steady-state gain and the fastest response time for the instrumental variable. As illustrated in FIG. 11, a dialog box may be used to select one of the control and auxiliary variables as the most important for this instrumental variable. If desired, the selected one of the control and auxiliary variables is highlighted with a different color, such as red, as illustrated in FIG. 11, while the previously selected variable (ie, the other). Control variables and auxiliary variables selected for the manipulated variables in) may be highlighted in different colors, such as yellow. In this example, control routine 40, of course, stores previously selected control variables and auxiliary variables in memory so that the operator does not associate the same control variable or manipulated variable with two different manipulated variables. You may check to confirm. If a user or operator selects a control or manipulated variable that is already selected for another manipulated variable, Routine 40 presents an error message to that user or operator and last selected to that user or operator. You may notify that you have selected a control variable or an auxiliary variable. In this way, routine 40 has two or more different
As illustrated in FIG. 12, the operator or user can also see different step responses to each of the different instrumental and disturbed variables. Figure 12 illustrates the step response of TOP_END_POINT to each of the previously identified manipulated and disturbed variables to create an altitude control block. Of course, the operator may use the screen of FIG. 12 to select one of the manipulated variables as related to the control variable TOP_END_POINT.
The selection procedure described with reference to FIGS. 10-12 is based on a graphical display screen, from which the most important control or auxiliary variables can be selected. In addition to or instead, information may be presented to the operator in a different way, such as in tabular form, to assist in completing the MxM controller configuration. Figure 13 illustrates an example of a display screen that assists in completing the MxM controller configuration and presents information in tabular form. In this example, the variables for which the control matrix can be used (control variable CV, auxiliary variable AV, and operation variable MV), the conditional number of the matrix configuration, etc. are provided in tabular form. In area 204 of the display screen 200, the names of control variables and auxiliary variables that are not yet part of the control matrix configuration are response parameters (eg, for example) to any of the process manipulation variables associated with the control variable and auxiliary variables. , Gain, dead time, priority, time constant, etc.). Area 208 shows the current configuration of the MPC controller. Column 212 represents the available instrumental variables, and column 216 represents the output variables (eg, control or auxiliary variables) currently contained in the MPC controller matrix.
The exemplary display screen 200 shows a square controller having MVs such as TOP_DRAW, SODE_DRAW, and BOT_REFLUX and controller inputs including control variables and auxiliary variables such as BOT_TEMP, SIDE_END_POINT, TOP_END_POINT. If the user selects one of the manipulated variables using an input device such as a mouse, trackball, touch screen, etc., the selected manipulated variable may be highlighted. For example, in the illustrated display screen 200, the instrumental variable TOP_DRAW is highlighted. In addition, the response parameters corresponding to the selected instrumental variables associated with the available control and auxiliary variables displayed in area 204 are displayed. For example, in the exemplary display screen 200, the gain 220 and dead time 224 associated with the available control and auxiliary variables 228 are displayed, corresponding to the instrumental variable TOP_DRAW.
The display screen 200 also has an add button 232a and a remove button 232b to move control variables or auxiliary (constraint) variables between areas 204 and 208. This screen also displays a number of conditions for various gain matrix configurations: --Process Matrix: A complete NxM process matrix with control and constraint variables along the first axis.
--Current configuration: The MxM configuration currently selected by the operator and displayed in the table "MPC Controller Input-Output Configuration".
--Automatic configuration: An MxM configuration that is automatically selected by the MPC application's selection routine. The display screen 200 also has a button 236 that returns to the automatically determined configuration. Therefore, if the operator wishes to return to the original automatic configuration after making changes to the automatic configuration, the operator may select button 236.
Utilizing the information and process knowledge in the display screen displayed on the display screen 200, the operator can construct a square matrix in any desired way.
As will be appreciated, the display screens of FIGS. 10 to 13 allow the operator to visually select a subset of M control variables and auxiliary variables used as inputs to the MPC control algorithm (block 120 of FIG. 3). It allows you to do this, especially if you have a large number of these variables. Also, the set of control and constraint variables determined in block 120 can be selected automatically or electronically based on some pre-established criteria or selection routine. In one embodiment, the selection routine is a response parameter (one or more gains, dead times, priorities, etc.) determined from the step response (or impulse response, ramp response, etc.) for the controlled constraint and auxiliary variables. You can choose which input variables to use based on some combination (such as the time constant). In other embodiments, the selection routine may utilize some form of time series analysis of the controller input and output numbers. For example, the cross-correlation between an operational variable and a control variable or auxiliary variable can be used to select the most responsive control or auxiliary variable as controller input. In another example, the cross-correlation between the control variable and the auxiliary variable can be used to remove the colinear (ie, correlated) controller input from the above matrix. The routine may also have any set of rules of thumb derived from model analysis or process knowledge.
In another embodiment, the automatic selection process may first determine the control matrix by selecting input / output matrices based on the number of conditions in the control matrix. For example, the controller configuration may be created from the control matrix by minimizing the conditional number to a certain desired degree.
In this example, for the process gain matrix A, the matrix A<sup>T</sup>The conditional number of A may be determined by performing a matrix controllability test. In general, a small number of conditions means high controllability, and a large number of conditions means low controllability and many control steps or movements during dynamic control operation. This number of conditions can also be used as a relative comparison of various promising control matrices and as a test of adversely conditioned matrices, as there is no rigorous criterion for determining the degree of controllability. As is well known, the conditional number of the bad condition matrix approaches infinity. Mathematically, adverse conditions occur in the case of colinear process variables, that is, by colinear rows or columns in the control matrix. Therefore, the main factor affecting the conditional number and controllability is the interrelationship between the rows and columns of the matrix. Careful selection of input and output variables in the control matrix can reduce conditioning-related problems. In practice, you should be concerned if the number of conditions in the control matrix is hundreds (eg, 500) or more. In the case of such a matrix, the movement of the controlled variables of the controller becomes significantly excessive.
As mentioned above, the control matrix solves the dynamic control problem, while the LP optimizer solves the steady state optimization problem, and even if the MPC controller blocks have non-equal numbers of MVs (including AV) and CVs, the control matrix Must have a square input / output matrix. Normally all available MVs are included or selected as control outputs to initiate the selection of control matrix inputs and outputs used to generate the controller. Once the output (MV) is selected, the process output variables (ie CV and AV) that form part of the dynamic control matrix must be selected in such a way as to create a non-adverse square control matrix.
Although one method of selecting CV and AV as inputs in the control matrix automatically or manually is described here, it is understood that other methods may be used. In this example, the resulting controller robustness is obtained by applying a technique called MV wraparound (or self-regulating MV) and by automatically estimating a penalty for the MV movement factor of the MPC controller. The sex is further improved.
Step 1-Select CVs until the number of CVs is equal to the number of MVs (that is, the number of controller outputs), if possible. If there are more CVs than MVs, the CVs may be selected in any order based on desired criteria such as priority, gain or phase response, user input, correlation analysis, and so on. If the total number of possible CVs is equal to the number of MVs, go to step 4 and test if the resulting square control matrix condition number is acceptable. If the number of CVs is less than the number of MVs, the AV is selected as described in step 2. If there is no defined CV, select the AV with the highest gain for MV and proceed to step 2.
Step 2-Calculate the conditional number for all AVs that may be added to the already selected control matrix defined by the previously selected CVs and AVs, one at a time. As will be understood, the matrix defined by the selected CV contains rows for each of the selected CV and AV, defining the steady-state gain of that CV or AV for each previously selected MV. Will be done.
Step 3-Select the AV that is determined in step 2 and that minimizes the conditional number of the resulting matrix, and define that matrix as the previous matrix with the selected AV added. At this point, if the number of MVs is equal to the number of selected CVs plus the selected AVs (that is, if the matrix is square at this point), proceed to step 4. If not, go back to step 2.
Step 4-Created square control matrix A<sub>c</sub>Calculate the number of conditions. Matrix A, if desired<sub>c</sub><sup>T</sup>A<sub>c</sub>Matrix A instead of<sub>c</sub>You may use the conditional number calculation of. This is because the conditional numbers of these different matrices are related as other square roots. If the conditional number is acceptable, skip steps 5 and 6 and proceed to step 7.
Step 5-Perform a wraparound procedure for each selected MV and calculate the number of matrix conditions resulting from each wraparound procedure. In essence, the wraparound procedure is done by sequentially placing one unit response (gain = 1, dead time = 0, time constant = 0) for each different MV instead of the removed AV (or CV). It is said. The one-unit response is one unit at some positions in the matrix row and zero at other positions. In short, in this case, each particular MV is used as an input and an output instead of an AV (or CV) that forms a favorable square control matrix, respectively. As an example, for a 4x4 matrix, the combination of 1000, 0100, 0010, and 0001 is the gain matrix A.<sub>c</sub>Placed on the line of the removed AV line.
Step 6-After performing the wraparound procedure for each MV, select the combination that minimizes the number of conditions. If there is no improvement, keep the original matrix.
Step 7-At this point, the CV or AV that has the maximum response (maximum gain, fastest response time) for a particular MV, excluding the MV used to control the MV itself (ie the wrapped MV). Select and associate all selected CVs and AVs with MVs. If more than one MV has a maximum gain and fastest response relationship with a single CV (or AV), or vice versa with respect to the CV (AV) parameter. , Make sure each MV is paired with only one CV (or AV). The wraparound MV is associated with itself. The selection process is complete when the process of pairing all parameters is complete.
Of course, the control matrix defined by this procedure and the resulting number of conditions may be provided to the user, and the user may accept or reject the use of the defined control matrix in the generation of the controller.
It should be noted that in the automated procedure mentioned above, only one MV was selected to control (ie wrap around) the MV itself for the purpose of improving controllability. That is. For manual procedures, the number of MVs wrapped around can be arbitrary. For example, with reference to Figure 11, the "most important" CV or AV can be deselected. With reference to Figure 13, the removal button 232b can be used to remove the CV or AV. In these examples, the MV chosen to control the MV itself is evident in the disappearance of the corresponding output variable choice in the controller configuration. For example, FIG. 14 illustrates the display screen 200 of FIG. 13, where the instrumental variables TOP_DRAW and SIDE_DRAW do not have the corresponding control variables CV. Therefore, wraparound is performed on these instrumental variables TOP_DRAW and SIDE_DRAW. The display screen 200 of FIG. 13 can be modified to the screen illustrated in FIG. 14 by first selecting the pair of BOT_TEMP and TOP_DRAW in the display screen 200 and then selecting the remove button 232b. .. Next, you can select the pair of SIDE_END_POINT and SIDE_DRAW in the display screen 200, and then select the remove button 232b. After that, on the display screen 200 of FIG. 14, the BOT_TEMP variable and the SIDE_END_POINT variable are arranged in the available variable column 228. Furthermore, the current configuration condition number illustrated in FIG. 14 is different from the automatic configuration condition number.
Also, if the number of MVs is greater than the total number of CVs plus AV, more MVs can be used as wraparound for control. Thus, the square control matrix is finally provided to the controller having each MV as an output. The process of performing and using wraparound means that the number of CVs and AVs selected for the control matrix may be less than the number of MVs controlled by the controller, and this difference is in the control matrix. It will be understood that it is the number of MV wraparounds entered. In addition, this wraparound procedure can be used in processes where the sum of CV and AV is less than the number of MVs.
Naturally, the conditional number is calculated as described above using the steady state gain, which essentially defines the controllability in the steady state. Process dynamics (dead time, lag, etc.) and model uncertainty also affect dynamic controllability. This effect can be addressed by changing the priority of process variables (eg, control and auxiliary variables), which results in process dynamics and model uncertainty due to the effect on dynamic control. It may be necessary to put it in the control matrix.
Other discovery procedures can be used to improve both steady-state controllability and dynamic controllability. Such procedures usually have multiple discoveries (which may include conflicting ones) that are applied in several phases of creating the control matrix, which is appropriate to bring some improvement to the control matrix. Select a set of control inputs. In one such discovery procedure, CVs and AVs are grouped by MVs based on maximum gain relationships. Then, for each MV grouping, one process output with the fastest dynamic and significant gain is selected. This selection process may prioritize CV over AV, taking into account confidence intervals (if everything else is equal). The process model generation routine then uses the parameters selected from each group during MPC control generation. Since only a single parameter is selected for each MV, the response matrix is a square matrix and can be inverted.
In any case, once a subset of M (or less) control variables and auxiliary variables for input to the MPC controller is selected, block 124 in Figure 3 is from the determined square control matrix. , Generate the process model or controller used in the MPC control algorithm shown in Fig. 2. As is known, this controller generation step is a computationally intensive procedure. The main coordinator for controller generation includes the movement penalty (PM) parameter of controller instrumental variables. Analysis has shown that dead time is a major factor in calculating PM, while gain affects controller movement, not to mention. The following empirical formula takes into account both dead time and gain when estimating PM factors that provide stable and responsive MPC behavior under model errors up to 50%. ..
<maths num="13"><img file="JP2005292862A_D0013.tif" /></maths>
Here, DT<sub>j</sub>Is the dead time of the MPC scan for the MVi-CVj pair, Gj is the gain (no unit) for the MVi-CVj pair, and the generation of such a pair is one setting in the square controller configuration. Therefore, generating a pair of square matrices provides a PM value that helps meet the opposing controller requirements of performance and robustness.
Block 126 then downloads this MPC process model (which inherently contains the control matrix) or controller, and optionally the step response and steady state response gain matrices, into control block 38, and this data is for operation. Is incorporated into the control block 38. At this point, the control block 38 is ready for online operation within process 50.
If desired, the process step responses may be reconstructed or provided in a manner different from the one that produced these step responses. For example, one of the step responses is copied from a different model stored in the system, posted on the screen of FIGS. 10-12, for example, and the step of any control or auxiliary variable for an instrumental or disturbing variable. The response may be specified. Figure 15 shows the user selecting and copying one of the step responses of a particular process or model, then granting or pasting this same response to another model and pasting that step response into a new model. Attached, this illustrates a screen display screen that allows the user to manually identify the step response model.
FIG. 16 illustrates a screen display screen in which the user can see one of the step responses (in this figure, the case of the TOP_END_POINTTOP_DRAW step response) in more detail. The display screen illustrates the parameters of this step response, such as steady-state stable gain, response time, primary time constant and square error, for easy reference by the user or operator. Also, if desired, the user may visually inspect and change the properties of the step response by specifying different parameters such as different gains or time constraints. If the user specifies a different gain or other parameter, the step response model can be mathematically regenerated to include the new parameter or set of parameters. This behavior is useful when the user knows the parameters of the step response and needs to modify the generated step response to satisfy or match these parameters. Changes to the step response model are reflected in the combination of square control matrix pairs and the generation of square control matrices. This is because this gain and response dynamics are used.
With reference to FIG. 4, the basic steps performed during each operation cycle or scan of the advanced control block 38 created using the flowchart 90a of FIG. 3 are illustrated while process 50 is in online operation. .. At block 150, the MPC controller 52 (Figure 2) receives and processes the measured values of the control variable CV and the auxiliary variable AV. In particular, the control prediction process model processes CV, AV and DV measurements or inputs, creates future control parameter vectors, and further predicts steady-state control variables CV.<sub>SS</sub>And auxiliary variables AV<sub>SS</sub>To create.
Then, in block 152, the input processing / filter block 58 (FIG. 2) is the predictive control variable CV created by the MPC controller 52.<sub>SS</sub>, Auxiliary variable AV<sub>SS</sub>And instrumental variable MV<sub>SS</sub>Is processed or filtered, and this filtered value is provided to the optimizer 54. At block 154, the optimizer 54 runs standard LP techniques to maximize or minimize the selected or default objective function, but without violating any limits on auxiliary and manipulated variables. M operating variable goals MV that remain within a specific set point or within a specific range for these variables<sub>T</sub>Determine a set of. In general, the optimizer 54 moves each of the control and auxiliary variables to their limits to solve the target instrumental variable MV.<sub>T</sub>Is calculated. As mentioned above, the solution is when each of the control variables is located at their own set point (sometimes initially treated as the upper bound of the control variable) and each of the auxiliary variables is within their own constraint limits. Often exists. In such cases, the optimizer 54 produces a determined instrumental variable goal MV that produces the optimal result for the objective function.<sub>T</sub>Only need to be output.
However, in some cases, some or all of the constraints of auxiliary variables or instrumental variables are strict, and all control variables are located at their set points and all auxiliary variables are within their respective constraint limits. It may not be possible to find the point. Because there is no such solution. In such a case, as described above, the optimizer 54 is allowed to move the control variable within the specified set point range in order to find the operation point at which the auxiliary variable operates within its own limit. If the solution is still not available, the optimizer removes one or more of the auxiliary variable constraint limits, which was one limit for obtaining the solution, and / or its solution. The control variable setting point range for obtaining may be removed, and the optimum process operation point may be determined without including the removed auxiliary variable constraint limit and / or the removed control variable setting point range. Here, the optimizer selects which auxiliary variable or control variable to reduce based on the weight assigned to each of the control variable and the auxiliary variable (for example, the lowest weighted value or the highest priority variable first. Excluded). A target instrumental variable MV that can satisfy all the set point ranges of control variables and the limits of auxiliary variables for residual control variables and auxiliary variables with higher priority.<sub>T</sub>The optimizer continues to reduce auxiliary or control variables based on the weighting or priority given to each until is found.
Next, in block 156, the target transformation block 55 (FIG. 2) uses the steady-state step response gain matrix to manipulate the MV.<sub>T</sub>Control variable CV from the target value of<sub>T</sub>And auxiliary variables AV<sub>T</sub>A subset of N (where N is equal to or less than M) of these selected values is provided to the MPC controller 52 as the target input. At block 158, the MPC controller 52 operates as described above as a constraint-free MPC controller using the control matrix or the logic derived from it, determining the future CV and AV vectors of these target values. Create a future error vector by performing vector subtraction with the future control parameter vector. The MPC algorithm operates in a known manner and is a steady-state instrumental variable MV based on a process model generated from the M × M step response.<sub>SS</sub>Determine these MVs<sub>SS</sub>The value is provided to the input processing / filter block 58 (Fig. 2). At block 160, the MPC algorithm also determines the MV steps that are output to process 50 and outputs the first step of these steps to process 50 in any suitable way.
During operation, eg, one or more monitoring applications driven by one of interfaces 13, information from the altitude control block or other functional blocks communicable to it, either directly or via historian 12. May provide the user or operator with one or more viewing screens or diagnostic screens for viewing the operating state of the advanced control block. Functional block technology features cascade inputs (CAS_IN) and remote cascade inputs (RCAS_IN) and corresponding inverse calculation forces (BKCAL_OUT and RCAS_OUT) for both control functional blocks and output functional blocks. With these connectors, it is also possible to add a supervisor-like optimized MPC control strategy to an existing control strategy and view the supervisor control strategy using one or more viewing or display screens. Similarly, the optimized MPC controller target value can be modified from the supervisor control strategy if desired.
FIG. 17 is an example of a screen display screen that may be presented by one or more such viewing applications, exemplifying an optimizer dialog screen that provides the operator with information belonging to the operation of the advanced control block during that operation. are doing. In particular, the inputs to the process (instrumental variables MV) and outputs (control variables and auxiliary variables CV, AV) are illustrated separately. For each of these variables, the screen display screen shows the variable name (descriptor), the current measured value, the setting point if appropriate, the target value calculated by the optimizer, the unit of variable change, and The unit value and the index of the current variable value are illustrated. In the case of an output variable, the variable is one of the selected variable used by the MPC controller, the predicted value of this variable determined by the MPC controller, and the preset priority for this variable. An indicator of presence or absence is also shown. This screen allows the operator to visually observe the current operating status of the altitude control block and know how the altitude control block is performing control. Further, the user can set some of the control parameters so that the operation target of the external application can be set and the point can be set remotely in order to coordinate the processing amount.
FIG. 18 is a screen display screen that can be generated by a diagnostic application, exemplifying a diagnostic screen that can be provided to a user or operator to perform diagnostics on advanced control blocks. In particular, the diagnostic screen of FIG. 18 exemplifies control variables and constraint variables, instrumental variables, and disturbance variables separately. For each of them, a variable name or descriptor is provided with an indicator (first column) of whether an error or alert state is present for this variable. Such errors or alerts can be displayed as an image using, for example, a green checkmark or a red "x" or any other desired method. Numerical values and situations for each of these variables are also shown. In the case of instrumental variables, the numerical values and situations of the Back_Cal (back calculation or feedback) variables of these signals are illustrated. Needless to say, this screen can be used to perform advanced control block diagnostics by providing the operator with the information needed to determine problems within the control system. Of course, other types of screens and information can also be provided to allow the operator to perform diagnostics on the advanced control block and the modules in which it is implemented.
The advanced functional blocks described here are exemplified as having the optimizer located within the same functional block and therefore running on the same device as the MPC controller, but implementing the optimizer on a different device. It is also possible. In particular, the optimizer may be installed on a different device, such as one of the user's workstations 13, and communicates with the MPC controller described in conjunction with Figure 2 during each execution or scan of the controller to perform target operation. Variable (MV<sub>T</sub>) Or a subset consisting of a control variable (CV) and an auxiliary variable (AV) determined from it may be calculated and provided to the MPC controller. Of course, using a special interface, such as a known OPC interface, to provide a communication interface between the controller, a functional block with an MPC controller inside, and a workstation or other computer running or running the optimizer. May be good. Similar to the embodiment described with respect to FIG. 2, the optimizer and MPC controller still need to communicate with each other during each scan cycle to perform integrated optimal MPC control. However, in this case, other types of optimizers such as known optimizers or standard optimizers that may already be present in the process control environment may be utilized. Further, even when the optimization problem is non-linear and the solution requires a non-linear programming technique, it may be advantageous to utilize the above-mentioned features.
Although it has been stated herein that high control blocks and other blocks and routines described herein are used in conjunction with fieldbus and standard 4-20mA equipment, these are, of course, other processes. It can be implemented using a control communication protocol or programming environment, or it may be used with other types of equipment, functional blocks or controllers. The advanced control blocks and associated generation and test routines described herein are preferably implemented in software, but they may be implemented in hardware, firmware, etc. and run on other processors associated with the process control system. May be done. Therefore, routine 40 described herein may be implemented, if desired, by a standard general purpose CPU or application-specific hardware or firmware such as, for example, an ASIC. When implemented in software, the software may be stored in computer-readable memory such as magnetic disks, laser disks, optical disks, or other storage media, and in RAM or ROM such as computers or processors. Similarly, the software provides such software via, for example, a computer-readable disk or other mobile computer storage mechanism, or modulation through a communication channel such as a telephone line, the Internet, etc. It may be provided to the user or process control system via known or desired delivery methods, including (which is considered to be similar to or interchangeable).
Therefore, the present invention has been described with reference to specific examples, but this is for explanatory purposes only and is not intended to limit the present invention. It will be apparent to those skilled in the art that modifications, additions or deletions can be made to the embodiments disclosed herein without departing from the spirit and scope of the invention.
<figref num="1">It is a block diagram of a process control system including a control module having an advanced controller functional block that integrates an optimizer with an MPC controller.</figref><figref num="2">FIG. 3 is a block diagram of the advanced controller functional block of FIG. 1 including an integrated optimizer / MPC controller.</figref><figref num="3">FIG. 5 is a flowchart illustrating a method of creating and mounting the integrated optimizer / MPC controller functional block of FIG. 2.</figref><figref num="4">It is a flowchart which shows the operation of the integrated optimizer / MPC controller of FIG. 2 as an example while a process is operating in an online state.</figref><figref num="5">This is a screen display screen of a configuration routine exemplifying an advanced control block in a control module that executes process control.</figref><figref num="6">FIG. 5 is a screen display screen of a configuration routine that illustrates a dialog box showing the characteristics of the altitude control block of FIG.</figref><figref num="7">6 is a screen display screen of a configuration routine exemplifying a method of selecting or specifying inputs / outputs of advanced control function blocks drawn on the display screen of FIG.</figref><figref num="8">A screen display screen provided by a configuration routine that allows a user or operator to select one of the set of objective features used to create advanced control blocks.</figref><figref num="9">A screen display screen of a test screen that can be used to allow a user to test and create a process model during the creation of an advanced control block.</figref><figref num="10">9 is a screen display screen of a configuration routine illustrating a method of selecting one of the control variables and auxiliary variables of FIG. 9 as being primarily associated with the instrumental variables.</figref><figref num="11">It is a screen display screen of a configuration routine exemplifying a plurality of step responses showing the responses of different control variables and auxiliary variables to a specific manipulated variable.</figref><figref num="12">It is a screen display screen of a configuration routine exemplifying a plurality of step responses showing the responses of the same control variable or auxiliary variable to different variables among the manipulated variables.</figref><figref num="13">A screen display screen of a configuration routine exemplifying other ways of selecting a control variable or auxiliary variable associated with an instrumental variable.</figref><figref num="14">A screen display screen of a configuration routine exemplifying other ways of selecting a control variable or auxiliary variable associated with an instrumental variable.</figref><figref num="15">A screen display screen of a configuration routine that illustrates how to copy one of the model's step responses that are copied for use in different models.</figref><figref num="16">It is a screen display screen of a configuration routine exemplifying a plurality of step responses showing the responses of different control variables and auxiliary variables to a specific manipulated variable.</figref><figref num="17">It is a screen display screen of a configuration routine exemplifying a plurality of step responses showing the responses of different control variables and auxiliary variables to a specific manipulated variable.</figref><figref num="18">It is a screen display screen of a configuration routine exemplifying a plurality of step responses showing the responses of different control variables and auxiliary variables to a specific manipulated variable.</figref>
Code description
10 Process Control System 11 Process Controller 12 Data Historian 13 Workstation, Computer, User Interface 14 Display Screen 26, 28 Input / Output (I / O) Card 29 Communication Network 15-22 Field Devices 32, 34 Routine 36 Control Loop 38 Advanced control block 40 Advanced control block generation routine 42 Control block generation routine 44 Process modeling routine 46 Control logic parameter creation routine 48 Optimizer routine 50 Process 52 MPC controller 54 Optimizer 55 Target conversion block 56 Step response model or control matrix 58 Input processing / Filter block 62 Selection block 64 Objective function 66, 76 Input 70 Control prediction process model 72 Output 74, 84 Vector adder 80 Control target block 82 Trajectory filter 90 Flow chart 101 Trend Plot Area 102 Plot 104 Mode 106 Set Time 112, 114 Line 116 Modeling Button 200 Display Screen 204, 208 Area 212, 216 Column 220 Gain 224 Dead Time 228 Available Variable Column 232a Add Button 232b Remove Button 236 Back Button
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2009518750A | Cited by | Japan | Examiner |
| KR101462809B1 | Cited by | Republic of Korea | Search report |
| JP2000003206A | Cites | Japan | Search report |
| JP2002091506A | Cites | Japan | Search report |
| JP2002091506A | Cites | Japan | Search report |
| JPH0695706A | Cites | Japan | Search report |
69 members in 6 offices
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 10241350 | United States of America | – | |
| 24135002 | United States of America | A | |
| 24135002 | United States of America | A | |
| 10310416 | United States of America | – | |
| 31041602 | United States of America | A | |
| 31041602 | United States of America | A | |
| 2002241350 | – | – | – |
| 2002310416 | – | – | – |
| US20020241350 | – | – | – |
| US20020310416 | – | – | – |
Members69
| Document | Office | Kind | |
|---|---|---|---|
| GB0321249D0 | United Kingdom | D0 | |
| GB0321278D0 | United Kingdom | D0 | |
| GB0321279D0 | United Kingdom | D0 | |
| GB0321291D0 | United Kingdom | D0 | |
| US2004049295A1 | United States of America | A1 | |
| US2004049299A1 | United States of America | A1 | |
| US2004049300A1 | United States of America | A1 | |
| DE10341762A1 | Germany | A1 | |
| CN1490690A | China | A | |
| CN1490691A | China | A | |
| GB2394312A | United Kingdom | A | |
| GB2394313A | United Kingdom | A | |
| GB2394563A | United Kingdom | A | |
| GB2394564A | United Kingdom | A | |
| CN1497402A | China | A | |
| GB2394564A8 | United Kingdom | A8 | |
| JP2004152264A | Japan | A | |
| JP2004152265A | Japan | A | |
| US2004117766A1 | United States of America | A1 | |
| DE10341573A1 | Germany | A1 | |
| DE10341764A1 | Germany | A1 | |
| CN1514318A | China | A | |
| DE10341574A1 | Germany | A1 | |
| HK1060777A1 | Hong Kong, China | A1 | |
| HK1060778A1 | Hong Kong, China | A1 | |
| JP2004265381A | Japan | A | |
| HK1063223A1 | Hong Kong, China | A1 | |
| HK1063224A1 | Hong Kong, China | A1 | |
| JP2005292862AThis record | Japan | A | |
| GB0600443D0 | United Kingdom | D0 | |
| US7050863B2 | United States of America | B2 | |
| GB0609616D0 | United Kingdom | D0 | |
| GB2394313B | United Kingdom | B | |
| GB2423831A | United Kingdom | A | |
| GB2394564B | United Kingdom | B | |
| HK1089515A1 | Hong Kong, China | A1 | |
| CN1300651C | China | C | |
| GB2429539A | United Kingdom | A | |
| GB0702678D0 | United Kingdom | D0 | |
| GB0702680D0 | United Kingdom | D0 | |
| GB2423831B | United Kingdom | B | |
| GB2432682A | United Kingdom | A | |
| GB2432683A | United Kingdom | A | |
| CN1975611A | China | A | |
| GB2429539B | United Kingdom | B | |
| GB2394563B | United Kingdom | B | |
| GB2394312B | United Kingdom | B | |
| GB2432682B | United Kingdom | B | |
| GB2432683B | United Kingdom | B | |
| HK1102841A1 | Hong Kong, China | A1 | |
| HK1102842A1 | Hong Kong, China | A1 | |
| US7330767B2 | United States of America | B2 | |
| US7337022B2 | United States of America | B2 | |
| CN100381956C | China | C | |
| JP4079369B2 | Japan | B2 | |
| US7376472B2 | United States of America | B2 | |
| JP2009277239A | Japan | A | |
| JP4413563B2 | Japan | B2 | |
| CN1514318B | China | B | |
| JP4542323B2 | Japan | B2 | |
| JP4722388B2 | Japan | B2 | |
| CN1975611B | China | B | |
| CN102566415A | China | A | |
| JP5016002B2 | Japan | B2 | |
| DE10341762B4 | Germany | B4 | |
| DE10341573B4 | Germany | B4 | |
| DE10362408B3 | Germany | B3 | |
| DE10341764B4 | Germany | B4 | |
| DE10362369B3 | Germany | B3 |
27 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of completion of termEXPY | EXPY | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelR150 | R150 | |
| Certificate of patent or registration of utility modelR150 | R150 | |
| First payment of annual fees (during grant procedure)A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)A01 | A01 | |
| Written decision to grant a patent or to grant a registration (utility model)A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentA521 | A521 | |
| Written permission of extension of timeA602 | A602 | |
| Written request for extension of timeA601 | A601 | |
| Notification of reasons for refusalA131 | A131 | |
| Written amendmentA521 | A521 | |
| Written permission of extension of timeA602 | A602 | |
| Written request for extension of timeA601 | A601 | |
| Notification of reasons for refusalA131 | A131 | |
| Written request for application examinationA621 | A621 |
Numbers
- Publication
- 2005292862
- Publication, DOCDB
- 2005292862
- Publication, EPODOC
- JP2005292862
- Application
- 319598
- Application, DOCDB
- 2003319598
- Application, EPODOC
- JP20030319598
Titles2
- Japanese
- プロセス制御システムにおける統合型モデル予測制御および最適化
- English
- Integrated model predictive control and optimization in process control systems
Classification
- CPC, 4
- G05B11/32
- G05B13/041
- G05B13/042
- G05B13/048
- IPC, 5
- G05B19 05
- G05B11 32
- G05B13 02
- G05B13 04
- G06Q50 00