You are on page 1of 118

UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC

CENTRO DE CINCIAS TECNOLGICAS CCT


DEPARTAMENTO DE ENGENHARIA ELTRICA DEE
COORDENAO DO PROGRAMA DE PS-GRADUAO
EM ENGENHARIA ELTRICA PPGEEL



Formao: Mestrado Profissional em Engenharia Eltrica




DISSERTAO DE MESTRADO OBTIDA POR
Carlos Alberto Teixeira

APLICAO DA TEORIA DE CONTROLE SUPERVISRIO NO
PROJETO DE CONTROLADORES PARA ELETRODOMSTICOS
JOINVILLE
2008
UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC
CENTRO DE CINCIAS TECNOLGICAS CCT
DEPARTAMENTO DE ENGENHARIA ELTRICA DEE
COORDENAO DO PROGRAMA DE PS-GRADUAO
EM ENGENHARIA ELTRICA PPGEEL
CARLOS ALBERTO TEIXEIRA
APLICAO DA TEORIA DE CONTROLE SUPERVISRIO NO
PROJETO DE CONTROLADORES PARA ELETRODOMSTICOS
JOINVILLE
2008
Dissertao apresentada Universidade do
Estado de Santa Catarina como requisito para a
obteno do grau de Mestre em Engenharia
Eltrica.

Orientador: Andr Bittencourt Leal, Dr.

ii


UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC
CENTRO DE CINCIAS TECNOLGICAS CCT
COORDENAO DO PROGRAMA DE PS-GRADUAO
EM ENGENHARIA ELTRICA - PPGEEL
APLICAO DA TEORIA DE CONTROLE SUPERVISRIO NO
PROJETO DE CONTROLADORES PARA ELETRODOMSTICOS
por
Carlos Alberto Teixeira
Esta dissertao foi julgada adequada para a obteno do ttulo de
MESTRE EM ENGENHARIA ELTRICA
rea de Concentrao em Automao de Sistemas,
e aprovada em sua forma final pelo
CURSO DE MESTRADO PROFISSIONAL EM ENGENHARIA ELTRICA
CENTRO DE CINCIAS TECNOLGICAS
UNIVERSIDADE DO ESTADO DE SANTA CATARINA

Banca Examinadora:



















______________________________________
Andr Bittencourt Leal, Dr.
CCT/UDESC (Presidente)

______________________________________
Max Hering de Queiroz, Dr.
DAS/UFSC

______________________________________
Fbio Rodrigues de la Rocha, Dr.
CCT/UDESC

______________________________________
Tatiana Renata Garcia, Dra.
IST/SOCIESC

______________________________________
Rogrio Romariz Ferreira, ME.
Whirlpool S. A.
Joinville, SC, 31 de julho de 2008

iii
FICHA CATALOGRFICA










NOME: TEIXEIRA, Carlos Alberto
DATA DEFESA: 31/07/2008
LOCAL: Joinville/SC, CCT/UDESC
NVEL: Mestrado NMERO DE ORDEM: 09 CCT/UDESC
FORMAO: Engenharia Eltrica
REA DE CONCENTRAO: Automao de Sistemas
TTULO: Aplicao da Teoria de Controle Supervisrio no Projeto de Controladores para
Eletrodomsticos
PALAVRAS - CHAVE: Sistemas a Eventos Discretos, Controle Supervisrio, Abordagem
Modular Local, Sistemas Embarcados.
NMERO DE PGINAS: xxi, 96 p.
CENTRO/UNIVERSIDADE: Centro de Cincias Tecnolgicas da UDESC
PROGRAMA: Ps-Graduao em Engenharia Eltrica - PPGEEL
CADASTRO CAPES: 41002016012P0
ORIENTADOR: Andr Bittencourt Leal, Dr.
PRESIDENTE DA BANCA: Andr Bittencourt Leal, Dr.
MEMBROS DA BANCA: Dr. Max Hering de Queiroz, Dr. Fbio Rodrigues de la Rocha,
Dra. Tatiana Renata Garcia, ME. Rogrio Romariz Ferreira

iv







minha esposa Fabola.
Aos meus pais Osny e Snia.

v



Bom mesmo ir luta com determinao,
abraar a vida com paixo, perder com classe
e vencer com ousadia, pois o triunfo pertence
a quem se atreve e a vida muito curta para
ser insignificante.
Charles Chaplin

vi
AGRADECIMENTOS
A Deus, por permitir-me existir e pelas conseqncias decorrentes.
minha querida esposa Fabola, pelo amor e carinho, onipresentes e imprescindveis.
Aos meus pais, Osny Teixeira e Snia Dahmer, por serem, simplesmente, meus pais.
Ao professor Andr Bittencourt Leal, melhor sinnimo para o termo orientador, que
conforme Aurlio, significa aquele que orienta. E ademais, um excelente amigo tambm!
Aos membros da banca examinadora, Max Hering de Queiroz, Fbio Rodrigues de la
Rocha, Tatiana Renata Garcia e Rogrio Romariz Ferreira, pelas preciosas contribuies ao
aperfeioamento deste trabalho.
Aos meus irmos e irms, Bruno Amarildo Teixeira, Maria Teresa Teixeira Amarante,
Darci Roberto Teixeira, Mrio Srgio Teixeira, Isabel Teixeira, Camila Teixeira e Leandro
Chaves. Aos meus demais familiares e aos familiares de minha esposa, em especial ao
Fabiano Menegat, pelo importante auxlio e apoio.
A todos que, de diversas formas e em diferentes intensidades, contriburam com este
trabalho. Meu obrigado aos amigos Edu de Moraes Machado, Jos Feuser Filho, Jnatas
Diogo Mller, Bruna Zanicoski, Naelton Oliveira de Souza, Lucas Mondardo Cnico, Nerian
Ferreira, Sidnei Ferrarezi, Hugo Kamigouchi, Sandra Rosa e Felipe Melo, sem claro deixar
de mencionar os amigos Marcelo Zanelato, Gnter Jonhann Maass, Roberto Andrich, Luiz
Von Dokonal, Ronaldo Ribeiro Duarte, Paulo Srgio Dainez, Marcelo Fernandes Alves,
Cludio Eduardo Soares, Laudo Lamin, Anderson Alves, Douglas Pereira da Silva e Cludio
Bruning, e de certamente incluir nesta lista os excelentes profissionais e amigos Cristiane
Delboni e Liam Cotter. Agradeo em especial ao amigo Rogrio Romariz Ferreira, um
incentivador e entuasista e um notvel colaborador!
Universidade do Estado de Santa Catarina (UDESC) e aos professores e
funcionrios desta instituio, pela oportunidade de desenvolvimento, nos nveis de graduao
e mestrado. Em especial, agradeo aos professores Milton Procpio de Borba, Mairton de
Oliveira Melo e Antonio Heronaldo de Sousa, exemplos a seguir, inatingveis no entanto.
Ao Andr Rabner, da Artimar, e ao Marcelo Patrcio, da NXP, pelo suporte contnuo.
A todos que deveriam ser citados, mas que no foram, por mero esquecimento meu.

vii
RESUMO

Este trabalho apresenta um procedimento de projeto de controladores para
eletrodomsticos, concebido com base na Teoria de Controle Supervisrio (TCS) de sistemas
a eventos discretos. Aplica-se a abordagem de controle modular local na sntese automtica
dos supervisores. O uso de uma linguagem formal requer a consistncia dos modelos e
garante que os supervisores sintetizados so timos, no sentido de serem minimamente
restritivos e no bloqueantes. O desenvolvimento de uma estrutura contendo um Mini-
Refrigerador Peltier controlado por um circuito eletrnico, permite criar e validar diferentes
estratgias de controle a serem implementadas em refrigeradores domsticos e comerciais. A
aplicao e validao experimental do procedimento de projeto feita atravs da soluo de
um problema real, o controle de um Mini-Refrigerador de acordo com um conjunto de
especificaes. Aspectos importantes relacionados ao desenvolvimento de controles
embarcados em bens de consumo eletrnicos, comumente produzidos em larga escala e
comercializados em diferentes mercados, tais como manuteno de documentao atualizada,
velocidade e flexibilidade na criao de variaes de plataforma, uso de modelos para melhor
comunicao entre profissionais, desenvolvimento de solues confiveis e possibilidade de
gerao automtica de cdigo, so naturalmente abordados com o procedimento proposto.


Palavras-chave: Sistemas a Eventos Discretos. Controle Supervisrio. Abordagem
Modular Local. Sistemas Embarcados.

viii
ABSTRACT

This work presents a design procedure of controllers for household appliances, based
on the Supervisory Control Theory (SCT) of discrete event systems. The local modular
control approach is applied in the automatic supervisor synthesis. The use of a formal
language requires model consistency and assures that the synthesized supervisors are
optimum, in the sense of being minimally restrictive and non-blocking. The development of a
structure containing a Peltier Mini-Refrigerator controlled by an electronic circuit allows to
create and validate different control strategies to be implemented in household and
commercial refrigerators. The application and experimental validation of this design
procedure is performed through the solution of a real problem, the control of a Mini-
Refrigerator according to a set of specifications. Significant issues related to the design of
embedded controls for electronic commodities, commonly produced in large scale and sold at
different markets, such as maintenance of updated documentation, fast and flexible generation
of platform variations, use of models for better communication among professionals,
development of reliable solutions and possibility of automatic code generation, are naturally
approached with the proposed procedure.


Key-words: Discrete Event Systems. Supervisory Control. Local Modular Approach.
Embedded Systems.

ix
SUMRIO

Lista de Figuras ................................................................................................. xii
Lista de Tabelas................................................................................................ xvi
Lista de Abreviaturas...................................................................................... xvii
Lista de Smbolos............................................................................................xviii

1 Introduo......................................................................................................... 1
2 Reviso Bibliogrfica da Teoria de Controle Supervisrio.......................... 4
2.1 Caracterizao dos Sistemas a Eventos Discretos .............................................. 4
2.2 Conjuntos e Funes.............................................................................................. 6
2.3 Alfabetos e Palavras .............................................................................................. 8
2.4 Linguagens: Definio e Operaes ..................................................................... 8
2.4.1 Concatenao............................................................................................... 8
2.4.2 Prefixo-Fechamento..................................................................................... 8
2.4.3 Fechamento Kleene ..................................................................................... 9
2.4.4 Projees...................................................................................................... 9
2.4.5 Produto Sncrono ......................................................................................... 9
2.5 Expresses Regulares .......................................................................................... 10
2.6 Autmatos Determinsticos de Estados Finitos................................................. 10
2.7 Representaes de SEDs por Linguagens e Autmatos ................................... 12
2.7.1 Acessibilidade e Co-Acessibilidade de um SED....................................... 13
2.7.2 Bloqueio num SED.................................................................................... 13
2.7.3 Composio Sncrona de Autmatos......................................................... 14
2.8 Controle Supervisrio de SEDs: Abordagem Monoltica................................ 16
2.8.1 Modelagem da Planta ................................................................................ 17
2.8.2 Modelagem das Especificaes de Controle ............................................. 18
2.8.3 Clculo da Linguagem Alvo...................................................................... 18
2.8.4 Clculo do Supervisor ............................................................................... 18
2.9 Controle Supervisrio de SEDs: Abordagem Modular Local......................... 21
2.9.1 Modelagem por Sistema Produto .............................................................. 22
2.9.2 Sntese dos Supervisores ........................................................................... 22
2.10 Reduo de Supervisores ............................................................................... 24

x
2.11 Concluses ....................................................................................................... 25
3 Procedimento de Projeto de Controladores para Eletrodomsticos ......... 26
3.1 Problema Motivador ........................................................................................... 26
3.1.1 Caracterizao do Refrigerador Autnomo ............................................... 26
3.1.2 Descrio dos Objetivos de Controle ........................................................ 27
3.2 Sntese dos Supervisores ..................................................................................... 29
3.2.1 Descrio dos Eventos............................................................................... 29
3.2.2 Modelagem das Subplantas ....................................................................... 30
3.2.3 Especificaes de Controle........................................................................ 31
3.2.4 Representao por Sistema Produto .......................................................... 32
3.2.5 Sntese dos Supervisores ........................................................................... 32
3.3 Formalizao da Metodologia de Implementao............................................ 35
3.3.1 Arquitetura de Queiroz e Cury .................................................................. 35
3.3.2 Definio da Estrutura Proposta................................................................ 37
3.3.3 Representao do SP e dos SRs no Microcontrolador M........................... 38
3.3.4 Conveno de Etiquetagem dos Eventos................................................... 39
3.3.5 Priorizao de Eventos No Controlveis e Eventos Controlveis ........... 39
3.3.6 Dinmica de Processamento...................................................................... 39
3.3.7 Insensibilidade ao Entrelaamento de Eventos No Controlveis ............ 41
3.3.8 Priorizao de Eventos Controlveis......................................................... 43
3.4 Implementao do Refrigerador Autnomo....................................................... 45
3.4.1 Insensibilidade ao Entrelaamento de Eventos No Controlveis ............ 45
3.4.2 Rotinas de Baixo Nvel.............................................................................. 46
3.4.3 Funes de Leitura e Funes de Escrita................................................... 46
3.4.4 Priorizao de Eventos Controlveis......................................................... 47
3.4.5 Representao do SP e dos SRs no Microcontrolador M........................... 48
3.4.6 Estrutura de Implementao ...................................................................... 49
3.4.7 Condio Inicial......................................................................................... 50
3.4.8 Dinmica de Processamento...................................................................... 51
3.4.9 Cdigo de Implementao da Estrutura de Controle................................. 52
3.5 Resumo do Procedimento de Projeto................................................................. 55
3.5.1 Definio do Problema de Controle .......................................................... 55
3.5.2 Sntese dos Supervisores ........................................................................... 55
3.5.3 Implementao no Microcontrolador M.................................................... 56
3.5.4 Comentrios............................................................................................... 56
3.6 Concluses ............................................................................................................ 57
4 Projeto do Controlador de um Mini-Refrigerador ...................................... 58
4.1 Definio do Problema de Controle................................................................... 58
4.1.1 Caracterizao do Mini-Refrigerador........................................................ 58
4.1.2 Descrio dos Objetivos de Controle ........................................................ 67
4.2 Sntese dos Supervisores ..................................................................................... 68

xi
4.2.1 Descrio dos Eventos............................................................................... 68
4.2.2 Modelagem das Subplantas ....................................................................... 69
4.2.3 Modelagem das Restries Fsicas ............................................................ 70
4.2.4 Representao por Sistema Produto .......................................................... 71
4.2.5 Especificaes de Controle........................................................................ 72
4.2.6 Sntese dos Supervisores ........................................................................... 75
4.3 Implementao do Mini-Refrigerador................................................................ 81
4.3.1 Insensibilidade ao Entrelaamento de Eventos No Controlveis ............ 81
4.3.2 Rotinas de Baixo Nvel.............................................................................. 81
4.3.3 Priorizao de Eventos Controlveis......................................................... 82
4.3.4 Funes de Leitura..................................................................................... 83
4.3.5 Funes de Escrita..................................................................................... 84
4.3.6 Representao do SP e dos SRs no Microcontrolador M........................... 85
4.3.7 Condio Inicial......................................................................................... 88
4.4 Resultados Experimentais................................................................................... 88
4.5 Concluses ............................................................................................................ 91
5 Concluses e Perspectivas.............................................................................. 92
Referncias Bibliogrficas ................................................................................ 94


xii
Lista de Figuras

Figura 2.1 Trajetria de Estados de um SED (Cury, 2001).................................................................. 5
Figura 2.2 Trajetria de Estados de um Sistema Contnuo (Cury, 2001)............................................. 5
Figura 2.3 Autmato e Descrio Formal (da Cunha, 2003) ............................................................. 11
Figura 2.4 Modelo SED de uma Lmpada (Autmato e Linguagens) ............................................... 12
Figura 2.5 Componente Acessvel, Co-Acessvel e trim de um Autmato G (da Cunha, 2003) ....... 14
Figura 2.6 Autmatos G
1
e G
2
............................................................................................................ 16
Figura 2.7 Autmato G = G
1
|| G
2
...................................................................................................... 16
Figura 2.8 Esquema de Controle Supervisrio Monoltico (Ramadge e Wonham, 1989)................. 17
Figura 2.9 Planta G (Exemplo 2.6) .................................................................................................... 20
Figura 2.10 Autmato R que Representa a Linguagem Alvo K (Exemplo 2.6)................................. 20
Figura 2.11 Autmato P1.2 (Exemplo 2.6) ........................................................................................ 20
Figura 2.12 Autmato P1.3 (Exemplo 2.6) ........................................................................................ 21
Figura 2.13 Autmato P2.2 (Exemplo 2.6) ........................................................................................ 21
Figura 2.14 Autmato S que Representa a Mxima Linguagem Controlvel (Exemplo 2.6)............ 21
Figura 2.15 Representao por Sistema Produto (Pena, 2007) .......................................................... 22
Figura 2.16 Ilustrao para o Exemplo 2.7 ........................................................................................ 23
Figura 2.17 Esquema de Controle da Abordagem Modular Local (de Queiroz, 2004) ..................... 23
Figura 3.1 Diagrama do Refrigerador Autnomo .............................................................................. 27
Figura 3.2 Conceito de Evento de Limiar .......................................................................................... 27
Figura 3.3 Aspectos na Gerao de Eventos de Limiar ..................................................................... 28
Figura 3.4 Ajuste das Variveis T
Liga
e T
Desliga
em Funo de T
Amb
.................................................... 28
Figura 3.5 Estratgia de Controle....................................................................................................... 29
Figura 3.6 Autmato da Subplanta para o Compressor ..................................................................... 30

xiii
Figura 3.7 Autmato da Subplanta para o Ajuste de T
Liga
e T
Desliga
em Funo de T
Amb
..................... 31
Figura 3.8 Autmato da Subplanta para o Sensor A........................................................................... 31
Figura 3.9 Autmato da Subplanta para o Sensor B........................................................................... 31
Figura 3.10 Autmato da Especificao E
1
........................................................................................ 31
Figura 3.11 Autmato da Especificao E
2
........................................................................................ 32
Figura 3.12 Autmato da Planta Local G
L1
........................................................................................ 33
Figura 3.13 Autmato da Planta Local G
L2
........................................................................................ 33
Figura 3.14 Autmato do Supervisor Modular Local SL
1
.................................................................. 34
Figura 3.15 Autmato do Supervisor Modular Local SL
2
.................................................................. 34
Figura 3.16 Autmatos dos Supervisores Reduzidos......................................................................... 34
Figura 3.17 Arquitetura de Queiroz e Cury (de Queiroz e Cury, 2002)............................................. 36
Figura 3.18 Estrutura de Implementao ........................................................................................... 37
Figura 3.19 Fluxograma da Dinmica de Processamento .................................................................. 41
Figura 3.20 Supervisor para Distino de Seqncia de Eventos (Fabian e Hellgren, 1998) ............ 42
Figura 3.21 Supervisor Insensvel ao Entrelaamento ....................................................................... 43
Figura 3.22 Subplantas G
1
e G
2
e Especificao de Controle E......................................................... 44
Figura 3.23 SED sob Superviso: (a) Terico, (b) Ordenao <a
1
><a
2
>, (c) Ordenao <a
2
><a
1
>44
Figura 3.24 Autmato do Supervisor Modular Local SL
1
.................................................................. 45
Figura 3.25 Autmato do Supervisor Modular Local SL
2
.................................................................. 46
Figura 3.26 Estrutura de Implementao do Refrigerador Autnomo ............................................... 49
Figura 3.27 Cdigo ANSI C das Subplantas Assncronas ................................................................. 52
Figura 3.28 Cdigo ANSI C dos Supervisores Reduzidos................................................................. 53
Figura 3.29 Cdigo ANSI C que Implementa a Equao (3.1).......................................................... 54
Figura 3.30 Cdigo ANSI C que Implementa a Equao (3.2).......................................................... 54
Figura 3.31 Cdigo ANSI C que Implementa a Equao (3.3).......................................................... 55
Figura 4.1 Foto do Mini-Refrigerador ............................................................................................... 59
Figura 4.2 Diagrama do Mini-Refrigerador....................................................................................... 59
Figura 4.3 Vista Explodida do Mini-Refrigerador............................................................................. 60
Figura 4.4 Foto do Controle Eletrnico............................................................................................. 61
Figura 4.5 Detalhe dos Elementos da Interface com Usurio............................................................ 61
Figura 4.6 Diagrama de Blocos do Controle Eletrnico.................................................................... 62

xiv
Figura 4.7 Controle Eletrnico Bloco Filtragem............................................................................ 62
Figura 4.8 Controle Eletrnico Bloco Acionamento das Cargas Liga/Desliga.............................. 63
Figura 4.9 Controle Eletrnico Bloco Condicionamento dos Sinais dos Sensores......................... 64
Figura 4.10 Controle Eletrnico Bloco Controle do Damper Eletrnico....................................... 64
Figura 4.11 Princpio de Operao do Motor de Passo Bipolar ......................................................... 65
Figura 4.12 Ciclo de Energizao dos Enrolamentos A e B (Movimentao no Sentido Horrio) ... 65
Figura 4.13 Controle Eletrnico Bloco Interface com Usurio...................................................... 66
Figura 4.14 Controle Eletrnico Bloco Processamento ................................................................. 67
Figura 4.15 Autmatos das Subplantas G
i
, i = 1, 2 ............................................................................ 69
Figura 4.16 Autmatos das Subplantas G
i
, i = 3, 4, ..., 15 ................................................................. 70
Figura 4.17 Autmato da Subplanta G
16
............................................................................................ 70
Figura 4.18 Autmatos das Subplantas G
i
, i = 17, 18, 19 e 20 .......................................................... 70
Figura 4.19 Autmatos das Subplantas G
i
, i = 21, 22 e 23 ................................................................ 70
Figura 4.20 Autmatos das Restries Fsicas R
i
, i = 1 e 2................................................................ 71
Figura 4.21 Autmatos das Subplantas Assncronas SP
i
, i = 17 e 18 ................................................ 72
Figura 4.22 Autmatos das Especificaes E
i
, i = 1 e 2..................................................................... 72
Figura 4.23 Autmato da Especificao E
3
........................................................................................ 72
Figura 4.24 Autmato da Especificao E
4
........................................................................................ 73
Figura 4.25 Autmato da Especificao E
5
........................................................................................ 73
Figura 4.26 Autmato da Especificao E
6
........................................................................................ 73
Figura 4.27 Autmato da Especificao E
7
........................................................................................ 74
Figura 4.28 Autmato da Especificao E
8
........................................................................................ 74
Figura 4.29 Autmato da Especificao E
9
........................................................................................ 74
Figura 4.30 Autmato da Especificao E
10
....................................................................................... 75
Figura 4.31 Autmato dos Supervisores Reduzidos SR
i
, i = 1 e 2 ..................................................... 79
Figura 4.32 Autmato do Supervisor Reduzido SR
3
.......................................................................... 79
Figura 4.33 Autmato do Supervisor Reduzido SR
4
.......................................................................... 79
Figura 4.34 Autmato do Supervisor Reduzido SR
5
.......................................................................... 80
Figura 4.35 Autmato do Supervisor Reduzido SR
6
.......................................................................... 80
Figura 4.36 Autmato do Supervisor Reduzido SR
7
.......................................................................... 80
Figura 4.37 Autmato do Supervisor Reduzido SR
8
.......................................................................... 80

xv
Figura 4.38 Autmato do Supervisor Reduzido SR
9
.......................................................................... 80
Figura 4.39 Autmato do Supervisor Reduzido SR
10
......................................................................... 81
Figura 4.40 Controle de Temperatura ................................................................................................ 89
Figura 4.41 Lgica de Controle das Lmpadas 1 e 2 e Led de Porta Aberta .................................... 90
Figura 4.42 Lgica de Controle do Alarme de Porta Aberta ............................................................. 91


xvi
Lista de Tabelas

Tabela 3.1 Conjunto de Eventos No Controlveis ........................................................................... 30
Tabela 3.2 Conjunto de Eventos Controlveis ................................................................................... 30
Tabela 3.3 Processo de Obteno das Plantas Locais ........................................................................ 33
Tabela 3.4 Representao do SP no Microcontrolador M.................................................................. 38
Tabela 3.5 Representao dos SRs no Microcontrolador M............................................................... 39
Tabela 4.1 Conjunto de Eventos Controlveis ................................................................................... 68
Tabela 4.2 Conjunto de Eventos No Controlveis ........................................................................... 69
Tabela 4.3 Subplantas Assncronas do Sistema Produto.................................................................... 71
Tabela 4.4 Mapa de Eventos das Especificaes de Controle e Subplantas Assncronas.................. 76
Tabela 4.5 Identificao das Plantas Locais....................................................................................... 77
Tabela 4.6 Identificao das Plantas Locais Assncronas .................................................................. 78
Tabela 4.7 Caractersticas dos SLs ..................................................................................................... 78
Tabela 4.8 Caractersticas dos SRs..................................................................................................... 79


xvii
Lista de Abreviaturas

TCS Teoria de Controle Supervisrio
SED Sistema a Eventos Discretos
RW Ramadge-Wonham
RSP Representao por Sistema Produto
SE Sistema Embarcado
M Microcontrolador
P Planta
SP Sistema Produto
SL Supervisor Modular Local
SR Supervisor Modular Local Reduzido
I Interface
SO Seqncias Operacionais
RBN Rotina de Baixo Nvel
CLP Controlador Lgico Programvel
ANSI American National Standards Institute
e.r.a. em relao a
n.c.a. nenhuma das condies anteriores


xviii
Lista de Smbolos


Conjuntos e Funes
A, B, X, Y conjuntos
conjunto dos nmeros naturais
x, y elementos
x A
x pertence a A
x A
x no pertence a A
ou {} conjunto vazio
A B
A est contido em B
A B
A est contido propriamente em B
A B
A contm B
A B
A contm propriamente B
A = B A igual a B
A B
interseo de A com B
A B
unio de A com B
A B
diferena entre A e B
2
A
conjunto das partes de A
A B
produto cartesiano de A com B
f : A B funo f de A em B
f(x) valor que a funo f toma em x A
f
-1
: B A funo inversa de f, para o caso de f bijetora
f(X) imagem do conjunto X A pela funo f
f
-1
(Y) imagem inversa do conjunto Y B pela funo f
f
-1
(y) no caso de f possuir inversa, o valor de f
-1
em y B,
caso contrrio, imagem inversa do conjunto {y} B



xix
Linguagens

alfabeto

smbolo
smbolo em

palavra vazia
s, t palavras
s
*
palavra sobre

+
conjunto de todas as palavras de comprimento finito e no nulo sobre

*
conjunto de todas as palavras de comprimento finito sobre
st concatenao das palavras s e t
s t
s prefixo de t
s conjunto de todos os prefixos de s
L, K linguagens
L
*
linguagem sobre
LK concatenao das linguagens L e K
L
prefixo-fechamento da linguagem L

L
(s) conjunto ativo dos smbolos em L aps s L
L
*
fechamento Kleene da linguagem L
p
i
:
*

*
i
projeo de palavras sobre o alfabeto em palavras sobre
i

p
i
(s)
projeo da palavra s
*
em
*
i

p
i
(L) imagem da linguagem L
*
pela projeo p
i

-1
i
p (L
i
) imagem inversa da linguagem L
i

*
i
pela projeo p
i

-1
i
p (t) imagem inversa de t
L || K produto sncrono de L e K

Expresses Regulares
r, s expresses regulares
r + s expresso regular representando a unio de duas linguagens
rs expresso regular representando a concatenao de duas linguagens
r
*
expresso regular representando o fechamento Kleene de uma linguagem

Autmatos Determinsticos de Estados Finitos
G autmato (determinstico de estados finitos)
(Q, , q
0
, Q
m
, ) representao de um autmato G

alfabeto de G

