Você está na página 1de 9

MODELAGEM, CONTROLE E SIMULAÇÃO DE CÉLULA DE MANUFATURA

Trabalho de Modelagem e Simulação de Sistemas a Eventos Discretos


Engenharia de Controle e Automação
Universidade Federal de Minas Gerais

Autores: Derick Henrique de Jesus Silva, João Paulo Arruda Amaral, Rafael Ferreira dos Santos

estocástico.
Resumo: Este trabalho emprega o conhecimento sobre
sistemas a eventos discretos e automata para modelar, projetar Um conjunto E de eventos de um sistema, por exemplo, E =
um controlador e simular o sistema em malha fechada de uma {a,b,c,d,e}, é considerado o alfabeto da linguagem. E cada
célula de manufatura. A célula é composta de uma mesa sequência ou cadeia de eventos, tais como: b, abde, dca, forma
circular e quatro dispositivos que operam com as peças uma palavra. Uma cadeia sem eventos, conhecida como cadeia
colocadas sobre a mesa. vazia é representada pelo símbolo ε.
Palavras Chaves: Automata, Célula de manufatura, Eventos, Segundo [1], uma linguagem L definida sobre um alfabeto E é
Estado. um conjunto de cadeias finitas de eventos (palavras) de E. Uma
Abstract: This paper employs the knowledge about systems linguagem definida para um certo sistema pode ter um número
and discrete event Automata for modeling, designing a finito ou infinito de palavras.
controller and simulate the system in closed loop of a
manufacturing cell. The cell consists of a circular table and 2 AUTOMATA
four devices that operate with the pieces placed on the table.

Keywords: Automata, Cell manufacturing, Events, State.


2.1 Operações sobre linguagens
Existem operações para manipulação de linguagens e
1 INTRODUÇÃO operações sobre cadeias. A principal operação para construção
de cadeias é a concatenação. Uma palavra abc pertencente a
O comportamento de todo sistema dinâmico pode ser descrito linguagem L, com alfabeto E = {a,b,c,d,e}, por exemplo, é
pelo espaço de estados a ele associado, seja o espaço contínuo formada pela concatenação dos eventos a,b e c. Da mesma
ou discreto. Um sistema a eventos discretos (SED), tem um forma, uma cadeia abcd é formada pela concatenação da cadeia
espaço de estados descrito por um conjunto discreto, e as abc com o evento d.
transições entre os estados são observadas em pontos discretos
no tempo. As transições entre os estados podem ser dirigidas Dado um conjunto de eventos E, todas as cadeias finitas e
pelo tempo ou por eventos. Em sistemas dirigidos pelo tempo, possíveis do alfabeto E estão contidas em E*. E* é um
as transições são sincronizadas por um relógio e apenas ele é conjunto infinito de todas as cadeias finitas que podem ser
responsável por disparar qualquer possível transição. Um SED formadas com o alfabeto E, incluindo a cadeia vazia ε.
é dirigido por eventos e suas transições de estado acontecem
como resultado da ocorrência de eventos assíncronos e As operações sobre linguagens são:
concorrentes.
• Concatenação:
Um SED pode ser classificado em determinístico e não
determinístico. Um sistema é determinístico quando, a partir do Dado duas linguagens L1 e L2 ⊆ E*, a concatenação
estado atual e da ocorrência de um evento, é possível saber de L1 e L2 será:
qual o próximo estado do sistema, sendo este o único estado
L1L2 = {w ∈ E*: (w = uv), (u ∈ L1) , (v ∈ L2)}
possível, dado o evento ocorrido. Em um sistema não
determinístico, em algumas situações é impossível determinar • Prefixo-fechamento:
qual o próximo estado do sistema.
Dado uma linguagem L1 ⊆ E*, o prefixo-fechamento
Existem três níveis de abstração ao se estudar um sistema a de L1 será:
eventos discretos, e são definidas linguagens para todos os
níveis: não-temporizado ou lógico, temporizado e temporizado L1 = {w ∈ E*: ∃t ∈ E* (wt ∈ L1)}

Artigo Submetido em 18/06/10 Em geral: L1 ⊆ L1.


