...
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 comunicação em modo escravo (ou Servidor) com supervisórios ou outros equipamentos que utilizam o protocolo DNP3 Nível 2 em Modo MESTRE (ou Cliente). A comunicação pode ser feita através de canal serial ponto a ponto ou utilizando rede local Ethernet e protocolo TCP-IP como escravo único de um endereço IP.
Masters types supported: Qualquer equipamento em Modo MESTRE compatíivel DNP 3.0
Communication block size: Maximum 250 bytes, formato FT 1.2
Protocol Options: Modo "LinkConfirm" e endereç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, RS485 or RS232 port
PC Software requirements: ActionNET system.
Anchor | ||||
---|---|---|---|---|
|
O quadro abaixo apresenta os objetos DNP e suas variantes, suportados por esta implementação.
Objeto |
|
| Requisição (Mestre) | Resposta (Escravo) |
|
| ||||||||
Obj. | Var | 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 | 129 |
|
| |||||||
1 | 1 | Single Bit Binary Input (packed) | 1 | 00,01,06 |
| 129 | 00, 01 |
| ||||||
1 | 2 | Binary Input with status |
|
| 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 | 22 | 00,01,06 |
|
|
|
| ||||||
3 | 1 | Double-bit Binary Input – Packed | 1 | 00,01,06 | 129 | 00, 01 | ||||||||
3 | 2 | Double-bit Binary Input – With flags | 1 | 00,01,06 | 129 | 00, 01 | ||||||||
4 | 0 | Double-bit Binary Input Event – Any Variation | 1 | 06,07,08 |
|
|
|
| ||||||
4 | 1 | Double-bit Binary Input Event – whitout time | 1 | 06,07,08 |
| 129,130 | 17,18 |
| ||||||
4 | 2 | Double-bit Binary Input Event- with absolut time | 1 | 06,07,08 |
| 129,130 | 17,18 | |||||||
4 | 3 | Double-bit Binary Input Event - with relative time | 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 |
|
| |||||||
12 | 1 | Control relay output block | 3,4,5 | 17,28 |
| 129 | Echo of request |
| ||||||
20 | 0 | Binary Counter – all variations |
|
|
|
|
|
| ||||||
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 |
|
|
|
|
|
| ||||||
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 | 3 | Frozen Counter – 32-bit without flag | 1 | 00,01,06 | 129 | 00, 01 | ||||||||
21 | 4 | 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) | 1 | 00,01,06 | 129 | 00, 01 | ||||||||
32 | 0 | Analog Input event – all variations | 1 | 06,07,08 |
|
|
|
| ||||||
32 | 1 | 32 Bits Analog Input event | 1 | 06,07,08 | 129,130 | 17,18 | ||||||||
32 | 2 | 16 Bit Analog event without flag | 1 | 06,07,08 | 129,130 | 17,18 | ||||||||
32 | 3 | 32 Bit Analog event with flag | 1 | 06,07,08 | 129,130 | 17,18 | ||||||||
32 | 4 | 16 Bit Analog event with flag | 1 | 06,07,08 |
| 129,130 | 17,18 |
| ||||||
32 | 5 | Analog input event single float –without time | 1 | 06,07,08 | 129,130 | 17,18 | ||||||||
32 | 7 | Analog input event single float –with time | 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 | 1 | 00,01,06 | 129 | 00, 01 | ||||||||
41 | 1 | 32Bit Analog output block | 3,4,5,6 | 17,28 | 129 | Echo of request | ||||||||
41 | 2 | 16 Bit Analog output block | 3,4,5,6 | 17,28 | 129 | Echo of request | ||||||||
41 | 3 | Analog output block – Single float | 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 | Selecionar | Mestre |
4 | Operar | Mestre |
5 | Operar direto (sem seleção) | Mestre |
6 | Operar 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 | Assinala classe a objeto | Mestre |
23 | Medida com delay | Mestre |
129 | Resposta | Escravo |
130 | Resposta não solicitada (não existe no nível 2) | Escravo |
...