xx
q
0
estado inicial de G
Q conjunto de estados de G
: Q Q funo de transio de G
Q
m
conjunto de estados marcados de G

: Q
*

funo de transio estendida para seqncias de eventos s
*

G
(q) conjunto ativo de eventos de G no estado q Q


Representaes de SEDs por Linguagens e Autmatos
L(G) linguagem gerada pelo autmato G
L
m
(G) linguagem marcada pelo autmato G
Ac(G) componente acessvel do autmato G
CoAc(G) componente co-acessvel do autmato G
trim(G) componente trim do autmato G
G
1
|| G
2
composio sncrona dos autmatos G
1
e G
2



Controle Supervisrio de SEDs: Abordagem Monoltica
G SED que representa a planta a ser controlada

conjunto de eventos da planta G

evento da planta G

c

conjunto de eventos controlveis da planta G

nc

conjunto de eventos no controlveis da planta G
L(G) linguagem gerada pela planta G
L
m
(G) linguagem marcada pela planta G
E especificao de controle para a planta G
K linguagem alvo de uma planta G

estrutura de controle para a planta G

padro de controle
S supervisor
S/G planta G sob superviso de S
L(S/G) linguagem gerada pela planta G sob superviso de S
L
m
(S/G) linguagem marcada pela planta G sob superviso de S
C(K, L(G)) linguagens controlveis contidas na linguagem alvo K de uma planta G
SupC(K, L(G)) elemento supremo de C, mxima linguagem controlvel contida em K



xxi
Controle Supervisrio de SEDs: Abordagem Modular Local
G
i
subsistema (subplanta) i
E
xj
especificao genrica local j
G
Lj
planta local j associada especificao genrica local E
xj

K
Lj
linguagem alvo da planta local G
Lj

SP
k
subplanta assncrona k
SL
j
supervisor modular local j
SR
j
supervisor modular local reduzido j


Formalizao da Metodologia de Implementao
L
u
(I
P
) funo de leitura de uma informao de P
I
P
informao de um elemento de P
E
v
() A
P

funo de escrita num elemento de P
A
P
atuao num elemento de P

c

evento controlvel

nc

evento no controlvel

evento vazio, que corresponde no ocorrncia de nenhum evento
SP
i
subplanta assncrona i
i
SP
matriz que representa a subplanta assncrona SP
i

EASP vetor que contm o estado ativo de cada subplanta assncrona SP
i

i
ECASP
vetor contendo os eventos controlveis ativos em cada estado de SP
i

SR
j
supervisor reduzido j
j
SR
matriz que representa o supervisor reduzido SR
j

EASR vetor que contm o estado ativo de cada supervisor reduzido SR
j

j
ECDSR
vetor contendo os eventos controlveis desabilitados em cada estado de SR
j

ECAH escalar contendo os eventos controlveis ativos no SP e habilitados nos SRs
s
1
e s
2

*
seqncias de eventos no controlveis
s
1
||| s
2
conjunto dos possveis entrelaamentos de s
1
e s
2


Equation Section 1


1
Captulo 1

Introduo
O projeto de sistemas de controle embarcados de alta confiabilidade sempre foi visto
como um requisito essencial em aplicaes crticas nos setores aeroespacial, aeronutico,
automobilstico, mdico, entre outros.
Recentemente, esta preocupao vem sendo percebida em reas antes consideradas
secundrias sob este ponto de vista, tais como produtos de consumo da linha branca
(refrigeradores, condicionadores de ar, foges) e da linha marrom (televisores, equipamentos
de udio e vdeo). Cada vez mais, institutos de regulamentao ampliam a exigncia ao
atendimento de aspectos de segurana destes equipamentos, relacionados tanto falhas de
hardware como de software. A certificao nestes institutos demanda uma documentao de
projeto rigorosa e um extenso relato dos testes de validao efetuados.
Adicionalmente, consenso que falhas na criao de lgicas de controle acarretam
num alto custo. Hoje existem milhes de programadores, que utilizam uma boa parcela do
tempo testando e depurando aplicaes. Quanto mais tarde a falha detectada, maior o seu
custo e o atraso de lanamento do produto. Conseqncias de falhas no campo, que resultam
em recalls e processos legais, so comumente delicadas e em alguns casos bastante drsticas.
Equipamentos como refrigeradores, condicionadores de ar e foges, podem ser vistos
como sendo sistemas a eventos discretos (SEDs), que so sistemas dinmicos que evoluem de
acordo com a ocorrncia abrupta, em intervalos de tempo irregulares e possivelmente
desconhecidos, de estmulos, denominados eventos. So exemplos de eventos o incio e o
trmino de uma tarefa e a percepo de uma mudana de estado em um sensor.
O projeto de controladores para SEDs atravs do uso de metodologias formais, que se
caracterizam pelo requisito de consistncia dos modelos concebidos, aumenta a identificao
de erros durante a fase de concepo e traz maior confiabilidade s solues desenvolvidas.
A Teoria de Controle Supervisrio (TCS) de sistemas a eventos discretos, introduzida
em 1989 por Ramadge e Wonham, uma abordagem para controle de SEDs, sob a tica da
Teoria de Controle, que modela os sistemas por linguagens formais e autmatos.


2
Esta teoria dispe de ferramentas automticas para o clculo de supervisores a partir
de pequenos modelos da planta e especificaes de controle, o que permite tratar problemas
complexos como sendo um conjunto de problemas menores. Alm disto, existe a garantia que
o supervisor obtido timo (no bloqueante e minimamente restritivo). Sua modelagem por
autmatos (grafos dirigidos), auxilia o processo de raciocnio em virtude da inerente
caracterstica visual, bem como permite a gerao automtica de cdigo.
A aplicabilidade da abordagem monoltica (Ramadge e Wonham, 1989) de controle
supervisrio em problemas reais bastante reduzida, pois tanto a planta como as
especificaes de controle so modeladas atravs de um nico autmato, e assim, o
procedimento inicial de modelagem da planta j pode induzir a uma exploso combinatria de
estados pela composio dos diversos subsistemas.
A abordagem modular local (de Queiroz e Cury, 2002) surgiu como uma alternativa
para reduzir a complexidade de sntese de supervisores para sistemas de maior porte.
Enquanto o controle monoltico usa a linguagem da planta completa para gerar as linguagens
desejadas, o controle modular local usa apenas as subplantas que so afetadas pelas
especificaes. Dessa forma, menos autmatos so compostos e os autmatos que
representam as linguagens alvo so menores que na abordagem monoltica.
Conseqentemente, a complexidade da sntese e os supervisores obtidos so menores
prevenindo-se assim a exploso combinatria de estados.
O uso da TCS na soluo de problemas prticos ainda restrito, com aplicaes
principalmente no controle de sistemas de manufatura, onde comumente empregam-se
controladores lgicos programveis (CLPs). So estudos nesta rea (Vieira, 2007) e (Brandin,
1996). Mais recentemente, tambm foi identificada a possibilidade de uso da TCS na soluo
de problemas de controle de sistemas embarcados, onde tipicamente utilizam-se
microcontroladores. So iniciativas nesta rea as referncias (Wood, 2005) e (Jonerlan, 2007).


As principais contribuies deste trabalho so listadas a seguir:
A criao de um procedimento de projeto de controladores para eletrodomsticos,
concebido com base na Teoria de Controle Supervisrio de sistemas a eventos discretos, que
utiliza a abordagem modular local para a sntese de supervisores e que define uma
metodologia para a implementao destes supervisores em microcontroladores.


3
A concepo e construo de um Mini-Refrigerador contendo dois compartimentos,
destinado ao desenvolvimento de lgicas de controle para refrigeradores e utilizado como um
ambiente real para a implementao e validao dos supervisores sintetizados.
A aplicao e validao experimental do procedimento de projeto por meio de um
problema real, o controle de um Mini-Refrigerador de acordo com um conjunto de
especificaes.
A publicao de quatro artigos nacionais (XVI e XVII Congresso Brasileiro de
Automtica CBA, 2006 e 2008, VIII Simpsio Brasileiro de Automao Inteligente SBAI,
2007 e XXXV Congresso Brasileiro de Educao em Engenharia COBENGE, 2007) e dois
artigos internacionais (VIII Conferncia Internacional de Aplicaes Industriais
INDUSCON, 2008 e IV IEEE Conference on Automation Science and Engineering IEEE
CASE, 2008).

O texto organizado como segue. No Captulo 2, so introduzidos os conceitos
essenciais da Teoria de Controle Supervisrio (TCS) de sistemas a eventos discretos (SEDs).
No Captulo 3, apresenta-se uma proposta de procedimento de projeto de controladores para
eletrodomsticos, concebida com base na TCS. A metodologia apresentada de forma
generalizada e seu uso ilustrado atravs da soluo de um problema motivador intitulado
Refrigerador Autnomo. No Captulo 4, o procedimento de projeto aplicado num problema
real, que consiste no controle de um Mini-Refrigerador contendo dois compartimentos. As
caractersticas construtivas deste Mini-Refrigerador, a sntese dos supervisores e a validao
experimental so apresentadas em detalhes. Por fim, no Captulo 5, sumarizam-se as
concluses e perpectivas.
Equation Section 2


4
Captulo 2

Reviso Bibliogrfica da
Teoria de Controle Supervisrio
Neste captulo so introduzidos os conceitos essenciais da Teoria de Controle
Supervisrio (Ramadge e Wonham, 1989) de sistemas a eventos discretos.
A organizao do captulo como segue. Na Seo 2.1 faz-se uma caracterizao dos
sistemas a eventos discretos, apresentando seus atributos principais, suas origens e seus
modelos de representao. Na Seo 2.2 so apresentadas definies bsicas de conjuntos e
funes. Na Seo 2.3 so apresentados os conceitos de alfabetos e palavras. A Seo 2.4
apresenta a definio e as principais operaes sobre linguagens. A Seo 2.5 apresenta as
expresses regulares e a Seo 2.6 define o conceito de autmato. A Seo 2.7 trata das
representaes de SEDs por linguagens e autmatos. A Seo 2.8 apresenta a abordagem
monoltica e a Seo 2.9 apresenta a abordagem modular local de controle supervisrio de
SEDs. E por fim, a Seo 2.10 trata resumidamente do tema reduo de supervisores.
2.1 Caracterizao dos Sistemas a Eventos Discretos
Um sistema a eventos discretos (SED) um sistema dinmico que evolui de acordo
com a ocorrncia abrupta, em intervalos de tempo irregulares e possivelmente desconhecidos,
de estmulos, denominados eventos (Cury, 2001). So exemplos de eventos o incio e o
trmino de funcionamento de um compressor e a percepo de uma mudana de estado
(aberto ou fechado) em um sensor de monitoramento de porta. Estes eventos so, por sua
natureza, instantneos, o que lhes confere um carter discreto no tempo. Entre a ocorrncia de
dois eventos consecutivos, o sistema permanece num determinado estado, e a ocorrncia de
um evento pode causar a transio ou mudana de estado.
A evoluo do sistema no tempo pode ser representada pela trajetria de estados
percorrida, conforme ilustrado na Figura 2.1 (Cury, 2001). Alm dos tempos onde ocorrem as
transies (t
1
, t
2
, t
3
e t
4
), assinalam-se os eventos correspondentes (, , e ). Note que um


5
mesmo evento pode ter efeitos diferentes, dependendo do estado em que ocorre. Por exemplo,
se o sistema est no estado x
1
e ocorre o evento o prximo estado ser x
4
, mas se o sistema
est no estado x
3
e ocorre o mesmo evento , volta-se para x
1
.

Figura 2.1 Trajetria de Estados de um SED (Cury, 2001)
Para os sistemas de interesse deste trabalho, assume-se que o conjunto de eventos
possveis finito. De forma geral, o nmero de estados pode ser ilimitado, embora a classe de
sistemas contendo um nmero finito de estados seja um caso especfico importante. Alguns
estados so de interesse particular. O estado inicial corresponde ao estado em que o sistema se
encontra antes de ocorrer o primeiro evento. Na prtica, em geral possvel forar um sistema
a voltar a esse estado, processo denominado de reinicializao (Cury, 2001). Outro conjunto
de estados que de interesse para a teoria de controle supervisrio de SEDs correspondem
finalizao de uma tarefa pelo sistema, chamados estados marcados.
Os SEDs diferem dos sistemas dinmicos contnuos, cujo espao de estados no
enumervel, como o conjunto dos reais. No sistema contnuo a evoluo do estado (varivel
dependente) uma funo do tempo (varivel independente). De acordo com o tipo de
evoluo temporal de um sistema contnuo, a transio de estados caracterizada por uma
equao diferencial, no caso do tempo contnuo, ou uma equao a diferenas, no caso do
tempo discreto. A Figura 2.2 representa uma trajetria tpica de estados de um sistema
contnuo regido por uma equao diferencial (Cury, 2001).

Figura 2.2 Trajetria de Estados de um Sistema Contnuo (Cury, 2001)


6
A trajetria de estados de um SED pode ser caracterizada pela seqncia de eventos
correspondentes percorrida, por exemplo,
1

2
...
n
, eventualmente incluindo o tempo em que
o evento ocorre, isto , (
1
, t
1
) (
2
, t
2
)... (
n
, t
n
). A qualidade da informao depende dos
objetivos da aplicao.
Segundo (Cury, 2001), a teoria de Sistemas a Eventos Discretos advm de diversas
outras reas, como a Teoria de Sistemas, a Cincia da Computao, os Sistemas em Tempo
Real, os Sistemas de Manufatura e a Pesquisa Operacional. Existem diversos modelos para
SEDs, sem que nenhum tenha se firmado como paradigma, como so as equaes diferenciais
e a diferenas para os sistemas contnuos. Esses modelos refletem os diferentes tipos de SEDs
bem como diferentes objetivos na anlise dos sistemas em estudo. Alguns dos modelos
utilizados so os autmatos e linguagens formais, as redes de Petri controladas ou no, as
cadeias de Markov, a lgebra Max-Plus, entre outros. Existem diversas abordagens para
SEDs, seja para o controle, a anlise de desempenho, a verificao formal de propriedades,
entre outras.
Das abordagens existentes, o interesse deste trabalho na Teoria de Controle
Supervisrio (Ramadge e Wonham, 1989), uma abordagem para controle de SEDs, sob a
tica da Teoria de Controle, que modela os sistemas por linguagens formais e autmatos.
2.2 Conjuntos e Funes
Um conjunto formado de objetos, chamados de elementos. A relao bsica entre um
elemento e um conjunto a pertinncia. Se um elemento x pertence a um conjunto A, denota-
se x A, e, caso contrrio, x A. O conjunto sem elementos denominado conjunto vazio e
denotado ou {}. Se todos os elementos de um conjunto A tambm so elementos de um
conjunto B, afirma-se que A est contido em B, ou que A um subconjunto de B, ou que A
parte de B, e denota-se A B (ou ainda que B contm A e B A). Alm disto, se existe y B
tal que y A, afirma-se que A B (ou ainda que B contm propriamente A e B A). Dois
conjuntos so ditos iguais se e somente se possuem os mesmos elementos, ou seja, A = B se e
somente se A B e B A. Por definio, o conjunto vazio subconjunto de qualquer
conjunto (da Cunha, 2003).
Dados dois conjuntos A e B, definem-se as operaes de unio, A B = {x : x A ou
x B}, interseo, A B = {x : x A e x B}, e diferena, A B = {x : x A e x B}. O
conjunto das partes de um conjunto A, ou conjunto de subconjuntos de A, denotado 2
A
,


7
definido por 2
A
= {X : X A}. O produto cartesiano de dois conjuntos A e B, denotado A B,
o conjunto de todos os pares ordenados (a, b) para os quais a A e b B (da Cunha, 2003).
Uma funo f : A B possui trs partes, um conjunto A, chamado domnio da funo,
ou o conjunto onde a funo definida, um conjunto B, chamado contradomnio da funo,
ou o conjunto onde a funo toma valores, e uma regra que permite associar, de um modo
bem determinado, a cada elemento x A um nico elemento f(x) B, chamado valor que a
funo assume em x. A natureza da regra que mostra como obter o valor f(x) B quando
dado x A inteiramente arbitrria, sendo sujeita apenas a duas condies: (i) no deve haver
excees, isto , a fim de que f tenha o conjunto A como domnio, a regra deve fornecer f(x)
para todo x A, e (ii) no deve haver ambigidades, a cada x A a regra deve fazer
corresponder um nico f(x) em B. Uma funo parcial f : A B uma funo onde a
condio (i) para a regra de atribuio de um valor f(x) B dado x A relaxada, isto , a
funo no definida para todo x A (da Cunha, 2003).
Uma funo f : A B chama-se injetora quando dados x e y quaisquer em A, f(x) =
f(y) implica x = y. Em outras palavras, quando x y em A implica f(x) f(y) em B. Uma
funo f : A B chama-se sobrejetora quando, para todo y B existe pelo menos um x A
tal que f(x) = y. Uma funo f : A B chama-se bijetora quando injetora e sobrejetora ao
mesmo tempo. Dada uma funo bijetora f : A B, define-se a funo inversa f
1
: B A
para todo y B por f
1
(y) = x onde x = f(y) (da Cunha, 2003).
Dada uma funo f : A B e uma parte X A, chama-se imagem de X pela funo f
ao conjunto f(X) formado pelos valores f(x) que f assume nos pontos x X, ou seja, f(X) =
{f(x) : x X}. O conjunto f(X) um subconjunto de B. Para que f : A B seja sobrejetora,
necessrio e suficiente que f(A) = B (da Cunha, 2003). Em geral, tem-se f(A) B. O conjunto
f(A) chamado a imagem da funo f.
Dada uma funo f : A B e um conjunto Y B, a imagem inversa de Y pela funo f
o conjunto f
1
(Y), formado por todos os x A tais que f(x) Y. Assim, f
1
(Y) = {x A :
f(x) Y} (da Cunha, 2003). Note que pode ocorrer f
1
(Y) = , mesmo que Y B seja no
vazio. Isso se d quando Y f(A) = , isto , quando Y no tem pontos em comum com a
imagem de f. Dado {y} B, escreve-se f
1
(y) em vez de f
1
({y}). Pode ocorrer que f
1
(y)
possua mais que um elemento, pois f pode no ser injetora. Usa-se o smbolo f
1
para denotar
a inversa de uma funo f e a imagem inversa de um conjunto por uma funo f.


8
2.3 Alfabetos e Palavras
Um alfabeto um conjunto finito e no vazio de smbolos
1
distintos. Uma palavra
2

finita sobre um alfabeto qualquer justaposio de um nmero finito de smbolos em , na
forma
1

2
...
n
, com
i
, para i {1, 2, ..., n} e n . A palavra vazia, denotada , a
palavra de comprimento nulo. Define-se
+
o conjunto de todas as palavras de comprimento
finito e no nulo sobre o alfabeto . Tambm define-se
*
=
+
{}, o conjunto
+

acrescido da palavra vazia . A concatenao de duas palavras s e s sobre o alfabeto ,
denotada ss, com s =
1

2
...
k
e s =
k+1

k+2
...
k+n
, definida por ss =
1

2
...
k

k+1

k+2
...

k+n
. Um prefixo de uma palavra s
*
qualquer palavra t
*
tal que concatenada com
outra palavra u
*
, forma a palavra s, isto , s = tu. Denota-se que t prefixo de s por t s.
Dada a palavra s, denota-se por s o conjunto de todos os prefixos de s (da Cunha, 2003).
2.4 Linguagens: Definio e Operaes
Dado um alfabeto , qualquer subconjunto de
*
uma linguagem sobre . O
conjunto , dito linguagem vazia, e o conjunto
*
so linguagens sobre (Cury, 2001).
As linguagens atendem s operaes usuais sobre conjuntos, tais como a unio e a
interseo . Alm destas, so aqui apresentadas outras cinco operaes.
2.4.1 Concatenao
A concatenao de duas linguagens quaisquer K e L sobre um alfabeto , denotada
KL, definida por KL = {kl
*
: (k K) e (l L)} (da Cunha, 2003).
2.4.2 Prefixo-Fechamento
Segundo (da Cunha, 2003), o prefixo-fechamento de uma linguagem L sobre o
alfabeto , denotado L , o conjunto de todos os prefixos de palavras em L, ou seja, L = {t

*
: (s L) t s}. Uma linguagem dita prefixo-fechada se L = L . Dadas uma
linguagem L sobre um alfabeto e a palavra s L , o conjunto ativo de smbolos de L aps s,
denotado
L
(s), o conjunto de todos os smbolos tais que s L , isto ,
L
(s) = {
: s L}.


1
No contexto de linguagens, eventos so chamados de smbolos.
2
Tambm chamada de seqncia, ou ainda, cadeia.


9
2.4.3 Fechamento Kleene
O fechamento Kleene de uma linguagem K sobre um alfabeto , denotado K
*
,
definido por

0
* i
i
K K

=
=

, (2.1)
onde K
i
denota a i-sima concatenao de K consigo mesma e K
0
= {} (da Cunha, 2003).
Exemplo 2.1 (Cury, 2001) Seja o alfabeto = {a, b, c} e as linguagens L
1
= {, a, abb} e L
2

= {c}. Verifica-se que L
1
e L
2
no so prefixo-fechadas. Verifica-se tambm que L
1
L
2
= {c,
ac, abbc},
1
L = {, a, ab, abb},
2
*
L = {, c, cc, ccc, ...}, L
1
L
2
= {, a, abb, c} e que
1
( ) ={ }
L
ab b .
2.4.4 Projees
Dados um alfabeto e um alfabeto
i
, a projeo de palavras sobre em palavras
sobre
i
uma funo p
i
:
*

*
i
(da Cunha, 2003), definida recursivamente por
p
i
() = (2.2)
( )
se
se
i
i
i
p

, para (2.3)
p
i
(s) = p
i
(s) p
i
(), para e s
*
(2.4)
A ao da projeo p
i
sobre a palavra s apagar todas as ocorrncias de smbolos
que no estejam em
i
, resultando uma palavra p
i
(s)
*
i
.
A imagem de uma linguagem L
*
pela projeo p
i
definida por p
i
(L) = {p
i
(s)
*
i
: s L} e a imagem inversa de uma linguagem L
i

*
i
pela projeo p
i
definida por
-1
i
p (L
i
) = {s
*
: (t L
i
) p
i
(s) = t} (da Cunha, 2003). Em particular, para L
i
= {t}
*
i
,
escreve-se
-1
i
p (t) no lugar de
-1
i
p ({t}) e diz-se imagem inversa de t.
2.4.5 Produto Sncrono
Sejam os alfabetos
1
e
2
, sendo possvel que
1

2
, e as linguagens L
1

1
*
e
L
2

2
*
. Define-se o produto sncrono de L
1
e L
2
, denotado L
1
|| L
2
, como sendo uma
linguagem sobre =
1

2
definida por
-1 -1
1 2 1 1 2 2
( ) ( ) L || L p L p L = , onde
-1
i
p (L
i
) a
imagem inversa da linguagem L
i

*
i
(da Cunha, 2003). Note que se u L
1
|| L
2
, ento p
1
(u)
L
1
e p
2
(u) L
2
. Quando
1
=
2
o produto sncrono corresponde interseo de linguagens,
e quando
1

2
= , chama-se o produto de assncrono.


10
2.5 Expresses Regulares
Dado um alfabeto , uma expresso regular definida recursivamente de acordo com
as seguintes regras (da Cunha, 2003):
1. (a) uma expresso regular, que representa a linguagem vazia.
(b) uma expresso regular, que representa a linguagem {}.
(c) uma expresso regular, que representa a linguagem {}, com .
2. Se r e s so expresses regulares, que correspondem s linguagens L
r
e L
s
,
respectivamente, ento rs, r
*
, s
*
e (r + s) so expresses regulares, que representam as
linguagens L
r
L
s
,
*
r
L ,
*
s
L e (L
u
L
s
), respectivamente.
3. Toda expresso regular obtida pela aplicao das regras 1 e 2 um nmero finito de
vezes.
Qualquer linguagem que possa ser descrita por uma expresso regular dita uma
linguagem regular e toda linguagem regular pode ser gerada por um autmato de estados
finitos (Hopcroft e Ullmann, 1979).
Exemplo 2.2 (Cury, 2001) Considere o alfabeto = {a, b, c}. So exemplos de expresses
regulares: (i) (a + b)c
*
= {a, b, ac, bc, acc, bcc, ...}, que representa a linguagem L = {todas as
palavras que comeam com a ou b e so seguidas por um nmero qualquer de cs}, (ii) (ab)
*

+ c = {c, , ab, abab, ababab, ...}, que representa a linguagem L = {todas as palavras
formadas por um nmero qualquer de abs ou uma ocorrncia de um c}.
Exemplo 2.3 (Cury, 2001) Considere o alfabeto = {a, b}, onde a e b representam
respectivamente a execuo das tarefas A e B num processador P. Possveis expresses
regulares, que representam uma restrio sobre o uso de P por A e B, so: (i) A
1
= (ab)
*
, que
expressa alternncia no uso de P por A e B, porm privilegia A ao garantir que A faa o
primeiro uso de P. (ii) A
2
= (a + b)
*
, que permite acesso irrestrito de P por A ou B. (iii) A
3
=
(ab)
*
+ (ba)
*
, que expressa alternncia no uso de P por A e B, sem priorizao no primeiro
acesso.
2.6 Autmatos Determinsticos de Estados Finitos
Um autmato determinstico de estados finitos G definido por uma quntupla G = (Q,
, q
0
, Q
m
, ) tal que (Cury, 2001):
Q um conjunto no vazio e finito de estados do autmato,
um alfabeto de eventos
3
,


3
No contexto de autmatos, smbolos so chamados de eventos.


11
q
0
Q o estado inicial do autmato,
Q
m
Q um conjunto de estados marcados
4
,
: Q Q uma funo de transio, possivelmente parcial, ou seja, no
necessariamente definida para todo estado de Q para todo evento de .
Um autmato pode ser visto como um dispositivo que, inicialmente no estado q
0
, l
permanece at a ocorrncia de um evento que dispara uma transio definida para q
0
at um
novo estado. O processo continua baseado nas transies definidas em .
A funo de transio , definida para um evento , pode ser estendida para
seqncias de eventos s
*
como a funo

: Q
*
Q tal que q Q, s
*
e
(Pena, 2007), de modo que

(q, ) = q,

(q, ) = (q, ) e

(q, s) = (

(q, s), ). Esta


funo de transio estendida

mapeia para qual estado de Q o sistema transita a partir de


um estado de Q com a ocorrncia de uma seqncia de eventos s
*
.
A definio de um autmato determinstico de estados finitos aqui apresentada difere
da definio clssica dos livros de teoria de linguagens formais e autmatos (Hopcroft e
Ullmann, 1979), por permitir que a funo de transio seja parcial. Tradicionalmente, na
teoria de controle supervisrio, o autmato determinstico de estados finitos denominado
gerador (Wonham, 2002). Entretanto, este trabalho segue a nomenclatura da literatura recente,
onde se usa o termo autmato para denominar um gerador.
Representa-se um autmato de forma grfica por um grafo dirigido, onde os ns
representam os estados e os arcos etiquetados representam as transies entre os estados. O
estado inicial identificado por uma seta apontando para si e os estados marcados so
representados por crculos duplos. A Figura 2.3 apresenta um autmato determinstico de
estados finitos e sua descrio formal (da Cunha, 2003).

0 1 2
a b b
a
a
c
c
G
G = (Q, , q
0
, Q
m
, )

Q = {0, 1, 2}
= {a, b, c}
q
0
= 0
Q
m
= {0, 2}
(0, a) = 0
(0, c) = 2
(1, a) = 0
(1, b) = 1
(2, a) = 1
(2, b) = 2
(2, c) = 1
Figura 2.3 Autmato e Descrio Formal (da Cunha, 2003)


