Simulink blocks by saving a pointer (to this object) in the 'vector.Pwork' field in ...... [Saifuddin, 1996] Saifuddin, Anita Bilqees, âComputing Environments for.
INTEGRATION OF KNOWLEDGE-BASED, QUALITATIVE AND NUMERIC TOOLS FOR REAL TIME DYNAMIC SYSTEMS SUPERVISION Joaquim MELÉNDEZ i FRIGOLA
ISBN: 84-8458-104-7 Dipòsit legal: GI-1216-2001
$
O
%
&
'
?
(
@
P
`
a
Q
)
'
R
A
*
b
O
d
Q
+
>
R
c
%
B
)
-
.
/
%
0
)
=
T
e
D
S
,
C
(
1
2
0
a
'
3
+
4
5
(
h
o
v
w
x
y
z
{
6
)
2
}
0
2
¶
·
¸
·
H
l
e
8
)
?
Z
5
#
*
6
)
2
0
9
:
3
:
K
7
P
a
~
}
}
?
I
º
²
³
·
´
»
µ
¼
½
¾
¾
¿
z
v
~
^
f
_
]
l
¡
w
¢
£
¤
¥
¦
§
¨
©
ª
«
¬
M
i
;
L
]
m
:
B
]
l
.
J
\
h
'
?
[
k
r
@
Q
j
"
I
T
e
t
±
¹
7
°
'
f
e
Y
q
|
G
b
p
!
N
s
u
D
i
a
*
X
g
=
W
n
F
V
k
E
O
f
+
D
U
«
®
©
¯
Z
À
Ì
Ï
i
Ò
Ú
Í
Ì
Î
Í
Ï
Ô
Ð
Ù
Ñ
Ô
Ò
Ó
Ó
Ñ
Ô
Ð
Õ
Á
Ô
Ü
Ö
Â
Ï
Ð
×
Ã
Ù
Ô
Ø
Ó
Ä
Ù
Ù
Ò
Ì
Å
Ï
Ï
Æ
Ç
Ï
Ò
È
Ò
Ú
É
Ú
Û
Ê
Û
Ö
Å
Ö
Ô
É
Ô
Ñ
Ë
Ï
Ð
Ý
Þ
ñ
ß
ò
ó
5
6
C
%
D
+
.
+
%
A
E
F
G
H
I
6
7
%
+
7
G
K
L
M
)
)
"
!
M
ë
ì
ô
!
+
A
(
ê
ô
*
á
ø
+
ß
ñ
$
é
ÿ
ê
ü
)
ë
ÿ
,
$
ã
þ
õ
-
.
!
í
é
ô
#
ã
ÿ
/
ä
+
î
ô
"
ì
é
ß
ò
ê
ö
)
á
+
à
ú
á
ÿ
ï
ó
ô
0
1
"
õ
ã
ä
ò
.
é
ù
#
ß
ê
ó
/
"
ë
û
+
ê
ð
)
ä
ê
ê
ò
2
ã
ü
3
.
ï
ô
ÿ
õ
-
"
4
:
8
+
é
þ
7
!
"
é
ý
$
.
!
(
.
à
ø
'
!
è
ü
&
+
ç
ò
9
+
!
D
æ
û
%
-
%
J
á
ò
"
7
$
ú
$
4
á
ù
.
1
$
8
"
à
ø
"
!
#
7
å
÷
"
!
ä
ö
4
ã
ò
!
;
+
â
õ
+
0
á
ò
$
9
à
ô
(
!
?
?
@
^
_
_
B
`
e
{
a
^
a
t
e
p
{
_
g
|
^
m
n
t
C
h
"
%
5
$
$
3
$
c
^
e
e
p
F
E
m
m
t
e
Z
_
h
c
y
c
j
m
>
_
m
t
e
_
c
_
e
m
t
m
n
_
h
=
V
H
c
Q
p
`
e
c
`
k
p
f
j
c
j
n
w
2
N
n
>
A
@
O
m
%
N
P
n
Q
e
`
/
R
h
k
x
k
@
b
e
K
`
m
`
c
e
c
$
C
"
N
%
%
K
%
;
m
c
c
e
^
^
e
^
@
^
c
y
j
h
e
n
m
i
e
_
q
c
^
^
y
t
c
h
c
j
m
e
k
t
^
Y
p
c
p
m
^
m
c
e
p
[
c
^
_
{
c
L
v
c
l
k
k
N
v
h
c
p
A
h
h
j
t
K
u
e
_
m
n
@
i
a
\
t
n
^
^
q
m
h
_
m
j
[
m
e
^
w
_
@
j
z
n
y
c
[
s
j
_
_
H
c
~
_
H
p
y
^
v
E
h
h
k
j
L
c
c
m
t
]
e
n
h
b
e
N
c
`
j
B
m
e
{
p
m
r
v
c
p
n
K
j
j
p
m
_
N
a
d
h
_
!
M
R
k
p
c
o
h
`
m
H
R
h
j
c
@
W
A
j
]
m
M
E
p
t
;
m
j
p
'
H
q
^
c
m
E
>
j
c
w
N
_
n
C
P
c
w
F
M
C
p
w
n
B
z
_
C
U
w
^
L
J
_
_
C
C
c
c
w
=
o
y
h
B
;
b
c
q
=
>
e
c
{
_
K
=
N
n
c
p
$
T
F
q
m
h
p
^
e
t
w
C
>
_
m
_
E
m
m
q
_
h
J
Q
w
w
E
R
_
p
4
C
@
_
_
F
P
l
z
$
>
>
m
p
@
B
c
h
m
m
D
C
h
j
!
C
N
k
t
H
A
`
m
j
I
B
^
h
^
H
j
m
j
j
_
p
C
_
a
@
@
^
{
j
L
q
j
B
;
j
n
>
S
Q
c
n
e
B
(
B
i
`
_
c
f
y
:
>
c
q
p
c
|
e
e
@
B
t
_
j
t
E
]
m
j
z
h
&
=
C
K
^
p
m
^
c
k
_
>
M
D
_
}
c
p
m
f
|
m
c
p
p
z
A
@
w
@
@
K
b
^
p
z
e
1
G
>
@
j
$
C
N
F
d
h
c
F
C
>
c
_
_
^
E
F
C
_
m
_
m
^
D
E
b
e
_
`
D
{
t
{
C
a
p
3
C
A
x
t
B
Y
w
m
A
A
X
]
!
@
8 (
c
t
e
k
k
^
f
e
_
h
h
e
j
^
m
m
e
t
e
j
p
f
h
q
m
t
c
j
c
e
|
p
m
n
p
_
e
h
k
c
m
c
k
m
_
}
j
m
^
e
y
e
j
b
{
t
_
j
y
|
^
e
c
w
a
j
]
c
e
p
m
_
m
t
j
h
z
j
n
n
_
w
m
t
c
q
|
iii
y
`
^
j
m
c
n
i
y
t
_
p
c
m
t
c
n
j
p
m
{
_
^
k
p
e
h
Acknowledgements
iii
Contents
iv
Preface
vii
1. INTRODUCTION AND OVERVIEW
1
1.1. General Introduction. 1.2. Expert Supervision. General Scope. 1.3. Introduction to the thesis. 1.3.1. General Problem Description. 1.3.2. Outline of the proposed approach. 1.4. Objective and thesis of the work. 1.5. Conclusions.
1 3 4 4 6 7 8
2. EXPERT SUPERVISION
10
2.1. Introduction. 2.2. Supervision, fault detection and diagnosis : Terminology and definitions. 2.3. Fault detection: structures and methodologies. 2.3.1. Model-based fault detection. 2.3.2. Signal-based fault detection. 2.3.3. Knowledge-based fault detection. 2.4. Knowledge-based fault diagnosis. 2.4.1. Knowledge-based methods used in fault diagnosis. 2.4.2. Diagnosis strategies. 2.5. Implementation of expert supervisory systems. 2.5.1. Assisting expert supervision design. 2.6. Conclusions.
10 11 13 15 16 17 19 20 21 22 23 25
3. METHODS FOR EXPERT SUPERVISORY SYSTEMS
26
3.1. Introduction: Necessity of AI methods for process supervision. 3.1.1. Heterogeneous, imprecise and uncertain data. 3.1.2. Process behaviour and expert knowledge. 3.2. Knowledge representation techniques. 3.2.1. Logical formalisms. 3.2.2. Rule-based systems. 3.2.3. Graphs and including semantic networks. 3.2.4. Frames and object oriented representations. 3.3. Qualitative reasoning. 3.3.1. Qualitative modelling and simulation. 3.4. Artificial Intelligence in Control Systems.
26 27 28 28 29 29 31 32 33 34 36
iv
3.5. Artificial Intelligence in Process Monitoring and Supervision. 3.5.1. Integration problem. 3.5.2. Imprecision in temporal references. 3.5.3. Benefits of using OOP in supervisory tasks. 3.6. Conclusions.
37 38 39 39 40
4. CASSD - COMPUTER AIDED SUPERVISORY SYSTEMS DESIGN FRAMEWORKS 41 4.1. Necessity of CASSD frameworks. 4.2. Antecedents. 4.2.1. Steps towards a tools-based architecture. 4.2.2. The reference model for CACE open environments. 4.2.3. CACE and CACSD packages. 4.2.4. MATLAB/Simulink as a CACSD framework. 4.3. Coupled CACSD frameworks. 4.3.1. Knowledge-based systems and MATLAB/Simulink. 4.3.2. Characteristics of Expert Systems for CACSD. 4.4. Proposal for a Computer Aided Supervisory System Design (CASSD) framework. 4.4.1. Requirements for a CASSD framework. 4.4.2. Selection of a platform. 4.4.3. Other frameworks with similar capabilities. 4.5. Conclusions.
41 42 42 45 47 48 50 52 53 55 55 58 58 59
5. INTEGRATION OF TOOLS FOR SUPPORTING SUPERVISORY SYSTEMS DESIGN 61 5.1. Introduction. 5.2. Sharing Information between tools : Object-variables. 5.2.1. Using process variables for reasoning. 5.2.2. Process variables at different levels of abstraction : Object-variables. 5.2.3. About objects in MATLAB-Simulink. Containers. 5.2.4. Classes of object-variables. 5.2.5. Embedding objects into MATLAB/Simulink. Technical viability. 5.3. Abstraction tools. 5.3.1. Significant information from process variables. 5.3.2. A taxonomy/selection of abstraction tools. 5.3.3. Kinds of abstractors. 5.3.4. Abstraction tools and object-variables. 5.4. ALCMEN, A representation language. 5.4.1. Fundamentals of ALCMEN. 5.4.2. Static operators 5.4.3. Dynamic operators (time depending relationships). 5.4.4. Qualitative representation of numerical signals. 5.4.5. ALCMEN and qualitative reasoning. 5.4.6. Implementation in MATLAB/Simulink. 5.5. Expert System CEES into MATLAB/Simulink.
v
61 62 62 64 66 68 70 71 72 75 76 80 81 81 84 88 88 89 90 92
5.5.1. CEES features. Advantages and drawbacks. 5.5.2. SimCEES : Implementation of an ES in MATLAB/ Simulink. 5.5.3. Expert Reasoning with SimCEES. 5.5.4. Exportability of rules. LabCEES, the stand-alone application. 5.6. The global framework. 5.6.1. Architecture and tools. 5.6.2. Knowledge representation. 5.7. Conclusions.
6. SOME ILLUSTRATIVE EXAMPLES IN USING THE CASSD FRAMEWORK
93 95 97 99 100 100 102 104
106
6.1. Introduction 106 6.2. Fault diagnosis of a simulated plant. 107 6.2.1. Laboratory plant description. 107 6.2.2. Implementation of a knowledge-based fault detection system in the CASSD framework. 109 6.3. Qualitative estimation of a variable. 114 6.4. Qualitative estimation of temperature in the furnace of a Municipal Solid Waste Incineration plant. 121 6.4.1. Plant description : the furnace. 121 6.4.2. About MSW quality. 123 6.4.3. Qualitative estimation of temperature. 124 6.5. Validation of a knowledge base when designing an ES for fault diagnosis.127
7. CONCLUSIONS AND FUTURE WORK
131
7.1. Conclusions. 7.2. Future Work.
131 135
8. GLOSSARY
137
9. BIBLIOGRAPHY
139
vi
©
ª
¤
«
©
¾
Ê
¤
¿
¬
Â
±
Ç
Ö
ã
ê
ë
î
ë
î
ç
ã
ã
è
ü
ë
ã
ê
Ø
ã
í
þ
í
ë
î
í
ü
ü
î
î
ê
ÿ
ê
õ
í
ë
õ
è
ë
í
é
ã
î
ë
è
ä
ü
î
è
õ
î
è
ô
è
å
î
ó
ê
ê
ã
ä
ç
ê
ý
ó
ê
ä
ï
ã
î
ë
ª
¸
Ó
î
Õ
ë
ò
þ
å
ü
Ú
³
ä
ë
õ
ã
ÿ
ç
÷
õ
î
í
Ç
Ø
ö
ó
å
î
ñ
è
õ
÷
í
ç
è
ì
î
î
µ
ô
©
µ
ã
ê
¬
å
í
ó
Ú
ä
ø
ç
É
ª
±
ï
±
³
ã
î
í
½
±
½
ê
½
â
¤
¡
á
ª
ç
µ
®
ê
å
Â
Ü
å
·
Ò
ê
£
³
®
à
÷
î
±
È
´
ß
è
ç
µ
ª
Þ
î
ã
³
Ç
Ý
¶
©
®
Ç
Ç
¢
ì
ë
ª
±
Ü
°
À
³
ã
¢
±
ª
÷
ä
î
Í
Û
ä
î
Â
·
Ú
¼
Ç
µ
ª
ª
ª
µ
¨
²
«
±
±
®
Ù
¢
Â
Â
í
²
Ø
ô
í
½
À
×
±
Î
Õ
î
ã
µ
§
³
ª
Ö
ó
Æ
ª
©
Ô
ª
Ç
»
²
ª
¥
¹
ñ
¦
±
µ
¬
¹
¶
¬
Ç
è
ô
å
þ
ò
õ
ü
ë
õ
ä
â
é
ç
ü
î
ë
ë
ë
ô
î
õ
î
í
í
ò
ê
ä
í
õ
ó
õ
ï
ã
î
ó
ä
é
é
ÿ
ê
í
ë
ë
ê
ò
ë
è
Ó
î
å
Ú
ñ
Ô
ë
õ
è
ä
õ
õ
õ
þ
í
í
ê
ë
ë
ê
ë
î
í
õ
ç
ï
ã
é
è
ã
ê
å
â
ó
î
ô
í
ä
é
è
ç
ê
ï
ë
ä
õ
é
ç
î
î
è
õ
î
ê
ê
ã
ý
ó
ê
î
ë
í
ò
è
å
ì
ê
î
í
ó
î
ë
ê
ä
ü
è
è
ê
þ
é
ä
í
ã
õ
è
î
ò
é
è
ê
î
ä
ä
è
è
ý
ê
î
õ
ê
õ
ì
í
î
é
ü
í
å
ä
ï
å
î
ì
î
ä
ä
ã
ê
î
í
é
ê
î
ã
ý
ã
ê
ç
ÿ
ä
ê
ä
í
î
í
ã
ü
ê
è
î
ã
õ
ô
ã
ì
í
ä
î
ü
ü
ê
å
å
è
î
þ
ã
ó
í
ë
î
ê
ì
è
ê
î
î
õ
í
ì
î
è
è
î
ó
÷
è
ê
ò
ò
ô
ã
é
ý
í
î
è
î
ï
õ
ê
õ
ÿ
ä
ç
å
ä
ë
õ
ê
ü
å
ã
õ
í
í
ã
ë
í
ê
ò
é
î
Ø
î
õ
õ
î
Ù
þ
ì
ó
è
ê
í
ê
í
í
ã
ë
ë
õ
ì
ü
ì
è
ã
è
Ö
Ù
ò
õ
ä
è
Ø
ë
ë
ò
î
ü
õ
è
ã
ç
ò
ë
í
õ
ã
î
è
ü
î
õ
è
ê
õ
ô
ê
í
ä
î
õ
í
í
í
é
ë
é
ç
å
Ù
vii
î
Õ
ì
ã
å
î
è
õ
ê
å
ê
ä
ÿ
ä
ê
ä
ü
ê
é
í
î
ó
î
î
ë
ü
î
ã
÷
ê
ì
ä
ê
î
ë
è
í
õ
ê
ó
ê
õ
ã
é
î
ç
é
ç
å
â
ç
ï
ü
î
ì
í
ã
í
ã
ê
â
ê
õ
ÿ
ë
ë
ê
ã
â
é
è
ê
î
ä
è
ê
è
õ
î
ê
ï
ó
é
ã
å
í
ê
ê
è
î
è
ä
ã
å
þ
í
ê
è
ê
ë
ê
è
í
î
ç
÷
è
ã
í
ô
ä
î
ý
ê
ã
ç
è
ê
í
î
ê
ý
î
í
õ
î
è
í
ê
ë
ä
î
ì
Ø
è
å
ì
÷
ä
í
ë
ã
ì
ã
ê
ë
é
ò
î
è
þ
é
í
Ù
ê
ì
ë
é
ä
ÿ
ê
ä
î
í
÷
è
õ
å
é
ä
î
å
î
ä
ê
í
ü
ã
î
ì
î
î
î
í
è
õ
ê
è
ä
è
å
è
ã
ã
ÿ
é
î
ë
î
í
ÿ
ì
Ú
è
ë
÷
Ô
ï
í
è
ê
î
î
ã
ä
ä
î
÷
ì
î
ê
ç
è
ü
í
ò
ç
ä
þ
õ
ó
ä
ë
í
è
ë
î
î
ê
ò
ã
ÿ
í
õ
ì
ä
î
î
ç
ê
ë
ê
ã
õ
ì
è
õ
ë
õ
è
ä
è
í
ä
î
ò
ê
ã
î
è
ó
ä
î
ó
í
õ
î
î
î
õ
ì
ê
ý
÷
ÿ
ã
ë
õ
î
ë
ì
î
å
ç
ÿ
è
è
ï
ë
í
ä
ã
ã
ü
î
ó
ã
ò
é
ë
ò
î
í
Ø
ó
ë
ï
ä
ã
è
è
ë
õ
î
ì
õ
Ù
ê
õ
í
ä
è
ê
ä
õ
ï
ÿ
ó
ã
ç
ã
ï
õ
í
ä
î
è
ç
ü
ü
ä
õ
ã
è
í
í
ï
å
ä
ê
î
î
Ö
ä
ë
î
ü
Ù
õ
ê
ê
õ
î
ä
í
õ
è
í
ê
è
è
å
ì
ò
î
í
î
Ù
ã
ü
ì
í
í
ì
ã
è
ã
ç
ò
ü
í
è
î
è
è
ä
î
Ù
¬
ê
î
î
ó
ê
î
í
î
ä
ë
í
³
¡
µ
µ
ý
î
ü
ä
î
ä
è
î
î
î
è
ç
ê
õ
í
í
í
å
õ
÷
ë
î
ä
ê
ë
ò
ë
ü
ç
î
í
ë
î
ÿ
è
ó
ç
è
ä
ê
ý
÷
å
è
î
÷
ý
î
î
í
ÿ
ë
õ
ì
í
ä
ô
ì
è
î
ÿ
ÿ
Â
Ë
³
Ù
÷
ê
ë
³
±
Ç
î
À
å
ü
ò
ï
ï
í
î
ë
ä
õ
ì
ä
õ
å
í
ã
î
ç
è
ª
±
Â
ð
Ø
½
µ
Ù
õ
í
î
ã
ï
å
ò
õ
õ
ë
î
í
è
ý
è
ë
î
ã
ã
ë
ã
ê
õ
î
å
é
ü
ç
ê
ë
ç
ü
ã
è
ë
ç
î
ó
é
ë
è
ä
í
ê
î
Ú
Ù
û
ë
í
ä
í
ò
í
ê
ë
ç
ê
í
ã
÷
ã
õ
õ
ò
ê
î
ç
ô
ñ
å
õ
õ
ã
ÿ
è
ë
î
î
ã
ã
ò
ä
Ô
è
ë
õ
õ
è
ô
î
é
è
ä
õ
î
î
ò
è
ì
Ú
ã
ä
è
û
Â
±
º
±
²
Ç
¹
¼
´
Õ
±
¥
Ä
Ñ
¹
Â
©
î
õ
å
õ
ã
ü
ä
å
ç
ä
ã
î
ã
ó
ü
õ
ë
÷
è
ë
ã
õ
ë
½
·
Ð
Ë
±
Ý
©
Ã
ß
±
¸
´
Ç
Ô
·
½
å
ª
ª
Ý
Ú
ë
®
í
ß
ó
ÿ
Ø
î
î
ê
ã
ï
è
í
õ
ü
î
è
ï
ç
ä
ï
Õ
î
ç
è
ã
ç
ã
ä
å
è
õ
ò
õ
ã
ó
ä
î
ê
Ù
Ù
î
î
å
ô
ç
õ
ò
î
ë
ç
õ
ò
ä
í
ÿ
î
í
î
î
ý
õ
î
ó
õ
í
ç
ë
ò
é
é
ä
ê
ê
è
ä
í
è
õ
ä
ê
ï
ý
ó
í
í
ê
õ
î
õ
ä
è
í
ü
õ
ã
ÿ
è
õ
è
ë
î
ã
ã
õ
ç
å
ï
è
è
Õ
î
î
ì
î
ï
ã
ê
ä
ä
ë
ë
Ô
Å
·
Ç
ã
µ
Â
½
¶
¬
ª
å
å
í
ô
À
ã
ú
î
ò
î
ã
ë
µ
³
ª
ª
ë
ù
õ
ê
å
ï
ù
ê
ç
þ
ï
ä
î
î
ó
õ
õ
õ
ä
ä
ä
ç
õ
ë
ù
è
ò
î
µ
µ
À
«
«
Â
ª
²
±
©
±
Ä
®
è
´
½
³
ä
Ô
ã
ê
ê
î
å
ó
Ø
é
ï
ë
ª
¢
·
Ï
µ
á
ê
ä
è
í
õ
ó
õ
î
ê
ÿ
ï
ê
ë
ô
ã
ä
ç
í
ó
õ
³
Ö
Ü
µ
²
í
Û
ý
ë
î
ã
Ú
³
ª
Ç
®
ã
ã
ï
è
Ø
û
õ
Ç
ì
¶
¤
ª
¯
Â
²
½
Ç
½
±
³
Ã
³
³
²
ª
°
À
®
ë
î
ì
ä
ê
Ù
ñ
î
Â
±
¯
Ì
½
é
ü
è
µ
½
î
Ø
õ
ã
ä
Á
ª
ü
Ï
Î
Ø
è
Õ
µ
©
×
ä
ª
±
ª
è
Õ
®
²
Â
Ë
¬
ç
Õ
õ
À
ª
Û
õ
¬
±
½
æ
¢
ª
°
Ã
ª
²
¯
å
î
ç
Ù
í
î
î
õ
Ù
ä
ï
è
•
"
#
#
•
"
.
#
!
#
!
'
•
&
/
*
$
!
"
'
%
(
!
#
!
%
!
#
!
'
#
&
%
&
!
#
&
%
!
%
%
-
&
#
"
#
(
!
!
/
(
'
!
%
!
%
#
,
#
#
#
*
%
*
%
#
2
*
1
&
!
!
(
0
'
&
!
!
(
0
(
'
%
%
!
#
!
#
!
+
#
*
•
!
!
#
&
#
'
)
•
!
%
%
#
'
'
%
!
'
!
0
"
#
-
!
5
%
*
/
!
*
*
#
!
+
(
3
#
$
4
*
#
'
0
#
#
/
*
*
#
'
6
!
!
&
!
'
,
%
#
,
3
/
+
)
, 7
/
)
*
,
)
6
• J
C
N
D
U
E
V
F
D
G
H
Y
I
I
N
J
J
#
L
I
!
K
Z
M
N
D
[
N
D
E
O
F
F
E
G
#
I
8
N
H
F
9
P
H
:
K
G
Q
;
E
F
N
L
?
;
D
J
@
N
D
E
U
?
B
L
?
S
W
A
#
"
%
B
U
[
:
T
Q
V
D
Q
M
D
R
W
Q
D
F
E
I
I
H
J
U
L
M
M
E
W
F
F
R
H
G
U
Q
Q
F
X
I
H
D
E
\
]
L
U
U
M
W
M
F
W
Q
F
U
R
Q
U
F
Q
O
F
D
I
V
H
E
U
I
N
[
D
D
M
W
N
D
W
F
E
H
G
D
U
H
Q
D
H
[
[
F
Z
H
Q
X
F
H
E
I
R
Y
W
X
U
M
D
[
Q
G
D
D
N
^
U
E
D
O
U
W
F
[
U
Q
F
I
H
B
_
U
D
U
V
N
M
N
D
N
X
Q
F
D
U
U
V
E
W
U
F
R
E
N
D
I
Z
[
H
D
F
R
[
H
W
Q
L
X
E
D
F
I
W
H
U
E
E
U
Q
R
N
X
D
U
U
M
Q
[
D
[
N
D
\
Y
[
D
U
N
Q
D
Q
U
W
X
D
E
B
viii
I
D
J
L
H
N
[
Q
X
I
D
N
J
Y
D
I
U
N
R
Z
X
U
R
H
[
X
M
I
U
M
Q
D
D
H
N
W
U
F
H
H
D
[
E
`
a
b
c
d
e
f
b
g
h
a
h
y
z
i
{
j
|
a
}
h
k
~
l
c
m
d
c
}
n
o
f
p
~
c
m
q
r
s
f
l
g
}
b
f
b
g
t
c
q
f
a
}
m
{
u
s
v
z
c
e
g
w
x
h
h
l
p
¡
¢
The increasing use of computers in engineering activities has originated the apparition of numerous packages or frameworks especially conceived to facilitate engineering developments. Some reasons for extensive application of computers in engineering decision and design problems are quite obvious; computer aided tools make the work of engineers both easier and faster. This means that increasingly more complex engineering problems become solvable in reasonable short time, while the effort devoted to solve these problems remains limited mostly to some conceptual work. Some other reasons include the necessity of improving the of quality of engineering solutions, including robustness, reliability and safety and lowering down the cost of manpower spent on developing particular solutions. Moreover, the systems developed with use of computer software can easily be simulated, analysed and reused. Because of these reasons, the acronym CA (Compute Aided) has been used as a prefix for designing software packages developed to assist engineering tasks. Some principal areas of interest in applying computers for assisting engineers include domains as: • CAD - Computer Aided Design.
Chapter 1: Introduction and Overview
-1-
£
¤
¥
¦
§
¨
©
¥
ª
«
¤
«
¬
«
¬
¨
¼
¤
¦
«
©
®
¯
¯
»
ª
¦
¹
°
§
¦
¦
½
±
²
¾
©
¤
³
©
¦
¹
°
´
ª
º
µ
¶
¿
¾
©
³
¯
¥
ª
¦
¥
©
¹
¥
ª
³
·
¦
¿
´
¶
©
À
¤
¦
°
¨
¸
·
ª
¶
³
ª
¹
«
¦
¨
ª
º
»
«
«
¯
³
¤
• CADS - Computer Aided Decision Support, also known as DSS Decision Support System. • CAE - Computer Aided Engineering. • CACE - Computer Aided Control Engineering. • CAM - Computer Aided Manufacturing. • CASE - Computer Aided Software Engineering. • CACSD - Computer Aided Control Systems Design, The application of computers becomes more important in everyday engineering activity. Particularly, control engineering community has been actively pursuing avenues for supporting multi-disciplinary design activities for several years. Consequently, the research activity in this field has been increased to support design, implementation and maintenance of control projects. CACSD packages have been developed following these lines. They incorporate representation, analysis and design facilities. Therefore, these packages are dotted of friendly user interfaces, representation capabilities and a wide number of numerical algorithms (modelling and simulation capabilities) to facilitate control systems design, test and validation. Nowadays, control engineers activities in the industry are not only reduced to control systems design but their activity must also take into account all process behaviour, especially when dealing with complex systems (non-linear, coupled, time dependent, etc.). In such cases, control and process engineers must work together to ensure global quality, safety and reliability in both, product, and process behaviour. This is process supervising. From the control engineers point of view supervisory task consists in closing a high level control loop. Supervisory systems will be designed to observe the process (process measures, visual observations, indices and so on), to decide about its behaviour according to a template (predefined normal operating conditions) and to perform or suggest specific actions (control reconfiguring, set point change, etc.) when necessary. The complexity in designing supervisory systems makes necessary the use of all available information about instantaneous process behaviour. Process measures given by sensors, estimations obtained from models (numerical or qualitative) and expert knowledge obtained from operators and process engineers, must be merged to perform supervisory strategies in the best way. Thus, Expert Supervision is used in this text to design such supervisory strategies that take benefit of expert knowledge about process behaviour. Following this line, control engineers working in the domain of supervisory systems are also needed for specific software packages to assist their activities. This thesis puts forward several particular solutions in this relatively new area, i.e. Computer Aided Supervisory Systems Design- CASSD.
Chapter 1: Introduction and Overview
-2-
Á
Â
Ã
Ä
Å
Æ
Ç
Ã
È
É
Â
É
Ê
ß
à
á
â
ã
ä
å
æ
ç
è
é
ê
Ê
É
å
Æ
Ë
Ú
Â
É
æ
Ä
Ì
ç
Ç
ë
Í
Í
Ù
Ä
ì
È
Î
Å
í
×
Ä
ì
Ä
Ï
î
Û
Ð
ï
Ü
Ç
Ñ
Â
ð
Ç
Ä
Î
×
Ò
ñ
È
Ó
Ø
Ô
æ
Ý
ï
Ü
Ç
Í
Ñ
æ
Ã
È
Ã
Ç
Ä
Ã
×
ç
È
Õ
Ä
ò
Ñ
ó
Ý
Ò
Ç
Ô
é
Þ
Â
Î
Ä
ô
Æ
Ö
Õ
î
È
Ô
Ñ
å
È
×
É
Ä
Æ
È
Ø
Ù
É
É
Í
Ñ
Â
æ
ð
Nowadays, automatic control applications in the domain of process supervision are restricted to decision making, including human operator, into the feedback loop [Millot, 1996] . In fact, the functionality of Supervisory Control And Data Acquisition (SCADA) packages, widely used in the industry, are restricted to monitoring and alarm generation tasks. Final decisions about the validity of these alarms and actions to perform in the process are done by expert operators in the plant. Design difficulties of supervisory systems increase with process complexity. Coupled systems, high order dynamics, and non-linearity are common situations in industrial process. In such situations, it is difficult to obtain accurate models for applying traditional model-based techniques for designing supervisory systems and knowledge-based approaches can be applied taking benefit of process operators and process engineers’ experiences to identify specific situations. Therefore, Expert Supervision is an active research line oriented to take advantage of expert knowledge of process engineers and plant operators to automatically decide about process behaviour and to propose adequate actions or changes in the set points, controllers parameters or reconfiguring strategies. Artificial intelligence (AI) technologies are applied to deal with this expert knowledge inside computers because of its capabilities for: • Knowledge representation. This is the interpretation of human knowledge and translation into computers. AI proposes several methods for structuring and organising expert knowledge into knowledge bases (KBs). Rule-based systems, also called expert systems (ES), are the most common example of applications used to represent exert knowledge. • Reasoning. This is the capability of using the expert knowledge to infer conclusions as a consequence of specific situations. • Manipulation of heterogeneous data. The use of AI technologies allows to manage qualitative and symbolic information mixed with numerical data and methods. Those capabilities are extremely useful in expert supervision because of the different origin of information to be used . Expert supervisory applications are designed to reason about process variables, i.e. signals that represent physical variables in the process and provide information about process behaviour. These signals can be measures, numeric data obtained directly from real process or controllers, or estimations, obtained from models or relations. According to the kind of relationship or models used to estimate a process variables we can differentiate between qualitative, or symbolic, and numeric estimations. These signals can be manipulated or processed to isolate significant information, i.e. abstracted information.
Chapter 1: Introduction and Overview
-3-
õ
ö
÷
ø
ù
ú
û
÷
ü
ý
ö
ý
þ
þ
ý
ÿ
ú
ö
ý
ø
û
ø
ü
ù
ø
ø
û
ö
ø
û
ü
û
ü
÷
÷
û
ø
÷
ü
ø
û
ö
ø
ú
ü
ü
ý
ø
ú
ü
ý
ý
ö
The complexity of designing, testing and validating the expert supervisory systems is basically due to the variety of tools and data to be used. Difficulties in integration are the main reason of failure in supervisory strategies implementation. This pitfall will decrease if all the available facilities to be used are available together in a framework, avoiding integration inconvenient, especially oriented to assist expert supervisory systems design.
!
!
"
"
#
1.3.1. General Problem Description. Expert Supervisory Systems design involves manipulation of heterogeneous information such as signals, knowledge, qualitative data and so on. All of them are representations of process behaviour that must be taken into account when designing supervisory systems. Numerical data comes basically from direct measures of process variables or from estimations supplied by numerical models or equations. Usually, numerical data is the kind of information supplied from process periodically, at every sampling time. This kind of information can be saved, processed and represented in several ways to be analysed. On the other hand knowledge and qualitative appreciation of process dynamics come from heuristics or observations of representative situations done by process engineers (Fig. 1.1). In industrial applications the existing knowledge representation procedures for assisting experts in translating and structuring this knowledge into computers are basically reduced to production rules systems. For example, fuzzy based controllers or industrial ES are in this line. Reasoning about dynamic systems involve working with temporal restrictions as expiring data validity and limitations in the response time. Periodically (at each sampling time), ES input data is actualised and deductions about them must be performed. 0
1
2
3
4
5
6
7
8
4
input 9
input 0
>
G
?
H
@
I
A
J
B
C
K
D
L
E
9
7
:
3
;
F
M
N
output
$
%
&
'
(
)
T
U
O
P
V
Q
W
R
X
Y
S
Z
[
Y
)
4
8
=
3
7
7
-
)
3
*
0 .5
E < 0 .5 E=0 (± ± 0 .5 )
n 1 -n 2 = 4 (± ± 0 .5 )
n 1 -n 2 = 0
V2 to ta l
n 1 -n 2 < 3 .5
V2
c=5 (± ± 0 .5 )
n 1 -n 2 = 5 (± ± 0 .5 )
c > 5 .5
n 1 -n 2 > 5 .5
c > 5 .5
NORM AL
V1 1
PUM P
p a r tia l
7
8
9
:
1
:
1
;
H
B
0
E
:
?
N
6
8
=
;
@
A
A
M
O" in the figure, perform this conversion. Objects are built from numerical variable values according to the object-variable definition and supplied parameters. Therefore, the output of these blocks is not numerical data but it constitutes object-variables, and all information embedded in them is accessible for the connected blocks. The figure, represents how two object-variables are supplied to a diagnostic block.
Chapter 5: Integration of tools for supporting supervisory systems design
- 65 -
^
_
`
a
b
c
d
`
e
f
_
f
g
g
f
h
c
_
w
a
f
i
d
j
j
v
e
a
k
t
b
a
a
l
x
m
d
y
n
_
a
d
k
o
t
e
p
u
q
z
d
y
n
j
e
`
`
d
a
`
t
e
r
a
n
o
z
d
q
_
{
k
a
s
c
r
q
e
n
e
t
f
a
c
e
u
v
f
f
j
n
_
PID Set Point Generator
PID Controller
num den |
}
~
Plant model
|
|
R
S
T
U
V
W
Y
Z
[
Y
R
\
T
}
~
~
K
Mux
Diagnosis
B
Object-Variable level_ 1{ Value= 12.3; Derivative= 0.3; History={12.3, 12.1, 12.0, 11.8}; Range={15, 13,8 ,7, 2, 0 }; Q-Value=”High” ; trends= “Increrasing”; SampleTime = 1 ; SlidingTime=10 ; NumPoints=5 ; method_A( ); method_C( ); }
}
Mux
The same encapsulation can be applied not only to process variables, but also to indices obtained from them or the combination of several variables. The aim is to supply a multiple representation of the same variable (process variable, index, ratio, and so on) with an easy access to facilitate 5.2.3. About objects in MATLAB-Simulink. Containers. The idea of using objects in MATLAB was firstly put forward in [Maciejowski and Szymkat, 1994] introducing the use of ‘containers’. This work presents ‘containers’, which have some of the commonly accepted properties (but not all) of the ‘objects’, to represent object-oriented models. Those ‘containers’ are used to solve data management problems in a programming environment for control systems analysis and design, selecting MATLAB as a test-bed. The benefits of using ‘containers’ in CACE frameworks are also discussed in [Saifuddin, 1996].
Chapter 5: Integration of tools for supporting supervisory systems design
- 66 -
¡
¢
£
£
¤
£
¤
¥
´
£
¡
¦
§
§
³
¢
±
¨
µ
©
ª
¶
¡
«
¡
±
¨
¬
¢
²
®
·
¶
¡
«
§
¢
¡
±
¢
«
¯
·
¬
®
¡
¸
¨
°
¯
¢
®
«
¢
±
£
¢
²
³
£
£
§
«
The features of ‘containers’ common to objects are : • • • •
Classes of containers can be defined, Properties of containers can be updated and queried, Containers can be interrogated about themselves, Data can be associated with methods .
After the work [Maciejowski and Szymkat, 1994], the evolution of MATLAB has always pointed to the idea of incorporating object structures. In fact, the new version (MATLAB 5.0) is supplied with five different classes of data and offers the possibility of creating new classes defining a MATLAB structure that provides data storage for the object [Matlab 1996]. These objects have some of the basic properties assumed for objects such as inheritance and overloading of the operators. Another important characteristic of objects, is the encapsulation of methods and data in the same structure (maybe the most important feature of objects). The benefits of this property in a CACE framework are also discussed in [Saifuddin, 1996]. Despite of the importance of this feature, objects incorporated in MATLAB 5.0 do not provide this possibility. In fact, methods to deal with the desired objects must be defined apart form MATLAB objects, in separated files (*.M, MATLAB files) and stored in a specific directory. Due to this drawback Simulink 2.0 [Simulink 1996] deals only with numerical data at its input and output, reducing the applicability of this framework to numerical simulation and analysis. In case of applications to complex information processing, including elements of symbolic reasoning, the approach provided in the recent version of MATLAB is still far from satisfactory. Despite of improved graphical capabilities and the possibility of inheritance in some parameters (sample time, number of input and output), the use of Simulink as an Object oriented Computer aided control system design framework (OOCACSD) is still far, because of its poor capability of managing objects as variables. The idea presented in this work is slightly different from the one of ‘container’ since real ‘objects’ are defined, using an external language, in MATLAB/Simulink. These objects are applied mostly to the description of variables supported by a Simulink block representation (graphical representation). The solution presented in this work is necessary for several tasks, such as supervision or diagnostic applications where tools need to operate on different kinds of data (qualitative, symbolic, numerical, logical, textual), representing the same process variable.
Chapter 5: Integration of tools for supporting supervisory systems design
- 67 -
¹
º
»
¼
½
¾
¿
»
À
Á
º
Á
Â
Â
Á
Ã
¾
Ò
º
Á
¼
Ä
¿
Å
Å
Ñ
À
¼
Æ
½
Ï
¼
¼
Ç
Ó
È
Ô
¿
É
º
¼
¿
Æ
Ï
Ê
À
Ë
Ð
Ì
Õ
¿
Ô
Å
É
»
À
»
¿
¼
»
À
Ï
Í
¼
É
Ê
Õ
¿
Ì
Ö
º
Æ
¼
Î
¾
Í
Ì
À
É
Ï
À
¼
Á
¾
À
Ð
Ñ
Á
Á
Å
É
º
5.2.4. Classes of object-variables. The use of object-variables is defined to encapsulate information (data and methods) into a data structure to be shared among different tools. It is assumed that an open architecture is used and new tools can be added into the framework. Then, new features may be required to describe system variables and objectvariables must be endowed with new methods to supply them. Taking this into account, two possible solutions to modify the structure of object-variables are proposed below. The first solution is a straightforward one. It consists in adding new features to the original object-variable, in order to obtain the capabilities required for any newly added tool. In this case, the data structure grows in size and some memory is likely to be wasted, even though not all features will be used but only some of them. This solution, although applicable directly, is not recommended in case of complex systems because of the great number of variables involved. The second possibility is to define several object-variables with a simple common structure and particular methods to serve sets of tools with some similarities. This option allows to define more accurate object-variables, fitting the tool requirements in a more exact way; unfortunately in some cases a certain degree of incompatibility with certain tools may occur and more than one objectvariable could be necessary to be used for representing several features of a process variable. Both possibilities are represented “Fig. 5.4”. Û
ë
ì
í
î
ï
ð
ð
ñ
ò
ì
ó
ò
ô
õ
Ü
Ý
Þ
ß
à
á
â
ã
ä
å
ã
Ü
æ
Þ
ï
÷
ø
ù
ú
×
Ø
Ù
ø
û
ü
ý
þ
ø
ÿ
Ú
ö
ç
è
é
ê
ç
ç
è
é
ç
è
é
é
ê
ê
ç
è
ê
!
è
"
é
ê
#
"
#
The necessity of having several classes of object-variables is basically due to the necessity of integrating several tools for supporting the design of supervisory structures. The classes of the variables will be defined according to the specific requirements of the applied tools. “Table 5-1” shows the relationship among the
Chapter 5: Integration of tools for supporting supervisory systems design
- 68 -
$
%
&
'
(
)
*
&
+
,
%
,
=
-
>
.
?
@
%
A
,
/
B
0
C
D
E
'
1
(
F
'
A
2
3
G
*
H
4
I
'
B
1
5
F
E
6
J
7
K
*
H
0
L
+
M
&
*
A
&
+
F
8
'
L
5
K
*
N
%
O
1
A
9
?
P
7
E
L
:
E
'
>
)
+
;
?
A
B
$
C
D
E
W
X
s
t
u
Y
v
Z
w
W
x
[
s
\
]
y
^
z
{
_
H
`
|
w
}
~
a
c
Ö
Ô
Ø
Ö
÷
õ
&
×
ø
Ò
ô
Ñ
ñ
,
)
J
Ù
×
Ó
Ù
Ú
Û
Ô
Ü
Ø
Ñ
Ü
Ü
Ô
Ò
Ò
Ý
Ô
Ø
Þ
Ù
Ó
Ò
Ü
Ñ
×
Ú
Ô
Ó
Ô
Õ
Ö
×
Ô
Ó
Ö
×
Ñ
×
à
+
0
ö
-
.
ù
&
ò
'
ú
ú
/
û
+
õ
0
ü
ý
õ
þ
ÿ
ó
þ
ý
ð
õ
ø
ò
ò
õ
þ
ü
ý
ò
ó
ô
õ
ø
ñ
ÿ
ó
þ
1
-
7
3
&
-
2
2
(
.
-
0
&
3
4
0
(
1
&
/
+
&
3
1
*
0
5
&
(
1
6
&
.
0
9
K
H
L
M
I
N
E
O
K
F
P
Q
O
F
E
I
F
H
O
K
K
E
J
J
F
G
E
I
E
J
P
R
E
I
S
P
E
M
I
J
P
T
F
H
F
G
P
J
U
d
e
f
Ð
*
E
×
ö
I
T
b
)
H
P
Ö
7 8
G
F
Ö
õ
(
(
F
L
ô
'
,
Õ
Õ
ó
+
Ô
Ô
ò
&
0
Ó
ñ
%
Ó
ß
ð
R
V
Ò
Ð
ï
8
:
Ò
Ü
Ñ
g
e
h
d
i
j
k
k
f
l
g
c
m
g
d
g
i
j
h
g
d
i
j
g
k
d
n
a
i
f
l
g
a
o
p
g
q
f
r
The fact of working with objects implies using an object oriented compiler, and at the same time, access to data pointers (C++ compiler) must be allowed. In this case, Watcom 10.5 C++ compiler was chosen.
¡
¢
In the previous subsection, the use of OOP in the definition of variables has been introduced in order to give a multi-aspect representation to the process variables. Object-variables have been presented for encapsulating data and methods used to obtain these multiple representations. But, what kind of
Chapter 5: Integration of tools for supporting supervisory systems design
- 71 -
£
¤
¥
¦
§
¨
©
¥
ª
«
¤
«
¼
½
¬
¾
¿
¤
À
«
Á
®
Â
¯
Ã
Ä
¦
Å
°
§
À
¦
Æ
±
²
Ç
©
È
³
Á
¦
Å
°
´
Ä
É
µ
¶
Ê
Ç
©
Ë
¯
Ì
ª
À
¥
©
Å
¥
ª
Ë
·
¦
Ê
´
Í
©
Î
¤
À
°
¾
¸
Ï
Ä
¶
Ë
Ä
¹
½
¦
¨
ª
º
»
«
«
¯
³
È
information is needed from process variables and which methods can be used with this purpose?. These topics are discussed below and several algorithms are proposed. Thus, abstraction tools, also called abstractors, refer to such algorithms that can be encapsulated into object-variables to supply qualitative representation of process variables. 5.3.1. Significant information from process variables. Process variables, coming from real data (sensors and controllers) or simulation (analytical models) are mainly thought to be numerical data. This is the kind of information used for control loops, monitoring, alarm generation and fault detection in model-based systems. On the other hand, knowledge-based systems (used in fault detection, diagnosis and supervision) use inference methods for reasoning about both numerical (fuzzy reasoning) and qualitative information (qualitative reasoning). This qualitative data can be abstracted from the process, provided by engineers or supplied from a qualitative simulator or knowledge-based system. The particular form of abstract data obtained from process variables depends on the process and on the application to be developed. Therefore, different techniques for obtaining significant information (numerical, qualitative, symbolic and logical) from process variables could be used. Moreover, they could be used by qualitative reasoning tools as numerical to qualitative interfaces. See for example Fig. 5.8. The significant information which can be obtained from signals analysis, is : • Numerical information (additional) : + Derivatives. + Trends. + Deviations. + Distances with respect to some predefined shapes. + Relative extreme. + Landmarks (significant points and alarms). + Indices and associated parameters (damping factor, areas, overshoot, ...) + Frequency contents. + Integrals. + Certain mean values. • Qualitative or symbolic description of signals (numerical to qualitative interface) : + Labels. + Episodes. + Qualitative level of signal. Chapter 5: Integration of tools for supporting supervisory systems design
- 72 -
Ð
Ñ
Ò
Ó
Ô
Õ
Ö
Ò
×
Ø
Ñ
Ø
Ù
Ù
Ø
Ú
Õ
Ñ
é
Ø
Ó
Û
Ö
Ü
Ü
è
×
Ó
Ý
Ô
æ
Ó
Ó
Þ
ß
ê
Ö
ë
à
Ñ
Ó
Ö
Ý
á
æ
×
â
ç
ã
ì
Ö
ë
Ü
à
×
Ò
Ò
Ö
Ó
Ò
×
æ
ä
Ó
à
á
ì
Ö
ã
Ñ
í
Ý
Ó
å
Õ
ä
ã
×
à
æ
×
Ó
Ø
Õ
×
ç
è
Ø
Ø
Ü
à
Ñ
+ Qualitative Trends. + Qualitative deviations, and so on. These descriptions and additional information, such performance indices or ratios, may be obtained on line with data acquisition. Moreover, their combination could be applied in event generation or for obtaining trends of certain parameters, for example. A wider enumeration and description can be found in [Rakoto-Ravalontsalama N., 1993]. Several qualitative representations of signals can be obtained with different methods as is depicted in Fig. 5.7 and Fig. 5.8. The choice of one or the other depends on the tool that must use this information. 100
Opening valve (%)
50
0 0
100
200
300
400
500
600
700
800
900
1000
500
600
700
800
900
1000
500
600
700
800
900
1000
QUALITATVE DESCRIPTION (I) OPEN HALF OPEN INTERMEDIATE HALF CLOSED CLOSED 0
100
200
300
400
QUALITATVE DESCRIPTION (II)
OPEN TRANSITION CLOSED 0
100
î
ö
÷
ï
ð
ø
ï
200
ñ
ò
ñ
ú
300
ó
ô
ù
õ
õ
÷
÷
ø
ù
ù
ö
÷
ï
400
ù
õ
ù
ú
ý
ù
ï
ï
û
ð
ï
û
õ
ï
ü
ù
ý
õ
û
ý
ù
þ
ü
ý
ø
ù
ý
ï
ü
ý
õ
ü
ÿ
õ
ï
õ
ü
ø
15
ï
ù
ÿ
ð
ý
ø
ï
ï
ù
û
ù
ñ
A c q u ire d S ig n a l
10 5 0
0
15
500
1000
1500
500
1000
1500
500
1000
1500
500
1000
1500
F ilte r e d S ig n a l
10 5 0
0
In c re s in g + +
Q u a lita tiv e te n d e n c y
In c re a s ig M a in ta in D e c re a s in g D e c r e a s n ig + +
0
Q u a lita tiv e D e v ia tio n iI n e s t a b le E s ta b le
0
î
ï
ð
ñ
ò
ñ
ø
ï
ÿ
ï
ï
þ
ü
ý
ù
õ
ü
ø
ú
ù
õ
ü
ý
ü
ÿ
ÿ
ï
ø
ù
ù
ú
õ
ï
ð
ý
ø
ù
õ
ï
ü
÷
ü
û
ï
ú
ù
ï
ý
ú
ù
ý
ý
ú
ø
ï
ï
û
ù
ú
ù
û
ï
ï
ø
ü
ï
õ
÷
ï
ù
ý
ú
ï
û
ù
ý
ñ
Further, elaborated numerical information is obtained using some classical signal processing methods: Chapter 5: Integration of tools for supporting supervisory systems design
- 73 -
%
$
"
&
'
"
#
(
'
"
(
)
!
"
#
$
• Derivatives permit to know instantaneous changes in dynamics of variables. • Polynomial regression could be useful for obtaining an analytical description of variables before performing some additional calculation. • Filtering is applied not only for smoothing signals, but also for dynamics isolation. • Fourier transform for frequency analysis of dynamics of variables can help in tuning and selecting parameters. • Wavelet transform gives a representation of signals at different scales, in both frequency and time. • Statistical signal processing methods are used to capture statistical features, such as mean value, variance and standard deviation, correlation analysis, and so on. Other, non-classical methods can be used to obtain a qualitative description of signals. As a result of such application, a label (linguistic description) or a set of labels of signals is obtained. Thus, a label is used to describe in a symbolic way signal behaviour during a certain time period. Some characteristic labels cover particular general changes of the signal level, which are distinguished by the description of selected episodes. A more complex signal characterisation can also be formed in this way. • Triangular episodes is another representation of signals that allows time representation at several degrees of resolution. • Amplitude splitting, is used to associate qualitative labels to representative zones of the operative range of a variable. • histogrames are used with the same purpose, but with low pass filtering capabilities. • Pattern matching gives a distance related to expected shapes of trajectory behaviour. These methods could be combined to obtain a more elaborated description of the process behaviour according to the process variables. Fig. 5.9 shows a more extended classification of numerical methods to be used for obtaining qualitative representation from numerical data. The main division is given between frequency based and temporal methods according to the kind of features to extract. Note that the majority of methods taken into account are based on not only in a single sample but the history of signal. For example, frequency based methods, such as FFT or Wavelet based need a representative number of samples, while filtering methods could be implemented with less samples. Signal history is also needed in window-based (histogrames, regression, pattern matching, ...) temporal methods or triangular representations.
Chapter 5: Integration of tools for supporting supervisory systems design
- 74 -
*
+
,
-
.
/
0
,
1
2
+
2
3
3
2
4
/
+
C
2
-
5
0
6
6
B
1
-
7
.
@
-
-
8
9
D
0
E
:
+
-
0
ò
j
k
l
m
n
o
k
p
I
J
K
L
J
M
N
O
P
J
Q
R
S
T
;
1
ó
ô
ý
H
7
@
õ
þ
-
:
;
F
0
=
+
G
7
-
?
/
>
=
1
:
@
1
-
2
s
t
À
Á
Â
Ã
Ä
Á
Å
Æ
A
B
2
2
6
:
~
r
1
÷
ù
U
q
/
+
Ç
Ä
Ã
x
x
z
á
Æ
â
{
ã
ä
å
æ
ç
æ
ã
ä
î
â
è
å
ç
â
å
æ
ç
é
ð
u
v
w
x
y
x
z
{
|
}
}
}
Ó
Ô
Õ
Ö
×
Ô
Ø
Ù
â Ú
è
V
W
X
Y
Z
[
\
]
]
Z
^
^
_
`
[
X
a
b
c
d
b
c
b
e
b
f
e
g
h
i
é
ë
ì
í
å
â
·
¸
¹
º
»
¼
½
¹
º
¾
¿
¸
»
º
é
î
ë
â
ñ
È
ç
î
ï
æ
ç
ê
æ
ê
ä
¿
ð
æ
ê
É
Ê
Ë
Ì
è
ç
ê
ð
Í
Î
¡
¢
£
¤
¥
£
¤
¦
¦
Ð
Í
Ï
Ñ
É
Ò
Í
Ö
Ë
Ï
Û
Ø
Ü
Ý
Ô
Þ
Ü
Ý
Û
Ú
¢
£
¤
¢
¦
Ú
ß
Ó
Ü
Þ
Þ
Ü
Õ
à
§
ª
«
¦
¬
¨
¢
®
¯
©
¤
°
¦
±
¬
²
³
´
°
µ
¶
Q ualitative inform ation and event generation
î
ï
ð
ñ
ò
ñ
ø
õ
õ
ï
ÿ
ï
ï
ü
ý
ü
ÿ
õ
ï
ü
ý
ö
ù
ü
ú
õ
ñ
5.3.2. A taxonomy/selection of abstraction tools. Since the currently applied sensors provide only numerical data, some tools must be supplied to infer qualitative appreciation of the process behaviour from these measures. Then, the necessity of tools designed to provide external components with significant information is clear. These tools are called abstractors (abstraction tools). Abstractors are useful in process supervision in three different ways: The first one is to perform the numeric to qualitative conversion in order to provide expert systems or reasoning tools with handily significative information and to reduce the information overload. The second, from the analysis point of view, to avoid meaningless information from measured signals and other variables, giving visual representation of the process dynamics through abstractors like trends, deviations, tendencies, and so on. Third, they are used to form the symbolic information, constituting the input for knowledge-based inference tools, such as ES and qualitative reasoning tools as is explained in following subsection. Moreover, it is clear that sensors provide only dated samples of a process variable. Thus, interpretation of acquired values according to process behaviour must be done by taking into account all additional information that can be supplied to obtain the necessary knowledge of interest about process behaviour.
Chapter 5: Integration of tools for supporting supervisory systems design
- 75 -
!
"
#
$
%
&
'
(
#
)
*
+
$
(
'
,
-
*
.
/
#
(
.
-
0
1
#
!
2
'
.
'
+
5.3.3. Kinds of abstractors. As pointed in [Aguilar-Martin, 1993] supervision and diagnosis tasks must include expert knowledge and reasoning about qualitative information. Therefore, several methods have been proposed to obtain qualitative representation of situations using process variables to generate qualitative information for these tools for supervision, detection and diagnostic tasks [Dorf R.C., 1993] and [Ganz, Kolb and Rickli, 1993]. Opening valve (%)
100
50
0 0
100
200
300
400
500
600
700
800
900
1000
700
800
900
1000
QUALITATVE DESCRIPTION USING LABELS OPEN HALF OPEN INTERMEDIATE HALF CLOSED CLOSED 0
100
200
300
400
500
600
Opening valve (%)
100
A. High 50
A. Low 0 0
100
200
300
400
EVENT GENERATION (
=
;
0 5
6
3
100 4
3
4
3
200
5
6
7
8
300 =
9
7
;
5
3
:
4
;
%
E
D
F
&
G
H
I
'
I
(
J
K
H
L
M
F
)
N
I
*
+
L
,
O
E
-
F
.
G
H
/
0
I
I
1
J
2
K
-
H
3
L
M
F
P
L
I
H
1
Q
4
H
5
K
6
J
K
H
L
M
F
7
P
8
L
H
F
R
P
S
Q
T
R
U
L
V
> L
H
M
K
F
W
X
a
Y
b
c
Z
[
d
\
\
]
e
^
]
[
[
_
a
` f
d
g
h
i
g
h
j
k
l
w
x
y
z
{
|
{
}
s
~
s
{
i
g
m
n
o
p
n
q
h
r
x
y
z
{
|
{
y
x
r
s
{
}
|
{
r
s
r
s
t
u
s
s
v
v
v
v
|
{
r
s
{
u
x
·
¸
¹ Â
Ã
Ä
Å
Æ
Ã
Ç
Ã
È
É
Ê
Ã
Ë
È
Ò
Í
Ó
Ã
É
Ì
Ã
Ó
Ã
Ê
¢
¡
£
¤
¥
¦
§
¤
¨
§
©
¨
ª
¥
¨
¦
¨
¨
¨ ¬
«
£
®
¯
²
¤
¥
°
¨
£
¯
³
¤
£
®
´
µ
±
«
¶
r
b
Ð
Ô
Õ
Ö
×
Ø
Ù
Ö
Ù
Ø
Ú
Û
å
Õ
ã
Û
Ø
ä
Ö
×
è
é
ê
ë
ì
í
î
Ü
·
¹
À Ì
º
»
¼
½
¾
¼
¿
»
Í
Ê
Î
Í
Í
È
Û
Ý
Û
Þ
Û
ß
Ù
Ö
Ù
Ø
à
ß
Û
Ý
Û
Þ
Û
ß
Ù
Ö
Ù
Ø
à
ß
î
ì
ë
î
é
Á Ü
Ê
Í
È
Ï
Í
È
Å
Ð
É
È
Ï
Ö
Ü
Ù
á
Ø
Ü
â
â
Û
Û
ß
Ù
Ù
Ø
ã
Û
Ü
à
â
æ
ï
Û
ç
Ö
Ú
Ø
à
Õ
Ö
Ü
ò
Ï
Í
Ñ
Ã
É
Ê
Ã
Ë
È
Þ
ä
ð
ð
ñ
ï
Ù
Ü
Ö
×
Û
Þ
á
Ø
â
â
Û
Û
ß
Ù
Þ
ä
Ö
×
Û
Þ
ù
ó
ô
õ
ö
÷
ø
ò
÷
ú
Ü ÷
{
û
ü
ó
ý
þ
ÿ
z
“Table 5-3”, extracted from [Melendez et al. 1996a] , resumes the main features of these abstractors according to the facility in configuration, the dependency with process dynamics and the information provided from numerical signals. These features are obtained from the experience and the use of these algorithms with different types of signals with the purpose of obtaining qualitative representations of them. 5.3.4. Abstraction tools and object-variables. Abstractors are the proposed tools or algorithms to interface purely numerical process variables and components based on more abstract expert knowledge, providing reasoning tools for the generation of qualitative representation of variables. This interface is different depending on the supervisory strategy to be developed and the expert knowledge base. Taking benefit of the object-oriented approach presented in the previous subsection for describing process variables as object-variables, abstraction methods are proposed to be encapsulated in the object structure as internal methods to obtain significant information for the qualitative representation of process variables. Graphical representation of object-variables as individual blocks are used to identify each process variable and the abstracted information supplied by the embedded algorithms. Then, a set of blocks representing object-variables with the same internal structure, can be associated to different abstraction methods. The only difference resides in the method or methods implemented and the information obtained and stored in them.
Chapter 5: Integration of tools for supporting supervisory systems design
- 80 -
,
@
A
B
C
D
E
F
G
H
I
J
-
.
D
/
0
1
K
2
L
3
4
M
5
0
K
6
L
!
"
7
#
N
8
L
1
$
5
O
4
%
9
&
P
:
Q
7
P
;
R
= 0.15
¡
¢
£
¤
¡
¥
¦
¢
§
¥
¨
©
³
¾
¿
À
µ
«
ª
«
¶
·
Ã
Â
Ä
Å
¬
®
¯
°
¹
º
´
»
¸
¼
½
Ç
Â
È
²
Facts error level1-level2 ¹
transient Ã
±
¯
¸
Á
Â
Æ
´
ª
²
Attributes tendency, deviation tendency, deviation secondderivative
É
transient U
º
»
V
Ê
V
Ê
Ë
Ì
i
c
k
º
b
[
i
Z
º
d
a
g
a
_
]
Z
Y
Y
º
_
]
a
[
g
[
^
Í
Î
i
c
i
]
Y
`
º
[
»
]
Ï
X
i
º
Z
_
W
`
º
Z
]
Z
X
X
g
]
a
]
Z
i
g
a
º
_
g
a
`
[
[
\
º
_
[
a
^
Z
_
º
d
Z
]
Z
^
X
[
º
[
»
a
]
a
^
Í
X
X
[
\
X
_
V
Z
a
Chapter 6: Some illustrative examples in using the CASSD framework
- 110 -
Ð
Ñ
Ò
Ó
Ô
Õ
Ö
Ò
×
Ø
Ñ
Ø
Ù
Ø
Ù
Ú
Õ
Ñ
é
Ó
Ø
Û
Ö
Ü
Ü
è
×
Ó
Ý
Ô
æ
Ó
Ó
Þ
ß
ê
Ö
ë
à
Ñ
Ó
Ö
Ý
á
æ
×
â
ç
ã
ì
ë
Ö
Ü
à
×
Ò
Ò
Ö
Ó
Ò
æ
×
ä
Ó
à
á
ì
Ö
ã
í
Ñ
Ý
Ó
å
Õ
ä
ã
×
à
æ
×
Ø
Ó
Õ
×
ç
è
Ø
Ø
Ü
à
Ñ
Using qualitative representations of process variables, it is easier to supply adequate information about process to rule-based ES to diagnose about behaviour. For example a rule deciding about transient state could be defined according to both numerical and qualitative descriptions of information related to process variables (Fig. 6.6).
FACT Builder
K
M E A S U R E S
B
K
ES_DIP1
B
Access D FACT I
ES_DIP2
Deduced FACTs
Deduced FACTs
ES II
ES I U
º
»
V
î
V
ï
ð
X
g
i
Y
]
º
Y
_
Y
a
W
a
Y
^
V
ó
i
Z
i
\
c
]
c
^
`
`
a
Y
Z
h
[
a
d
Z
X
\
ñ
ò
º
[
k
i
a
[
`
º
Z
i
c
X
Z
g
d
º
a
[
g
_
b
d
X
Z
X
a
X
_
º
Z
\
d
\
]
a
X
Z
º
_
d
`
Z
g
FACTs
FACTs NEW FACT
NEW FACT
A G N O S T I C S
X
[
^
X
_
V
Z
Fig. 6.7 show the how the ES deals with input data supplied as facts. The first ES block decides about system regime (transient, permanent) and deduces simple situations of abnormal operation mode assigning a certainty value to these new facts. The second level yields final deductions about process behaviour when a fault is provoked. This second level uses both, deductions of previous level (ES block) and input facts supplied to first block. The division in two levels is performed after observing the KB obtained from observations and structuring it as two sets of rules. Final implementation of the complete system in the proposed CASSD framework, is depicted in Fig. 6.8. The information elaborated by the abstraction tools is supplied to the ES for fault detection. Facts are the kind of data structure that the ES can manage, then a dedicated block, , performs this task (See Fig. 6.8). In this case, input facts are obtained from : set point, difference of levels (qualitative tendency, qualitative deviation and filtered signal), error (qualitative tendency, qualitative deviation and filtered signal),and time. The ES is structured in two KB for reasoning about process behaviour using abstracted information. NIQO error and NIQO N1-N2 represent the abstraction tools applied to signals error and difference of levels to supply qualitative information about its qualitative tendency and degree of deviation respect this tendency. Numerical input is filtered and also supplied to the ES. This information is encapsulated as facts to be used by the ES. This is the task of blocks connected as input to the multiplexer (Mux) in Fig. 6.8.
Chapter 6: Some illustrative examples in using the CASSD framework
- 111 -
ô
õ
ö
÷
ø
ù
ú
ö
û
ü
õ
ü
ý
ý
ü
þ
ù
õ
PROCESS
ü
÷
ÿ
÷
ú
û
ø
÷
÷
ú
õ
÷
ú
û
ú
û
ö
ABSTRACTION
6 S.P:
PID PID discret,
ö
ú
÷
ö
û
÷
ú
õ
÷
ù
û
û
FACTS builders
û
ü
ü
s canvi_com
f T_err
Oerr
ù
õ
ES Rule based knowledge
f set_point
Terr
÷
ü
f ac_fact
f + -
NIQO error
O_err f error
Mux Err
N1 (h) + N2 -(h) NIQO 2Tanks +Pump: N1-N2 Alecop CPI-100
canvi
K
f
DF3
DF2
f
Clock
MuxDF12
time
DF13
$
º
»
º
»
#
º
%
#
&
'
%
'
&
º
(
º
)
*
!
!
!
+
&
"
#
,
B
ES_DIP2
f DF1_ f DF1_1 f DF1_10 f DF1_11 f DF1_12
DF1
f dnivells
On-n Mux n-n
K
ES_DIP1
T_dif f O_dif
Tn-n
B
$
&
-
Abstraction tool used in this example has been implemented by means of Simulink blocks. Thus, qualitative information provided by NIQO block is obtained smoothing input data for rejecting oscillations. Then, a qualitative tendency is obtained from derivative of this smoothed signal splitting the amplitude space in five zones (five categories or labels of tendency are obtained). At same time smoothed signal is subtracted from original signal for obtaining a qualitative index related with the deviation respect to tendency (in this case only three possible qualitative deviations are used). A complete description of this abstractor can be consulted in [Colomer et al. 1996] and Fig. 6.9 for a graphical representation ins Simulink blocks. Thus, each NIQO block supplies three output (smoothed signal, qualitative tendency and qualitative deviation respect this tendency). Qualitative Deviation
-NIQO+ Sum3
Zero-Order Hold
NIQO 1 in_1
Filter
º
IIR
Abs
Butter IIR
Mux
Analog Butterworth SFINFLEXION Logical SFPERIODE Operator LP Filter
Abs
»
.
*
"
#
&
%
!
º
º
'
º
-
º
"
%
Mux SFADAPFILT
1/z U.D.
-
#
$
"
/
Q
+ Sum2
2 out_2
SFQUALY1 Qualitative Tendency
Q 3 out_1 SFQUALY Filtered Signal 1
#
Chapter 6: Some illustrative examples in using the CASSD framework
- 112 -
0
1
2
3
4
5
6
2
7
8
1
8
9
9
8
:
5
1
I
8
3
;
6
P re s c #
P re s s u re (b a rs ) 1 .6
P re s c 2
P re s a 2
1 .4 1 .2
P re s c 1
P re s a 1
1 0 .8 V a lv e V B P r p C L O S E D
0 .6
V a lv e V B P r p C L O S E D
V a lv e V B P r p O P E N ( f a u lt )
0 .4
V a lv e V B P r p O P E N ( f a u lt )
0 .2 0
0
5 0
T e m p V a l v e 1 0 0
.
1 0 0
/
¢
1 5 0
( º C ) o p e n n e s s ( %
0
¢
2 0 0
¢
¢
2 5 0
1
2
3 0 0
1
3 5 0 4 0 0 T im e (s e c .)
1
3
2
1
3
) V a l v 3 V a u t o r e g u l a t e d
8 0 6 0 T
e m
T
4 0 V
2 0
V
p 1
e m
p 7
a l v e V B P r p C L O S E D
a l v e V B P r p O P E N ( f a u l t )
0 0
1 0 0 T
4
5
6
7
im
2 0 0 ( s e c o n d )
e
4
£
¢
7
7
3 0 0
4 0 0
0
¢
8
2
8
In this case the difference of temperatures T1 and T7 related to the position of the valve (openness degree) is used to differentiate valve VBPrp from valves VOg1b2 and VIg1b2 during the uncertainty time. The evolution of output facts certainty in the successive approaches of rules can be observed in the graphs of Fig. 6.31. When additional relations are taken into account, faults can be isolated. FACTs certainty evolution. 9
?
@
:
A
;
B
E
B
H
N
O
[
Q
]
^
]
^
]
^
\
P
[
h
[
\
i
r
s
k
l
u
v
L
i
n
o
f
e
g
e
d
z
Z
f
d
c
H
Y
e
c
b
I
X
d
b
a
M
W
y
E
x
;
F
c
w
:
A
V
a
m
C
R
: