You are on page 1of 51

Automao Subestaes Centros Controle

DNP 3.0 Distributed Network Protocol

Paulo Roberto Pedroso de Oliveira paulo@ascx.com.br prpasc@gmail.com (11) 3378 8600 (11) 9935 9080 http://www.ascx.com.br

Automao Subestaes Centros Controle

Camada de Enlace
Object Library Application Layer Transport Layer Data Link Layer Phisical Layer

Automao Subestaes Centros Controle

Introduo

DNP - Distributed Network Protocol - GE Harris Utiliza camada de enlace do IEC 60870-5-2 Transferido para o grupo DNP em 1993 (www.dnp.org) Dominante na Amrica do Norte Conjunto de Documentao DNP V3.0 Data Link Layer DNP V3.0 Transport Functions DNP V3.0 Application Layer Specification DNP V3.0 Data Object Library

Automao Subestaes Centros Controle

Viso panormica do DNP3


Exemplo
Menagem DNP3 com 750 bytes

Camadas
Aplicao

Pseudo Transporte

TH

250bytes

TH

250bytes

TH

250 bytes

Enlace
Bloco zero com 10 bytes

TH

...

Formato FT3

At 16 blocos com 18 bytes. O ltimo bloco fica com o nmero de bytes quebrado.

Automao Subestaes Centros Controle

Funes do DNP3

Estticos Referem-se aos valores correntes dos dados em determinado perodo. Classe 0 Eventos Dados que ocorreram mudanas. Estes eventos so classificados em trs classes: 1, 2, e 3

Automao Subestaes Centros Controle

Tipos de Leituras de Dados


Quiescent Operation
Escravo envia dados espontaneamente. Mestre no faz varredura

Unsolicited Report-by-Exception Operation


Espontneo + Integridade (Classe 0)

Polled Report-by-Exception Operation


Evento (Classe 1,2,3) + Integridade (Classe 0)

Polled Static
Integridade (Classe 0)

Automao Subestaes Centros Controle

Nveis no DNP V3.00


Descreve os requisitos mnimos do protocolo para comunicao entre uma estao mestre e um IED

Nvel 1 Nvel 2
Descreve os requisitos do protocolo, ligeiramente maior que Nvel 1, que pode ser implementado tipicamente entre uma estao mestre e um grande IED ou UTR

Nvel 3
Descreve os requisitos do protocolo, maior que Nvel 2, que pode ser implementado entre uma estao de mestre e uma UTR mais avanada

Automao Subestaes Centros Controle

Formato dos Quadros - FT3


Bloco 0

START 05

START LENGHT CONTROL DESTINATION 64

SOURCE

CRC

Cabealho Tamanho Fixo 10 octetos Bloco 1 USER DATA - 16 octetos


CRC

Bloco n USER DATA - 1 a 16 octetos


CRC

Automao Subestaes Centros Controle

Formato dos Quadros - FT3


0564 (hex) 5 + numero octetos USER DATA Octeto de controle do Endereo destino - 2 octetos Endereo origem - 2 octetos Cyclic Redundancy Check - 2

START LENGHT CONTROL quadro DESTINATION SOURCE CRC octetos

Automao Subestaes Centros Controle

Octeto de Controle

1 DIR PRM 0

FCB FCV

23

22

21

20

Primrio para secundrio

RES DFC

Funo

Secundrio para primrio

DIR: 1 - Estao A para Estao B DIR: 0 - Estao B para Estao A

Automao Subestaes Centros Controle

Octeto de Controle

DIR: Direo
1 = estao A para estao B 0 = estao B para estao A

PRM: Mensagem Primria


0 = Mensagem da estao secundria (respostas) 1 = Mensagem da primria (interrogaes)

RES: Reservado

Automao Subestaes Centros Controle

Octeto de Controle-Estao Primria

DIR

PRM=1

FCB

FCV

F3

F2

F1

F0

FUNO 0 2 3 4 9

TIPO DO QUADRO SEND/CONFIRM SEND/CONFIRM SEND/CONFIRM SEND/NO REPLY REQUEST/RESPOND

SERVIO Reset enlace remoto Funo TEST Dados do usurio Dados do usurio Requisita estado enlace

FORMATO Fixo Fixo Varivel Varivel Fixo

FCV 0 1 1 0 0

Automao Subestaes Centros Controle

Octeto de Controle-Estao Secundria

DIR

PRM=0

RES

DFC

F3

F2

F1

F0

FUNO 0 1 11 14 15

TIPO DO QUADRO CONFIRM CONFIRM RESPOND -

SERVIO ACK NACK: Enlace ocupado Estado do enlace Servio de enlace inoperante Servio no implementado

FORMATO Fixo Fixo Fixo Fixo Fixo

