INFORMAÇÃO GERAL

Informação Geral

Communication Driver Name: DNP3
Current Version: 9.2
Implementation DLL: T.ProtocolDriver.DNP3V2.dll
Protocol: DNP3.0 Master standard protocol
Interface: TCP/IP
Description: O driver é utilizado para a comunicação com dispositivos de aquisição de dados (IED's) que utilizam o protocolo DNP3 Nível 3. A comunicação pode ser feita através de canal serial multiponto ou utilizando rede local Ethernet e protocolo TCP-IP, sendo que, nesse caso, cada IED tem um endereço IP.
IEDs types supported: Qualquer IED compatíivel DNP3
Communication block size: Maximum 250 bytes, formato FT 1.2
Protocol Options: Modo "LinkConfirm" e endreço da estação mestre.
Multi-threading: Configurável pelo usuário, default é cinco threads para cda nó da rede.
Max number of nodes: user defined
PC Hardware requirements: Standard PC Ethernet interface board.
PC Software requirements: ActionNET system.

Criação do canal Dnp30

Para criar um canal utilizando o protocolo DNP30, vá em Edit>Devices>Canal, e em protocolos Instalados escolha o DNP30 L3-V2- Master Standard Protocol.

 

image-20241029-200222.png

Após esta escolha será mostrada a janela para colocar o nome do canal e escolher o modo. Pode-se escolher modo de comunicação TCP-IP (CustomTCPIP) ou modo de comunicação Serial. (CustomSerial).

Conforme esta escolha, algumas outras configurações serão específicas para cada um deste modos. Nos próximos items estas configurações serão detalhadas.

image-20241029-200435.png

Objetos de dados suportados

O quadro abaixo apresenta os objetos DNP e suas variantes, suportados por esta implementação. Os objetos com a indicação L4 estão implementados, mas são definidos no nivel L4.

 

 





Requisição (Mestre)

Resposta (Escravo)



Objeto

Variação

Descrição

Function Codes (decimal)

Qualifier. Codes (Hex)

Function Codes (decimal)

Qualifier Codes (Hex)

1

0

Binary Input (any variation)

1

00,01,06











22

00,01,06





1

1

Single Bit Binary Input (packed)

1

00,01,06

129

00, 01

1

2

Binary Input with status

1

00,01,06

129

00, 01

2

0

Binary Input event (any variation)

1

06,07,08





2

1

Binary Input change without time

1

06,07,08

129,130

17,18

2

2

Binary Input change with absolut time

1

06,07,08

129,130

17,18

2

3

Binary Input change with relative time

1

06,07,08

129,130

17,18

3

0

Double bit Binary input – Any variation –L4

22

00,01,06





3

1

Double-bit Binary Input – Packed –L4

1

00,01,06

129

00, 01

3

2

Double-bit Binary Input – With flags–L4

1

00,01,06

129

00, 01

4

0

Double-bit Binary Input Event – Any Variation–L4

1

06,07,08





4

1

Double-bit Binary Input Event – whitout time–L4

1

06,07,08

129,130

17,18

4

2

Double-bit Binary Input Event- with absolut time–L4

1

06,07,08

129,130

17,18

4

3

Double-bit Binary Input Event - with relative time–L4

1

06,07,08

129,130

17,18

10

1

Binary Output – Any Variation

1

00,01,06





10

2

Binary Output – status with flags

1

00,01,06

129

00,01

12

1

Control relay output block

3,4,5,6

17,28

129

Echo of request

20

0

Binary Counter – all variations

1,7,8,9,10







20

1

Counter – 32-bit with flag

1

00,01,06

129

00, 01

20

2

Counter – 16-bit with flag

1

00,01,06

129

00, 01

20

5

Counter – 32-bit without flag

1

00,01,06

129

00, 01

20

6

Counter – 16-bit without flag

1

00,01,06

129

00, 01

21

0

Frozen counter – all variations

1,22







21

1

Frozen Counter – 32-bit with flag

1

00,01,06

129

00, 01

21

2

Frozen Counter – 16-bit with flag

1

00,01,06

129

00, 01

21

9

Frozen Counter – 32-bit without flag

1

00,01,06

129

00, 01

21

10

Frozen Counter – 16-bit without flag

1

00,01,06

129

00, 01

22

0

Counter Event – Any Variation

1

06





22

1

Counter Event – 32-bit with flag

1

06,07,08

129,130

17,18

22

2

Counter Event – 16-bit with flag

1

06,07,08

129,130

17,18

23

0

Frozen Counter Event – Any Variation

1

06,07,08





23

1

Frozen Counter Event – 32-bit with flag

1

06,07,08

129,130

17,18

23

2

Frozen Counter Event – 16-bit with flag

1

06,07,08

129,130

17,18

30

0

Analog Input – all variations

1, 22

00,01,06





30

1

32 Bits Analog Input

1

00,01,06

129

00, 01

30

2

16 Bit Analog input with flag

1

00,01,06

129

00, 01

30

3

32 Bits Analog Input without flag

1

00,01,06

129

00, 01

30

4

16 Bit Analog input without flag

1

00,01,06

129

00, 01

30

5

Short Floating Point (32bits) – L4

1

00,01,06

129

00, 01

32

0

Analog Input event – all variations

1

06,07,08





32

1

Analog Input event - 32 Bits without time

1

06,07,08

129,130

17,18

32

2

Analog event without flag – 16 Bits – Without time

1

06,07,08

129,130

17,18

32

3

32 Bit Analog event with flag – L4

1

06,07,08

129,130

17,18

32

4

16 Bit Analog event with flag– L4

1

06,07,08

129,130

17,18

32

5

Analog input event single float –without time– L4

1

06,07,08

129,130

17,18

32

7

Analog input event single float –with time– L4

1

06,07,08

129,130

17,18

40

0

Analog Output Status–any variation

1







40

1

Analog Output Status – 32bits with flag

1

00,01,06

129

00, 01

40

2

Analog Output Status -16bits with flag

1

00,01,06

129

00, 01

40

3

Analog output status – Single float with flag –L4

1

00,01,06

129

00, 01

41

1

Analog output block - 32Bit

3,4,5,6

17,28

129

Echo of request

41

2

Analog output block - 16 Bit

3,4,5,6

17,28

129

Echo of request

41

3

Analog output block – Single float - L4

3,4,5,6

17,28

129

Echo of request

50

1

Time and Data – Absolut time

1,2

0x07

129

07

51

1

Time and Date CTO – Absolute time, synchronized





129,130

07

51

2

Time and Date CTO – Absolute time, unsynchronized





129,130

07

52

1

Time Delay – Coarse





129

07

52

2

Time Delay – Fine





129

07

60

1

Class 0 data

1

0x06





60

2

Class 1 data

1,20,21

06,07,08





60

3

Class 2 data

1,20,21

06,07,08





60

4

Class 3 data

1,20,21

06,07,08





80

1

Internal indications

1,2

00,01

129

01


Na implementação do protocolo o mestre só executa as requisições destacadas em azul. O equipamento servidor, responde utilizando as respostas destacadas em amarelo. Observe-se que cabe ao equipamento servidor decidir como será a resposta e o mestre deve suportar todas as funções do nível 2 possíveis de serem utilizadas como resposta.
Os objetos, variações de objeto, códigos de função e qualificadores tem seus significados padronizados no DNP. Abaixo são mostradas as tabelas de código de função e qualificador:

Código de Função

Descrição

Origem

1

Ler

Mestre

2

Escrever

Mestre

3

Seleciona

Mestre

4

Opera

Mestre

5

Opera direto (sem seleção)

Mestre

6

Opera direto (sem ack)

Mestre

7

Congela imediatamente

Mestre

8

Congela imediatamente (sem ack)

Mestre

9

Congela e limpa

Mestre

10

Congela e lê

Mestre

13

Restart (Cold)

Mestre

14

Restart (Warm)

Mestre

20

Habilita mensagem não solicitada

Mestre

21

Desabilita mensagem não solicitada

Mestre

22

Coloca o objeto em uma classe

Mestre

23

Medida com delay

Mestre

129

Resposta

Escravo

130

Resposta não solicitada (não existe no nível 2)

Escravo



Código de Qualificador

Uso em requisição

Uso em resposta

00,01

Um intervalo de pontos estáticos (classe 0) ou um único ponto com um número

Objeto estático

06

Todos os pontos

Inválido

07,08

Uma quantidade limitada de eventos.
Um ponto simples sem número (isto é uma data / hora)

Um ponto simples sem número (isto é uma data / hora)

17, 28

Controles (usualmente um ou mais pontos não relacionados)

Objetos evento (usualmente um ou mais pontos não relacionados)








O DNP tem o conceito de classes de dados, sendo definidas quatro classes:
Classe 0: Corresponde ao ponto estático, analógico ou digital. Seu conteúdo é o valor de uma variável analógica ou digital, de entrada ou saída, em um dado momento;
Classe 1, 2 e 3: Corresponde a eventos de transição de estados ou de variáveis de classe 0 ou situações internas à remota / relé que causam o evento.
O que ocorre normalmente nos IED's ao utilizar-se o DNP, é associar à variação de estado de variáveis digitais ou valores de banda morta de variáveis analógicas as classes 1, 2 e 3. Dessa forma, a modificação do estado / valor dessas variáveis causará eventos que serão transmitidos através do pedido de eventos das respectivas classes (60/2, 60/3 e 60/4). Periodicamente, pode ser feita uma leitura cíclica para verificação de integridade. Essa leitura, corresponde a um pedido de classe 0 (60/1).
Observações:
Variáveis estáticas não associadas às classes 1, 2 ou 3 não causam eventos;
A associação de variáveis a classes deve ser feita no IED (dispositivo servidor), utilizando um programa de configuração do mesmo. O SCADA executa a aquisição de dados das classes sem, entretanto, definir que variável pertence a que classe.

Funcionamento geral

A sequência normal de operação do mestre é:

  • Ao ser iniciado, envia pedido de leitura de eventos de classe 1, 2 e 3 (60/2, 60/3 e 60/4) para todas as IED's;

  • Em sequência envia pedido de leitura de classe 0 (leitura de integridade - 60/1) para todas as IED's;

  • Ciclicamente, com intervalos de tempo conforme definido no arquivo de inicialização, faz leitura das classes 0, 1, 2 e 3 (60/1 a 60/4);

  • Quando recebe uma mensagem com IIN (Internal Indication) informando que IED requer sincronismo, envia mensagens de sincronismo (50,1). Essa mensagem só é enviada por solicitação da IED;

  • Quando recebe uma mensagem com IIN indicando que IED reiniciou (restart), executa uma escrita de "clear device flag" (80/1) e vai para (1);

  • Quando o usuário executa um comando de saída digital ou saída analógica, o software envia a respectiva requisição para o IED (12/1 ou 41/2);

Nesta página: