Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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
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
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.
Dedico a todos que estiveram comigo nessa caminhada.
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.
“As pessoas não sabem o que querem, até mostrarmos a ela.”
Steve Jobs
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.
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.
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
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
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
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
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
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
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.
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.
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.
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;
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.
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)
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,
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
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
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
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
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;
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)
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.
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
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)
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
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
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
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.
Capítulo 2. Fundamentação teórica 35
Figura 10 – Estrutura de um Código QR
Fonte: ISO (2005)
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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;
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.
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
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.
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.
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
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.
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.
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,
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.
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.
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.