desenvolvimento de um sistema pims com comunicação opc e ... · is stored in a sql server...
TRANSCRIPT
Instituto Federal de Educação, Ciência e Tecnologia de Minas Gerais
Campus Formiga
Desenvolvimento de um sistema PIMS com comunicação OPC e
acesso por Navegador Web
Silas Martins Sousa
Formiga MG
2014
Silas Martins Sousa
Desenvolvimento de um sistema PIMS com comunicação OPC e
acesso por Navegador Web
Trabalho de Conclusão de Curso apresentado ao Instituto Fede-
ral de Educação, Ciência e Tecnologia de Minas Gerais, Cam-
pus Formiga, como requisito para obtenção do título de Bacha-
rel em Engenharia Elétrica.
Área de Concentração: Automação Industrial.
Orientadora: Profa. Msc. Michelle Mendes Santos.
Formiga MG
2014
Silas Martins Sousa
Desenvolvimento de um sistema PIMS com comunicação OPC e
acesso por Navegador Web
Aprovado em: / /
Resultado:
Prof. Msc. Jonatham Silva Rezende
Profa. Msc. Michelle Mendes Santos
Prof. Msc. Pedro Marinho Sizenando Silva
Formiga MG
2014
Agradecimentos
Agradeço primeiramente a Deus pelo dom da vida. Agradeço à minha família por
ter ajudado em toda a caminhada acadêmica. À minha namorada Isabel, que sempre me
incentivou e motivou. À minha orientadora Michelle por ter contribuído de forma direta
na realização deste trabalho. Ao Instituto Federal de Educação, Ciência e Tecnologia,
Campus Formiga, por ter cedido o laboratório de Automação onde foram realizados os
testes. A todos os funcionários do campus e professores da Engenharia Elétrica por ter
contribuído para minha formação. Em especial aos professores da área de Automação, Jo-
natham e Fábio que me in�uenciaram na escolha da carreira pro�ssional. Aos professores
Everthon e Natália que auxiliaram no desenvolvimento do trabalho.
Agradeço ao Mauro Arruda por ajudar com ensinamentos da Automação durante
o período de estágio. Aos professores Niltom e Carlos Renato pela orientação em projetos
de pesquisa.
Agradeço também a todos os amigos que encontrei no IFMG Campus Formiga,
que durante todo o período da faculdade me ajudou e apoiou.
Resumo
Os sistemas de Automação como CLPs (Controlador Lógico Programável) e SCADAs
(Supervisory Control and Data Acquisition) detêm uma gama de dados inerentes a um
processo industrial. Essas informações podem ajudar os setores corporativos da indústria,
principalmente os setores administrativos, na tomada de decisões estratégicas. Para que
as informações de campo cheguem aos setores administrativos é necessário obter e �ltrar
os dados provenientes do chão de fábrica. O presente trabalho trata do desenvolvimento
de uma ferramenta de obtenção de dados dos sistemas de automação, conhecido como
PIMS (Process Information Management System). O software desenvolvido neste traba-
lho utiliza o Padrão OPC (OLE for Process Control) para se comunicar com Servidores
OPC, presente nos principais fabricantes de CLPs e SCADAs do mundo. Essas informa-
ções são armazenadas em um banco de dados SQL Server. Por meio de um Web Site,
também desenvolvido no trabalho, diversos setores da indústria podem visualizar os dados
em grá�cos e tabelas, de qualquer lugar do mundo, por meio de computadores, tablets e
smartphones. Outra funcionalidade do sistema é gerar relatórios de dados e exportá-los
nos formatos PDF, DOC e XLS. O sistema foi testado em uma planta didática de controle
de temperatura e nível, presente no Laboratório de Automação do Instituto Federal de
Educação, Ciência e Tecnologia de Minas Gerais, Campus Formiga.
Palavras chave: Sistema PIMS; Padrão OPC; Banco de Dados; SQL Server.
Abstract
Automation systems such as PLCs (Programmable Logic Controller) and SCADAs (Su-
pervisory Control and Data Acquisition) hold many data inherent to industry process.
This information can help the corporate sectors of industry, mainly the administrative
sectors in strategic decision-making. For �eld information from reaching administrative
sectors is necessary to obtain and �lter the data from the shop �oor. This work presents
the development of a tool for getting data from automation systems, known as PIMS
(Process Information Management System). The software developed in this work uses
the OPC Standard (OLE for Process Control) to communicate with OPC Servers, pre-
sent in the main manufacturers of PLCs and SCADAs in the world. This information
is stored in a SQL Server database. Through a Web site, also developed at work, many
industry sectors can view data in graphs and tables, from anywhere in the world through
computers, tablets and smartphones. Another feature of the system is to generate data
reports and export them to PDF, DOC and XLS formats. The system was tested in a
didactic plant of temperature and level control, present in the laboratory of Automation
of the Federal Institute of Education, Science and Technology of Minas Gerais, Formiga
Campus.
Keywords: PIMS System; OPC Standard; Database; SQL Server.
Lista de Figuras
Figura 1.1 Quantidade e concentração dos dados de uma empresa. . . . . . . . . . 14
Figura 2.2 Exclusão de pontos nos algoritmos de compressão de dados do PIMS. . 21
Figura 2.3 Processo de compressão de dados realizado por algoritmos. . . . . . . . 22
Figura 2.4 Integração dos setores da empresa com ERP. . . . . . . . . . . . . . . . 23
Figura 2.5 Exemplo de uso das chaves Primária e Estrangeira. . . . . . . . . . . . 27
Figura 2.6 Exemplo de relacionamentos: a) 1:1, b) 1:n e c) n:n. . . . . . . . . . . . 28
Figura 2.7 Exemplo de tabela do Sistema PIMS. . . . . . . . . . . . . . . . . . . . 29
Figura 2.8 Visualização dos componentes div na tela Substituir Login. . . . . . . . 31
Figura 3.9 Tela de Con�guração de Conexão ao Banco de Dados. . . . . . . . . . 38
Figura 3.10 Tela de Gerenciamento dos Usuários do Sistema PIMS. . . . . . . . . . 39
Figura 3.11 Tela de Gerenciamento dos Servidores OPC. . . . . . . . . . . . . . . . 40
Figura 3.12 Tela de Cadastro dos Itens OPC. . . . . . . . . . . . . . . . . . . . . . 41
Figura 3.13 Tela de Conexão OPC. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figura 3.14 Fluxograma do processo de Conexão com o Servidor OPC. . . . . . . . 43
Figura 3.15 Tela de Tutorial do Executável Local. . . . . . . . . . . . . . . . . . . . 43
Figura 3.16 Organização de uma Master Page em relação às páginas Web. . . . . . 44
Figura 3.17 Master Page do Sistema PIMS. . . . . . . . . . . . . . . . . . . . . . . 45
Figura 3.18 Tela de Construção de Grá�cos. . . . . . . . . . . . . . . . . . . . . . . 46
Figura 3.19 Tela de Visualização de Grá�cos e Tabelas. . . . . . . . . . . . . . . . . 47
Figura 3.20 Tela de Autenticação do Usuário. . . . . . . . . . . . . . . . . . . . . . 48
Figura 3.21 Tela de Substituição do login e senha do Usuário. . . . . . . . . . . . . 49
Figura 3.22 Tela de Informações sobre sistemas PIMS, MES e ERP. . . . . . . . . . 50
Figura 3.23 Tela de Informações sobre Banco de Dados. . . . . . . . . . . . . . . . 50
Figura 3.24 Fluxograma do funcionamento completo do sistema PIMS. . . . . . . . 51
Figura 4.25 Planta didática de Controle de Temperatura e Nível de Tanques. . . . . 52
Figura 4.26 Con�guração do Servidor OPC: a) Adicionando Conexão OPC e b)
Associando o CLP ao programa do Logix5000. . . . . . . . . . . . . . . . . 53
Figura 4.27 Software RSI - OPC Test Client (Cliente OPC). . . . . . . . . . . . . . 53
Figura 4.28 Sistema de teste e con�guração da rede. . . . . . . . . . . . . . . . . . 54
Figura 4.29 Conexão do Cliente OPC com o Servidor OPC. . . . . . . . . . . . . . 55
Figura 4.30 Conexão do Cliente OPC com o Servidor OPC não realizada. . . . . . 56
Figura 4.31 SQL Server Management Studio e os valores armazenados. . . . . . . . 56
Figura 4.32 Comunicação OPC: a) ICONICS OPC Simulator e b) Web Site. . . . . 57
Figura 4.33 Autenticação do Usuário para entrar no Web Site do sistema PIMS. . . 58
Figura 4.34 Visualização do Web Site do Sistema PIMS. . . . . . . . . . . . . . . . 58
Figura 4.35 Exemplo de: a) montagem e b) visualização do grá�co. . . . . . . . . . 59
Figura 4.36 Relatório de dados nos formatos: a) PDF, b) DOC e c) XLS. . . . . . . 60
Lista de Tabelas
Tabela 1.1 Tabela de preços e funções dos Historiadores PIMS do mercado. . . . . 17
Tabela 1.2 Cronograma de Atividades. . . . . . . . . . . . . . . . . . . . . . . . . 18
Tabela 3.3 Tabela de Usuários. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Tabela 3.4 Tabela de Servidores OPC. . . . . . . . . . . . . . . . . . . . . . . . . 36
Tabela 3.5 Tabela de Itens OPC. . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Tabela 3.6 Tabela de Valores das variáveis do sistema PIMS. . . . . . . . . . . . . 37
Lista de Siglas
ASP Active Server Pages - Ativação de páginas do Lado do Servidor
CEP Controle Estatístico do Processo
CLP Controlador Lógico Programável
DA Data Access
DCOM Distributed Component Object Model - Modelo de Objetos Distribuídos
DDL Data De�nition Language - Linguagem de De�nição de Dados
DLL Dynamic Link Library - Biblioteca de Acesso Dinâmico
DML Data Manipulation Language - Linguagem de Manipulação de Dados
ERP Enterprise Resource Planning - Planejamento de Recursos Empresariais
GB GigaByte
HTML HyperText Markup Language - Linguagem de Marcação de Hipertexto
IDE Integrated Development Environment - Ambiente de Desenvolvimento Integrado
MEI Microempreendedor Individual
MES Manufacturing Execution System - Sistema de Execução da Manufatura
OEE Overall Equipment E�ectiveness - E�ciência Global do Equipamento
OLE Object Linking and Embedding - Objetos Vinculados e Incorporados
OPC OLE for Process Control - OLE para Controle de Processo
PIMS Process Information Management System - Sistema de Gerenciamento das In-
formações do Processo
SCADA Supervisory Control and Data Acquisition - Supervisão e Aquisição de Dados
SDCD Sistema Digital de Controle Distribuído
SGBD Sistemas de Gerenciamento de Banco de Dados
SQL Structured Query Language - Linguagem de Consulta Estruturada
TA Tecnologia da Automação
TI Tecnologia da Informação
Sumário
1 Introdução 14
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2 Justi�cativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Organização do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Revisão Bibliográ�ca 19
2.1 PIMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 Fonte de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2 Compressão de dados . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 MES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 ERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4 Padrão OPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5 Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.6 Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.6.1 Estruturação de um Web Site . . . . . . . . . . . . . . . . . . . . . 31
3 Desenvolvimento do Sistema PIMS 33
3.1 Executável Local: Con�guração do Sistema PIMS . . . . . . . . . . . . . . 33
3.1.1 Cliente OPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.2 Armazenamento das variáveis no banco de dados SQL . . . . . . . . 35
3.1.3 Telas do Executável local . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 Web Site de visualização dos dados . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 Master Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.2 Tela de Construção de Grá�cos . . . . . . . . . . . . . . . . . . . . 45
3.2.3 Tela de Visualização do Grá�co . . . . . . . . . . . . . . . . . . . . 47
3.2.4 Tela de Autenticação do Usuário . . . . . . . . . . . . . . . . . . . 48
3.2.5 Tela de Alteração do Login e Senha do Usuário . . . . . . . . . . . 49
3.2.6 Telas de Informações sobre sistemas PIMS, MES, ERP e Banco de
Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4 Resultados e Discussões 52
4.1 Plataforma de hardware utilizada nos testes . . . . . . . . . . . . . . . . . 52
4.1.1 Con�guração da Rede do Sistema de Teste . . . . . . . . . . . . . . 54
4.2 Testes do Cliente OPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.1 Teste de conectividade com outro Servidor OPC . . . . . . . . . . . 57
4.3 Teste do Web Site do Sistema PIMS . . . . . . . . . . . . . . . . . . . . . 57
4.4 Análise Econômica do Sistema PIMS . . . . . . . . . . . . . . . . . . . . . 59
5 Conclusões 62
5.1 Sugestão de trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 63
6 Referências Bibliográ�cas 64
14
1. Introdução
A informação é a ferramenta mais importante para gerenciar os ativos de uma
planta industrial, sejam eles os custos com máquinas, equipamentos e matéria prima ou
homem/hora de produção. Segundo Stair (2004) "O valor da informação está diretamente
ligado à maneira como ela ajuda os tomadores de decisões a atingirem as metas da orga-
nização". De posse das informações do processo é possível identi�car quais os elementos
que não estão atingindo os resultados esperados. Assim, a indústria consegue aumentar
a qualidade e diminuir os custos de produção, tornando-se competitiva no mercado.
A massa de dados tem de ser �ltrada e direcionada a diferentes setores de uma
indústria pois cada setor tem um interesse especí�co. Para o gestor não lhe interessa
saber se um instrumento ou uma máquina estão descalibrados, porém a informação da
produção atual e de meses anteriores são de extrema importância. Para os engenheiros de
processo, por outro lado, informações pontuais e especí�cas são a base para seu trabalho.
A integração das informações do chão de fábrica com as áreas corporativas da
indústria só foi possível através de um meio físico de acesso seguro aos dados, que são as
redes de comunicação, ou redes industriais.
Figura 1.1: Quantidade e concentração dos dados de uma empresa.
Fonte: (SEIXAS, 2014).
Um sistema de automação industrial pode ser classi�cado em níveis hierárquicos.
Esses níveis necessitam comunicar entre si com o objetivo de trocar informações. A Figura
1.1a, também conhecida como pirâmide da automação, mostra três níveis diferentes de
15
informações. O primeiro é o nível de controle e supervisão. Nesse nível estão presentes
os equipamentos que interagem diretamente com o processo, como instrumentação, CLP
e SCADA. O segundo nível é representado pelas ferramentas de gerenciamento da produ-
ção, PIMS (Process Information Management System) e MES (Manufacturing Execution
System). PIMS é um sistema para armazenamento de informações do processo com fer-
ramentas para análise de desempenho. O MES é um sistema que auxilia no planejamento
da produção. O último nível é representada pelo ERP (Enterprise Resource Planning),
que engloba os diversos setores da empresa como estoque, �nanceiro, logística, produção
e administração, auxiliando no gerenciamento de negócios.
A Figura 1.1b apresenta o �uxo de informações através dos níveis da pirâmide
de automação. Quanto mais elevado é o nível na pirâmide mais �ltrados e informativos
�cam os dados, consequentemente o volume de dados diminui. Nos níveis gerenciais chega
apenas um resumo da coleção de dados que são obtidos no chão de fábrica.
A Manufatura Inteligente é a utilização dos dados do processo em benefício dos
setores corporativos de uma empresa. Suas ferramentas, PIMS, MES e ERP, alimentam
o gestor com informações em tempo real do chão de fábrica, com a possibilidade de
confrontar os dados atuais com dados passados.
Para analisar o desempenho de um processo produtivo, além das informações, bons
critérios se fazem necessários. O OEE (Overall Equipment E�ectiveness) é um índice que
mede a e�ciência da produção levando em conta três critérios (KITE, 2014):
• Disponibilidade;
• Desempenho;
• Qualidade.
Uma prática comum para visualização dos índices OEE é a utilização de telas
colocadas no chão de fábrica. Assim, os próprios funcionários podem observar seu desem-
penho e qualidade em tempo real. Esse procedimento é conhecido como gestão online.
Os sistemas de manufatura inteligente podem utilizar esse índice para avaliar a produção,
até mesmo para estabelecer metas a serem seguidas.
16
1.1 Objetivos
Este trabalho tem como objetivo geral o desenvolvimento de um sistema PIMS de
baixo custo que armazena os dados da produção em um servidor e os disponibilizam para
os gestores e engenheiros da empresa por meio de grá�cos, tabelas ou relatório, de acordo
com a demanda do usuário. Esse sistema é composto de duas partes. A primeira é um
software executável cuja função é realizar a comunicação com os sistemas de Automação
por meio do padrão OPC e obter os dados do processo. Esse software também deve
armazenar os dados em um banco de dados. A segunda parte do sistema é um Web
Site, utilizado para visualização dos grá�cos e tabelas. Esse Web Site deve ser acessível
remotamente por meio da rede e deve conter mecanismos de controle de acesso por login
e senha.
Para atingir o objetivo de desenvolver um sistema PIMS com as características
citadas, os seguintes objetivos especí�cos devem ser alcançados:
• Levantamento das características e restrições do padrão OPC;
• Criação de um software Cliente OPC capaz de extrair os dados de campo obtidos
por meio de um CLP (Servidor OPC);
• Criação de uma interface para con�guração e gerenciamento da comunicação OPC;
• Interfaceamento do software com o banco de dados SQL;
• Criação de um Web Site que acesse o banco de dados SQL;
• Desenvolvimento de ferramentas para montagem e visualização de grá�cos e tabelas
no Web Site;
• Disponibilizar no Web Site opções de exportar os grá�cos e tabelas nos formatos
PDF, DOC e XLS.
1.2 Justi�cativa
Muitas indústrias de pequeno e médio porte ainda possuem sua solução de au-
tomação voltada apenas a CLP e SCADA. Porém, cada vez mais, essas indústrias têm
se mostrado a favor da manufatura inteligente para conseguirem melhores resultados. A
Tabela 1.1 mostra algumas características e preço dos historiadores PIMS existentes no
17
Tabela 1.1: Tabela de preços e funções dos Historiadores PIMS do mercado.
Produto Empresa Características (além de His-
toriador, Grá�co e OPC)
Preço (R$)
Infoplus 21 Aspentech Relatórios (Web e Excel) R$120.000/ano (c/
suporte)
PI System OSI Soft-
ware
Relatórios (Web e Excel) R$600.000(1oano) +
R$120.000/ano (c/
suporte)
FactoryTalk Historian Rockwell Relatórios Excel, (Menor pacote
de tags)
R$9.945(só licença)
Wondeware Historian Wondeware Relatórios R$20.995(só licença)
Fonte: (CONTROL, 2014; TIERNEY, 2014).
mercado. Os principais softwares que desempenham essa função, InfoPlus da AspenTech
e PI System da OSI Soft, não são acessíveis às médias e pequenas indústrias. Surge, en-
tão, uma lacuna no mercado com a necessidade de um sistema PIMS de baixo custo, que
oferte à essas indústrias o suporte necessário para obter, armazenar e mostrar os dados
do processo.
1.3 Metodologia
O período de desenvolvimento do sistema PIMS foi da segunda semana de Abril
(2014) à terceira semana de Julho (2014). A metodologia de trabalho seguiu diversas
etapas: Revisão Bibliográ�ca, desenvolvimento do Software Executável local e do Web
Site, testes práticos e parte escrita. Essas etapas foram divididas em atividades, conforme
pode ser observado na Tabela 1.2.
18
Tabela 1.2: Cronograma de Atividades.
Abril Maio Junho Julho
Atividades Realizadas 2 3 4 1 2 3 4 1 2 3 4 1 2 3
Revisão Bibliográ�ca sobre PIMS, MES e
ERP.
X
Revisão Bibliográ�ca sobre o padrão OPC. X
Criação de um Cliente OPC. X X
Criação de banco de dados e Tabelas SQL. X
Integração do Clientes PIMS com o banco de
dados.
X
Criação do software executável para con�gu-
ração do sistema PIMS.
X X
Desenvolvimento do layout do Web Site em
ASP.NET (Visual Studio for Web).
X X
Construção da parte de visualização dos grá-
�cos e tabelas no Web Site.
X X
Criação de relatório de grá�cos e tabelas ex-
portados nos formatos PDF, DOC e XLS.
X
Testes do software local e do Web Site. X X
Desenvolvimento da parte escrita. X X X X X X X X X X X X X
1.4 Organização do Texto
Este texto está organizado em seis capítulos que abordam os seguintes assuntos:
o Capítulo 2 contempla as informações necessárias para o devido entendimento deste
trabalho, como PIMS, MES, ERP, Padrão OPC, Banco de Dados e Visual Studio. O
Capítulo 3 descreve os detalhes e especi�cações do desenvolvimento do Sistema PIMS.
No Capítulo 4 apresenta-se o sistema de teste e os resultados obtidos. As conclusões são
apresentadas no Capítulo 5 e as referências bibliográ�cas no Capítulo 6.
19
2. Revisão Bibliográ�ca
Este capítulo irá apresentar de�nições sobre as ferramentas de manufatura inteli-
gente PIMS, MES e ERP, necessárias para a utilização dos dados da produção em benefício
da indústria. Para melhor entendimento do desenvolvimento deste trabalho também serão
abordados temas como arquitetura de banco de dados, protocolo de comunicação OPC e
o ambiente de programação Visual Studio.
2.1 PIMS
O sistema PIMS é uma ferramenta de gerenciamento das informações do processo
que obtém os dados, os armazenam e os disponibilizam através de grá�cos, tabelas e rela-
tórios. Sua principal função é reunir a massa de dados em um banco de dados relacional
centralizado, �ltrá-los, transformando-os em informação e, com essa informação, gerar
conhecimento, auxiliando no processo de tomada de decisões estratégicas.
2.1.1 Fonte de dados
Os dados do processo podem ser obtidos de um sistema supervisório (SCADA) ou
diretamente de CLPs e SDCDs (Sistema Digital de Controle Distribuído). A vantagem de
se utilizar CLP é que ele é mais con�ável, se comparado ao SCADA. Ele também apresenta
menor atraso na obtenção dos dados. Por outro lado, no SCADA as variáveis já estão
no formato de engenharia, assim, para utilizá-lo como fonte de dados não é necessário
transformar as variáveis. Além disso, algumas variáveis derivadas da manipulação dos
sistemas supervisórios só existem no SCADA (SEIXAS, 2014).
As informações apresentadas no PIMS podem ser de tempo real ou históricas.
Os dados de tempo real mostram o valor instantâneo da variável, sendo portanto, mais
utilizados para monitoramento do processo. A consulta a esses dados pode ser feita através
de uma linguagem de consulta a banco de dados como, por exemplo, SQL Server, Access
e MySQL.
O PIMS é uma ferramenta de grande importância para um engenheiro de processo.
20
Ele precisa se embasar em informações para tirar conclusões sobre planta e assim ter o
diagnóstico da produção. Quando se consegue um ótimo resultado em um processo,
todas as con�gurações (set-ups) são armazenadas a �m de buscar essa combinação ótima.
Com base nesse padrão de produção o sistema PIMS pode mostrar ao engenheiro qual
parâmetro precisa melhorar para maximizar a e�ciência.
O sistema PIMS uni�ca as bases de dados e, com essa centralização, qualquer
computador da empresa consegue apresentar dados de diversas áreas do processo. Isso
facilita o acesso à informação.
Os principais constituintes de um sistema PIMS são (CARVALHO et al., 2003):
• Historiador de dados;
• Interface grá�ca de consulta e visualização de dados.
O historiador faz a aquisição de dados a partir do CLP ou SCADA. A interface
mais utilizada para fazer isso é o padrão OPC que facilita a integração entre sistemas de
diversos fabricantes. Os dados também podem ser solicitados ciclicamente pelo PIMS,
onde o historiador irá gravá-los em um banco de dados relacional.
A interface de visualização dos dados irá realizar uma consulta ao banco de dados
e apresentar na tela o resultado através de grá�cos ou outras representações. Esses dados
também podem ser visualizados por meio do navegador Web Browser (CARVALHO et
al., 2003).
2.1.2 Compressão de dados
Uma característica importante de um sistema PIMS é a grande capacidade de
armazenamento de dados, guardando-os por cerca de 15 anos. Para isso, esses sistemas
lançam mão de algoritmos de compressão de dados que conseguem reduzir entre 10 a 20
vezes seu tamanho original, ou seja, taxa de compressão de 10:1 a 20:1 (SEIXAS, 2014).
Os algoritmos que realizam a compressão devem atender a critérios como velocidade
de compressão e de descompressão. Caso essas premissas não sejam atendidas podem
ocorrer erros de solicitação, por exemplo, quando um grá�co necessita rapidamente de
uma gama de informações históricas, sua velocidade de descompressão não pode ser menor
que a taxa de requisição dos dados.
21
Diferentemente dos algoritmos de compressão de texto, os quais procuram por
repetições de palavras, a compressão do PIMS registra o dado apenas quando ele varia
signi�cativamente (além de um valor limiar pré estabelecido). Por exemplo, dois pontos
ligados formam-se uma reta, caso existam pontos complementares entre eles e próximos
dessa reta, então pode-se desconsiderar os pontos complementares.
Figura 2.2: Exclusão de pontos nos algoritmos de compressão de dados do PIMS.
Na Figura 2.2 é possível observar que os pontos da extremidade, ligados, formam
uma reta. Assim, os pontos complementares (em vermelho) são desconsiderados e apenas
os pontos da extremidade (em preto) são armazenados.
Dois tipos de algoritmos são largamente utilizados em historiadores PIMS (MELO,
2012):
• Swinging Doors - Utilizado pelo PIMS PI System da empresa OSI (OSISOFT, 2014);
• Boxcar/Backslope - Utilizado pelo PIMS Infoplus 21 da Apenstech (ASPENTECH,
2014).
Ambos aplicam o método de descarte de pontos fora de uma faixa de variação, as
etapas dessa técnica estão mostradas nos grá�cos da Figura 2.3.
2.2 MES
MES (Manufacturing Execution System - Sistema de Execução de Manufatura) faz
o gerenciamento e controle da produção, envolvendo todas as etapas de um processo como
planejamento, execução até a expedição de um produto. São atribuições de sistemas MES
(ALMEIDA, 2004):
• Controle Estatístico do Processo (CEP);
22
Figura 2.3: Processo de compressão de dados realizado por algoritmos.
Fonte: (SEIXAS, 2014).
• Rastreabilidade dos produtos;
• Controle de E�ciência e Gerenciamento de Paradas (OEE, Downtime, Perdas e
Ganhos);
• Gerenciamento de Processos (Expedição, Recebimento e Logging);
• Gerenciamento de Manutenção (Preditiva e Preventiva);
• Integração com sistemas ERP (Sistemas de Gestão Empresarial).
O MES se aplica mais a indústrias de processos discretos, por batelada, onde uma
produção é baseada em receitas com começo, meio e �m (NOGUEIRA, 2009). Os sistemas
MES têm uma função mais �ativa� que os PIMS. Isto no sentido de que eles obtêm as
várias informações associadas ao plano de produção gerado pelos sistemas ERP e, com
base nisso, atuam em conjunto com os sistemas supervisórios no controle da execução
23
das atividades, �uxo de materiais, emissão de ordens de armazenamento, entre outras
inúmeras ações.
2.3 ERP
Com o desenvolvimento da Tecnologia da Informação (TI) e sua utilização na
Tecnologia da Automação (TA), juntamente com a padronização da rede ethernet, surge
uma tendência natural da interligação da rede industrial (de chão de fábrica) com a rede
corporativa de nível gerencial (ALMEIDA, 2004).
O ERP (Enterprise Resource Planning - Planejamento de Recursos Empresariais)
tem objetivo de conectar todas as áreas de uma empresa para evitar ilhas de informa-
ções. A centralização dos dados pode ajudar as áreas corporativas de uma organização
no gerenciamento da planta, como é o caso do estoque, logística, recursos humanos e
�nanceiro.
Essa �loso�a de Gestão Integrada que o ERP apresenta possui diversas vantagens,
como:
• Maior controle sobre a organização;
• Aumento da capacidade de tratamento das informações;
• Rapidez na obtenção dos dados.
Figura 2.4: Integração dos setores da empresa com ERP.
Fonte: adaptado de (MTHOMAZINI, 2014).
24
A Figura 2.4 mostra a integração dos diversos setores de uma organização feita pelo
ERP, evitando, assim, problemas como indisponibilidade de um dado para algum setor da
empresa ou também a inconveniência de ter que inserir o mesmo dado duas vezes. O ERP
também auxilia no marketing empresarial e na logística de vendas. Quando uma venda
é realizada os dados do estoque e transporte são requisitados, assim, é possível informar
ao cliente a data de entrega do seu produto.
2.4 Padrão OPC
Antes da criação do padrão OPC (OLE for Process Control), os clientes eram
dependentes de drivers proprietários, os quais eram difíceis de serem atualizados. Para
cada aplicação era necessário uma versão do driver. Em 1995 empresas que fabricavam
equipamentos de automação se reuniram com a Microsoft com o objetivo de desenvolver
um padrão para acesso a dados de tempo real. O OPC foi baseado nas tecnologias OLE e
DCOM, ambas da Microsoft e realizam comunicação entre plataformas Windows. Após a
reunião, os técnicos e especialista fundaram a OPC Foundation. O objetivo desse grupo é
atender às necessidades da indústria e promover a interoperabilidade, onde equipamentos
de diferentes fabricantes conseguem comunicar entre si.
O padrão OPC estabelece regras bem de�nidas para que sejam desenvolvidos sis-
temas aplicativos. Esses sistemas realizam a comunicação entre os dispositivos de campo
(CLPs e instrumentos) e os sistemas de monitoramento e supervisão (SCADA, PIMS,
MES e ERP). Esse conjunto de regras e especi�cações são divulgados gratuitamente no
site da OPC Foundation (OPC FOUNDATION, 2014). Com elas os programadores e
desenvolvedores obtêm todas as especi�cações para criarem programas com esse padrão
de comunicação.
Existem dois tipos de interfaces que podem ser feitas para realizar a comunica-
ção OPC. A primeira, do tipo custom, utiliza linguagens de programação que suportam
chamada de funções por ponteiros, como por exemplo C, C++ e Delphi. A segunda é a
automation onde os métodos são chamados pelo nome e não por ponteiros. Este tipo de
interface pode ser desenvolvida por meio da linguagem Visual Basic.
Para realizar uma comunicação OPC é necessário um Servidor e um ou mais Cli-
entes OPC. O servidor é a fonte de dados, é ele que fornece os dados para um cliente. O
25
cliente OPC recebe esses dados. Normalmente, os sistemas de monitoramento são clientes
OPC (sistemas supervisórios e IHM) os quais obtêm as informações do processo por meio
dos CLPs (sendo estes Servidores OPC).
O protocolo de comunicação OPC possui diversas vantagens sobre os drivers pro-
prietários, são elas:
• Facilita a integração de Sistemas;
• Interoperabilidade entre sistemas de diversos fabricantes;
• Integração com sistemas MES, ERP e aplicações Windows (Excel);
• Redução dos custos e tempo para desenvolvimento de interfaces.
Outra grande vantagem do padrão OPC é a capacidade de um cliente obter dados
de vários servidores ao mesmo tempo e um servidor conseguir entregar informações para
diversos clientes. Um exemplo de Servidor OPC é o RSLinx da Rockwell Automation. O
servidor OPC foi incorporado a esse programa a partir da versão 2.10 (MECATRÔNICA
ATUAL, 2013). Seu próprio sistema SCADA (FactoryTalk) o utiliza para comunicar com
o CLP. Existem também servidores de terceiros (aqueles que não são desenvolvidos por
fabricantes de equipamentos de automação), por exemplo, Matrikon e Kepware.
O OPC é dividido em três camadas:
• Servidor;
• Grupo;
• Item.
O item é a informação de uma variável. Além do valor, ele carrega outras infor-
mações importantes dessa variável como o Time stamp e a qualidade do dado. O Time
stamp informa a data e a hora em que o dado foi transmitido e a qualidade informa se o
dado é bom ou ruim. Dado ruim pode signi�car erro de transmissão ou perda de informa-
ção. Isso se faz necessário porque alguns sistemas de gerenciamento da produção (como o
MES) tomam decisões baseadas nos resultados das variáveis. O grupo OPC consiste num
agrupamento de itens. As funcionalidades de um grupo são pouco utilizadas pelos progra-
madores. Por exemplo, quando as informações de um setor da indústria são agrupadas e
eventualmente esse setor esteja em manutenção, uma simples desativação desse grupo (no
cliente OPC) faria com que o sistema melhorasse seu desempenho. Vários grupos podem
estar contidos no servidor OPC, que é a fonte de dados.
26
A leitura de dados realizada por um cliente OPC pode ser síncrona ou assíncrona.
A leitura síncrona depende de con�rmação antes de uma nova leitura, o que gera um
desempenho inferior, porém com con�abilidade levemente superior do que a assíncrona,
na qual o cliente espera pelos dados.
As informações podem ser atualizadas ciclicamente ou por mudança de estado. Na
atualização cíclica o cliente OPC faz requisições periódicas ao servidor. Já no caso de
mudança de estado, a cada alteração da variável (maior que a banda morta) o servidor
envia essa alteração para o cliente. A banda morta é a base para os algoritmos de com-
pressão de dados já citados na seção 2.1.2. Isso permite que pequenas variações (dentro
da banda morta) não gerem um novo valor para o cliente OPC.
Existem vários grupos de especi�cação OPC, como por exemplo, OPC-DA (Data
Access) e OPC-XML. O OPC-XML é utilizado para buscar itens OPC diretamente da
Web, já o OPC-DA é utilizado em aplicações locais.
2.5 Banco de Dados
Atualmente há empresas que investem muito dinheiro para terem aceso às informa-
ções, sejam elas informações do mercado ou de sua própria produção (CAIÇARA, 2012).
Com esse valor que a informação tem, faz-se necessário boas práticas para utilização dos
bancos de dados, tornando-os con�áveis e organizados.
Banco de dados é uma coleção de dados inter-relacionados que carregam informa-
ções de uma aplicação ou do mundo real, organizados de forma que possam ser buscados
facilmente por meio de consultas. Eles proporcionam con�abilidade, organização e facili-
dade de alteração, o que se torna muito difícil caso os dados estivessem armazenados, por
exemplo, em arquivos de texto (WELLING, THOMSON, 2005).
Os Sistemas de Gerenciamento de Banco de Dados (SGBD) são softwares com
recursos especí�cos para facilitar a manipulação dos dados e o desenvolvimento de pro-
gramas aplicativos. Um exemplo é o SQL Server Management Studio, um SGBD do
banco de dados SQL Server. Os SGBDs podem oferecer controle de acesso aos dados e
gerenciador de backups (GAUDÊNCIO, 2014).
Os bancos de dados são compostos de tabelas. Também conhecidas como entida-
des, as tabelas representam um conjunto de dados que de alguma forma se relacionam.
27
Elas possuem colunas (campos) que carregam um determinado tipo de informação como
nome, cidade, telefone e idade. Cada linha dessa tabela é um registro, ou seja, um
conjunto de informações. A chave primária (primary key) é utilizada quando se deseja
identi�car um registro, para isso ele deve ser único (unívoco), assim como o número de
CPF identi�ca uma pessoa. As chaves estrangeiras (foreign key) são utilizadas quando se
deseja representar um dado de outra tabela sem que esse dado seja inserido novamente.
A Figura 2.5 mostra a utilização da coluna ClienteID (Chave primária da tabela Cliente)
como chave estrangeira na tabela Compras.
Figura 2.5: Exemplo de uso das chaves Primária e Estrangeira.
Alguns critérios devem ser levados em conta para se obter um banco de dados
e�ciente, são eles: redundância, inconsistência e integração. A redundância é a repetição
de um dado, ou seja, um mesmo dado inserido duas vezes. Isso é inadequado e por tanto
deve ser evitado, pois além de aumentar os custos de armazenamento existe a possibilidade
desse dado ser escrito de formas diferentes. Como os dados passam por alterações ao logo
do tempo, caso apenas um desses dados repetidos seja atualizado ocorrerá problemas de
inconsistência de dados (MEDEIROS, 2007).
Para satisfazer aos três critérios apresentados são utilizados os Relacionamen-
tos. Eles descrevem como as tabelas se relacionam entre si. Primeiramente é necessário
identi�cá-los. Os relacionamentos são representados por um par de elementos, chamado
de cardinalidade. Um exemplo é o relacionamento um-para-muitos (1:n), onde o número
1 representa que um dado da tabela A pode estar relacionado a qualquer (n) valor da
tabela B. A seguir são apresentados os tipos de relacionamentos e como eles devem ser
devidamente tratados:
• (1:1): O relacionamento de um-para-um acontece quando um valor em A está
relacionado com apenas um valor em B e um valor em B está associado com apenas
um valor em A. Então para implementar essa relação basta registrar os valores
em uma só tabela, visto que os dados dependentes podem �car armazenados nessa
28
tabela.
• (1:n): O relacionamento de um-para-muitos é quando um valor em A está relacio-
nado a qualquer valor em B, mas um valor em B está associado a apenas um valor
em A. Para este caso deve-se associar a informação de B à chave estrangeira em A.
• (n:n): O relacionamento de muitos-para-muitos acontece quando um valor em A
está relacionado a qualquer valor em B e um valor em B está relacionado a qualquer
valor em A. Para este relacionamento deve ser criada uma nova tabela que conterá
os dados do relacionamento entre A e B. Esta nova tabela possuirá uma chave
composta que consiste na junção das chaves primárias de A e B, tornando-se, assim,
dois relacionamentos de um-para-muitos. As três relações, acima citadas, podem
ser observadas na Figura 2.6.
Figura 2.6: Exemplo de relacionamentos: a) 1:1, b) 1:n e c) n:n.
As Linguagens de De�nição de Dados (DDL) são linguagens que de�nem esquemas
de banco de dados. Elas são utilizadas para criar (create), apagar (drop) e editar (alter)
tabelas. As Linguagens de Manipulação de Dados (DML) são os métodos utilizados
para tratar as informações que estão contidas nas tabelas. Com as DMLs é possível
selecionar (select), inserir (insert), apagar (delete) e editar (update) registros de uma
tabela (FRANQUINI, 2014).
Existe uma normalização que descreve regras para a construção de modelos de
banco de dados mais robustos, com menos dependências entre seus elementos e menos
redundância de informações. Através dessa normalização pode-se veri�car se o esquema
lógico do banco de dados está e�ciente. Ela é dividida em três de�nições: 1a, 2a e 3a
Forma Normal:
• 1FN (1a Forma Normal): Toda relação deve ter uma chave primária e deve-se
29
garantir que todo atributo seja atômico (não composto). A atomicidade de um
dado é importante para realizar consultas e�cientes. Atributos compostos devem
ser separados, por exemplo, o endereço deve ser dividido em logradouro, número,
bairro, cidade e CEP. Caso contrário torna-se difícil distinguir um usuário que mora
na cidade do Rio de Janeiro de outro que mora na Rua Rio de Janeiro na cidade de
Belo Horizonte.
• 2FN (2a Forma Normal): Deve obedecer a 1FN e todo atributo deve ser total-
mente dependente da chave primária. São especialmente problemas para aquelas
relações que possuem chave primária composta.
• 3FN (3a Forma Normal): Deve obedecer a 2FN e todo atributo que não for chave
primária ou estrangeira, deve ser mutuamente independente. Caso esse requisito
não seja atendido, modi�cações em um desses dados levaria à modi�cação de uma
série de outras informações desnecessariamente. Deve-se, portanto, desmembrar em
outra tabela os atributos mutuamente dependentes, assim esses dados apareceriam
na tabela antiga apenas referenciado (chave estrangeira) da tabela criada. Esta
forma normal também ajuda a diminuir redundâncias e aumentar a independência
das relações.
Figura 2.7: Exemplo de tabela do Sistema PIMS.
As formas normais e os relacionamentos são utilizados nas tabelas do sistema PIMS.
A Figura 2.7 mostra a tabela de Itens OPC, ela foi criada para armazenar as informações
das variáveis do processo. Nesta tabela os dados de todas as colunas são atômicos e dizem
a respeito exclusivamente ao Item OPC (com exceção do servidor, o qual é uma chave
primária).
30
2.6 Visual Studio
O Visual Studio é uma IDE (ambiente de desenvolvimento) que possui, além do
ambiente de programação, a parte visual. A proposta deste software é oferecer uma
ferramenta de desenvolvimento que seja amigável, de rápida programação, proporcionando
layouts agradáveis para o usuário �nal.
O Visual Studio possui versões gratuitas que podem ser obtidas pelo site da própria
empresa (VISUAL STUDIO, 2014). Para continuar funcionando, essas versões tem que
ser registradas no prório site (também gratuitamente).
A IDE do Visual Studio pode ser utilizada para programar em diversas linguagens
como: C++, C# e Visual Basic. As mais utilizadas são Visual Basic e C#. A quantidade
de linguagens suportadas depende da versão do software.
Os arquivos executáveis gerados pelo Visual Studio necessitam da versão compa-
tível do .Net Framework para serem executados. Os computadores que têm as últimas
versões do Visual Studio (2008, 2010, 2012 e 2013) já possuem esse software instalado.
Além de fazer programas executáveis, o Visual Studio pode ser utilizado no desen-
volvimento de Web Sites e aplicativos para smartphones (plataforma Windows Phone).
No programa local, o formulário é conhecido como Windows Form e no caso das páginas
Web o formulário é chamado de Web Form. Para construção de sites o Visual Studio
utiliza a tecnologia ASP.NET para compilar códigos no lado do Servidor. As páginas
Web construídas possuem a extensão �aspx�.
A IDE para criação de Sites conta com três ambientes de programação (integrados):
• Código;
• Visual;
• HTML.
O primeiro ambiente corresponde ao Código (Code), exatamente igual ao desenvolvimento
dos programas locais, utilizando C#, C++ e VB. O segundo é a ferramenta de Designer,
parte visual utilizada para detalhar melhor o ambiente grá�co do Site. O terceiro faz a
integração com o ambiente de navegaçãoWeb, que é a linguagem nativa HTML. Qualquer
alteração na parte visual automaticamente modi�ca o script HTML (GRAÇA, 2014).
Para realizar a troca de informações entre telas de um site, o ASP.NET utiliza o
método Session. Este método armazena as variáveis (que se deseja passar para outra tela)
31
e quando a nova tela é chamada essas variáveis são passadas para essa nova tela. Para
recuperá-los, basta ler a variável session correspondente (na nova tela).
Para o site ser publicado é necessário gerar os arquivos para divulgá-lo na Internet,
isso é feito com a ferramenta "Publicar Web Site" do Visual Studio.
O Visual Studio, a partir da versão 2012, oferece benefícios na utilização de banco
de dados SQL. Sua própria IDE possui um Sistema de Gerenciamento de Banco de Dados,
que diminui o tempo de integração entre a aplicação e o banco de dados.
2.6.1 Estruturação de um Web Site
Para realizar a estruturação do ambiente grá�co do Web Site são necessárias ade-
quações das dimensões e do posicionamento dos objetos. Para fazer o posicionamento dos
objetos foi utilizado o componente HTML div. Nos formulários dos softwares executáveis
os objetos grá�cos são arrastados do Toolbox para o formulário e permanecem no lugar
desejado, pois guardam uma propriedade de posição x e y na tela de acordo com a cons-
trução. Isso não acontece nos formuláriosWeb e por isso utiliza-se o div. Esse componente
é uma espécie de tabela que divide a tela em retângulos utilizados para dar o espaçamento
e abrigar outros objetos do site como, por exemplo, botões, caixas de textos, imagens e
menu.
Figura 2.8: Visualização dos componentes div na tela Substituir Login.
Na Figura 2.8 são mostrados os componentes div (retângulos brancos pontilhados).
32
Essa �gura foi retirada do ambiente de programação do Visual Studio. Os componentes
div podem ser vistos no site ou �car invisíveis ao usuário. Neste último caso, o div �ca
visível somente na IDE de programação, servindo apenas para a estruturação do site.
Para adequar o site às diferentes resoluções de telas, nas quais ele será visualizado,
é necessário utilizar dimensões em porcentagem. Essa con�guração é conhecida como
Layout Fluido ou Layout Responsivo (BARROS, 2014). Assim, as subpartes do site
ocuparão uma área relativa ao tamanho da janela do navegador. Distância �xas, em
pixels, podem comprometer o layout do site e por isso devem ser evitadas. Ao utilizar
as larguras em porcentagem o navegador recalcula todas as dimensões baseando-se na
resolução da tela utilizada pelo usuário. É possível delimitar larguras mínima e máxima
para garantir que dimensões importantes não sejam afetadas com o redimensionamento.
O Visual Studio foi utilizado no trabalho para desenvolver um software e um
Web Site. Para isso foram utilizadas essas ferramentas descritas anteriormente, como
formulários (windows form e web form), a parte visual e de código, layout �uido e a
estruturação com componentes div.
33
3. Desenvolvimento do Sistema PIMS
Este capítulo mostra as etapas de desenvolvimento do Sistema PIMS. O sistema
foi dividido em duas partes: um software executável local e um Web Site. O executável
local é um gerenciador das con�gurações do sistema. Ele se conecta a um Servidor OPC,
obtém os dados e os armazenam em um banco de dados SQL. Nele é possível gerenciar
o login de usuários, os servidores OPC e cadastrar as variáveis do processo (Itens OPC).
A outra parte do Sistema PIMS, o Web Site, lê as informações do banco de dados e as
apresenta ao usuário. No site é possível escolher a variável, o tipo de grá�co e o período
de visualização. Ambas as partes foram feitas no Visual Studio, o executável local foi
feito na versão Microsoft Visual C# 2010 e o Web Site no Visual Studio Express 2013 for
Web. O banco de dados é o único meio de comunicação entre o executável local e o Web
Site.
O objetivo de dividir o Sistema PIMS em duas partes é de melhorar o desempenho
das consultas ao banco de dados e também aumentar a segurança da informação. Como
os usuários do sistema possuem acesso apenas ao site, algumas funções de con�guração
�cam asseguradas do lado do desenvolvedor (executável local).
A seguir é apresentado o detalhamento das duas partes do sistema PIMS desen-
volvido neste projeto, o executável local e o Web Site.
3.1 Executável Local: Con�guração do Sistema PIMS
O software executável local tem como objetivo estabelecer a comunicação com
Servidores OPC, presentes em CLPs e SCADAs e armazenar as informações obtidas em
um banco de dados. Para realizar essa tarefa, um cliente OPC foi implementado nesse
software, conforme descrito a seguir.
3.1.1 Cliente OPC
Para desenvolver sistemas aplicativos com comunicação OPC é necessário ter pro-
fundo conhecimento das regras do padrão, contidas nas cartilhas da OPC Foundation
34
(OPC FOUNDATION, 2014). Porém, desenvolvedores traduziram esse conjunto de nor-
mas e especi�cações em bibliotecas. Essas bibliotecas são disponibilizadas no formato
DLL e assim podem ser utilizadas mais facilmente, diminuindo o tempo de desenvolvi-
mento da aplicação. O padrão utilizado é o OPC-DA (Data Access) e as bibliotecas
utilizadas neste trabalho para interpretar esse padrão são:
• OpcNetApi.dll;
• OpcNetApi.Com.dll;
• OpcNetApi.Xml.dll.
Essas bibliotecas estão disponibilizadas no site da Mesta Automation (MESTA,
2014). Elas foram desenvolvidas para a linguagem C# e para seu correto funcionamento
devem ser declaradas no preâmbulo do código: using Opc.Da.
O Cliente OPC primeiramente se conecta a um Servidor OPC. Para isso os parâ-
metros de endereço e nome do servidor devem ser informados. A função utilizada para
realizar a conexão é server.Connect(). Durante a conexão, o Cliente OPC cria um
grupo de leitura de itens. Cada item deve ser adicionado ao grupo OPC para que se faça,
periodicamente, a leitura desse item. Além do endereço do item é necessário indicar o
tipo da variável, como por exemplo, inteiro, binário, decimal ou texto.
A cada período de atualização do Cliente OPC a função de tratamento dos dados é
chamada. Essa função é responsável por dar algum destino aos dados obtidos. No caso do
executável local, a cada atualização os dados são armazenados no banco de dados SQL.
Assim como o Cliente OPC lê as variáveis do Servidor, ele também pode escrever
dados no CLP e SCADA. Esta função permite a um sistema PIMS executar tarefas
características de outros sistemas, como por exemplo o MES. Além de visualizar os dados,
o sistema PIMS pode in�uenciar no processo. Por exemplo, o sistema PIMS avalia o
histórico da temperatura de um tanque e com base nesses dados liga um aquecedor. Esse
tipo de função não é o foco principal de um sistema PIMS. Como o sistema PIMS criado
neste trabalho será acessado por diferentes departamentos da empresa, não é interessante
que todas essas pessoas possam interferir diretamente no processo.
Para realizar varreduras periódicas dos valores dos itens OPC, é utilizado um tem-
porizador (timer). Ele especi�ca a taxa de atualização dos dados. Cada aplicação pode
ter uma necessidade diferente quanto a taxa de atualização. É importante salientar que
se essa taxa for muito alta o desempenho do sistema pode �car comprometido, bem como
35
a capacidade do armazenador de dados. A seção a seguir mostra como as informações são
armazenadas no banco de dados SQL.
3.1.2 Armazenamento das variáveis no banco de dados SQL
Para o correto funcionamento do executável local, o software Microsoft SQL Server
deve estar instalado no computador destinado a banco de dados. As variáveis do processo,
obtidas por meio do Servidor OPC, são armazenadas nesse banco de dados. Ao adici-
onar um item OPC é criada uma tabela exclusiva para ele. Esse tipo de tabela possui
apenas duas colunas, o time stamp e o valor. O objetivo de criar uma tabela para cada
item é melhorar o desempenho das consultas SQL e também evitar repetição de dados
(redundância).
Para realizar a conexão com o banco de dados é necessário que o usuário in-
forme o nome do servidor SQL. Caso ele tenha optado por autenticação SQL (no mo-
mento de instalação do SQL Server), ele também tem que informar o login e a se-
nha. O executável local realiza um teste para informar ao usuário se a conexão foi
bem sucedida. Ao longo do programa são utilizadas inúmeras conexões com o banco
de dados. O comando SQL SqlConnection con= new SqlConnection("Data
Source=ServidorSQL; User ID=Login; Password=Senha") é utilizado para
realizar a conexão com o banco de dados. No código acima con é a variável de conexão
e o texto entre parênteses é a string de conexão. É nessa string que são passados os
parâmetros de Nome do Servidor SQL, Login e Senha do Usuário.
Se a conexão for bem sucedida, o programa pode criar o banco de dados e as tabelas,
utilizando os comandos SQL: create database e create table. Para criação de
tabela é necessário informar os parâmetros de cada coluna. Como essas tabelas são criadas
pelo próprio executável local, não é necessário que o usuário tenha conhecimento de banco
de dados e também se evita parâmetros errados nas tabelas.
Para entender melhor como foram armazenados os dados do programa, são apre-
sentadas as tabelas do banco de dados. A Tabela 3.3 mostra os dados referentes aos
usuários do Site. O gerenciamento dos usuários é feito apenas no programa local, pois
assim o sistema �ca menos vulnerável a entrada de pessoas não autorizadas. O usuário
pode apenas alterar o login e a senha no Site. A coluna login informa o nome de acesso
do usuário. Esse campo é também a Chave Primária (CP) da Tabela Usuários. Isso é
36
necessário para que não haja dois logins com o mesmo nome. A coluna Data de Criação
informa há quanto tempo esse login foi criado. A coluna Data do Último Login informa a
última vez que o usuário utilizou o sistema. A coluna cargo representa o Cargo Pro�ssi-
onal ocupado pelo usuário dentro da empresa. Essa informação pode servir de �ltro para
salvaguardar dados sigilosos que algum setor da empresa não deve ter acesso.
Tabela 3.3: Tabela de Usuários.
Nome da Coluna Tipo do Dado Permitir Nulo Detalhe
login varchar(50) Não permite CP
senha varchar(25) Não permite
data_criacao date Não permite (getdate())
data_ultimo_login date Permite
cargo varchar(50) Permite
Tabela 3.4: Tabela de Servidores OPC.
Nome da Coluna Tipo do Dado Permitir Nulo Detalhe
nome_servidor varchar(100) Não permite CP
status_conexao int Permite
A Tabela 3.4 contém os dados dos Servidores OPC cadastrados. O sistema PIMS só
pode se conectar a servidores cadastrados. A coluna Nome do Servidor informa o endereço
de conexão do Servidor. Esta coluna é Chave Primária, isso evita que um mesmo servidor
seja adicionado duas vezes (redundância). Outra informação importante é o status da
conexão que indica se o servidor está conectado ou desconectado.
Tabela 3.5: Tabela de Itens OPC.
Nome da Coluna Tipo do Dado Permitir Nulo Detalhe
id int Não permite Auto Inc.(1,1)
endereco_item varchar(100) Não permite CP
tag varchar(50) Não permite
servidor varchar(100) Não permite CP
tipo_valor varchar(15) Não permite
37
A Tabela 3.5 contém as variáveis do processo. Apenas podem ser visualizadas
no Site as variáveis cadastradas no executável local. A coluna id identi�ca cada valor
de item e o Auto Incremento (1,1) signi�ca que os valores dessa coluna são preenchidos
automaticamente, começando em 1 e sendo incrementado em uma unidade a cada registro.
A coluna Endereço do Item informa o nome que foi utilizado no Servidor OPC para se
referir à variável do processo. A Tag é uma informação que pode auxiliar na identi�cação
de uma variável. Muitas vezes a empresa que realiza o projeto de Automação padroniza as
tags por setores da indústria. A coluna Servidor indica o Servidor OPC ao qual pertence
aquele item. A coluna Tipo do Valor identi�ca o tipo da variável, por exemplo, binária,
inteira, ponto �utuante ou decimal.
Um fator importante na Tabela 3.5 é que ela tem a Chave Primária formada por
duas colunas (Endereço do Item e Servidor), caracterizando uma chave primária composta.
Isto é necessário pois não é permitido haver dois itens com o mesmo endereço (no mesmo
servidor), porém pode haver dois itens iguais em servidores diferentes. O relacionamento
entre o Item e o Servidor é de um-para-muitos (1:n) pois em um servidor pode haver
vários itens, mas cada item está relacionado a um só servidor.
Tabela 3.6: Tabela de Valores das variáveis do sistema PIMS.
Nome da Coluna Tipo do Dado Permitir Nulo Detalhe
data_time datetime Não permite (getdate()), PK
valor int,bool,decimal(18,2) Não permite
A Tabela 3.6 representa um modelo de tabela que é utilizado para cada Item
OPC. Quando um item é adicionado, sua correspondente tabela também é criada. O
nome dessa tabela é a junção de tblValor com o seu Id (na tabela de Itens OPC), por
exemplo, tblValor5. Ao alterar o tag de cada item o nome da tabela também é modi�cado,
o mesmo acontece quando o item é excluído.
A Tabela 3.6 carrega duas informações importantes de um item OPC, o seu valor e
o date/time (ou time stamp). A coluna Data Time obtém a data e a hora do sistema, no
momento em que o valor é armazenado. Isso é realizado através da função sql getdate().
O tipo de dado da coluna Valor depende do tipo da variável que foi declarado na tabela
de Itens OPC, podendo ser binário, inteiro, decimal, ponto �utuante ou texto.
38
3.1.3 Telas do Executável local
O executável local é dividido em algumas telas de navegação. A seguir é mostrado
o funcionamento de cada uma delas.
3.1.3.1 Tela de Con�guração do Banco de Dados
Figura 3.9: Tela de Con�guração de Conexão ao Banco de Dados.
A Figura 3.9 mostra a Tela de Con�guração da conexão com o banco de dados SQL
Server. Esta tela deve ser a primeira a ser con�gurada, pois sem a correta conexão com o
banco de dados as outras também não irão funcionar corretamente. Essas con�gurações
requisitadas na Tela de Con�gurações do Banco de Dados são as mesmas exigidas ao
abrir qualquer Sistema de Gerenciamento de Banco de Dados, os SGBDs, por exemplo
o Microsoft SQL Management Express. O usuário do programa pode testar a conexão.
Se a conexão não for bem sucedida, ele deve buscar os dados corretos. Caso o resultado
39
da conexão seja satisfatório, com um click no botão Criar Banco de Dados e Tabelas o
usuário gera todas as tabelas necessárias para o funcionamento do programa.
3.1.3.2 Tela de Gerenciamento dos Usuários do Web Site
Figura 3.10: Tela de Gerenciamento dos Usuários do Sistema PIMS.
A Figura 3.10 mostra a tela de gerenciamento dos usuários que podem utilizar o
Site do sistema PIMS. Nessa tela existe uma tabela com todos os usuários cadastrados
e é possível adicionar, remover e alterar as informações dos usuários. Não é possível
cadastrar dois logins iguais (pois esta coluna é Chave Primária). Para remover um usuário
o programa lista as opções de usuários cadastrados e, ao clicar em uma das opções, o
campo senha é preenchido automaticamente. Isso evita erros no processo de remoção de
usuários e evita também remover um usuário o qual não se queria remover. Também é
possível substituir o login e a senha do usuário.
40
3.1.3.3 Tela de Gerenciamento dos Servidores OPC
Figura 3.11: Tela de Gerenciamento dos Servidores OPC.
A Figura 3.11 mostra a tela de gerenciamento dos servidores OPC aos quais o
Sistema PIMS poderá se conectar. Pode ser feito o cadastro, alteração ou remoção dos
Servidores OPC. Uma tabela dos servidores cadastrados é mostrada nesta tela. A tabela
é atualizada a cada vez que o usuário entra na tela ou quando realiza as ações de cadastro,
remoção ou substituição de um servidor.
3.1.3.4 Tela de Cadastro dos Itens OPC
A Figura 3.12 mostra a Tela de Cadastro dos Itens OPC. Primeiramente é neces-
sário escolher o Servidor OPC, assim, a tabela é preenchida com os itens existentes nesse
servidor. Isso evita o cadastro de itens em servidores errados. Para cadastrar os itens é
necessário preencher os seguintes campos: endereço OPC do item, tag de identi�cação e
o tipo de dado da variável. Ao adicionar um Item, a tabela de valores desse item é criada.
41
Figura 3.12: Tela de Cadastro dos Itens OPC.
Caso o item seja removido, sua tabela também é removida e os dados são apagados do
banco de dados.
3.1.3.5 Tela de Conexão com o Servidor OPC
A Figura 3.13 mostra a Tela de Conexão. Ela pode ser considerada a tela principal
pois, se os parâmetros das outras telas já estiverem con�gurados, pouco se irá mexer
nelas. Primeiramente o usuário deve veri�car a conexão com o banco de dados. Para
proceder com a conexão o usuário deve escolher o Servidor OPC no qual deseja conectar.
O período de atualização dos dados também deve ser preenchido, ou então manter o
período de atualização padrão, igual a 1000 milisegundos (1 segundo). Com isso basta
clicar no botão Conectar.
A estrutura try-catch está sendo utilizada no executável local. Esta estrutura
realiza a tentativa (try) de conexão. Caso não seja bem sucedida, ao invés de gerar um
42
Figura 3.13: Tela de Conexão OPC.
erro a rotina do programa segue para a função auxiliar (catch). O programa mostra uma
caixa de mensagem indicando se conexão foi bem sucedida. Para desconectar basta clicar
no botão Desconectar. A Figura 3.14 mostra o Fluxograma da Conexão com o Servidor
OPC. Os passos descritos anteriormente podem ser visualizados nesse �uxograma, para
maior compreensão.
3.1.3.6 Tela de Tutorial do Executável local
A Figura 3.15 mostra a tela do tutorial, criada para guiar o usuário na utilização
do executável local. Mesmo o software tendo a proposta de ser intuitivo, os passos podem
ajudar o usuário. Os passos descritos nessa tela devem ser executados em sequência.
43
Figura 3.14: Fluxograma do processo de Conexão com o Servidor OPC.
Figura 3.15: Tela de Tutorial do Executável Local.
44
3.2 Web Site de visualização dos dados
O Web Site do sistema PIMS tem o objetivo de acessar a base de dados SQL,
onde foram armazenados os dados obtidos no Servidor OPC, e apresentá-los ao usuário
por meio de grá�cos e tabelas. Para isso o usuário irá escolher as variáveis e também o
período de visualização.
3.2.1 Master Page
Para criação do Site foi utilizado o conceito de Master Page, que usa um cabeça-
lho comum para várias páginas, alternando apenas o corpo do texto (conteúdo de cada
página). O recurso Master Page permite criar páginas padrão com conteúdo que pode
ser replicado às demais páginas do site, isso é chamado de herança visual.
Figura 3.16: Organização de uma Master Page em relação às páginas Web.
A Figura 3.16 mostra um exemplo de posicionamento de uma Master Page em
relação às telas Web. A parte em cinza é composta pela Master Page e a parte restante
pelas outras telas. A Figura 3.16 também mostra o cabeçalho na parte superior.
AMaster Page é um componente diferente de umWeb Form. O primeiro é utilizado
como ferramenta na construção de páginas Web, por isso uma Master Page nunca pode
funcionar sozinha (sem uma página Web).
Ao inserir uma Master Page são adicionados trechos de código HTML: o cabe-
çalho (head), o corpo do texto (body) e a parte onde �ca o conteúdo de cada página
45
(ContentPlaceHolder).
No Web Site do sistema PIMS a Master Page possui um banner e um menu com
quatro botões. Estes componentes podem ser visualizados na Figura 3.17.
Figura 3.17: Master Page do Sistema PIMS.
O banner contém a logomarca do Sistema PIMS e o menu possui botões que são
utilizados para navegar entre as páginas. A seguir é mostrado o conteúdo das páginas do
Web Site do sistema PIMS.
3.2.2 Tela de Construção de Grá�cos
O objetivo desta tela é realizar as con�gurações necessárias para escolha da varíavel
e também de seu intervalo de visualização.
A Figura 3.18 mostra a tela de con�guração para construção de grá�cos. Primei-
ramente o usuário deve escolher o Servidor OPC. Ao escolher o servidor, irão aparecer
seus respectivos itens em um quadro. Para escolher um desses itens basta selecioná-lo e
clicar no botão de adicionar. O item é retirado da lista de itens disponíveis e passado
46
Figura 3.18: Tela de Construção de Grá�cos.
para a lista de itens selecionados.
Para ser mais intuitivo, o site mostra a sequência dos passos necessários para
construir um grá�co e também indica quando o passo foi realizado. Uma frase de aviso
foi colocada no alto da tela: "Siga os passos 1, 2 e 3 para construir o grá�co". A cada
passo realizado um checkbox é marcado, indicando que aquele passo foi concretizado. Por
exemplo, se um item foi adicionado, o quadrado correspondente ao passo 1 é marcado,
avisando o usuário que ele pode passar para o segundo passo.
O segundo passo para construir um grá�co é a escolha do modelo de grá�co. Os
tipos de grá�co disponíveis são: Grá�co de Linha, Coluna e de Setores (conhecido como
Grá�co de Pizza). Cada representação tem sua melhor aplicação dependendo da variável
(analógica ou digital).
O terceiro passo é a escolha do intervalo de visualização dos dados. O usuário deve
escolher valores de data e hora (início e �m). Para facilitar o usuário, o site possui um
calendário para a escolha da data. Para �ltrar melhor a busca, os campos de hora, minuto
e segundo também podem ser preenchidos. Abaixo das caixas de texto, de preenchimento
da data e hora, há indicações do formato que o usuário deve utilizar nos campos. Para
a data deve ser usado "dd/mm/aaaa". Isso signi�ca que o usuário deve preencher dois
47
dígitos para o dia e para o mês, e quatro dígitos referentes ao ano (com uma barra
separando-os).
Ao �nal desses passos, os checkbox 1, 2 e 3 estarão preenchido e basta clicar no
botão Gerar Grá�co.
3.2.3 Tela de Visualização do Grá�co
Ao pressionar o botão Gerar Grá�co será exibida a Tela de Visualização do Grá�co,
que pode ser vista na Figura 3.19.
Figura 3.19: Tela de Visualização de Grá�cos e Tabelas.
Esta tela possui o grá�co, a tabela com os valores obtidos e também as opções
de exportar essas representações. O Sistema PIMS primeiro constrói a tabela, realizando
uma query SQL, ou seja, consulta ao banco de dados. Os parâmetros do grá�co são
passados da tela anterior por meio do método session. Os dados da tabela são utilizados
para gerar o grá�co, isso evita uma nova consulta ao banco de dados. No grá�co, o eixo X
(horizontal) representa os valores de tempo (time stamp) e o eixo Y (vertical) os valores
das variáveis. Em um mesmo grá�co podem ser previstas várias séries. Cada série pode
ser con�gurada com valores e con�gurações diferentes, como a cor da linha e o tipo de
grá�co (linha, coluna ou pizza). Para gerar o grá�co, antes, o sistema veri�ca o modelo
de grá�co escolhido pelo usuário e aponta a série que deve ser utilizada.
48
Na tela de visualização do grá�co foram implementadas opções de exportar as
representações (grá�co e tabela) nos formatos PDF, XLS e DOC. Para exportar o arquivo
no formato PDF foi utilizada a biblioteca iTextSharp.dll. Para exportar o arquivo em DOC
e XLS utilizou-se a biblioteca System.IO (nativa da IDE do Visual Studio).
3.2.4 Tela de Autenticação do Usuário
Ao entrar no Web Site do sistema PIMS, a primeira tela visualizada é a de au-
tenticação do usuário. Isso é necessário para restringir a utilização do sistema a apenas
usuários cadastrados.
Figura 3.20: Tela de Autenticação do Usuário.
A Figura 3.20 mostra a tela de autenticação do usuário. Para identi�car se o usuá-
rio tem cadastro no sistema é feita uma consulta SQL ao banco de dados. Essa consulta
retorna a quantidade de registros encontrados com o login e senha especi�cados. Caso
esse valor seja 1, signi�ca que existe o cadastro desse login (e sua senha correspondente),
se for igual 0 o acesso é negado ao usuário, pois não existe essa combinação no banco de
dados.
Se o usuário possui cadastro no sistema, ao clicar no botão Entrar no Sistema o
site o direciona à tela principal do sistema. Ao fazer isso, o login do usuário é passado
para essa nova tela através do método session.
49
3.2.5 Tela de Alteração do Login e Senha do Usuário
O cadastro de login dos usuários que utilizam o site é feito apenas no executável
local. Apenas a opção de substituir login e senha estão disponíveis no site. Como a tabela
de usuário tem a data do último acesso, o usuário pode conferir se a data do último login
corresponde à ultima vez que ele entrou no sistema. Isso pode indicar que uma pessoa
utilizou o cadastro de outra, assim, surge a necessidade da substituição da senha.
Figura 3.21: Tela de Substituição do login e senha do Usuário.
A Figura 3.21 mostra a tela de substituição do login e/ou senha do usuário. Para
realizar esta ação corretamente, os dados digitados de login e senha antigos devem estar
previamente cadastrados no banco de dados.
3.2.6 Telas de Informações sobre sistemas PIMS, MES, ERP e
Banco de Dados
A Figura 3.22 mostra a tela do site dedicada a informar o usuário conceitos das
ferramentas de Manufatura Inteligente (PIMS, MES e ERP) e a Figura 3.23 sobre Banco
de Dados. O conteúdo dessas páginas é o mesmo contido no Capítulo 2 deste trabalho
(Revisão Bibliográ�ca).
50
Figura 3.22: Tela de Informações sobre sistemas PIMS, MES e ERP.
Figura 3.23: Tela de Informações sobre Banco de Dados.
51
Figura 3.24: Fluxograma do funcionamento completo do sistema PIMS.
Nesta seção foi mostrado o desenvolvimento das duas partes do sistema PIMS
separadamente. O �uxograma da Figura 3.24 mostra como as duas partes se interagem.
Pode-se observar que a única ligação entre o software executável local e o Web Site é pelo
banco de dados.
52
4. Resultados e Discussões
Este capítulo apresenta a descrição dos testes realizados e do funcionamento do sis-
tema PIMS. São apresentados o sistema sob teste, sua con�guração de rede e os resultados
encontrados do software executável local e do Web Site.
4.1 Plataforma de hardware utilizada nos testes
Para fornecer dados ao sistema PIMS foi utilizada uma planta didática de
controle de temperatura e nível de tanques, presente no Laboratório de Automação do
IFMG campus Formiga. Ela foi desenvolvida pelos professores da área de automação1 e
alunos dos cursos de graduação em Engenharia Elétrica e técnico em Eletrotécnica. A
Figura 4.25a mostra a planta utilizada para o teste.
Figura 4.25: Planta didática de Controle de Temperatura e Nível de Tanques.
Na planta didática é utilizado o CLP CompactLogix 5370 L2 - Allen Bradley (da
fabricante Rockwell Automation), o qual pode ser observado na Figura 4.25b. O CLP foi
programado com linguagem ladder pelos desenvolvedores da planta didática.
1Professores: Michelle Mendes Santos, Fábio Lúcio Corrêa Junior e Jonatham Silva Rezende.
53
Com a lógica de programação funcionando, con�gura-se o software RSLinx como
Servidor OPC. Para realizar essa ação, uma conexão OPC é adicionada (Figura 4.26a).
Na Figura 4.26b é mostrada a associação entre o programa ladder do Logix5000 com o
CLP utilizado.
Figura 4.26: Con�guração do Servidor OPC: a) Adicionando Conexão OPC e b) Associando o
CLP ao programa do Logix5000.
Figura 4.27: Software RSI - OPC Test Client (Cliente OPC).
Realizando essas etapas, o Servidor OPC é con�gurado como fonte de dados para
o sistema PIMS. Para validar a conexão e assegurar que ela esteja funcionando, foi utili-
54
zado o software RSI - OPC Test Client (Cliente OPC utilizado para testar conexão com
Servidores OPC). Esse cliente OPC é distribuído juntamente com o RSLinx. A Figura
4.27 mostra as con�gurações de escolha do Servidor, Grupo e Itens OPC.
4.1.1 Con�guração da Rede do Sistema de Teste
Para entender como o teste foi realizado, a Figura 4.28 ilustra a con�guração de rede
que integra o CLP, o Computador Desktop (PC) e o Notebook para os testes realizados
neste trabalho.
Figura 4.28: Sistema de teste e con�guração da rede.
A integração entre o PC e o CLP é realizada por um cabo de rede e possibilita
a obtenção dos dados do CLP por meio do software RSLinx con�gurado como Servidor
OPC. Nesse PC também é executado o software Cliente OPC desenvolvido neste trabalho
e detalhado na seção 3.1. Os dados que o Cliente OPC recebe são armazenados em um
outro computador (neste caso, um notebook), que funciona como um banco de dados
distribuído. A conexão entre PC e notebook é feita por meio de um cabo de rede. Para
que o Cliente OPC possa armazenar dados no banco de dados no notebook, o IP deste
deve ser informado.
O notebook é hospedeiro do Web Site do sistema PIMS. Para isso, ele está con�gu-
rado como Servidor Web IIS (Internet Information Services), nativo do Windows. Assim,
computadores que também estão na mesma rede podem acessar a página do sistema
55
PIMS.
No caso de uma aplicação industrial a arquitetura de rede pode ser modi�cada. Ao
invés da utilização de cabos de rede pode ser utilizada conexão sem �os (wireless), tanto
para comunicação CLP-PC quanto para PC-Notebook. Não é necessária a utilização de
dois computadores, todas as subpartes do sistema PIMS (Cliente OPC, banco de dados
e Servidor Web) podem ser executados no mesmo computador utilizado para o Servidor
OPC. A hospedagem do Web Site não precisa ser, necessariamente, em um computador
da empresa, ela pode contratar um serviço de hospedagem e acessar o Web Site pela
internet.
4.2 Testes do Cliente OPC
Com o executável local iniciado, é feita a escolha do Servidor OPC RSLinx OPC
Server. Ao pressionar o botão Conectar, a rotina de comunicação com o Servidor OPC
se inicia. Uma caixa de texto informa o status da comunicação. O teste de conexão com
o Servidor OPC RSLinx foi realizado com sucesso. Na Figura 4.29 é possível observar o
nome do Servidor OPC escolhido, a mensagem da conexão e também o valor instantâ-
neo de algumas variáveis. Para testar se a função estava respondendo corretamente foi
realizado um teste com o nome de Servidor OPC inválido. Para esse caso, o programa
retornou uma mensagem informando ao usuário da impossibilidade de conectar com o
servidor especi�cado (Figura 4.30).
Figura 4.29: Conexão do Cliente OPC com o Servidor OPC.
56
Figura 4.30: Conexão do Cliente OPC com o Servidor OPC não realizada.
O segundo teste foi feito para veri�car se o Cliente OPC consegue armazenar os
Itens OPC no banco de dados hospedado em outra máquina (notebook). Primeiro foi
realizado o teste de comunicação entre as máquinas PC-notebook, executando o comando
ping no prompt de comando de ambas as máquinas. Para saber se os dados foram gravados
corretamente foi utilizado o SQL Server Management Studio. A Figura 4.31 mostra os
valores da variável LSH_02 armazenados no banco de dados SQL Server.
Figura 4.31: SQL Server Management Studio e os valores armazenados.
57
4.2.1 Teste de conectividade com outro Servidor OPC
É possível utilizar o Cliente OPC do sistema PIMS com qualquer Servidor OPC
(não só com o RSLinx), pois a comunicação segue um padrão bem de�nido. Para demons-
trar que isso é possível foi utilizado um outro Servidor OPC, o ICONICS OPC Simulator.
Ele é um simulador de servidor OPC, gratuito, que fornece dados simulados no padrão
OPC.
Figura 4.32: Comunicação OPC: a) ICONICS OPC Simulator e b) Web Site.
A Figura 4.32a mostra a tela de con�guração do ICONICS OPC Simulator e na
Figura 4.32b a visualização desse servidor OPC e seus respectivos Itens no Web Site do
sistema PIMS.
4.3 Teste do Web Site do Sistema PIMS
No notebook, o servidor Web IIS foi con�gurado para hospedar o site do sistema
PIMS. O site foi acessado por um outro computador dentro da mesma rede. Na primeira
tela (Tela de Autenticação do Usuário) foi testada a conexão do site com o banco de dados.
Para isso foi observado se o login e senha (previamente cadastrados) eram compatíveis.
Como o banco de dados e a hospedagem estão na mesma máquina basta indicar o próprio
nome do Servidor SQL local na string de conexão. A Figura 4.33 mostra a veri�cação do
login e senha para entrar no Web Site do sistema PIMS.
58
Figura 4.33: Autenticação do Usuário para entrar no Web Site do sistema PIMS.
Também foi testada a �uidez do layout do site, ou seja, a adaptação da parte
grá�ca para diferentes resoluções de tela. A Figura 4.34 mostra a visualização do site
em diferentes tamanhos de tela. Nos computadores desktop, notebooks e tablets o layout
manteve a con�guração. No smartphone o layout modi�cou para se adaptar ao tamanho
reduzido da tela e o banner �cou levemente descaracterizado. Isso acontece por causa da
existência da imagem, a qual não se adapta completamente ao layout �uido.
Figura 4.34: Visualização do Web Site do Sistema PIMS.
Foram veri�cadas a con�guração e montagem de grá�cos no site do sistema PIMS.
A Figura 4.35a mostra a con�guração do grá�co de porcentagem de uma variável digital
(LSL_01 - Chave de nível baixo do Tanque 1). Os checkboxes auxiliaram na identi�cação
dos passos para se montar o grá�co. A Figura 4.35b mostra o resultado obtido com a
con�guração realizada. A tabela com os valores e o grá�co foram plotados. Esse tipo
de grá�co indica qual a porcentagem de tempo que uma variável digital �ca ligada e
desligada. Em uma aplicação industrial esse grá�co pode monitorar a quantidade de
59
tempo que uma máquina permanece em funcionamento e também indicar o tempo de
parada. Com essas informações pode-se conhecer a e�ciência da máquina.
Figura 4.35: Exemplo de: a) montagem e b) visualização do grá�co.
Realizado a plotagem do grá�co e da tabela foi possível testar as opções de rela-
tórios nos formatos PDF, DOC e XLS. A Figura 4.36 mostra como �cam os relatórios
nesses formatos. No relatório em PDF foram inseridos o grá�co e a tabela, nos outros
formatos (DOC e XLS) apenas a tabela foi inserida.
4.4 Análise Econômica do Sistema PIMS
Comparar historiadores de processo não é uma tarefa fácil, pois muitos fatores
devem ser levados em conta como, por exemplo, as funcionalidades básicas de um his-
toriador na coleta, compressão, armazenamento e recuperação de dados, as ferramentas
60
Figura 4.36: Relatório de dados nos formatos: a) PDF, b) DOC e c) XLS.
funcionais incorporadas ao historiador e também a utilização dos padrões da indústria
como a comunicação OPC. A Tabela 1.2 (na Seção 1.3) mostra algumas características e
preços dos historiadores PIMS do mercado.
O sistema PIMS desenvolvido possui características compatíveis com os grandes
historiadores do mercado, oferecendo soluções como, por exemplo, obtenção de dados por
padrão OPC, armazenamento de dados, sem limitação de tags, visualização de grá�cos
e tabelas, relatórios nos formatos PDF, XLS e DOC e também a visualização dos dados
pelo navegador Web. Essas características mostram que o sistema PIMS desenvolvido é
tecnicamente competitivo com os seus principais concorrentes.
Além das funcionalidades, um fator de extrema relevância para as empresas que
adquirem esse tipo de produto é o preço a se pagar por ele. O custo inicial para pro-
duzir o sistema PIMS consiste no tempo de engenharia gasto no seu desenvolvimento,
a aquisição de um computador e despesas contábeis como, por exemplo, INSS de uma
Micro Empresa. O piso salarial de um Engenheiro é cerca de R$ 6.154,00 por mês, atual-
mente (MUTUA, 2014). O período gasto no desenvolvimento foi de três meses e quinze
dias. Para aquisição do computador o valor investido é de R$ 1.500,00 e para pagamento
61
do INSS de um Microempreendedor Individual (MEI) R$ 42,00 por mês (PORTAL DO
EMPREENDEDOR, 2014). O custo inicial de desenvolvimento do sistema PIMS é de
R$23.186,00 como mostra a Equação 4.1.
Custo inicial = (3,5 * 6154) + 1500 + (3,5 * 42) = 23186 (4.1)
Para cada sistema PIMS vendido será necessário instalar e con�gurar (startup) o
sistema na empresa cliente. O tempo de instalação varia com a quantidade de variáveis a
serem armazenadas. O tempo médio de instalação e con�guração é de uma semana. Cada
sistema terá um custo operacional de R$ 2.000,00. Isso inclui o valor de R$ 1538,50 para
o desenvolvedor, despesas com transporte para deslocamento até o cliente e alimentação
durante uma semana. Os valores que um investidor desse sistema irá receber está de
acordo com a Equação 4.2.
Valor = n * (PS - CO) - CI. (4.2)
Onde: n é o número de sistemas PIMS vendidos, PS é o preço cobrado por cada sistema,
CO é o custo operacional por cada sistema vendido e CI é o custo inicial investido no
desenvolvimento.
Com toda a solução do sistema PIMS sendo oferecida por R$ 8.000,00 o retorno do
investimento, por parte do investidor, virá na venda do quarto sistema PIMS (Equação
4.3). Após essa venda o investidor consegue um lucro de 300% por cada sistema vendido.
Valor = 4 * (8000 - 2000) - 23186 = +R$ 814,00. (4.3)
O FactoryTalk Historian (versão com limitações de tags) é o historiador com menor
preço dentre os listados na Tabela 1.2. A solução completa do sistema PIMS (licença,
instalação e suporte) pode ser adquirido por um preço inferior ao software apresentado.
Além disso, o preço do FactoryTalk Historian se refere apenas a licença de utilização. Para
con�gurá-lo é necessária uma empresa de Automação especializada em sistemas PIMS.
A indústria cliente pode contratar o serviço de hospedagem ou também optar
por hospedar o Web Site em um computador da indústria. O serviço de hospedagem
(armazenamento do site e do banco de dados) pode ser adquirido por R$ 20,00 a R$
80,00 mensais, dependendo da capacidade de armazenamento do banco de dados requerido
(UOL HOST, 2014). Para este caso também deve ser adquirido um domínio, por exemplo,
.com.br que custa à indústria o valor de R$ 30,00 por ano (REGISTRO.BR, 2014).
62
5. Conclusões
Este trabalho mostrou a importância da informação de chão de fábrica nos setores
corporativos de uma indústria. A manufatura inteligente evita ilhas de informação e
auxilia no controle e gerenciamento do processo produtivo.
A comunicação OPC é o padrão mais utilizado nos sistemas de dados da automa-
ção, assim, com a utilização desse padrão no sistema PIMS desenvolvido torna-o compa-
tível com grandes historiadores do mercado. Os testes mostraram que o cliente OPC do
sistema PIMS pode se conectar a diferentes Servidores OPC, devido à padronização da
comunicação OPC. Essa característica o torna interoperável em sistemas de automação
de diferentes fornecedores.
Por meio do software executável local, detalhado na seção 3.1, pôde-se con�gurar
os Servidores e Itens OPC e também cadastrar os usuários que podem acessar oWeb Site.
Ao se fazer os testes, pôde-se observar uma característica de �exibilidade em relação
à arquitetura de rede, onde as partes não precisam estar funcionando, necessariamente,
em um só computador. Isso permite que o sistema adapte melhor a con�guração de rede
da indústria que utilizar o sistema PIMS.
Para a montagem dos grá�cos, a indicação das etapas a serem seguidas, auxiliaram
os usuários do Web Site do sistema PIMS. É possível exibir grá�cos de linha, coluna e
de pizza, inclusive saber a porcentagem de tempo de parada de uma máquina ou equipa-
mento. Foi plotada, também, a tabela com a descrição de cada valor e seu o respectivo
time stamp. As opções de gerar relatórios facilitam a elaboração de documentos técnicos
embasados nas informações do processo.
A análise de custos e funcionalidades, em comparação com os principais concor-
rentes, mostrou que o sistema PIMS possui as principais características dos melhores
historiadores comercializados e pode ser vendido a um preço inferior, além da possibili-
dade de adequar o sistema às necessidades de cada cliente.
Além dos ganhos quantitativos houve também ganhos qualitativos como, por exem-
plo, melhor organização dos dados, maior controle do processo, rapidez no acesso aos dados
e também alta disponibilidade da informação de chão de fábrica.
63
5.1 Sugestão de trabalhos futuros
Algumas ferramentas podem ser adicionadas ao sistema PIMS para melhorar seu
desempenho e funcionalidade. Uma sugestão é desenvolver uma ferramenta que procura
os itens OPC existentes. Essa ferramenta, também chamada de Item Browser, obtém
todos os itens OPC existentes de um determinado Servidor OPC.
Como o sistema PIMS pode ser visualizado pela internet, outra sugestão é a uti-
lização do padrão OPC-XML. Ele permite a criação de clientes OPC diretamente em
aplicações Web.
A versão gratuita do SQL Server utilizado (Express), possui uma restrição de
espaço de armazenamento, que é de até 10 GB (MICROSOFT, 2014). Por isso pode ser
utilizado o banco de dados MySQL, além de ser gratuito é o mais utilizado em aplicações
Web (WELLING, THOMSON, 2005).
O trabalho realizado foi testado apenas em uma intranet (rede interna do IFMG
Campus Formiga), então, pôde-se disponibilizar o site na internet, para isso é necessário
adquirir um domínio e uma hospedagem, sendo que a hospedagem também pode ser feita
em um computador do próprio cliente.
64
6. Referências Bibliográ�cas
ALMEIDA, D. C.; A importância da Manufatura Inteligente na Engenharia de
Produção. Artigo selecionado pelo Crea Digital. Pouso Alegre MG, Março 2004.
ASPENTECH; Software PIMS InfoPlus 21. Disponível em: <www.aspentech.com>.
Acesso em: 29 de junho de 2014.
BARROS, B.; Layout Fluido ou Líquido e técnicas de Análise de renderização
dos navegadores Web. Disponível em: <www.designadaptavel.com.br>. Acesso em:
30 de junho de 2014.
CARVALHO, F. B.; TORRES, B. S.; FONSECA, M. O.; SEIXAS FILHO, C.; Siste-
mas PIMS: conceituação, usos e benefícios. Anais do Seminário de Automação de
Processos, Santos, 2003.
CAIÇARA, J. C.; Sistemas Integrados de Gestão - ERP: uma abordagem geren-
cial. Editora InterSaberes, p. 53, Curitiba, 2012.
CONTROL; OSI PI Versus Aspen Info Plus 21. Global Online Comumunity of
Automation professionals. Disponível em: <www.control.com>. Acesso em: 28 de junho
de 2014.
FRANQUINI, F.; Capítulo 3 - Manipulating Data SQL. Engenheiro de Computação
da empresa Softplan. Disponível em: <www.certi�cacaobd.com>. Acesso em: 14 de
julho de 2014.
GAUDÊNCIO, E.; Conceituando Banco de Dados e SGBD. Disponível em: <cer
ti�cacaobd.com.br>. Acesso em: 14 de junho de 2014.
KITE; O que é OEE e quais as vantagens de medi-lo? Empresa de soluções em
Automação Industrial. Disponível em: <www.kitemes.com.br>. Acesso em: 2 de Maio
de 2014.
MECATRÔNICA ATUAL; O que é OPC? Revista Mecatrônica Atual no 42, Editora
Saber, Agosto, 2013.
MEDEIROS, L. F.; Banco de Dados: princípios e prática, Editora IBPEX, pp.
65
14-16, Curitiba, 2007.
MELO, O. V.; Gerenciamento das Informações Industriais. Monogra�a apresen-
tada ao curso de Controle e Automação na Universidade de Ouro Preto, 2012.
MESTA, Automation; Client OPCWith C#. Biblioteca de interpretação do Protocolo
OPC. Disponível em: <www.mesta-automation.com>. Acesso em: 13 de maio de 2014.
MICROSOFT; SQL Server Express Edition. Disponível em: <www.microsoft.com>.
Acesso em: 13 de Julho de 2014.
MTHOMAZINI;Consultoria especializada em ERP. Empresa de consultoria M. Tho-
mazini. Disponível em: <www.mthomazini.com.br>. Acesso em: 26 de junho de 2014.
MUTUA; Salário Mínimo Pro�ssional é de R$ 6.154 em 2014. Mútua - Caixa de
Assistência dos Pro�ssionais dos Creas. Disponível em: <www.mutua.com.br>. Acesso
em: 11 de Julho de 2014.
NOGUEIRA, T. A.; Redes de Comunicação para Sistemas de Automação In-
dustrial. Monogra�a apresentada ao curso de Engenharia de Controle e Automação da
Universidade Federal de Ouro Preto. Agosto 2009.
OPC FOUNDATION; The Interoperability Standard for Industrial Automation.
Fundação de divulgação das características do padrão OPC. Disponível em: <opcfoun
dation.org>. Acesso em: 09 de junho de 2014.
OSISOFT; PI System - the industry standard in enterprise infrastructure for
management of real-time data and events. Empresa fabricante de historiadores de
dados. Disponível em: <www.osisoft.com>. Acesso em: 29 de junho de 2014.
PORTAL DO EMPREENDEDOR; De�nição do Microempreendedor Individual -
MEI. Disponível em: <www.portaldoempreendedor.gov.br>. Acesso em: 22 de julho de
2014.
REGISTRO.BR;Registro de Domínio .com.br. Disponível em: <registro.br>. Acesso
em: 29 de junho de 2014.
SEIXAS, F. C.; PIMS � Process Information Management System. Notas de
Aula, Capitulo 6, Disponível em: <www.cpdee.ufmg.br/∼seixas/>. Acesso em: 11 de
66
Abril de 2014.
STAIR, M. R; Princípios de sistemas de informação: uma abordagem gerencial,
4a Edição, Editora LTC, Rio de Janeiro, 2004.
TIERNEY, S.; FactoryTalk Historian SE. Data Logging Options For CompactLogix
and ControlLogix. Disponível em: <www.insightsinautomation.com>. Acesso em: 28 de
junho de 2014.
UOL HOST; Preços e planos de hospedagem de Sites. Disponível em: <www.uol
host.com.br>. Acesso em: 14 de Julho de 2014.
VISUAL STUDIO; Site o�cial do software Visual Studio, empresa Microsoft, versões
2013 e 2010. Disponível em: <www.visualstudio.com>. Acesso em: 16 de junho de 2014.
WELLING, L.; THOMSON, L.; PHP e MySQL: Desenvolvimento Web. Editora
Pearson, 3a Edição, 2005.