Ao professor Carlos Andrey Maia
Departamento de Engenharia Elétrica da UFMG • Fechamento de Kleene:

Engenharia de Controle & Automação / Junho de 2010 1


Dado uma linguagem L1 ⊆ E*, o fechamento de processo de operação continua para os demais estados.
Kleene de L1 é definido como sendo: Graficamente, o estado inicial recebe uma seta que não parte de
nenhum outro estado, e um estado marcado é representado por
L1* = { ε } ∪ L1 ∪ L1 L1 ∪ L1 L1 L1 ∪ ... um nó com dois círculos concêntricos.
Essa é a mesma operação definida sobre o conjunto de Um estado marcado pode ser considerado um estado final de
eventos E para obtenção de E*. um sistema. A operação de um automaton deve ocorrer de
forma que o estado final do sistema seja um estado marcado.
Segundo [1], algumas convenções são importantes: Um automaton que não consegue atingir um estado marcado é
dito bloqueante.
i. ε ∉ ∅;
ii. { ε} é uma linguagem não vazia contendo uma 2.2.1 Linguagens representadas por Automata
cadeia vazia;
Um automaton G está associado a duas linguagens, a
iii. Se L = ∅, então L = ∅, e se L ≠ ∅ então linguagem gerada L(G) e a linguagem marcada Lm(G).
necessáriamente ε ∈ L;
Definição:
iv. ∅* = {ε} e {ε}* = {ε}.
• L(G) = {s ∈ E*: f(x0,s) é definida }
2.2 Automaton determinístico • L(G) = {s ∈ E*: f(x0,s) ∈ Xm}

Uma ferramenta utilizada para representar linguagens Em outras palavras, a linguagem marcada define todas as
graficamente e de maneira compacta é o autômato ou cadeias na qual, partindo-se do estado inicial se chega a um
automaton. Um automaton pode ser representado por um grafo estado marcado. Ela também é chamada linguagem
com nós indicando os estados do sistema e arcos etiquetados reconhecida pelo automaton.
representando as transições. Um exemplo pode ser visto na Pela definição:
Figura 1. • A linguagem marcada é um sub-conjunto da
linguagem gerada;
Por definição, um automaton de estados finitos, G, é uma
• A linguagem gerada é prefixo fechada;
sextúpla:
• Se f é uma função total então L(G) = E*.
G = (X, E, f, Г, x0, Xm), onde:
Dois automata são iguais se eles geram a mesma linguagem e
X é o conjunto de estados; marcam a mesma linguagem.

E é o conjunto finito de eventos associado às 2.2.2 Operações em Automata


transições de G;
Para analisar um SED modelado por um automaton, é
f : X × E → X é a função de transição. Ela define um necessário que exista um conjunto de operações afim de
estado resultante da ocorrência de um evento em um combinar ou compor dois ou mais automata. As operações
determinado estado. Pode não existir para todo par sobre automata são divididas em três tipos: operações unárias,
(X × E), sendo uma função parcial no seu domínio. operações de composição e projeção.

Г : X → 2E é a função de eventos factíveis. Todos os 2.2.2.1 Operações Unárias


evetos e factíveis em um estado x estão contidos em
Г(x), de forma que a função de transição f(x,e) é • Parte Acessível:
definida.
Elimina-se todos os estados de G que não são
x0 é o estado inicial do sistema. acessíveis ou alcançáveis a partir do estado inicial.
Essa operação não afeta a linguagem gerada nem a
Xm ⊆ X é o conjunto de todos os estados marcados do linguagem marcada por G.
sistema.
G = Ac(G).

• Parte Co-acessível:

Elimina-se todos os estados de G que não são co-


acessíveis.

Um estado co-acessível é aquele em que existe um


caminho no diagrama de transições, no qual, partindo-
se dele, se chega a um estado marcado pertencente a
Xm.
Figura 1: Exemplo de representação gráfica de um automaton
Se G = CoAc(G) então L(G) = Lm(G) e G é não-
Um automaton opera começando pelo seu estado inicial x0. Em bloqueante.
x0, são definidos os eventos factíveis e ∈ Г(x0) ⊆ E, e a
ocorrência de um evento e leva ao estado f(x0,e) ∈ X. Esse • Operação Trim:

2 Engenharia de Controle & Automação / Junho de 2010


A operação Trim é definida como sendo: Essa operação possui propriedades comutativa e
associativa.
Trim(G) = Ac[CoAc(G)] = CoAc[Ac(G)]
2.2.2.3 Projeção
Um automaton é dito ser trim se todos os seus estados
são acessíveis e co-acessíveis. Para caracterizar precisamente a linguagem gerada e a
marcada, resultante da operação de composição paralela G1||G2,
• Complemento: em termos das linguagens de G1 e G2, define-se a operação de
projeção:
Com a operação de complemento de G, obtem-se um
novo automaton que marca a linguagem E* \ Lm(G). Pi : (E1∪E2)* → Ei* para i = 1,2
E* \ Lm(G) ⇒ E* - Lm(G) como sendo:

2.2.2.2 Operações de Composição Pi(ε) = ε;


Dado dois automata: Pi(e) = e se e ∈ Ei;
G1 = (X1, E1, f1, Г1, x01, Xm1) e ε se e ∉ Ei;
G2 = (X2, E2, f2, Г2, x02, Xm2). Pi(se) = Pi(s)Pi(e) para s ∈ (E1∪E2)*, sendo que e ∈ (E1∪E2).
As operações de composição definidas são: A projeção Pi sobre uma determinada cadeia apaga todos os
eventos presentes nela que não pertecem a Ei.
• Produto:
A operação de projeção inversa,
O produto dos automata G1 e G2 é um automaton
cujas transições são sincronizadas por um evento Pi-1 : Ei* → 2(E1∪E2)* para i = 1,2
pertencente a E1∩E2, comum a G1 e G2. Ou seja, um
evento só ocorre no automaton resultante do produto, também é definida como sendo:
se ele ocorrer em ambos os automata.
Pi-1(t) = {s ∈(E1∪E2)* : Pi(s) = t}
G1×G2 = Ac(X1×X2, E1∩E2, f, Г1×2, (x01,x02),
Xm1×Xm2) Os conceitos de projeção e projeção inversa podem ser
estendidos e aplicados à linguagens. Para isto, basta realizar a
Onde: operação em todas as cadeias da linguagem. Neste caso:

f((x1,x2),e) = (f1(x1,e), f2(x2,e)) se e ∈ Г1(x1)∩ Г2(x2); Pi(L) = {t ∈ Ei* : ∃s ∈ L e (Pi(s) = t)}, para L ⊆ (E1∪E2)*;

indefinida, caso contrário. Pi-1(L) = {s ∈ (E1∪E2)* : ∃t ∈ L e (Pi(s) = t)}, para Li ⊆ Ei*.

L(G1×G2 ) = L(G1)∩L(G2) Com base nas definições anteriores, dado dois automata, G1 e
G2, as linguagens resultantes da operação de composição
Lm(G1×G2 ) = Lm(G1)∩Lm(G2) paralela entre os dois, pode ser definida como sendo:

• Composição Paralela: L(G1||G2 ) = P1-1[L(G1)]∩P2-1[L(G2)]

Na composição paralela, o automaton resultante pode Lm(G1||G2 ) = P1-1[Lm(G1)]∩P2-1[Lm(G2)]


