Vous êtes sur la page 1sur 25

VI SIMPASE - Protocolo DNP V3.

STI
Subsistema de
Curso de Protocolos - Parte 3
Tratamento
DNP V3.0da
Informação

1
VI SIMPASE - Protocolo DNP V3.0

Introdução

• DNP - Distributed Network Protocol.


• Desenvolvido pela GE Harris.
• Link-Level balenceado baseado no IEC 60870-5-2.
• Utiliza uma versão simplificada do Modelo OSI de 7 camadas,
que utiliza 4 camadas: nível físico, nível de enlace, pseudo
nível de transporte e nível de aplicação.
• A camada do psuedo nível de transporte permite que as
mensagens sejam maiores do que um quadro (frame) do nível
de enlace (link layer).

2
VI SIMPASE - Protocolo DNP V3.0

Documentos

• DNP V3.0 Data Link Layer


• DNP V3.0 Transport Functions
• DNP V3.0 Application Layer Specification
• DNP V3.0 Data Object Library
• Transporting DNP V3.00 over Local and Wide Area
Networks

3
VI SIMPASE - Protocolo DNP V3.0

Arquitetura sobre Canal Serial

Aplicação (APDU) mensagem = tamanho ilimitado

Pseudo-Transporte (TPDU) fragmento = 2048 bytes (max)

Nível de Enlace (LPDU) quadro = 292 bytes (max)

Físico (serial) byte = 8 bits

4
VI SIMPASE - Protocolo DNP V3.0

Arquitetura sobre Rede

5
VI SIMPASE - Protocolo DNP V3.0

Nível Físico - Ligação Serial


(Phisical Layer)
• Canal serial assíncrono.
• Orientado a bytes com 8 bits de dados, 1 start bit, 1 stop
bit e sem paridade.
• Níveis de voltagem e sinais de controle da interface RS-
232C.

6
VI SIMPASE - Protocolo DNP V3.0

Nível Físico - Ligação em Rede


via TCP/IP (Phisical Layer)
• Conexão TCP/IP funcionalmente substitui o canal serial,
da seguinte forma: foi criado um procedimento para
estabelecer/terminar uma conexão TCP/IP.
• O Master é cliente da conexão, ou seja, ele pede a
conexão ao servidor.
• O Slave é o servidor da conexão, ou seja, ele atende o
pedido de conexão do cliente.
• Porta TCP 20.000 endereço IP (Ethernet) do servidor.

7
VI SIMPASE - Protocolo DNP V3.0

Nível de Enlace (Data Link Layer)

• Balanceado.
• Quadros no formato FT3.
• Um quadro tem no mínimo 10 bytes e no máximo 292 bytes.
• Número máximo de bytes de aplicação no quadro 249 (15 blocos *
16 bytes (240) + 10 bytes (250) - 1 byte do nível de transporte);
• O ‘bloco zero’ tem sempre 10 bytes (Data Link Header).
• Blocos intermediários têm sempre 18 bytes.
• Último bloco tem tamanho variável:
 ‘bloco um’ - 4 a 18 bytes
 ‘bloco dois’ a ‘bloco quinze’ - 3 a 18 bytes
 ‘bloco dezesseis’ - 3 a 12 bytes

8
VI SIMPASE - Protocolo DNP V3.0

Formato FT3
¦<---------------------------- Block 0 ---------------------------->¦
+-------------------------------------------------------------------+
¦ START ¦ START ¦ LENGTH ¦ CONTROL ¦ DESTINATION ¦ SOURCE ¦ CRC ¦
¦ 0x05 ¦ 0x64 ¦ ¦ ¦ ¦ ¦ ¦
+-------------------------------------------------------------------+
¦<----------------------- Fixed Length Header --------------------->¦
10 octets

¦<------------------------------- Block 1 --------------------------------->¦


+---------------------------------------------------------------------------+
¦ TRANSP ¦ USER DATA ¦ CRC ¦
¦ BYTE ¦ ¦ ¦
+---------------------------------------------------------------------------+
¦<----------------------- 18 octets ----------------------------->¦

¦<------------------------------- Block 2 --------------------------------->¦


+---------------------------------------------------------------------------+
¦ USER DATA ¦ CRC ¦
¦ ¦ ¦
+---------------------------------------------------------------------------+
¦<----------------------- 18 octets ----------------------------->¦
..
.
¦<------------------------------- Block 15 -------------------------------->¦
+---------------------------------------------------------------------------+
¦ USER DATA ¦ CRC ¦
¦ ¦ ¦
+---------------------------------------------------------------------------+
¦<----------------------- 18 octets ----------------------------->¦

