desenvolvimento rev5 fernando final 10-08-2012

61
CENTRO UNIVERSITÁRIO PADRE ANCHIETA FERNANDO LOMBARDI BANCO DE DADOS EM REDES DE AUTOMAÇÃO Jundiaí - SP 2012

Upload: ferlomba

Post on 05-Aug-2015

45 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Desenvolvimento Rev5 Fernando Final 10-08-2012

CENTRO UNIVERSITÁRIO PADRE ANCHIETA

FERNANDO LOMBARDI

BANCO DE DADOS EM REDES DE AUTOMAÇÃO

Jundiaí - SP

2012

Page 2: Desenvolvimento Rev5 Fernando Final 10-08-2012

CENTRO UNIVERSITÁRIO PADRE ANCHIETA

FERNANDO LOMBARDI

BANCO DE DADOS EM REDES DE AUTOMAÇÃO

Monografia apresentada para avaliação da

Pós-graduação do Centro Universitário

Padre Anchieta, como exigência parcial

para obtenção do título de especialista em

Banco de Dados e BI (Business

Intelligence), sob a orientação do Prof. Dr.

Mario Mollo Neto.

Jundiaí – SP

2012

Page 3: Desenvolvimento Rev5 Fernando Final 10-08-2012

FERNANDO LOMBARDI

BANCO DE DADOS EM REDES DE AUTOMAÇÃO

Monografia aprovada como requisito parcial para a obtenção do título de

especialista Banco de Dados e BI (Business Intelligence) pelo curso de Pós-

Graduação do Centro Universitário Padre Anchieta:

Nota: _________________

_______________________

Orientador

_______________________

Assinatura do aluno

Page 4: Desenvolvimento Rev5 Fernando Final 10-08-2012

A minha esposa que esteve sempre ao meu lado em todos os momentos de minha

vida, dedico este trabalho a ela e a todos que acreditaram em meu trabalho.

Page 5: Desenvolvimento Rev5 Fernando Final 10-08-2012

AGRADECIMENTOS

A minha esposa por sempre me apoiar e incentivar.

Ao orientador Prof. Dr. Mario Mollo Neto, pelo valioso e grandioso apoio,

contribuição e paciência dedicados neste trabalho.

Page 6: Desenvolvimento Rev5 Fernando Final 10-08-2012

RESUMO

Este trabalho tem por objetivo estudar e analisar redes de automação e sua

integração com banco de dados em um ambiente de rede corporativo, no qual

serão apresentados tipos de redes industriais, falhas e estudo de caso, com o

intuito de demonstrar esta integração e alguns riscos que ela possa oferecer ao

banco de dados e aos equipamentos de automação. Será apresentada a parte

histórica da automação industrial, definição e tipos de protocolos envolvidos nas

redes, sistemas de supervisão que permitem o gerenciamento remoto e o controle

de automação na empresa, troca de informações entre o ambiente industrial e

corporativo, análise realizada em ambiente real avaliando o desempenho,

qualidade e segurança existentes nas redes e buscando métodos para melhorias.

Palavra Chave: Automação industrial, integração, redes industriais, redes

corporativas, banco de dados.

Page 7: Desenvolvimento Rev5 Fernando Final 10-08-2012

ABSTRACT

This paper aims to show, automation networks and their integration with the

database on a corporate network environment, which will be presented types of

industrial networks, failures and case study, in order to demonstrate the

integration and risks that it can offer to the database and automation equipment.

It will be presented the historical part of industrial automation, definition and

types of protocols involved in the networks, surveillance systems that allow

remote management and automation control in the company, information

exchange between the industrial environment and corporate analysis in

evaluating the real environment performance, quality and safety in existing

networks and seeking methods for improvement.

Keywords: Industrial automation, integration, industrial networks, corporate

networks, database.

Page 8: Desenvolvimento Rev5 Fernando Final 10-08-2012

LISTA DE FIGURAS

Figura 1 – Prioridade nos ambientes industriais e corporativos. Fonte:

(BARBOSA, 2006). ..................................................................................... 13

Figura 2 – Rede de automação. Fonte: (BERGE, 1998). ................................ 16

Figura 3 – Os 3 níveis de uma rede industrial. Fonte: (MECATRÔNICA ATUAL,

2011). ...................................................................................................... 18

Figura 4 – Rede de automação utilizando protocolo TCP/IP. Fonte: (SEVOUNTS,

2011). ...................................................................................................... 25

Figura 5 - Sistema de controle de acesso. Fonte: (CARDOSO & DA SILVA apud

CASTANO et al. 1995, p.4) ......................................................................... 34

Figura 6 – CLP de pequeno porte. Fonte: (ANTONIO, 2001). ........................ 36

Figura 7 – Sistema de supervisão e controle. Fonte: (GONÇALVES, 2012). ..... 43

Figura 7 - Topologia da rede. ..................................................................... 46

Figura 8 - Modelo cliente / servidor Modbus. Fonte: (MODBUS.ORG, 2006). ... 47

Figura 9 - Fluxograma software. ................................................................. 49

Figura 10 - Diagrama das tabelas. .............................................................. 50

Figura 11 - Configuração da conexão com banco de dados. .......................... 52

Page 9: Desenvolvimento Rev5 Fernando Final 10-08-2012

LISTA DE TABELAS

Tabela 1 – Padrões ethernet ...................................................................... 22

Tabela 2 - Endereçamento da rede ............................................................. 46

Tabela 3 - Tags comunicação ..................................................................... 51

Tabela 4 – Resultados caso 1 ..................................................................... 53

Tabela 5 – Resultados caso 2 ..................................................................... 53

Tabela 6 – Resultados caso 3 ..................................................................... 54

Tabela 7 – Resultados caso 4 ..................................................................... 54

Page 10: Desenvolvimento Rev5 Fernando Final 10-08-2012

SUMÁRIO

AGRADECIMENTOS ................................................................................... 5 

RESUMO .................................................................................................... 6 

ABSTRACT ................................................................................................ 7 

LISTA DE FIGURAS .................................................................................... 8 

LISTA DE TABELAS ................................................................................... 9 

SUMÁRIO ................................................................................................ 10 

INTRODUÇÃO .......................................................................................... 11 

1  CONTEXTUALIZAÇÃO ...................................................................... 12 

1.1  Revisão inicial da literatura .............................................................. 14 

1.2  Objetivo ....................................................................................... 14 

1.3  Justificativa .................................................................................. 14 

1.4  Organização do trabalho .................................................................. 15 

2  CONHECENDO AS REDES DE AUTOMAÇÃO ....................................... 16 

2.1  Tipos de redes e protocolos .............................................................. 18 

2.2  Redes ethernet no ambiente industrial ................................................ 21 

2.3  Segurança da informação ................................................................. 24 

3  CONHECENDO BANCO DE DADOS ..................................................... 28 

3.1  Sistemas SGBD ............................................................................. 29 

3.2  Utilização de banco de dados na indústria ............................................ 32 

3.3  Segurança do banco de dados ........................................................... 33 

4  CONTROLADOR LÓGICO PROGRAMÁVEL ......................................... 36 

4.1  Funcionamento do Controlador Lógico Programável ............................. 37 

4.2  Armazenamento do programa aplicativo ............................................. 38 

Page 11: Desenvolvimento Rev5 Fernando Final 10-08-2012

4.3  Linguagem de programação ............................................................. 39 

5  SISTEMAS DE SUPERVISÃO ............................................................... 41 

5.1  Estrutura de funcionamento .............................................................. 42 

6  METODOLOGIA E ESTUDO DE CASO ................................................. 44 

6.1  Metodologia ................................................................................. 44 

6.2  Estudo de caso .............................................................................. 45 

6.2.1  Topologia da rede ....................................................................... 46 

6.2.2  Programação do CLP ................................................................... 47 

6.2.3  Estrutura do banco de dados .......................................................... 49 

6.2.4  Desenvolvimento do sistema de supervisão ...................................... 50 

6.2.5  Coleta e análise dos dados ............................................................ 52 

7  CONCLUSÃO ..................................................................................... 56 

REFERÊNCIAS ......................................................................................... 57 

Page 12: Desenvolvimento Rev5 Fernando Final 10-08-2012

11

INTRODUÇÃO

As constantes evoluções das tecnologias eletrônicas trazem novas formas de

inovar disponibilizando aos usuários de tecnologia meios de aperfeiçoar métodos e

processos. A indústria atual utiliza de novos recursos tecnológicos para otimizar seus

processos produtivos reduzindo custos e tempo em seus processos.

O conceito de automação refere-se a um sistema capaz de controlar seu próprio

funcionamento através de seus mecanismos, algumas vezes sem a interferência humana

(FERREIRA, 2000).

Esta constante evolução tecnológica dentro das indústrias fez com que as

tecnologias que antes eram utilizadas somente para o ambiente corporativo

(departamento de tecnologia da informação) fossem utilizadas e interligadas com o

ambiente de automação industrial, criando um novo departamento denominado

tecnologia da automação.

A integração destes ambientes cria para a indústria uma grande capacidade de

registrar e analisar dados que antes eram de difícil acesso e visualização, com isso é

possível rastrear e localizar falhas no processo produtivo de forma eficiente, agindo

diretamente na causa do problema economizando tempo e dinheiro.

O banco de dados neste contexto é de extrema importância, pois os dados que

forem coletados devem ser armazenados de forma confiável e segura, não permitindo

que informações sejam perdidas por falhas de arquivo e impedindo o acesso indevido a

determinados registros.

A disponibilidade de um sistema de automação pode variar dependendo do

processo e fase em que ele esta inserido, existem casos em que o banco de dados deve

estar totalmente disponível e garantir alta velocidade em sua utilização, por exemplo,

um forno que deve ter dados de temperatura e umidade coletados de 30 sensores e

registrados a cada segundo e seu funcionamento dependa de um software de supervisão

dedicado que acessa o banco de dados e libere o inicio do processo.

Um item de extrema importância é o sigilo das informações registradas no

processo produtivo, o banco de dados deve ser arquitetado de forma que garanta os

devidos acessos aos usuários, utilizando de um sistema de permissões por usuário e

senha.

Page 13: Desenvolvimento Rev5 Fernando Final 10-08-2012

12

1 CONTEXTUALIZAÇÃO

O crescimento acelerado dos sistemas de computação interconectados tem levado

a uma enorme dependência das pessoas e organizações em relação aos dados

armazenados e transmitidos por esses sistemas (STEMMER, 2001).

Uma primeira tentativa da criação das redes de computador ocorreu no inicio dos

anos 60, com o uso da técnica de “Time Sharing”, que foi resultado do desenvolvimento

das teleimpressoras e da tecnologia de transmissão de dados. Esta técnica era

basicamente a interligação de vários terminais em um computador central, permitindo a

interação entre os softwares existentes (STEMMER, 2001).

No ano de 1970 surgiram as primeiras redes de automação, onde os sistemas eram

totalmente analógicos (BERGE, 1998).

Em 1980, surgiram equipamentos de campo tinham a finalidade de transmitir

informações de campo inseridas em determinados processos e eram interligados por

redes Fieldbus (BERGE, 1998).

A indústria automobilística americana deu origem ao CLP (Controlador Lógico

Programável), mais precisamente na Hydronic Division Motors, em 1968, devido a

grande dificuldade de mudar a lógica de controle dos painéis de comando, pois cada

mudança na linha de montagem implicava em altíssimos gastos (BERGE, 1998).

Atualmente o CLP é utilizado em qualquer processo tendo uma grande velocidade

de processamento e capacidade elevada para realizar cálculos complexos.

Com toda essa capacidade de controle os sistemas de automação que utilizam de

uma arquitetura centralizada podem tornar-se caros e complexos. Dividir o controle em

partes menores, podendo ser controladas individualmente, passa a ser, então, uma

solução de maior interesse. As redes de comunicação foram inseridas no CLP

facilitando a integração de controles e a comunicação com outros tipos de equipamentos

em campo, como por exemplo, sensores, medidores, válvulas e atuadores.

Existem no mercado equipamentos e softwares para automação que são abertos a

todos os tipos de sistemas operacionais e que podem ser interligados às redes

corporativas das empresas, onde seus protocolos de comunicação possuem

