Method and apparatus for implementing predictive analysis for continuous processes

文档序号:970179 发布日期:2020-11-03 浏览:16次 中文

阅读说明:本技术 用于实现针对连续过程的预测分析的方法和装置 (Method and apparatus for implementing predictive analysis for continuous processes ) 是由 金祖伟 于 2020-04-30 设计创作,主要内容包括:公开了用于实现针对连续过程的预测分析的方法和装置。示例性装置包括虚拟批次单元控制器,用于在虚拟批次单元上实现采样批次。采样批次对应于连续控制系统过程的离散时间段。虚拟批次单元包括对应于与连续控制系统过程相关联的参数的输入和输出参数。示例性装置还包括采样批次分析器,用于基于对采样批次相对于分析模型的分析,生成指示连续控制系统过程在离散时间段结束时的输出的预测质量的预测分析信息。(Methods and apparatus for implementing predictive analytics for continuous processes are disclosed. An example apparatus includes a virtual batch unit controller to implement a sampling batch on a virtual batch unit. The sampling batches correspond to discrete time periods of a continuous control system process. The virtual batch unit includes input and output parameters corresponding to parameters associated with the continuous control system process. The example apparatus also includes a sample batch analyzer to generate predictive analysis information indicative of a predictive quality of an output of the continuous control system process at an end of the discrete time period based on an analysis of the sample batch relative to the analytical model.)

1. An apparatus, comprising:

a virtual batch unit controller for implementing a sampling batch on a virtual batch unit, the sampling batch corresponding to a discrete time period of a continuous control system process, the virtual batch unit including input and output parameters corresponding to parameters associated with the continuous control system process; and

a sample batch analyzer to generate predictive analysis information indicative of a predictive quality of an output of the continuous control system process at an end of the discrete time period based on an analysis of the sample batch relative to an analysis model.

2. The apparatus of claim 1, further comprising: a dwell time analyzer to approximate a dwell time of the continuous control system process, a length of the discrete time period based on the dwell time.

3. The apparatus of claim 2, wherein the length of the discrete time period is equal to an approximation of the dwell time.

4. The apparatus of claim 2, wherein the length of the discrete time period is greater than an approximation of the dwell time.

5. The apparatus of claim 4, wherein the length of the discrete time period is a multiple of the approximation of the dwell time, ranging from two to four times the approximation of the dwell time.

6. The apparatus of claim 1, wherein said virtual batch unit controller specifies a value of an initial condition of said virtual batch unit at the beginning of said discrete time period as corresponding to a value of said parameter associated with said continuous control system process, said initial condition being separate from said input and output parameters.

7. The apparatus of claim 1, wherein the discrete time period is a first discrete time period and the sampling batch is a first sampling batch, the virtual batch unit controller implements a second sampling batch on the virtual batch unit, the second sampling batch corresponding to a second discrete time period of the continuous control system process, a beginning of the second discrete time period corresponding to an end of the first discrete time period, the predictive analysis information indicating a predictive quality of an output of the continuous control system process at the end of the second discrete time period based on an analysis of the second batch of sampling batches relative to the analytical model.

8. The apparatus of claim 7, further comprising: a user interface to present a quality prediction interface that graphically represents the prediction analysis information along a timeline corresponding to the first discrete time period and the second discrete time period.

9. The apparatus of claim 7, wherein the first discrete time period has a same duration as the second discrete time period.

10. The apparatus of claim 1, further comprising:

a historical sample batch generator to:

generating a first historical sample batch set from historical process data associated with a startup period of the continuous control system process;

generating a second set of historical sample batches from historical process data associated with steady-state periods of the continuous control system process; and

generating a third set of historical process samples from historical process data associated with the off-time period of the continuous control system process; and

a batch model generator to generate the analytical model based on the first, second, and third historical sample batch sets.

11. The apparatus of claim 10, wherein a first time interval between start times of consecutive historical sampling batches in the first set of historical sampling batches is less than a second time interval between start times of consecutive historical sampling batches in the second set of historical sampling batches.

12. The apparatus of claim 11, wherein the first time interval is less than a length of time of the historical sample batches such that different ones of the first set of historical sample batches include overlapping portions of the historical process data.

13. The apparatus of claim 10, wherein a length of time of some of the historical sample batches corresponds to a length of the discrete time period.

14. The apparatus of claim 10, wherein a number of historical sampling batches in the second set of historical sampling batches is greater than a number of historical sampling batches in the first or third set of historical sampling batches.

15. A non-transitory computer-readable medium comprising instructions that, when executed, cause a machine to at least:

implementing a sampling batch on a virtual batch unit, the sampling batch corresponding to a discrete time period of a continuous control system process, the virtual batch unit including input and output parameters corresponding to parameters associated with the continuous control system process; and

generating predictive analytic information indicative of a predictive quality of an output of the continuous control system process at an end of the discrete time period based on an analysis of the sampled batch relative to an analytical model.

16. The non-transitory computer-readable medium of claim 15, wherein the instructions further cause the machine to approximate a dwell time of the continuous control system process, a length of the discrete time period based on the dwell time.

17. The non-transitory computer-readable medium of claim 15, wherein the instructions further cause the machine to specify a value of an initial condition of the virtual batch unit at a beginning of the discrete time period as corresponding to a value of the parameter associated with the continuous control system process, the initial condition being separate from the input and output parameters.

18. The non-transitory computer readable medium of claim 15, wherein the discrete time period is a first discrete time period and the sample batch is a first sample batch, the instructions further cause the machine to implement a second sample batch on the virtual sample batch unit, the second sample batch corresponding to a second discrete time period of the continuous control system process, a beginning of the second discrete time period corresponding to an end of the first discrete time period, the predictive analysis information indicating a predictive quality of an output of the continuous control system process at the end of the second discrete time period based on an analysis of the second sample batch relative to the analytical model.

19. The non-transitory computer-readable medium of claim 18, wherein the instructions further cause the machine to present, via a display, a quality prediction interface that graphically represents the predictive analysis information along a timeline corresponding to the first discrete time period and the discrete time period.

20. The non-transitory computer-readable medium of claim 18, wherein the first discrete time period has a same duration as the second discrete time period.

21. The non-transitory computer-readable medium of claim 15, wherein the instructions further cause the machine to:

generating a first historical sample batch set from historical process data associated with a startup period of the continuous control system process;

generating a second set of historical sample batches from historical process data associated with steady-state periods of the continuous control system process;

generating a third set of historical process samples from historical process data associated with the off-time period of the continuous control system process; and

generating the analytical model based on the first, second, and third historical sample batch sets.

22. The non-transitory computer readable medium of claim 21, wherein a first time interval between start times of consecutive historical sampling batches in the first set of historical sampling batches is less than a second time interval between start times of consecutive historical sampling batches in the second set of historical sampling batches.

23. The non-transitory computer-readable medium of claim 22, wherein the first time interval is less than a length of time of the historical sample batches such that different historical sample batches of the first set of historical sample batches include overlapping portions of the historical process data.

24. The non-transitory computer-readable medium of claim 21, wherein a length of time of some of the historical sample batches corresponds to a length of the discrete time period.

25. The non-transitory computer readable medium of claim 21, wherein a number of historical sampling batches in the second set of historical sampling batches is greater than a number of historical sampling batches in the first or third set of historical sampling batches.

26. A method, comprising:

implementing a sampling batch on a virtual batch unit, the sampling batch corresponding to a discrete time period of a continuous control system process, the virtual batch unit including input and output parameters corresponding to parameters associated with the continuous control system process; and

generating predictive analytic information indicative of a predictive quality of an output of the continuous control system process at an end of the discrete time period based on an analysis of the sampled batch relative to an analytical model.

27. The method of claim 26, further comprising: approximating a dwell time of the continuous control system process, a length of the discrete time period based on the dwell time.

28. The method of claim 26, further comprising: assigning a value of an initial condition of the virtual batch unit at a beginning of the discrete time period to correspond to a value of the parameter associated with the continuous control system process, the initial condition being separate from the input and output parameters.

29. The method of claim 26, wherein the discrete time period is a first discrete time period and the sample batch is a first sample batch, the method further comprising implementing a second sample batch on the virtual batch unit, the second sample batch corresponding to a second discrete time period of the continuous control system process, a beginning of the second discrete time period corresponding to an end of the first discrete time period, the predictive analysis information indicating a predictive quality of an output of the continuous control system process at the end of the second discrete time period based on an analysis of the second batch of samples with respect to the analytical model.

30. The method of claim 29, further comprising: presenting, via a display, a quality prediction interface that graphically represents the prediction analysis information along a timeline corresponding to the first discrete time period and the second discrete time period.