executar eventos comuns e ∈ (E1∩E2), e eventos privados
ep ∈ ((E1 \ E2)∪(E2 \ E1)). Neste caso, os eventos comuns
ocorrem em sincronismo nos dois automata e os eventos
3 PROJETO DE CONTROLADORES
privados de um automaton ocorrem sem a participação do Nem sempre um sistema real pode ser representado por um
outro. único automaton com estados e transições facilmente
identificáveis. Na maioria dos casos, o automaton que
G1||G2 = Ac(X1×X2, E1∪E2, f, Г1||2, (x01,x02), Xm1×Xm2) representa um sistema é resultado da composição paralela e/ou
produto de outros automata mais simples.
Onde:
Não raramente, a linguagem gerada por esse automaton
(f1(x1,e), f2(x2,e)) se e ∈ Г1(x1)∩ Г2(x2); resultante contem cadeias que são indesejáveis ao
funcionamento correto do sistema.
f((x1,x2),e) = (f1(x1,e),x2)) se e ∈ Г1(x1) \ E2;
O projeto de controlador para SED visa impedir que essas
(x1, f2(x2,e)) se e ∈ Г2(x2) \ E1; cadeias indesejáveis ocorram durante a operação do sistema,
indefinida, caso contrário. além de implementar restrições quanto a ordem de execução
dos eventos ou transições.
Assim sendo:
Em um SED, existem eventos que são observáveis e os que não
Г1||2(x1,x2) = [Г1(x1)∩ Г2(x2)]∪ [Г1(x1) \ E2]∪ [Г2(x2) \ são observáveis. Geralmente este último tipo é representado
E 1] por ε, pois os eventos não observáveis não fazem parte do
conjunto E definido para um automaton.
Engenharia de Controle & Automação / Junho de 2010 3
Dentre os eventos observáveis, existem aqueles que são Teorema da controlabilidade:
desabilitáveis (ou controláveis) e os que não são desabilitáveis
(não controláveis). Como a ação de controle consiste Dado um automaton G no qual Eu ⊆ E é o conjunto de eventos
basicamente na habilitação ou não de eventos, o primeiro passo não controláveis. Dado uma linguagem K ⊆ L(G ), sendo K ≠
para se projetar um controlador é identificar esses dois ∅. Existirá um supervisor S tal que L(S/G ) = K se e somente
conjuntos distintos dentro de E. se:
Dessa forma: K Eu ∩ L(G ) ⊆ K
E = Ec ∪ Eu O teorema da controlabilidade não-bloqueante diz que:
Onde: Ec é o conjunto de eventos controláveis e Eu é o conjunto Considerando um automaton G = (X, E, f, Г, x0, Xm), onde Eu
de eventos não controláveis. ⊆ E é o conjunto de eventos não-controláveis. Dado uma
O agente de controle atua no sistema em malha fechada e é linguagem K ⊆ Lm(G ), sendo K ≠ ∅. Existirá um supervisor S
denominado Supervisor, representado pela letra S, conforme não bloqueante tal que:
visto na Figura 2.
Lm(S/G ) = K e L(S/G ) = K se e somente se as duas condições
seguintes forem verdadeiras:

1. K Eu ∩ L(G ) ⊆ K (teorema da controlabilidade)

2. K = K ∩ Lm(G )

4 DESCRIÇÃO DO PROBLEMA
A proposta deste trabalho é modelar a planta, projetar um
Figura 2: Esquema simplificado de atuação de um supervisor controlador e simular o sistema em malha fechada para uma
célula de manufatura. A célula é composta por uma esteira,
Por definição, um supervisor S é uma função da linguagem uma mesa giratória, uma furadeira, um testador e um
gerada por G, L(G), no conjunto dos subconjuntos de E. manipulador robótico conforme esquematizado na Figura 3.

S : L(G) →2E

Para cada s ∈ L(G) sob o controle de S,

S(s) ∩ Г(f(x0,s))

é o conjunto de todos os eventos que podem ser executados


pelo sistema no estado f(x0,s).

Dado um supervisor S e um automaton G, a estrutura em malha


fechada é representada por S/G. Após projetar S, seguindo as
restrições determinadas para o projeto, deve-se fechar a malha
do sistema. Isso é feito realizando a composição paralela entre
S e G. Dessa forma, as linguagens do sistema em malha
fechada, com supervisor, são definidas como sendo:

L(S/G ) = L(S||G)

Lm(S/G ) = Lm(S||G) Figura 3: Esquema da célula de manufatura