¦<---------------------------- Block 16 ----------------------------->¦


+---------------------------------------------------------------------+
¦ USER DATA ¦ CRC ¦
¦ ¦ ¦
+---------------------------------------------------------------------+
¦<-------------------- 12 octets -------------------------->¦

9
VI SIMPASE - Protocolo DNP V3.0

Campo de Controle

1
FCB FCV
DIR PRM FUNCTION CODE
0 RES DFC

Bit 7 6 5 4 3 2 1 0

10
VI SIMPASE - Protocolo DNP V3.0

Funções para iniciar uma comunicação do nível de enlace

PRM = 1
Code Frame Type Service FCV
0 Send-Confirm Reset Remote Link 0
1 Send-Confirm Reset Data Link Process 0
2 Send-Confirm Link Test 1
3 Send-Confirm User Data 1
4 Send-No Reply Unconfirmed User Data 0
9 Request-Respond Request Link Status 0

11
VI SIMPASE - Protocolo DNP V3.0

Funções para responder uma comunicação do nível de enlace

PRM = 0
Code Frame Type Service

0 Confirm ACK: Positive Acknowledgment

1 Confirm NACK: Link Busy

11 Respond Status of Link

12
VI SIMPASE - Protocolo DNP V3.0

Pseudo Transporte
Transport Header

FIN FIR SEQUENCE NUMBER

Bit 7 6 5 4 3 2 1 0

13
VI SIMPASE - Protocolo DNP V3.0

Pseudo Transporte
• Utiliza o primeiro byte depois do “Data Link Header”.
• O número de seqüência varia de 0 até 63, mas pode começar com
qualquer número dentro deste intervalo.
• O número de seqüência numera os quadros dentro do fragmento
• Um fragmento tem no máximo 2048 bytes.
• Um fragmento pode conter até 8 quadros de 249 bytes de dados
da aplicação (user data) mais 1 quadro de 56 bytes.
• O tamanho de um fragmento é variável, uma vez que um “Object
Header” da aplicação, com os seus respectivos dados, tem que
estar contido dentro de um fragmento.

14
VI SIMPASE - Protocolo DNP V3.0

Nível de Aplicação (Application Layer)

• O número de seqüência do nível de aplicação varia de 0 a


31.
• Existe um número de seqüência para requests e responses
( 0 a 15) e outro para unsolicited responses (16 a 31).

15
VI SIMPASE - Protocolo DNP V3.0
Nível de Aplicação (Application Layer)
T OV Descrição
• S 1-1 Single Bit Binary Input
• S 1-2 Binary Input with Status
• E 2-1 Binary Input Change without Time
• E 2-2 Binary Input Change with Time
• E 2-3 Binary Input Change with Relative Time
• S 10-1 Binary Output
• S 10-2 Binary Output Status
• S 12-1 Control Relay Output Block
• S 12-2 Pattern Control Block
• S 12-3 Pattern Mask
• S 20-1 32-Bit Binary Counter Onde:
• S 20-2 16-Bit Binary Counter T - Type
• S 20-3 32-Bit Delta Counter O - Data Object
• S 20-4 16-Bit Delta Counter V - Variation

16
VI SIMPASE - Protocolo DNP V3.0
Nível de Aplicação (Application Layer)
T OV Descrição
• S 20-5 32-Bit Binary Counter Without Flag
• S 20-6 16-Bit Binary Counter Without Flag
• S 20-7 32-Bit Delta Counter Without Flag
• S 20-8 16-Bit Delta Counter Without Flag
• FS 21-1 32-Bit Frozen Counter
• FS 21-2 16-Bit Frozen Counter
• FS 21-3 32-Bit Frozen Delta Counter
• FS 21-4 16-Bit Frozen Delta Counter
• FS 21-5 32-Bit Frozen Counter With Time of Freeze
• FS 21-6 16-Bit Frozen Counter With Time of Freeze
• FS 21-7 32-Bit Frozen Delta Counter With Time of Freeze
• FS 21-8 16-Bit Frozen Delta Counter With Time of Freeze
• FS 21-9 32-Bit Frozen Counter Without Flag
• FS 21-10 16-Bit Frozen Counter Without Flag