31. The method of claim 29, wherein the first discrete time period has the same duration as the second discrete time period.

32. The method of claim 26, further comprising:

generating a first historical sample batch set from historical process data associated with a startup period of the continuous control system process;

generating a second set of historical sample batches from historical process data associated with steady-state periods of the continuous control system process;

generating a third set of historical process samples from historical process data associated with the off-time period of the continuous control system process; and

generating the analytical model based on the first, second, and third historical sample batch sets.

33. The method of claim 32, wherein a first time interval between start times of consecutive historical sampling batches in the first set of historical sampling batches is less than a second time interval between start times of consecutive historical sampling batches in the second set of historical sampling batches.

34. The method of claim 33, wherein the first time interval is less than a length of time of the historical sample batches such that different ones of the first set of historical sample batches include overlapping portions of the historical process data.

35. The method of claim 32, wherein a length of time of some of the historical sample batches corresponds to a length of the discrete time period.

36. The method of claim 32, 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.

Technical Field

The present disclosure relates generally to process control systems and, more particularly, to methods and apparatus to implement predictive analysis for continuous processes.

Background

The process control system may be implemented as a batch process control or a continuous process control. Batch process control involves the processing of a particular batch, which is associated with a particular amount of material being processed for a particular duration of time to produce an output product of final result. Thus, a batch process has a defined beginning and end (discrete time periods) that correspond to the time required to initially process the material fed into the system and produce the final output product. In contrast, continuous process control involves processing materials to continuously produce an output product. Thus, the duration of the continuous process may extend for any specified period of time (theoretically indefinitely), and as the duration increases, the amount of output product produced will continue to increase.

Disclosure of Invention

Example methods and apparatus to implement predictive analytics for continuous processes are disclosed. An example apparatus includes a virtual batch unit controller to implement a sampling batch on a virtual batch unit. The sampling batches correspond to discrete time periods of a continuous control system process. The virtual batch unit includes input and output parameters corresponding to parameters associated with the continuous control system process. The example apparatus also includes a sample batch analyzer to generate predictive analysis information indicative of a predictive quality of an output of the continuous control system process at an end of the discrete time period based on an analysis of the sample batch relative to an analytical model.

An example non-transitory computer-readable medium includes instructions that, when executed, cause a machine to implement a sample batch at least on a virtual batch unit. The sampling batches correspond to discrete time periods of a continuous control system process. The virtual batch unit includes input and output parameters corresponding to parameters associated with the continuous control system process. The example instructions also cause the machine to generate predictive analytics information indicative of a predictive quality of an output of the continuous control system process at an end of the discrete time period based on an analysis of the sampled batch relative to an analytics model.

An exemplary method includes implementing a sample batch on a virtual batch unit. The sampling batches correspond to discrete time periods of a continuous control system process. The virtual batch unit includes input and output parameters corresponding to parameters associated with the continuous control system process. The example method also includes generating predictive analytics information indicative of a predictive quality of an output of the continuous control system process at an end of the discrete time period based on an analysis of the sampled batch relative to an analytics model.

Drawings

FIG. 1 is a schematic diagram of an example process control system.

FIG. 2 illustrates an exemplary manner of implementing the exemplary predictive analysis engine of FIG. 1.

FIG. 3 includes a graph illustrating dynamic behavior of an example quality parameter and a process parameter of historical process data associated with an example continuous control system process.

Fig. 4 is an enlarged view of the exemplary graph of fig. 3.

FIG. 5 is a schematic diagram of an exemplary virtual batch unit implemented in accordance with the teachings disclosed herein.

FIG. 6 is a graph illustrating the dynamic behavior of an exemplary process parameter of an exemplary continuous control system process in operation.

FIG. 7 is an exemplary quality prediction interface that may be presented in accordance with the teachings disclosed herein.

Fig. 8-10 are flow diagrams representing example methods that may be performed to implement the example predictive analytics engine of fig. 1 and/or 2.

Fig. 11 is a schematic diagram of an example processor platform that may be used and/or programmed to perform the example methods of fig. 8-10 and/or, more generally, to implement the example predictive analytics engine of fig. 1 and/or 2.

The figures are not drawn to scale. Generally, the same reference numbers will be used throughout the drawings and the following written description to refer to the same or like parts.

When identifying a plurality of elements or components that may be referred to individually, the descriptors "first", "second", "third", etc. are used herein. Unless otherwise specified or understood based on the context of use, such descriptors are not intended to confer any meaning of priority, physical order or arrangement in a list, or temporal order, but are merely used as labels referring individually to a plurality of elements or components to ease understanding of the disclosed examples. In some examples, the descriptor "first" may be used to refer to an element in the detailed description, while a different descriptor, such as "second" or "third," may be used in the claims to refer to the same element. In such cases, it should be understood that such descriptors are used merely for ease of reference to multiple elements or components.

Detailed Description

Typically, batch control analysis is implemented during execution of a batch process to improve and/or maintain the safety, performance, and/or efficiency of the batch process by enabling fault detection and quality prediction of the process in substantially real-time. More particularly, in some cases, batch control analysis involves multivariate analysis of batch processes relative to a model of the batch process generated from previously performed (e.g., historically archived) batch processes. Common tools used to create statistical models for batch analysis include Principal Component Analysis (PCA) and latent structure Projection (PLS) (also known as partial least squares).

While batch analysis enables fault detection and quality prediction of output products during a batch process, similar analysis is not available for continuous process control. PCA and PLS (used in batch analysis) cannot account for, among other things, the dynamic behavior of a continuous system that deviates from steady state and then reverts back to steady state. In particular, in continuous process systems, deviations in steady state are detected and corrected based on changes in the process parameters over time. Thus, the response of the continuous process to the deviation is instantaneous or time-based. However, PCA and PLS do not contain a time dimension and are therefore not suitable for direct application to continuous steady-state process control systems. One potential method of providing predictive analysis to a continuous process control system is to develop analytical models by means of the physical mechanisms of the process and time dependent analysis based on, for example, differential equations. However, due to the challenges of training such models, this approach is unlikely to produce a reliable model because of the non-linearity and sensitivity of the dynamic behavior in such differential equations.

Examples disclosed herein enable predictive analysis of a continuous process control system using a batch-like analysis technique. More specifically, examples disclosed herein specify continuous and discrete time portions of a continuous process, which may be modeled as a series or activity () (campaigns) of a continuous batch process. Each discrete-time portion of the continuous process is referred to herein as a sample batch to distinguish it from a typical batch associated with an actual batch process. According to the teachings disclosed herein, by dividing a continuous process into a plurality of discrete segments, the discrete segments can be considered as separate batches, thereby enabling application of batch-like analysis techniques to generate predictive analysis information for the continuous process.

The international automation association (ISA), adopted in 1995 the framework for standard batch process control, referred to as ISA-88. The ISA-88 standard defines a program control framework for batch processes in the context of a recipe (recipe) that includes one or more unit programs (procedures), which in turn may include an ordered sequence of operations, which in turn may include an ordered set of phases. Standard continuous process control systems are not constrained by the ISA-88 standard and, thus, are not generally defined in terms of program units, operations, and phases. However, in some examples disclosed herein, virtual batch units are generated for a continuous process system to run in parallel with a continuous process, thereby providing predictive analysis of the process. In other words, in certain examples, a continuous process system is controlled using standard continuous process control techniques, while virtual batch units that reflect the continuous process but are structured to mimic typical batch processes are implemented in parallel to run sample batches of the continuous system (corresponding to discrete-time portions of the process described above) to provide predictive analysis in a manner similar to batch analysis.

More specifically, in some examples, a simulated lot recipe may be defined to run consecutive sample lots on a virtual lot unit, thereby mimicking the activity of consecutive lots (consistent with ISA-88), while also reflecting the actual continuous process. The implementation of a virtual batch process unit can reflect an actual continuous process control system, since a virtual batch unit is defined to include input and output parameters corresponding to the relevant input, output and/or process parameters of the continuous process to be monitored and analyzed in connection with the respective sampling batches. Further, in some examples, a virtual batch unit is defined to include an initial condition (separate from the input parameter) that corresponds to a value of a process parameter when a new sampling batch is turned on.

By breaking down the continuous process into discrete portions implemented in conjunction with the virtual batch units as defined above, batch-like analysis techniques may be used to analyze the various portions (e.g., sample batches) to provide fault detection and/or quality prediction of the current various portions of the continuous process being analyzed. Furthermore, by repeating the analysis for each successive sample batch (e.g., discrete portion) defined in the continuous process, a continuous update to the predictive analysis can be provided throughout the continuous process.

