Você está na página 1de 53

Automação de

Subes tações e
Centros de
Controle
ASCC

Protocolos de Comunicação
para Sistemas de
Telesupervisão e Telecontrole
DNP 3.0
Paulo Roberto Pedroso de Oliveira
Automação de

DNP 3
Subes tações e
Centros de
Controle
ASCC
Automação de
Subes tações e
Centros de
Controle
DNP3
ASCC
Automação de

DNP3
Subes tações e
Centros de
Controle
ASCC
Automação de

DNP3
Subes tações e
Centros de
Controle
ASCC
Automação de

DNP3
Subes tações e
Centros de
Controle
ASCC
Automação de

DNP3
Subes tações e
Centros de
Controle
ASCC
Automação de

DNP3
Subes tações e
Centros de
Controle
ASCC
Automação de

DNP3
Subes tações e
Centros de
Controle
ASCC
Automação de
Subes tações e
Centros de
Controle
ASCC

• 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 América do Norte
• Conjunto de Documentação
– DNP V3.0 Data Link Layer
– DNP V3.0 Transport Functions
– DNP V3.0 Application Layer Specification
– DNP V3.0 Data Object Library
Automação de
Subes tações e
Centros de
Controle
ASCC
Introdução

• Implementado em 4 camadas:
– Física
– Enlace
– Transporte
– Aplicação
• Mensagens podem ser maiores que um quadro da camada
da camada de enlace.
Automação de
Subes tações e
Centros de
Controle
Formato dos Quadros - FT3
ASCC

Bloco 0

START START
LENGHT CONTROL DESTINATION SOURCE CRC
05 64

Cabeçalho Tamanho Fixo


10 octetos

Bloco 1

USER DATA - 16 octetos CRC

Bloco n

USER DATA - 1 a 16 octetos CRC


Automação de
Subes tações e
Centros de
Controle
ASCC
Formato dos Quadros - FT3

• START 0564 (hex)


• LENGHT 5 + numero octetos USER DATA
• CONTROL Octeto de controle do quadro
• DESTINATION Endereço destino - 2 octetos
• SOURCE Endereço origem - 2 octetos
• CRC Cyclic Redundancy Check - 2 octetos
Automação de
Subes tações e
Centros de
Controle
ASCC
Octeto de Controle

Primário para secundário


FCB FCV 23 22 21 20
1
DIR PRM
0
RES DFC Função
Secundário para primário

DIR: 1 - Estação A para Estação B


DIR: 0 - Estação B para Estação A
Automação de
Subes tações e
Centros de
Controle
ASCC
Octeto de Controle

• DIR: Direção
– 1 = estação A para estação B
– 0 = estação B para estação A
• PRM: Mensagem Primária
– 0 = Mensagem da estação secundária
(respostas)
– 1 = Mensagem da primária (interrogações)
• RES: Reservado
Automação de
Subes tações e
Centros de
Controle
Octeto de Controle-Estação Primária
ASCC

DIR PRM=1 FCB FCV F3 F2 F1 F0

FUNÇÂO TIPO DO QUADRO SERVIÇO FORMATO FCV

0 SEND/CONFIRM Reset enlace remoto Fixo 0

2 SEND/CONFIRM Função TEST Fixo 1

3 SEND/CONFIRM Dados do usuário Variável 1

4 SEND/NO REPLY Dados do usuário Variável 0

9 REQUEST/RESPOND Requisita estado enlace Fixo 0


Automação de
Subes tações e
Centros de
Controle Octeto de Controle-Estação Secundária
ASCC

DIR PRM=0 RES DFC c F3 F2 F1 F0

FUNÇÂO TIPO DO QUADRO SERVIÇO FORMATO

0 CONFIRM ACK Fixo

1 CONFIRM NACK: Enlace ocupado Fixo

11 RESPOND Estado do enlace Fixo

14 - Serviço de enlace inoperante Fixo

15 - Serviço não implementado Fixo


Automação de
Subes tações e
Centros de Exemplo
Controle
ASCC

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
Automação de
Subes tações e
Centros de
Controle
ASCC

Camada de Transporte
Automação de
Subes tações e
Centros de Função da Camada de Transporte
Controle
ASCC
Application Protocol Data Unit - APDU

Dados do Usuário - Até 2048 octetos

