Você está na página 1de 21

SCLN 212, Bloco D, Sala 101

Braslia DF | CEP: 70.865-540


+55 61 3340-8486
contato@spinengenharia.com.br
www.spinegenhria.com.br

Action.NET

DNP 3.0 - Slave Communication Protocol

Verso 1.0.1

Manual de Referncia

00052.01
Outubro, 2013

Action.NET DNP 3.0


Slave (Server) Communication Protocol

Verso 1.0.1

Manual de Referncia

00052.01
outubro, 2013

Copyright 2013
Spin Engenharia de Automao Ltda
Todos os Direitos Reservados

Nenhuma parte deste documento pode ser reproduzida, copiada, fotocopiada, distribuda ou alterada sem a prvia e expressa
autorizao da Spin Engenharia de Automao Ltda.

NOTA

Em virtude do contnuo desenvolvimento de seus produtos, a informao contida neste


documento est sujeita a alteraes e/ou modificaes sem prvia notificao. A Spin no se
considera responsvel por erros de digitao ou interpretao das informaes aqui contidas;
e/ou por danos e prejuzos causados / gerados a terceiros. O contedo desta publicao poder
ser alterado a qualquer momento sem que exista a obrigao de notificar qualquer parte
envolvida; isto no implicar, em nenhuma hiptese, em alteraes, reclamaes, ou extenso de
O alinhamento vertical dessa pgina inferior, para tentar manter o texto sobre as alteraes
sempre alinhado com a margem inferior.

Nesta pgina esto exemplificados os estilos para serem utilizados com os cones de ateno do
texto. O estilo Ateno cones.

Cuidado! Indica que o usurio dever proceder exatamente como descrito neste manual, sob pena
de danificar ou configurar errado o equipamento.

Dica. Indica informaes teis e rpidas para soluo de pequenos problemas.

Perigo! Indica que o usurio dever proceder exatamente como descrito neste manual, sob risco
de choque ou descarga eltrica.

ActionNET DNP 3.0


Slave Communication Protocol

Sumrio
1. INFORMAO GERAL ........................................................................................ 1
1.1 Sumrio ..................................................................................................................................................... 1
1.2 Objetos de dados suportados.................................................................................................................. 1
1.3 Funcionamento geral ...............................................................................................................................4

2. CONFIGURAO DO CANAL ............................................................................ 5


2.1 Opes de protocolo ................................................................................................................................ 5
2.2 Settings .................................................................................................................................................... 5
2.3 Timeout ....................................................................................................................................................6
2.4 Estado Inicial ............................................................................................................................................6

3. CONFIGURAO DE NODES ........................................................................ 7


3.1 Dados dos Canais (primrio e backup) ................................................................................................... 7

4. CONFIGURAO DE PONTOS ......................................................................... 8


4.1 Geral ..........................................................................................................................................................8
4.2 Tipos de pontos .......................................................................................................................................8
4.3 Endereo do ponto ................................................................................................................................. 11
4.4 Access Type ............................................................................................................................................13

00052.01

Informao geraL

1. INFORMAO GERAL
1.1 Sumrio
Communication Driver Name: DNP30S
Current Version: 1.0
Implementation DLL: T.ProtocolDriver.DNP30S.dll
Protocol: DNP3.0 Slave standard protocol
Interface: TCP/IP ou Serial
Description: O driver utilizado para a comunicao em modo escravo (ou Servidor) com
supervisrios ou outros equipamentos que utilizam o protocolo DNP 3.0 Nvel 2 em Modo
MESTRE (ou Cliente). A comunicao pode ser feita atravs de canal serial ponto a ponto ou
utilizando rede local Ethernet e protocolo TCP-IP como escravo nico de um endereo IP.
Masters types supported: Qualquer equipamento em Modo MESTRE compativel DNP 3.0
Communication block size: Maximum 250 bytes, formato FT 1.2
Protocol Options: Modo LinkConfirm" e endereo da estao mestre.
Multi-threading: Configurvel pelo usurio, default cinco threads para cda n da rede.
Max number of nodes: user defined
PC Hardware requirements: Standard PC Ethernet interface board, RS485 or RS232 port
PC Software requirements: ActionNET system.

1.2 Objetos de dados suportados


O quadro abaixo apresenta os objetos DNP e suas variantes, suportados por esta implementao.
Objeto

Resposta (Escravo)

Func.
Code
(decimal)

Func.
Codes
(decimal)

Qual.
Code
(Hex)

Obj.

Var

Single Bit Binary Input