In some examples, the duration of each sample batch of the continuous process is set to a fixed period of time. In such an example, analysis of a continuous process is performed without Dynamic Time Warping (DTW), as is typically achieved with conventional batch analysis. In some examples, the fixed period or duration defined for the sample batch corresponds to a residence time of the continuous process system. As used herein, the residence time (also referred to as residence time) of a process system refers to the duration of time that a material is processed in the system (e.g., resides therein). In other words, the residence time corresponds to the duration of time between when the particular material is initially introduced as input into the process and when the particular material has been processed into a final output product. Generally, 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 back-flow and/or mixing of the materials. Thus, residence time may be expressed as a distribution in which some materials linger in the process system for a longer period of time than others. Thus, in some examples, the residence time used to define the length of each sample batch is approximated (approximate) based on the average residence time of the continuous processing system. In some examples, the duration of each sampling batch is equal to an approximation of the dwell time. In other examples, the duration of each sampling batch may be greater than the dwell time (e.g., up to 4 times the dwell time approximation). The longer duration of the sampling batch may facilitate the capture of dynamic process behavior in the process control system. On the other hand, a longer duration of a sampling batch may result in less frequent predictive analysis information.

As described above, conventional batch analysis (based on PCA and PLS) cannot be applied directly to continuous steady-state process systems because the process behavior is dynamic (e.g., the deviations of the system and their corrections are time-dependent). Examples disclosed herein account for dynamic (time-based) changes in process behavior in a continuous process system by developing an analytical model using correlated sampled batches (e.g., discrete portions) of historical process data of a continuous process as training data, where the historical sampled batches of historical process data are selected to correspond to particular times when the process is undergoing dynamic changes. In standard batch analysis, an analytical model is generated based on training data corresponding to historical process data associated with a plurality of batches. In other words, all data from the beginning to the end of the training batch is used to generate the model. Instead, only isolated portions of historical process data from a continuous process are used to define historical sample batches that are used as a basis for generating an analytical model that can analyze sample batches being conducted in real time. Further, in some examples, the historical process data used to define one historical sampling batch may overlap in time with the historical process data used to define a second historical sampling batch.

For example, assume that the continuous processing system is currently in an unstable state, such as during system startup. During start-up, process parameters and/or quality parameters (measured at the output) may change significantly before the system reaches steady state. Using a single historical sample batch corresponding to historical process data associated with the entire startup period will not account for the dynamic behavior occurring during that period. Thus, in some examples, multiple historical sample batches may be extracted from historical data corresponding to a start-up period of a single continuous process, with the start time and end time of each historical sample batch being slightly offset from each other. As a result, different historical sample batches cover overlapping time periods. In some examples, the time offset of successive historical sample batches is defined to provide sufficient granularity to accurately capture the dynamic behavior of process parameters and/or quality parameters in the system. Thus, the amount of overlapping data between different historical sample batches depends on the amount of dynamic behavior (e.g., volatility) in the process parameters and/or quality parameters at the point in time of interest. Typically, the startup period and the shutdown period of a continuous process exhibit greater dynamic behavior than during the steady-state period. Thus, in some examples, historical sample batches extracted from historical process data of a continuous process overlap more densely around startup and shutdown periods than historical sample batches extracted at times corresponding to system steady-state periods. In some examples, the historical sample batches corresponding to the steady-state periods may not overlap at all. Further, while the above examples are described with respect to historical data associated with a single continuous process having a single start-up and a single shut-down, historical sample batches may be extracted from multiple similar continuous processes and/or during multiple start-ups and shut-downs and associated steady-state periods therebetween.

Generally, continuous process control systems operate at steady state much more than during start-up or shut-down periods. Thus, in some examples, the number of historical sampling batches corresponding to the steady-state period is greater for model generation than the historical sampling batches corresponding to the startup or shutdown period. However, the complete historical sample batch training set includes at least some sample batches corresponding to the startup period, some batches corresponding to the steady state period, and some batches corresponding to the shutdown period. With the training set of identified historical sample batches, an analytical model may be generated or trained based on historical sample batches in the same manner as conventional batch analytical models are generated from historical batch data. With the generated analytical model, real-time sampled batches corresponding to a current continuous process may be analyzed to generate predictive analytical information indicative of fault detection and/or quality prediction of an output product of the process.

FIG. 1 is a schematic diagram of an example process control system 100 that may be implemented in accordance with the teachings disclosed herein. In this example, the process control system 100 is implementing a continuous process. The example process control system 100 of FIG. 1 includes: one or more process controllers, one of which is indicated at 102, one or more operator stations, one of which is indicated at 104, and one or more workstations, one of which is indicated at 106. The example process controller 102, the example operator station 104, and the example workstation 106 are communicatively coupled via a bus and/or a Local Area Network (LAN)108, which LAN 108 is commonly referred to as an Application Control Network (ACN).

The example operator station 104 of FIG. 1 allows an operator to view and/or operate one or more operator display screens and/or applications that enable the operator to view process control system parameters, states, conditions, alarms, etc., and/or to modify process control system settings (e.g., set points, operating states, etc.). The example operator station 104 includes and/or implements an example predictive analysis engine 105 to generate predictive analysis for a continuous process being implemented within the process control system 100. An exemplary manner of implementing the exemplary predictive analysis engine 105 of FIG. 1 is described below in conjunction with FIG. 2.

In some examples, the predictive analysis engine 105 executes a virtual batch unit associated with a simulated recipe summary program for implementing a particular sampling batch of a continuous process. As described above and below, a sample batch is a discrete-time portion of a continuous process that is implemented on a virtual batch unit for analysis independent of the actual control of the continuous process. In some examples, once the current sample batch process ends, predictive analysis engine 105 opens a new sample batch on the virtual batch unit such that successive sample batches form a chain or activity of successive batches that correspond to and run in parallel with the successive process. During execution of the virtual batch unit for each sampling batch, the predictive analysis engine 105 monitors process parameters and/or other inputs and outputs associated with the current sampling batch substantially in real time. Further, the example predictive analysis engine 105 applies an analytical model to the current sample batch in substantially real-time to detect faults and/or generate predictions related to the quality of the output of the continuous process at future time periods corresponding to when the current sample batch is to end. By performing this analysis on successive sample batches, predictive analysis engine 105 is able to provide substantially real-time fault detection and quality prediction for a continuous process in a continuous manner. Such predictive analysis information may increase an operator's knowledge of the current state of the process control system 100 and the expected changes to the current state, thereby enabling the operator to respond more quickly and efficiently to unexpected deviations in the process.

The example workstation 106 of fig. 1 may be configured as an application station to execute one or more information technology applications, user interaction applications, and/or communication applications. For example, the application station 106 may be configured to primarily execute applications related to process control, while another application station (not shown) may be configured to primarily execute communication applications that enable the process control system 100 to communicate with other devices or systems using any desired communication media (e.g., wireless, hardwired, etc.) and protocols (e.g., HTTP, SOAP, etc.). The example operator station 104 and the example workstation 106 of FIG. 1 may be implemented using one or more workstations and/or any other suitable computer systems and/or processing systems. For example, the operator station 104 and/or the workstation 106 may be implemented using single-processor personal computers, single-processor or multi-processor workstations, and the like.

The example LAN 108 of fig. 1 may be implemented using any desired communication medium and protocol. For example, the LAN 108 may be based on a hardwired and/or wireless ethernet communication scheme. However, any other suitable communication medium and/or protocol may be used. Further, although a single LAN 108 is illustrated in FIG. 1, as shown in FIG. 1, more than one LAN and/or other alternative communication hardware may be used to provide redundant communication paths between the exemplary systems of FIG. 1.

The example controller 102 of FIG. 1 is coupled to a plurality of 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 may be fieldbus compatible valves, actuators, sensors, etc., in which case the smart field devices 110, 112, and 114 communicate via a digital data bus 116 using the well known Foundation fieldbus protocol. Of course, other types of smart field devices and communication protocols may alternatively be used. For example, the smart field devices 110, 112, and 114 may instead be Profibus and/or HART compliant devices that communicate via the data bus 116 using the well-known Profibus and HART communication protocols. Additional I/O devices (similar and/or identical to the I/O gateway 118) may be coupled to the controller 102 to enable additional groups of smart field devices (which may be Foundation Fieldbus devices, HART devices, etc.) to communicate with the controller 102.

In addition to the example smart field devices 110, 112, and 114, one or more non-smart field devices 120 and 122 may be communicatively coupled to the example controller 102. The example non-smart field devices 120 and 122 of FIG. 1 may be, for example, conventional 4-20 milliamp (mA) or 0-10 Volts Direct Current (VDC) devices that communicate with the controller 102 via respective hardwired links.

