UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA...

58
UNIVERSIDADE FEDERAL DA BAHIA ESCOLA POLITÉCNICA CARLOS CÉSAR OLIVEIRA ARAUJO FILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB: Uma aplicação às plantas de processos da Embasa Salvador 2016

Transcript of UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA...

Page 1: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

UNIVERSIDADE FEDERAL DA BAHIA

ESCOLA POLITÉCNICA

CARLOS CÉSAR OLIVEIRA ARAUJO FILHO

DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Uma aplicação às plantas de processos da Embasa

Salvador

2016

Page 2: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

CARLOS CÉSAR OLIVEIRA ARAUJO FILHO

DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Uma aplicação às plantas de processos da Embasa

Trabalho de conclusão de curso apresentadoao colegiado do curso de Engenharia de Con-trole e Automação de Processos da Universi-dade Federal da Bahia como requisito parcialpara obtenção do título de Bacharel em Enge-nharia de Controle e Automação de Processos.

Orientador: Profo. Márcio André FernandesMartins, D.Sc.

Salvador

2016

Page 3: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:
Page 4: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Creative Commons

Copyright c○ Carlos César Oliveira Araujo Filho, 2016. Alguns direitos reservados.

Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-Uso

Não-Comercial-Vedada a Criação de Obras Derivadas 3.0 Brasil.

Você pode:

CC○ Copiar, distribuir, exibir e executar a obra.

Sob as seguintes condições:

BY:○ Atribuição. Você deve dar crédito ao autor original, da forma especificada pelo autor

ou licenciante;

$\○ Uso Não-Comercial. Você não pode utilizar esta obra com finalidades comerciais;

=○ Vedada a Criação de Obras Derivadas. Você não pode alterar, transformar ou criar

outra obra com base nesta.

Para cada novo uso ou distribuição, você deve deixar claro para outros os termos

da licença desta obra.

Qualquer uma destas condições pode ser renunciada, desde que você obtenha

permissão do autor.

Nada nesta licença afeta ou restringe os direitos morais do autor.

Para ver uma cópia desta licença, visite <https://creativecommons.org/licenses/

by-nc-nd/3.0/br/> ou envie uma carta para Creative Commons, 171 Second Street, Suite

300, San Francisco, California 94105, USA.

Page 5: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Dedico a todos que estiveram comigo nessa caminhada.

Page 6: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

AGRADECIMENTOS

À minha família pelo apoio, servindo como base para minha formação como pessoa. Em

especial a minha mãe, Loize Carneiro Araújo, pelo carinho e dedicação que recebi durante

todas as etapas de minha vida, que exerceu durante esses anos o papel de mãe e pai de

forma sublime. Aos meus irmãos, Taise Carneiro Araújo e Tiago Carneiro Araújo, e meu

padrasto Ernandes Pedro Rodrigues pelos incentivos e carinho incondicional.

À minha namorada, Larissa Silva, pelo apoio e companheirismo principalmente

nessa etapa final da graduação.

Aos meus amigos pelos momentos de alegria e de descontração.

Aos meus professores da graduação, em especial ao meu orientador, Marcio André

Fernandes Martins, por acreditar neste trabalho. És fruto de inspiração.

À Embasa por permitir que esse projeto fosse aplicado em seus parques industriais,

e em especial a equipe MMEP-Automação pelo apoio técnico.

Page 7: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

“As pessoas não sabem o que querem, até mostrarmos a ela.”

Steve Jobs

Page 8: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

RESUMO

Este trabalho trata do desenvolvimento de um sistema web para o monitoramento de

variáveis de processos industriais em tempo real e análise temporal, baseado em um sistema

PIMS (Plant Information Management Systems). Dada a importância das informações e

do conhecimento no século XXI, este trabalho foi idealizado com a finalidade de integrar

todos os processos industriais da Embasa em uma única plataforma disponível a todos

os funcionários. A PIPPE (Plataforma de Informações das Plantas de Processos da

Embasa) foi desenvolvida como um serviço web acessível em qualquer dispositivo através

de um browser. A PIPPE realiza conexões com bancos de dados para disponibilizar a

análise temporal das variáveis e conexões com servidores OPC (OLE for Process Control)

para monitoramento em tempo real. A plataforma foi testada com sucesso e posta em

funcionamento pela empresa.

Palavras-chaves: Automação. PIMS. OPC. Web.

Page 9: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

ABSTRACT

This work focuses on the development of a web system for real-time monitoring of industrial

process variables and temporal analysis, based on a PIMS (Plant Information Management

Systems). Given the importance of information and knowledge in the twenty-first century,

this work was conceived with the aim of integrating all the industrial plants of EMBASA

on a single platform available to all employees. The PIPPE (Plataforma de Informações

das Plantas de Processos da Embasa) was developed as an accessible web service on

any device through a browser. PIPPE performs connections to databases to provide the

temporal analysis of industrial process variables and connections with OPC (OLE for

Process Control) server for real-time monitoring. The platform has been successfully tested

and implemented in the company.

Key-words: Automation. PIMS. OPC. Web.

Page 10: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

LISTA DE ILUSTRAÇÕES

Figura 1 – Modelos em camadas de um Sistema de Automação . . . . . . . . . . . 14

Figura 2 – Mapa Estratégico da Embasa . . . . . . . . . . . . . . . . . . . . . . . 16

Figura 3 – Níveis de Automação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Figura 4 – Estrutura de um Sistema de Gerenciamento de Banco de Dados . . . . 22

Figura 5 – Hierarquia dos objetos na interface automation . . . . . . . . . . . . . 26

Figura 6 – Logo oficial da HTML5, CSS3 e JavaScript . . . . . . . . . . . . . . . . 28

Figura 7 – Arquitetura da Plataforma .NET . . . . . . . . . . . . . . . . . . . . . 30

Figura 8 – Georeferenciamento de algumas plantas industriais da Embasa . . . . . 33

Figura 9 – URL do Website da Embasa . . . . . . . . . . . . . . . . . . . . . . . . 34

Figura 10 – Estrutura de um Código QR . . . . . . . . . . . . . . . . . . . . . . . 35

Figura 11 – Planilha de Informações das Plantas de Processos da Embasa na versão

1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Figura 12 – Tela inicial da PIPPE . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Figura 13 – Estrutura do layout de elementos em páginas HTML5 . . . . . . . . . . 40

Figura 14 – Tela do módulo PIPPE – Historiador assim que é gerado . . . . . . . . 41

Figura 15 – Código parcial para obter a lista de variáveis de uma estação . . . . . . 42

Figura 16 – Tela do módulo PIPPE – Historiador após realizar uma consulta simples 43

Figura 17 – Código parcial em JavaScript para gerar gráficos com o CanvasJS . . . 44

Figura 18 – Comparação entre quatro variáveis realizada pela PIPPE – Historiador 45

Figura 19 – Tela inicial do módulo PIPPE – Monitor . . . . . . . . . . . . . . . . . 46

Figura 20 – Tela de monitoramento em tempo real da PIPPE - Monitor . . . . . . 47

Figura 21 – Utilizacao do QR Code em um smartphone com o auxilio do Google Maps 48

Figura 22 – Configuração da conexão ODBC no Wizcon 8.3 . . . . . . . . . . . . . 49

Figura 23 – Configuração da conexão ODBC no iFiX 3.5 . . . . . . . . . . . . . . . 50

Figura 24 – Configuração da conexão com banco de dados no Elipse E3 . . . . . . . 51

Figura 25 – Código parcial em VB.NET para conexão com servidor OPC . . . . . . 52

Page 11: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

LISTA DE ABREVIATURAS E SIGLAS

API Application Programming Interface

ASP Active Server Pages

CLP Controlador Lógico Programável

COM Component Object Model

CSS Cascading Style Sheets

DCOM Distributed Component Object Model

DDE Dynamic Data Exchange

DLL Dynamic-link Library

DOM Document Object Model

DSN Data Source Name

EPS Enterprise Production Systems

ERP Enterprise Resource Planning

FTP File Transfer Protocol

GPS Global Positioning System

HTML HyperText Markup Language

IDE Integrated Development Environment

IIS Internet Information Services

JS JavaScript

JSON JavaScript Object Notation

MEG Modelo de Excelência da Gestão

MES Manufacturing Execution Systems

Page 12: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

ODBC Open Database Connectivity

OLE Object Linking and Embedding

OPC OLE for Process Control

PHP Hypertext Preprocessor

PIMS Plant Information Management System

PIPPE Plataforma de Informações das Plantas de Processos da Embasa

RMS Região Metropolitana de Salvador

SCADA Supervisory Control and Data Acquisition

SCU System Configuration Utility

SDCD Sistema digital de controle distribuído

SGBD Sistema de Gerenciamento de Banco de Dados

SMTP Simple Mail Transfer Protocol

SQD SQL Data Block

SQL Structured Query Language

SQT SQL Trigger Block

TCP Transmission Control Protocol

UTC Coordinated Universal Time

VB Visual Basic

VBA Visual Basic for Applications

W3C World Wide Web Consortium

Web World Wide We

XHTML eXtensible Hypertext Markup Language

XML eXtensible Markup Language

Page 13: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.1 Descrição do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.4 Estrutura do documento . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 FUNDAMENTAÇÃO TEÓRICA . . . . . . . . . . . . . . . . . . . . 20