encapsulamento em pacotes TCP (RODRIGUEZ, 2007).

Page 14: Desenvolvimento Rev5 Fernando Final 10-08-2012

13

A partir deste cenário, surgiram os sistemas historiadores de processo ou PIMS

(“Plant Information Management Systems”), que são capazes de obterem dados e gravar

em um banco de dados temporal, e usados em softwares de controle corporativo

(BARBOSA, 2006).

A integração do ambiente industrial e corporativo é um fato, porém, possuem

características individuais. O ambiente industrial tem como prioridade a produção e a

segurança humana, já o ambiente corporativo prioriza o desempenho e a integridade dos

dados (BARBOSA, 2006). Podem-se visualizar melhor as prioridades de cada ambiente

na Figura 1.

Em alguns sistemas onde os processos são críticos, a disponibilidade dos dados é

feita através da redundância de informações, nos quais existe um CLP primário que

coleta os dados, processa e os envia para a rede. Caso este CLP primário tenha algum

problema, existe um CLP secundário que assumirá o controle instantaneamente, para os

dispositivos controlados pelo CLP essa troca não é percebida pois é feita rapidamente e

seu controle é transferido de forma segura.

Para haver a redundância é necessária uma arquitetura de rede diferenciada. O

conceito é simples: quando um equipamento entra em estado de defeito, o outro assume

imediatamente, garantindo a disponibilidade e a segurança física do sistema. Porem não

é comum encontrar esse tipo de arquitetura devido ao custo elevado do hardware que

deve ter a função de redundância incorporada.

Figura 1 – Prioridade nos ambientes industriais e corporativos. Fonte: (BARBOSA, 2006).

Page 15: Desenvolvimento Rev5 Fernando Final 10-08-2012

14

1.1 Revisão inicial da literatura

Para a elaboração e desenvolvimento deste trabalho foram pesquisadas várias

referencias bibliográficas e documentos técnicos disponibilizados por fabricantes de

equipamentos de automação. Artigos técnicos também foram utilizados, sendo

encontrados na maioria das vezes em revistas especializadas em controle e automação

de processos.

1.2 Objetivo

Este trabalho tem por finalidade o estudo da integração de um banco de dados

com as redes de automação e a criação de um projeto que demonstre esta integração.

Utilizando alguns softwares de mercado o projeto desenvolvido demonstrará a

necessidade desta integração para que dados referentes ao processo sejam aquisitados e

armazenados de forma rápida, correta e segura. Todas as informações armazenadas no

banco de dados podem ser visualizadas por qualquer usuário ou software que tenha

autorização definida no banco de dados, com isso as empresas contam com uma grande

fonte de informações para controle de produção e custos de fabricação.

1.3 Justificativa

A intenção deste trabalho é demonstrar a importância da integração dos dados

adquiridos dos processos industriais com os dados do ERP da empresa, onde os gestores

podem cruzar informações de gastos e custos de produção com informações reais

obtidas das máquinas que realizam o processo produtivo.

As empresas que integrarem seus sistemas de TI com o ambiente de

automação, poderão contar com uma base de dados histórica referente ao processo ou

máquina automatizado, podendo integrar várias máquinas e processos centralizando as

informações em um único banco de dados. Utilizando de uma ferramenta de mercado

integrada em sua base de dados poderão ser criados relatórios e indicadores de produção

paradas e falhas.

Page 16: Desenvolvimento Rev5 Fernando Final 10-08-2012

15

1.4 Organização do trabalho

O trabalho será dividido em 4 capítulos, onde o 1º capitulo será uma breve

introdução descrevendo o trabalho e a forma em que foi organizado, o 2º capitulo

descreve aspectos das redes industriais, o 3º capitulo descreve o banco de dados e sua

utilização na industria, bem como sua segurança, o 4º capitulo apresenta os

controladores lógicos programáveis e seu funcionamento, o 5º capitulo descreve os

sistemas de supervisão, o 6º capitulo apresenta o estudo de caso e o 7º capitulo traz a

conclusão do trabalho.

Page 17: Desenvolvimento Rev5 Fernando Final 10-08-2012

16

2 CONHECENDO AS REDES DE AUTOMAÇÃO

Na década de 80 os primeiros modelos de CLPs foram fabricados com módulos

de comunicação em rede, possibilitando a integração com outros equipamentos

existentes na automação (MORAES e CASTRUCCI, 2001).

Atualmente a maioria dos equipamentos de automação é fabricada com a

capacidade de comunicação em rede, facilitando a integração e supervisão do processo e

para que essa comunicação ocorra entre todos os equipamentos, os mesmos devem ser

interligados e devem utilizar os mesmos meios de transmissão como a Ethernet, RS-

232, RS-485 etc., e o mesmo protocolo de comunicação como Modbus, Profbus,

Fieldbus (BERGE, 1998).

Os fabricantes definem a arquitetura de suas redes levando em conta alguns

requisitos como: garantida de um tempo de resposta médio ou máximo, débito de

informações, robustez, confiabilidade do equipamento e das informações, flexibilidade

(evolutividade e heterogeneidade) são alguns exemplos de requisitos.

Podemos visualizar melhor o papel do CLP em uma rede através da Figura 2,

onde o CLP comunica-se com duas redes distintas, sendo uma rede dos equipamentos

da automação e uma rede para controle da IHM e interligação com a rede corporativa de

computadores. A interligação com a rede corporativa pode ser feita através de um

Switch de rede, roteador ou gateway.

Figura 2 – Rede de automação. Fonte: (BERGE, 1998).

Page 18: Desenvolvimento Rev5 Fernando Final 10-08-2012

17

Algo importante no desenvolvimento de uma arquitetura de rede é a

descentralização da inteligência e da capacidade decisória dos componentes de um

sistema de automação industrial. Estes sistemas são divididos em diferentes níveis

hierárquicos na automação, onde os equipamentos processadores e tomadores de

decisão são interligados através de redes de automação. Com a utilização deste modelo

é possível obter subsistemas independentes e dotados de inteligência local, sem perder o

controle e supervisão central do processo.

Também é possível comunicar vários equipamentos da automação com uma rede

corporativa de computadores, podendo comunicar um CLP com um sistema ERP

(Enterprise Resource Planning – Planejamento de Recursos Empresariais) ou com um

sistema supervisor em um computador qualquer da rede. Isso pode ser feito de duas

maneiras: Todos os equipamentos da automação devem estar interligados na mesma

rede Ethernet da rede corporativa e comunicando-se através do protocolo TCP/IP

(Transmission Control Protocol/Internet Protocol - Protocolo de Controle de

transmissão/Protocolo de Internet), ou o CLP possuir dois módulos de comunicação

distintos, em que num módulo o CLP se comunica com os equipamentos da automação

em um protocolo e meio físico qualquer, e no outro módulo, o CLP se comunica com a

rede corporativa de computadores através da Ethernet utilizando o protocolo TCP/IP

(SOUZA, 2002).

Na Figura 3 podemos observar que existem basicamente três hierarquias (níveis)

dentro de uma rede industrial. A hierarquia mais elevada (conhecida como nível de

informação) é a Ethernet, utilizada essencialmente para interligar PCs com o propósito

de trocarem informação.

A Ethernet é boa quando se quer trocar informação do tipo financeira, inventários

ou da produção, mas poderão surgir problemas ao lidar com informações de tempo real,

como é o caso de um CLP utilizado para ler uma informação de segurança.

O principal problema da rede Ethernet é que não consegue atribuir prioridades às

mensagens e garantir a sua entrega em um determinado espaço de tempo.

A segunda hierarquia é conhecida como o nível de controle. A rede de

comunicação neste nível deverá assegurar a atribuição de prioridades às mensagens,

garantir um determinado tempo de entrega e deverá assegurar a interligação entre CLPs

e com os seus dispositivos de supervisão. Um exemplo de uma rede deste tipo é a

ControlNet, da Allen-Bradley (MECATRÔNICA ATUAL, 2011).

Page 19: Desenvolvimento Rev5 Fernando Final 10-08-2012

18

A terceira hierarquia é conhecida como o nível do dispositivo. Esta rede é usada

fundamentalmente para a ligação de dispositivos que estão mais próximos das

máquinas, tais como sensores e atuadores.

Figura 3 – Os 3 níveis de uma rede industrial. Fonte: (MECATRÔNICA ATUAL,

2011).

Junto com toda a evolução tecnológica da automação industrial surgiram

muitas outras questões que necessitam de uma atenção especial das pessoas ligadas à

área.

“Até a década de 90 o ambiente de automação industrial era totalmente à parte

do ambiente corporativo de uma indústria [...]” (BARBOSA, 2006), no qual redes de

computadores corporativas baseadas no padrão IEEE 802.3 (Ethernet) não eram

interligadas às redes existentes de automação e os equipamentos de automação

possuíam sistemas dedicados e computadores industriais exclusivos.

Redes de automação que se comunicam através do protocolo TCP/IP e estão

interligadas a uma rede corporativa também estão sujeitas a incidentes de segurança,

pois podem ser acessadas facilmente através de seu endereço IP na rede.

2.1 Tipos de redes e protocolos

Não existe um sistema de comunicação único capaz de atender toda a

comunicação existente em uma organização, mas sim uma série de sub-redes locais

Page 20: Desenvolvimento Rev5 Fernando Final 10-08-2012

19

adequadas aos requisitos de comunicação de cada nível. Cada sub-rede será conectada a

uma linha central através de “Gateways”, “Bridges” e “Routers” de modo que todos

sejam acessados pela linha central, formando um sistema único de comunicação,

atendendo toda a organização (STEMMER, 2001).

A maioria das redes de comunicação existentes procuram atender uma

demanda existente nas redes de TI (escritório), baseadas em protocolo CSMA/CD

(Carrier Sense Multiple Acess With Collision Detection) sendo este protocolo o

precursor das redes locais. Porem as redes de automação industrial possuem

características especificas, como: Ambiente hostil de operação (Ruídos nos sinais de

comunicação, temperatura e umidade elevada, poeira, líquidos abrasivos etc.); a

prioridade na troca de informações deve ser entre equipamentos; tempo de resposta e

segurança dos dados são críticos; pode possuir uma quantidade elevada de

equipamentos em rede.

Segundo STEMMER (2001), os protocolos de acesso ao meio podem ser

classificados de maneira geral em 5 categorias:

Alocação fixa: Alocam o meio ás estações por determinados intervalos de

tempo (bandas), independentes de haver ou não necessidade de acesso;

Alocação Aleatória: Permitem acesso aleatório ao meio. Em caso de envio

simultâneo por mais estações, ocorre uma colisão e as estações envolvidas têm

que retransmitir suas mensagens após a resolução do conflito;

Alocação controlada: Cada estação tem direito de acesso apenas quando de

posse de uma permissão, que é entregue as estações segundo alguma sequencia

predefinida (Exemplo: Token-Passing e Master-Slave);

Alocação por reserva: Para poder usar o meio as estações devem reservar

banda com antecedência, enviando requisições a uma estação controladora

durante um intervalo de tempo pré-destinado.

Hibridos: Consistem de 2 ou mais categorias anteriores.

Cada fabricante de equipamento tem seu protocolo de comunicação próprio,

normalmente chamado de protocolo proprietário, o qual é utilizado durante a

programação do equipamento. Alguns além de suportarem o protocolo proprietário,

Page 21: Desenvolvimento Rev5 Fernando Final 10-08-2012

20

suportam protocolos padrões, permitindo comunicação com dispositivos e softwares

fornecidos por outros fabricantes, além da conexão em rede.

“O protocolo Modbus foi desenvolvido pela Modicon Industrial Automation Systems, hoje Schneider, para comunicar um dispositivo mestre com outros dispositivos escravos [...]” (JUNIOR, 2012)

Embora seja utilizado normalmente sobre conexões serial padrão RS-232, o

protocolo Modbus também pode ser usado como um protocolo da camada de aplicação

em redes industriais, tais como TCP/IP sobre Ethernet e MAP (Manufacturing

Automation Protocol - Protocolo de Automatização Industrial). “Este talvez seja o

protocolo de mais larga utilização em automação industrial, pela sua simplicidade e

facilidade de implementação [...]” (JUNIOR, 2012).