Automao Subestaes Centros Controle

Exemplo

RX: 05 64 1E 44 00 00 01 00 16 0D E6 E8 81 00 00 20 02 17 04 0A 01 2F 0A 00 01 65 03 86 65 06 01 4E 0C 03 01 B0 FD 6C 88

Automao Subestaes Centros Controle

Camada de Transporte

Automao Subestaes Centros Controle

Funo da Camada de Transporte


Application Protocol Data Unit - APDU

Dados do Usurio - At 2048 octetos


TPDU TPDU TPDU

TH
1

Bloco 0
At 249 octetos

TH

Bloco 1

TH

Bloco 2

Link Service Data Unit - LSDU Link Header


10 octetos

TH
1

Dados
At 292 octetos

Automao Subestaes Centros Controle

Transport Protocolo Data Unit TPDU


+255 -5 -1 =249 octetos octetos octeto octetos

Total octetos camada enlace Octetos de dados no cabealho TH - Transport Header Dados do usurio

Automao Subestaes Centros Controle

Link Service Data Unit LSDU


+10 +1
+240 +9 +32

Link header TH - Transport Header Dados Usurio ( 16 blocos)


15 blocos de 16 octetos 1 bloco de 9 octetos CRC (16x2)

octetos octeto
octetos octetos

Tamanho mximo de um quadro

=292 octetos

Automao Subestaes Centros Controle

Transport Header

FIN
7

FIR
6 5 4

SEQUENCE
3 2 1 0

FIN = 0 FIN = 1 FIR = 1 FIR = 0 SEQUENCE

Ainda h quadros para enviar Ultimo quadro da seqncia Primeiro quadro da seqncia No o primeiro quadro da seqncia Nmero de seqncia dos quadros (0-63)

Automao Subestaes Centros Controle

Exemplo
Application Protocolo Data Unit

Dados do Usurio - 598 octetos


TPDU TPDU TPDU

TH

Dados - 249 octetos

TH

Dados - 249 octetos

TH

Dados - 100 octetos

FIR = 1 FIN = 0 SEQUENCE = 5

FIR = 0 FIN = 0 SEQUENCE = 6

FIR = 0 FIN = 1 SEQUENCE = 7

Bloco 0 249 octetos

Bloco 1 249 octetos

Bloco 2 100 octetos

Automao Subestaes Centros Controle

Exemplo

RX: 05 64 1E 44 00 00 01 00 16 0D E6 E8 81 00 00 20 02 17 04 0A 01 2F 0A 00 01 65 03 86 65 06 01 4E 0C 03 01 B0 FD 6C 88

Automao Subestaes Centros Controle

Camada de Aplicao

Automao Subestaes Centros Controle

Formato das Mensagens de Aplicao


Application Protocol Data Unit

Request/Response HEADER

Object HEADER

Dados

...

Object HEADER

Dados

1. Requisies e Respostas podem consistir de 1 ou fragmentos; 2. Cada fragmento deve poder ser processado individualmente

Automao Subestaes Centros Controle

Cabealhos de Aplicao
Request Header
Application Control AC Function Code FC

1 octeto

1 octeto

2 octetos

Response Header
Application Control AC Function Code FC Internal Indications IIN

Automao Subestaes Centros Controle

Application Control Field

7 FIR

6 FIN

5 CON

SEQUENCE

FIR = 1 FIN = 1 CON = 1

Primeiro fragmento Ultimo fragmento Espera confirmao FC = 0 confirma mensagem SEQUENCE Nmero do fragmento 0 a 15 - Respostas a solicitaes do mestre 16 a 31 - Respostas no solicitadas

Automao Subestaes Centros Controle

Exemplos

Caso 1
Mestre
Request CON=0 SEQ=7 Response CON=1 SEQ=7 Unsol Response CON=1 SEQ=24 CONFIRM SEQ=24

Escravo

Caso 2
Mestre
Request CON=1 SEQ=2 CONFIRM SEQ=2 Response CON=1 SEQ=2 CONFIRM SEQ=2

Escravo

Automao Subestaes Centros Controle

Exemplos

Caso 3
Mestre
Request CON=0 SEQ=2 Response FIN=0, FIR=1 CON=1 SEQ=2 CONFIRM SEQ=2 Response FIN=1, FIR=0 CON=1 SEQ=3 CONFIRM SEQ=3 Request SEQ=4

Escravo

Caso 4
Mestre
Request CON=0 SEQ=3 Response CON=1 SEQ=3 Response

Time Out

CON=1 SEQ=3

Escravo

Automao Subestaes Centros Controle

Cdigos de Funo Funes de Transferncia

0 Confirm 1 Read 2 Write

Automao Subestaes Centros Controle