2.1 Process Information Management Systems . . . . . . . . . . . . . . . 20

2.2 Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2.1 Microsoft SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.2 Open Database Connectivity . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3 OLE for Process Control . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.1 Especificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3.2 OPC DA 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.3.3 OPC Data Access Automation Wrapper DLL . . . . . . . . . . . . . . . . 27

2.4 Desenvolvimento Web . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.4.1 HTML5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.4.2 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.4.3 jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.4.4 DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.4.5 JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.4.6 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.4.7 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.5 Plataforma .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.5.1 Internet Information Services . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.5.2 ASP.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.5.3 VB.NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.5.4 Visual Studio .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.6 Google Maps API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Page 14: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

2.7 QR Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 DESENVOLVIMENTO DE UM SISTEMA PIMS . . . . . . . . . . . 36

3.1 História . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2 Plataforma de Informações das Plantas de Processos da Embasa . . 37

3.3 Interface e funcionalidades . . . . . . . . . . . . . . . . . . . . . . . . 39

3.3.1 PIPPE – Historiador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.3.2 PIPPE – Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.4 Arquitetura de comunicação com o SQL Server . . . . . . . . . . . . 48

3.4.1 Configuração ODBC no Wizcon 8.3 . . . . . . . . . . . . . . . . . . . . . 48

3.4.2 Configuração ODBC no FIX32 e iFiX 3.5 . . . . . . . . . . . . . . . . . . 49

3.4.3 Configuração ODBC no Elipse E3 . . . . . . . . . . . . . . . . . . . . . . 50

3.5 Arquitetura de comunicação com o OPC Server . . . . . . . . . . . . 51

4 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . 53

4.1 Sugestões para Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . 54

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

Page 15: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

14

1 INTRODUÇÃO

Segundo Holanda (1975), automação é um sistema automático de controle pelo qual os

mecanismos verificam seu próprio funcionamento, efetuando medições e introduzindo

correções, sem a interferência do homem. Esta foi sem sombra de dúvidas uma das

revoluções tecnológicas que marcou o século XX, de modo que, possibilitou otimizar

processos antes realizados pela força humana, desempenhando atividades antes inviáveis

para o homem, de forma mais ágil, segura e eficaz. A automação para efeitos didáticos,

pode ser fragmentada em níveis hierarquicos como ilustra a Figura 1.

Figura 1 – Modelos em camadas de um Sistema de Automação

Fonte: Página da Schneider Eletric, Disponível emhttp://www.schneiderelectric.pt/images/pictures/products-services/showroom-movel/piramide_plantstruxure.jpg, Acessado em 29/09/2016

Na hierarquia de um sistema de automação, a base da pirâmide é larga, composta

majoritariamente por dispositivos de campos (sensores e atuadores). Eles são os respon-

sáveis pela interação direta com o processo, fazendo a leitura das variáveis relevantes

através de sensores e interferindo no processo por intermédio dos atuadores. No nível

imediatamente acima encontram-se os Controladores Lógico Programáveis (CLP) e os

Supervisory Control and Data Acquisition (SCADA) que realizam o controle regulatório e

Page 16: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 1. Introdução 15

supervisão, respectivamente. O segundo nível é responsável pelo processo, sua operação e

monitoramento. O terceiro nível corresponde ao gerenciamento de informações da fábrica.

O Enterprise Production Systems (EPS) armazena dados referentes aos processos para

utilizá-los como informação útil e relevante para a tomada de decisões por parte do gerente

da planta industrial. Ainda no terceiro nível, destacam-se algumas ferramentas EPS muito

utilizadas na indústria, como por exemplo o Manufacturing Execution System (MES) e o

Plant Information Management System (PIMS). No topo da pirâmide estão os sistemas

responsáveis pela transformação desses dados em informações de negócio, Enterprise

Resource Planning (ERP) (GUEDES et al., 2005).

Assim, a integração das informações de chão-de-fábrica aos sistemas corporativos

possibilita a otimização da gerência refletindo, positivamente, nos aspectos financeiros.

Dentre os vários benefícios existentes nessa integração, pode-se destacar: redução de custos

operacionais e corporativos, gestão integrada do processo, confiabilidade nos dados e

informações, e a manutenção inteligente.

A Empresa Baiana de Água e Saneamento S.A. (Embasa) é uma sociedade de eco-

nomia mista de capital autorizado, pessoa jurídica de direito privado, tendo como acionista

majoritário o Governo do Estado da Bahia. A Embasa presta serviços de abastecimento de

água e esgotamento sanitário para o estado da Bahia, atendendo cerca de 366 municípios

dos 417. Atualmente são atendidas com abastecimento de água cerca de 3,77 milhões de

residências, destas, aproximadamente, 1,46 milhão são servidas com esgotamento sanitário

(EMBASA, 2015). A Figura 2 mostra o mapa estratégico da empresa para 2015-2019.

Page 17: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 1. Introdução 16

Figura 2 – Mapa Estratégico da Embasa

Fonte: Embasa (2015)

Organizacionalmente, a empresa é dividida em operações da Região Metropolitana

de Salvador (RMS) e operações do Interior do Estado. Assim, na busca de maximizar a

satisfação dos usuários, titulares e acionistas, e garantir a sustentabilidade econômico-

financeira, a Embasa investe em novas tecnologias para modernizar seus processos, assim

como a gestão de uma manutenção de excelência em todo o Estado.

Sendo a RMS a área de maior abrangência e importância, a Embasa concentra os

maiores esforços de automação nessa região. O projeto milionário de Automação foi dado

início em 2003 e foi entregue para operação em 2009. Vale ressaltar que as operações do

Interior estão sendo automatizadas gradativamente e utilizando tecnologias já disponíveis

da RMS, daí a grande importância dessa região nesse setor.

O presente projeto buscou desenvolver e aprimorar procedimentos de aquisição de

dados em tempo real utilizando o padrão de comunicação OPC (OLE for ProcessControl),

assim como a disponibilização de um histórico de processo na forma de gráficos e um

sistema de georefenciamento das plantas de processos da Embasa.

Page 18: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 1. Introdução 17

1.1 DESCRIÇÃO DO PROBLEMA

Existe uma separação muito clara entre o processo de abastecimento de água e o es-

gotamento sanitário na empresa. Os dois processos são os responsáveis por garantir a

sustentabilidade econômico-financeira, porém, fazem parte de duas superintendências que

não possuem interação. A Embasa possui um sistema de automação bem desenvolvido

nesses dois segmentos, mas, não integrado.

A falta informações operacionais para tomadas de decisão por parte de gerentes

começou a ser notada com a implementação do Modelo de Excelência de Gestão (MEG)

e das novas diretrizes estratégicas da empresa. Não era possível ter acesso a históricos

operacionais, tendências de grandezas controladas e monitoradas, sistema de registro de

alarmes ao longo do tempo de forma simples e integrada.

Era possível obter algumas dessas informações através do segundo nível de Auto-

mação, os Sistemas Supervisórios utilizados em cada planta de processo da empresa. Em

outras palavras, para obter essas informações era necessário ir a sala de controle da planta

de interesse e interromper a utilização do supervisório por alguns instantes para acessar a

tela de relatórios. Está ação deixava o processo demorado e pouco produtivo, levando em

consideração que a Embasa possui plantas espalhadas por toda a RMS.

Além da falta de informações para os gestores, o Departamento de Engenharia da

Manutenção apresentava graves problemas na manutenção corretiva. Por vezes, a descrição

dos problemas associada à falta de conhecimento dos operadores impedia a identificação

imediata do problema para uma possível correção. Ainda, não era possível acompanhar

remotamente o histórico de equipamentos, tornando a manutenção demorada e diminuindo

a disponibilidade do equipamento.

É importante salientar que a ausência de informações e dados incompatíveis com

os processos prejudicam não só os Departamentos de Operações e Manutenção, como

também, setores como: Financeiro, Ambiental e Marketing. Tais setores eram influenciados

negativamente, visto que as operações de abastecimento de água e esgotamento sanitário

constituem a carta de serviços da empresa.

Page 19: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 1. Introdução 18

1.2 MOTIVAÇÃO

A idealização deste trabalho surgiu com o propósito de atender o Setor de Automação na

sua busca por excelência na manutenção, otimizando o trabalho e antecipando ações para

maximizar a disponibilidade dos processos. Além disso, existia uma demanda reprimida

desde 2014 da Superintendência da Manutenção para telemetria dos grandes equipamentos

da RMS (válvulas e bombas). Ademais, deseja-se unificar as informações em uma única

plataforma para auxiliar e integrar os serviços de abastecimento de água e esgotamento

sanitário da RMS e futuramente do interior do Estado, algo antes nunca visto na empresa.

Ressalta-se que ao adotar o MEG, a organização alinha seus recursos, identifica os

pontos fortes e as oportunidades de melhoria, aprimora a comunicação, a produtividade e a

efetividade de suas ações, além de se preparar para que os seus objetivos estratégicos sejam

atingidos (FNQ, 2016). A solução proposta além de apoiar todas as questões tratadas no

critério de Processos da MEG, está diretamente vinculada com o critério Informações e

Conhecimento.

A Embasa tem sua planta industrial na maioria das vezes serializada, de forma

que, uma ação à montante representa um impacto à jusante do processo. A integração dos