Baseado em um modelo de comunicação mestre-escravo, o mestre pode

denominar transações chamadas de queries e os demais dispositivos da rede respondem

suprindo os dados requisitados pelo mestre, ou obedecendo a uma execução por ele

comandada. Os papéis de mestre e escravo são fixos, quando utilizado conexão serial, e

em outros tipos de rede, um dispositivo pode assumir ambos os papéis, mas não ao

mesmo tempo. Na transmissão existe o modo ASCII (American Code For Information

Interchange - Código americano Para Intercâmbio de Informação) e RTU (Remote

Terminal Unit - Unidade Terminal Remota), que são escolhidos na configuração da

parte de comunicação.

O protocolo Profibus é o mais popular em redes de campo, muito comum na

Europa, que domina mais de 60% do seu mercado de automação industrial. Foi

desenvolvido em 1987, como resultado de um projeto alemão envolvendo 21 empresas

e institutos de pesquisa (MENDONZA, FERREIRA e MORAES, 2005).

Também pode ser denominado como um padrão aberto de rede de

comunicação industrial, dispositivos de diferentes fabricantes podem comunicar-se sem

a necessidade de qualquer interface (MENDONZA, FERREIRA e MORAES, 2005).

O protocolo Profibus é usado tanto em aplicações com transmissão de dados

em alta velocidade como em tarefas complexas e extensas de comunicação

(MENDONZA, FERREIRA e MORAES, 2005).

Pode-se utilizar os seguintes padrões para meios de transmissão: RS-485, IEC

61158-2 ou Fibra Óptica (MENDONZA, FERREIRA e MORAES, 2005).

Existem dois tipos de protocolos Profibus, descritos abaixo:

Page 22: Desenvolvimento Rev5 Fernando Final 10-08-2012

21

Profibus-DP (Decentrallised Periphery - Periferia Descentralizada): Otimizado

para alta velocidade de conexão e baixo custo, é o mais utilizado. Foi projetado

para comunicação entre sistemas de controle de automação e suas respectivas

E/S distribuídas (MENDONZA, FERREIRA e MORAES, 2005).

Profibus-FMS (Fieldbus Message Specification): É usado para tarefas mais

complexas, considerado como protocolo de comunicação universal. Oferece

muitas funções sofisticadas de comunicação entre dispositivos inteligentes

(MENDONZA, FERREIRA e MORAES, 2005).

Outro protocolo muito utilizado é o Fieldbus, segundo Berge (1998),

O Fieldbus é um protocolo desenvolvido para automação de sistemas de fabricação, elaborado pela FieldBus Foundation e normalizado pela ISA (The International Society for Measurement and Control - A Sociedade Internacional para Medida e Controle). O protocolo Fieldbus visa à interligação de instrumentos e equipamentos, possibilitando o controle e monitoração dos processos [...]

Geralmente o protocolo Fieldbus é utilizado com os chamados softwares

supervisórios SCADA (Supervisory Control and Data Acquisition - Sistemas de

Supervisão e Aquisição de Dados), que permitem a aquisição e visualização, desde

dados de sensores, até status de equipamentos (BERGE, 1998).

A rede Fieldbus pode cobrir distâncias maiores e comunicar os equipamentos

de E/S mais modernos. Os equipamentos acoplados à rede possuem tecnologia para

trabalhar em funções específicas de controle como loops, controle de fluxo e processos

(MAHALIK, 2003).

2.2 Redes ethernet no ambiente industrial

Redes de computadores são dois ou mais equipamentos ligados um ao outro,

sendo possível assim, compartilhar dados, impressoras, conexões à Internet etc.

(TANENBAUM, 2003).

A comunicação entre os equipamentos dá-se através de meios de acesso,

protocolos e requisitos de segurança (TANENBAUM, 2003).

Page 23: Desenvolvimento Rev5 Fernando Final 10-08-2012

22

As redes são classificadas de acordo com a distância entre os equipamentos que

estarão conectados.

Existem as redes: LAN, CAN, MAN e WAN (TANENBAUM, 2003).

Rede LAN (Local Area Network - Rede de Área Local): É uma rede local.

Abrange, por exemplo, um escritório, residência etc.

Rede CAN (Campus Area Network - Rede de Área campus): É uma rede local

que consegue conectar mais de um prédio em um mesmo terreno.

Rede MAN (Metropolitan Area Network - Rede de Área Matropolitana): É uma

rede usada, por exemplo, por uma rede de supermercados, trocando

informações com outras unidades existentes em outras cidades.

Rede WAN (Wide Area Network - Rede de Área Larga): É uma rede de longa

distância. Interliga variadas localizações geográficas.

Nesse capítulo serão apresentadas as redes Ethernet.

A Ethernet tem pelo IEEE (Institute of Electrical and Electronic Engineers -

Instituto de Engenheiros Elétricos e Eletrônicos), órgão responsável pela tecnologia

Ethernet, o padrão IEEE 802.3, sendo uma rede de transmissão de barramento,

permitindo operações de controle a uma velocidade de 10 ou 100Mbps (bits por

segundo) (TANENBAUM, 2003). Na Tabela 1 é possível visualizar os principais

padrões, funções e descrições de redes Ethernet.

Tabela 1 – Padrões ethernet

Fonte: (JUNIOR, 2012).

“Pode-se concluir que as tecnologias de redes industriais estão em contínua evolução, uma vez que as empresas buscam definir padrões com perfis de redes mais seguras e de alto desempenho [...]” (WATANABE, 2006).

PADRÃO IEEE 802.1p IEEE 802.12d IEEE 802.3x IEEE 802.3z

FUNÇÃO Prioriza

mensagens. Redução de links.

Full Duplex. Aumenta a velocidade.

Gigabit Ethernet. Até 1000Mbps.

DESCRIÇÃO Possui 256 níveis

de prioridade Confiabilidade

para a rede. Comunica-se

bidirecionalmente

Backbone (espinha dorsal) corporativo.

Conexão da Internet do Brasil para outros países.

Page 24: Desenvolvimento Rev5 Fernando Final 10-08-2012

23

Redes industriais são sistemas distribuídos, que representam diversos

dispositivos trabalhando simultaneamente de modo a supervisionar e controlar um

determinado processo. Esses dispositivos, por exemplo, sensores, atuadores, CLPs, PCs;

estão interligados e trocam informações de forma rápida e precisa. Um ambiente

industrial é, geralmente, hostil, de modo que os dispositivos ligados à rede industrial

devem ser confiáveis, rápidos e robustos (OLIVEIRA, 2005).

Para se implementar um sistema de controle distribuído, baseado em redes,

tem-se a necessidade de vários estudos detalhados sobre o processo a ser controlado,

buscando o sistema que melhor se enquadre para as necessidades do usuário (OGATA,

2003).

As redes industriais têm como padrão três níveis hierárquicos, sendo eles

responsáveis pela conexão de diferentes tipos de equipamentos.

O nível mais alto é o que interliga os equipamentos usados para o planejamento

da produção, controle de estoque, estatísticas da qualidade, previsões de vendas.

Geralmente é implementado usando-se programas gerenciais, por exemplo, sistemas

SAP, Arena etc. O protocolo TCP/IP, com padrão Ethernet é o mais utilizado nesse

nível (DECOTIGNIE, 2001, apud SILVA, CRUZ e ROSADO, 2006).

No nível intermediário, encontramos os CLPs, nos quais trafegam,

principalmente, informações de controle de máquina, aquelas informações a respeito do

status de equipamentos como robôs, máquinas ferramentas, transportadores etc.

(OLIVEIRA, 2005).

O terceiro nível é o que se diz referência para a parte física da rede, onde se

encontra os sensores, atuadores, contadores etc.

A classificação das redes industriais:

Rede Sensorbus: É usada para conectar equipamentos simples e pequenos

diretamente à rede. Esses equipamentos precisam se comunicar rapidamente

nos níveis mais baixos, consistem geralmente em sensores e atuadores de

menor valor. Esse tipo de rede se preocupa em manter os custos de conexão o

mais baixo possível (MONTEZ, 2005).

Rede Devicebus: Encontrada entre as redes Sensorbus e Fieldbus cobrindo até

500m de distância. Os equipamentos conectados a Devicebus terão mais pontos

discretos, dados analógicos ou uma mistura dos dois. Em algumas dessas redes

é permitido transferir blocos em prioridade menor se comparado aos dados no

Page 25: Desenvolvimento Rev5 Fernando Final 10-08-2012

24

formato de bytes. Possui os requisitos de transferência rápida de dados como da

rede Sensorbus, conseguindo lidar com mais equipamentos e dados

(MONTEZ, 2005).

Rede Fieldbus: Interliga os equipamentos de I/O mais inteligentes e pode

cobrir maiores distâncias. Os equipamentos conectados nessa rede possuem

inteligência para desempenhar funções específicas de controle, como o controle

de fluxo de informações e processos. Os tempos de transferência são longos,

mas, em compensação, a rede é capaz de se comunicar usando vários tipos de

dados (discreto, analógico, parâmetros, programas e informações do usuário)

(MONTEZ, 2005).

2.3 Segurança da informação

Com o constante avanço tecnológico e o fácil acesso a novas tecnologias,

muitos usuários de computadores têm conhecimento em redes e nos protocolos de

comunicação TCP/IP, junto com este conhecimento, surgem muitos softwares com o

propósito de explorar falhas e danificar ou roubar informações indevidas (BARBOSA,

2006).

A exposição dos sistemas SCADA às ameaças aumenta, à medida que estes são

conectados a um número cada vez maior de redes e sistemas para compartilhar dados e

fornecer serviços on-line (SEVOUNTS, 2011).

Redes de automação que se comunicam através do protocolo TCP/IP e estão

interligadas a uma rede corporativa também estão sujeitas a incidentes de segurança,

pois podem ser acessadas facilmente através de seu endereço IP na rede. A Figura 4

ilustra um exemplo de rede com computadores e CLP na mesma rede com informações

individuais, sendo assim, o nome, IP e máscara de rede são fixos.

Page 26: Desenvolvimento Rev5 Fernando Final 10-08-2012

25

Figura 4 – Rede de automação utilizando protocolo TCP/IP. Fonte: (SEVOUNTS,

2011).

Existem diversas formas de atacar um sistema de automação industrial, seja na

degradação de serviços da rede, ou na exploração de falhas. Alguns itens merecem

destaque, como: propagação de códigos maliciosos, negação de serviços, exploração de

falhas no sistema operacional ou a má configuração dos serviços de rede (PIRES,

OLIVEIRA e BARROS, 2004).

A segurança interna entre os equipamentos da própria rede também deve ser

levada em consideração, pois um usuário dentro da empresa pode ter acessos

privilegiados a informações que não deveria ter, facilitando a liberação de vírus e roubo

de informações.

É necessário saber como são classificadas as ameaças que podem causar

impactos em nossos sistemas, comprometendo os princípios de segurança.

As vulnerabilidades podem estar expostas no hardware, software, meios de

armazenamento ou comunicação.

Devemos primeiramente rastrear e eliminar as vulnerabilidades de um

ambiente de tecnologia de informação, após isso, será possível dimensionar os riscos

aos quais o ambiente está exposto e definir as medidas de segurança mais apropriadas

para o ambiente.

Dentre as vulnerabilidades temos:

Vulnerabilidade Física: Instalações inadequadas, ausência de recursos para

combates a incêndio, disposição desorganizada de cabos de redes, energia.

Vulnerabilidade do hardware: Defeitos de fabricação, configuração de

equipamentos, ausência de proteção contra acesso não autorizado, conservação

inadequada de equipamentos.

Page 27: Desenvolvimento Rev5 Fernando Final 10-08-2012

26

Vulnerabilidade de software: Caracteriza-se normalmente por falhas de

programação, que permitem acessos indevidos ao sistema, liberdade de uso do

usuário.

Vulnerabilidade dos meios de armazenamento: CD-ROM, fitas magnéticas e

discos rígidos, se utilizados de forma inadequada, seu conteúdo poderá estar

vulnerável a uma série de fatores, como confidencialidade de informações.

Vulnerabilidade de Comunicação: Abrange todo o tráfego de informações. O

sucesso no tráfego de dados é um aspecto fundamental para a implementação