4
Tambm chamados de estados finais.


12
Aplicando o conceito de funo de transio estendida

para o autmato da Figura


2.3, tem-se

(0, cba) = (

(0, cb), a) = ( (

(0, c), b), a) = ( (2, b), a) = (2, a) = 1.


Dado um autmato G = (Q, , q
0
, Q
m
, ), define-se o conjunto ativo de eventos de G
no estado q Q, denotado
G
(q), pelo conjunto
G
(q) = { : (q, ) definido} (da
Cunha, 2003). No autmato da Figura 2.3, tem-se
G
(0) = {a, c} e
G
(1) = {a, b}.
Define-se o estado ativo de um autmato G, como sendo o estado que o autmato
transita, partindo do estado inicial, aps a ocorrncia de uma seqncia de eventos s
*
. Por
exemplo, o estado ativo do autmato G ilustrado na Figura 2.3, aps a ocorrncia da
seqncia de eventos aca, 1.
2.7 Representaes de SEDs por Linguagens e Autmatos
Um autmato G est associado a duas linguagens, a linguagem gerada L(G) e a
linguagem marcada L
m
(G). A linguagem gerada de G L(G) = {s
*
:

(q
0
, s) definida} e
a linguagem marcada de G L
m
(G) = {s L(G) :

(q
0
, s) Q
m
} (da Cunha, 2003).
Em palavras, a linguagem L(G) representa todas seqncias de eventos (smbolos) que
podem ser seguidas no autmato, partindo do estado inicial. A linguagem L
m
(G) representa
todas as seqncias de eventos (smbolos) que partindo do estado inicial chegam a um estado
marcado. Segundo (Cury, 2001), um SED pode ser modelado por um autmato G, onde L(G)
o comportamento gerado pelo sistema e L
m
(G) o comportamento marcado ou conjunto de
tarefas completas do sistema.
Exemplo 2.4 Considere um SED que modela uma lmpada, que pode estar desligada ou
ligada. Um possvel autmato deste SED apresentado na Figura 2.4. Pode-se identificar =
{l, d} como o conjunto de eventos associados lmpada, onde l corresponde ao evento ligar
lmpada e d corresponde ao evento desligar lmpada. Neste caso, a linguagem L(G), que
corresponde ao comportamento gerado, consiste de todas as seqncias de eventos que
alternam os dois eventos considerados, iniciando com l e finalizando com l ou d. Observe que
L(G), correspondendo situao da lmpada no seu estado inicial. Se for considerado
como tarefa completa as seqncias que a levam condio lmpada desligada, pode-se
afirmar que L
m
(G) consiste de todas as seqncias de L(G) que terminam com d, acrescida da
seqncia .


L(G) = {, l, ld, ldl, ldld, ldldl, ...} = (ld)
*
( + l)
L
m
(G) = {, ld, ldld, ldldld, ...} = (ld)
*

Figura 2.4 Modelo SED de uma Lmpada (Autmato e Linguagens)


13
De acordo com o Teorema de Kleene (Hopcroft e Ullmann, 1979), se uma linguagem
L regular ento existe um autmato determinstico de estados finitos G tal que L
m
(G) = L, e
que, se o autmato G determinstico de estados finitos ento L
m
(G) regular. Assim, pode-
se afirmar que os autmatos determinsticos de estados finitos e as expresses regulares
possuem o mesmo poder de expresso (da Cunha, 2003), pois ambos conseguem representar a
mesma classe de linguagens, as linguagens regulares.
Dada uma linguagem regular L, existe mais de um autmato G tal que L
m
(G) = L.
Autmatos G
1
e G
2
para os quais L(G
1
) = L(G
2
) e L
m
(G
1
) = L
m
(G
2
) so ditos serem autmatos
equivalentes. Por outro lado, dois autmatos so ditos serem isomorfos quando G
1
= G
2
, a
menos de uma renomeao de estados (da Cunha, 2003).
2.7.1 Acessibilidade e Co-Acessibilidade de um SED
Um SED dito acessvel se todos os seus estados forem acessveis. Um estado q Q
dito acessvel se existe s
*
tal que

(q
0
, s) = q, ou seja, se existir pelo menos uma
seqncia de eventos s que, a partir do estado inicial q
0
leve ao estado q (Pena, 2007). A
componente acessvel de um autmato G, denotada Ac(G) obtida a partir de G por
eliminao dos estados no acessveis e transies associadas (Cury, 2001).
Um SED co-acessvel se todos os seus estados so co-acessveis. Um estado q Q
dito co-acessvel se existe s
*
tal que

(q, s) Q
m
, ou seja, se existir pelo menos uma
seqncia de eventos s a partir do estado q Q que leve a um estado marcado q Q
m
(Pena,
2007). A componente co-acessvel de um autmato G, denotada CoAc(G), obtida pela
eliminao dos estados no co-acessveis (estados alcanados por seqncias de eventos que
no podem ser completadas em tarefas) de G e transies associadas (Cury, 2001).
Um SED dito trim
5
se for acessvel e co-acessvel. Tambm define-se a componente
trim de um autmato G, denotada trim(G), obtida a partir de G por eliminao dos estados no
acessveis e no co-acessveis. A componente trim de um autmato G obtida fazendo-se
trim(G) = CoAc[Ac(G)] = Ac[CoAc(G)] (Cury et al., 2001).
2.7.2 Bloqueio num SED
O bloqueio de um SED est associado impossibilidade de completar uma tarefa
(atingir um estado marcado) a partir de um dado estado. Quando isto acontece, nem todos os
estados acessveis do SED so co-acessveis e o sistema dito bloqueante (Pena, 2007).


5
Tambm chamado de aparado.


14
Um SED no bloqueante se e somente ( ) ( )
m
L G L G = , isto , se o autmato
correspondente for trim. A Figura 2.5 ilustra um autmato G, a componente acessvel Ac(G),
a componente co-acessvel CoAc(G) e a componente trim(G) (da Cunha, 2003).


Figura 2.5 Componente Acessvel, Co-Acessvel e trim de um Autmato G (da Cunha, 2003)
A condio de bloqueio de um SED caracteriza algumas situaes indesejadas no
funcionamento do sistema. A situao de deadlock caracterizada pela existncia de um
estado de onde o sistema no pode mais evoluir, estado este que no corresponde a uma tarefa
completa. A situao de livelock caracterizada pela existncia de um conjunto de estados
onde a evoluo do sistema fica confinada, sem que nenhuma tarefa seja completa.
Se o autmato G da Figura 2.5 representa o comportamento de um SED, este SED
bloqueante. O estado 5 de G corresponde a um deadlock, ao passo que os estados 3 e 4
correspondem a um livelock. J o estado 7 no corresponde a um deadlock pois este
corresponde a uma tarefa completa do sistema, isto , 7 um estado marcado.
2.7.3 Composio Sncrona de Autmatos
Segundo (Cury, 2001), a modelagem de um SED por autmatos, pode ser em princpio
abordada de duas maneiras: uma abordagem global e uma abordagem local. Na abordagem