cenários ajuda ao planejamento e gestão operacional. A fim de fornecer uma ferramenta

para auxiliar as tomadas de decisão operacionais, otimizar a manutenção dos equipamentos

e por fim as ilhas de informações. A solução proposta visa tornar transparente a operação

dos processos industriais da Embasa para todos os colaboradores de forma simples e

objetiva.

1.3 OBJETIVOS

Este trabalho visa desenvolver um sistema integrado para o gerenciamento de informações

ao longo do tempo, monitoramento em tempo real e georreferenciamento das plantas de

processos via Web (Intranet Corporativa e Internet). Para alcançar este objetivo geral,

algumas etapas necessitam ser definidas e alcançadas, quais sejam:

∙ Elaborar um banco de dados temporal;

∙ Criar um sistema de consulta de informações;

Page 20: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 1. Introdução 19

∙ Desenvolver um sistema de monitoramento em tempo real;

∙ Implementar um sistema de georreferenciamento das plantas de processos;

∙ Disponibilizar o sistema integrado multiplataforma através de um Browser de Inter-

net;

1.4 ESTRUTURA DO DOCUMENTO

Este trabalho está estruturado em 4 (quatro) capítulos. Este primeiro introduz o problema a

ser solucionado, os objetivos do trabalho e sua motivação. No Capítulo 2 são apresentados

de forma geral alguns conceitos que fornecerão suporte ao entendimento do projeto

desenvolvido. O Capítulo 3 explica o desenvolvimento do sistema, métodos utilizados e

alguns exemplos de código de programação desenvolvidos. Por fim, o Capítulo 4 contém

os resultados obtidos, as considerações finais e sugestões para trabalhos futuros.

Page 21: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

20

2 FUNDAMENTAÇÃO TEÓRICA

2.1 PROCESS INFORMATION MANAGEMENT SYSTEMS

Segundo Filho & Szuter (2003), PIMS são sistemas que adquirem dados de processo de

diversas fontes, os armazenam num banco de dados históricos e os disponibilizam através

de diversas formas de representação. O PIMS nasceu na indústria de processos contínuos

mais propriamente na indústria química e petroquímica para resolver o problema da

fragmentação de dados e proporcionar uma visão unificada do processo. Numa primeira

fase, o PIMS passa a se constituir na ferramenta fundamental para o fluxo de dados, onde

a partir de uma estação é possível visualizar tanto os dados de tempo real como históricos

do processo. Pode-se mostrar tabelas, gráficos de tendência e sinópticos e eliminar as ilhas

de informações, concentrando em uma única base de dados informação sobre todos os

aspectos de uma planta. A capacidade de gerar outros dados através de cálculos e de

armazená-los por longos períodos de tempo sem ter que enviá-los a um mainframe constitui

um grande ganho para o analista de processos (FILHO, 2011). É possível observar na

Figura 3 uma outra abordagem para os níveis hierárquicos de automação, a qual o PIMS

fornece dados de produção em ambiente Windows ou Unix.

Figura 3 – Níveis de Automação

Fonte: Filho & Szuter (2003)

Page 22: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 21

Basicamente, PIMS é um software que contém 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. O PIMS coleta informações dos sistemas de supervisão, CLPs,

SDCDs e sistemas legados e os armazena em uma base de dados em tempo real. Tal base

possui características não encontradas nos bancos de dados convencionais, como: grande

capacidade de compactação (tipicamente de 10:1) e alta velocidade de resposta a consulta

em sua base histórica. Devido a isto, é capaz de armazenar um grande volume de dados

com recursos mínimos, se comparado às soluções convencionais. (PINTO, 2005)

Segundo Mine (2006), uma das tarefas mais difíceis na implementação de sistemas

de comunicação em redes industriais é a conexão com os sistemas que compõem as células

de produção. Estes sistemas, mesmo dentro de uma fábrica bem planejada e moderna, são

extremamente heterogêneos. Os sistemas PIMS dispõem de ferramentas especialmente

desenvolvidas com a finalidade de conexão com os sistemas industriais tornando essa

tarefa mais fácil. Essas ferramentas já dispõem de uma grande variedade de drivers de

comunicação, cobrindo a maioria dos sistemas comerciais existentes e englobando as mais

novas tecnologias de troca de informação, tais como o OPC.

2.2 BANCO DE DADOS

De acordo com Date (2004), um sistema de banco de dados é um sistema computadorizado

cuja finalidade geral é armazenar informações e permitir que os usuários busquem e

atualizem essas informações quando as solicitar. Segundo o autor, um sistema de banco de

dados é composto por dados, hardware, software e usuários.

Os bancos de dados relacionais foram desenvolvidos para prover acesso facilitado

aos dados, possibilitando que os usuários utilizassem uma grande variedade de abordagens

no tratamento das informações (DATE, 2004). Assim, trata-se de uma forma do usuário

sem conhecimento técnico amazenar e extraír grandes quantidades de informações de um

banco de dados. Um banco de dados relacional armazena dados em tabelas. As tabelas são

organizadas em colunas, e cada coluna armazena um tipo de dado (inteiro, número real,

string de caracteres, entre outros). Os dados são armazenados de forma simples nessas

tabelas, cada linha corresponde a um dado completo. Ainda nas tabelas, é possível definir

as chaves da tabela, assim como os índices. As chaves são identificadores únicos da tabela,

Page 23: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 22

ou seja, as linhas de dados para as chaves são únicas, não podendo se repetir. Já os índices

fornecem uma forma rápida para buscar dados nas colunas da tabela. Nesse sentido surge

a definição de Sistema de Gerenciamento de Banco de Dados (SGBD). Trata-se de um

software desenvolvido para controlar o armazenamento, recuperação, exclusão, segurança

e integridade dos dados. A Figura 4 mostra a estrutura desse software. Um SGBD fornece

uma interface amigável para administrar um banco de dados, de forma que o usuário

não se preocupe como os dados são tratados a nível de armazenamento e linguagem de

máquina. A linguagem padrão para os bancos de dados e para o ambiente de um SGBD

é a SQL (Structured Query Language). Esta linguagem possibilita, de forma simples, a

manipulação, definição, controle, transação e consulta de dados.

Figura 4 – Estrutura de um Sistema de Gerenciamento de Banco de Dados

Fonte: Date (2004)

2.2.1 MICROSOFT SQL SERVER

Microsoft SQL Server é um SGBD desenvolvido pela Microsoft que oferece inúmeras

funcionalidades para o gerenciamento de um banco de dados relacional. Apesar de ser

um produto licenciado, a Microsoft disponibiliza uma versão Express gratuita para desen-

volvedores menores possam usufruir de todas as funcionalidades. Seus serviços incluem

Page 24: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 23

(MICROSOFT, 2016):

∙ Database Engine - Armazenamento de dados OLTP

∙ Reporting Services - Relatório de dados

∙ Analysis Services - Análise de dados OLAP

∙ Integration Services - Fluxos de dados

∙ Data Quality Services - Limpeza de dados

∙ Master Data Services - Repositório único de dados

∙ Replicação - Replicação de dados entre servidores

2.2.2 OPEN DATABASE CONNECTIVITY

Open Database Connectivity (ODBC) é a interface estratégica da Mi-crosoft para acessar dados em um ambiente heterogêneo de relacional enão-relacional sistemas de gerenciamento de banco de dados. Com basena especificação da Interface de nível de chamada do grupo de acessoSQL, ODBC fornece uma forma aberta, independente de fornecedor deacessar dados armazenados em uma variedade de proprietários de PC,minicomputador e bancos de dados de mainframe. ODBC diminui anecessidade de fornecedores de software independentes e desenvolvedorescorporativos para aprender várias interfaces de programação de aplica-tivo. ODBC agora fornece uma interface de acesso a dados universal.Com ODBC, os desenvolvedores de aplicativos podem permitir que umaplicativo simultaneamente acessar, exibir e modificar dados de váriosbancos de dados diferentes. (MICROSOFT, 2016)

A utilização da comunicação por ODBC facilitou a integração de diferentes sis-

temas acessando uma mesma base da dados. Com um único ponto de configuração, a

manutenção/atualização de sistemas para os desenvolvedores se torna uma tarefa mais

simples. Esse foi o método utilizado neste trabalho por ser o único método disponível nos

sistemas de supervisão.

2.3 OLE FOR PROCESS CONTROL

Antes de falar sobre o OPC, é relevante discorrer sobre o conceito do COM (Component

Object Model), uma tecnologia criada pela Microsoft para a troca de informações por

Page 25: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 24

duas aplicações diferentes simultaneamente e componentes que podem ser reutilizados. O

COM surgiu em 1987 como uma aplicação DDE (Dynamic Data Exchange), evoluiu para o

padrão OLE, depois COM em 1995 e atualmente encontra-se no padrão DCOM. Ainda em

1995, devido à falta de padronização dos protocolos industriais de comunicação, algumas

empresas se uniram para desenvolver um protocolo para ser utilizado na aquisição de dados

de chão-de-fábrica por sistemas de supervisão (FONSECA, 2002). O padrão OPC surgiu

para estabelecer rotinas de acesso a dados em tempo real dentro do ambiente do Windows

por componentes DCOM. O OPC trata-se de definições de utilização e implementação

de objetos OLE/DCOM publicadas pela OPC Foundation. Esta organização padroniza e