129

00

Binary Input with status

129

00

Binary Input change without


time

129

17

Binary Input change with time

129

17

12

Control relay output block

129

17

20

Binary Counter all variation

21

Frozen counter all variations

30

Analog Input all variations

30

32 Bits Analog Input

129

00

30

16 Bit Analog input with flag

129

00

00052.01

Descrio

Requisio (Mestre)

3,4,5

Qual.
Code
(Hex)

0x17

Informao geraL

30

32 Bits Analog Input without


flag

129

00

30

16 Bit Analog input without flag

129

00

30

Short Floating Point (32bits)

32

Analog Input change event all


variations

32

32 Bits Analog Input change


event

129

17

32

16 Bit Analog change event


without flag

129

17

32

32 Bit Analog change event


with flag

32

16 Bit Analog change event


with flag

40

16 Bit Analog output status

129

00

41

32Bit Analog output block

0x17

129

17

41

16 Bit Analog output block

0x17

129

17

50

Time and Data

1,2

0x07

60

Class 0 data

0x06

60

Class 1 data

0x06

60

Class 2 data

0x06

60

Class 3 data

0x06

80

Internal indications

0x06

Na implementao do protocolo o mestre s executa as requisies 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
funes do nvel 2 possveis de serem utilizadas como resposta.
Os objetos, variaes de objeto, cdigos de funo e qualificadores tem seus significados
padronizados no DNP. Abaixo so mostradas as tabelas de cdigo de funo e qualificador:

Cdigo de
Funo

Descrio

Origem

Ler

Mestre

Escrever

Mestre

Selecionar

Mestre

Operar

Mestre

Operar direto (sem seleo)

Mestre
00052.01

Informao geraL

Operar direto (sem ack)

Mestre

Congela Imediatamente

Mestre

Congela Imediatamente (sem ack)

Mestre

Congela e limpa

Mestre

10

Congela e l

Mestre

13

Restart (Cold)

Mestre

14

Restart (Warm)

Mestre

20

Habilita mensagem no solicitada

Mestre

21

Desabilita mensagem no solicitada

Mestre

22

Assinala classe a objeto

Mestre

23

Medida com delay

Mestre

129

Resposta

Escravo

130

Resposta no solicitada (no existe no nvel Escravo


2)

Cdigo de
Qualificador
00,01

06
07,08

Uso em requisio

Uso em resposta

Um intervalo de pontos estticos Objeto esttico


(classe 0) ou um nico ponto
com um nmero
Todos os pontos

Invlido

Uma quantidade limitada de Um ponto simples sem nmero (isto


eventos.
uma data / hora)
Um ponto simples sem nmero
(isto uma data / hora)

17, 28

Controles (usualmente um ou Objetos evento (usualmente um ou


mais pontos no relacionados)
mais pontos no relacionados)

O DNP tem o conceito de classes de dados, sendo definidas quatro classes:


Classe 0: Corresponde ao ponto esttico, analgico ou digital. Seu contedo o valor de
uma varivel analgica ou digital, de entrada ou sada, em um dado momento;
Classe 1, 2 e 3: Corresponde a eventos de transio de estados ou de variveis de classe 0
ou situaes internas remota / rel que causam o evento.
O que ocorre normalmente nos IEDs ao utilizar-se o DNP, associar variao de estado de
variveis digitais ou valores de banda morta de variveis analgicas as classes 1, 2 e 3. Dessa
forma, a modificao do estado / valor dessas variveis causar eventos que sero transmitidos
atravs do pedido de eventos das respectivas classes (60/2, 60/3 e 60/4). Periodicamente, pode
00052.01

Informao geraL

ser feita uma leitura cclica para verificao de integridade. Essa leitura, corresponde a um pedido
de classe 0 (60/1).
Observaes:
1) Nesta implementao considerado automaticamente que variveis digitais Tipo BI,
quando sofrerem alterao sero enviadas como de Classe 1, na forma do Objeto 2 com
variao 2 (Binary input with time stamp).
2) Nesta implementao considerado automaticamente que variveis analgicas AI, AIF,
quando sofrerem alterao sero enviadas como de Classe 2., na forma dos Objetos 30
variao 3, para AI e como 30 variao 5 para o AIF.

1.3 Funcionamento geral


