Inferential process modeling, quality prediction and error detection using multi-stage data segregation
A single statistical model adapts to varying process stages, addressing the challenge of quality prediction and fault detection in continuous and batch processes by determining mean and standard deviations, enabling real-time insights and efficient troubleshooting.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2012-09-18
- Publication Date
- 2026-04-02
AI Technical Summary
Existing process control systems struggle to predict quality and detect faults in continuous and batch processes due to variations in throughput, product classes, and operating conditions, requiring complex and processor-intensive models that are difficult to adapt to changing conditions.
A single statistical model that adapts to different process stages by determining mean and standard deviations of process parameters, allowing quality prediction and fault detection across varying stages without needing separate models for each stage, and can be manually or automatically adjusted for sensitivity.
Enables robust quality prediction and fault detection in continuous and batch processes, providing real-time insights and alarms, reducing the need for complex model updates and enhancing user interface functionality for faster troubleshooting.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
AREA OF REVELATION
[0001] This patent generally relates to process control system modeling and in particular to methods for carrying out process modeling, quality prediction and fault detection in a continuous or batch process using multi-stage or multi-stage data segregation. GENERAL STATE OF THE ART
[0002] Process control systems, such as those used in chemical, petroleum, or other processes, typically include one or more process controllers and input / output (I / O) devices that communicate via analog, digital, or combined analog / digital buses with at least one host or operator workstation and one or more field devices. The field devices, which may include valves, valve positioners, switches, and transmitters (e.g., temperature, pressure, and flow rate sensors), perform process control functions within the process, such as opening or closing valves and measuring process control parameters.The process controllers receive signals indicating process measurements taken by the field devices, process this information to implement a control routine, and generate control signals that are sent to the field devices via buses or other communication lines to control the process operation. In this way, the process controllers can execute and coordinate control strategies using the field devices via the buses and / or other communication links.
[0003] Process information from field devices and controllers can be made available to one or more applications (i.e., software routines, programs, etc.) that are executed by an operator's workstation (e.g., a processor-based system). This allows the operator to perform desired functions related to the process, such as viewing the current stage of the process (e.g., via a graphical user interface), evaluating the process, and modifying the operation of the process (e.g., via a visual object diagram). Many process control systems also include one or more application stations (e.g., workstations), typically implemented using a PC, laptop, or similar device, which are communicatively connected to the controllers, operator workstations, and other systems within the process control system via a local area network (LAN).Each application station can include a graphical user interface that displays process control information, including values of process variables, values of quality parameters associated with the process, information on fault detection in the process and / or process stage information.
[0004] The display of process information in the graphical user interface is typically limited to showing one value for each process variable associated with the process. In some cases, process control systems can characterize simple relationships between some process variables to estimate process-associated quality metrics. However, in most cases, the process and / or other process variables can generally only be analyzed in detail after the product is finished, if a resulting product of the process does not meet predefined quality control metrics.
[0005] The use of predictive modeling for process quality forecasting and defect detection is gradually becoming established in both continuous and batch processes. Continuous processes are known to operate continuously with a set of continuously fed raw materials to produce an output product. The process control(s) used in continuous processes generally attempt to keep various process parameters constant at specific points within the process. However, because continuous processes regularly exhibit variations in, for example, throughput, the types or classes of products manufactured, the composition of the raw materials fed into the process, etc., it is difficult to predict the quality of the process output online (i.e.,(while the process is running) because the process parameter values at any given point can change based on a change in throughput, the product class being manufactured, etc. Batch processes, on the other hand, typically operate by processing a common set of raw materials together as a "batch" through varying numbers of stages or steps to produce a product. Several stages or steps of a batch process can be performed using the same equipment, such as a tank, while other stages or steps may be performed using different equipment.Because the temperature, pressure, consistency, pH value, or other parameters of the processed materials change many times during batch operation, while the material remains in the same position, it is difficult to determine whether the batch process is operating at any given time during the batch cycle in a way that is likely to produce a final product with the desired quality metrics. Therefore, it is also difficult to perform quality prediction and defect detection within batch processes.
[0006] A well-known method for predicting whether a currently running process is operating normally or within desired specifications (and thus likely to produce a final product with desired quality metrics) involves comparing various process variable measurements taken during the operation of the current process with similar measurements taken during the operation of a previously run process, the results of which have been measured or are otherwise known. However, as mentioned earlier, the duration of continuous processes varies based on throughput and product class, and the duration of batch processes typically varies in length, i.e.,They vary in terms of the time required to complete the batch, making it difficult to determine which time within the previous process run is most applicable to the currently measured parameters of the online process. Furthermore, in many cases, process variables can vary considerably during operation compared to those of a selected previous process without resulting in a significant deterioration in the quality of the final product. It is therefore often difficult, if not practically impossible, to identify a specific previous process run that can be used in all cases to measure or predict the quality of subsequent process runs.
[0007] An advanced method for analyzing the results of ongoing continuous and batch processes, which overcomes one of the problems identified above, involves creating a statistical model of the process based on multiple process runs. This technique involves collecting data for each of a set of process variables (parameters) from several different runs of a process or for several different time periods within a process, and identifying or measuring quality metrics for each of these data sets. The collected parameters and quality data are then used to create a statistical model of the process, where the statistical model represents the "normal" operation of the process, resulting in the desired quality metrics.This statistical model of the process can then be used to analyze how different process parameter measurements taken during a particular process implementation statistically relate to the same measurements taken within the processes used to develop the model. For example, this statistical model can be used to provide an average or median value for each measured process parameter, as well as a standard deviation associated with each measured process variable at any given time or position during the process, against which the currently measured process variables can be compared.This statistical model can also be used to predict how the current stage of the process will influence or affect the final quality of the product that is produced at the end of or as an output of the process.
[0008] In general, both linear and nonlinear, statistically based process predictors can be used to predict product quality parameters that are not available for online measurements. Such process parameter predictors are known by several different names, including soft sensors, inferential sensors, and the like. Indeed, there are several types of model-based linear predictors used to perform process parameter prediction within processes, with the predominant models being multiple linear regression (MLR) predictors, principal component regression (PCR) predictors, principal component analysis (PCA) predictors, partial least squares (PLS) predictors, and discrimination analysis (DA) predictors.Such predictors can be used in both offline and online analysis tools to forecast a process parameter, such as a quality measurement of a product produced by a process. It is also known to use principal component analysis (PCA) techniques to perform defect detection within processes.
[0009] However, known model-based predictors have a significant shortcoming: they are generally unable to adapt the predictive process models they employ to changing process stages that may result from, for example, changes in production rate or throughput, changes in product classes, and so on. To address this problem using state-of-the-art techniques, it is practically necessary to construct a separate model for each possible production rate or product class. This technique, however, leads to a predictor that is extremely complex in both design and use. Developing, storing, and using the numerous predictive models becomes very processor-intensive, requires a lot of memory, and is complex to implement and maintain in real-time systems.
[0010] Although statistical process modeling techniques are known to be used to model processes such as continuous processes, these techniques generally only work well when a continuous process is stable or well-defined, i.e., when there is little variation in the product produced or the process throughput. Consequently, the online implementation of analytical tools, such as PCA and PLS techniques for defect detection and prediction, has in many cases been limited to continuous processes producing a single product. In such cases, the process is often treated as a single unit with a fixed set of measurements and laboratory analyses. For these types of processes, a single PCA or PLS model can be developed and applied in an online environment.Unfortunately, these techniques do not address the requirements of continuous or batch processes, in which several classes of products can be produced using one or more different parts of plant equipment (at different times), or which have variable throughputs, or in which other operating conditions are regularly changed.
[0011] From US Patent 2010 / 0318934 A1, a method for predicting process quality in a process control system is known, comprising: receiving process control information, including a first and a second value related to a first and second measured variable, respectively; calculating a variation by comparing the process control information with values related to previous batches and / or with specified target values for current batch data; if the variation exceeds a limit, calculating a first and second contribution value based on the contribution of the first and second measured variables, respectively, to the variation; determining a corrective action based on the first contribution value, the second contribution value, the first value, or the second value; and calculating a predicted process quality based on the corrective action.
[0012] A method for predicting emissions from a production process is known from US patent 2007 / 0225836 A1. The method predicts emissions by collecting time-correlated process data and emission values, generating two levels of coefficients (one for each variable and one for each value of the variable), converting current comparative data into the same coefficient form, and then iteratively comparing predefined combinations of values and coefficients with historical patterns. If matches are found, the mean of the corresponding historical emission values is output as the prediction.
[0013] The article “Multivariate dynamic data modeling for analysis and statistical process control of batch processes, start-ups and grade transitions” by Kourti T., published in Journal of Chemometrics, 2003, pp. 93-109, describes techniques for multivariate analysis and statistical process control based on batch process data. SUMMARY
[0014] A process modeling technique uses a single statistical model, such as a PLS, PRC, MLR, etc., developed from historical data for a typical process, and adapts this model for use in quality prediction or defect detection across different process stages. Specifically, the modeling technique determines the mean (and possibly standard deviation) of the process parameters for each of a set of product classes, throughputs, etc., compares online process parameter measurements with these mean values, and uses these comparisons within a single process model to perform quality prediction or defect detection across the various process stages.Because only the means and standard deviations of the process parameters in the process model are updated, a single process model can be used to perform quality prediction or defect detection while the process operates in any of the defined process steps or stages. Furthermore, the sensitivity (robustness) of the process model can be adjusted manually or automatically for each process parameter to fine-tune or adapt the model over time.
[0015] A process quality prediction and fault detection system that uses this modeling technique has significantly increased functionality and usefulness in both continuous and batch processes, as the quality prediction and fault detection system allows the adjustment of the status of an inferential sensor and provides operating personnel with additional insights into the current online operation of a process.
[0016] The disclosed modeling technique, which can be used in batch or continuous manufacturing processes, divides the operation of the process into different stages or phases, which are associated with or defined by a phase parameter that, typically, relates to or indicates the various possible phases of the process. The phase parameter can be, for example, a product class, a process throughput, or any other significant disturbance variable of the process.
[0017] The modeling technique first develops a quality prediction or defect detection model based on measured process operation across multiple process stages. This model is then used to perform quality prediction or defect detection during live process operation. During the model development stage, the method collects training data generated from the process. This training data includes values or measurements of various process parameters used as inputs for the model, values of a stage parameter defining the process stages, and values of a quality parameter or defect indicator.The method can shift the process input parameter values and the stage parameter value in time for a quality prediction model to align this data with the quality parameter to be predicted, thereby eliminating the effects of variable process delay between process inputs and the predicted quality parameters. The time-shifted data (in the case of generating a quality prediction model) or the training data (in the case of a defect detection model) are then processed to determine a set of process parameter means, a stage parameter mean, and a quality or defect parameter mean for each process stage.These process stage means and the stage parameter value for each time fraction of the data (in the time-aligned data or the training data) are then used to develop a set of time fraction means for each time fraction of the data. The immediate values of the process parameters and the time fraction means are then used to develop a set of deviations from the means for each time fraction. The sets of deviations from the means can then be filtered, and the filtered values of the deviations from the means are used to develop the process model, such as a process linear model (PLS), a neural network (NN) model, a material flow linear model (MLR), a process computational analysis (PCA) model, etc. The process stage means are also stored as part of the model.
[0018] The model can then be used during the online operation of the process to perform quality prediction or defect detection. Process parameter and stage parameter measurements are obtained directly from the process, as it operates online, and this data can be stored in temporary memory. The process and stage parameter measurements can be time-shifted for a quality prediction model in the same way as during model development. In any case, sets of time-share data from the process are included, with each time share containing a value from each of the process input parameters and the stage parameter. The process parameter means and the stage parameter means stored as part of the model are then used, along with the stage parameter value from each time share, to calculate time-share means for the process parameters for each time share.The time-share means for each time share of the data, along with the values of the process parameters and the stage parameter for that time share, are then used to generate a set of deviations from the means for that time share of the data. These deviations from the means for each time share can be filtered, and the filtered output then becomes input for the process model to perform quality prediction or defect detection online within the process.
[0019] The model created and operated in this way is significantly capable of performing quality predictions or defect detection across all defined process stages without requiring modifications to the process model or the development of a separate process model for each stage. The varying operation of the process across different stages is indeed accounted for in the operation of changing the time-proportion means, which are used to determine deviations from the means inputs to the model. Filtering the deviations from the means also provides improved quality prediction or defect detection when the process is in transition between different stages.
[0020] Model generation and data analysis techniques that utilize process stage definitions previously established for a process develop distinct sets of deviations from the mean for different operating stages of the process. These distinct sets of deviations are then used within a single process model, eliminating the need to generate a new or different process model for each operating region or stage. In other words, a process model used to perform online data analytics for a process can be established once and used to analyze the process even when it operates in different stages, without requiring a separate model for each stage or phase of the process's operation.Instead, the inputs to the model are based on deviations of means that are changed for the different process stages or phases, in order to provide the model with the ability to make quality predictions or error detection based on the process phase in which the process is currently being operated, without having to change the model itself.
[0021] The process stage resources can be adapted, if desired, during online process operation by capturing additional process data relating to one or more process stages. This includes stages for which little or no data was collected during the modeling phase, or stages where process operation may have changed since the model was created. After capturing new data, the process resources for the new or modified process stage can be determined and stored as part of the process model. This allows the process model to be used for quality prediction or defect detection in the new or modified process stage without regenerating the process model itself.
[0022] Furthermore, alarms and warnings can be automatically generated based on the operation of the online quality prediction and fault detection system. These alarms or warnings can be made available to a user during process operation, allowing the user to make desired changes or take corrective action. Enhanced user interface functionality enables users to easily view trend plots of process variables at or near the time a specific alarm or warning was generated, in order to determine which process parameter(s) might have been responsible for the alarm or warning.These trend plots allow users to view historical process parameter values compared to the mean and standard deviations of the process parameters at or near the time of the warning, without having to manually search for this information in a data history. This functionality makes troubleshooting and corrective action easier and faster during live process operation. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 is a diagram of a process control network with a controller and field devices that can be used to implement a process and various modeling components to provide process quality prediction and fault detection. Fig.Figure 2 is a block diagram illustrating an exemplary process control system that includes an exemplary operations management system that can implement an online process analysis system for analyzing processes. Fig. Figure 3 is a process flow diagram illustrating a procedure for generating one or more quality prediction models and defect detection models. Fig. Figure 4 is a graph of a set of cross-correlation plots illustrating the cross-correlations between a set of process parameters and a quality parameter used to generate a quality prediction model. Fig. Figure 5 is an enlarged view of one of the cross-correlation plots. Fig.Figure 4 illustrates a delay time between a change in a process parameter and a change in a quality variable, determined by a cross-correlation correlation function. The Fig. 6A and Fig. 6B are hardware / software flowcharts that illustrate a system for developing one or more statistically based process models for use in performing process quality prediction or fault detection in a continuous or batch process. Fig. Figure 7 is a process flow diagram illustrating a procedure for using one or more quality prediction models and fault detection models during the online operation of a process to perform quality prediction and / or fault detection. Fig.Figure 8 is a hardware / software flowchart illustrating a system for implementing one or more statistically based process models to perform process parameter quality prediction in a continuous or batch process using process stage data segregation. Fig. Figure 9 is a block diagram of a functional block that can be implemented to perform quality prediction and / or defect detection using a statistical process model developed according to the method of Fig. 3 was created. Fig. Figure 10 illustrates a series of user interface screens traditionally provided to users to enable them to perform analyses of parameter data associated with an alarm or warning. The Fig.Figures 11A-11D illustrate a series of user interface screens that can be created and provided to a user to enable them to easily view trend plots of process parameters associated with an alarm or warning generated using a quality prediction, fault detection, or other alarm system. The Fig. Figures 12-12C illustrate a series of user interface screens that can be created and provided to a user to easily view trend plots of process parameters associated with an alarm or warning generated in an alarm context of a traditional process control system. DETAILED DESCRIPTION
[0023] Fig.Figure 1 illustrates an exemplary process control system 10 in which an advanced technique for performing online quality prediction and defect detection can be implemented. The quality prediction and defect detection techniques to be implemented in system 10, in particular, generate a set of quality prediction and / or defect detection models from process data and then enable a user to use these models to perform online quality prediction and defect detection across several predefined process stages or process steps in either a continuous process or a batch process.These techniques are therefore applicable or usable to perform quality prediction and / or defect detection in continuous or batch processes where throughput, product class or any other disturbance variable is regularly changed, without the need to generate separate models for each possible process step or stage.
[0024] The in Fig.1. The illustrated process control system includes a process controller 11 connected to a data history 12 and one or more host workstations or computers 13 (which can be any type of PC, workstation, etc.), each having a display screen 14. The controller 11 is also connected to field devices 15-22 via input / output (I / O) cards 26 and 28 and can be operated to implement one or more batch runs of a batch process using the field devices 15-22. The data history 12 can be any desired type of data acquisition unit with any desired storage type and any desired or known software, hardware, or firmware for storing data. The data history 12 can be separate from (as shown in Fig.1 illustrated) or as part of one of the workstations 13. The controller 11, which may be, for example, the DeltaV™ controller offered by Emerson Process Management, communicates with the host computers 13 and the data history 12 via, for example, an Ethernet connection or any other desired communication network 23. The controller 11 also communicates with the field devices 15-22 using any desired hardware and software associated, for example, with standard 4-20 mA devices and / or any intelligent communication protocol, such as the FOUNDATION ® Fieldbus protocol, HART ® Protocol, Wireless-HART™ protocol, etc.
[0025] Field devices 15-22 can be any type of device, such as sensors, valves, transmitters, positioners, etc., while I / O cards 26 and 28 can be any type of I / O device conforming to any desired communication or control protocol. In the Fig. In the illustrated embodiment, the field devices 15-18 are standard 4-20 mA devices or HART devices that communicate with the I / O card 26 via analog lines or combined analog and digital lines, while the field devices 19-22 are intelligent devices, such as FOUN-DATION. ®Fieldbus field devices communicate with the I / O card 28 via a digital bus using a fieldbus communication protocol. The field devices 15-22 could, of course, conform to any other desired standard or protocol, such as wired or wireless protocols, including any future standards or protocols.
[0026] The controller 11 includes a processor 30 that implements or executes one or more process control routines (stored in a memory 32), which may include control loops, and communicates with the devices 15-22, the host computers 13, and the data history 12 to control a process in any desired manner. It should be noted that any control routines or modules (including quality prediction and defect detection modules or functional blocks) described herein may be partially implemented or executed by other controllers or other devices, if desired. Similarly, the control routines or modules described herein, which are to be implemented within the process control system 10, may take any form, including software, firmware, hardware, etc.Control routines can be implemented in any desired software format, such as object-oriented programming, ladder logic, sequential function charts, function block diagrams, or any other software programming language or design paradigm. The control routines can be stored in any desired memory type, such as read / write memory (RAM) or read-only memory (ROM). Similarly, the control routines can be hardcoded into, for example, one or more EPROMs, EEPROMs, application-specific integrated circuits (ASICs), or any other hardware or firmware elements. The controller 11 can thus be configured to implement a control strategy or control routine in any desired manner.
[0027] In some embodiments, the controller 11 implements a control strategy that uses what are commonly referred to as function blocks, where each function block is an object or other part (e.g., a subroutine) of a larger control routine and works together with other function blocks (via communications called links) to implement process control loops within the process control system 10. Controller-based function blocks typically perform a function that takes from an input function, such as that associated with a transmitter, sensor, or other measuring device for process parameters; a control function, such as that associated with a control routine that performs PID, fuzzy logic, etc. control; or an output function that controls the operation of some device, such as a valve, to perform some physical function within the process control system 10.Of course, there are hybrid and other types of function blocks. Function blocks can be stored in and executed by Controller 11, which is usually the case when these function blocks are used for or associated with standard 4-20 mA devices and any type of intelligent field device, such as HART devices, or they can be stored in and implemented by the field devices themselves, which can be the case with Fieldbus devices.
[0028] Control 11 can be seen from the exploded view of Block 40 in Fig.As illustrated in Figure 1, the system includes a number of single-loop control routines, illustrated as routines 42 and 44, and can optionally implement one or more more sophisticated control loops, such as multiple / input-multiple / output control routines, illustrated as control loop 46. Each such loop is typically referred to as a control module. Single-loop control routines 42 and 44 are illustrated performing single-loop control, using a single-input / single-output fuzzy logic control block and a single-input / single-output PID control block, respectively, connected to suitable analog input (AE) and analog output (AA) function blocks that may be associated with process control devices, such as valves, with measuring devices, such as temperature and pressure transmitters, or with any other device within the process control system 10.An advanced control loop 46 is illustrated as including inputs that are communicatively connected to one or more AE function blocks and outputs that are communicatively connected to one or more AA function blocks, although the inputs and outputs of an advanced control block 48 can be connected to any desired function blocks or control elements to receive other types of inputs and provide other types of control outputs. The advanced control block 48 can be any type of model prediction control (MPC) block, neural network modeling or control block, multivariable fuzzy logic control block, real-time optimizer block, etc., or can be an adaptively tuned control block, etc. It should be noted that the in . Fig.1 illustrated function blocks can be executed by the controller 11 or alternatively be located in any other processing device and can be executed by it, such as one of the workstations 13 or even one of the field devices 19-22.
[0029] As in Fig.As illustrated in Figure 1, one or more process analysis routines or function blocks 50 can be stored and executed by various devices of the process control system 10, and these process analysis routines 50 can be used to implement the quality prediction and defect detection data analytics described in more detail below. Although process analysis routines 50 are illustrated as being stored in one or more computer-readable memories 52 to be executed by processors 54 of the workstations 13 and the controller 11, the routines or function blocks 50 can also be stored and executed in other devices, such as field devices 15-22, the data history 12, or stand-alone devices.The process analysis routines 50 are communicatively coupled to one or more control routines, such as control routines 42, 44, 46, and / or to the data history 12, to receive one or more measured process variable measurements and, in some cases, user input related to data analysis. Generally speaking, the process analysis routines 50 are used to develop one or more statistical process models and to analyze the ongoing or online process operation based on these models, as described in more detail below. The analysis routines 50 can also display information to users, such as operators of batch or continuous processes, relating to the online or ongoing operation of the process as implemented by the process control system 10. The routines 50 can also receive information required by users for use in data analysis.
[0030] Fig. Figure 2 is a block diagram illustrating another example of a process control environment 100, which includes an Operations Management System (OMS) 102, also referred to as a Process Monitoring and Quality Prediction System (PMS), which can be used to implement an online process modeling and analysis system, described in more detail here. The OMS 102 is located within a plant 104, which includes a process control system 106 that controls parts or all of, for example, the process control network 10. Fig. 1. The exemplary installation 104 can be any type of manufacturing equipment, process equipment, automation equipment, and / or any other type of process control structure or process control system. In some examples, installation 104 may include multiple installations located at different sites. Although installation 104 may include... Fig.Since Figure 2 is illustrated as including a single process control system 106, the system 104 can therefore include further process control systems.
[0031] The process control system 106, which is communicatively coupled to a controller 108 via a data bus 110, can include any number of field devices (e.g., input and / or output devices) to implement process functions, such as performing physical functions within the process or taking measurements of process parameters (process variables). The field devices can include any type of process control component capable of receiving inputs, generating outputs, and / or controlling a process. For example, the field devices can include input devices such as valves, pumps, fans, heaters, coolers, and / or mixers to control a process.The field devices can also include output devices, such as thermometers, pressure gauges, concentration gauges, fluid level meters, flow meters, and / or vapor sensors, to measure process variables within or in parts of a process. The input devices can receive instructions from the controller 108 to execute one or more specific commands and effect a change in the process. The output devices also measure process data, environmental data, and / or input device data and transmit the measured data to the controller 108 as process control information. This process control information can include the values of variables (e.g., measured process variables and / or measured quality variables) that correspond to a measured output from each field device.
[0032] In the illustrated example of Fig.2. The controller 108 can communicate with the field devices within the process control system 106 via the data bus 110, which can be coupled to intermediate communication components within the process control system 106. These communication components can include field connection boxes to connect field devices in a command area to the data bus 110. The communication components can also include wiring cabinets to organize the communication paths to the field devices and / or field connection boxes. Furthermore, the communication components can include I / O cards to receive data from the field devices and convert the data into a communication medium that can be received by the exemplary controller 108. These I / O cards can convert data from the controller 108 into a data format that can be processed by the corresponding field devices.In one example, the data bus 110 can be implemented using the Fieldbus protocol or other types of wired and / or wireless communication protocols (e.g. Profibus protocol, HART protocol, etc.).
[0033] The control unit 108 from Fig. 2 (which may be a PC or other type of control device) executes one or more control routines to manage the field devices within the process control system 106. The control routines may include process monitoring applications, alarm management applications, process trend and / or history applications, batch processing and / or campaign management applications, statistical applications, streaming video applications, control applications, advanced control applications, etc. The controller 108 may also transmit process control information to the OMS 102 and a data history (in Fig.(2 not shown). The control routines can be implemented to ensure that the process control system 106 produces specified quantities of a desired product within a certain quality threshold. For example, the process control system 106 can be configured as a batch system that produces a product at the end of a batch. In other examples, the process control system 106 can include a continuous process manufacturing system.
[0034] The process control information from the controller 108 can include values corresponding to measured process and / or quality parameters originating from field devices within the process control system 106. In other examples, the OMS 102 can parse values within the process control information into the corresponding variables. The measured process parameters can be associated with process control information originating from field devices that measure parts of the process and / or characteristics of the field devices. The measured quality parameters can be associated with process control information relating to the measurement of process characteristics associated with at least one part of a finished product.
[0035] The process might, for example, carry out a chemical reaction in a tank that produces a concentration of a chemical in a fluid. In this example, the concentration of the chemical in the fluid could be a quality parameter. The temperature of the fluid and the rate of fluid flow into the tank could be process parameters. The process throughput could be a process parameter defined by a user as a stage parameter. The OMS 102 can determine, through process control modeling and / or monitoring, as discussed in more detail below, that the concentration of the fluid in the tank depends on the temperature of the fluid in the tank and the fluid flow rate into the tank. In other words, the measured process parameters contribute to or influence the quality of the measured quality parameter.The OMS 102 can use statistical processing to perform fault detection and / or quality prediction, and, for example, determine the amount of influence and / or contribution that each process parameter has on a quality parameter.
[0036] The OMS 102 can also model and / or determine relationships between the measured process parameters and / or quality parameters associated with the process control system 106. These relationships between the measured process and / or quality parameters enable the creation of one or more calculated quality parameters. A calculated quality parameter can be a multivariate and / or linear algebraic combination of one or more measured process parameters, measured quality parameters, and / or calculated quality parameters. The OMS 102 can further determine an overall quality parameter from a combination of the measured process parameters, measured quality parameters, and / or calculated quality parameters. The overall quality parameter can correspond to a quality determination of the overall process and / or to a predicted quality of a resulting product of the process.Quality parameters can of course be measured online or offline (e.g. using laboratory analyses).
[0037] As in Fig. As illustrated in Figure 2, the OMS 102 includes an analytical processor 114 that uses descriptive modeling, predictive modeling, and / or optimization to provide feedback on the status and / or quality of the process control system 106. The analytical processor 114 can execute routines (such as the routines 50 of Fig.1) To detect, identify, and / or diagnose process operating errors and to predict the impact of any errors on quality parameters and / or an overall quality parameter associated with the quality of a resulting product of the process control system 106. The analytical processor 114 can further monitor the quality of process operation by statistically and / or logically combining quality and / or process parameters into an overall quality parameter associated with the overall quality of the process. The analytical processor 114 can then compare the values calculated for the overall quality parameter and / or the values associated with the other quality parameters with respective threshold values. These threshold values can be based on the defined quality limits of the overall quality parameter at different times within the process.For example, if an overall quality parameter associated with a process exceeds a threshold for a certain amount of time, the predicted final quality of the resulting product may not meet the quality metrics associated with the finished product.
[0038] If the overall quality parameter and / or any other quality parameter deviates from its respective thresholds, the analytical processor 114 can generate a fault indication within a process overview diagram and / or a process variation graph. This indication may show an explained and / or unexplained variation (or variance) associated with the overall quality parameter and / or may show a variable or parameter that generated the process fault. The exemplary analytical processor 114 manages the analysis to determine the root cause of one or more process faults by providing functionality that allows an operator to generate process quality graphs (e.g., combination graphs, microcharts, process variation graphs, variable trend graphs, charts, etc.).), which can display current and / or past values of measured process parameters, measured quality parameters, and / or calculated quality parameters, etc. In some cases, the analytical processor 114 also generates these graphs while the process is running and updates and / or recalculates multivariate statistics associated with each of the graphs when additional process control information is received from the OMS 102.
[0039] To perform these functions for continuous and batch processes, the OMS 102 acquires process data for a number of different process parameters for each of a number of different time periods in a continuous process or for each of a number of different batch passes in a batch process. This data can be retrieved from the controller 108 or the field devices within the control network 110, from a data history (e.g., the data history 12 of Fig. 1), which may already have collected and stored process data for different batch runs of the process, or may have been collected from any other data source. The OMS 102 then processes this data to generate one or more statistical models and stores the statistical models in, for example, a memory such as a computer-readable memory of the OMS 102 or in one of the 52 memories of the 13 workstations. Fig. 1. The statistical models can then be retrieved as needed to analyze ongoing or online process runs in the future. In particular, the OMS 102 can use the stored models to analyze data collected during the online or ongoing operation of a specific process run, or to enable a user to perform this analysis.
[0040] To analyze data from a process run while the process is running online, OMS 102 determines the stage or phase the online process is operating at with respect to the model. This means that OMS 102 determines which inputs the model should use to ascertain other factors related to the online process, such as whether any of the online process parameters are abnormal or out of specification with respect to those same parameters within the model, whether the online process output will meet desired quality metrics, and so on. Any analysis of online data using the statistical model first determines the stage or phase of the statistical model that is most applicable to the currently collected online data.Only after the online data has been aligned with the statistical model can further analyses be carried out, such as providing an operator with screens to illustrate how the online process compares to the model, to perform statistical analyses to determine whether the process is operating normally or within limits, or whether the process is operating abnormally, and / or whether the output of the process meets desired quality metrics as predicted, such as desired consistency, concentrations, etc.
[0041] Once the data for the current online process has been collected and the process stage determined, the OMS 102's analytical processor 114, for example, can provide the user with a variety of graphs or other displays to determine the current operational stage or functionality of the online process run. Some of these graphs or displays are discussed below, noting that other displays, analyses, or information can also be provided to a user, such as an operator, maintenance personnel, etc., either as well or as alternatives. For instance, the analytical processor 114 can generate a contribution graph by calculating the contributions of process parameters and / or quality parameters to the overall quality variable or to the multivariate statistical error information of the modeled and unmodeled process variations.The contributions of the process and / or quality parameters can be displayed as modeled and / or unmodeled variation of each variable as a contribution to the variation associated with the overall quality and / or the quality parameter associated with the defect.
[0042] The analytical processor 114 can also generate variable trend graphs for any of the selected process and / or quality variables, along with a defined threshold. The variable trend graph can display values associated with the variable over a period of time in the process, relative to values of the variable during similar periods in previous processes, such as the model variable values. By generating the contribution graph and / or the variable trend graphs, the analytical process 114 can also identify potential corrections to the process to mitigate the detected error. The variable trend graph can assist an operator in determining the cause of a process error by displaying historical plots of data from the process runs used to create the model, along with associated variations (e.g.,Standard deviations) are superimposed on the current value, aligned to the same time scale.
[0043] The analytical processor 114 can also generate a quality prediction graph to determine the effect of the correction(s), if implemented, on the overall process quality. If the correction(s) maintain or improve the overall quality within specified thresholds, the analytical processor 114 can instruct the OMS 102 to implement the correction(s). Alternatively, the analytical processor 114 can send instructions to the controller 108 to implement the process correction(s).
[0044] The exemplary analytical processor 114 can further generate a microchart after a defect associated with an overall quality parameter and / or any other quality parameter has been identified. The microchart can include values of the process and / or quality parameter at a specified time (e.g., a time associated with the process defect) relative to a mean and / or standard deviation for each of the parameters, as predicted by the process model. The microchart can also include sparklines indicating past values associated with each of the process and / or quality variables associated with the model.The exemplary analytical processor 114 can enable an operator to identify and / or select one or more corrective actions for the process from the microchart and / or to determine whether any of the corrections will improve the process so that the overall quality variable is predicted to be within the specified limits.
[0045] The OMS 102 manages access to process control data, including process variation graphs, contribution graphs, variable trend graphs, quality prediction graphs, and / or microcharts, via an online data processor 116. The online data processor 116 also provides process control operators with access to view, change, and / or modify process control data and / or generate instructions for field devices within the process control system 106.
[0046] To provide access to the online analysis, Annex 104 of Fig. Figure 2 includes a router 120 and a local workstation 122, which are communicatively connected to the online data processor 116 via a local area network (LAN) 124. The router 120 can also communicatively connect any other workstations (not shown) within the system 104 to the LAN 124 and / or the online data processor 116. The router 120, which can be communicatively connected to the other workstations wirelessly and / or via a wired connection, can include any type of wireless and / or wired router as an access hub to the LAN 124 and / or the online data processor 116.
[0047] The LAN 124 can be implemented with any desired communication medium and protocol. For example, the LAN 124 can be based on a hardwired or wireless Ethernet communication scheme. However, any other suitable communication medium and protocol can be used. Although a single LAN is shown, more than one LAN and suitable communication hardware can be used within the workstation 122 to provide redundant communication paths between the workstation 122 and a corresponding similar workstation (not shown).
[0048] LAN 124 is also shown as being communicatively coupled to a firewall 128, which determines, based on one or more rules, whether communication from remote workstations 130 and / or 132 is permitted to enter facility 104. Remote workstations 130 and 132 can provide access to resources within facility 104 to operators who are not physically located within the facility. Remote workstations 130 and 132 are communicatively coupled to firewall 128 via a wide area network (WAN) 134.
[0049] Workstations 122, 130, and / or 132 can be configured to display, modify, and / or correct one or more processes within the process control system 106 based on online analysis performed by the OMS 102, or these workstations can directly implement the online process analysis applications and procedures described herein. For example, workstations 122, 130, and / or 132 can include a user interface 136 that formats and / or displays process control information generated by the OMS 102. As another example, the user interface 136 can receive generated graphs and / or charts, or alternatively, data from the OMS 102 to generate a process control graph and / or chart.After receiving the graph and / or chart data in the corresponding workstation 122, 130 and / or 132, the user interface 136 can generate a display of a graph and / or a chart 138 that an operator can understand relatively easily. The example configuration of . Fig. Figure 2 illustrates the workstation 132 with the analytical user interface 136. However, the workstations 122 and / or 130 can include two analytical user interfaces 136.
[0050] The user interface 136 can also warn a process control operator that any process control errors have occurred within the process control system 106 and / or any other process control systems within the plant 104, as determined by the online analysis described herein. Furthermore, the user interface 136 can guide a process control operator through an analysis process to identify the source of a process error and predict the impact of the process error on the quality of the resulting product. The user interface 136 can provide an operator with statistical process control information when the process error occurs, enabling the operator to make adjustments to the process to correct any errors.By correcting errors during the process, the operator may be able to maintain the quality of the resulting product.
[0051] User interface 136 can also display detection, analysis, corrective action, and quality prediction information via the example OMS 102. For example, user interface 136 can display a process overview diagram, a process variation diagram, a microchart, a contribution graph, a variable trend graph, and / or a quality prediction graph (e.g., graphs 138). When viewing these graphs 138, the operator can select additional graphs 138 to display multivariate and / or statistical process information to determine the cause of a process failure. User interface 136 can also display possible corrective actions for a process failure. User interface 136 can then allow an operator to select one or more corrective actions.After selecting a correction, the user interface 136 can transmit the correction to the OMS 102, which then sends an instruction to the controller 108 to make the appropriate correction in the process control system 106.
[0052] The workstations 122, 130 and / or 132 from Fig. 2. Any computing device can be included, for example, a PC, a laptop, a server, a controller, a PDA, a microcomputer, etc. Workstations 122, 130, and / or 132 can be implemented with any suitable computer or processing system. For example, Workstations 122, 130, and / or 132 can be implemented using a single-processor PC, workstations with one or more processors, etc.
[0053] The process control environments 10 of Fig. 1 and Fig. 100 of Fig.2 are provided to provide types of process control systems or process plants in which the exemplary process quality prediction and fault detection methods and devices, which are subsequently described in more detail, are advantageously used. However, the exemplary methods and devices described here may be advantageously used in other systems of greater or lesser complexity than the exemplary process control environments 10 and 100, and / or in the Fig. 1 and Fig. 2 process control system 106 shown and / or in systems used in connection with process control activities, business management activities, communication activities, etc.
[0054] Many well-known process control systems typically offer analytics and / or statistical analysis of process information to provide background information. However, these systems generally implement offline tools to identify the root cause of, and potentially necessary corrective actions for, process defects or other process conditions that may affect the quality of products manufactured by the process. These offline tools may include process investigations, laboratory investigations, business investigations, troubleshooting, process improvement analysis, and / or Six Sigma analysis. While these tools can correct the process for subsequent products, they cannot improve and / or correct process quality once the defect occurs. Therefore, these offline tools do not prevent the production of low-quality products.
[0055] The exemplary online process control system analyses described here can, on the other hand, be used within a process control system to provide fault detection, analysis, and / or correction information within the process, enabling an operator to correct a process fault or improve product quality while the product is still being manufactured. In other words, process corrections can be implemented in response to predicted faults or predicted quality measurements during process operation, such as at the time a fault occurred or essentially immediately after a fault or other process disturbance that leads to poor quality.Although the exemplary procedures and devices described here can be used to predict and / or correct process errors or to account for changes in disturbance variables of the process in order to improve the process quality of a continuous and / or batch process, they are specifically described in relation to continuous processes.
[0056] In general, the process quality prediction and defect detection analytics described here are used to perform quality prediction and defect detection in processes (such as continuous or batch processes) that operate in one of a number of different process stages (also referred to here as process levels), without requiring the creation of a new or different process model for each of the different process stages. A method and system for performing process quality prediction and defect detection analytics includes, in particular, a user interface application that first allows a user to select the type of statistical model to use for quality prediction within a process. This quality prediction can be based, for example, on a neural network (NN), multiple linear regression (MLR), or partial least squares (PLS) model.The method and system for performing process quality prediction and / or defect detection analyses then generates this model for the process and can also generate a statistical defect detection model, preferably in the form of a principal component analysis (PCA) model. The system can be an application of Hotelling T. 2 - and use Q-statistics, also known as squared forecast error (SPE), to identify error conditions associated with measured and unmeasured disturbances in the process.
[0057] In the past, a significant limitation of NN, MLR, PLS, and PCA analyses arose from the fact that the underlying predictive technology relied on identifying deviations of process measurements from their mean. Unfortunately, an increase in the plant's production rate or a change in product class (or any other process disturbance variable) typically causes a shift in the mean values of process parameters. To account for these changes, previous continuous data analysis applications had to generate a different model to perform quality prediction or defect detection at varying values of plant production rates, product classes, and so on.Consequently, traditional techniques using NN, NLS, MLR and PCA models could generally only be applied to perform quality prediction and defect detection in a continuous process that operated at constant throughput and produced only one product class, because the mean value associated with the process measurements remained nearly constant only in this situation.
[0058] In many cases, however, the throughput of a continuous process is frequently changed to maintain an inventory level determined by downstream processes or market demand. A swing steam boiler in the power plant section of a facility is an example of a process that must constantly respond to changes in throughput requirements set by the reference plant. The process operating points can also change depending on the product class being manufactured. An example of this situation is in a continuous reactor where the target output composition is changed to enable the production of different product classes. Shifting the output composition often requires changing the operating point of one or more process inputs. In response to these changes in feedstock or process input, other parameters, such as cooling water flow, agitator power, discharge flow, etc., must also be adjusted.can be changed to keep controlled inputs (such as batch temperature, constant mixing, and head pressure) at constant values.
[0059] The modeling techniques described here generally account for changes in the mean values of process measurements by automatically modifying the mean values used in the analysis. These techniques are therefore able to compensate for changes in production rate or product class (or other disturbances in the process) without requiring a complete rebuild or regeneration of the process model used for forecasting.The modeling techniques described here also advantageously compensate for the deviation values used in the model to account for the time required to transition between different throughputs and product classes (or other disturbances in the process), thus enabling the use of a single statistical model to perform quality prediction or defect detection during operation of the process with different product throughputs when the process is operated to manufacture different product classes, and even for times when the process is in transition between different throughputs and product classes.
[0060] To minimize any deviations in quality parameter predictions and prevent false fault indications, the mean values used in model analyses are specifically adjusted to match those expected for a given throughput or product class. Because the transition from one operating point to another can take some time after a change in throughput or product class, the calculation of the deviation from the mean is also filtered. This filtering is based on the normal time the process requires to respond to a change in class or throughput.
[0061] In general, the quality prediction and defect detection techniques described here for continuous or batch processes use process stage segregation and include two basic steps: model generation and online use of the model to perform process quality prediction and / or defect detection. Process models can also be adaptively adjusted (online) if desired, for example, if the process enters a stage or phase for which little or no data was collected when the model was first built, or if the process has changed since the time when the data used to build the model was collected.
[0062] Fig. Figure 3 illustrates an exemplary flowchart 200 of a process or technique, which is or is described, for example, by OMS 102 (and, for example, in one or more of the routines 50 of Fig.1 can be executed) or within one or more of the 13 workstations Fig. 1 can be implemented to develop one or more statistical models for use in quality and defect prediction in a process. Using the techniques of Fig. The three developed statistical models can then be used to analyze online data collected from a process in order to perform product quality prediction and / or process error detection.
[0063] Although the schedule 200 of Fig. 3. As described in section 200, using captured process data to generate both quality prediction models, such as PLC, NN, and MLR models, and defect detection models, such as PCA models, for use in analyzing a process, fewer or more types of models could be generated instead of or in addition to these specific types of models. Fig.3 could be used in particular to generate only quality prediction models, only defect detection models, or any combination of both types of models. Although the procedure 200 of Fig. 3. Each is described as producing a set of PLS, NN, and MLR models, and a PCA model as a fault detection model. Other types of statistical models, such as quality prediction models and fault detection models, can be developed as well or instead. Procedure 200 of Fig. Furthermore, 3 could be used to develop only one or two types of these models, and does not have to develop all of these types of models.
[0064] Specifically regarding Fig.Block 3 now receives process parameter data and quality parameter data for a process. As mentioned, the process can be either continuous or batch-based; however, in this description, it is described as a continuous process. Before or during the in Fig.In the model development technique shown in Figure 3, the process is operated and generates process parameter data for each of a set of process parameters or process variables, one of which is referred to here as a stage parameter or stage variable. Quality parameter data (also referred to as quality variable data or outcome variable data), which specifies the quality variables or quality parameters to be predicted when online quality prediction and defect detection are implemented for the process, are also acquired from the process during the times when the process parameter data are developed or acquired. The process parameter data and the quality parameter data are stored in memory as a set of model training data, referred to here as training data.
[0065] It is important that, if the model development technique of Fig.3. The training data to be used is generated or acquired, and the process from which the data is acquired is preferably operated through a number of different process stages or process phases, corresponding to different values or ranges of the phase parameter. In this case, the training data for each of the process parameters and the quality parameter are acquired multiple times during the operation of the process, so that preferably process parameter data and quality parameter data are acquired for each of the phases of the process, i.e., while the process is operated in each of the different defined process phases as well as when the process is in transition between phases. The training data can, of course, be obtained during the normal or planned operation of the process over any desired time periods, these time periods being either contiguous or non-contiguous, if desired.The process parameter data and the quality parameter data may include process parameter values (including quality parameter values) that have been measured or otherwise acquired in real time within a process, process parameter values (including quality parameter values) that have been generated using offline techniques such as laboratory analyses, process parameter values (including quality parameter values) that have been entered or obtained by a user, for example via a user interface, or data obtained in any other desired manner.
[0066] At block 214 of Fig.3. The model development technique 200 determines or receives a specification of the process stage parameter or stage variable to be used when building the quality prediction and defect detection model(s). This stage parameter or stage variable can, for example, be defined or preset by an engineer and stored as part of the model development system, or it can be accessed by a user via, for example, a user interface (e.g., one of the user interfaces 13 of Fig.1) be specified or selected, or determined in any other desired manner. Generally, a significant disturbance variable is chosen as the process stage parameter, such as the process throughput, a specification of the product class or type produced by the process, etc. However, in some cases, the stage parameter can be calculated using, or derived from, two or more process parameters or other process measurements. For example, the average value of two process parameters can be used as the stage parameter. In other examples, other statistical techniques can be used to calculate a stage parameter using any desired inputs from the process, in order to determine a stage parameter that indicates the stage of process operation at any given time.The stage parameter can be a continuous or a discrete variable. For example, the user can configure a stage parameter that reflects changes in a significant disturbance variable on process operation. In some cases, this stage parameter is a continuous parameter, such as the production rate or throughput of the process. In other cases, however, the stage parameter can be a discrete parameter, such as specifying one of a limited set of discrete product classes being manufactured. Generally, the user can select a single measured or calculated process parameter as the stage parameter, specify whether this stage parameter is a continuous or discrete parameter, and specify the number of stages or levels to be used in data analysis.The chosen parameter can, for example, be assumed to be a continuous parameter by default, and the number of stages can be assumed to be a fixed number, such as five.
[0067] The Technique 200 determines, in Block 216, the ranges or values of the stage parameter that define each of the different process stages or levels. Block 216 can also determine the number of process stages to be used for generating quality prediction and defect detection models, if this variable has not already been specified. The ranges of the stage parameter associated with each of the different process stages can, as previously mentioned, be selected or specified by a user, such as an operator, process engineer, etc. These ranges can represent different values of the stage parameter (in the case that the stage parameter is a discrete variable) or different ranges of values of the stage parameter (in the case that the stage parameter is a continuous variable) associated with each of the process stages.The stage parameter can, for example, be divided into 5 to 10 different areas. Block 216 can, if desired, automatically determine process stage areas associated with the stage variable by calculating the total range of the stage parameter from the training data and then splitting this range into a set of areas, such as a set of equal areas.
[0068] Once a complete set of training data for the process has been acquired and stored, and the stage parameters and associated ranges or values have been defined to define the process stages, the training data is used to develop one or more predictive quality models and / or defect detection models for analyzing future online operations of the process. The technique for generating predictive quality models differs somewhat from the technique for generating defect detection models, and therefore these two techniques are discussed in more detail below. Fig. 3 shown separately using two different branches.
[0069] A branch 220 of Fig.Section 3 illustrates, in general terms, the steps used to develop quality prediction models, such as PLS models, NN models, and MLR models, while branch 222 illustrates the steps used to develop defect detection models, such as PCA models. When a quality prediction model is developed, block 224 determines time shifts for the training data for the various process parameters, including the stage parameter. These time shifts represent a way of aligning the process parameters in a manner that is most closely aligned with the quality parameter data. This time alignment results in a prediction model that makes better predictions.
[0070] During the development of quality prediction models (e.g., the NN, MLR, and PLS models) for each of the quality parameters to be predicted, the deviation values used to produce the model are specifically time-shifted to account for the time required for a change in an input to a process model (i.e., a change in one of the process parameter values) to affect the quality parameter predicted by the model. As will be known, this delay can differ for each of the process parameters used as inputs to the quality prediction model, and usually does. (Similarly, the same delays are accounted for in the processing of the deviation values used for online quality parameter prediction.)
[0071] One way to identify the delay associated with each process parameter is to perform a cross-correlation between each of the process parameters and the quality parameter to be predicted. For the selected dataset, which includes all process inputs (including the stage parameter), block 224 can, in this case, perform a cross-correlation between each process parameter used to produce an input for the developed model and the process output that reflects or best correlates with the predicted quality parameter (which can be obtained, for example, using online measurements, offline laboratory analyses, etc.).The results of the cross-correlation can be used to generate the time delay associated with a specific process parameter (as input to the model) by determining the time shift that leads to the maximum correlation value when a cross-correlation is performed between the quality parameter and the specific process parameter. Naturally, a different time shift can be associated with each different process parameter. Using this technique, Block 224 generally identifies the highest cross-correlation value between a specific quality measurement and each process parameter for each of the different process parameters and then determines a time shift for that process parameter based on the time delay at which the highest cross-correlation value is obtained.
[0072] An example of how cross-correlation can be used to determine time lags for developing a quality prediction model is illustrated in a situation where a kappa number associated with the output of a Kamyr cooker is predicted based on process inputs. In this example, the feed rate of the shredded meat is chosen as the stage parameter because it determines the process throughput. The kappa number of the product output can be measured using a sample analyzer or by analyzing a drawn sample in the laboratory. The delay associated with each process input, reflected in the kappa number, is automatically determined by performing a cross-correlation between the process inputs and the kappa number contained in a selected dataset.The results of such a cross-correlation analysis for each of the cooker's inputs, labeled COLD BLOW, OUTLET, MAIN BLOW, CHIP METER, and LOWER EXT, are in . Fig. 4 shown.
[0073] By selecting a process input, a user can now see the cross-correlation between the process input and the kappa number. Fig. Figure 5 illustrates the cross-correlation between the stage parameter, the beet pulp dosing rate, and the kappa number analysis in more detail. As shown in the plot of Fig.As illustrated in Figure 5, the delay associated with the process input is generated based on the time shift that yields maximum correlation. In this simulation of a Kamyr cooker, the delay between changing the schnitzel dosing rate and reflecting that change in the kappa number is 175 seconds. In an actual process, the delay could, of course, be much longer. Delays or time shifts for each of the other input parameters could be determined similarly, and these delays can then be expressed as time delay amounts in block 224 of Figure 5. Fig. 3 can be used.
[0074] After all time shifts of the process parameters and stage parameters have been determined, a block 226 uses the time delays determined in block 224 to shift the process parameter data for each process parameter input for the model and the stage parameter and stores this time-shifted parameter data in a memory. Specifically, block 226 stores sets of time-shifted data portions, each time-shifted data portion containing a value for each of the process parameters used to generate the model, a value for the stage parameter, and a value for the quality parameter. The measurements of the process parameters and the stage parameter of a given data portion are time-shifted relative to the measurement of the quality parameter by the time shift amounts determined by block 224.The resulting time-shifted parameter data for the different process parameters and the stage parameters of each time-shifted data component appear to coincide in time. A change in a process parameter input is therefore immediately reflected in the quality parameter in each time-shifted data component.
[0075] Next, Block 228 uses the time-shifted data developed by Block 226 to calculate the average values for each process parameter (including the stage parameter) and the average value for the quality parameter while they are in each of the defined process stages. Block 228 specifically iterates through all of the time-shifted data portions and uses the stage parameter value in each data portion to determine which specific process stage each data portion falls into based on the stage parameter's process stage ranges. Block 228 then averages all the values of each process parameter, the stage parameter, and the quality parameter from all of the data portions in a specific process stage to obtain a separate mean for each process parameter, for the stage parameter, and for the quality parameter of that specific process stage.These resources are referred to here as the process-stage resources.
[0076] A block 230 then stores these average or mean values of the process parameters, the stage parameter and the quality parameter for each process stage in a memory for later use in the development of the quality prediction model as well as in the use of the quality prediction model once developed.
[0077] For each data fraction (also referred to as a time fraction), a block 232 then uses the time-shifted data of that time fraction and the process stage means to determine a set of means to be used when determining a set of deviations from the mean for that time fraction. Specifically, block 232 selects a time fraction of the data for processing in order to determine a set of means to use for that time fraction, and then to determine the deviations from the mean for that time fraction, the deviations from the mean being inputs for a model generation routine to be used in the development of the quality prediction model. For each time fraction, block 232 specifically uses the immediate value of the stage parameter specified by that time fraction (stored here) and the stage parameter means determined for one or more of the process stages to determine a scaling factor (e.g.,to determine an interpolation factor) which is to be used to determine the appropriate mean values for each of the other process parameters of the time component.
[0078] If the stage parameter is a discrete variable directly correlated with the process stages (i.e., a different value of the stage parameter is associated with or defined for each distinct process stage), then the value of the stage parameter defines, or uniquely determines, the process stage in which the process operates (for that portion of time), and the process parameter means for that portion of time are simply determined as process parameter means stored for that process stage. However, if the stage parameter is a continuous variable, or if the user has defined a range of stage parameter values to be associated with each of the process stages (i.e.,For each process stage, a range of stage parameter values is defined. Block 232 then determines an interpolation factor that defines a fraction of two stages in which the immediate value of the stage parameter (the time fraction) currently lies. If the immediate value of the stage parameter is equal to the mean value of the stage parameter for a given process stage, then the time fraction lies directly within a single process stage, and the process parameter means stored for that process stage can be used as means for the other process parameters of that time fraction.
[0079] However, if the immediate value of the stage parameter falls between the stage parameter means of two different (e.g., two adjacent) process stages, then the means for the other process parameters of the time component are determined as a combination of the process parameter means stored for those two process stages. The mean for each process parameter to be used for the time component is generally determined by interpolating between the parameter means for that parameter of the two adjacent process stages using an interpolation factor derived from the immediate stage parameter value.This means that an interpolation routine can determine the percentage of each of the two process stages in which the time fraction is present, based on the relative distance between the instantaneous value of the stage parameter (the time fraction) and the two nearest mean values of the stage parameter (from two different process stages). Block 232 can perform the interpolation (using the same interpolation factor) for each of the process parameters in the time fraction using the stored process parameter means for the two adjacent process stages. As a result of this operation, Block 232 determines the appropriate mean value to be used (for each process parameter of the time fraction) to calculate the deviations from the mean for that time fraction to be used in creating a process model. Block 232 also performs this interpolation for the quality parameter of the time fraction.For each process parameter and the quality parameter of a time fraction, block 232 thus uses the determined fraction within the stage and the stage means of two adjacent process stages to determine the mean value of the process parameters for the time fraction.
[0080] An example of performing interpolation to determine a set of time-proportion averages for a given time proportion is now described in more detail. In this example, it is assumed that the range of variation of the stage parameter is calculated from training data to determine the total operating range of the stage parameter. By default, this operating range is automatically divided into a number of equal segments representing the different stages of the process under consideration in the analysis. Alternatively, the user could specify the total range of the stage parameter, the number of process stages or phases, and the specific subranges of the stage parameter associated with each of the process stages.In this example, the average value of the stage parameter for each process measurement during each of the defined process stages or phases is determined and stored in memory. In this example, which concerns the operation of a cooker process, the cooker's steam demand is configured as a stage parameter, and this variable is assumed to have varied from 25% to 75% in the dataset selected for the model setup. The values recorded for other inputs, such as five parameter inputs for fuel flow, air flow, O2, delivery pressure, and IS fan speed, which are included in the model, appear as illustrated in Table 1 below. Table 1 Stage - Water vapor demand 1 2 3 4 5 Stadium area 25-35 35-45 45-55 55-65 65-75 Number of samples in the area 210 340 150 85 30 Water vapor demand - average 30 40 50 60 70 Fuel flow - average 30 40 50 60 70 Airflow - Average 35 45 55 65 75 O2 average 2.5 2.5 2.5 2.5 2.5 Delivery pressure - average -1 -1 -1 -1 -1 IS fan speed - average 20 28 38 50 65
[0081] To determine the time-rate mean values to be used to calculate deviations from the mean for a given time rate, the following procedure can be used in this example. If the immediate value of the stage parameter for the time rate is equal to the stage parameter mean for a process stage, then the stage parameter means for the other process parameters of that process stage are used as the time-rate mean values to calculate the parameter deviations from the mean for that time rate. In most cases, however, the stage parameter value for a given time rate falls between the stage parameter means for two process stages. In this case, the stage parameter means for these two process stages are used together with the process parameter means for these two process stages to calculate the time-rate parameter means.If, in the cooker example described above, the stage parameter value for a time fraction were 37, the mean value for the airflow parameter could be determined based on the stage parameter mean values stored for the process stages for that time fraction using standard interpolation techniques as follows: Air flux=(37−3040−30)×(45−35)+35=42
[0082] If the stage parameter is product class (a discrete parameter with numbered values, e.g., 1-5), then the parameter mean for each stage can be calculated during model development for the data samples that coincide with the stage parameter in that stage. The means generated for a continuous reactor might appear, for example, as shown in Table 2 below. Table 2 stage 1 2 3 4 5 Class description ADX201 ADX210 ADX215 ADX230 ADX240 Test in stage 210 340 150 85 30 Primary flow - Medium 70 90 60 80 75 Secondary flow - medium 25 35 30 45 50 Product concentration - Medium 35 40 30 45 42 Reactor temperature - average 210 215 205 211 200 Cooler outlet temperature - average 180 185 174 200 190 Reactor pressure - medium 10 10 10 10 10
[0083] If the stage parameter value were 3 (ADX2159), the mean primary flow would be 60. If the stage parameter value were changed to 1 (ADX201), the mean primary flow would be 70. Any changes to the stage are not immediately reflected in the process parameters.
[0084] After the mean values for each time fraction (referred to as fraction means) have been determined, Block 234 uses the calculated time fraction means to calculate a deviation from the mean for each of the process parameters and the quality parameter within the time fraction. Specifically, Block 234 determines the difference between each process parameter value (and quality parameter value) of the time fraction and its associated time fraction mean (as determined in Block 232) to produce a set of deviations from the mean, determining one deviation from the mean for each process parameter (except the stage parameter) and quality parameter within the time fraction. The deviations from the mean for each time fraction can then be stored in memory.
[0085] Block 235 then filters each chain of deviations from the mean separately. This filtering process makes the generated process model more robust and helps ensure that the model does not detect quality problems when the process simply moves between stages. Block 235 can implement a low-pass filter for each process parameter, the stage parameter, and the quality parameter. The low-pass filters can use a filter time constant that is equal to or greater than the longest response time of the quality parameter to a change in any of the process parameters used as inputs for the constructed model. Other filter time constants can, of course, be used, and these time constants could be chosen based on response times that are shorter than the longest response time of the quality parameter.
[0086] As an example of filtration, a first-order filter can be applied based on the configured process transition time (in seconds). The airflow deviation from the mean in the example from Table I above could be calculated as follows: Airflow deviations=F×((Airflown−Airfluxes)−Airflow deviations−1)+Airflow deviations−1 where the filter factor F is: F=ΔTΔT+τ and whereby ΔT = Execution time (sec) τ = transition time (seconds)
[0087] The filtered deviations from the mean are then provided to a block 236, which uses them to determine or generate the process model, e.g., the NN, MLR, and / or PLS model, to be used in subsequent quality prediction operations. Any desired technique for creating these models can be used, and these techniques are well-known. The procedure for generating models from the deviations from the mean is therefore not described in detail here. As part of the process model generation, the determined process parameter means (including the stage parameter means) and the quality parameter means determined for each of the process stages (i.e.,The process stage means and stage parameter ranges for each process stage are stored as part of the process model and are used when the process model is used to perform quality prediction in an online process. The filter time constants and time shift values can also be stored as part of the process model.
[0088] Now, with regard to branch 222, Fig.Section 3 describes a method for creating a defect detection model. The technique for creating a defect detection model, illustrated in branch 222, is generally similar in many respects to the technique for creating a quality prediction model. However, the defect detection model is developed from training data that has not been time-shifted or time-aligned, since this model is used to make a future defect prediction (rather than predicting the process quality at any given time). The training data in branch 222 is processed in all other aspects very similarly to how the time-aligned data portions are processed in branch 220.
[0089] Block 248 thus uses the training data collected for the process and calculates the average or mean values for each process parameter (including the stage parameter) and the average value for the quality parameter for each of the defined process stages. Because Block 248 works with time fractions of the raw training data instead of the time-aligned data, the means calculated in Block 248 may differ from the means calculated in Block 228. Block 250 then stores these average or mean values of the process parameters and the quality parameter in memory as process stage means for later use in the development of the defect detection model, as well as for use in performing defect detection after the model has been developed.
[0090] For each time fraction of the training data, a block 252 then uses the parameter data of that time fraction and the process stage means to determine a set of time fraction means to be used when determining deviations from the means for that time fraction. Specifically, block 252 selects a time fraction of the data for processing in order to determine a set of means to use for that time fraction, and then to determine the deviations from the means for that time fraction, where the deviations from the means are inputs for a model generation routine to be used in the development of the fault detection model. For each time fraction, block 252 specifically uses the immediate value of the stage parameter specified by that time fraction (stored here) and the stage parameter means stored for the process stages to determine a scaling factor (e.g.,to determine an interpolation factor) to be used to determine the appropriate time-share mean values for each of the other process parameters in the time share. This process is similar to the one described for Block 232 and is therefore not repeated here. Block 252, in each case, performs interpolation (using the same interpolation factor) for each of the process parameters in the time share using the process stage means for the process parameter from two adjacent process stages to determine the appropriate time-share mean value to be used to determine the deviation from the mean to be used to create a defect detection model from that time share of the data. Block 252 also performs this interpolation for the quality parameter of the time share.
[0091] After the time-share means for each data time share have been determined, Block 254 uses the calculated time-share means to determine a deviation from the mean for each of the process parameters and the quality parameter within the time share. Specifically, Block 254 determines the difference between each process parameter (and quality parameter) of the time share and its associated time-share mean (as determined in Block 252) to produce a set of deviations from the mean, identifying one deviation from the mean for each process parameter (except the stage parameter) and quality parameter in the time share.
[0092] Block 255 then filters out deviations from the mean values to make the generated process model more robust and to help ensure that the model does not detect errors when the process moves between process stages. Block 235 can implement a low-pass filter in which the filter time constant is set equal to or greater than the longest response time of the quality parameter to a change in any of the process parameters used as inputs for the constructed model. For example, deviations from the mean could be filtered based on the transition time for the detected error to account for the time the process needs to react to a stage change. Of course, other filter time constants can be used, and these time constants could be chosen based on response times that are shorter than the longest response time.
[0093] The filtered deviations from the means are then provided to Block 256, which uses them to determine or generate the defect detection model, e.g., a PCA model, for use in subsequent defect detection operations. The process of creating a PCA model from a set of deviations from the mean for a set of parameters is well-known and therefore not described in detail here. As part of the process model generation, the determined process parameter means (including the stage parameter means) and the quality parameter means determined for each of the process stages (i.e., the process stage means), as well as the stage parameter ranges for each process stage, are stored as part of the process model and used when the process model is used to perform defect detection in an online process.The filter time constants can also be stored as part of the process model.
[0094] Fig. Figure 6A illustrates a system for implementing the technique for generating the process quality prediction model 200 from Fig. 3. As in Fig. As illustrated in 6A, process 300 operates particularly during a training phase to generate process data in the form of process parameter data (including stage parameter data) and quality parameter data for a significant number of times or samples. The lines 302 of Fig.The process parameter data shown in Figure 6A includes process parameter, stage parameter, and quality parameter data, e.g., process variable values, stage variable values, and quality variable values that are measured or output by devices within process 300 or otherwise acquired from process 300 during its operation. The process parameter data 302 are obtained as a set of training data and stored in a memory 304. The memory 304 can, for example, contain the data history 12 of Fig. 1 or any other desired memory location. Data for any number of process parameters, quality parameters (including error information), and stage parameters can of course be measured, recorded, and stored as part of the training data in memory location 304.
[0095] Next, a time-shift computation block 306 works with the training data obtained from memory 304, using the identity of the stage parameter and the ranges of stage parameter values that define the different process stages, the identity of the process parameters to be used as inputs for a model, and the quality parameter to be generated by the model. Block 306 can receive this information, for example, from a user via a user interface 305. Using the specified quality parameter and the process parameters to be used in the constructed model, block 306 performs the cross-correlation technique described above to determine the appropriate time shifts for each of the process parameters.Block 306 can of course automatically perform the cross-correlation and automatically determine the appropriate time offset for each process parameter, or it can receive input(s) from a user via the user interface 305, which allows a user to display and select the appropriate delay times for each of the process parameters.
[0096] After the time shifts for each of the process parameters (and the stage parameter) have been calculated, a time shift block or delay unit 308 receives the training data and delays the various process parameter values of the different process parameters to be used in the constructed model by the appropriate amounts, and then stores the time-aligned parameter data in a memory 310 as time-aligned data fractions. Each time-aligned data fraction has a value for each process parameter used as inputs for the constructed model, a value for the stage parameter, and an associated value for the quality specification predicted by the model to be constructed, with the values of the process parameters and the stage parameter time-shifted relative to the value of the quality parameter (i.e.,(advanced or delayed in time) are based on the time shifts applied by Block 308.
[0097] Consequently, the memory stores 310 time fractions of the data with values of the process parameters, the quality parameter, and the stage parameter, which are time-aligned so that time delays between changes in the process parameters and the resulting changes in the quality parameter are reduced to the greatest extent possible. These sets of data fractions are best suited for use in generating the model to produce the most accurate quality prediction model.
[0098] Next, block 312 analyzes the time-proportion data from memory 310 and develops a set of process parameter and quality parameter means for each defined process stage. The process parameter means for each specific process stage include, for each process parameter, the mean of that process parameter's values from all time proportions for which the stage parameter value falls within that specific process stage. Similarly, the quality parameter means for each specific process stage includes, for the quality parameter, the mean of the quality parameter's values for all time proportions for which the stage parameter value falls within that specific process stage.Similarly, the stage parameter mean for each specific process stage includes, for the stage parameter, the mean of the values of the stage parameter in all of the time fractions for which the stage parameter value of the time fraction falls within the specific process stage.
[0099] Once the process stage means for each process stage have been determined from the entire set of time fractions stored in memory 310 (i.e., for the time-aligned training data), block 314 determines the process parameter and quality parameter means for use for each time fraction (the time fraction means) to determine a set of deviations from the mean for that time fraction. As with respect to Fig.As mentioned in section 3, block 314 can use interpolation based on the instantaneous value of the stage parameter for a time fraction to determine how to interpolate between the process parameter means of two adjacent process stages for each process parameter and the quality parameter in that time fraction.
[0100] Once the means for each time fraction have been determined, these time fraction means, along with the aligned time fraction data from memory 310, are provided to block 316 and used there to determine a deviation from the mean for each process parameter and the quality parameter for each time fraction. The sets of deviations from the mean (one set of deviations from the mean is created for each aligned time fraction) are then provided to a filter block 318, which filters the deviations from the mean process parameter by process parameter to account for situations where the process changes from one stage to another. Generally speaking, the deviations from the mean can be filtered using a low-pass filter with a time constant setting based on the amount of time the quality parameter needs to respond to changes in the process parameters.The longest response time can be used to determine the filter constant. The filter constant is generally the same for all deviations from the mean. The filter time constant can also be selected or specified by a user, for example, via user interface 305.
[0101] The filtered deviations from the means are then provided to a model generation block 318, which uses these values to produce a quality prediction model using standard modeling techniques. As in Fig.As specified in 6A, the model generation block 320 creates one or more of a PLS model 322, a NN model 324, and an MLR model 326. Generally speaking, a separate model is created for each predicted quality variable, and these models can, of course, have different process parameter inputs. The model generation block 320 can store the model, along with one or more of the process stage means, the definitions of the process stages (e.g., the ranges of the stage parameter that define the different process stages), the filter time constants, and the time shift values for each of the process parameters, as part of the process model.
[0102] Fig. Figure 6B illustrates a system for developing a fault detection model and includes the process 300, the training data memory 304, and the in Fig.Figure 6A illustrates the user interface 305. In this case, however, a block 412 analyzes the time-proportion data of the raw training data in memory 304 to develop a set of process parameter and quality parameter means for each defined process stage. The process parameter means for each specific process stage include, for each process parameter, the mean of the process parameter values in all time proportions for which the stage parameter value falls within the specified process stage range. Similarly, the quality parameter means for each specific process stage includes, for the quality parameter, the mean of the quality parameter values in all time proportions for which the stage parameter falls within the process stage.Similarly, the stage parameter mean for each specific process stage includes, for the stage parameter, the mean of the values of the stage parameter in all of the time fractions for which the stage parameter value of the time fraction falls within the specific process stage.
[0103] Once the process stage means for each process stage have been determined from the entire set of time fractions stored in memory 304 (i.e., for the time fractions of the training data), block 414 determines the process parameter and quality parameter means for use for each time fraction (the time fraction means) to determine a set of deviations from the mean for that time fraction. As with respect to Fig.As mentioned in section 3, block 414 can use interpolation based on the instantaneous value of the stage parameter for a time fraction to determine how to interpolate between the process parameter means of two adjacent process stages for each process parameter and the quality parameter in that time fraction.
[0104] Once the time-rate means for each time rate have been determined, these means, along with the time-rate data from training data memory 304, are provided to block 416 and used there to determine a deviation from the mean for each process parameter and the quality parameter for each time rate. The sets of deviations from the mean (one set is created for each time rate) are then provided to filter block 418, which filters the deviations from the mean to account for situations where the process changes from one stage to another. Generally speaking, the deviations from the mean can be filtered using a low-pass filter with a time constant setting based on the amount of time the quality parameter needs to respond to changes in the process parameters.The filter time constant can, if desired, be selected or specified by a user via, for example, the user interface 305 and can be the same filter time constant that is in the filter block 318 of . Fig. 6A is used.
[0105] The filtered deviations from the means are then provided to a model generation block 420, which uses these values to produce a fault detection model using standard modeling techniques. As in Fig. As shown in Figure 6B, the model generation block 420 can create one or more PCA models 422. Generally speaking, a single PCA model is created for each detected fault, and these models can, of course, have different process parameter inputs.
[0106] Other types of quality prediction and defect detection models can, of course, be used, and the model generation routines 314 and 414 can generate the PLS, NN, MLR, and PCA models in any desired or known manner, as is typical. However, it should be noted that the quality prediction and defect detection models are preferably generated from the entire set of training data, which, where possible, includes data associated with the operation of Process 300 across all of the predefined process stage ranges. In any case, a single PLS model, NN model, MLR model, or PCA model can be developed for Process 300 to perform any quality prediction and defect detection without the need to develop individual models for each of the predefined process stages.The PLS, NN, MLR, and PCA models are, as will be known, generated as typical models created for Process 300 using standard model generation techniques, except that these models also include a set of process stage means associated with each of a different set of process stages, as well as definitions of the stage parameters and stage parameter ranges that define the various process stages. Each set of process stage means in this case includes a mean for each of the process variables and the stage variable for which data is collected, and, in quality prediction models, a mean for the quality parameter.
[0107] Fig. Figure 7 shows a flowchart illustrating a procedure 500 for using one of the quality prediction or defect detection models developed using the procedure of Fig.3 were created to perform online analysis of the operation of a process, such as process 300 of the Fig. 6A and Fig. 6B. Block 502 captures and stores, in particular, process parameter and stage parameter data from the process. (Quality parameter data and defect data can of course also be captured; however, this action is strictly speaking for carrying out data analytics of the process using the technology of Fig. (3 models created are not necessary). The recorded process parameter and stage parameter data could be obtained online in real time from the process, could be obtained via laboratory or offline analyses, could be obtained via user input, or could be obtained in any other desired way.
[0108] If the model used is a quality prediction model, such as a PLS, NN, or MLR model, block 504 next shifts the process parameters and stage parameters in time using the time shift amounts provided by block 224. Fig. 3. These time shift values can be determined. These time shift values can be stored as part of the model and can be retrieved from the model if desired. These time shift values are therefore generally the same time shift values used to produce the time-aligned data portions that were used to produce the model. Block 504 is shown with a dashed line because this block is not executed if the model used is a fault detection model, such as a PCA model.
[0109] A Block 506 always produces a set of data segments from the acquired data and can optionally store these data segments in memory. If the model used is a quality prediction model, these data segments are time-shifted because the process parameter and stage parameter data within these data segments are shifted relative to each other in time. However, if the model used is a defect detection model, then the data segments are produced directly from the acquired process data without being time-shifted relative to each other.
[0110] Block 508 next processes each of the data portions produced by Block 506 to determine a set of time-part averages for each data portion. Specifically, Block 508 uses the process stage averages stored as part of the model and the instantaneous value of the stage parameter within a data portion to determine a set of time-part averages for that data portion. If the stage parameter is a continuous variable, Block 508 can determine an interpolation factor from the instantaneous value of the stage parameter based on the distance between the instantaneous value of the stage parameter and the two nearest process stage averages. It can then use this interpolation factor to interpolate between the process stage averages for the other process parameters (stored in the model) to determine time-part averages for those other process parameters.If the stage parameter is a discrete variable, Block 508 can easily determine the set of process stage means to use based on the instantaneous value of the stage parameter within the time interval. Block 508 can store the time-part means in memory.
[0111] Block 509 then uses the time-share mean and the instantaneous values of the time-share process parameter to determine a set of deviations from the mean for the data share. Specifically, Block 509 determines the difference between the instantaneous value of each of the time-share process parameters and its respective mean to produce a set of deviations from the mean for the time share. Blocks 508 and 509, of course, operate on each data share to produce a continuous stream of deviations from the mean, since the analyzed process is running online.
[0112] Next, a Block 510 filters each stream of deviations from the mean (i.e., creating a stream for each process parameter used as an input to the model) and provides the filtered deviations from the mean to the model for processing. The Block 510 can use the same type of filtering techniques employed in model creation and can therefore use the same filter coefficients as those used in the procedure of Fig. Three methods were used to filter out deviations from the means employed to initially produce the model. These filter coefficients can be stored as part of the model and thus retrieved from the model itself.
[0113] Block 512 operates the model using filtered deviations from the means to produce model outputs such as quality measurement predictions, defect detections, and so on. Block 514 can process the model output to generate alarms or warnings, which are displayed or otherwise made available to a user. Specifically, Block 514 can compare the model output against one or more predefined settings or thresholds to detect output that is above or below a threshold and then issue an alarm or warning based on this comparison. Other types of alerting can also be performed when the model output is generated, either as well as or instead of this.
[0114] Fig. Figure 8 illustrates a system that describes the process of Fig.7 can be used to perform online data analytics for a process such as Process 300 from the Fig. 6A and Fig. 6B is performed using a model 601 that was previously created to analyze process 300. As in Fig. As illustrated in Figure 7, process 300 is operated in particular to produce process parameter and stage parameter data, which can be measured or recorded in any desired manner and stored in a memory 602. When the quality prediction is performed, a time-shift module 604 shifts the process parameters and the stage parameters in time using the time-shift amounts stored as part of the process model (as shown by the lines from the model 601 in Figure 7). Fig.7). These time-shift amounts are generally the same time-shift amounts used to shift the data to produce the time-aligned data portions used to produce the model. The time-shift module 604 can store the time-shifted or time-aligned data as time-aligned data portions in a memory 606. If the model 601 is a fault detection module, then no time-shift module 604 is needed or used.
[0115] In each case, an averaging module 608 processes each of the time-oriented data components stored in memory 606 (in the case of a quality prediction system), or data components acquired from the process itself and stored in memory 602 (in the case of a defect detection analytics system), to determine a set of time component averages for each of the data components. In particular, module 608 uses the process stage averages stored as part of model 601 and the instantaneous value of the stage parameter within a data component to determine a set of time component averages for that data component.If the stage parameter is a continuous variable, Module 608 can determine an interpolation factor from the instantaneous value of the stage parameter based on the distance between the instantaneous value of the stage parameter and the two nearest process stage means. It can then use this interpolation factor to interpolate between the process stage means for the other process parameters (stored in Model 601) to determine time-part averages for those other process parameters. If the stage parameter is a discrete variable, Module 608 can simply determine the set of process stage means to use based on the instantaneous value of the stage parameter within the time interval. Module 608 can store the time-part averages in an associated memory.
[0116] A deviation module 609 then uses the time-part mean and the instantaneous values of the time-part process parameter to determine a set of deviations from the mean for the data part. Specifically, block 609 determines the difference between the instantaneous value of each of the time-part's process parameters and its respective mean to produce a set of deviations from the mean for that time part. Modules 608 and 609 operate on each data part to produce a continuous stream of deviations from the mean, since the analyzed process is running online.
[0117] Next, a filter module 610 filters each stream of deviations from the mean (i.e., creating a stream for each process parameter used as an input to the model) and provides the filtered deviations from the means to the model for processing. Filter 610 can use the same type of filtering techniques employed in creating model 601 and can therefore use the same filter coefficients as those used in the procedure of Fig. 3 were used to filter out deviations from the means used in the initial production of Model 601. These filter coefficients can be stored as part of Model 601 and can thus be obtained from Model 601 itself.
[0118] Model 601 is then operated or implemented using the filtered deviations from the means and produces model outputs in the form of, for example, quality measurement predictions, defect detections, etc. An alarm module 614 can work with the output of model 601 to produce alarms or warnings that are displayed or otherwise made available to a user. Specifically, the alarm module 614 can compare the output of model 601 with one or more presets or previously generated thresholds to detect an output of model 601 that is above or below a threshold and can then set an alarm or warning based on this comparison. Other types of alarms can also be generated from the model output, either as well as or instead.
[0119] Fig.Figure 9 illustrates a block diagram of a Function Block 700, which can be implemented to perform quality prediction and / or defect detection using a statistical process model created according to the techniques described herein. The Function Block 700 can, if desired, be executed or implemented in a user interface, in a process control within a control system, or even within a field device located in a process control system, as in any of the process control systems of the Fig. 1 and Fig.2. Function block 700, referred to herein as the data analytics (DA) function block, can be configured to be used and displayed by a user in the same or a similar manner as other function blocks within the process control system, thereby making DA function block 700 compatible with and easily integrated into the process control system, where it is used to perform data analytics.
[0120] Although Function Block 700 is depicted as performing both quality prediction and defect detection using the same set of process input parameters and stage parameters, Function Block 700 could instead perform only one type of quality prediction or defect detection and does not have to perform both. While Function Block 700 is described as performing a single type of quality prediction and defect detection based on one set of input parameters and one stage parameter, it could additionally include multiple sets of models and perform multiple types of quality prediction and defect detection. However, for ease of use and configuration, it is preferred that a separate Function Block 700 be created and implemented for each different type of quality prediction / defect detection that is to be performed.
[0121] The parameters of DA function block 700 from Fig.9 can include typical function block parameters and can additionally include a number of new parameters and features, which are described below. Generally speaking, the DA function block 700 includes a modeling block 702 and an alarm block 704, each containing a set of inputs and outputs. The inputs for the modeling block 702 include a number of process parameter and stage parameter inputs 706, an algorithm input 708, a delay input 710, a sample input 712, and a sequence input 714. The process parameter and stage parameter inputs 706 are communicatively connected to other function blocks or devices within the process control system and receive from them the measured or otherwise determined values of the process parameters and the stage parameter, which are used in data analytics to perform quality prediction and defect detection.Algorithm input 708 is a numbered parameter that specifies the type of modeling algorithm used in the model. For example, algorithm input 708 can specify that function block 700 performs predictive MLR, PLS, PLS-DA, and NN modeling. Sample input 712 receives a determined quality sample, which may have been obtained from measurements of the process, such as laboratory measurements, and delay input 710 receives a specified delay, indicating the time lag between the current time and the time at which the sample provided to sample input 712 was received. Sample input 712 and delay input 710 can be used to correct bias errors (systematic errors) in the predictions produced by function block 700.The follow input 714 is an input that can be used to make the output of the quality prediction routine of function block 700 simply follow the sample measurement provided in sample input 712.
[0122] The modeling block 702 generally includes an interface 720 that receives and stores the process parameter and stage parameter inputs 706 and makes these inputs available for quality prediction and defect detection. Specifically, the interface 720 is connected to and provides process parameter and stage parameter values to a delay block 722. The delay block delays the various inputs by the delay or time-shift amounts provided by or determined for the quality model during its creation. These delays can be provided from a memory file 724 that stores the process parameter time shifts as well as the other model parameters, including the model process stage means, filter coefficients, and model parameters or coefficients used to implement the model.
[0123] A quality prediction modeling block 726 then uses the delayed or time-aligned data portions produced by the delay block 722, the measured parameter values from interface 720, the process stage means, the filter coefficients, and the model coefficients (all from model file 724) to perform quality prediction in the already existing data with respect to the Fig. 7 and Fig.8. The quality forecasting modeling block 726 can produce a future forecast (at a given time horizon), which is provided as the output of function block 700, labeled 'Future', and can produce a current forecast, which is provided as the output of function block 700, labeled 'Output'. The quality forecasting modeling block can, of course, be programmed or designed, if desired, to implement any of the different types of models as specified by algorithm input 708, using model parameters or model coefficients stored in and provided by model file 724.
[0124] However, correction or compensation for distortion can be performed on both of the forecast values provided at the 'Future' and 'Output' outputs of Function Block 700. Specifically, a Delay Unit 730 delays the forecasted quality output by the delay amount specified in Delay Input 710, and a Summation Block 732 determines a difference between the delayed forecasted current output of Quality Forecast Modeling Block 726 and the sample measurement provided at Sample Input 712.A limit block 734 limits this difference using a correction limit input (which may be specified, for example, by a user or function block designer) and a filter 735, which then filters the output of limit block 732 using a correction filter coefficient or parameter (which may also be specified or provided, for example, by a user or function block designer). The output of filter 735 is a distortion correction, which is provided to a switch 736 to activate the distortion correction and can be turned on or off by a user or other automatic input generated in the process control system.When switch 736 is turned on or activated to enable distortion correction, summing blocks 740 and 742 add the distortion correction to the current forecast and future forecast values produced by quality forecast modeling block 726.
[0125] A switch 744, operated or controlled by the sequence input 714, toggles the connection between the distortion-corrected current output of block 726 and the sample value provided at sample input 712 for the output 'Output' of the function block. The sequence input 714 thus causes the output 'Output' of function block 700 to follow the sample value provided at sample input 712. A mode switch 746, controlled by a mode signal, also controls whether any output is provided at the output 'Output' of function block 700. The mode switch 746 can be used to disable the current quality output forecast of function block 700 based on the mode of function block 700 or any other function block that might use the output of function block 700.The mode switch 746 thus allows the output of function block 700 to be deactivated or disconnected when the part of the process control system that affects or is modeled by function block 700 is, for example, in 'out of order' mode, abnormal mode, manual mode, etc.
[0126] A fault detection block 750 is also connected to interface 702 and receives the process parameter and stage parameter inputs and uses these, as well as the stage means and other model information from model file 724, to perform fault detection in the manner previously described with respect to the Fig. 7 and Fig.8 was described. The output of block 750 includes a block error output, a Stat_T2 output, and a Stat_Q output. The block error output is the error or error detection output modeled or determined by the error detection block 750 and, when used for error detection, is a typical PCA model output. The Stat_T2 parameter is a read-only floating-point number that represents the T 2The Stat_Q parameter displays the Q statistic of the PCA model used for fault detection. It is a read-only floating-point number that shows the Q statistic of the PCA model used for fault detection. The Stat-T2 output and Stat_Q statistics are typically produced by predictive models, such as PCA models, and are commonly used for predictive alarming. The fault detection modeling block 750 can, of course, be programmed or designed to implement any of the various types of models that use model parameters or model coefficients stored in and provided by model file 724.
[0127] In any case, the alarm block 704, as in Fig.Figure 9 shows the block error, the Stat_T2 and Q statistics, along with the current quality prediction value (to which the bias correction may have been applied). Alarm block 704 also receives T2_LIM as an input parameter, which is an upper alarm limit for the calculated T. 2 -Statistic of the fault detection block 750 is, Q_LIM, which is an upper alarm limit for the calculated Q-statistic, LO_LIM, which specifies the lower alarm limit of the quality forecast (which can be set to the lower limit of the product specification if desired) and HI_LIM, which specifies the upper alarm limit of the quality forecast (and can be set to the upper limit of the product specification if desired).
[0128] The PRED_ACT output of alarm block 704 is used to trigger alarms based on quality prediction, and the FAULT_ACT output of alarm block 704 is used to trigger alarms upon fault detection. Alarm block 704 can determine when to trigger an alarm by comparing the quality prediction values provided by the quality prediction modeling block 726 with the LO-LIM and HI-LIM values to determine whether the quality prediction value exceeds these limits (is higher or lower than them) and can trigger an alarm at the PRED_ACT output if so.Alarm block 704 can similarly determine alarm triggering by comparing the various outputs—block error, Stat_T2, and Stat-Q—of fault detection modeling block 750 with a fault threshold, T2_Lim and Q-Lim, respectively, to determine whether any of the fault detection values meet or exceed their limit (or whether the block error value indicates a fault). If a threshold is met or exceeded, alarm block 704 can trigger an alarm at the FAULT_ACT output. Any or all of the outputs of the alarm block and prediction blocks 726 and 750 can, if desired, be made available and stored in a data history for easy retrieval.
[0129] Optionally, adaptive modeling can be implemented online when using the quality prediction and defect detection models constructed or generated using the modeling techniques described here. In particular, there may be circumstances in which the modeling system, once created, operates to analyze process conditions that differ significantly from those encountered during the period when the process training data used to create the models in the data analytics system was collected. For example, the process may have or exhibit a different throughput, or the process may be used to produce a new product class and thus operate under conditions not encountered during the training phase.In one example, the process may not have passed through or operated in one or more of the process stages defined during the training data acquisition step. In another example, the process stages may have been defined based on the range of stage parameters during the training runs, but the process may enter a new and previously undefined process stage, as determined by the stage parameter. In other situations, it may be determined that the process operation has changed somewhat compared to the state when the training data was acquired, due to different environmental conditions, aging of process equipment, or a change in any other disturbance variable (measured or unmeasured).In these cases, model adjustments may be necessary to improve the operation of the data analytics system. Adaptive modeling, as described below, can be used to compensate for these situations without requiring the underlying models themselves to be regenerated.
[0130] In particular, it is possible to perform adaptive modeling in the systems described here in response to these or other conditions or situations without modifying the underlying model(s) developed in the model generation phases. Model adaptation can be achieved, in particular, by determining a new set of process stage means for each of the process stages (either originally defined or newly added) from newly acquired process measurements and then storing these new process stage means as part of the model for the process stages for which model adaptation is being performed. Optionally, standard deviations can also be calculated and stored for each of the adapted process stages.
[0131] In general terms, model fitting can be performed by adapting the mean values (the process stage means) stored in the model for each process stage. Without model fitting, it is necessary to collect data during model development that covers the entire operating range of the process stages. Based on the variation shown in the data for each measurement, the operating range can be divided into a selectable number of stages (e.g., five).During model adaptation, the process data used in the training phase does not need to cover the entire operating range of the process. This is because, as the process moves to a different stage, the modeling system can collect process data for each stage parameter and process parameter for a period of time while the process is in this new or changed stage. The modeling system can then automatically calculate the mean value for each process parameter and the stage parameter while the process is in this new or changed stage. These mean values can be stored in the model (thus adapting the model used to model the process while the process is operating in that stage in the future).
[0132] If, for example, the flow rate dictating the process throughput is chosen as a stage parameter, data for process parameter measurements could initially be collected and used in model development, even if the stage parameter is only varied over a small operating range of the flow rate. In this case, the user would identify the range in which the stage parameter is typically operated. Although the data is processed during model setup, the collected data might fall into only a few of the possible stages (based on the user's input of the stage range). For the process stages for which process parameter data was collected, the model generation routine calculates a set of means. However, for the process stages for which no process parameter data was collected during the model generation phase, the parameter means could be initialized to any arbitrary value, e.g.,equal to the parameter means for the nearest stage for which data was collected. Once the model has been made online within a modeling system, if the stage parameter value changes to indicate a process stage for which no data was previously collected, the modeling or data analytics system could perform adaptive modeling by entering an adjustment phase.
[0133] During an adaptation phase, process parameter data and stage parameter data are collected online while the process operates in the new process stage. After a certain period or after each new time sample, the mean values for this process stage are updated based on the process parameter and stage parameter data measured while the process is operating in the new process stage. For each process stage, a user could specify whether adaptation of the means is permitted. This capability could also be used to update the model (to account for process changes) if the user indicates that adaptation is allowed.To prevent means from being adjusted to incorrect values when the process is shut down, the user could have the option to view or display the calculated means for a process stage on a process stage basis and limit by how much (e.g., allowable percentage) the adaptation of the mean could change from the value approved by the user and / or identified during model development.
[0134] Online model adjustment can be performed in a planned or unplanned manner, as desired. For example, if product class or process rate changes require new settings for some or most of the process parameters, the model parameters can be adjusted in a planned manner—that is, all at once—if the process stage and parameter settings for a new class (means and standard deviations) are known. However, if the means and process stage values for one or more new stages are unknown, these values can be gradually adapted to implement the new parameter means.
[0135] In one example, planned model changes can be based on prior knowledge of the process stages for new product classes. This knowledge can be obtained through measurements taken and stored online until the planned model adaptation process is performed. A procedure for developing a model suitable for use when applying planned changes or adaptations can first include an identification parameter for a class or process stage in the historical data collection and store data for that new class or process stage as soon as it becomes available. The procedure can then preprocess the training data with the newly collected data, taking all classes into account. By doing this, the procedure calculates means and standard deviations separately for each class.The procedure can then normalize the data for each class separately using the class-specific means and standard deviations for those classes. The modeling technique then develops a model using data from multiple classes. Because data are conditioned by means and standard deviations for specific classes, conditioned / normalized data can be used for joint multi-class model development. The procedure can then store the means and standard deviations for each class used for model development as part of the multi-class model.
[0136] Unplanned model adaptation works by calculating online means and standard deviations for the changed or new stage and applying these new means and standard deviations individually to the model as they are determined. Unplanned model adaptation is used when a new stage was not originally included in the model (e.g., when no historical or training data exists for that specific process stage). A process stage change might be detected automatically, and this detection can trigger the adaptive modeling technique to modify the model's means and standard deviations. If no new stage parameters are present in the model, the adaptive adaptation routine adjusts the model based on the current online data collection and calculation of model parameters.After a process stage change, actual process parameter means and stage parameter means are applied to the model for use as process stage means for the new process stage. This is because it takes time to collect enough data from the process operation online to determine statistically usable means for each of the process parameters and the stage parameter in the new process stage. The delay is defined by the time required for subsequent calculations and adjustments.
[0137] The new model parameter means may, if desired, exhibit a bias relative to the original model parameter means. A bias β of a model mean can thus be applied as a filter value to determine the adapted mean as follows: ΔxAverageMod(k)=βΔxAverageraw(k)+(1−β)ΔxAverageMod(k−1)
[0138] The raw mean here is the recently calculated distortion defined during online operation. For a process stage shift due to changed conditions (which may be caused by process equipment aging or other conditions changing in a predictable or unpredictable way), the same mean distortion parameter can be used to filter the adapted means as described above. Furthermore, for other changes or disturbances, some mean changes may be constant and / or potentially difficult to track practically. In these cases, it may be desirable to increase the robustness or sensitivity of the model to minimize false alarms.
[0139] Although the data analytics techniques already discussed have been described for continuous analytics (i.e., for performing analytics in continuous processes), these techniques could also be applied to simple batch process applications, using the "time in batch" or other parameters indicating the progress of batch processing as stage parameters. In this case, "simple batch" processes are those in which 1) batch processing is limited to a single process unit, 2) the inputs / outputs of the batch process do not change as the batch progresses, and 3) the same product is always manufactured in the process unit.
[0140] It is also desirable to enable a user to more easily view and obtain information about an alarm or warning generated in a quality forecast or fault detection, such as an alarm or warning generated by the data analytics function block 700 of Fig. 9. It is particularly desirable to add an alert register to a user interface screen which, when selected, displays the quality or error alerts reported by the continuous data analytics system. The user can then select an alert or alarm from this list, and in response to this selection, the user automatically receives the associated historical information for the alert or alarm, such as the forecast values or the T. 2- or Q-statistics that led to the warning, the parameter values of the relevant parameters both before and after the warning was issued, etc. This feature offers significant time savings for the user, as the new user interface allows the user to see all of the generated warnings and immediately view the historical data associated with a selected warning (without scrolling through a trend display of different process parameters), instead of having to view a trend plot of the predicted quality or error statistics (T). 2 or Q, forecast values, etc.) search or scroll through to find an error or a bad forecast.
[0141] This user interface can be used in a broader context in any interface of a process control system that provides alarm summary displays which a user can access to view detected process alarms, as this user interface system allows a user to easily view historical data associated with different parameters relevant to any type of alarm that has been generated.This user interface can be used in any context where a process alarm or warning is generated, and is provided to a user via a user interface screen or display. The new user interface allows the user to quickly analyze the conditions that led to an alarm or warning because the system allows the user to view historical process parameter trend data (stored in a data history) immediately before and after the generation of a warning, without the user having to go back to a history interface, call up the parameter associated with the event, and then scroll back in time to see the trend data immediately before and after the generation of the warning.
[0142] The way warnings are currently displayed in some traditional user interfaces used in batch process control systems is, for comparison, in Fig. Figure 10 is shown. At the top level, a list of active processes, such as batch processes, and a list of completed batches are displayed. If a warning is active in one of the processes, this warning is displayed in the overview (see screen 902). The user can then select a batch process from this overview, and the user interface then changes (by default) to show a historical trend of the two statistics (the T 2- and the Q-statistic of a PCA model) which are used for fault detection (see screen 904). If either statistic exceeds a value of one (1), this is considered a fault condition. To investigate the process measurements associated with a fault, the user needs to examine the historical trend of the two statistical parameters, find a time when the statistic exceeded a value of 1, and then select that time on the displayed trend. The user is then shown the measurements that contributed most to the fault (see screens 906 and 908).
[0143] When a quality forecast alert is displayed in the overview, the user is given the option to select the process and then the Quality Forecast tab. The user interface then displays a historical trend of the quality parameter (see screen 910). The interface allows the user to examine the quality parameter trend if the forecast violates a product specification limit. To investigate the cause of a deviation in the quality forecast above or below a specification limit, the user must select that point in time within the trend graph, select the Defect Detection tab, and examine the historical trend to see if a defect was detected at the time the quality parameter alert was triggered.
[0144] There are significant limitations and disadvantages to this traditional approach to investigating an alarm condition. In particular, the overview only informs the user that an alert is currently active. To find further information about past alerts, the user must 1) select a historical trend from the statistics used in process fault detection or the quality prediction parameter, 2) examine the trend to determine when the alert(s) occurred, and then 3) select the point in the trend corresponding to the alert to find out more about the alert condition. Furthermore, to find all past alerts, it would be necessary to locate and select each alert within the trend plots of statistical parameters or predicted quality, which is time-consuming and tedious.It is indeed time-consuming to scroll back through the trend history to find out when a warning condition was active for a continuous or batch process. Consequently, it may not be possible to easily analyze all past warnings to identify recurring problems, etc. Warnings indicating conditions that contributed to the production of out-of-specification products can also be easily overlooked.
[0145] The new user interface described here allows users to examine alerts that are currently active or have occurred in the past. Alerts can be triggered in the continuous data analytics application when predicted product quality violates user-defined or calculated limits (such as product specification or confidence limits), or due to process errors detected (using a PCA model and its associated statistics).
[0146] The new user interface notably provides a continuous list tab in a user interface screen, and when this tab is selected, an overview of the continuous data analytics blocks (CDA blocks, such as that of Fig.9), which are currently installed in the control system for quality prediction and / or fault detection. This overview shows the last quality prediction or last process fault for each CDA block, as shown in Fig. 11 A is illustrated.
[0147] Significantly, an Alarm History tab has been added to the user interface screen so that a user can view all data analytics alerts that have been detected. When a user selects this tab, the user interface displays a list of current and past alerts. The example user interface screen of Fig. Figure 11B shows an alarm history view in which only one (1) warning has occurred in the past. This view would generally contain many process error and quality parameter prediction alarms.
[0148] When a user selects one of the alerts in the summary list, the user interface changes the display to show the associated quality parameter prediction or process defect detection trend, with the alert time at its center. An example of the view provided for a process defect is shown in Fig. 11C illustrates.
[0149] When a user selects one of the parameters that contributed to the error, the user interface next provides historical information about that parameter (e.g., a parameter trend graph) using parameter data from the time of the error. This operation is shown in the screenshot of Fig. Figure 11D illustrates this. The user interface system can, of course, access this data from the data history for the period associated with the warning (e.g., when the warning was generated).
[0150] This ability to easily view all past alerts and access associated historical information at the time of the alert offers many advantages over the traditional alert summary interface, which provides no alert summary and no support for viewing associated historical information at the time of the alert.
[0151] There are also other applications for the ones in the Fig.Figures 11A-11D illustrate the alert interface outside of its use with the data analytics blocks described here. The concepts associated with the alert interface, described as being implemented in continuous data analytics, can in fact be applied to many other applications. As an example, the standard operator interface DeltaV™ provides an "Alarm List" button. When the operator makes this selection, a list of currently active alarms is displayed, as shown in Fig. 12A is illustrated.
[0152] When the alarm list is displayed, the user receives no assistance in easily accessing and examining the values of the process parameter(s) associated with the alarm at the time the alarm was detected. However, using the user interface described here, the alarm list display is modified to support the display of associated historical information at the time of an alarm selected in this list, making it much easier and faster for the user to analyze the source of the alarm. This concept is described in Fig. Figure 12B illustrates where a user can see an alarm list and select an alarm to see trend data for the alarm variable (i.e., the variable that was used to generate the alarm).
[0153] If the measurements in the alarm are also associated with other parameters, the user interface can allow the user to request the display of historical values of associated parameters around the time of the alarm. If the parameter in the alarm is PV of a PID block or an input of an MPC block, etc., any other parameter of the block associated with the history could be displayed around the time of the alarm. Such a display is in Fig. Figure 12C illustrates this. By easily accessing and displaying associated historical information at the time of the alarm, the operator can analyze the source of the problem more easily and quickly.
[0154] As already mentioned, at least some of the exemplary methods and / or devices described above can be implemented by one or more software and / or firmware programs running on a computer processor. Dedicated hardware implementations, including but not limited to application-specific integrated circuits, programmable logic devices, and other hardware devices, can likewise be designed to implement some or all of the exemplary methods and / or devices described herein, in whole or in part. Alternative software implementations, including but not limited to distributed processing or component / object distributed processing, parallel processing, or virtual machine processing, can also be designed to implement the exemplary methods and / or systems described herein.
[0155] It should be noted that the exemplary software and / or firmware implementations described herein are stored on a physical storage medium, such as a magnetic medium (e.g., magnetic disk or tape), a magneto-optical or optical medium, such as an optical disk, or a solid-state medium, such as a memory card or other package, which includes one or more read-only (non-volatile) memories, read / write memories, or other rewritable (volatile) memories. The exemplary software and / or firmware described herein can therefore be stored on a physical storage medium such as the storage media described above or subsequently. It should be noted that the scope of the patent is not limited to such standards and protocols to the extent that the above description describes example components and functions with respect to specific standards and protocols.For example, each of the standards for Internet and other packet-switched network transmission (e.g., Transmission Control Protocol (TCP) / Internet Protocol (IP), User Datagram Protocol (UDP) / IP, HyperText Markup Language (HTML), HyperText Transfer Protocol (HTTP)) represents examples of the current state of the art. Such standards are periodically replaced by faster or more efficient equivalents with the same general functionality. Replacement standards and protocols with the same functions are therefore equivalents covered by this patent and are to be included in the scope of the appended claims.
[0156] Although this patent discloses exemplary methods and devices that include software or firmware executed on hardware, it should be noted that these systems are merely exemplary and should not be considered limiting. For example, it is intended that any or all of these hardware and software components may be embodied exclusively in hardware, exclusively in software, exclusively in firmware, or in any combination of hardware, firmware, and / or software. Therefore, although the above description details exemplary methods, systems, and / or machine-readable media, these examples are not the only way to implement such systems, methods, and machine-readable media. Although certain exemplary methods, systems, and certain machine-readable media are described herein, the scope of protection of this patent is not limited to them.
Claims
[1] Computer-implemented method for generating a process model (601) for use in the analysis of the operation of a process (300) which can be operated in a number of different process stages as defined by a stage variable associated with the process (300), comprising: Acquiring training data from the process (300) during the operation of the process (300), wherein the training data include a value for each of a set of process parameters, a value for the stage variable, and a value of an outcome variable associated with each of a variety of different process measurement times; Dividing the training data into time fractions of the data using a computer processing device (102, 13) to produce a set of time fractional data for each time fraction of the data, wherein each set of time fractional data includes a value for each of the set of process parameters, a value for the stage variable and a value for the result variable; Storing sets of time-proportional data in a computer memory; using a computer processing device (102, 13) determine a set of process stage means from the training data, wherein the set of process stage means includes a stage variable mean for each of the process stages and one or more process parameter means for each of the process stages; Storing the sets of process stage resources in a computer memory; using a computer processing device (102, 13) determining a set of time-part means for each of the time parts of the data using the stored process stage means, wherein each set of time-part means includes a time-part mean for each of the process parameters; using a computer processing device (102, 13) developing a set of deviations from the mean for each time fraction of the data, wherein the set of deviations from the mean for a given time fraction of the data for each process parameter within the given time fraction of the data includes the use of the process parameter value of the given time fraction of the data and the time fraction mean for the process parameter for the given time fraction of the data to develop the deviation from the mean for the process parameter for the given time fraction of the data; and using a computer processing device (102, 13) generating a process model (601) using the sets of deviations from the mean for the time components of the data and the result variable values for the time components of the data. [2] Computer-implemented method according to claim 1, wherein generating the process model (601) includes generating a process model (601) that uses other sets of deviations from the mean of the process parameters to predict a value of the result variable. [3] Computer-implemented method according to claim 1, wherein, furthermore, prior to generating the process model (601), one or more of the deviations from the mean are filtered from each set of deviations from the mean. [4] Computer-implemented method according to claim 3, wherein filtering of one or more of the deviations from the means includes low-pass filtering of one or more of the deviations from the means using a low-pass filter with a time constant based on a time response for one or more of the process parameters associated with the process (300) undergoing a change in the process stage. [5] Computer-implemented method according to claim 1, wherein the division of the training data into time fractions of the data includes the time shift of one or more of the process parameter values, the stage variable value and the outcome variable value of the training data relative to each other, in order to form the time fractions of the data. [6] Computer-implemented method according to claim 5, wherein time shift includes performing a cross-correlation between at least one of the process parameters or stage variables and the result variable to determine a time delay amount associated with the at least one of the process parameters or stage variables and the result variable, and time-shifting the process parameter values for the at least one of the process parameters or the stage variable values for the stage variable with respect to the result variable values by the time delay amount, such that each time fraction of the data includes at least one of the process parameter value or stage variable value that is time-shifted with respect to the result variable value. [7] Computer-implemented method according to claim 1, wherein generating a process model (601) includes generating a quality prediction model. [8] Computer-implemented method according to claim 7, wherein generating a quality prediction model includes generating a partial least squares model, a neural network model or a multiple linear regression model. [9] Computer-implemented method according to claim 1, wherein generating a process model (601) includes generating a fault detection model. [10] Computer-implemented method according to claim 9, wherein generating the fault detection module includes generating a principal component analysis model. [11] Computer-implemented method according to claim 1, wherein the division of the acquired data into time fractions of the data includes time shift of one or more of the process parameter values and the stage variable values in the training data with respect to the outcome variable values in the training data. [12] Computer-implemented method according to claim 1, wherein the stage variable specifies a product class, a process throughput (300), a production rate or a disturbance variable of the process (300). [13] Computer-implemented method according to claim 1, wherein the determined process stage means for the process stages are further stored as part of the generated process model (601). [14] Computer-implemented method according to claim 13, further comprising acquiring new process parameter values and stage variable values from the process (300) in operation, and wherein the acquired new process parameter values and stage variable values and the process stage means are used to develop inputs into the generated process model (601) in order to develop an estimate of the outcome variables. [15] Computer-implemented method according to claim 14, further comprising the use of the estimation of the result variables to perform quality prediction or fault detection for the process (300) during the ongoing operation of the process (300). [16] Computer-implemented method according to claim 14, wherein the acquired new process parameter values and the stage variable values of the process (300) in operation are used to determine deviations from the means for a set of time fractions based on the process stage means stored as part of the process model (601). [17] Computer-implemented method according to claim 1, wherein the set of time fraction means for each of the time fractions of the data is developed by determining, for each process parameter in a specific time fraction of the data, an interpolation factor for the specific time fraction of the data using the value of the stage variable for the specific time fraction of the data and the stage variable mean for the process stages between which the value of the stage variable for the specific time fraction of the data falls, and determining the time fraction mean for each of the process parameters for the specific time fraction of the data using the interpolation factor and the values of the process parameter means for the process stages between which the value of the stage variable for the time fraction of the data falls. [18] Computer-implemented method for forming a process prediction model (601), comprising: Acquisition of process parameter values for a set of process parameters, stage variable values for a stage variable and result variable values for a result variable from an operating process (300) for each of a number of process times; using a computer processing device (102, 13) determining a set of process stage means, wherein the set of process stage means includes for each of the multiple process stages a mean of the stage variables and a mean of each of the process parameters when the process (300) is operated in each of the multiple process stages; using a computer processing device (102, 13) determine for each of the multiple sets of time-related data a time-proportion mean for each of the set of process parameters using the process stage means and a value of the stage variables associated with each of the multiple sets of time-related data; using a computer processing device (102, 13) determine a deviation from the mean for each of the process parameters for each of the multiple sets of time-related data using the time-share means and the process parameter values of each of the multiple sets of time-related data; and within a computer processing device (102, 13) using the determined deviation from the mean for each of the process parameters for each of the multiple sets of time-related data and the result variable values from each of the multiple sets of time-related data to generate a process prediction model that can be operated on a computer processing device to predict the result variable within the process (300). [19] Computer-implemented method according to claim 18, further comprising determining a definition of a stage variable range for each of the multiple process stages, and wherein determining a set of process stage means for each of the multiple process stages includes determining a mean of the stage variables using the stage variable values that fall within the defined stage variable range for each specific process stage, and a process parameter mean using the process parameter values associated with stage variable values that fall within the defined stage variable range for each specific process stage. [20] Computer-implemented method according to claim 18, wherein the generated process prediction model uses sets of deviations from the mean of the process parameters to predict a value of the outcome variable. [21] Computer-implemented method according to claim 18, wherein one or more of the deviations from the mean are further filtered before the generation of the process prediction model. [22] Computer-implemented method according to claim 18, wherein, furthermore, before a set of process stage means is determined, each of several sets of time-related data is formed by time-shifting one or more of the process parameter values, the stage variable values and the result variable values relative to each other in order to form the sets of time-related data with data from different measurement times. [23] Computer-implemented method according to claim 22, wherein a cross-correlation is further performed between at least one of the process parameters or stage variables and the result variable to determine a time delay amount associated with the process parameter or stage variable and the result variable, and the process parameter values for the process parameter or stage variable values for the stage variable are time-shifted with respect to the result variable values by the time delay amount, such that each set of time-related data includes at least one of the process parameter value or stage variable value that is time-shifted with respect to the result variable value. [24] Computer-implemented method according to claim 18, wherein generating a process prediction model includes generating a partial least squares model, a neural network model, a multiple linear regression model or a principal component analysis model. [25] Computer-implemented method according to claim 18, wherein for each of several sets of time-related data, a time-proportion mean for each of the set of process parameters is determined by determining an interpolation factor for a particular set of time-related data using the value of the stage variable for the particular set of time-related data and the stage variable means for the process stages between which the value of the stage variable for the particular set of time-related data falls, and the process parameter means for the process parameters for the particular set of time-related data are determined using the interpolation factor and the values of the process parameter means for the process parameter associated with the process stages between which the value of the stage variable for the set of time-related data falls. [26] Computer-implemented method for measuring process quality or a process defect in an operating process, comprising: Storing a computer prediction model in a computer memory, wherein the process prediction model takes as a set of inputs a set of deviations from means for each of a set of process parameters and produces as an output a predicted process quality value or a process defect value; Acquisition of process parameter data for each of the set of process parameters and process stage variable data for a process stage variable from the process (300) during the online operation of the process (300) at a variety of measurement times; using a computer processing device (102, 13) development of a series of time fractions of the data, each time fraction of the data including a process parameter value for each of the set of process parameters and a process stage variable value; using a computer processing device (102, 13) determining a deviation from a mean for each of the process parameters for each of the time components of the data; and using a computer processing device (102, 13) providing the determined deviations from the means for each of the time components of the data as inputs for the process prediction model while the process prediction model is run on the computer processing device to produce a prediction of the process quality value or the process defect value. [27] Computer-implemented method according to claim 26, further wherein the prediction of the process quality value or the process defect value is used to change the operation of the process (300). [28] Computer-implemented method according to claim 26, further wherein the prediction of the process quality value or the process defect value is used to notify a user of an operating problem of the process (300). [29] Computer-implemented method according to claim 26, wherein the deviations from the means for each of the time components of the data are determined by comparing a process parameter value of a process parameter with a time component mean for the process parameter. [30] Computer-implemented method according to claim 29, wherein the deviations from the means for each of the time components of the data are determined by determining a time component mean for a specific process parameter of a time component from a stored set of process stage means stored as part of the process prediction model. [31] Computer-implemented method according to claim 30, wherein a time-part average for a certain process parameter of a time part of the data is determined by determining an interpolation factor for the time part of the data using the value of the stage variable for the time part of the data and stored stage variable means for process stages between which the value of the stage variable for the time part of the data falls, and calculating the time-part average for the certain process parameter for the time part of the data using the interpolation factor and the values of a set of process parameter means for the certain process parameter for the process stages between which the value of the stage variable for the time part of the data falls. [32] Computer-implemented method according to claim 29, wherein one or more of the recorded process parameter values or the recorded process stage variable values are time-shifted relative to each other in order to develop the series of time components of the data. [33] Computer-implemented method according to claim 26, wherein the process stage means include a process parameter means for each process parameter and a stage variable means for the stage variable for each of a plurality of process stages. [34] Computer-implemented method according to claim 26, wherein new process parameter values and stage variable values for the process (300) are acquired and the process prediction model is adapted by determining a new set of process stage means from the acquired new process parameter values and stage variable values and storing the new set of process stage means as part of the process prediction model. [35] Computer-implemented method according to claim 26, wherein the determined deviations from the means are further filtered before the deviations from the means are used as inputs to the process prediction model. [36] Process model development system for use in modeling the operation of a process (300), comprising: a computer-readable memory; a data acquisition unit which stores in the computer-readable memory a process parameter value for each of a plurality of process parameters determined from the process (300), a stage variable value for a stage variable determined from the process (300), and a result variable value for a result variable determined from the process (300) for each of a number of different operating times of the process (300); a time proportion determination unit that determines a series of time proportions of the data from the data stored by the data acquisition unit, wherein each time proportion of the data includes a process parameter value for each of the plurality of process parameters, a stage variable value for the stage variable, and an outcome variable value for the outcome variable; a process stage mean calculation unit (312) that determines a set of process stage means for each of a plurality of process stages, wherein the set of process stage means for a given process stage includes a mean of the stage variable value from each of the time portions of the data, wherein the stage variable value is in a range associated with the given process stage, and a mean of each of the process parameter values from each of the time portions of the data, wherein the stage variable value is in a range associated with the given process stage; a time-averaging unit that calculates a time-averaging value for each of the process parameters for each of the time components of data; a deviation calculation unit (316) that calculates a deviation from the time-share mean for each of the process parameters for each of the time shares of the data, wherein the deviation calculation unit (316) calculates a deviation from the time-share mean for a given process parameter by calculating a difference between the given process parameter value of the time share of the data and the time-share mean of the time share of the data for the given process parameter; and a process model generation unit (320) which uses the deviations from the time proportion means for the time proportions of the data and the result variable data to develop a statistical process model (601) that predicts values of the result variables based on deviations from means of the process parameters. [37] Process model development system according to claim 36, wherein the time proportion determination unit includes a delay unit (308) which, as part of determining the series of time proportions of the data from the data stored by the data acquisition unit, shifts one or more of the process parameter values or the stage variable values in time with respect to the result variable value by a time delay amount, such that each time proportion of the data includes a process parameter value for one or more of the plurality of process parameters or a stage variable value for the stage variable, which is shifted in time with respect to the result variable value of the time proportion of the data. [38] Process model development system according to claim 37, further comprising a cross-correlation unit that performs a cross-correlation between one of the process parameters or stage variables and the result variable to determine the amount of time delay used by the delay unit (308) to shift one or more of the process parameter values or stage variable values in time with respect to the result variable values. [39] Process model development system according to claim 37, wherein the process model generation unit (320) stores the process stage means and the time delay amount as part of the generated statistical process model (601). [40] Process model development system according to claim 36, which further includes a filter unit (318) arranged between the deviation calculation unit (316) and the process model generation unit (320), which filters the deviations from the time proportion mean values for each of the process parameters for each of the time proportions of the data. [41] Process model development system according to claim 36, wherein the process model generation unit (320) stores the process stage means as part of the generated statistical process model (601). [42] Process model development system according to claim 36, wherein the time-share mean calculation unit calculates a time-share mean for a specific process parameter of a specific time share of the data by determining an interpolation factor for the specific time share of the data using the value of the stage variable for the specific time share of the data and stored stage variable means for process stages between which the value of the stage variable for the specific time share of the data falls, and by calculating the time-share mean for the specific process parameter for the specific time share of the data using the interpolation factor and the values of a set of process parameter means for the process stages between which the value of the stage variable for the time share of the data falls. [43] Process model development system for use in monitoring the operation of a process (300), comprising: a data acquisition unit which stores in a computer-readable memory a process parameter value for each of a plurality of process parameters that have been determined from the process (300) during the operation of the process (300), and a stage variable value for a stage variable that has been determined from the process (300) during the operation of the process (300), for each of a number of different operating times of the process (300); a time proportion determination unit that determines a series of time proportions of the data from the data that have been stored by the data acquisition unit, wherein each time proportion of the data includes a process parameter value for each of the plurality of process parameters and a stage variable value for the stage variable; a time-averaging unit that calculates a time-averaging value for each of the process parameters for each of the time components of data; a deviation calculation unit (316) that calculates a deviation from the time-share mean for each of the process parameters for each of the time shares of the data, wherein the deviation calculation unit (316) calculates a deviation from the time-share mean for a given process parameter for a given time share of the data by calculating a difference between the given process parameter value of the given time share of the data and the time-share mean of the given process parameter of the given time share of the data; and a statistical process model (601) is stored in a computer-readable memory, which is executed on a processor to predict values of an outcome variable based on the deviations from the time-proportion means of the set of process parameters associated with the process (300). [44] Process monitoring system according to claim 43, further comprising an alarm unit that generates a user notification when the forecast value indicates a process error or a process quality problem. [45] Process monitoring system according to claim 44, wherein the alarm unit compares the predicted value of the result variable with a threshold value to determine whether the notification should be generated. [46] Process monitoring system according to claim 43, wherein the time proportion determination unit includes a delay unit which, as part of determining the series of time proportions of the data from the data stored by the data acquisition unit, shifts one or more of the process parameter values or the stage variable values in time by a time delay amount, so that each time proportion of the data includes a process parameter value for one or more of the plurality of process parameters or a stage variable value for the stage variable, which is shifted in time by the time delay amount. [47] Process monitoring system according to claim 46, wherein the delay unit receives the time delay amount from the statistical process model (601). [48] Process monitoring system according to claim 43, which further includes a filter unit (318) arranged between the deviation calculation unit (316) and the statistical process model (601) to filter the deviations from the time-share mean values produced by the deviation calculation unit (316) for one or more of the process parameters for each of the time shares of the data. [49] Process monitoring system according to claim 48, wherein the filter unit (318) performs filtering using a filter time coefficient, and wherein the filter time coefficient is stored as part of the statistical process model (601) as a filter time coefficient that was used to create the statistical process model (601). [50] Process monitoring system according to claim 43, wherein the time-amount average calculation unit calculates a time-amount average for a specific process parameter of a specific time fraction of the data by determining an interpolation factor for the specific time fraction of the data using the value of the stage variable for the specific time fraction of the data and stored stage variable means for process stages between which the value of the stage variable for the specific time fraction of the data falls, and by calculating the time-amount average for the specific process parameter for the specific time fraction of the data using the interpolation factor and the values of a set of process parameter means for the specific process parameters for the process stages between which the value of the stage variable for the time fraction of the data falls. [51] Process monitoring system according to claim 50, wherein the statistical process model (601) stores the stage variable means and the set of process parameter means as a set of process stage means used to generate the statistical process model (601). [52] Computer-implemented method for adapting a process model (601) during the online operation of a process (300) in operation, comprising: Storing a process model (601) in a computer memory, wherein the process model (601) takes as a set of inputs a set of deviations of means for each of a set of process parameters and produces as an output a predicted process quality or process defect value, wherein the process model (601) is a statistical process model formed using a training set of data acquired from the process (300), and wherein the process model (601) includes a set of process stage means developed from the training set of data, the set of process stage means including a mean for each of the process parameters and the stage variable for each of a plurality of distinct process stages; Acquisition of new process parameter data for each of the set of process parameters and new stage variable data for the stage variable from the process (300) during online operation of the process at a variety of measurement times; using a computer processing device (102, 13) development of a new set of process stage means for the process model (601) from the newly acquired process parameter data and the stage variable data; and Storing the new set of process stage means in computer memory as part of the process model (601) to be used as input to the process model (601) when determining deviation of means without rebuilding the process model (601). [53] Computer-implemented method according to claim 52, wherein the development of a new set of process stage means includes the development of a new set of process stage means for a subset of the plurality of different process stages, and the storage of the new set of process stage means includes the storage of the new set of process stage means for the subset of the plurality of different process stages without changing the process stage means for a plurality of different process stages that are not in the subset of the plurality of different process stages. [54] Computer-implemented method according to claim 52, wherein developing a new set of process stage means includes developing a new set of process stage means for a single process stage, and storing the new set of process stage means includes storing the new set of process stage means for the single process stage without changing the process stage means for process stages other than the single process stage. [55] Computer-implemented method according to claim 52, wherein developing a new set of process stage means includes developing a new set of process stage means for all of the plurality of different process stages associated with the process model (601), and storing the new set of process stage means includes storing the new set of process stage means as part of the process model (601). [56] Computer-implemented method according to claim 52, wherein one or more of the newly acquired process parameter data values or the newly acquired process stage variable values are time-shifted relative to each other before the new set of process stage means is determined. [57] Computer-implemented method according to claim 56, wherein time shifting includes shifting the time of one or more of the newly acquired process parameter values or the newly acquired process stage variable values by a time delay amount that is stored as part of the process model (601). [58] Computer-implemented method according to claim 52, wherein the process model (601) is executed in the computer processing device and the new process stage means are used to determine new deviations from the means used as inputs to the process model (601). [59] Computer-implemented method according to claim 52, wherein the process model (601) includes a neural network model, a multiple linear regression model, a principal component analysis model or a partial least squares model. [60] Computer-implemented method according to claim 52, wherein developing the new set of process stage means for the process model (601) from the newly acquired process parameter data and the newly acquired stage variable data includes normalizing the newly acquired process parameter data and the newly acquired stage variable data before generating the new set of process stage means. [61] Computer-implemented method according to claim 52, wherein developing the new set of process stage means for the process model (601) includes applying a distortion value to the process stage means of the process model (601) to develop the new process stage means.
Citation Information
Patent Citations
Predictive emissions monitoring system and method
US20070225836A1
Methods and apparatus to predict process quality in a process control system
US20100318934A1