regulariza a utilização deste protocolo, tornando-se fechado para seus membros ao redor

do mundo.

2.3.1 ESPECIFICAÇÃO

O protocolo OPC é especificado e mantido pela OPC Foundation com o objetivo de atender

às necessidades da indústria. Através de aprimoramento e ampliação das especificações

OPC, a OPC Foundation visa fornecer uma solução versátil que integre todos os dispositivos

da indústria em um único padrão de comunicação. A primeira especificação foi produzida

em agosto de 1996, chamada de OPC Specification Version 1.0, desde então a organização

realiza adições de especificações, assim como modificação nas existentes para uma máxima

compatibilidade de versões.

Atualmente a OPC Foundation fornece as seguintes especificações:

∙ OPC Data Access

∙ OPC Alarms and Events

∙ OPC Batch

∙ OPC Data eXchange

∙ OPC Historical Data Access

∙ OPC Security

∙ OPC XML-DA

Page 26: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 25

∙ OPC Complex Data

∙ OPC Commands

∙ OPC Unified Architecture

∙ OPC Certification

As especificações podem se manifestar através de duas interfaces, custom e automa-

tion. A interface custom definem o acesso aos servidores OPC por aplicações desenvolvidas

através de linguagens que suportam as chamadas das funções por ponteiros, como é o caso

de C/C++. Por outro lado, a interface automation foi desenvolvida para linguagens que

não possuem suporte a ponteiros, onde os clientes chamam métodos pelo nome e não por

ponteiros (FONSECA; FILHO, 2005). Para o desenvolvimento do trabalho foi utilizado

a especificação de aquisição de dados em tempo real, a OPC Data Access Specification

utilizando a interface Automation Wrapper fornecida pela OPC Foundation para linguagens

Visual Basic e C#.

2.3.2 OPC DA 2.0

A especificação OPC DA define as regras para a troca de informações em tempo real entre

clientes e servidores OPC. Para esta especificação, os servidores OPC se comunicam com

os dispositivos de campo por diferentes métodos e disponibilizam essas informações para

os clientes, sendo que estes métodos de aquisição não são especificados.

De forma geral o funcionamento dos servidores OPC consiste em fazer a aquisição

dos dados e deixar essa informação acessível para os clientes OPC que nele se conectarem.

Esta disponibilização se dá através do que a especificação OPC denomina de tags. Uma tag

é um dado que pode ser uma temperatura, pressão, estado de uma válvula, etc, disponível

para ser lido ou escrito por um cliente OPC.

Em um nível alto, o cliente OPC é uma aplicação desenvolvida para se conectar em

um servidor OPC para acessar as informações disponíveis contidas nos itens do servidor. O

cliente consiste de vários objetos como OPC Server, OPC Groups e OPC Items. O objeto

OPC Server atua como um recipiente para o OPC Group. Por sua vez, o OPC Group

contém os OPC Items logicamente organizados. O OPC Group pode ser do tipo público

ou privado, onde os públicos podem ser acessados por diversos clientes e os privados são

Page 27: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 26

criados exclusivamente para um cliente específico. OPC Items representam as conexões

diretas com a fonte de dados, seja ela local ou remota e não apresentam qualquer tipo de

customização, de modo que o acesso ao item é realizado pelo OPC Group. Assim, ao se

conectar a um servidor, é necessário instanciar o OPC Group e o OPC Server para daí

então estabelecer a conexão com as fontes de dados pelos OPC Items. A Figura 5 ilustra

como é a hierarquia para as estruturas definidas acima .

Figura 5 – Hierarquia dos objetos na interface automation

Fonte: Standard (2002)

O formato dos dados que são trocados entre clientes e servidores também é espe-

cificado. Como foi dito, os dados são armazenados no objeto OPCItem e, por sua vez,

disponibiliza as seguintes informações:

∙ Valor do dado: Informação do valor do dado, a qual todos os tipos de dados VARIANT

definidos pela interface DCOM são suportados;

∙ Time Stamp: Informação da data e horário que o servidor OPC fez a requisição para

a fonte de dados. É utilizado a estrutura padrão do Windows para o UTC (Universal

Time Coordinated);

∙ Informação de estado: São reservados 2 bytes para codificação do estado do dado

fornecido pelo servidor, podendo ser:

Good: Dado valido;

Page 28: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 27

Bad: Falha de comunicação com o dispositivo de campo ou outra falha;

Uncertain: Falha do dispositivo de campo, porém comunicação entre dispositivo

e servidor existente.

2.3.3 OPC DATA ACCESS AUTOMATION WRAPPER DLL

OPC Foundation fornece materiais e exemplos de codificação para desenvolvedores que

queiram integrar aplicações em linguagens Visual Basic e C# com servidores OPC de forma

simples e gratuita. Fornecendo uma DLL (Dynamic-link library) com seu código-fonte

completo em Visual C++, a organização busca disseminar o protocolo OPC em toda a

indústria.

O arquivo digital OPCDAAuto.dll fornece todos os métodos para a especificação

OPC DA 2.0 ser utilizada no desenvolvimento de um cliente capaz de se conectar em

qualquer servidor OPC. (STANDARD, 1999)

2.4 DESENVOLVIMENTO WEB

2.4.1 HTML5

O HyperText Markup Language (HTML) é uma linguagem de marcação utilizada para

criação de páginas na Web. Ela fornece com sintaxe específica, instruções ao navegador

sobre como exibir uma página. Sem o HTML não haveria páginas da Web. O navegador

interpreta somente a linguagem HTML para gerar e exibir o conteúdo, ficando disponível

para qualquer cliente o código fonte da página da Web.

O desenvolvimento e implementação do HTML5 surgiu para solucionar problemas

relacionados a implementações modernas e compatibilidade entre conteúdos e dispositivos.

A necessidade de ferramentas adicionais e plug-ins para reprodução de certos conteúdos

fizeram com que o HTML evoluísse para sua versão 5.0 após o fim decretado do HTML

pela Word Web Consortium, em favor do XHTML. Pode-se observar na Figura 6 as

logomarcas oficiais das três linguagens que estão mudando o cenário do desenvolvimento

Web. (CONSORTIUM et al., 2016)

Page 29: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 28

Figura 6 – Logo oficial da HTML5, CSS3 e JavaScript

Fonte: Consortium et al. (2016)

Assim, o HTML5 vem se consolidando como uma tendência mundial no desenvolvi-

mento de aplicações Web junto com o CSS3 e JS. As três linguagens se complementam e

seguem os princípios de compatibilidade, utilidade, interoperabilidade e acesso universal.

2.4.2 JAVASCRIPT

O JavaScript (JS) é uma linguagem de scripting multiplataforma e orientada a objetos

desenvolvida pela NETSCAPE para trabalhar de forma interativa com páginas HTML,

não sendo muito útil como uma linguagem independente. Vale salientar que apesar do

JavaScript ser baseado na linguagem Java, não é necessário utilizar o Java Runtime para

abrir páginas que contenham JavaScript. (SCHOOLS, 2016)

2.4.3 JQUERY

jQuery é uma biblioteca JavaScript, que tem o intuito de simplificar a programação em Ja-

vaScript e executar rotinas mais complexas. Com o jQuery, é possível solucionar problemas

de incompatibilidade entre os navegadores, códigos específicos para cada navegador e/ou

sistema operacional, redução de código, e reutilização de códigos já criados por outros

desenvolvedores. (SCHOOLS, 2016)

Essa biblioteca vem sendo bastante utilizada no HTML5 por proporcionar ao

desenvolvedor maior agilidade e rapidez no desenvolvimento, fornecendo estruturas para

disponibilização em diversos sistemas e plataformas.

Page 30: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 29

2.4.4 DOM

O Document Object Model (DOM) foi criado pela W3C para fornecer uma interface entre a

linguagem JavaScript e os objetos do HTML, onde pode-se dinamicamente, buscar, alterar

e editar estruturas, conteúdo e estilos de uma página HTML. O DOM é um método bem

utilizado quando existe a necessidade de obter informações de páginas HTML e reutilizá-la

em rotinas JavaScript de forma interativa com o usuário. (SCHOOLS, 2016)

2.4.5 JSON

O JavaScript Object Notation (JSON) é um modelo para armazenamento e transmissão

de informações no formato texto em ambiente JavaScript, porém não se limita a isso.

Apesar de ser muito simples, tem sido bastante utilizado em aplicações Web devido a sua

capacidade de estruturar informações de uma forma mais compacta do que utilizando o

modelo XML, possibilitando a transmissão de grande volume de informações. (SCHOOLS,

2016)

2.4.6 CSS

CSS3 é a nova forma do CSS (Cascading Style Sheets), onde se define estilos e formatações

para páginas web criadas pelo HTML, podendo conter qualquer tipo de dados (imagens,

textos, áudios, entre outros elementos). Através do CSS3, é possível desenvolver detalhes

de layout e gráficos sem a necessidade de softwares de edição visual. A nova versão surgiu

para integrar a nova tendência do HTML5 na criação de um padrão universal para a Web,

fazendo desnecessário a utilização de outras ferramentas como a reprodução de vídeos.

(SCHOOLS, 2016)

2.4.7 PHP

PHP, que significa do inglês Hypertext Preprocessor, é uma linguagem de programação

de ampla utilização, interpretada, que é especialmente interessante para desenvolvimento