A sequncia normal de operao do escravo :
Caso seja necessrio na instalao o mestre dever envia mensagem de sincronismo
(50,1) periodicamente. A data e horrio recebido ser entendido como UCT (ou GMT), e
ser utilizada para alterar o relgio do computador host.
Ao iniciar a execuo, nas primeiras mensagens de resposta com, enviar flags de IIN
indicando que IED reiniciou (restart). O mestre dever ento executar uma escrita de
clear device flag (80/1) para limpar esta indicao;
Sempre que houver alterao do estado de digitais ou analgicas, que sejam
configurados na tabela POINTS, com AccesType como ReadWrite, ser enviada
mensagem de evento como Classe 1 ou Classe 2. Caso no se desejar eventos em alguns
pontos usar para estes AccessType = Read;
Quando o modo escravo recebe um pedido de comando de sada digital ou sada
analgica, atravs software envia a respectiva requisio para o IED (12/1 ou 41/2);

00052.01

Configurao do canal

2. CONFIGURAO DO CANAL
2.1 Opes de protocolo
LinkConfirmMode Modo do protocolo em que na camada de enlace todas as solicitaes
recebem resposta de confirmao de seu recebimento. Por default este campo enable.
MasterStationID - Nmero entre 1 e 65534, unvoco e corresponde ao endereo da estao
mestre. Assim, um mestre quando envia mensagem a este escravo deve informar seu endereo.
Por default este campo 65534.

Figura 1 Opes do Protocolo

2.2 Settings
Canais Serial:
Com: Porta de comunicao do computador utilizada;
BaudRate
DataBits: 8
StopBits: 1ou 2
Parity: None, Even, Odd;
DTR: on, off
RTS: on,off
CTS: on, off;
Configuraes da porta devem ser compatveis no mestre e escravo.

00052.01

Configurao do canal

Figura 2 Settings de Canal Serial

TCP/IP channels:

ServerMode e AcceptUnsolicited so pr marcados e no podem ser alterados;

ListeningPort - Deve-se definir a porta no micro onde este canal escravo vai aceitar conexes.
MaxSimultaneousConnections- Deve ser 1.

ShareNodeSameIP: Aceita IEDs com o mesmo IP.

Figura 3 Settings de TCP/IP

2.3 Timeout
Define tempos limites para a transmisso e recepo de caracteres de mensagens e o nmero de
retries.

Figura 4 Atributos de Timeout

2.4 Estado Inicial


Define como o canal iniciar: habilitado ou Desabilitado. Se o canal estiver desabilitado, no sero
enviadas nem recebidas mensagens atravs do mesmo, isto o canal ficar inativo.

Figura 5 Estado inicial do Canal

00052.01

Configurao de NODES

3. CONFIGURAO DE NODES
Deve ser configurado um nico n como estao servidora em cada canal Casso seja necessrio
servir a mais de um cliente devem ser configurados tantos canais quantos so os clientes.

3.1 Dados dos Canais (primrio e backup)


Conjunto de atributos associados ao nodo (canal), referentes ao seu endereo e outros atributos
apresentados abaixo:

Figura 6 Dados dos Canais

Para o caso de comunicao via Tcp-Ip:


Endereo IP No utilizado.
Port - No utilizado
Para ambos TCP-IP e Serial:
SlaveID Endereo da estao Escrava, definida por este canal.
IgnoreBitOnLine - Se enabled indica que o driver deve ignorar a indicao de BitOnLine que
inserida pelo IED quando ocorre falha ou normalidade em um ponto, segundo o critrio do IED.
WaitForIdleToCmd Se enabled indica que um comando somente ser enviado quando a
comunicao de amostragem estiver em repouso, isto , no estiver ocorrendo.

00052.01

Configurao de pontos

4. CONFIGURAO DE PONTOS
4.1 Geral
Os pontos podem ser de entrada ou de sada.
Os pontos de entrada, isto os pontos que so servidos pelo protocolo tem basicamente dois
parmetros principais: O tipo de ponto e o seu endereo.
No mapa de endereos de um IED os endereos reiniciam para cada tipo de ponto.
Os estados ou valores dos pontos so reportados ao cliente por Objetos de Informao definidos
no protocolo. Estes objetos possuem variaes como com ou sem timestamp. Sempre que o
escravo reportar mudanas em classes 1 ou 2 , utilizar a variao com timestamp utilizando o
ultimo timestamps correspondente de um ponto no ActionNET. Quando o escravo reportar
leituras gerais de analgicos, contadores ou digitais este protocolo utilizar variao sem
timestamp.
O mdulo de comunicao no modo Escravo, implementa as seguintes operaes:
Respostas a pedidos de leitura de pontos digitais;
Respostas a pedidos de leitura de variveis analgicas;
Respostas a pedidos de Leitura de contadores;
Execuo de solicitao de comandos de Pontos digitais e analgicos;

