sábado, 23 de novembro de 2013

PÁGINA INICIAL

     Este trabalho abordará o protocolo de comunicação DNP3, Inicia-se este trabalho com uma revisão dos conceitos básicos de redes de comunicação, organização de protocolos, algumas topologias, entre outros. Após a revisão, abordaremos uma análise sobre as características lógicas do protocolos.

1 - INTRODUÇÃO

     O Distributed Network Protocol (DNP3) define as comunicações entre as estações mestres, RDU (unidade remotas) e outros dispositivos eletrônicos inteligentes. Desenvolvido para alcançar a interoperabilidade entre os sistemas de empresas elétricas, petrolíferas, de água, entre outras.


1.1. Objetivos

     O objetivo deste trabalho não é apresentar todos os detalhes do protocolo DNP3, mas apenas explicar de forma sucinta e necessária para que o leitor entenda os conceitos básicos de sua aplicação.


1.2. Metodologia adotada

     A metodologia adotada para alcançar os objetivos são as abordagens teóricas dos principais tópicos do trabalho tendo como base pesquisas bibliográficas.

2 - HISTÓRICO

     DNP foi originalmente criado por Westronic, Inc. ( agora GE Harris), em 1990. Em 1993, o conjunto de documentos que especificam o protocolo "DNP 3 Basic 4" ganhou domínio público. A propriedade do protocolo foi entregue ao recém-formado DNP Users Group em outubro daquele ano. Desde então, o protocolo ganhou aceitação em todo o mundo, incluindo a formação de grupos de usuários na China, América Latina e Austrália.

     
     Em janeiro de 1995, foi formado o Comitê Técnico da DNP para avaliar, recomendar e aprovar melhorias para o grupo de usuários gerais. Uma das tarefas mais importantes deste comitê era publicar o documento do subconjunto de definições, que estabelece normas para start-ups DNP3.
    
     Em 1994, Aquisição de Dados da Sociedade de Engenharia de Energia da IEEE, Monitoramento e Controle Subcomissão Formado um grupo de trabalho para rever os protocolos de comunicação a ser utilizado entre Dispositivos Eletrônicos Inteligentes (IEDs) e Unidades Terminais Remotas (UTRs) em subestações.

3 - DESENVOLVIMENTO

     DNP3 foi originalmente concebido com base em três camadas do modelo OSI de sete camadas: camada de aplicação, camada de enlace de dados e de camada física. A camada de aplicação é baseada em objetos para a maioria dos formatos de dados genéricos. A camada de enlace de dados fornece vários métodos de recuperação de dados, tais como sondagens para as aulas e as variações de objetos. A camada física utiliza mais comumente redes RS-232, RS-485 ou interface de rádio.
     A estrutura simples de 3 camadas (EPA) também reduz a necessidade dos usuários finais compreender plenamente o protocolo para ser capaz de usar DNP3. Uma boa compreensão da camada de aplicação é geralmente tudo que é necessário para alcançar a funcionalidade razoável de DNP3.

O EPA é uma versão simplificada do modelo OSI, que trabalha apenas com três camadas: 

  • Física 
  • Enlace de dados
  • Aplicação

Figura 3 - Níveis do Protocolo ISA/EPA
Fonte: Micro-designs, 2010

3.1. Camada Física

     Esta camada correlaciona a parte física, sobre o qual o protocolo é comunicado. Normalmente o protocolo DNP3 é especificado sobre uma camada física serial simples como: RS-232 ou RS-485 utilizando por meio físico cabeamento de cobre, fibra óptica, transmissão por rádio, satélite ou ethernet.


3.2. Camada Enlace

     Esta camada correlaciona a conexão entre transmissores e receptores de informação. Esta camada é muito semelhante às especificações das normas IEC 870-5-1 (1990) e IEC 870-5-2 (1992). Porém, sua principal diferença é o formato do frame. Nesta camada usamos o FT3 para transmissões assíncronas e ao invés de síncronas.