TPDU TPDU TPDU

TH Bloco 0 TH Bloco 1 TH Bloco 2


Até 249 octetos
1

Link Service Data Unit - LSDU

Link
Header TH Dados
10 octetos 1
Até 292 octetos
Automação de
Subes tações e
Centros de
Controle
ASCC
Transport Protocolo Data Unit
TPDU
• Total octetos camada enlace +255 octetos
• Octetos de dados no cabeçalho -5
octetos
• TH - Transport Header -1
octeto
• Dados do usuário =249
octetos
Automação de
Subes tações e
Centros de
Controle
ASCC
Link Service Data Unit
LSDU
• Link header +10
octetos
• TH - Transport Header +1 octeto
• Dados Usuário ( 16 blocos)
– 15 blocos de 16 octetos +240 octetos
– 1 bloco de 9 octetos +9
– CRC (16x2) +32 octetos
• Tamanho máximo de um quadro =292
octetos
Automação de
Subes tações e
Centros de Transport Header
Controle
ASCC

FIN FIR SEQUENCE

7 6 5 4 3 2 1 0

FIN = 0 Ainda há quadros para enviar


FIN = 1 Ultimo quadro da seqüência
FIR = 1 Primeiro quadro da seqüência
FIR = 0 Não é o primeiro quadro da seqüência
SEQUENCE Número de seqüência dos quadros (0-63)
Automação de
Subes tações e
Centros de Exemplo
Controle
ASCC
Application Protocolo Data Unit

Dados do Usuário - 598 octetos

TPDU TPDU TPDU

TH Dados - 249 octetos TH Dados - 249 octetos TH Dados - 100 octetos

FIR = 1 FIR = 0 FIR = 0


FIN = 0 FIN = 0 FIN = 1
SEQUENCE = 5 SEQUENCE = 6 SEQUENCE = 7

Bloco 0 Bloco 1 Bloco 2


249 octetos 249 octetos 100 octetos
Automação de
Subes tações e
Centros de Exemplo
Controle
ASCC

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
Automação de
Subes tações e
Centros de
Controle
ASCC

Camada de Aplicação
Automação de
Subes tações e
Centros de Formato das
Controle
ASCC Mensagens de Aplicação
Application Protocol Data Unit

Request/Response
HEADER
Object
HEADER
Dados
... Object
HEADER
Dados

1. Requisições e Respostas podem consistir de 1 ou fragmentos;


2. Cada fragmento deve poder ser processado individualmente
Automação de
Subes tações e
Centros de Cabeçalhos de Aplicação
Controle
ASCC

Request Header
Application Control Function Code
AC FC

1 octeto 1 octeto 2 octetos

Response Header
Application Control Function Code Internal Indications
AC FC IIN
Automação de
Subes tações e
Centros de Application Control Field
Controle
ASCC

7 6 5 4 3 2 1 0
FIR FIN CON SEQUENCE

FIR = 1 Primeiro fragmento


FIN = 1 Ultimo fragmento
CON = 1 Espera confirmação
FC = 0 confirma mensagem
SEQUENCE Número do fragmento
0 a 15 - Respostas a solicitações do mestre
16 a 31 - Respostas não solicitadas
Automação de
Subes tações e
Centros de Exemplos
Controle
ASCC
Caso 1
Mestre
Request Response Unsol CONFIRM
Response
CON=0 CON=1 SEQ=24
CON=1
SEQ=7 SEQ=7
Escravo SEQ=24

Caso 2
Mestre
Request CONFIRM Response CONFIRM
CON=1 SEQ=2 CON=1 SEQ=2
SEQ=2 SEQ=2
Escravo
Automação de
Subes tações e
Centros de Exemplos
Controle
ASCC
Caso 3
Mestre
Request Response CONFIRM Response CONFIRM Request
CON=0 FIN=0, FIR=1 SEQ=2 FIN=1, FIR=0 SEQ=3 SEQ=4
CON=1 CON=1
SEQ=2
Escravo SEQ=2 SEQ=3