da segurança da informação, como está também associada ao desempenho dos

equipamentos envolvidos. Ausência de sistemas de criptografias, por exemplo.

Vulnerabilidade Humana: Relaciona-se a danos que as pessoas podem causar

às informações e ao ambiente tecnológico. A maior vulnerabilidade seria o

desconhecimento das medidas de segurança adotadas que são adequadas para

cada elemento do sistema.

Dentre as principais ameaças às redes de computadores estão os vírus, worms,

cavalos de Tróia e os ataques a sistemas informatizados.

Um vírus pode ser definido como um segmento de código de computador que

se anexa a um programa ou arquivos para se propagar de computador em computador.

Propaga a infecção, à medida que viaja. Os vírus podem danificar o seu software,

equipamento informático e outros arquivos (MICROSOFT, 2011).

Um worm, tal como um vírus, foi concebido para copiar-se de um computador

para outro, mas de forma automática. Em primeiro lugar, toma controle de funções do

computador que permitem transportar arquivos ou informações. O worm, após ter

entrado no sistema, pode movimentar-se sozinho. Um dos grandes perigos dos worms é

o fato de que podem duplicar-se em grande volume. Por exemplo, um worm pode enviar

cópias de si próprio para todas as pessoas que estejam em uma listagem de endereços de

um correio eletrônico, e os computadores dessas pessoas farão o mesmo, causando um

efeito de avalanche, resultando em congestionamentos nas redes das empresas e em toda

a Internet. Quando são libertados novos worms, estes se espalham rapidamente,

congestionam as redes e podem criar grandes períodos de espera para abrir páginas na

internet (MICROSOFT, 2011).

Page 28: Desenvolvimento Rev5 Fernando Final 10-08-2012

27

O cavalo de Tróia propaga-se quando, inadvertidamente, softwares são abertos

por usuários, que pensam estar executando um software de uma fonte legítima. Os

cavalos de Tróia podem também estar incluídos em software disponível para

transferência gratuita (MICROSOFT, 2011).

Os Ataques são eventos que podem comprometer a segurança de um sistema

ou de uma rede. Podem ou não ter sucesso, se tiver, caracteriza-se por uma invasão ou

uma ação que pode ter um efeito negativo (FERNANDO, 2012).

Segundo Fernando (2012), temos duas categorias de ataques:

A primeira envolve conexões permitidas entre um cliente e um servidor,

ataques de canal de comando, direcionados a dados, a terceiros e a falsa autenticação de

clientes.

Já a segunda, envolve ataques que trabalham sem a necessidade de se fazer

conexões, injeção e modificação de dados, negação de serviços etc.

Page 29: Desenvolvimento Rev5 Fernando Final 10-08-2012

28

3 CONHECENDO BANCO DE DADOS

Segundo KORTH (1994) um banco de dados é uma coleção de dados inter-

relacionados, representando informações sobre um domínio específico, ou seja, sempre

que for possível agrupar informações que se relacionam e tratam de um mesmo assunto,

será possível afirmar que é um banco de dados.

Os fundamentos de bancos de dados relacionais surgiram na empresa IBM, nas

décadas de 1960 e 1970, através de pesquisas de funções de automação de escritório.

Foi durante um período da história na qual empresas descobriram que estava muito

custoso empregar um número grande de pessoas para fazer trabalhos como armazenar e

indexar (organizar) arquivos. Por este motivo, valia a pena os esforços e investimentos

em pesquisar um meio mais barato e ter uma solução mecânica eficiente (SANCHES,

2005).

Mesmo a IBM sendo a companhia que inventou o conceito original e o padrão

SQL, eles não produziram o primeiro sistema comercial de banco de dados. O feito foi

realizado pela Honeywell Information Systems Inc., cujo sistema foi lançado em junho

de 1976. O sistema era baseado em muitos princípios do sistema que a IBM concebeu,

mas foi modelado e implementado fora da IBM (SANCHES, 2005).

Muitas atividades que envolvem o uso de banco de dados estão presentes em

nosso cotidiano. O uso de caixa eletrônico, movimentação de dinheiro nos bancos,

reserva de hotéis e passagens de avião, compra de produtos nos supermercados ou

online são exemplos de aplicações que envolvem banco de dados.

Segundo ELMASRI (2005), uma melhor definição do termo banco de dados

pode ser dada nas seguintes propriedades implícitas:

Um banco de dados representa alguns aspectos do mundo real, sendo refletido

por suas mudanças.

Um banco de dados é uma coleção lógica e coerente de dados com algum

significado inerente.

Um banco de dados é projetado, construído e povoado por dados, atendendo a

um propósito específico. Possui usuários e aplicações projetadas conforme as

necessidades destes usuários.

Page 30: Desenvolvimento Rev5 Fernando Final 10-08-2012

29

Um banco de dados pode ser de qualquer tamanho e nível de complexidade,

podemos ter uma aplicação como a de um catálogo de endereços e telefones de uma

empresa pequena como também podemos ter os supercomputadores da receita federal

que registram toda movimentação fiscal e financeira das empresas e pessoas físicas,

estando presente em computadores pessoais, servidores e até mesmo dispositivos

móveis.

Pode ser mantido de forma manual ou automatizado, como, por exemplo, um

sistema de biblioteca onde os dados são alimentados manualmente através da interação

humana ou um sistema que registra temperatura e umidade de determinados ambientes

neste caso é mantido por outros aplicativos escritos especificamente para esta tarefa

(ELMASRI, 2005).

3.1 Sistemas SGBD

Segundo ELMASRI (2005), um sistema gerenciador de banco de dados

(SGDB) é uma coleção de programas que permite aos usuários criar e manter um banco

de dados, sendo, portanto um sistema de software de propósito geral que facilita os

processos de definição, construção, manipulação e compartilhamento de bancos de

dados entre vários usuários e aplicações. A definição de um banco de dados implica

especificar os tipos de dados, as estruturas e as restrições para os dados a serem

armazenados em um banco de dados.

Entre suas principais funções estão a de proteção e manutenção dos dados,

garantindo que o sistema não perca a consistência e acesso ocasionado por falhas no

hardware e software, garante também o acesso conforme a política de segurança

configurada pelo usuário.

O sucesso na utilização de banco de dados em aplicações tradicionais

encorajou desenvolvedores de aplicações complexas a utiliza-los. Estas aplicações

utilizavam seus próprios modelos de arquivos e estrutura de dados. Alguns exemplos de

aplicações:

Aplicações científicas que armazenam uma enorme quantidade de dados e

resultados, como física avançada e mapeamento do genoma humano.

Armazenamento e restauração de imagens, como fotos antigas, notícias,

imagens de satélite, procedimentos médicos (raios-x ou ressonância).

Page 31: Desenvolvimento Rev5 Fernando Final 10-08-2012

30

Armazenamento e recuperação de vídeos.

Aplicações de data mining (mineração de dados) que pesquisam e analisam

grande quantidade de dados.

Aplicações espaciais, como informações metrológicas e mapas.

Informações temporais, que armazenas dados econômicos em intervalos

regulares de tempo.

Segundo SANCHES (2005), tornou-se óbvio que existiam várias áreas onde

bancos de dados simples não eram aplicáveis, por causa dos tipos de dados envolvidos.

Estas áreas incluíam medicina, multimídia e física de energia elevada, todas com

necessidades de flexibilidade em como os dados seriam representados e acessados.

Isso direcionou os profissionais envolvidos com o desenvolvimento dos

SGBDs a adicionar funcionalidades aos seus sistemas. Algumas delas eram de propósito

geral, como o conceito de incorporação dos bancos de dados orientados a objeto aos

sistemas relacionais. Outras funcionalidades eram específicas, na forma de módulos

opcionais que poderiam ser usados para aplicações específicas. Por exemplo, os

usuários poderiam comprar uma série de módulos temporais para usar com seus SGBDs

relacionais nas suas aplicações com as séries temporais.

As primeiras arquiteturas usavam mainframes para executar o processamento

principal e de todas as funções do sistema, incluindo os programas aplicativos,

programas de interface com o usuário, bem como a funcionalidade dos SGBDs. Esta é a

razão pela qual a maioria dos usuários fazia acesso aos sistemas via terminais que não

possuíam poder de processamento, apenas a capacidade de visualização. Todos os

processamentos eram feitos remotamente, apenas as informações a serem visualizadas e

os controles eram enviados do mainframe para os terminais de visualização, conectados

a ele por redes de comunicação. Como os preços do hardware foram decrescendo,

muitos usuários trocaram seus terminais por computadores pessoais e estações de

trabalho. No começo os SGBDs usavam esses computadores da mesma maneira que

usavam os terminais, ou seja, o SGBD era centralizado e toda sua funcionalidade,

execução de programas aplicativos e processamento da interface do usuário eram

executados em apenas uma máquina. Gradualmente, os SGBDs começaram a explorar a

disponibilidade do poder de processamento no lado do usuário, o que levou à arquitetura

cliente-servidor (SANCHES, 2005).

Page 32: Desenvolvimento Rev5 Fernando Final 10-08-2012

31

Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto

qualquer, ignorando características menos importantes, ou seja, são propriedades

comuns de um conjunto de objetos, omitindo os detalhes. O sistema de banco de dados

tem seu lado abstrato para o usuário, ou seja, para o usuário que vai usar o banco de

dados não importa qual unidade de armazenamento, não importa seu tamanho, ou banco

de dados onde vai ser inserido seus dados, o importante é que na hora que for preciso

procurar ou realizar uma consulta todos os dados estejam disponíveis (DATE, 2000).

Segundo DATE (2000), a abstração é dividida em três níveis, descritos abaixo:

Nível de visão do usuário: são as partes do banco de dados que o usuário tem

acesso de acordo com a necessidade individual de cada usuário ou grupo de

usuários.

Nível conceitual: define quais os dados que estão armazenados e qual o

relacionamento entre eles.

Nível físico: é o nível mais baixo de abstração, em que define efetivamente de

que maneira os dados estão armazenados.

Nos SGBDs, em que uma clara separação é mantida entre os níveis conceitual

e físico, a DDL é usada para especificar somente o esquema conceitual. Outra

linguagem, a linguagem de definição de armazenamento “storage definition language”

(SDL), é utilizada para especificar o esquema físico. Os mapeamentos entre os dois

esquemas podem ser estabelecidos em qualquer uma dessas linguagens. Para uma

verdadeira arquitetura de três esquemas, necessitaríamos de uma terceira linguagem, a

linguagem de definição de visões “view definition language” (VDL), para especificar as

visões dos usuários e os seus mapeamentos para o esquema conceitual, mas na maioria

dos SGBDs, a DDL é usada para definir ambos os esquemas, o conceitual e o físico

(ELMASRI, 2005).

Quando os esquemas do banco de dados estiverem compilados e o banco de

dados populado com os dados, os usuários devem ter alguns meios para manipular esse

banco. As manipulações típicas são a recuperação, inserção, remoção e modificação dos

dados. O SGBD fornece uma série de operações, ou uma linguagem chamada

linguagem de manipulação de dados “data manipulation language” (DML), com essa

finalidade (ELMASRI, 2005).

Nos SGBDs atuais, os tipos precedentes de linguagens são considerados

linguagens não distintas; ao contrário, uma linguagem integrada abrangente é usada e

Page 33: Desenvolvimento Rev5 Fernando Final 10-08-2012

32

inclui construções para as definições do esquema conceitual, das visões e da

manipulação de dados. A definição do armazenamento é mantida separada, pois é

utilizada para obter a estrutura física de armazenamento que otimize a performance do

sistema de banco de dados, atividade executada pela equipe do DBA. Um exemplo

típico de linguagem de banco de dados abrangente é a linguagem relacional de banco de

dados SQL, que representa uma combinação da DDL, VDL e DML, como também os

comandos para especificação de restrições, evolução de esquema e outros recursos. A

SDL era um componente nas versões anteriores da SQL, porém foi removida da

linguagem para mantê-la somente nos níveis conceitual e externo (ELMASRI, 2005).

3.2 Utilização de banco de dados na indústria

Muitos sistemas são criados em uma indústria para monitorar processos e obter

dados estatísticos em tempo real de sua produção e máquinas. Esses sistemas podem ser

