Preview only show first 10 pages with watermark. For full document please download

Artigo Final

Artigo Técnico, Escola Politécnica da USP. <br>Ferramenta baseada em rede de Petri para modelagem, simulação, programação e supervisão de sistemas mecatrônicos.

   EMBED


Share

Transcript

FERRAMENTA BASEADA EM REDE DE PETRI PARA MODELAGEM, SIMULAÇÃO, PROGRAMAÇÃO E SUPERVISÃO DE SISTEMAS DE AUTOMAÇÃO Renato Gonçalves de Freitas [email protected] Victor Anselmo Silva [email protected] Paulo Eigi Miyagi Escola Politécnica da Universidade de São Paulo [email protected] Resumo. Tendo como foco a implementação de sistemas de automação baseados em controladores programáveis (CPs), o objetivo do presente trabalho é a construção de uma ferramenta para modelagem, simulação, programação e supervisão de processos. Por meio de uma interface gráfica, a ferramenta permite ao usuário criar modelos em rede de Petri (RdP) das estratégias de controle ou editar modelos existentes. Como formato de intercâmbio entre softwares que trabalhem com RdP, esses modelos podem ser traduzidos pela ferramenta para a notação XML (eXtensible Markup Language). Esta ferramenta também é capaz de traduzir o modelo em RdP de uma estratégia de controle para um programa escrito em linguagem adequada à implementação em CPs. Assim, este programa pode ser carregado e executado diretamente em um CP, responsável pela automação do sistema. Além disso, durante a operação do sistema, os sinais de entrada e de saída tratados pelo CP podem ser monitorados pela ferramenta, isto é, tem-se o acompanhamento da dinâmica do sistema, indicada pela evolução dos estados da RdP apresentada na interface. Palavras chave: Rede de Petri, Controladores Programáveis, Sistemas a Eventos Discretos. 1. Introdução Os Sistemas a Eventos Discretos (SED) representados, por exemplo, por sistemas de manufatura, de transporte, de comunicação e de redes de computadores, podem ser modelados e analisados através de uma técnica de comprovada eficiência, a rede de Petri (RdP) (MIYAGI, 1996). Assim, atualmente, existem diversas ferramentas de edição e análise de SEDs baseadas em RdP, bem como trabalhos que estabelecem uma relação entre grafos de RdP e programas de controle de Controladores Programáveis (CP) (ZHURAWASKI & ZHOU, 1994). Contudo, os arquivos gerados por estas ferramentas não possibilitam o intercâmbio com outros softwares, e também não são próprios para serem carregados diretamente como programas de CP. Tendo como foco a implementação de sistemas de automação de SEDs comandados por CPs, o objetivo deste trabalho é a construção de um software, baseado em RdP, para modelagem, simulação, programação e monitoração destes sistemas. 2. Ferramenta desenvolvida O desenvolvimento da ferramenta envolveu as atividades a seguir: escolha de linguagens, levantamento de requisitos, definição de estruturas de dados, desenvolvimento do algoritmo “jogador de marcas”, geração de código para CP, definição da interface e dos testes para avaliar a ferramenta. 2.1. Escolha das linguagens A ferramenta desenvolvida faz uso de duas linguagens de programação, uma que permite a programação da ferramenta em si, e outra que permite a programação do CP. Para a programação da ferramenta, optou-se pelo uso de uma linguagem estruturada baseada no paradigma da Orientação a Objetos (OO), que possibilita uma sistematização da modelagem da RdP, utilizando recursos como herança 1 e polimorfismo. Desta forma, adotou-se a linguagem Java na implementação do projeto, dado o suporte que ela oferece à OO (CULWIN, 1997), e dada a existência de uma comunidade significativa de programadores que a utilizam no desenvolvimento de software (MUNDO OO, 2006). A linguagem para programação do CP considerado neste trabalho é a Instruction List (IL), visando o aproveitamento de resultados da literatura para conversão de RdPs para IL, encontrados em propostas como a de ZHOU & VENKATESH (1998). 2.2. Levantamento de requisitos Uma etapa essencial para o desenvolvimento da ferramenta é a análise de requisitos, que garante o pleno reconhecimento do problema, através da identificação de seus elementos básicos, tal qual são percebidos pelos potenciais usuários (PRESSMAN, 2002). Nesta etapa, foi utilizado o diagrama de casos de uso, que consiste em descrições das possíveis seqüências de interações entre o sistema em discussão e seus atores externos, relacionados a um objetivo particular (COCKBURN, 1999). Utilizando estes conceitos, os requisitos da ferramenta foram levantados. A ferramenta deve permitir a implementação dos elementos da RdP em objetos, das regras de execução da RdP, construção da RdP em estrutura de dados, recuperação de RdP já criadas, definição do estado da RdP e o acesso ao estado da RdP. A interface gráfica deve permitir o desenho, a edição, a visualização e a simulação de modelos em modo automático ou passo-a-passo. Opções para salvar e recuperar modelos também devem ser disponibilizadas. 2.3. Estrutura de dados Para que a ferramenta permita o intercâmbio dos dados com outras ferramentas, bem como para que a interface e o algoritmo compartilhem dados, é necessária a definição das estruturas de dados. (1) Modelagem da RdP em OO: como primeiro passo, foi definido um conjunto de classes chamado “core” (núcleo), que contém toda a infra-estrutura necessária para a execução da RdP. Com ele pode-se realizar a criação e edição da RdP e a execução das regras de disparo das transições 2 , através da interface. Os elementos da RdP são tratados como classes de objetos, recebendo atributos (como capacidade e marcação inicial) e métodos (ações específicas dos objetos, por onde os elementos interagem entre si). Desta forma, existem classes correspondentes para arcos, transições, lugares e suas extensões, bem como uma classe que encapsula toda a informação da RdP, chamada “PetriNet”. (2) Estrutura dos modelos em RdP descritos segundo notação XML: para que a ferramenta possibilite o intercâmbio de dados com outras ferramentas, optou-se pelo uso da linguagem XML, considerado um padrão pela comunidade de RdP (BILLINGTON et al, 2003). Foi desenvolvida uma extensão da notação PNML (Petri Net Markup Language), visando atender os requisitos necessários para a descrição da RdP considerada nesta ferramenta, isto é, na versão atual adotou-se uma RdP conhecida como RdP de Sinal Interpretado (FREY & MINAS, 2001). 2.4. Jogador de Marcas O disparo interativo e as alterações resultantes nas marcações em uma RdP é chamado de “jogo de marcas”. Muitos softwares utilizados para modelagem e simulação de SEDs empregam um mesmo algoritmo jogador de marcas. Desta forma, implementou-se um algoritmo “jogador de marcas” similar ao apresentado em ZHURUWASKI & ZHOU (1994). 2.5. Geração de programas de controle de CP 1 2 Expressões em Courier New são termos próprios da Orientação a Objetos. Expressões em Arial são termos próprios da rede de Petri. 2 Para que a estratégia de controle validada através da ferramenta possa ser carregada diretamente em CPs é feita, através da leitura da RdP em XML, a conversão para código em IL. Assim, a ferramenta instancia variáveis booleanas para cada lugar, indicando (true) ou não (false) a presença de uma marca , e associa variáveis às transições, representando as condições para a transição ser disparada. Existe também uma variável de controle chamada “Stab”, que garante que as transições disparem simultaneamente. 2.6. Interface Segundo BASS (1993), a interface com o usuário da ferramenta é um dos primeiros determinantes da satisfação do usuário. Apesar dos problemas de interface serem frequentemente óbvios, as soluções não são tão óbvias ERICKSON (1990). Considerando isto, foi desenvolvido o componente que permite a edição e visualização de RdP, chamado de “PetriPanel”, através de primitivas gráficas e extensão de componentes de biblioteca da linguagem Java. O “PetriPanel” recebe eventos do mouse (como clique e arrasto) e cria a RdP através da interação com o usuário. Um sistema de janelas, em que também constam botões e tabelas, permite mais funcionalidades, como visualização das propriedades da RdP, execução da rede e salvamento e recuperação de dados. 2.7. Testes DAVIS (1995) sugere alguns conjuntos de princípios de teste, recomendando que todos os testes devem ser relacionados com requisitos do cliente, devem ser planejados antes de implementados, e devem começar em componentes individuais, se estendendo aos conjuntos e finalmente ao sistema. Desta forma, os testes da ferramenta foram divididos em três partes: criação e edição de RdP, descrição da RdP em XML e geração do programa de CP. Os testes de criação e edição envolveram desde redes relativamente simples até redes mais complexas, com conflitos e processos em paralelo. A descrição da RdP em XML foi testada através da codificação e decodificação neste modelo de diversas redes construídas. Através da construção de RdP com a modelagem de processos de acionamentos e sensoriamentos, foi possível testar a geração de programa de CP. 3. Estudos de caso Assim como os testes, os estudos de caso foram divididos em três partes. Primeiramente, para testar a modelagem e simulação, um sistema flexível de montagem (SFM) da Festo, composto por 5 estações de trabalho, disponível no PMR-EPUSP foi modelado e simulado. Os resultados foram comparados com os obtidos na ferramenta HPSim. A figura 1 apresenta um screenshot da ferramenta com o SFM modelado. Figura 1: Estudo de caso – modelagem e simulação do SFM. Para demonstrar o uso da geração de código para CP, foram modeladas em RdP as atividades do robô manipulador da estação de montagem do SFM. Através do programa de CP gerado, pode-se realizar o 3 controle da movimentação do robô através de sinais de entrada provenientes dos sensores, e processar sinais de saída para seus atuadores. A fim de realizar a supervisão remota, foi modelado um sistema de compressores encontrado na literatura (MERTKE & FREY, 2001), com seus sinais de entrada e saída. Este sistema pôde ser supervisionado à distância, através do uso da Internet e da ferramenta desenvolvida. 4. Conclusão Neste trabalho foi desenvolvido uma ferramenta que permite a criação e edição de modelos de sistema de automação, classificados como SEDs. Para isto utilizou-se uma abordagem baseada em RdP, desenvolvendo um software capaz de modelar, simular, implementar e supervisionar estes sistemas. O usuário da ferramenta pode criar e editar RdPs, carregá-las em formato XML de forma a permitir seu intercâmbio com outros softwares, implementar o programa de controle de CPs através de geração de código em IL e supervisionar a rede remotamente. Comparando a ferramenta com outros softwares baseados em RdP, verificou-se que a ferramenta desenvolvida apresenta maior número de funcionalidades. 5. Referências BASS, L. “User Interface Software”. Ed. Wiley, 1993. BILLINGTON, J. ET AL. “The Petri Net Markup Language: Concepts, Technology and Tools”. SpringerVerlag, Berlin, Heidelberg, 2003. COCKBURN, ALISTAIR. “Writting Effective Use Cases”. Addison-Wesley Longman, 1999. CULWIN, FINTAN. “Java in the C.S. Curriculum”. Workshop at the 27th ACM SIGCSE Conference. 1997.Disponível em http://www.scism.sbu.ac.uk/jfl/sanjose/sanjose.html. Acessado em 20/06/06. DAVIS, A., “201 Principles of Software Development”, McGraw-Hill, 1995. ERICKSON, THOMAS D. “The art of human-computer interface design”. Edited by Laurel, Brenda. Introduction to ‘Creativity and Design’ session. Editora Addison-Wesley Publishing Company, 1990. FREY, G., MINAS, M. Internet-based development of logic controllers using Signal Interpreted Petri Nets and IEC 61131. In Proceedings 5th World Multi-Conference on Systematics and Informatics (SCI 2001), Vol. 3, Orlando (FL), USA, pp. 297-302. [Online]. Available: citeseer.nj.nec.com/451425.html MERTKE, T., FREY, G. Formal Verification of PLC-Programs Generated from Signal Interpreted Petri Nets. In Proceedings of the IEEE Systems, Man, and Cybernetics Conference, 2001 [Online]. MIYAGI, P. E. “Controle Programável – Fundamentos do Controle de Sistemas a Eventos Discretos”. Editora Edgard Blucher, São Paulo, 1996. MUNDOOO. “Mundo Orientação a Objeto”. . Acesso em: 02 maio 2006. PRESSMAN, R. S. “Engenharia de Software”. Editora McGraw-Hill, 2002. ZHOU, M.; VENKATESH, K. “Modeling, simulation, and control of flexible manufacturing systems: a Petri net approach”. World Scientific Publishing Co. Pte. Ldta, Singapura, 1998. ZHURUWASKI, R. AND ZHOU, M. “Petri nets and industrial applications: a tutorial”. IEEE Transactions on Industrial Electronics, v.41, n.6, p.567-583, December, 1994. PETRI NET BASED TOOL DEVELOPED FOR MODELING, SIMULATING, PROGRAMMING AND MONITORING OF AUTOMATION SYSTEMS Abstract. Having as focus the implementation of automation systems based on programmable controllers (PCs), the objective of the present work is the development of a Petri net (PN) based tool for modeling, simulating, programming and monitoring processes. Through a graphical interface, the tool allows the user to create models of control strategies in PN or edit existing models. As an interchange format between software that work with PNs, these models can be translated by the tool into XML (eXtensible Markup Language) notation. This tool is also capable to translate the RdP model of a control strategy for a PC program written in a suitable language. Thus, this program can be directly loaded and executed in a PC, which perform the automation of the system. Moreover, during the system operation, input and output signals treated by the PC can be monitored by the tool. In other words, the monitoring is the accompaniment of the system dynamics, indicated by the evolution of the PN states presented at the interface. Keywords. Petri Nets, Programmed Controllers, Discrete Event Systems 4