The exemplary controller 102 of FIG. 1 may be, for example, DeltaV sold by Fisher-Rosemount Systems, Inc. of Emerson Process management (Emerson Process management), IncTMAnd a controller. However, any other controller may be used instead. Further, although only one controller 102 is shown in FIG. 1, additional controllers and/or process control platforms of any desired type and/or combination of types may be coupled to the LAN 108. In any event, the example controller 102 executes one or more process control routines associated with the process control system 100 that have been generated by a system engineer and/or other system operator using the operator station 104 and that have been downloaded to the controller 102 and/or instantiated within the controller 102.

While FIG. 1 illustrates an example process control system 100 in which the methods and apparatus for performing predictive analysis on a continuous process control system described in more detail below may be advantageously employed, one of ordinary skill in the art will readily appreciate that the methods and apparatus for controlling information presented to an operator and/or other personnel described herein may be advantageously used with other process plants and/or process control systems (e.g., having more than one controller, spanning more than one geographic location, etc.) having greater or lesser complexity than the example of FIG. 1, if desired.

FIG. 2 illustrates an exemplary manner of implementing the exemplary predictive analysis engine 105 of FIG. 1. The example predictive analysis engine 105 of FIG. 2 includes an example communication interface 202, an example residence time analyzer 204, an example historical sampling batch generator 206, an example batch model generator 208, an example virtual batch unit controller 210, an example sampling batch analyzer 212, an example database 214, and an example user interface 216.

The example predictive analysis engine 105 of FIG. 2 includes an example communication interface 202 to communicate with other components in the example process control system 100. In some examples, the communication interface 202 receives process control data (indicative of values of process parameters) from the field devices 110, 112, 114, 120, 122 via the controller 102 in substantially real time. In some examples, such process control data is sent to the continuous historian database 218 for storage. In some such examples, the communication interface 202 obtains historical process data from the continuous historian database 218. In some examples, the continuous historian database 218 is implemented by the exemplary database 214 of the predictive analytics engine 105. In other examples (as shown in the illustrated example), the continuous historian database 218 is implemented separately from the predictive analysis engine 105 and/or separately from the operator station 104.

The example predictive analysis engine 105 of FIG. 2 includes an example dwell time analyzer 204 to analyze historical process data associated with a continuous control system process to approximate the dwell time of the continuous process. As noted above, the residence time corresponds to the duration of time it takes for the material to pass through or be processed by the continuous system. In some examples, the dwell time analyzer 204 approximates the dwell time based on the duration between the time the continuous system first starts up and the earliest response of the system at the exit as shown in fig. 3.

Fig. 3 includes a first graph 300 representing a change in a quality parameter 302, 304, 306 over time at an outlet of an exemplary continuous system and a second graph 308 representing a change over a same time period in a process parameter and/or other input parameters 310, 312, 314 (collectively referred to herein as process parameters for brevity) of the continuous system. The quality parameters 302, 304, 306 may or may not correspond to the process parameters 310, 312, 314. Further, although three quality parameters and three process parameters are shown for purposes of illustration, there may be any number of quality parameters and any number of process parameters.

In the illustrated example, the first graph 300 and the second graph 308 are aligned in time with a common time metric to enable comparison of the quality parameters 302, 304, 306 and the process parameters 310, 312, 314 at any given point in time during the process. As shown in the illustrated example, the continuous control system process may be divided into three general phases or periods, including a startup period 316, a steady state period 318, and a shutdown period 320. The steady state period 318 corresponds to when the continuous process has reached a substantially steady state, wherein the process parameters 310, 312, 314 have reached and remain at desired values (e.g., set points) and/or within acceptable thresholds for such values, and the quality parameters 302, 304, 306 are similarly maintained at a substantially steady state (e.g., within acceptable thresholds for desired values). As the name implies, the startup period 316 and the shutdown period 320 correspond to the time periods when the process first begins before the steady-state period 318 and when the process is shutting down after the steady-state period 318.

For a continuous control system, the steady state period 318 may be a significantly (e.g., multiple orders of magnitude) longer period of time than the startup period 316 or the shutdown period 320. Thus, in the example shown in fig. 3, the graphs 300, 308 include an interruption 322 within the steady-state period 318 to shorten the length of the illustrated period, which may be extended for any duration up to time S. Based on the time metric shown in the illustrated example, the start-up period 316 ends and the steady-state period 318 begins about 30 minutes after the process first begins. Although the process parameters 310, 312, 314 reach steady state before 20 minutes, the steady state period 318 does not begin until 30 minutes because it takes so long for the second quality parameter 304 to reach steady state. There is a lag in the response of the quality parameters 302, 304, 306 with respect to the process parameters 310, 312, 314 because the quality parameters are measured on the output side of the process, while the process parameters (at least the inlet parameters) are measured on the input side of the process. This lag is the basis by which the exemplary residence time analyzer 204 can approximate the residence time of a continuous process. More specifically, in some examples, the dwell time analyzer 204 determines the approximate dwell time of the process based on the duration between the first start-up of the continuous system (at time 0) and the earliest response of the system on the exit side. In the illustrated example of fig. 3, the dwell time (identified by reference numeral 324) is approximately 10 minutes, as that is the time at which the first quality parameter 302 and the third quality parameter 306 first begin to respond. In this example, the fact that the second quality parameter 304 does not begin responding until after a few minutes 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 may have responded before the particular parameter. For example, if the second quality parameter 304 is to be used, the dwell time will be determined to be closer to 13 minutes, since that is the time at which the second quality parameter first begins to change in the illustrated example of fig. 3. For purposes of illustration, the residence time of the illustrated example is assumed to be 10 minutes.

Returning to FIG. 2, the example predictive analysis engine 105 includes a historical sample batch generator 206 to generate a historical sample batch for use in generating or training an analysis model used to generate predictive analysis information for a continuous process. As used herein, a historically sampled batch includes historical process data associated with a continuous control system process over discrete time periods (e.g., specified starts and ends separated by fixed durations). The historical process data corresponds to a process parameter of the control system, as shown in the second graph 308 of FIG. 3. In some examples, the duration or length of the historical sample batch is defined based on an approximation of the residence time 324 determined by the residence time analyzer 204. In other words, in some examples, the historical sample batches are defined with a duration corresponding to a dwell time of the continuous process system.

In some examples, the historical sample batch generator 206 determines the particular start and end times of different historical sample batches based on the value of the quality parameter (represented in the first graph 300 of fig. 3) at the particular point in time of interest. More specifically, as described above, the quality parameters 302, 304, 306 are measures of the quality of the output of the continuous process system. Thus, in some examples, a quality parameter for a particular point in time is identified to specify an end time of a historical sample batch. Furthermore, the value of the quality parameter at a particular quality reading point is used as a result or output of an associated historical sample batch ending at the same point in time. The start of a historical sample batch is determined by tracing back in time the fixed length of the historical sample batch (corresponding to the dwell time as described above). As a specific example, fig. 3 shows a mass read point 326 selected in the first graph 300 at approximately 22.5 minutes into the process. Following the arrow down to the second graph 308, the quality read point 326 defines an end time 328 of the historical sample batch that includes historical process data (e.g., values of the process parameters 310, 312, 314) during the period outlined by block 330. The duration (e.g., width) of block 330 corresponds to the dwell time 324 (e.g., 10 minutes in this example), defining a start time 332 of the historical sample batch at approximately 12.5 minutes into the continuous process. The example historical sample batch generator 206 generates historical sample batches within the time period identified by block 330 by obtaining historical process control data (e.g., values of the process parameters 310, 312, 314) during the time period bounded by the block 330. The example historical sample batch generator 206 also sets initial conditions for the historical sample batch. In some examples, the initial condition corresponds to the value of the process parameter 310, 312, 314 at the start time 332 of the historical sample batch.

In some examples, the number of historical sample batches generated by the historical sample batch generator 206 and the time intervals of the historical sample batches are based on the degree of dynamic variation of the historical process data and/or quality parameters over time. For example, as shown in the first graph 300 of fig. 3, the first quality parameter 302 drops sharply shortly after a dwell time 324(10 minutes) and reaches steady state 15 minutes before entering the process. Thus, the dynamic variation of the first quality parameter 302 is significant between 10 minutes and 15 minutes of the process. The second quality parameter 304 also begins to decrease shortly after the first dwell time 324, but the decrease is more gradual and takes a longer period of time than the first quality parameter 302. The third quality parameter 306 also starts to vary around 10 minutes (one residence time) and fluctuates greatly during the period of time before reaching steady state around 25 minutes into the process. The relatively gradual slope of second quality parameter 304 results in second quality parameter 304 taking longer to reach steady state than either first quality parameter 302 or third quality parameter 306.

