DE10341764B4 - Integrated model prediction control and optimization within a process control system - Google Patents

Integrated model prediction control and optimization within a process control system

Info

Publication number
DE10341764B4
DE10341764B4 DE10341764.8A DE10341764A DE10341764B4 DE 10341764 B4 DE10341764 B4 DE 10341764B4 DE 10341764 A DE10341764 A DE 10341764A DE 10341764 B4 DE10341764 B4 DE 10341764B4
Authority
DE
Germany
Prior art keywords
control
set
auxiliary
cv
process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE10341764.8A
Other languages
German (de)
Other versions
DE10341764A1 (en
Inventor
Ashish Mehta
Wilhelm K. Wojsznis
Dirk Thiele
Peter Wojsznis
Mark Nixon
Terrence L. Blevins
Ron Ottenbacher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US10/241350 priority Critical
Priority to US10/241,350 priority patent/US7376472B2/en
Priority to US10/310416 priority
Priority to US10/310,416 priority patent/US7330767B2/en
Priority to US10/627,362 priority patent/US7050863B2/en
Priority to US10/627362 priority
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE10341764A1 publication Critical patent/DE10341764A1/en
Application granted granted Critical
Publication of DE10341764B4 publication Critical patent/DE10341764B4/en
Application status is Active legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/32Automatic controllers electric with inputs from more than one sensing element; with outputs to more than one correcting element
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor

Abstract

A process control system (10) for controlling a process (50) comprising: a multiple input / multiple output controller (11) configured to generate multiple control outputs configured to cause them during each cycle of operation of the process control system (10) controlling the process (50) based on measured multiple inputs from the process and based on a set of target values provided to the multiple input / multi-output controller (11) during each operation cycle of the process control system (10); andan optimizer (54) adapted to form the set of target values for use by the multiple input / multi-output controller (11) during each operation cycle of the process control system (10), wherein the optimizer (54) is linear or quadratic optimizer (54) is designed to minimize or maximize the objective function (OF) while maintaining a set of control variables (CV) within predetermined setpoint limits, a set of auxiliary variables (AV) within a set of predetermined auxiliary size limits, and maintaining a set of manipulated variables (MV) within a set of predetermined manipulated variable limits and, if there is no solution, allowing at least one of the setpoint limits to be violated, wherein the optimizer (54) is designed to do so is to store a first set of priorities that correspond to the set of control variables (CV), and a second set of priorities corresponding to the set of auxiliary quantities (AV) and wherein the optimizer (54) uses the priorities from the first set and the priorities from the second set to augment the at least one of the control setpoint limits and the auxiliary size limits determine who should be injured.

Description

  • The present invention relates generally to process control systems, and more particularly to an optimized model prediction controller as part of a process control system.
  • Process control systems, such as distributed or scalable process control systems such as those used in chemical, petroleum, or other processes, typically include one or more communicatively with one another, with at least one main or operator workstation, and with one or more field devices via analog, digital, or combined analog / digital buses coupled controller. Field devices, such as valves, valve actuators, switches, and transducers (e.g., temperature, pressure, and flow rate sensors) perform functions in the process such as opening and closing valves and measuring process parameters. The process controller receives signals representative of process measurements made by the field devices and / or other data related to the field devices, uses that data to initiate a control program, and then generates control signals that are sent to the computer via the buses Field devices are sent to control the flow of the process. Data from the field devices and the controller is typically provided to one or more applications executed by the operator workstation to perform an operator any desired function regarding the process, such as monitoring the current process stage, modifying the process flow, etc. to let.
  • Process controllers are typically programmed to execute various algorithms, subprograms, or control loops (which are all control routines) for each of a number of different circuits destined for or included in a process, such as flow control loops, temperature control loops, pressure control loops, Generally speaking, each such control loop comprises one or more input blocks such as an analog input (AI) function block, a single output control block such as a proportional, integral, differential (PID) control block or a fuzzy control function block. and a single output block, such as an Analog Output (AO) function block. These control circuits typically perform a single input / single output control because the control block generates a single control output that is used to control a single process input such as a valve position, etc. In some cases, however, using multiple independently operating single-input / single-output control loops does not make sense because the process variables to be controlled are affected by more than a single process input and each process input can affect the status of many process outputs. An example of this could be, for example, a process in which a tank is to be filled through two supply lines and emptied through a single outlet line, each line being controlled by a different valve and thus regulating the temperature, pressure and flow rate of the tank in that they are at or near target values. As stated above, the regulation of the flow rate, the temperature and the pressure of the tank can be carried out using a separate flow control loop, a separate temperature control loop and a separate pressure control loop. In this situation, however, the operation of the temperature control loop when changing the setting of one of the supply valves to control the temperature in the tank may cause the pressure in the tank to rise, causing the pressure circuit, for example, to open the exhaust valve to the pressure to lower. This action may then cause the flow control loop to close one of the intake valves, thereby affecting the temperature and causing the temperature control loop to take any further action. As will be clear from this example, the single-input / single-output control loops cause the process outputs (in this case, flow, temperature and pressure) to behave in an unacceptable manner in which the outputs fluctuate without ever becoming steady state to reach.
  • 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 size affect more than one process variable or process output. Since the late 1970's, many successful implementations of model prediction control have been reported, and MPC has become the primary form of advanced multivariable control in the process industry. In addition, MPC control has been implemented in distributed control systems as distributed control system multi-layer software. The U.S. Patent Nos. 4,616,308 and 4,349,869 generally describe MPC controllers that can be used in a process control system.
  • Generally speaking, MPC is a multi-input / multi-output control strategy that has the effects of changing multiple process inputs to multiple process outputs at a time and these measured responses are then used to generate a control matrix or model of the process. The process model or matrix (which generally defines the steady state of the process) is mathematically inverted and then used in one or multiple input / multiple output controls to control the process outputs based on changes made to the process inputs. In some cases, the process model is represented as a process output response curve (typically a step response curve) for each of the process inputs, and these curves can be generated based on a series of, for example, pseudo-random step changes provided to each of the process inputs. These response curves can be used to model the process in a known manner. Model prediction control is known in the art, and therefore its specific features are not described here. However, MPC is generally described in Qin, S.Joe and Thomas A. Badgwell, "An Overview of Industrial Model Predictive Control Technology", AIChE Conference, 1996.
  • MPC turned out to be a very effective and useful control technique and was used in conjunction with process optimization. To optimize a process that employs MPC, an optimizer, as determined by the MPC program, minimizes or maximizes one or more process input variables to run the process at an optimal operation point. While this technique is computationally feasible, it is necessary to select the process variables which, for example, have a significant impact on improving the economics of the process (e.g., process throughput or quality) in order to optimize the process from an economical standpoint. To run the process from a financial or economic point of view at an optimal point of operation, many process variables, rather than just a single process variable, need to be controlled together.
  • Optimization using quadratic programming techniques or more common techniques such as floating point techniques has been proposed as a solution to provide dynamic optimization with MPC. These techniques determine an optimization solution, and the optimizer provides the controller with transformations in the controller outputs (i.e., process variables), taking into account process dynamics, existing constraints, and optimization goals. However, this approach has a huge computational burden and is not feasible with the current state of technology.
  • In most cases, when using MPC, the number of process variables available in the process (ie, the MPC program control outputs) is greater than the number of process control variables (ie, the number of process variables that are controlled to be at a specific setpoint). As a result, there are usually several degrees of freedom available to handle optimization and constraints. Theoretically, to perform such optimization, values should be calculated that are expressed by process size, constraints, limits, and economic factors that determine an optimal point of operation of the process. In many cases, these process variables are necessarily predetermined quantities because they are set boundaries in terms of the physical properties of the process they concern, within which they must be kept. For example, a process variable representing the tank level is limited to the physically achievable maximum and minimum level of the respective tank. An optimization function may calculate costs and / or benefits associated with each of the constrained or auxiliary quantities to operate with a level of maximization of utility, minimized cost, etc. The measurements of these auxiliary quantities may then be presented to the MPC. The program is provided as inputs and processed by the MPC program as control values having a setpoint equal to the operation point for the auxiliary variable defined by the optimizer.
  • MPC provides the best performance often required by the quadratic control application only, where the number of control inputs to the process (ie, the manipulated variables formed by the control program) is equal to the number of control variables to be controlled (ie controller). In most cases, however, the number of forcibly specified auxiliary quantities plus the number of process control variables is greater than the number of manipulated variables. Implementing MPC for such non-square configurations results in unacceptably poor performance.
  • It is believed that others have attempted to overcome this problem by selecting a set of control and forced sizes equal to the number of manipulated variables and generating the controller online or during the process to estimate the next movements in the manipulated variables determine. However, this technique is computationally expensive because it uses a matrix inversion, and in some cases like MPC, which is incorporated as a functional block in a process control device. can not be used. Equally important, some combinations of inputs and outputs of the generated controller can result in a badly-conditional controller, resulting in unacceptable operation. While the state of the controller can be checked and improved when the controller configuration is installed offline, this task is too much for on-line operation and virtually impossible at the controller level.
  • US 4,349,869 A describes a method for controlling and optimizing the operation of a series of interdependent processes in a plant environment. The manipulation of one or more restricted process input variables is used to achieve feedforward / feedback control of one or more process output variables. In the synthesis of the control and optimization process, input variables are subjected to measured disturbances and the dynamic effects on the outputs are noted to predict the future response of the processes during online operation. Time variant and time-invariant constraints on system operation are integrated to enable optimal operation of the interdependent processes.
  • US 4,736,316 A refers to a dependency-dependent control method and system for a refinery, a chemical process or the like on a large scale, which allows on-line optimization of one and preferably two plant inputs without the need for optimal setpoints by iterative methods enabling one of the constraints Control codes normalized to the current time t to "drive" the optimized system inputs quickly towards optimization without destabilizing the system. The generation of such a control code involves the evaluation of certain key components associated with elements of an optimization and stabilization control vector (OSC) from which the code is derived.
  • US 5,930,762 A discloses a computer method for managing risks in multi-parameter physical systems that perform interrelated activities, wherein at least two such activities are referred to as risk-related activities and have out-of-bounds result levels, the method being a prevention strategy These physical systems develop every level of outcome for the risk-related activities of falling outside the limits.
  • US Pat. No. 5,682,309 A describes a system that controls a plant process with manipulated variables (eg, input states) and control variables (eg, output states). The system includes a sensor circuit for providing measurements of the control variable and a memory for storing a correction time constant and upper and lower limits for at least one control variable. The upper and lower limits are separated by a range of values within which the one control variable is considered acceptable. A processor includes data describing a process model that relates the cost of manipulated variables to control variables and, when resolved, further provides predicted values for the one control variable. The logic within the processor responds to a measured value function of the one control variable that is outside the range of values to determine manipulated variables with minimal cost that results in a return of the predicted value of the one control variable within the acceptable range of values. Controllers within the plant are operative to alter the manipulated variables (and input states) in accordance with signals from the processor.
  • It is an object of the present invention to improve a process control system in the formation of target values such that a solution can always be calculated even with fixed limits.
  • For this purpose, a process control system according to claim 1, a process control system according to claim 3 and a process control element according to claim 5 are provided according to the invention.
  • Among other things, there is disclosed a process control configuration system for use in creating or reviewing an integrated optimization and control block that runs an optimization program and a multiple input / multiple output control program. The configuration system may allow a user to view or configure the optimizer or the control program. For example, a memory program may store data relating to a plurality of control and auxiliary quantities and a plurality of manipulated variables to be used by the optimizer and / or the control program, and a display program may provide a display to a user containing the data relating to the plurality of control and auxiliary quantities and relate to several manipulated variables.
  • For example, the memory program stores response data or response data for each of at least some of the control and auxiliary quantities. The response data for a control or auxiliary quantity may include data representative of respective responses of the control or auxiliary quantities to respective manipulated variables. This response can be, for example, step behavior, pulse behavior, rise behavior, etc. The display program can display user response data. For example, the user may set a manipulated variable and the display program may indicate the response of one or more of the control and auxiliary variables to the specified manipulated variable.
  • In another example, a process control system for controlling a process includes a multiple input / multiple output controller and an optimizer. The multiple input / multi-output controller generates multiple control outputs during each cycle of operation of the process control system configured to control the process based on multiple measurement inputs from the process and based on a set of target values applied to the multiple input / multiple output controller during each operation cycle be provided of the process control system. The optimizer builds the set of targets for use by the multiple input / multiple output controller during each cycle of operation of the process control system. The optimizer attempts to minimize or maximize an objective function while maintaining a set of control variables within predetermined setpoint limits, a set of auxiliary variables within a set of predetermined auxiliary magnitude limits, and a set of manipulated variables within a set of predetermined manipulated variable limits. If the optimizer can not determine a solution, the optimizer will try to minimize or maximize the objective function while allowing at least one of the setpoint limits to be violated.
  • In another example, a process control method for controlling a process having multiple manipulated variables and multiple control and auxiliary quantities includes selecting a subset of control and auxiliary variables for use in performing the process control, wherein at least one of the selected control and auxiliary variables is selected based thereon in that it responds most strongly to one of the manipulated variables. A control matrix is generated using the selected control and auxiliary variables and the manipulated variables, and a controller matrix is generated from the control matrix. Inputs to the controller include the selected control and auxiliary variables, and outputs of the controller include the manipulated variables. Optimization is performed by selecting a process operation point, determining the process operation point through a set of target values for the selected control and auxiliary variables to minimize or maximize an objective function. The controller is used to perform a multiple input / multiple output control process to make the target values a set of manipulated variable values.
  • Hereinafter, preferred embodiments will be described with reference to the drawings. Show it:
    • 1 FIG. 12 is a block diagram of a process control system including a control module having an advanced controller functional block including an optimizer with an MPC controller; FIG.
    • 2 is a block diagram of the advanced controller functional block of 1 with integrated optimizer and MPC controller;
    • 3 FIG. 10 is a flowchart illustrating one way of using the integrated optimizer and the MPC controller functional block of FIG 2 to set and install;
    • 4 is a flow chart illustrating the operation of the integrated optimizer and MPC controller of 2 during an online process flow;
    • 5 Fig. 11 is a screen of a configuration program illustrating an advanced control block in a control module that performs process control;
    • 6 is a screen shot of a configuration utility that displays a dialog box showing the properties of the advanced control block of 5 displays;
    • 7 is a screen display of a configuration program that provides a way of inputting to or outputting from one in the display of 5 to select or input the advanced control function block shown;
    • 8th Fig. 11 is a screen display provided by a configuration program that allows a user or operator to select one of a set of target functions for use in determining an advanced control block;
    • 9 Fig. 10 is a screen display of a test screen that may be used to enable a user to test and generate a process model while setting an advanced control block;
    • 10 Fig. 11 is a screen of a configuration program illustrating multiple step responses indicating the response of various control and auxiliary quantities to a particular manipulated variable;
    • 11 is a screen of a configuration program that shows a way of selecting the control or auxiliary quantities from 9 represents that were previously assigned to the manipulated variable;
    • 12 Fig. 11 is a screen of a configuration program illustrating multiple step responses indicating the response of the same control or auxiliary variable to other ones of the manipulated variables;
    • 13 Fig. 12 is a screen of a configuration program illustrating another way of selecting control or auxiliary variables to be associated with manipulated variables;
    • 14 Figure 12 is a screen of a configuration program that was another way of selecting control or auxiliary quantities to be assigned to manipulated variables;
    • 15 is a screen display which is the way to copy one of the step responses of a model to be copied for use in another model;
    • 16 is a screen display that represents the way to view and change a step response curve;
    • 17 FIG. 11 is a screen display illustrating a dialog screen that provides data to the operator during operation of the advanced control block; FIG. and
    • 18 is a screen that displays a diagnostic screen that may be provided to a user or operator to diagnose the advanced control block.
  • Now comprising with respect to 1 a process control system 10 a process controller 11 who is communicative with a data collection 12 and one or more major workstations or computers 13 (which may be of any type of PC, workstation, etc.), each of which has a display screen 14 having. The controller 11 is via input / output cards (I / O cards) 26 and 28 with field devices 15 - 22 connected. The data collection 12 may be of any desired type of data collection unit with any desired type of memory and any desired or known software, hardware or firmware for storing data, and may be separate (as in 1 shown) or a part of one of the workstations 13 be. The controller 11 which may be, for example, the DeltaV ™ controller marketed by Fisher-Rosemount Systems, Inc., is the host 13 and the data collection 12 for example via an Ethernet connection or any other communication network 29 connected. In the communication network 29 it may be a local area network (LAN), a supra-regional network (WAN), a telecommunications network, etc., and it may be implemented using hardwired or wireless technology. The controller 11 is by any desired hardware and software, such as standard 4 - 20 is assigned to ma devices and / or any intelligent communication protocol such as the FOUNDATION field bus protocol (Fieldbus), the HART protocol, etc., communicatively with the field devices 15 - 22 connected.
  • With the field devices 15 - 22 These can be any type of devices, such as sensors, valves, transducers, actuators, etc., while the I / O cards 26 and 28 can be any type of I / O device that meets any desired communication or controller protocol. In the in 1 illustrated embodiment, the field devices 15 - 18 default 4 - 20 ma devices that communicate with the I / O card 26 via analog lines while the field devices 19 - 22 Smart devices are, like fieldbus field devices, that have a digital bus with the I / O card 28 communicate using Fieldbus protocol communication. Of course, the field devices could 15 - 22 also comply with any other standard or any other standards or protocols, including those that will be developed in the future.
  • The controller 11 which is one of many distributed controllers within the plant 10 may include at least one processor therein, implementing or monitoring one or more process control programs that may include control circuits stored therein or otherwise associated therewith. The controller 11 also communicates with the devices 15 - 22 , the main computers 13 and the data collection 12 to control a process in any desired way. It would be noted that any of the control programs or elements described herein may include portions thereof that are implemented or executed by other controllers or devices, if desired. Likewise, the control programs or elements described herein may be used in the process control system 10 be implemented, take any form that includes software, firmware and hardware, etc. For purposes of this discussion, a process control element may be any part or portion of a process control system that includes, for example, a program, block, or module stored on any computer-readable medium. Control programs, which may be modules or any part of a control process, such as a subroutine, subprogram parts (such as command lines), etc., may be implemented in any desired software format, such as LAD logic, sequence function curves, function block diagrams, object oriented programming or use any other software programming language or any other software design paradigm. Likewise, the control programs may, for example, be hard-coded into one or more EPROMs, EEPROMs, application specific integrated circuits (ASICs), or any other hardware or firmware elements. Moreover, the control programs may be defined by any design tools including graphical design tools or any other type of software / hardware / firmware programming or design tools. That way, the controller can 11 be configured to implement a control strategy or program in any desired manner.
  • In one embodiment, the controller implements 11 a control strategy that employs what are commonly referred to as function blocks, where each function block is a part or subject of a parent control program and works with other function blocks (via communications called links or "links") to process control circuits within the process control system 10 to implement. The functional blocks typically perform an input function, such as that associated with a transmitter, sensor or other process parameter measuring device, a control function such as that associated with a control program that performs PID, fuzzy control, etc., or one Output function that controls the operation of any device, such as a valve, to perform any physical function within the process control system 10 to fulfill. Of course, there are hybrid and other types of function blocks. Function blocks can be in the controller 11 stored and run by it, which is typically the case when these function blocks are for or in conjunction with standard 4 - 20 ma devices and some types of intelligent field devices such as HART devices are used, or can be stored in the field devices themselves and implemented by them, which may be the case with Fieldbus devices. While the description of the control system is described herein using a functional block control strategy employing an object-oriented programming paradigm, the control strategy or control circuits or modules could also be implemented or designed using other programming conventions, such as ladder logic, sequence function curves, etc., or using any other programming language or programming paradigm.
  • As by the extended block 30 from 1 is shown, the controller can 11 Several single-circuit control programs include programs 32 and 34 and may implement one or more advanced control circuits that act as a control circuit 36 is shown / -sind. Each such circuit is typically referred to as a control module. The single-circuit control programs 32 and 34 are shown performing a single loop control using a single input / single output fuzzy control block or a single input / single output PID control block connected to appropriate analog input (AI) and analog output (AO) function blocks; which process control devices such as valves, gauges such as temperature and pressure transducers or any other device within the process control system 10 can be assigned. The advanced control loop 36 is shown as having an advanced control block 38 whose inputs are communicatively connected to numerous AI function blocks and outputs communicatively connected to numerous AO function blocks, although the inputs and outputs of the advanced control block 38 also communicatively connected to any other desired functional blocks or controls to receive other types of inputs and to provide other types of control outputs. As will be further described, the advanced control block 38 a control block that includes a model prediction control program with an optimizer to perform optimized control of the process or part of the process. While the advanced control block 38 as described herein to include a model predictive control (MPC) block, the advanced control block could 38 Also, any other multiple input / multiple output control program or procedure, such as a neural network modeling or control program, a multivariable control program in fuzzy program logic, etc. It will be appreciated that the in 1 displayed function blocks that the advanced control block 38 include, from the controller 11 can be performed, or alternatively can be arranged in and executed by any other processing device, such as one of the workstation 13 or even one of the field devices 19 - 22 ,
  • As in 1 illustrated includes one of the workstations 13 a generator program 40 for an advanced control block used to control the advanced control block 38 set, download and implement. While the generator program 40 for the advanced control block in a memory within the workstation 13 stored and executed therein by a processor, this program (or any part thereof) may additionally or alternatively be in any other device within the process control system 10 if so desired, stored and executed by it. Generally speaking, the generator program includes 40 for the advanced control block, a control block setting program 42 setting an advanced control block, as will be described later herein, and incorporating this advanced control block into the process control system, a process modeling program 44 generating a process model for the process or a part thereof, based on data acquired by the advanced control block, a control logic parameter setting program 46 , which generates control logic parameters for the advanced control block from the process model, and stores and downloads those control logic parameters in the advanced control block for use in process control, and an optimizer 48 setting an optimization program for use with the advanced control block. Of course, the programs can 42 . 44 . 46 and 48 consist of a number of different programs, such as a first program defining an advanced control, whose control inputs are designed to receive process outputs, and whose control outputs are adapted to send control signals to the process inputs, a second program to a user allows the advanced control within the process control program (which may be any desired configuration program) to be downloaded and communicated, a third program using the advanced control to give each of the process inputs energizing waveforms, a fourth program using the advanced control to do so; to capture data that reflects the response of each of the process outputs to the excitation waveforms, a fifth program that selects itself or allows a user to make a set of entries for the advanced waveform ridden control block, a sixth program defining a process model, a seventh program forming advanced control logic parameters from the process model, an eighth program introducing the advanced control logic and, if necessary, the process model into the advanced control allowing the advanced control to control the process and a ninth program choosing itself or allowing a user to use an optimizer in the advanced control block 38 select.
  • 2 FIG. 12 illustrates a more detailed block diagram of one embodiment of the advanced control block. FIG 38 communicating with a process 50 it is clear that the control block 38 a set of manipulated variables MVs which are provided to other function blocks, in turn, to control inputs of the process 50 are connected. As in 2 is shown, includes the advanced control block 38 an MPC controller block 52 , an optimizer 54 , a target conversion block 55 , a step response model or a control matrix 56 and an input processing / filtering block 58 , In the MPC controller 52 may be any standard, an M times M MPC program or procedure (where M can be any number greater than one) with the same number of inputs and outputs. The MPC controller 52 receives as inputs a set of N control and auxiliary quantities CV and AV (which are vectors of values) as they are in the process 50 be measured, a set of disturbances DV What are known or expected changes or disturbances with which the process 50 at any time in the future, and a set of steady state goals and averages CV T and AV T that from the target conversion block 55 to be provided. The MPC controller 52 uses these inputs to the set of M manipulated variables MV (in the form of control signals) and provides the signals of the manipulated variable MV to the process 50 to control.
  • In addition, the MPC controller calculates 52 another set of prediction steady state control variables CV SS and prediction solid state help variables AV SS and provide them, along with a set of prediction steady state setpoints MV SS representing the predictive values of the control quantities CV , the auxiliary sizes AV or the manipulated variables MV with the prediction horizon to the input processing / filter block 58 to disposal. The input processing / filter block 58 processes the determined prediction steady state state values of the control, auxiliary and manipulated variables CV SS . AV SS and MV SS to reduce the effects of noise and unpredicted interference on these quantities. Of course, the input processing / filter block 58 include a low pass filter or any other input processing that reduces the effects of noise, modeling errors, and noise on these values, and provides the filtered control, auxiliary, and manipulated variables CV SSfil . AV SSfil and MV SSfil to the optimizer 54 ,
  • The optimizer 54 is in this example a linear programming ( LP ) Optimizer that has an objective function ( OF ), by a selection block 62 can be provided used to perform a process optimization. Alternatively, the optimizer could 54 a quadratic programming optimizer, which is an optimizer with a linear model and a quadratic objective function. Generally speaking, sets the objective function OF Determine the costs and benefits associated with each of a number of control and auxiliary variables and the optimizer 54 sets target values for these quantities by maximizing or minimizing the objective function. The selection block 62 can be the objective function OF select the optimizer 54 as one of a set of pre-stored objective functions 64 which mathematically provides various ways of defining the optimal course of the process 50 represent. For example, one of the pre-stored objective functions 64 be configured to maximize the asset's return, another of the objective functions 64 can be configured to minimize the use of a particular raw material that is short of supply while still another of the objective functions 64 can be configured to match the quality of the process 50 product to be maximized. In general terms, the objective function uses costs or benefits associated with each movement of a control, aux, and manipulated variable to determine the most optimal process operation point within a set of acceptable points, such as the set points or ranges of the control variables CV and the limits of the auxiliary and manipulated variables AV and MV are defined. Of course, any desired objective function may be used in place of or in addition to those described herein, including objective functions, each of which optimizes several issues such as raw material usage, profitability, etc. in some way.
  • To one of the objective functions 64 a user or operator may provide an indication of the objective function to be used 64 by performing this target function on an operator or user terminal (such as one of the workstations 13 from 1 ) selects which selection via an input 66 the selection block 62 is made available. In response to the input 66 represents the selection block 62 the selected objective function OF the optimizer 54 to disposal. Of course, the user or operator may change the objective function used during the process. If desired, a default target function may be used in cases where the user does not provide or select a target function. One possible standard objective function will be explained in more detail below. Although as part of the advanced control block 38 The various target functions can also be displayed in the operator terminal 13 from 1 stored, and one of these objective functions can the advanced control block 38 be provided during the setting or generation of this block.
  • In addition to the objective function OF gets the optimizer 54 as inputs, a set of control variable setpoints (which are typically operator set setpoints for the control variables CV of the process 50 and can be changed by the operator or another user) and an area and a weight or priority, the / the control variables CV is assigned respectively. The optimizer 54 also gets a set of bounds or constraints and a set of weights or priorities for the auxiliary sizes AV and a limit set for the manipulated variables MV to control the process 50 be used. Generally speaking, the ranges for the auxiliaries and manipulated variables define the limits (typically based on the physical properties of the system) for the auxiliary and manipulated variables, while the ranges for the control variables provide a range in which the control variables for a satisfactory control of the process can act. The weights for the control and auxiliary quantities determine the relative importance of the control and auxiliary quantities in the optimization process with respect to each other, and can under some circumstances be used by the optimizer 54 to enable a control target solution to be generated if some of the constraints are violated.
  • During operation, the optimizer can 54 a linear programming technique ( LP Programming technique) to perform the optimization. As is well known, linear programming is a mathematical method for solving a set of linear equations or inequalities that maximizes or minimizes a particular additional function called the objective function. As previously explained, the objective function may express an economic value such as cost or benefit, but may instead express other goals. Moreover, as is assumed, the steady state gain matrix defines the steady state gain for each possible pair of manipulated variables and the control and auxiliary quantities. In other words, the steady state gain matrix defines the steady state gain in each control and auxiliary variable for a change unit in each of the set and disturbances. This steady state gain matrix is generally an N by M matrix, where N is the number of control and auxiliary quantities and M is the number of manipulated variables used in the optimization routine. In general, N may be greater than, equal to, or less than M, the most common case being that N is greater than M.
  • Using any known or standard LP Algorithm or method is repeated by the optimizer 54 the determination of the set of target manipulated variables MV T (as determined by the steady state enhancement matrix) representing the selected objective function OF maximize or minimize and at the same time result in a process flow that exceeds the setpoint range limits of the control variable CV , the constraints of the auxiliary size AV and the limits of the manipulated variable MV fulfilled or located within this. In one embodiment, the optimizer determines 54 even the change of the manipulated variables and uses the indication of the prediction steady state control variables, auxiliary variables and manipulated variables CV SSfil . AV SSfil and MV SSfil to determine the changes in the process flow from its current flow, that is, to determine the dynamic flow of the MPC control program during the achievement process of the target or optimal process operation point. This dynamic process is important because it must be ensured that none of the constraints is violated during movement from the current operation point to the target operation point.
  • In one embodiment, the LP optimizer 54 be designed to minimize an objective function of the following form: Q = P t * A * Δ MV + C t Δ MV
    Figure DE000010341764B4_0001
    in which:
  • Q =
    / -Use total cost
    P =
    Utility vector related to the AVs and CVs
    C =
    Cost vector related to MVs
    A =
    gain matrix
    ΔMV =
    Vector for the calculated change in the MVs
  • The utility values are positive numbers and the cost values are negative numbers to indicate their impact on the goal. Using this objective function, the LP optimizer computes 54 the changes in the manipulated variables MV that minimize the objective function while ensuring that the control quantities CV remain within a range of their target setpoint, that is the auxiliary sizes AV are within their upper and lower constraints, and that the manipulated variables MV within their upper and lower limits.
  • In an optimization method that can be used, incremental values of manipulated variables at the current time (t) are used and a sum of manipulated variables over the control horizon is used, with the incremental values of the control and auxiliary variables at the end of the prediction horizon and no current ones Job values are determined, as in LP Applications is typical. Of course, the LP Algorithm appropriately modified for this variant. Of the LP -Optimizer 54 can definitely use a steady state model, and as a result, a steady state condition is required for this application. With a predictive horizon normally used in MPC development, a future steady state for a self-regulation process is guaranteed. One possible process prediction steady state equation for an m-by-n input-output process with a prediction horizon p, a control horizon c, expressed in incremental form, is: Δ C V ( t + p ) = A * Δ M V ( t + c )
    Figure DE000010341764B4_0002
    wherein: Δ C V ( t + p ) = [ Δ c v l Δ c v n ]
    Figure DE000010341764B4_0003
    predicted changes in outputs at the end of the forecast horizon (t + p), A = [ a l l ... a l m a n l ... a n m ]
    Figure DE000010341764B4_0004
    the process steady state is m times n gain matrix, Δ M V ( t + c ) = [ Δ m v l ... Δ m v m ]
    Figure DE000010341764B4_0005
    Changes in the manipulated variables at the end of the tax horizon (t + c).
  • The vector ΔMV (t + c) represents the sum of the changes over the control horizon made by each controller output mv i such that Δ m v i = Σ j = l c m v i ( t + j ) i = 1, 2, ... . m
    Figure DE000010341764B4_0006
  • The changes should have limits both on the manipulated variables MV as well as the control variables CV correspond (here the auxiliary quantities are treated as control variables): M V min M V m O m e n tan + Δ M V ( t + c ) M V Max
    Figure DE000010341764B4_0007
    C V min C V v O r H e r G e s a G t + Δ C V ( t + p ) C V Max
    Figure DE000010341764B4_0008
  • In this case, the objective function of maximizing product value and minimizing raw material costs can be defined together as: Q min = - U C V T * Δ C V ( t + p ) + U M V T * Δ M V ( t + c )
    Figure DE000010341764B4_0009
    wherein:
    • UCV is the cost vector for a change unit in the process value of the control variable CV is; and
    • UMV is the cost vector for a change unit for the process value of the manipulated variables MV is.
  • Using the above first equation, the objective function can be in the form of manipulated variables MV expressed as: Q min = - U C V T * A * Δ M V ( t + c ) + U M V T * Δ M V ( t + c ) ,
    Figure DE000010341764B4_0010
  • To find an optimal solution, the LP algorithm calculates the objective function for an initial vertex in the range defined by this equation and improves the solution at each next step until the algorithm reaches the highest (or lowest) vertex of the vertex Target function determined as optimal solution. The determined optimum manipulated variable values are called the target manipulated variables MV T applied within the tax horizon.
  • Generally speaking, the expiration of the LP Algorithm on the prepared matrix three possible outcomes. First, there is a single solution for the target sizes MV T , Second, the solution is unlimited, which should not be the case if the helper size has a high and a low limit. Third, there is no solution, which means that the limits or constraints imposed on the auxiliary quantities are too narrow. To handle the third case, the constraints can be relaxed to get a solution. The basic assumption is that the limits set for the manipulated variables (high / low limits) can not be changed by the optimizer. The same applies to the boundary conditions or limits of the auxiliary quantities (high / low limits). Nevertheless, the optimizer may move away from the control size CV to the specified setpoints ( CV Setpoint control) and the control variables to any other values within a range of or around the setpoint ( CV Range control). In this case, the values of the control variables can be settled in a range rather than a specific setpoint. Are there several auxiliary sizes AV who violate their boundary conditions and of the CV Setpoint control for CV It is also possible to skip or ignore the constraints of the auxiliary quantities based on the intended weight or priority assignments. In one embodiment, a solution could be determined by minimizing the squared error of the auxiliary quantities, thereby allowing each of them to violate their respective constraints, or by sequentially relinquishing the constraints of the lowest priority auxiliary variables.
  • As stated above, the objective function OF by the control block generator program 40 be selected or set by default. A method for specifying such a default is shown below. In particular, while it is desirable to provide the optimization capability, many situations may require that only setpoint values for the control quantities be maintained in a manner that still takes into account the outflow constraints of the auxiliaries and manipulated variables. For these applications, the block 38 be configured to act solely as an MPC function block. To provide for this ease of use, a standard goal function "Operate" can be automatically generated, with standard costs being the various variables involved along with standard weights for the auxiliary sizes AV be assigned. These standards can be all costs for the auxiliary sizes AV and the manipulated variables MV may or may not assign any other cost allocation to the auxiliaries and manipulated variables AV and MV provide. If a professional option is chosen, the user can specify additional optimization selections and their associated costs for different objective functions 64 define. The expert user then also has the option of weighting the standard auxiliary and control variable AV and CV to modify the default target function.
  • In one embodiment, if, for example, no economic constraints for the process configuration are defined, the objective function may be automatically built from the MPC configuration. In general, the objective function can be built using the following formula: C D T = C T + P T * A = [ C 1 . ... . C j . ... C m ] + [ Σ i = 1 n p i a i 1 . ... Σ i = 1 n p i a i 2 . ... Σ i = 1 n p i a i m ] = [ C D l . ... C D j . ... . C D m ]
    Figure DE000010341764B4_0011
  • The sizes C j and p j can be defined from the configuration settings. In particular, assuming that the setpoint of the control variable CV can only be set to LL (Low Limit) or HL (High Limit), the value p j is defined as follows:
    • p j = -1 if the setpoint has been set to low limit or minimization has been selected; and
    • p j = 1 if the setpoint has been set to High Limit or Maximize has been selected.
  • Suppose there will be no configuration data for the auxiliary sizes AV entered, then applies to all auxiliary quantities p j = 0. Similarly, depends on the manipulated variables MV the value C j depends on whether the preferred target manipulated variable MV T is defined or not. Represents the preferred target manipulated variable MV T fixed, the following applies:
    • C j = 1, if MV T set to the high limit or maximize was selected;
    • C j = -1, if MV T set to the low limit or Minimize was selected, and
    • C j = 0, if MV T is not defined.
  • If desired, the choice of using the optimizer 54 in connection with the MPC controller 52 be adjustable to thereby provide an optimization level. To perform this function, the change may be made by the controller 52 used manipulated variables MV be changed by that by the MPC controller 52 and the optimizer 54 certain change in the manipulated variables MV different weights are placed. Such a weighted combination of the manipulated variables MV is considered effective here MV (MV eff ). The effective MV eff can be determined as: Δ M V e f f = M V m p c ( α / S ) + Δ M V O p t ( 1 - α ) 0 α 1,
    Figure DE000010341764B4_0012
    where S is selected arbitrarily or heuristically. Typically, S is greater than one and may be in the region of ten.
  • Here the optimizer contributes with α = 0 to the effective output, as it was set in the determination. With α = 1, the controller only contributes one dynamic MPC control. Of course, the range between 0 and 1 provides different optimizer and MPC control contributions.
  • The standard objective function described above can be used to produce the optimizer's operation in various possible modes of operation. Especially if the number of control variables CV to the number of manipulated variables MV fits, the expected behavior at the default setting is that the setpoints of the control size CV be maintained as long as the auxiliary sizes AV and manipulated variables MV expected to be within their limits. If it is predicted that an auxiliary quantity or manipulated variable will violate its limit, the control variable work setpoints will be changed within their range to prevent these limits from being violated. If in this case the optimizer 54 can find no solution that adheres to the auxiliary and manipulated variable limits, while at the same time the control variables are kept within their range, the control variables are kept within their range, while the auxiliary variables may deviate from their constraints. When finding the best solution then those auxiliary sizes AV who are likely to violate a border are treated equally and their average marginal deviation is minimized.
  • To achieve this behavior, the standard costs / benefits used by the objective function are automatically adjusted so that the control variables CV is assigned a benefit of 1 if the range is defined to allow deviation below the set point, and a benefit of -1 if the range is defined to allow deviation from the setpoint. The auxiliary quantities within the limits AV get a benefit of 0 and the manipulated variables cost of 0 assigned.
  • Is the number of control variables CV less than the number of manipulated variables MV , then the additional degrees of freedom can be used to meet the requirements associated with the final rest position of the configured manipulated variable MV related. Here the control variable setpoints (if control variables CV are defined) as long as the auxiliary and control values are expected to remain within their limits. The average deviation of the manipulated variables from the configured final rest position is minimized. If it is predicted that one or more of the auxiliaries and manipulated variables will violate their limit, then the control variable work setpoints will be changed within their ranges to prevent these limits from being violated. If there are several solutions under this condition, then the one used for control will minimize the average deviation of the manipulated variables from the configured final rest position.
  • Can the optimizer 54 find no solution (ie there is no solution) that respects the auxiliary and manipulated variable limits and at the same time keeps the control limits within its range, then the control variables are kept within the range, while the auxiliary variables may deviate from their constraints. When finding the best solution, then those helper sizes likely to violate a boundary are treated equally and their average limit deviation is minimized. To accomplish this behavior, the standard cost / benefits used by the objective function are automatically adjusted such that the control values are assigned a benefit of 1, if the range is defined to allow deviation below the setpoint, and a benefit of -1 if the range is defined to allow deviation from the setpoint. The auxiliary quantities get a benefit of 1 or -1 and the manipulated variables are allocated costs of 0.1.
  • Anyway, after the expiration of the optimizer 54 the target conversion block 55 a set of optimal or target manipulated variables MV T which uses the steady state enhancement matrix to determine the target steady state control quantities and auxiliaries resulting from the target manipulated variables MV T result. This implementation is computationally straightforward, since the steady state enhancement matrix defines the interactions between the manipulated variables and the control and auxiliary variables and can therefore be used for this, only the target control variables and auxiliary variables CV T and AV T from the defined target (steady state) variable MV T to determine.
  • Once determined, at least a subset N of the target control quantities and auxiliaries becomes CV T and AV T the MPC controller 52 provided as inputs, which, as previously stated, these target values CV T and AV T used to create a new set of steady state manipulated variables MV SS (over the tax horizon) to determine what the current tax and auxiliary sizes CV and AV at the end of the forecast horizon to the target values CV T and AV T moves. Of course, the MPC controller is known to vary the manipulated variables in steps, in one attempt, the steady state values for those quantities MV SS to achieve, theoretically, that of the optimizer 54 certain target variables MV T will be. Because the optimizer 54 and MPC controllers 52 As described above, during each process scan are in operation, the target values of the manipulated variables MV T from sample to sample, and as a result, the MPC controller can never get any of these sets of target manipulated variables MV T really reach, especially not when noise, unexpected glitches, changes in the process 50 , etc. are added. Nevertheless, the optimizer is driving 54 the controller 52 always on, the manipulated variables MV to move towards an optimal solution.
  • The MPC controller 52 As is known, it includes a control process prediction model 70 , which may be an N by M + D step response matrix (in N the number of control variables CV plus the number of auxiliary sizes AV M is the number of manipulated variables MV and D is the number of disturbances DV is). The control process prediction model 70 generated in an output 72 a previously calculated prediction for each of the control and auxiliary quantities CV and AV , and a vector sizer 74 subtracts these current time prediction values from the actual measured values of the control and auxiliary quantities to input 76 to generate an error or correction vector.
  • The control process prediction model 70 then uses the N times M + D step response matrix to for each of the control and auxiliary quantities CV and AV predict a future control parameter over the prediction horizon based on the disturbance and manipulated variables, the other inputs of the control process prediction model 70 to be provided. The control process prediction model 70 also provides the prediction steady state values of the control and auxiliary quantities CV SS and AV SS to the input processing / filter block 58 ,
  • A destination control block 80 determines a target control vector for each of the N from the target conversion block 55 using one previously for the block 38 created trajectory filter 82 provided target control variables and auxiliary quantities CV T and AV T , In particular, the trajectory filter provides a unit vector that determines the manner in which the control and auxiliary variables are to be driven to their target values over time. The destination control block 80 uses this unit vector and the target values CV T and AV T to generate a dynamic target control vector for each of the control and auxiliary quantities, the changes in the target quantities CV T and AV T defined over the period determined by the time of the forecast horizon. A vector sizer 84 then subtracts the future control parameter vector for each of the control and auxiliary quantities CV and AV from the dynamic control vectors to an error vector for each of the control and auxiliary quantities CV and AV define. The future error vector for each of the control and auxiliary quantities CV and AV is then provided to the MPC algorithm which acts to detect the steps of the manipulated variable MV selects, for example, the smallest squared error over the control horizon for the manipulated variables MV and the forecast horizon for the control and auxiliary quantities CV and AV minimized. Of course, the MPC algorithm or controller uses an M-by-M process model or an M-by-M control matrix, which is determined from the relationships between the N in the MPC controller 52 entered control and auxiliary variables and the M from the MPC controller 52 output manipulated variables is formed.
  • More specifically, the optimizer MPC algorithm has two main goals. First, the MPC algorithm attempts to minimize the control size control error with minimal manipulated variable motions within operational constraints, and second, attempts to obtain optimal steady state control variable values set by the optimizer and the target control magnitude values calculated directly from the optimum steady state control value values.
  • To satisfy these goals, the original unrestricted MPC algorithm can be extended to include the MV targets in the least square solution. The objective function for this MPC controller is: min Δ M V ( k ) { Γ y [ C V ( k ) - R ( k ) ] 2 + Γ ' ' Δ M V ( k ) 2 + Γ O [ Σ Δ M V ( k ) - Δ M V T ] 2 }
    Figure DE000010341764B4_0013
    wherein:
    • CV (k) is the controlled output prediction vector that is one p-step ahead;
    • R (k) of the reference trajectories (setpoint) is vector ahead of a p-step;
    • ΔMV (k) is the incremental control motion vector ahead by one c-step;
    • Γ y = diag {Γ y 1 , ..., Γ y p } is a penalty matrix for the controlled output error,
    • Γ u = diag {Γ u 1 , ..., Γ u c } is a penalty matrix for the control movements,
    • p is the forecast horizon (number of steps);
    • c is the tax horizon (number of steps); and
  • Eine 0 A penalty for the error of the controller output movements over the control horizon in relation to the optimal target change of MV that was defined by the optimizer. For ease of illustration, the objective function for single input / single output (SISO) control is shown.
  • As will be appreciated, the first two terms are the target function for the unrestricted MPC controller, while the third term establishes an additional condition that sets the sum of the controller output movements equal to the optimal targets. In other words, the first two terms set targets for dynamic controller operation, while the third term establishes steady state optimization goals.
  • It should be noted that the general solution for this controller, similar to that for the unrestricted MPC controller, can be expressed as follows: Δ M V ( k ) = ( S u T Γ T Γ S u + Γ u T Γ u ) - 1 S u T Γ T Γ e p + 1 ( k ) = K O m p c e p + 1 ( k )
    Figure DE000010341764B4_0014
    wherein:
    • ΔMV (K) is the change in the MPC controller output at a time k;
    • K ompc is the optimized MPC controller gain ;
    • S u is the process dynamics matrix consisting of the step responses of dimension p × c for a SISO model and p * n × c * m for a multiple input / multi-output MIMO model with m provided inputs and n controlled expenditure.
  • For an optimized MPC, the dynamics matrix is extended to the size (p + 1) × m for the SISO model and (p + m) * n × c * for the MIMO model to accommodate the MV error. E p + 1 (k) is the CV error vector over the forecast horizon and the error of the sum of the controller output motions over the control horizon relative to the optimal target change of MV , The matrix Γ combines the matrix Γ y and Γ o and is a square matrix of the dimension (p + 1) for a SISO controller and [n (p + m)] for the multivariable controller. The superscript T denotes a transposed matrix.
  • It was determined that, since the optimizer 54 based on all control and auxiliary sizes CV and AV optimized to a target set of manipulated variables MV T to determine that define a single optimal operation point, it does not matter that the MPC controller 52 only using a subset of the control and auxiliary quantities CV and AV in its control matrix works to actually produce the manipulated variables output from it, because if the controller 52 the selected subset of control and auxiliary quantities CV and AV to their assigned destinations, the others of the complete set of pilot and auxiliary sizes will also be at their target values. As a result, it was found that a quadratic ( M times M ) MPC controller can be used with an M-by-M control matrix with an optimizer rectangular ( N times M ) Process model used to carry out process optimization. This allows standard MPC control methods to be used with standard optimization techniques without having to invert a non-square matrix with the concomitant approximations and hazards associated with such controller conversion techniques.
  • In one embodiment, the target manipulated variable MV if the MPC controller is squared, ie the number of manipulated variables MV equal to the number of control variables CV is effectively achieved by changing the CV values as follows: Δ C V = A * Δ M V T
    Figure DE000010341764B4_0015
    • ΔMVT- optimal target change of MV
    • ΔCV - CV change to obtain optimal MV , CV modification is implemented using CV setpoints.
  • In operation, the optimizer provides 54 Steady state targets for the unrestricted MPC controller at each scan and update them. Thus, the MPC controller performs 52 the unrestricted algorithm. Because the goals CV T and AV T in a way that considers constraints as long as there is a workable solution, the controller operates within constraints. Therefore, optimization is an integral part of the MPC controller.
  • The 3 and 4 set a flowchart 90 which shows the steps taken to perform integrated model prediction control and optimization. The flowchart 90 is generally in two sections 90a ( 3 ) and 90b ( 4 ), which show functions that appear before the process flow ( 90a ), and functions that appear during the process ( 90b ), eg during each sampling of the process sequence. Prior to the process flow, an operator or technician takes a number of steps to complete the advanced control block 38 including an integrated MPC controller and optimizer. In particular, at a block 92 an advanced tax template for use as an advanced control block 38 to be selected. The template may be in a library in a configuration application in the UI 13 can be stored or copied from it, and the general mathematical and logical functions of the MPC controller program 52 and the optimizer 54 without the special MPC, process models and steady state boost or control matrices and special target function. This advanced control template can be stored in a module with other blocks, such as input and output blocks, that are configured to interface with devices within the process 50 , as well as other types of functional blocks such as control blocks, including PID, neural network and fuzzy control blocks. It will be understood that in one embodiment, the blocks within a module are each objects in an object-oriented programming paradigm whose inputs and outputs are interconnected to effect communication between the blocks. During the process, the processor that processes the module performs each of the blocks in turn at a different time, and uses the inputs to the blocks to produce outputs from the blocks, which are then input to other blocks as determined by the blocks Communication links defined between the blocks are provided.
  • At a block 94 The operator specifies the special manipulated variables, control variables, boundary conditions and disturbance variables that are displayed in the block 38 should be used. If desired, the user can in a configuration program such as the program 40 from 1 , sift through the control template, select inputs and outputs that should be named and configured, browse any standard browsers in the configuration environment to find the current inputs and outputs within the control system, and these current control values as input and output controls for the control template select. 5 Fig. 12 is a screen generated by a configuration program showing a DEB_MPC control module with several interconnected functional blocks including multiple analog input (AI) and analog output (AO) function blocks, multiple PID control function blocks, and one MPC PRO function block. which is an advanced functional block. The tree structure on the left side of the display of 5 represents the function blocks within the DEB_MPC module, for example the block 1 , C4_AI, C4_DGEN, etc.
  • As will be appreciated, the user may specify the inputs to and outputs from the MPC-PRO function block by passing between these inputs and outputs and the inputs and outputs of other function blocks Lines pulls. Alternatively, the user can select the MPC-PRO block to gain access to the properties of the MPC-PRO block. A dialog like the one from 6 , can be displayed to allow a user to view the properties of the MPC-PRO block. As in 6 For each of the control, setting, disturbance and boundary conditions (auxiliary quantities), a different table can be provided for arranging these quantities, which is necessary in particular when numerous quantities, such as 20 or more of each, the advanced control block 38 assigned. Within the table for a particular type of size, a description, a low and high limit (boundary conditions), and a path name may be provided. In addition, the user or operator may determine what the block should do in the event of a missed condition, such as taking no action, using the simulated value of size rather than the measured value, or allowing manual entry. In addition, the operator may also decide whether to minimize or maximize this size for optimization, and may specify the priority or weight and the utility values associated with that size. These fields must be completed if no default target function is used. Of course, the user can add, move, modify or delete data or sizes using the appropriate buttons on the right side of the dialog box.
  • The user can set or change the data of one or more of the sizes by selecting the size. In this case, the user can see a dialog box like that of 7 for the REFLUX command value (REFLUX FLOW). The user can change the data in their various fields and set data such as the pathname of the size (ie their input and output connection) by browsing. By means of the screen of 7 For example, the user may select an internal search button or an external search button to search within the module or outside the module in which the MPC-PRO block is housed. Of course, if desired, the operator or user may manually provide an address, path or label name, etc. defining the connections to and from the inputs and outputs of the advanced control block, if so desired.
  • After selecting the inputs and outputs to and from the advanced control function block, the user may define the setpoints associated with the control quantities, the ranges or limits associated with the control, auxiliaries and manipulated variables, and those associated with each of the control and auxiliary functions - and manipulated variables related weights. Of course, some of these data, such as constraints or ranges, may already be associated with these quantities because these quantities have been selected from or found in the configuration environment of the process control system. If desired, the operator at a block 96 from 3 Configure the one or more functions to be used in the optimizer by specifying the unit cost and / or unit benefit for the manipulated variables, control quantities, and auxiliary quantities, respectively. Of course, the operator may choose to use the default target function as previously described. 8th FIG. 10 is a screen display provided by a configuration program that allows a user or operator to select one of a set of targeting functions to produce an advanced control block. It is understood that the user can see the screen like the one in 8th is intended to use for selecting a set of previously stored target functions, here as the default target function and target functions 2 - 5 shown.
  • After the inputs (control, auxiliary and disturbance variables) are named and linked to the advanced control template, and the weights, limits and setpoints in a block 98 from 3 have been associated with, the advanced control template is downloaded to a selected controller within the process as a functional block to be used for control. The general nature of this control block and the way to configure that control block is in FIG U.S. Patent No. 6,445,963 entitled "Integrated Advanced Control Blocks in Process Control Systems". While this patent describes the manner of making an MPC controller in a process control system and does not describe the manner in which an optimizer can be connected to that controller, it is clear that the general steps taken to control the controller connect and configure for the control block described here 38 can be used, the template all of the logic elements discussed here for the control block 38 and not just those described in this patent.
  • Anyway, the operator at a block 100 After the advanced control template has been downloaded to the controller, select to run a trial phase of the control template to create the step response matrix and the process model to be used in the MPC controller algorithm. As described in the above referenced patent, during the test phase, the control logic is in the advanced control block 38 the process a series of pseudo-random waveforms as Manipulated variables available and observed the changes in the control and auxiliary variables (which are treated by the MPC controller essentially as control variables). If desired, the control and disturbance variables as well as the control and auxiliary variables can be obtained from the data collection 12 from 1 be collected, and the operator can configure the configuration 40 ( 1 ) to build this data from the data collection 12 retrieve and somehow trend-examine these data to obtain or determine the step response matrix, each step response identifying the timing of one of the control or auxiliary quantities to a unit change at one (and only one) of the control and manipulated variables. This unit change is generally a step change, but could be another type of change, such as a pulse or slope change. On the other hand, the control block 38 if desired, generate the step response matrix in response to the data detected when the pseudo-random waveforms on the process 50 be applied, and then provides these operator interface waveforms 13 which is used by the operator or user to the advanced control block 38 manufacture and install.
  • 9 FIG. 12 illustrates a screen display that may be provided by the test program to provide the operator with graphical representations of the data collected and trend-examined to enable the operator to guide the creation of the step response curves, and thus the process model or control matrix to be used in the MPC controller of the advanced control block. In particular, provides a graphics rendering area 101 the data for multiple inputs or outputs or other data (as previously defined by the operator) in response to the test waveforms. A bar graph area 102 provides a bar graph for each of the size data examined for its trend, representing, for each of the quantities examined for its trend, the name of the size, the current value of the size in bar graph form, optionally a setpoint (indicated by a larger triangle above the bar chart) and possibly boundaries (indicated by smaller triangles above the bar chart). Other areas of the display represent other information about the advanced control block, such as the target and current mode of operation of the block ( 104 ) and the configured time to steady state ( 106 ).
  • Before creating a process model for the advanced control block, the operator can graphically specify the data resulting from the trend-indicating graphs 101 should be used. In particular, the operator can start and end points 108 and 110 the graphic representation 102 as the data to be used to make the step response curve. The data in this area may be hatched in another color, such as green, to visually display the selected data. Likewise, the operator may specify areas within the hatched area that are to be excluded (because they are not representative, an effect of noise or an unwanted disturbance, etc.). This area is between the lines 112 and 114 and, for example, may be hatched in red to indicate that these data should not be included in the creation of the step responses. Of course, the user could include or exclude any desired data and can perform these functions for each of several graphical trend representations ( 9 illustrates that there are eight graphical trend plots available in this case), where the different graphical trend plots are associated, for example, with different control, pilot, auxiliary, and so on.
  • To make a set of step responses, the operator can see on the screen of 9 the model making button 116 and the manufacturing program uses the data selected from the graphical trend plots to produce a set of step responses, each step response indicating the response of one of the control or auxiliary quantities to one of the manipulated variables. This manufacturing process is well known and will not be described in more detail here.
  • Again with respect to 3 After the step response matrix (or pulse, slope response matrix, etc.) has been established, in the case where the control and auxiliary quantities outnumber the manipulated variables, the step response matrix (or pulse, slope response matrix, etc.) is used to to select the subset of control and auxiliary quantities that will be used in the MPC algorithm as the M -times- M Process model or the control matrix is used, which is inverted and in the MPC controller 52 should be used. This selection process can be done manually by the operator or automatically by a program, for example in the user interface 13 which has access to the step response matrix. Generally speaking, a single one of the control and auxiliary quantities is identified as being most closely related to a single one of the manipulated variables. Thus, a single and unique (ie other) of the control or auxiliary variables (which are inputs to the process controller) with each of the other manipulated variables (which outputs from the process controller are) associated (eg paired), so that the MPC algorithm can be based on a process model that consists of a set of M -times- M Step responses was produced.
  • In an embodiment using a heuristic approach by providing pairing, the automatic program or operator selects the set of M Tax and auxiliary quantities (in which M equal to the number of manipulated variables) in an attempt to select the single control or auxiliary variable having some combination of maximum gain and fastest response time to a unit change in a single one of the manipulated variables, and to make a pair of these two sizes. Of course, in some cases, a single control or auxiliary variable may have a large gain and fast response time to multiple manipulated variables. Here, the control or auxiliary variable can be combined with any of the associated control variables to a pair and can also form a pair with a manipulated variable, which does not produce the largest gain and response time, because in the group, the manipulated variable, the lower gain or slower response time no other control or auxiliary quantity to an acceptable extent. Thus, on the other hand, the pairs of manipulated variables on the one hand and the control or auxiliary variables on the other hand are all selected such that the manipulated variables are combined into pairs with the subset of control and auxiliary variables which represent the control variables which most strongly respond to the manipulated variables.
  • The automatic program or the operator can also try to control and auxiliary sizes CV and AV to include those that are uncorrelated, highly correlated, minimally correlated, etc. Moreover, it does not matter if not all of the control quantities are one of the subset of M Control and auxiliary variables are selected and therefore the MPC controller does not receive all of the control variables as inputs to it, because the set of target control and auxiliary variables is selected by the optimizer to represent an operating point of the process in which the non-selected control variables (such as also the non-selected auxiliary variables) are at their desired value or within their intended operating range.
  • Of course, since there are dozens and even hundreds of control and auxiliary variables on the one hand and tens or hundreds of manipulated variables on the other hand, it may be difficult, at least from the visualization standpoint, to select the set of control and auxiliary variables that have the best response to the various manipulated variables. To tackle this problem can be the generator program 40 for the advanced control block in the server work surface 13 comprise a set of on-screen displays or to present to the user or operator to allow the operator to make an appropriate selection of the control and auxiliary sizes, as a subset of those in the MPC controller 52 to be used during operation control and auxiliary variables.
  • In this way, at an in 3 represented block 120 providing the operator with a screen in which the operator can view the response of each of the control and auxiliary quantities to a particular or selected one of the manipulated variables. Such a screen is in 10 representing the response of each of a plurality of control and auxiliary quantities (referred to as constraints) to a manipulated variable called TOP_DRAW. The operator can scroll through the manipulated variables one by one and look at the step responses of each of the control and auxiliary quantities to each of the different manipulated variables, and during the process select the one control or auxiliary variable that best responds to that manipulated variable. Typically, the operator will attempt to select the control or auxiliary size that has the best combination of highest steady state gain and fastest response time to the manipulated variable. As in 11 1, one of the control and auxiliary quantities can be selected using the dialog box as the most significant for that manipulated variable. If desired, as in 11 4, highlighting the size selected from the control and auxiliary sizes in another color, such as red (while highlighting the previously selected, ie, control and auxiliary sizes selected for other manipulated variables, in a different color, such as yellow can). In this embodiment, the control program 40 , which of course stores the previously selected control and auxiliary quantities in a memory, perform a check to ensure that the operator does not select the same control or auxiliary size as the variable associated with two different control variables. If the user or operator selects a control or auxiliary size that has already been selected for another manipulated variable, the program can 40 provide the user or operator with an error message to inform the user or operator of the selection of a previously selected control or auxiliary size. In this way the program prevents 40 the selection of the same control or auxiliary variable for two or more different control variables.
  • As in 12 is shown, the operator or user may choose to view the various step responses for each of the different set and disturbances. 12 provides the Step responses of the TOP_END_-POINT to each of the manipulated variables and disturbance variables previously defined for the advanced control block to be created. Of course, the operator can view the screen of 12 Use to select one of the manipulated variables that is associated with the control variable TOP_END_POINT.
  • The referring to the 10 - 12 The selection procedure described is based on graphical displays in which a control or auxiliary variable can be selected from a display as the most significant. Additionally or alternatively, the data may be presented to the operator in a different manner, such as in tabular form, to complete one M -times- M Controller configuration. An example of a screen to complete a M -times- M Contributes to the controller configuration and provides the data in tabular form is in 13 shown. In this example, the magnitudes that correspond to the control matrix (control CV , Auxiliary AV and manipulated variables MV ), the condition numbers of the matrix configuration, etc. are provided in tabular form. In a section 204 of the screen display 200 are indications of control and auxiliary quantities that are not yet part of a control matrix configuration, along with response parameters associated with the control and auxiliary quantities (eg, gain, dead time, priority, time constant, etc.) listed for each of the process manipulated variables. In a section 208, an indication of the current configuration of the MPC controller is displayed. A column 212 provides information about available manipulated variables, and a column 216 provides information about output quantities (eg, control or auxiliary quantities) currently included in the MPC control matrix.
  • The display example 200 shows a square controller with the manipulated variables MV TOP_DRAW, SIDE_DRAW and BOT_REFLUX and controller inputs including the control and auxiliary sizes BOT_TEMP, SIDE_END_POINT, TOP_END_POINT. If a user selects one of the manipulated variables using an input device such as a mouse, a trackball, a touchscreen, etc., the selected manipulated variable can be highlighted. For example, in the example screen 200 the manipulated variable TOP_DRAW is highlighted. In addition, response parameters related to the available control and auxiliary quantities displayed in section 204 and corresponding to the selected manipulated variable are displayed. For example, in the example screen 200 reinforcements 220 and dead times 224 displayed, which correspond to the manipulated variable TOP_DRAW and the available control and auxiliary variables 228 assigned.
  • The ad 200 also includes an add button 232a and a delete key 232b to control and auxiliary quantities (boundary conditions) between the sections 204 and 208 to move. The figure also shows the number of condition of matrix configurations with different gain:
    • - Process matrix: a complete one N -times- M Process matrix with control and boundary conditions along a first axis and the manipulated variables along a second axis;
    • - Current configuration: the M -times- M Configuration currently selected by the operator and displayed in the MPC Controller Input-Otput Configuration table;
    • - Automatic configuration: automatically selected by a selection program in the MPC application M -times- M -Configuration.
  • The ad 200 also includes a button 236 to reset to a configuration that has been determined automatically. Thus, after making changes to an automatic configuration and wanting to return to automatic configuration, an operator may press the key 236 choose.
  • Using the data in an ad as shown in the ad 200 and knowing the process, an operator can construct a square matrix in any desired manner.
  • As you can see, the screen displays of the 10 - 13 the operator, the subset of M To visualize and select control and auxiliary quantities that are used as inputs to the MPC control algorithm (Block 120 from 3 ), which is particularly useful when there are many of these sizes. Also, the set of control and constraint sizes used in block 120 be determined automatically or electronically based on certain predetermined criteria or a selection program. In one embodiment, a selection program may select the input quantities that may be determined based on any combination of response parameters (one or more gains, dead time, priority, time constant, etc.) as determined from the step responses (or pulse, slope responses, etc.) were to be used for the control boundary conditions and the manipulated variables. In another embodiment, a selection program may use some form of time series analysis of the values of the input and output parameters of the controller. For example, a cross-correlation between the command and control or auxiliary quantities may be used to use the most responsive control or auxiliary variable as the controller input. As another example, cross-correlation between the control and auxiliary quantities may be used to remove co-linear (ie, correlated) controller inputs from the matrix. A program may also include any heuristic set formed from model analysis or process knowledge.
  • In another embodiment, an automatic selection program may first determine a control matrix by selecting an input / output matrix based on the condition number of the matrix, i. by minimizing the number of conditions to any desired level, and then forming a controller configuration from the control matrix.
  • In this example, for a process gain matrix A, the condition number of the matrix A T A can be determined to check the controllability of the matrix. A small number of conditions generally means better controllability, while a larger number of conditions mean less controllability and more control steps or larger movements during the dynamic control process. There are no strict criteria to establish an acceptable level of controllability, and therefore the number of conditions can be used as a relative comparison of various potential tax matrices and as a test for mismatched matrices. As we know, a number of conditions for a bad matrix of infinity approaches. Mathematically, poor conditionality occurs in the case of colinear process variables, ie, due to co-linear rows or columns in the control matrix. Thus, an important factor affecting the number of conditions and controllability is the cross-correlation between matrix rows and columns. Careful selection of the input / output variables in the control matrix can reduce condition problems. In practice, it should be relevant whether the number of conditions of a control matrix is in the hundreds (eg 500) or above. With such a matrix, the movements of the controller control variables can be extremely excessive.
  • As previously discussed, the control matrix solves the problem of dynamic control while the LP optimizer solves the problem of steady state optimization, and the control matrix must be a quadratic input / output matrix even if the MPC controller block has an unequal number MVs and CVs (including AVs ) having. To begin with the selection of inputs and outputs for the control matrix to be used in the manufacture of the controller, all available MVs typically recorded or selected as controller outputs. After the selection of the issues (the MVs ), the process output variables (ie the CVs and AVs ), which have become part of the dynamic control matrix, are selected so as to form a quadratic control matrix which is not badly conditional.
  • A method to CVs and AVs to automatically or manually select inputs to the control matrix will now be discussed, assuming that other methods may be used as well. This embodiment enhances the robustness of the resulting controller by employing a technique called "MV circulation" (US Pat. MV wrap around) (or self-controlling MVs ) and automatically the penalty factor on movement factors for the MVs of the MPC controller.
  • Step 1 - The CVs are selected until, if possible, the number of CVs equal to the number of MVs is (ie the number of controller outputs). If it is more CVs when MVs there, can the CVs in any order based on any desired criteria such as priority, gain or phase response, user input, correlation, analysis, etc. Is the total possible number CVs equal to the number MVs , Step 4 is proceeded to check the resulting condition number of the square control matrix for acceptability. Is the number on CVs less than the number of MVs , can AVs can be selected as described in step 2. There are no defined ones CVs , will the AV with the highest gain in relation to one MV and then proceeded to step 2.
  • Step 2 - It is the number of conditions, one after the other, for each possible AV calculated to the already selected control matrix by the previously selected CVs and AVs was added. As will be clear, the one included by the selected CVs set matrix one row for each selected one CV and AV that the steady state gain for this CV or AV to each of the previously selected MVs sets.
  • Step 3 - The procedure defined in step 2 AV is determined, which gives the minimum condition number for the resulting matrix, and the matrix, like the previous matrix, is added with the selected one AV established. Is the number on MVs now equal to the number of selected ones CVs , plus the number of selected ones AVs (ie the matrix is now square), then go to step 4. Otherwise, return to step 2.
  • Step 4 - The number of conditions for the established square control matrix A c is calculated. If desired, the condition number calculation for the matrix A c may be used in place of the matrix A c T A c because the number of conditions for these different matrices are related as the square root of the others. If the number of conditions is acceptable, skip steps 5 and 6 and move to step 7.
  • Step 5 - A recirculation procedure is selected for each of the selected MVs and calculate the number of conditions of the matrix resulting from each round robin procedure. In essence, a recirculation procedure can be performed by successively having a unit response (Gain = 1.0, Dead Time = 0, Time Constant = 0) for each of the different MVs in the place of the eliminated AV (or CV ) is set. The unit response will be at one of the locations in the array's row and zero elsewhere. In essence, each of the individual MVs in this case instead of the AV (or CV ) is used as an input and an output to form a well-conditioned quadratic control matrix. As an example, for a four by four matrix, the combinations 1000 . 0100 . 0010 and 0001 in the row of eliminated AV Line in the gain matrix A c .
  • Step 6 - After performing a round robin procedure for each of the MVs the combination is selected that gives the minimum condition number. If there is no improvement compared to the condition number obtained in step 4, the original matrix is retained.
  • Step 7 - At this point, each selected one CV and selected AV with a MV associated by the CV or AV with the best response (maximum gain, fast response time) in relation to a specific one MV is selected, excluding the MV , which is used for self-control (ie the MV who went through the round). It is to ensure that each one MV with a single CV (or AV ) is combined into a pair, in case more than one MV a high gain and fast response with a single CV (or AV ) or vice versa for the CV - ( AV -) has parameters. The circulated MV is associated with itself. When all the parameters have been paired, the selection process is complete.
  • Of course, the control matrix formed by this procedure as well as the resulting condition number may be presented to the user, and the user may accept or reject the formed control matrix for use in manufacturing the controller.
  • It should be noted that in the automatic procedure described above at most only one (ie circulated) MV for self-control has been selected to improve controllability. The manual operation can be the number of revolved MVs be arbitrary. For example, with reference to 11 the choice of the most significant ("Most Significant") CVs or AVs be lifted again. Regarding 13 can CVs or AVs using the delete key 232b be removed. In these examples, those selected for self-control fall MVs by the absence of a corresponding output size selection in the controller configuration. For example 14 the ad 200 from 13 but in which the manipulated variables TOP_DRAW and SIDE_DRAW have no corresponding control variable CV contain. In this way, the manipulated variables TOP_DRAW and SIDE_DRAW are circulated. The ad 200 from 13 could be on the in 14 Modified by first the pair BOT_TEMP and TOP_DRAW in the display 200 and then the delete key 232b is selected. Next, the pair SIDE_END_POINT and SIDE_DRAW could appear in the ad 200 and then the delete key 232b to get voted. In the advertising 200 from 14 then the sizes BOT_TEMP and SIDE_END_POINT are placed in the column 228 set of available sizes. In addition, the condition number of the current, in 14 illustrated configuration of the number of conditions of the automatic configuration.
  • Also, you can do more MVs used as circulation variables for control, if the number of MVs is greater than the total number CVs plus AVs , In this way, the controller still has a square control matrix with each of them at the end MVs available as expenses. It will be understood that the method of performing and using cycles means that the number of times selected for the control matrix CVs and AVs can be less than the number of controllers controlled by the controller MVs , where the Difference in the circulation number of MVs exists as inputs to the control matrix. In addition, this orbital procedure can be used in a process that is less CVs plus AVs when MVs Has.
  • Of course, the above condition number is calculated using the steady state gains, and therefore, the control matrix also essentially defines the controllability for the steady state. The process dynamics (dead time, tailing, etc.) and modeling uncertainty also have an effect on dynamic controllability, and these effects can be taken into account by changing the priority of process variables (eg, control and auxiliary quantities), which is their inclusion in the control matrix because of the impact they have on dynamic control.
  • It is also possible to use other heuristics that should improve both steady state and dynamic controllability. Such a method would typically include a number of heuristic criteria, possibly some that are conflicting, that are applied in multiple phases to form a control matrix and thereby select an appropriate set of controller inputs that provide some improvements to the control matrix. In such a heuristic process, the CVs and the AVs by MV grouped based on the highest gain ratio. Then for each MV Grouping that selects a process output with the fastest dynamics and significant gain. This selection process can take into account a confidence interval and the CVs the preference for the AVs give (otherwise all are the same). The process model generator program then uses the parameters selected from each group during MPC control manufacture. Because only one parameter for each MV is selected, the response matrix is square and can be inverted.
  • Anyhow, after selecting the subset of M (or less) control and auxiliary size inputs into the MPC controller one block 124 from 3 from the particular quadratic control matrix, the process model or controller that is in the MPC control algorithm 86 from 2 should be used. As is known, this controller manufacturing step is a computationally intensive procedure. Primary tuning factors for controller production are "Penalty on Move" (PM) parameters of the controller manipulated variables. An analysis has shown that dead time is an important factor in the calculation of PM, while reinforcement, of course, has a strong impact on controller movements. The following experimental formula accounts for both dead time and gain in estimating a PM factor, which provides a stable and responsive MPC flow for model errors of up to 50%: P M i = 3 ( 1 + 6 D T i p + 3 G i D T i p )
    Figure DE000010341764B4_0016
    where DT i is the dead time in MPC samples for an MVi-CVj pair, G i is the gain (dimensionless) for the MVi-CVj pair, and pairing is the one established during the quadratic controller configuration. Square matrix pairing therefore provides PM values that help meet the conflicting controller needs for performance and robustness.
  • A block 126 then loads this MPC process model (with the inherent control matrix) or the controller and, if necessary, the step responses and the steady state step response gain matrix onto the control block 38 down, and these data will be in the control block 38 integrated for the operation. At this time, the control block is 38 ready for online operation as part of the process 50 ,
  • If desired, the process step responses may be reconfigured or provided in some other way than these step responses were generated. For example, one of the step responses may be copied out of different models and into the screen masks, for example, the 10 - 12 to set the step responses of a particular control or auxiliary quantity to a manipulated or disturbing variable. 15 FIG. 12 illustrates a screen display where the user can select and copy one of the step responses of a particular process or model and then drag or paste the same response into another model and manually insert that step response into the new model, thereby enabling the user to specify a step response model. Of course, as part of this process, the user may delete one or more of the automatically generated step response models as described above.
  • 16 represents a screen display in which the user can in particular view one of the step responses (here for the step response TOP_END_POINT as opposed to TOP_DRAW). The parameters for this step response, such as steady state gain, response time, first order time constant, and squared errors are presented to the user or operator for convenient reference to the display. If desired, the user may view or change the properties of this step response by specifying other parameters, such as another gain or time constant, if so desired. If the user sets a different gain or other parameter, the step response model may be mathematically regenerated to include this new parameter or parameter set. This process is useful when the user knows the parameters of the step response and must change the generated step response to match or meet these parameters. Changes to the step response model are in turn reflected in the pairing and production of the square control matrix because the gain and response dynamics are used.
  • Well, with respect to 4 the general steps shown during each cycle of operation or each scan of the advanced control block 38 as using the flowchart 90a from 3 produced, performed during the process 50 runs online. At a block 150 receives and processes the MPC controller 52 ( 2 ) the measured values of the control and auxiliary quantities CV and AV , In particular, the control prediction process model processes the CV - AV - and DV Measurements or inputs to the future control parameter vector as well as the predicted steady state control quantities and auxiliary quantities CV SS and AV SS manufacture.
  • Next, it processes or filters on a block 152 the input processing / filter block 58 ( 2 ) the predicted, from the MPC controller 52 formed control, auxiliary and manipulated variables CV SS . AV SS and MV SS and puts the optimizer 54 these filtered values are available. At a block 154 leads the optimizer 54 standard LP method by to the sentence of M Target manipulated variables MV T which maximizes or minimizes the selected or default objective function while not violating any of the limits of the auxiliaries and manipulated variables and while maintaining the control variables at their specified set point or within the ranges set for those quantities. Generally speaking, the optimizer calculates 54 a target size solution MV T by forcing the tax and auxiliary quantities to their limits. As stated above, in many cases there will be a solution where the control quantities are each at their setpoint (which is initially treated as an upper limit set to the control amount) while the auxiliary quantities each remain within their respective constraints. If that's the case, the optimizer needs to 54 only the specific target manipulated variables MV T spend, which provide an optimal result for the objective function.
  • In some cases, however, due to constraints that are too narrow for some or all of the auxiliaries or manipulated variables, it may be impossible to find an operation point where all the control variables are at their setpoint and all the auxiliary variables are within their respective constraints. because such a solution does not exist. In these cases, as previously noted, the optimizer 54 allow relaxation of the setpoint setpoint ranges of the control variables to attempt to find an operation point where the auxiliary variables operate within their respective limits. If there is no solution in this case, the optimizer may drop one or more of the auxiliary force constraint limits as a solution and / or may drop the control setpoint range within the solution and instead determine the optimal process operation point and the dropped auxiliary force constraints and / or ignore the dropped control value setpoint range. Here, the optimizer chooses which auxiliary or control quantity to drop based on the respective weights provided for the control and auxiliary quantities, respectively (for example, the lowest weighting or highest priority being dropped first). The optimizer 54 continues to drop helper or control quantities based on their intended weights and priorities until it reaches a target control size solution ( MV T Solution) is found, in which for the other control or auxiliary variables with higher priority, all setpoint ranges for the control variables and the limits for the auxiliary variables are met.
  • Next used in a block 156 the target conversion block 55 ( 2 ) the steady state step response gain matrix to the target values of the control and auxiliary quantities CV T and AV T from the target values for the manipulated variables MV T determine and represents the selected N (in which N Smaller or equal M subset of these values is the MPC controller 52 as destination input available. At a block 158 uses the MPC controller 52 the control matrix or logic derived therefrom to operate as an unrestricted MPC controller as previously described to the future one CV - and AV To determine the vector for these target values, performs vector subtraction on the future control parameter vector to produce the future error vector. The MPC algorithm acts in a known manner to resolve the Steady state manipulated variable MV SS based on the process model to determine that from the M -times- M -Scrittantworten was formed, and represents this MV SS Values to the input processing / filter block 58 ( 2 ) to disposal. At a block 160 The MPC algorithm also determines the MV - Steps leading to the process 50 and gives the first of these steps to the process in some appropriate way 50 out.
  • During the process, one or more monitoring applications are running, for example, in one of the workstations 13 from, data from the advanced control block or other associated function blocks may be either directly or indirectly via the data collection 12 one or more visual or diagnostic screens are provided to the user or operator to indicate the operating status of the advanced control block. Function block technology includes cascade inputs (CAS_IN) and cascade remote inputs (RCAS_IN), as well as corresponding backscaling outputs (BCAL_OUT and RCAS_OUT) on both the control and output function blocks. Using these links, it is possible to lay an optimized MPC supervisory control strategy over the existing control strategy, and this monitored control strategy can be presented using one or more visual screens or one or more displays. Likewise, targets for the optimized MPC controller may be changed from a strategy if so desired.
  • 17 FIG. 10 is an exemplary screen display that may be generated by one or more visual applications that represent an optimizer dialog screen that provides the operator with data pertaining to the operation of the advanced control block during its expiration. In particular, the inputs to the process (the manipulated variables MV ) and the expenses (the tax and auxiliary sizes CV and AV ) shown separately. For each of these sizes, the screen displays the name (descriptor) of the size, the current value as measured, optionally a setpoint, the target value as calculated by the optimizer, the units and unit values of resizing, and an indication of the actual size values The output sizes also include an indication of whether this size is one of the selected sizes used in the MPC controller, the predicted value of that size as determined by the MPC controller, and the default priority for that size. This screen allows the operator to view the current operating state of the advanced control block and the manner in which the advanced control block performs the control. In addition, the user can configure some remote control capability control parameters so that external applications can set flow rate operational goals.
  • 18 is a screen display that may be generated by a diagnostic application that represents a diagnostic screen mask that may be provided to a user or operator to make a diagnosis on the advanced control block. In particular, the diagnostic screen of 18 For each, the name or descriptor is supplied with an indication (in the first column) of whether an error or warning condition exists for that quantity. Such a warning may be graphically displayed using, for example, a green tick or a red "x", or in some other desired manner. There is also a value or status for each of these sizes. For the manipulated variables, the value and status of the Back_Cal size (back calculated or returned variable) for these signals is shown. As will be appreciated, this screen can be used to diagnose the advanced control block by providing the operator with the necessary data to determine problems within the control system. Of course, other types of screens and data may also be provided to the operator to enable him to sift and diagnose the operation of the advanced control block and the module in which he is implemented.
  • While the advanced control block is shown here as an optimizer located in the same functional block and therefore embodied in the same device as the MPC controller, it is also possible to accommodate the optimizer in a separate device. In particular, the optimizer may be in another device, such as one of the user workstations 13 be accommodated and connected with the MPC controller as related to 2 described during each execution or sampling to determine the target manipulated variables ( MV T ) or the subset of the control and auxiliary quantities ( CV and AV ) and make it available to the MPC controller calculated from it. Of course, a special interface, such as a known OPC interface, may be used to provide the communications interface between the controller and the functional block including the MPC controller and the workstation or other computer that has installed or is running the optimizer. As for in terms of 2 described Embodiment, the optimizer and MPC controller must still communicate with each other during each sampling cycle to perform integrated, optimized MPC control. In this case, however, other desired types of optimizers may be used, such as known or real-time optimizers, which may already be present in a process control environment. This feature can also be used to advantage if the optimization problem is not linear and the solution requires non-linear programming techniques.
  • While the advanced control block and other blocks and programs described herein have been described herein in conjunction with Fieldbus and standard 4 - 20 Of course, they may also be implemented using any other process control communication protocol or programming environment, and may be used with any other types of devices, function blocks, or controllers. Although the advanced control blocks and associated generation and testing programs described herein are preferably implemented in software, they may also be implemented in hardware, firmware, etc., and may be executed by any other processor associated with a process control system. Thus, the program described here 40 can be implemented in a standard general-purpose CPU or custom hardware or firmware, such as ASICs, if so desired. When implemented in software, the software may be stored in any computer-readable memory such as a magnetic disk, laser disk, optical disk or other storage medium, RAM or ROM of a computer or processor, etc. Likewise, this software may be provided to a user or a process control system via any known or desired handover method, such as on a computer readable diskette or any portable computer storage mechanism, or modulated over a communications channel such as a telephone line, the Internet, etc. (which may be equivalent or interchangeable with the provision of such software via a portable storage medium is considered).
  • LIST OF REFERENCE NUMBERS
  • 10
    Process Control System
    11
    Process Controller
    12
    data collection
    13
    Home workplace computer or computer
    14
    display screen
    15-22
    field devices
    26, 28
    Input / output cards, I / O cards
    29
    communication network
    30
    Extended block
    32, 34
    Programs, routines
    36
    Control / control circuit
    38
    Control / control / control block
    40
    Generator program for the advanced control block, configuration program
    42
    Control / regulating block setting program
    44
    Process modeling program
    46
    Control logic parameter setting program
    48
    optimizer
    50
    process
    51
    MPC controller block
    52
    MPC controller block
    54
    optimizer
    55
    Target conversion block
    56
    Step Response Model, Control Matrix 58 Input Processing / Filtering Block
    62
    selection block
    64
    target functions
    66
    input
    70
    Forecast control process model
    72
    output
    74
    vector summer
    76
    input
    80
    Zielsteuer- / control block
    82
    Trajektorienfilter
    84
    vector summer
    86
    MPC control algorithm
    90
    flow chart
    90a
    Functions before process operation
    90b
    Functions during process operation
    92, 94
    block
    98
    block
    100
    block
    101
    Graphic display area
    102
    Bar chart area
    104
    Block Target and current operating mode
    106
    Block time to steady state
    108 110
    Start, end point of 102
    112, 114
    lines
    116
    Model Making Key
    120, 124, 126, 150 152, 154, 156, 158 160
    block
    200
    display
    204, 208
    Section of 200
    212
    Column available manipulated variables
    216
    output sizes
    220
    gains
    224
    dead
    228
    Available control and auxiliary sizes
    232a
    Adding key
    232b
    Clear key
    236
    Key, reset key
    AV
    auxiliary variables
    AV SS
    Forecast steady state auxiliary variables
    AV SSfil
    Filtered auxiliary size
    AV T
    Target assist sizes
    CV
    control variables
    CV SS
    Forecast steady state control variables
    CV SSfil
    Filtered control size
    CV T
    Target control variables
    DV
    disturbances
    LP
    Linear programming
    MV
    manipulated variables
    MV SS
    Forecast steady state manipulated variables
    MV SSfil
    Filtered manipulated variable
    OF
    objective function

Claims (5)

  1. A process control system (10) for controlling a process (50), comprising: a multiple input / multiple output controller (11) configured to generate multiple control outputs during each operation cycle of the process control system (10) configured to process the process (50) based on measured multiple inputs from the process and based on controlling a set of target values provided to the multiple input / multi-output controller (11) during each operation cycle of the process control system (10); and an optimizer (54) adapted to form the set of target values for use by the multiple input / multiple output controller (11) during each operation cycle of the process control system (10); wherein the optimizer (54) is a linear or quadratic programming optimizer including an objective function (OF) and the optimizer (54) is adapted to minimize or maximize the objective function (OF) while maintaining a set of control variables (CV) within predetermined setpoint limits, maintaining a set of auxiliary values (AV) within a set of predetermined auxiliary size limits, and a set of manipulated variables (MV) within a set of predetermined manipulated variable limits, and, if there is no solution, allowing at least one of the setpoint limits to be violated becomes; wherein the optimizer (54) is adapted to store a first set of priorities corresponding to the set of control values (CV) and a second set of priorities corresponding to the set of auxiliary quantities (AV), and wherein Optimizer (54) uses the priorities from the first sentence and the priorities from the second sentence to determine the at least one of the control setpoint limits and the auxiliary size limits that are to be violated.
  2. Process control system according to Claim 1 in that the optimizer (54) is adapted, if unsuccessful, to allow at least one of the setpoint limits and the auxiliary size limits to be violated.
  3. A process control system (10) for controlling a process (50), comprising: a response matrix defining a response of each of a set of control and auxiliary quantities (CV, AV) to a change in each of a set of manipulated variables (MV); a number of control and auxiliary quantities (CV, AV) in the set of control and auxiliary quantities (CV, AV) is equal to a first number, in which a number of manipulated variables (MV) in the set of manipulated variables (MV) equals one second number is; a linear or quadratic optimizer (54) adapted to: produce a set of target manipulated variable values (MV T ), the target manipulated variable values (MV T ) defining an optimal operating point based on a set of predictive values of control and auxiliary variables (CV, AV) of the process and based on a set of current values of manipulated variables (MV) of the process (50) at which a number of predictive values of control and auxiliary quantities (CV, AV) in the set of predictive values of control and auxiliary quantities (CV , AV) is equal to the first number at which a number of current values of manipulated variables (MV) in the set of current values of manipulated variables (MV) equals the second number; use a set of predictive control variables and auxiliary quantities, a set of predictor job sizes, and the response matrix to produce a set of target values for a predetermined subset of a set of control and auxiliary quantities (CV, AV) comprising a number of predictive control variables and auxiliary quantities in the set of predictive control quantities and auxiliary quantities is equal to the first number, in which a number of control and auxiliary quantities (CV, AV) in the predetermined subset of the set of control and auxiliary quantities (CV, AV) are different from the first number different; wherein the linear or quadratic optimizer (54) is adapted to produce the set of target actuator magnitude values (MV T ) that maximize or minimize an objective function (OF) while each of the control variables (CV) are at their predetermined setpoint values and each of the auxiliary quantities and Manipulated variables (AV, MV) are kept within predetermined constraints; wherein the optimizer (54) is adapted to produce the set of target manipulated variable values (MV T ) that maximize or minimize the objective function (OF) while each of the control variables (CV) are within predetermined setpoint limits and each of the auxiliary magnitudes and manipulated variables (AV, MV) are kept within constraints if there is no solution holding each of the control quantities (CV) at predetermined setpoints and each of the auxiliary quantities and manipulated variables (AV, MV) within predetermined constraints; wherein the optimizer (54) is adapted to produce the set of target manipulated variable values (MV T ) that maximize or minimize the objective function (OF) while each of the auxiliary quantities (AF) within predetermined constraints and the manipulated variables (MV) within predetermined constraints while one or more of the control quantities (CV) are allowed to violate predetermined setpoint limits based on priorities associated with the control quantities (CV) if no solution exists, each of the control variables (CV) within predetermined setpoint limits and each of the auxiliary quantities and manipulated variables (AV, MV) holds within predetermined constraints; a multiple input / multi-output controller (11) adapted to: establish the set of predictive control variables and auxiliary quantities and the set of predictive variable sizes, and the set of target values for the predetermined subset of the set of pilot and auxiliary quantities (CV, AV ) to combine with measurements of the predetermined subset of the set of control and auxiliary quantities (CV, AV) to produce a set of control signals for controlling the manipulated variables (MV) of the process (50), wherein a number of the control signals in the set of manipulated variables (MV) is equal to the second number; wherein the optimizer (54) is adapted to produce the set of target manipulated variable values (MV T ) that maximize or minimize the objective function (OF) while maintaining the manipulated variables (MV) within predetermined constraints while one or more of the control variables (MV) CV) predetermined setpoint limits, and the auxiliary quantities (AV) are allowed to violate predetermined constraint limits based on priorities associated with the control quantities (CV) and auxiliary quantities (AV), if there is no solution satisfying each of the auxiliary quantities (AV) and manipulated variables ( MV) within predetermined constraints.
  4. Process control system according to Claim 3 in that the optimizer (54) is adapted to establish the set of target manipulated variable values (MV T ) that maximize or minimize the objective function (OF) while maintaining the manipulated variables (MV) within predetermined constraints during one or more of the control quantities (CV) predetermined setpoint limits, and the auxiliary quantities (AV) are allowed to violate predetermined constraints based on priorities associated with the control quantities (CV) and the auxiliary quantities (AV), if there is no solution, within each of the control quantities (CV) Setpoint limits and the manipulated variables (MV) within predetermined constraints holds.
  5. A process control element adapted to be used as part of a process control program implemented on a processor to control a plurality of control and auxiliary parameters (CV, AV) of a process (50) using many control parameters (MV), the process control element comprising : a computer readable medium; a functional block stored on the computer readable medium and configured to execute on the processor to effect multiple input / multiple output control of the process (50) during each control scan period, the functional block comprising: an objective function (OF) that is an optimization criterion defined based on the multiple control and auxiliary parameters (CV, AV); an optimizer that uses the objective function (OF) to establish a set of optimal target values for the control and auxiliary parameters during each control scan period; a control matrix relating a predetermined subset of the plurality of control and auxiliary parameters (CV, AV) to the plurality of control parameters (MV); and a multiple input / multiple output control program that generates a control signal for each of the plurality of control parameters (MV) using the control matrix and the target values for the subset of the plurality of control and auxiliary quantities (CV, AV) during each control sampling period at which the control signals destined to drive the subset of the plurality of control and auxiliary parameters (CV, AV) to the optimum target values for the subset of control and auxiliary parameters; wherein the functional block includes memory for storing a set of control parameter setpoints and a set of auxiliary and setpoint parameter limits, and wherein the optimizer is configured to apply the set of optimal target values for the set parameters that yield the control parameters to the Control parameter setpoints, the auxiliaries and manipulated parameters are within the auxiliary and manipulated parameter limits and the objective function (OF) is minimized or maximized; wherein the memory has also stored a set of control parameter setpoint limits, and the optimizer is configured to establish the set of optimal target values for the set parameters (MV) that maximize or minimize the objective function (OF) while each of the control parameters (CV) within the Control parameter setpoint limits and each of the auxiliary parameters and setpoint parameters (AV, MV) is maintained within the auxiliary and setpoint parameter limits if there is no solution holding the control parameters (CV) to the control parameter setpoints and the auxiliaries and control parameters within the auxiliary and setpoint parameter limits; wherein the memory has also stored a set of priority values for the control parameters (CV) and the optimizer is adapted to produce the set of target set parameters that maximize or minimize the objective function (OF) during each of the control parameters (CV) within the control parameter setpoint limits while one or more of the control parameters are allowed to violate the control parameter setpoint limits based on the priority information for the control parameters, if no solution exists, which can control each of the control parameters (CV) within the control parameter setpoint limits and each of the auxiliary parameters and set parameters (AV, MV). within the auxiliary and set parameter limits; wherein the memory has also stored a set of priority indications for the auxiliary parameters (AV) and the optimizer is adapted to produce the set of target setting parameters that maximize or minimize the objective function (OF), while at least one of the auxiliary parameters sets the auxiliary parameter limits based on the Priority indications for the auxiliary parameters (AV) may be violated and the control parameters are allowed to violate the control parameter setpoint limits based on the control parameter (CV) priority, if there is no solution satisfying each of the control parameters (CV) within the control parameter setpoint limits and each of the auxiliary parameters and set parameters ( AV, MV) within the auxiliary and control parameter limits.
DE10341764.8A 2002-09-11 2003-09-10 Integrated model prediction control and optimization within a process control system Active DE10341764B4 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US10/241350 2002-09-11
US10/241,350 US7376472B2 (en) 2002-09-11 2002-09-11 Integrated model predictive control and optimization within a process control system
US10/310416 2002-12-05
US10/310,416 US7330767B2 (en) 2002-09-11 2002-12-05 Configuration and viewing display for an integrated model predictive control and optimizer function block
US10/627,362 US7050863B2 (en) 2002-09-11 2003-07-25 Integrated model predictive control and optimization within a process control system
US10/627362 2003-07-25

Publications (2)

Publication Number Publication Date
DE10341764A1 DE10341764A1 (en) 2004-07-15
DE10341764B4 true DE10341764B4 (en) 2019-01-10

Family

ID=29255267

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10341764.8A Active DE10341764B4 (en) 2002-09-11 2003-09-10 Integrated model prediction control and optimization within a process control system

Country Status (4)

Country Link
CN (1) CN1514318B (en)
DE (1) DE10341764B4 (en)
GB (4) GB2429539B (en)
HK (3) HK1063223A1 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376472B2 (en) 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
DE10341762B4 (en) * 2002-09-11 2014-05-15 Fisher-Rosemount Systems, Inc. Managing the realizability of constraints and limitations in an optimizer for process control systems
US9201420B2 (en) 2005-04-08 2015-12-01 Rosemount, Inc. Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data
US8005647B2 (en) 2005-04-08 2011-08-23 Rosemount, Inc. Method and apparatus for monitoring and performing corrective measures in a process plant using monitoring data with corrective measures data
DE102005025282A1 (en) * 2005-06-02 2006-12-07 Bayer Materialscience Ag Data processing system and method for controlling a plant
US7451004B2 (en) 2005-09-30 2008-11-11 Fisher-Rosemount Systems, Inc. On-line adaptive model predictive control in a process control system
WO2007067645A2 (en) * 2005-12-05 2007-06-14 Fisher-Rosemount Systems, Inc. Multi-objective predictive process optimization with concurrent process simulation
US8271103B2 (en) 2007-05-02 2012-09-18 Mks Instruments, Inc. Automated model building and model updating
US8301676B2 (en) 2007-08-23 2012-10-30 Fisher-Rosemount Systems, Inc. Field device with capability of calculating digital filter coefficients
US7702401B2 (en) 2007-09-05 2010-04-20 Fisher-Rosemount Systems, Inc. System for preserving and displaying process control data associated with an abnormal situation
US8065251B2 (en) 2007-09-28 2011-11-22 Fisher-Rosemount Systems, Inc. Dynamic management of a process model repository for a process control system
US8055479B2 (en) 2007-10-10 2011-11-08 Fisher-Rosemount Systems, Inc. Simplified algorithm for abnormal situation prevention in load following applications including plugged line diagnostics in a dynamic process
US8494798B2 (en) 2008-09-02 2013-07-23 Mks Instruments, Inc. Automated model building and batch model building for a manufacturing process, process monitoring, and fault detection
US8155932B2 (en) 2009-01-08 2012-04-10 Jonas Berggren Method and apparatus for creating a generalized response model for a sheet forming machine
US8209048B2 (en) 2009-01-12 2012-06-26 Abb Automation Gmbh Method and apparatus for creating a comprehensive response model for a sheet forming machine
US9069345B2 (en) * 2009-01-23 2015-06-30 Mks Instruments, Inc. Controlling a manufacturing process with a multivariate model
CN105589448A (en) * 2009-02-02 2016-05-18 费希尔-罗斯蒙特系统公司 Model predictive controller with tunable integral component to compensate for model mismatch
US20100198364A1 (en) * 2009-02-05 2010-08-05 Shih-Chin Chen Configurable Multivariable Control System
US8756039B2 (en) * 2010-03-02 2014-06-17 Fisher-Rosemount Systems, Inc. Rapid process model identification and generation
US8855804B2 (en) 2010-11-16 2014-10-07 Mks Instruments, Inc. Controlling a discrete-type manufacturing process with a multivariate model
DE112015001348T5 (en) * 2014-03-20 2017-01-19 Fisher-Rosemount Systems, Inc. Reduction of controller updates in one loop
US9429939B2 (en) 2012-04-06 2016-08-30 Mks Instruments, Inc. Multivariate monitoring of a batch manufacturing process
US9541471B2 (en) 2012-04-06 2017-01-10 Mks Instruments, Inc. Multivariate prediction of a batch manufacturing process
CN102622528B (en) * 2012-04-16 2015-02-18 广东双利电缆有限公司 Method and system for automatic generation of formula parameters required by manufacture of aluminum alloy rods
EP2881822A1 (en) * 2013-12-05 2015-06-10 Bayer Technology Services GmbH Computer-implemented method and system for automatic monitoring and status detection of entire process stages in a process unit
EP2884354A1 (en) * 2013-12-12 2015-06-17 Honeywell spol s.r.o. Model-based predictive controller with steady-state model adaptation
CN104765339B (en) * 2015-02-10 2017-05-10 浙江大学 Based on the priority control variable dynamic control method fcc

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4349869A (en) 1979-10-01 1982-09-14 Shell Oil Company Dynamic matrix control method
US4616308A (en) 1983-11-15 1986-10-07 Shell Oil Company Dynamic process control
US4736316A (en) 1986-08-06 1988-04-05 Chevron Research Company Minimum time, optimizing and stabilizing multivariable control method and system using a constraint associated control code
US5682309A (en) 1995-04-28 1997-10-28 Exxon Chemical Patents Inc. Feedback method for controlling non-linear processes
US5930762A (en) 1996-09-24 1999-07-27 Rco Software Limited Computer aided risk management in multiple-parameter physical systems
US6445963B1 (en) 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5574638A (en) 1995-04-03 1996-11-12 Lu; Zhuxin J. Method of optimal scaling of variables in a multivariable predictive controller utilizing range control
US5758047A (en) 1995-06-14 1998-05-26 Lu; Zhuxin Joseph Method of process controller optimization in a multivariable predictive controller
CN1099060C (en) 1999-04-14 2003-01-15 袁璞 Universal multi-variable quantity model pre-estimating coordinating control method
US6330483B1 (en) * 1999-05-07 2001-12-11 The Boeing Company Optimal control system
US6445936B1 (en) 1999-11-16 2002-09-03 Agere Systems Guardian Corp. Low power consumption quick charge for wireless device
CN1449511A (en) * 2000-06-30 2003-10-15 陶氏化学公司 Multi-variable matrix process control

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4349869A (en) 1979-10-01 1982-09-14 Shell Oil Company Dynamic matrix control method
US4616308A (en) 1983-11-15 1986-10-07 Shell Oil Company Dynamic process control
US4736316A (en) 1986-08-06 1988-04-05 Chevron Research Company Minimum time, optimizing and stabilizing multivariable control method and system using a constraint associated control code
US5682309A (en) 1995-04-28 1997-10-28 Exxon Chemical Patents Inc. Feedback method for controlling non-linear processes
US5930762A (en) 1996-09-24 1999-07-27 Rco Software Limited Computer aided risk management in multiple-parameter physical systems
US6445963B1 (en) 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
QIN, S.J., BADGWELL, T.A., "An Overview of Industrial Model Predictive Control Technology," Fifth International Conference on Chemical Process Control, pp. 232-256, AIChE and CACHE, 1997 *

Also Published As

Publication number Publication date
GB0702678D0 (en) 2007-03-21
GB2394312B (en) 2007-10-03
GB2394312A (en) 2004-04-21
HK1102841A1 (en) 2008-01-25
CN1514318B (en) 2010-04-28
GB2432683A (en) 2007-05-30
GB2429539A (en) 2007-02-28
GB0321249D0 (en) 2003-10-08
HK1063223A1 (en) 2007-12-21
GB0702680D0 (en) 2007-03-21
GB2432682B (en) 2007-10-10
HK1102842A1 (en) 2008-01-25
GB2432682A (en) 2007-05-30
GB2432683B (en) 2007-10-10
CN1514318A (en) 2004-07-21
DE10341764A1 (en) 2004-07-15
GB0609616D0 (en) 2006-06-21
GB2429539B (en) 2007-06-06

Similar Documents

Publication Publication Date Title
Fu Learning control systems and intelligent control systems: An intersection of artifical intelligence and automatic control
Bemporad et al. Robust model predictive control: A survey
Qin Control performance monitoring—a review and assessment
US6278899B1 (en) Method for on-line optimization of a plant
Johansen et al. The operating regime approach to nonlinear modelling and control
US7877154B2 (en) Method and system for controlling a batch process
US7966149B2 (en) Multivariate detection of transient regions in a process control system
US5111531A (en) Process control using neural network
US7577483B2 (en) Automatic tuning method for multivariable model predictive controllers
US7315846B2 (en) Method and apparatus for optimizing a system model with gain constraints using a non-linear programming optimizer
US6445963B1 (en) Integrated advanced control blocks in process control systems
EP0335957B1 (en) Expert system with process control
Fonseca et al. Genetic Algorithms for Multiobjective Optimization: FormulationDiscussion and Generalization.
US6056781A (en) Model predictive controller
US7840287B2 (en) Robust process model identification in model based control techniques
Huang et al. Fuzzy model predictive control
US7188637B2 (en) Methods, systems, and articles for controlling a fluid blending system
KR100931708B1 (en) State estimation and scheduling for the manufacturing system
CN1332275C (en) Improvement of high-grade process-control block responding to changeable process delay
JP5697899B2 (en) Adaptive controller based on continuously scheduled model parameters
US5825645A (en) Two-level system identifier apparatus with optimization
EP1466219B1 (en) Method of ascertaining control parameters for a control system
DE60103037T2 (en) Process control system
Siettos et al. Microscopic/stochastic timesteppers and “coarse” control: a kMC example
CN1975611B (en) Constraint and limit feasibility handling in a process control system optimizer

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R130 Divisional application to

Ref document number: 10362369

Country of ref document: DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division