Cdigos de Funo Funes de Controle Select Operate Direct Operate Direct Operate sem reconhecimento

3 4 5 6

Cdigos 3, 4 e 5 respondem com o estado dos pontos

Automao Subestaes Centros Controle

Cdigos de Funo Respostas Confirmao Resposta a solicitao Resposta a mensagem no solicitada

0 129 130

Automao Subestaes Centros Controle

Indicaes Internas Primeiro Octeto Informa que uma mensagem de broadcast foi recebida por esta estao Dados Classe 1 disponveis Dados Classe 2 disponveis Dados Classe 1 disponveis Requisio de sincronizao Sada digital em estado local

Bit 0

Bit 1 Bit 2 Bit 3 Bit 4 Bit 5

Automao Subestaes Centros Controle

Indicaes Internas Primeiro Octeto Dispositivo com condio anormal Dispositivo reinicializado

Bit 6 Bit 7

Automao Subestaes Centros Controle

Indicaes Internas Segundo Octeto Funo no implementada Objeto desconhecido Qualidade, intervalo ou valor invalido Estouro do buffer de eventos Operao requerida j em execuo Configurao est corrompida

Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5

Automao Subestaes Centros Controle

Cabealho dos Objetos


Application Protocol Data Unit

Request/Response HEADER

Object HEADER

Dados

...

Object HEADER

Dados

Objeto Qualificador

Range

Grupo
Octeto 1

Variao 0=todas
Octeto 2
7

Tamanho ndice
6 5 4 3

Cdigo Qualificador
2 1 0

Automao Subestaes Centros Controle

Tamanho do ndice
objetos sem ndice objetos so prefixados com ndice de 1 octeto objetos so prefixados com ndice de 2 octetos objetos prefixados com ndice de 4 octetos objetos so prefixados com 1 octeto com o tamanho do objeto objetos so prefixados com 2 octetos com o tamanho do objeto objetos so prefixados com 4 octetos com o tamanho do objeto Reservado

0 1 2 3 4 5 6 7

Automao Subestaes Centros Controle

Cdigo Qualificador Especifica significado de Range

0 1 2 3 4 5 6 7 8 9

ndices de 1 octeto indicando inicio e fim no campo Range ndices de 2 octetos indicando inicio e fim no campo Range ndices de 4 octetos indicando inicio e fim no campo Range Endereo absoluto de 1 octeto no campo range Endereo absoluto de 2 octetos no campo range Endereo absoluto de 4 octetos no campo range Todos os objetos de um dado tipo (no h Ranger ou ndices) Campo Range: 1 octeto indicando o nmero de ndices e objetos Campo Range: 2 octetos indicando o nmero de ndices e objetos Campo Range: 4 octetos indicando o nmero de ndices e objetos

Automao Subestaes Centros Controle

Range - Cdigos 0 a 5 Pontos I1 at I2


Fim I2 I1 I1+1 I1+2

Cdigos 0 e 3 - Tamanho = 0
Inicio I1

....................

I2

Cdigos 1 e 4 - Tamanho = 0
Inicio I1 Fim I2 I1 I1+1

.......

I2

Cdigos 2 e 5 - Tamanho = 0
Inicio I1 I1 I1+1 I1+2 Inicio I2

................

I2

Automao Subestaes Centros Controle

Range - Cdigo 7 Pontos P0 a PQ-1


P0 P1

Cdigos 7 - Tamanho = 0
Quantidade Q

.......................................

PQ-1

Cdigo 7 - Tamanho = 1
Quantidade Q ndice I1 P0 ndice I2 P1

......

ndice IQ

PQ-1

Cdigo 7 - Tamanho = 2
Quantidade Q ndice I1 P0

.....

ndice IQ

PQ-1

Automao Subestaes Centros Controle

Range - Cdigo 8 Pontos P0 a PQ-1


Quantidade Q P0 P1

Cdigos 8 - Tamanho = 0

...........................

PQ-1

Cdigo 8 - Tamanho = 1
Quantidade Q ndice I1 P0

.................

ndice IQ

PQ-1

Cdigo 8 - Tamanho = 2
Quantidade Q ndice I1 P0 ndice I2 ndice IQ P1 PQ-1

...................................................

Automao Subestaes Centros Controle

Cabealhos de Aplicao
Request Header
Application Control AC Function Code FC

1 octeto

1 octeto

2 octetos

Response Header
Application Control AC Function Code FC Internal Indications IIN

Automao Subestaes Centros Controle

Exemplo
Data Link

Application
FIN Fir Seq 81 = Response

RX:

Header

TH

05 64 1E 44 00 00 01 00 16 0D E6 E8 81 00 00 20 02 17 04 0A 01 2F 0A 00 01 65 03 86 65 06 01 4E 0C 03 01 B0 FD 6C 88
Internal Indication