aqueles que se agregam ao que já existe na planta em termos de automação ou gerência,

ou simplesmente exigirem uma mudança completa de alguns dos sistemas para um

padrão usado por eles. Um exemplo disso são os sistemas SDCD (Sistema Digital de

Controle Distribuído), que apresentam inúmeras vantagens em relação aos sistemas

convencionais de automação (incluindo funções e módulos pré-desenvolvidos), mas que

em plantas atuais dificilmente se integram com a automação existente

(MECATRÔNICA ATUAL, 2011).

Uma solução frequentemente usada para proporcionar essa interligação entre

os diferentes níveis da planta consiste nos sistemas de bancos de dados aliados a

sistemas de supervisão. Frente aos sistemas fechados, que normalmente apresentam um

alto custo e um elevado tempo de desenvolvimento, essa união apresenta um custo

menor e a vantagem de ser criado exatamente de acordo com a necessidade do cliente.

Uma outra justificativa para o estudo de bancos de dados é simplesmente a

difusão de seu uso em plantas industriais. Como o custo de software decresce ano a ano,

e com a tecnologia aplicada a esses softwares se tornando mais acessível, o seu emprego

vem se tornando a cada dia mais comum.

Hoje os sistemas supervisórios desenvolvidos para a indústria não precisam

apenas monitorar alarmes, por exemplo. A aplicação deve monitorar, armazenar

eventos, rastrear mudanças não esperadas, logar variáveis de processo ao longo do

Page 34: Desenvolvimento Rev5 Fernando Final 10-08-2012

33

tempo, entre outras funções. Essas funções normalmente são usadas para confrontar as

vantagens de um sistema “PC+supervisório” com o uso de IHMs (Interface Homem

Máquina) (MECATRÔNICA ATUAL, 2011).

3.3 Segurança do banco de dados

Atualmente com a disseminação da tecnologia o uso de banco de dados é

comum em muitas aplicações, porem um quesito importante é a segurança dos dados

armazenados, existem muitos SGDBs no mercado, porem todos tem características

comuns em relação a segurança. Uma característica é a utilização de autenticação de

usuários individualmente ou por grupos, oferecendo condições de controle de acesso

aos dados, podendo até possuir auditoria nos acessos aos dados.

Segundo SÊMOLA (2003), os princípios da segurança da informação são:

Confidencialidade: Garantia de que a informação é acessível somente por

usuários autorizados ao acesso.

Integridade: A informação é alterada somente pelos usuários autorizados;

Disponibilidade: Garante que os usuários autorizados obtenham acesso á

informação e aos ativos correspondentes sempre que for solicitado;

A principal preocupação dos administradores de rede de sistemas e de banco de

dados é a criação e manutenção de um ambiente seguro para os dados. Pesquisas

mostram que grande parte dos roubos de informações, ataques e acesso não autorizado

são realizados por pessoas com alguma ligação a empresa alvo. O controle de acesso em

sistemas de informação deve garantir que todos os acessos diretos ao sistema ocorram

de forma exclusiva a modalidade e regra imposta por políticas de proteção (VITOR,

2005).

De acordo com (SÊMOLA, 2003), os principais motivos para se proteger uma

informação são: seu valor; impacto de sua ausência; o impacto resultante de seu uso por

terceiros; a importância de sua existência e a relação de dependência com a sua

atividade; a informação deve ser protegida em todo o seu ciclo de vida, desde sua

criação, manuseio, armazenamento, transporte e descarte.

Page 35: Desenvolvimento Rev5 Fernando Final 10-08-2012

34

Os SGDBs para garantir a segurança das informações, devem possuir controles

de redundância, concorrência e a capacidade de manter os dados íntegros, aplicando as

restrições de integridade (VITOR, 2005).

A Figura 5 apresenta um sistema de controle de acesso incluindo assuntos

(usuários e processos) que alcançam objetos (dados e programas) com as operações (ler,

escrever e executar).

Figura 5 - Sistema de controle de acesso. Fonte: (CARDOSO & DA SILVA

apud CASTANO et al. 1995, p.4)

Esta figura mostra um sistema de controle de acesso composto basicamente de

dois componentes: as Políticas de Acesso, que indica as modalidades e tipos de acesso a

serem seguidas, e os Procedimentos de Acesso, que, com base nas regras de acesso, os

pedidos de acesso podem ser permitidos, negados ou podem ser pedidas modificações

no pedido de acesso.

Grande parte dos SGBDs atuais (como por exemplo o MySQL) controla o

acesso aos dados armazenados através de Listas de Controle de Acesso (Access Control

List, ACL). As ACLs são tabelas especiais que possuem informações sobre os

privilégios que cada usuário pode ter em determinado banco de dados.

Quando um usuário se conecta ao banco de dados sua identidade é determinada

pela máquina de onde ele conectou e o nome de usuário que ele especificou. O sistema

concede privilégios de acordo com sua identidade e com o que ele deseja fazer. Assim é

possível que usuários provenientes de diferentes lugares da internet possuam o mesmo

nome de usuário e privilégios totalmente diferentes um do outro.

O controle de acesso é feito em duas etapas: primeiramente o servidor confere

se você pode ter acesso ou não, em seguida, assumindo que você pode conectar, o

Page 36: Desenvolvimento Rev5 Fernando Final 10-08-2012

35

servidor verifica cada requisição feita para saber se você tem ou não privilégios

suficientes para realizar a operação. Por exemplo, se você tentar selecionar linha de uma

tabela em um banco de dados ou apagar uma tabela do banco de dados, o servidor se

certifica que você tem o privilégio select para a tabela ou o privilégio drop para o banco

de dados. Segundo VITOR (2005), Para garantir a segurança do acesso aos dados, é

recomendado o uso de algumas medidas, como:

Nunca fornecer a ninguém (exceto aos usuários administrativos) acesso a

tabela da ACL, caso uma pessoa tenha acesso as senhas de acesso da ACL, ela

poderá facilmente se conectar ao banco com qualquer conta;

Conceder apenas os privilégios necessários para cada usuário, nunca mais do

que isso;

Não manter senhas em texto puro no banco de dados, em vez disso, utilizar

alguma função de criptografia de via única, com SHA1 ou MD5;

Não escolher senhas que contenham palavras existentes em dicionários;

Utilizar um firewall;

Não confiar em nenhum dado inserido pelos usuários, muitos deles podem

tentar atacar o sistema inserindo caracteres especiais nas entradas dos

formulários contendo algum comando prejudicial ao banco, como por exemplo

“DROP DATABASE” ou outros. Portanto sempre procurar alguma forma de

tratar as entradas digitadas pelos usuários a fim de evitar esse tipo de ataque.

Page 37: Desenvolvimento Rev5 Fernando Final 10-08-2012

36

4 CONTROLADOR LÓGICO PROGRAMÁVEL

Entende-se por controlador o dispositivo eletrônico, mecânico ou combinação

de ambos que tem por objetivo controlar um sistema. Os CLPs (Controlador Lógico

Programável), são exemplos de controladores utilizados na otimização de processos

industriais e de manufatura. Foram desenvolvidos inicialmente para atenderem as

indústrias automotivas, que necessitavam constantemente alterar as lógicas de inter-

travamento entre seus equipamentos (ANTONIO, 2001).

Figura 6 – CLP de pequeno porte. Fonte: (ANTONIO, 2001).

Antes do CLP, este feito era realizado substituindo componentes elétricos

(relês, por exemplo) e modificando projetos de grandes grupos de painéis de controle.

As principais vantagens de um CLP em relação a lógicas a relê são:

Menor tamanho físico necessário;

Facilidade de manutenção;

Ser programável (possibilitando alterações de lógicas de controle);

Capacidade de comunicação com sistemas que gerenciam a produção (SCADA,

MES);

As características do CLP devem ser analisadas juntas com as características

do software programador, ou seja, aquele software onde será desenvolvido todo o

aplicativo que irá ser executado no CLP em determinada linguagem de programação.

Existem diversos modelos de diferentes fabricantes de CLPs disponíveis para

compra. No entanto, alguns pontos devem ser levantados e discutidos antes para que

Page 38: Desenvolvimento Rev5 Fernando Final 10-08-2012

37

seja possível determinar qual o modelo mais adequado a ser empregado, principalmente

durante a fase de especificação de um novo projeto (FILHO, 2002).

Sob o ponto de vista funcional, podemos considerar as seguintes funções

executadas por um CLP que devem ser observadas:

Aquisição e Comando;

Armazenamento do programa aplicativo;

Processamento;

4.1 Funcionamento do Controlador Lógico Programável

A função de Aquisição e Comando é realizada ciclicamente pelos módulos de

entrada e saída que podem ser digitais (Binários) ou analógicos (4..20mA, 0..10V,

termopares) (FILHO, 2002).

O tempo entre cada atualização dos pontos de E/S é chamado ciclo de

varredura. Os módulos de entrada aquisitam os sinais do campo e os módulos de saída

realizam acionamentos em campo a cada ciclo de varredura. O ciclo de varredura varia

de 5ms a 600ms, dependendo da rapidez da CPU (Central Processing Unit – Unidade

Central de Processamento) e do tamanho do programa aplicativo, sendo o tempo de

ciclo típico de um CLP da ordem de 100ms. O total de pontos de E/S (entrada digitais

(ED), entradas analógicas (EA), saídas digitais (SD) e saídas analógicas (SA)) é fator

preponderante para determinar o tipo de CLP a ser utilizado de modo a garantir a

performance esperada do sistema. Numa divisão simples, podemos considerar como de

pequeno porte um CLP de até 64 E/S, de médio porte até 500 E/S e de grande porte

acima deste número (FILHO, 2002).

Em pequenos CLPs o barramento de dados é feito na própria placa da CPU,

pois os módulos de aquisição de dados e módulos de saída estão integrados em um só

conjunto. Em CLPs maiores o barramento de dados está na placa traseira do bastidor

onde a CPU e os módulos de aquisição são encaixados. Outro sistema, mais econômico,

utiliza um cabo plano entre os módulos de E/S e a CPU denominado flat-cable. A

desvantagem do flat-cable é que o usuário precisa se lembrar de desconectar o cabo

antes de retirar o módulo, pois, do contrário, poderá danificar o barramento. A maioria

dos CLPs tem diagnóstico na CPU para falha neste barramento. Uma função adicional

oferecida nos CLPs de maior porte é a troca a quente dos módulos de E/S. Esta função

Page 39: Desenvolvimento Rev5 Fernando Final 10-08-2012

38

permite ao usuário trocar um cartão de E/S sem interromper a comunicação no

barramento de dados.

4.2 Armazenamento do programa aplicativo

Ao contrário de programas de computador, os programas aplicativos de CLPs

em linguagem Ladder, são pequenos, e para aplicação de cerca de 500 pontos de

entradas e saídas podem ser menores que 64 kbytes. O programa aplicativo fica

guardado na memória de programa, que pode ser uma EPROM , RAM alimentada com

bateria ou FLASH. O sistema de armazenamento em memória RAM alimentada por

bateria é muito susceptível a perda de programa, uma vez que a bateria pode perder a

carga e, nesse caso, se o CLP for desligado o programa é perdido (ANTONIO, 2001).

A memória RAM é utilizada somente como local provisório de armazenamento

do programa durante o start-up do sistema, uma vez que sua gravação é muito rápida. A

memória EPROM é bastante segura quanto a perda de programas, sendo utilizada para

gravar a versão final do programa. Devido à dificuldade de gravação da EPROM que

necessita de gravador especial e à dificuldade de reaproveitamento, visto que é

necessário apagar a memória com luz ultravioleta para uma nova gravação, este tipo de

memória de programa deixou de ser empregada para esta finalidade. (FILHO, 2002)

Atualmente, a memória mais utilizada é a memória FLASH, que permite gravar

e apagar eletricamente, não perde os dados sem energia e permite até 1000 regravações,

além de ter capacidade bem superior chegando a armazenar programas de até 1000

kbytes ou 1 Mbyte.

O processo de transferir o programa aplicativo da memória RAM para a

FLASH é bastante simples, basta um comando no software de programação do CLP.

Este critério varia bastante entre os fabricantes de CLPs. Alguns informam o

tempo para executar X kbytes de programa aplicativo, independentemente das