Durante o projeto de controladores, além das restrições A mesa possui quatro posições, e existem buffers na
específicas, uma condição fundamental deve ser sempre entrada e na saída da célula. Ela é controlada por um CLP
satisfeita: (controlador lógico programável) e foi projetada para
operar da seguinte forma: ao receber uma peça a esteira
L(S/G ) = Lm(S/G) gira até que a peça seja posicionada em P1; então a mesa
gira 90º levando a peça até P2; a peça é furada e depois a
Ou seja, o sistema controlado deve ser sempre não bloqueante,
mesa gira 90º novamente; em P3 a peça é testada e após
o que significa que todos os seus estados devem ser co-
mais um giro de 90º da mesa, a peça é retirada da posição
acessíveis. As restrições específicas devem ser satisfeitas da
P4 e colocada em um buffer de saída por um manipulador
maneira menos restritiva possível.
robótico.
Em alguns casos, as restrições podem não ser implementáveis.
Em outras palavras, pode não existir um supervisor capaz de O controlador (ou supervisor) deve ser projetado de forma
gerar uma determinada linguagem K. a evitar todos os comportamentos descritos abaixo:
1. Operar a esteira, a furadeira, o teste ou o
O teorema da controlabilidade possibilita verificar a manipulador enquanto a mesa estiver girando.
existência de um supervisor capaz de gerar uma linguagem K 2. Sobrepor peças na posição P1.
desejada.
4 Engenharia de Controle & Automação / Junho de 2010
3. Girar a mesa sem que as peças em P2, P3 ou P4
tenham sido furadas, testadas ou retiradas
respectivamente.
4. Furar, testar ou acionar o robô sem peças nas
posições em P2, P3 ou P4.
5. Furar ou testar duas ou mais vezes a mesma peça.
6. Girar a mesa sem nenhuma peça.

Para todas as tarefas, os eventos de início e término são


observáveis. Entretanto, apenas os eventos de início de cada
tarefa podem ser controlados.
Figura 6: Automaton do Manipulador
5 MODELAGEM DA CÉLULA DE Realizando a composição paralela entre estes automata, obtem-
MANUFATURA se o modelo da planta (sistema em malha aberta). Este resultou
em um automaton de 32 estados e 160 transições. Toda
O primeiro passo para projetar um controlador é obter o manipulação foi feita utilizando o software DESUMA.
modelo da planta a ser controlada, neste caso, a célula de
manufatura. Em [2], são definidos 3 passos para se obter esse
modelo: 6 PROJETO DO SUPERVISOR
1. Identificar todos os equipamentos e sub-sistemas
envolvidos no sistema a ser controlado; Dado o conjunto de eventos E = {i0,f0,i1,f1,i2,f2,i3,f3,i4,f4}
2. Construir o modelo de automaton determinístico de definido para o modelo da planta, os conjuntos Eu e Ec podem
estados finitos Gi para cada equipamento ‘i’ envolvido ser obtidos, tal que:
no sistema; Eu = {f0,f1,f2,f3,f4} – eventos não controláveis;
3. Obter o modelo da planta através da composição
paralela de todos os automata Gi. Ec = {i0,i1,i2,i3,i4} – eventos controláveis.

Foram modelados separadamente: a esteira, a mesa, a Foram projetados dois supervisores para célula de manufatura.
furadeira, o testador e o manipulador. E os automata de cada Um considerando que o sistema opera apenas com uma peça de
equipamento podem ser vistos nas Figuras 4,5 e 6 . cada vez e outro considerando que o sistema pode trabalhar
com qualquer número de peças.

6.1 Célula operando com uma peça por vez


Foi possível projetar um único supervisor que atendesse a todas
as restrições propostas. Basicamente ele marca uma linguagem
formada por apenas uma cadeia de eventos e a cadeia vazia.

O supervisor pode ser visto na Figura 7.

Observa-se que:
Figura 4: Automaton da Esteira e da Mesa
Lm(S ) = {ε, i1f1i0f0i2f2i0f0i3f3i0f0i4f4}.

O sistema em malha fechada possui o mesmo número de


transições e o mesmo número de estados que o supervisor.
Além disso o sistema é não bloqueante, ou seja, todos os seus
estados são co-acessíveis.

6.2 Célula operando com várias peças


Nesse caso, o supervisor é mais complexo e a dificuldade de
implementação é muito maior. Os equipamentos operam de
Figura 5: Automaton da Furadeira e do Testador forma concorrente e em alguns casos, sincronizados. Para
facilitar o projeto, foi feita uma abordagem semelhante a
modelagem da planta.

Para cada restrição criou-se um supervisor. Algumas restrições


necessitaram de mais de um automaton, porém, estes não eram
muito complexos. O supervisor que atende a todas as restrições
é resultado da composição paralela de todos estes automata
implementados.

