Method to diagnose equipment status
Field of the invention
The present invention is concerned with a method and system to diagnose a status of an industrial plant or equipment. In particular it is concerned with a method and system to identify a cause of an event or an alarm.
Background of the invention
An industrial process such as i.e. a paint shop incorporates many items of physical equipment, which in many cases are controlled by Programmable Logic Controllers (PLCs) . These PLCs usually generate alarms and/or event messages when a problem occurs in order to alert either the system operator or other personnel involved in servicing the equipment, so that the process can be restarted as soon as possible.
Equipment in this context usually means physical products such as motors, conveyors, robots etc. But equipment may also be an abstract entity or an abstract entity that represents some physical equipment grouped together in some conceptual way. Some examples of this type of collected physical equipment are production cells, production lines, production plants etc.
When there is a lot of equipment, as is the case in a paint shop, large numbers of alarms and events are generated. This easily leads to information overflow for the users operating or controlling the process concerned. Users such as operators or technicians may have difficulties in analyzing what the root cause of a given situation, alarm or problem might be. Thus it is difficult for a user to know which action would be correct to take in response to a great number of alarm signals.
Prior art
5 WO00102953 entitled "Method of integrating an application in a computerized system" describes a method for integration of many and various types of applications in a computerized system. This method is based on a concept where real world objects are represented as "composite objects". Different facets of a real 4.0 world object, such as its physical location, the current stage in a process, a control function, an operator interaction, a simulation model, some documentation about the object etc., are each described as different aspects of the composite object.
15 A composite object is a container for one or more such aspects. Thus, a composite object is not an object in the traditional meaning of object-oriented systems, but rather a container of references to such traditional objects, which implement the different aspects. Each aspect or group of aspects may be
20 implemented by an independent software application, which provides its functionality through a set of interfaces that are accessible through the composite object. Another software application can thus query a composite object for a function associated with one of its aspects, and as a result obtain,
25 through the composite object, a reference to the interface that implements the function. Thus such software objects may be used in computer programs to act as containers for "aspects" of the various real world objects represented or controlled in some way by a computer program.
30
However, even when a given problem has been narrowed down and a probable cause identified, it may be difficult for a user to know, or find out, what skills and/or parts etc. are needed in order to fix the problem.
35
A diagnosing system according to JP 7152789 includes a data collection part (1) , which collects the management information from a plant. The data collection part provides output to a sequence pattern recognition part (2), which compares the data collection part output and a previously stored pattern. The output of the comparator is sent to an equipment diagnostic part (3) . When there is any abnormality, it is detected by the diagnostic part. The diagnostic part outputs the abnormality to an alarm part (4) , which outputs an alarm. The purpose of this system is to analyze a variety of plants e.g industrial plant to forecast danger and prevent plant operation from halting.
The invention according to EP 697638 concerns a process intended to enable detection of blocked sequences of actions in a programming system. The process involves recognizing situations and monitoring a list of events and time constraints, with details of the events and their data and time of occurrence being recorded in a memory. The sequences of events are analyzed and in response to this analysis, the sequence is changed if an incomplete blocked sequence of events is detected. The process is able to monitor industrial processes and by detection of dead time with process or incomplete sequences of events, determine alternative solution.
The invention relates to a process of detecting check sequences in a situation recognition system, composed of a list of events and time constraints. For each check sequence, a sequence of events and intervals between possible dates of occurrence of each of these events is created in memory. It relies on sequences of events being detected in the system and corresponding time limits, usually minimum and maximum time delays. If a time limit condition is not met an alarm is given. This is a diagnostic model based on "naive" physics (no equations) rather than rigid process models. It means 'that these rudimentary process models have to be present in the system. An advantage is that alarms can
be generated if an event is not present as expected, giving an early warning. The functionality in the system is very complex to handle in practice.
The object of the present invention
The object of the present invention is to eliminate one or more of the above-mentioned problems and to aid the operator in: -providing a detailed description of each event, problem or alarm as well as a recommended action;
-identifying the root cause of a problem;
-displaying advice on what skills are needed in order to call for the right service personnel to fix the problem; -displaying advice on what parts or materials are needed in order to assist the right service personnel in fixing the problem; -storing experiences about the occurred incident/situation; -sharing these stored experiences.
This and other objects are obtained by the characterising part of the independent claims.
More specific features of the present invention are obtained by the characterising part of the dependent claims.
In another, further aspect of the invention, a graphical user interface is described for displaying a cause of one or more alarm and/or event messages in a list generated by an equipment.
In another aspect of the invention a computer program is described for carrying out the method according to the invention.
In another aspect of the invention a computer program product comprising a computer program for carrying out the method of the invention is described.
Summary of the invention
The invention concerns a method and a system to diagnose a cause of one or more alarms and/or events generated by an equipment.
The invention is carried out by comparing an alarm and/or event message with one or more patterns of earlier generated or stored alarm and/or event messages.
The invention also provides a system to identify the probable cause or root cause of a given event, problem or other alarm message comprised in a list of alarm and/or event messages generated over a given period of time by an equipment.
The system comprises a data storage means for storing data of alarm and/or event messages and a means for matching patterns of a new alarm and/or event messages with at least one stored alarm and/or event message and a display means for displaying the cause of and other information related to the new alarm and/or event message to an operator.
Brief description of the drawings
For a more complete understanding of the method and the system of the present invention reference will be made to the accompanying drawings wherein:
Figure 1 shows a schematic flow diagram according to one embodiment of the invention.
Figure 2 shows a computer display according to one embodiment of the invention.
Figure 3 shows another computer display according to the invention.
Figure 4 shows a third computer display according to the invention.
Figure 5 shows a fourth computer display according to the invention.
Figure 6 shows a fifth computer display according to the invention.
Description of the preferred embodiments of the invention
The invention provides a means to identify the probable cause or root cause of a given event, problem or other alarm message comprised in a list of alarm and/or event messages generated over a given period of time by an equipment. In this description the term "an equipment" is used to indicate any of a stand alone equipment, a group comprising many items of equipment, or any industrial or commercial plant containing groups of production or process equipment.
The objects of the invention are achieved through an analysis based on pattern recognition of the relevant alarms, problems and/or events that are active in the system. The patterns are recognized on the basis of stored, predetermined patterns of events in a list of events and/or alarms. As an example we assume that the following entries is found in an alarm list:
Event time Object Alarm
16 09:00 X Overcurrent
16 09:10 Y Overvoltage
16 09:11 z Jam
One pattern in this context could be the occurrence of the "Overcurrent" alarm in object X two alarms prior to the alarm "Jam" in object Z.
5 A user interacting with the system, through a workstation, initiates the analysis, i.e. the search for actual matches to earlier defined patterns, and retrieves the result.
Certain patterns may be provided with the equipment on delivery, ι n for example a configuration function may be included with the invention to provide a means to create and edit patterns. The patterns are created and edited by selecting particular alarm and/or event messages and copying them into a new list, which is then saved as a particular pattern.
15
Pattern recognition is carried out by means of sections and rules applied to each pattern. The pattern comprises a list of a number of alarm and/or event messages in which particular alarms and/or events are placed in a predetermined order in the list. Theses
20 patterns are then compared by a computerised process with a current or other alarm and/or event list generated by an equipment to find a match for one or more of the predetermined alarm and/or event sequences contained in the patterns. Each matched pattern then indicates a known cause for a found sequence
25 or pattern of alarms and/or events in an alarm and/or event list.
Figure 1 shows a flow chart describing the function of the method according to the invention. Alarms or events are delivered from the control system 1 of the plant/equipment to an "Alarm/Event"
30 database 2. In a data storage 3 descriptions of data associated with alarms/events are stored. Data, that can be defined, is for example a detailed description of the alarm/event and a recommended action (s) to take in order to restart the process. Pattern definitions 4 can be created/specified for the system.
35 These patterns refer to patterns in the occurrences of
alarms/events in the Alarm/Event database 2. The patterns are stored in a data storage 5. An operator 6 can, at any time, initiate a detection test 7 if the alarms/events stored in the "Alarm/Event" database 2 matches any of the defined patterns. This matching process can also be automated to run cyclically if wanted. If a match is found the operator 7 is notified 8, either through a normal graphical user interface or through another channel, such as via an SMS message etc. Successful matches from the detection test 7 can be sent 9 to a statistics database 10 for continuous monitoring of the occurrence rate of all defined patterns. The analysis 11 of the statistics information can be either manual or automatic, and be used to notify 8 the operator 6 according to set rules.
Figure 2 presents a first example of a presentation on a computer display, a graphical user interface, of the method to diagnose equipment according to the invention. The computer display is here divided into four main view fields or sections that provide information about "Alarms & events", "Alarm description", "Pattern recognition" and "Pattern definition".
In the "Alarms & events" field is displayed the alarms & events as configured in the configuration of the aspect. Every alarm/event is presented with "Object", i.e. the name of the object where the alarm/event occurred, "Message", i.e. message of the alarm/event, and "Time", i.e. time when the alarm/event occurred. There is also an extra "PR" field, which is used in pattern definition/recognition to define/show the combination of alarms/events (with a "X") for each pattern.
When the operator click on an alarm/event in the "Alarms & events" field a detailed description and recommendation will appear in the "Alarm description" field, if these have been defined for the alarm/event in question.
In the "Pattern recognition" field (see figure 3) the user is able to match the defined patterns, with the active alarms & events .
To start the recognition process, the operator clicks button "Start Recognition" . The recognition process compares all defined patterns that are Enabled with the active alarms & events. Preferably only non-empty fields, defined in pattern definition, are compared. i n
When the recognition process is finished all successfully matched patterns are displayed in "Successfully matched patterns". By selecting any of those matched patterns the alarm & events that caused that pattern to match are marked with an "X" in the left 15 most column in the "Alarms & events" field. Also the detailed description and recommended action for that pattern is shown. If no matches were found, a notification of this is given to the operator.
20 In the "Pattern definition" field (see figure 4) , own patterns can be defined, enable/disable patterns, modify existing ones or examine contents of a pattern.
A pattern can be disabled/enabled for pattern recognition by 25 selecting desired pattern in "Defined Patterns" list and clicking the "Enable/Disable" button. The "X" in the left most column in the "Defined patterns" list, means that a pattern is enabled for pattern recognition.
30 To add a new pattern the operator click the "New" button, give the new pattern a new name, description and recommendation.
Further the operator has to choose some alarms from the "Alarms & events" field and click the "Get" button next to the "Pattern 35 definition" list. If there is a valid "Alarm ID" (a five digit
number separated with a space from the rest of the message in the "Message" column) in the selected alarm then that value will be parsed to the "Alarm ID" column for that entry in the "Pattern definition" list and the message will be ignored. The message is ignored because, if there is a valid "Alarm ID" it is unique, and the message would only be redundant information in the pattern recognition process. In case there is no valid "Alarm ID" in the "Message" column for the selected alarm, then the whole string is retrieved to the Message column for that entry.
-10
To add some advanced functionality to the patterns, (exclusions, exception, requirements or additional rules) the operator clicks the "Advanced" button. It is also possible to modify field contents or remove some fields from the pattern. Only non-empty 15 fields are matched with the alarms in the active alarms & events list. To return to the main view one has to click the button "Apply" or "Cancel".
When the pattern is completed, the pattern is submitted by 20 clicking "Apply" or cancel to ignore it.
The sequence for editing an existing pattern is as follows: Select an already defined pattern and Click the "Edit button" .
25 Now the operator has the possibility to edit the "Description", "Detailed description" and "Recommendation" for the pattern. By selecting an entry in the "Pattern definition" list the user can also delete entries. For the advanced option click the "Advanced" button. To finish editing the pattern, "Apply" is clicked to
30 submit the changes or "Cancel" to ignore them.
The diagnostic equipment gives the user the possibility to create more advanced patterns . By selecting some alarms in the alarms & events list found to the left in the view and clicking any of the 35 "Get" buttons to the right of the four different lists on the
right side of the view, places the selected alarms & events in the appropriate list. In the advanced view, even if a valid "Alarm ID" exists the message will be placed in the "Message" column, in opposite to the function of the "Get" button in the main view.
An alarm that has been selected to a list will below be called an entry for that list.
The different lists (see figure 5) have different functions for the created pattern in order to be a match for the function "Pattern recognition" :
"Requirements" list: The entries in the list must exist somewhere (the entries do not need to appear in any special sequence) in the active alarms & events list.
"Exclusions" list: The entries in the list must not exist anywhere in the active alarms & events list.
The other two lists "Exceptions" list and "Rules" list handles sequencing of requirements and exclusions. The offset column in those lists describes how the entries should appear in the active alarms & events list in order to have a match. Offset 0 for an entry means that the entry should appear anywhere after the previous entry. Offset n for an entry, where n is any positive integer, means that the entry should appear exactly n steps after the previous entry. Offset -n for an entry, where n is any positive integer, means that the entry should appear within the n following alarms & events after the previous entry.
"Exception" list: (Exceptions)
The entries in the list must not exist, with the "Offset" specified sequence, in the active alarms & events list.
"Rule" list: (Rules)
The entries in the list must exist, with the "Offset" specified sequence, in the active alarms & events list. The entries in the lists can be deleted or manually modified by selecting a cell and clicking the corresponding button. The advanced option is reached from the "Pattern definition" field by clicking on the "Advanced" button.
All pattern definitions are stored in a formal language, preferably in XML. Individual entries can be defined with Regular Expressions. (Regular Expressions, "regex's" for short, are well known sets of symbols and syntactic elements used to match patterns of text.) The functionality is thus not restricted to the functionality previously described. On the contrary it is fully possible to write more advanced rules . An advanced user can manipulate the pattern definitions directly by altering the definition texts. He could for example add rules about any of the fields that the alarm/event consists of. One such example could be to use the time stamp and set a required offset in time instead of appearance in the list. Another example could be to add a rule saying that a certain substring must be present in one of the alarm/event fields.
The operational information, or a diagnostics analysis based on the operations data, may be handled in a portable wireless device or PDA without using special software. For example a standard web- browser may be used and the operational data and/or diagnostics information may be provided in a web-browser compatible format
It may be applied to operations such as painting, spray painting, welding etc and to control over operations such as continuous casting, casting, die casting etc and production methods for
other materials such as plastic injection moulding, compression and/or reaction moulding or extrusion.
The microprocessor (or processors) of the system comprises a 5 central processing unit CPU performing the steps of the method according to the invention. This is performed with the aid of one or more computer programs, which are stored, at least in part, in memory accessible by the processor/computer . It is to be understood that the computer programs may also be run on one or J.O more general purpose industrial microprocessors or computers instead of a specially adapted computer.
The computer program comprises computer program code elements or software code portions that make the computer perform the method 15 using equations, algorithms, data and calculations previously described. Data associated with the diagnostic software may be stored on one or more servers such as e.g. an OPC server (OPC =Object Linking and Embedding for Process Control).
20 A part of the program may be stored in a processor as above, but also in a ROM, RAM, PROM or EPROM chip or similar memory means. The program in part or in whole may also be stored on, or in, other suitable computer readable medium such as a magnetic disk, CD-ROM or DVD disk, hard disk, magneto-optical memory storage
25 means, in volatile memory, in flash memory, as firmware, or stored on a data server.
The computer programs described may also be arranged in part as a distributed application capable of running on several different 30 computers or computer systems at more or less the same time.