para a web e pode ser mesclada dentro do código HTML. A sintaxe da linguagem lembra

C, Java e Perl, sendo fácil de aprender. O objetivo principal da linguagem é permitir a

desenvolvedores escreverem páginas que serão geradas dinamicamente rápidas.É o que

denominam-se de linguagens de programação back-end, são linguagens de programação que

Page 31: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 30

são executadas pelo servidor do serviço Web, como por exemplo o PHP, ASP, C#, Java,

VB.NET, entre outras. As linguagens HTML, CSS e JS são linguagens de programação

front-end, ou seja, são interpretadas pelo usuário final, através do navegador de internet.

(GROUP, 2016)

O que distingue o PHP de algo como o JavaScript no lado do cliente é que o código

é executado no servidor, gerando o HTML que posteriormente é enviado para o navegador.

O navegador recebe os resultados da execução desse script, mas não se sabe qual código o

gerou.

2.5 PLATAFORMA .NET

.NET é uma plataforma de desenvolvimento criada pela Microsoft e oferece execução

gerenciada para diversas aplicações. Sua versatilidade possibilita o desenvolvimento de

aplicações independente do Sistema Operacional (SO) utilizado em sua execução. O

Common Language Runtime (CLR) é o mecanismo de execução responsável por interpretar e

compilar o código gerado para qualquer SO, tornando a plataforma universal. A Plataforma

.NET possibilita o desenvolvimento de aplicações utilizando linguagem de programação

Visual Basic, C#, C++, Object Pascal e J#. A Figura 7 representa a arquitetura da

Plataforma .NET. (MICROSOFT, 2016)

Figura 7 – Arquitetura da Plataforma .NET

Fonte: Microsoft (2016)

Page 32: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 31

2.5.1 INTERNET INFORMATION SERVICES

O Internet Information Service (IIS), anteriormente chamado de Internet Information

Server, é um servidor Web desenvolvido pela Microsoft inicialmente para o Windows NT

Server, desde então vem recebendo diversas atualizações e melhorias. Sua função principal

é oferecer uma plataforma modular para hospedagem de aplicações baseadas na Web.

(MICROSOFT, 2016)

O IIS é capaz de integrar diversas tecnologias, tais como ASP, ASP.NET, PHP, FTP,

Web API, SMTP, entre outras. Sua utilização é recomendada para os servidores privados,

como Intranet. Para servidores web voltados para a internet, a Microsoft recomenda utilizar

sua mais nova ferramenta de serviços Web nas nuvens, o Microsoft Azure.

2.5.2 ASP.NET

O Active Server Pages foi uma criação da Microsoft para tornar o desenvolvimento web

mais atraente, porém em sua primeira versão surgiram inúmeros problemas. Assim, surgiu

o ASP.NET, ferramenta para o desenvolvimento Web que trabalha em conjunto com o

.NET Framework na manipulação de solicitações server-side. (SHEPHERD, 2010)

O ASP.NET é um modelo unificado de desenvolvimento Web que incluios serviços necessários para a construção de aplicações web de nívelempresarial com um mínimo de codificação. É possível codificar os apli-cativos em qualquer linguagem compatível com o Common LanguageRuntime (CLR), incluindo Microsoft Visual Basic, C#, JScript .NET eJ#.Estas linguagens permitem desenvolver aplicações que se beneficiamdo ambiente integrado de execução, proteção de tipos, herança, e assimpor diante. (MICROSOFT, 2016)

A tecnologia ASP.NET oferece estrutura de páginas e controladores, o que leva

vantagem se comparado com outras linguagens interpretadas pelos servidores Web. Além

disso, a Microsoft oferece suporte a depuração, monitoramento da integridade e desempenho

e uma infraestrutura de segurança já incorporada nas aplicações em ASP.NET.

2.5.3 VB.NET

Visual Basic .NET é uma linguagem de programação, que foi crada pela Microsoft,

totalmente orientada a objetos e implementada no .NET Framework. Essa linguagem é

uma evolução do Visual Basic 6.0. Ela é utilizada como linguagem auxiliar do serviço

Page 33: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 32

ASP.NET, intermediando e gerenciando esse serviço com outras ferramentas web e de

sistema.

2.5.4 VISUAL STUDIO .NET

Visual Studio é um conjunto completo de ferramentas de desenvolvi-mento para construção de aplicações Web ASP.NET, serviços Web XML,aplicações desktop e aplicativos móveis. Visual Basic, Visual C e VisualC++ usam todos o mesmo ambiente de desenvolvimento integrado (IDE),que permite o compartilhamento de ferramentas e facilita a criação desoluções com mistura de linguagens. Além disso, essas linguagens usama funcionalidade do .NET Framework, que fornece acesso às tecnologiaschaves que simplificam o desenvolvimento de aplicativos Web em ASP eserviços Web XML. (MICROSOFT, 2016)

A versão utilizada no desenvolvimento desse trabalho foi o Visual Studio .NET

Community 2015. Essa IDE forece recursos de programação em diversas linguagens e

edição gráfica das estruturas da página.

2.6 GOOGLE MAPS API

O Google Maps é um serviço de geolocalização desenvolvido pela Google e fornecido

gratuitamente como um serviço Web. Ele é capaz de pesquisar e visualizar mapas e imagens

de satélite do planeta Terra. O serviço foi lançado em meados de 2005 e atualmente possui

uma banda de dados imensa, disponibilizando informações de praticamente todos os países.

Além de oferecer o serviço de mapas e imagens de satélite, o Google Maps oferece serviços

como calcular direção entre dois pontos do mapa, visualização em 3D, monitoramento de

informações relacionadas a transito em tempo real, navegação via GPS, visualização 3D

de ruas e avenidas utilizando o serviço Street View, entre outros.

Para os desenvolvedores, a Google oferece Application Programming Interface (API)

para integrar seu serviço com aplicações desenvolvidas para múltiplas plataformas. API é

um conjunto de rotinas e padrões de programação que uma empresa desenvolve para que

outras aplicações acessassem seus serviços. A Google oferece diversas API‘s que podem ser

utilizadas a depender de cada aplicação (GOOGLE, 2016):

∙ Google Maps JavaScript API

∙ Google Maps API for Flash

Page 34: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 33

∙ Google Earth API

∙ Google Static Maps API

∙ Google Maps Data API

Para o desenvolvimento desse trabalho, foi utilizado o Google Maps JavaScript API.

Essa API foi projetada para carregar rapidamente e funcionar bem em dispositivos móveis

e aplicações Web menores. Ela é oferecida gratuitamente, contando que não ultrapasse 25

mil requisições diárias nos servidores da Google, o que a torna ideal para a aplicação desse

trabalho, como pode ser observado na Figura 8.

Figura 8 – Georeferenciamento de algumas plantas industriais da Embasa

Fonte: elaborado pelo autor

2.7 QR CODE

O QR Code (Quick Response Code) é um código de barra bidimensional criado pela

companhia japonesa Denso-Wave em 1994 e padronizado como ISO/IEC 18004. A utilização

do padrão é livre de qualquer licença, apesar de os direitos de patentes pertencerem à

empresa Danso-Wave, que decidiu não usá-los comercialmente. O código é composto

por uma matriz quadrada constituída de uma série de módulos quadráticos padrões

Page 35: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 34

que codificam a informação, incluindo um padrão único de localização formado por três

quadrados posicionados nos vértices da matriz. A presença desses três padrões quadrados

serve como guia para o alinhamento da imagem pelo sensor, tornando o código invariante

a rotação e ao posicionamento angular do leitor em relação à imagem (ISO, 2005). Os três

padrões quadrados se tornaram o símbolo para a identificação por parte dos seres humanos

como sendo um código do tipo QR Code, sendo facilmente extraídas as informações através

de dispositivos móveis. A Figura 9 ilustra um QR Code para o website da Embasa.

Figura 9 – URL do Website da Embasa

Fonte: elaborado pelo autor

Ademais, o QR Code codifica as informações de forma que permita que se utilize uma

sequência de imagens quando as informações são grandes demais para serem armazenadas

em uma única matriz quadrada. Utilizando um sistema de correção de erros inserida nas

informações codificadas, o código garante que o dispositivo de leitura interprete-o mesmo

se houver danos à imagem. O QR Code pode encapsular diversos tipos de informações

em seu padrão matricial, sendo as informações textuais, informações de contato pessoal,

endereço de correspondência, georeferenciamento e URL’s os mais comuns na atualidade.

Na Figura 10 é ilustrada a estrutura de um código QR.

Page 36: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 2. Fundamentação teórica 35

Figura 10 – Estrutura de um Código QR

Fonte: ISO (2005)

Page 37: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

36

3 DESENVOLVIMENTO DE UM SISTEMA PIMS

Este trabalho consiste em mostrar aspectos do desenvolvimento e implementação de um

sistema web com funcionalidades similares a um sistema PIMS comercial. O objetivo

do desenvolvimento desse sistema é fornecer uma plataforma de informações flexíveis e

universais, integrando todas as plantas de processos da Embasa em um único sistema

acessível a todos.

No planejamento deste trabalho, definiu-se que a metodologia adotada para o desen-

volvimento da Plataforma de Informações das Plantas de Processos da Embasa (PIPPE)

abarcaria as seguintes etapas: definir a interface e funcionalidades do sistema, definir a