instruções existentes, outros dão o tempo de execução para cada tipo de instrução, e

assim por diante. Por exemplo, em CPUs de médio porte – de 5ms para cada 1000

instruções de contato, e nas CPUs de grande porte esse tempo é menor que 2ms.

O tempo de ciclo representa o tempo gasto pela CPU em aquisitar as entradas,

processar o programa aplicativo e atualizar as saídas (comandos). Este tempo deve ser

analisado com cuidado em aplicações com grande número de E/S, com programa

Page 40: Desenvolvimento Rev5 Fernando Final 10-08-2012

39

complexo ou em aplicações onde se necessita tempo de varredura menor que 20ms

(ANTONIO, 2001).

Em aplicações críticas, é comum o usuário desejar que determinados trechos

de programa ou determinadas entradas, sejam “varridas” em tempos menores que

outros. Ou seja, o tempo de ciclo global pode ser de 100ms desde que alguns trechos de

programa ou determinadas entradas sejam atendidas em tempos menores, por exemplo,

a cada 10ms. Alguns CLPs possuem esta função que prioriza a varredura de pequenos

trechos de programa (interrupção por software) ou de determinados pontos de entrada

(interrupção de hardware).

Esta função é bastante desejável em aplicações onde é necessário que a CPU

realize ações baseadas no horário como, por exemplo, acionar o início de um processo

em uma determinada hora programada.

A capacidade de memória deve ser calculada para atender a demanda do

aplicativo que será desenvolvido, com uma folga para atender futuras modificações e

implementações. Em CLPs menores a capacidade de memória é reduzida, uma vez que

o número de pontos a controlar é pequeno.

Considerando linguagem Ladder, uma capacidade adequada para um CLP de

16 ED e 16 SD é 32 kbytes ou 64 kbytes, e para CLPs de grande porte este número pode

ser de 1 Mbyte.

4.3 Linguagem de programação

A linguagem de programação é a interface entre o usuário e as instruções que

serão processadas pelo microprocessador do CLP; após escrito o programa pelo usuário,

este é compilado em linguagem de máquina e em seguida transferido para o CLP.

A função das linguagens de programação é tornar a programação mais

amigável, facilitando a automação de máquinas e processos através de uma sintaxe

adequada.

Segundo FILHO (2002), as principais formas de linguagens de programação

são apresentadas a seguir:

Diagrama de Contatos (Ladder Diagram): É uma forma de programação

gráfica que se assemelha a uma lógica de relés, bastante utilizada na indústria

Page 41: Desenvolvimento Rev5 Fernando Final 10-08-2012

40

manufatureira, sendo a preferida pelo pessoal de manutenção, principalmente

os eletricistas, devido à sua semelhança com os esquemas elétricos.

Diagrama de Blocos (Control System Flowchart): É uma linguagem de

programação gráfica, cujos símbolos são representações normalizadas de

funções lógicas booleanas, tais como : AND, OR, NAND, NOR, NOT, XOR.

Lista de Instruções (Statement List): É uma forma de se programar utilizando

instruções que se assemelham a linguagens de programação como o assembly,

por exemplo. Em termos de recursos, é mais abrangente que as duas anteriores.

A lógica matemática ou simbólica visa superar as dificuldades e ambiguidades

de qualquer língua, devido a sua natureza vaga e equívoca das palavras usadas e do

estilo metafórico e, portanto, confuso que poderia atrapalhar o rigor lógico do

raciocínio. Para evitar essas dificuldades, criou-se uma linguagem lógica artificial.

A lógica binária possui apenas dois valores que são representados por : 0 e 1. A

partir desses dois símbolos construímos então uma base numérica binária. A partir

desses conceitos foram criadas as portas lógicas, que são circuitos utilizados para

combinar níveis lógicos digitais de formas específicas.

As vantagens e desvantagens de cada uma das formas de linguagem de

programação são dependentes dos conhecimentos do programador. A linguagem mais

difundida até agora tem sido o diagrama de contatos, devido a semelhança com os

esquemas elétricos usados para o comando convencional e a facilidade de visualização

nas telas de vídeo dos programadores (WEG, 2002).

Page 42: Desenvolvimento Rev5 Fernando Final 10-08-2012

41

5 SISTEMAS DE SUPERVISÃO

Os sistemas de supervisão ou supervisórios permitem que sejam monitoradas e

rastreadas informações de um processo produtivo ou instalação física. Tais informações

são coletadas através de equipamentos de aquisição de dados e, em seguida,

manipulados, analisados, armazenados e, posteriormente, apresentados ao usuário. Estes

sistemas também são chamados de SCADA (Supervisory Control and Data Aquisition)

(GONÇALVES, 2012).

Os primeiros sistemas SCADA, basicamente telemétricos, permitiam informar

periodicamente o estado corrente do processo industrial, monitorando sinais

representativos de medidas e estados de dispositivos, através de um painel de lâmpadas

e indicadores, sem que houvesse qualquer interface com o operador.

Atualmente, os sistemas de automação industrial utilizam tecnologias de

computação e comunicação para automatizar a monitoração e controle dos processos

industriais, efetuando coleta de dados em ambientes complexos, eventualmente

dispersos geograficamente, e a respectiva apresentação de modo amigável para o

operador, com recursos gráficos elaborados (interfaces homem-máquina) e conteúdo

multimídia.

Para permitir isso, os sistemas SCADA identificam os tags, que são todas as

variáveis numéricas ou alfanuméricas envolvidas na aplicação, podendo executar

funções computacionais (operações matemáticas, lógicas, com vetores ou strings etc) ou

representar pontos de entrada / saída de dados do processo que está sendo controlado.

Neste caso, correspondem às variáveis do processo real (ex: temperatura, nível, vazão

etc), se comportando como a ligação entre o controlador e o sistema. É com base nos

valores das tags que os dados coletados são apresentados ao usuário. Os sistemas

SCADA podem também verificar condições de alarmes, identificadas quando o valor da

tag ultrapassa uma faixa ou condição pré-estabelecida, sendo possível programar a

gravação de registros em bancos de dados, ativação de som, mensagem, mudança de

cores, envio de mensagens por pager, e-mail, celular etc (DANEELS, 2012).

Page 43: Desenvolvimento Rev5 Fernando Final 10-08-2012

42

5.1 Estrutura de funcionamento

Segundo GONÇALVES (2012), internamente, os sistemas SCADA geralmente

dividem suas principais tarefas em blocos ou módulos, que vão permitir maior ou menor

flexibilidade e robustez, de acordo com a solução desejada. Em linhas gerais, podemos

dividir essas tarefas em:

Núcleo de processamento;

Comunicação com periféricos;

Gerenciamento de Alarmes;

Históricos e Banco de Dados;

Lógicas de programação interna (Scripts) ou controle;

Interface gráfica;

Relatórios;

Comunicação com outras estações SCADA;

Comunicação com Sistemas Externos / Corporativos;

Outros.

O funcionamento de um sistema SCADA parte dos processos de comunicação

com os equipamentos de campo, cujas informações são enviadas para o núcleo principal

do software. O núcleo é responsável por distribuir e coordenar o fluxo dessas

informações para os demais módulos, até chegarem na forma esperada para o operador

do sistema, na interface gráfica ou console de operação com o processo, geralmente

acompanhadas de gráficos, animações, relatórios etc, de modo a exibir a evolução do

estado dos dispositivos e do processo controlado, permitindo informar anomalias,

sugerir medidas a serem tomadas ou reagir automaticamente (DANEELS, 2012).

As tecnologias computacionais utilizadas para o desenvolvimento dos sistemas

SCADA têm evoluído bastante nos últimos anos, de forma a permitir que, cada vez

mais, aumente sua confiabilidade, flexibilidade e conectividade, além de incluir novas

ferramentas que permitem diminuir cada vez mais o tempo gasto na configuração e

adaptação do sistema às necessidades de cada instalação.

Os componentes físicos utilizados por um sistema de supervisão são resumidos

de forma básica em: sensores e atuadores, redes de comunicação, estações remotas e de

monitoração central.

Page 44: Desenvolvimento Rev5 Fernando Final 10-08-2012

43

Figura 7 – Sistema de supervisão e controle. Fonte: (GONÇALVES, 2012).

Os sensores são equipamentos conectados ao CLP ou equipamento em campo e

monitorado pelos sistemas SCADA, que contem parametrização para controle de

tomada de decisão em função de sua variação, tal monitoração pode ser visualizada na

figura 7.

As estações de monitoração central são as unidades principais dos sistemas

SCADA, sendo responsáveis por recolher a informação gerada pelas estações remotas e

agir em conformidade com os eventos detectados, podendo ser centralizadas num único

computador ou distribuídas por uma rede de computadores, de modo a permitir o

compartilhamento das informações coletadas.

Page 45: Desenvolvimento Rev5 Fernando Final 10-08-2012

44

6 METODOLOGIA E ESTUDO DE CASO

Após levantamento acadêmico realizado, pesquisando em revistas

especializadas em automação e obtendo informações sobre softwares, equipamentos e

fabricantes atuantes nas indústrias será desenvolvido um projeto para aplicar os

conhecimentos teóricos na pratica, utilizando de ferramentas e técnicas atuais de

mercado.

Com o projeto será possível levantar algumas questões de desempenho e

segurança em aplicações que utilizam as mesmas redes para automação e TI.

6.1 Metodologia

No desenvolvimento desse trabalho foi realizada pesquisa bibliográfica,

procurando estabelecer uma metodologia para a criação de uma proposta de um projeto

de automação para a comunicação de equipamentos de campo com um sistema de

supervisão e um banco de dados.

Será desenvolvido um estudo de caso da criação do projeto de automação,

focando em obter dados para três questões de grande importância: Desempenho,

qualidade e segurança nas informações transmitidas, obtidos através do

desenvolvimento de uma aplicação onde serão interligados o CLP e um sistema de

supervisão.

Desempenho: Serão analisadas questões relativas a velocidade de rede

programada e obtida durante os testes, estas podem variar conforme o tipo de

rede escolhida, meio físico para transmissão e distância entre os pontos de

comunicação. Também será analisado o desempenho do banco de dados para

gravar uma grande quantidade de dados ao mesmo tempo vindos da rede de

automação.

Qualidade: A qualidade será um ponto muito importante, pois ela pode

englobar mais de uma questão como, por exemplo: disponibilidade dos dados,

perdas na transmissão, falhas em sensores ou outros equipamentos que possam

gerar dados imprecisos para o equipamento de automação utilizado. Em nosso

Page 46: Desenvolvimento Rev5 Fernando Final 10-08-2012

45

estudo será focada a disponibilidade do sinal de rede, falhas na transmissão /

recepção do sinal e disponibilidade do banco de dados.

Segurança: Um item muito importante mas pouco levado a sério na industria

para as redes de automação, para a segurança serão analisadas formas de

acesso, aquisição e escrita de dados sem permissão na rede de automação.

Também será analisada a segurança de acesso ao banco de dados.

6.2 Estudo de caso

O intuito do projeto é coletar dados para uma analise técnica e apresentar os

resultados, com isso será possível entender melhor o funcionamento de uma rede de

automação e sua interação com uma rede comum de TI, a automação tem como objetivo

coletar e armazenar dados da rede de automação no banco de dados.

Serão criadas duas redes, sendo uma rede de automação e outra rede de

computadores as redes serão interligadas através de um switch não gerenciável e o

protocolo será o Modbus TCP/IP.

O CLP será programado para disponibilizar a contagem de 3 contadores

distintos, onde cada contador terá sua contagem realizada em uma base de tempo

diferente. O software de supervisão devera requisitar a contagem e armazenar no banco

de dados sem perder a sequência, com isso será possível analisar a velocidade de

transmissão de rede e a qualidade dos dados.

O software será testando nas seguintes situações:

Comunicação somente entre o CLP e o software de supervisão, com um

switch único e exclusivo sem interferência externa;

Comunicação entre o CLP e o software de supervisão, interligados em

um switch de rede corporativa com mais 20 computadores;

Comunicação entre o CLP e o software de supervisão, com um switch

único, porem com um computador adicional efetuando comando ping

no IP do computador;

Comunicação entre o CLP e o software de supervisão, com um switch