To properly capture the relatively high degree of dynamic variation of the first quality parameter 302 and the third quality parameter 306 during the startup period 316, the example historical sample batch generator 206 may select or identify a plurality of quality read points that are spaced apart at relatively small time intervals. After entering the exemplary process represented by the graphs 300, 308 in fig. 3 for 25 minutes, when the first quality parameter 302 and the third quality parameter 306 reach steady state, the exemplary historical sample batch generator 206 may select or identify additional quality read points that are spaced at greater intervals because of the lesser degree of dynamic variation in the second quality parameter 304. After all three quality parameters 302, 304, 306 have reached steady state (e.g., when the process enters steady state period 318), the intervals between quality read points may be spaced further apart. This is graphically demonstrated in the example shown in fig. 4, which contains an enlarged portion of the graphs 300, 308 of fig. 3.

In the illustrated example of fig. 4, 20 different quality read points 402 are identified and labeled from Q1 through Q20, respectively. As shown in fig. 4, the first mass read point 402(Q1) is located at the 10 minute mark corresponding to one dwell time 324. The first quality read point 402(Q1) is set at a dwell time such that a first portion of the historical process control data (identified by block 404) is able to define a complete historical sample batch having a fixed length corresponding to the dwell time 324, as described above and shown in the illustrated example. In the illustrated example, the next 15 mass read points 402(Q2-Q16) are spaced at relatively small intervals to capture the dynamic changes in the labeled mass parameters 302, 304, 306 from 10 minutes to 25 minutes (when the third mass parameter 306 reaches steady state). For clarity, the first through sixteenth mass read points 402(Q1-Q16) are spaced at one minute intervals. However, in some examples, the time interval of the quality read points 402 may be significantly reduced (e.g., 1 second, 5 seconds, 10 seconds, 15 seconds, etc.) due to the relatively high degree of dynamic variation of the quality parameter over the time period. Alternatively, in the case where the dynamic variation of the quality parameter is small, the time interval of the quality reading point 402 may be increased. For example, as described above, the slope of second quality parameter 304 varies more gradually than first parameter 302 and third quality parameter 306. As a result, in the example shown, the mass read points 402 starting at 25 minutes (Q16) and extending at 30 minutes (Q18) to the end of the start-up period 316 are set at 2.5 minute intervals. After entering the steady state period 318, the quality read points 402 are spaced further apart (e.g., every five minutes in the illustrated example) because the quality parameters 302, 304, 306 are substantially free of dynamic changes.

Although the time intervals of the quality read points 402 have been described as being based on dynamic changes in the quality parameters 302, 304, 306, in some examples, the time intervals may additionally or alternatively be based on dynamic changes in the process parameters 310, 312, 314. More specifically, in some examples, the time interval of the quality reading points 402 is based on which parameter exhibits the greatest degree of dynamic change at the relevant point in time. Further, although the time intervals of the mass read points 402 are shown at relatively fixed intervals, in some examples, different mass read points 402 may be located at irregular intervals that are suitable for variability of the parameters at the respective time points. In some examples, the timing of the quality read point 402 is randomly selected within a suitable range for the entire duration of the continuous process. For example, in some examples, historical sample batch generator 206 may determine an appropriate number of quality read points needed to adequately capture the dynamic behavior of the parameters in startup period 316, and then randomly identify a particular time (beginning at a dwell time) within startup period 316 for the identified number of quality read points. The random selection process may be repeated for a steady-state period 318 and an off period 320.

As with the example shown in fig. 4, although the time interval between adjacent quality read points 402 varies depending on the degree of dynamic variation associated with the quality parameters 302, 304, 306, the interval between quality read points 402 is less than the dwell time 324. As a result, different historical sample batches generated for different quality read points 402 contain overlapping portions of historical process data. For example, as described above, the first portion of the historical process data 404 corresponds to values of the process parameter from time 0 to 10 minutes. In the illustrated example, a second portion of the historical process data 406 is shown, which corresponds to the ninth quality read point 402(Q9) set at 18 minutes into the process. When the quality read point 402 defines the end time of the associated historical sample batch, the start time is determined by backtracking in time by the dwell time 324(10 minutes in this example). Thus, the second portion of the historical process data 406 in the illustrated example begins at 8 minutes of the entry process, resulting in a two minute overlap with the first portion of the historical process data 404. A third portion of the historical process data 408 is shown extending from 15 minutes into the process to 25 minutes, resulting in a three minute overlap with the second portion of the historical process data 406. The fourth portion of the historical process data 410 is shown extending from 30 minutes to 40 minutes into the process so as not to overlap the first three portions of the historical process data shown in FIG. 4. However, additional portions of the historical process data associated with other quality read points 402 acquired during the respective time periods will result in each portion of the historical process data overlapping at least one other portion of the data. Although the portions of historical process data overlap, the time shift or time interval between adjacent portions of data results in different values of the quality parameter and the process parameter at the respective quality read points 402, and in a difference in the process parameter at the beginning of the respective portions of data (which serves as an initial condition for each associated historical sample batch).

In some examples, the time interval of the quality reading point 402 may be equal to or greater than the dwell time without substantially dynamic changes in the quality parameter and/or the process parameter over a time period corresponding to the dwell time 324 (e.g., during the steady state period 318). In this case, the portions of the historical process data for different ones of the respective historical sample batches do not overlap, and as described above, the historical sample batches generated based on the portions of the historical process data have a duration equal to the dwell time. Although the above example is described with the historical sample batches assumed to have a duration corresponding to a dwell time, in other examples, the historical sample batches may be defined to have a duration greater than the dwell time (e.g., twice the dwell time, three times the dwell time, etc.).

Although the discussion of FIG. 4 above is limited to selecting the quality read points 402 in the startup period 316 and the steady-state period 318, a similar approach may be employed to identify portions of the data of additional historical sample batches associated with the shutdown period 320 shown in FIG. 3. In other words, the timing and spacing of the additional quality read points 402 may be selected within the off period 320 based on the degree of dynamic variation of the quality parameters 302, 304, 306 and/or the process parameters 310, 312, 314.

The example historical sample batch generator 206 may generate any suitable number of batches associated with each of the start-up period 316, steady-state period 318, and shut-down period 320. In some examples, the number of historical sample batches associated with the steady-state period 318 will be greater than the number of historical sample batches associated with the startup and shutdown periods 316, 320. For example, in some examples, approximately 50% of all historical sample batches generated by the historical sample batch generator 206 are associated with the steady-state period 318, and 25% of all historical sample batches are associated with each of the startup and shutdown periods 316, 320. In some examples, the historical sample batch associated with the startup period 316 may be obtained from historical process data corresponding to a single startup event. In other examples, historical sample batches associated with the startup period 316 may be obtained from multiple different instances of continuous process system startup. Similarly, the historical sample batches associated with the steady-state and shutdown periods 318, 320 may both be taken 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 sample batches generated by the historical sample batch generator 206 are stored in the example database 214 for subsequent use.

In the example of FIG. 2, predictive analysis engine 105 includes a batch model generator 208 to generate an analytical model that may be used to analyze real-time sampled batches associated with a continuous control system process operating in real-time. In some examples, the analytical model is developed using historical sample batches generated by the example historical sample batch generator 206. More specifically, in some examples, batch model generator 208 generates an analytical model using multivariate data analysis of a historical sample batch pool. The pool may include any suitable number of historical sample batches to provide statistically reliable results (e.g., at least 25 batches). In some examples, a pool may be divided into two sets of batches; the first for model training and the second for cross validation. In some examples, all historical sample batches generated by the historical sample batch generator 206 are included in the pool. In other examples, a subset of all historical sample batches is selected for inclusion in the pool. In some examples, the historical sample batches are selected and/or generated such that the pool includes historical sample batches associated with the steady-state period 318 that are more secondary than the historical sample batches associated with the startup period 316 or the shutdown period 320. In some examples, the number of historical sample batches associated with the start-up period 316 and the shut-down period 320 is approximately equal, while the number of historical sample batches associated with the steady-state period 318 is approximately twice the number of historical sample batches associated with the start-up period 316 and the shut-down period 320.

