The present invention is related generally to process control methods, and more particularly to methods for iterative learning control of batch mode processes.
In order to achieve maximum economic efficiency and optimum product quality, the demands for more comprehensive process control automation have continued to increase in both quantity and sophistication. In this regard, substantial advances have been made in terms of the ability to rapidly acquire input data from a multitude of sensors and generate highly reliable output commands for controlling a physical process.
However, most process control methodologies have traditionally relied on the use of feedback signals to steer one or more proportional-integral-derivative (xe2x80x9cPIDxe2x80x9d) algorithms, as a way to achieve a desired set-point. While this approach to process control has been unquestionably effective, it is primarily reactive in nature. Accordingly, the use of feedback-based control may lead to a sluggish overall system response and/or cause an adjustment to be made that would be larger than would otherwise be desirable.
Batch mode processing is one example of a process control challenge where feedback-based control may not consistently achieve an optimum result. Batch mode processes are processes that have sequentially executed batch runs, each substantially identical, and each producing an end material or result. Batch mode control will typically involve moving set-points, process delays, large inertia, non-linearities, unmeasured disturbances and/or multiple control efforts. Accordingly, information from the sensors as to the current state of the batch process is important in terms of achieving the existing set-point, but this information may not be sufficient, by itself, to achieve a subsequent set-point without encountering an unwanted delay in the change of a process parameter, such as temperature or pressure.
While a dynamic lag in a process parameter may be overcome by bringing about a significant change in a manipulated parameter (e.g., a heating element), it is generally considered less desirable to force large changes on a process control system. Additionally, one of the key goals of any batch control process is the ability to minimize product variability from one batch to another. Accordingly, a continuing need exists to develop process control methodologies that are capable of minimizing product variability in batch processes, as well as other varying process control applications.
The present invention includes methods and apparatus for controlling batch mode processes to improve control the of the batch processes, and in particular, from one batch run to the next. The deviation or errors from a first batch run, together with the outputs provided to control the first batch run, are used to generate an output value to be used to control a second batch run. In one method, each batch run is divided into a plurality of time slots.
For a first batch run, the deviation value of measured versus desired process values may be stored historically over the course of the first batch run. Similarly, the output values used to control the process may also be stored over the course of the first batch run. One method utilizes a data structure such as an array or file having one or more values stored for each time slot in the data structure. In a second batch run, for each time slot or time into the second batch run, data from the first run deviation history and output history are used together with weighting factors to generate an update or increment that can be added to the output value used during the first batch run for the same time slot in the second batch run. Similarly, the second batch run deviations and outputs may be used to generate the third batch run outputs. Preferably, the outputs described above are used in a supervisory control manner, providing supervisory control set points to a local (PID) controller that ultimately provides the control inputs for controlling the batch process.
In one embodiment of the invention, for a given time slot in a batch run, a subset of deviation values at a corresponding time in the immediately preceding batch are selected, as are a subset of output values disposed about the corresponding time in that preceding batch. The selected subset of deviation values may lie in a sliding window disposed about the selected time, which are each appropriately weighted by a deviation weighting factor and summed together to form an overall deviation contribution. The deviation weighting factors are termed the decoupling convolution window. Similarly, the selected subset of output values from the immediately preceding batch may each be appropriately weighted by output weighting factors which are summed to form an overall output contribution. The output weighting factors are termed the smoothing or output convolution window.
A set of weighting factors may be provided for each time slot within the deviation window, as well as a set of appropriate weighting factors for each time slot within the output window. The width and values for the decoupling and smoothing convolution windows may be determined by calculations based on a process model, or more preferably, on the process response to a series of step or pulse inputs. The overall deviation contribution and the overall output contribution for each given time slot can be combined to form an increment or update that can be added to the output value that was used during the first batch run at the corresponding time slot to provide a new output for the current time slot in the second batch run.
The output to the second batch thus includes contributions from the previous batch error or deviation, and the previous batch outputs to control the process. The previous batch deviation includes contributions from the immediately preceding batch, while the previous batch output values include inherent contributions from batches immediately proceeding, as well as earlier batches. The present invention provides a computationally simple method for providing an iterative update from batch to batch to achieve tighter batch-to-batch control.