António F. Nunes Gomes, António J. Pessoa de Magalhães
ARTIGO TÉCNICO
Faculdade de Engenharia da Universidade do Porto Rua Dr. Roberto Frias | 4200 – 265 Porto mai01015@fe.up.pt, a.p.magalhaes@fe.up.pt
PLATAFORMA WEB PARA TRADUÇÃO AUTOMÁTICA DE GRAFCETS E REDES DE PETRI EM PROGRAMAS DE PLCS RESUMO O presente artigo descreve a concepção, desenvolvimento e utilização da aplicação WEBGRAF, cuja missão é traduzir automaticamente modelos de controlo sequencial definidos em GRAFCET ou Redes de Petri para programas de PLCs em Lista de Instruções. A aplicação WEBGRAF tem a Web como ambiente de trabalho e cobre os preceitos da norma do GRAFCET e uma razoável diversidade de Redes de Petri. Apresenta-se assim como uma ferramenta poderosa, original, gratuita, universalmente acessível e facilmente reproduzível nas mais diversas plataformas de hardware e sistemas operativos. A aplicação WEBGRAF está disponível a partir do endereço http://gnomo.fe.up.pt/~maic/teses/agomes/ PALAVRAS-CHAVE: GRAFCET, Redes de Petri, Tecnologias Web, PLCs ABSTRACT The paper describes the design, implementation and usage of the WEBGRAF application, which automatically translates GRAFCET and Petri Nets control schemes into PLC programmes written in Instruction List. The WEBGRAF application is a Web based tool, handling the complete GRAFCET standard and a considerable set of Petri Nets classes. Therefore, it is an original, powerful, free and widely available tool that can be easily implemented on most hardware platforms and operating systems. The WEBGRAF application is available at the site http://gnomo.fe.up.pt/~maic/teses/agomes/ KEYWORDS: GRAFCET, Petri Nets, WEB Technologies, PLCs.
1. INTRODUÇÃO As soluções de controlo de sistemas de eventos discretos são frequentemente materializadas em controladores lógicos programáveis – PLCs – também designados por “autómatos programáveis” [4] [17]. Todavia, os modelos utilizados para representar soluções de controlo (Grafcets, Redes de Petri, ou outras [2]) diferem muito substancialmente das metodologias e linguagens de programação dos PLCs mais comuns (Diagramas de Contactos e Lista de Instruções) [19]. Por seu turno, a tradução manual tanto de Grafcets como de Redes de Petri em programas de PLCs é uma tarefa difícil, ingrata e propícia a erros. Justifica-se assim o interesse em desenvolver uma ferramenta capaz de efectuar automaticamente a tradução em causa. Conveniente é também que tal aplicação seja gratuita, esteja amplamente disponível e exija recursos computacionais mínimos aos seus utilizadores. O recurso à Internet e às tecnologias Web ganha particular relevância neste contexto, justificando o projecto relatado neste texto: a aplicação WEBGRAF. Através desta, a Internet estabelece uma ponte entre dois mundos que, não obstante os esforços que têm vindo a ser desenvolvidos para os aproximar, tendem em manter-se razoavelmente afastados: os “Modelos de Controlo Sequencial” e as “Linguagens de Programação dos PLCs”. A utilização da aplicação WEBGRAF tem por base uma página Web a partir da qual é possível seleccionar o modelo de controlo a traduzir – GRAFCET ou Rede de Petri – e enviar para um servidor Web um ficheiro contendo a explicitação textual (ASCII) do modelo em causa. Recebido este ficheiro, o servidor Web gera automática e dinamicamente um programa em Lista de Instruções, devidamente comentado, correspondente à tradução do
4
modelo de controlo para a linguagem de programação de um dado PLC ou família de PLCs. De entre os muitos modelos e fabricantes de PLCs foi escolhido como alvo a família Simatic S7-200 da SIEMENS [16]. Naturalmente que outros PLCs podiam ter sido escolhidos. O facto do software de programação da SIEMENS STEP7-Micro/WIN 32 permitir receber muito facilmente o código gerado pelo tradutor – por simples “copiar” e “colar” – foi um elemento fundamental de decisão. A Figura 1.1 ilustra o processo de tradução implementado na aplicação WEBGRAF. Duas tecnologias Web merecem destaque: A linguagem XML (Extensible Markup Language) [1] e a programação em JSP (JavaServer Pages) [13]. A primeira serve a explicitação textual dos modelos de controlo – GRAFCET e Redes de Petri; a segunda é usada para tratamento dos dados XML e criação dinâmica de páginas Web contendo o correspondente programa para PLC. A explicitação de Grafcets em XML é outro aspecto inovador deste trabalho. De facto, tem por base a proposta de uma estrutura de dados totalmente original, uma vez que, tanto quanto os autores sabem, não são do conhecimento público tendências de normalização nesse sentido. Já no caso das Redes de Petri é seguida uma metodologia baseada em normas emergentes [20], visando assim compatibilizar a aplicação com estruturas de dados já comummente aceites. A programação em JSP, não obstante passar completamente despercebida aos utilizadores da aplicação WEBGRAF, tem uma importância capital. Correndo no servidor Web, contém os algoritmos de tradução de Grafcets e Redes