Minerals Engineering, Vol. 2, No. 1, pp. 87-92, 1989
0892-6875/89 $3.00 + 0.00 Pergamon Press plc
Printed in Great Britain
AN EXPERT SYSTEM FOR SHAKING TABLE DIAGNOSTICS
P. TUCKER and K.A. LEWIS Warren Spring Laboratory,
(Received
Stevenage, Herts., 23 August 1988)
SGI
2BX, UK
ABSTRACT An expert system, for fault diagnosis of shaking table operations, is presented. The system is designed as one element of an integrated, computer-based method for plant enhancement, for application in the mineral processing industry. The relationship between expert and conventional software techniques is discussed. The system is based on production rules and has been written in the PROLOG language. Diagnostics are at three levels: the first assessing the known table set-up parameters and the deeper levels providing more detailed analysis in identifying the root cause of the problem. The reasoning, at each level, is developed making reference to fragments of PROLOG code abstracted from the computer program. The system is capable of identifying over 120 faults in tabling operation and has been deployed at two commercial productions plants. Ke~words Expert system; shaking table; diagnostics; heuristics; plant enhancement INTRODUCTION With the current uncertainties in the primary raw materials (metals) markets, the need to enhance plant p e r f o r m a n c e and to maintain this improvement in a c o s t - e f f e c t i v e manner is becoming vital for the producing companies. Part of this solution must lie in the use of c o m p u t e r - b a s e d tools to aid the process engineer in a c c o m p l i s h i n g t h i s task. P r o c e s s m o d e l l i n g and simulation techniques have already demonstrated s u c c e s s in f l o w s h e e t d e s i g n and o p t i m i z a t i o n leg. I ,2], and material balancing methods are now well accepted in p e r f o r m a n c e analysis. These conventional t e c h n i q u e s are not, however, p a r t i c u l a r l y well suited for all applications. They can not, for example, hope to replace the human operator in his response to visual, observations (where there is l i t t l e h a r d d a t a ) , and do not i m p l i c i t l y a c c o u n t for e q u i p m e n t malfunction or deterioration. These limitations are particularly acute with d i a g n o s t i c applications and, for computer techniques to perform well in this role, an a l t e r n a t i v e s t r a t e g y m u s t be employed. Expert systems offer this potential. The use of expert systems for diagnosis is now well established in other d i s c i p l i n e s leg. 3-5], and it is in this role that such systems appear to have d e m o n s t r a t e d the highest commercial and technical success. The m o v e towards an expert system approach is further motivated here, by its potential to e x p l o i t the w i d e - r a n g i n g heuristic knowledge, w h i c h is p a r t i c u l a r l y abundant within the mineral processing industry. The choice of a a p p l i c a t i o n was motivated by the strong links between Warren Spring Laboratory, Carnon Consolidated Ltd. (UK), and Beralt Tin and W o l f r a m SARL (Portugal), who share the c o m m o n a i m of e n h a n c i n g p l a n t p e r f o r m a n c e t h r o u g h the a p p l i c a t i o n of computer methods. Shaking tables are an integral part of processes operated by the two industrial partners and m a i n t a i n i n g good tabling p e r f o r m a n c e at these plants is critical in meeting the target grades and recoveries for the final (high grade) concentrates. Poor table performance following faults:
can
usually
be
87
attributed
to one,
or more,
of
the
88
I. 2. 3.
P. TUCKERand K. A. LEWIS
Incorrect table set-up parameters. (stroke, frequency, tilt, wash-water etc.) Problems associated with the feed material. (size distribution, grade, mineral liberation, etc) Mechanical problems. (wear and tear etc.)
feed-rate,
pulp
density,
The aim was to develop an expert system consultant, which would serve (i) to identify tabling faults and inefficiencies and (ii) to a d v i s e on the best course of action to take in order to rectify such faults. KNOWLEDGE ENGINEERING AND SYSTEM DESIGN A large proportion of the information r e q u i r e d to c o n s t r u c t the p r o t o t y p e knowledge b a s e was a v a i l a b l e from i n - h o u s e 'experts' at W a r r e n S p r i n g Laboratory. In fact, the knowledge engineers were, themselves, minor experts in the domain. F u r t h e r information was required from published literature, principally [6-8], and from the unpublished PhD thesis of Manser [9]. Some of the i n f o r m a t i o n g a t h e r e d was, h o w e v e r , plainly contradictory and, in such cases, an independent arbitrator was employed. 'Gaps' in knowledge were left to be filled by external expertise at a later stage of the development cycle. This expertise is being provided by the two industrial partners. The system was targeted at the process metallurgist and plant operator and, for both, a high level of tacit k n o w l e d g e c o u l d be assumed. M u c h of the knowledge gathered was already formulated in terms of production rules which fitted well into a classic decision tree structure. The diagnostic nature of the problem made it highly suited to goal-driven reasoning, with the structure of the decision tree favouring a PROLOG implementation in particular. The system was written in PROLOG and implemented on IBM PC computers. SYSTEM STRUCTURE Level I The s y s t e m i n c o r p o r a t e s three levels of diagnostics (Figure I). The common entry level to the system (level I) requests fundamental information on the operational set up: I) Device set up (stroke, frequency, tilts, wash water) 2) Feed characteristics (flowrate, pulp density, particle size) 3) Duty (roughing or cleaning)
LEVEL
INPU T / l ET-UP/ I
SET'UP
=
I" - 9 1 -IKNOWLEDGEI --I
t
I
/
I
RULES,
I-I I
GRADE/REC'Y L
~
BEHAVIOURAL
DIAGNOSTICS
QUESTION AND ANSWER_~
.__ .~-_ - -- -'4
_ J
. . . . .
- - - - --I~- . . . .
I I I I I
J
/
Fig.1
Expert system program structure. (The solid lines show the logical path through the system. The dotted lines represent transfer of knowledge to and from the knowledge base)
Shaking table diagnostics
89
The user responses are asserted as facts into the knowledge base. Unknowns are treated, in this initial prototype, as the absence of a fact. Q u a n t i t a t i v e measurements and qualitative judgments (eg. low, medium or high) are equally accepted responses. The level I diagnosis tests these input data against the 'rules of thumb' and operating ranges for 'normal' practice. The heuristics (or rules) that are applied are of the form: fault
(FAULT):-set_up([Y]).
Here, the f u n c t o r s (fault, setup) describe the condition and the arguments represent a fact relating to that condition. Upper-case arguments r e p r e s e n t v a r i a b l e s (eg. F A U L T is a non-specified fault) whilst lower-case arguments represent constants (eg. fault (washwater, too low) would define the specific fault 'the wash water is too low'). Arguments enclosed within square brackets mean a set of terms. That is setup ([Y]) represents a set of t a b l e s e t - u p parameters 'Y'. The symbol ':-' means 'if the facts to the right of the sign are true then the fact to the left of the sign is true'. T h e r e a s o n i n g can, p e r h a p s , be seen m o r e c l e a r l y w i t h r e f e r e n c e examples below, where the setup conditions are specified individually: (I)
fault
(frequency,
(2)
fault
(stroke,
too_low):-frequency
(low), feed_size
to
the
(fine).
too_high):-stroke(X),X>40.
Thus, the fault condition 'frequency is too low' is diagnosed when the user indicates his perceived facts that the table is operating at a 'low frequency' and is treating 'fines'. The fault condition 'stroke is too high' is diagnosed if the observed stroke 'X' is greater than 40 mm. As the heuristics are not infallible, the fault diagnoses, at this level, are o n l y e x p r e s s e d as w a r n i n g s w h i c h the user may o v e r r i d e is he feels they contradict his local experience. Contradictions between heuristics do present a problem. For example, roughing operations usually require: [more water, more ore, less tilt, longer stroke] whereas fine feed usually require: [less water,
less ore, faster frequency,
shorter stroke]
A conflict, thus occurs when a fine feed is treated in a roughing operation. o b v i o u s l y no g e n e r a l w a r n i n g can be i s s u e d if such a s i t u a t i o n occurs. Pointers to the compromise solution will only follow with deeper analysis. A total of 29 potential faults can, however, be identified from application of t h e s e s i m p l e heuristics. A list of all the likely faults is generated, and reported, using the global search strategy: Level_1:-for all(fault(X),report_warning(X)%. A l t h o u g h m a n y of the w a r n i n g s that are i s s u e d m i g h t a p p e a r o b v i o u s (in retrospectl) many do represent errors which can easily be overlooked in busy plant environments. Levels 2 and 3 W h a t e v e r their cause, any inefficiencies in table operation will ultimately result in poor product grade, recovery or both. These fundamental aspects are considered in detail within the second diagnostic level. In this level, the system extends the knowledge base by requesting additional, observational data from the user. Unusual behaviour of the mineral bands on the table (and other abnormal visual indicators) are usually good indicators of poor concentration; b o t h u s u a l l y b e i n g d i f f e r e n t s y m p t o m s of the same u n d e r l y i n g fault. For example, if the table tilt is set too high: 'FAULT', the mineral concentrate band can narrow significantly: 'OBSERVATION'. This could make accurate cutter s e t t i n g d i f f i c u l t , r e s u l t i n g e i t h e r in m i s p l a c e d c o n c e n t r a t e ( l o s s of recovery) or misplaced tailings (loss of concentrate grade): 'CONDITION'. Such features form the basis for further rules within the knowledge base. Following the above example, we have the rule: fault(tilt,too_high):-(grade(too_low);recovery(too_low)),bands(narrow).
90
P. TUCKERand K. A. LEWIS
The v i s u a l i n d i c a t i o n s may be 'snapshots' such as bands(wide) trends' such as b a n d s ( d r i f t i n g ) or r e c o v e r y (increasing).
or
'historical
Level 2 is built as a d e c i s i o n tree w i t h three primary branches: 'Grade too low', 'Recovery too low' and 'Both too low'. The user is asked to specify one of t h e s e p r i m a r y i n e f f i c i e n c y c o n d i t i o n s in order to initiate the level 2 analysis. The given response is a s s e r t e d as a fact into the k n o w l e d g e base. If the user has no i n f o r m a t i o n r e g a r d i n g the above efficiencies, d i a g n o s i s can still proceed but using the o b s e r v a t i o n a l data only (level 3 a n a l y s i s ) . On e n t r y to l e v e l 3, it is not k n o w n a p r i o r i w h e t h e r the o b s e r v a t i o n s are a c t u a l l y i n d i c a t i v e of a fault; a p o t e n t i a l f a u l t s i t u a t i o n o n l y b e c o m i n g p o s i t i v e l y e s t a b l i s h e d by its effect on table efficiency. O b s e r v a t i o n s can, however, p r o v i d e the basis from which inferences about the likely e f f i c i e n c i e s can be made. These inferences will include the three primary error c o n d i t i o n s of level 2 plus the c o n d i t i o n s 'Grade and r e c o v e r y appear satisfactory' and ' G r a d e a n d r e c o v e r y a p p e a r s a t i s f a c t o r y but o p e r a t i o n a l d i f f i c u l t i e s could occur'. However, because less i n f o r m a t i o n is a v a i l a b l e at l e v e l 3 t h a n at level 2, t h e s y s t e m c a n o n l y d r a w on a s u b s e t of the r u l e - b a s e w i t h c o n s e q u e n c e that less faults can be diagnosed. For e x a m p l e , in the e x a m p l e given above, the fault: f a u l t ( t i l t , t o o h i g h ) can not be diagnosed, at level 3, b e c a u s e the c o n d i t i o n s : grade(too_low) or r e c o v e r y ( t o o _ l o w ) have not been e s t a b l i s h e d as facts. The e s s e n t i a l as follows:
procedural differences
between
levels 2 and 3 can be summarised
Level_2:
fault(FAULT):-condition(X),set_up([Y]),observation([Z]). level_2 :-fault(FAULT),report_fault(FAULT).
Level
condition(X):-set_up([Y]),observation([Z]). fault(FAULT):-set_up([Y]),observation([Z]). level_3 :-condition(X),report_condition(X), fault(FAULT),report_fault(FAULT).
3
In p l a i n e r English, the first set of e x p r e s s i o n s states that a fault 'FAULT' is i d e n t i f i e d w h i c h w i l l account for the given i n e f f i c i e n c y c o n d i t i o n 'X', c o n s i s t e n t w i t h the g i v e n set up p a r a m e t e r s '[Y]' a n d the g i v e n set of o b s e r v a t i o n s '[Z]' The second set of e x p r e s s i o n s states that the e f f i c i e n c y c o n d i t i o n 'X' is d e d u c e d from '[Y]' and '[Z]' alone and that a fault 'FAULT' may also be deduced from the same information. The final diagnostic r e p o r t is e i t h e r e x p r e s s e d as a s i n g l e e r r o r eg. F A U L T = " t i l t too high" or as a c o n j u n c t i o n of two errors eg. F A U L T = " t i l t too h i g h a n d w a s h w a t e r too h i g h " . At the t i m e of w r i t i n g , in e x c e s s of 90 d i f f e r e n t faults can be i d e n t i f i e d at these levels. Sometimes, of course, the system will fail to identify a fault, either b e c a u s e of insufficient user data or m i s s i n g rules or because there a c t u a l l y is no fault. In these cases, a nofault d i a g n o s i s will be reported, i.e.: level_2:-(not
f a u l t ( X ) ) , r e p o r t ( " N o fault can be identified").
A d d i t i o n a l details W h i l s t Level I simply uses the i n f e r e n c e m e c h a n i s m w h i c h is implicit w i t h i n PROLOG (ie. b a c k w a r d - c h a i n i n g , 'goal-driven' reasoning), a substantial p r o c e d u r a l e l e m e n t must be built into the d e e p e r levels in order to m a x i m i s e the e f f i c i e n c y of the m o r e - c o m p l e x d i a g n o s e s . T h e s e a r c h r o u t e s h a v e b e e n d e s i g n e d such that the m a j o r faults are i n v e s t i g a t e d first and, w i t h i n each search, the q u e s t i o n s ordered for economy of user interaction. Each fault is e s t a b l i s h e d as true when its set of c o n t r i b u t o r y facts is proven. The facts are tested s e q u e n t i a l l y ; the o r d e r d e s i g n e d to m i n i m i s e r e d u n d a n c y . T h i s i m p o s e s a f o r w a r d - c h a i n i n g , 'data-driven' e x e c u t i v e on the p r o g r a m at these levels. An example will be given later. A second d e s i g n feature refers to the set-up parameters, asserted at Level 1. In the s u b s e q u e n t levels, these facts serve only to confirm but not, on their own, to r e f u t e the d i a g n o s e s . F o r e x a m p l e , the v i s u a l o b s e r v a t i o n s may indicate that the stroke was 'too h i g h ' . If the u s e r has s t a t e d t h a t the stroke was 'high' then the d i a g n o s i s is confirmed. If, however, he stated that the stroke was 'low' then a c o n f l i c t arises. This could, either (i) p i n p o i n t a m i s c o n c e p t i o n of how the table is a c t u a l l y set up or (ii) may be indicative of
Shaking table diagnostics
a m e c h a n i c a l f a u l t in the s t r o k e m e c h a n i s m differentiate between these two possibilities, This procedure is illustrated below:
91
(ie. a n o t h e r d i a g n o s i s ) . To further data may be required.
fault(stroke,too_low):-observations([X]),stroke(low). conflict(stroke,too_low):-observations([X]),(not
stroke(low).
fault(mechanism,faulty):-conflict(stroke,too_low),further_data([Y]). level_3:-(fault(FAULT),report_fault(FAULT));(conflict(FAULT),report_conflict (FAULT). Thus, the b e s t g u e s s s o l u t i o n 'the s t r o k e is p r o b a b l y too low but this conflicts with what you said earlier' will be issued when the two d e f i n i t e fault diagnoses both fail. The economy of the solution is illustrated in that the further data (which may also require further questioning of the user) is not tested if the first fault diagnosis is confirmed. During the consultation, the expert system design also allows for subsidiary w a r n i n g s to be issued where appropriate. These warnings will not relate to p r i m e f a u l t s but to p o s s i b l e c o n t r i b u t o r y factors. For example, v i s u a l o b s e r v a t i o n s could indicate that slimes were adhering to the table surface. The true fault may be 'wash water too low', but in reaching this conclusion, the system might first realise the subsidiary goal 'pH may be too low'. This would constitute a warning. Warnings are incorporated into the search path as follows: fault(wash_water,too_low):-slimes_adhering, warning_message(pH_too_low), further_data([Y]). Thus, o n c e the fact 'slimes a d h e r i n g ' has b e e n e s t a b l i s h e d , the warning message will be issued i m m e d i a t e l y . The w a r n i n g is not s u p p r e s s e d if the further data fails to support the fault diagnosis, the applicability of the warning being solely dependent on the fact that the slimes are adhering to the deck. IMPLICATIONS AND CONCLUSIONS The expert system analysis allows for periodic or responsive monitoring to be u n d e r t a k e n w i t h o u t c a l l i n g on e x p e n s i v e , and time c o n s u m i n g , a n a l y t i c a l procedures. It allows the metallurgist and operator to check is any unusual 'quirks' will have serious implications on performances, and will delineate potential problem for further attention. The system should identify the most l i k e l y cause of the problem and should advise on the most fruitful line of a c t i o n (to e l i m i n a t e its root c a u s e r a t h e r t h a n just to a l l e v i a t e its symptoms). The expert system can not, however, quantify the course of remedial action. Process modelling and simulation t e c h n i q u e s m u s t be u s e d here, to r e s e t the t a b l e to its o p t i m u m performance. This dual approach, utilising simulation for process planning and expert systems for performance analysis, s h o u l d provide the plant metallurgist with powerful tools for promoting and maintaining plant operation. The methodology is illustrated schematically in Figure 2. The expert system reported here is continually expanding, as more rules are established and 'missing' knowledge is acquired. The current system comprises over 300 rules and is capable of detecting in excess of 120 likely faults. The system has been installed at Carnon Consolidated Ltd. and at Beralt Tin and W o l f r a m SARL, where its full potential is being evaluated. Local production rules, i n c o r p o r a t e d from the c o m b i n e d e x p e r i e n c e of the two p l a n t s are expected to considerably enhance the effectiveness of the system. ACKNOWLEDGEMENTS The contributions from Carnon Consolidated Ltd. and B e r a l t T i n and W o l f r a m SARL are gratefully acknowledged. The work was supported by the Department of Trade and Industry and through the C o m m i s s i o n of the E u r o p e a n C o m m u n i t i e s Third Raw Materials Program.
P. TUCKER and K. A. LEwis
92
PERFORMANCE
\ OBSERVATION
/ SIMULATION I
I
\ /
\
EXPERT ] SYSTEMS
DATA COLLECTION
/
I
CHANGE
MATERIAL BALANCING
DATA Fig.2
Expert systems as part of an integrated methodology for plant enhancement
REFERENCES I.
Tucker P., Stand.
J. Metallurgy,
15, 143 (1986).
2.
T u c k e r P., Lewis C87 (1987).
K.A.
3.
Sortliffe E.H., York (1976).
4.
Hutchins E., Roe T. & Hollan J., NPRDC Tech.
5.
Bennet J. & Hollander C., IJCAI, 843 (Aug. 1981).
6.
Gaudin A.M., Principles of Mineral Dressing,
7.
P r y o r E.J., M i n e r a l London (1965).
Processing
8.
W i l l s B.A., M i n e r a l Oxford (1988).
Processin E
9.
Manser R., The study and development of a mathematical model of a shaking table concentrator. PhD. thesis, Camborne School of Mines (1987).
& Hallewell
Computer
M.P.,
Based Medical
3rd.
Trans.
Metall.,
96,
- Mycin Elsevier,
New
Instn.
Consultation
Note,
Min.
82 (Aug. 1982).
McGraw Hill, New York
Edn.,
Technology,
Applied 4th.
Science
Edn.,
(1939).
Publishers,
Pergamon
Press,