Caso 4
Mestre
Request Response Response
CON=0 CON=1 Time Out CON=1
SEQ=3 SEQ=3 SEQ=3
Escravo
Automação de
Subes tações e
Centros de
Controle
ASCC
Códigos de Função
Funções de Transferência
• 0 Confirm
• 1 Read
• 2 Write
Automação de
Subes tações e
Centros de
Controle
ASCC
Códigos de Função
Funções de Controle
• 3 Select
• 4 Operate
• 5 Direct Operate
• 6 Direct Operate sem reconhecimento

Códigos 3, 4 e 5 respondem com o estado dos pontos


Automação de
Subes tações e
Centros de
Controle
ASCC
Códigos de Função
Respostas
• 0 Confirmação
• 129 Resposta a solicitação
• 130 Resposta a mensagem não
solicitada
Automação de
Subes tações e
Centros de
Controle
Indicações Internas
ASCC Primeiro Octeto

• Bit 0 Informa que uma mensagem de


broadcast foi recebida por esta
estação
• Bit 1 Dados Classe 1 disponíveis
• Bit 2 Dados Classe 2 disponíveis
• Bit 3 Dados Classe 1 disponíveis
• Bit 4 Requisição de sincronização
• Bit 5 Saída digital em estado local
Automação de
Subes tações e
Centros de
Controle
ASCC
Indicações Internas
Primeiro Octeto
• Bit 6 Dispositivo com condição anormal
• Bit 7 Dispositivo reinicializado
Automação de
Subes tações e
Centros de
Controle
ASCC
Indicações Internas
Segundo Octeto
• Bit 0 Função não implementada
• Bit 1 Objeto desconhecido
• Bit 2 Qualidade, intervalo ou valor
invalido
• Bit 3 Estouro do buffer de eventos
• Bit 4 Operação requerida já em
execução
• Bit 5 Configuração está corrompida
Automação de
Subes tações e
Centros de Cabeçalho dos Objetos
Controle
ASCC

Application Protocol Data Unit

Request/Response
HEADER
Object
HEADER
Dados
... Object
HEADER
Dados

Objeto Qualificador Range

Variação Tamanho Código


Grupo
0=todas Índice Qualificador
Octeto 1 Octeto 2 7 6 5 4 3 2 1 0
Automação de
Subes tações e
Centros de
Controle
ASCC
Tamanho do Índice

• 0 objetos sem índice


• 1 objetos são prefixados com índice de 1 octeto
• 2 objetos são prefixados com índice de 2 octetos
• 3 objetos prefixados com índice de 4 octetos
• 4 objetos são prefixados com 1 octeto com o tamanho do
objeto
• 5 objetos são prefixados com 2 octetos com o tamanho do
objeto
• 6 objetos são prefixados com 4 octetos com o tamanho do
objeto
• 7 Reservado
Automação de
Subes tações e
Centros de
Código Qualificador
Controle
ASCC Especifica significado de Range

• 0 Índices de 1 octeto indicando inicio e fim no campo Range


• 1 Índices de 2 octetos indicando inicio e fim no campo Range
• 2 Índices de 4 octetos indicando inicio e fim no campo Range
• 3 Endereço absoluto de 1 octeto no campo range
• 4 Endereço absoluto de 2 octetos no campo range
• 5 Endereço absoluto de 4 octetos no campo range
• 6 Todos os objetos de um dado tipo (não há Ranger ou índices)
• 7 Campo Range: 1 octeto indicando o número de índices e objetos
• 8 Campo Range: 2 octetos indicando o número de índices e objetos
• 9 Campo Range: 4 octetos indicando o número de índices e objetos
Automação de
Subes tações e
Centros de Range - Códigos 0 a 5
Controle
ASCC Pontos I1 até I2
Códigos 0 e 3 - Tamanho = 0
Inicio
I1
Fim
I2
I1 I1+1 I1+2 .................... I2

Códigos 1 e 4 - Tamanho = 0
Inicio
I1
Fim
I2
I1 I1+1 ....... I2

Códigos 2 e 5 - Tamanho = 0
Inicio Inicio
I1 I2

I1 I1+1 I1+2
................ I2
Automação de
Subes tações e
Centros de Range - Código 7
Controle
ASCC Pontos P0 a PQ-1
Códigos 7 - Tamanho = 0
Quantidade
Q
P0 P1 ....................................... PQ-1

Código 7 - Tamanho = 1
Quantidade
Q
Índice
I1
P0
Índice
I2
P1 ...... Índice
IQ
PQ-1