In some examples, batch model generator 208 corresponds to (or at least operates similar to) existing analysis software, firmware, and/or hardware used to generate models of traditional batch processes. In other words, in some examples, the batch model generator 208 generates an analytical model based on historical sample batches using PCA and/or PLS techniques. As mentioned above, PCA and PLS cannot be directly applied to a continuous process because a continuous process involves dynamic behavior that changes over time and cannot be accounted for by PCA and PLS. However, the examples described herein overcome this difficulty by generating multiple fixed-length snapshots of discrete portions of a continuous process corresponding to the historical sample batch described above. Furthermore, the dynamic behavior of parameters associated with the continuous process is considered based on different historical sampling batches having different start and end times spaced apart in time with a granularity suitable to capture the variation of the parameters of the continuous process over time. In other words, rather than analyzing multiple batches having the same start and the same end to generate an analytical model (as is done in conventional batch analysis), the analysis in the disclosed example is associated with multiple sample batches that are slightly time-shifted relative to each other over the course of the relevant period of the continuous process of interest. In some examples, the analytical models generated by batch model generator 208 are stored in exemplary database 214 for subsequent use.

The example predictive analysis engine 105 of FIG. 2 includes an example virtual batch unit controller 210 to generate a virtual batch unit that serves as a basis for the virtual batch unit controller 210 to implement, in real-time, a sample batch corresponding to a real-time operation of a continuous process. In some examples, the virtual batch unit controller 210 corresponds to existing batch control software, firmware, and/or hardware (e.g., DeltaV) for controlling standard batch processesTMBatch executors) in (or at least operate similarly to) the batch executors in (e.g., in)). In accordance with the ISA-88 standard for traditional batch process control, a batch is defined in the context of a recipe that includes at least one unit procedure that defines program control associated with equipment operation in a physical process control unit. Consistent with this standard, the virtual batch unit controller 210 of the illustrated example defines virtual batch units in place of the physical units defined for standard batch processes. As used herein, a virtual batch unit refers to a data structure that defines or includes all relevant parameters of a continuously controlled system process (e.g., process parameters and/or inputs and quality parameters and/or outputs) to enable implementation of a sample batch in a manner consistent with ISA-88, such that batch-like analysis techniques may be applied to the sample batch. A schematic diagram of an exemplary virtual batch unit 500 is shown in fig. 5. Similar to standard batch units and associated unit programs, the example virtual batch unit 500 includes input parameters 502 that are monitored substantially in real-time and output parameters 504 that are used to measure and/or indicate the quality of the output of the process. In some examples, the input parameters 502 correspond to process parameters associated with a continuous process control system, such as the process parameters 310, 312, 314 shown and described in connection with fig. 3 and/or 4. Further, in some examples, the output parameters 504 correspond to quality parameters associated with a continuous process control system, such as the quality parameters 302, 304, 306 shown and described in connection with fig. 3 and/or 4.

Unlike standard batch units and associated unit programs, the example virtual batch unit 500 includes a separate set of inputs referred to herein as initial conditions 506. Conventional batch processes do not have to define the initial conditions specifically for the same set of process parameters, since the start of the batch process is approximately the same each time in terms of these parameters. In contrast, as discussed further below, different sampling batches implemented on the virtual batch process unit 500 begin at different points in time within a single continuous batch process. As a result, the value of the process parameter at the beginning of any particular sampling batch need not be the same as the value of the process parameter at the beginning of a different sampling batch. Thus, the example virtual batch unit 500 includes an initial condition 506 defined as a value of a process parameter (e.g., the process parameters 310, 312, 314 of fig. 3 and/or 4) at the start time of the current sampling batch. In other words, the virtual batch unit 500 includes as input a repeated set of process parameters. However, while the input parameters 502 are updated substantially in real-time as the associated continuous process progresses, the initial conditions 506 are fixed values defined when the sample batch is first turned on. Although fixed throughout the implementation of a single sample batch, the initial conditions 506 may be reset with new values each time a new sample batch is turned on.

In some examples, the virtual batch unit controller 210 implements the sample batches on the virtual batch unit 500 in substantially real-time in parallel with the operation of the continuous process. The sample batches correspond to values of process parameters currently present in the continuous process. The purpose of implementing sampling batches using virtual batch units by the virtual batch unit controller 210 is to enable batch-like analysis techniques to be used for continuous processes. In other words, implementing the sample batches on the virtual batch units does not directly affect or control the operation of the continuous process, but runs in parallel with the control and operation of the continuous process to provide predictive analysis. As a result, the recipe used in conjunction with the virtual batch unit 500 is referred to herein as a simulated recipe because the recipe does not actually control the operation of the system. However, in some examples, the results of predictive analysis information generated by analyzing sample batches run on the virtual batch unit 500 may be used to adjust or adapt the process controlled by standard continuous process control techniques.

Each individual sample batch implemented by the virtual batch unit controller 210 is defined to have the same duration as the historical sample batch used to generate the analytical model used to generate the predictive analysis. Furthermore, the real-time sampling batches implemented by the virtual batch unit controller 210 are implemented back-to-back in a continuous manner. In other words, the end of one sampling batch corresponds to the start of the next subsequent sampling batch, wherein a new sampling batch is started each time the current sampling batch ends, for the entire duration of the associated continuous process to be analyzed. In other words, a continuous process is considered an activity of many consecutive lots running on virtual lot unit 500.

For example, FIG. 6 is a graph 600 illustrating process parameters 310, 312, 314 of a continuous process operating in real-time. In the illustrated example, the first sample batch begins at the same time that the continuous process begins (time 0) and extends for a first time period 602 corresponding to the length of the historical sample batch described above in connection with fig. 3 and 4. As described above, the historical sample batch may be defined to have a length corresponding to the dwell time of the continuous process (e.g., ten minutes in the illustrated example). As described above, the initial conditions 506 defined for the virtual batch unit 500 when implementing this first sample batch (during the first time period 602) correspond to the initial values of the process parameters 310, 314, 312 (e.g., at time 0). At the ten minute mark, the first sample batch ends and a second sample batch is started on the virtual batch unit 500 during a second time period 604. At the transition between the first time period 602 and the second time period 604 (associated with the transition from the first sample batch to the second sample batch), the initial condition 506 of the virtual batch unit 500 is reset to a value corresponding to the process parameter at the beginning of the second time period 604 (e.g., at 10 minutes into the process). The process of turning on subsequent sample batches at subsequent time periods 606, 608 corresponds to successive ten minute time increments, and resetting the initial conditions of the virtual batch unit 500 for each new sample batch effectively enables the successive process to be viewed as a series or activity of a single batch process.

The examples discussed herein focus primarily on the following scenarios: a sample batch is defined to have a duration corresponding to the residence time of the continuous process (e.g., 10 minutes in the illustrated example). However, as described above, in some examples, the duration of a sample batch may be longer than the dwell time. More specifically, in some examples, the duration of a single sampling batch may be a multiple of the dwell time (e.g., two dwell times, three dwell times, four dwell times, etc.). In some such examples, a sample batch associated with a single program unit (e.g., virtual batch unit 500) may be divided into multiple phases having a duration of a single dwell time. In other words, rather than treating the first time period 602 and the second time period 604 in fig. 6 as corresponding to separate sample batches, in some examples, the first time period 602 and the second time period 604 may correspond to separate phases associated with a single sample batch that extends the first extended time period 610. In this example, the second extended time period 612 defines a duration of the second sample batch, where the third time period 606 and the fourth time period 608 correspond to separate phases within the second sample batch. In some examples, the duration of a sampling batch and/or the phase within a sampling batch may not correspond to a multiple of the residence time, but may be any suitable length depending on the degree of dynamic variation of the process and/or quality parameters and/or the level of accuracy of the predictive analysis to be generated.

The example predictive analysis engine 105 of FIG. 2 includes an example sample batch analyzer 212 to analyze a sample batch currently implemented on the virtual batch unit 500 by the virtual batch unit controller 210 using the analytical model generated by the batch model generator 208. In some examples, the sampling batch analyzer 212 corresponds to (or at least operates similar to) existing batch analysis software, firmware, and/or hardware for analyzing standard batches based on respective analysis models for the batch processes. In examples where the sample batch analyzer 212 corresponds to existing batch analysis software, firmware, and/or hardware, it may not be necessary to disable the dynamic time warping functionality implemented for standard batch analysis, as described above, because the sample batch being analyzed and all historical sample batches used to generate the analysis model are defined to have the same duration.

In some examples, the results output by the sampling batch analyzer 212 provide fault detection and/or quality prediction information (collectively referred to as predictive analysis information) associated with the current sampling batch for 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 period (e.g., the prediction horizon) for which the quality prediction is provided corresponds to the duration of the sample batch. Thus, when a new sampling batch is turned on with a 10 minute dwell time in the above example, the predictive analysis information provides a prediction of the quality of the output of the continuous process for 10 minutes in the future. As time progresses through the current sample batch, the distance to the future indicated by the predictive analysis information decreases until the time reaches the end of the current sample batch. Thereafter, a new sampling batch is started and a new prediction of the future 10 minutes can be generated.