Engenharia de Controle & Automação / Junho de 2010 5


6.2.1 Restrição 1
Não operar a esteira, a furadeira, o teste ou o
manipulador enquanto a mesa estiver girando.

As transições relativas aos eventos de início das tarefas de


operação da esteira, da furadeira, do teste e do manipulador só
estarão habilitadas quando o sistema estiver no estado
MesaParada, logo após a ocorrência de f0.

O automaton que implementa essa restrição é mostrado na


Figura 8.

Figura 8: Supervisor para restrição 1

6.2.2 Restrição 2
Não sobrepor peças na posição P1.

Se a posição P1 está vazia, (estado: P1Vazio), o evento i1 pode


ocorrer normalmente. Em seguida, a esteira deve ser desligada,
ocorrendo o evento f1. Entretanto, para satisfazer a restrição é
necessário que o evento i1, somente ocorra novamente após um
evento i0, que indica que a mesa começou a girar. Dessa forma,
garante-se que não haverá sobreposição de peça em P1.

O supervisor para esta restrição é mostrado na Figura 9.

Figura 9: Supervisor para restrição 2.

6.2.3 Restrições 3 e 4
Não girar a mesa sem que as peças em P2, P3 ou P4 tenham
sido furadas, testadas ou retiradas respectivamente. E não
Figura 7: Supervisor para mesa operando com apenas uma furar, testar ou acionar o robô sem peças nas posições em
peça de cada vez P2, P3 ou P4.

6 Engenharia de Controle & Automação / Junho de 2010


As restrições 3 e 4 são implementadas em conjunto, porém, foi
gerado um supervisor distinto para atender estas restrições em
cada equipamento: furadeira, testador e manipulador.

Tomando como exemplo a furadeira, e lembrando que esse


raciocínio pode ser igualmente estendido aos demais
equipamentos: De uma forma mais simplificada, para atender
a restrição 3, (que diz que havendo uma peça em P2, a mesa
não pode girar a menos que a peça esteja furada), basta que o
evento i0 só esteja habilitado após a ocorrência de i2 seguido
posteriormente de f2. Com a restrição 4, estabelece-se que os
eventos i2 e f2 só podem ocorrer se realmente existir uma peça
na posição P2. Deve-se definir qual evento indica que o
equipamento em questão possui uma peça na sua posição de
trabalho. Para o caso da furadeira, a ocorrência de f1, que é o
evento de término de funcionamento da esteira indica que foi
colocada uma peça na posição imediatamente anterior na mesa.
De forma que, após a ocorrência de um evento i0, a furadeira Figura 11: Supervisor para as restrições 3 e 4 para testador
poderá funcionar, pois certamente haverá uma peça em P2,
habilitando, dessa forma, o evento i2. Após a ocorrência de i2,
a furadeira estará desabilitada para funcionar, a menos que
ocorra novamente f1 e, posteriormente, i0.

Observa-se que, no caso da ocorrência do evento f1 e


posteriormente i0, não só o evento i2 poderá acontecer, como
também os eventos i1, i3 e i4, desde que respeitando as devidas
restrições de cada equipamento. Caso ocorra i1 novamente,
antes de i2 ocorrer, o evento f1 de desligamento da esteira
indicará que outra peça foi colocada em P1. Nesse caso, como Figura 12: Supervisor para as restrições 3 e 4 para manipulador
a furadeira está habilitada, pode ocorrer i2f2, e se em seguida
ocorrer i0 novamente, o evento i2 deverá continuar habilitado
pois havia uma peça em P1 e com o giro da mesa (indicado por 6.2.4 Restrição 5
i0), essa nova peça se encontra em P2. Não furar, testar ou manipular mais de uma vez a mesma
O automaton que implementa esta restrição descrita para peça.
furadeira é mostrado na Figura 10. Basicamente, após a ocorrência de um evento que indica o
funcionamento de algum equipamento, seguido do evento que
indica o término da ação, sejam eles: i2f2, i3f3 e i4f4; os
respectivos eventos de início da ação estarão desabilitados até
que ocorra i0, ou seja, a mesa deve girar, para que a peça seja
transportada para posição imediatamente a frente antes que o
equipamento possa funcionar novamente. Dessa forma, uma
peça só é trabalhada em cada equipamento apenas uma vez.