Código 7 - Tamanho = 2
Quantidade
Q
Índice
I1
P0 ..... Índice
IQ
PQ-1
Automação de
Subes tações e
Centros de
Controle
Range - Código 8
ASCC Pontos P0 a PQ-1
Códigos 8 - Tamanho = 0
Quantidade
Q
P0 P1 ........................... PQ-1

Código 8 - Tamanho = 1
Quantidade
Q
Índice
I1
P0 ................. Índice
IQ
PQ-1

Código 8 - Tamanho = 2
Quantidade Índice Índice
P0 P1
Q I1 I2

Índice
................................................... IQ
PQ-1
Automação de
Subes tações e
Centros de Cabeçalhos de Aplicação
Controle
ASCC

Request Header
Application Control Function Code
AC FC

1 octeto 1 octeto 2 octetos

Response Header
Application Control Function Code Internal Indications
AC FC IIN
Automação de
Subes tações e
Centros de Exemplo
Controle
ASCC

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

Obs: Objeto 32 variação 2 -> Objeto analógico de 3 octetos


Automação de
Subes tações e
Centros de
Controle
Device Profile
ASCC
Automação de
Subes tações e
Centros de
Controle
Device Profile
ASCC
Automação de
Subes tações e
Centros de Objeto 1 Variação 2 - Estático
Controle
ASCC

Object Coding:

7 6 5 4 3 2 1 0

BS8 [0..7]
On-line = BS1 [0] <0, off-line; 1, on-line>
Restart = BS1 [1] <0, normal; 1, restart>
Communication lost = BS1 [2] <0, normal; 1, lost>
Remote forced data = BS1 [3] <0, normal; 1, forced>
Local forced data = BS1 [4] <0, normal; 1, forced>
Chatter filter = BS1 [5] <0, normal; 1, filter on>
Reserved = BS1 [6] <0>
State = BS1 [7] <0, 1 BIN>
Automação de
Subes tações e
Centros de Objeto 2 Variação 1 - Evento
Controle
ASCC

Object Coding:

7 6 5 4 3 2 1 0

BS8 [0..7]
On-line = BS1 [0] <0, off-line; 1, on-line>
Restart = BS1 [1] <0, normal; 1, restart>
Communication lost = BS1 [2] <0, normal; 1, lost>
Remote forced data = BS1 [3] <0, normal; 1, forced>
Local forced data = BS1 [4] <0, normal; 1, forced>
Chatter filter = BS1 [5] <0, normal; 1, filter on>
Reserved = BS1 [6] <0>
State = 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.
Automação de
Subes tações e
Centros de Objeto 32 - variação 2 - Evento
Controle
ASCC
Object Coding:

FLAG
7 0
Current value
15 0

SQ2 {FLAG = BS8 [0..7]


Current value = I16 [0..15] <215-1..-215>
}

FLAG ={
On-line = BS1 [0] <0, off-line; 1, on-line>
Restart = BS1 [1] <0, normal; 1, restart>
Communication lost = BS1 [2] <0, normal; 1, lost>
Remote forced data = BS1 [3] <0, normal; 1, forced>
Local forced data = BS1 [4] <0, normal; 1, forced>
Over-range = BS1 [5] <0, normal; 1, over-range>
Reference check = BS1 [6] <0, normal; 1, error>
Reserved = BS1 [7] <0>
}
Automação de
Subes tações e
Centros de Exemplo
Controle
ASCC

TX:
05 64 0B C4 01 00 00 00 8C 85 C0 C9 01
1E 02 06 E0 45

RX:
05 64 6F 44 00 00 01 00 CF 9F E7 C9 81 04 00 1E
02 00 00 1F 01 86 65 01 90 0C EA 8C 01 DF 09 01
8F FD 01 B7 6D 01 86 65 01 6F 0C 01 33 E3 90 0C
01 23 65 01 00 00 01 50 0A 01 00 00 01 00 AC D7
00 01 00 00 01 00 00 01 00 00 00 00 00 00 00 00
C1 A3 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 FF FF 00 00 00 00 00 00 00 00 00 00
FF FF
Automação de
Subes tações e
Centros de Exemplo
Controle
ASCC

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
Automação de
Subes tações e
Centros de
Controle
ASCC

Você também pode gostar