arquitetura de comunicação entre os sistemas supervisórios e o banco de dados, definir

arquitetura para aquisição em tempo real, desenvolver sistema historiador, desenvolver

sistema de monitoramento em tempo real, implementar sistema de georeferenciamento,

testes e validação do sistema.

3.1 HISTÓRIA

A PIPPE foi uma plataforma inicialmente desenvolvida para dar suporte ao setor de

Manutenção da Automação da Embasa (MMEP-A) na realização de atividades do cotidiano.

Ao fornecer históricos dos equipamentos dos parques industriais, a PIPPE auxilia a equipe

na identificação de problemas e até mesmo na antecipação dos mesmos, tornando a

manutenção preventiva e corretiva mais eficiente.

Antes de se tornar a Plataforma de Informações das Plantas de Processos da

Embasa, a PIPPE era chamada de Planilha de Informações das Plantas de Processo pois

foi inicialmente desenvolvida pelo autor no ambiente Microsoft Excel de forma dinâmica

e interativa com o banco de dados através de scripts em Visual Basic for Application

(VBA). Na versão para Excel era possível realizar consultas de variáveis de qualquer planta

industrial em um determinado período de tempo, gerar gráficos e fazer comparações entre

variáveis. A versão Excel passou a auxiliar não só o setor de Manutenção da Automação

como outros setores de manutenção. Pode ser observar essa versão na Figura 11.

Page 38: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 37

Figura 11 – Planilha de Informações das Plantas de Processos da Embasa na versão 1.4

Fonte: elaborado pelo autor

Assim, visto o potencial da planilha, surgiu a ideia de transformá-la em uma

plataforma universal, acessível em diferentes sistemas e dispositivos, e democratizar o

conhecimento das informações de processos para todos os setores da empresa. Foram

otimizadas as funcionalidades existentes (análise temporal das variáveis de processos) e

implementado outras funcionalidades ao sistema (monitoramento em tempo real, georefe-

renciamento das plantas industriais, entre outras). Vale ressaltar que o desenvolvimento da

planilha foi totalmente realizado pelo autor deste trabalho, assim como sua transformação

para ambiente web.

3.2 PLATAFORMA DE INFORMAÇÕES DAS PLANTAS DE PRO-

CESSOS DA EMBASA

A PIPPE foi desenvolvida como forma de melhoria para a versão em forma de planilha.

Essa migração trouxe melhorias para o sistema e novas funcionalidades que antes não eram

possíveis de serem desenvolvidas em ambiente Excel. A versão em planilha se limitava aos

usuários que possuíam a versão Microsoft Excel 2007 ou superior, sendo que em versões

anteriores a planilha apresentava diversos erros. Deste modo, para tornar o sistema com

Page 39: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 38

acesso democratizado e universal, a solução proposta foi transformar a planilha em uma

plataforma Web desenvolvida essencialmente em HTML, PHP e ASP.NET, sendo outras

linguagens de programação utilizadas para auxilia-las. A plataforma é hospedada em

um servidor Windows utilizando o IIS na sua versão 10 e foi desenvolvido totalmente

através do ambiente de programação Visual Studio 2015 Community. Tal escolha se

deveu principalmente ao fato de o padrão OPC ser totalmente baseado na tecnologia

COM/DCOM da Microsoft, assim sendo necessário utilizar a plataforma .NET. Em

algumas edições de códigos também foi utilizado o Notepad++, um software gratuito que

suporta diversas linguagens de programação.

A Plataforma de Informações das Plantas de Processos da Embasa é composta por

dois módulos principais: PIPPE – Historiador e PIPPE – Monitor. A PIPPE - Historiador

é responsável em coletar os dados armazenados no bando de dados e gerar gráficos com os

resultados, disponibilizar os dados para exportação e realizar comparações entre diferentes

variáveis de diferentes plantas de processos de forma agradável ao usuário. A PIPPE –

Monitor integra o sistema de georeferenciamento de todas as plantas de processos utilizando

o Google Maps com o sistema de monitoramento em tempo real das plantas. Na Figura 12

pode-se observar a tela inicial da PIPPE com a possibilidade de escolha entre os dois

módulos. Nas seções seguintes será discutido o desenvolvimento dessa plataforma e suas

funcionalidades.

Page 40: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 39

Figura 12 – Tela inicial da PIPPE

Fonte: elaborado pelo autor

3.3 INTERFACE E FUNCIONALIDADES

A tela inicial da PIPPE foi desenvolvida de forma simples utilizando as estruturas de layout

do HTML5. A Figura 13 mostra a estrutura dos elementos em uma página e sua semântica.

Foram utilizadas as estruturas header, nav e footer no desenvolvimento da primeira tela.

Para as telas seguintes, tanto no módulo PIPPE – Historiador e PIPPE-Monitor, foram

utilizadas as estruturas header, nav, aside e footer. Com o intuito de padronizar todas

as páginas desenvolvidas, foram utilizadas as mesmas codificações, métodos e estruturas

gráficas para o header e footer das páginas.

Page 41: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 40

Figura 13 – Estrutura do layout de elementos em páginas HTML5

Fonte: Schools (2016)

3.3.1 PIPPE – HISTORIADOR

O módulo PIPPE – Historiador, como já foi dito, utiliza em seu layout padrão as estruturas

header, nav, aside e footer. A Figura 14 mostra esse módulo assim que ele é gerado. A

região de cor cinza (lado esquerdo) é o Menu de Navegação do módulo desenvolvido

utilizando as estruturas select, input e button do HTML5. O select cria listas suspensas

que são utilizadas para a seleção de variável de uma determinada planta industrial. Já a

estrutura input é utilizada para especificar as datas e horários para realizar a consulta.

Por fim, a estrutura button criar botões clicáveis para executar determinada função. A

utilização da linguagem JS e seus objetos DOM facilitaram a criação de um Menu de

Navegação dinâmico, onde a escolha das variáveis de processos são feitas dinamicamente

selecionando os sistemas, que por sua vez carrega as estações especificas de cada sistema.

Ao selecionar a estação, uma função em JS realiza, através do jQuery e PHP, uma consulta

no banco de dados para carregar somente as variáveis ativas daquela determinada estação.

Esses dados são disponibilizados para o sistema na forma JSON, onde uma outra função

em JS os interpreta.

Page 42: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 41

Figura 14 – Tela do módulo PIPPE – Historiador assim que é gerado

Fonte: elaborado pelo autor

Para obter a lista de variáveis de uma determinada estação, foi implementado

uma consulta dinâmica no SQL Server através do PHP com o objetivo de carregar

automaticamente os códigos identificadores das variáveis e suas descrições assim que

são ativados nos sistemas supervisórios. A Figura 15 mostra parte do código em PHP

desenvolvido para realizar essa função de forma eficiente. Os scripts SQL estão em constante

mudança com o intuito de otimizar o tempo de consulta e a memoria alocada no servidor,

tornando a plataforma mais ágil.

Page 43: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 42

Figura 15 – Código parcial para obter a lista de variáveis de uma estação

Fonte: elaborado pelo autor

A criação dos gráficos fica sobe responsabilidade do framework front-end, CanvasJS.

O CanvasJS possui uma API simples desenvolvida em JavaScript para criação de gráficos

em HTML5. É bastante utilizada em aplicações Web de grandes empresas como Microsoft,

Intel, Boeing, Sony, Autodesk, entre outras, por gerar gráficos até 10 vezes mais rápido do

que o sistema convencional de forma leve e elegante. A Figura 16 apresenta um gráfico

gerado pelo CanvasJS após realizar a consulta do Nível do Reservatório Apoiado A/B da

Estação 810 – Cabula que faz parte o Centro de Controle Regional 8 do sistema de Água

RMS.

Page 44: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 43

Figura 16 – Tela do módulo PIPPE – Historiador após realizar uma consulta simples

Fonte: elaborado pelo autor

Para gerar gráficos, é necessário a utilização do PHP para se conectar com o SQL

Server através do arquivo digital data.php e interpretar os resultados na forma JSON

para que o CanvasJS seja capaz identificar as variáveis do eixo das abcissas e ordenadas,

gerando um gráfico com layout definida pelo autor. A Figura 17 mostra parte do código

em JS utilizado para realizar uma consulta, interpretar os resultados e criar o gráfico para

esses resultados.

Page 45: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 44

Figura 17 – Código parcial em JavaScript para gerar gráficos com o CanvasJS

Fonte: elaborado pelo autor

Ademais, a PIPPE – Historiador oferece a possibilidade de comparar diversas

variáveis utilizando o mesmo método de uma consulta simples. Não existe limite de

comparações, o desempenho irá depender exclusivamente do servidor que gerencia o SQL

Server, quanto maior o número de variáveis, maior será o tempo de execução da consulta.

Na Figura 18 pode-se observar uma comparação realizada entre quatro variáveis distintas.

Outras funcionalidades são:

∙ Imprimir: Formata a página para imprimir de forma compatível com Papel A4;

∙ Exportar: Exporta os dados obtidos através da consulta para uma planilha em

ambiente Microsoft Excel.

A função de imprimir funciona somente como um atalho para o usuário não

precisar acessar o Menu do Browser e ordenar a impressão. Para implementar a função de

exportação dos dados para planilha em ambiente Microsoft Excel, foi utilizado o auxilio de