15
global o sistema analisado como um todo e procura-se por um autmato que represente
todas as seqncias possveis de eventos que ele pode gerar e tarefas que pode completar.
Para sistemas de maior porte, esta pode ser uma tarefa de grande complexidade. Alm disso,
qualquer alterao no sistema, por exemplo, pela incluso ou retirada de elementos, ou
modificao em sua lgica de controle, requer a reconstruo do modelo como um todo.
Por outro lado, ainda conforme (Cury, 2001), em geral um SED pode ser visto como a
composio de subsistemas regidos pela ao de um ou mais controladores que impem
restries de coordenao ao sistema. A abordagem local de modelagem parte do princpio de
que se pode construir modelos locais para cada subsistema, e que se pode compor os mesmos
para obter um modelo do sistema global. Uma abordagem de modelagem localizada, sugere
maior facilidade na obteno de modelos de sistemas de maior porte. Alm disso, permite
pressupor que alteraes num subsistema ou em alguma restrio somente exigiro uma
mudana no modelo especfico correspondente. A aplicabilidade da abordagem local para
modelagem de SEDs por autmatos viabilizada pela operao de composio de autmatos.
Dados dois autmatos G
1
= (Q
1
,
1
, q
01
, Q
m1
,
1
) e G
2
= (Q
2
,
2
, q
02
, Q
m2
,
2
), define-se
a composio sncrona de G
1
e G
2
, denotada G
1
|| G
2
, pelo autmato
G
1
|| G
2
= Ac(Q
1
Q
2
,
1

2
, (q
01
, q
02
), Q
m1
Q
m2
,
12
) (2.5)
onde
12
: (Q
1
Q
2
) (
1

2
) (Q
1
Q
2
) definida por
( ) ( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
1 2
1
2
1 1 2 2 1 2
1 1 2 1 2
12 1 2
1 2 2 2 1
se
se

se
no definida caso contrrio
G G
G
G
q , , q , q q
q , ,q q
q , q ,
q , q , q






=

(2.6)
para (q
1
, q
2
) Q
1
Q
2
e
1

2
(Cury, 2001).
Na composio sncrona, um evento comum a G
1
e G
2
s ocorre se puder ser
executado sincronamente nos dois autmatos. Os demais eventos ocorrem assincronamente,
isto , de modo independente em cada um dos autmatos.
Verifica-se que se G = G
1
|| G
2
, ento L(G) = L(G
1
) || L(G
2
) e L
m
(G) = L
m
(G
1
) || L
m
(G
2
),
isto , as linguagens da composio sncrona so os produtos sncronos das linguagens
respectivas dos autmatos componentes. Para o caso em que
1
=
2
, a composio
completamente sncrona, isto , todos os eventos devem ser sincronizados entre G
1
e G
2
e
tem-se L(G
1
) || L(G
2
) = L(G
1
) L(G
2
) e L
m
(G
1
) || L
m
(G
2
) = L
m
(G
1
) L
m
(G
2
), isto , as
linguagens da composio sncrona so as intersees das linguagens respectivas dos
componentes. No caso oposto em que
1

2
= , no existe nenhuma sincronizao entre


16
os eventos dos dois autmatos. Pode-se provar que a composio sncrona comutativa, isto
, G
1
|| G
2
= G
2
|| G
1
, e associativa, isto , (G
1
|| G
2
) || G
3
= G
1
|| (G
2
|| G
3
), assim, pode-se
estender a composio sncrona para mais de dois autmatos (da Cunha, 2003).
Se todos os alfabetos dos autmatos so assncronos entre si, o nmero de estados do
autmato resultante cresce exponencialmente com o nmero de autmatos compostos (Pena,
2007).
Exemplo 2.5 (Wonham, 2002) Considere os autmatos G
1
e G
2
apresentados na Figura 2.6,
que possuem alfabetos
1
= {a, b} e
2
= {b, c}, respectivamente.

Figura 2.6 Autmatos G
1
e G
2

A composio sncrona de G
1
com G
2
, isto , G = G
1
|| G
2
, ilustrada na Figura 2.7.

Figura 2.7 Autmato G = G
1
|| G
2

2.8 Controle Supervisrio de SEDs: Abordagem Monoltica
A abordagem monoltica (Ramadge e Wonham, 1989) para o controle supervisrio de
SEDs, faz distino entre o sistema a controlar, denominado planta, e o agente de controle,
denominado supervisor.
A planta corresponde, em geral, a um conjunto de sistemas componentes atuando em
paralelo para realizar uma dada funo. Cada componente possui um comportamento
individual e a composio dos comportamentos dos componentes define o comportamento da
planta. A planta modela todos os comportamentos possveis em malha aberta, inclusive os
indesejveis para o funcionamento conjunto dos componentes (da Cunha, 2003).
Deseja-se impor planta um conjunto de restries de coordenao, a fim de que o
funcionamento conjunto dos componentes atenda a certas especificaes de controle. De
modo a fazer com que os componentes da planta atuem de forma coordenada, introduzido
um agente de controle denominado supervisor (Cury, 2001).


17
O supervisor interage com a planta numa estrutura em malha fechada, como indicado
na Figura 2.8 (Ramadge e Wonham, 1989).

Figura 2.8 Esquema de Controle Supervisrio Monoltico (Ramadge e Wonham, 1989)
Supe-se que a planta gera eventos de forma espontnea, e supe-se que o
supervisor possui a habilidade de proibir a ocorrncia de certos eventos na planta.
Na teoria de controle de Ramadge e Wonham, o conjunto de eventos particionado
em eventos controlveis e no controlveis ( =
c

nc
). Os eventos em
c
podem ser
desabilitados enquanto os eventos de
nc
no podem ser desabilitados pela ao de controle,
ou seja, so considerados permanentemente habilitados. Sinais de comando para a planta so
modelados como eventos controlveis e sinais de resposta da planta so modelados como
eventos no controlveis.
Um evento cuja ocorrncia permitida pelo supervisor dito habilitado, caso
contrrio, o evento dito desabilitado. A entrada de controle aplicada pelo supervisor planta
corresponde a um conjunto informando quais eventos esto habilitados (ou
complementarmente, desabilitados). Em malha fechada, o supervisor observa os eventos que
so gerados pela planta, e gerao de um novo evento, aplica uma nova entrada de controle
planta informando que eventos esto habilitados aps o evento gerado. A ao de controle
do supervisor dita passiva, pois esta apenas indica quais os eventos habilitados e no fora a
gerao de um evento (da Cunha, 2003).
2.8.1 Modelagem da Planta
Considere um sistema contendo n subsistemas atuando em paralelo. A planta deste
sistema representada por um SED G com conjunto de eventos =
c

nc
, sendo

1
n
i
i=
= (2.7)
onde
i
o conjunto de eventos da planta que representa o subsistema G
i
(Pena, 2007).
A este SED associado um autmato G e linguagens gerada L(G) e marcada L
m
(G),
sendo L(G) prefixo-fechada e L
m
(G) contida em L(G). O autmato G obtido pela
composio sncrona dos n autmatos que modelam os subsistemas


18

1
n
i
i
G G
=
= (2.8)
e as linguagens L(G) e L
m
(G) so dadas pelo produto sncrono das linguagens dos n autmatos
que modelam os subsistemas (Cury, 2001).
2.8.2 Modelagem das Especificaes de Controle
Especificaes de controle E
i
s podem expressar requisitos funcionais (como impor
uma seqncia desejada de eventos), requisitos de segurana (como evitar uma seqncia de
eventos indesejada), requisitos de justia (como garantir o acesso justo a um recurso comum),
entre outros. Para um sistema contendo m especificaes, a especificao resultante

1
m
i
i
E E
=
= , (2.9)
e diz-se que esta especificao E restringe o comportamento da planta a comportamentos
desejados, definidos pelas especificaes E
i
(Pena, 2007).
2.8.3 Clculo da Linguagem Alvo
O comportamento desejado da planta G operando de acordo com a especificao E
representado pela linguagem alvo K, dada por K = E || L
m
(G) (Pena, 2007).
2.8.4 Clculo do Supervisor
Considere uma estrutura de controle para a planta G. Um padro de controle
corresponde um conjunto ativo de eventos habilitados a ocorrer no sistema. A estrutura de
controle contm o conjunto de todos os padres de controle
= { 2

:
nc
}, (2.10)
onde a condio
nc
indica que os eventos no controlveis no podem ser desabilitados
pela ao de controle (Cury, 2001).
Um supervisor pode ser representado por um autmato S, definido sobre o mesmo
alfabeto da planta G, cujas mudanas de estado so ditadas pela ocorrncia de eventos na
planta G. A ao de controle de S, definida para cada estado do autmato, desabilitar em G
os eventos que no possam ocorrer em S aps uma seqncia de eventos observada.
Seja um supervisor S cuja L(S) controlvel em relao a (e.r.a.) G. O funcionamento
do sistema controlado, denotado S/G, pode ser descrito pelo SED resultante da composio
sncrona de S e G, isto , S || G. De fato, na composio sncrona S || G somente as transies


19
permitidas tanto no sistema controlado G, como no supervisor S, so permitidas. Sendo assim,
o comportamento em malha fechada L(S/G) = L(S || G) e L
m
(S/G) = L
m
(S || G) (Cury, 2001).
Conforme (Pena, 2007), dada uma linguagem alvo K L
m
(G), no vazia,
representando a linguagem desejada para o sistema G, existe um supervisor S que implemente
uma linguagem alvo K se e somente se (i) K L
m
-fechada e (ii) K controlvel.
Uma linguagem K L
m
-fechada se ( )
m
K K L G = , significando que prefixos de K
que forem palavras de L
m
(G) tambm so palavras de K (Pena, 2007).
Marcando-se todos os estados do autmato que representa a linguagem de uma
especificao E, tem-se a garantia que a linguagem alvo K = E || L
m
(G) L
m
-fechada. Neste
trabalho, este critrio de marcao foi adotado.
Uma linguagem K L(G) controlvel e.r.a. L(G) e
nc
se e somente se, para todo s
K e
nc
, se s L(G) ento s K . Em palavras, K controlvel e.r.a. L(G) e
nc
se e
somente se, para qualquer prefixo s de uma palavra de K e evento no controlvel , se s
fisicamente possvel na planta, ento s obrigatoriamente um prefixo de alguma palavra de
K. De forma compacta, diz-se que K controlvel e.r.a. L(G) e
nc
se e somente se
( )
nc
K L G K , (2.11)
onde K
nc
= {s : s K e
nc
}. Quando est subentendido qual o sistema em questo,
diz-se simplesmente que a linguagem K controlvel (da Cunha, 2003).
A classe de linguagens controlveis contidas numa linguagem K denotada por C(K,
L(G)) = {J : J K e J controlvel e.r.a. G}. O conjunto C(K, L(G)) no vazio e fechado
para unio, o que implica que ele tem um elemento supremo, chamado SupC(K, L(G)), que a
mxima sublinguagem controlvel contida em K (Pena, 2007).
Sendo assim, no caso da linguagem alvo K no ser controlvel e.r.a. L(G), possvel
projetar um supervisor S que implemente a mxima sublinguagem controlvel contida em K,
denotada por SupC(K, L(G)). Este supervisor S dito timo, no sentido de representar o
comportamento menos restritivo possvel da planta G que satisfaz a especificao E (Cury,
2001). O clculo do supervisor S baseia-se num procedimento iterativo que identifica maus
estados num autmato R que modela a linguagem alvo K.
Algoritmo de clculo do supervisor S (Cury, 2001)
Dados G e R, sendo R um autmato que representa a linguagem alvo K:
1. Identificar maus estados em R. Caso no existam, faa S = R, fim.
2. Caso existam, atualizar R por eliminao dos maus estados.
3. Calcular a componente trim de R e voltar ao passo 1.


20
Definio de maus estados (Cury, 2001)
Dados G, R, x =
G
(x
0
, s) e q =
R
(q
0
, s), onde s K uma seqncia de eventos,
um estado q um mau estado de R se existe
nc
tal que
G
(x) e
R
(q).
A dinmica do algoritmo de clculo do supervisor S pode ser assimilada por meio do
Exemplo 2.6, apresentado a seguir.
Exemplo 2.6 Considere uma planta, representada pelo autmato G ilustrado na Figura 2.9

Figura 2.9 Planta G (Exemplo 2.6)
e uma linguagem alvo K, representada pelo autmato R apresentado na Figura 2.10,
0
5
1 2 3
4
a b c
d
e
f
7
9 8
h
i
R:
c
g 6

Figura 2.10 Autmato R que Representa a Linguagem Alvo K (Exemplo 2.6)
onde a, d, f e j so eventos controlveis e b, c, e, g, h, i, k, l e m so eventos no controlveis.
O autmato S que representa a mxima linguagem controlvel SupC(K, L(G)) obtido por
meio dos seguintes passos:
Passo 1.1: Considerando a definio de mau estado, identifica-se que o estado 7 do autmato
R um mau estado, pois l
G
(11) e l
R
(7).
Passo 1.2: Eliminando o estado 7 do autmato R e as transies que chegam e que saem deste
estado, obtm-se o autmato P1.2 ilustrado na Figura 2.11.

Figura 2.11 Autmato P1.2 (Exemplo 2.6)


21
Passo 1.3: Calculando a componente trim do autmato P1.2, obtm-se o autmato P1.3
ilustrado na Figura 2.12.
0
5
1 2 3
4
a b c
d
e
f
P1.3:
c
6

Figura 2.12 Autmato P1.3 (Exemplo 2.6)
Passo 2.1: Na segunda iterao do algoritmo, identifica-se que o estado 6 do autmato P1.3
(estado 6 este que no autmato R no era mau estado) um mau estado, pois g
G
(10) e g

R
(6).
Passo 2.2: Eliminando o estado 6 e a transio f do autmato P1.3, obtm-se o autmato P2.2
ilustrado na Figura 2.13.
0
5
1 2 3
4
a b c
d
e
P2.2:
c

Figura 2.13 Autmato P2.2 (Exemplo 2.6)
Passo 2.3: A componente trim do autmato P2.2 o prprio autmato P2.2.
Passo 3.1: Na terceira iterao do algoritmo, identifica-se que no h nenhum estado de P2.2
onde o critrio de mau estado satisfeito, logo, tem-se P2.2 = S e conclui-se o clculo
obtendo como resultado o autmato S ilustrado na Figura 2.14.
0
5
1 2 3
4
a b c
d
e
P2.2 = S
c

Figura 2.14 Autmato S que Representa a Mxima Linguagem Controlvel (Exemplo 2.6)
2.9 Controle Supervisrio de SEDs: Abordagem Modular Local
A aplicabilidade da abordagem monoltica (Ramadge e Wonham, 1989) de controle
supervisrio em problemas reais bastante reduzida, pois tanto a planta como as
especificaes de controle so modeladas atravs de um nico autmato, e assim, o
procedimento inicial de modelagem da planta j pode induzir a uma exploso combinatria de
estados pela composio dos diversos subsistemas.
A abordagem modular local (de Queiroz e Cury, 2002) surgiu na tentativa de reduzir a
complexidade de sntese de supervisores para sistemas de maior porte. Enquanto o controle


22
monoltico usa a linguagem da planta completa para gerar as linguagens desejadas, o controle
modular local usa apenas as subplantas que so afetadas pelas especificaes. Dessa forma,
menos autmatos so compostos e os autmatos que representam as linguagens alvo so
menores que na abordagem monoltica. Conseqentemente, a complexidade da sntese e os
supervisores obtidos so menores prevenindo-se assim a exploso combinatria de estados.
Nesta abordagem, a tarefa de fazer com que o sistema em malha fechada obedea ao
conjunto de restries dividida em subtarefas que so realizadas por diferentes supervisores.
As especificaes so tratadas localmente e os supervisores so projetados com uma viso
parcial da planta.
2.9.1 Modelagem por Sistema Produto
Na abordagem modular local, o sistema representado como um sistema produto, que
consiste em um conjunto de subsistemas assncronos entre si.
Todo sistema pode ser modelado por uma representao por sistema produto (RSP).
Obtido o modelo para cada subsistema, representado de forma conceitual na Figura 2.15(a),
onde os crculos superpostos indicam que h eventos compartilhados, a RSP pode ser obtida
pela composio de seus subsistemas de forma a obter um conjunto de subsistemas
assncronos, conforme ilustrado na Figura 2.15(b). A RSP mais refinada obtida pela
composio apenas dos subsistemas sncronos, criando o maior nmero possvel de
subsistemas assncronos (Pena, 2007).

(a) Modelagem dos Componentes


(b) Obteno da RSP Mais Refinada

Figura 2.15 Representao por Sistema Produto (Pena, 2007)
Se todos os subsistemas compartilham eventos entre si, a RSP mais refinada a
prpria planta global. Os resultados obtidos pela abordagem modular local so tanto melhores
quanto mais refinada for a RSP (Pena, 2007).
2.9.2 Sntese dos Supervisores
De acordo com (Pena, 2007), seja a RSP de um sistema G formada por subsistemas G
i
,
i I = {1, 2, ..., n}. Seja uma especificao modelada considerando apenas os eventos


23
fundamentais para a descrio de um comportamento desejado. Esta especificao chamada
de especificao genrica local, denotada E
xj
, e definida sobre
xj
, para j J = {1, 2, ...,
m}. A planta local composta pelos subsistemas da modelagem original que so afetados pela
especificao genrica local. A planta local G
Lj
, associada especificao E
xj
, definida pela
expresso
Lj i
i N
G G

= com N = {k I :
k

xj
}.
Linguagens alvo K
Lj
, dadas por K
Lj
= E
xj
|| L
m
(G
Lj
), expressam as linguagens desejadas
para cada parte da planta global. Assim, cada supervisor SL
j
, que implementa a mxima
sublinguagem controlvel contida em K
Lj
, obtido por SupC(K
Lj
, L(G
Lj
)) (Pena, 2007).
Exemplo 2.7 (Pena, 2007) Seja o sistema G ilustrado na Figura 2.16. Considere duas
especificaes genricas E
a
e E
b
, sendo que seus alfabetos intersecionam com os alfabetos das
subplantas assncronas SP
1
a SP
3
, ou seja,
a
(
SP1

SP2
) e
b
(
SP2

SP3
). Como
so duas especificaes, tem-se duas plantas locais. A planta local relacionada E
a
G
A
= SP
1

|| SP
2
, e a planta local relacionada E
b
G
B
= SP
2
|| SP
3
. As linguagens alvo locais K
A
e K
B

podem ser obtidas fazendo K
A
= E
a
|| L
m
(G
A
) e K
B
= E
b
|| L
m
(G
B
). Por fim, os supervisores
modulares locais SL
A
e SL
B
so obtidos por SupC(K
A
, L(G
A
)) e SupC(K
B
, L(G
B
)).

Figura 2.16 Ilustrao para o Exemplo 2.7
Ainda que duas ou mais especificaes possuam eventos em comum, no necessrio
efetuar a composio sncrona destas especificaes (Pena, 2007). Esta abordagem explora a
caracterstica modular da planta considerando a existncia de diversos subsistemas
executando concorrentemente. Na arquitetura de controle proposta, cada mdulo atua somente
sobre os subsistemas atingidos. A Figura 2.17 ilustra esta idia (de Queiroz, 2004).

Figura 2.17 Esquema de Controle da Abordagem Modular Local (de Queiroz, 2004)


24
Na sntese dos supervisores utilizado um modelo parcial da planta global. Cada
supervisor ento projetado com uma viso parcial da planta e tambm com a especificao
local, sem ter informao das outras especificaes a serem implementadas pelos outros
supervisores. Sendo assim, de forma geral, as especificaes podem implementar aes
conflitantes. O conflito se caracteriza pela impossibilidade de completar tarefas, ou seja, a
ao conjunta dos supervisores faz com que, para pelo menos uma seqncia da linguagem da
planta em malha fechada, no seja possvel atingir um estado marcado (Pena, 2007).
A forma de detectar a presena do conflito aplicar um teste aps o projeto dos
supervisores. Considerando a existncia de n supervisores, segundo (de Queiroz, 2004), este
teste dado por

1 1
( / ) ( / )
n n
m n n m n n
j j
L SL G L SL G
= =
= . (2.12)
Esta propriedade, tambm chamada de modularidade local, garante que a malha
fechada do sistema sob ao dos supervisores modulares no-bloqueante. Nesse caso, o
desempenho dos supervisores locais igual ao desempenho de um supervisor obtido pela
abordagem monoltica (Pena, 2007).
2.10 Reduo de Supervisores
Dois supervisores S
1
e S
2
so equivalentes se suas aes de controle sobre uma planta
G produzem o mesmo comportamento, ou seja, se S
1
/G for equivalente a S
2
/G. A equivalncia
verificada quando L(S
1
|| G) = L(S
2
|| G) e L
m
(S
1
|| G) = L
m
(S
2
|| G). Diz-se que S
2
um
supervisor reduzido para S
1
se ambos forem equivalentes e se o nmero de estados de S
2
for
menor ou igual ao nmero de estados de S
1
(de Queiroz, 2004).
Segundo (Vaz e Wonham, 1986), dado um supervisor S, pode-se obter um supervisor
reduzido SR, agregando-se os estados de S || G em blocos, no necessariamente disjuntos. No
processo de agregao, deve-se garantir que as desabilitaes dos estados de um bloco no
entrem em conflito com os eventos habilitados em outros estados do mesmo bloco. Deve-se
garantir tambm que o supervisor reduzido, representando a estrutura de transio entre os
blocos, seja determinstico. Existe um tamanho mnimo de supervisor reduzido para um dado
supervisor, mas pode haver mltiplos supervisores com o nmero mnimo de estados. Em
(Vaz e Wonham, 1986) apresentado um algoritmo formal para minimizao de supervisores
o qual se baseia na comparao de todas as possveis combinaes de blocos. No entanto,


25
segundo (de Queiroz, 2004) este algoritmo possui complexidade exponencial, sendo
realizvel apenas para supervisores de pequeno porte.
Dependendo da aplicao, a busca por um supervisor reduzido com um tamanho
mnimo de estados pode ser desnecessria, sendo possvel obter supervisores suficientemente
reduzidos por meio de algoritmos de menor complexidade (de Queiroz, 2004). O algoritmo de
reduo de supervisores utilizado no programa TCT (Feng e Wonham, 2006), desenvolvido
por Su & Wonham (Su e Wonham, 2004), possui complexidade polinomial e tipicamente
converge em tempo razovel para supervisores com menos de 1000 estados (de Queiroz,
2004). Sendo assim, neste trabalho utiliza-se o algoritmo implementado no programa TCT.
2.11 Concluses
Neste captulo apresentou-se uma breve reviso da teoria de controle supervisrio,
com nfase nas abordagens de controle monoltico e modular local. A assimilao dos
conceitos aqui ilustrados importante para o entendimento do restante do documento.
No prximo captulo apresenta-se um procedimento de projeto de controladores para
eletrodomsticos, concebido com base na abordagem modular local para o controle
supervisrio de SEDs.
Equation Section 3


26
Captulo 3

Procedimento de Projeto
de Controladores para Eletrodomsticos
Neste captulo apresenta-se uma proposta de procedimento de projeto de controladores
para eletrodomsticos, concebida com base na Teoria de Controle Supervisrio (TCS) de
sistemas a eventos discretos. Utiliza-se a abordagem modular local (de Queiroz e Cury, 2002)
para a sntese de supervisores e prope-se uma metodologia para a implementao destes
supervisores. O uso deste procedimento ilustrado atravs da soluo de um problema
motivador intitulado Refrigerador Autnomo.
A organizao deste captulo como segue. Na Seo 3.1 define-se o Refrigerador
Autnomo, caracterizando-o e descrevendo a estratgia de controle empregada na sua soluo.
Na Seo 3.2 apresenta-se o processo de sntese dos supervisores modulares locais reduzidos
utilizando a TCS. Na Seo 3.3 define-se o formalismo e peculiaridades da metodologia
proposta para implementao de supervisores em microcontroladores. Na Seo 3.4, os
supervisores obtidos na Seo 3.2 so implementados num microcontrolador atravs do
formalismo apresentado na Seo 3.3. Por fim, na Seo 3.5, resume-se o procedimento de
projeto, listando as etapas que o compem.
3.1 Problema Motivador
Esta seo trata da definio do Refrigerador Autnomo, um problema simples que
utilizado neste trabalho para facilitar a apresentao do procedimento de projeto proposto.
3.1.1 Caracterizao do Refrigerador Autnomo
O problema motivador Refrigerador Autnomo (Figura 3.1) consiste num refrigerador
com ajuste automtico da temperatura interna de operao de acordo com variaes na
temperatura ambiente.


27
Compressor
Sensor B
Sensor A
Evaporador

Figura 3.1 Diagrama do Refrigerador Autnomo
O sistema composto por um Compressor que transmite o calor do compartimento
interno para o ambiente externo, um Sensor A que monitora a temperatura no evaporador
(T
Evap
) (Fox e McDonald, 2001) e um Sensor B que informa a temperatura ambiente (T
Amb
)
nas proximidades do refrigerador.
3.1.2 Descrio dos Objetivos de Controle
A estratgia de controle consiste em ligar o Compressor no momento que T
Evap
torna-
se maior que um limite mximo T
Liga
e desligar o Compressor no momento que T
Evap
torna-se
inferior a um limite mnimo T
Desliga
, sendo T
Liga
e T
Desliga
variveis que podem assumir
constantes mnimas (T
LigaMn
e T
DesligaMn
), mdias (T
LigaMd
e T
DesligaMd
) e mximas
(T
LigaMx
e T
DesligaMx
) em funo da temperatura ambiente (T
Amb
).
A caracterstica contnua de uma informao de temperatura convertida em
informaes discretas de interesse por intermdio da gerao de eventos de limiar (Leal,
2005). Como exemplo, considere que uma determinada temperatura T medida ao longo do
tempo possui a caracterstica ilustrada na Figura 3.2. Um evento de limiar e
L
(representado
por uma seta) pode ser gerado de modo a sinalizar que a temperatura ultrapassou um
determinado valor de limiar T
L
.

Figura 3.2 Conceito de Evento de Limiar



28
Utiliza-se o conceito de histerese (Figura 3.3) visando evitar a gerao indesejada de
eventos devido a pequenas oscilaes de temperatura. Desta forma, eventos de limiar inferior
e
LI
(representados por uma seta para baixo) sinalizam que a temperatura tornou-se menor que
um determinado valor de limiar inferior T
LI
e eventos de limiar superior e
LS
(representados
por uma seta para cima) sinalizam que a temperatura tornou-se maior que um determinado
valor de limiar superior T
LS
, com a ocorrncia dos eventos atrelada ao requisito de alternncia
de cruzamento dos limiares inferior T
LI
e superior T
LS
, resultando na filtragem de pequenas
oscilaes de temperatura. Note que a gerao de eventos unidirecional, ou seja, os eventos
so gerados apenas quando a superfcie cruzada em um nico sentido (Leal, 2005). Assim,
nos instantes t
2
, t
3
, t
4
e t
6
no so gerados eventos de limiar.

Figura 3.3 Aspectos na Gerao de Eventos de Limiar

No presente problema, o limiar superior para a temperatura interna do refrigerador
T
Liga
e o limiar inferior T
Desliga
. Essas temperaturas de limiar so variveis e podem assumir
valores mnimos (T
LigaMn
e T
DesligaMn
), mdios (T
LigaMd
e T
DesligaMd
) e mximos
(T
LigaMx
e T
DesligaMx
) de acordo com a temperatura ambiente (T
Amb
), conforme ilustrado na
Figura 3.4.

Figura 3.4 Ajuste das Variveis T
Liga
e T
Desliga
em Funo de T
Amb


29
Note que com esta lgica de controle, em dias frios (T
Amb
<

T
Frio
) o Compressor liga e
desliga de acordo com constantes de temperatura maiores (T
LigaMx
e T
DesligaMx
),
removendo menos calor do compartimento interno do que em dias quentes (T
Amb
>

T
Quente
),
nos quais o Compressor liga e desliga de acordo com constantes de temperatura menores
(T
LigaMn
e T
DesligaMn
). Deste modo, obtm-se uma temperatura interna mdia
aproximadamente constante e independente de variaes na temperatura ambiente. Visando
simplificar, a histerese de T
Amb
foi suprimida nesta explanao. Este funcionamento autnomo
(sem interveno do usurio) ilustrado no grfico apresentado na Figura 3.5.
T
Evap
T
Amb
T
Quente
T
Frio
t
t
T
Desliga =
T
DesligaMn
T
Liga =
T
LigaMn
T
Desliga =
T
DesligaMd
T
Liga =
T
LigaMd
T
Desliga =
T
DesligaMx
T
Liga =
T
LigaMx
t
1
t
2

Figura 3.5 Estratgia de Controle
3.2 Sntese dos Supervisores
3.2.1 Descrio dos Eventos
A Teoria de Controle Supervisrio (Ramadge e Wonham, 1989) considera a existncia
de eventos no controlveis e eventos controlveis. Eventos no controlveis so eventos que,
por sua natureza, no podem ser desabilitados, isto , no se pode proibir sua ocorrncia por
meio de uma ao de controle. Por exemplo, o evento usado para sinalizar que a temperatura


30
interna do refrigerador ultrapassou um certo valor de limiar no controlvel. Os eventos no
controlveis considerados no presente problema so descritos na Tabela 3.1.
Tabela 3.1 Conjunto de Eventos No Controlveis
Evento Descrio
e2
T
Evap
torna-se maior que T
Liga

e4
T
Evap
torna-se menor que T
Desliga

e6
T
Amb
torna-se maior que a constante T
QuenteSup

e8
T
Amb
torna-se menor que a constante T
QuenteInf

e10
T
Amb
torna-se maior que a constante T
FrioSup

e12
T
Amb
torna-se menor que a constante T
FrioInf

Por sua vez, eventos controlveis so eventos que podem ter sua ocorrncia
desabilitada pela ao de controle. Por exemplo, no refrigerador o evento que liga o
Compressor controlvel. A Tabela 3.2 ilustra os eventos controlveis considerados.
Tabela 3.2 Conjunto de Eventos Controlveis
Evento Descrio
e1 liga Compressor
e3 desliga Compressor
e5
seleciona T
Liga
= T
LigaMx
e T
Desliga
= T
DesligaMx

e7
seleciona T
Liga
= T
LigaMd
e T
Desliga
= T
DesligaMd

e9
seleciona T
Liga
= T
LigaMn
e T
Desliga
= T
DesligaMn

3.2.2 Modelagem das Subplantas
A planta global G composta de 4 subplantas, que descrevem o comportamento livre
dos elementos do Refrigerador Autnomo. A subplanta G
1
(Figura 3.6) modela o Compressor,
sendo e1 o evento liga Compressor e e3 desliga Compressor.

Figura 3.6 Autmato da Subplanta para o Compressor
Note que nos autmatos apresentados nesta Seo, um pequeno trao perpendicular
uma transio indica que a mesma controlvel, como o caso das transies e1 e e3 no
autmato da subplanta para o Compressor, ilustrado na Figura 3.6.
A subplanta G
2
(Figura 3.7) modela a seleo do nvel de temperatura interna de
operao de acordo com a temperatura ambiente (ajuste das variveis T
Liga
e T
Desliga
em funo


31
de T
Amb
), sendo e5 o evento seleciona T
Liga
= T
LigaMx
e T
Desliga
= T
DesligaMx
, e7 seleciona
T
Liga
= T
LigaMd
e T
Desliga
= T
DesligaMd
e e9 seleciona T
Liga
= T
LigaMn
e T
Desliga
=
T
DesligaMn
.

Figura 3.7 Autmato da Subplanta para o Ajuste de T
Liga
e T
Desliga
em Funo de T
Amb

A subplanta G
3
(Figura 3.8) modela o Sensor A, sendo e2 o evento T
Evap
torna-se
maior que T
Liga
e e4 T
Evap
torna-se menor que T
Desliga
. Nas subplantas G
3
(Figura 3.8) e G
4

(Figura 3.9), utiliza-se o conceito de eventos de limiar, definido na Seo 3.1.2 (Figura 3.3).

Figura 3.8 Autmato da Subplanta para o Sensor A
A subplanta G
4
(Figura 3.9) modela o Sensor B, sendo e6 o evento T
Amb
torna-se
maior que a constante T
QuenteSup
, e8 T
Amb
torna-se menor que a constante T
QuenteInf
, e10
T
Amb
torna-se maior que a constante T
FrioSup
e e12 T
Amb
torna-se menor que a constante
T
FrioInf
.

Figura 3.9 Autmato da Subplanta para o Sensor B
O estado inicial nos autmatos G
1
a G
4
reflete a inicializao feita no procedimento de
implementao (Seo 3.4.7). O estado inicial de cada subplanta marcado visando indicar
que uma tarefa concluda quando o subsistema retorna para sua condio inicial.
3.2.3 Especificaes de Controle
A especificao E
1
(Figura 3.10) define que o Compressor pode ser ligado (e1)
somente se T
Evap
torna-se maior que T
Liga
(e2) e que o Compressor pode ser desligado (e3)
somente se T
Evap
torna-se menor que T
Desliga
(e4).

Figura 3.10 Autmato da Especificao E
1


32
A especificao E
2
(Figura 3.11) define a seleo automtica do nvel de temperatura
interna de operao de acordo com variaes na temperatura ambiente (T
Amb
), sendo e6 o
evento T
Amb
torna-se maior que a constante T
QuenteSup
, e8 T
Amb
torna-se menor que a
constante T
QuenteInf
, e10 T
Amb
torna-se maior que a constante T
FrioSup
, e12 T
Amb
torna-se
menor que a constante T
FrioInf
, e5 seleciona T
Liga
= T
LigaMx
e T
Desliga
= T
DesligaMx
, e7
seleciona T
Liga
= T
LigaMd
e T
Desliga
= T
DesligaMd
e e9 seleciona T
Liga
= T
LigaMn
e T
Desliga
=
T
DesligaMn
.

Figura 3.11 Autmato da Especificao E
2
3.2.4 Representao por Sistema Produto
Neste trabalho, utiliza-se a abordagem modular local (de Queiroz e Cury, 2002) para a
sntese dos supervisores. Nesta abordagem, faz-se uso da representao por sistema produto
(RSP), na qual a planta constituda por subplantas assncronas. No presente problema, todas
as subplantas so assncronas, de forma que a RSP dada por SP
i
= G
i
, para i = 1, 2, 3 e 4.
A metodologia de implementao proposta (Seo 3.3.3) requer que os ndices das
subplantas assncronas SP
n
sigam a seguinte regra de ordenao: primeiramente subplantas
assncronas contendo somente eventos controlveis e posteriormente as demais subplantas
assncronas. Neste problema este requisito j atendido, pois G
1
e G
2
contm somente
eventos controlveis e as subplantas assncronas G
3
e G
4
contm somente eventos no
controlveis, mas poderiam conter tambm eventos controlveis que a ordenao seria
mantida. Esta ordenao ser importante no entendimento da formalizao da metodologia.
3.2.5 Sntese dos Supervisores
Na abordagem modular local calcula-se um supervisor para cada especificao (ou
subconjunto de especificaes), modelando-o apenas em termos das subplantas afetadas por
sua ao. Desta forma, alm da modularidade das especificaes, explora-se a modularidade
da planta, diminuindo a complexidade computacional da sntese dos supervisores em relao a
outras abordagens (de Queiroz e Cury, 2002).


33
Foram calculados dois supervisores modulares locais SL
1
e SL
2
referentes s
especificaes E
1
e E
2
respectivamente. A Tabela 3.3 ilustra o processo de obteno das
plantas locais G
L1
e G
L2
, que consiste em efetuar a composio sncrona ( || ) das subplantas
assncronas SP
i
que possuem eventos comuns especificao em questo.
Tabela 3.3 Processo de Obteno das Plantas Locais
SP
1
SP
2
SP
3
SP
4

Planta
Espec.
e1 e3 e5 e7 e9 e2 e4 e6 e8 e10 e12
Plantas Locais
E
1




G
L1
= SP
1
|| SP
3

E
2




G
L2
= SP
2
|| SP
4

A Figura 3.12 apresenta a planta local G
L1
= SP
1
|| SP
3
. A rotulao dos estados utiliza
a conveno (estado de SP
1
, estado de SP
3
).

Figura 3.12 Autmato da Planta Local G
L1
Por sua vez, a Figura 3.13 apresenta a planta local G
L2
= SP
2
|| SP
4
. A rotulao dos
estados utiliza a conveno (estado de SP
2
, estado de SP
4
).

Figura 3.13 Autmato da Planta Local G
L2


34
O clculo do SL
1
consiste em determinar a linguagem alvo K
L1
= E
1
|| L
m
(G
L1
) e obter a
mxima linguagem controlvel contida em K
L1
, dada por SL
1
= SupC(K
L1
, L(G
L1
)). O
autmato para SL
1
apresentado na Figura 3.14.

Figura 3.14 Autmato do Supervisor Modular Local SL
1
Por sua vez, o clculo do SL
2
consiste em determinar a linguagem alvo K
L2
= E
2
||
L
m
(G
L2
) e obter a mxima linguagem controlvel contida em K
L2
, dada por SL
2
= SupC(K
2
,
L(G
L2
)). O autmato para SL
2
ilustrado na Figura 3.15.

Figura 3.15 Autmato do Supervisor Modular Local SL
2
Atravs do comando Supreduce do programa TCT (Feng e Wonham, 2006), foram
obtidos os supervisores modulares locais reduzidos SR
1
e SR
2
. Os autmatos para SR
1
e SR
2

so apresentados na Figura 3.16.
e
1
,

e
3

(a) SR
1

e
5
e
5
,

e
7
,

e
9
e
7
,

e
9

(b) SR
2

Figura 3.16 Autmatos dos Supervisores Reduzidos


35
Note que neste problema, o clculo de SL
i
= SupC(K
i
, L(G
Li
)) e posterior clculo de
SR
i
de fato no so obrigatrios, em virtude de K
Li
ser no bloqueante e controlvel e.r.a.
L(G
Li
), para i = 1 e 2. Sendo assim, possvel adotar as especificaes E
1
e E
2
como
supervisores, o que simplifica a interpretao da lgica de controle e proporciona supervisores
com menor demanda de memria na implementao.
A abordagem de controle modular local promove maior flexibilidade, maior eficincia
computacional e segurana na aplicao do controle quando comparada com as demais
abordagens de controle. No entanto, esta abordagem pode ser empregada se e somente se os
supervisores so localmente modulares, ou seja, no conflitantes (de Queiroz e Cury, 2002).
Atravs do comando Nonconflict do programa TCT (Feng e Wonham, 2006),
verifica-se que os supervisores obtidos no presente problema atendem a este requisito. O teste
deve ser realizado sob os supervisores modulares locais no reduzidos. Alternativamente,
possvel efetuar esta verificao determinando se os autmatos SL
1
|| SL
2
e trim(SL
1
|| SL
2
) so
isomorfos, ou seja, so idnticos a menos de uma renomeao de estados.
No presente problema, o programa IDES 2.1b5 (Rudie, 2006) foi utilizado na criao
dos autmatos para as subplantas e especificaes e no clculo das plantas locais e
supervisores modulares locais.
3.3 Formalizao da Metodologia de Implementao
Esta seo apresenta de forma generalizada a metodologia de implementao proposta,
concebida conforme a arquitetura definida em (de Queiroz e Cury, 2002). Na seo seguinte,
a metodologia aplicada na implementao do problema motivador Refrigerador Autnomo.
3.3.1 Arquitetura de Queiroz e Cury
A arquitetura de implementao apresentada em (de Queiroz e Cury, 2002) ilustrada
na Figura 3.17. Esta estrutura contm uma interface I entre a planta P (sistema real) e os
supervisores modulares locais reduzidos SRs obtidos a partir do sistema produto SP (modelo
abstrato). Esta interface I possui a funo de, respeitando as desabilitaes dos SRs, comandar
o funcionamento de P conforme o modelo do SP e de traduzir o comportamento abstrato do
SP em sinais reais de entrada e sada de P, especificados pelas seqncias operacionais SO de
cada subsistema. Assim, esta interface I faz a planta P comportar-se de acordo com o modelo
assumido na TCS (Ramadge e Wonham, 1989), que gera espontaneamente e seqencialmente
eventos que no esto desabilitados.


36
S
i
s
t
e
m
a

d
e

C
o
n
t
r
o
l
e

S
C
P
l
a
n
t
a

R
W
I
n
t
e
r
f
a
c
e

I

Figura 3.17 Arquitetura de Queiroz e Cury (de Queiroz e Cury, 2002)
No nvel SO o programa interpreta os comandos abstratos do nvel SP como
seqncias lgicas que guiam a operao de cada subsistema. Alm disto, em SO so gerados
os sinais de sada do sistema de controle SC (entradas de P) e so lidos os sinais de entrada do
SC (sadas de P). Nesta estrutura, a planta RW formada pelos nveis SP e SO e planta P.
A comunicao entre os diferentes nveis da arquitetura ocorre empregando eventos,
sinais de desabilitao, respostas, comandos e sinais de entrada e sada. A cada evento
controlvel associado um comando e um sinal de desabilitao. A cada evento no
controlvel associada uma resposta. Os sinais de entrada e sada do SC so estabelecidos
com base nos sensores e atuadores que efetivamente constituem o sistema real (Vieira, 2007).
Conforme (Vieira, 2007), o mdulo do sistema produto associado um subsistema
implementa o comportamento independente deste subsistema, gerando eventos controlveis e
sinalizando a ocorrncia de eventos no controlveis. A gerao de um evento controlvel
resulta na ativao do comando associado ao evento em questo. Os eventos tratados (eventos
controlveis gerados ou a sinalizao da ocorrncia dos eventos no controlveis) so
enviados para o nvel SRs e os comandos ativos so enviados para o nvel SO.
Quando uma seqncia operacional identifica a ativao de um comando, ela dispara a
execuo das atividades associadas ocorrncia do evento controlvel associado. A execuo
de tais atividades pode resultar na ocorrncia de eventos no controlveis. Quando uma
seqncia operacional identifica a ocorrncia de um evento no controlvel, ela ativa a
resposta associada ao evento em questo. Esta resposta enviada ao nvel SP, o qual sinaliza
ao nvel SRs a ocorrncia do evento. As seqncias operacionais dirigem a execuo das


37
atividades enviando sinais para os atuadores (sadas do SC) e recebendo informaes dos
sensores (entradas do SC). Cada supervisor segue a seqncia de eventos tratada no nvel SP.
Com base nesta seqncia de eventos o conjunto de supervisores estabelece os sinais de
desabilitao, os quais so enviados para o nvel SP. Um evento controlvel s pode ser
gerado se o sinal de desabilitao correspondente no est ativado (Vieira, 2007).
Segundo (de Queiroz, 2004), para garantir a correta operao desta estrutura de
controle, importante atentar para os seguintes aspectos: a) a ao dos SRs (desabilitaes)
deve estar atualizada para a ocorrncia de uma transio controlvel em SP, b) as transies
no controlveis do SP devem ser tratadas com maior prioridade que as transies
controlveis e c) a sinalizao da ocorrncia de eventos para os SRs deve ser seqencial.
3.3.2 Definio da Estrutura Proposta
A estrutura de implementao ilustrada na Figura 3.18. Nesta estrutura, considera-se
que um microcontrolador M encontra-se embarcado
6
num sistema SE. O objetivo de M
efetuar o controle supervisrio de uma planta P contida em SE e parcialmente contida em M.

Figura 3.18 Estrutura de Implementao
Esta estrutura foi elaborada de acordo com a arquitetura de Queiroz e Cury (Figura
3.17), com seu detalhamento concebido visando a implementao de supervisores em
microcontroladores.
Considera-se que P parcialmente contida em M ao aceitar-se que elementos de M,
tais como portas de entrada e sada, conversores analgico-digitais, temporizadores e


6
Traduo do termo em ingls embedded.


38
registros, bem como suas respectivas rotinas de tratamento, so parte integrante de P. Esta
considerao feita com o intuito de:
a) permitir a incluso de elementos de baixo nvel, tais como temporizadores e
registros, no processo de modelagem e sntese dos supervisores;
b) ao modificar o modelo de M e/ou um elemento de P (sem alterar a lgica de
controle), ser necessrio somente ajustar as rotinas de baixo nvel (RBNs), mantendo
inalterado o restante do cdigo, inclusive o cdigo da interface I.
Assume-se que um sistema produto SP uma abstrao de P, de modo que o controle
do SP, feito via um conjunto de supervisores modulares locais reduzidos SRs, resulta no
efetivo controle de P. Considera-se que SP contm n subplantas assncronas (cada uma com
n

transies e E
n
estados) e que existem ao todo m SRs (cada um com
m
transies e E
m

estados). Os m SRs controlam o SP via a dinmica habilitao ou desabilitao de c eventos
controlveis do SP.
Assume-se que o SP se relaciona com P via uma interface I. Esta interface I contm u
funes de leitura L
u
(I
P
) , onde I
P
uma informao de um elemento de P e um
evento no controlvel (
nc
) ou vazio . A interface I possui tambm v funes de escrita
E
v
() A
P
, onde um evento controlvel (
c
) e A
P
uma atuao num elemento de P.
As funes de leitura L
u
mapeiam a avaliao de informaes provenientes de P com a
ocorrncia de eventos (no controlvel ou vazio ) no SP. Por sua vez, as funes de escrita
E
v
mapeiam eventos controlveis ocorridos no SP com atuaes em elementos de P. O evento
vazio corresponde no ocorrncia de nenhum evento.
3.3.3 Representao do SP e dos SRs no Microcontrolador M
Considere que as informaes referentes s n subplantas assncronas SP
i
com i = 1, 2,
..., n, so implementadas na memria de programa de M pelas matrizes e vetores apresentados
na Tabela 3.4.
Tabela 3.4 Representao do SP no Microcontrolador M
Elemento Contedo
n
n
3
SP


n matrizes de dimenso
n
3, que contm o estado de partida, evento e estado de chegada
para toda transio de cada subplanta assncrona SP
i

n
EASP
vetor linha de dimenso n, que contm o estado ativo de cada subplanta assncrona SP
i
, ou
seja, EASP
n
= [EASP
1
EASP
2
... EASP
n
]
n
n k
E
ECASP


n k vetores linha de dimenso E
n
, que contm binrios [com c bits, cada bit
correspondendo condio (ativo = 1, inativo = 0) de um dos eventos controlveis] para
cada estado das subplantas assncronas SP
i
que contenham eventos controlveis, sendo k a
quantidade de subplantas assncronas SP
i
que no contm eventos controlveis


39
Considere que as informaes referentes aos m SR
i
, com i = 1, 2, ..., m, so
implementadas na memria de programa de M pelas matrizes e vetores apresentados na
Tabela 3.5.
Tabela 3.5 Representao dos SRs no Microcontrolador M
Elemento Contedo
m
m
3
SR


m matrizes de dimenso
m
3, que contm o estado de partida, evento e estado de chegada
para toda transio de cada SR
i
m
EASR
vetor linha de dimenso m, que contm o estado ativo de cada supervisor modular local
reduzido SR
i
, ou seja, EASR
m
= [EASR
1
EASR
2
... EASR
m
]
m
m
E
ECDSR
m vetores linha de dimenso E
m
, que contm binrios (para cada estado de todo SR
i
) com c
bits, cada bit correspondendo condio (habilitado = 1, desabilitado = 0) de um dos eventos
controlveis
3.3.4 Conveno de Etiquetagem dos Eventos
Na implementao utiliza-se a conveno de etiquetagem dos eventos adotada no
programa TCT (Feng e Wonham, 2006), onde eventos controlveis so rotulados com inteiros
mpares e eventos no controlveis so rotulados com inteiros pares. Reserva-se o rtulo 0
para o evento vazio
7
.
3.3.5 Priorizao de Eventos No Controlveis e Eventos Controlveis
Para ter-se garantia de consistncia do sistema de controle, prioriza-se o
processamento dos eventos no controlveis (ocorridos em SP a partir de informaes
provenientes de P) em relao aos eventos controlveis (gerados em SP visando efetuar
atuaes na planta P). Desta forma, o estado do sistema produto SP sempre fiel ao estado da
planta P. O sincronismo entre os elementos do SP e os SRs garantido, em virtude deles
sempre serem atualizados num mesmo lao de processamento.
3.3.6 Dinmica de Processamento
A dinmica de processamento proposta, detalhada a seguir e ilustrada de forma
esquemtica no fluxograma contido na Figura 3.19, apresentada na seqncia.
Aps a inicializao, a interface I efetua uma varredura das informaes da planta P
via u funes de leitura L
k
, com k = 1, 2, ..., u. Se o retorno de uma funo de leitura L
k
for um
evento vazio , a prxima funo de leitura, L
k+1
, avaliada. Caso contrrio, o retorno da
funo de leitura L
k
um evento no controlvel
nc
, que deve ser processado.


