Implementação DE Controle Supervisório EM Linguagem Ladder para UMA Célula Flexível DE Manufatura Didática
Implementação DE Controle Supervisório EM Linguagem Ladder para UMA Célula Flexível DE Manufatura Didática
Implementação DE Controle Supervisório EM Linguagem Ladder para UMA Célula Flexível DE Manufatura Didática
(2)
Departamento de Engenharia Elétrica, Universidade do Estado de Santa Catarina
Campus Universitário Prof. Avelino Marcante, Joinville, 89223-100, SC
E-mails: [email protected], [email protected]
Abstract In this paper we perform the integration of the equipments of a didactic flexible manufacturing cell to be used in the
research of supervisory control techniques. The theory of supervisory control is used to find a minimally restrictive supervisor,
who satisfies the imposed specifications of control to the system. The implementation of the supervisor obtained is made in a
programmable logical controller (CLP), through language LADDER. With this work, we intend to contribute towards the dis-
semination of the supervisory control theory in the industries.
Keywords
Flexible Manufacturing Cell, Supervisory Control, Discrete Event Systems.
Resumo Neste trabalho faz-se a integração dos equipamentos de uma célula flexível de manufatura didática a ser utilizada pa-
ra pesquisa de técnicas de controle supervisório. É utilizada a teoria de controle supervisório para encontrar um supervisor mi-
nimamente restritivo, que satisfaça as especificações de controle impostas ao sistema. A implementação do supervisor obtido é
feita em controlador lógico programável (CLP), através da linguagem LADDER. Pretende-se, desta forma, contribuir para dis-
seminar o uso da teoria de controle supervisório junto às indústrias.
Palavras-chave
Célula Flexível de Manufatura, Controle Supervisório, Sistemas a Eventos Discretos.
2700 of 2705
A tabela 1 indica o evento associado a cada sub-
sistema físico da célula e a descrição do evento.
2701 of 2705
rada de peça pelo robô 1). A restrição física R4 in-
forma que o sensor da esteira não pode ser desativa-
do se a esteira estiver desligada e o robô 1 estiver
parado.
4 Projeto do Supervisor
2702 of 2705
ser iniciado enquanto o teste não for finalizado. A Neste trabalho, quando da ocorrência de eventos
especificação E7 indica que a operação do robô 1 não-controláveis, variáveis internas do CLP (flags)
deve ser iniciada somente se houver peça ativando o armazenam as informações, até que elas sejam pro-
sensor. A especificação E8 indica que o robô 1 só cessadas. Para a implementação, foram criados qua-
deve iniciar sua operação se a esteira estiver desliga- tro blocos de programa de forma a facilitar a organi-
da. A especificação E9 prioriza o início de teste em zação:
detrimento ao início de transporte do robô 1. • bloco de gerenciamento (OB1)
• bloco do supervisor (FC1)
4.2 Síntese do supervisor • bloco dos eventos (FC2)
• bloco das saídas (FC3)
Neste trabalho utiliza-se um único supervisor pa-
ra controlar a célula de manufatura. Assim, no pro-
cesso de síntese do supervisor deve-se obter um mo- 5.1 Programação do bloco OB1
delo para a planta (sistema a ser controlado) e um
O bloco OB1 é necessário no CLP utilizado pois
modelo global que reúna todas as especificações de
em sua rotina de execução é definida a seqüência em
controle. O modelo para a planta é obtido através da
que os blocos de função (FC) serão executados, con-
composição síncrona (Ramadge e Wonham, 1989)
forme a figura 7.
entre os autômatos dos subsistemas físicos e as restri-
ções físicas do sistema, ou seja,
G = G1 || G 2 || .... || G6 || R1 || .... || R4 . Esta composi-
ção síncrona resulta em um autômato com 128 esta-
dos e 728 transições. A especificação global E é ob-
tida a partir das especificações individuais Ei, isto é,
E = E1 || E 2 || .... || E 9 . A linguagem alvo K é obtida Figura 7. Programação do bloco OB1 em LADDER.
a partir da sincronização de G e E, fazendo-se
K = G || E . Por fim, calcula-se a máxima linguagem
controlável contida em K, denotada SupC(G,K). O 5.2 Programação do bloco FC1 - Supervisor
autômato que reconhece SupC(G,K) possui 73 esta-
dos e 158 transições e consiste no supervisor não Na programação do bloco FC1 foi implementado
bloqueante e minimamente restritivo, que será im- o supervisor monolítico. Dessa forma, cada estado do
plementado no CLP de forma a garantir o cumpri- supervisor corresponde a uma memória interna do
mento das especificações de controle. Todo o proces- CLP, que é ativada ou desativada de acordo com a
so de síntese do supervisor, descrito acima, foi reali- seqüência do supervisor. O supervisor é mostrado em
zado com o auxílio da ferramenta Grail (Raymond e parte na Figura 8, onde cada estado foi nomeado no
Derick, 1995). bloco de programação com o prefixo “S”, assim, o
estado “0” do supervisor passou a ser simbolizado
por “S0” na programação do CLP.
5 Programação do CLP Conforme ilustrado na Figura 9, a partir do co-
mando “INÍCIO”, o supervisor ativa o estado “S0”
O CLP utilizado para a programação foi o Sie- (Network 1). Neste estado, o supervisor fica aguar-
mens da família Step7_300 com a CPU 321IFM. Esta dando a ocorrência do evento E_liga (Network 2),
CPU possui 10 entradas e 06 saídas digitais, as quais que por ser um evento controlável, deve ser habilita-
são interligadas à planta para a monitoração dos esta- do pelo próprio programa do CLP. A geração deste
dos dos sensores e acionamento dos subsistemas físi- evento é feita no bloco FC2 (Fig. 11 – Network 1),
cos. A linguagem utilizada na programação do CLP mas para tal é necessário que o motor da esteira tenha
foi a Diagrama de Contatos (LADDER), por ser a sido efetivamente ligado, o que é feito no bloco FC3
mais conhecida no meio industrial e de fácil edição e (Fig. 10 – Network 1).
entendimento.
Na programação do CLP utilizou-se uma meto- 5.3 Programação do bloco FC3 - Saídas
dologia diferente das empregadas por Fabian e Hell-
gren (1998) e Queiroz et al (2001). Os primeiros Neste bloco são definidas as ações do supervi-
utilizam a implementação com base na detecção de sor, de acordo com o estado definido no bloco FC1.
flancos positivos para os eventos não-controláveis. Assim, conforme visto, quando o supervisor estiver
No trabalho de Queiroz et al (2001), a síntese de no estado “S0”, a saída que ativa o motor da esteira
supervisores é feita utilizando-se a abordagem modu- será acionada, conforme a Figura 10 (Network 1).
lar local e na implementação dos supervisores modu- Este comando envia um sinal para a saída física do
lares é feita a habilitação ou a desabilitação de um CLP.
subconjunto de eventos controláveis que faz com que
o comportamento da planta evolua de forma a respei-
tar cada restrição dos supervisores modulares.
2703 of 2705
eventos controláveis em um estado qualquer do su-
pervisor. Na Figura 12 representamos uma seqüência
iniciada no estado 6, que transita direto para o estado
11, pois os dois eventos (E_liga e I_giro) são dispa-
rados. A programação do CLP quando da ocorrência
Figura 8. Parte inicial do supervisor obtido. dos dois eventos controláveis a partir do estado 6 é
feita conforme vemos nas figuras 13 e 14.
2704 of 2705
Generalizando, caso ocorram dois ou mais even- Sistema Flexível de Manufatura. Proceedings of
tos controláveis simultâneos em um estado qualquer, the VII International Conference on Industrial
o autômato transita para o estado no qual tais eventos Applications-Induscon. Recife, Brasil.
convergem. Queiroz, M.H., Santos, E.A.P. e Cury, J.E.R. (2001).
Nos estados do supervisor em que existem even- Síntese modular do controle supervisório em
tos controláveis e não-controláveis, dá-se prioridade diagrama escada para uma célula de manufatura.
no tratamento dos não-controláveis, pois estes são Anais do V Simpósio Brasileiro de Automação
espontaneamente gerados em função da dinâmica da Inteligente, Vol. 5, p. 1072.
planta e devem ser tratados imediatamente após a sua Ramadge, P. J. and Wonham, W. M. (1989). The
ocorrência. Na programação do CLP, essa prioridade Control of Discrete Event Systems, Proceedings
é dada de acordo com a disposição das linhas do pro- of IEEE, Vol. 77, n. 1, pp. 81-98.
grama, ou seja, como a execução do programa é cí- Raymond, D. and Derick, W. (1995). Grail: A C++
clica, os eventos não-controláveis são executados nas library for automata and expressions, in Journal
linhas anteriores aos eventos controláveis. Por exem- of Symbolic Computation, 11, pp. 341-350.
plo, no estado 29 (Figura 15), os eventos não-
controláveis T_OK e T_NOK têm prioridade de exe-
cução.
6 Conclusão
Referências Bibliográficas
2705 of 2705