Para essa restrição, implementou-se um supervisor para cada


equipamento. Os supervisores para furadeira, testador e
manipulador podem ser vistos nas Figuras 13, 14 e 15,
respectivamente.

Figura 10: Supervisor para restrições 3 e 4 para furadeira

Para os outros dois equipamentos, a lógica é idêntica. Basta


definir qual é o evento que indicará ao equipamento que após
um giro da mesa haverá uma peça na sua posição de trabalho.
Para o testador, este evento é f2 – término do funcionamento da
furadeira; e para o manipulador, este evento é f3 – término do
funcionamento do testador.

O supervisores para o testador e para o manipulador podem ser


vistos nas Figuras 11 e 12 respectivamente.
Figura 13: Supervisor que implementa restrição 5 para a
furadeira

Engenharia de Controle & Automação / Junho de 2010 7


Figura 14: Supervisor que implementa a restrição 5 para o
testador

Figura 16: Supervisor que implementa a restrição 6

Realizando a composição paralela de todos os supervisores


construídos para atender as restrições de 1 a 6 (no caso da
célula operando com mais de uma peça por vez), juntamente
com o modelo da planta em malha aberta, obtem-se o
comportamento do sistema em malha fechada.

Utilizando o DESUMA, o automaton resultante desta operação


apresentou 142 estados e 183 transições. Como mostra na
Figura 17, foi verificado que todos os estados são co-
acessíveis, ou seja, o sistema em malha fechada é não
bloqueante.
Figura 15: Supervisor que implementa a restrição 5 para o
manipulador

6.2.5 Restrição 6
Não girar a mesa sem nenhuma peça.

Partindo do estado em que a mesa se encontra vazia, o evento


i0 só poderá ocorrer após o evento i1, que indica que a esteira
foi ligada e uma peça foi trazida a mesa. A mesa possui quatro
posições vagas, e esta é sua capacidade máxima. A cada
ocorrência seguida de i1, o número de peças sobre a mesa
aumenta. Até o limite máximo de 4, onde o evento i1 não pode
mais ocorrer. Esse número diminui com a ocorrência de i4, que
indica que o manipulador retirou uma peça da mesa. Enquanto
o número de ocorrências de i1 for maior que o número de
ocorrências de i4, haverão peças na mesa e o evento i0 estará
habilitado.

O supervisor que implementa essa restrição pode ser visto na


Figura 16.

Figura 17: Resultado da verificação dos estados co-acessíveis


para sistema em malha fechada usando o DESUMA

7 CONCLUSÕES
A manipulação e representação dos SED’s utilizando automata
apresenta inúmeras vantagens, quando comparada a
respresentam escrita na forma de linguagens. A facilidade para
8 Engenharia de Controle & Automação / Junho de 2010
construir, manipular, entender a dinâmica do sistema e projetar
controladores, é muito maior utilizando a representação
gráfica.

Os sistemas reais a eventos discretos são em grande parte


complexos demais e possuem um grande número de estados e
transições. Mapear todos estes estados e transições em um
único automaton é, geralmente, inviável. Esse problema pode
ocorrer também no projeto de controladores para SED,
dependendo do número e do tipo de restrição aplicada ao
sistema.

O tratamento das restrições do processo de forma separada


facilita extremamente a análise e o desenvolvimento tanto do
controlador quanto do modelo do processo. É possível
organizar melhor o projeto, o que facilita também, ao
projetista, encontrar possíveis erros na implementação.

REFERÊNCIAS BIBLIOGRÁFICAS
1 – Cassandras, C.G. e Lafortune, L., 1999. Introduction to
Discrete Event Systems. Kluwer Academic Publishers.
Pp. 31-120.

2 – Cury, J. E. R., Novembro 2001, Apostila: Teoria de


Controle Supervisório de Sistemas a Eventos Discretos,
Universidade Federal de Santa Catarina, Canela - RS.

Engenharia de Controle & Automação / Junho de 2010 9

Você também pode gostar