7
Na implementao, (palavra vazia) chamado de evento vazio. Isto vlido, pois = = ...


40
Numa primeira hiptese, considere que uma das funes de leitura L
k
retorna um
evento no controlvel
nc
. Sendo assim, com este evento , atualiza-se o estado ativo de
cada subplanta assncrona SP
i
, i = 1, 2, ... n, via (3.1), onde j pode assumir j = 1, 2, ...,
n

( ) ( ) ( )
, se existir tal que e
, caso contrrio
i i i
( i )
j ,3 j ,1 j ,2
( i )
( i )
SP j SP EASP SP
EASP
EASP
= =

(3.1)
e tambm atualiza-se o estado ativo de cada supervisor reduzido SR
i
, i = 1, 2, ... m, via (3.2),
onde j pode assumir os valores j = 1, 2, ...,
m

( ) ( ) ( )
, se existir tal que e
, caso contrrio
i i i
( i )
j ,3 j ,1 j ,2
( i )
( i )
SR j SR EASR SR
EASR
EASR
= =

(3.2)
Logo aps, obtm-se o escalar binrio ECAH atravs de (3.3), onde o smbolo E
corresponde operao lgica E-bit-a-bit,

( ) ( )
( i ) ( i )
n k i m i
i 1 i 1 ( EASP ) ( EASR )
ECAH ECASP ECDSR

= =
= . (3.3)
Este escalar binrio ECAH, informa quais eventos controlveis
c
esto ativos no
SP e habilitados pelos SRs. Se nenhum evento controlvel
c
estiver ativo no SP e
habilitado pelos SRs, ou seja, se ECAH = 0, faz-se = e retorna-se varredura das
informaes da planta P. Por outro lado, se existir mais de um evento controlvel
c
ativo
no SP e habilitado pelos SRs, define-se o evento ocorrer atravs de um esquema de
prioridade fixa (apresentado em detalhes na Seo 3.3.8). Ocorrido o evento , realiza-se um
ciclo de atuao nos elementos de P via v funes de escrita E
k
, k = 1, 2, ..., v. Alm disto,
processa-se este evento em SP e nos SRs, atravs de (3.1) e (3.2), respectivamente. Logo
aps, retorna-se ao processo de varredura das informaes da planta P.
Agora, numa segunda hiptese, considere que aps a inicializao, complete-se o ciclo
de varredura sem ter-se nenhum evento no controlvel
nc
a ser processado. Neste caso,
obtm-se o escalar binrio ECAH atravs de (3.3) e avalia-se a existncia de eventos
controlveis
c
ativos no SP e habilitados pelos SRs. Se nenhum evento controlvel

c
estiver ativo no SP e habilitado pelos SRs, retorna-se varredura das informaes da planta
P. Caso contrrio, define-se o evento controlvel
c
ocorrer, o evento ocorre, realiza-
se um ciclo de atuao nos elementos de P via funes de escrita E
v
e processa-se este evento
em SP e nos SRs, via (3.1) e (3.2), respectivamente. Logo aps, retorna-se ao processo de
varredura das informaes da planta P.


41
Rotinas de baixo nvel RBNs garantem que mudanas nas informaes provenientes da
planta P, ocorridas durante o processamento de outras rotinas, sejam memorizadas para
tratamento posterior. Utiliza-se uma prioridade fixa para leitura das entradas via funes L
k
,
com k = 1, 2, ..., u (prioridade de L
1
> prioridade de L
2
> ... > prioridade de L
u
), de modo que a
ordem de ocorrncia dos eventos no controlveis no identificada.
k = 0
k = k + 1
L
k
(I
P
)
= ?
Atualiza estado ativo de cada
subplanta assncrona SP
i
, i = 1, 2, ... n
usando a Equao (3.1)
Atualiza estado ativo de cada
supervisor reduzido SR
i
, i = 1, 2, ... m
usando a Equao (3.2)
Usando a Equao (3.3), identifica quais
eventos controlveis
c
esto
ativos em SP e habilitados pelos SRs
k = 0
k = k + 1
E
k
( ) A
P
k = u ?
k = v ?
ECAH = 0?
N
Incio
N
Usando esquema de prioridade fixa
apresentado na Seo 3.3.7, define qual
evento controlvel
c
deve ocorrer
F
u
n

e
s

d
e

L
e
i
t
u
r
a
F
u
n

e
s

d
e

E
s
c
r
i
t
a
S
N
S
N
S
I
N
T
E
R
F
A
C
E
S
I
S
T
E
M
A

P
R
O
D
U
T
O
S
U
P
E
R
V
I
S
O
R
E
S
=
k = 0
S

Figura 3.19 Fluxograma da Dinmica de Processamento
3.3.7 Insensibilidade ao Entrelaamento de Eventos No Controlveis
A metodologia de implementao aqui proposta, pode no reconhecer a ordem de
ocorrncia dos eventos no controlveis, pois se durante o processamento de um determinado


42
evento ocorrerem dois ou mais eventos no controlveis, no ser possvel identificar qual
evento no controlvel ocorreu primeiro. Sendo assim, importante que os supervisores
sintetizados sejam insensveis ao entrelaamento (Fabian e Hellgren, 1998).
Dadas duas seqncias de eventos s
1
e s
2

*
, o conjunto de seqncias de eventos
denotado por s
1
||| s
2
, consiste nos possveis entrelaamentos de s
1
e s
2
.
Exemplo 3.1 Sejam s
1
= abc e s
2
= xy duas seqncias de eventos. Ento s
1
||| s
2
= {abcxy,
abxyc, abxcy, axybc, axbyc, axbcy, xyabc, xaybc, xabyc, xabcy}.
Um supervisor S insensvel ao entrelaamento com relao a uma planta G (definida
sobre um alfabeto =
c

nc
), se para s
*
, s
1
, s
2

nc
e
c
,
s s
1
s
2
L(S/G) s (s
1
||| s
2
) L(S/G) (3.4)
ou seja, um supervisor insensvel ao entrelaamento se sua ao de controle no depender
dos possveis entrelaamentos de eventos no controlveis que possam ocorrer aps qualquer
seqncia de eventos s.
Caso esta propriedade no seja satisfeita, o supervisor pode adotar uma ao de
controle incorreta, em funo de no reconhecer a ordem de ocorrncia dos eventos no
controlveis. Este problema no existe se o supervisor insensvel ao entrelaamento (Fabian
e Hellgren, 1998).

Exemplo 3.2 Seja o supervisor apresentado na Figura 3.20, cujo objetivo identificar a
ordem de ocorrncia dos eventos a
1
e a
2
e desabilitar adequadamente um dentre os eventos b
1

e b
2
. Aps a seqncia a
1
a
2
o supervisor desabilita o evento b
2
(habilita o evento b
1
) e aps a
seqncia a
2
a
1
o supervisor desabilita o evento b
1
(habilita o evento b
2
).

Figura 3.20 Supervisor para Distino de Seqncia de Eventos (Fabian e Hellgren, 1998)
Considerando que o autmato ilustrado na Figura 3.20 gera a linguagem L(S/G), e assumindo
que s = , s
1
= a
1

nc
, s
2
= a
2

nc
e = b
1

c
, tem-se s s
1
s
2
= a
1
a
2
b
1
L(S/G) e s (s
1
|||
s
2
) = {a
1
a
2
b
1
, a
2
a
1
b
1
}. Como a
2
a
1
b
1
L(S/G), ento este supervisor no insensvel ao
entrelaamento.


43
Exemplo 3.3 Seja o supervisor ilustrado na Figura 3.21, cujo objetivo habilitar a ocorrncia
do evento b aps uma ocorrncia de cada um dos eventos a
1
e a
2
, independente da ordem.

Figura 3.21 Supervisor Insensvel ao Entrelaamento
Considerando que o autmato ilustrado na Figura 3.21 gera a linguagem L(S/G) e assumindo
que s = , s
1
= a
1

nc
, s
2
= a
2

nc
e = b
c
, tem-se s (s
1
||| s
2
) = {a
1
a
2
b, a
2
a
1
b}
L(S/G), logo este supervisor insensvel ao entrelaamento.
3.3.8 Priorizao de Eventos Controlveis
A ordem de processamento dos eventos controlveis ativos no SP e habilitados pelos
SRs segue esquema de prioridade fixa, definida pela ordenao dos bits (referentes cada
evento controlvel
c
) dos elementos binrios dos vetores ECASP
n-k
e ECDSR
m
, sendo o bit
mais esquerda associado ao evento controlvel
c
de processamento mais prioritrio.

Exemplo 3.4 Seja um SP contendo trs eventos controlveis c
1
, c
2
e c
3
. Considerando a
ordenao <c
1
><c
2
><c
3
> dos bits dos elementos binrios dos vetores ECASP
n-k
e ECDSR
m
,
define-se que o evento controlvel
c
de processamento mais prioritrio o c
1
(e o de
processamento menos prioritrio o c
3
). Assim, se num determinado lao de processamento
os eventos controlveis c
2
e c
3
estiverem ativos no SP e habilitados pelos SRs, o evento
controlvel c
2
ser processado neste lao.
A definio deste esquema de prioridade um processo importante, pois dependendo
da priorizao adotada, o comportamento do sistema sob superviso pode tornar-se
bloqueante. Alm disto, ao priorizar um evento controlvel em relao aos demais, uma
parcela do comportamento do sistema sob superviso deixa de ser realizvel (Vieira, 2007).
Em (Malik, 2002), definido um algoritmo que verifica se um determinado supervisor
representado por um autmato S insensvel priorizao dos eventos controlveis. Este
algoritmo apresentado na seqncia.
Insensibilidade Priorizao de Eventos Controlveis (Malik, 2002)
Seja um supervisor representado por um autmato S = (Q, , q
0
, Q
m
, )
e um conjunto de estados Q
0
, Q
1
, ... de S, onde:


44
Q
0
= Q
m
Q
n+1
= Q
n
{q Q | existe
nc

S
(q)
nc
: (q,
nc
) Q
n
}
{q Q |
S
(q)
c
e para todo
c

S
(q)
c
: (q,
c
) Q
n
}
Q

=
i
i
Q


O supervisor S insensvel priorizao dos eventos controlveis se
e somente se todos os estados alcanveis de S esto contidos em Q

.
Exemplo 3.5 (Vieira, 2007) Considere um SED formado pelas subplantas G
1
e G
2
(Figura
3.22), onde os eventos controlveis a
i
e b
i
, com i = {1, 2}, correspondem respectivamente ao
incio e fim de operao de dois dispositivos G
1
e G
2
. A especificao de controle E visa
evitar que os dois equipamentos estejam em operao simultaneamente e que sempre seja
possvel operar o equipamento G
2
.
0
G
1
:
0 1
1
a
1
b
1
0
G
2
:
1
a
2
b
2
2
a
2
b
2
a
1
b
1
E:

Figura 3.22 Subplantas G
1
e G
2
e Especificao de Controle E
Pode-se verificar que a linguagem alvo K = E || L
m
(G) no bloqueante e controlvel e.r.a.
L(G), onde G = G
1
|| G
2
. Portanto, existe um supervisor S tal que L
m
(S/G) = K. Teoricamente,
o comportamento do SED sob superviso o ilustrado na Figura 3.23(a). No entanto, na
implementao necessrio o uso de um esquema de prioridade. Se no esquema de prioridade
o evento a
1
possuir maior prioridade em relao ao evento a
2
(ordenao <a
1
><a
2
>), ento o
evento a
2
nunca ocorrer e o comportamento efetivo do SED sob superviso ser bloqueante,
conforme apresentado na Figura 3.23(b). Por outro lado, se o evento a
2
possuir maior
prioridade em relao ao evento a
1
(ordenao <a
2
><a
1
>), o evento a
1
nunca ocorrer e o
problema do bloqueio no mais observado, mas o comportamento efetivo do SED sob
superviso corresponde a apenas uma parcela do previsto, ou seja, o dispositivo G
1
nunca
entrar em operao, conforme ilustrado na Figura 3.23(c).

Figura 3.23 SED sob Superviso: (a) Terico, (b) Ordenao <a
1
><a
2
>, (c) Ordenao <a
2
><a
1
>


45
O uso do algoritmo de verificao da insensibilidade priorizao de eventos controlveis
para este supervisor S resulta em Q
0
= Q
1
= {2}, evidenciando que a definio do esquema de
prioridade deve ser feita com cuidado, pois dependendo da priorizao adotada, o
comportamento efetivo do sistema sob superviso pode tornar-se bloqueante.
3.4 Implementao do Refrigerador Autnomo
Nesta seo, o controlador que soluciona o problema motivador Refrigerador
Autnomo implementado num microcontrolador M utilizando a metodologia proposta.
3.4.1 Insensibilidade ao Entrelaamento de Eventos No Controlveis
A anlise de insensibilidade ao entrelaamento de eventos no controlveis realizada
sob os supervisores modulares locais no reduzidos.
Pode-se listar quatro requisitos necessrios, mas no suficientes, para que um
supervisor seja sensvel ao entrelaamento de eventos no controlveis:
(a) em pelo menos um dos estados do supervisor, permitida a ocorrncia de dois ou
mais eventos no controlveis,
(b) nas seqncias possveis de ocorrer a partir do referido estado, existe ao menos um
entrelaamento destes eventos,
(c) o entrelaamento incompleto, ou seja, pelo menos uma das seqncias do
entrelaamento inexistente no supervisor,
(d) as seqncias que caracterizam o entrelaamento incompleto esto contidas na
linguagem da planta.
Atendidos os requisitos acima, pode-se identificar a condio de suficincia para que
um supervisor seja sensvel ao entrelaamento de eventos no controlveis:
(e) aps a ocorrncia de uma das seqncias do entrelaamento, existe ao menos um
evento controlvel habilitado pelo supervisor e contido na linguagem da planta.
Em nenhum dos estados do supervisor modular local SL
1
(Figura 3.24) o requisito (a)
atendido. Sendo assim, o supervisor SL
1
insensvel ao entrelaamento.

Figura 3.24 Autmato do Supervisor Modular Local SL
1


46
No supervisor modular local SL
2
(Figura 3.25), o requisito (a) atendido nos estados
0, 5 e 6, no entanto em nenhum destes estados o requisito (b) atendido. Sendo assim, o
supervisor SL
2
insensvel ao entrelaamento.

Figura 3.25 Autmato do Supervisor Modular Local SL
2
3.4.2 Rotinas de Baixo Nvel
As rotinas de baixo nvel so responsveis por interagir com os elementos do
hardware do microcontrolador. Alm disto, estas rotinas garantem que mudanas nas
informaes provenientes da planta P ocorridas durante o processamento de outras rotinas
sejam memorizadas para tratamento posterior. Foram concebidas 5 rotinas de baixo nvel,
descritas a seguir.
RBN
1
- Adquire a temperatura no evaporador via converso analgico/digital peridica
(a cada 0,25s) de um canal A/D
1
, calcula a mdia de 8 aquisies e disponibiliza o
resultado na varivel T
Evap
;
RBN
2
- Adquire a temperatura ambiente via converso analgico/digital peridica (a
cada 0,25s) de um canal A/D
2
, calcula a mdia de 8 aquisies e disponibiliza o
resultado na varivel T
Amb
;
RBN
3
- Atua (escreve) numa sada digital S
1
, que controla o Compressor. Esta rotina
pode assumir 2 estados (Car ga_Li gada ou Car ga_Desl i gada);
RBN
4
- Atua (escreve) num registro (varivel) T
Liga
.
RBN
5
- Atua (escreve) num registro (varivel) T
Desliga
.
3.4.3 Funes de Leitura e Funes de Escrita
Foram criadas duas funes de leitura (L
1
e L
2
) e trs funes de escrita (E
1
a E
3
). A
funo L
1
mapeia o contedo da varivel T
Evap
(lido via RBN
1
) com um evento



47
,
,
se torna-se maior que
, onde se torna-se menor que
, se nenhuma das condies anteriores (n.c.a.)
Evap Liga
Evap Evap 1 Desliga
T
T
T
T
L ( ) T

=
e2
e4
e a funo L
2
mapeia o contedo da varivel T
Amb
(lido via RBN
2
) com um evento
,
,
se torna-se maior que
se torna-se menor que
, onde , se torna-se maior que
, se torna-se menor que
, se n.c.a.
Amb
Amb
2 Amb Amb
Amb
T
T
T L ( ) T
T

e6
e8
e10
e12
QuenteSup
QuenteInf
FrioSup
FrioInf
T
T
T
T


A funo de escrita E
1
mapeia um evento controlvel com uma atuao (via RBN
3
)
na sada digital S
1
(que controla o Compressor)
, se =
, onde , se =
inalterado, se n.c.a.
1 1 1
E ( ) S S

e1
e3
Carga_Ligada
Carga_Desligada
A funo E
2
mapeia um evento controlvel com uma atuao (via RBN
4
) no registro
T
Liga
, se =
, se =
, onde
, se =
inalterado, se n.c.a.
2 Liga Liga
E ( ) T T

e5
e7
e9
LigaMx
LigaMd
LigaMn
T
T
T

e a funo E
3
mapeia um evento controlvel com uma atuao (via RBN
5
) no registro T
Desliga

, se =
, se =
, onde
, se =
inalterado, se n.c.a.
3 Desliga Desliga
E ( ) T T

e5
e7
e9
DesligaMx
DesligaMd
DesligaMn
T
T
T

3.4.4 Priorizao de Eventos Controlveis
A ordem de processamento dos eventos controlveis ativos no SP e habilitados pelos
SRs segue esquema de prioridade fixa, conforme definido na Seo 3.3.8. Como os alfabetos
de SL
1
e SL
2
so disjuntos e em nenhum dos estados destes supervisores tem-se mais que um


48
evento controlvel ativo, a verificao da insensibilidade priorizao de eventos
controlveis no precisa ser realizada e qualquer esquema de prioridade pode ser utilizado.
Deste modo, assume-se que os bits dos elementos binrios dos vetores ECASP
n-k
e
ECDSR
m
possuem a ordenao <e1><e3><e5><e7><e9>, sendo mais prioritrio o evento
controlvel mais esquerda.
Assim, se num certo lao de processamento os eventos controlveis e3 e e7 estiverem
ativos no SP e habilitados pelos SRs, o evento controlvel e3 ser processado neste lao.
3.4.5 Representao do SP e dos SRs no Microcontrolador M
As matrizes SP
1
a SP
4
(que representam as subplantas assncronas SP
1
a SP
4
) so:
1
SP




=
0 e1 1
1 e3 0

3
SP




=
0 e2 1
1 e4 0

2
SP







=
0 e5 1
0 e9 2
1 e7 0
2 e7 0

4
SP







=
0 e12 1
0 e6 2
1 e10 0
2 e8 0

Por sua vez, as matrizes SR
1
e SR
2
(que representam os 2 supervisores modulares
locais reduzidos SR
1
e SR
2
) so:

1
SR










=
0 e2 1
0 e4 1
1 e1 0
1 e2 0
1 e3 0
1 e4 0

2
SR


















=
0 e6 1
0 e8 1
0 e10 1
0 e12 2
1 e6 0
1 e7 0
1 e8 0
1 e9 0
1 e12 0
2 e5 0
2 e10 0

Os elementos binrios dos vetores ECASP
n-k
e ECDSR
m
possuem a ordenao
<e1><e3><e5><e7><e9>. Cada elemento binrio de ECASP
n-k
e ECDSR
m
corresponde um
estado do referido SP
n-k
e SR
m
, respectivamente.
Neste exemplo, apenas as subplantas assncronas SP
1
e SP
2
possuem eventos
controlveis, portanto somente os vetores ECASP
1
e ECASP
2
precisam ser implementados.
Se um evento controlvel no faz parte do alfabeto de um determinado SP
n
, este
evento considerado ativo em todos os estados deste SP
n
, ou seja, o bit que corresponde
condio deste evento igual a 1 em todos os elementos do vetor ECASP
n
. Sendo assim,
1
ECASP


= 10111 01111
e 2
ECASP


= 11101 11010 11010
.


49
Da mesma forma, se um evento controlvel no pertence ao alfabeto de um
determinado supervisor reduzido SR
n
, este evento considerado habilitado em todos os
estados deste SR
n
, ou seja, o bit que corresponde condio deste evento igual a 1 em todos
os elementos do vetor ECDSR
n
. Deste modo,
1
ECDSR


= 00111 11111
e 2
ECDSR


= 11000 11011 11100
.
3.4.6 Estrutura de Implementao
A Figura 3.26 ilustra a estrutura de implementao do Refrigerador Autnomo, que
segue o formalismo apresentado na Seo 3.3 (Figura 3.18).
A planta P possui os elementos (Compressor, Sensor A e Sensor B) que compem o
Refrigerador Autnomo e possui tambm elementos internos ao microcontrolador M. O
elemento S
1
uma sada digital e RBN
3
a rotina de baixo nvel responsvel pela escrita nesta
sada. Os elementos A/D
1
e A/D
2
so canais de um conversor analgico-digital (perifrico de
M) e as rotinas RBN
1
e RBN
2
so responsveis pela aquisio e tratamento dos sinais que
chegam nestes canais. Os elementos T
Liga
e T
Desliga
so registros de M e RBN
4
e RBN
5
so as
rotinas responsveis pela escrita nestes registros.
Refrigerador Autnomo
Microcontrolador M
Atuaes no
Compressor
Informaes
do Sensor A Planta P
T
Liga
T
Desliga
Interface I
Atuaes
em T
Liga
Supervisores Modulares Locais Reduzidos SRs
Sistema Produto SP
{e2, e4, } {e6, e8, e10, e12, } {e1, e3} {e5, e7, e9}
RBN
3
RBN
1
RBN
2
RBN
4
A/D
1
A/D
2
S
1
Compressor Sensor A Sensor B
E
1
E
2
L
1
L
2
SP
1
SP
3
SP
2
SP
4
SR
1
SR
2
Eventos Desabilitaes
Informaes
do Sensor B
RBN
5
E
3
Atuaes
em T
Desliga

Figura 3.26 Estrutura de Implementao do Refrigerador Autnomo


50
A interface I composta de duas funes de leitura (L
1
e L
2
) e trs funes de escrita
(E
1
a E
3
), conforme definido na Seo 3.4.3. O sistema produto SP possui quatro subplantas
assncronas SP
1
a SP
4
(representadas pelas matrizes SP
1
a SP
4
) e h dois supervisores
modulares locais reduzidos SR
1
e SR
2
(representados pelas matrizes SR
1
e SR
2
), conforme
apresentado na Seo 3.4.5.
O atendimento das especificaes de controle garantido pela atuao conjunta dos
supervisores SR
1
(que age sob as subplantas assncronas SP
1
e SP
3
) e SR
2
(que age sob as
subplantas assncronas SP
2
e SP
4
), conforme ilustrado pelas linhas tracejadas na Figura 3.26.
Neste problema de controle, as plantas locais (conjunto de subplantas afetadas por
cada supervisor) so assncronas e portanto os supervisores tambm so assncronos. Desta
forma, tem-se a garantia que as linguagens dos supervisores so no conflitantes e o teste de
modularidade local (de Queiroz e Cury, 2002) no necessrio.
3.4.7 Condio Inicial
Na inicializao considera-se o seguinte cenrio:

T
Liga
= T
LigaMd

T
Desliga
= T
DesligaMd

T
Int
= (T
Liga
+ T
Desliga
)/2
T
Amb
= (T
QuenteInf
+ T
FrioSup
)/2
Compressor (sada digital S
1
) = Car ga_Desl i gada

Esta situao reflete as condies iniciais assumidas no processo de modelagem das
subplantas (Seo 3.2.2). Deste modo, se aps serem obtidas as informaes reais de
temperatura no evaporador (T
Evap
) e ambiente (T
Amb
), o software identificar que a situao
diferente da prevista na inicializao, haver a ocorrncia de eventos no controlveis,
atualizando assim o estado das subplantas assncronas, tornando-as sempre fiis situao
real. Por exemplo, se aps primeiro clculo de T
Amb
for identificado que na realidade a
temperatura ambiente quente ao invs de amena como assumido na inicializao, o evento
no controlvel e6 T
Amb
torna-se maior que a constante T
QuenteSup
ocorrer.
No estado inicial, o estado ativo de SP
1
a SP
4
(elementos do vetor EASP) e o estado
ativo de SR
1
e SR
2
(elementos do vetor EASR) so
EASP



= 0 0 0 0 e EASR



= 0 0 .


51
e sendo assim, o escalar binrio ECAH obtido por
( ) ( )
( i ) ( i )
n k i m i
i 1 i 1 ( EASP ) ( EASR )
ECAH ECASP ECDSR

= =
=
( ) ( )

1 2 1 2
( 0 ) ( 0 ) ( 0 ) ( 0 )
ECAH ECASP ECASP ECDSR ECDSR =
( ) ( )
ECAH = 10111 11101 00111 11000
ECAH = = 10101 00000 00000
de modo que, nesta situao, os eventos controlveis e1, e5 e e9 esto ativos no SP, mas
desabilitados pelos SRs.
3.4.8 Dinmica de Processamento
Considere que num determinado momento, numa varredura das informaes da planta
P pela interface I, a funo de leitura L
1
fornece como retorno o evento no controlvel e2
(T
Evap
torna-se maior que T
Liga
).
Este evento no controlvel e2 processado e atualiza os vetores EASP e EASR via
(3.1) e (3.2), respectivamente,
EASP



= 1 0 0 0 e EASR



= 0 1 ,
de forma que o escalar binrio ECAH, obtido por (3.3), torna-se
( ) ( )

1 2 1 2
( 0 ) ( 0 ) ( ) ( 0 ) 1
ECAH ECASP ECASP ECDSR ECDSR =
( ) ( )
ECAH = 10111 11101 111 1 11 1000
ECAH = = 10101 00 1 0 1 10000
e sendo assim, considerando a ordenao <e1><e3><e5><e7><e9>, conclui-se que o evento
controlvel e1 est ativo no SP e habilitado pelos SRs no estado ativo do sistema. O evento e1
ocorre e realiza-se um ciclo de atuao nos elementos de P via funes de escrita E
k
, k = 1, 2,
..., v. Durante este ciclo, o evento e1 aplicado como argumento na funo de escrita E
1
, que
atua na sada digital S
1
atravs da rotina de baixo nvel RBN
3
, alterando esta sada digital para
Liga, ligando efetivamente o Compressor. Alm disto, aplica-se o evento e1 como argumento
em E
2
e E
3
, que no geram nenhuma atuao na planta P.
A seguir, processa-se o evento e1 nos vetores EASP e EASR via (3.1) e (3.2), que
tornam-se, respectivamente,
EASP



= 0 1 0 1 e EASR



= 0 0 .


52
e ainda, faz-se uma varredura das informaes de P (considere que nenhuma mudana
ocorreu) e atravs de (3.3) obtm-se o escalar binrio ECAH,
( ) ( )

