Process control systems, such as those used in the chemical processing and supply fields, typically collect a wide variety of data within a process plant environment. This data is often stored and used to identify faults and potential upcoming faults in the system. For example, the data may be examined after a process failure to identify a problem that resulted in an unusable batch of material, or to identify a component that failed or is expected to fail within a specific time frame.
Automated process control systems often are used to manage groups of sensors in a process plant. These process control systems typically monitor conditions in a process plant environment, and adjust process parameters based on conditions observed by the sensors. However, these automated systems can only take action based on the specific data available to them and specific pre-defined thresholds. When undesirable conditions result due to interactions among components and/or conditions within the process plant, or unexpected fault conditions occur, an automated system typically is unable to make an appropriate and complete response.
Thus, some supervisory monitoring of the process plant is required. This may require human operators to manage and respond to data from thousands of sources, which can be effectively infeasible. The human operator also must maintain a physical presence at the process plant to allow for prompt response to fault conditions.
A system and method for process monitoring, advisory control and diagnosis is provided. A multivariate model of a process plant and/or a process may be created. The model may be created in real time as data is received from the process plant. Composite variables of the model may be displayed graphically to a user, allowing the user to track progression of the process and identify potential issues requiring intervention. A user also may select points of the model for which further information is desired, and identify the contribution of various process variables to the model at that point. Information about a single process variable may be extracted and presented to the user. The user may access and operate the system remotely, allowing the process plant to be monitored from a variety of locations regardless of their geographic proximity to the process plant. The system may be accessed using a web-based interface.
Systems and methods are provided to allow for remote monitoring and/or advisory control of a process plant using an interactive interface. A system according to the present invention may receive process monitoring data and construct a multivariate model of the process. Based on the multivariate model, a user interface may be presented to a user, who may be geographically remote from the process being monitored. The user interface may present various data, such as composite variables generated as part of the model, the contributions of various process variables to the model, time-based displays of the model and aspects of the model, and other data. Process monitoring data may be received in real time, and the user interface may be updated in real time.
A computer system 150 may receive values for the various process variables monitored by the system. Each process variable 111, 121, 131, 141 may be associated with one or more monitored entities. In the exemplary system shown in
The computer system 150 may provide a user interface 190. The user interface 190 may display various data and models related to the process performed by the process plant 100, using the multivariate model 170 and/or other data provided by the computer system 150. The user interface may be updated in real time. As used herein, a series of events occurs in “real time” if the events occur without appreciable delay from one to the next, other than delay inherent in any reporting or processing system, and specifically any unavoidable delay inherent in the system described as operating in real time. For example, there may be a small, unavoidable and non-cumulative delay between when data is sent from a sensor to a computer system and when the data is displayed to a user. However, such a process would still be considered to occur in “real time” where the computer system does not store the data for an extended period of time prior to displaying the data. A “real time” process thus may have a persistent, relatively small delay, though generally the delay is non-cumulative during the process.
The user interface 190 also may be provided to a user that is geographically separated from the process plant itself. As used herein, a user is “remote” from a process or a process plant if the user is geographically separated from the process or plant. Typically, a communication network may be used to connect a computer system used by a remote user to a computer system associated with the process. The user interface may allow a remote user to monitor, control, and/or diagnose issues in the process plant. The computer system 150 may be the system that creates and displays the user interface 190, or it may be in communication with a separate system that displays the interface to the user. In some configurations, the user interface may be a web-based interface that can be displayed in and manipulated using a standard web browser. This may further increase availability of the system, since the majority of end-user computer systems in use have a web browser installed. A user thus need not install software that is specific or proprietary to a monitoring system to use interfaces according to the invention. This may be true even where the user is remote from the monitored system, since the system may provide the user interface over a network connection, such as where the interface is provided to a remote user over the Internet.
A system according to the present invention may use a multivariate model to provide information about a process. In general, multivariate projection methods compress existing variables in a complex process into a smaller number of latent variables or principal components. The principal components summarize the highest sources of variability in a set of process data, allowing each observation to be represented by a small number of principal components instead of, for example, several hundred individual variables. Principal components typically are a linear combination of the original variables. A multivariate model also may include an indication of the importance of each variable to each of the principal components in the model, such as by using weighted coefficients for each process variable. As used herein, a composite variable may be the principal component of a multivariate model.
The interpretation of the value of each principal component per observation and the corresponding coefficients for each process variable can provide insight into the operational region defined by the related data. This also may indicate correlations and dependencies among the original process variables.
For example, the plots shown in
A user interface 200 according to the invention may present composite variables of a multivariate model to the user in a variety of ways. The values of a composite variable 201 and the contribution of each process variable to the composite variable 202 may be displayed. The user interface also may update each display in real time as data is received from a process plant. The various displays 201, 202 also may be linked and interactive, such as where selecting a point in the composite display 201 causes the contribution of each process variable at the selected point to be displayed 202. As further described herein, other displays and interactions are possible.
For a batch process, several sets of variables may be considered when creating a multivariate model: the initial conditions for each batch, the measurements done during processing of each batch, and the final properties measured for each batch. Appropriate multivariate models may be constructed using, for example, multi-block multi-way partial least squares methods. Each set of variables defines a block, and each batch may be considered a single observation. The model also may consider each measurement as a separate variable. For example, if a batch has 250 temperature measurements, the model may consider this as a system having 250 different variables.
Comparison of scores from a batch data set may provide insight into batch-to-batch variations. The coefficients associated with each process variable in the model also reveal correlations present between initial conditions, process trajectories, and quality measurements.
Multivariate statistical process control methods also may be extended to batch processes by applying multi-way principal components analysis and/or partial least squares methods to an unfolded matrix of batch data as illustrated in
Multivariate models used in the present invention may allow for monitoring of continuous, batch, multi-batch, and semi-batch processes. Processes may be monitored, diagnosed, and/or corrected based on data obtained after a batch or each batch, or batches may be monitored individually and adjusted during processing. Processes also may be monitored, diagnosed, and corrected in real time. It will be understood that other algorithms may be used in addition to and/or in place of the specific algorithms described herein to construct a multivariate model according to the invention. The systems and interfaces described herein also may be used with continuous, batch, multi-batch, and/or semi-batch processes.
In some configurations, systems according to the invention may create a multivariate model in real time. That is, instead of creating a multivariate model before any information is received from a process plant, the model may be created as data is received. For example, a process plant may include multiple sensors, monitors, and other data-collection devices as previously described. Data from these sources may be collected and transmitted to a system adapted to create a multivariate model of the process performed by the process plant. As the data is received, the multivariate model may be created, modified, and updated to reflect the most recent data. Thus, the multivariate model may be more responsive than, for example, a model that must be re-constructed before changes in the process may be incorporated into the model.
A user interface may present various aspects and views of a multivariate model, the data used to construct the multivariate model, and/or data generated by a multivariate model. An exemplary graphical interface according to the invention is shown in
Another exemplary graphical interface according to the invention is illustrated in
The interfaces displayed in
A single user interface may include multiple graphical interfaces, as illustrated in
The interfaces described in
The interfaces and analyses described herein also may allow for early fault detection and prediction of product properties during performance of a process. For example,
The user interfaces described herein may be updated in real time. As previously described, systems used to create a multivariate model and provide a user interface may receive data from a process plant, such as values for various process variables used to create the multivariate model. As this data is received, the multivariate model and/or user interfaces related to the model and to operation of the process plant may be updated to reflect the new data. Thus, the user interfaces may present the most current data and analysis available. The various interfaces described herein may be provided in a single interface, such as is illustrated in
An exemplary embodiment of the present invention will now be described. It will be understood that variations other than those described with respect to the specific embodiment are possible, and may be included within the scope of the invention. An exemplary system may divide users into several types, such as operators, supervisors, administrators, and services. An operator is a user who can view results information, such as data presented as set of plots and reports. A supervisor is a user who can specify parameters to query database, define computations required for reporting, and view a batch summary for a process plant. An administrator is a user who can set users' permission levels, modify entries in the database directly, and manage other user accounts. A service is a system user that can perform periodic or occasional actions such as polling a database for process data, translation of process phases and products, and data storage.
A software application in the system may include a series of nested web pages broadly organized in two sections: settings and results. Various administrative pages are available from within the settings section. Administrative pages may include functionalities to define parameters for internal reference tables, define phase logic, and configure security settings of the application. Results pages may allow a user to display results of calculations and real-time monitoring of data sources.
Features of a system according to the present invention may be described using use cases. Features and operations in the system may use multiple use cases, and use cases may interoperate with multiple parts of the system as previously described. A specific, non-limiting use case is described and illustrated in
Log in to System: A user may enter a website linked to user interfaces (e.g., user interfaces 700 and 850.) The system retrieves the user name, and determines his Permissions. For example, user information may be stored in a general authentication system, such as a Microsoft Windows authentication method. The user then may be logged into the system and provided access to the appropriate functionality.
Edit User: An administrator may set or modify a user's name, login and permission levels.
Specify Data Source Link: The system may display a list of existing data sources. A user may select an appropriate data source to edit or add a new data source. Within a data source, a user may select a specific object, such as a process plant or plant unit from the data source. The user also may select properties of the object, such as data type, data source type, time zone, ODBC name, and other parameters. This data may be stored in a database (e.g., database 820 or 950).
Edit Plant: The system may display a list of process plants for which data can be collected. The user may select from the list of known plants, or may add a new one. For example, a single user interface and reporting system may be used to monitor multiple plants. A user may add a new plant for monitoring by specifying a data source, a data source link, a process plant name, a process type, and/or other information about the new plant. Properties of existing plants can also be modified.
Edit Unit/Product: As with creating and editing plants, a user can also create and edit units, products, and other entities in the system.
Create/Edit Tag Tags: A user may apply tags to specify contextual information about an object. Each tag can include a name, lower and upper bounds, a frequency (e.g., poll at various intervals), tolerance (e.g., how close to the frequency the actual poll must be), interpolation type (e.g., monotonic or not), and other attributes. For each tag, the system may perform integrity checking, such as verifying that a lower bound is less than an upper bound, or that the tolerance is less than the frequency. For each tag, the system may calculate a time to start collecting data and a historical time range to use for stored data based on parameters provided by the user and other parameters specified in the system. The system may use the tag data to determine when to collect data from each tagged data source.
Edit Product Logic: A user may specify product logic for batch processes or portions of batches. To edit a product logic, the user selects an object (plant or unit) and enters an expression for the product logic. The system may verify that the entered expression satisfies the syntax requirements of the system and/or the process with which the product is associated.
Edit Batch Logic: Similarly, a user may specify batch logic by selecting an object and entering phase logic for the batch. Typically, if the selected object is a continuous plant then the batch logic is applied to all products in the plant.
Edit Phase Logic: The user also may specify phase logic for a batch plant or part of a batch plant by selecting a phase name and entering expressions for the start, end, and maximum processing times. These expressions may be verified by the system.
Update Data Translation: The system may update data translations by stopping recurring calls of to translation modules for an object, removing data translation results for time points between the current time and the polling start time for the object, performing data translation for time points between the current time and the polling start time, and re-starting recurring calls of data translation modules for the object.
Specify Calculation Raw Tags: A user may select an object and enter raw calculation tags for the object. Expressions entered by a user may be checked for syntax by the system before being stored.
Specify Calculation Quality Tags: A user may select an object and enter raw calculation tags for the object. Expressions entered by a user may be checked for syntax by the system before being stored.
Poll raw data: A service may poll raw data from data sources. The service may poll data sources at a frequency specified for each data source and each tag (for process variables).
Check for non-chronological raw data: A service may check data of previous time periods for non-chronological data.
Check for multiple raw values: A service may determine if there is more than one value for the same time stamp.
Poll quality data: A service polls quality data from quality data source. It may repeat regularly at a frequency for each data source.
Translate raw data: This service translates raw data to identify product and phase for an object.
Check Product/Batch Logic: A service may check product and/or batch logic at a given time point.
Check for non-monotonic data: A service may check monotonic tags for non-monotonic data inside batch reusers.
Translate quality data: A service may translate quality data and translated raw data to link new raw batches with their corresponding quality data.
Interpolate data: The system may interpolate tag values for a time point on the basis of tag data from the database.
Create Model: The system may create multivariate models as previously described that will be used for monitoring future plant data. An exemplary event flow may include:
Add Model: A user may add a created model to the list of executing models. The user may define attributes of the model, such as frequency (e.g., real-time, 1 min, 5 min, or a custom time).
Execute Model: A service may run the model calculations based on the data from the database. The use case may repeats regularly within time intervals specified for each model.
View error logs: A supervisor may view errors that occurred while retrieving data from the database. Various other services and applications may populate the error log.
The various systems described herein may each include a computer-readable storage component for storing machine-readable instructions for performing the various processes as described and illustrated. The storage component may be any type of machine readable medium (i.e., one capable of being read by a machine) such as hard drive memory, flash memory, floppy disk memory, optically-encoded memory (e.g., a compact disk, DVD-ROM, DVD±R, CD-ROM, CD±R, holographic disk), a thermomechanical memory (e.g., scanning-probe-based data-storage), or any type of machine readable (computer readable) storing medium. Each computer system may also include addressable memory (e.g., random access memory, cache memory) to store data and/or sets of instructions that may be included within, or be generated by, the machine-readable instructions when they are executed by a processor on the respective platform. The methods and systems described herein may also be implemented as machine-readable instructions stored on or embodied in any of the above-described storage mechanisms. The various communications and operations described herein may be performed using any encrypted or unencrypted channel, and storage mechanisms described herein may use any storage and/or encryption mechanism.
Although the present invention has been described with reference to particular examples and embodiments, it is understood that the present invention is not limited to those examples and embodiments. The present invention as claimed therefore includes variations from the specific examples and embodiments described herein, as will be apparent to one of skill in the art.
This application claims the benefit of U.S. Provisional Application No. 60/856,757 filed Nov. 3, 2006, the disclosure of which is incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
2883255 | Anderson | Apr 1959 | A |
3522588 | Clarke, Jr. et al. | Aug 1970 | A |
5257206 | Hanson | Oct 1993 | A |
5339257 | Layden et al. | Aug 1994 | A |
5396416 | Berkowitz et al. | Mar 1995 | A |
5479340 | Fox et al. | Dec 1995 | A |
5548520 | Nakamura et al. | Aug 1996 | A |
5659667 | Buescher et al. | Aug 1997 | A |
5758047 | Lu et al. | May 1998 | A |
5862051 | Barbur | Jan 1999 | A |
5862054 | Li | Jan 1999 | A |
5862060 | Murray, Jr. | Jan 1999 | A |
5949678 | Wold et al. | Sep 1999 | A |
6115643 | Stine et al. | Sep 2000 | A |
6532427 | Joshi et al. | Mar 2003 | B1 |
6532555 | Miller et al. | Mar 2003 | B1 |
6546508 | Sonderman et al. | Apr 2003 | B1 |
6564119 | Vaculik et al. | May 2003 | B1 |
6577323 | Jamieson et al. | Jun 2003 | B1 |
6587108 | Guerlain et al. | Jul 2003 | B1 |
6616759 | Tanaka et al. | Sep 2003 | B2 |
6650958 | Balazs et al. | Nov 2003 | B1 |
6703250 | Chiu | Mar 2004 | B2 |
6704691 | Chiou | Mar 2004 | B2 |
6711731 | Weiss | Mar 2004 | B2 |
6723574 | Bailey, III et al. | Apr 2004 | B1 |
6725402 | Coss, Jr. et al. | Apr 2004 | B1 |
6727106 | Ankutse et al. | Apr 2004 | B1 |
6751575 | Lenz et al. | Jun 2004 | B2 |
6757579 | Pasadyn | Jun 2004 | B1 |
6789032 | Barbour et al. | Sep 2004 | B2 |
6799311 | Ryskoski | Sep 2004 | B1 |
6804563 | Lafaye de Micheaux | Oct 2004 | B1 |
6804619 | Chong et al. | Oct 2004 | B1 |
6823287 | Shafer et al. | Nov 2004 | B2 |
6830939 | Harvey et al. | Dec 2004 | B2 |
6842720 | Chang | Jan 2005 | B2 |
6859754 | Shieh | Feb 2005 | B2 |
6885907 | Zhang et al. | Apr 2005 | B1 |
6893882 | Sun et al. | May 2005 | B2 |
6901560 | Guerlain et al. | May 2005 | B1 |
6904384 | Tai | Jun 2005 | B2 |
6909990 | Okazaki et al. | Jun 2005 | B2 |
6909993 | Nakao et al. | Jun 2005 | B2 |
6915173 | Chan et al. | Jul 2005 | B2 |
6952657 | Jahns et al. | Oct 2005 | B2 |
6959252 | Tai et al. | Oct 2005 | B2 |
6961732 | Hellemann et al. | Nov 2005 | B2 |
6980873 | Shen | Dec 2005 | B2 |
6985779 | Hsiung et al. | Jan 2006 | B2 |
6985787 | Klekotka | Jan 2006 | B2 |
7000193 | Impink, Jr. et al. | Feb 2006 | B1 |
7010382 | Cheng et al. | Mar 2006 | B2 |
7016754 | Poolla et al. | Mar 2006 | B2 |
7016816 | Mott | Mar 2006 | B2 |
7025280 | Kaushal et al. | Apr 2006 | B2 |
7035452 | Akiyoshi et al. | Apr 2006 | B2 |
7054480 | Levin et al. | May 2006 | B2 |
7054703 | Wu et al. | May 2006 | B2 |
7054919 | Cramer et al. | May 2006 | B2 |
7062411 | Hopkins et al. | Jun 2006 | B2 |
7062417 | Kruger et al. | Jun 2006 | B2 |
7065425 | Kay et al. | Jun 2006 | B1 |
7082338 | Chen et al. | Jul 2006 | B1 |
7082381 | Saghier et al. | Jul 2006 | B1 |
7096085 | Paik | Aug 2006 | B2 |
7096153 | Guralnik et al. | Aug 2006 | B2 |
7096315 | Takeda et al. | Aug 2006 | B2 |
7107112 | Brown | Sep 2006 | B2 |
7113838 | Funk et al. | Sep 2006 | B2 |
7117058 | Lin et al. | Oct 2006 | B2 |
7123980 | Funk et al. | Oct 2006 | B2 |
7124150 | Majjasie et al. | Oct 2006 | B2 |
7127314 | Pan et al. | Oct 2006 | B2 |
7127359 | Chityala et al. | Oct 2006 | B2 |
7136864 | Jeon | Nov 2006 | B2 |
7139620 | Yamazaki et al. | Nov 2006 | B2 |
7139672 | Dorough et al. | Nov 2006 | B2 |
7151972 | Denton et al. | Dec 2006 | B2 |
7151976 | Lin | Dec 2006 | B2 |
7171340 | Brocklebank | Jan 2007 | B2 |
7174283 | Berkooz et al. | Feb 2007 | B2 |
7181375 | Rao et al. | Feb 2007 | B2 |
7187988 | Ta | Mar 2007 | B2 |
7187990 | Jang et al. | Mar 2007 | B2 |
7188050 | Yuan et al. | Mar 2007 | B2 |
7194325 | Lee et al. | Mar 2007 | B2 |
7198964 | Cherry et al. | Apr 2007 | B1 |
7200524 | Kang et al. | Apr 2007 | B2 |
7206721 | Lin et al. | Apr 2007 | B1 |
7209846 | Tamaki et al. | Apr 2007 | B2 |
7212952 | Watanabe et al. | May 2007 | B2 |
7218974 | Rumi et al. | May 2007 | B2 |
7221987 | Bett et al. | May 2007 | B2 |
7221991 | Matsushita et al. | May 2007 | B2 |
7221997 | Bongers et al. | May 2007 | B2 |
7225368 | Lancaster | May 2007 | B2 |
7233834 | McDonald, Jr. et al. | Jun 2007 | B2 |
7233882 | Srinivasan et al. | Jun 2007 | B2 |
7239930 | Burda et al. | Jul 2007 | B2 |
7243048 | Foslien et al. | Jul 2007 | B2 |
7248939 | Chamness et al. | Jul 2007 | B1 |
7249356 | Wilson et al. | Jul 2007 | B1 |
6952808 | Jamieson et al. | Dec 2007 | B1 |
20020042694 | Henry et al. | Apr 2002 | A1 |
20020177909 | Fu et al. | Nov 2002 | A1 |
20030065462 | Potyrailo | Apr 2003 | A1 |
20030233198 | Taguchi et al. | Dec 2003 | A1 |
20040172153 | Zhang et al. | Sep 2004 | A1 |
20040225377 | Kokotov et al. | Nov 2004 | A1 |
20050268197 | Wold | Dec 2005 | A1 |
20070005266 | Blevins et al. | Jan 2007 | A1 |
20070021859 | Lev-Ami et al. | Jan 2007 | A1 |
20070088528 | Miller | Apr 2007 | A1 |
20090149981 | Evans et al. | Jun 2009 | A1 |
Number | Date | Country |
---|---|---|
1420313 | May 2004 | EP |
9146610 | Jun 1997 | JP |
9146611 | Jun 1997 | JP |
0150209 | Jul 2001 | WO |
0156072 | Aug 2001 | WO |
03023687 | Mar 2003 | WO |
03058687 | Jul 2003 | WO |
03105210 | Dec 2003 | WO |
2004027644 | Apr 2004 | WO |
2004032194 | Apr 2004 | WO |
2004068136 | Aug 2004 | WO |
2005036314 | Apr 2005 | WO |
2006001416 | Jan 2006 | WO |
2006031635 | Mar 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20080109090 A1 | May 2008 | US |
Number | Date | Country | |
---|---|---|---|
60856757 | Nov 2006 | US |