Method and apparatus for implementing predictive analytics for continuous processes
By dividing continuous processes into discrete-time sampling batches and applying batch-like analytical techniques, the challenge of dynamic behavior in continuous systems is addressed, enabling real-time fault detection and quality prediction.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- FISHER ROSEMOUNT SYST INC
- Filing Date
- 2020-04-28
- Publication Date
- 2026-05-28
AI Technical Summary
Conventional batch analysis techniques, such as PCA and PLS, are not suitable for continuous process control systems due to their inability to account for dynamic behavior over time, making it difficult to provide reliable predictive analysis.
Divide a continuous process into discrete-time portions called sampling batches, analogous to batch processes, and apply batch-like analytical techniques using a virtual batch unit to mimic a normal batch process, enabling predictive analysis by generating predictive analytics information.
Enables virtually real-time fault detection and quality prediction of continuous processes by analyzing discrete-time portions, providing continuous updates and enhancing operator response to process deviations.
Smart Images

Figure 0007866823000001 
Figure 0007866823000002 
Figure 0007866823000003
Abstract
Description
Technical Field
[0001] This disclosure generally relates to process control systems, and more specifically, to methods and apparatuses for implementing predictive analysis of continuous processes.
Background Art
[0002] Process control systems can be implemented as batch process control or continuous process control. Batch process control includes the processing of a specific batch associated with a specific quantity of material processed for a specific duration, resulting in an output product. Thus, batch processes have defined start and end (discrete times) corresponding to the time required to process the material supplied to the system at the start to produce the final output product. In contrast, continuous process control involves continuously processing material to produce an output product. Thus, the duration of a continuous process can be extended to any specified time (theoretically indefinitely), and the amount of output product produced increases with the increase in duration.
Summary of the Invention
[0003] Exemplary methods and apparatuses for implementing predictive analysis for continuous processes are disclosed. The exemplary apparatus includes a virtual batch unit controller for implementing a sampling batch in a virtual batch unit. The sampling batch corresponds to the discrete times of the continuous control system process. The virtual batch unit includes input parameters and output parameters corresponding to the parameters related to the continuous control system process. The exemplary apparatus further includes a sampling batch analyzer for generating predictive analysis information indicating the predicted quality of the output of the continuous control system process at the end of the discrete time based on the analysis of the sampling batch for the analysis model. portion corresponding to. The virtual batch unit includes input parameters and output parameters corresponding to the parameters related to the continuous control system process. The exemplary apparatus further includes a sampling batch analyzer for generating predictive analysis information indicating the predicted quality of the output of the continuous control system process at the end of the discrete time based on the analysis of the sampling batch for the analysis model. portion corresponding to. The virtual batch unit includes input parameters and output parameters corresponding to the parameters related to the continuous control system process. The exemplary apparatus further includes a sampling batch analyzer for generating predictive analysis information indicating the predicted quality of the output of the continuous control system process at the end of the discrete time based on the analysis of the sampling batch for the analysis model.
[0004] An exemplary non-temporary computer-readable medium, when executed, includes instructions that cause a machine to implement at least a sampling batch in a virtual batch unit. The sampling batch is a discrete time step in a continuous control system process. portion This corresponds to the virtual batch unit, which includes input and output parameters corresponding to the parameters related to the continuous control system process. The exemplary instruction further tells the machine to analyze the discrete time based on the analysis of the sampling batch against the analysis model. portion At the end of the process, predictive analysis information is generated that displays the predicted quality of the output of the continuous control system process.
[0005] An exemplary method involves implementing a sampling batch in a virtual batch unit. The sampling batch is discrete time for a continuous control system process. portion This corresponds to the virtual batch unit, which includes input and output parameters corresponding to the parameters related to the continuous control system process. The exemplary method is discrete-time based on the analysis of the sampling batch for the analysis model. portion This further includes generating predictive analytics information that displays the predicted quality of the output of the continuous control system process at its termination. [Brief explanation of the drawing]
[0006] [Figure 1] This is a schematic diagram of an exemplary process control system. [Figure 2] Figure 1 shows an exemplary method for implementing the predictive analytics engine. [Figure 3] Includes graphs illustrating the dynamic behavior of process parameters, including exemplary quality parameters and historical process data, related to the process of an exemplary continuous control system. [Figure 4] Figure 3 is an enlarged view of an example graph. [Figure 5] This is a schematic diagram of an exemplary virtual batch unit implemented in accordance with the teachings disclosed herein. [Figure 6]This graph shows the parameter behavior of an exemplary continuous control system process in operation. [Figure 7] This is an exemplary quality prediction interface that may be rendered in accordance with the teachings disclosed herein. [Figure 8] Figures 1 and / or 2 are flowcharts illustrating exemplary methods that may be performed to implement the exemplary predictive analytics engine. [Figure 9] Figures 1 and / or 2 are flowcharts illustrating exemplary methods that may be performed to implement the exemplary predictive analytics engine. [Figure 10] Figures 1 and / or 2 are flowcharts illustrating exemplary methods that may be performed to implement the exemplary predictive analytics engine. [Figure 11] This is a schematic diagram of an exemplary processor platform that may be used and / or programmed to perform the exemplary methods in Figures 8-10, and / or more generally, to implement the exemplary predictive analytics engines in Figures 1 and / or 2.
[0007] The drawings are not to scale. Generally, the same reference number is used throughout the drawings and accompanying written descriptions to refer to the same or similar portion.
[0008] Descriptors such as “First,” “Second,” and “Third” are used herein to identify multiple elements or components that may be referred to separately. Such descriptors are not intended to complement any sense of priority, physical order, arrangement in a list, or chronological order, unless otherwise specified or understood based on the context of use, but are used simply as labels to refer to multiple elements or components separately in order to facilitate understanding of the disclosed examples. In some examples, the descriptor “First” may refer to an element in a detailed description, but the same element may refer to a different element in a claim that has different descriptors such as “Second” or “Third.” In such cases, it should be understood that such descriptors are simply used to facilitate reference to multiple elements or components. [Modes for carrying out the invention]
[0009] In many cases, batch control analysis is implemented during the execution of a batch process to improve and / or maintain the safety, performance, and / or efficiency of the batch process by enabling near real-time failure detection and quality prediction of the process. More specifically, in some examples, batch control analysis involves multivariate analysis of batch processes against batch process models generated from previously executed (e.g., historically archived) batch processes. Common tools used to create statistical models for batch analysis include principal component analysis (PCA) and projection on latent structure (PLS), also known as partial least squares.
[0010] While batch analysis allows for fault detection and quality prediction of output products during batch processing, similar analysis cannot be used for continuous process control. In particular, PCA and PLS (used in batch analysis) cannot explain the dynamic behavior of continuous systems that deviate from a steady state and then restore it. Specifically, in continuous process systems, deviations from the steady state are detected and corrected based on changes in processing parameters over time. Therefore, the response of a continuous process to deviations is transient or time-based. However, since PCA and PLS do not include a time dimension, they are not suitable for direct application to continuous steady-state process control systems. A potential approach to providing predictive analysis for continuous process control systems is to develop analytical models that rely on the physical mechanisms of the process and, for example, time-dependent analysis based on differential equations. However, due to the nonlinearity and sensitivity of the dynamic behavior of such differential equations, training such models is difficult, and therefore such approaches may not produce reliable models.
[0011] The examples disclosed herein enable predictive analysis of continuous process control systems using batch-like analytical techniques. More specifically, the examples disclosed herein specify consecutive discrete-time portions of a continuous process, which can be analogous to a series or campaign of consecutive batch processes. Herein, each discrete-time portion of a continuous process is referred to as a sampling batch to distinguish it from a regular batch associated with an actual batch process. By dividing a continuous process into multiple discrete segments according to the teachings disclosed herein, the discrete segments can be treated as individual batches, thereby enabling predictive analytical information of the continuous process to be generated by applying batch-like analytical techniques.
[0012] A standard batch process control framework was adopted by the International Society of Automation (ISA) in 1995 as ISA-88. The ISA-88 standard defines a procedural control framework for batch processes in the context of a recipe containing one or more unit procedures, which include an ordered set of operations, and the operations include an ordered set of phases. Standard continuous process control systems are not covered by the ISA-88 standard and are therefore not typically defined in terms of procedural units, operations, and phases. However, in some examples disclosed herein, a virtual batch unit is generated for a continuous process system that runs in parallel with the continuous process to provide predictive analysis of the process. That is, in some examples, the continuous process system is controlled using standard continuous process control techniques, while a virtual batch unit, which mirrors the continuous process but is configured to mimic a normal batch process, is implemented in parallel to run a sampling batch (corresponding to the discrete-time portion of the process described above) of the continuous system, for the purpose of providing predictive analysis in a manner similar to batch analysis.
[0013] More specifically, in some examples, a dummy batch recipe can be defined to run a series of sampling batches in a virtual batch unit, simulating a campaign of consecutive batches (in accordance with ISA-88) while mirroring the actual series process. Since the virtual batch unit is defined to include input and output parameters that are monitored and analyzed in relation to each individual sampling batch, corresponding to the associated inputs, outputs, and / or process parameters of the series process, the implementation of the virtual batch unit can reflect the actual series process control system. Furthermore, in some examples, the virtual batch unit is defined to include initial conditions (separate from the input parameters) corresponding to the values of process parameters when a new sampling batch is initiated.
[0014] By dividing a continuous process into discrete parts implemented in relation to the virtual batch units defined above, each individual part (e.g., a sampling batch) is analyzed using batch-like analytical techniques to provide fault detection and / or quality prediction for the current individual part of the continuous process being analyzed. Furthermore, by repeating the analysis of each successive sampling batch (e.g., a discrete part) defined in the continuous process, continuous updates to predictive analysis can be provided across the entire continuous process.
[0015] In some examples, the duration of each sampling batch in a continuous process is set to a fixed period. In such examples, the analysis of the continuous process is performed without dynamic time stretching (DTW), as is commonly implemented in conventional batch analysis. In some examples, the fixed period or duration defined for a sampling batch corresponds to the residence time of the continuous process system. As used herein, residence time (also known as retention time) of a process system refers to the duration that a material is processed (e.g., present) within the system. That is, residence time corresponds to the duration between when a particular material is first introduced into the process as input and when that particular material is processed into the resulting output product. Often, the residence time of a continuous process control system is not constant for materials introduced into the system at different points in time due to backflow and / or mixing of materials. Thus, residence time can be expressed as a distribution in which some materials remain in the process system longer than others. Therefore, in some examples, the residence time used to define the length of individual sampling batches is estimated based on the average residence time of the continuous process system. In some examples, the duration of each sampling batch is equal to the estimated residence time. In other examples, the duration of each sampling batch (e.g., up to four times the estimated dwell time) can be longer than the dwell time. Longer sampling batch durations may make it easier to capture dynamic process behavior in the process control system. On the other hand, longer sampling batch durations result in a lower frequency of predictive analytical information.
[0016] As described above, process behavior is dynamic (e.g., deviations from the system and their correction are time-dependent), so conventional batch analysis (based on PCA and PLS) cannot be directly applied to continuous steady-state process systems. The examples disclosed herein illustrate dynamic (time-based) changes in process behavior in a continuous process system by using sampling batches (e.g., discrete portions) of historical process data from a related continuous process as training data to develop an analytical model, where the historical sampling batches of historical process data are selected to correspond to specific times when the process has dynamically changed. In standard batch analysis, an analytical model is generated based on training data corresponding to historical process data related to multiple batches; that is, all data from the start to the end of the training batch is used to generate the model. In contrast, only isolated portions of historical process data from a continuous process are used to define a historical sampling batch that is used as the basis for generating an analytical model that can analyze sampling batches implemented in real time. Furthermore, in some examples, the historical process data is used to define a first historical sampling batch, which may overlap in time with the historical process data used to define a second historical sampling batch.
[0017] For example, assume that a continuous process system is currently in a non-steady state, such as at the start of the system. At startup, before the system reaches a steady state, significant changes may be made to the process parameters (measured at the output) and / or quality parameters. Using a single historical sampling batch corresponding to the historical process data related to the entire startup period cannot explain the dynamic behavior that occurs during the period. Therefore, in some examples, multiple historical sampling batches are extracted from the historical data corresponding to the startup period of a single continuous process where the start time and end time of each historical sampling batch are slightly offset from each other. As a result, different historical sampling batches cover overlapping times. In some examples, the time offsets of successive historical sampling batches are defined to provide sufficient granularity to accurately capture the dynamic behavior of the process parameters and / or quality parameters within the system. Therefore, the amount of overlapping data between different historical sampling batches depends on the amount of dynamic behavior (e.g., volatility) of the process parameters and / or quality parameters at the points of interest. Usually, during the startup and shutdown periods of a continuous process, the dynamic behavior is greater than during the steady state period. Therefore, in some examples, the historical sampling batches extracted from the historical process data of a continuous process overlap more closely before and after the startup and shutdown periods than the historical sampling batches extracted at times corresponding to the steady state period of the system. In some examples, the historical sampling batches corresponding to the steady state period may not overlap at all. Further, the above examples are described with respect to historical data related to a single continuous process with a single startup and a single shutdown, but the historical sampling batches may be extracted from multiple similar continuous processes and / or during multiple startups and shutdowns and the related steady state periods in between.
[0018] Typically, a continuous process control system operates in a steady state far more frequently than during startup or shutdown periods. Thus, in some instances, more history sampling batches corresponding to steady state periods than history sampling batches corresponding to startup or shutdown periods are used for model generation. However, a complete training set of history sampling batches includes at least some sampling batches corresponding to startup periods, some batches corresponding to steady times, and some batches corresponding to shutdown periods. Once the training set of history sampling batches is identified, an analytical model is generated or trained based on the history sampling batches in the same manner as a conventional batch analysis model is generated from history batch data. Once the analytical model is generated, real-time sampling batches corresponding to the current continuous process are analyzed, and predictive analysis information is generated that indicates fault detection and / or quality prediction of the output product of the process.
[0019] FIG. 1 is a schematic diagram of an exemplary process control system 100 that may be implemented in accordance with the teachings disclosed herein. In this example, process control system 100 implements a continuous process. The exemplary process control system 100 of FIG. 1 includes one or more process controllers (one designated by reference numeral 102), one or more operator stations (one designated by reference numeral 104), and one or more workstations (one of which is designated by reference numeral 106). The exemplary process controller 102, the exemplary operator station 104, and the exemplary workstation 106 are communicatively coupled via a bus and / or a local area network (LAN) 108, which is generally referred to as an application control network (ACN).
[0020] The exemplary operator station 104 in Figure 1 allows the operator to view and / or operate one or more operator display screens and / or applications that enable the operator to view parameters, states, conditions, alarms, etc. of the process control system and / or change settings of the process control system (e.g., setpoints, operating states, etc.). The exemplary operator station 104 includes and / or implements an exemplary predictive analytics engine 105 to generate predictive analytics for a continuous process implemented within the process control system 100. An exemplary method for implementing the exemplary predictive analytics engine 105 in Figure 1 is described below in relation to Figure 2.
[0021] In some examples, the predictive analytics engine 105 runs a virtual batch unit associated with a dummy recipe that outlines the steps for implementing a particular sampling batch of a continuous process. As further described above and below, a sampling batch is a discrete-time portion of a continuous process implemented in a virtual batch unit for analytical purposes independent of the actual control of the continuous process. In some examples, when the current sampling batch process finishes, the predictive analytics engine 105 initiates a new sampling batch in the virtual batch unit, and the successive sampling batches form a chain or campaign of successive batches that run in parallel with and correspond to the continuous process. While the virtual batch unit is running for each sampling batch, the predictive analytics engine 105 monitors process parameters and / or other inputs and outputs related to the current sampling batch in virtually real time. Furthermore, the exemplary predictive analytics engine 105 applies an analytical model to the current sampling batch in virtually real time to detect faults and / or generate predictions about the quality of the output of the continuous process at some point in the future, corresponding to when the current sampling batch finishes. By performing this analysis on successive batches of sampling batches, the predictive analytics engine 105 can provide virtually real-time fault detection and quality prediction of the continuous process in a continuous manner. Such predictive analytics information enhances the operator's understanding of the current state of the process control system 100 and anticipated changes in that state, thereby enabling the operator to respond more quickly and effectively to unexpected deviations in the process.
[0022] The exemplary workstation 106 in Figure 1 may be configured as an application station for performing one or more information technology applications, user-interactive applications, and / or communication applications. For example, application station 106 may be configured to primarily perform process control-related applications, and another application station (not shown) may be configured to primarily perform communication applications, enabling the process control system 100 to communicate with other devices or systems using any necessary communication media (wireless, hardwired, etc.) and protocols (HTTP, SOAP, etc.). The exemplary operator station 104 and exemplary workstation 106 in Figure 1 may be implemented using one or more workstations and / or any other suitable computer systems and / or processing systems. For example, operator station 104 and / or workstation 106 may be implemented using a single-processor personal computer, a single or multi-processor workstation, etc.
[0023] The exemplary LAN 108 in Figure 1 can be implemented using any desired communication medium and protocol. For example, LAN 108 can be based on a hardwired and / or wireless Ethernet communication scheme. However, any other suitable communication medium(s) and / or protocol can be used. Furthermore, although a single LAN 108 is shown in Figure 1, multiple LANs and / or other alternative communication hardware can be used to provide redundant communication paths between the exemplary systems in Figure 1.
[0024] The exemplary controller 102 in Figure 1 is coupled to several smart field devices 110, 112, and 114 via a digital data bus 116 and an input / output (I / O) gateway 118. The smart field devices 110, 112, and 114 could be fieldbus-compliant valves, actuators, sensors, etc., in which case they would use the well-known Foundation Fieldbus protocol and communicate via the digital data bus 116. Of course, other types of smart field devices and communication protocols could be used instead. For example, the smart field devices 110, 112, and 114 could instead be Profibus and / or HART-compliant devices that use the well-known Profibus and HART communication protocols and communicate via the data bus 116. Additional I / O devices (similar to and / or identical to the I / O gateway 118) may be coupled to the controller 102 to allow additional groups of smart field devices, such as foundation field devices and HART devices, to communicate with the controller 102.
[0025] In addition to the exemplary smart field devices 110, 112, and 114, one or more non-smart field devices 120 and 122 may be communicatively coupled to the exemplary controller 102. The exemplary non-smart field devices 120 and 122 in Figure 1 may be conventional 4-20 milliampere (mA) or 0-10 volt direct current (VDC) devices that communicate with the controller 102 via their respective hardwired links.
[0026] The exemplary controller 102 in Figure 1 may be, for example, a Delta V® controller sold by Fisher Rosemount Systems Inc., an Emerson Process Management Company. However, other controllers may be used instead. Furthermore, although only one controller 102 is shown in Figure 1, additional controllers and / or process control platforms of any desired type and / or combination of types can be coupled to the LAN 108. In any case, the exemplary controller 102 performs one or more process control routines related to the process control system 100, which are generated by a system engineer and / or other system operator using the operator station 104, downloaded to the controller 102, and / or instantiated on the controller 102.
[0027] Figure 1 shows an exemplary process control system 100 in which methods and apparatus for performing predictive analysis on a continuous process control system, which will be described in more detail below, may be advantageously employed. However, those skilled in the art will readily understand that methods and apparatus for controlling the information described herein, presented to operators and / or other personnel, may be advantageously employed as needed in other process plants and / or process control systems that are more or less complex than the example shown in Figure 1 (e.g., having multiple controllers, spanning geographical locations, etc.).
[0028] Figure 2 shows an exemplary method for implementing the exemplary predictive analytics engine 105 of Figure 1. The exemplary predictive analytics engine 105 of Figure 2 includes an exemplary communication interface 202, an exemplary dwell time analyzer 204, an exemplary history sampling batch generator 206, an exemplary batch model generator 208, an exemplary virtual batch unit controller 210, an exemplary sampling batch analyzer 212, an exemplary database 214, and an exemplary user interface 216.
[0029] The exemplary predictive analytics engine 105 in Figure 2 includes an exemplary communication interface 202 for communicating with other components within the exemplary process control system 100. In some examples, the communication interface 202 receives process control data (displaying process parameter values) from field devices 110, 112, 114, 120, and 122 in substantially real time via the controller 102. In some examples, such process control data is sent to a continuous history database 218 for storage. In some such examples, the communication interface 202 retrieves historical process data from the continuous history database 218. In some examples, the continuous history database 218 is implemented by an exemplary database 214 of the predictive analytics engine 105. In other examples (as shown in the illustrated example), the continuous history database 218 is implemented separately from the predictive analytics engine 105 and / or separately from the operator station 104.
[0030] The exemplary predictive analytics engine 105 in Figure 2 includes an exemplary residence time analyzer 204 that analyzes historical process data related to a continuous control system process to estimate the residence time of a continuous process. As described above, residence time corresponds to the time it takes for a material to pass through or be processed by the continuous system. In some examples, the residence time analyzer 204 estimates the residence time based on the duration between when the continuous system first starts and the earliest response of the system at the exit, as shown in Figure 3.
[0031] Figure 3 includes a first graph 300 showing the changes over time of quality parameters 302, 304, and 306 at the exit of an exemplary continuous system, and a second graph 308 showing the changes over the same time of process parameters and / or other input parameters 310, 312, and 314 (collectively referred to herein as process parameters for brevity) of the continuous system. The quality parameters 302, 304, and 306 may or may not correspond to the process parameters 310, 312, and 314. Furthermore, for illustrative purposes, three quality parameters and three process parameters are shown, but there may be any number of quality parameters and any number of process parameters.
[0032] In the illustrated example, the first and second graphs 300 and 308 are temporally aligned with a common timescale to allow for a comparison of quality parameters 302, 304, and 306 with process parameters 310, 312, and 314 at any given point in time during the process. As shown in the illustrated example, a continuous control system process can be divided into three general phases or periods, including a start-up period 316, a steady-state period 318, and a shutdown period 320. The steady-state period 318 corresponds to when the continuous process has achieved a substantially stable state, where the process parameters 310, 312, and 314 have reached a desired value (e.g., a setpoint) and / or are maintained within an acceptable threshold for such a value, and the quality parameters 302, 304, and 306 are similarly maintained in a substantially steady state (e.g., within an acceptable threshold for the desired value). The start and shutdown periods 316 and 320, as their names suggest, correspond to the time before the steady-state period 318 in which the process first begins, and the time after the steady-state period 318 in which the process is shut down.
[0033] In a continuous control system, the steady-state period 318 can be significantly (e.g., several orders of magnitude) longer than either the start-up period 316 or the shutdown period 320. Therefore, in the illustrated example in Figure 3, graphs 300 and 308 briefly illustrate the length of the period in which the interruption 322 is included within the steady-state period 318 and can be extended for any duration up to time S. Based on the timescale shown in the illustrated example, the start-up period 316 ends and the steady-state period 318 begins approximately 30 minutes after the process first starts. Process parameters 310, 312, and 314 reach a steady state in 20 minutes, but the steady-state period 318 does not begin until 30 minutes because it takes that much longer for the second quality parameter 304 to reach a steady state. Since quality parameters are measured on the output side of the process, while process parameters (at least the inlet parameters) are measured on the input side of the process, there is a delay in the response of quality parameters 302, 304, and 306 to process parameters 310, 312, and 314. This delay is the basis on which the exemplary dwell time analyzer 204 can estimate the dwell time of a continuous process. In particular, in some examples, the dwell time analyzer 204 determines the approximate dwell time of a process based on the duration between when the continuous system first starts (at time 0) and the earliest response of the system at the exit. In the illustrated example in Figure 3, the dwell time (identified by reference number 324) is approximately 10 minutes, as this is when the first and third quality parameters 302, 306 begin to respond for the first time. In this example, the fact that the second quality parameter 304 does not begin to respond until several minutes later is irrelevant to the determination of the dwell time 324. In some examples, the dwell time may be determined based on the earliest response of a particular quality parameter, regardless of whether other parameters responded before that particular parameter. For example, when the second quality parameter 304 is used, the dwell time is determined to be close to 13 minutes, as this is when the second quality parameter begins to change for the first time in the illustrated example in Figure 3. For illustrative purposes, it is assumed that the dwell time in the illustrated example is 10 minutes.
[0034] Returning to Figure 2, the exemplary predictive analytics engine 105 includes a historical sampling batch generator 206 that generates historical sampling batches used to generate or train analytical models used to produce predictive analytics information for a continuous process. As used herein, a historical sampling batch contains historical process data related to a continuous control system process over discrete time (e.g., a specified start and end separated by a fixed duration). The historical process data corresponds to process parameters of the control system, as shown in the second graph 308 of Figure 3. In some examples, the time or length of the historical sampling batch is defined based on an estimated value of the residence time 324 determined by the residence time analyzer 204. That is, in some examples, the historical sampling batch is defined by a time corresponding to the residence time of the continuous process system.
[0035] In some examples, the historical sampling batch generator 206 determines specific start and end times for different historical sampling batches based on the values of quality parameters (represented in the first graph 300 in Figure 3) at a specific point in time of interest. More specifically, as mentioned above, quality parameters 302, 304, and 306 are metrics of the quality of the output of a continuous process system. Thus, in some examples, the quality parameters at a specific point in time are identified, and the end time of the historical sampling batch is specified. Furthermore, the values of the quality parameters at a specific quality reading point serve as the result or output of the associated historical sampling batch ending at the same point in time. The start of a historical sampling batch is determined by working backward over a fixed length of the historical sampling batch (corresponding to the dwell time described earlier). As a specific example, Figure 3 shows a quality reading point 326 selected in the first graph 300 at approximately 22.5 minutes into the process. Following the downward arrow to the second graph 308, quality reading point 326 reveals the end time 328 of a historical sampling batch containing historical process data (e.g., values of process parameters 310, 312, and 314) during the period outlined by box 330. The duration (e.g., width) of box 330 corresponds to the dwell time 324 (e.g., 10 minutes in this example), thereby defining the start time 332 of the historical sampling batch at approximately 12.5 minutes of the continuous process. The exemplary historical sampling batch generator 206 generates the historical sampling batch for the time identified by box 330 by retrieving historical process control data (e.g., values of process parameters 310, 312, and 314) during the period defined by box 330. The exemplary historical sampling batch generator 206 further sets the initial conditions for the historical sampling batch. In some examples, the initial conditions correspond to the values of process parameters 310, 312, and 314 at the start time 332 of the historical sampling batch.
[0036] In some examples, the number of historical sampling batches generated by the historical sampling batch generator 206 and their time intervals are based on the degree of dynamic change in historical process data and / or quality parameters over time. For example, as shown in the first graph 300 in Figure 3, the first quality parameter 302 drops sharply immediately after one residence time 324 (10 minutes) and reaches a steady state of the process at 15 minutes. Thus, there is a significant change in the dynamics of the first quality parameter 302 between 10 and 15 minutes of the process. The second quality parameter 304 also begins to drop immediately after the first residence time 324, but its drop is more gradual and takes longer than that of the first quality parameter 302. The third quality parameter 306 also begins to change at approximately 10 minutes (1 residence time) and fluctuates significantly for a period of time before reaching a steady state of the process at approximately 25 minutes. The relatively gentle slope of the second quality parameter 304 results in the second quality parameter 304 taking longer to reach a steady state than either the first or third quality parameters 302 or 306.
[0037] To adequately capture the relatively high degree of dynamic change of the first and third quality parameters 302, 306 during the startup period 316, the exemplary history sampling batch generator 206 can select or identify multiple quality reading points spaced relatively short apart. After 25 minutes of the exemplary process represented by graphs 300, 308 in Figure 3, when the first and third quality parameters 302, 306 have reached a steady state, the exemplary history sampling batch generator 206 can select or identify additional quality reading points, which are spaced more widely apart because the degree of dynamic change of the second quality parameter 304 is smaller. After all three quality parameters 302, 304, and 306 have reached a steady state (for example, when the process enters the steady-state period 318), the spacing between quality reading points can be further widened. This is illustrated graphically in the illustrated example in Figure 4, which includes an enlarged portion of graphs 300, 308 in Figure 3.
[0038] In the example shown in Figure 4, 20 different quality reading points 402 are identified and labeled Q1 to Q20, respectively. As shown in Figure 4, the first quality reading point 402 (Q1) is positioned at the 10-minute mark, corresponding to one residence time 324. The first quality reading point 402 (Q1) is set at one residence time, allowing the first portion of the historical process control data (identified in box 404) to define a complete historical sampling batch of fixed length corresponding to the residence time 324, as shown in the example illustrated above. In the illustrated example, the next 15 quality reading points 402 (Q2 to Q16) are spaced relatively short apart to capture the dynamic changes of quality parameters 302, 304, and 306 from the 10-minute mark to the 25-minute mark (when the third quality parameter 306 reaches a steady state). For clarity, the first to 16 quality reading points 402 (Q1 to Q16) are spaced 1 minute apart. However, in some cases, relatively high dynamic changes in quality parameters during this time can cause the time intervals of quality reading points 402 to be significantly smaller (e.g., 1 second, 5 seconds, 10 seconds, 15 seconds, etc.). Alternatively, if the dynamic changes in quality parameters are small, the time intervals of quality reading points 402 can be increased. For example, as mentioned above, the slope of the second quality parameter 304 is gentler than the changes in the first and third quality parameters 302 and 306. As a result, in the illustrated example, quality reading points 402, which start at 25 minutes (Q16) and extend to the end of the start period 316 at 30 minutes (Q18), are set at intervals of 2.5 minutes. After entering the steady state period 318, since there are virtually no dynamic changes in quality parameters 302, 304, and 306, the quality reading points 402 are spaced further apart (e.g., every 5 minutes in the illustrated example).
[0039] The time intervals for quality reading points 402 are described as being based on dynamic changes to quality parameters 302, 304, and 306, but in some examples, the time intervals can be based, additionally or alternatively, on dynamic changes to process parameters 310, 312, and 314. More specifically, in some examples, the time intervals for quality reading points 402 are based on the parameter with the greatest degree of dynamic change at the relevant time. Furthermore, while the time intervals for quality reading points 402 are shown as relatively fixed intervals, in some examples, different quality reading points 402 may be placed at irregular intervals that are suitable for the parameter fluctuations at the corresponding time. In some examples, the timing of quality reading points 402 is randomly selected within a suitable range of the entire time of a continuous process. For example, in some examples, the history sampling batch generator 206 appropriately captures the dynamic behavior of the parameters during the start period 316 and determines a suitable number of quality reading points required to randomly identify a particular time within the start period 316 (starting with one dwell time) for a given number of quality reading points. This random selection process may be repeated during the steady-state period 318 and the shutdown period 320.
[0040] As illustrated in the example in Figure 4, the time interval between adjacent quality readings 402 varies depending on the degree of dynamic change associated with quality parameters 302, 304, and 306, but the interval between quality readings 402 is smaller than the dwell time 324. As a result, different historical sampling batches generated for different quality readings 402 contain overlapping portions of historical process data. For example, as described above, the first portion of historical process data 404 corresponds to the process parameter values from time 0 to 10 minutes. The second portion of historical process data 406 corresponds to the ninth quality reading 402 (Q9) set at 18 minutes into the process, as shown in the illustrated example. Since quality readings 402 define the end time of the associated historical sampling batch, the start time is determined retrospectively by the dwell time 324 (10 minutes in this example). Thus, the beginning of the second portion of historical process data 406 in the illustrated example is 8 minutes into the process, resulting in a 2-minute overlap with the first portion of historical process data 404. The third portion of the historical process data 408 is shown to extend from 15 to 25 minutes into the process, resulting in a 3-minute overlap with the second portion of the historical process data 406. The fourth portion of the historical process data 410 is shown to extend from 30 to 40 minutes into the process, so as not to overlap with the first three portions of the historical process data shown in Figure 4. However, any additional portions of the historical process data retrieved during their respective time periods related to other quality reading points 402 result in each portion of the historical process data overlapping with at least one other portion of the data. Although the portions of the historical process data overlap, the time shifts or time intervals between adjacent portions of the data result in different values for quality and process parameters at the corresponding quality reading points 402, as well as differences in processing parameters at the beginning of each portion of the data (which serve as initial conditions for each related historical sampling batch).
[0041] In some examples, where there is virtually no dynamic change in quality parameters and / or process parameters during the time corresponding to the residence time 324 (e.g., during the steady-state period 318), the time interval of quality reading points 402 may be equal to or longer than the residence time. In such situations, as mentioned above, the duration of the historical sampling batch generated based on the portion of historical process data is equal to the residence time, so the portions of historical process data of different corresponding historical sampling batches do not overlap. The above example was described with historical sampling batches assumed to have a duration corresponding to the residence time, but in other examples, historical sampling batches may be defined with a duration longer than the residence time (e.g., twice, three times, etc., the residence time).
[0042] While the above discussion in Figure 4 is limited to the selection of quality reading points 402 during the startup period 316 and the steady-state period 318, a similar approach can be taken to identify portions of data from additional historical sampling batches related to the shutdown period 320 shown in Figure 3. That is, the timing and interval of the additional quality reading points 402 may be selected within the shutdown period 320 based on the degree of dynamic change to quality parameters 302, 304, 306 and / or process parameters 310, 312, 314.
[0043] An exemplary history sampling batch generator 206 can generate any preferred number of batches associated with each of the startup period 316, the steady-state period 318, and the shutdown period 320. In some examples, the number of history sampling batches associated with the steady-state period 318 is greater than the number of history sampling batches associated with the startup and shutdown periods 316, 320. For example, in some examples, nearly 50% of all history sampling batches generated by the history sampling batch generator 206 are associated with the steady-state period 318, and 25% of all history sampling batches are associated with the startup and shutdown periods 316, 320, respectively. In some examples, the history sampling batches associated with the startup period 316 are retrieved from history process data corresponding to a single startup event. In other examples, the history sampling batches associated with the startup period 316 may be retrieved from multiple different examples of a continuous process system that is started. Similarly, the history sampling batches associated with the steady-state and shutdown periods 318, 320 may all be retrieved from a single operation of a continuous process, or from multiple different operations separated by multiple shutdowns and subsequent startups. In some examples, the historical sampling batches generated by the historical sampling batch generator 206 are stored in the exemplary database 214 for later use.
[0044] In the illustrated example in Figure 2, the predictive analytics engine 105 includes a batch model generator 208 that generates an analytical model that can be used to analyze real-time sampling batches associated with a continuous control system process operating in real time. In some examples, the analytical model is developed using historical sampling batches generated by an exemplary historical sampling batch generator 206. More specifically, in some examples, the batch model generator 208 generates an analytical model using multivariate data analysis on a pool of historical sampling batches. The pool can contain any suitable number of historical sampling batches (e.g., at least 25 batches) to provide statistically reliable results. In some examples, the pool may be divided into two sets of batches: a first batch for model training and a second batch for cross-validation. In some examples, all historical sampling batches generated by the historical sampling batch generator 206 are included in the pool. In other examples, a subset of all historical sampling batches is selected to be included in the pool. In some examples, historical sampling batches are selected and / or generated so that the pool contains historical sampling batches associated with the steady-state period 318 more than either the startup period 316 or the shutdown period 320. In some examples, the number of historical sampling batches associated with both the startup and shutdown periods 316 and 320 is approximately the same, but the number of historical sampling batches associated with the steady-state period 318 is almost twice that of the historical sampling batches associated with the startup and shutdown periods 316 and 320.
[0045] In some examples, the batch model generator 208 corresponds to (or at least operates similarly to) existing analysis software, firmware, and / or hardware used to generate models of conventional batch processes. That is, in some examples, the batch model generator 208 uses PCA and / or PLS techniques to generate analysis models based on historical sampling batches. As described above, PCA and PLS cannot be directly applied to continuous processes because continuous processes involve dynamic behavior over time that cannot be described by PCA and PLS. However, the examples described herein overcome this problem by generating multiple fixed-length snapshots of discrete portions of the continuous process corresponding to the historical sampling batches described above. Furthermore, the dynamic behavior of parameters related to the continuous process is considered based on different historical sampling batches with different start and end times that are temporally spaced apart, at a granularity suitable for capturing changes in the parameters of the continuous process over time. In other words, rather than analyzing multiple batches with the same start and end to generate an analysis model (as is done in conventional batch analysis), the analysis in the disclosed examples is associated with multiple sampling batches that are slightly time-shifted relative to each other over the course of a relevant period of the continuous process of interest. In some examples, the analysis models generated by the batch model generator 208 are stored in the example database 214 for later use.
[0046] The exemplary predictive analytics engine 105 in Figure 2 includes an exemplary virtual batch unit controller 210 for generating virtual batch units, which serve as the basis for the virtual batch unit controller 210 to implement sampling batches that respond in real time to the real-time operation of a continuous process. In some examples, the virtual batch unit controller 210 corresponds to (or at least operates similarly to) existing batch control software, firmware, and / or hardware used to control a standard batch process (e.g., a batch executive for Delta V®). According to the ISA-88 standard for conventional batch process control, a batch is defined in the context of a recipe that includes at least one unit procedure that defines procedural control related to the operation of equipment within a physical process control unit. In accordance with this standard, the illustrated exemplary virtual batch unit controller 210 defines a virtual batch unit, which is a substitute for a physical unit defined for a standard batch process. As used herein, a virtual batch unit refers to a data structure that defines or includes all relevant parameters of a continuous control system process (e.g., process parameters and / or inputs, and quality parameters and / or outputs) to enable the implementation of a sampling batch in an ISA-88 compliant manner, so that a batch-like analytical technique can be applied to the sampling batch. A schematic of an exemplary virtual batch unit 500 is shown in Figure 5. Similar to standard batch units and associated unit procedures, the exemplary virtual batch unit 500 includes input parameters 502 that are monitored substantially in real time, and output parameters 504 used to measure and / or display the quality of the process output. In some examples, the input parameters 502 correspond to process parameters related to a continuous process control system, such as the process parameters 310, 312, and 314 shown and described in relation to Figures 3 and / or 4, for example.Furthermore, in some examples, the output parameter 504 corresponds to quality parameters related to a continuous process control system, such as quality parameters 302, 304, and 306 shown and described in relation to Figures 3 and / or 4.
[0047] Unlike standard batch units and associated unit procedures, the exemplary virtual batch unit 500 includes a separate set of inputs, referred to herein as initial conditions 506. Since the start of a batch process is virtually the same each time, as far as these parameters are concerned, conventional batch processes do not require explicitly defining initial conditions for the same set of process parameters. In contrast, different sampling batches implemented on the virtual batch unit 500, as will be further described below, start at different points in time within a single sequential batch process. Consequently, the values of process parameters at the start of any particular sampling batch are not necessarily the same as their values at the start of different sampling batches. Therefore, the exemplary virtual batch unit 500 includes initial conditions 506, defined as the values of the process parameters (e.g., process parameters 310, 312, and 314 in Figures 3 and / or 4) at the start time of the current sampling batch. That is, the virtual batch unit 500 includes a duplicate set of process parameters as input. However, while the input parameters 502 are updated virtually in real-time as the associated sequential process progresses, the initial conditions 506 are fixed values defined when the sampling batch was first initiated. While fixed throughout the implementation of a single sampling batch, the initial condition 506 is reset to a new value each time a new sampling batch is initiated.
[0048] In some examples, the virtual batch unit controller 210 implements sampling batches in the virtual batch unit 500 in virtually real-time, in parallel with the operation of the continuous process. The sampling batches correspond to the values of process parameters currently present in the continuous process. The purpose of implementing sampling batches by the virtual batch unit controller 210 using the virtual batch unit is to enable the use of batch-like analytical techniques for the continuous process. That is, the implementation of sampling batches in the virtual batch unit runs in parallel with the control and operation of the continuous process to provide predictive analytics, rather than directly influencing or controlling the operation of the continuous process. As a result, recipes used in connection with the virtual batch unit 500 are referred to herein as dummy recipes, since the recipes do not actually control the operation of the system. However, in some examples, the results of predictive analytical information produced by analyzing sampling batches running on the virtual batch unit 500 can be used to adjust or adapt processes controlled through standard continuous process control techniques.
[0049] Each individual sampling batch implemented by the virtual batch unit controller 210 is defined to have the same duration as the historical sampling batch used to generate the analytical model, which is used to generate the predictive analysis. Furthermore, the real-time sampling batches implemented by the virtual batch unit controller 210 are implemented sequentially. That is, the end of one sampling batch corresponds to the start of the next subsequent sampling batch, and a new sampling batch is initiated each time the current sampling batch has finished for the entire duration of the relevant sequential process being analyzed. In other words, the sequential process is treated as a campaign of many consecutive batches running on the virtual batch unit 500.
[0050] For example, Figure 6 is a graph 600 showing process parameters 310, 312, and 314 of a continuous process operating in real time. In the illustrated example, the first sampling batch begins simultaneously with the start of the continuous process (time 0) and extends to a first time 602, which corresponds to the length of the historical sampling batch described above in relation to Figures 3 and 4. As described above, the historical sampling batch can be defined to have a length corresponding to the residence time of the continuous process (e.g., 10 minutes in the illustrated example). As described above, when implementing this first sampling batch (during the first time 602), the initial conditions 506 defined for the virtual batch unit 500 correspond to the initial (e.g., time 0) values of the process parameters 310, 314, and 312. At the 10-minute mark, the first sampling batch ends, and the second sampling batch is started in the virtual batch unit 500 during the second time 604. In the transition between the first and second times 602, 604 (related to the transition from the first sampling batch to the second sampling batch), the initial conditions 506 of the virtual batch unit 500 are reset to correspond to the process value at the start of the second time 604 (e.g., 10 minutes after the process). Processes that start subsequent sampling batches in subsequent times 606, 608 correspond to consecutive 10-minute time increments, and by resetting the initial conditions of the virtual batch unit 500 for each new batch, the sequential processes can be effectively handled as a series or campaign of individual batch processes.
[0051] The examples described herein primarily focus on scenarios where the duration of a sampling batch is defined to correspond to the residence time of a continuous process (e.g., 10 minutes in the illustrated example). However, as mentioned above, in some examples, the duration of a sampling batch may be longer than the residence time. More specifically, in some examples, the duration of a single sampling batch may be a multiple of the residence time (e.g., two residence times, three residence times, four residence times, etc.). In some such examples, a sampling batch associated with a single procedural unit (e.g., a virtual batch unit 500) may be divided into multiple stages having a duration of a single residence time. That is, rather than treating the first and second times 602, 604 in Figure 6 as corresponding to separate sampling batches, in some examples, the first and second times 602, 604 may correspond to separate stages associated with a single sampling batch that extend the first extension time 610. In this example, the second extension time 612 defines the duration of the second sampling batch, with the third and fourth times 606, 608 corresponding to distinct stages within the second sampling batch. In some examples, the duration of the sampling batch and / or the stages within the sampling batch may not correspond to multiples of residence time, but may be any preferred length, depending on the degree of dynamic change in process and / or quality parameters and the level of accuracy of the predictive analysis produced.
[0052] The exemplary predictive analytics engine 105 in Figure 2 includes an exemplary sampling batch analyzer 212 for analyzing sampling batches currently implemented by the virtual batch unit controller 210 in the virtual batch unit 500, using the analysis model generated by the batch model generator 208. In some examples, the sampling batch analyzer 212 corresponds to (or at least operates similarly to) existing batch analysis software, firmware, and / or hardware used to analyze standard batches based on corresponding analysis models of the batch process. In examples where the sampling batch analyzer 212 corresponds to existing batch analysis software, firmware, and hardware, the dynamic time stretching functionality implemented for standard batch analysis may be unnecessary because, as described above, the sampling batch being analyzed and the historical sampling batches used to generate all analysis models are defined to have the same time.
[0053] In some examples, the output from the sampling batch analyzer 212 provides fault detection and / or quality prediction information (collectively referred to as predictive analysis information) related to the current sampling batch during the duration of the sampling batch. When a new sampling process is initiated, the sampling batch analyzer 212 analyzes the new sampling batch to generate predictive analysis information for the new sampling batch. Thus, the future time for which quality predictions are provided (e.g., predicted time) corresponds to the duration of the sampling batch. For example, when a new sampling batch is initiated with a dwell time of 10 minutes in the above example, the predictive analysis information provides a prediction of the output quality of the continuous process up to 10 minutes later. As time progresses in the current sampling batch, the future distance represented in the predictive analysis information decreases until time reaches the end of the current sampling batch. Then, a new sampling batch is initiated, and new predictions for 10 minutes later and later are generated.
[0054] In some examples, predictive analytics information provided by the exemplary sampling batch analyzer 212 is stored in the database 214. Alternatively, the exemplary communication interface 202 can transmit predictive analytics information to the continuous history database 218. Furthermore, in some examples, the user interface 216 generates and / or renders a graphical representation of the predictive analytics information via a corresponding display screen. In some examples, the graphical representation of the predictive analytics information may be similar to that provided for standard batch process analysis. However, in some examples, predictive analytics information from successive sampling batches can be added together to provide a continuous timeline of predictions over the entire continuous time of the monitored continuous control system process.
[0055] For example, Figure 7 shows an exemplary quality prediction interface 700 that provides predictive analysis information for a specific quality parameter (e.g., one of the quality parameters 302, 304, 306 in Figure 3) over four consecutive times 702, 704, 706, and 708 associated with four consecutive sampling batches. In some examples, the start and end of separate sampling batches may be identified by sampling batch lines 710. In this example, the first time 702 corresponds to the initial start of the process. As a result, the prediction of the quality parameter, shown by the central solid line 712, shows considerable variability, and the confidence range is relatively wide, as shown by the upper and lower dashed lines 714, 716, indicating relatively low confidence in the prediction. However, as time progresses and the process approaches a steady state, the prediction of the quality parameter also converges to a substantially steady state, within a shaded region 718 that defines the boundary of the quality parameter that satisfies the specifications of the process output. In some examples, a current time indicator 720 (e.g., a line) displays the current time. In this example, the current time is 1:47 PM, which is two minutes after the fourth time 708, corresponding to the fourth sampling batch. As shown in the illustrated example, the forecast for the quality parameters (e.g., solid line 712) extends beyond the current time 720 to 1:55 PM, corresponding to the end time of the current sampling batch. Thus, the operator has a quality forecast for the output of the continuous process for the next eight minutes from the current time 720. In some examples, when the current time reaches the end of the fourth time 708, the graph of the quality forecast interface 700 may shift to represent the forecast associated with the new sampling batch.
[0056] Returning to Figure 2, the exemplary user interface 216 also allows the user to configure and / or adjust the operation of the components of the predictive analytics engine 105. For example, in some examples, the user can use the user interface 216 to adjust or specify the dwell time and / or specify whether the length of the sampling batch corresponds to the dwell time or a time longer than the dwell time. In some examples, the user can specify via the user interface 216 the number of historical sampling batches generated by the historical sampling batch generator 206 and / or the time interval of the quality reading points 402 used to define the temporal positions of different historical sampling batches. In some examples, the user can specify via the user interface 216 the number of historical sampling batches used by the batch model generator 208 to generate the analysis model. In some examples, the user can specify via the user interface 216 the percentage of historical sampling batches to be taken from each of the startup period 316, the steady state period 318, and the shutdown period 320. In some examples, the user can specify via the user interface 216 continuous process parameters related to the continuous process, which will function as input and output parameters of the virtual batch unit 500.
[0057] Figure 2 shows an exemplary method for implementing the predictive analytics engine 105 of Figure 1, but one or more of the elements, processes, and / or devices shown in Figure 2 may be combined, divided, rearranged, omitted, deleted, and / or implemented in other ways. Furthermore, the exemplary communication interface 202, exemplary dwell time analyzer 204, exemplary history sampling batch generator 206, exemplary batch model generator 208, exemplary virtual batch unit controller 210, exemplary sampling batch analyzer 212, exemplary database 214, exemplary user interface 216, and / or, more generally, the exemplary predictive analytics engine 105 of Figure 1 may be implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware. Therefore, for example, an exemplary communication interface 202, an exemplary dwell time analyzer 204, an exemplary history sampling batch generator 206, an exemplary batch model generator 208, an exemplary virtual batch unit controller 210, an exemplary sampling batch analyzer 212, an exemplary database 214, an exemplary user interface 216, and / or more generally, an exemplary predictive analytics engine 105 can be implemented by one or more analog or digital circuits, logic circuits, programmable processors, programmable controllers, graphics processing units (GPUs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), programmable logic devices (PLDs), and / or field-programmable logic devices (FPLDs).When reading any of the claims for the apparatus or system of this patent, and when covering purely software and / or firmware implementations, the exemplary communication interface 202, exemplary dwell time analyzer 204, exemplary history sampling batch generator 206, exemplary batch model generator 208, exemplary virtual batch unit controller example 210, exemplary sampling batch analyzer 212, exemplary database 214, and / or exemplary user interface 216 are explicitly defined as including software and / or memory containing software, non-temporary computer-readable storage devices or storage disks such as digital versatile disks (DVDs), compact discs (CDs), and Blu-ray discs. Furthermore, the exemplary predictive analytics engine 105 in Figure 1 may include one or more elements, processes, and / or devices in addition to or instead of those shown in Figure 2, and / or may include two or more of any or all of the exemplary elements, processes, and devices. As used herein, the phrase “communicating” includes, including variations thereof, direct communication and / or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and / or continuous communication, but rather includes selective communication at periodic intervals, scheduled intervals, aperiodic intervals and / or one-time events.
[0058] Figures 8-10 show flowcharts representing exemplary hardware logic, machine-readable instructions, hardware implementation state machine, and / or any combination thereof for implementing the predictive analytics engine 105 of Figure 1 and / or Figure 2. The machine-readable instructions may be one or more executable programs or parts(s) of executable programs for execution by a computer processor, such as processor 1112, as shown in the exemplary processor platform 1100 described below in relation to Figure 11. The programs may be embodied as software stored on a non-temporary computer-readable storage medium such as a CD-ROM, floppy disk, hard drive, DVD, Blu-ray disk, or memory associated with processor 1112, but the entire program and / or parts thereof may alternatively be executed by a device other than processor 1112 and / or embodied in firmware or dedicated hardware. Furthermore, while the exemplary programs are described with reference to the flowcharts shown in Figures 8-10, many other methods for implementing the exemplary predictive analytics engine 105 may be used instead. For example, the execution order of the blocks may be changed, and / or some of the described blocks may be modified, deleted, or combined. Additionally or alternatively, some or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.) configured to perform the corresponding operations without running software or firmware.
[0059] The machine-readable instructions described herein may be stored in one or more formats, such as compressed, encrypted, fragmented, or packaged. The machine-readable instructions described herein may be stored as data (e.g., instruction parts, code, code representations, etc.) that can be used to create, manufacture, and / or generate machine-executable instructions. For example, machine-readable instructions may be fragmented and stored in one or more storage devices and / or computing devices (e.g., servers). Machine-readable instructions may require one or more processes, such as installation, modification, adaptation, updating, combination, supplementation, configuration, decryption, decompression, unpacking, distribution, or reassignment, to make them directly readable or executable on computing devices and / or other devices. For example, machine-readable instructions may be stored in multiple parts, each individually compressed, encrypted, and stored in separate computing devices, and these parts, when decrypted, decompressed, and combined, form a set of executable instructions that implement a program as described herein. In another example, machine-readable instructions may be stored in a state where they can be read by a computer, but additional libraries (e.g., dynamic link libraries (DLLs)), software development kits (SDKs), application programming interfaces (APIs), etc., may be required to execute the instructions on a particular computing device or other device. In yet another example, machine-readable instructions and / or corresponding programs(s) may need to be configured (e.g., saving settings, entering data, recording network addresses) before they can be executed in whole or in part. Thus, disclosed machine-readable instructions and / or corresponding programs(s) are intended to be separated, whether stored or otherwise in storage or transport, regardless of the specific format or state of the machine-readable instructions and / or programs.
[0060] As described above, the exemplary processes in Figures 8 to 10 may be implemented using executable instructions (e.g., computer and / or machine-readable instructions) stored on non-temporary computer and / or machine-readable media, such as hard disk drives, flash memory, read-only memory, compact disks, digital multipurpose disks, caches, random access memory, and / or other storage devices or storage disks, where information is stored for any duration (e.g., for long-term, persistent, short-term, temporary buffering, and / or caching of information). The term “non-temporary computer-readable media” as used herein is explicitly defined to include any type of computer-readable storage device and / or storage disk, excluding propagating signals and excluding transmission media.
[0061] The terms “comprise” and “encompass” (and all their forms and tenses) are used herein as open-form terms. Therefore, when a patent claim uses either “comprise” or “encompass” as a preamble or within any kind of claim description (e.g., “comprises,” “includes,” “comprising,” “including,” “have,” etc.), it should be understood that additional elements, terms, etc., may exist without falling outside the scope of the corresponding claim or description. The phrase “at least” is open-form in the same way that the terms “encompass” and “comprise” are open-form when used herein as a transitional term, for example, in the preamble of a patent claim. For example, the term “and / or” when used in forms such as A, B, and / or C refers to any combination or subset of A, B, and C, such as (1) A only, (2) B only, (3) C only, (4) A and B, (5) A and C, (6) B and C, and (7) a combination of A, B, and C. As used herein in contexts describing structures, components, items, objects, and / or things, the phrase “at least one of A and B” is intended to refer to an implementation comprising (1) at least one A, (2) at least one B, and (3) either at least one A or at least one B. Similarly, as used herein in contexts describing structures, components, items, objects, and / or things, the phrase “at least one of A or B” is intended to refer to an implementation comprising (1) at least one A, (2) at least one B, and (3) either at least one A or at least one B. As used herein in contexts describing the execution or performance of processes, instructions, actions, activities, and / or steps, the phrase “at least one of A and B” is intended to refer to an implementation comprising (1) at least one A, (2) at least one B, and (3) either at least one A or at least one B.Similarly, as used herein in contexts describing the implementation or execution of a process, instruction, action, activity, and / or step, the phrase “at least one of A or B” is intended to refer to implementations comprising (1) at least one A, (2) at least one B, and (3) either at least one A and at least one B.
[0062] The exemplary process in Figure 8 begins in block 802, where the exemplary predictive analytics engine 105 generates an analytical model that analyzes sampling batches associated with a continuous control system process. Further details regarding the implementation of block 802 are provided below in relation to Figures 9 and 10. In block 804, the exemplary virtual batch unit controller 210 defines the input and output parameters of a virtual batch unit (e.g., the virtual batch unit 500 in Figure 5) based on parameters associated with the continuous control system process (e.g., quality parameters 302, 304, 306 and process parameters 310, 312, 314 in Figures 3 and / or 4). In block 806, the exemplary virtual batch unit controller 210 determines the start time of a sampling batch. The start time of a sampling batch corresponds to the start time of the continuous control system process or the end time of the previous sampling batch. The end time of the current sampling batch is defined based on a fixed duration set for the sampling batch. In some examples, the history sampling batch generator 206 and / or virtual batch unit controller 210 determine the duration of a sampling batch based on the dwell time of the continuous control system process. In block 808, the exemplary virtual batch unit controller 210 sets initial conditions for the virtual batch unit based on parameters related to the continuous control system process at the start time of the sampling batch.
[0063] In block 810, an exemplary virtual batch unit controller 210 implements a sampling batch in a virtual batch unit 500 in parallel with the continuous control system process. In block 812, an exemplary sampling batch analyzer 212 analyzes the sampling batch based on an analysis model. In block 814, the exemplary sampling batch analyzer 212 generates predictive analysis information for the sampling batch. The predictive analysis information may display fault detection and / or quality predictions for the continuous control system process. In block 816, an exemplary user interface 216 renders a graphical representation of the predictive analysis information.
[0064] In block 818, the exemplary virtual batch unit controller 210 decides whether to implement another sampling batch. If so, control returns to block 806. Otherwise, control proceeds to block 820, where the predictive analytics engine 105 decides whether to update the analysis model. If so, control returns to block 802. Otherwise, the exemplary process in Figure 8 terminates.
[0065] Figure 9 is a flowchart representing an exemplary implementation of block 802 in Figure 8. The exemplary process in Figure 9 begins in block 902, where the communication interface 202 accesses the history process data of the continuous control system process. In block 904, an exemplary residence time analyzer 204 determines the residence time of the continuous control system process. In block 906, an exemplary history sampling batch generator 206 and / or exemplary virtual batch unit controller 210 determine the length of the sampling batch based on the residence time. In block 908, the exemplary history sampling batch generator 206 generates a history sampling batch related to the startup period of the continuous control system process (e.g., startup period 316). In block 910, the exemplary history sampling batch generator 206 generates a history sampling batch related to the steady state period of the continuous control system process (e.g., steady state period 318). In block 912, the exemplary history sampling batch generator 206 generates a history sampling batch related to the shutdown period of the continuous control system process (e.g., shutdown period 320). Further details regarding the implementation of blocks 908, 910, and 912 are provided below in relation to Figure 10. In block 914, the exemplary batch model generator 208 selects a pool of historical sampling batches for model generation. In block 916, the exemplary batch model generator 208 generates an analysis model based on the pool of historical sampling batches. The process in Figure 9 then ends, and we return to complete the process in Figure 8.
[0066] Figure 10 is a flowchart representing an exemplary implementation of any one of blocks 908, 910, and 912 in Figure 9. The exemplary process in Figure 10 begins in block 1002, where an exemplary history sampling batch generator 206 determines the time interval of quality read points (e.g., quality read point 402 in Figure 4) within a relevant period based on the degree of dynamic change of the history process data corresponding to that period. In this context, the relevant period corresponds to the start period 316 when implementing block 908 in Figure 9, the steady-state period 318 when implementing block 910 in Figure 9, and the shutdown period 320 when implementing block 912 in Figure 9. In block 1004, the exemplary history sampling batch generator 206 identifies the quality read point 402 within the relevant period of history process data. In block 1006, the exemplary communication interface 202 retrieves history process data for a history sampling batch corresponding to the length of the sampling batch (determined in block 906 in Figure 9) and ending at a quality read point. In block 1008, the exemplary history sampling batch generator 206 sets the initial conditions for the history sampling batch. In block 1010, the exemplary database 214 stores the history sampling batch. In block 1012, the exemplary history sampling batch generator 206 decides whether to generate another history sampling batch related to the relevant period. If so, control returns to block 1002. Otherwise, the exemplary process in Figure 10 terminates and returns to complete the process in Figure 9.
[0067] Figure 11 is a block diagram of an exemplary processor platform 1100 configured to implement the predictive analytics engine 105 of Figures 1 and / or 2 by executing the instructions of Figures 8 and 10. The processor platform 1100 could be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a mobile phone, a smartphone, a tablet such as iPad®), a personal digital assistant (PDA), an internet device, or any other type of computing device.
[0068] The processor platform 1100 in the example shown includes a processor 1112. The processor 1112 in the example shown is hardware. For example, the processor 1112 may be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired family or manufacturer. The hardware processor may be a semiconductor-based (e.g., silicon-based) device. In this example, the processor implements an exemplary residence time analyzer 204, an exemplary history sampling batch generator 206, an exemplary batch model generator 208, an exemplary virtual batch unit controller 210, and an exemplary sampling batch analyzer 212.
[0069] The processor 1112 in the shown example includes local memory 1113 (e.g., cache). The processor 1112 in the shown example communicates with main memory, which includes volatile memory 1114 and non-volatile memory 1116, via bus 1118. The volatile memory 1114 may be implemented by synchronous dynamic random access memory (SDRAM), dynamic random access memory (DRAM), RAMBUS® dynamic random access memory (RDRAM®), and / or any other type of random access memory device. The non-volatile memory 1116 may be implemented by flash memory and / or any other desired type of memory device. Access to main memory 1114, 1116 is controlled by a memory controller.
[0070] The example processor platform 1100 also includes an interface circuit 1120. The interface circuit 1120 may be implemented by any type of interface standard, such as an Ethernet interface, Universal Serial Bus (USB), Bluetooth® interface, Near Field Communication (NFC) interface, and / or PCI Express interface. In this example, the interface circuit 1120 implements an exemplary communication interface 202 and an exemplary user interface 216.
[0071] In the example shown, one or more input devices 1122 are connected to the interface circuit 1120. The input devices 1122(or more) allow the user to input data and / or commands to the processor 1112. The input devices(or more) can be implemented by, for example, a voice sensor, a microphone, a (still image or video) camera, a keyboard, buttons, a mouse, a touchscreen, a trackpad, a trackball, an isopoint device, and / or a voice recognition system.
[0072] One or more output devices 1124 are also connected to the interface circuit 1120 in the example shown. The output devices 1124 may be implemented by, for example, display devices (e.g., light-emitting diodes (LEDs), organic light-emitting diodes (OLEDs), liquid crystal displays (LCDs), cathode ray tube displays (CRTs), in-place switching (IPS) displays, touchscreens, etc.), haptic output devices, printers, and / or speakers. Thus, the interface circuit 1120 in the example shown typically includes a graphics driver card, a graphics driver chip, and / or a graphics driver processor.
[0073] The interface circuit 1120 in the example shown also includes communication devices such as transmitters, receivers, transceivers, modems, home gateways, wireless access points, and / or network interfaces, facilitating data exchange with external machines (e.g., any kind of computing device) via the network 1126. Communication can be via, for example, Ethernet connections, digital subscriber line (DSL) connections, telephone line connections, coaxial cable systems, satellite systems, site wireless systems, mobile phone systems, etc.
[0074] The processor platform 1100 in the example shown also includes one or more mass storage devices 1128 for storing software and / or data. Examples of such mass storage devices 1128 include floppy disk drives, hard drive disks, compact disk drives, Blu-ray disk drives, redundant array (RAID) systems of independent disks, and digital versatile disk (DVD) drives. In this example, the mass storage devices include an exemplary database 214.
[0075] The machine-executable instructions 1132 in Figures 8 to 10 may be stored in a mass storage device 1128, volatile memory 1114, non-volatile memory 1116, and / or a removable, non-temporary computer-readable storage medium such as a CD or DVD.
[0076] From the above, it will be understood that exemplary methods, apparatus, and articles have been disclosed that enable the generation of predictive analysis for continuous process control systems based on analytical techniques conventionally used in batch process control systems. The disclosed methods, apparatus, and articles improve the operation of continuous control system processes by continuously providing operators with predictions of future process outputs. More specifically, such information allows operators to recognize and respond to potential deviations from the continuous process more quickly, enabling them to take appropriate corrective actions sooner than when deviations become serious.
[0077] While some exemplary systems, methods, apparatus, and articles have been disclosed herein, the scope of this patent is not limited thereto. Rather, this patent covers all systems, methods, apparatus, and articles that fall considerably within the scope of the claims of this patent.
Claims
1. It is a device, A virtual batch unit controller that implements a sampling batch in a virtual batch unit, wherein the sampling batch corresponds to a discrete time portion which is a part of the duration obtained by dividing the duration of a continuous control system process into a plurality of discrete segments, and the virtual batch unit includes input and output parameters corresponding to parameters related to the continuous control system process, A device comprising: a sampling batch analyzer that generates predictive analysis information that displays the predictive quality of the output of the continuous control system process at the end of the discrete-time portion, based on an analysis of the sampling batch against an analysis model.
2. The apparatus according to claim 1, further comprising a residence time analyzer for estimating the length of residence time, which is the time it takes for a material to pass through or be processed by the continuous control system process, and estimating the length of the discrete time portion based on the residence time.
3. The apparatus according to claim 2, wherein the length of the discrete time portion is equal to the estimated value of the residence time.
4. The apparatus according to claim 2, wherein the length of the discrete time portion is longer than the estimated value of the residence time.
5. The apparatus according to claim 4, wherein the length of the discrete time portion is a multiple of the estimated residence time and is in the range of 2 to 4 times the estimated residence time.
6. The apparatus according to any one of claims 1 to 5, wherein the virtual batch unit controller specifies the initial condition value of the virtual batch unit as corresponding to the value of the parameter related to the continuous control system process at the start of the discrete time portion, and the initial condition is separate from the input and output parameters.
7. The apparatus according to any one of claims 1 to 6, wherein the discrete-time portion is a first discrete-time portion, the sampling batch is a first sampling batch, the virtual batch unit controller implements a second sampling batch in the virtual batch unit, the second sampling batch corresponds to a second discrete-time portion of the continuous control system process, the start of the second discrete-time portion corresponds to the end of the first discrete-time portion, and the predictive analysis information displays the predicted quality of the output of the continuous control system process at the end of the second discrete-time portion, based on an analysis of the second sampling batch against the analysis model.
8. The apparatus according to claim 7, further comprising a user interface for rendering a quality prediction interface, wherein the quality prediction interface graphically represents the predictive analysis information along timelines corresponding to the first and second discrete time portions.
9. The apparatus according to claim 7 or claim 8, wherein the first discrete-time portion has the same duration as the second discrete-time portion.
10. A history sampling batch generator, From the historical process data related to the start period of the continuous control system process, a first set of historical sampling batches is generated. From the historical process data related to the steady state period of the continuous control system process, a second set of historical sampling batches is generated, and A history sampling batch generator generates a third set of history sampling batches from the history process data related to the shutdown period of the continuous control system process, The apparatus according to any one of claims 1 to 9, further comprising a batch model generator for generating the analysis model based on the first, second, and third sets of historical sampling batches.
11. The apparatus according to claim 10, wherein the first time interval between the start times of consecutive historical sampling batches in the first set of historical sampling batches is smaller than the second time interval between the start times of consecutive historical sampling batches in the second set of historical sampling batches.
12. The apparatus according to claim 11, wherein the first time interval is shorter than the time length of the history sampling batch such that different history sampling batches in the first set of history sampling batches include overlapping portions of the history process data.
13. The apparatus according to any one of claims 10 to 12, wherein the time length of one of the historical sampling batches corresponds to the length of the discrete time portion.
14. The apparatus according to any one of claims 10 to 13, wherein the number of historical sampling batches in the second set of historical sampling batches is greater than the number of historical sampling batches in the first or third set of historical sampling batches.
15. A non-temporary computer-readable medium containing instructions, wherein, when the instructions are executed, the machine receives at least: Implementing a sampling batch in a virtual batch unit, wherein the sampling batch corresponds to a discrete-time portion of the duration obtained by dividing the duration of a continuous control system process into multiple discrete segments, and the virtual batch unit includes input and output parameters corresponding to parameters related to the continuous control system process. A non-temporary computer-readable medium that generates predictive analysis information that displays the predictive quality of the output of the continuous control system process at the end of the discrete-time portion, based on the analysis of the sampling batch to the analysis model.
16. The aforementioned instruction to the machine, The material passes through the continuous control system process or the continuous control system A non-temporary computer-readable medium according to claim 15, further estimating the length of the residence time, which is the time it takes to be processed by the process, and estimating the length of the discrete time portion based on the residence time.
17. The non-temporary computer-readable medium according to claim 15 or 16, wherein the instruction causes the machine to further specify a value for the initial condition of the virtual batch unit, which corresponds to the value of the parameter related to the continuous control system process at the start of the discrete-time portion, and the initial condition is separate from the input and output parameters.
18. A non-temporary computer-readable medium according to any one of claims 15 to 17, wherein the discrete-time portion is a first discrete-time portion, the sampling batch is a first sampling batch, the instruction further causes the machine to implement a second sampling batch in the virtual batch unit, the second sampling batch corresponds to a second discrete-time portion of the continuous control system process, the start of the second discrete-time portion corresponds to the end of the first discrete-time portion, and the predictive analysis information displays the predicted quality of the output of the continuous control system process at the end of the second discrete-time portion, based on an analysis of the second sampling batch against the analysis model.
19. The non-temporary computer-readable medium according to claim 18, wherein the instruction further includes an instruction causing the machine to render a quality prediction interface via a display, the quality prediction interface graphically representing the predictive analysis information along timelines corresponding to the first and second discrete time portions.
20. The non-temporary computer-readable medium according to claim 18 or 19, wherein the first discrete-time portion has the same duration as the second discrete-time portion.
21. The aforementioned instruction further instructs the machine, From the historical process data related to the start period of the continuous control system process, a first set of historical sampling batches is generated. From the historical process data related to the steady state period of the continuous control system process, a second set of historical sampling batches is generated. From the historical process data related to the shutdown period of the continuous control system process, a third set of historical sampling batches is generated, and A non-temporary computer-readable medium according to any one of claims 15 to 20, which causes the analysis model to be generated based on the first, second, and third sets of historical sampling batches.
22. The non-temporary computer-readable medium according to claim 21, wherein the first time interval between the start times of consecutive historical sampling batches in the first set of historical sampling batches is smaller than the second time interval between the start times of consecutive historical sampling batches in the second set of historical sampling batches.
23. The non-temporary computer-readable medium according to claim 22, wherein the first time interval is shorter than the time length of the history sampling batch, such that different versions of the history sampling batch in the first set of history sampling batches include the overlapping portion of the history process data.
24. A non-temporary computer-readable medium according to any one of claims 21 to 23, wherein the time length of one of the historical sampling batches corresponds to the length of the discrete time portion.
25. A non-temporary computer-readable medium according to any one of claims 21 to 24, wherein the number of history sampling batches in the second set of history sampling batches is greater than the number of history sampling batches in the first or third set of history sampling batches.
26. Implementing a sampling batch in a virtual batch unit, wherein the sampling batch corresponds to a discrete-time portion of the duration obtained by dividing the duration of a continuous control system process into a plurality of discrete segments, and the virtual batch unit includes input and output parameters corresponding to parameters related to the continuous control system process. A method comprising generating predictive analytics information that displays the predictive quality of the output of the continuous control system process at the end of the discrete-time portion, based on an analysis of the sampling batch to an analytical model.
27. The material passes through the continuous control system process or the continuous control system The method according to claim 26, further comprising estimating the length of the residence time, which is the time it takes for the process to be completed, and estimating the length of the discrete time portion based on the residence time.
28. The method according to any one of claims 26 to 27, further comprising specifying the value of the initial condition of the virtual batch unit as corresponding to the value of the parameter related to the continuous control system process at the start of the discrete-time portion, wherein the initial condition is separate from the input and output parameters.
29. The method according to any one of claims 26 to 28, wherein the discrete-time portion is a first discrete-time portion, the sampling batch is a first sampling batch, and the method further includes implementing a second sampling batch in the virtual batch unit, the second sampling batch corresponding to a second discrete-time portion of the continuous control system process, the start of the second discrete-time portion corresponding to the end of the first discrete-time portion, and the predictive analysis information displays the predicted quality of the output of the continuous control system process at the end of the second discrete-time portion, based on an analysis of the second sampling batch against the analysis model.
30. The method according to claim 29, further comprising rendering a quality prediction interface via a display, wherein the quality prediction interface graphically represents the predictive analysis information along timelines corresponding to the first and second discrete time portions.
31. The method according to claim 29 or 30, wherein the first discrete-time portion has the same duration as the second discrete-time portion.
32. From the historical process data related to the start period of the continuous control system process, a first set of historical sampling batches is generated, From the historical process data related to the steady state period of the continuous control system process, a second set of historical sampling batches is generated. From the historical process data related to the shutdown period of the continuous control system process, a third set of historical sampling batches is generated. The method according to any one of claims 26 to 31, further comprising generating the analysis model based on the first, second, and third sets of historical sampling batches.
33. The method according to claim 32, wherein the first time interval between the start times of consecutive historical sampling batches in the first set of historical sampling batches is smaller than the second time interval between the start times of consecutive historical sampling batches in the second set of historical sampling batches.
34. The method according to claim 33, wherein the first time interval is shorter than the time length of the history sampling batch, such that different historical sampling batches in the first set of history sampling batches include the overlapping portion of the history process data.
35. The method according to any one of claims 32 to 34, wherein the time length of one of the historical sampling batches corresponds to the length of the discrete time portion.
36. The method according to any one of claims 32 to 35, wherein the number of historical sampling batches in the second set of historical sampling batches is greater than the number of historical sampling batches in the first or third set of historical sampling batches.
Citation Information
Patent Citations
On-line alignment of process analytical model with actual process operation
JP2011248885A
Methods and apparatus for using analytical / statistical modeling for continued process verification (CPV)
JP2017111827A
Method and online system for monitoring continuous caster start-up operation and predicting start cast breakouts
US20040172153A1
Control of N-(Phosphonomethyl)Iminodiacetic Acid Conversion in Manufacture of Glyphosate
US20090011515A1