1 2 1 2
( ) ( 0 ) 1 0 ( ) ( 0 )
ECAH ECASP ECASP ECDSR ECDSR = O
( ) ( )
ECAH = O 111 11101 01 00111 11000
ECAH = = 101 00 01 00 0 0 0000
e deste modo, conclui-se que nenhum evento controlvel est simultaneamente ativo no SP e
habilitado pelos SRs. Logo, faz-se = e retorna-se varredura das informaes da planta P.
3.4.9 Cdigo de Implementao da Estrutura de Controle
A seguir so apresentados trechos de cdigo em linguagem ANSI C (Kernighan e
Ritchie, 1988), que implementam as subplantas assncronas SP
1
a SP
4
, os supervisores
reduzidos SR
1
e SR
2
e as Equaes (3.1), (3.2) e (3.3) definidas na Seo 3.3.6.
O cdigo que implementa as subplantas assncronas ilustrado na Figura 3.27. O vetor
EASP[ 4] armazena o estado ativo de cada subplanta assncrona, onde o termo entre colchetes
corresponde dimenso do vetor. As matrizes SP1[ 2] [ 3] , SP2[ 4] [ 3] , SP3[ 2] [ 3] e
SP4[ 4] [ 3] representam respectivamente as subplantas assncronas SP
1
a SP
4
, com os termos
entre colchetes correspondendo ao nmero de linhas e colunas da matriz, respectivamente. Os
vetores ECASP1[ 2] e ECASP2[ 3] contm a informao de quais eventos controlveis esto
ativos em cada estado das subplantas assncronas SP
1
e SP
2
, respectivamente. Os rtulos dos
eventos foram transcritos seguindo a conveno ei i , ou seja, para e9 escreve-se 9.
unsi gned char EASP[ 4] = {0, 0, 0, 0}; / / Est ado At i vo

/ / Subpl ant a Ass ncr ona SP1
const unsi gned char SP1[ 2] [ 3] = { {0, 1, 1},
{1, 3, 0} };

/ / Subpl ant a Ass ncr ona SP2
const unsi gned char SP2[ 4] [ 3] = { {0, 5, 1},
{0, 9, 2},
{1, 7, 0},
{2, 7, 0} };

/ / Subpl ant a Ass ncr ona SP3
const unsi gned char SP3[ 2] [ 3] = { {0, 2, 1},
{1, 4, 0} };

/ / Subpl ant a Ass ncr ona SP4
const unsi gned char SP4[ 4] [ 3] = { {0, 12, 1},
{0, 6, 2},
{1, 10, 0},
{2, 8, 0} };

/ / Event os Cont r ol vei s At i vos
const unsi gned char ECASP1[ 2] = {0b00010111, 0b00001111};
const unsi gned char ECASP2[ 3] = {0b00011101, 0b00011010, 0b00011010};
Figura 3.27 Cdigo ANSI C das Subplantas Assncronas


53
O qualificador de tipo const informa ao compilador (HI-TECH, 2005) que a varivel
deve ser alocada na memria de programa (sem este qualificador, a varivel alocada na
memria de dados). A varivel unsi gned char um tipo de varivel de 8 bits que permite
armazenar valores inteiros contidos no intervalo [0, 255]. Sendo assim, o uso deste tipo de
varivel permite implementar autmatos com at 256 estados e 256 eventos distintos.
Na Figura 3.28 apresentado o cdigo que implementa os supervisores modulares
locais reduzidos. O vetor EASR[ 2] armazena o estado ativo de cada supervisor reduzido. As
matrizes SR1[ 6] [ 3] e SR2[ 11] [ 3] representam respectivamente os supervisores reduzidos
SR
1
e SR
2
e os vetores ECDSR1[ 2] e ECDSR2[ 3] contm a informao de quais eventos
controlveis esto desabilitados em cada estado dos supervisores reduzidos SR
1
e SR
2
,
respectivamente.
unsi gned char EASR[ 2] = {0, 0}; / / Est ado At i vo

/ / Super vi sor Reduzi do SR1
const unsi gned char SR1[ 6] [ 3] = { {0, 2, 1},
{0, 4, 1},
{1, 1, 0},
{1, 2, 0},
{1, 3, 0},
{1, 4, 0} };

/ / Super vi sor Reduzi do SR2
const unsi gned char SR2[ 11] [ 3] = { {0, 6, 1},
{0, 8, 1},
{0, 10, 1},
{0, 12, 2},
{1, 6, 0},
{1, 7, 0},
{1, 8, 0},
{1, 9, 0},
{1, 12, 0},
{2, 5, 0},
{2, 10, 0} };

/ / Event os Cont r ol vei s Desabi l i t ados
const unsi gned char ECDSR1[ 2] = {0b00000111, 0b00011111};
const unsi gned char ECDSR2[ 3] = {0b00011000, 0b00011011, 0b00011100};
Figura 3.28 Cdigo ANSI C dos Supervisores Reduzidos
A representao 0bBBBBBBBB denota um elemento binrio de 8 bits BBBBBBBB. Os
elementos binrios dos vetores ECASP1, ECASP2, ECDSR1 e ECDSR2 possuem o formato
000<e1><e3><e5><e7><e9>, onde os trs bits mais significativos no so utilizados e os
bits <e1>, <e3>, <e5>, <e7>e <e9>contm a informao referente aos eventos controlveis
e1, e3, e5, e7 e e9, respectivamente.
A Equao (3.1) implementada via funo Tr ansi t a_SP (Figura 3.29). Esta funo
recebe como parmetro um evento e possui laos f or que atualizam o estado ativo das
subplantas assncronas. O operador &&efetua a operao E-byte-a-byte.



54
voi d Tr ansi t a_SP( unsi gned char Event o)
{
unsi gned char i ;

f or ( i = 0; i < 2; i ++) {
i f ( ( SP1[ i ] [ 0] == EASP[ 0] ) && ( SP1[ i ] [ 1] == Event o) )
{
EASP[ 0] = SP1[ i ] [ 2] ;
br eak;
}
}
f or ( i = 0; i < 4; i ++) {
i f ( ( SP2[ i ] [ 0] == EASP[ 1] ) && ( SP2[ i ] [ 1] == Event o) )
{
EASP[ 1] = SP2[ i ] [ 2] ;
br eak;
}
}
f or ( i = 0; i < 2; i ++) {
i f ( ( SP3[ i ] [ 0] == EASP[ 2] ) && ( SP3[ i ] [ 1] == Event o) )
{
EASP[ 2] = SP3[ i ] [ 2] ;
br eak;
}
}
f or ( i = 0; i < 4; i ++) {
i f ( ( SP4[ i ] [ 0] == EASP[ 3] ) && ( SP4[ i ] [ 1] == Event o) )
{
EASP[ 3] = SP4[ i ] [ 2] ;
br eak;
}
}
}
Figura 3.29 Cdigo ANSI C que Implementa a Equao (3.1)
Implementa-se a Equao (3.2) atravs da funo Tr ansi t a_SRs (Figura 3.30). Esta
funo recebe como parmetro um evento e possui laos f or que atualizam o estado ativo dos
supervisores reduzidos.
voi d Tr ansi t a_SRs( unsi gned char Event o)
{
unsi gned char i ;

f or ( i = 0; i < 6; i ++) {
i f ( ( SR1[ i ] [ 0] == EASR[ 0] ) && ( SR1[ i ] [ 1] == Event o) )
{
EASR[ 0] = SR1[ i ] [ 2] ;
br eak;
}
}
f or ( i = 0; i < 11; i ++) {
i f ( ( SR2[ i ] [ 0] == EASR[ 1] ) && ( SR2[ i ] [ 1] == Event o) )
{
EASR[ 1] = SR2[ i ] [ 2] ;
br eak;
}
}
}
Figura 3.30 Cdigo ANSI C que Implementa a Equao (3.2)
A funo Aval i a_ECAH (Figura 3.31), implementa a Equao (3.3). Esta funo
retorna um evento controlvel ou o evento vazio (representado por 0). O lao f or analisa o
escalar binrio ECAH e avalia a existncia de um evento controlvel ativo e habilitado,
considerando e1 o evento mais prioritrio. O operador &efetua a operao E-bit-a-bit.


55
unsi gned char Aval i a_ECAH( voi d)
{
unsi gned char ECASP, ECDSR, ECAH, ec = 1, i ;

ECASP = ECASP1[ EASP[ 0] ] & ECASP2[ EASP[ 1] ] ;
ECDSR = ECDSR1[ EASR[ 0] ] & ECDSR2[ EASR[ 1] ] ;

ECAH = ECASP & ECDSR;

f or ( i = 4; i ; i - - ) {
i f ( ECAH>>i ) r et ur n ec;
ec = ec + 2;
}
ec = 0;
r et ur n ec;
}
Figura 3.31 Cdigo ANSI C que Implementa a Equao (3.3)
Como exemplo, considere que ECAH = 0b00001010, ou seja, os eventos e3 e e7
encontram-se ativos e habilitados. No primeiro lao tem-se i = 4 e ec = 1. Sendo assim,
como a operao >>4 desloca ECAH quatro bits para a direita, colocando quatro 0s
esquerda, resulta que ( ECAH>>i = 0b00000000) = 0 e ec = ec + 2 = 3. No segundo
lao, tem-se i = 3 e ec = 3, portanto ( ECAH>>i = 0b00000001) = 1 e a funo
retorna ec = 3 ou seja, o evento e3 gerado. Note que, no caso onde ECAH =
0b00000000, em nenhum lao tem-se ECAH>>i = 1 e a funo retorna ec = 0.
3.5 Resumo do Procedimento de Projeto
O procedimento de projeto proposto pode ser resumido nas seguintes etapas.
3.5.1 Definio do Problema de Controle
I.1) Caracterizar o problema (listar seus elementos e suas funcionalidades).
I.2) Descrever os objetivos de controle.
3.5.2 Sntese dos Supervisores
II.1) Modelar n subplantas assncronas que compem o SP, as quais consistem em uma
abstrao da planta P e representam o comportamento livre do sistema a ser controlado.
II.2) Definir m especificaes de controle, que restrinjam o comportamento do SP ao
comportamento desejado.
II.3) Sintetizar m SRs (um para cada especificao m), obtidos considerando somente as
subplantas assncronas do SP afetadas por sua ao (plantas locais).


56
II.4) Verificar requisito de modularidade local dos supervisores. Se os supervisores forem no
conflitantes, ir para II.5). Caso contrrio, resolver conflito conforme abordado em (de Queiroz
e Cury, 2002).
II.5) Aplicar procedimento de reduo dos supervisores.
3.5.3 Implementao no Microcontrolador M
III.1) Verificar se os supervisores sintetizados so insensveis ao entrelaamento de eventos
no controlveis. Caso no forem, retornar ao processo de sntese.
III.2) Criar rotina da dinmica de processamento (Figura 3.19).
III.3) Conceber u+v rotinas de baixo nvel RBNs (podendo agregar algumas se for mais
adequado), que obtm informaes de P ou geram atuaes em elementos de P.
III.4) Criar rotina da interface I entre SP e P.
III.4.1) Criar u funes de leitura L
u
(I
P
) , que mapeiam informaes de P (obtidas
via RBNs) em eventos no controlveis
nc
ou vazio .
III.4.2) Criar v funes de escrita E
v
() A
P
, que mapeiam eventos controlveis
c

em atuaes (por intermdio de RBNs) em elementos de P.
III.5) Definir conveno de ordenao (ordem dos eventos controlveis) dos elementos
binrios dos vetores ECASP
n-k
e ECDSR
m
.
III.6) Criar matrizes SR
n
, geradas a partir dos n autmatos das subplantas assncronas do SP.
III.7) Criar matrizes SR
m
, geradas a partir dos m autmatos dos SRs.
III.8) Criar vetores ECASP
n-k
, gerados a partir dos n autmatos das subplantas assncronas do
do SP e conforme conveno de ordenao escolhida.
III.9) Criar vetores ECDSR
m
, gerados a partir dos m autmatos dos SRs e conforme conveno
de ordenao escolhida.
III.10) Inicializar vetores EASP
n
e EASR
m
, registros (variveis) e sadas, que necessariamente
devem ser coerentes com o estado inicial do SP e dos SRs.
3.5.4 Comentrios
As etapas II.3)- II.5) podem ser realizadas automaticamente com o auxlio de
programas que possuem funes de controle supervisrio de sistemas a eventos discretos, tais
como TCT (Feng e Wonham, 2006), GRAIL (Reiser et al., 2006), DESUMA (Ricker et al.,
2006) ou IDES (Rudie, 2006). Sendo assim, aps a incluso de novas subplantas assncronas


57
no SP e/ou a criao de outras especificaes de controle, a sntese dos supervisores
efetuada com rapidez e segurana.
A verificao mencionada em III.1) pode ser feita manualmente, se os supervisores
sintetizados e as plantas locais no forem muito grandes. No entanto, a criao de um
procedimento automtico destinado realizar esta verificao percebida como uma
necessidade.
A estrutura da etapa III.2) mantm-se fixa para qualquer aplicao, sendo necessrio
somente a atualizao dos ndices u e v (referente s funes L
u
e E
v
), n (quantidade de
subplantas assncronas do SP), m (quantidade de SRs) e k (quantidade de subplantas
assncronas do SP que no contm eventos controlveis
c
).
A etapa III.3) sofre alteraes ao desejar-se obter novas informaes de P e/ou gerar-
se novas atuaes em elementos de P. A etapa III.4) muda ao criar-se novos mapeamentos de
informaes de P (obtidas via RBNs) em eventos no controlveis ou de eventos controlveis
em atuaes (via RBNs) em elementos de P.
O cdigo em linguagem ANSI C (Kernighan e Ritchie, 1988) das etapas III.6)- III.9)
pode ser automaticamente gerado por meio de um programa tradutor especificamente
desenvolvido para esta finalidade ou alternativamente atravs de macros em EXCEL
8
.
3.6 Concluses
A metodologia de projeto aqui apresentada visa tratar adequadamente os principais
aspectos de implementao de supervisores, tais como a priorizao dos eventos no
controlveis em relao aos eventos controlveis, o requisito de insensibilidade ao
entrelaamento de eventos no controlveis, a exigncia de sincronizao exata entre planta e
supervisores e a necessidade de escolha de um dos eventos controlveis permitidos de ocorrer
num determinado estado. Grande parte destes aspectos, surge em funo da natureza
assncrona de um sistema modelado por autmatos, que demanda exigncias para seu correto
funcionamento em dispositivos seqnciais como microcontroladores e CLPs.
No captulo seguinte, esta metodologia aplicada um problema real, que consiste no
projeto de um controlador, de acordo com um conjunto de especificaes de controle, para um
Mini-Refrigerador contendo dois compartimentos.Equation Section 4


8
Uma macro em EXCEL consiste numa srie de comandos e funes que so armazenadas num mdulo
em Visual Basic. Por meio de uma macro possvel criar um programa que utiliza como interface de
entrada/sada as clulas de uma ou mais planilhas.


58
Captulo 4

Projeto do Controlador
de um Mini-Refrigerador
Neste captulo a proposta de procedimento de projeto de controladores para
eletrodomsticos aplicada num problema real, que consiste no controle de um Mini-
Refrigerador contendo dois compartimentos. Embora este parea ser um problema de controle
supervisrio bastante simples, a abordagem monoltica no se mostra apropriada para realizar
a sntese do supervisor para este sistema.
A organizao deste captulo como segue. Na Seo 4.1 define-se o problema real
intitulado Mini-Refrigerador, apresentando em detalhes seus aspectos construtivos e os
objetivos de controle. Na Seo 4.2 apresenta-se o processo de sntese dos supervisores
modulares locais reduzidos, onde utiliza-se o conceito de restries fsicas (Moraes e Leal,
2006) na modelagem da planta e prope-se uma alternativa para reduzir a complexidade do
teste de no conflito entre os supervisores. Na Seo 4.3, os supervisores obtidos na Seo 4.2
so implementados no microcontrolador PIC16F690 (Microchip, 2008). Por fim, na Seo 4.4
so apresentados resultados experimentais obtidos com o Mini-Refrigerador operando com
software gerado de acordo com a metodologia de implementao proposta.
4.1 Definio do Problema de Controle
Na seqncia apresentam-se a caracterizao e a descrio dos objetivos de controle
de um problema intitulado Mini-Refrigerador.
4.1.1 Caracterizao do Mini-Refrigerador
A Figura 4.1 apresenta uma viso geral do Mini-Refrigerador, concebido com o intuito
de representar, em escala reduzida, um refrigerador contendo dois setores (1 e 2).


59
1
2

Figura 4.1 Foto do Mini-Refrigerador
A estrutura permite implementar praticamente todas as funcionalidades que um
eletrodomstico deste tipo possui. Somente o processo de degelo no contemplado, em
virtude de no se alcanar temperaturas abaixo de zero, condio na qual se tem a formao
de gelo. A Figura 4.2 apresenta um diagrama do Mini-Refrigerador.

Figura 4.2 Diagrama do Mini-Refrigerador


60
Uma Clula Peltier (Nolas et al., 2006) desempenha a funo de transmitir o calor de
dentro do Setor 1 para o ambiente externo, substituindo o compressor hermtico comumente
utilizado em refrigeradores. Um Damper Eletrnico (abertura mvel) permite ajustar o fluxo
de ar entre os setores, possibilitando assim o resfriamento do Setor 2. A circulao do ar frio
nas proximidades da Clula Peltier forada atravs de um Ventilador conectado junto
Clula Peltier. Os Sensores de Temperatura 1 e 2 (cpsula NTC) monitoram a temperatura
nos respectivos setores. A iluminao interna feita por meio das Lmpadas 1 e 2 e o estado
das portas (aberta ou fechada) monitorado atravs dos Sensores de Porta 1 e 2 (magnticos).
Na regio superior, uma Interface com Usurio dispe de Teclas, Leds e uma Buzina.
Visando um melhor entendimento do conceito mecnico desenvolvido, na Figura 4.3
apresentada uma vista explodida do Mini-Refrigerador.
Interface com Usurio
Ventilador Externo
Dissipador Metlico Externo
Cella Peltier
Dissipador Metlico
Ventilador
Damper Eletrnico
Sensor de Porta 1
Sensor de Porta 2
Corpo (Acrlico)
Porta 1 (Acrlico)
Porta 1 (Isopor)
Porta 2 (Acrlico)
Porta 2 (Isopor)
Corpo 1 (Isopor)
Corpo 2 (Isopor)

Figura 4.3 Vista Explodida do Mini-Refrigerador
O isolamento trmico dos setores obtido atravs de pequenas caixas de isopor
comercialmente disponveis. A rigidez mecnica viabilizada por meio de uma estrutura de
acrlico. O uso de parafusos permite a fcil montagem e desmontagem dos elementos.
Um Controle Eletrnico (ver Figura 4.4), que utiliza o microcontrolador PIC16F690
(Microchip, 2008), foi elaborado visando permitir a leitura dos Sensores de Temperatura 1 e 2
e dos Sensores de Porta 1 e 2 e o acionamento das cargas (Damper Eletrnico, Clula Peltier,


61
Ventilador e Lmpadas 1 e 2). O Ventilador Externo, que tem por objetivo forar a circulao
de ar nas proximidades do Dissipador Metlico Externo, no controlado pela placa
eletrnica, estando sempre acionado enquanto o dispositivo estiver energizado.

Figura 4.4 Foto do Controle Eletrnico
Este Controle Eletrnico dispe de uma Interface com Usurio (Figura 4.5) que
possui Teclas que permitem ao usurio ligar e desligar o Mini-Refrigerador (SW1), ajustar o
nvel de temperatura desejado para o Setor 1 e Setor 2 (SW2 e SW3) e desligar um Alarme de
Porta Aberta (SW4). Essa interface contm Leds que permitem visualizar o nvel de
temperatura atualmente ajustado para o Setor 1 (L5-L7) e Setor 2 (L8-L10) e o estado das
portas (L11). Mais acima direita h uma Buzina (BZ1) destinada ao Alarme de Porta
Aberta. Uma Tecla adicional (SW5) est disponvel para futuras implementaes.

Figura 4.5 Detalhe dos Elementos da Interface com Usurio
Este Controle Eletrnico alimentado por uma fonte de computador ATX de 450W,
que fornece as tenses 12Vdc e 5Vdc. Existe uma demanda de corrente de aproximadamente
10A na tenso de 12Vdc, destinada a suprir a Clula Peltier, o que exige o uso de uma fonte
deste porte. As demais cargas e o microcontrolador so de baixo consumo. Um diagrama de
blocos do Controle Eletrnico apresentado na Figura 4.6.


62

Figura 4.6 Diagrama de Blocos do Controle Eletrnico

Na seqncia feita uma descrio do circuito eletrnico contido em cada bloco. O
bloco Filtragem, apresentado na Figura 4.7, destina-se a filtrar os sinais de tenso 5Vdc e
12Vdc provenientes da fonte ATX. So utilizados capacitores eletrolticos (C1 e C3) para
atenuar oscilaes em baixa freqncia e criar uma fonte de energia local. Alm disso, so
empregados capacitores cermicos (C2 e C4) para eliminar rudos em alta freqncia.

Figura 4.7 Controle Eletrnico Bloco Filtragem

A Figura 4.8 apresenta o bloco Acionamento das Cargas Liga/Desliga (Clula Peltier,
Ventilador e Lmpadas 1 e 2) onde so empregados 4 rels, tendo K1 (destinado ao
acionamento da Clula Peltier) capacidade de corrente de 30A e K2-K4 capacidade de
corrente de 10A. Os Leds L1-L4 (no apresentados na Figura 4.5) so utilizados visando
fornecer uma indicao visual se a carga est ligada ou desligada (L1 = Clula Peltier, L2 =
Ventilador, L3 = Lmpada 1 e L4 = Lmpada 2).


63

Figura 4.8 Controle Eletrnico Bloco Acionamento das Cargas Liga/Desliga
Os rels K1 a K4 so controlados por sinais digitais aplicados aos ns RL1 a RL4,
respectivamente. Por exemplo, quando aplica-se um nvel lgico 1 ao n RL1, o transistor T1
entra em saturao, energizando a bobina do rel K1, fechando o contato deste rel. Por outro
lado, quando aplica-se um nvel lgico 0 ao n RL1, o transistor T1 entra em corte,
desenergizando a bobina do rel K1, abrindo o contato deste rel. O diodo D1, tipicamente
chamado de roda livre, utilizado visando fornecer um caminho para a corrente que percorre
a bobina do rel K1 quando o transistor T1 entra em corte, evitando a gerao de um pico de
tenso entre os terminais da bobina do rel quando este desenergizado.
O bloco Condicionamento dos Sinais dos Sensores (cpsulas NTC) apresentado na
Figura 4.9. Um sensor NTC uma resistncia varivel com a temperatura e
microcontroladores no so aptos a ler diretamente uma informao de resistncia. Desse
modo, faz-se necessrio converter a informao de resistncia numa informao de tenso,
visando por fim obter uma relao entre a temperatura nas proximidades do NTC e a tenso
medida pelo microcontrolador.
A tcnica de converso escolhida utiliza divisores resistivos. utilizado um divisor
resistivo entre o Sensor de Temperatura 1 (posicionado na parte inferior do divisor) e o
resistor R16. De forma anloga, utilizado um divisor resistivo entre o Sensor de
Temperatura 2 (posicionado na parte inferior do divisor) e o resistor R18. O ponto central de


64
cada um desses divisores resistivos (indicados pelos rtulos NTC1 e NTC2 na Figura 4.9)
conectado em entradas A/D (analgico/digital) do microcontrolador.
Esta metodologia interessante pois torna a relao entre a resistncia do NTC (e por
conseguinte a temperatura nas suas proximidades) e a tenso medida pelo microcontrolador,
aproximadamente linear para uma determinada faixa de temperatura de interesse.

Figura 4.9 Controle Eletrnico Bloco Condicionamento dos Sinais dos Sensores

Os resistores R17 e R19 so utilizados visando atenuar possveis oscilaes de tenso
e os capacitores C5 e C6 so utilizados para atenuar rudos em alta freqncia.

O bloco Controle do Damper Eletrnico ilustrado na Figura 4.10. Este bloco possui
como elemento essencial o circuito integrado TA7774P (Toshiba, 2007), destinado ao
acionamento do motor de passo bipolar existente internamente no Damper Eletrnico. A
Figura 4.10 apresenta os sinais de comando (rtulos DA e DB) e as conexes para o motor de
passo bipolar (rtulos A, A, B e B do conector CN12).

Figura 4.10 Controle Eletrnico Bloco Controle do Damper Eletrnico

A Figura 4.11 ilustra o princpio de operao do motor de passo bipolar, indicando as
quatro possveis orientaes do im permanente de acordo com as energizaes dos
enrolamentos A e B.


65

Figura 4.11 Princpio de Operao do Motor de Passo Bipolar
A Figura 4.12 apresenta um ciclo de energizao (etapas [1], [2], [3] e [4]) dos
enrolamentos A e B de acordo com o nvel lgico aplicado aos ns DA e DB, visando uma
movimentao no sentido horrio. Uma movimentao no sentido anti-horrio obtida
aplicando um ciclo de energizao inverso (etapas [4], [3], [2] e [1]). O Damper Eletrnico
utilizado demanda 500 ciclos de energizao para excursionar da condio aberto para a
condio fechado (e vice-versa). O perodo utilizado em cada etapa foi 2 ms.
[1] [2] [3] [4]
DA
DB
A
A
B
B
2 ms

Figura 4.12 Ciclo de Energizao dos Enrolamentos A e B (Movimentao no Sentido Horrio)
O bloco Interface com Usurio apresentado na Figura 4.13. Este bloco responsvel
pelo acionamento da Buzina (BZ1), feito atravs de uma sada PWM do microcontrolador,
que gera uma forma de onda quadrada com freqncia de 4 kHz. Alm disso, este bloco
responsvel pelo acionamento dos Leds e leitura das Teclas e dos Sensores de Porta 1 e 2,
implementados via uma estrutura multiplexada, visando reduzir a demanda de portas de I/O.
So utilizadas 8 portas de I/O para acionar 7 Leds, ler 5 Teclas e ler os Sensores de Porta 1 e
2, enquanto que uma implementao sem multiplexao demandaria 14 portas de I/O.


66

Figura 4.13 Controle Eletrnico Bloco Interface com Usurio
A tcnica de multiplexao utilizada descrita a seguir. Os sinais LS1-LS7 so
conectados s portas de I/O (Input/Output) do microcontrolador. Tais sinais so configurados
como entrada nos instantes em que se deseja ler a condio das Teclas SW1-SW5 e dos
Sensores de Porta 1 e 2 ligados aos conectores CN10 e CN11 respectivamente, mantendo
durante esse perodo o sinal LEDC em nvel lgico 1. Por sua vez, nos instantes de
acionamento dos Leds L5-L11, os sinais LS1-LS7 so configurados como sada nvel lgico 0
para o Led que se deseja acender e sada nvel lgico 1 para o Led que se deseja apagar, sendo
o sinal LEDC mantido em nvel lgico 0 durante esse perodo. Devido caracterstica de
persistncia da viso do olho humano (nanosegundos de exposio uma imagem resulta em
milisegundos de reao da retina), o uso de uma freqncia de atualizao dos Leds maior que
25Hz j garante uma boa percepo visual.
Os resistores R20-R26 e R27-R33 so dimensionados de modo a proporcionar uma
tenso correspondente nvel lgico 0 quando a Tecla pressionada e nvel lgico 1 quando a
Tecla no pressionada. Os valores de R27-R33 no devem ser muito baixos visando no
interferir no brilho dos Leds quando as Teclas so pressionadas. Os resistores R41-R47 so
utilizados com o intuito de restringir a corrente que percorre T6, Leds L5-L11 e portas de I/O
do microcontrolador (sinais LS1-LS7).
Visando filtrar rudos provenientes do contato mecnico das Teclas e dos Sensores de
Porta 1 e 2, aplicada uma tcnica de software debouncing (Ganssle, 2007), que exige a
manuteno de um nvel lgico estvel por 20 ms para a validao da leitura de um pino de
entrada.


67
A Figura 4.14 apresenta as conexes dos demais circuitos ao bloco Processamento,
que possui como elemento principal o microcontrolador (IC1) PIC16F690 (Microchip, 2008).