3.3. Camada Pseudo-Transporte

     Esta camada correlaciona a camada de aplicação em diversos enlaces de frames. Essa camada enumera cada enlace de frame determinando o posicionamento de cada enlace de frame da mensagem. Esta camada também detecta frames descartados.



3.4. Camada Aplicação

     Esta camada recebe as mensagens e exibe ao usuário como uma interface. Quando o volume de dados a ser transmitido em uma única mensagem é maior do que certo valor limite estabelecido pelo tamanho da memória do dispositivo receptor (destino), os dados serão divididos e distribuídos entre várias mensagens menores, denominadas fragmentos, onde serão transmitidos seqüencialmente. Cada um desses fragmentos é como uma mensagem independente com uma indicação contida na própria mensagem - com exceção da última. 

     Fragmentos vindas de uma estação DNP3 Master são geradas tipicamente por requisições para operações em vários objetos de dados. 

     Fragmentos vindos de estações Slave são tipicamente gerados a partir de respostas a estas requisições. 
     Os fragmentos são também conhecidos por ASDU (Application Service Data Unit). Os fragmentos da camada de aplicação (ASDUs) podem ser enviados com uma requisição de confirmação. Uma confirmação da camada de aplicação indica que uma mensagem, não somente foi recebida, mas também foi interpretada sem erros (por outro lado, uma confirmação da camada de enlace de dados, somente indica que o frame do enlace de dados foi recebido e que a verificação do CRC foi efetuada sem erros).

     Um Slave DNP3 também pode transmitir uma mensagem sem que haja uma requisição do Master. Cada ASDU é prefixado por um cabeçalho, seguido por uma ou mais combinações de objetos ou cabeçalho/objeto. O cabeçalho da camada de aplicação contém um campo de controle e um código de função. O campo de controle contém:


  • Uma indicação se o fragmento é parte de uma mensagem com múltiplos fragmentos;
  • Uma Indicação se uma confirmação da camada de aplicação é necessária para o fragmento;
  • Uma indicação se o fragmento foi ou não solicitado;
  • Um número de sequência do fragmento. 

3.5. Frame no DNP3


     O Frame é um aglomerado de mensagens completas, ordenadas ou não. O tamanho máximo do enlace de frame ou data link frame é de 256 bytes. Cada frame possui um endereçamento de 16 bits e um destino de 16 bits. O comprimento e byte de controle estão contidos em um cabeçalho de 10 bytes. 

     Os valores possíveis do byte de controle são: ACK e NACK. Ou seja, quando uma confirmação é solicitada, o receptor deve responder com um ACK de enlace de frame. Caso contrário, enviará NACK. O DNP3 fornece também a possibilidade de reportar eventos com ou sem “time stamps”, (referência do tempo de ocorrência do evento). 



3.6. Frame no DNP3

DNP3 usa formatação quadro FT3 da IEC.

     Esta seção descreve o formato LPDU. Um quadro é definida como um bloco de cabeçalho de comprimento fixo, seguido por blocos de dados opcionais. Cada bloco tem uma CRC de 16 bits anexado. A IEC especifica que o cabeçalho campos consistem de 2 bytes de início, um octeto comprimento, 1 controle octeto, um endereço de destino e um campo de dados de comprimento fixo opcional usuário. Nesta implementação do campo de dados fixo de utilizador, o comprimento é definido como um endereço de origem que dá a estrutura do quadro DNP3 abaixo:


Figura 4 - Quadro de Frames
Fonte: Chimera Labs, 2009

Tabela 1 - Detalhamento por Frame
Fonte: Chimera Labs, 2009