Qualificador

Quantidade

Obs: Objeto 32 variao 2 -> Objeto analgico de 3 octetos


Analgico 16 bits

CRC

ndice 8 bits Flag 8 bits Valor Corrente 16 bits

Automao Subestaes Centros Controle

Device Profile

Automao Subestaes Centros Controle

Device Profile

Automao Subestaes Centros Controle

Objeto 1 Variao 2 - Esttico

Object Coding:
7 6 5 4 3 2 1 0

BS8 [0..7] On-line Restart Communication lost Remote forced data Local forced data Chatter filter Reserved State

= = = = = = = =

BS1 [0] <0, off-line; 1, on-line> BS1 [1] <0, normal; 1, restart> BS1 [2] <0, normal; 1, lost> BS1 [3] <0, normal; 1, forced> BS1 [4] <0, normal; 1, forced> BS1 [5] <0, normal; 1, filter on> BS1 [6] <0> BS1 [7] <0, 1 BIN>

Automao Subestaes Centros Controle

Objeto 2 Variao 1 - Evento

Object Coding:
7 6 5 4 3 2 1 0

BS8 [0..7] On-line Restart Communication lost Remote forced data Local forced data Chatter filter Reserved State

= = = = = = = =

BS1 [0] <0, off-line; 1, on-line> BS1 [1] <0, normal; 1, restart> BS1 [2] <0, normal; 1, lost> BS1 [3] <0, normal; 1, forced> BS1 [4] <0, normal; 1, forced> BS1 [5] <0, normal; 1, filter on> BS1 [6] <0> BS1 [7] <0,1 BIN>

Narrative: This object is only reported when the current value is different than the last recorded or measured value. If the chatter filter is on, this object may only be reported when the new state has remained constant for a certain period of time.

Automao Subestaes Centros Controle


O bject C oding:

Objeto 32 - variao 2 - Evento

FLAG 7 C urrent value 15 0 0

SQ 2

{FLA G C urrent value } FLA G O n-line R estart C om m unication lost R em ote forced data Local forced data O ver-range R eference check R eserved }

= =

BS8 [0..7] I16 [0..15] <2 15 -1..-2 15 >

={ = = = = = = = =

BS1 BS1 BS1 BS1 BS1 BS1 BS1 BS1

[0] [1] [2] [3] [4] [5] [6] [7]

<0, off-line; 1, on-line> <0, norm al; 1, restart> <0, norm al; 1, lost> <0, norm al; 1, forced> <0, norm al; 1, forced> <0, norm al; 1, over-range> <0, norm al; 1, error> <0>

Automao Subestaes Centros Controle

Exemplo

TX: 05 64 0B C4 01 00 00 00 8C 85 C0 C9 01 1E 02 06 E0 45
RX: 05 64 02 00 8F FD 01 23 00 01 C1 A3 00 00 00 00 FF FF

6F 00 01 65 00 00 FF 00

44 1F B7 01 00 00 FF 00

00 01 6D 00 01 00 00 FF

00 86 01 00 00 00 00 FF

01 65 86 01 00 00 00 00

00 01 65 50 01 00 00 00

CF 90 01 0A 00 00 00 00

9F 0C 6F 01 00 00 00 00

E7 EA 0C 00 00 00 00 00

C9 8C 01 00 00 00 00 00

81 01 33 01 00 00 00 00

04 DF E3 00 00 00 00 00

00 09 90 AC 00 00 00 00

1E 01 0C D7 00 00 00 00

Automao Subestaes Centros Controle

Exemplo

TX: 05 64 0C C4 01 00 00 00 B2 5B C0 CA 01 3C 03 07 7F 8C 6F RX: 05 64 1E 44 00 00 01 00 16 0D E8 EA 81 00 00 20 02 17 04 0A 01 50 0A 06 01 6F 7B B4 0C 03 01 8F FD 00 01 86 65 1B D5 TX: 05 64 08 C4 01 00 00 00 DC 16 C0 CA 00 42 E2

Automao Subestaes Centros Controle

Interface EIA-232 DB-25

Automao Subestaes Centros Controle

Interface EIA-232 DB-9

Descrio
Carrier Detect Receive Data Transmit Data Data Terminal Ready Signal Ground Data Set Ready Request to Send Clear to Send Ring Indicator

Sinal
CD RD TD DTR SG DSR RTS CTS RI

Pino
1 2 3 4 5 6 7 8 9

Automao Subestaes Centros Controle

Obrigado !
DNP 3.0

Paulo Roberto Pedroso de Oliveira paulo@ascx.com.br prpasc@gmail.com (11) 3378 8600 (11) 9935 9080 http://www.ascx.com.br

You might also like