único, porem com um computador adicional efetuando comando ping

no IP do CLP;

Page 47: Desenvolvimento Rev5 Fernando Final 10-08-2012

46

Nos testes de segurança serão realizadas tentativas de acesso na porta de

comunicação do CLP da rede Modbus TCP/IP e tentativas de acesso ao banco de dados

com usuário padrão do banco.

6.2.1 Topologia da rede

A rede foi projetada de forma simples, tendo no lado da rede de automação um

único CLP da linha Twido fabricado pela empresa Schneider Electric, modelo

TWDLCAE40DRF que irá gerar dados sequenciais em uma determinada frequência e

através do protocolo Modbus TCP/IP irá trocar dados com a rede de TI, nesta um

computador com o software de supervisão Elipse E3 será responsável em coletar dados

do CLP e gravar as informações em um banco de dados SQL Server 2008. Abaixo a

topologia da rede.

Figura 8 - Topologia da rede.

Para a comunicação dos equipamentos na rede TCP/IP será necessária a

configuração dos IPs, neste caso como estão interligados através de um switch será

necessário que estejam dentro da mesma faixa de IPs e com a máscara de rede

compatível com sua numeração, definidos nesta pesquisa como exibida na Tabela 2:

Tabela 2 - Endereçamento da rede

Equipamento IP Máscara

CLP 192.168.0.60 255.255.255.0

SUPERVISÃO 192.168.0.220 255.255.255.0

Page 48: Desenvolvimento Rev5 Fernando Final 10-08-2012

47

A comunicação TCP/IP do CLP é feita através da porta TCP 502, onde o

sistema de supervisão devera estabelecer uma conexão com esta porta e requisitar os

dados dos endereços de memória disponibilizados.

O protocolo Modbus (Figura 7) fornece uma comunicação cliente / servidor

entre os dispositivos conectados em uma rede Ethernet TCP/IP, seu serviço mensageiro

é baseado nas seguintes mensagens:

Solicitação Modbus: Mensagem enviada na rede pelo cliente para iniciar a

transação.

Indicação Modbus: É a mensagem de solicitação recebida no lado do servidor.

Resposta Modbus: É a mensagem de resposta enviada pelo servidor.

Confirmação Modbus: É a mensagem de resposta recebeu no lado do cliente.

Figura 9 - Modelo cliente / servidor Modbus. Fonte: (MODBUS.ORG, 2006).

Os serviços mensageiros (modelo Cliente / Servidor) são usados para a troca

de informação em tempo real entre dois aplicativos de dispositivos; entre a aplicação do

dispositivo e outro dispositivo; entre IHM / SCADA aplicativos e dispositivos; entre

um PC e um programa de dispositivo que fornece serviços online.

6.2.2 Programação do CLP

O CLP Twido utiliza software próprio da Schneider Electric para programação,

este software chamado de TwidoSuite permite a que a programação seja feita em

Ladder.

Denominada de diagrama de contatos, ou Ladder em inglês que significa

“escada”, nome este dado por causa da similaridade da linguagem com o objeto de uso

diário. A simbologia na linguagem de programação Ladder segue a padrões e normas

internacionais, apesar de há uma pequena variação em alguns símbolos dentre os

diferentes fabricantes.

Page 49: Desenvolvimento Rev5 Fernando Final 10-08-2012

48

Para programação tipo Ladder, a tela de edição apresenta “células” orientadas

de edição visíveis através de um grid, na qual, cada célula pode apresentar apenas um

objeto. Esta tela é dividida em 256 linhas e 11 colunas, representando assim um total de

2816 objetos disponíveis para serem usados em cada tela de edição.

Os objetos referem-se a contatos, bobinas e blocos de funções.

Existem quatro tipos de contatos que podem ser utilizados na programação em

Ladder. Os contatos estão indicados na Tabela 3 representam entradas de informações

digitais ao software de controle, relacionando-se entre si e entre outras variáveis

internas a fim de acionar bobinas de saída, gerar referência analógica ou mesmo realizar

uma função matemática ou armazenar algum dado na memória interna do programa.

Tabela 3 – Contatos Digitais utilizados na programação Ladder

Designação Símbolo Descrição

Normalmente Aberto

Quando acionado, o contato NA (Normalmente Aberto) permite a continuação da execução do programa na linha em que foi inserido.

Normalmente Fechado

Quando acionado, o contato NF (Normalmente Fechado) bloqueia a continuação da execução do programa na linha em que foi inserido.

Ativado na Borda Positiva de transição

Como em um contato NA, no entanto seu acionamento ocorre durante alguns ms, na energização de uma entrada ou bobina digital.

Ativado na Borda Negativa de transição

Como em um contato NA, no entanto seu acionamento ocorre durante alguns ms, na desenergização de uma entrada ou bobina digital.

Fonte: (SCHNEIDER, 2012).

Na Figura 8 esta definido o fluxograma de funcionamento do software

programado no CLP, o funcionamento consiste basicamente em 3 contadores que irão

contar de 0 até 1.000 porem cada contador vai contar em uma base de tempo diferente,

no primeiro contador a base de tempo será de 10ms, para o segundo contador a base de

tempo será de 100ms e no terceiro contador a base de tempo será 500ms.

Page 50: Desenvolvimento Rev5 Fernando Final 10-08-2012

49

Figura 10 - Fluxograma software.

Após a liberação do início do programa realizado via software de supervisão e

liberação interna do CLP os bloqueios são ressetados e o sistema começa a contagem

temporizada, cada variável do tipo Word conta de 0 até 1.000 e após atingir o limite de

contagem fica pausado e bloqueado. Somente quando o software de supervisão liberar a

contagem já iniciada ou iniciar uma nova contagem o sistema é ressetado.

6.2.3 Estrutura do banco de dados

O banco de dados foi desenvolvido de forma simples, tendo duas tabelas

responsáveis pelo armazenamento das informações de forma consistente, nomeado de

“INTEGRACAO”.

Page 51: Desenvolvimento Rev5 Fernando Final 10-08-2012

50

A tabela de nome “TB_CABECALHO” será responsável em armazenar as

informações de inicio do teste, fim do teste e a sua duração em segundos, todo teste

realizado deve ter um registro único que identifique e diferencie dos demais.

A tabela de nome “TB_HISTORICO” será responsável em armazenar as

informações do teste enviadas pelo CLP através do supervisório, tendo como

identificação sua chave primária única e uma chave estrangeira vinda da tabela

“TB_CABECALHO”.

Figura 11 - Diagrama das tabelas.

O intuito da criação de uma única tabela para coletar os valores das 3 bases de

tempo é justamente forçar a quantidade de escritas em uma única tabela, pois valores

repetidos serão lançados nas bases de 100ms e 500ms enquanto que na base de 10ms a

repetição não ocorrerá. Mas este caso será tratado na análise dos resultados finais.

Apenas 1 usuário será cadastrado no sistema, nomeado de “SUPER” este

usuário terá acesso somente a escrita e leitura nas tabelas “TB_CABECALHO” e

“TB_HISTORICO”. Este usuário será utilizado pelo supervisório para acesso ao banco

de dados.

6.2.4 Desenvolvimento do sistema de supervisão

O software de supervisão tem como objetivo intermediar a comunicação do

CLP com o banco de dados, neste caso ele é responsável em traduzir o protocolo

Modbus e coletar os registros específicos dos contadores, armazenando no banco de

dados corretamente.

Page 52: Desenvolvimento Rev5 Fernando Final 10-08-2012

51

O Driver de Comunicação é o módulo do E3 que possibilita a comunicação

com um determinado equipamento usando arquivos .dll. Estes drivers são

desenvolvidos pela Elipse Software, bem como por terceiros, a partir de um DDK

(Driver Development Kit), fornecido pela Elipse, em linguagem C/C++. Cada driver

implementa uma família de equipamentos ou protocolos diferentes de acordo com o tipo

de equipamento ou protocolo de comunicação, neste caso o driver utilizado é do

protocolo Modbus TCP/IP.

A forma que o software de supervisão se comunica com o CLP é através de

Tags de comunicação que possibilitam a leitura ou a escrita de um conjunto de valores

utilizando o driver de comunicação. Os Tags são utilizados para definir a troca de

informações com os equipamentos de aquisição, que consistem em uma única variável

independente.

O Tag de Comunicação pode ser uma variável analógica, entrada, saída,

contador, ponto digital etc. Vários pontos digitais podem ser agrupados no tag e serem

acessados através de suas propriedades, como bits de dados. Os Tags de Comunicação

são configurados através de uma série de parâmetros N (N1 a N4), que variam de

acordo com o driver de comunicação a ser utilizado.

Neste caso como exibe a Tabela 3 serão utilizados os seguintes Tags:

Tabela 3 - Tags comunicação

Nome EndereçoVarredura

(ms) Descrição

INICIAR %MW5 1000 Inicia os testes FIM_CONTADOR_500 %MW50 10 Indica fim do contador 500msFIM_CONTADOR_100 %MW51 10 Indica fim do contador 100msFIM_CONTADOR_10 %MW52 10 Indica fim do contador 10ms

CONTADOR_500 %MW20 10 Valor de contagem atual para 500ms

CONTADOR_100 %MW30 10 Valor de contagem atual para 100ms

CONTADOR_10 %MW40 10 Valor de contagem atual para 10ms

SELECAO_TEMPORIZADOR %MW200 1000 Seleção do temporizador para contagem

Os Tags acima serão utilizados para iniciar a contagem e o sistema de teste,

também informando o andamento da contagem e o fim de cada contador temporizado. O

Page 53: Desenvolvimento Rev5 Fernando Final 10-08-2012

52

tag “SELEÇÃO_TEMPORIZADOR” define em qual temporizador o contador será

iniciado.

O banco de dados será disponibilizado através de uma conexão especifica

utilizando usuário previamente cadastrado no banco de dados, nomeado de “SUPER”.

Esta conexão é feita e gerenciada diretamente pelo software de supervisão com

o banco de dados SQL Server.

Figura 12 - Configuração da conexão com banco de dados.

Toda vez que o teste for iniciado será gravado um registro na tabela

“TB_CABECALHO” com a data de inicio, ao decorrer do teste os dados do contador

selecionado serão gravados na tabela “TB_HISTÓRICO”, registrando a chave da tabela

de cabeçalho os valores de contagem e a data / hora em que o banco de dados gravou o

registro. Quando o teste for finalizado será modificado o registro em aberto da tabela de

cabeçalho para que o campo “DATA_FIM” seja preenchido com a data de finalização

do teste e o campo “DURACAO_SEG”, seja preenchido com a duração do teste em

segundos.

6.2.5 Coleta e análise dos dados

Os dados coletados do sistema foram registrados em condições de teste

controladas. Para a coleta dos dados foi utilizado computador Intel Core I5 3.2GHz com

8 GB de memória e HD de 1TB, placa de rede com conexão de 100 MB/seg e sistema

operacional Microsoft Windows 7 64 bits, neste computador foram instalados os

softwares Elipse E3 versão 3.5 build 346 e Microsoft SQL Server 2008 R2. O switch

Page 54: Desenvolvimento Rev5 Fernando Final 10-08-2012

53

utilizado para comunicação entre o CLP e o software de supervisão é da empresa

Schneider Electric modelo: ConneXium 499 NES 25100 – 10/100 MB/seg Base TX, o

switch utilizado para comunicação entre o CLP, software de supervisão e outros

computadores da rede corporativa é da empresa Dlink modelo DES-1024D 10/100

MB/seg.

A coleta de dados ocorreu nas seguintes situações:

Caso 1: Comunicação somente entre o CLP e o software de supervisão,

com um switch único e exclusivo sem interferência externa, dados na

tabela 4.

Caso 2: Comunicação entre o CLP e o software de supervisão,

interligados em um switch de rede corporativa com mais 20

computadores, dados na tabela 5.

Caso 3: Comunicação entre o CLP e o software de supervisão, com um

switch único, porem com um computador adicional efetuando comando

ping no IP do computador, dados na tabela 6.

Caso 4: Comunicação entre o CLP e o software de supervisão, com um

switch único, porem com um computador adicional efetuando comando

ping no IP do CLP, dados na tabela 7.

Tabela 4 – Resultados caso 1

Tempo do contador

