desenvolvimento rev5 fernando final 10-08-2012
TRANSCRIPT
CENTRO UNIVERSITÁRIO PADRE ANCHIETA
FERNANDO LOMBARDI
BANCO DE DADOS EM REDES DE AUTOMAÇÃO
Jundiaí - SP
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
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
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.
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.
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.
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.
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
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
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
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
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.
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).
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).
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.
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.
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).
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).
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
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,
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:
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).
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.
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
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.
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.
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).
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.
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.
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).
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).
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
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
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.
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
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.
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
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
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
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
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).
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).
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.
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.
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
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;
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
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.
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.
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”.
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.
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
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
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
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.
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.
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.
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.
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.
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.
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.