SISTEMA SUPERVISOR DIDÁTICO PARA UMA CÉLULA DE MANUFATURA MARLON F. ALCÂNTARA 1, LEONARDO H. IWAYA 2, ANDRÉ B. LEAL 1. 1. Grupo de Pesquisa em Automação de Sistemas e Robótica (GASR), Depto. de Engenharia Elétrica, Universidade do Estado de Santa Catarina UDESC 89219-710, Campus Universitário Prof. Avelino Marcante, Joinville - Santa Catarina E-mail: {marlon_udesc@yahoo.com.br; leal@joinville.udesc.br 2. Lean Solutions, Depto. de Engenharia de Software 89201-700, Rua Otto Boehm n.48, sala 21, Joinville Santa Catarina E-mail: leonardo.iwaya@leansolutions.com.br Abstract This paper presents a supervisory control problem for a manufacturing cell, as well the solution to this through the Supervisory Control Theory and Discrete Event Systems. Also, a graphical simulation tool for this cell was developed in order to validate the control logic imposed by the supervisor obtained. The supervisor synthesis was performed using the tool IDES (Integrated Discrete-Event System) and for developing the simulation tool was used the Allegro library for graphical development in language C. Keywords Supervisory control theory, manufacturing cell, discrete event system. Resumo Neste trabalho é apresentado um problema de controle supervisório de uma célula de manufatura, bem como a solução deste por intermédio da Teoria de Controle Supervisório de Sistemas e Eventos Discretos. Apresenta-se ainda uma ferramenta de simulação gráfica para esta célula que foi desenvolvida no intuito de validar a lógica de controle imposta pelo supervisor obtido. A síntese do supervisor foi realizada com auxílio da ferramenta IDES (Integrated Discrete-Event System) e para o desenvolvimento da ferramenta de simulação utilizou-se a biblioteca Allegro de desenvolvimento gráfico para linguagem em C. Palavras-chave Teoria de controle supervisório, célula de manufatura, sistema a eventos discretos. 1. Introdução As células de manufatura constituem uma parte importante dos sistemas produtivos. Empregados durante a busca de melhoria de processos a fim de aumentar taxas de produção, índices de qualidade e reduzir custos. Estes sistemas podem ser caracterizados como Sistemas de Eventos Discretos (SED) e por consequência pode-se utilizar a Teoria de Controle Supervisório (TCS) como ferramenta sistemática para obtenção de uma lógica de controle que restrinja o comportamento livre do sistema de modo a satisfazer a um conjunto de especificações de controle (Ramadge & Wonham, 1989). Neste artigo apresenta-se um problema de controle de uma célula de manufatura, de forma semelhante à metodologia proposta por Silva (2010) no desenvolviment de um simulador para AGV s (Automated Guided Vehicles), detalhando-se a solução do mesmo por intermédio da TCS. Portanto, foi realizada a formalização da célula de manufatura através da TCS, e, além disso, apresenta-se a concepção de uma ferramenta de simulação que foi desenvolvida no intuito de validar a lógica de controle obtida. Desta forma, a simulação por base em computador torna-se um importante aliado na educação tecnológica de engenharia, criando uma ponte entre os conceitos teóricos dados em sala de aula e as aplicações práticas feitas através de exercícios laboratoriais (Darnel & Stern, 1994). Além disto, os ambientes de simulação sempre trazem a oportunidade do aluno aplicar seus conhecimentos, testar, errar e aprender de forma mais interativa. Este ambiente de experimentação leva o aluno a um nível intelectual mais elevado, sendo essencial no reforço dos conceitos da teoria de controle de sistemas (Koku & Kaynak, 2001). Assim, serão dados dois enfoques neste artigo, primeiramente alguns trabalhos correlatos, em seguida, a apresentação e solução do problema de controle supervisório de uma célula de manufatura proposto e, na sequência, a implementação do sistema de simulação, a arquitetura adotada e estratégias para gerar a simulação gráfica. 2. Trabalhos Correlatos No trabalho de Darnel e Stern (1992) demonstra o uso de ferramentas de simulação, em disciplinas de eltrônica, circuitos e controle de sistemas, para um transição mais suave em a sala de aula e o laboratório. Belhot, Figueiredo e Malavé (2001) também discutem métodos didáticos relacionados ao ensino na engenharia, por base de ferramentas de simulação. Os autores concluem que no cenário brasileiro, muito do ensino ainda está baseado na Acumulação e Reprodução do Conhecimento, porém defendem o emprego de métodos de simulação, pois esses geram a Aquisição de Conhecimento. A Aquisição de Conhecimento envolve uma construção ativa ( hands-on ), os estudantes são solicitados a ISSN: 2175-8905 - Vol. X 1232
descobrir e estabelecer um conjunto de relações, por si próprios. (Belhot & Figueiredo & Malavé, 2001). Curzel, Hounsell e Leal (2007) desenvolveram um trabalho sobre o ensino da automação da manufatura (célula de manufatura) por meio de Realidade Virtual. Novamente destaca-se a o fato de que os usuários (alunos), através da simulação, podem interagir com o sistema sem nenhum conhecimento prévio, e verificar as possibilidades em termos de execuação de movimentos, determinação de trajetórias, problemas de colisão ou estados de bloqueio. O trabalho de Koku e Kaynak (2001), mais voltado ao ensino da teoria de controle inteligente baseada em lógica fuzzy por meio de um ambiente de simulação. O trabalho realizado busca mostrar, principalmente, a importância de ferramentas como esta para o ensino em níveis de graduação e mestrado de disciplinas de controle inteligente. Reiser, Cunha e Cury (2006) apresentam o GRAIL, um ambiente de computação simbólica, que foi utilizado no desenvolvimento deste trabalho. Os mesmos autores também reforçam a importância de ferramentas como o GRAIL para apoiar o ensino da Teoria de Controle Supervisório. Os arquivos de texto gerados no formato GRAIL demonstraram-se muito intuitivos para iniciantes, além de serem facéis de utilizar como padrão de entrada em programas de simulação. Este trabalho objetiva a construção de um sistema de simulação para uma célula de manufatura, onde por meio de autômatos, aplica a Teoria de Controle Supervisório. Ademais, algumas ferramentas importantes também foram utilizadas, como o GRAIL e a interface em Allegro, permitindo um estudo prático no desenvolvimento de especificações de controle que deverão satisfazer as restrições da célula em questão. Isso gera um cenário interativo de aprendizado que estimula o aluno a pensar e por meio do hands-on, trabalhando com Aquisição do Conhecimento. Como já citado anteriormente, todo este arcabouço leva os acadêmicos a um nível intelectual superior, alavancando o ensino de engenharia. 3. Célula da Manufatura A célula de manufatura proposta para este trabalho é composta por oito componentes. A seguir estão descritos brevemente seus nomes e funções: 1. Esteira responsável pelo transporte das peças. 2. Câmera (Cam) responsável pela localização e identificação das peças. 3. Torno responsável pelas operações sobre as peças. 4. Robô responsável pelas movimentações entre processos. 5. Palete 1 (P1) que pode conter apenas peças do tipo A, ou seja, duas peças do tipo A. 6. Palete 2 (P2) que pode conter apenas meio a meio peças do tipo A e B, ou seja, uma peça do tipo A e outro peça do tipo B. 7. Armazém Intermediário de capacidade 1 que guardará peças quando o torno estiver ocupado. 8. Depósito onde serão colocados os paletes que estiverem inteiramente preenchidos. Na Figura 1, exemplifica-se a disposição dos elementos da célula de manufatura em questão. Maiores detalhes da célula, a respeito do seu funcionamento e da interação entre os componentes serão apresentados na próxima seção. Armazém P1 - AA Figura 1. Configuração da célula de manufatura 3.1. Funcionamento Cam Parada P2 - AB Torno Depósito Na esteira é onde ocorre a entrada de peças, que podem ser de dois tipos (A ou B). Quando a câmera identifica um tipo de peça válido, a esteira é parada para que a peça seja transportada. Caso a peça seja rejeitada pela análise da câmera, esta permanece na esteira para que seja levada a outra área da fábrica. Esta situação de rejeite também é utilizada quando os elementos da planta são incapazes de processar a peça, a fim de evitar travamentos na planta. Quando a esteira fica parada, o robô manipulador fica apto a pegar um peça da esteira para o torno, caso o torno já esteja ocupado processando alguma peça, esta é levada a um armazém intermediário. As peças que saem do torno são diretamente depositadas nos paletes, motando-os de acordo com as suas especificações, quando os paletes estão completos, eles são transportados pelo robô para o depósito. Sendo esvaziados e podendo ser enchidos novamente. Os elementos da planta podem ser modelados através do formalismo de autômatos (ver Figura 2, Figura 3, Figura 4 e Figura5). Cada modelo possui um conjunto de eventos que descreve seu funcionamento. Foi utilizada a ferramenta IDES (Integrated Discrete-Event System) (Rudie, 2006) para a construção dos autômatos. Figura 2 Câmera ISSN: 2175-8905 - Vol. X 1233
Figura 3 - Esteira Figura 6 - Especificação 1 Especificação de não underflow e overflow do armazém intermediário (ver Figura 7). Figura 4 - Robô Figura 5 - Torno Na Tabela 1, apresenta-se a definição de todos os eventos contidos nos autômatos da planta, organizando-os por seus respectivos nomes e descrições. Tabela 1. Descrição de eventos dos autômatos da planta. Nome Descrição do evento inirec Inicia o reconhecimento das peças na esteira other Reconhece uma peça diferente de A e B reca Reconhece uma peça do tipo A recb Reconhece uma peça do tipo B Tea Transporta da esteira para o armazém Tat Transporta do armazém para o torno Tet Transporta da esteira para o torno Tp1d Transposta do palete 1 para o depósito Tp2d Transposta do palete 2 para o depósito Ttp1 Transporte do torno para o palete 1 Ttp2 Transporte do torno para o palete 2 endr Fim do transporte move Esteira se movimenta stop Esteira para runa Roda o programa A no torno runb Roda o programa B no torno endt Termina o processamento da peça no torno Todos os autômatos da planta, quando sincronizados, geram um autômato G que possui o comportamento global da célula, com todas as sequências de operação possíveis. Para limitar o funcionamento dos elementos utilizam-se Especificações de Controle (EC) construídas pelo projetista a fim de garantir o funcionamento correto do sistema de manufatura. Esta especificação relaciona a esteira e a câmera, assim o reconhecimento de uma peça como do tipo A ou B é feito com a esteira em movimento. Caso a peça esteja fora destes padrões, ela é rejeitada como other mantendo-se na esteira para ir a outro setor da fábrica. Pode-se iniciar um reconhecimento, apenas quando a esteira já está em movimento ou quando uma peça é rejeitada, caso contrário está proibido o início de um novo reconhecimento (ver Figura 6). Figura 7 - Especificação 2 Especificação para que o transporte do torno para um dos paletes P1 ou P2 seja feito após o término do processamento do torno (ver Figura 8). Figura 8 - Especificação 3 Especificação de reconhecimento e transporte da peça, onde a esteira é proibida de parar a não ser que reconheça uma peça válida(a ou B), após parar, a esteira está proibida de se movimentar novamente até que seja realizado o transporte para o torno ou armazém. É possível ainda que a peça seja dispensada para seguir para outra parte da fábrica (ver Figura 9). Figura 9 - Especificação 4 Especificação para que seja efetuado o transporte apenas com a peça parada, e que a esteira só possa se mover novamente após a peça ser transportada ou que seja dado um sinal de descarte (ver Figura 10). Figura 10 - Especificação 5 Especificação de prioridade do transporte para o torno, ou seja, possui prioridade a peça que já estiver no armazém intermediário. É também controlado nessa especificação o overflow e underflow do torno (ver Figura 11). ISSN: 2175-8905 - Vol. X 1234
Figura 14 Especificação 9 Figura 11 - Especificação 6 Especificação do Palete 1 que tem capacidade de duas peças A (ver Figura 12). Especificação do Palete 2 que pode conter no máximo uma peça de cada tipo, neste caso é memorizado quais foram as últimas peças processadas no torno para saber qual tipo peça já foi movimentada para o palete 2 (A ou B), e assim permitir apenas uma segunda peça que feche o conjunto corretamente (ver Figura 15). Figura 12 - Especificação 7 Especificação para início da execução do programa no torno, só pode ser iniciado o programa de usinagem (para uma peça A ou B) quando estiver terminado um transporte feito pelo robô até o torno, evitando o início de operação com o robô na proximidade e possíveis choques (ver Figura 13). Figura 15 - Especificação 10 Figura 13 - Especificação 8 Especificação para transporte de peças do torno para os paletes, as peças só podem ser transportadas após o processamento pelo torno, e só podem ser transportadas para um palete válido, ou seja, P1 receberá apenas peças do tipo A e P2 pode receber dos tipos A e B. (ver figura 14). Especificação dos programas executados no torno, as três últimas peças que foram reconhecidas pela câmera devem ser memorizadas (ver Figura 16). Figura 16 - Especificação 11 ISSN: 2175-8905 - Vol. X 1235
3.2. Supervisor monolítico Para realizar a síntese do supervisor, foi utilizada a ferramenta IDES. Esta operação gerou um autômato monolítico de 2690 estados e 7288 transições, que apresenta o comportamento da célula de manufatura conforme as restrições impostas. 4. Implementação O desenvolvimento de todo sistema foi feito por meio de software, para isto foram utilizadas as seguintes ferramentas: 1. Aplicativo DEV-C++, o ambiente de desenvolvimento para código em C e C++. 2. O Allegro 4.4.0.1, uma biblioteca para o desenvolvimento de ambientes gráficos de duas dimensões. 3. Arquivos exportados pelo software IDES, de modelagem de autômatos, no formato de texto do GRAIL para Controle Supervisório (Reiser, 2005), para o supervisor monolítico. Na Figura 17 é ilustrada a lógica do sistema. Com os arquivos no formato GRAIL foi possível fazer uma leitura do supervisor monolítico, para que por sua vez seja carregado em uma estrutura de dados e simulado seu comportamento a partir de um jogador de autômatos em código C. Utilizou-se a biblioteca Allegro para desenvolver a interface gráfica da aplicação, que dadas as instruções do usuário, interage com o jogador de autômatos. Desta forma, a partir de elementos da planta bem definidos, é possível alterar as especificações e gerar um novo supervisor sempre que necessário, e em seguida, este poderá ser novamente testado na mesma aplicação. Apenas alterações como, adicionar ou remover um elemento da planta necessitam uma revisão da interface gráfica e a forma de computação da ferramenta com relação a novos eventos. Figura 17 - Lógica do sistema A Figura 18 apresenta a interface do sistema, demonstrando a disposição dos elementos da planta e o menu para interação com o usuário. Com o jogador de autômatos definido, basta identificar qual o evento que o usuário escolhe no menu de opções, aplicar o evento no supervisor e atualizar seu estado. Com isto também são feitas as verificações de comportamento da planta, para identificar o que está em funcionamento e fazer o controle dos buffers. Um esquema de cores é utilizado para a visualização da simulação, assim, os elementos ficam na cor vermelha quando estão parados, vazios (meio cheio), ou desligados, e ficam na cor verde quando estão em movimento, ligados ou cheios. Para os paletes e o depósito final ainda é acrescentada a informação da quantidade de peças ou combinações armazenadas, respectivamente. Três trechos de código demonstram como foram feitas as implementações de situações como: identificar opção selecionada no menu; a execução de um evento; ordem de simulação; e atualização da interface gráfica. No primeiro trecho de código, identifica qual tecla foi pressiona e qual o evento disparado, dada as opções do menu. Fazendo com que o jogador de autômatos defina um novo estado atual. while (key[key_1]){ if(ordem && 1<ordem){ atual = dest[1]; strcpy(disp, event[1]); Menu de controle Simulação da planta Figura 18 - Tela da aplicação em funcionamento. ISSN: 2175-8905 - Vol. X 1236
No segundo trecho, é identificado que o evento disparado foi move Liga a esteira. As chamadas de função (rectfill, rect e textout) geram a simulação, desenhando o elemento esteira novamente na interface gráfica, ou seja, criando um novo retângulo na coloração verde (ON), pintando sua borda e escrevendo o texto Esteira sobre o elemento. if(!strcmp(disp,move")){ rectfill(screen,100,300,300,350,on); rect(screen,100,300,300,350,border_color); textout(screen,font,"esteira",175,325,20); Neste último trecho, se for identificado que houve o disparo de Ttp1 Torno ao palete 1. Então, são feitas chamadas similares das funções rectfill, rect, e textout, quando P1 ficar cheio, ou seja, a quantidade de peças for igual a dois (verificação pela variável cp1 ), para mudar a cor deste elemento para verde. Além disso, por se tratar do Palete 1, também é atualizada a quantidade de peças inseridas. if(!strcmp(disp, "Ttp1")){ cp1++; if(cp1==2){ rectfill(screen,100,50,160,100,on); rect(screen,100,50,160,100,border_color); textout(screen,font,"palete1",102,65,20); sprintf(aux,"qtd: %d",cp1); textout(screen,font,aux,102,75,20); Pode-se ainda modificar o jogador de autômatos para que os eventos não controláveis sejam disparados automaticamente (como uma planta real) ou que todos os eventos sejam controlados pelo usuário, através do menu. Optando-se pelo disparo automático, o jogador de autômatos ao identificar que no seu estado atual possui um ou mais eventos não controláveis disponíveis, escolhe aleatoriamente um deles e passa para o próximo estado. 5. Conclusão proposto, para testar as especificações antes de passá-las para a célula real. Referências Bibliográficas Belhot, R. V. Figueiredo, R. S. Malavé, C. O. (2001). O Uso da Simulação no Ensino de Engenharia. Congresso Brasileiro de Ensino de Engenharia, COBENGE 2001. Uberlândia, MG. Cury, J. E. R. (2001). Teoria de Controle Supervisório de Sistemas a Eventos Discretos. V Simpósio Brasileiro de Automação Inteligente, Canela RS. Darnell, J.H. Stern, H.P. (1994). Creating a smooth transition between the classroom and laboratory via computer simulation. Proceedings Frontiers in Education Conference, pp. 93 97. Koku, A. B. Kaynak, O. (2001). Suitable for the Reinforcement of Undergraduate Teaching of Advanced Control Techniques. Proceeding IEEE Trans. on Education. Vol. 44, No. 1, pp. 24-28. Curzel, J. Hounsell, M. Leal, A. (2007). Uso da Realidade Virtual para Ensino de Automação da Manufatura. International Conf. on Engineering and Computer Education, pp. 773-777. Ramadge, P. J. and Wonham, W. M. (1989). The Control of Discrete Event Systems, Proceedings of IEEE, Vol. 77, n. 1, pp. 81-98. Reiser, C. (2005). O Ambiente Grail para o Controle Supervisório de Sistemas a Eventos Discretos. Reestruturação e Implementação de Novos Algoritmos. Dissertação (Mestrado), PGEEL, UFSC. Reiser, C. Cunha, A. Cury, J. (2006). The Environment Grail for Supervisory Control of Discrete Event Systems. Proc. of the 8th International Workshop on Discrete Event Systems - WODES, pp. 390-391. Rudie K. (2006). The Integrated Discrete-Event Systems Tool, Proc. 8 th International Workshop on Discrete Event Systems, pp. 394-395. Silva Y. (2010). Controle Supervisório Modular Local de Sistemas de Veículos Auto-Guiados. Dissertação (Mestrado), PGEAS, UFSC. Uma das conveniências geradas pela aplicação desenvolvida se deve ao fato de que todas as especificações de controle podem ser modificadas, desenvolvidas novas restrições para gerar um novo supervisor monolítico. Isso torna a ferramenta muito útil no aprendizado prático de disciplinas na área de modelagem e controle de sistemas automatizados, que abordam a Teoria de Controle. Pode-se ainda estender a arquitetura de aplicação para diferentes modelos de células de manufatura, sistemas de transporte ou mecanismos eletrônicos, por exemplo. Muitas células de manufatura reais também apresentam um nível semelhante de complexidade e números elementos, tornando viável a criação de um ambiente de simulação, como o ISSN: 2175-8905 - Vol. X 1237