WEB Application for Manufacture Information Management - PDF
WEB Application for Manufacture Information Management
Download "WEB Application for Manufacture Information Management"
Luiz Gustavo Marreiro de Andrade
1 Alessandro J. de Souza DCA - CT - UFRN Luiz Affonso H.G. Oliveira DCA - CT - UFRN André L. Maitelli DCA CT - UFRN Abstract With the advent of intelligent field equipments, a great variety of data coming from these equipments can be available for other applications. However, the biggest challenge in industrial automation is to turn this great volume of data into useful information. The manufacture information management system (via Web) is going to allow the data visualization over Internet/Intranet, aiming to make easier the complex analysis on the data stored in the supervisory systems. The use of web technologies gives the system the advantage of portability and maintenance, since nowadays almost every computer has a browser to interact with the Internet. Then, the information management system will allow an environment capable of answering to analysis requests from process engineers, through the integration and unification of the process data. Index Terms PIMS, WEB, J2EE, BANCO DE DADOS I. INTRODUÇÃO Para melhor representar uma arquitetura de um sistema de automação, pode-se dividi-lo em níveis, Figura 1, onde no primeiro nível encontram-se os sensores e atuadores como sensores de nível, pressão, temperatura, fins de curso, válvulas, inversores de freqüência, etc. No nível seguinte, encontram-se os controladores programáveis (CLP) e os Supervisory Control and Data Acquisition (SCADA), que se comunicam com os CLPs. Até o início da década de 1990, os sistemas de controle formavam ilhas de automação, onde cada sistema controlava o seu parque sem possibilitar a integração da informação. Com a disponibilização dos dados da produção, desde o chão de fábrica até o produto final, pode-se subir mais um nível na pirâmide da automação, noste caso, nos referimos aos sistemas de gerência de informação dos processos que são englobados com o termo geral de Enterprise Production Systems (EPS), onde estão incluídos os Plant Information Management System (PIMS) e os Manufacturing Execution Systems (MES) [1]. No nível mais alto da pirâmide, encontram-se os sistemas corporativos de gestão da planta, Enterprise Resource Planning (ERP), responsáveis pela transformação desses dados em informação de negócio. A integração negócio-manufatura é um processo chave para as indústrias e requer troca de informações entre os processos de negócio e os sistemas de manufatura de modo a criar e manter vantagens competitivas no mercado. ERP EPS CLP e SCADA Sensores e Atuadores Figura 1 Modelo em camadas de um Sistema de Automação Nesse último nível, a integração das informações de chão-de-fábrica aos dados corporativos possibilita a otimização da gerência e a integração de todo processo de manufatura refletindo, positivamente, nos aspectos financeiros. Dentre os vários benefícios existentes na interação negócio-manufatura, podemos destacar: a disponibilidade para comprometimento; redução do tempo de produção e a implantação e otimização da cadeia de suprimento. É no nível de gerência de negócio que não podemos deixar de ressaltar a importância da Internet, possibilitando aos clientes de uma determinada indústria consultar o status de seu pedido de fornecimento, a qualquer instante, obtendo esta informação em tempo de execução. O objetivo do presente trabalho é apresentar um ambiente baseado em Web para gerência de informação na área de automação industrial. O artigo está dividido de maneira a introduzir o conceito sobre os diversos níveis que compõem um sistema industrial e a gerência de processos, demonstração da estrutura do sistema proposto (Tecnologia Utilizada, Módulo de Aquisição de Dados e Armazenamento) e apresentação de resultados de alguns experimentos realizados demonstrando, ao final, as conclusões obtidas. II. GERÊNCIA DE INFORMAÇÃO DE PROCESSOS A. Gerência da Manufatura Basicamente, a gerência da manufatura é feita através de um dos sistemas EPS que possuem um repositório, onde são concentradas todas as informações relevantes das células de produção diretamente ligadas aos sistemas de supervisão e controle. Esses sistemas coletam as informações dos sistemas de supervisão, CLPs, Sistema
2 Digital de Controle Distribuído (SDCDs) e sistemas legados e os armazenam em uma base de dados real time. Tal base tem a características de possuir grande capacidade de compactação e alta velocidade de resposta à consultas em sua base histórica. Devido a isto, torna-se capaz de armazenar um grande volume de dados com recursos mínimos, se comparado às soluções convencionais. Basicamente a informação contida na base de dados consiste de uma lista de registros temporais formada por uma ou mais tabelas, as quais possuem tipicamente os seguintes campos: - Time stamp; - Identificador do tag; - Valor; - Qualidade do dado; A aquisição de dados consiste em uma das tarefas mais difíceis na implantação de tecnologias de conexão com os sistemas que compõem as células de produção, pois por mais modernos e organizados que sejam esses sistemas, sempre apresentam uma grande heterogeneidade. Os sistemas de gerência da manufatura já dispõem de uma grande variedade de drivers de comunicação cobrindo a maioria dos sistemas existentes e englobando as mais novas tecnologias de troca de informação, tais como o OLE for Process Control OPC [4]. Em 1995, um pool de empresas se reuniu com o objetivo de desenvolver um padrão baseado na tecnologia OLE/DCOM para resolver o problema de tecnologia de acesso a dados em tempo real dentro do sistema operacional Windows. Basicamente, o padrão OPC estabelece as regras para que sejam desenvolvidos sistemas com interfaces padrões para comunicação dos dispositivos de campo (controladores, sensores, etc) com sistemas de monitoração, supervisão e gerenciamento (SCADA, MES, ERP, etc). Normalmente, os produtos para monitoração de dados (interfaces homem-máquina, sistemas supervisórios, etc.) são clientes OPC. Já os produtos que fazem a comunicação direta com os dispositivos de campo utilizando protocolos proprietários são servidores OPC. Diversas vantagens foram proporcionadas devido à publicação das especificações do padrão OPC, entre elas pode-se destacar: Padronização das interfaces de comunicação entre os servidores e clientes de dados de tempo real, facilitando a integração e manutenção dos sistemas; Eliminação da necessidade de drivers de comunicação específicos (proprietários); Melhoria do desempenho e otimização da comunicação entre dispositivos de automação; Interoperabilidade entre sistemas de diversos fabricantes; Integração com sistemas de supervisão e gerenciamento MES, ERP e aplicações windows (Excel, etc.); Redução dos custos e tempo para desenvolvimento de interfaces e drivers de comunicação, com conseqüente redução do custo de integração de sistemas; Facilidade de desenvolvimento e manutenção de sistemas e produtos para comunicação em tempo real. Outra tecnologia de comunicação ainda bastante utilizada é o Dynamic Data Exchange DDE. O mecanismo DDE é um protocolo baseado no conceito de mensagem e que permite a troca de informações entre aplicações Windows [5]. Na versão Windows 3.x havia somente três maneiras de se estabelecer a comunicação entre aplicações: o clipboard ou área de transferência, a memória compartilhada e o DDE. Dynamic Data Exchange usa o mecanismo padrão de mensagens do Windows (PostMessage) combinado com o uso de memória compartilhada. Neste mecanismo uma aplicação denominada servidor se comunica com aplicações clientes através de mensagens. A aplicação que inicia o protocolo de comunicação é designada por destino (ou cliente) enquanto que a aplicação que recebe o pedido é designada por origem (ou servidor). Sempre que uma DDE Server (aplicação servidor) recebe uma mensagem previamente enviada para o sistema, verifica se suporta o tópico da mensagem e, em caso afirmativo, responde à DDE Client especificando a sua identificação (handle da aplicação). Após este procedimento, a comunicação é iniciada. Sempre que uma DDE Client (aplicação cliente) envia uma mensagem, ela é enviada para o sistema, desta forma poderá existir mais do que uma aplicação a responder. A mensagem enviada especifica: - Qual o serviço DDE que pretende utilizar; - O tópico da comunicação; - O handle da janela cliente. Figura 2 - Arquitetura de Comunicação
3 III. SISTEMA DE INFORMAÇÃO VIA WEB A. Objetivos do Sistema O sistema de gerência de informação via Web tem como objetivo possibilitar que usuários facilmente naveguem, criem relatórios, gráficos, filtros e busquem por determinado dado, tudo isso de forma dinâmica através do acesso a uma base de dados gerada pelo módulo de aquisição e armazenamento, que é o responsável por extrair os dados dos sistemas SCADA e armazená-lo em uma base de dados única capaz de prover informações e conhecimento de forma inteligente e eficaz. Esse sistema prove acesso local/remoto aos seus usuários através da tecnologia WEB. Os dados serão disponibilizados através de uma estação servidora e poderão ser consultados on-line em máquinas-cliente via protocolo HTTP e precisarão apenas de um Browser para navegar via Internet /Intranet. A Figura 2 ilustra a arquitetura de comunicação Sistemas tradicionais de gerência de processo têm sido instalados como sistemas autônomos (Standalone) com limitadas interações com os ambientes de escritório da corporação, o que leva à necessidade dos usuários destes ambientes fazerem uso de outros aplicativos, tais como planilhas para ter uma posição real do que está acontecendo na linha de produção. Após analisar as inúmeras aplicações para resolver esse problema de conectividade, entre o chão-de-fábrica e a gerência do processo, tornou-se claro que a solução estaria no desenvolvimento de um sistema em ambiente Web. O navegador Web (Browser) se tornou, para o usuário final, o ambiente onde ele faz tudo o que precisa na empresa, desde a troca de até a visualização de relatórios, gráficos e imagens. A utilização de um sistema Web pode trazer as seguintes vantagens: facilidade e baixo custo de manutenção e atualização dos sistemas, pois para efetuar a manutenção do sistema será necessário alterar apenas arquivos HTML, Applets Java e Scripts que se encontram no servidor; possibilidade de execução de aplicações em máquinas sem grande poder de processamento e sem a necessidade de constantes atualizações de hardware e software; o sistema não fica condicionado à instalação em nenhuma máquina cliente, pois todos os computadores têm Browser previamente instalados. B. Tecnologia Utilizada O sistema foi desenvolvido baseado na tecnologia Java, mais especificamente a plataforma Java 2 Enterprise Edition (J2EE). Esta tecnologia consiste em um conjunto de especificações coordenadas e um guia de práticas que permitem o desenvolvimento, instalação, execução e gerenciamento de aplicações n-camadas no servidor. Figura 3 Padrão de Projeto MVC A plataforma J2EE, que expande a Plataforma Java 2 Standard Edition (J2SE), é uma plataforma completa, robusta, estável, segura e de alta performance, voltada para o desenvolvimento de soluções corporativas [2]. O principal objetivo da Plataforma J2EE é reduzir a complexidade e o tempo, portanto, o custo do desenvolvimento de aplicações corporativas. O desenvolvimento do sistema seguiu um padrão de projeto, Design Patterns, bastante difundido no desenvolvimento de aplicações Web, chamado Model- View-Controller MVC. Na arquitetura MVC, o modelo (Model) representa os dados da aplicação e as regras do negócio que governam o acesso e a modificação dos dados. O modelo mantém o estado persistente do negócio e fornece ao controlador a capacidade de acessar as funcionalidades da aplicação encapsuladas pelo próprio modelo. A visualização (View) é a interface do usuário, com a qual ele interage. Não há processamento acontecendo na visualização, apenas saída de dados. A visualização é responsável por mapear gráficos em um dispositivo ao anexar-se à um modelo e redesenhar seu conteúdo na tela. Além disso, quando o modelo muda, a visualização automaticamente redesenha a parte da tela afetada para refletir aquelas mudanças. Pode haver múltiplas visualizações no mesmo modelo e cada uma delas pode redesenhar o conteúdo do modelo em uma parte da tela diferente. O controlador (Controller) é o meio pelo qual o usuário interage com a aplicação. Um controlador aceita a entrada do usuário e instrui o modelo e a visualização a realizar ações baseadas nessa entrada. Efetivamente, o controlado é responsável por mapear ações do usuário final para respostas da aplicação. A Figura 3 ilustra o padrão de projeto MVC. No sistema de informação via Web as requisições vindas das máquinas-cliente são recebidas por uma Servlet (Controller), que é responsável por chamar um componente do modelo para resolver o pedido feito pelo cliente. Os componentes do modelo são responsáveis por
4 acessar o banco de dados com as informações vindas dos sistemas SCADA. A partir, daí a Servlet (Controller) chama uma página Java Server Page (View) que é responsável por responder ao pedido do cliente. C. Módulo de Aquisição de Dados e Armazenamento O módulo de comunicação faz uso do mecanismo DDE para adquirir os dados dos sistemas SCADA. Com deste mecanismo a aplicação servidora se comunica com aplicações clientes através de mensagens. Os dados recebidos passam pelo módulo de compactação com o objetivo de excluir os dados desnecessários sem, no entanto, alterar a essência da informação. A partir daí, os dados são gravados em um Sistema Gerenciador de Banco de Dados (SGBD), que faz uso da linguagem SQL para consultar os dados armazenados. Dentre os benefícios na utilização desse banco de dados podemos ressaltar a possibilidade de conexão com os sistemas de informação da empresa, sem falar na capacidade de armazenamento conforme descrito na Tabela 1. O SGBD usado é o PostgreSQL. Este é um banco de dados baseado nos padrões SQL ANSI 92, 96 e 99, de alto desempenho, de fácil administração e utilização em projetos. O Postgres permite a utilização de SQL, Triggers, e toda a gama de programação e construção pertinentes aos mais famosos SGBDs do mercado, como: Oracle, Sql Server, DB/2 e outros, além de permitir Embedded SQL com pré-compilação e possuir drives ODBC e JDBC para interface com ambientes e linguagens de programação, dentre elas, por exemplo: DBE, Borland Delphi, Borland C++ Builder, MS Visual C++, MS Visual Basic e Java [3]. O PostgreSQL foi projetado para ser uma ferramenta simples de administrar, robusta e capaz de atender a uma grande gama de transações simultâneas, além de ser multiplataforma. Para isso, o PostgreSQL possui arquitetura multiprocessos associada a um engenho capaz de oferecer alta disponibilidade de dados para processamento e suporte à decisão de transações simultaneamente. A arquitetura multiprocessos do PostgreSQL oferece uma área em disco compartilhada para dados e um cachê de memória RAM plenamente configuráveis, o que reduz, de modo significante, o espaço em disco utilizado e melhora o desempenho e controle da área de informações na RAM. O PostgreSQL utiliza a tecnologia Multi-Version Concurrency Control (MVCC) para evitar bloqueio de processos desnecessários e implementa Garbage Collection (coleta de lixo). Essa coleta é realizada para índices e tabelas, além das áreas de cachê em disco quando ocorrem exclusões em registros. Outro fator extremamente importante para a escolha desse banco foi a portabilidade. O PostgreSQL é um SGBDR multiplataforma, atendendo às plataformas Windows, Linux, Solaris, HP-UX, AIX e ainda a diversos outros Unix. Isso é extremamente importante, visto que a sua plataforma, hoje, pode ser o Windows, mas em breve, poderá ser Linux ou outro sistema operacional. Ainda é possível ter mais de uma plataforma para integração dos aplicativos, ou possuir um banco de dados PostgreSQL em uma plataforma e em outra plataforma uma réplica deste banco. Tabela 1 Especificações técnicas do PostgreSQL Tamanho máx. do banco. Ilimitado Tamanho máx. da tabela. 64TB Tamanho máx, de uma linha na tabela. Ilimitado N máx de linhas por tabela. Ilimitado N máx de colunas por tabela col N máx de índices por tabela. Ilimitado IV. RESULTADOS O Sistema de Gerência de Informação via Web utilizou para produção de resultados a base de dados do sistema supervisório do projeto de Automação de Poços, desenvolvido pelo Departamento de Engenharia de Computação e Automação da Universidade Federal do Rio Grande do Norte. Este projeto visa o desenvolvimento de equipamentos e sistemas computacionais para supervisão, simulação, otimização, controle dos métodos de elevação de poços automatizados e o desenvolvimento de um sistema supervisório que permite a comunicação com os poços. Foi desenvolvido um módulo de armazenamento em banco de dados das informações históricas do poço. Este módulo permite que os usuários do software cliente conectados a um servidor iniciem uma operação de scan para guardar os dados do poço armazenados no controlador até o momento. Esta operação é protegida de tal forma que, mesmo havendo interrupção ou falha na comunicação durante o processo de aquisição de dados, o sistema armazenará as informações obtidas até então. De posse dos dados gerados pelo supervisório do projeto AUTPOC, inicialmente foi feita a configuração para acesso ao banco. Após essa configuração foi possível ter acesso aos metadados do banco de dados, possibilitando desta forma visualizar todas as tabelas, onde se encontravam armazenados os dados. Desta forma foi possível interagir com os dados armazenados de diversas maneiras, tais como: personalizando consultas, relatórios e visões. O gráfico da Figura 4 foi gerado através dos dados de pressão do fluído no fundo de dois poços de petróleo em relação ao tempo. Já o gráfico da Figura 5 foi gerado através dos dados de temperatura do fluído no fundo de dois poços de petróleo em relação ao tempo. Desta forma,
5 podemos dizer que o sistema de gerência via WEB, apresentou boa performance para os fins que se destina, possibilitando o acesso ao metadados do banco de dados para posterior uso de acordo com as necessidades do usuário. O sistema, ainda, é capaz de restringir o acesso de usuário não autorizado e também definir perfis de trabalho, onde cada usuário ao criar algum tipo de relatório ou consulta pode definir se este será de uso público ou privado. heterogeneidade entre os dados gerados por um processo de manufatura. Desta forma, cada vez mais se confirma a importância de se ter um sistema capaz de obter os metadados de sistemas de automação industrial, possibilitando a aquisição de informações estratégicas sobre a operação da planta. Podemos ressaltar, ainda, o benefício do uso de um banco de dados baseados em SQL, pois estes possibilitam uma conectividade com os sistemas de informação da companhia facilitando, assim, a integração com outros sistemas. Atualmente se está trabalhando no aperfeiçoamento e ampliação das funcionalidades do Sistema de Gerência de Informação, de modo que se possa obter, além de informação, o conhecimento de forma inteligente sobre os dados de operação de sistemas industriais. AGRADECIMENTOS Aos integrantes do Projeto AUTPOC da UFRN, por terem permitido o acesso ao banco de dados desse projeto, proporcionando, assim, a obtenção dos resultados deste trabalho. REFERÊNCIA Figura 4 Gráfico de Pressão do Fluído [l ] Natale, Ferdinando. Automação Industria, 2ª ed, Editora Érica, 2000, São Paulo. [2] Bond, Martin; Haywood, Dan; Law, Debbie. Aprenda J2EE em 21 dias com EJB, JSP, Servlets, JNDI, JDBC e XML, 1ªed, Makron Books, 2003, São Paulo. [3] Pereira Neto, Alvaro; PostgreSQL- Técnicas Avançadas, 1ª ed, Editora Érica, 2003, São Paulo. [4] Iwanitz, Frank; Lange, Jurgen. OLE for Process Control, 1ª ed, Huthig, [5] Seixas Filho, Constantino; SZUSTER, Marcelo, Programação concorrente em ambiente Windows - Uma visão de automação; Editora da UFMG, Figura 5 - Gráfico da Temperatura V. CONCLUSÃO Diante do exposto e pelas experiências obtidas durante a fase de desenvolvimento e elaboração do sistema de gerência via Web, foi possível constatar a grande gama de