Duração Acertos Erros Quantidade de registros

500ms 532 Seg. 100% 0% 1000 100ms 106 Seg. 99% 1% 1000 10ms 15 Seg. 0% 100% 836

Tabela 5 – Resultados caso 2

Tempo do contador

Duração Acertos Erros Quantidade de registros

500ms 528 Seg. 100% 0% 1000 100ms 106 Seg. 99% 1% 1000 10ms 14 Seg. 0% 100% 826

Page 55: Desenvolvimento Rev5 Fernando Final 10-08-2012

54

Tabela 6 – Resultados caso 3

Tempo do contador

Duração Acertos Erros Quantidade de registros

500ms 533 Seg. 100% 0% 1000 100ms 106 Seg. 99% 1% 1000 10ms 15 Seg. 0% 100% 817

Tabela 7 – Resultados caso 4

Tempo do contador

Duração Acertos Erros Quantidade de registros

500ms 526 Seg. 100% 0% 1000 100ms 105 Seg. 99% 1% 1000 10ms 16 Seg. 0% 100% 840

Também foi realizada tentativa de acesso na porta TCP 502 do CLP, esta porta

foi conectada com sucesso devido a não ter restrições de acesso, em casos onde todas as

portas de rede devem ser monitoradas será necessário o uso de firewall para controle de

acesso, visto no capitulo 2.3.

No caso do banco de dados o usuário “sa” deve ser desabilitado ou modificado

sua senha para que o banco de dados não fique vulnerável a falhas já conhecidas e

exploradas por usuários mais avançados, não foi possível acesso ao banco de dados com

usuário diferente do administrador ou o usuário cadastrado para a aplicação com nome

de “SUPER”.

Analisando os resultados obtidos é possível observar que a variação do dado

coletado em função do tempo influencia diretamente o histórico coletado e armazenado

em um banco de dados, onde quanto mais rápida a sua variação menor são as

possibilidades de um histórico preciso. Em todos os casos os resultados foram

praticamente os mesmos, tendo pequenas variações nas coletas efetuadas com base de

tempo em 10ms.

A total imprecisão da correta sequencia de dados e seu armazenamento no

banco de dados para o tempo de 10ms ocorreu devido a incapacidade de sincronismo

entre o CLP e o sistema de supervisão para este intervalo de tempo, neste caso esta

incapacidade não esta ligada diretamente a influencias de outros equipamentos da

mesma rede e sim a velocidade de transmissão dos dados na rede.

Page 56: Desenvolvimento Rev5 Fernando Final 10-08-2012

55

O tempo de variação e coleta de dados ideal demonstrou ser o de 100ms, onde

dos 1.000 registros apresentados pelo CLP o sistema de supervisão consegui coletar e

armazenar 100% com total precisão na sequencia de variação.

É possível afirmar baseado nas configurações de rede testadas em um ambiente

ideal que a comunicação exclusiva de um CLP com um sistema de supervisão não traz

benefícios para a melhora da performance de comunicação. A separação das redes

industriais com as redes corporativas deve ser feita levando em considerações outras

questões importantes, como: segurança, integridade, disponibilidade dos sistemas e

organização, vistos no capitulo 1.

É comum encontrar situações como a deste estudo de caso em muitas

empresas, onde alguns processos necessitam ser monitorados e registrados em um banco

de dados para um histórico de seu andamento. Este trabalho teve como principal

objetivo o estudo da integração de um banco de dados com redes de automação,

provando ser perfeitamente utilizável a técnica, porem com atenção no período de

tempo em que o dado deve ser monitorado.

Os resultados podem sofrer variação nos diferentes tipos de CLPs, sistemas de

supervisão e banco de dados encontrados no mercado, porem os fabricantes e

equipamentos utilizados neste estudo de caso são de uso comum e tem uma grande

aceitação no mercado nacional.

Page 57: Desenvolvimento Rev5 Fernando Final 10-08-2012

56

7 CONCLUSÃO

Como pode ser percebido, algumas variações na rede de comunicação não

causam grandes mudanças nos resultados de leitura e armazenamento dos dados. Nas

redes Ethernet uma comunicação mais rápida e precisa, não é possível, devido as

características do protocolo TCP/IP o que causa um pequeno atraso em relação as redes

seriais que possuem um protocolo mais simplificado.

Em nosso estudo a tentativa de leitura e armazenamento no banco de dados

com as variações de contagem feitas em 10ms ficaram totalmente fora do desejado,

apresentando uma variação muito grande na sua sequência, provando a inviabilidade do

sistema para leituras em pequenos intervalos de tempo. No caso das contagens feitas

com variação de 100ms e 500ms o sistema registrou no banco de dados com margens de

erro quase nulas, provando que em intervalos de tempo maiores a leitura e gravação das

variáveis no banco de dados podem ser realizadas garantindo a integridade dos dados.

Neste caso o ambiente de teste foi controlado, porem em ambientes industriais os

resultados podem variar devido a existência de outros tipos de interferências externas

como radiofrequência ou falhas de comunicação dos equipamentos de rede.

Quanto a segurança da rede de automação é necessário atentar para a porta de

comunicação TCP 502 específica para o protocolo Modbus TCP/IP, utilizando firewall

para bloqueio de acessos não autorizados, podendo liberar somente os IPs das máquinas

que realmente irão acessar o sistema para aquisitar dados ou programar o CLP. O ideal é

separar as redes de automação das redes corporativas unindo estas somente por um

computador que faça o roteamento e proteção necessária para que uma rede não interfira

nos processos da outra.

A segurança do banco de dados é feita de maneira proprietária pelo fabricante

do software, podendo incluir usuários do domínio da empresa para vários tipos de

acesso, como por exemplo, somente escrita e leitura ou somente backup. O ideal é criar

um usuário para cada aplicação e liberar o acesso do software de supervisão utilizado na

empresa.

Page 58: Desenvolvimento Rev5 Fernando Final 10-08-2012

57

REFERÊNCIAS

ANTONIO, Marco. Controlador Lógico Programável. SENAI. Paraná. 2001

BARBOSA, Heber Almeida. Detecção de Intrusão em Redes de Automação Industrial;

Programa de Pós-Graduação em Informática. Universidade Federal do Espírito Santo,

2006.

BERGE, Jonas. Fieldbuses for Process Control: Engineering, Operation and

Maintenance. Apostila do curso ministrado no CEETPES - E.T.E. Professor Armando

Bayeux da Silva , no ano de 1998 no Curso CLP – Básico, por Pedro Luis Antonelli.

CARDOSO, Ana Paula da Costa; DA SILVA, Wender Antônio. Proposta para

implementação de Controle de Acesso Discricionário a Banco de Dados Eletrônico.

1995. Disponível em http://www.ulbraitumbiara.com.br/~wender/modelo_artigo1.doc>

acesso em 01 mar. 2012.

DANEELS, Alex; SALTER, Wayne. What is SCADA?. Disponível em:

<http://ref.web.cern.ch/ref/CERN/CNL/2000/003/scada/> Acesso em: 21 Agosto de

2012.

DATE, Christopher J. Introdução a sistemas de banco de dados. Rio de Janeiro:

Campus, 2000.

DECOTIGNIE, J. A perspective on Ethernet-TCP/IP as a fieldbus, IFAC International

Conference on Fieldbus Systems and their Applications. França, 2001.

ELMASRI, Ramez. Sistemas de banco de dados / Ramez Elmasri e Shamkant B.

Navathe; revisor técnico Luis Ricardo de Figueiredo. São Paulo: Pearson Addison

Wesley, 2005.

FERREIRA, A. B. H. Mini Aurélio Século XXI Escolar. 4th Ed. São Paulo: Nova

Fronteira, 2000. 77p.

Page 59: Desenvolvimento Rev5 Fernando Final 10-08-2012

58

FERNANDO, Miguel. Disponível em:

<http://www.projetoderedes.com.br/apostilas/apostilas_seguranca.php>. Acesso em: 23

de marco de 2012.

FILHO, Bernando S. Silva. Curso de Controladores Lógicos Programáveis.

Universidade do Estado do Rio de Janeiro. 2002.

GONÇALVES, Ana Paula; SALVADOR, Marcelo. O que são sistemas supervisórios ?.

Disponível em: < http://www.wectrus.com.br/artigos/sist1_superv.pdf>. Acesso em: 21

Agosto de 2012.

JUNIOR, Constantino Seixas. Disponível em:

<http://www.cpdee.ufmg.br/~seixas/PaginaII/Download/DownloadFiles/Aula%20IEC%

2061131-3.pdf>. Acesso em: 30 de abril de 2012.

KORTH, Henry F.; SUDARSHAN, S.; SILBERSCHATZ, Abraham. Sistema de banco

de dados. São Paulo: Makron Books, 1999.

MAHALIK, N. Fieldbus Technology - Industrial Network Standards for Real-Time

Distributed Control, 2003.

SANCHES, Andre Rodrigo. Disciplina: Fundamentos de Armazenamento e

Manipulação de Dados. 2005. Disponível em

<http://www.ime.usp.br/~andrers/aulas/bd2005-1/aula2.html>. Acesso em: 20 agosto

2012.

SÊMOLA, Marcos. A importância da gestão de segurança da informação. 2003.

Disponível em <http://www.linorg.cirp.usp.br/SSI/SSI2003/Palest/P03-

presentacao.pdf>. Acesso em: 16 março 2012.

MECATRÔNICA ATUAL. São Paulo: Editora Saber. v.51, Set. 2011. p.42-46.

Page 60: Desenvolvimento Rev5 Fernando Final 10-08-2012

59

MENDONZA, Diogo; FERREIRA, Fernando Santos; MORAES, Tyago Antônio de.

Tecnologia Profibus. Universidade de Brasília, 2005.

MICROSOFT. Disponível em:

<http://www.microsoft.com/portugal/athome/security/viruses/virus101.mspx#ESC>.

Acesso em: 26 de agosto de 2011.

MODBUS.ORG. MODBUS Messaging Implementation Guide 1.0b. 2006.

MONTEZ, C. Redes de Comunicação Para Automação Industrial. 2005.

MORAES, C. C. de; CASTRUCCI, P. L. Engenharia de Automação Industrial. LTC,

2001.

OGATA, K. Engenharia de Controle Moderno. 5 ed. Pearson Education do Brasil. São

Paulo, 2003.

OLIVEIRA, L. Redes para Automação Industrial. 1 ed. Cultural. São Paulo. 2005.

PIRES, Paulo Sérgio Motta; OLIVEIRA, Luiz Affonso Guedes de; BARROS, Diogo

Nascimento. Aspectos de segurança em sistemas SCADA uma visão geral, 4º

Congresso Internacional de Automação, Sistemas e Instrumentação. São Paulo, 2004.

RODRIGUEZ, Marco Túlio Duarte. Segurança da informação na integração entre

ambientes de automação e corporativos. InTech Brasil. São Paulo, 2007.

SEVOUNTS, Gary. Preocupações crescentes quanto à segurança de rede. Disponível

em: <http://www.symantec.com/region/br/enterprisesecurity/government/>. Acesso em:

01 Agosto de 2011.

SOUSA, Lindeberg Barros de. TCP/IP Básico & Conectividade em Redes. 2 ed. São

Paulo, 2002.

Page 61: Desenvolvimento Rev5 Fernando Final 10-08-2012

60

STEMMER, Marcelo R. Das 5531 – Sistemas distribuídos e REDES de computadores

para controle e AUTOMAÇÃO industrial. Universidade Federal de Santa Catarina.

2001.

TANENBAUM, Andrew S. Redes de Computadores. Tradução da Quarta Edição,

(tradução Vandenberg D. Souza). Rio de Janeiro, 2003.

VITOR, Joaquim. Visão geral de segurança em banco de dados.Universidade Católica de Brasília, 2005.

WATANABE, Edson Hiroshi. Aplicação de Software Aberto Em Redes Industriais. 177

f. Dissertação apresentada ao Programa de Pós graduação em Engenharia Elétrica da

Universidade Federal do Paraná, como requisito parcial à obtenção do título de Mestre

em Engenharia Elétrica. Curitiba, 2006.

WEG, Módulo 3 – Apostila Automação de Processos Industriais. São Paulo. 2002.