DAS-5202: Modelagem e Controle de Sistemas Automatizados Profs. Eduardo Camponogara & José Cury
Objetivos Motivar o trabalho prático Apresentar um exemplo de problema de automação Desenvolver um modelo em Redes de Petri Proceder à análise do modelo
Estação de envasilhamento Fábrica de Cerveja Estação de envasilhamento Buffer de entrada Buffer de saída TAMPADOR BOMBA ROBÔ ATUADOR P1 P2 P3 P4 ESTEIRA 1m CLP Sinais de entrada Sinais de saída
Estação de Envasilhamento A linha de produção da fábrica de cerveja está equipada com uma estação de envasilhamento (EE) A estação de envasilhamento consiste de uma esteira e quatro máquinas, dispostas em série que recebem comandos de um CLP Atuador (move garrafas vazias para a esteira) Bomba (enchimento das garrafas) Tampador Robô (braço mecânico que remove garrafas)
Comandos do CLP O controlador lógico programável (CLP) comanda a operação EE através da sequência de passos: O atuador avança, depositando uma garrafa vazia em P1 (A_start) A esteira avança de 1 metro (E_start) A bomba enche a garrafa de cerveja (B_start) A garrafa é tampada (T_start) O robô retira a garrafa da esteira (R_start)
Lógica do CLP Execute indefinidamente Envia: A_start Aguarda: A_end Envia: E_start Aguard: E_end Envia: B_start Aguarda: B_end Aguarda: E_end Envia: T_start Aguarda: T_end Envia: E_start Aguarda: E_end Envia: R_start Aguarda: R_end
Observações Sobre a Lógica do CLP A EE foi projetada para operar uma garrafa por vez, não permitindo que o autador seja acionado antes que o robô retire a garrafa da esteira Quais problemas poderiam surgir se operássemos várias garrafas em paralelo?
Problemas Com Múltiplas Garrafas Problemas podem surgir da diferença de velocidade das máquinas e falta de coordenação Acionar qualquer uma das máquinas quando a esteira estiver avançando Sobrepor garrafas em P1 Avançar a esteira sem que as garrafas em P2, P3 e P4 tenham sido enchidas, tampadas e retiradas, respectivamente Encher, tampar, ou acionar o robô sem garrafas nas posições P2, P3 e P4, respectivamente Encher ou tampar duas vezes a mesma garrafa Avançar a esteira sem nenhuma garrafa
Ineficiência da Estação A EE é ineficiente As máquinas não operam simultaneamente, reduzindo consideravelmente a capacidade de produção Problema de Automação Industrial Um engenheiro de controle e automação industrial foi contratado para projetar uma lógica que induza maior eficiência da estação de envasilhamento
Detalhes do CLP O técnico responsável pela manutenção da linha de produção tem grande conhecimento de programação de CLPs Ele poderá implementar a lógica projetada pelo engenheiro, desde que esta faça uso dos sinais de entrada e saída da tabela a seguir
Detalhes do CLP Máquina Sinal Tipo Detalhes Atuador Pneumático A_start Saída Inicia depósito de uma garrafa no pallet A_end Entrada Sinal fim de operação do atuador Esteira E_start Inicia avanço de 1 m da esteira E_end Sinal fim de operação da esteira Bomba de Cerveja B_start Comando inicia enchimento B_end Sinal fim de enchimento Tampador T_start Comando começa tampar garrafa T_end Sinal garrafa tampada Robô R_start Comando retira garrafa R_end Sinal garrafa foi removida
Tarefa #1: Funcionamento Básico Desconsidere o fluxo de garrafas na esteira, modele o funcionamento do sistema com uma restrição que impeça a esteira de avançar quando o atuador, a bomba, o tampador e/ou o robô estiverem operando
Rede de Petri: Sistema em Repouso A_end Atuador em Repouso Atuador em Operação E_start A_start Esteira em Repouso Esteira Avançando B_end E_end Bomba em Operação Bomba em Repouso B_start
Rede de Petri: Esteira Avançando A_end Atuador em Repouso Atuador em Operação E_start A_start Esteira em Repouso Esteira Avançando B_end E_end Bomba em Operação Bomba em Repouso B_start
Tarefa #2: Lógica Atual Modele a lógica de controle atual (apenas uma garrafa na esteira)
Rede de Petri ERep1 EOp ERep2 E_start E_end ARep AOp BRep BOp TRep TOp RRep ROp Ast Aend Bst Bend Tst Tend Rst Rend Atuador Bomba Tampador Robô
Rede Petri: Atuador em Operação ERep1 EOp ERep2 E_start E_end ARep AOp BRep BOp TRep TOp RRep ROp Ast Aend Bst Bend Tst Tend Rst Rend Atuador Bomba Tampador Robô
Atuador Finalizou Operação ERep1 EOp ERep2 E_start E_end ARep AOp BRep BOp TRep TOp RRep ROp Ast Aend Bst Bend Tst Tend Rst Rend Atuador Bomba Tampador Robô
Esteira em Movimento ERep1 EOp ERep2 E_start E_end ARep AOp BRep BOp TRep TOp RRep ROp Ast Aend Bst Bend Tst Tend Rst Rend Atuador Bomba Tampador Robô
Esteira Finalizou Avanço ERep1 EOp ERep2 E_start E_end ARep AOp BRep BOp TRep TOp RRep ROp Ast Aend Bst Bend Tst Tend Rst Rend Atuador Bomba Tampador Robô
Tampador em Operação ERep1 EOp ERep2 E_start E_end ARep AOp BRep BOp TRep TOp RRep ROp Ast Aend Bst Bend Tst Tend Rst Rend Atuador Bomba Tampador Robô
Tarefas de Análise do Modelo Seja R a rede de Petri do modelo do sistema e M0 sua marcação inicial R é k-limitada para M0? R é k-limitada para qualquer marcação inicial? (R, M0) é reinciável? Quais são os componentes conservativos? Quais são os componentes repetitivos?
Tarefa #2: Lógica Alternativa Desenvolva uma lógica de controle através da qual a esteira trabalhe sempre cheia. Considere a esteira inicialmente configurada como segue: uma garrafa vazia em P2 Uma garrafa cheia em P3 Uma garrafa cheia e tampada em P4
Rede de Petri A_start A_end E_end E_start B_start B_end T_start T_end R_start R_end Esteira em Movimento
Bomba Inicia Operação A_start A_end E_end E_start B_start B_end T_start T_end R_start R_end Esteira em Movimento
Robô Inicia Operação A_start A_end E_end E_start B_start B_end T_start T_end R_start R_end Esteira em Movimento
Todas as Máquinas Finalizaram Operação A_start A_end E_end E_start B_start B_end T_start T_end R_start R_end Esteira em Movimento
Esteira em Movimento A_start A_end E_end E_start B_start B_end T_start T_end R_start R_end Esteira em Movimento
Esteira Avançou 1 metro A_start A_end E_end E_start B_start B_end T_start T_end R_start R_end Esteira em Movimento
Tarefa #3: 2a. Lógica Alternativa Projetar uma lógica de controle flexível, que permita à esteira operar uma, duas, três ou quatro garrafas em paralelo.
4 Garrafas P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (4g)
4 Garrafas – 4 Máquinas Operando P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (4g)
4 Garrafas – Tarefas Finalizadas P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (4g)
4 Garrafas – Esteira Avançando P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (4g)
4 Garrafas – Condição Inicial P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (4g)
1 Garrafa: P1 com Garrafa P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P1->P2)
1 Garrafa: Movendo Garrafa P1 -> P2 P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P1->P2)
1 Garrafa: P2 com Garrafa Vazia P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P1->P2)
1 Garrafa: Enchendo Garrafa em P2 P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P2->P3)
1 Garrafa: P2 com Carrafa Cheia P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P2->P3)
1 Garrafa: Movendo Garrafa P2 -> P3 P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P2->P3)
1 Garrafa: P3 com Garrafa Cheia P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P2->P3)
1 Garrafa: Tampando Garrafa em P3 P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P3->P4)
1 Garrafa: Garrafa com Tampa em P3 P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P3->P4)
1 Garrafa: Movendo Garrafa P3 -> P4 P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P3->P4)
1 Garrafa: P4 c/ Garrafa Tampada P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P3->P4)
1 Garrafa: Robô Movendo Garrafa P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P1->P2)
1 Garrafa: Robô Removeu Garrafa P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P1->P2)
1 Garrafa: Atuador Move Garrafa P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P1->P2)
1 Garrafa: P1 com Garrafa P1 s/g P1 c/g A_start A_end P2 vazia P2 cheia B_start B_end E_end E_start P2 s/g P3 cheia P3 c/tampa T_start T_end P3 s/g P4 c/g P4 s/g R_start R_end E_mov (1g, P1->P2)
Próximos Passos Projetar transições para casos envolvendo 2 e 3 garrafas Podemos projetar lógica mais simples e compacta? O modelo exemplo terá em torno de: 2x16 transições para avançar a esteira 2x4 transições para executar as operações 14 lugares para as máquinas e em torno de 16 lugares para operações de avanço da esteira
Próximos Passos Projetar Lógica Executar simulação com objetivo de verificar o comportamento do sistema sob controle da lógica projetada Executar análise das propriedades da rede de Petri
Projeto -- Objetivos Em grupos de até 3 alunos, desenvolver trabalho de modelagem e controle de um sistema, colocando em prática as teorias apresentadas na disciplina (redes de Petri e autômatos)
Projeto -- Tarefas Identificar um problema prático que envolva a análise e síntese de controlador para uma aplicação que se enquadre na classe de sistemas a eventos discretos (SEDs) Modelar o respectivo sistema Especificar um comportamento desejado para o sistema
Projeto -- Tarefas Analisar o comportamento do sistema sem controlador e destacar os possíveis problemas decorrentes da inexistência de coordenação Projetar um controlador para atender as especificações e analisar a solução proposta Redigir um relatório das atividades e fazer uma apresentação oral
Projeto -- Avaliação Critérios para Avaliação dos Trabalhos: clareza da elaboração do problema a riqueza do problema proposto (complexidade, criatividade, representatividade e adequação à teoria); modelos e fidelidade da modelagem; completude e “corretude” da análise e da solução; relatório; e apresentação oral dos resultados.
Fim Obrigado pela presença!