4.2 Tipos de pontos


Os tipos de pontos implementados so definidos utilizando os objetos de dados definidos na
norma, a seguir apresentados. Para cada tipo de ponto quaisquer que sejam as variaes de
objetos recebidos do IED , com flag ou sem, com timestamp ou sem, os valores adquiridos
sero colocados em pontos com o tipo entre os abaixo listados. Na tabela pontos, no campo
address escolhe-se o tipo do ponto e especifica-se seu endereo.

00052.01

Configurao de pontos

AI - Analog Input
Medio analgica escalar utilizado para transmisso de grandezas analgicas. Utilizado para
enviar dados atravs do objeto 32 variao 1. So numeros de 32 bits inteiros.
BI - Binary Input
Ponto de entrada binario simples, valor 0 ou 1. Utilizado para enviar dados atravs do objetos 2
variao 2.
RAO Read Analog Output
No utilizado na implementao do modo escravo.
CRO - Control Relay Output
Ponto de saida digital utilizado para receber comandos de chaves e disjuntores. esperado o
objeto DNP 12, incluido o Control Code (8 bits) para indicao do tipo de comando e detalhes de
execuo. No cadastranmento destes pontos em modo escravo, no preciso definir o control
code, j que somente executada a altereo do valor do ponto do Action.NET , para que esta
alteraa sirva como um disparador de um comando no protocolo cliente que executar o
comando em um IED verdadeiro.
No caso de controle de chaves e disjuntores recomenda-se a utilizao de dois Tags: um para o
Trip e outro para o Close.
Os valores possveis recebidos do cliente so apresentados na tabela abaixo com as respectivas
aes associadas:
Control Code

Ao protocolo

Ao no tag Action.NET executada no escravo

Sada Pulse ON

Altera para 1 e a seguir para Zero

Sada Pulse OFF

Altera para Zero e a seguir para 1

Sada Latch ON

Altera para 1

Sada Latch OFF

Altera para ZERO

65

Sada Pulse ON + Close

Altera para 1 e a seguir para Zero

66

Sada Pulse OFF + Close

Altera para Zero e a seguir para 1

67

Sada Latch ON + Close

Altera para 1

68

Sada Latch OFF + Close

Altera para ZERO

129

Sada Pulse ON + Trip

Altera para 1 e a seguir para Zero

130

Sada Pulse OFF + Trip

Altera para Zero e a seguir para 1

131

Sada Latch ON + Trip

Altera para 1

132

Sada Latch OFF + Trip

Altera para ZERO

+ 16

Enfileirar (Queue) + Trip

Nada faz

+ 32

Limpar (Clear) + Trip

Nada faz

CT Counter

00052.01

Configurao de pontos

Contador binrio de 16 ou 32bits, enviado atravs do objetos 20 variao 1. Este numero possui o
ultimo estado do tag de contagem, no instante em que enviado.
FRZ - Frozen Counter
Contador binrio de 32 bits, enviado atravs do objeto 21 variao 1, que contm a informao de
um contador utilizado como um tag.
AO - Analog Output Status or Block (16bits)
Quando este modo escravo recebe mensagem com Function Code de escrita (2 = Write ou
4=Operate, ou 5= DirectOperate ) e este objeto ou 41 (valor requerido para ser alcanado na saida
analgica) na suas variaes 2 (16 bits), este valor escito no tag definido na tabela POINTS para
o endereo recebido no objeto..
AOL - Analog Output long (32 bits)
Quando este modo escravo recebe mensagem com Function Code de escrita (2 = Write) e este
objeto 41 (valor requerido para ser alcanado na saida analgica) na suas variaes 1 (32 bits), este
valor escito no tag definido na tabela POINTS para o endereo recebido no objeto..
AIF - Analog Input Floating (32 bits)
Medio analgica utilizada para transmisso de grandezas analgicas. Tags com este tipo devem
ser tipificados no Action.Net como reais Seu valor enviado atravs do objeto 30 variao 5. So
numeros de ponto flutuante de 32 ou 64 bits, formato IEEE-754.
IIN - Internal Indications
Como o padro do protocolo os status dos Internal Indications ou status de resposta de
comandos so enviados em todas as mensagens de resposta do escravo, para utilizao pelo
cliente. A tabela mostra o formato destas duas palavras de 16 bits.
BIT

10

Origem Descrio

Contedo

IIN

Broadcast

Retorna 1 quando escravo recebe uma