uma biblioteca Open-Source para PHP, o PHPExcel em sua versão 1.8.0. O PHPExcel

fornece classes em PHP que permitem a leitura/escrita de arquivo de planilhas de forma

simples. Assim, foi utilizado as classes de transferência de dados para planilha e download

de arquivo gerado.

Page 46: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 45

Figura 18 – Comparação entre quatro variáveis realizada pela PIPPE – Historiador

Fonte: elaborado pelo autor

3.3.2 PIPPE – MONITOR

A PIPPE – Monitor foi desenvolvida com o objetivo de fornecer informações em tempo

real das plantas de processos da Embasa e fornecer as informações de georeferenciamento

das mesmas. Assim que é acessado, o modulo disponibiliza uma página com a localização

de todas as plantas com a ajuda do Google Maps JavaScript API. Foi implementado no

Menu de Navegação a função de filtrar as estações de acordo com o sistema pretendido

utilizando a linguagem JS.

A API oferece a possibilidade utilizar marcadores personalizado com caixas de

informações individuais. Essas caixas de informações foram utilizadas para mostrar o

endereço físico das estações e fornecer um link para a tela de monitoramento em tempo

real individual, como pode ser verificado na Figura 19.

Page 47: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 46

Figura 19 – Tela inicial do módulo PIPPE – Monitor

Fonte: elaborado pelo autor

Ao selecionar uma determinada estação, a PIPPE – Monitor exibe a tela de

supervisão e as variáveis disponíveis para o monitoramento em tempo real. Estas variáveis

estão sendo disponibilizadas a medida que os operadores e gerentes das plantas de processos

(principais usuários) solicitam a integração delas no sistema. As telas de supervisão para

cada estação foram reutilizadas dos sistemas supervisórios para cada sistema, como pode

ser observado na Figura 20. Sendo assim, a PIPPE-Monitor torna-se uma versão Web dos

sistemas supervisórios, o que traz certos benefícios:

∙ Multiplataforma (Desktop, Notebook, Tablet, Smartphone, entre outras);

∙ Sem limitação de variáveis disponíveis;

∙ Sem limitação de usuários para acesso;

∙ Possibilita a visualização remota do sistema;

Page 48: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 47

∙ Democratização de informação para quem possa interessar.

Os valores das variáveis são disponibilizados na tela através de estruturas input

presente no HTML5. Sua localização foi um desafio, pois a proposta foi desenvolver

um sistema universal, assim ele precisa se adaptar a qualquer resolução de tela. O po-

sicionamento dos elementos não foi através de medições estáticas, como centímetros ou

pixels, e sim por porcentagem. Assim, a estrutura input que recebe o valor da variável

estará sempre localizada em sua posição correta, independente do tamanho da tela ou seu

redimensionamento.

Figura 20 – Tela de monitoramento em tempo real da PIPPE - Monitor

Fonte: elaborado pelo autor

A PIPPE – Monitor também oferece, na tela de monitoramento de cada estação, o

QR Code com as informações de geolocalização. Essa funcionalidade foi implementada

para auxiliar principalmente as equipes de manutenção na localização das estações, visto

que a Embasa possui mais de 300 estações espalhadas por toda a Região Metropolitana de

Salvador. A Figura 21 ilustra a funcionalidade do QR Code em um smartphone utilizado

pela Equipe de Manutenção da Automação para traçar a rota até estação 830 – São

Caetano do Centro de Controle Regional do Cabula.

Page 49: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 48

Figura 21 – Utilizacao do QR Code em um smartphone com o auxilio do Google Maps

Fonte: elaborado pelo autor

3.4 ARQUITETURA DE COMUNICAÇÃO COM O SQL SERVER

Para que a PIPPE – Historiador funcione de forma correta, os dados operacionais precisam

ser armazenados de forma interrupta e com qualidade no determinado banco de dados

SQL Server para cada sistema. Esses dados ficam disponíveis nos sistemas supervisórios e

precisam de algum modo serem armazenados no banco de dados em uma determinada

frequência. Devido a quantidade diversa de sistemas supervisórios utilizados pela Embasa,

foi necessário buscar uma solução que atendesse a todos. O método utilizado foi a conexão

via ODBC, que se trata de uma interface da Microsoft para acessar dados. O ODBC está

presente em boa parte dos sistemas supervisórios disponíveis no mercado e é fácil de ser

configurado e utilizado. Para tal, abra o Painel de Controle da versão do Windows utilizado.

Em Ferramentas Administrativas, abra o item Fonte de Dados ODBC. É necessário criar

uma nova conexão DSN do Sistema utilizando o driver Microsoft ODBC Driver 11 para

SQL Server. Será necessário informar o endereço IP do servidor, a porta TCP utilizada e

as informações de autenticação, assim o banco de dados para cada sistema.

3.4.1 CONFIGURAÇÃO ODBC NO WIZCON 8.3

Na barra de navegação do projeto no Wizcon 8.3 em Modo Desenvolvedor, ao clicar no

nome do projeto com o botão direto do mouse e selecionar a opção Station Properties, irá

surgir a caixa de diálogo para realizar a configuração conforme a Figura 22. Em seguida,

selecione a conexão ODBC criada em Fonte de Dados ODBC no Windows, forneça o nome

Page 50: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 49

da tabela do banco de dados e as informações de autenticação. O Wizcon irá registar o

histórico das variáveis em uma determinada frequência programada, esse registro é feito e

habilitada individualmente nas configurações das Tags.

Figura 22 – Configuração da conexão ODBC no Wizcon 8.3

Fonte: elaborado pelo autor

3.4.2 CONFIGURAÇÃO ODBC NO FIX32 E IFIX 3.5

A configuração da conexão ODBC é realizada de forma idêntica no FIX32 e no iFiX 3.5,

utilizando as mesmas ferramentas, visto que o iFiX é uma evolução do FIX32. Para realizar

a configuração é utilizado a ferramenta System Configurate Utility (SCU), sendo necessário

inserir as configurações de conexão conforme a Figura 23. Ambos os sistemas supervisórios

irão registrar o histórico das variáveis de processos utilizando variáveis internas próprias

do tipo SQL Data Block (SQD) e SQL Trigger Block (SQT). SQD irá definir a lista de

variáveis de processos a serem armazenadas e SQL irá definir a frequência e as condições

que as variáveis serão armazenadas.

Page 51: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 50

Figura 23 – Configuração da conexão ODBC no iFiX 3.5

Fonte: elaborado pelo autor

3.4.3 CONFIGURAÇÃO ODBC NO ELIPSE E3

O Elipse E3 possui acesso nativo ao banco de dados Microsoft SQL Server. Portanto, para

esse banco de dados, não foi necessário a criação de uma conexão ODBC. A configuração

de conexão é realizada no próprio Elipse E3 conforme mostra a Figura 24. O Elipse E3

possui um sistema de histórico fácil de ser configurado utilizando o objeto DBServer criado.

Dessa forma, é fundamental criar a estrutura da tabela do banco de dados com as variáveis

a serem armazenadas e a variável interna E3TimeStamp que contém as informações de

data e horário.

Page 52: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 51

Figura 24 – Configuração da conexão com banco de dados no Elipse E3

Fonte: elaborado pelo autor

3.5 ARQUITETURA DE COMUNICAÇÃO COM O OPC SERVER

O desenvolvimento para a aquisição das informações em tempo real foi realizado utilizando

o padrão OPC disponíveis em todos os sistemas supervisórios utilizados na Embasa. Com

a ajuda do OPC Automation Wrapper DLL, foi utilizada a plataforma .NET para elaborar

as telas de monitoramento. Essas páginas foram desenvolvidas utilizando as tecnologias

ASP.NET e a linguagem de programação VB.NET como auxílio. O OPC Automation

Wrapper DLL oferece objetos e métodos para o VB.NET se conectar a um servidor OPC,

obter informações do servidor, grupos de variáveis e variáveis operacionais.

Para este trabalho, foram utilizados principalmente os objetos OPCServer, OPC-

Group, OPCItem e seus métodos. Conforme é observado na Figura 25, a função OpcConnect

cria uma instância do OPCServer de um determinado servidor OPC, cria um grupo tem-

porário usando o OPCGroup para agrupar todas as variáveis a serem monitoradas e

adiciona essas variáveis usando o objeto OPCItem. Essa é a principal função programada

em VB.NET, todo o funcionamento da PIPPE – Monitor é baseado nela.

Existem alguns métodos para obtenção de informações das variáveis operacionais,

podendo ser leitura síncrona, leitura assíncrona e refresh. Com a leitura síncrona o

cliente chama o método e espera o retorno das informações, ficando indisponível até

obter as informações. Na leitura assíncrona, o cliente faz a requisição das informações

Page 53: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 3. Desenvolvimento de um sistema PIMS 52

e fica livre para exercer outras funções imediatamente, assim que as informações são

recebidas, o cliente é notificado para utilizá-las. E por último o reflesh é o tipo de

requisição que o cliente carrega todas as informações dos grupos ativos em uma determinada

frequência. Assim, neste trabalho, foi utilizada a leitura assíncrona através dos métodos

OPCGroup.AsyncRead e OPCGroup.AsyncReadComplete, pois são utilizados diferentes

servidores OPC remotamente através da intranet da empresa, o que aumenta o tempo