Figura 4.14 Controle Eletrnico Bloco Processamento
Note que todos os pinos do microcontrolador (IC1) so utilizados. A gravao da
memria de programa do PIC16F690 (Microchip, 2008) feita atravs do conector PROG1
por meio do protocolo ICP (In-Circuit Programming), permitindo a reprogramao sem a
necessidade de remoo do componente da placa.
4.1.2 Descrio dos Objetivos de Controle
A temperatura em cada setor pode ser regulada em 3 nveis (Baixo, Mdio e Alto)
situados na faixa [10, 14]
o
C para o Setor 1 e [18, 22]
o
C para o Setor 2. O ajuste feito
atravs da Tecla SW2 para o Setor 1 e SW3 para o Setor 2. Os Leds L5-L7 indicam o nvel de
temperatura desejado para o Setor 1 (L5 = Baixo, L6 = Mdio e L7 = Alto) e os Leds L8-L10
indicam o nvel de temperatura desejado para o Setor 2 (L8 = Baixo, L9 = Mdio e L10 =
Alto).
A temperatura no Setor 1 regulada de acordo com o nvel de temperatura selecionado
pelo usurio e a temperatura medida pelo Sensor de Temperatura 1 (T
Setor1
). utilizada
estratgia do tipo liga-desliga, tendo a Clula Peltier como elemento de atuao.
No Setor 2 o controle feito em funo do nvel de temperatura escolhido e a
temperatura medida pelo Sensor de Temperatura 2 (T
Setor2
). O ajuste feito por meio da
abertura e fechamento do Damper Eletrnico.
Se uma ou ambas as portas estiverem abertas, um Led (L11) aceso e um
Temporizador de Porta Aberta inicia a contagem de tempo. Se esse temporizador alcana o
valor 120 segundos, um Alarme de Porta Aberta ativado, fazendo a Buzina (BZ1) soar. Esse


68
alarme desativado via uma Tecla de desligamento (SW4) ou pelo fechamento de ambas as
portas. Se o alarme for desativado atravs da Tecla de desligamento, ele no retorna a ser
ativado mesmo que as portas sejam mantidas abertas.
4.2 Sntese dos Supervisores
4.2.1 Descrio dos Eventos
Foram identificados 46 eventos, sendo 34 controlveis e 12 no controlveis. A Tabela
4.1 descreve os eventos controlveis.
Tabela 4.1 Conjunto de Eventos Controlveis
Evento Descrio
a
1
selecionar nvel Baixo no Setor 1 (T
LigaSetor1
= T
LigaSetor1Baixo
e T
DesligaSetor1
= T
DesligaSetor1Baixo
)
b
1
selecionar nvel Mdio no Setor 1 (T
LigaSetor1
= T
LigaSetor1Mdio
e T
DesligaSetor1
= T
DesligaSetor1Mdio
)
c
1
selecionar nvel Alto no Setor 1 (T
LigaSetor1
= T
LigaSetor1Alto
e T
DesligaSetor1
= T
DesligaSetor1Alto
)
a
2
selecionar nvel Baixo no Setor 2 (T
LigaSetor2
= T
LigaSetor2Baixo
e T
DesligaSetor2
= T
DesligaSetor2Baixo
)
b
2
selecionar nvel Mdio no Setor 2 (T
LigaSetor2
= T
LigaSetor2Mdio
e T
DesligaSetor2
= T
DesligaSetor2Mdio
)
c
2
selecionar nvel Alto no Setor 2 (T
LigaSetor2
= T
LigaSetor2Alto
e T
DesligaSetor2
= T
DesligaSetor2Alto
)
a
3
/ b
3
ligar / desligar Clula Peltier
a
4
/ b
4
abrir / fechar Damper Eletrnico
a
5
/ b
5
ligar / desligar Ventilador
a
6
/ b
6
ligar / desligar Buzina (BZ1)
a
7
/ b
7
ligar / desligar Lmpada 1
a
8
/ b
8
ligar / desligar Lmpada 2
a
9
/ b
9
ligar / desligar Led nvel Baixo no Setor 1 (L5)
a
10
/ b
10
ligar / desligar Led nvel Mdio no Setor 1 (L6)
a
11
/ b
11
ligar / desligar Led nvel Alto no Setor 1 (L7)
a
12
/ b
12
ligar / desligar Led nvel Baixo no Setor 2 (L8)
a
13
/ b
13
ligar / desligar Led nvel Mdio no Setor 2 (L9)
a
14
/ b
14
ligar / desligar Led nvel Alto no Setor 2 (L10)
a
15
/ b
15
ligar / desligar Led de Porta Aberta (L11)
a
16
/ b
16
iniciar / zerar Temporizador de Porta Aberta


69
Por sua vez, a Tabela 4.2 descreve os eventos no controlveis.
Tabela 4.2 Conjunto de Eventos No Controlveis
Evento Descrio
d
1
T
Setor1
torna-se maior que T
LigaSetor1
e
1
T
Setor1
torna-se menor que T
DesligaSetor1

d
2
T
Setor2
torna-se maior que T
LigaSetor2

e
2
T
Setor2
torna-se menor que T
DesligaSetor2

d
3
Porta 1 foi aberta
e
3
Porta 1 foi fechada
d
4
Porta 2 foi aberta
e
4
Porta 2 foi fechada
f
1
Temporizador de Porta Aberta alcanou seu valor mximo
f
2
Tecla de ajuste do nvel de temperatura do Setor 1 foi pressionada (SW2)
f
3
Tecla de ajuste do nvel de temperatura do Setor 2 foi pressionada (SW3)
f
4
Tecla de desligamento do Alarme de Porta Aberta foi pressionada (SW4)
4.2.2 Modelagem das Subplantas
A planta global G composta por 23 subplantas G
i
s, que descrevem o
comportamento livre dos elementos do Mini-Refrigerador. As subplantas G
1
e G
2
(Figura
4.15) modelam a seleo do nvel de temperatura dos Setores 1 e 2.
0 1
b
i
2
a
i
c
i
b
i
c
i
a
i

Figura 4.15 Autmatos das Subplantas G
i
, i = 1, 2
As subplantas G
3
a G
8
modelam respectivamente a Clula Peltier, o Damper
Eletrnico, o Ventilador, a Buzina e as Lmpadas 1 e 2. Os Leds de indicao de nvel Baixo,
Mdio e Alto para o Setor 1 so modelados pelas subplantas G
9
, G
10
e G
11
e os Leds de
indicao de nvel Baixo, Mdio e Alto para o Setor 2 so modelados pelas subplantas G
12
,
G
13
e G
14
. O autmato G
15
modela o Led de Porta Aberta. Os autmatos das subplantas G
3
a
G
15
so apresentados na Figura 4.16.


70

Figura 4.16 Autmatos das Subplantas G
i
, i = 3, 4, ..., 15
O comportamento do Temporizador de Porta Aberta modelado pela subplanta G
16
,
apresentada na Figura 4.17. Os eventos controlveis a
16
e b
16
so responsveis por iniciar e
zerar a contagem, respectivamente. Por sua vez, o evento no controlvel f
1
sinaliza que o
Temporizador de Porta Aberta alcanou seu valor mximo.

Figura 4.17 Autmato da Subplanta G
16
Os Sensores de Temperatura 1 e 2 so modelados pelas subplantas G
17
e G
18
e os
Sensores de Porta 1 e 2 so modelados pelas subplantas G
19
e G
20
(Figura 4.18).

Figura 4.18 Autmatos das Subplantas G
i
, i = 17, 18, 19 e 20
As Teclas de ajuste do nvel de temperatura do Setor 1 e Setor 2 e a Tecla de
desligamento do Alarme de Porta Aberta so modeladas pelas subplantas G
21
, G
22
e G
23

(Figura 4.19). Visando simplificar a soluo do problema, a Tecla liga/desliga no foi
modelada, sendo tratada durante a etapa de implementao.

Figura 4.19 Autmatos das Subplantas G
i
, i = 21, 22 e 23
O estado inicial das subplantas G
1
a G
23
reflete uma situao tpica presente durante a
energizao do sistema. O estado inicial de cada subplanta marcado visando indicar que
uma tarefa concluda quando o subsistema retorna para sua condio inicial.
4.2.3 Modelagem das Restries Fsicas
Atravs de uma anlise da planta em estudo, possvel identificar condies nas quais
determinados eventos nunca iro ocorrer. Essas situaes foram adicionadas ao modelo por


71
meio da criao de restries fsicas (Moraes e Leal, 2006), visando torn-lo mais fiel ao
comportamento real do sistema.
Observando a relao entre a Clula Peltier e o Sensor 1, foi criada a restrio fsica
R
1
, que modela a restrio de ocorrncia do evento e
1
(T
Setor1
torna-se menor que T
DesligaSetor1
)
se a Clula Peltier estiver desligada e d
1
(T
Setor1
torna-se maior que T
LigaSetor1
) se a Clula
Peltier estiver ligada. Similarmente, observando a relao entre o Damper Eletrnico e o
Sensor 2, foi concebida a restrio fsica R
2
, que modela a restrio de ocorrncia do evento e
2

(T
Setor2
torna-se menor que T
DesligaSetor2
) se o Damper Eletrnico estiver fechado e d
2
(T
Setor2

torna-se maior que T
LigaSetor2
) se o Damper Eletrnico estiver aberto. Os autmatos de tais
restries so apresentados na Figura 4.20.

Figura 4.20 Autmatos das Restries Fsicas R
i
, i = 1 e 2
4.2.4 Representao por Sistema Produto
Como todos os elementos do sistema produto devem ser assncronos (de Queiroz,
2000), considerando que a restrio fsica R
1
possui eventos comuns s subplantas G
3
e G
17

bem como a restrio fsica R
2
possui eventos comuns s subplantas G
4
e G
18
, torna-se
necessrio agrupar G
3
e G
17
e R
1
bem como agrupar G
4
e G
18
e R
2
. Deste modo, o sistema
produto para o problema em questo possui as subplantas assncronas ilustradas na Tabela
4.3, onde o smbolo || denota a operao composio sncrona.
Tabela 4.3 Subplantas Assncronas do Sistema Produto
SP
i
= G
i
com i = 1 e 2
SP
i
= G
i+2
com i = 3 a 14
SP
i
= G
i+4
com i = 15 e 16
SP
17
= G
3
|| G
17
|| R
1

SP
18
= G
4
|| G
18
|| R
2

SP
i
= G
i+2
com i = 19, 20 e 21
Os autmatos das subplantas assncronas SP
i
para i = 17 e 18 so apresentados na
Figura 4.21.


72

Figura 4.21 Autmatos das Subplantas Assncronas SP
i
, i = 17 e 18
4.2.5 Especificaes de Controle
Dez especificaes foram formuladas visando restringir o comportamento da planta ao
comportamento desejado.
A especificao E
1
define que a Clula Peltier pode ser ligada (a
3
) somente se a
temperatura no Setor 1 (T
Setor1
) tornar-se maior que a varivel T
LigaSetor1
(d
1
) e que a Clula
Peltier pode ser desligada (b
3
) somente se a temperatura no Setor 1 (T
Setor1
) tornar-se menor
que a varivel T
DesligaSetor1
(e
1
). A especificao E
2
define que o Damper Eletrnico pode ser
aberto (a
4
) somente se a temperatura no Setor 2 (T
Setor2
) tornar-se maior que a varivel
T
LigaSetor2
(d
2
) e que o Damper Eletrnico pode ser fechado (b
4
) somente se a temperatura no
Setor 2 (T
Setor2
) tornar-se menor que a varivel T
DesligaSetor2
(e
2
). A Figura 4.22 apresenta os
autmatos dessas especificaes.

Figura 4.22 Autmatos das Especificaes E
i
, i = 1 e 2
A especificao E
3
(Figura 4.23) define que a Lmpada 1 pode ser ligada (a
7
) somente
se a porta do Setor 1 for aberta (d
3
) e esta lmpada pode ser desligada (b
7
) somente se essa
porta for fechada (e
3
). Alm disto, E
3
tambm define que o Ventilador pode ser desligado (b
5
)
somente se a porta do Setor 1 for aberta (d
3
) e pode ser ligado (a
5
) somente se essa porta for
fechada (e
3
).

Figura 4.23 Autmato da Especificao E
3



73
A especificao E
4
(Figura 4.24) define que a Lmpada 2 pode ser ligada (a
8
) somente
se a porta do Setor 2 for aberta (d
4
), e que essa lmpada pode ser desligada (b
8
) somente se
essa porta for fechada (e
4
).
d
4
e
4
b
8
a
8
0 1

Figura 4.24 Autmato da Especificao E
4
O controle do Temporizador de Porta Aberta feito em funo do Led de Porta
Aberta, que reflete a condio das portas. A especificao E
5
(Figura 4.25) define que esse
temporizador pode ser iniciado (a
16
) somente se o Led de Porta Aberta for comandado para
acender (ocorrer o evento de acendimento deste Led) (a
15
), e que tal temporizador pode ser
zerado (b
16
) somente se o referido Led for comandado para apagar (ocorrer o evento de
desligamento do mesmo) (b
15
).

Figura 4.25 Autmato da Especificao E
5

A especificao E
6
(Figura 4.26) define que a Buzina pode ser ligada (a
6
) somente se o
Temporizador de Porta Aberta alcanar seu valor mximo (f
1
).

Figura 4.26 Autmato da Especificao E
6

A especificao E
7
(Figura 4.27) define que uma vez ligada a Buzina (a
6
) ela pode ser
desligada (b
6
) somente se a Tecla de desligamento do Alarme de Porta Aberta for pressionada
(f
4
) ou ambas as portas forem fechadas. O fechamento de ambas as portas sinalizado pela
ocorrncia do evento de desligamento do Led de Porta Aberta (b
15
). O acoplamento entre o
estado das portas e o Led de Porta Aberta feito via especificao E
8
(Figura 4.28).


74

Figura 4.27 Autmato da Especificao E
7

A especificao E
8
(Figura 4.28) define que o Led de Porta Aberta pode ser ligado
(a
15
) somente se a Porta 1 e/ou a Porta 2 for aberta, representados pelos eventos d
3
e d
4
,
respectivamente. Tal especificao garante ainda que somente se ambas as portas forem
fechadas o Led de Porta Aberta pode ser desligado (b
15
).

Figura 4.28 Autmato da Especificao E
8


A especificao E
9
(Figura 4.29) define a mudana do nvel de temperatura desejado
para o Setor 1, em decorrncia do aperto da Tecla correspondente (SW2). Alm disto, esta
especificao define o comportamento dos Leds indicadores de nvel Baixo, Mdio e Alto
deste setor.

Figura 4.29 Autmato da Especificao E
9

Analogamente, a especificao E
10
(Figura 4.30) define a mudana do nvel de
temperatura desejado para o Setor 2, em decorrncia do aperto da Tecla correspondente
(SW3). Alm disto, esta especificao define o comportamento dos Leds indicadores de nvel
Baixo, Mdio e Alto deste setor.


75

Figura 4.30 Autmato da Especificao E
10

4.2.6 Sntese dos Supervisores

Neste problema de controle, o uso da abordagem monoltica invivel, pois o
autmato que modela o comportamento global da planta livre (composio de todas as
subplantas) possui 3.538.944 estados e os programas GRAIL (Reiser et al., 2006), TCT (Feng e
Wonham, 2006) e DESUMA (Ricker et al., 2006) no conseguem efetuar o clculo da
composio sncrona.


Como alternativa, emprega-se a abordagem modular local (de Queiroz e Cury, 2002),
que de forma geral, no demanda a composio de todas as subplantas, pois dispe de um
processo de sntese que utiliza apenas as subplantas restringidas pela especificao (ou
conjunto de especificaes) relativa ao supervisor sendo sintetizado.


Foram obtidos dez supervisores modulares locais SL
i
s, um para cada especificao de
controle E
i
, com i = 1 a 10. A Tabela 4.4 construda com o intuito de identificar quais dentre
as subplantas assncronas SP
j
s, com j = 1 a 21, esto relacionadas (possuem eventos em
comum) com cada especificao de controle E
i
, visando desta forma determinar cada planta
local G
Li
, com i = 1 a 10.

A Tabela 4.5 uma representao mais suscinta da Tabela 4.4, tendo a listagem dos
eventos suprimida. A partir destas informaes, pode-se obter cada planta local G
Li
(referente
especificao de controle E
i
), com i = 1 a 10, efetuando a composio sncrona ( || ) das
subplantas assncronas SP
j
s, com j = 1 a 21, relacionadas com cada especificao E
i
.




76

Tabela 4.4 Mapa de Eventos das Especificaes de Controle e Subplantas Assncronas
Especificaes de Controle
E
1
E
2
E
3
E
4
E
5
E
6
E
7
E
8
E
9
E
10

a
1

b
1
SP
1

c
1

a
2

b
2
SP
2

c
2

a
5

SP
3

b
5

a
6

SP
4

b
6

a
7

SP
5

b
7

a
8

SP
6

b
8

a
9

SP
7

b
9

a
10

SP
8

b
10

a
11

SP
9

b
11

a
12

SP
10

b
12

a
13

SP
11

b
13

a
14

SP
12

b
14

a
15

SP
13

b
15

a
16

b
16
SP
14

f
1

d
3

SP
15

e
3

d
4

SP
16

e
4

a
3

b
3

d
1

SP
17

e
1

a
4

b
4

d
2

SP
18

e
2

SP
19
f
2

SP
20
f
3

S
u
b
p
l
a
n
t
a
s

A
s
s

n
c
r
o
n
a
s

SP
21
f
4




77
Tabela 4.5 Identificao das Plantas Locais

Subplantas Assncronas SP
j


j
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Plantas Locais
1 G
L1
= SP
17

2 G
L2
= SP
18

3 G
L3
= SP
3
|| SP
5
|| SP
15

4 G
L4
= SP
6
|| SP
16

5 G
L5
= SP
13
|| SP
14

6 G
L6
= SP
4
|| SP
14

7 G
L7
= SP
4
|| SP
13
|| SP
21

8 G
L8
= SP
13
|| SP
15
|| SP
16

9 G
L9
= SP
1
|| SP
7
|| SP
8
|| SP
9
|| SP
19

E
s
p
e
c
i
f
i
c
a

e
s

d
e

C
o
n
t
r
o
l
e

E
i

10 G
L10
= SP
2
|| SP
10
|| SP
11
|| SP
12
|| SP
20
O clculo de cada SL
i
, para i = 1 a 10, consiste em determinar a linguagem alvo
K
Li
= G
Li
|| E (4.1)
e obter a mxima linguagem controlvel contida em K
Li
, dada por
SL
i
= SupC(K
Li
, L(G
Li
)). (4.2)
A abordagem de controle modular local requer que a verificao de no conflito dos
supervisores SL
1
a SL
10
seja realizada, o que de modo geral consiste em avaliar se a igualdade

1 1
( / ) ( / )
10 10
m j Lj m j Lj
j j
L SL G L SL G
= =
= (4.3)
satisfeita (de Queiroz e Cury, 2002). Uma forma de efetuar esta verificao determinar se
o autmato resultante da composio sncrona dos supervisores modulares locais

1
10
j
j
SL
=
(4.4)
e o autmato que corresponde componente trim de (4.4), dado por

1
10
j
j
trim SL
=



(4.5)
so isomorfos, ou seja, so idnticos a menos de uma renomeao de estados.
Os programas GRAIL (Reiser et al., 2006), TCT (Feng e Wonham, 2006) e DESUMA
(Ricker et al., 2006) no conseguem efetuar a verificao de no conflito para este problema.
Tcnicas recentes, como o uso de abstraes (Pena, 2007), almejam tornar o procedimento de
verificao de no conflito mais eficiente.
No entanto, possvel reduzir a complexidade do teste de no conflito neste problema,
explorando o assincronismo das plantas locais G
Li
, com i = 1 a 10. Analisando a Tabela 4.5,


78
pode-se definir 5 plantas locais assncronas G
LA1
a G
LA5
, representadas respectivamente pelos
smbolos , , , e na Tabela 4.6.
Tabela 4.6 Identificao das Plantas Locais Assncronas


Subplantas Assncronas SP
j


j
i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Plantas Locais Assncronas
1 G
LA1
= G
L1

2 G
LA2
= G
L2

3
4
5
6
7
8
G
LA3
= G
L3
|| G
L4
|| G
L5
||
G
L6
|| G
L7
|| G
L8

9 G
LA4
= G
L9

P
l
a
n
t
a
s

L
o
c
a
i
s

G
L
i

10 G
LA5
= G
L10

Note que as plantas locais G
L3
a G
L8
(referentes s especificaes E
3
a E
8
) so
sncronas. Este sincronismo que pode gerar conflitos entre os supervisores, exigindo assim a
realizao do teste de modularidade local. Por outro lado, identifica-se que o teste precisa ser
feito somente entre os supervisores modulares locais que possuem plantas locais sncronas, ou
seja, neste problema, entre os supervisores S
L3
a S
L8
. Esta verificao foi realizada usando o
programa TCT (Feng e Wonham, 2006) e o resultado obtido que os supervisores S
L3
a S
L8

so no conflitantes e, sendo assim, pode-se afirmar que a ao conjunta dos supervisores S
L1

a S
L10
no conflitante.
A Tabela 4.7 ilustra o nmero de estados e transies dos 10 SLs obtidos.
Tabela 4.7 Caractersticas dos SLs
SLs Estados Transies
SL
1
4 4
SL
2
4 4
SL
3
8 16
SL
4
4 6
SL
5
6 11
SL
6
12 25
SL
7
6 16
SL
8
8 20
SL
9
72 192
SL
10
72 192


79
Atravs do comando Supreduce do programa TCT (Feng e Wonham, 2006), foram
obtidos os supervisores modulares locais reduzidos SRs com nmero de estados e transies
ilustrados na Tabela 4.8.
Tabela 4.8 Caractersticas dos SRs
SRs Estados Transies
SR
1
2 4
SR
2
2 4
SR
3
2 6
SR
4
2 6
SR
5
2 8
SR
6
2 9
SR
7
2 8
SR
8
3 15
SR
9
3 12
SR
10
3 12
Na seqncia so apresentados os autmatos dos SRs. A Figura 4.31 apresenta os
autmatos dos supervisores reduzidos SR
1
e SR
2
. Os eventos indicados por setas tracejadas
encontram-se desabilitados pela ao de controle no referido estado, como o caso dos
eventos a
i+2
e b
i+2
no estado 0 do supervisor reduzido SR
i
, com i = 1 e 2.

Figura 4.31 Autmato dos Supervisores Reduzidos SR
i
, i = 1 e 2
A Figura 4.32 apresenta o autmato do supervisor reduzido SR
3
.

Figura 4.32 Autmato do Supervisor Reduzido SR
3

O autmato do supervisor reduzido SR
4
apresentado na Figura 4.33.

Figura 4.33 Autmato do Supervisor Reduzido SR
4



80
A Figura 4.34 ilustra o autmato do supervisor reduzido SR
5
.

Figura 4.34 Autmato do Supervisor Reduzido SR
5
O autmato do supervisor reduzido SR
6
ilustrado na Figura 4.35.

Figura 4.35 Autmato do Supervisor Reduzido SR
6
A Figura 4.36 apresenta o autmato do supervisor reduzido SR
7
.

Figura 4.36 Autmato do Supervisor Reduzido SR
7
O autmato do supervisor reduzido SR
8
apresentado na Figura 4.37.

Figura 4.37 Autmato do Supervisor Reduzido SR
8
A Figura 4.38 ilustra o autmato do supervisor reduzido SR
9
.

Figura 4.38 Autmato do Supervisor Reduzido SR
9


81
Por fim, a Figura 4.39 mostra o autmato do supervisor reduzido SR
10
.

Figura 4.39 Autmato do Supervisor Reduzido SR
10
4.3 Implementao do Mini-Refrigerador
Nesta seo, so apresentados os principais aspectos da implementao, no
microcontrolador PIC16F690 (Microchip, 2008), do controlador que soluciona o problema de
controle Mini-Refrigerador.
4.3.1 Insensibilidade ao Entrelaamento de Eventos No Controlveis
Os supervisores modulares locais SL
1
a SL
8
foram analisados e so insensveis ao
entrelaamento de eventos no controlveis. Por sua vez, pode-se afirmar que os supervisores
SL
9
e SL
10
so insensveis ao entrelaamento de eventos no controlveis, pois possuem
somente um evento no controlvel em seus respectivos alfabetos.
4.3.2 Rotinas de Baixo Nvel
As rotinas de baixo nvel so responsveis por interagir com os elementos do
hardware do microcontrolador. Alm disto, estas rotinas garantem que mudanas nas
informaes provenientes da planta P ocorridas durante o processamento de outras rotinas
sejam memorizadas para tratamento posterior. Foram concebidas 10 rotinas de baixo nvel,
descritas a seguir.
RBN
1
- Adquire a temperatura no Setor 1 via converso analgico/digital peridica (a
cada 0,25s) de um canal A/D, efetua a mdia de 8 aquisies e disponibiliza o
resultado no registro T
Setor1
;
RBN
2
- Adquire a temperatura no Setor 2 via converso analgico/digital peridica (a
cada 0,25s) de um canal A/D, efetua a mdia de 8 aquisies e disponibiliza o
resultado no registro T
Setor2
;
RBN
3
Implementa o elemento de software Temporizador de Porta Aberta, que efetua
contagem de tempo. O registro Temporizador_PA contm a informao de tempo em


82
segundos (tempo mximo de 120s). Esta rotina pode assumir 3 estados (Zer ado,
Cont ando ou Val or _Mxi mo);
RBN
4
L a condio das Teclas SW1-SW5 e dos Sensores de Porta 1 e 2 (ligados
aos conectores CN10 e CN11) e atualiza o estado dos Leds L5 a L11. Utiliza um
processo multiplexado, que alterna a cada 1 ms entre dois estados (l Teclas SW1 a
SW5 e Sensores de Porta 1 e 2 ou atualiza Leds L5 a L11). Com o intuito de filtrar
rudos eltricos, utiliza tcnica de software debouncing (Ganssle, 2007) de 20 ms (a
leitura do nvel lgico num pino validada somente se o mesmo permanece constante
em 10 leituras espaadas de 2 ms). O registro Tecla_SWj contm o estado da tecla SWj
(Sol i ci t ada ou Li ber ada) com j = 1 a 5; o registro Sensor_Porta_j contm o
estado do Sensor de Porta j (Aber t o ou Fechado) com j = 1 e 2; e o registro Led_Lj
contm o estado do Led Lj (Li gado ou Desl i gado) com j = 5 a 11;
RBN
5
- Atua numa sada digital que controla a Clula Peltier. Esta rotina pode assumir
2 estados (Car ga_Li gada ou Car ga_Desl i gada);
RBN
6
Controla o Damper Eletrnico. Gera 500 ciclos (direto ou inverso) de
energizao dos enrolamentos. Esta rotina pode assumir 4 estados (Abr i ndo, Aber t o,
Fechando ou Fechado);
RBN
7
- Atua numa sada digital que controla o Ventilador. Esta rotina pode assumir 2
estados (Car ga_Li gada ou Car ga_Desl i gada);
RBN
8
Controla a Buzina (BZ1). Gera uma forma de onda quadrada com 4 kHz,
obtida atravs do mdulo PWM disponvel no hardware do microcontrolador
PIC16F690 (Microchip, 2008). Esta rotina pode assumir 2 estados (Car ga_Li gada
ou Car ga_Desl i gada);
RBN
9
- Atua numa sada digital que controla a Lmpada 1. Esta rotina pode assumir 2
estados (Car ga_Li gada ou Car ga_Desl i gada);
RBN
10
- Atua numa sada digital que controla a Lmpada 2. Esta rotina pode assumir 2
estados (Car ga_Li gada ou Car ga_Desl i gada).
4.3.3 Priorizao de Eventos Controlveis
A ordem de processamento dos eventos controlveis ativos no SP e habilitados pelos
SRs segue esquema de prioridade fixa, conforme definido na Seo 3.3.8. Entretanto, no
intuito de garantir que a priorizao de eventos no leve a bloqueios no sistema sob
superviso, utilizou-se o algoritmo apresentado em (Malik, 2002) para definir o esquema de


