On-line adaptive model prediction control in process control system
Abstract
Problem to be solved.To provide a process control system having the same or excellent controllability as a PID controller in a process loop in which a non-operation time is dominant and in a process loop in which a process model is inconsistent in the process time to a steady state. Provided is an adaptive controller that can be easily realized in a distributed controller. An MPC controller algorithm is created using a process model to generate an MPC control model and downloaded to the MPC controller while the MPC controller is running online. This technique, which is applicable to single-loop MPC controllers and is especially useful for MPC controllers with a control layer of 1 or 2, modifies the process model and includes an adaptive MPC controller during normal operation of the process. 38 can be adapted. [Selection diagram] Fig. 1

Term
Projected expiry 12 July 2032.
- Priority
- Filed
- Published
- Today
- Projected expiry
8 claims: 1 independent, 7 dependent
- 1プロセスを制御するためのプロセスコントローラであって、 利得ベクトルを用いて、入力信号に基づいて、プロセス変数を制御するために開発された制御信号を発生させるコントローラアルゴリズムを有すると共に、モデル予測制御(MPC)コントローラである動的行列制御コントローラと、 前記プロセスのオンライン動作中にプロセスデータを収集するために前記プロセスに結合され、前記収集されたプロセスデータから前記プロセスの動作を表現するプロセスモデルを決定するプロセスモデル推定装置であって、当該プロセスモデルは、プロセス不動作時間パラメータを含む複合モデルパラメータを含む、当該プロセスモデル推定装置と、 前記動的行列制御コントローラアルゴリズムでの使用のための新しい利得ベクトルを計算するための前記プロセス不動作時間パラメータを含む前記プロセスモデルを使用しかつ当該新しい利得ベクトルを使用するための前記動的行列制御コントローラのコントローラアルゴリズムを適応させるコントローラ適応装置であって、前記動的行列制御コントローラが前記プロセスを制御するため、オンラインで作動している間、前記動的行列制御コントローラを前記新しい利得ベクトルを使用するように適応させる当該コントローラ適応装置と、を備えるプロセスコントローラ。
- 2前記MPCコントローラがシングルループコントローラである請求項1に記載のプロセスコントローラ。
- 3前記MPCコントローラが1つ以上のフィードバック経路と1つ以上のフィードフォワード経路とを含む請求項2に記載のプロセスコントローラ。
- 4前記制御アルゴリズムが少なくとも1走査又は2走査に等しい制御層(control horizon)を使用する請求項3に記載のプロセスコントローラ。
- 5前記プロセスモデルが、不動作時間プロセスモデルが加えられる第1の次数とパラメータプロセスモデルとの1つである請求項1に記載のプロセスコントローラ。
- 6前記コントローラ適応装置が、前記プロセスモデルに基づいて前記制御アルゴリズムのための予測層(prediction horizon)及び前記MPCコントローラの実行時間の少なくとも1つを決定する請求項1に記載のプロセスコントローラ。
- 7前記動的行列制御コントローラが、制御変数のセットのための予測ベクトルを決定する予測装置、予測エラーベクトルを生成するために前記予測ベクトルと設定点ベクトルとを組み合わせる予測エラー装置を含み、前記コントローラアルゴリズムは、前記制御信号を開発するために用いられる制御信号に変化を生じさせるために前記利得ベクトルと前記予測エラーベクトルとを乗算することを特徴とする請求項1に記載のプロセスコントローラ。
- 8前記コントローラアルゴリズムは、予測層よりも少なくとも10倍短い制御層を用いることを特徴とする請求項1に記載のプロセスコントローラ。
Independent claims8
74 paragraphs, as filed
The present invention relates generally to process control systems, and more particularly to online adaptive model prediction controllers or other model prediction control type controllers within process control systems.
Process control systems, such as distributed or scalable process control systems, such as those used in chemical processes, petroleum-related processes or other processes, typically include analog buses, digital buses, or analog / digital coupled buses. Includes one or more process controllers communicatively coupled to at least one host or operator workstation and to one or more field devices via. For example, field devices that may be valves, valve positioners, switches, and transmitters (eg, temperature sensors, pressure sensors, flow sensors, etc.) perform functions such as opening and closing valves and measuring process parameters within the process. .. The process controller receives signals that indicate process measurements and / or other information about the field device made by the field device, uses this information to implement control routines, and uses this information on the field device to control the behavior of the process. Generates a control signal transmitted on the bus. Information from field devices and controllers is typically one or more performed by the operator workstation to enable the operator to perform the desired function for the process, such as seeing the current state of the process, modifying the behavior of the process, and so on. Application becomes available.
Process controllers are usually defined for processes such as flow control loops, temperature control loops, pressure control loops, etc., or various algorithms, subroutines, or (all) for each of the many different loops contained within the process. It is programmed to execute a control loop (which is a control routine). In general, each such control loop is one or more input blocks such as analog input (AI) functional blocks, single output control blocks such as proportional integral differential (PID) or fuzzy logic control functional blocks, And includes a single output control block such as an analog output (AO) functional block. These control loops typically perform single input / single output control because the control block creates a single control output used to control a single process control such as valve position. However, in certain cases, the process variables being controlled are affected by multiple single process controls, effectively affecting the state of many process outputs, thus operating many independently. Using a single input-output control loop is not very effective. This example has, for example, a tank filled by two input lines and emptied by a single production line, where each line is controlled by a different valve and the temperature, pressure and throughput of that tank are desired. It can occur in processes that are controlled to approach or approach the (set point) value that is set. As shown above, control over tank throughput, temperature and pressure may be performed using control loops, separate temperature control loops, and separate pressure control loops. However, in this situation, the operation of the temperature control loop when changing the set value in one of the input valves to control the temperature in the tank is to increase the pressure in the tank, for example to depressurize. Let the pressure loop open the outlet valve. This behavior then causes the throughput control loop to close one of the input loops, thereby affecting the temperature and causing nothing in the temperature control loop. Have them take other measures. As can be seen from this example, a single input / single output control loop makes the process output (throughput, temperature and pressure in this case) unacceptable and the result is once in steady state conditions. Also swings without reaching.
Model predictive control (MPC) or other types of advanced control using dynamic matrix control (DMC) techniques are situations where changes to a particular controlled process variable affect multiple process variables or outputs. Has been used to perform process control in. Since the late 1970s, many successful implementations of model predictive control have been reported, and MPC has become a major form of advanced variable control in the process industry. Furthermore, MPC control has been realized in a distributed control system as distributed control system layered software. Patent Document 1 and Patent Document 2 generally describe an MPC controller that can be used in a process control system.
In general, MPC is a multiple input / multiple output control that measures the effect of changing each of the process inputs (ie manipulated variables) on each of many process outputs (ie controlled variables). As a strategy, these measured reactions are then used to create a control matrix for use in controlling the process. The control matrix is mathematically reversed and then used within or as a multiple input / multiple output controller to control the process output based on changes made to the process input. Includes a process model (which generally defines the dynamic behavior of a process). In some cases, the process model is represented as a process response curve per process input (usually a step response curve), which is a series of, eg, pseudo-single step changes, delivered to each of the process inputs. It may be created based on. These response curves can be used to model the process in known ways. Model predictive control is known in the art and, as a result, its details are not described herein. However, MPC is generally described in Non-Patent Document 1.
MPCs are useful in many process control situations, but industrially applied MPCs are typically mathematically used as recursive algorithms or matrix calculations to create control matrices used in MPC controllers. It primarily uses dynamic matrix control (DMC) techniques that require the generation of a complex process model (represented) and then the subsequent inverse matrix of that model. As a result, generating an MPC controller is computationally expensive. In addition, in order to develop an accurate process model for use in creating MPC controllers, traditionally known control signals such as step signals for each of the control inputs interfere or confuse the process with process variables or It was necessary to determine the response to known changes in each control input of the controlled variable. One way to achieve this procedure in a distributed process control system is to "Integrated Optimal Model Predictive Control in a Process Control", the disclosure of which is incorporated herein. It is explained in detail by Patent Document 3 entitled "System)".
While this process disturbance technique generally produces a very accurate process model, the disturbance procedure is time consuming, disrupts the normal behavior of the process, and is practical to perform when the process is running online. It is difficult, if not impossible. Instead, this process disturbance technique usually needs to be implemented in the process when it is not running to create the actual product, such as during the initial setup of the process or MPC controller. It goes without saying that this constraint severely limits the period during which the process model can be determined. In any case, this technique can be used with adaptive MPC controllers (that is, those whose MPC control matrix changes during the online operation of the process) because it requires process disruption during each adaptation cycle. Inappropriate. In addition, this method is computationally expensive for significantly sized MPC controllers (ie those with multiple inputs and multiple outputs), as the control matrix must be inversely matrixed and applied after the new process model is determined. It's expensive. This computational load makes it difficult to achieve adaptive MPC in a distributed process controller, which is typically limited by the amount of additional computational load that can be performed in conjunction with performing online process control activities.
However, in many situations it is desirable to adapt the MPC controller during the operation of the process to explain the process model mismatch. In particular, when implementing MPC, the process model determined at the configuration stage reflects only the process at the time of process model creation. Changes that occur as a result of a process that normally occurs naturally during the process of running the process are not reflected in the process model used by the MPC controller and may therefore lead to model mismatch and non-optimal control by the MPC controller. MPC controllers are most susceptible to or most sensitive to modeling errors during process loop downtime. Compensating for this model mismatch is desirable and may be necessary in many control situations.
In the past, one method used to compensate for model inconsistencies in DMCs or other MPC controllers was to create new process models periodically and use process disruption or disturbance techniques to create new control models and controllers. Was to generate. However, as mentioned earlier, this procedure can only be performed infrequently, due to the need to perform process disruption to determine a new process model, and the amount of computation that needs to be performed during the control matrix generation process. Because of the calculation must be performed offline. Another way to compensate for non-linear process model discrepancies is to use a non-linear process model in conjunction with an MPC controller generated using process confusion techniques. Input / Multiple-Output Control Blocks with Non-Linear Predictive Capabilities) is described in US Patent Application, Application No. 10 / 454,937. In general, this technique compares predictive process changes created using a non-linear process model with predictive process changes created from an MPC process model in order to generate an error signal indicating a model mismatch. From, these error signals are used to compensate for the non-linear features of the process that were not explained or modeled when generating the MPC controller. However, this technique relies on the use of complex nonlinear process models to accurately reflect process behavior and to create appropriate compensation signals for the MPC controller. Moreover, in many cases, there is still a model mismatch between the non-linear process and the actual process, which can further reduce control performance. Furthermore, this technique is not adaptive because neither the nonlinear process model nor the MPC process model is modified during the online operation of the controller.
In part, as a result of problems in creating and implementing effective adaptive MPC controllers or other types of adaptive DMC controllers, process control techniques frequently change the process model during the operation of the process. Use adaptive PID controllers in many process situations. Adaptive PID controllers are well known and are applied to adapt during the operation of a process, but these PID controllers are now powered down in a process where downtime is predominant in order to operate satisfactorily. It must be detuned, that is, very conservative, leading to poor performance. Furthermore, the PID controller is extremely susceptible to reduced control performance when there is a discrepancy between the controller reset and the actual process time constant, especially when the process dynamics change frequently. Unfortunately, determining the process time constant (directly related to the process time to steady state) is the most uncertain parameter created when using known process model identification methods. .. Therefore, PID controllers are not always the best choice when controlling processes with dominant downtime, especially when the time to steady state of the process changes frequently.
<p><patcit num="1"><text>U.S. Pat. No. 4,616,308</text></patcit><patcit num="2"><text>U.S. Pat. No. 4,349,869</text></patcit><patcit num="3"><text>U.S. Pat. No. 6,721,609</text></patcit><patcit num="4"><text>U.S. Pat. No. 6,577,908</text></patcit><patcit num="5"><text>US Gazette No. 2003/0195641</text></patcit></p>
<p><nplcit num="1"><text>Qin, S. Joe and Thomas A. Badgwell, An Overview of Industrial Model Predictive Control Technology, AIChE Conference, 1996 Year</text></nplcit></p>
<p> The present invention provides a method of creating and using an adaptive DMC controller or other MPC controller.</p>
<p> The method of creating and using an adaptive DMC controller or other MPC controller does not require artificially stimulating the process and is a process model such as a process model parameterized for a process loop online during the operation of the process. Includes the use of model switching techniques to determine periodically. The method then uses the process model to generate an MPC control model and creates an MPC controller algorithm online, i.e. while the process is running successfully. This technique, which is generally applicable to single-loop MPC controllers and is especially useful for MPC controllers with one or two horizon, makes the MPC controller a process model on which the MPC controller is based. It becomes adaptable online, that is, during the normal operation of the process, to change it, and thereby to explain the changes in the process over time. Such adaptive MPC controllers are not computationally expensive and therefore offer the same or even better control than PID controllers, while being easily implemented within a distributed controller in a process control system. More specifically, for example, an adaptive single-loop MPC controller with one or two less control layers in a loop with dominant downtime, especially when the process loop suffers a process model mismatch due to dynamic process changes. It can provide even better control than the PID controller. In addition, the MPC controller can easily be equipped with multiple feedforward inputs that are not normally available on the PIC controller.</p>
<figref num="1">FIG. 3 is a block diagram of a process control system including a control module having an adaptive DMC controller functional block, such as an adaptive MPC controller functional block, to control one or more process loops.</figref><figref num="2">It is a block diagram of an adaptive MPC controller that may be realized in the functional block of FIG.</figref><figref num="3">It is a flowchart explaining the operation of the adaptive MPC controller of FIG.</figref><figref num="4">FIG. 2 is a block diagram of a control module that may be used in a process controller to implement the adaptive MPC controller of Figure 2.</figref><figref num="5">A screen display associated with a configuration or operator interface routine that looks at the behavior of the adaptive MPC controller in Figure 2 and describes how it can be achieved.</figref>
Referring here to FIG. 1, the process control system 10 is a data historian 12 and each has a display screen 14, a memory, and a processor (not shown) (any type of personal computer, workstation, etc.). Includes a process controller 11 (which may be a distributed process controller) communicatively connected to one or more host workstations or computers 13. Further, the controller 11 is connected to the field devices 15 to 22 via the input / output (I / O) cards 26 and 28. The data historian 12 may be a desired type of memory and a desired type of data acquisition device having the desired or known software, hardware, or firmware to store the data (FIG. 1). The workstation 13 (as depicted) may be individual or part of one of the workstations 13. Emerson Process as an example Controller 11, which may be a DeltaV® controller sold by Management), to host computer 13 and data historian 12 via, for example, an Ethernet® connection or other desired communication network 29. Connected to be communicable. The communication network 29 may take the form of a local area network (LAN), wide area network (WAN), telecommunications network, etc., and may be realized using hardwired technology or wireless technology. Controller 11 uses any desired hardware and software associated with, for example, standard 4-20ma devices, and / or any smart protocol such as FOUNDATION® Fieldbus Protocol (Fieldbus), HART Protocol, etc. It is connected to the field devices 15 to 22 so that it can communicate with each other.
The I / O cards 26 and 28 may be any type of I / O device that conforms to any desired communication or controller protocol, and field devices 15-22 may be any of the sensors, valves, transmitters, positioners, etc. Type of device. In the embodiment depicted in FIG. 1, field devices 19-22 are smart devices, such as Fieldbus field devices, that use Fieldbus protocol communication to communicate with the I / O card 28 over a digital bus, and are field devices. 15-18 are standard 4-20ma devices, or HART devices that communicate with the I / O card 26 over an analog or analog / digital line. It goes without saying that field devices 15-22 will be able to comply with any other desired standard (s) or protocol, including any standard or protocol developed in the future.
Controller 11, which may be one of many distributed controllers in a plant having at least one processor in it, is stored in it or otherwise associated with it. Implement or monitor one or more process control routines that may contain control loops. Controller 11 also communicates with devices 15-22, host computer 13, and data historian 12 to control the process in any desired way. It should be noted that the control routines or elements described herein may, where desired, be implemented or executed by various controllers or other devices. Similarly, the control routines or elements implemented herein within the process control system 10 may take any form, including software, firmware, hardware, and the like. For the purposes of this description, the process control element may be any part or part of the process control system, including, for example, routines, blocks, modules stored on any computer readable medium. A control routine that may be any part of a control procedure, such as a module, or a subroutine, part of a subroutine (such as a line of code), is a ladder circuit logic, a sequential functional chart, a functional block diagram, object-oriented programming, or any It may be implemented in any desired software format, such as using other programming languages or design paradigms. 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 graphic design tools or other types of software, hardware, or firmware programming or design tools. As a result, controller 11 has a control strategy or control strategy in any desired manner.
In one embodiment, the controller 11 implements a control strategy using what is commonly referred to as a functional block, and each functional block implements various process control loops within the process control system 10. Therefore, it is part of the overall control routine, an object, that works in conjunction with other functional blocks (via communication called links). A functional block is a control function, such as an input function typically associated with a transmitter, sensor, or other process parameter measuring device, one associated with a control routine that performs control of PID, fuzzy logic, etc., or a process control system 10. It performs one of the output functions that control the operation of some device, such as a valve that performs some physical function inside. It goes without saying that there are hybrid functional blocks and other types of functional blocks. Functional blocks are stored in controller 11 and may be executed by controller 11, which is usually the case when these functional blocks are associated with standard 4-20ma devices, and some types of smart field devices such as HART devices. Alternatively, it may be stored in the field device itself, which may be the case in the fieldbus device, and may be realized in the field device itself. A description of the control system is provided herein using a functional block control strategy that uses an object-oriented programming paradigm, but the control strategy, i.e., a control loop or module, is a ladder circuit logic, sequential function chart, etc. It may be implemented or designed using other conventions or using other desired programming languages or paradigms.
As depicted by the enlarged block 30 in FIG. 1, controller 11 may include a number of traditional single-loop control routines depicted as routines 32 and 34, depicted as control loop 36. One or more adaptive DMC type control loops may be implemented. Each such conventional DMC type control loop is commonly referred to as a control module. Control routines 32 and 34 may be associated with process control devices such as valves, measuring devices such as temperature transmitters or pressure transmitters, or any other device in process control system 10 with appropriate analog inputs (appropriate analog inputs). Perform single-loop control using a single-input / single-output fuzzy circuit logical control block and a single-input / single-output PID control block, respectively, connected to the AI) and analog output (AO) functional blocks. It is depicted as a thing. The inputs and outputs of adaptive MPC control block 38 are communicably connected to any other desired functional block or control element to receive other types of inputs and to provide other types of control outputs. The adaptive DMC type control loop 36, described in more detail as an adaptive MPC control loop, may be communicatively connected to one or more AI functional blocks, and to one or more AO functional blocks. It is depicted as containing an adaptive MPC control block 38 with outputs communicatively connected. In addition, the adaptive MPC control block 38 is depicted in FIG. 1 as a multiple input / multiple output control block, which instead has a feedback control path and, if desired, a feedforward control path. It will be understood that it will be a single loop control block of.
As described in more detail, adaptive MPC control block 38 monitors a process online, that is, during the operation of the process, for the process (or at least part of the process controlled by control block 38, the loop). , And a control block that recalculates a process model such as a parameterized process model. The adaptive MPC control block 38 then recalculates the MPC control model and MPC control algorithm used within the control block 38, thereby making the MPC controller within the MPC control block 38 a better match or new. Use a new process model whenever it is determined to adapt to controls based on the calculated process model. This adaptive MPC control does not require artificially disrupting the process to determine a new process model, it takes the process offline to calculate the new MPC controller model and algorithm and install it inside the MPC controller. No need, it happens. As will be understood, the process model can be redefined and the MPC controller is running the process to reduce or eliminate model discrepancies between the MPC controller and the process due to changes in the process over time. It can be played in various cases.
As noted above, adaptive control block 38 will be described herein as including a model predictive control (MPC) block, but control block 38 uses the same principles described herein. Alternatively, other DMC-type control techniques could be implemented. In addition, the functional block depicted in FIG. 1, including adaptive MPC control block 38, can be executed by controller 11, or instead, one in workstation 13 or one in field devices 19-22. It will be appreciated that any other processing device, such as a workstation, can be located and executed.
As depicted in Figure 1, one of the workstations is used to create, download, and implement adaptive MPC control block 38 (or control module 36 where control block 38 is located). Includes adaptive MPC configuration routine 40. The adaptive MPC control block configuration routine 40 is stored in memory in workstation 13 and may be executed by a processor in it, but further or instead, this routine (or any part thereof) is so desired. If so, it may be stored and executed in any other device in the process control system 10. In general, the adaptive MPC configuration routine 40 includes a control block creation routine 42 that creates an adaptive MPC control block as described herein and connects this adaptive MPC control block to a process control system. This creation and configuration routine is integrated with other types of modules and functional blocks such as modules 32 and 34, and / or the same routines that can be used to create and configure FLC and PID functional blocks within them. It may or may be the same routine, which is generally known in the art. Therefore, the adaptive MPC functional block 38 may be one of a set of various functional blocks that currently exist in the art and can be selected and configured in a manner similar to the functional blocks well known in the art. Further, as shown in FIG. 1, a user interface application or an operator interface application 44 allows a user such as a control operator to see information and data related to the MPC control block 38, and the MPC control block develops a process model. Modify how it behaves to communicate with the adaptive MPC control block 38 during its operation so that the MPC control block 38 can generate a new MPC control model and MPC algorithm from the process model. May be done. In some cases user interface routine 4 4 may allow the user to provide a tuning input to the adaptive MPC control block 38 to achieve the operation of that block. In addition, the user interface routine 44 is communicable to any of the workstations 13 or to a control system such as a personal digital assistant (PDA) or mobile phone. It may be stored and executed in any other desired user input device.
FIG. 2 is a detailed block diagram of an embodiment of adaptive MPC control block 38 communicatively coupled to processor 50. During operation, adaptive MPC control block 38 displays one or more manipulated variables MV provided to other functional blocks (not shown in Figure 2) that are also connected to control the inputs of process 50. It will be understood to generate. As depicted in FIG. 2, the adaptive MPC control block 38 includes an adaptive model generator 52 and an MPC controller block 54. The MPC controller block 54, in this example, provides a single control output in the form of a single control signal (or manipulated variable) MV that is also provided to process 50 to perform process control in this example. It is drawn as a single loop control block, such as having one. Since the MPC controller block 54 in FIG. 2 contains both feedback and feedforward paths, it contains inputs for both of these paths. However, in some cases, such devices, which are not described herein, are standard square M × M (in which case M is any number greater than 1) having the same number of inputs as the outputs. It may be possible to use the MPC control routine (which may be).
The MPC controller block 54 sets the desired target vector for the measured control variable (CV), disturbance variable DV, set point value, or control variable CV as input (as measured in process 50). Receives the specified vector SP and the manipulated variable MV generated by the controller block. As is known, the disturbance variable DV represents a change that is measured or predicted during process 50 (eg, disturbance), and this value is provided to controller block 54 and at the same time to process 50. It is depicted as. In general, the controlled variable CV represents the input to the feedback return path of the MPC controller 54, while the disturbance variable DV represents the input to the feedforward path of the MPC controller 54.
As is common in MPC controllers, the controlled variable CV and the disturbance variable DV, along with the manipulated variable MV generated by the MPC controller 54, are provided in the controlled variable process model 70 (also known as the control variable predictor). To. The control variable predictor 70 is stored in the control variable predictor 70 to predict the future value of the controlled variable CV based on the current value and / or the predicted future value of the manipulated variable MV and the disturbance variable DV. Use a process model (also known as a control model). (Usually, a separate control model is used for each of these input variables.) The control variable predictor 70 produces an output that represents a precomputed prediction of the current controlled variable CV, a vector analog adder. 74 subtracts the predicted value of the current controlled variable CV from the actual measured value of the controlled variable CV in order to generate an error and predictive correction vector at input 76.
In general, the control variable predictor 70 times crosses the prediction layer (horizon) based on the error signals provided to the disturbance variable DV and the manipulated variable MV, and the other inputs of the control variable predictor 70. Use a step response matrix (in this case, which may be mathematically created from the process model) to predict the future value of the variable CV controlled by each of). The output of device 70 is depicted as a predicted CV vector. The set point predictor 80 provides a target vector to the controlled variable CV based on the set point SP provided to it from any desired source such as an optimizer, user, control operator, etc. In one embodiment, the setpoint predictor 80 predefines (ie, defines the robustness and measure of the controller) how the controlled variable CV must be moved over time. A set point SP may be used with an established change or filter vector. The set point predictor 80 produces a dynamic control target vector (called a predictive CV target vector) of the controlled variable CV that defines the change in the set point value of the controlled variable CV over a period defined by the prediction layer. .. The analog adder 84, which may be a vector adder, then subtracts the predicted CV vector from the dynamic control target vector to define a future error vector for the controlled variable CV. The future error vector of the control variable CV then operates across the control layer to select the manipulated variable MV step, eg, to minimize the least squares error (for each period to the control layer). Provided in MPC algorithm block 85. The MPC algorithm block 85 is a control matrix or other algorithm created from the relationship between the controlled variable CV input to the MCP controller 52 and the disturbance variable DV and the manipulated variable output by the MPC controller block 54. May be used. As is generally known, MPC algorithm block 85 keeps the controlled variable CV within operational constraints.
In general, MPC controller block 54 is a single loop MPC as a controlled variable CV used to control process 50 based on the MPC control model and control algorithm stored in blocks 70 and 85, respectively. It operates once during each controller scan to generate a control signal. However, as noted above, the dynamics of process 50 usually change over time, resulting in a discrepancy between the actual behavior of process 50 and the model of process 50 used within MPC controller block 54. May be connected.
To make up for this problem, the adaptive model generator 52 operates to redetermine or update the process model that represents the loop of process 50, especially process 50 controlled by MPC controller block 54. The adaptive model generator may, if desired, determine the same or different process model for the feedback and feedforward paths of the MPC controller 54. The adaptive model generator 52 then determines not only the new MPC control algorithm for use within block 85, but also the new MPC control model for use within block 70, thereby causing the MPC controller 54 to process 50. Use an updated process model to enable operation based on a process model that more accurately reflects the current behavior. This update process adapts the MPC controller 54 to process 50 online while it is running, thereby eliminating or eliminating model mismatches and providing even better control.
In general, the adaptive model generator 52 determines a new model for process 50, especially for a specific loop of process 50 controlled by process 50, online and while process 50 is running. Includes a process model estimator 90 that operates to recalculate. The output of the process model estimator 90 is a process model, a parameterized process model that defines the behavior of process 50 according to a set of parameters. Other parameterized models could be used instead, but the most common types of parameterized process models provide parameters for process response time, process gain and process downtime. It is a non-operation time process model of the first order including. How to define or infer a process model from process variables for use with an adaptive PID controller is explicitly incorporated herein by reference in both disclosures. Feedforward PID It is described in Patent Document 4 entitled "Controller" and Patent Document 5 entitled "State Based Adaptive Feedback Feedforward PID Controller".
In general, the process model estimator 90 wants data indicating the controlled variable CV and one or more of the manipulated variable MV, the disturbance variable DV, and the setpoint SP, and during the normal operation of the process. If so, perhaps collect data representing other variables on a regular basis. The process model estimator 90 is then either a process input variable that may need to be responsive to or controlled by process 50, such as a change in setpoint SP, disturbance variable DV, or controlled variable CV. Periodically review or analyze this data to determine when significant changes occur in (or allow the user to do so via the user interface routine 44 in Figure 1). Upon detecting such a change, the process model estimator 90 then reaches a steady-state condition when the process variable (ie, the controlled variable CV) reaches these two points in order to determine the process's response to the change. Decide whether to use the process data collected during. More specifically, a disturbance in process 50 or a change in the setpoint SP causes the MPC controller to change the control signal (manipulated variable MV) to modify process 50. The change in the controlled variable CV then reflects the process response to this change, and the process model estimator 90 uses known techniques to determine the parameterized process model that describes or models the process 50. May be used. As noted above, this parameterized process model may be defined as a first degree with the inactivity time process model added or any other type of parameterized process model. However, importantly, the process model estimator 90 does not need to interfere with or confuse process 50 to determine the process model, but instead is collected during normal or online operation of process 50. Analyze process data. As a result, the process model estimator 90 does not impose a heavy computational load on the controller processor and also
After determining the new process model, the process model estimator 90 pays the MPC model calculator 92 (calculated process gain K, downtime) as well as the penalty for movement and the set point target vector filter device 94. Provides process models (such as DT and time constant TC). The MPC model calculator 92 uses a new process model to compute the common MPC control model used by the control variable predictor 70. This MPC control model is typically represented as a response curve that defines the response of the controlled variable CV to a step change of the manipulated variable MV (or disturbance variable in the case of a feedforward path) over time to the prediction layer. Is a form of transfer function. This model will generally result from a controlled variable CV that will result from a process that is fully defined by a parameterized process model created by the process model estimator 90 in response to step changes in the manipulated variable MV. It is easy to calculate mathematically as a series of values (one for each scanning time to the prediction layer).
After determining the MPC control model, the MPC model calculator 92 provides this model to the MPC algorithm calculator 96 and controls the MPC controller 54 for future use of this model or when updating the MPC controller 54. Store for download to the variable predictor 70. Essentially at the same time, the penalties for movement and the set point target vector filter device 94 calculate the penalties for movement and the set point trajectories or filter coefficients used by the MPC controller 54, or otherwise determine. In one embodiment, as will be described in more detail below, the penalties for the locus and movement of the set point target vector filters, which are the control adjustment variables used in the SP predictor 80 and the MPC algorithm block 85, respectively, are automatically calculated. Good. For example, the penalty for movement may also be automatically based on the process time from the response time of the process model created by the process model estimator 90 to the steady state Tss. In another embodiment, the movement penalty and set point target vector filter locus may be input or specified by a user such as a control operator.
The MPC algorithm calculator 96 uses the MPC control model as well as the penalty value for movement to determine the appropriate control algorithm to be used by the MPC algorithm block 85 based on the newly determined process model ( And usually reverse this model). From then on, at appropriate times, such as when process 50 is in steady or apparently steady state, or when commanded by the user through the user interface, the adaptive model generator 52 transfers a new MPC control model to the control variable predictor. Update to 70 by downloading a new SP trajectory or filter coefficient to SP prediction block 80 (if changed), and a new MPC control algorithm to MPC algorithm block 85.
In this way, when the process model estimator 90 determines or detects a process model for process 50 that differs from the process model used to configure the MPC controller 54 in some important way, the MPC model calculator 90 92 and the MPC algorithm calculation block 96 may calculate new MPC controller parameters, models and algorithms based on the model and download these new MPC controller elements to the MPC controller.
Importantly, a single-loop MPC or other DMC type controller with one or two and perhaps even higher control layers is not computationally expensive and can be adapted as described above, thus such an adaptive controller, It has been determined that a process can run or run online on a distributed or other process controller while it is running, thus providing a truly online adapter MPC (or other DMC type) controller. In particular, the MPC controller's MPC control algorithm (as used in block 85 in Figure 2) for a single loop with one or two control layers is simple, i.e. non-recursive, and matrix computation. It was determined that it could be defined as one or more simple formulas that are not used. As a result, in these cases, determining the MPC control algorithm for block 85 is not computationally overkill, thereby receiving a new MPC control model and control for MPC control block 54 when receiving a new process model. Allows frequent and fast recalculation of the algorithm. Therefore, MPC controller block 54 is updated online while the process is running so that such adaptations occur quickly and in real time and can be performed within a distributed controller that actually runs the MPC controller 54. Or it can be adapted.
In addition, as noted above, a single-loop MPC controller containing a small control layer MPC (one or two, or perhaps up to five) has a downtime-dominant process and time to steady state. It was determined to provide better control performance than the PID controller in many situations, such as when it changes over time.
FIG. 3 depicts a flow diagram 100 that may be used by an adaptive MPC control block to perform adaptive control within controller 11 of FIG. In the first section 102 of Routine 100, the process model estimator is the data that process 50 shows the controlled variable CV, manipulated variable MV, setpoint SP and disturbance variable DV as well as other desired or required data, etc. It also works while running online to collect process input / output data and stores this data in memory. The process model estimator 90 is used to periodically define a new process model, such as after each data collection instance, after collecting a certain amount of data, after a certain period of time, in response to a user command, etc. Look for blocks of data that can be done, especially for process input disturbances that change the process output (such as a controlled variable CV) and then reach a steady state value (such as a change in the control signal). When such a change is detected, or in response to the user's choice of the dataset to use to create the process model, the process model estimator block 90 selects the process data to generate a new process model. Analyze the blocks that have been or have been determined.
More specifically, block 104, which may be implemented by the process model estimator 90, collects process input / output data, and block 106 is a period of time during which the process has undergone sufficient changes to compute a new process model. Determine if sufficient data has been collected. Block 106 may respond to user commands to generate a process model from a selected set of process data. If the data collected is not enough for the process model estimator 90 to calculate a new process model, or if the user does not instruct routine 100 to create a new process model, block 104 will process input / output. Continue to collect data. On the other hand, if sufficient process data is collected during a period of significant change or disturbance that causes the process to calculate a new process model, or if the user initiates a process model calculation, block 108 may be described, for example. A new process is calculated using the techniques described in Patent Document 4 and / or Patent Document 5, and a new process model is provided in the second section 110 of Routine 100.
Section 110 of Routine 100 determines the new MPC model and algorithm from the determined process model. For this explanation, the process model determined by block 108 is parameterized for both feedback and feedforward paths, including parameters that define process gain, process downtime, and process time constant. It would be assumed to be the first order non-operation time process model. However, it is understood that the process model contains parameters only for the feedback path and may be a primary process model of another type or nature, or any type of process model other than the primary process model. Will. Therefore, in general, other types or forms of process models could be used instead.
As depicted in Figure 3, Section 110 of Routine 100 determines one or more of the MPC controller's scan rate, execution time, predictive layer, and time to steady state based on the new process model. Includes a calculation block 112 that may be implemented by the set point target vector filter with a penalty for movement in FIG.
Similar to the adaptive PID control technique, the time to steady state Tss is updated after each successful model identification based on the process model, especially based on the time constant of the process model. However, unlike PID controllers that can operate at any scan rate (as long as the scan rate is several times faster than the process response time), the adaptive MPC controller puts the time to steady state TSS inside the predictive layer used by the MPC controller. keep. Execution time and / or predictions used by the MPC controller (usually fixed within the MPC controller) to modify or modify the scan rate of the MPC controller as part of the adaptation process, thereby providing better control. It is determined that the layer can be changed, thereby providing better MPC controller operation.
To ensure that the new scan rate is properly selected, block 112 is first based on any known method, especially the time constant determined in the process model for the feedback path of the MPC controller 54. To determine the process time Tss from the new process model to the steady state. Time to steady state Tss may be determined or expressed in actual time (eg minutes, seconds, etc.) or is required during the time to steady state based on the fixed controller execution time per execution cycle. It may be expressed by the number of execution cycles.
The execution time can then be calculated as the time Tss to steady state divided by the maximum permissible prediction layer, which may be set by the user or by the configuration engineer during the configuration of the adaptive MPC controller. This calculation can be expressed as follows. Exec_Time = Trunc [TSS / PHmax] here, Exec_Time = Execution time, TSS = time to steady state, PHmax = maximum prediction layer, Is. Here, Trunc is a mathematical truncation operation.
In the embodiments described, a maximum prediction layer of 120 may be used, which means that predictions up to 120 may be calculated during each scan by the in-scan control variable predictor 70. However, in many cases, this calculation leads to more or less reminder of the behavior of the MPC controller. In order to avoid divisions that result in remainders and thereby reduce floating point errors and jitter in controller operation, the predictive layer may be chosen, allowing it to vary between minimum PHmin and maximum PHmax. The product of the predicted layer PH and the execution time may be chosen to be exactly equal to the time to steady state TSS. The selected forecast layer is then in the MPC controller instead of the maximum permissible forecast layer PHmax. Used as a predictor layer in all of the inner loops (that is, in all of blocks 70, 74, 80, 84 and 85 of controller block 54 in Figure 2). Thus, in this case, the prediction layer may vary, for example, between 60 and 120, depending on the actual time to steady state determined for the new process model.
Table 1 below shows examples of various combinations of execution time Exec_Time and selected predictive layer PH that may be favorably used in the MPC controller 54 based on the specific time TSS to steady state of the new process model. Shown. As you can see, the run time varies between 0.1ms and 213ms, but the time to steady time TSS in this table (which is a known variable for which the run time and predictor layer are sought) is 10 seconds in this case. It varies between ~ 12800 seconds and in all cases yields a selected predictive layer PH between 60 and 120. Although it may not be necessary, the predictive layer is not needed for such a large time to steady state, so the predictive layer is 60 each time the time to steady state value exceeds 3200, or the minimum tolerance. Should be set to. In any case, if desired, the results of Table 1 relating the desired combination of predictor layer and execution time to the time TSS of the process to a different determined steady state, or a similar such pre-computed table. May be stored in the adaptive model generator 52 used to determine the appropriate predictor layer for use in the MPC controller based on the determined steady state process model time TSS. It goes without saying that any other desired method of generating a combination of predictive layer and execution time based on the process time to a determined steady state may be used instead. <tables num="1"><img file="JP2012230701A_D0001.tif" /></tables>
In any case, as you can see, the adaptive MPC controller block 38 is actually set during the adaptation process to ensure that the controller scan rate is set to keep the time to steady state TSS within the prediction layer. The prediction layer and execution time can be changed or modified. If desired, block 112 compares the run time with the controller scan rate to determine if the selected or calculated run time is lower than the controller's set scan rate. If this condition is true, block 112 must accelerate the controller block scan rate to allow the user to operate the MPC controller properly, for example via the operator interface application 44. A warning message may be issued to indicate.
Next, block 114, which may be implemented in MPC model calculation block 92 of FIG. 2, is a step of the manipulated variable MV (in the case of a feedback loop) of the controlled variable CV during the time specified by the prediction layer PH. A step response model (MP control model) that defines the response to change and the response of the controlled variable CV to the step change of the disturbance variable DV (in the case of a feedforward loop) during the time specified by the predictor layer PH. ) Is determined or established. It goes without saying that such a step response model may be mathematically generated from the process model created by block 90. Generally, the response of the controlled variable CV is calculated for each of the number of controller scans defined by the predictive layer PH determined by block 112. Therefore, if the prediction layer is 120, the 120 different responses of the controlled variable CV the manipulated variable MV in the first time instance to define the MPC step response model (for the feedback controller path). It will be decided in response to the step change of. This step response model is referred to herein as the step response vector B defined in non-vector form as (b1, b2, .... bi, ... bp), where p is the selected prediction. The layer, bp is the response of the selected predictive layer.
Block 116 is then a setpoint filter used by the MPC controller to determine the movement and error penalties used in the MPC algorithm and, if desired, the response and robustness of the MPC controller 54. Calculate or determine a constant or trajectory. If desired, the penalty for error, the SP filter and the penalty for movement may be determined automatically or set by user input, for example via the user interface application 44 of FIG.
One way to set the setpoint target vector filter time constant automatically is to specify the setpoint target vector filter time coefficient, which defines the behavior of the setpoint target vector filter in relation to the time to steady state of the process. Is. For example, the set point target vector filter time coefficient ranges from 0 to 4, and as a result (defines the time constant of the set point target vector filter), the set point target vector filter time constant is set as the process time TSS to the steady state. It can be obtained as the product of the point target vector filter time coefficient. As will be appreciated, this setpoint target vector filter time factor could change with each new process model identification. A set point target vector filter coefficient or set point target vector time constant could be selected or provided if so desired.
Generally, the penalty for error (which defines the coefficient that the MPC controller algorithm applies to the error vector between the desired CV and the predicted CV during the calculation of controller movement) is set to 1. Well, it doesn't have to be changeable. That is, in a single-loop system, only the ratio between the penalty for movement (POM) and the penalty for error (PE) is relevant. That is, as long as one of these variables is mutable, the others do not have to be mutable.
In one embodiment, the default movement penalty (which defines the movement penalty of the MPC control algorithm accessing the unit control signal during the calculation of controller movement) may be calculated for each process model change such as: ..<maths num="1"><img file="JP2012230701A_D0002.tif" /></maths>Here, DT is the process downtime (from the process model), PH is the predictive layer, G is the process gain (from the process model), and PM is the calculated penalty for movement. In general, this observationally, discoveryally determined equation accesses higher penalties for movement as the process downtime increases, and if not so much, the process gain increases. .. It goes without saying that other equations or methods for calculating recommended or default values for penalties for movement could be used instead.
In any case, the recommended move penalty may be displayed in the user interface as a read-only parameter (eg, using interface application 44 in Figure 1). However, if desired, the user interface application 44 allows the user to change the recommended value (which may be used as the default setting) to another value. The method of making this change allows the user to directly specify the desired POM, or the POM factor used by the user to change the recommended value (that is, as a multiplier of the recommended value). Including to. Such POM coefficients range from 0.1 to 10, for example, and may be modified or selected by the user using, for example, a slider bar or attribute box in the user interface display screen. In any case, the user interface may specify the actual POM value used by the MPC controller in addition to the recommended POM value and POM coefficient (the actual value is the recommended POM coefficient and POM value). Will be a product).
With reference to FIG. 3 again, block 118 then calculates or determines the MPC control algorithm used in MPC algorithm block 85 of FIG. 2 during the operation of the MPC controller. In general, this algorithm can be expressed in a closed form when the MPC controller 54 is a single-loop controller with a control layer of 1 or 2. In other words, it is computationally easy to reproduce this algorithm when updating the model.
In general, block 118 creates an unsuppressed incremental controller for the MPC from the step response model (or step response vector), the penalty for movement, and the penalty for error (assumed to be 1 in this discussion). To do. Common solutions for incremental controllers with control layer m and prediction layer p at controller scan k are:<maths num="2"><img file="JP2012230701A_D0003.tif" /></maths>For MPC controllers where the control layer is equal to 1, the (transposed) dynamic matrix is just the transposed step response vector, as follows:<maths num="3"><img file="JP2012230701A_D0004.tif" /></maths>In this case, each u is an individual penalty for movement and each y is an individual penalty for error. Here, considering the above, the MPC controller matrix can be generally expressed as follows.<maths num="4"><img file="JP2012230701A_D0005.tif" /></maths>
It is reasonable to assume that, and the adaptive controller is set up so that γ = 1. As a result, the controller gain matrix can be expressed as follows.<maths num="5"><img file="JP2012230701A_D0006.tif" /></maths>Therefore, a single-loop MPC controller with a control layer of 1 is just a process step response vector scaled by the sum of the two coefficients.<maths num="6"><img file="JP2012230701A_D0007.tif" /></maths>
As a result, the controller gain matrix K is a closed form, used in the MPC algorithm of Figure 2 online in controller 11 while the process is running, each time a new process model is identified. Reproducing as a non-recursive and non-matrix algorithm is a simple computer step.
In the case of an MPC controller with a control layer equal to 2, the dynamic matrix (transposed) can be expressed as:<maths num="7"><img file="JP2012230701A_D0008.tif" /></maths>With<maths num="8"><img file="JP2012230701A_D0009.tif" /></maths>In this case, the controller gain matrix K is derived as:<maths num="9"><img file="JP2012230701A_D0010.tif" /></maths>To express this equation more simply, the following variables can be specified.<maths num="10"><img file="JP2012230701A_D0011.tif" /></maths>As a result, using these variables, the controller gain matrix K can be expressed as:<maths num="11"><img file="JP2012230701A_D0012.tif" /></maths>It can be re-expressed as follows.<maths num="12"><img file="JP2012230701A_D0013.tif" /></maths>Here, the MPC controller gain matrix for the first controller move of k1 (ie) , More of the first controller of the two movement control layers) are:<maths num="13"><img file="JP2012230701A_D0014.tif" /></maths>
Therefore, as will be understood, the first move of the two move controller matrices is a rescaled step response vector that is, to some extent, similar to the control vector for the control layer equal to 1. The constant scaling factors for all step response coefficients are:<maths num="14"><img file="JP2012230701A_D0015.tif" /></maths>Since this coefficient is reduced during the penalty (u) imaging for movement, the individual scaling coefficients for the step response and the coefficients can be expressed as:<maths num="15"><img file="JP2012230701A_D0016.tif" /></maths>
This derived expression clearly depicts the similarity between the step response vector and the controller vector. However, this equation is not suitable for controller calculations because the possibility of division by zero in the step coefficient ratio is not suppressed. However, a suitable implementation format can be defined as follows.<maths num="16"><img file="JP2012230701A_D0017.tif" /></maths>
Once this controller gain is determined for the first move, the sequence of calculations can be set as follows: First, m is calculated as:<maths num="17"><img file="JP2012230701A_D0018.tif" /></maths>Second, calculate n as follows.<maths num="18"><img file="JP2012230701A_D0019.tif" /></maths>Third, l is calculated as:<maths num="19"><img file="JP2012230701A_D0020.tif" /></maths>Then calculate the following:<maths num="20"><img file="JP2012230701A_D0021.tif" /></maths>Then m rescales the step response, then l rescales the step response and shifts to the right. That is, b1 = 0. Then rescale the two Subtract the step response to mB-lB (shifted), 1 / (mn-l2) for this Rescale the vector obtained from the tep to get the controller vector. Similarly, the MPC controller matrix or gain for the second controller move k2 is Can be expressed as.<maths num="21"><img file="JP2012230701A_D0022.tif" /></maths>
Again, in the case of a single-loop MPC controller with a control layer of 2, as depicted above, the controller gain equation is computationally overkill and therefore while the controller is operating to control the process. Can be determined online within the controller. In addition, controller gain algorithms for MPC controllers with control layers 1 and 2 have been shown here, but for example 3, 4, 5 and even higher MPC controllers with larger control layers are process controller devices. It is believed that it may be expressed and determined using mathematical calculations that are performed in and thereby help enable adaptive MPC controller playback during the actual control of the process.
Referring again to FIG. 3, after block 118 has calculated or generated a controller gain algorithm for use in MPC algorithm block 85 of FIG. 2, block 120 is updated with MPC controller 54 with new controller parameters. Determine if it is necessary. As part of this process, block 120 determines if the process is currently in steady state, pseudo-steady state, or otherwise ready to update MPC controller 54. Good. Block 120 also specified that, or instead, it may determine whether the user has initiated an adaptation cycle, or otherwise the MPC controller 54 needs to be updated based on the new process model. If the process is currently undergoing a control change or is experiencing large fluctuations in the controlled variable CV, block 120 may wait for the process to reach steady-state or pseudo-steady-state conditions. However, if the process is in steady state, or otherwise, is subject to controller changes, and if the user approves a controller update if desired, block 122 sets the new control algorithm to the MPC algorithm block. Download the new step response model into the controller 70 and into the controller 70. In addition, block 122 sets the new scan rate, time to steady state, and execution time prediction layer to block 70 of the MPC controller 54 so that these blocks all operate according to the same prediction layer, scan rate, and execution time. Download to all 74, 76, 80 and 85. In addition, a new penalty for movement is used in the control algorithm 85, which can provide the MPC controller 54 to tune with new control parameters based on the new process model, while new setpoint targets, if desired. Vector filter constants or coefficients can be downloaded to SP predictor 80
When the download is complete, block 122 returns control to block 104 to continue collecting data. It will be appreciated that control block 104 can continue to collect process data during the operation of the other blocks of routine 100. Further, as shown above, the set point target vector filter coefficient or the variable for the time constant and the moving variable is two adjustment coefficients that the user can change at once, changing the behavior of the MPC controller 54 at any time. May be downloaded to the MPC controller for. Therefore, the MPC controller may be tuned in various cases and there is no need to wait for the MPC controller to be tuned until it is updated based on the new process model. In other words, the MPC controller 54 may be updated with a new setpoint target vector filter coefficient and a penalty value for new movements at any time during the operation of the process.
FIG. 4 depicts an adaptive MPC controller block, generally shown or depicted as functional block 150 coupled between other functional blocks 152 and 154 to form a control module. Other types, types, and numbers of functional blocks could be used instead, but functional block 152 is depicted as an AO functional block, functional block 154 is depicted as an AI functional block, and for functional block 150. Operates within a controller (such as controller 11 in Figure 1) during the operation of the process to achieve its input and output capabilities. As depicted in FIG. 4, the adaptive model generator 52 and the MPC controller 54 are stored and executed in the adaptive MPC controller functional block 150, and these blocks receive the input delivered by the AI block 152. , And output to AO block 154 as needed, thereby being communicable to achieve control of the process or control of the loop of the process. Needless to say, any required number of AI blocks 152 and AO blocks 154 may be provided, these functional blocks in the process plant to receive any desired signal or in any known way. It may be coupled to transmit a signal to any desired component. However, in general, at least a single AI block and a single AO block are provided to the single-loop MPC controller to provide control over the feedback path. However, if desired, additional inputs and outputs may be controlled in a manner similar to that described above with respect to the feedback path, to provide a similar single-loop MPC control in the feedforward path, an adaptive model generator. It may be communicatively connected to 52 and to MPC controller 54. In addition, the MPC controller 54 may be adapted for the feedforward path in the manner generally described herein for the feedback path. In addition, desired
FIG. 5 is a display device such as the user interface screen 14 of FIG. 1 so that the user can not only guide the adaptive MCC process but also see what is happening within the adaptive MPC functional block 150 or 38. It depicts a display screen 200 that may be provided by the user interface application 44 of FIG. In particular, the user interface application 44 allows the user to see and select the data on which the process model must be determined, to initiate the model adaptation procedure (initial), or to set adjustment parameters for the MPC controller, etc. A display screen 200 may be provided for making it available or modifiable. In particular, the display screen 200 shows, for easy understanding, the process behavior, the current behavior of the process, and especially controlled variables, setpoints, manipulated variables, and / or other desired variables. Includes the process operation display area 210 that draws the history value of. The user looks at this data (using a mouse or other input device) if desired (using a mouse or other input device) to specify the data to be used when calculating a new process model for the process. Can be highlighted or selected.
Section 220 of the display screen 200 is associated with the process and the MPC controller to give the user a better understanding of what is currently happening within the process or within the adaptive MPC part of the process. Draw information on various models. Section 220 in FIG. 5 is divided into four sections, including a feedback model section 222, an MPC feedback model section 224, an operating section 226, and an MPC timing section 228. In general, feedback model section 222 provides the user with a view of the most recently calculated process model for the feedback path of the MPC controller, in this case defined as process gain, process time constant and downtime. Provides the values of the model parameters for such a model. This current model does not have to be the process model used to generate the MPC controller currently running in the plant, but probably to generate the MPC controller currently running in the plant. It will not be the process model used.
MPC Feedback Model Section 224 describes the MPC model used to calculate the MPC algorithm (under the column entitled "Calculated") and the MPC process model currently used for the feedback path of the MPC controller. Shown. In this case, the process controller is currently operating with an MPC controller generated based on a process model with a process gain of 1.00, a time constant of 20.0, and a non-operation time of 1.0. However, Section 244 also shows the "current" value of the most recently determined process model for the process as a model for use in the next adaptation cycle at realization. This model is depicted in the example in Figure 5 as being the most recently calculated process model shown in Feedback Model Section 222. As shown, the user could modify or change this process model if desired in this way by entering new values for the model parameters. In addition, the refresh button 230 allows the user to start adaptive MPC generation or calculation using the new process model specified in the current value section of the process model. Needless to say, if desired, the most recently calculated process model is automatically used and the MPC controller adaptation is to initiate such an update with the update button 230 instead of or to initiate it. In addition, it could be achieved automatically and periodically after each process model generation to update the MPC control model.
Operation section 226 of screen 200 depicts the operating area in which the process is currently operating. It is noted that a process can be defined as having a separate operating area, for example as determined by the values of a controlled variable or any other variable. If desired, different models may be selected and used based on the operating area in which the process is running. That is, some operating areas may be more adaptable to the use of the adaptive MPC controller described herein. Further, operation section 226 indicates that the process model estimator is currently collecting data and is in learning mode.
Importantly, MPC tuning section 228 allows the user to tailor the MPC controller by allowing the user to change the SP filter settings and the penalty variables for movement. In particular, the user must multiply by the process model time to steady state (currently set to 2) to find the SP filter time constant used by the MPC controller in this case at input block 235. You may specify the filter coefficient. In addition, the slider bar 238 allows the user to change the penalty variable for movement to adjust the MPC controller, thereby having a slower or higher speed response characteristic. In general, the slider bar 238 may be used to specify or change the penalty factor for movement, which is multiplied by the penalty for default movement calculated as described above for block 116 in FIG. Needless to say, the user may directly change the set point target vector filter and the penalty factor for movement if desired.
In any case, the user display screen 200 updates the process model or causes the process model to be recalculated based on the process data selected in region 210, for example to change the MPC controller tuning. Can be used, for example, by controller control or other users to adapt and update with the most recently calculated process model, etc. In this way, the user interface screen 200 defines the data used to generate the new process model and whether and when to update the MPC controller based on the particular process model. Gives the user a high or high level of input for adaptive updates of the MPC controller, including the ability to choose the robustness of the controller as defined by the SP filter coefficient and the penalty coefficient for movement. Needless to say, the adaptive MPC controller block may be fully automatic or semi-automatic, with these functions being performed automatically, periodically, or at critical times, such as after a new process model has been determined. Further, as mentioned above, the adaptive MPC controller may perform automatic calculation of timing parameters based on the estimated time to steady state determined by the process model calculation, which is the initial adjustment, that is, common to known MPC controllers. Eliminate the need to carry out the disadvantages. In one embodiment, the initial process model may be determined from the process data, the time to steady state may be calculated from it, or the user may not only determine the predictive layer and execution time for the controller. The time to steady state, which may be used as described above to determine the default adjustment parameters for the POM and SP filter coefficients, may be initially entered. Similarly, if desired, the user may specify an initial process model to use when initially setting up or running the MPC controller block.
Although the adaptive model generator has been described and illustrated herein as having an adaptive MPC model generator located within the same functional block and therefore running on the same device as the MPC controller block, the adaptive model generator, It can also be realized by individual devices such as in a user interface device. In particular, the adaptive model generator may be located on another device, such as in one of the user workstations 13, described in connection with Figure 2, such as during each controller run or scan, during the MPC controller update period, etc. It may communicate with the MPC controller so that it is. Needless to say, if necessary, a communication interface, such as a known OPC interface, is a communication interface between a functional block that has an MPC controller in it and a workstation or other computer that implements or runs an adaptive model generator block. May be used to provide.
In addition, the adaptive MPC controller blocks and other blocks and routines described herein have been described herein as being used in conjunction with Fieldbus and standard 4-20ma devices, but they are optional. It goes without saying that it can be implemented using the process control communication protocol or programming environment of, and may be used with any other type of device, functional block or controller. The adaptive MPC or other adaptive DMC control blocks and associated generation and display routines described herein are preferably implemented in software, but they may be implemented in hardware, software, etc. It may be run by any other processor associated with the process control system. Thus, the routine 100 described herein, or any portion thereof, may be in one or more standard multipurpose CPUs, or specially designed hardware such as, for example, an ASIC, if so desired. It may be realized on the firmware. When implemented in software, the software may be equally stored in any computer-readable memory, such as on a magnetic disk, laser disk, optical disk, flash memory or other storage medium, in the RAM or ROM of a computer or processor. Similarly, the software provides to the user or process control system via any known or desired delivery method, including, for example, on a computer-readable medium or other transportable computer storage mechanism. May be delivered to, or modulated (equivalent to providing such software via a transportable storage medium, or considered to be a substitute) and transmitted over a communication channel such as a telephone line, the Internet, etc. You can. Accordingly, the present invention has been described with respect to specific examples intended to be merely exemplary and not limiting the invention, but have been disclosed without departing from the spirit and scope of the invention. Embodiment
10 Process control system 11 controller 38 Adaptive MPC control block
28 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28
Every citation, both waysCites: the store holds 1 of 2
| Document | Relation | Office | Cited during |
|---|---|---|---|
| WO2016054148A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9733628B2 | Cited by | United States of America | Applicant |
| CN107111308A | Cited by | China | Search report |
| US10001760B1 | Cited by | United States of America | Applicant |
| WO2016025229A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| CN103941584A | Cited by | China | Search report |
| WO2016018704A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9665089B2 | Cited by | United States of America | Applicant |
| US9747543B1 | Cited by | United States of America | Applicant |
| US10061275B2 | Cited by | United States of America | Applicant |
| WO2016118377A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| JPS6398703A | Cites | Japan | Examiner |
| JPN6013040285; 佐藤 孝雄: '2自由度一般化最小分散制御則に基づくセルフチューニング2自由度PID補償器の設計法' システム制御情報学会論文誌 第15巻 第4号, 20020415, 第220-222頁, システム制御情報学会 | Non-patent | – | Examiner |
| JPN6013040287; 大嶋 正裕: 'モデル予測制御-I' システム/制御/情報 第46巻 第5号, 20020515, 第286-293頁, システム制御情報学会 | Non-patent | – | Examiner |
| CSNG200400432008; 佐藤 孝雄: '2自由度一般化最小分散制御則に基づくセルフチューニング2自由度PID補償器の設計法' システム制御情報学会論文誌 第15巻 第4号, 20020415, 第220-222頁, システム制御情報学会 | Non-patent | – | Examiner |
| CSNG200400457005; 大嶋 正裕: 'モデル予測制御-I' システム/制御/情報 第46巻 第5号, 20020515, 第286-293頁, システム制御情報学会 | Non-patent | – | Examiner |
20 members in 5 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 11240705 | United States of America | – | |
| 24070505 | United States of America | A | |
| 24070505 | United States of America | A | |
| 2005240705 | – | – | – |
| US20050240705 | – | – | – |
Members20
| Document | Office | Kind | |
|---|---|---|---|
| GB0619184D0 | United Kingdom | D0 | |
| CN1940780A | China | A | |
| GB2430764A | United Kingdom | A | |
| US2007078529A1 | United States of America | A1 | |
| DE102006045429A1 | Germany | A1 | |
| JP2007109223A | Japan | A | |
| US7451004B2 | United States of America | B2 | |
| US2009143872A1 | United States of America | A1 | |
| CN101807048A | China | A | |
| US7856281B2 | United States of America | B2 | |
| GB2430764B | United Kingdom | B | |
| JP2012230701AThis record | Japan | A | |
| JP5558652B2 | Japan | B2 | |
| JP2014167833A | Japan | A | |
| JP2014167834A | Japan | A | |
| CN101807048B | China | B | |
| CN1940780B | China | B | |
| JP6008898B2 | Japan | B2 | |
| JP6357027B2 | Japan | B2 | |
| DE102006045429B4 | Germany | B4 |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Decision of refusalJAPANESE INTERMEDIATE CODE: A02A02 | A02 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 |
Numbers
- Publication
- 2012230701
- Publication, DOCDB
- 2012230701
- Publication, EPODOC
- JP2012230701
- Application
- 156421
- Application, DOCDB
- 2012156421
- Application, EPODOC
- JP20120156421
Titles2
- Japanese
- プロセス制御システムにおけるオンライン適応モデル予測制御
- English
- Online adaptive model predictive control in process control systems
Classification
- CPC, 1
- G05B13/048
- IPC, 1
- G05B13 04