Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ttulo
ANO
2014
DANIEL GUMIERO NORONHA MAAS | DIAGNSTICO DE FALHAS MULTICAMADAS
Nome do Autor
DE SISTEMAS EMBARCADOS MODELADOS POR SEDS
DISSERTAO DE MESTRADO
DIAGNSTICO DE FALHAS
MULTICAMADAS DE SISTEMAS
EMBARCADOS MODELADOS POR
SEDS
JOINVILLE, 2014
JOINVILLE
2014
Orientador:
Prof. Dr. Andr Bittencourt Leal
JOINVILLE
2014
FICHA CATALOGRFICA
M111d
Este trabalho dedicado aos meus filhos Joo Victor, Pedro Henrique e
Maria Victria, e especialmente minha esposa rika, pelo apoio,
compreenso e imensa pacincia.
AGRADECIMENTOS
Jamais considere seus estudos como uma obrigao, mas como uma
oportunidade invejvel para aprender a conhecer a influncia libertadora
da beleza do reino do esprito, para seu prprio prazer pessoal e para
proveito da comunidade qual seu futuro trabalho pertencer.
(Albert Einstein)
RESUMO
Este trabalho apresenta uma arquitetura de diagnstico multicamadas para deteco de falhas em sistemas embarcados, que
permite uma melhor discriminao do tipo e origem da falha, possibilitando um diagnstico mais preciso e assertivo. Esta arquitetura
contempla as interfaces necessrias para permitir a integrao no
sistema embarcado e tambm considera o tratamento das informaes de diagnstico para fins de aes de recuperao do sistema,
ou simplesmente a externalizao destas informaes. Neste trabalho, consideram-se os diagnosticadores projetados conforme a metodologia de diagnstico de falhas em SEDs modelados por autmatos. Uma vez concebidos, os diagnosticadores so implementados
em linguagem ANSI C, atravs de uma ferramenta de gerao automtica de software, e finalmente incorporados ao software principal
do equipamento onde se pretende realizar o diagnstico. Esta arquitetura de diagnstico foi ento aplicada em um estudo de caso
para um refrigerador Frost Free, para o qual foram projetados os diagnosticadores, em seguida os mesmos foram implementados em
software e posteriormente validados a fim de comprovar a eficcia
no somente dos diagnosticadores mas tambm da arquitetura proposta, alm do processo de converso dos mesmos em linguagem
de software.
Palavras-chaves: diagnstico de falhas, sistemas embarcados, sistemas a eventos discretos.
ABSTRACT
This work presents a multilayer architecture for fault diagnosis in embedded systems that allows a better discrimination of the
type and source of the failure, providing an accurate and assertive diagnosis. This architecture contemplates the necessary interfaces to
allow integration of this diagnostic framework in the embedded system and also considers the treatment of diagnostic information for recovery system actions purposes, or simply allows the externalization
of such information. This work considers the diagnosers designed
according to the methodology of fault diagnosis in DES modeled by
automata. Once designed the diagnosers are implemented in ANSI
C language through an automated software generation tool, and finally incorporated into the main product software where it intends to
perform the diagnosis. This architecture diagnosis was then applied
in a case study for Frost Free refrigerator, for which the diagnosers
were designed then were implemented in software and subsequently
validated in order to confirm the effectiveness of the diagnosers, of
the proposed architecture beyond the C language conversion process.
Key-words: fault diagnosis, embedded systems, discrete event systems.
LISTA DE FIGURAS
Obs(G k Al ) . . . . . . . . . . . . . . . . . . . . . . . 62
Figura 2.9 (a) Autmato G para o exemplo 7; (b) G k Al ; (c) Diagnosticador Centralizado de G . . . . . . . . . . . . 67
Figura 2.10 Arquitetura Descentralizada com Coordenao . . . . 69
Figura 3.1 (a) Diagrama de blocos para um dispositivo com sistema de controle embarcado; (b) Diviso de camadas
para um dispositivo com sistema embarcado . . . . . 78
Figura 3.2 Sistema de Diagnstico Multicamadas . . . . . . . . . 80
Figura 3.3 Arquitetura Multicamadas para Diagnstico . . . . . . 82
Figura 4.1 Refrigerador Forst Free . . . . . . . . . . . . . . . . . 88
Figura 4.2 Componentes Bsicos de um Refrigerador . . . . . . 90
Figura 4.3 (a) Detalhe do Evaporador Montado com uma Resistncia de Degelo; (b) Condio do Evaporador com
Formao de Gelo
. . . . . . . . . . . . . . . . . . . 91
. . . . . . . 95
. . . . . . . . . . . . . . . . . . . . . . . . . 97
. . . . . . . . . . . . . . 106
AlRelayClosed || AlRelayOpen
. . . . . . . . . . . . . . . . 121
. . . . . 122
. . . . . 123
GDoor . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Figura 4.31 Modelo Final para o Compressor, GC
. . . . . . . . . 127
. . . . . . . . . . . . . . . . . 131
GdHeaterSimple
. . . . . . . . . . . . . . . . . . . . . . 139
144
LISTA DE TABELAS
. . . 118
130
ANSI
API
DAM
GF
Gerenciador de Falhas
IDE
IDES
LCD
LED
Light-Emitting Diode
MIT
NTC
RC
Refrigerator Compartment
SED
SRF
STVD
ST Visual Develop
LISTA DE SMBOLOS
Conjunto de eventos
uo
f = { f }
Fecho de Kleene
kt k
L/s
( f )
f s
s ( f ) 6= 0/
2A
Conjunto potncia de A
Po
Projeo de elementos de em o
Po1
G1 k G2
Composio paralela de G1 e G2
Obs(G,o )
Observador de G em relao a o
Gd
Al
SUMRIO
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2
Linguagens . . . . . . . . . . . . . . . . . . . . . . 36
2.2.2
2.2.3
2.3
Autmatos No-Determinsticos . . . . . . . . . . . . . . . 47
2.4
2.5
Observador . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.6
Diagnosticabilidade . . . . . . . . . . . . . . . . . . . . . . 54
2.7
Diagnosticador . . . . . . . . . . . . . . . . . . . . . . . . 58
2.8
Diagnose Centralizada . . . . . . . . . . . . . . . . . . . . 60
2.9
Sistemas Embarcados . . . . . . . . . . . . . . . . . . . . 72
3.2
3.3
Diagnstico Multicamadas . . . . . . . . . . . . . . . . . . 77
3.4
3.5
4
Concluses do Captulo . . . . . . . . . . . . . . . . . . . 84
4.1.2
. . . . . . . . . . . . . . . . 90
4.2
4.1.3
Controle Termosttico . . . . . . . . . . . . . . . . 92
4.1.4
Rotina de Degelo . . . . . . . . . . . . . . . . . . . 92
4.3
. . . . . . . . . . . . . 95
4.3.3
4.4
4.5
4.4.1
4.6
5
4.5.1
4.5.2
5.1
5.2
5.3
5.4
6.2
. . . . . . . . . . . . . . . . 157
6.1.2
. . . . . . 161
6.2.1
6.2.2
ware . . . . . . . . . . . . . . . . . . . . . . . . . . 161
ware . . . . . . . . . . . . . . . . . . . . . . . . . . 166
6.2.3
6.3
7
29
1 INTRODUO
O constante aumento da complexidade dos sistemas tecnolgicos e a crescente exigncia por desempenho e confiabilidade, tem demandado o desenvolvimento de mtodos cada vez mais sofisticados e
sistemticos para um diagnstico rpido e preciso das falhas que podem
ocorrer no sistema (SAMPATH et al., 1996; CARVALHO, 2011). Perante
esta realidade, o problema de diagnstico de falhas, tem recebido ateno
considervel em diversas reas dentre as quais podemos citar a engenharia de confiabilidade, controle e cincia da computao, e uma variedade de propostas tem surgido, dentre as quais destacam-se os mtodos
utilizando rvores de falhas e as metodologias que usam bases de conhecimento extradas dos operadores do processo e dos dados obtidos
do processo real (ISERMAN, 1997). Nessas metodologias, a deteco de
falhas podem ser feitas por gerao de sintomas analticos, heursticos e
diagnstico de falhas. Na gerao de sintomas analticos, os dados coletados do processo so usados para produzir informao quantificvel e
analisvel. Os sintomas heursticos, que normalmente so representados
por variveis lingustica tais como: pequeno, mdio, grande, quente, frio,
etc., podem ser obtidos dos operadores da planta ou processo, por intermdio de observaes humanas, inspees, valores caractersticos heursticos tais como tipos de rudos, cores, vibraes, etc. J o diagnstico
de falhas consiste em determinar o tipo, tamanho e lugar da falha baseado nos sintomas analticos e heursticos observados (RIVIERA, 2007).
Diferentemente destas metodologias baseadas em bases de conhecimento, mtodos de deteco de falhas baseados em modelos matemticos tambm tm sido desenvolvidos nas ltimas trs dcadas, dentre os quais podemos citar os propostos por Himmelblau (1978), Iserman
(1997), Sampath et al. (1995). Nos trabalhos de Iserman (1997) e Himmelblau (1978) so descritos os principais mtodos de deteco e diagnstico de falhas baseados em modelos, dos quais se destacam:
30
Captulo 1. Introduo
31
de diagnosticabilidade de linguagens geradas por SEDs e um procedimento para a construo de diagnosticadores de falhas e, por fim, do as
condies necessrias e suficientes para diagnosticabilidade (RIVIERA,
2007). O diagnstico de falhas estima a ocorrncia da falha a partir de
sequncias de eventos parcialmente observadas, atravs de observadores modificados denominados diagnosticadores. Ainda nos trabalhos de
Sampath et al. (1995; 1996), para diagnstico de falhas em SEDs o diagnosticador proposto com duas finalidades (MOREIRA et al., 2010):
i) deteco online e isolao de falhas de um sistema e;
ii) verificao offline das propriedades de diagnosticabilidade de um sistema.
Outros trabalhos usando sistemas modelados por autmatos foram feitos por Lunze e Schrder (2004), onde visualizaram o problema
de diagnstico como um problema de observao, por intermdio de uma
abordagem hbrida usando autmatos estocsticos (RIVIERA, 2007). Um
autmato estocstico um autmato ao qual adicionada uma estrutura probabilstica para estimar a probabilidade de ocorrncia de eventos
especficos (BASILIO, CARVALHO e MOREIRA, 2010).
De acordo com Baslio et al. (2010), as metodologias desenvolvidas para o diagnstico de falhas em SEDs podem ser aplicadas no
apenas para sistemas onde o modelo de eventos discretos o mais adequado (como redes de comunicao, sistemas computacionais e sistemas de produo), mas tambm em muitos sistemas dinmicos de variveis contnuas, uma vez que esses sistemas, considerando um nvel
maior de abstrao, tambm podem ser modelados como SEDs, o que
torna essa abordagem ainda mais ampla e relevante.
Uma vez que a ocorrncia da falha no pode ser registada pelos
sensores deve-se consider-la como um evento no observvel no modelo do sistema. O diagnosticador um autmato, onde cada estado
constitudo por um conjunto de estados do sistema que representam uma
32
Captulo 1. Introduo
33
isolao da falha mais eficaz, quando necessrio. Para tanto, so consideradas as seguintes camadas:
i) camada de Software: Relacionada s rotinas de software (controle e
sistema)
ii) camada de Hardware: Relacionada aos circuitos e componentes da
placa eletrnica
iii) camada de Cargas: Relacionada s cargas e/ou atuadores externos
A segunda contribuio deste trabalho uma proposta de implementao em software desses diagnosticadores, utilizando a linguagem
C ANSI (KERNIGHAN e RITCHIE, 1988) e tambm o desenvolvimento
de uma ferramenta para a gerao automtica deste software.
Uma terceira contribuio deste trabalho um estudo de caso
para um refrigerador Frost Free, onde diagnosticadores para as trs camadas (software, hardware e cargas) foram modelados, implementados
em software e embarcados no microcontrolador da placa de controle do
refrigerador.
Este trabalho est estruturado da seguinte maneira. O captulo
2 apresenta uma reviso terica dos conceitos relevantes para o estudo
de diagnstico de falhas em SEDs, define os conceitos de diagnosticabilidade, apresenta as condies necessrias e suficientes para o diagnstico, apresenta a metodologia para construo de diagnosticadores tanto
para o caso de diagnose centralizada como descentralizada (com coordenao). O Captulo 3 apresenta a proposta de arquitetura de diagnstico
para sistemas embarcados onde os diagnosticadores projetados segundo
a teoria apresentada no captulo anterior podem ser empregados. O captulo 4 mostra os detalhes do projeto dos diagnosticadores propostos
para um caso real em um refrigerador Frost Free. J o captulo 5 mostra
os detalhes da implementao em software dos diagnosticadores obtidos
no captulo anterior a apresenta a ferramenta criada para a gerao automtica deste software. Por fim, o captulo 6 mostra como foi testado e
34
Captulo 1. Introduo
validado os diagnosticadores aps serem embarcados no microcontrolador junto ao software principal de controle do refrigerador. Concluses,
discusses e propostas para trabalhos futuros so apresentados no captulo 7.
35
2.1
36
2.2
2.2.1
bc, ca, cb, cc, aaa, . . .}. Formalmente, define-se o Fecho de Kleene como
(CASSANDRAS e LAFORTUNE, 2008, p. 56):
37
L := {} L LL LLL . . .
(2.1)
L1 L2 definida como:
L1 L2 := {s : (s = s1 s2 )[s1 L1 e s2 L2 ]}
(2.2)
Outras duas operaes definidas sobre linguagens so as operaes de prefixo fechamento e ps linguagem, cujas definies so apresentadas a seguir (CASSANDRAS e LAFORTUNE, 2008, p. 56):
Definio 4. (Prefixo Fechamento) Seja L , ento o prefixo fechamento de L, denotado por L definido como:
L := {s : (t )[st L]}
(2.3)
L/s := {t : st L)}
(2.4)
38
Po : o
(2.5)
Po ()
:= (,
Po ( )
:=
se o ,
se \o ,
(2.6)
Po (s ) := Po (s)Po ( ), para s , e
onde \ denota a diferena entre conjuntos. Assim a operao \o =
(2.7)
39
Po1 : o 2
(2.8)
(2.9)
40
Dada a importncia das projees naturais no estudo de diagnose de falhas de SEDs, seguem algumas propriedades relevantes que
auxiliaro o entendimento deste trabalho.
Propriedades de Projees Naturais (CASSANDRAS e LAFORTUNE,
2008, p. 58):
1. P[P1 (L)] = L
L P1 [P(L)]
2. Se A B ento P(A) P(B) e P1 (A) P1 (B)
3. P(A B) = P(A) P(B)
P1 (A B) = P1 (A) P1 (B)
5. P(AB) = P(A)P(B)
2.2.2
autmatos de estados finitos, tambm chamados de mquinas de estados de estados finitos. Por simplicidade, ao longo do trabalho utiliza-se
apenas o termo autmato para se referir a autmato de estados finitos.
Um autmato um dispositivo capaz de representar uma linguagem atravs de regras bem definidas. Segundo Cassandras e Lafortune
(2008) um autmato determinstico formalmente definido como segue:
Definio 8. (Autmato Determinstico) Um autmato determinstico, denotado por G, definido pela seguinte sxtupla:
G = (X, , f , , x0 , Xm ),
(2.10)
41
no qual:
f (x,) := x
f (x,s ) :=
f [ f (x,s), ] para s e
(2.11)
O autmato tal como descrito na Definio 8 pode ser representado graficamente por meio de um diagrama de transio de estados,
onde os estados so representados por ns circulares, as transies por
arcos rotulados pelos eventos. O estado inicial identificado por uma seta
42
e os estados marcados so representados por crculos duplos concntricos. A Figura 2.1 mostra um exemplo de um autmato onde possvel
verificar os conceitos acima descritos.
Figura 2.1: Exemplo de um Diagrama de Transio de Estados para um
Autmato
Fonte: Autor
X = {1, 2, 3};
= {a, b, c};
Xm = {2};
x0 = 1;
43
A relao entre linguagens e autmatos pode facilmente ser identificada analisando-se o diagrama de transio de estados de um autmato. O conjunto de todas as sequncias de eventos possveis de serem
executadas a partir do estado inicial forma a linguagem gerada por um
autmato. J o conjunto de sequncias pertencentes linguagem gerada
que levam o sistema a um estado marcado constitui a linguagem marcada
por um autmato. Normalmente, a linguagem marcada est relacionada
com a linguagem de interesse de um autmato, podendo representar, por
exemplo, o fim de uma tarefa, ou a disponibilidade de um recurso do sistema. As definies formais so apresentadas a seguir (CASSANDRAS
e LAFORTUNE, 2008):
Definio 9. (Linguagens gerada e marcada) A linguagem gerada por
(2.12)
(2.13)
2.2.3
possa modificar, combinar ou compor dois ou mais autmatos, para assim se obter uma melhor representao de um sistema completo a partir
de modelos de componentes individuais do sistema. Algumas destas principais operaes que so relevantes para o estudo de diagnose de falhas
44
Fonte: Autor
(2.14)
sendo,
Xac
Xac,m
fac
= {x X : (s )[ f (x0 , s) = x]};
= Xm Xac ;
:
(2.15)
Xac Xac ;
onde fac denota a nova funo de transio obtida restringindo-se o domnio de f para o domnio dos estados acessveis Xac .
Definio 11. (Parte Coacessvel) Parte coacessvel de um autmato G
uma operao unria e obtida eliminando-se todos os estados de
45
(2.16)
sendo,
Xcoac
x0,coac
fcoac
= {x
( X : (s )[ f (x, s) Xm ]}
x0 ,
se x0 Xcoac ,
=
indefinido, se x0
/ Xcoac
Xcoac Xcoac
(2.17)
sendo,
(
f12 ((x1 , x2 ), ) =
G1 e G2 .
Conforme visto acima a composio por produto restritiva, pois
s permite transies em eventos comuns. Contudo, essa operao no
46
muito adequada quando se modela sistemas compostos por componentes que interagem entre si, onde o conjunto de eventos de cada componente inclui eventos particulares (que pertencem ao seu prprio comportamento interno) e eventos comuns que so compartilhados com outros
autmatos e captam a conexo entre os respectivos componentes do sistema. A forma adequada para construo de modelos de sistemas inteiros a partir de modelos de componentes individuais do sistema por meio
da composio paralela (CASSANDRAS e LAFORTUNE, 2008), cuja definio mostrada a seguir.
Definio 13. (Composio Paralela) Sejam os autmatos:
(2.18)
de modo que:
ou seja:
f1k2 ((x1 , x2 ), ) =
1 (x1 ) 2 (x2 );
( f1 (x1 , ), x2 ), se 1 e
/ 2 e 1 (x1 );
1 2 , apenas pode ser executado se os dois autmatos execut-lo simultaneamente. Assim, os dois autmatos esto sincronizados nos eventos comuns. J os eventos particulares, isto , aqueles onde (2 \1 )
47
2.3
Autmatos No-Determinsticos
No autmato determinstico definido na seo 2.2.2, o estado ini-
48
em que os parmetros possuem a mesma interpretao dada na definio do autmato determinstico, com apenas duas ressalvas:
49
(b)
Fonte: Autor
(2.19)
50
2.4
terminstico as transies definidas por representam eventos que ocorrem no sistema modelado mas que no podem ser registrados ou observados. Essa falta de observabilidade pode ocorrer, por exemplo, devido
falta de sensores capazes de registrar tais eventos ou por estes eventos
ocorrerem em uma parte remota que no se comunica com o sistema
modelado.
Se considerarmos o conjunto de eventos composto por dois
subconjuntos disjuntos, o referente ao conjunto de eventos observveis e uo , referente ao conjunto de eventos no observveis, isto =
uo 6= 0/ , isto , o conjunto agora possui eventos no observveis, teremos uma indeterminao quanto ao estado atual do autmato, devido
no observao dos eventos pertencentes ao subconjunto uo . Na Figura
2.4 mostrado um autmato que ilustra essa possibilidade. Considerando
que o evento a no pode ser observado, ento, aps a ocorrncia (observao) do evento b no ser possvel determinar com exatido o estado
atual do sistema (autmato), uma vez que haver trs estados possveis,
os estados 2, 4 e 5.
Neste contexto, eventos de falha que no causam mudanas
nos sensores podem ser tambm considerados como eventos no observveis. Ento, se ao invs de simplesmente rotularmos esses eventos
51
Fonte: Autor
no observveis como sequncias vazias e obter um autmato nodeterminstico, rotularmos essas transies como eventos genunos, porm classificar esses eventos como no observveis, obteremos assim
um autmato determinstico, onde o conjunto de eventos composto
pelos subconjuntos o e uo . Nestas condies, o SED pode ser denominado como "parcialmente observado"(CASSANDRAS e LAFORTUNE,
2008, p.102).
Um autmato determinstico com eventos no observveis que
representa um SED parcialmente observado, definido como:
(2.20)
uo , sendo
a partio de um conjunto, i.e. o uo =
onde, = o
0/ e o uo = .
52
2.5
Observador
O autmato determinstico que descreve o comportamento din-
mico de um autmato determinstico com eventos no observveis, mencionado anteriormente, chamado observador. O conjunto de eventos do
observador formado apenas pelos eventos observveis e seu estado
atual representa uma estimativa do estado atual do autmato parcialmente observado, atualizado aps a ocorrncia de um evento observvel.
O observador de G, denotado como Obs(G) definido da seguinte forma:
(2.21)
Um algoritmo para a construo de observadores para autmatos parcialmente observados, proposto por Basilio et al. (2010, p. 517)
apresentado a seguir. Contudo, esse algoritmo requer a noo de alcance no observvel, denotado por UR(x), cuja definio apresentada
a seguir (CASSANDRAS e LAFORTUNE, 2008, p.102):
Seja G = (X, o uo , f , x0 , Xm ) um autmato parcialmente observado. Para cada estado x X define-se:
X , da seguinte maneira:
UR(B) =
UR(x)
xB
2.5. Observador
53
obs (B) = (
xB (x)) o ,
54
2.6
Diagnosticabilidade
O conceito de diagnosticabilidade refere-se capacidade de de-
tectar qualquer falha em um sistema com um atraso finito, com base apenas na ocorrncia de eventos observveis registradas pelos sensores.
Em relao a SEDs modelados por autmatos, de acordo com Basilio et
al. (2010, p. 519), diz-se que uma linguagem gerada por um autmato
diagnosticvel em relao a um conjunto de eventos observveis o e a
um conjunto de eventos de falha f , para f uo se a ocorrncia da
falha puder ser detectada aps um nmero finito de transies depois da
sua ocorrncia, com base apenas em sequncias de eventos observveis. Em geral particiona-se o conjunto f em diferentes subconjuntos,
isto , fi , i = 1, 2, . . . , m, onde cada conjunto fi composto por eventos que modelam as falhas. Supondo que f = { f1 , f2 , . . . , fm } denote
essa partio, ento a ocorrncia de uma falha fi significa ento a ocorrncia de algum evento do conjunto fi .
2.6. Diagnosticabilidade
55
(b)
Fonte: Autor
56
Na hiptese A1 considera-se que o sistema est sempre em operao. A hiptese A2 necessria para evitar que, aps a ocorrncia do
evento de falha, o mesmo possa se tornar indetectvel se o sistema ficar
preso em um ciclo de estados formados apenas por eventos no observveis. No entanto, no trabalho apresentado por Baslio e Lafortune (2009),
esta hiptese foi removida e tais ciclos referido como ciclos escondidos
(BASILIO et al., 2010). J a hiptese A3 feita em alguns trabalhos apenas por simplicidade, uma vez que, para cada conjunto de eventos de
falha do mesmo tipo um rtulo diferente deve ser usado, porm os fundamentos de diagnosticabilidade permanecem os mesmos utilizados para
apenas um tipo de falha (BASILIO et al., 2010).
No trabalho de Sampath et al.(1995) as seguintes definies so
apresentadas:
2.6. Diagnosticabilidade
57
Finalmente aps essas definies, pode-se formalmente apresentar a definio de diagnosticabilidade de uma linguagem, conforme
descrito por Sampath et al. (1995):
em que:
58
2.7
Diagnosticador
Em alguns casos, a ocorrncia da falha pode ser detectada (ob-
servada) por sensores, por se tratarem de eventos observveis. No entanto, na maior parte dos casos, os sensores so incapazes de detectar
um evento de falha, sendo ento necessrio model-la como um evento
no observvel em um autmato parcialmente observado, por exemplo.
Atravs da teoria de diagnose de falhas em SEDs, podemos verificar se
a ocorrncia de uma falha (evento no-observvel) em um SED pode ser
detectada ou no a partir da construo de um dispositivo denominado
diagnosticador (SAMPATH et al., 1995). O diagnosticador um tipo de
observador, porm neste so adicionados indicadores nos estados de G,
que formam os estados Gobs , formando assim os estados de Gd . Tais indicadores so destinados a fornecer informaes sobre a possibilidade
da ocorrncia ou no da falha. Dois tipos de indicadores (ou marcas) so
utilizados: N, indicando que o "evento f ainda no ocorreu"e Y para indicar que o "evento f j ocorreu". Assim, a notao dos estados x X
ser do tipo xN ou xY (SAMPATH et al., 1995).
No trabalho de Sampath et al. (1995), proposta uma metodologia para a construo deste diagnosticador. No entanto, no trabalho apresentado por Cassandras e Lafortune (2008, p. 112) proposta uma nova
metodologia, que utiliza um autmato rotulador. Esta metodologia ser
detalhada a seguir na Seo 2.8.
Dependendo das caractersticas do sistema e da forma como ele
modelado, as informaes sobre a evoluo do sistema podem estar
disponveis num nico sistema de aquisio ou podem estar distribudas
entre vrios sistemas (CARVALHO, 2011). Para cobrir estas duas possibilidades de configurao, foram propostas duas estruturas de diagnstico
de falhas em SEDs:
2.7. Diagnosticador
59
60
2.8
Diagnose Centralizada
O diagnosticador Gd , um autmato cuja definio apresen-
Y e N respectivamente.
Gd = (Xd , o , fd , d , x0d )
onde:
(2.22)
61
Gd = Obs(G k Al )
(2.23)
62
Al )
(a)
(b)
(c)
Fonte: Autor
63
64
( f ). Uma vez neste estado, apenas o evento c ser considerado pelo diagnosticador e mesmo aps a sua ocorrncia o diagnosticador ainda vai
permanecer em um estado de falha, mas agora representado pelo estado
{6Y}. Contudo, a partir do estado inicial, se o sistema informar a ocorrncia do evento b, o diagnosticador mudar para o estado {3N, 4Y} e ainda
estar incerto sobre a ocorrncia da falha. Porm, se o prximo evento
que ocorrer for o evento c, ento o diagnosticador passar para o estado
{6Y} tornando-se agora certo da falha, caso contrrio, se o evento a ocorrer, o diagnosticador mudar para o estado {5N} indicando que est certo
da no ocorrncia da falha, em outras palavras, o sistema est operando
em condies normais.
A partir das definies 15 e 16, o seguinte lema uma consequncia direta entre os estados do diagnosticador e as sequncias da
linguagem gerada por G:
Lema 1. (SAMPATH et al., 1995) :
1
i) Seja xd = fd (x0d , s). Se xd um estado certo, ento [ PoL
(s)], f
65
ocorrer se, e somente se existir uma sequncia em L que faz com que
o diagnosticador fique preso em um ciclo indeterminado formado apenas
por estados incertos (BASILIO et al., 2010).
As definies 17 e 18 definem formalmente estes ciclos e as condies necessrias para um conjunto de estados incertos formarem um
ciclo indeterminado.
Definio 17. Seja L(G,x) = {s : f (x,s) X}, ou seja, o conjunto
de todas as sequncias que levam o autmato G do estado x X para
um outo estado. Ento um conjunto de estados {x1 , x2 , . . . , xn } X forma
um ciclo em um autmato G se s tal que s = 1 2 . . . n L(G, x1 ) onde
66
Teorema 1. Uma linguagem L gerada por um autmato G ser diagnosticvel em relao a sua projeo Po e f = { f } se, e somente se, seu
diagnosticador Gd no possuir ciclos indeterminados.
Para o autmato do Exemplo 6, note que o diagnosticador Gd ,
mostrado na Figura 2.8c no possui ciclos indeterminados nem estados
ambguos, ento pode-se concluir que L diagnosticvel em relao a
Po e f = { f }.
2.9
67
(b)
(c)
Fonte: Autor
buda, uma vez que o diagnosticador no ter acesso a todos os conjuntos de eventos necessrios para diagnose (BASILIO e LAFORTUNE,
2009).
Considerando este cenrio, foi proposto por Debouk et al., (2000)
uma estrutura descentralizada com coordenao, chamada codiagnose.
Esta abordagem utiliza mdulos locais onde cada mdulo capaz de observar parte dos eventos observveis do sistema. Esses mdulos locais
se comunicam com um coordenador, o qual responsvel pelo diagnstico de falhas. Mais tarde, no trabalho proposto por Contant et al., (2006)
o conceito de diagnosticabilidade modular foi introduzido pela primeira
vez para um sistema que pode ser modelado pela composio paralela
de autmatos, onde cada autmato representa um componente local (ou
subsistema) do sistema global. Assim, se cada subsistema diagnosticvel, ento o diagnstico de falhas para o sistema global ser obtido
68
69
Mi .
70
2.10
Concluses do Captulo
Neste captulo foram apresentados os conceitos bsicos e prin-
cipais resultados acerca do estudo da diagnose de falhas em SEDs. Foram apresentadas as condies necessrias e suficientes para diagnose,
tanto para o caso centralizado como para o caso descentralizado com
coordenao (codiagnose). Tambm foi mostrada uma metodologia para
construo de diagnosticador atravs de um autmato rotulador. Nos captulos seguintes estes conceitos sero aplicados para a diagnose de falhas em sistemas embarcados, e uma metodologia de diagnstico multicamadas proposta e, posteriormente, aplicada a um estudo de caso.
71
3 PROPOSTA
DE
ARQUITETURA
MULTICAMADAS
Sistemas Embarcados
3.1
Sistemas Embarcados
Um sistema embarcado um sistema microprocessado no qual o
73
De Propsito geral: so as aplicaes mais parecidas com os desktops, porm esto montados em "embalagens"especficas. Caracterizamse pela grande interao entre o usurio e o sistema, geralmente atravs
de terminais de vdeo ou monitores. Como exemplo tm-se os videogames, os conversores de TV a cabo e caixas de bancos;
Sistemas Embarcados
Sistemas de controle: realizam controles em malha fechada com realimentao em tempo real. Geralmente so as aplicaes mais robustas,
com placas dedicadas e mltiplos sensores de entrada e sada. Muitas
vezes fornecem pouca interao com o usurio, mostrando sinalizaes
atravs de LEDs ou displays. Usados para o controle de motores de automveis, processos qumicos, controle de voo, usinas nucleares, etc.;
Processamento de sinais: onde envolve um grande volume de informao a ser processada em curto espao de tempo. Os sinais a serem
tratados so digitalizados por meio de conversores Analgicos-Digitais,
processados, e novamente convertidos em sinais analgicos. Caso de
tratamento de udio, filtros, modems, compresso de vdeo, radares, sonares, etc.;
Dois modos de funcionamento dos sistemas embarcados so determinantes para saber como projetar o dispositivo e como ser seu funcionamento e comportamento na aplicao para o qual foi desenhado:
75
ii) Hard Real Time: As tarefas devem ser executadas em um tempo especfico, com consequncias graves se qualquer tarefa falhar. Como
exemplo pode-se pensar nos sistemas de controle de um avio, onde
uma falha pode resultar em queda da aeronave e perdas de vidas.
3.2
Hardware: placa eletrnica que contm um ou mais microcontroladores, tambm circuitos de condicionamento de sinais alm dos circuitos de
potncia e de acionamento de cargas e atuadores;
Software: conjunto de algoritmos para executar rotinas tais como leitura de sensores, tratamento matemtico dos sinais, lgica de controle,
rotinas de aplicao e interao com o usurio, dentre outras;
Sistemas Embarcados
Hardware:
- TV : Filtros analgicos, circuitos amplificadores, condicionadores de sinais de udio e vdeo, circuitos de potncia para auto-falantes e para tela
(display de LCD, LED, Plasma, etc.);
- Lavadora: Circuitos de potncia para acionamento do motor, condicionadores de sinais dos sensores, circuitos de acionamento para vlvulas
e bombas.
Software:
- TV : Processamento de imagem e som, menus do usurio, controle da
matriz da tela (display de LCD, LED, Plasma, etc.);
- Lavadora: Rotinas de controle de motor, processamento dos sinais dos
sensores, rotinas de programas de lavagem.
Cargas e sensores:
- TV : Tela (display de LCD, LED, Plasma, etc.), auto-falantes, sensor de
infravermelho do controle remoto;
- Lavadora: Motor, vlvulas, bombas, sensores de nvel e presso.
Na Figura 3.1a apresenta-se o diagrama de blocos para um dispositivo com sistema de controle embarcado.
Pode-se organizar estes elementos (Hardware, Software, Cargas
e Sensores) em trs categorias distintas que chamaremos de Camada de
Hardware, Camada de Software e Camada de Cargas e Sensores. Desta
forma, neste trabalho representa-se a estrutura bsica de um sistema
embarcado em camadas, conforme ilustrado na Figura 3.1.
De maneira geral temos:
Camada de Software : onde so implementados os algoritmos de controle, tratamento de sinais, aplicao, etc.;
77
compem a placa eletrnica, tais como rels, circuitos de potncia, circuitos de condicionamento de sinais, microcontroladores, etc.;
Esta diviso adequada tanto sob o ponto de vista do equipamento quanto do ponto de vista do projeto. Nas grandes empresas o projeto de sistemas embarcados dividido em equipes com qualificaes
especficas para trabalhar em cada uma destas camadas, ou seja, uma
equipe mais especializada no desenvolvimento do software, outra mais
especializada no projeto do hardware e outra com conhecimentos especficos nas caractersticas eltricas e funcionais das cargas, atuadores e
sensores que sero aplicadas ao projeto. Esta diviso permite ainda estabelecer uma metodologia de desenvolvimento de projeto que seja flexvel
e maximize o reuso dos circuitos, rotinas de software, cargas, etc. desenvolvidos no projeto. Desta forma possvel por exemplo que a equipe
de desenvolvimento de software construa toda uma arquitetura onde seja
possvel atender diferentes tipos de hardware e cargas com um mnimo
ou sem nenhuma parametrizao, ou ainda, que a equipe de desenvolvimento de hardware possa projetar circuitos que atenderam diferentes
especificaes de cargas e sensores. Estabelecendo-se padres, interfaces definidas e especificaes claras possvel ainda que o projeto de
cada uma das camadas ocorra de maneira independente e com pouca
necessidade de interao entre as equipes, prtica muito comum em empresas que possuem equipes de trabalho descentralizadas, muitas vezes
at localizadas em pases diferentes.
3.3
Diagnstico Multicamadas
Normalmente, nos sistemas de diagnstico tradicionais, devido
Sistemas Embarcados
(b)
Fonte: Autor
79
corrompimento de algum dado da memria, devido a uma interferncia eletromagntica por exemplo, que cause uma falha no software e
impea o acionamento da bomba.
Em um sistema de diagnstico comum, esta falha seria caracterizada simplesmente como uma falha do sistema de enchimento, no
permitindo distinguir a real origem da mesma, uma vez que no prprio
diagnstico no so distinguidas as interaes entre software, hardware
e carga e apenas o efeito final da falha no sistema como um todo observado, ou seja, o cesto no encheu de gua.
Uma vez que cada camada possui funes e caractersticas bem
distintas umas das outras e, com o intuito de identificar precisamente a
origem da falha, prope-se a utilizao de diagnosticadores em cada uma
destas camadas para assim assegurar que a falha est por exemplo no
hardware do circuito de acionamento da bomba, e no no software de
controle ou ainda na prpria bomba, permitindo ento que uma possvel
ao de recuperao ou correo possa ser corretamente aplicada.
Na Figura 3.2 mostra-se de maneira genrica como estes diagnosticadores podem ser distribudos em cada uma destas camadas,
dando origem ao que denominamos neste trabalho de Sistema de Diagnstico Multicamadas. O objetivo do diagnstico multicamadas permitir
uma maior descriminao quanto origem da falha, possibilitando assim
um diagnstico mais preciso e robusto.
Em outras palavras, os diagnosticadores alocados da Camada de
Software so responsveis por diagnosticar falhas referentes s rotinas
ou algoritmos de software, como desvio do fluxo de software, mudanas
de estados no permitidas ou no previstas, etc.
J os diagnosticadores alocados na Camada de Hardware so
responsveis por diagnosticar falhas em circuitos ou componentes eltricos, como por exemplo falha de rels, em circuitos de potncia, circuitos
de acionamentos, circuitos de condicionamentos de sinais, etc.
Sistemas Embarcados
Fonte: Autor
fhw
respectivamente.
Um conjunto de diagnosticadores com as caractersticas descritas dito
81
ser um Sistema de Diagnstico Multicamadas Determinstico se a ocorrncia de uma falha f f identificada somente pelo seu respectivo
diagnosticador (Gdswi , Gdhw ou Gdcsi ), permanecendo os demais inalterai
dos.
3.4
ser embarcado no dispositivo ou equipamento no qual se deseja realizar o diagnstico de falhas, e ainda, para que o diagnstico possa ser
realizado, necessrio criar uma arquitetura que permita que estes diagnosticadores acessem todas as informaes necessrias para tanto.
Muitas vezes, aps a ocorrncia de uma falha importante que
alguma ao de recuperao seja tomada pelo sistema, assim quanto
mais preciso for o diagnstico quanto origem da falha, mais efetiva ser
esta ao de recuperao. Em alguns casos tambm se faz necessrio
exteriorizar de algum modo (via display, LEDs, etc.) a ocorrncia da falha, para fins de manuteno corretiva, por exemplo. Portanto, novamente
quanto mais preciso for o diagnstico, mais eficaz ser a interveno tcnica para manuteno.
Sistemas Embarcados
Fonte: Autor
83
Sistemas Embarcados
3.5
Concluses do Captulo
Neste captulo foram apresentados os conceitos bsicos e as
85
ver meios para que aps identificada uma falha, a mesma possa ser tratada por uma rotina de recuperao, se necessrio, ou ainda, que seja
possvel exteriorizar sua ocorrncia e tambm qualquer tipo de informao desejvel referente a esta falha. importante ressaltar que tanto o
sistema de diagnstico multicamadas como a arquitetura de diagnstico
apresentadas so independentes da metodologia a ser empregada para
a construo dos diagnosticadores ou da arquitetura de software utilizada
no sistema embarcado.
No prximo captulo ser apresentado um estudo de caso para
um refrigerador Frost Free constitudo por um sistema embarcado, onde
ser aplicado tanto o sistema de diagnstico multicamadas como a arquitetura de diagnstico apresentadas neste captulo. Os diagnosticadores
sero projetados no contexto de diagnose de falhas em SEDs conforme
proposto por Sampath et al. (1995). Posteriormente, no Captulo 5 sero
apresentados os detalhes da implementao em software destes diagnosticadores, segundo a arquitetura apresentada na Figura 3.3.
87
88
4.1
4.1.1
Whirlpool, de um modo geral funciona em ciclos, usando um fludo refrigerante num circuito fechado, que circula permanentemente retirando o
calor do interior do refrigerador e trocando-o com o exterior. O fludo refrigerante normalmente utilizado nos refrigeradores domsticos caracterizase por possuir elevado valor de calor latente de condensao e baixa temperatura de ebulio, alm de no ser inflamvel. Inicialmente usava-se
o gs freon 12 (clorofluorcarbono) como fludo refrigerante, contudo aps
o mesmo ser identificado como agressor camada de oznio, foi substitudo por outros fludos com propriedades semelhantes porm inofensivos
camada de oznio, como o caso do HFC-134A.
89
90
4.1.2
literal), um sistema de refrigerao inteligente controlado eletronicamente. caracterizado pela sua capacidade de refrigerao sem formao de gelo nas paredes do compartimento. Nos refrigeradores comuns,
91
o evaporador disposto em torno da parede do freezer ou do congelador, fazendo assim com que toda a parede fique bastante fria. A grande
desvantagem desta configurao que toda a umidade do ambiente se
condensa sobre essas paredes frias, que em seguida congelam e acabam ficando depositadas nas paredes, ficando cada vez maiores com o
passar do tempo diminuindo a eficincia trmica do compartimento.
J em um refrigerador Frost Free, o evaporador fica afastado e
termicamente isolado das paredes. Neste sistema somente o ar frio
soprado para dentro do compartimento por um ventilador, mantendo assim este ambiente seco e sem gelo. Contudo, no evaporador, e somente
l, haver formao de gelo, que por sua vez ser periodicamente derretido atravs da rotina de degelo, que controla o acionamento de uma
resistncia eltrica montada em torno do evaporador. Na Figura 4.3a
mostrado um evaporador onde possvel visualizar a resistncia de degelo j montada em torno do mesmo. J na Figura 4.3b, mostrado o
mesmo evaporador, contudo j em uma condio crtica de formao de
gelo, onde a rotina de degelo precisa ser realizada.
(a)
Fonte: Autor
92
Devido necessidade do uso desta resistncia eltrica, o consumo de energia neste tipo de refrigerador tende a ser maior em relao
aos refrigeradores comuns. Por este motivo, h um grande esforo por
parte dos fabricantes em desenvolver refrigeradores que sejam mais eficientes, buscando uma melhor isolao trmica, um controle de temperatura mais robusto e principalmente rotinas de degelo que sejam mais
inteligentes, isto , rotinas que estejam constantemente monitorando o
comportamento e uso do refrigerador para assim determinar o melhor
momento para realizar o degelo.
4.1.3
Controle Termosttico
O controle de temperatura do tipo de refrigerador escolhido neste
4.1.4
Rotina de Degelo
A rotina de degelo ou descongelamento responsvel por garan-
tir que o gelo formado no evaporador seja periodicamente derretido, evitando assim que o refrigerador perca eficincia de resfriamento e ainda
que este gelo possa migrar para as paredes internas no compartimento.
Essa rotina usualmente formada por duas partes, uma responsvel por
monitorar as condies de uso e desempenho do produto para assim determinar quando necessrio realizar o degelo, e outra responsvel por
93
Fonte: Autor
94
calor excessivo que precisa ser retirado. Por razes de segredo industrial
no sero mostrados neste trabalho os detalhes do algoritmo responsvel por determinar quando o degelo deve ser iniciado, implementado no
refrigerador proposto utilizado neste estudo de caso. Ser considerado
apenas a rotina de controle de acionamento da resistncia, j durante o
processo de degelo.
4.2
95
uma placa eletrnica onde residem o microcontrolador, circuitos de condicionamento de sinais de sensores, circuitos de potncia para acionamento de cargas, dentre outros; por cargas tais como compressor, resistncia de aquecimento para fins de degelo e motor do ventilador; e
finalmente por sensores, dentre os quais se podem citar os sensores de
temperatura (NTC ou PTC por exemplo), sensores de abertura de porta
e sinais de feedback de circuitos de acionamentos. No microcontrolador
encontra-se o software que controla tanto as rotinas referentes aplicao (interao com o usurio) como as rotinas de controle do refrigerador, como por exemplo a rotina termosttica, rotina de degelo e a rotina
de controle do compressor, conforme mostrado na Figura 4.5
Fonte: Autor
96
4.3
97
Fonte: Autor
4.3.1
98
99
Fonte: Autor
100
trole do compressor e esta por sua vez quem ir atuar para efetivamente
ligar ou desligar o compressor. Esta rotina ser detalhada mais adiante
na seo 4.3.2.
A Figura 4.8 mostra a autmato rotulador AlT h considerado para
o diagnstico da rotina termosttica.
Figura 4.8: Autmato Rotulador para Falha na Rotina Termosttica, AlT h
Fonte: Autor
O prximo passo para se obter o diagnosticador GdT h determinar a composio sncrona da planta GTC com o autmato rotulador AlT h ,
isto fazer (GTC ||AlT h ), cujo resultado mostrado na Figura 4.9.
Em seguida, o diagnosticador GdT h obtido determinando-se o
observador deste ltimo autmato, ou seja, GdT h = Obs(GTC ||AlT h ), mostrado da Figura 4.10. O estado {4Y } representa o estado onde o diagnosticador est certo da ocorrncia da falha. Uma vez atingido este estado, no h como o diagnosticador retornar para algum estado incerto,
ou seja, ele ficar ali preso independente de qual evento ocorra, satisfazendo assim a condio de diagnosticabilidade enunciada por Sampath
et al. (1995) e Basilio et al. (2010). importante ressaltar que embora
o diagnosticador obtido possua ciclos formados apenas por estados incertos, isso no necessariamente implica na impossibilidade de se diagnosticar a ocorrncia de uma falha. Conforme mostrado anteriormente na
seo 2.8, para que L seja diagnosticvel em relao a Po e f , aps a
ocorrncia da falha, no pode existir um ciclo de estados em G que corresponda a um ciclo de estados incertos no diagnosticador. Um exemplo
101
Fonte: Autor
102
Fonte: Autor
4.3.2
103
104
GCompRoutine
Fonte: Autor
105
para
ligar,
autmato
mudar
para
estado
isso
acontecer,
autmato
ir
para
estado
106
Fonte: Autor
O prximo passo para obter o diagnosticador GdCompRoutine determinar a composio sncrona de GCompRoutine com AlComp , cujo autmato resultante mostrado na Figura 4.13. Por fim, o diagnosticador da
rotina de controle do compressor obtido determinando-se o observador
deste autmato, ou seja, GdCompRoutine = Obs(GCompRoutine ||AlCompModel )
(ver Figura 4.14) .
Por questes de espao, no intuito de obter uma figura legvel,
para a representao do diagnosticador, os nomes originais dos eventos foram substitudos por identificadores (IDs) de uma nica letra, cuja
correspondncia mostrada na Tabela 4.1. O estado {3Y } representa
a situao em que o diagnosticador est certo da ocorrncia da falha,
e uma vez alcanado este estado, o diagnosticador ali ficar preso, no
sendo possvel retornar para um estado incerto.
De maneira anloga ao diagnosticador obtido para a rotina termosttica na seo anterior, o fato do diagnosticador obtido possuir ciclos
formados apenas por estados incertos, no implica na impossibilidade de
se diagnosticar a ocorrncia da falha. Para que L seja diagnosticvel em
107
Fonte: Autor
108
GdCompRoutine
Fonte: Autor
4.3.3
109
ID do Evento
A
B
C
D
E
F
110
Fonte: Autor
o prximo estado, denominado INIT_HEATER_ON (Estado Inicial de Resistncia Ligada), onde a resistncia de degelo ligada. Neste momento,
a rotina passa a verificar trs condies, representadas pelos eventos
abaixo listados:
111
Assim
que
este
tempo
expirar,
evento
DropTime_Complete (Tempo de Escorrimento Completo) ser gerado levando ento o autmato para o estado inicial DEF_MONITOR novamente.
O estado DEF_CNTRL_FAIL (Falha na Rotina de Degelo) representa o estado de falha desta rotina devido ocorrncia do evento no
observvel Def_Fail (Falha no Degelo). A Figura 4.16 mostra o autmato
rotulador AlDe f Label para esta rotina e a Figura 4.17 a composio sncrona entre o modelo da rotina de degelo e seu autmato rotulador, isto
112
AlDe f Label
Fonte: Autor
Figura 4.17: Autmato obtido pela composio GDe f Model ||AlDe f Label
Fonte: Autor
113
O diagnosticador GdDe f Model foi obtido calculando-se o observador deste ltimo autmato, isto , GdDe f Model = Obs(GDe f Model ||AlDe f Model ),
mostrado da Figura 4.18
Figura 4.18: Diagnosticador para a Rotina de Degelo, GdDe f Model
Fonte: Autor
Assim como feito na seo anterior, no intuito de obter uma figura legvel para representao do diagnosticador, os nomes originais
dos eventos foram substitudos por identificadores (IDs) de uma nica
letra, cuja correspondncia mostrada na Tabela 4.2. O estado {3Y } representa a situao em que o diagnosticador est certo da ocorrncia da
falha, e uma vez alcanado este estado, o diagnosticador ali ficar preso,
no sendo possvel retornar para um estado incerto.
114
ID do Evento
A
B
C
D
E
F
G
H
I
J
K
4.4
115
4.4.1
back, o qual faz uma amostragem do sinal na sada do rel. Este feedback
pode ento ser usado como um sensor de resposta de acionamento do
rel, podendo assim indicar o estado do rel, aberto ou fechado. Assim,
quando o rel abre e, portanto no h nenhum sinal presente em sua
sada, gerado o evento FB_O f f (feedback de rel desligado), de modo
anlogo, quando o rel fecha, gerado o evento FB_On (feedback de
116
FB_On.
O autmato que modela o comportamento dos rels considerando o mapeamento de sensores pode ser visto na Figura 4.21.
117
Fonte: Autor
118
Fonte: Autor
4.5
Mapeamento
[Set _Load _x_O f f , FB_O f f ]
[Set _Load _x_On, FB_On]
[Set _Load _x_On, FB_O f f ]
[Set _Load _x_O f f , FB_On]
119
Fonte: Autor
120
Fonte: Autor
4.5.1
trado na Figura 4.25 e composto pelos seguintes estados: C_ON (Compressor Ligado), C_OFF (Compressor Desligado) e pelo estado de falha
CS_OFF (Compressor Travado Desligado).
Note que a falha do tipo Travado Ligado no considerada neste
modelo, pois do ponto de vista do compressor (motor), esta falha implicaria em ter o compressor sempre ligado mesmo quando no h tenso
sobre ele (quando o rel que o aciona est desligado), o que no fisicamente possvel de ocorrer. Entretanto, uma falha no circuito de acionamento ou em alguma rotina de software pode fazer com que o compressor fique constantemente ligado. Caso isso ocorra, a origem da falha
no ser o compressor mas sim em algum dos elementos das camadas
superiores, isto , na camada de hardware para o caso de falha de rel
travado fechado, ou na camada software no caso de uma falha na rotina
termosttica ou de controle do compressor por exemplo. Assim, os di-
121
Fonte: Autor
122
Fonte: Autor
queima na bobina do motor ou de algum dispositivo interno do compressor. O autmato rotulador para este caso mostrado na Figura 4.26.
Para que seja possvel distinguir a falha do compressor da falha
do rel que o aciona, necessrio considerar tambm o modelo do rel
como parte da planta, como mostrado na Figura 4.27.
O diagnosticador obtido a partir dos modelos mostrados nas figuras 4.25 e 4.27, composto somente por estados incertos (ver Figura
4.28), ou seja, a falha no diagnosticvel com base nos modelos propostos.
123
Fonte: Autor
AlCompMotorModel
Fonte: Autor
Para contornar este problema, necessrio aplicar o mapeamento de sensores novamente. Uma vez que o sistema possui dois sensores de temperatura, precisamos entender se eles podem prover algum
tipo de informao adicional que seja relevante em termos de diagnstico da falha do compressor e, caso positivo, qual a melhor maneira de se
124
Fonte: Autor
Fonte: Autor
125
Defrost Sensor possui uma resposta mais rpida s mudanas de temperatura, em relao ao RC Sensor. Assim, por se mostrar mais sensvel
a estas variaes de temperatura, o sensor de degelo se mostra mais
adequado para o mapeamento.
Fonte: Autor
126
Fonte: Autor
127
Fonte: Autor
128
Fonte: Autor
Fonte: Autor
129
130
Mapeamento
[FB_O f f , Delta+]
[FB_On, Delta]
[FB_O f f , Delta+]
[FB_O f f , Delta+]
[FB_On, Delta+]
[FB_On, Delta+]
[FB_O f f , Delta+]
[FB_On, Delta+]
4.5.2
131
Fonte: Autor
GdCompMinSimple
Fonte: Autor
132
Fonte: Autor
de software (rotina de degelo) e, portanto, os diagnosticadores responsveis por estas falhas devero identific-la. Agora, para o caso onde haja
realmente uma falha na resistncia que faa com a mesma permanea
constantemente desligada mesmo havendo tenso sobre seus terminais,
implica que o diagnosticador da resistncia deve detectar essa falha.
Para que seja possvel distinguir a falha da resistncia da falha
do rel que a aciona, necessrio considerar tambm o modelo do rel
que aciona a resistncia, como mostrado da Figura 4.37.
A composio sncrona entre o modelo da resistncia e de seu
respectivo rel pode ser visto na Figura 4.38.
Este modelo tambm requer um mapeamento de sensor, conforme mostrado na Tabela 4.5. Este mapeamento foi obtido criando-se
um sensor virtual para gerar os eventos referentes rotina de degelo e
tambm usando a informao do sensor de degelo. Este ltimo foi es-
133
GHeaterRelay
Fonte: Autor
colhido por duas razes: primeiro por ser o sensor que est em contado
com o evaporador, que o mesmo lugar onde a resistncia de degelo est
inserida, ento a variao de temperatura neste sensor maior quando
comparada com o outro sensor (RC Sensor ); e segundo por ser este o
sensor que l a temperatura de fim de degelo. Na rotina de degelo foram
mapeados os eventos de incio de degelo (De f _Start ), de degelo finalizado por temperatura (De f _End _By_Temp) e de degelo finalizado por
tempo limite (De f _End _By_Timeout ). J em relao ao sensor de degelo,
sua leitura de temperatura comparada com um valor de referncia Tre f .
Esta referncia se refere mxima temperatura que pode ser alcanada
durante um degelo quando a resistncia no est aquecendo (no est,
portanto, ligada).
O tempo mximo de degelo (DEF_TIMEOUT ) um parmetro
que depende da plataforma do produto, para o refrigerador considerado
neste estudo de caso, este valor definido como 50 minutos. Para definir o valor de Tre f , foi monitorado o comportamento real do refrigerador
durante consecutivos ciclos de degelo, quando a resistncia foi mantida
desligada e portanto todos os degelos tiveram durao de 50 minutos.
Como se pode observar no grfico da Figura 4.39, o sensor de degelo
no registrou temperaturas maiores que -7 C em nenhum dos casos,
134
Fonte: Autor
135
(H _OFF,RELAY _OPEN)
(H _ON,RELAY _CLOSED)
(H _FAIL,RELAY _OPEN)
(H _FAIL,RELAY _CLOSED)
Mapeamento
HeaterRelay_FB_O f f AND
[De f _End _By_Temp OR
De f _End _By_Timeout]
HeaterRelay_FB_On
AND
De f _Start
HeaterRelay_FB_O f f AND
De f _End _By_Timeout AND
De f _End _Temp < Tre f
HeaterRelay_FB_On
AND
De f _Start
Evento
C1
C2
C3
C2
Fonte: Autor
136
Figura 4.40: Autmato GH _Map que modela a Resistncia de Degelo considerando Mapeamento de Sensor
Fonte: Autor
137
AlHeater
Fonte: Autor
138
Fonte: Autor
4.6
Concluses do Captulo
Neste captulo foi feita uma breve reviso dos conceitos bsicos
139
Fonte: Autor
GdHeaterSimple
Fonte: Autor
140
141
Uma vez projetados os diagnosticadores, o prximo passo consiste em traduzi-los para uma linguagem de software para ento serem
embarcados em um microcontrolador. Esta uma tarefa crtica, pois
necessrio garantir que esta traduo no inclua erros em relao aos
modelos dos diagnosticadores. A fim de garantir um padro na implementao deste software necessrio criar ento um modelo que possa
ser aplicado para qualquer diagnosticador concebido sob a metodologia
de diagnstico de falhas em SEDs. Este captulo apresenta o modelo
desenvolvido para este propsito e que pode ser aplicado arquitetura
multicamadas de diagnstico mostrada no Captulo 3.
5.1
AutomataPlayer.c: Implementa o algoritmo que trata a evoluo dos estados dos autmatos diagnosticadores, conforme a ocorrncia dos eventos, ou seja, l os eventos registrados pelo mdulo Events e atualiza
adequadamente o estado de cada autmato diagnosticador. Este mdulo
tambm implementa o mtodo (funo) para informar quando um autmato diagnosticador chegou a um estado que certo da ocorrncia da
falha;
143
Fonte: Autor
mentadas no AutomataPlayer.c para fornecer a API (Application Programming Interface) para os demais mdulos do software;
A funo "void AutomataPlayer__Handler(void)", mostrada na Figura 5.2, implementa o algoritmo de evoluo dos autmatos diagnosticadores. Esta funo constantemente l os eventos do buffer e atualiza
os estados de todos os autmatos com base nas tabelas definidas em
AutomataPlayer_prv.h. importante ressaltar que esta funo nica e
capaz de manipular at 256 autmatos por vez, ou seja, necessrio implementar (instalar o mdulo AutomataPlayer.c) apenas uma vez, j que
os diagnosticadores esto mapeados em forma de tabela no arquivo de
cabealho AutomataPlayer_prv.h. A limitao ser dada ento pelo espao de memria e capacidade de processamento do microcontrolador
usado.
Fonte: Autor
145
Fonte: Autor
Para exemplificar como esta lista funciona, considere a lista Automata_1_State_0_Event_List[], mostrada na Figura 5.3, que mapeia todos
os eventos referentes ao estado 0 do autmato 1, como: OK_TO_DEF,
ABOVE_CP, REQ_COMP_ON, etc. O nmero que aparece ao lado de
cada evento, identifica o estado de destino para o qual o autmato deve
Fonte: Autor
Assim, supondo que o autmato 1 esteja no estado 0 (isto Automata_1_States[0]), ele estar apontando para a lista Automata_1_State_0_Event_List, que mesma anteriormente mostrada na Figura 5.3.
Quando um novo evento ocorre, o software faz uma busca na lista de
eventos deste estado, caso este evento esteja presente nesta lista, o estado atual torna-se ento o estado de destino, conforme definido na lista
de transio.
Na Figura 5.5 mostrado um exemplo da lista de eventos necessrios para o diagnstico que deve ser implementada no arquivo Events.h.
Esta consiste em uma lista enumerada com definio de tipo (typedef
147
Fonte: Autor
5.2
Diagnoser Automata Player feita atravs do arquivo AutomataPlayer_prv.h. Este um processo crtico, uma vez que neste arquivo que estaro descritas todas as tabelas de estados e transies dos autmatos
diagnosticadores e o menor erro no preenchimento deste arquivo pode
comprometer o diagnstico. Outro arquivo que precisa ser manualmente
preenchido o Events.h, nele o usurio deve implementar a lista de eventos necessria para o diagnstico. Assim, mais seguro e produtivo ter
uma ferramenta que seja capaz de gerar automaticamente os contedos
destes arquivos a partir dos modelos dos diagnosticadores, tornando o
processo mais robusto. Para este propsito, foi desenvolvida neste trabalho uma ferramenta capaz de gerar automaticamente esses arquivos.
Esta ferramenta, chamada de Doctor Who, mostrada na Figura
5.8, tem como entrada os autmatos diagnosticadores e como sada os
arquivos cabealho AutomataPlayer_prv.h e Events.h. Atualmente os arquivos referentes aos autmatos diagnosticadores devem estar no formato .xmd do programa IDES (2010), usado para projetar o autmato
diagnosticador. importante ressaltar neste momento que, para o correto funcionamento da ferramenta proposta, necessrio que todos os
149
Figura 5.6: Parte do Software do Mdulo Events Relativo Implementao do Modelo do Heater
Fonte: Autor
Fonte: Autor
estados certos (da ocorrncia da falha) do autmato diagnosticador sejam representados como estados marcados, isto , assim que obtido o
diagnosticador Gd , os estados que possuem apenas rtulos Y, devem ser
configurados no IDES como estados marcados.
Esta ferramenta tambm gera os arquivos AutomataPlayer.c e
AutomataPlayer.h, porm esses arquivos no devem ser modificados pelo
usurio pois possuem o cdigo fonte do algortimo que manipula os autmatos diagnosticadores, conforme mencionado anteriormente. O arquivo
Events.c tambm gerado j com as funes "Events__Queue" e
151
Fonte: Autor
"Events__GetEvent" devidamente implementadas. O usurio ser responsvel apenas por implementar neste arquivo os mtodos necessrios
para obter os eventos do sistema e convert-los (se necessrio) no formato de acordo com o padro definido em Events.h e adicion-los no
buffer, conforme mencionado anteriormente.
Assim, obtemos uma soluo completa para o projeto e implementao dos diagnosticadores para sistemas embarcados. Os diagnosticadores podem ser projetados atravs da teoria de diagnose de falhas
em SEDs, tal como apresentado no Captulo 2 e modelados com auxlio da ferramenta IDES. Por fim, importando-se os arquivos .xmd gerados
pelo IDES na ferramenta Doctor Who gera-se o software em linguagem
ANSI C que permite a implementao dos diagnosticadores junto ao sistema embarcado. O procedimento a ser seguido ilustrado na Figura 5.9.
5.3
Fonte: Autor
153
permite gerar automaticamente estes cdigos, pode-se aplic-la para gerar os cdigos de cada autmato diagnosticador projetado no Captulo 4,
para finalmente embarc-lo no microcontrolador da placa de controle do
refrigerador, juntamente com o cdigo principal do produto. Seguindo a
metodologia mostrada na Figura 5.9, o arquivo .xmd de cada diagnosticador foi importado para ferramenta Doctor Who e os arquivos AutomataPlayer.c, AutomataPlayer.h, AutomataPlayer_prv.h, Events.c e Events.h
foram gerados. Em seguida, foram implementados no arquivo Events.c os
mtodos para obter e adicionar no buffer os eventos necessrios do sistema, conforme listado no arquivo Events.h. Na Figura 5.10 mostrada a
arquitetura de diagnstico completa aplicada ao estudo de caso proposto
neste trabalho. Na camada de cargas tm-se o compressor e a resistncia de degelo, j na camada de hardware os circuitos de acionamentos
destas cargas (rels e circuitos de potncia) e finalmente na camada de
software as rotinas termosttica, degelo e de controle do compressor. O
bloco Interface neste caso composto por um mdulo de software denominado LSI (Load Sensing Interface), que possui as rotinas para realizar
o acionamento das cargas e tambm a leitura dos sensores disponveis
na placa eletrnica. Por se tratar de uma biblioteca proprietria da Whirlpool, por questes de sigilo seu contedo no poder ser mostrado neste
trabalho, contudo tal omisso no representa nus para o entendimento
ou validao desta aplicao. Em seguida tem-se o bloco Manipulador
de Eventos, onde implementado o mdulo Events que por sua vez se
comunica com a camada de sistema de diagnstico, onde esto implementados todos diagnosticadores, atravs da biblioteca AutmataPlayer.
O bloco Gerenciador de Falhas (GF) usado nesta aplicao, tambm de propriedade da Whirlpool, responsvel por monitorar o estado
de cada diagnosticador e caso algum deles atinja um estado certo (da
ocorrncia da falha), ir associar a esta falha um cdigo predefinido e
armazen-lo em uma lista, segundo uma prioridade previamente estabelecida. Esta falha ser ento informada ao bloco SRF (Sistema de Recuperao de Falhas), que por sua vez tomar as aes necessrias para a
recuperao do sistema, caso seja aplicvel a esta falha.
Fonte: Autor
155
Fonte: Autor
A aplicao pode requisitar a qualquer momento ao GF as informaes referentes ao diagnstico. Para o produto utilizado no estudo de
caso, os cdigos de falhas armazenados no GF, podem ser mostrados
para o usurio atravs de uma combinao de LEDs acesos e apagados no painel do produto, conforme mostrado na Figura 5.11, ou ainda
extrados atravs da comunicao serial, utilizando-se um dispositivo especfico desenvolvido pela Whirlpool. Estes dados do diagnstico permitem tanto que o tcnico efetue uma manuteno corretiva mais assertiva
como tambm fornecem informaes equipe de engenharia a fim de
entender o modo de falha e corrigi-los nos projetos seguintes, tornando
os produtos mais robustos.
Assim, temos finalmente a implementao completa da soluo
de diagnstico de falhas multicamadas para sistemas embarcados, proposta neste trabalho.
5.4
Concluses do Captulo
Neste captulo foi apresentada uma metodologia para traduzir em
linguagem de software os diagnosticadores projetados segundo a metodologia de diagnose de falhas em SEDs apresentada no Captulo 2. Com
o intuito de obter um software de fcil integrao com software principal
do sistema embarcado e que fosse independente de microcontrolador e
arquitetura usada neste sistema, foi criada uma biblioteca capaz de manipular os autmatos diagnosticadores e os eventos gerados pela planta.
Para essa biblioteca, as tabelas de estado e transies dos autmatos diagnosticadores so lidas atravs de um arquivo de configurao privado
AutomataPlayer_prv.h. Os arquivos desta biblioteca bem como o arquivo
de configurao, podem ser automaticamente gerados atravs da ferramenta de gerao automtica de cdigo Doctor Who. Em seguida esta
metodologia foi aplicada ao estudo de caso mostrado no Captulo 4. Embora a metodologia apresentada, bem como a gerao automtica de cdigo foram desenvolvidas com foco em linguagem C, possvel aplic-las
para outras linguagens, uma vez que sua aplicao independente do
sistema e do microcontrolador utilizado. Atualmente a ferramenta Doctor
Who aceita apenas arquivos do IDES (.xmd), no entanto, isso no uma
restrio, pois pretende-se futuramente atualizar a ferramenta para receber outros formatos de arquivos. Mostrou-se tambm como os arquivos
gerados automaticamente pela ferramenta, bem como os arquivos que
devem ser implementados pelo desenvolvedor, so alocados dentro da
arquitetura de diagnstico proposta no Captulo 3. Por fim, constatou-se
que a arquitetura de diagnstico proposta, juntamente como a soluo
de gerao automtica de cdigo, permitiram embarcar todo o software
necessrio para o diagnstico de maneira rpida, localizada e sem interferncia com o restante do software j existente do refrigerador, garantindo assim integridade dos algoritmos de controle originais. O captulo
seguinte dedicado para a validao tanto dos modelos dos diagnosticadores como tambm da metodologia e da ferramenta de gerao automtica de cdigo para implementao destes diagnosticadores.
157
No captulo anterior mostrou-se que atravs da ferramenta Doctor Who foram gerados os arquivos necessrios com o cdigo em linguagem C, para cada diagnosticador projetado no Captulo 4. Em seguida foram implementados os algoritmos necessrios no mdulo Event.c, para a
gerao dos eventos necessrios para o diagnstico. Uma vez implementados os diagnosticadores, necessrio validar a sua eficcia, ou seja,
verificar se os modelos considerados para constru-los, bem como seu
projeto esto corretos e tambm verificar se no foram introduzidos erros durante a fase de implementao do software, principalmente quando
implementando o mdulo Events.c. Neste captulo sero mostrados as
ferramentas usadas e desenvolvidas para a realizao desta validao,
bem como o processo de validao de cada um dos diagnosticadores
anteriormente projetados.
6.1
Metodologia de Validao
Os arquivos de cdigo C, gerados conforme mostrado no captulo
anterior para os diagnosticadores projetados no Captulo 4, foram compilados juntamente com os demais arquivos que compem o software
principal do refrigerador utilizado no estudo de caso, e posteriormente
embarcado no microcontrolador STM8S105K6 de 8 bits da famlia STM8,
utilizado na placa de controle deste refrigerador.
Na validao do sistema de diagnstico foi utilizado um refrigerador do mesmo tipo do mencionado no estudo de caso. Alm disso, foram
utilizadas duas ferramentas para auxiliar o processo de validao. Com o
objetivo de monitorar e forar algumas condies para se reproduzir algumas das falhas, foi utilizada uma ferramenta que permite o acesso tanto a
variveis e dados internos ao software bem como a manipulao destes
dados em tempo real. Ainda, com a finalidade de prover uma interface
158
6.1.1
Ferramenta de Depurao
Para auxiliar a validao do software foi utilizada a ferramenta
STVD (ST Visual Develop) (STVD, 2010). Esta ferramenta uma IDE
(Integrated Development Environment) fornecida pela STMicroelectronics
para as famlias de microcontroladores ST7 e STM8, que permite o monitoramento e editao online de variveis do software e tambm adicionar
software breakpoints para fins de depurao, conforme ilustrado na Figura 6.1
6.1.2
Automata Player. Esta ferramenta foi inicialmente desenvolvida em parceria entre Whirlpool e UDESC, voltada aplicao de controle supervisrio. Contudo, esta ferramenta possui um mdulo de monitoramento
159
Fonte: Autor
160
Assim, quando no modo online, deve-se importar para esta ferramenta o mesmo arquivo .xmd usado para gerar os arquivos em linguagem
C dos diagnosticadores. Logo, tanto a ferramenta como o microcontrolador tero os mesmos modelos dos autmatos diagnosticadores. Ento,
o algoritmo implementado na funo "AutomataPlayer__Handler" atualizar os estados dos autmatos de acordo com a ocorrncia de eventos,
como discutido antes, e enviar via comunicao serial, usando a API definida, o estado atual de cada autmato diagnosticador. Finalmente, a ferramenta Automata Player ir receber esta mensagem e automaticamente
atualizar o grafo de estados dos autmatos na janela de interface. A ttulo de ilustrao, na Figura 6.2 mostra-se um autmato exibido atravs
desta ferramenta, cujo detalhes so descritos a seguir.
Fonte: Autor
161
6.2
forar as diferentes falhas a fim de validar os diagnosticadores desenvolvidos. Dependendo da camada para qual o diagnosticador foi projetado,
isto camada de Software, Hardware ou Cargas, uma abordagem diferente foi utilizada, devido suas particularidades, conforme detalhado a
seguir.
6.2.1
lizada foi simular (ou forar) a falha atravs da introduo de bugs conhecidos em cada rotina de software para o qual foram desenvolvidos os
diagnosticadores e assim verificar o resultado do diagnstico.
162
A Figura 6.3 mostra um exemplo de um dos bugs propositais utilizados para simular a falha na rotina termosttica. A introduo deste
bug foi feita pela remoo da linha (a mesma foi comentada) responsvel
por mudar o estado da termosttica para o estado TC_COOLING, isso fez
com
que
rotina
termosttica
permanecesse
no
estado
De forma semelhante, para simular uma falha na rotina de controle do compressor foi inserido um bug nesta rotina. Na Figura 6.4 mostrase a mudana feita na linha Compressor_Type[cmpr].State =
COMPRESSOR_ON,
qual
foi
modificada
para
163
Fonte: Autor
164
Fonte: Autor
A Figura 6.5 mostra um dos bugs inseridos para validar a rotina de degelo. Neste caso, o incio de um novo degelo foi forado enquanto um degelo ainda estava ocorrendo. A linha com Defrost_Trigger =
TRUE foi inserida dentro do estado DROPPING da rotina de degelo. Assim, quando a rotina de degelo atingiu o estado DROPPING, a execuo
da linha Defrost_Trigger = TRUE causou o evento Defrost_Trigger_True,
165
Fonte: Autor
166
6.2.2
vado fechado e travado aberto. Para simular a situao de travado fechado, a entrada e a sada do rel foram curto-circuitadas. J para simular
a falha do rel travado aberto, a bobina do rel foi desconectada do circuito de acionamento, impedindo assim o seu acionamento e mantendo
seus contatos sempre abertos.
No primeiro cenrio, ou seja, rel travado fechado, alterando-se
a temperatura para um valor acima do ponto de controle o compressor foi colocado no estado ligado, fazendo assim o diagnosticador ficar
inicialmente no estado {(3N_FC N_FO),(2Y_FC N_FO),(4N_FC Y_FO)}.
Em seguida, a temperatura foi alterada para um valor abaixo do ponto
de controle, fazendo a termosttica requisitar o desligamento do compressor. Contudo, o mesmo permaneceu ligado devido ao curto-circuito
externo. Neste momento, o feedback do rel continuou indicando que
o mesmo permanecia fechado, o que gerou o evento FB_ON. Por outro lado, o pedido da termosttica para desligar o compressor gerou o
evento Set_Comp_OFF. Estes dois eventos foram detectados pelo diagnosticador, devido ao mapeamento de sensor [Set_Comp_OFF, FB_ON],
levando o diagnosticador para o estado {2Y_FC N_FO} o que indica que o
diagnosticador certo sobre a falha do tipo travado fechado (componente
2Y_FC) e, consequentemente, certo da no ocorrncia da falha do tipo
travado aberto (componente N_FO).
Para o segundo cenrio (rel travado aberto) a temperatura foi
inicialmente ajustada para um valor abaixo do ponto de controle de forma
a manter o rel do compressor aberto. Neste momento, o diagnosticador
estava no estado {(1N_FC N_FO),(2Y_FC N_FO),(4N_FC Y_FO)} como
esperado. Em seguida, a temperatura foi alterada para um valor acima
do ponto de controle, fazendo a termosttica requisitar o ligamento do
compressor, gerando ento o evento Set_Comp_On. No entanto o rel
permaneceu desligado, gerando por sua vez o evento FB_Off. Assim, es-
167
6.2.3
compressor um circuito aberto, isto , filamento de aquecimento rompido para o caso da resistncia de degelo e bobina ou rel interno de
partida danificado, no caso do compressor. Assim, ambas as falhas foram
simuladas simplesmente deixando a respectiva carga desconectada da
placa de controle.
O diagnosticador da resistncia de degelo depende dos eventos
C1, C2 e C3, que so uma combinao de eventos HeaterRelay_FB_On,
HeaterRelay_FB_Off, Def_End_By_Temp, Def_End_By_Timeout e Tre f ,
como mapeados na Tabela 4.5. Na Figura 5.6 mostrou-se como os eventos C1, C2 e C3 so gerados pela combinao dos eventos acima citados.
Assim, no incio do degelo tanto a condio Lsi__GetDigitalInput(HEATER_RELAY_FDBK) == RELAY_FEEDBACK_ON quanto a condio Defrost__GetDefrostState() == DEFROST_STATE_DEFROSTING estavam
satisfeitas, o que gerou o evento C2 (veja Figura 5.6). Em seguida, o degelo foi terminado por timeout e a temperatura do Defrost Sensor era menor que -7 C, conforme esperado, de acordo com o grfico apresentado
na Figura 4.39. Assim, as condies Defrost__GetDefrostDuration() >=
DEF_TIMEOUT e Sensor__GetValue(DEF_SENSOR) < (T_REF) foram
satisfeitas (Figura 5.6), o que gerou o evento C3, levando o diagnosticador para o estado certo de falha {3Y,4Y} (Figura 4.44).
168
O diagnosticador do compressor mostrado na Figura 4.35 depende do estado da porta, do sinal de feedback do rel do compressor
e da variao positiva (delta positivo) da temperatura lida pelo sensor
Defrost Sensor. A primeira avaliao feita neste diagnosticador foi mudando o estado da porta entre aberto e fechado, onde se observou na
janela de interface da ferramenta Automata Player, que o diagnosticador
estava mudando entre os estados {(3N,7Y),(5N,8Y)} e {(1N,4Y),(2N,6Y)}
como esperado. Em seguida, mantendo a porta fechada, a temperatura foi
ajustada para um valor acima do ponto de controle, forando o compressor a ligar. Quando o rel do compressor fechou para ligar o compressor,
seu feedback mudou para ligado tambm, gerando o evento FB_ON. No
entanto, o compressor permaneceu desligado, pois o mesmo estava desconectado da placa de controle. Em seguida, a temperatura continuou
se elevando gradativamente. Quando a temperatura aumentou mais de
5 C o evento de delta positivo foi gerado fazendo o diagnosticador mudar
para o estado certo de falha {6Y,8Y,7Y,4Y}, diagnosticando assim a falha
do compressor.
Posteriormente, foi repetido o mesmo teste anterior, entretanto
desta vez a porta foi mantida aberta. Para essa condio a falha do compressor no poderia ser diagnosticada, uma vez que no seria possvel distinguir se o aumento da temperatura era devido ao no ligamento
do compressor ou prpria abertura da porta, conforme descrito anteriormente na Seo 4.5.1. Verificou-se ento que o diagnosticador permaneceu no estado {(3N,7Y),(5N,8Y)}, devido ocorrncia do evento
Door_Opened e mesmo tendo um delta positivo de temperatura, o diagnosticador no detectou falha. No entanto, aps o fechamento da porta
o diagnosticador mudou para o estado {(1N,4Y),(2N,6Y)} e assim que detectou o delta positivo de temperatura, ele finalmente muda para o estado
{6Y,8Y,7Y,4Y}, indicando finalmente a ocorrncia da falha.
6.3
169
Concluses do Captulo
Neste captulo foi apresentada a metodologia e as ferramentas
171
172
173
REFERNCIAS BIBLIOGRFICAS
ATHANASOPOULOU, E., LINGXI, L. e HADJICOSTIS, C. (2010). Maximum likelihood failure diagnosis in finite state machines under unreliable observations, IEEE Transactions on Automatic Control, 2010.
BALEMI, S. Control of Discrete Event Systems: Theory and Applications, Ph.D. Thesis, Swiss Federal Institute of Technology, Zurich, 1992.
BARR, M. Programming Embedded Systems, With C and GNU Development Tools. 2nd Edition, OReilly, 2006, p.21.
BASILIO, J. C. e LAFORTUNE, S. Robust codiagnosability of discrete
event systems, Proceedings of the American Control Conference, St.
Louis, Missouri, 2009, p. 22022209.
BASILIO, J. C. ,CARVALHO, L. K. E MOREIRA, M. V. Diagnose de falhas
em sistemas a eventos discretos modelados por automatos finitos,
Revista Controle & Automao (Impresso), v. 21, p. 510-533, 2010.
BASILIO, J. C., LIMA, S. T. S., LAFORTUNE, S., e MOREIRA, M. V. Computation of minimal event bases that ensure diagnosability. Discrete
Event Dynamic Systems, v. 22, p. 249-292, 2012.
CARVALHO, L. K., BASILIO J.C., MOREIRA, M.V. Robust diagnosability
of discrete event systems subject to intermittent sensor failures. In:
Proc. of 10th international Workshop on Discrete Event Systems, Berlin,
Germany, 2010, p. 9499
CARVALHO, L. K. Diagnose Robusta de Sistemas a Eventos Discretos. Tese (Doutorado em UFRJ COPPE-PEE Programa de Engenharia
Eltrica) - Universidade Federal do Rio de Janeiro, 2011.
CARVALHO, L. K. BASILIO, J. C. , e MOREIRA, M. V. Robust diagnosis
of discrete event systems against permanent loss of observations.
Automatica. Vol. 49, Vol. 1, January 2013, p. 223-231.
174
REFERNCIAS BIBLIOGRFICAS
(Integrated
3
beta
1,
Discrete-Event
September
Systems)
2010
Disponvel
Releem:
<https://qshare.queensu.ca/Users01/rudie/www/software.html>. Acesso
em: 20 de Fevereiro, 2014.
REFERNCIAS BIBLIOGRFICAS
175
176
REFERNCIAS BIBLIOGRFICAS
LIMA, S,T., BASILIO, J.C., LAFORTUNE, S., MOREIRA, M.V. Bases Mnimas para a Diagnose de falhas de Sistemas a Eventos discretos.
Parte 1: Eventos Essenciais para a diagnose e Trajetrias Primas.
XVIII Congresso Brasileiro de Automtica, Setembro 2010, Bonito-MS,
2010b.
LIN, F. Diagnosability of discrete event systems and its applications,
Journal of Discrete Event Dynamic Systems, v. 4, p. 197212, 1994.
LIN, W. C.,Garcia, H. E., Yoo, T. S. A diagnoser algorithm for anomaly
detection in DEDS under partial and unreliable observations: characterization and inclusion in sensor configuration optimization. Discrete Event Dynamic Systems (2013) 23:6191.
Lunze, J., Schrder, J. (2004). Sensor and actuator fault diagnosis of
systems with discrete inputs and outputs, IEEE Trans. Systems, Man
and Cybernetics, Part B, Vol.34, n. 3, 2004, p. 1096-1107.
MAAS, D. N., LEAL, A. B., PINOTTI, A. J. Sntese e Implementao de
Controle Supervisrio Monoltico para um Ice Maker. XIX Congresso
Brasileiro de Automtica (CBA), Setembro 2012, Campina Grande-PB.
MOREIRA, M. V., JESUS, T. CARVALHO, K. L., BASILIO J. C. Um novo
Algortimo para Verificao da Diagnosticabilidade Descentralizada
de Sistemas a Eventos Discretos. XVIII Congresso Brasileiro de Automtica (CBA), Setembro 2010, Bonito-MS.
QIU W.; KUMAR, R. Decentralized Failure Diagnosis of Discrete Event
Systems, IEEE Transactions on Systems, Man and Cybernetics- Part A:
Systems and Humans, 2005.
RAMADGE, P. J.; WONHAM, W. M. The Control of Discrete Event Systems, Proceedings of IEEE,Vol. 77, n. 1, 1989, p. 81-98.
RIVIERA, M. H. M. Diagnstico de Falhas em Sistemas a Eventos
Discretos: Uma Proposta de Aplicao em Processos de Separao
leo-Gs, Dissertao de Mestrado, COPPE/UFRJ, 2007.
REFERNCIAS BIBLIOGRFICAS
177
(ST
Visual
STM8
MCUs
Develop)
applications,
IDE
for
Setembro
developing
2010
ST7
and
Disponvel
em:
<http://www.st.com/web/catalog/tools/FM147/CL1794/SC1808/SS1767/
PF210567> . Acesso em: 15 de Agosto de 2014.
TEIXEIRA, E. Diagnstico Inteligente de Falhas em um Processo de
Separao leo-Gs em Plataformas Offshore, Dissertao de Mestrado, COPPE/UFRJ, 1993.
WANG, Y., YOO, T. S. e LAFORTUNE, S. Diagnosis of Discrete Event
Systems using Decentralized Architectures, Discrete, Event Dynamic
Systems: Theory and Applications , Vol. 17, No. 2, June 2007, p. 233-263.
WOLF, W., Computers as Components Principles of Embedded Computing System Design, Second Edition, Morgan Kaufmann Publishers
2008, Chapter 1.
ZAD, S. H., KWONG, R. H. e WONHAM, W. M. Fault diagnosis in
discrete-event systems: framework and model reduction, IEEE Transactions on Automatic Control, 2003, p. 11991212.
ZOETEWEIJ, P., PIETERSMA, J., ABREU, R., FELDMAN, A. e GEMUND,
A. J. C. Automated Fault Diagnosis in Embedded Systems, The Second International Conference on Secure System Integration and Reliability Improvement, 2008