3.7. Organização da Base de Dados 

     As informações são organizadas em tipos de dados, onde cada tipo de dado representa um grupo de objeto e incluem: 

  • Entradas binárias (apenas leitura de valores de bit único); 
  • Saídas binárias (valores de bit único cujo status pode ser leitura ou que pode ser pulsado ou atribuído diretamente ou através de uma operação SBO); 
  • Entradas analógicas (apenas leitura de valores de bits múltiplos); 
  • Saídas analógicas (valores de bits múltiplos cujos status que podem ser leitura, ou que pode ser controlado diretamente ou por uma operação do SBO); 
  • Contadores; 
  • Hora e data (timestamp??); 
  • Objetos de transferências de arquivos; 
  • Outros 

     Para cada tipo de dado, existe um ou mais ponto de dados. Um ponto de dado é um valor único de dados do tipo especificado pelo grupo do objeto. Dentro de cada grupo de objeto, existem variações que são usadas para indicar diferentes métodos para especificação de dados dentro do grupo de objeto, por exemplo o grupo de entradas analógicas aceita dados como valores integrais de 16-bit com sinal, valores integrais de 32-bit com sinal ou valores de ponto flutuante de 32-bits. 

3.8. Modelo de Relatórios 

     Para melhor entendimento, vamos supor que existam dois grupos de objetos: 

  1. O grupo de objeto 1 representa entradas binárias (informações estáticas);
  2. O grupo de objeto 2 representa variação de dados binários; 

     Quando uma mudança em um ponto do grupo de objeto 1 é detectada, um evento de alteração no grupo de objeto é criada. As alterações detectadas geram mensagens menores e mais eficientes. Esse sistema é chamado de RBE (Report-by-exception). Os grupos de objetos e pontos de dados no DNP3 podem ser organizados em classes, isso permite um método eficiente de requisitar dados. Uma simples e pequena mensagem pode ser enviada para buscar todas as informações em uma classe específica. Esse procedimento é conhecido como Scanning for Classes Data. 

São definidas 4 classes no DNP3. 

     - Classe 0 representa informação estática. 

     - Classes 1(++) a 3(--) representam diferentes prioridades para mudança de evento.


4 - FUNCIONAMENTO

4.1. Aplicação


     O DNP3 é utilizado primordialmente na automação de subestações (por exemplo: transformadores ou estações e conversão de voltagem) e sistemas de controle (por exemplo comutadores de estações de energia). Sua aplicação nos permite a utilização de múltiplas estações máster e comunicação peer-to-peer. Mas apesar do DNP3 permitir múltiplos tipos de dados em uma única mensagem, ele permite apenas um tipo de operação por mensagem. 

As funções incluem: 

  • Confirm: para confirmações na camada de aplicação; 
  • Read: requisição de leitura; 
  • Write: requisição de escrita; 
  • Select and Operate (para funções do tipo “Select Before Operate”, SBO); 
  • Direct Operate (sem SBO); 
  • Freeze: copia os objetos especificados para um “freeze buffer”; 
  • Freeze and Clear: copia os objetos para um “freeze buffer” e os limpa; 
  • Restart (cold and warm); 
  • Initialize Data to default; 
  • Initialize, Start and Stop Application; 
  • Save Configuration; 
  • Enable and Disable de mensagens não solicitadas; 
  • Assign Classes; 
  • Delay Measurement. 

No DNP3 podemos utilizar as topologias: 

  • Mestre – Escravo 
  • Múltiplos Escravos 
  • Múltiplos Mestres 
  • Hierarquia com concentradores de dados intermediários
Figura 5 - Topologia
Fonte: Micro-Designs 2010

4.2 Vantagens

  • Alta integridade de dados
  • Estrutura flexível: permite diversos níveis de implementação
  • Múltiplas aplicações: 
  1. Polled.
  2. Polled, report-by-exception
  3. Modo quiescente (unsolicited report-by-exception)
  4. Um misto dos modos anteriores
  • Overhead minimizado: Enlace de dados com taxas tão baixas quanto 1200 bps,
  • Permite topologia multi-mestre
  • Permite topologia mestre-escravo
  • Solicita e responde com múltiplos tipos de dados em uma só mensagem
  • Transferência segura de dados
  • Direciona mais de 65000 dispositivos em uma só mensagem
  • Permite mensagens em BroadCast para todas as estações escravas
  • Proporciona sincronização de tempo e eventos com marca de tempo

5 - TENDÊNCIAS

    O DNP3 é eficaz e com elevada com segurança na integridade dos dados par um protocolo em camadas. Os usuários do DNP3 podem esperar muitos dos seguintes benefícios de usar DNP3:


5.1. Benefícios de curto prazo

  • A interoperabilidade entre dispositivos de vários fornecedores;
  • Menos protocolos para apoio no domínio;
  • Redução dos custos de software;
  • Prazos de entrega mais curtos;
  • Menos de testes, manutenção e treinamento;
  • Melhoria da documentação;
  • Testes de conformidade independente;
  • Suporte por grupo de usuários independentes e fontes de terceiros, por exemplo:
           1) Conjuntos de teste;
           2) Código-fonte.


5.2. Benefícios de longo prazo

  • Expansão do sistema Fácil;
  • Longa vida útil do produto;
  • Mais produtos de valor agregado de fornecedores;
  • Adoção mais rápida de novas tecnologias;
  • Economia de grandes operações.

6 - CONCLUSÕES

     O desenvolvimento do DNP3 foi um esforço global para alcançar a interoperabilidade aberta, baseada em padrões entre computadores de subestação, RTU de, do IED (Dispositivos Eletrônicos Inteligentes) e estações Mestre para a indústria de energia elétrica. Foi necessario um período de tempo para enteder as necessidades e encontrar soluçoes para atender às necessidades de hoje. O protocolo DNP3 também tornou-se amplamente utilizado nas indústrias adjacentes, tais como água, esgoto, transporte e indústria de petróleo e gás.


      DNP3 é baseado nas normas da Comissão Eletrotécnica Internacional (IEC), Comitê Técnico 57, grupo de trabalho 03, que têm trabalhado na camada OSI 3 "Enhanced Performance Architecture" (EPA) protocolo padrão para aplicações de telecontrole. DNP3 foi concebido para ser o mais próximo possível compatível com os padrões que existiam no momento do desenvolvimento. Além disso as funcionalidades desenvolvidas para a Europa não atendiam as aplicações norte-americanas atuais e futuras por este motivo foram incluídas novas funções, como por exemplo, camada de transporte para apoiar 2K, transferências de blocos de IEDs, RF e suporte de fibra. DNP3 foi selecionada como uma prática recomendada pela IEEE Task Force C.2; RTU para IED Communications Protocol.

7 - REFERÊNCIAS BIBLIOGRÁFICAS



MICROS-DESIGNS. Protocolo de Comunicaciones DNP3. Disponível em: <http://micros-designs.com.ar> Acesso em: 8 de Dezembro de 2010.

SOUZA & LUZ, Edilson & Eduardo. Implementação da Camada de Aplicação do Protocolo DNP3 Master. Disponível em: <http:// cpdee.ufmg.br > Acesso em: 30 de Julho de 2004.

CURTIS, Ken. A DNP3 Protocol Primer. Disponível em: <http://dnp.org> Acesso em: 5 de Março de 2010.

NEWSLETTER Soluções National Instruments para barramentos industriais. Disponível em: <http://stackoverflow.com> Acesso em: 4 de Agosto de 2013.


GLIGOLETTO, Vinícius Orlando. Protocolos de Comunicação para Automação de Sistemas de Energia. Disponível em: <http://tcc.sc.usp.br> Acesso em: 26 de Novembro de 2012.

Participantes

UNIVERSIDADE ESTÁCIO DE SÁ


DIEGO DE SÁ FREIRE PONTE
HUGO SOUTO
LINDOMAR AMORIM
  

REDE SCADA DNP3




- RIO DE JANEIRO -

2013