83
priorizao. Contudo, tendo em vista que o algoritmo para a verificao da insensibilidade
priorizao de eventos controlveis apresentado em (Malik, 2002) foi concebido para
supervisores monolticos, a sua aplicao para supervisores modulares locais deve ser feita
tomando-se o cuidado de analisar o efeito da priorizao para todo conjunto de supervisores
que compartilham eventos (supervisores sncronos).
Observe que no problema em questo os supervisores modulares locais S
L3
a S
L8
so
sncronos, e que portanto preciso comp-los para que se possa analisar as aes de controle
resultantes da atuao conjunta destes. A composio leva a supervisor modular local
assncrono equivalente, denotado por S
LAE
= S
L3
|| S
L4
|| S
L5
|| S
L6
|| S
L7
|| S
L8
.
Em virtude da inexistncia de uma ferramenta computacional para realizar o
procedimento de verificao apresentado em (Malik, 2002), a anlise dos supervisores
modulares locais assncronos S
L1
, S
L2
, S
LAE
, S
L9
e S
L10
foi feita manualmente, resultando num
esquema de prioridade eficaz, implementado por meio da ordenao dos bits dos elementos
binrios das matrizes ECASP
i
(i = 1 a 18) e ECDSR
j
(j = 1 a 10).
4.3.4 Funes de Leitura
Foram criadas 8 funes de leitura (L
1
a L
8
). Para j = 1 e 2, a funo de leitura L
j

mapeia o contedo do registro T
Setorj
(lido via RBN
j
) com um evento

, se torna-se maior que
, onde , se torna-se menor que
, se nenhuma das condies anteriores (n.c.a.)
j Setorj LigaSetorj
j Setorj j Setorj DesligaSetorj
d T T
L ( T ) e T T


A funo de leitura L
3
mapeia o contedo do registro Temporizador_PA (lido via
RBN
3
) com um evento
, se =
, onde
, se n.c.a.
1
3
Temporizador _ PA
f Temporizador _ PA
L ( )

Val or _Mxi mo

Para j = 2 a 4, a funo de leitura L
j+2
mapeia o contedo do registro Tecla_SWj (lido
via RBN
4
) com um evento . Alm disto, quando uma Tecla solicitada, a funo L
j+2

sinaliza para RBN
4
que a solicitao foi atendida (fazendo Tecla_SWj = At endi da)
, se =
, onde
, se n.c.a.
j 2
f Tecla_SWj
j
L ( Tecla_SWj )
+

Sol i ci t ada



84
Para j = 1 e 2, a funo de leitura L
j+6
mapeia o contedo do registro Sensor_Pj (lido
via RBN
4
) com um evento
, se mudou de para
, onde , se mudou de para
, se n.c.a.
(j+2)
j 6 (j+2)
d Sensor_Pj
L ( Sensor_Pj ) e Sensor_Pj
+

Fechado Aber t o
Aber t o Fechado
4.3.5 Funes de Escrita
Foram criadas 18 funes de escrita (E
1
a E
18
). Para j = 1 e 2, a funo de escrita E
j
,
mapeia um evento controlvel com uma atuao (via RBN
j
) no registro T
LigaSetorj

=
, se =
, se =
, onde
, se
inalterado, se n.c.a.
j
j
j LigaSetorj LigaSetorj
j
a
b
E ( ) T T
c

LigaSetorjBaixo
LigaSetorjMdio
LigaSetorjAlto
T
T
T

Por sua vez, para j = 3 e 4 a funo de escrita E
j
, mapeia um evento controlvel com
uma atuao (via RBN
j-2
) no contedo do registro T
DesligaSetorj

=
, se =
, se =
, onde
, se
inalterado, se n.c.a.
j
j
j DesligaSetorj DesligaSetorj
j
a
b
E ( ) T T
c

DesligaSetorjBaixo
DesligaSetorjMdio
DesligaSetorjAlto
T
T
T

A funo de escrita E
5
mapeia um evento controlvel com uma atuao no estado da
rotina RBN
3

, se =
Estado da , onde Estado da , se =
inalterado, se n.c.a.
16
5 3 3 16
a
E ( ) RBN RBN b

Cont ando
Zer ado
Para j = 6 a 12, a funo de escrita E
j
, mapeia um evento controlvel com uma
atuao (via RBN
4
) no estado do registro Led_L(j-1), sendo a relao entre o Led e o
respectivo valor de j dada por: Led nvel Baixo no Setor 1 (j = 6), Led nvel Mdio no Setor 1
(j = 7), Led nvel Alto no Setor 1 (j = 8), Led nvel Baixo no Setor 2 (j = 9), Led nvel Mdio
no Setor 2 (j = 10), Led nvel Alto no Setor 2 (j = 11) e Led de Porta Aberta (j = 12)


85
, se =
, onde , se =
inalterado, se n.c.a.
(j+3)
j (j+3)
a
E ( ) Led_L(j - 1) Led_L(j - 1) b

Li gado
Desl i gado
A funo de escrita E
13
mapeia um evento controlvel com uma atuao no estado
da rotina RBN
5
, que refere-se Clula Peltier
, se =
Estado da , onde Estado da , se =
inalterado, se n.c.a.
3
13 5 5 3
a
E ( ) RBN RBN b

Car ga_Li gada


Car ga_Desl i gada
e a funo de escrita E
14
mapeia um evento controlvel com uma atuao no estado da
rotina RBN
6
, que refere-se ao Damper Eletrnico
, se =
Estado da , onde Estado da , se =
inalterado, se n.c.a.
4
14 6 6 4
a
E ( ) RBN RBN b

Abr i ndo
Fechando
Para j = 15 a 18, a funo de escrita E
j
mapeia um evento controlvel com uma
atuao no estado da rotina RBN
(j-8)
, sendo a relao entre o elemento da planta e o respectivo
valor de j dada por: Ventilador (j = 15), Buzina (j = 16), Lmpada 1 (j = 17) e Lmpada 2 (j =
18)
, se =
Estado da , onde Estado da , se =
inalterado, se n.c.a.
(j-10)
j (j-8) (j-8) (j-10)
a
E ( ) RBN RBN b

Car ga_Li gada


Car ga_Desl i gada

4.3.6 Representao do SP e dos SRs no Microcontrolador M
Como as subplantas assncronas SP
i
, com i = 19 a 21, possuem autmatos com um
nico estado, no h necessidade de implement-las, pois a ocorrncia de eventos em
qualquer uma destas subplantas assncronas no altera seu estado ativo, no alterando o estado
ativo do sistema como um todo.
Na seqncia so apresentadas as matrizes das subplantas assncronas SP
i
com i = 1 a
18. Para i = 1 e 2, a matriz SP
i



86
i
i
i
i
i
i
i
0 b 1
0 c 2
1 a 0
SP
1 c 2
2 a 0
2 b 1










=

para i = 3 a 13, a matriz SP
i

i+2
i 2
i
0 a 1
SP
1 b 0
+




=

por sua vez, a matriz SP
14

16
16
1
16
14
0 a 1
1 b 0
SP
1 f 2
2 b 0







=

e para i = 15 e 16, a matriz SP
i

i-12
i 12
i
0 d 1
SP
1 e 0





=

e por fim, para i = 17 e 18, a matriz SP
i

i-14
i-16
i-14
i-14
i-14
i-16
i
0 a 1
0 d 2
1 b 0
SP
2 a 3
3 b 2
3 e 1










=

Na seqncia so apresentadas as matrizes dos SR
i
, com i = 1 a 12. A matriz do
supervisor reduzido SR
i
, com i = 1 e 2
i
i
i
i+2
i+2
0 d 1
0 e 1
SR
1 a 0
1 b 0



=




Considerando que as transies de um supervisor reduzido que partem e chegam no
mesmo estado no precisam ser implementadas, pois no alteram o estado ativo do supervisor
e, por conseqncia, sua ao de controle (de Queiroz, 2004), a matriz de SR
3

3
3
3
0 d 1
SR
1 e 0

=



A matriz do supervisor reduzido SR
4

4
4
8
4
8
4
4
0 d 1
0 e 1
1 a 0
SR
1 b 0
1 d 0
1 e 0




=









87
e a matriz do supervisor reduzido SR
5

15
15
15
5
15
16
16
0 a 1
0 b 1
1 a 0
SR
1 b 0
1 a 0
1 b 0




=







Por sua vez, a matriz do supervisor reduzido SR
6
, desconsiderando a transio f
1
que
parte e chega no estado 1,
1
6
6
0 f 1
SR
1 a 0

=



Desconsiderando as transies que partem e chegam no estado 0, a matriz do
supervisor reduzido SR
7

6
7
4
15
0 a 1
SR 1 f 0
1 b 0


=




A matriz do supervisor reduzido SR
8

3
4
3
4
3
4
15
8
3
4
3
4
15
3
4
15
0 d 1
0 d 1
0 e 2
0 e 2
1 e 0
1 e 0
1 a 0
1 d 2 SR
1 d 2
2 d 0
2 d 0
2 b 0
2 e 1
2 e 1
2 a 1











=














Por fim, desconsiderando as transies que partem e chegam nos estados 0, 1 e 2, as
matrizes dos supervisores reduzidos SR
9
e SR
10
so
2
9
2
2
0 f 1
SR 1 f 2
2 f 0


=




3
10
3
3
0 f 1
SR 1 f 2
2 f 0


=






88
4.3.7 Condio Inicial
Na inicializao considera-se o seguinte cenrio:

T
LigaSetor1
= T
LigaSetor1Baixo

T
DesligaSetor1
= T
DesligaSetor1Baixo
T
Setor1
= (T
LigaSetor1Baixo
+ T
DesligaSetor1Baixo
)/2
T
LigaSetor2
= T
LigaSetor2Baixo

T
DesligaSetor2
= T
DesligaSetor2Baixo
T
Setor2
= (T
LigaSetor2Baixo
+ T
DesligaSetor2Baixo
)/2
Temporizador_PA (Estado da RBN
3
) = Zer ado
Tecla_SWj = Li ber ada com j = 1 a 5
Sensor_Porta_j = Fechado com j = 1 e 2
Led nvel Baixo no Setor 1 (Led_L5) = Li gado
Led nvel Baixo no Setor 2 (Led_L8) = Li gado
Demais Leds (Led_Lj, com j = 6, 7, 9, 10 e 11) = Desl i gado
Clula Peltier (Estado da RBN
5
) = Car ga_Desl i gada
Damper Eletrnico (Estado da RBN
6
) = Fechado
Ventilador, Buzina, Lmpadas 1 e 2 (Estado da RBN
i
com i = 7 a 10) = Car ga_Desl i gada

Esta situao reflete as condies iniciais assumidas no processo de modelagem das
subplantas (Seo 4.2.2). Deste modo, se aps serem obtidas as informaes reais da planta o
software identificar que a situao diferente da prevista na inicializao, haver a ocorrncia
de eventos no controlveis, atualizando assim o estado das subplantas assncronas, tornando-
as sempre fiis situao real.
O estado ativo do SP (elementos do vetor EASP) na inicializao
EASP 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


=
e o estado ativo dos SRs (elementos do vetor EASR)
EASR 0 0 0 0 0 0 0 0 0 0


=
4.4 Resultados Experimentais
A Figura 4.40 apresenta formas de onda de um teste realizado com temperatura
ambiente 24
o
C, temperatura ajustada para o Setor 1 = 12,5
o
C (T
LigaSetor1
= 13
o
C,
T
DesligaSetor1
= 12
o
C) e temperatura ajustada para o Setor 2 = 20,5
o
C (T
LigaSetor2
= 21
o
C,


89
T
DesligaSetor2
= 20
o
C). As informaes de temperatura e estado das cargas apresentadas a seguir
foram adquiridas por meio de uma placa de aquisio de dados.
As formas de onda w
1
(t) e w
2
(t) correspondem temperatura dos Setores 2 e 1
respectivamente. A forma de onda w
3
(t) corresponde ao estado do Damper Eletrnico
(fechado ou aberto) e a forma de onda w
4
(t) corresponde ao estado da Clula Peltier
(desligada ou ligada). No instante t = 12 min a Porta 1 aberta (sendo posteriormente
fechada), gerando um aumento da temperatura no Setor 1. Similarmente, no instante t = 38
min a Porta 2 aberta (sendo posteriormente fechada), gerando um aumento da temperatura
no Setor 2.

T(
o
C)
fechado
aberto
desligada
ligada
10
11
12
13
14
15
16
17
18
19
20
21
22
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70
(min)
w
1
(t)
w
2
(t)
w
3
(t)
w
4
(t)
Temperatura no Setor 2
Estado da Clula Peltier
Temperatura no Setor 1
Estado do Damper Eletrnico

Figura 4.40 Controle de Temperatura

A Figura 4.41 ilustra a lgica de controle das Lmpadas 1 e 2 e do Led de Porta
Aberta em funo da condio dos Sensores de Porta 1 e 2. As formas de onda w
1
(t) e w
2
(t)
correspondem ao estado (fechado ou aberto) dos Sensores de Porta 1 e 2 respectivamente. As
formas de onda w
3
(t) e w
4
(t) referem-se ao estado (desligada ou ligada) das Lmpadas 1 e 2
respectivamente. A forma de onda w
5
(t) corresponde ao estado (desligado ou ligado) do Led
de Porta Aberta.


90

Figura 4.41 Lgica de Controle das Lmpadas 1 e 2 e Led de Porta Aberta

A anlise das formas de onda w
1
(t) e w
3
(t) indica que se o estado do Sensor de Porta 1
altera-se de fechado para aberto (em t
1
) a Lmpada 1 comandada para ligar e se o estado
deste sensor altera-se de aberto para fechado (em t
3
) a Lmpada 1 comandada para desligar.
As formas de onda w
2
(t) e w
3
(t) indicam que situao anloga ocorre com o Sensor de Porta 2
e Lmpada 2 nos tempos t
2
e t
4
.

Por sua vez, a anlise da forma de onda w
5
(t) indica que o Led de Porta Aberta
comandado para ligar quando pelo menos uma das portas aberta, e ainda, que este Led
comandado para desligar somente quando ambas as portas so fechadas.

A Figura 4.42 ilustra a lgica de controle para o Alarme de Porta Aberta em funo do
estado do Led de Porta Aberta (que reflete a condio das Portas 1 e 2) e do estado da Tecla
de desligamento deste alarme. A forma de onda w
1
(t) corresponde ao estado (desligado ou
ligado) do Led de Porta Aberta. A forma de onda w
2
(t) refere-se ao estado (zerado, contando
ou no valor mximo) do Temporizador de Porta Aberta. A forma de onda w
3
(t) corresponde
ao estado do Alarme de Porta Aberta (desligado ou ligado) e a forma de onda w
4
(t) refere-se
ao estado (livre ou pressionada) da Tecla de desligamento do Alarme de Porta Aberta.


91

Figura 4.42 Lgica de Controle do Alarme de Porta Aberta
A anlise das formas de onda w
1
(t) e w
2
(t) indica que o Temporizador de Porta Aberta
inicia a contagem quando o Led de Porta Aberta comandado para ligar (em t
2
, t
4
, e t
8
), e
ainda, que este Temporizador zerado quando o Led de Porta Aberta comandado para
desligar (em t
3
e t
7
). A anlise das formas de onda w
2
(t) e w
3
(t) indica que quando o
Temporizador de Porta Aberta alcana seu valor mximo e o Led de Porta Aberta permanece
ligado, o valor do Temporizador mantm-se inalterado e o Alarme de Porta Aberta ligado
(em t
6
e t
10
).
A anlise das formas de onda w
1
(t) a w
4
(t) indica que o Alarme de Porta Aberta
desligado quando o Led de Porta Aberta comandado para desligar (em t
7
) ou quando a Tecla
de desligamento do Alarme de Porta Aberta pressionada (em t
11
). Nada acontece quando a
Tecla de desligamento do Alarme de Porta Aberta pressionada enquanto o Alarme de Porta
Aberta encontra-se desligado (em t
1
e t
5
).
4.5 Concluses
O problema aqui tratado, evidencia a principal restrio do uso da abordagem
monoltica em problemas reais: a exploso combinatria de estados. Por outro lado, a
aplicao da abordagem modular local se mostra bastante adequada, e quando aliada ao
procedimento de reduo de supervisores, resulta numa soluo compacta e de vivel
aplicao, mesmo em microcontroladores de pequeno porte. O conjunto de testes
experimentais realizado no Mini-Refrigerador sob superviso apresentou um comportamento
esperado, validando a soluo concebida.


92
Captulo 5

Concluses e Perspectivas
A presente proposta de projeto de controles eletrnicos para eletrodomsticos permite
o uso de ferramentas computacionais para o clculo dos supervisores. Alm disso, uma vez
que utilizada uma metodologia formal, o requisito de consistncia dos modelos auxilia a
identificao de erros durante a fase de concepo e garante que os supervisores obtidos so
timos. Estes benefcios, somados possibilidade de gerao automtica de cdigo em
linguagem ANSI C, fazem desta metodologia uma tcnica promissora no projeto de software
embarcado.
Aspectos importantes relacionados ao desenvolvimento de controles embarcados em
bens de consumo eletrnicos, comumente produzidos em larga escala e comercializados em
diferentes mercados, tais como manuteno de documentao atualizada, velocidade e
flexibilidade na criao de variaes de plataforma, uso de modelos para melhor comunicao
entre profissionais, desenvolvimento de solues confiveis e possibilidade de gerao
automtica de cdigo, so naturalmente abordados com o procedimento proposto.
O problema real tratado, demonstra como a exploso combinatria de estados
inviabiliza o uso da abordagem monoltica mesmo para problemas que, em princpio, no
apresentam grande complexidade. Por outro lado, o uso da abordagem modular local aliado
reduo de supervisores, resultam numa soluo compacta e vivel, mesmo no contexto de
microcontroladores de pequeno porte.
A criao de um procedimento automtico destinado realizar a verificao de
insensibilidade ao entrelaamento de eventos no controlveis se mostra importante, visto que
se os supervisores e as plantas locais forem grandes, torna-se invivel efetuar esta verificao
de forma manual. Felizmente, os maiores supervisores sintetizados no controle do Mini-
Refrigerador (SL
9
e SL
10
), possuem somente um evento no controlvel e, deste modo, a
verificao torna-se dispensvel.
Como possibilidade de extenso deste trabalho, pode-se citar a criao de um
programa tradutor para gerao automtica de cdigo em linguagem ANSI C. Outra linha de


93
estudo consiste na implementao de supervisores em dispositivos de lgica programvel,
como por exemplo FPGAs (Field Programmable Logic Arrays), que se caracterizam pelo
processamento paralelo em alta velocidade, sendo assim, se comparados com
microcontroladores, mais adequados natureza assncrona de um sistema modelado por
autmatos.
(Teixeira e Leal, 2007), (Teixeira et al., 2006; Teixeira et al., 2007; Teixeira e Leal, 2008a; c; b)



94
Referncias Bibliogrficas
Brandin, B. A. The Real-Time Supervisory Control of an Experimental Manufacturing Cell.
In: IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, v. 12, p. 1-14, 1996.

Cury, J. E. R. Teoria de Controle Supervisrio de Sistemas a Eventos Discretos. In:
SIMPSIO BRASILEIRO DE AUTOMAO INTELIGENTE, V., Canela, RS, 2001.

Cury, J. E. R.; Torrico, C. R. C.; Da Cunha, A. E. C. A new approach for supervisory control
of discrete event systems. In: EUROPEAN CONTROL CONFERENCE, Porto, Portugal,
2001.

Da Cunha, A. E. C. Contribuies ao Controle Hierrquico de Sistemas a Eventos
Discretos. Tese (Doutorado) - Departamento de Automao e Sistemas - DAS, Universidade
Federal de Santa Catarina - UFSC, Florianpolis, SC, 2003.

De Queiroz, M. H. Controle Supervisrio Modular de Sistemas de Grande Porte.
Dissertao (Mestrado) - Departamento de Automao e Sistemas - DAS, Universidade
Federal de Santa Catarina - UFSC, Florianpolis, SC, 2000.

De Queiroz, M. H. Controle Supervisrio Modular e Multitarefa de Sistemas Compostos.
Tese (Doutorado) - Departamento de Automao e Sistemas - DAS, Universidade Federal de
Santa Catarina - UFSC, Florianpolis, SC, 2004.

De Queiroz, M. H.; Cury, J. E. R. Synthesis and Implementation of Local Modular
Supervisory Control for a Manufacturing Cell. In: INTERNATIONAL WORKSHOP ON
DISCRETE EVENT SYSTEMS, 6
th
., p. 377-382, Zaragoza, Spain, 2002.

Fabian, M.; Hellgren, A. PLC-based Implementation of Supervisory Control for Discrete
Event Systems. In: IEEE CONFERENCE ON DECISION AND CONTROL, 37
th
. Tampa,
Florida, USA, 1998.

Feng, L.; Wonham, W. M. TCT: A Computation Tool for Supervisory Control Synthesis. In:
INTERNATIONAL WORKSHOP ON DISCRETE EVENT SYSTEMS, 8
th
., Michigan,
USA, 2006.

Fox, R. W.; Mcdonald, A. T. Introduo Mecnica dos Fluidos. 5
a
Ed. LTC Livros
Tcnicos e Cientficos, 2001.

Ganssle, J. G. A Guide to Debouncing. 2007. Disponvel em: <
www.ganssle.com/debouncing.pdf >. Acesso em: 07/07/2008.

Hi-Tech. PICC ANSI C Compiler User Manual. 2005. Disponvel em: < www.htsoft.com
>. Acesso em: 18/11/2005.


95

Hopcroft, J. E.; Ullmann, J. D. Introduction to Automata Theory, Languages and
Computation. 1
st
Ed. Addison Wesley Publishing Company, 1979.

Jonerlan, R. C. Contribuies a Implementao da Estrutura de Controle Modular
Local. Dissertao (Mestrado) - Engenharia de Produo e Sistemas, Pontifcia Universidade
Catlica do Paran - PUC/PR, Curitiba, PR, 2007.

Kernighan, B. W.; Ritchie, D. M. The C Programming Language. 2
nd
Ed. Englewood
Cliffs, New Jersey, USA: Prentice Hall Inc., 1988.

Leal, A. B. Controle Supervisrio Modular de Sistemas Hbridos. Tese (Doutorado) -
Departamento de Automao e Sistemas - DAS, Universidade Federal de Santa Catarina -
UFSC, Florianpolis, SC, 2005.

Malik, P. Generating Controllers from Discrete-Event Models. In: PROCEEDINGS OF THE
MODELLING AND VERIFYING PARALLEL PROCESSES MOVEP 02, 5
th
. Nantes,
France, 2002.

Microchip. Datasheet DS41262D. 2008. Disponvel em: < www.microchip.com >. Acesso
em: 26/05/2008.

Moraes, W. R.; Leal, A. B. Controle Supervisrio do Transportador de Entrada de um Sistema
Flexvel de Manufatura. In: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE
ON INDUSTRIAL APPLICATIONS, VII., Recife, Brasil, 2006.

Nolas, G. S.; Sharp, J.; Goldsmid, J. Thermoelectrics: Basic Principles and New Materials
Developments. New York, USA: Springer, 2006.

Pena, N. P. Verificao de Conflito na Superviso de Sistemas Concorrentes usando
Abstraes. Tese (Doutorado) - Departamento de Automao e Sistemas - DAS,
Universidade Federal de Santa Catarina - UFSC, Florianpolis, SC, 2007.

Ramadge, P.; Wonham, W. The Control of Discrete Event Systems. In: PROCEEDINGS
IEEE - SPECIAL ISSUE ON DISCRETE EVENT DYNAMIC SYSTEMS, v. 77, p. 81-98,
1989.

Reiser, C.; Da Cunha, A. E. C.; Cury, J. E. R. The Environment Grail for Supervisory Control
of Discrete Event Systems. In: INTERNATIONAL WORKSHOP ON DISCRETE EVENT
SYSTEMS, 8
th
., Michigan, USA, 2006.

Ricker, L.; Lafortune, S.; Genc, S. DESUMA: A Tool Integrating GIDDES and UMDES. In:
INTERNATIONAL WORKSHOP ON DISCRETE EVENT SYSTEMS, 8
th
., Michigan,
USA, 2006.

Rudie, K. The Integrated Discrete-Event Systems Tool. In: INTERNATIONAL WORKSHOP
ON DISCRETE EVENT SYSTEMS, 8
th
., Michigan, USA, 2006.



96
Su, R.; Wonham, W. Supervisor Reduction for Discrete-Event Systems. In: PROCEEDINGS
OF 2001 CONFERENCE ON INFORMATION SCIENCES AND SYSTEMS, v. 14, p. 31-
53, 2004.

Teixeira, C. A.; Leal, A. B. Aplicao da Teoria de Controle Supervisrio no
Desenvolvimento de Controles Eletrnicos para Refrigerao. In: SIMPSIO BRASILEIRO
DE AUTOMAO INTELIGENTE, VIII., Florianpolis, Brasil, 2007.

Teixeira, C. A.; Leal, A. B. Desenvolvimento de Controles Eletrnicos para Refrigeradores:
Uma Abordagem Baseada na Teoria de Controle Supervisrio. In: CONGRESSO
BRASILEIRO DE AUTOMTICA, XVII., Juiz de Fora, Brasil, 2008a.

Teixeira, C. A.; Leal, A. B. Development of Electronic Controls for Refrigerators Based On
The Supervisory Control Theory. In: IEEE CONFERENCE ON AUTOMATION SCIENCE
AND ENGINEERING, IV., Washington, USA, 2008b.

Teixeira, C. A.; Leal, A. B. Uma Metodologia de Implementao de Supervisores em
Controles Eletrnicos para Eletrodomsticos. In: CONFERNCIA INTERNACIONAL DE
APLICAES INDUSTRIAIS, VIII., Poos de Caldas, Brasil, 2008c.

Teixeira, C. A.; Leal, A. B.; De Sousa, A. H. Implementao de Supervisores em
Microcontroladores: Uma Abordagem Baseada na Teoria de Controle de Sistemas a Eventos
Discretos. In: CONGRESSO BRASILEIRO DE AUTOMTICA, XVI., Salvador, Brasil,
2006.

Teixeira, C. A.; Leal, A. B.; Zanicoski, B. P. D. S. Concepo de um Mini-Refrigerador
Peltier para uso como Ferramenta no Ensino de Engenharia. In: CONGRESSO BRASILEIRO
DE EDUCAO EM ENGENHARIA, XXXV., Curitiba, Brasil, 2007.

Toshiba. Datasheet 2007-6-4. 2007. Disponvel em: < www.semicon.toshiba.co.jp/eng/ >.
Acesso em: 06/07/2008.

Vaz, A. F.; Wonham, W. On Supervisor Reduction in Discrete-Event Systems. In:
INTERNATIONAL JOURNAL OF CONTROL, v. 44, p. 475-491, 1986.

Vieira, A. D. Mtodo de Implementao do Controle de Sistemas a Eventos Discretos
com Aplicao da Teoria de Controle Supervisrio. Tese (Doutorado) - Departamento de
Automao e Sistemas - DAS, Universidade Federal de Santa Catarina - UFSC, Florianpolis,
SC, 2007.

Wonham, W. M. Notes on Control of Discrete-Event Systems. Technical Report - Systems
Control Group, Department of Electrical & Computer Engineering, University of Toronto,
Toronto, Canada, 2002.

Wood, M. M. Application, Implementation and Integration of Discrete-Event Systems
Control Theory. Thesis (Master Degree) - Control of Discrete-Event Systems Lab, Queens
University, Kingston, Canada, 2005.

You might also like