17
VI SIMPASE - Protocolo DNP V3.0
Nível de Aplicação (Application Layer)
T O V Descrição
• FS 21-11 32-Bit Frozen Delta Counter Without Flag
• FS 21-12 16-Bit Frozen Delta Counter Without Flag
• E 22-1 32-Bit Counter Change Event Without Time
• E 22-2 16-Bit Counter Change Event Without Time
• E 22-3 32-Bit Delta Counter Change Event Without Time
• E 22-4 16-Bit Delta Counter Change Event Without Time
• E 22-5 32-Bit Counter Change Event With Time
• E 22-6 16-Bit Counter Change Event With Time
• E 22-7 32-Bit Delta Counter Change Event With Time
• E 22-8 16-Bit Delta Counter Change Event With Time
• FE 23-1 32-Bit Frozen Counter Event Without Time
• FE 23-2 16-Bit Frozen Counter Event Without Time
• FE 23-3 32-Bit Frozen Delta Counter Event Without Time
• FE 23-4 16-Bit Frozen Delta Counter Event Without Time

18
VI SIMPASE - Protocolo DNP V3.0
Nível de Aplicação (Application Layer)
T O V Descrição
• FE 23-5 32-Bit Frozen Counter Event With Time
• FE 23-6 16-Bit Frozen Counter Event With Time
• FE 23-7 32-Bit Frozen Delta Counter Event With Time
• FE 23-8 16-Bit Frozen Delta Counter Event With Time
• S 30-1 32-Bit Analog Input
• S 30-2 16-Bit Analog Input
• S 30-3 32-Bit Analog Input Without Flag
• S 30-4 16-Bit Analog Input Without Flag
• S 30-5 Short Floating-Point Analog Input
• FS 31-1 32-Bit Frozen Analog Input
• FS 31-2 16-Bit Frozen Analog Input
• FS 31-3 32-Bit Frozen Analog Input With Time of Freeze
• FS 31-4 16-Bit Frozen Analog Input With Time of Freeze
• FS 31-5 32-Bit Frozen Analog Input Without Flag
• FS 31-6 16-Bit Frozen Analog Input Without Flag
19
VI SIMPASE - Protocolo DNP V3.0
Nível de Aplicação (Application Layer)
T O V Descrição
• E 32-1 32-Bit Analog Change Event Without Time
• E 32-2 16-Bit Analog Change Event Without Time
• E 32-3 32-Bit Analog Change Event With Time
• E 32-4 16-Bit Analog Change Event With Time
• E 32-5 Short Floating Analog Change Event Without Time
• E 32-7 Short Floating Analog Change Event With Time
• FE 33-1 32-Bit Frozen Analog Event Without Time
• FE 33-2 16-Bit Frozen Analog Event Without Time
• FE 33-3 32-Bit Frozen Analog Event With Time
• FE 33-4 16-Bit Frozen Analog Event With Time
• S 40-1 32-Bit Analog Output Status
• S 40-2 16-Bit Analog Output Status
• S 41-1 32-Bit Analog Output Block
• S 41-2 16-Bit Analog Output Block

20
VI SIMPASE - Protocolo DNP V3.0
Nível de Aplicação (Application Layer)
O V Descrição
• 50-1 Time and Date
• 50-2 Time and Date With Interval
• 51-1 Time and Date CTO
• 51-2 Un-Synchronized Time and Date CTO
• 52-1 Time Delay Coarse
• 52-2 Time Delay Fine
• 60-1 Class 0 Data
• 60-2 Class 1 Data
• 60-3 Class 2 Data
• 60-4 Class 3 Data
• 70-1 File Identifier
• 80-1 Internal Indications
• 81-1 Storage Object
• 82-1 Device Profile

21
VI SIMPASE - Protocolo DNP V3.0
Nível de Aplicação (Application Layer)

O V Descrição
• 83-1 Private Registration Object
• 83-2 Private Registration Object Descriptor
• 90-1 Application Identifier
• 100-1 Short Floating Point
• 100-2 Long Floating Point
• 100-3 Extended Floating Point
• 101-1 Small-Packed Binary Coded Decimal
• 101-2 Medium-Packed Binary Coded Decimal
• 101-3 large-Packed Binary Coded Decimal

22
VI SIMPASE - Protocolo DNP V3.0

Nível de Aplicação (Application Layer)

23
VI SIMPASE - Protocolo DNP V3.0

Nível de Aplicação (Application Layer)


Dinâmica do Protocolo
Master Send Request Outstation

Optional confirmation (00)

Send Response (81)

Optional confirmation (00)

24
VI SIMPASE - Protocolo DNP V3.0

Nível de Aplicação (Application Layer)


Dinâmica do Protocolo - Variação Detectada
Master Outstation

Send Unsolicited Response (82)

Optional confirmation (00)

25