de espera na aquisição de dados. Através do método OPCGroup.AsyncReadComplete, os

dados das plantas de processos são transferidos para vetores, assim como suas informações

de Time Stamp e informação de estado. Os valores são transferidos para as estruturas

input, como já foi exposto, sendo o Time Stamp definido como o título da estrutura. Assim,

o usuário ao passar o mouse sobre o valor da variável de processo, irá exibir uma caixa de

diálogo com a data e horário em que a informação foi atualizada.

A Figura 25 ilustra parte do código que foi desenvolvido para criar instâncias nas

páginas ASP.NET capaz de disponibilizar informações oriundas dos servidores OPC.

Figura 25 – Código parcial em VB.NET para conexão com servidor OPC

Fonte: elaborado pelo autor

Destaca-se que a utilização do padrão OPC e sua DLL não limita a quantidade

de usuários conectados, tanpouco a quantidade de servidores utilizados. Deste modo, a

plataforma se torna um sistema com um alto potencial de escalabilidade, preparado para

expandir suas funcionalidades e alcance para os usuários.

Page 54: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

53

4 CONSIDERAÇÕES FINAIS

Com a expansão da automação industrial, um grande volume de informações de processos

tornam-se disponíveis. Porém, se não forem inteligentemente organizadas e processadas,

tornam-se inúteis. É necessário saber utilizar os dados para que estes se transformem

em informações, as quais devem se converter em conhecimento e por fim utilizar este

conhecimento de forma correta resultando em sabedoria. Os sistemas de gerência de

informação visam tornar esse grande volume de dados em informação útil. Para a boa

prática de gerenciamento da empresa, é necessário disponibilizar as informações em tempo

real dos processos, além de armazenar informações relevantes em base de dados para serem

utilizadas na operação, manutenção e administrativo da empresa.

Deste modo, entende-se que a função da Plataforma de Informações das Plantas

de Processos da Embasa é justamente essa, tornar as informações disponíveis para todos

os colaboradores da empresa, fornecendo suporte as tomadas de decisão operacionais e

coorporativas. A PIPPE não necessita da instalação de software específicos, pois todas as

informações são adquiridas por um servidor e acessadas via browser.

Neste trabalho foi desenvolvido a PIPPE, a plataforma baseado em um sistema PIMS

comercial para auxiliar a tomada de decisões. Através de um servidor web desenvolvido

em HTML5, CSS3, JS, PHP e .NET, a PIPPE se comunica com diversos servidores OPC

para disponibilizar informações em tempo real e acessa os servidores de bancos de dados

SQL Server para gerar gráficos de tendência. Juntamente, foi implementado o sistema de

georefenciamento com o auxílio do Google Maps para auxiliar na localização das plantas

de processos espalhadas na RMS.

O desenvolvimento da plataforma, proporcionou a aplicação dos conhecimentos

adquiridos durante o curso de Engenharia de Controle e Automação de Processos, pois foi

necessário compreender o funcionamento de Sistemas de Supervisão, Controladores Lógicos

Programáveis, arquitetura de software, linguagem de programação, bancos de dados,

métodos de comunicação e seus protocolos. Ademais, gerou a oportunidade de verificar as

dificuldades encontradas na implementação de um sistema completo, principalmente no

tocante a identificação e resolução de problemas não previstos.

Page 55: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 4. Considerações Finais 54

Por se tratar de um sistema com seu código fonte em diversas linguagens de pro-

gramação, as dificuldades encontradas no processo de desenvolvimento foram basicamente

devido a necessidade de um estudo mais aprofundado de algumas linguagens não familiares

ao autor. O principal problema encontrado no desenvolvimento deste trabalho foi a libera-

ção de acesso remoto a componentes DCOM, que o padrão OPC utiliza. A resolução desse

problema foi, sem dúvidas, uma tarefa que tomou bastante tempo durante o processo, pois

envolveu diversas configurações de acesso remoto para os diferentes servidores OPC e para

o servidor Web.

A PIPPE, em sua fase inicial de implementação dentro da empresa, gerou resultados

satisfatórios em diversos setores que a utilizaram, e proporcionou maior visibilidade ao

setor MMEP-Automação. A plataforma foi selecionada para ser apresentada a diretoria da

empresa e sua presidência na Reunião Anual de Resultados (RAR). A PIPPE participou

do Prêmio Embasa de Inovação 2016, sendo selecionada para a etapa final entre os seis

melhores projetos dentre mais de 110 concorrentes. Este trabalho foi premiado com o

1olugar no Prêmio Embasa de Inovação 2016: Categoria Gestão em Saneamento.

Dentre os resultados satisfatórios para empresa pode ser citado a melhoria que

a PIPPE proporcionou para o Sistema de Abastecimento de Água no Litoral Norte.

Anteriormente a PIPPE, a empresa disponibilizava uma equipe para realizar uma rota

de verificação dos níveis dos reservatórios de Barra do Pojuca, Praia do Forte e Imbassaí

todos os dias, porém, não era suficiente para controlar a demanda. No período do verão, os

moradores dessas regiões sofriam bastante pela falta de água. Atualmente, com a PIPPE,

o setor responsável pela operação desse sistema acompanha os níveis dos reservatórios

em tempo real. Ao gerar gráficos de tendência, conseguem otimizar a distribuição de

água, eliminando a necessidade de uma equipe se dirigir aos reservatórios para colher

informações.

4.1 SUGESTÕES PARA TRABALHOS FUTUROS

A partir dos resultados obtidos neste trabalho apresentam-se algumas vertentes para

desenvolvimentos futuros:

∙ Implementação do acesso ao banco de dados SQL Server pela Plataforma .NET,

Page 56: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Capítulo 4. Considerações Finais 55

eliminando a linguagem PHP;

∙ Implementação de sistema de acesso e senha para funcionalidades de controle remoto

das plantas de processos;

∙ Implementação de sistema de animações na PIPPE-Monitor;

∙ Implementação de sistema de relatórios diários e mensais via e-mail;

∙ Estudo de viabilidade financeira e econônica da solução desenvolvida, e os impactos

socioambientais.

Page 57: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

56

REFERÊNCIAS

CONSORTIUM, World Wide Web et al. W3C - Standards. 2016. <https://www.w3.org/standards/>. Acesso em 29/09/2016.

DATE, Christopher J. Introdução a sistemas de bancos de dados. [S.l.]: Elsevier Brasil,2004.

EMBASA. Relatório da Administração e Demostrações Financeiras - 2015. [S.l.], 2015.

FILHO, C Seixas. PIMS-Process Information Management System–Uma introdução. 2011.<www.cpdee.ufmg.br/~seixas/PaginaII/Download/DownloadFiles/Pims.PDF>. Acessoem 29/09/2016.

FILHO, C Seixas; SZUTER, Marcelo. Programação concorrente em ambiente Windows:uma visão de automação. [S.l.]: UFMG, 2003.

FNQ. Modelo de Excelência da Gestão. 2016. <http://www.fnq.org.br/avalie-se/metodologia-meg/modelo-de-excelencia-da-gestao>. Acesso em 29/09/2016.

FONSECA, M. O. Comunicação opc, uma abordagem prática. VI Seminário deAutomaçao de Processos, 2002.

FONSECA, M. O.; FILHO, C. S. Padrão OPC:Aplicação e Implementação. [S.l.]: ISA -The Instrumentation, Systems, and Automation Society, 2005.

GOOGLE. Google Maps APIs. 2016. <https://developers.google.com/maps/?hl=pt-br>.Acesso em 28/09/2016.

GROUP, PHP Documentation. Manual do PHP. 2016. <http://php.net/manual/pt-BR/index.php>. Acesso em 05/10/2016.

GUEDES, Affonso et al. Gerência de informação da produção de petróleo e gás. In: 3o

Congresso Brasileiro de P&D em Petróleo e Gás. Salvador, Brasil. [S.l.: s.n.], 2005.

HOLANDA, A. B. Novo dicionário da língua portuguesa. [S.l.]: Nova Fronteira, 1975.

ISO, BS. IEC 18004: Information Technology-Automatic Identification and Data CaptureTechniques-QR Code Bar Code Symbology Specification. [S.l.]: BS ISO/IEC, 2005.

MICROSOFT. Introdução à plataforma .NET da Microsoft. 2016. <http://msdn.microsoft.com>. Acesso em 05/10/2016.

MINE, F. H. Retrono de investimento com a utilização do sistema pims na auditoria demalhas de controle da cenibra. Revista Controle e Instrumentação, n. 121, 2006.

PINTO, F da C. Sistemas de automação e controle. SENAI, Espírito Santo, 2005.

SCHOOLS, W3. W3 Schools - Web Developer Site. 2016. <http://www.w3schools.com>.Acesso em 29/09/2016.

Page 58: UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA ... · UNIVERSIDADEFEDERALDABAHIA ESCOLAPOLITÉCNICA CARLOSCÉSAROLIVEIRAARAUJOFILHO DESENVOLVIMENTO DE SISTEMA PIMS EM AMBIENTE WEB:

Referências 57

SHEPHERD, George. Microsoft ASP. NET 4 Step by Step. [S.l.]: Pearson Education,2010.

STANDARD, OPC Data Access Custom Interface. Opc data access automation interfacestandard. OPC Foundation, 1999.

. Opc data access automation specification. OPC Foundation, 2002.