mensagem de broadcast (endereo = FFFF)

IIN

Classe 1

Retorna 1 se escravo tem eventos classe 1

IIN

Classe 2

Retorna 1 se escravo tem eventos classe 2

IIN

Classe 3

Retorna 1 se escravo tem eventos classe 3

IIN

Sincronismo de relgio

Retorna 1 se escravo pede sincronizao de


relgio

IIN

Sadas em local

Retorna 1 se algumas ou todas as sadas esto


em local

IIN

Problema

Retorna 1 se escravo com problema

IIN

Reincio

Retorna 1 se escravo reiniciou (restart)

IIN

Funo no implementada

Retorna 1 se funo enviada pelo mestre no


est implementada no escravo

IIN

Objeto desconhecido

Retorna 1 se escravo no tem determinado


objeto ou classe no tem esse objeto

00052.01

Configurao de pontos

10

IIN

Dado invlido

Retorna 1 se tem parmetro invlido no


qualificador ou intervalo de endereos est
invlido

11

IIN

Overflow

Retorna 1 se buffer do escravo teve overflow

12

IIN

Ocupado

Retorna 1 se requisio foi entendida mas j est


sendo executada

13

IIN

Dado corrompido

Retorna 1 se dados de parametrizao esto


corrompidos

14

IIN

Reservado

Sempre 0

15

IIN

Reservado

Sempre 0

Status field: 8 bits enviados como resposta de um comando.


BIT

Origem Descrio

Contedo

Status

Comando aceito

Retorna 1 aps comando correto

Status

Comando no aceito

Retorna 1 se ocorreu time out entre tempo de


select e operate.

Status

Falta select

Retorna 1 se foi feito um operate sem prvio


select

Status

Erro formato

Retorna 1 se comando tem erro de formato

Status

Controle no suportado

Retorna 1 se operao no suportada

Status

Fila cheia

Retorna 1 se fila de requisio do escravo est


cheia ou ponto j est ativo

Status

Erro hardware

Retorna 1 se ocorreu um erro de hardware do


dispositivo ao tentar executar o comando

No utilizado

4.3 Endereo do ponto


O campo Address a ser preenchido no cadastramento de pontos o que a norma chama de
Index. Trata-se de um numero de 16 bits que o ndice [0 a n-1] indicativo de cada um dos
pontos do mesmo tipo mapeados dentro do IED.
Abaixo, a ttulo de exemplo apresentada uma tabela de pontos preenchida com diferentes tipos
de ponto. Os pontos tipo sada digital (CRO), conforme citado acima, alm do endereo possuem
o cdigo de controle.

00052.01

11

Configurao de pontos

129 = Pulse ON +
TRIP

Figura 12 Exemplo da tabela de Points com diferentes tipos de pontos

Para implementar pontos de entrada digital discretos, basta usar o atributo Bit de um Tag, para
cada um dos pontos que definem o valor da entrada digital discreta. Assim, por exemplo, uma
seccionadora que tem dois contatos para definir seu estado:
Tag
ENDEREO Complemento
SEL_LINHA_01.SC89_1
8
Seccionadora aberta
SEL_LINHA_01.SC89_1
9
Seccionadora Fechada
definida como um Tag AnalogInt e na tabela node se usa o atributo Bit desta varivel de 16 bits
(AnalogInt) para enderear os dois pontos, como na tabela abaixo:

Os valores assumidos pela varivel SEL_LINHA_01.SC89_1 sero:

Tag
SEL_LINHA_01.SC89_1
SEL_LINHA_01.SC89_1
SEL_LINHA_01.SC89_1
SEL_LINHA_01.SC89_1
12

Bit
0 Bit 1 VALOR SIGNIFICADO
0
0
0
INDEFINIDO
1
0
1
ABERTA
0
1
2
FECHADA
1
1
3
ERRO
00052.01

Configurao de pontos

4.4 Access Type


Por ser um mdulo de comunicao em modo servidor h a necessidade de algumas
caractersticas prprias para a parametrizao do campo Access Type da tabela Points:
Para pontos com tipos que so de leitura ou receptores de comandos (CRO, AO e AOL):
O Access Type deve ser definido com:
ReadOnStartup= On;
ReadPooling= Never;
WriteEvent= Changed;
AccepUnsolictited = On;
Para pontos com tipos de leitura , para os quais no se deseja gerao de eventos
O Access Type deve ser definido da mesma forma acima porm com com:
WriteEnable = off;
WriteEvent= none;

00052.01

13