In some examples, the predictive analysis information provided by the example sampling batch analyzer 212 is stored in a database 214. Additionally or alternatively, the example communication interface 202 may send predictive analytics information to the continuous history database 218. Further, in some examples, user interface 216 generates and/or presents a graphical representation of predictive analytics information via an associated display screen. In some examples, the graphical representation of the predictive analysis information may be similar to graphical representations provided for standard batch process analysis. However, in some examples, predictive analytics information for successive sample batches may be appended to each other to provide a predicted continuous timeline for the duration of the entire monitored continuous control system process.

For example, fig. 7 illustrates an example quality prediction interface 700, the example quality prediction interface 700 providing predictive analysis information for a particular quality parameter (e.g., one of the quality parameters 302, 304, 306 of fig. 3) during four consecutive time periods 702, 704, 706, 708 associated with four consecutive sample batches. In some examples, the start and end of an individual sample batch may be identified by a sample batch line 710. In this example, the first time period 702 corresponds to an initial start of the process. As a result, there is significant variation in the prediction for the quality parameter indicated by the middle solid line 712, and relatively low confidence in the prediction as indicated by the relatively wide confidence ranges indicated by the upper and lower dashed lines 714 and 716. However, over time and the process approaches steady state, the prediction for the quality parameter also converges to substantially steady state, which is within the shaded region 718, the shaded region 718 defining the boundaries of the quality parameter that meet the specifications of the output of the process. In some examples, the current time indicator 720 (e.g., a straight line) indicates the current time. In this example, the current time is 1:47pm, which goes into a fourth time period 708 corresponding to a fourth sample batch of two minutes. As shown in the illustrated example, the prediction for the quality parameter (e.g., solid line 712) extends beyond the current time 720 to 1:55pm, which corresponds to the end time of the current sample batch. Thus, the operator has a prediction of the quality of the output of the continuous process extending from the current time 720 to eight minutes into the future. In some examples, once the current time reaches the end of the fourth time period 708, the graph in the quality prediction interface 700 may move to represent the prediction associated with the new sample batch.

Returning to FIG. 2, the example user interface 216 also enables a user to configure and/or adjust the operation of the components of the predictive analysis engine 105. For example, in some examples, the user may use the user interface 216 to adjust or specify the dwell time and/or specify whether the length of the sample batch corresponds to the dwell time or a duration greater than the dwell time. In some examples, the user may specify, via the user interface 216, the number of historical sample batches to be generated by the historical sample batch generator 206 and/or specify the time intervals for the quality read points 402 that define the temporal locations of the different historical sample batches. In some examples, a user may specify, via the user interface 216, the number of historical sample batches used by the batch model generator 208 to generate the analytical model. In some examples, the user may specify, via the user interface 216, a proportion of the historical sample batches obtained from each of the start-up period 316, the steady-state period 318, and the shut-down period 320. In some examples, a user may specify, via the user interface 216, continuous process parameters associated with a continuous process that are to be used as input parameters and output parameters for the virtual batch unit 500.

Although an exemplary manner of implementing the predictive analysis engine 105 of fig. 1 is illustrated in fig. 2, one or more of the elements, processes and/or devices illustrated in fig. 2 may be combined, divided, rearranged, omitted, eliminated and/or implemented in any other way. Further, the example communication interface 202, the example residence time analyzer 204, the example historical sample batch generator 206, the example batch model generator 208, the example virtual batch unit controller 210, the example sample batch analyzer 212, the example database 214, the example user interface 216, and/or, more generally, the example predictive analysis engine 105 of FIG. 1 may be implemented by hardware, software, firmware, and/or any combination of hardware, software, and/or firmware. Thus, for example, any of the example communication interface 202, the example residence time analyzer 204, the example historical sample batch generator 206, the example batch model generator 208, the example virtual batch unit controller 210, the example sample batch analyzer 212, the example database 214, the example user interface 216, and/or, more generally, the example predictive analysis engine 105 may 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). The example communication interface 202, the example historical sample batch generator 206, and/or more generally, the example predictive analysis engine 105 may be implemented by one or more analog or digital circuits, logic circuits, programmable processors, programmable controllers, Graphic Processing Units (GPUs), Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Programmable Logic Devices (PLDs) and/or, At least one of the example dwell time analyzer 204, the example historical sample batch generator 206, the example batch model generator 208, the example virtual batch unit controller 210, the example sample batch analyzer 212, the example database 214, and/or the example user interface 216 is expressly defined herein to include a non-transitory computer-readable storage device or storage disk (such as a memory, a Digital Versatile Disk (DVD), a Compact Disk (CD), a blu-ray disk, etc.) that includes software and/or firmware. Still further, the example predictive analytics engine 105 of fig. 1 may include one or more elements, processes and/or devices in addition to or in place of those shown in fig. 2, and/or may include more than one of any or all of the shown elements, processes and devices. As used herein, the phrase "in communication," including variations thereof, encompasses direct communication and/or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and/or constant communication, but may additionally include selective communication at regular intervals, scheduled intervals, aperiodic intervals, and/or one-time events.

Flow diagrams representing exemplary hardware logic, machine readable instructions, hardware implemented state machines, and/or any combination thereof for implementing predictive analytics engine 105 of fig. 1 and/or 2 are shown in fig. 8-10. The machine-readable instructions may be one or more executable programs or portion(s) of an executable program for execution by a computer processor such as the processor 1112 shown in the exemplary processor platform 1100 discussed below in connection with fig. 11. The program may be embodied in software stored in a non-transitory computer readable storage medium such as a CD-ROM, a floppy disk, a hard drive, a DVD, a blu-ray disk, or a memory associated with the processor 1112, but the entire program and/or parts thereof could alternatively be executed by a device other than the processor 1112 and/or embodied in firmware or dedicated hardware. Further, although the example program is described with reference to the flow diagrams illustrated in fig. 8-10, many other methods of implementing the example predictive analysis engine 105 may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any 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 circuitry, etc.) configured to perform the respective operations without the need to execute software or firmware.

The machine-readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a fragmented format, a packetized format, and the like. The machine-readable instructions described herein may be stored as data (e.g., portions of instructions, code, representations of code, etc.) that may be used to create, fabricate, and/or generate the machine-executable instructions. For example, the machine-readable instructions may be segmented and stored on one or more storage devices and/or computing devices (e.g., servers). The machine-readable instructions may require one or more of installation, modification, adaptation, updating, combining, supplementing, configuring, decrypting, decompressing, unpacking, distributing, redistributing, etc., so that they may be directly read and/or executed by the computing device and/or other machine. For example, machine-readable instructions may be stored in multiple portions that are each compressed, encrypted, and stored on a separate computing device, where the portions, when decrypted, decompressed, and combined, form a set of executable instructions that implement a program such as that described herein. In another example, machine-readable instructions may be stored in a state in which they can be read by a computer, but require the addition of libraries (e.g., Dynamic Link Libraries (DLLs)), Software Development Kits (SDKs), Application Programming Interfaces (APIs), and the like, in order to execute the instructions on a particular computing device or other device. In another example, machine readable instructions (e.g., stored settings, data input, recorded network address, etc.) may need to be configured before the machine readable instructions and/or corresponding program can be executed, in whole or in part. Accordingly, the disclosed machine readable instructions and/or corresponding programs are intended to encompass such machine readable instructions and/or programs regardless of the particular format or state of the machine readable instructions and/or programs as they are stored or in transit.

As described above, the illustrated processes of fig. 8-10 may be implemented using executable instructions (e.g., computer and/or machine readable instructions) stored on a non-transitory computer and/or machine readable medium (e.g., a hard disk drive, a flash memory, a read-only memory, a compact disk, a digital versatile disk, a cache, a random-access memory, and/or any other storage device or storage disk) in which information is stored for any duration (e.g., for extended periods of time, permanently, for brief instances, for temporarily buffering, and/or for caching of the information). As used herein, the term non-transitory computer-readable medium is expressly defined to include any type of computer-readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media.

The terms "comprising" and "including" (and all forms and tenses thereof) are used herein as open-ended terms. Thus, whenever a claim recites "comprising" or "comprising" (e.g., including, comprising, including, having, etc.) in any form thereof, or in the recitation of any form of claim, it should be understood that additional elements, items, etc. may be present without falling outside the scope of the corresponding claim or recitation. As used herein, the phrase "at least" when used as a transitional term, such as in the preamble of the claims, is open-ended in the same manner that the terms "comprising" and "including" are open-ended. When used, for example, in a form such as A, B and/or C, the term "and/or" refers to any combination or subset of A, B, 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 and B and C. As used herein in the context of describing structures, components, items, objects, and/or things, the phrase "at least one of a and B" is intended to refer to implementations that include any one of: (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, items, objects, and/or things, the phrase "at least one of a or B" is intended to refer to implementations that include any one of: (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. As used herein in the context of describing 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 implementations that include any one of the following: (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing the execution or performance of procedures, instructions, actions, activities, and/or steps, the phrase "at least one of a or B" is intended to refer to implementations that include any of the following: (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.

The example process of FIG. 8 begins at block 802, where the example predictive analysis engine 105 generates an analytical model to analyze a sample batch associated with a continuous control system process at block 802. Further details regarding the implementation of block 802 are provided below in connection with fig. 9 and 10. At block 804, the example virtual batch unit controller 210 defines input parameters and output parameters for a virtual batch unit (e.g., the virtual batch unit 500 of fig. 5) based on parameters associated with the continuous control system process (e.g., the quality parameters 302, 304, 306 and the process parameters 310, 312, 314 of fig. 3 and/or 4). At block 806, the example virtual batch unit controller 210 determines a start time of the sample batch. The start time of a sampling batch may correspond to the start time of a continuous control system process or the end time of a previous sampling batch. The end time of the current sample batch is defined based on a fixed duration set for the sample batch. In some examples, the historical sample batch generator 206 and/or the virtual batch unit controller 210 determines the duration of the sample batch based on the residence time of the continuous control system process. At block 808, the example virtual batch unit controller 210 sets initial conditions for the virtual batch unit based on parameters associated with the continuous control system process at the start time of the sampling batch.

At block 810, the example virtual batch unit controller 210 implements a sample batch on the virtual batch unit 500 in parallel with the continuous control system process. At block 812, the example sample batch analyzer 212 analyzes the sample batch based on the analytical model. At block 814, the example sample batch analyzer 212 generates predictive analysis information for the sample batch. The predictive analysis information may indicate fault detection and/or quality prediction for a continuous control system process. At block 816, the example user interface 216 presents a graphical representation of the predictive analytics information.

At block 818, the example virtual batch unit controller 210 determines whether to implement another sampling batch. If so, control returns to block 806. Otherwise, control proceeds to block 820 where predictive analysis engine 105 determines whether to update the analytical model at block 820. If so, control returns to block 802. Otherwise, the example process of FIG. 8 ends.

Fig. 9 is a flow diagram representing an exemplary implementation of block 802 of fig. 8. The example process of FIG. 9 begins at block 902, where the communication interface 202 accesses historical process data for a continuous control system process at block 902. At block 904, the example dwell time analyzer 204 determines a dwell time for the continuous control system process. At block 906, the example historical sample batch generator 206 and/or the example virtual batch unit controller 210 determines the length of the sample batch based on the dwell time. At block 908, the example historical sample batch generator 206 generates a historical sample batch associated with a startup period (e.g., the startup period 316) of the continuous control system process. At block 910, the example historical sample batch generator 206 generates a historical sample batch associated with a steady-state period (e.g., the steady-state period 318) of the continuous control system process. At block 912, the example historical sample batch generator 206 generates a historical sample batch associated with an off period (e.g., off period 320) of the continuous control system process. More details regarding the implementation of blocks 908, 910, and 912 are provided below in connection with FIG. 10. At block 914, the example batch model generator 208 selects a historical sample batch pool for model generation. At block 916, the example batch model generator 208 generates an analytical model based on the historical sample batch pool. Thereafter, the process of FIG. 9 ends and returns to complete the process of FIG. 8.

FIG. 10 is a flow diagram representing an exemplary implementation of any one of blocks 908, 910, and 912 of FIG. 9. The example process of FIG. 10 begins at block 1002, where the example historical sample batch generator 206 determines a time interval for a quality read point (e.g., the quality read point 402 of FIG. 4) within a relevant time period based on a degree of dynamic change in historical process data corresponding to the relevant time period at block 1002. In this context, the relevant period corresponds to the startup period 316 when block 908 of fig. 9 is implemented, the steady state period 318 when block 910 of fig. 9 is implemented, and the shutdown period 320 when block 912 of fig. 9 is implemented. At block 1004, the example historical sample batch generator 206 identifies quality read points 402 within a relevant period of historical process data. At block 1006, the example communication interface 202 obtains historical process data for a historical sample batch (determined at block 906 of fig. 9) that corresponds to the length of the sample batch and ends at the quality read point. At block 1008, the example historical sample batch generator 206 sets initial conditions for the historical sample batch. At block 1010, the example database 214 stores historical sample batches. At block 1012, the example historical sample batch generator 206 determines whether to generate another historical sample batch associated with the relevant time period. If so, control returns to block 1002. Otherwise, the exemplary process of FIG. 10 ends and returns to completing the process of FIG. 9.

Fig. 11 is a block diagram of an example processor platform 1100, the example processor platform 1100 being configured to execute the instructions of fig. 8-10 to implement the prediction analysis engine 105 of fig. 1 and/or 2. The processor platform 1100 may 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 cellular phone, a smart phone, a tablet (such as an iPad), for exampleTM) A Personal Digital Assistant (PDA), an internet appliance, or any other type of computing device.

The processor platform 1100 of the illustrated example includes a processor 1112. The processor 1112 of the illustrated example 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 processors implement an example residence time analyzer 204, an example historical sample batch generator 206, an example batch model generator 208, an example virtual batch unit controller 210, and an example sample batch analyzer 212.

The processor 1112 of the illustrated example includes local memory 1113 (e.g., cache). The processor 1112 of the illustrated example is in communication with a main memory including a volatile memory 1114 and a non-volatile memory 1116 via a bus 1118. The volatile memory 1114 may be comprised of Synchronous Dynamic Random Access Memory (SDRAM), Dynamic Random Access Memory (DRAM),Dynamic random access memory

Figure BDA0002477081260000252

And/or any other type of random access memory device. The non-volatile memory 1116 may be a flash memory and/or a flash memoryAny other desired type of memory device. Access to the main memory 1114, 1116 is controlled by a memory controller.

The processor platform 1100 of the illustrated example also includes an interface circuit 1120. The interface circuit 1120 may be via any type of interface standard, such as an Ethernet interface, Universal Serial Bus (USB), Bluetooth

Figure BDA0002477081260000261

An interface, a Near Field Communication (NFC) interface, and/or a PCI Express interface). In this example, the interface circuit 1120 implements the example communication interface 202 and the example user interface 216.

In the depicted example, one or more input devices 1122 are connected to the interface circuit 1120. Input device(s) 1122 allow a user to enter data and/or commands into processor 1112. The input device may be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touch screen, a touch pad, a trackball, an isopoint, and/or a voice recognition system.

One or more output devices 1124 are also connected to the interface circuit 1120 of the illustrated example. The output devices 1124 can be implemented, for example, by display devices (e.g., Light Emitting Diodes (LEDs), Organic Light Emitting Diodes (OLEDs), Liquid Crystal Displays (LCDs), cathode ray tube displays (CRTs), in-plane switching (IPS) displays, touch screens, etc.), tactile output devices, printers, and/or speakers. Thus, the interface circuit 1120 of the illustrated example generally includes a graphics driver card, a graphics driver chip, and/or a graphics driver processor.

The interface circuit 1120 of the illustrated example also includes a communication device, such as a transmitter, receiver, transceiver, modem, residential gateway, wireless access point, and/or network interface, to facilitate exchange of data with external machines (e.g., any kind of computing device) via the network 1126. The communication may be via, for example, an ethernet connection, a Digital Subscriber Line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a line-of-sight wireless system, a cellular telephone system, and so forth.

The processor platform 1100 of the illustrated example 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 disk drives, compact disk drives, blu-ray disk drives, Redundant Array of Independent Disks (RAID) systems, and Digital Versatile Disk (DVD) drives. In this example, the mass storage device includes an exemplary database 214.

The machine-executable instructions 1132 of fig. 8-10 may be stored in the mass storage device 1128, the volatile memory 1114, the non-volatile memory 1116, and/or on a removable non-transitory computer-readable storage medium, such as a CD or DVD.

In light of the foregoing, it will be appreciated that example methods, apparatus, and articles of manufacture have been disclosed that enable predictive analytics to be generated for a continuous process control system based on analytical techniques traditionally used for batch process control systems. The disclosed methods, apparatus, and articles of manufacture improve the operation of continuous control system processes by continuously providing an operator with future predictions of the output of the process. More specifically, such information may enable an operator to more quickly recognize and respond to potential deviations from a continuous process, such that appropriate remedial action may be taken as early as, rather than later as, the deviations become more severe.

Although certain example methods, apparatus and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.

32页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种真空自耗电弧重熔炉的控制系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!