GENERAL INFORMATION

Information General

Communication Driver Name: DNP3
Current Version: 9.2
Implementation DLL: T.ProtocolDriver.DNP3V2.dll
ProtocolP: DNP3.0 Master standard protocol
Interface: TCP/IP
Description: The driver is used for communication with data acquisition devices (IED's) that use the DNP3 Level 3 protocol. Communication can be done through a multipoint serial channel or using local Ethernet network and TCP-IP protocol, in which case each IED has an IP address.
IEDs types supported: Any compatible IED DNP2
Communication block size: Maximum 250 bytes, FT 1.2 format
Protocol Options: "LinkConfirm" mode and end of the master station.
Threading: User configurable; default is five threads for the cda network node.
Max number of nodes: user-defined
PC Hardware Requirements: Standard PC Ethernet interface board
PC Software Requirements: ActionNET system.

DNP3 Channel Creation

To create a channel using the DNP30 protocol, go to Edit>Devices>Channel, and in Installed protocols, choose DNP30 L3-V2 - Master Standard Protocol.

 

image-20241030-135636.png

After this choice, a window will be displayed to enter the channel name and choose the mode. You can choose TCP-IP communication mode (CustomTCPIP) or Serial communication mode (CustomSerial).

Depending on this choice, some other settings will be specific to each of these modes. In the next items, these settings will be detailed.

image-20241030-135441.png

 

Supported data objects

The table below shows the DNP objects and their variants, which this implementation supports. Objects with the indication L4 are implemented but are defined at the level of L4.

 

 





Requisition (Master)

Answer (Slave)



Object

Variation

Description

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 changes without time

1

06,07,08

129,130

17,18

2

2

Binary Input changes with absolute 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 - without time–L4

1

06,07,08

129,130

17,18

4

2

Double-bit Binary Input Event- with absolute 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

16bit 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

16bit 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

32bit Analog event with flag - L4

1

06,07,08

129,130

17,18

32

4

16th 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 - Absolute

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 date

1

0x06





60

2

Class 1 date

1,20,21

06,07,08





60

3

Class 2 date

1,20,21

06,07,08





60

4

Class 3 date

1,20,21

06,07,08





80

1

Internal indications

1,2

00,01

129

01


Objects, object variations, function codes, and qualifiers have their meanings standardized in DNP. Below are the function code and qualifier tables:

Function Code

Description

Origin

1

Read

Master

2

To write

Master

3

Selects

Master

4

Opera

Master

5

Operates direct (no selection)

Master

6

Operates direct (without ack)

Master

7

Freezes immediately

Master

8

Freezes immediately (without ack)

Master

9

Freezes and cleans

Master

10

Freezes and reads

Master

13

Restart (Cold)

Master

14

Restart (Warm)

Master

20

Enables unsolicited message

Master

21

Disables unsolicited message

Master

22

Places the object in a class

Master

23

Measure with delay

Master

129

Answer

Slave

130

Unsolicited response (does not exist at level 2)

Slave



Qualifier Code

Use in requisition

Use in response

00,01

A range of static points (class 0) or a single point with a number

Static object

06

All points

Invalid

07,08

A limited number of events.
A simple point without a number (i.e., a date/time)

A simple point without a number (i.e., a date/time)

17, 28

Controls (usually one or more unrelated points)

Event objects (usually one or more unrelated points)








DNP has the concept of data classes, and four classes are defined:
Class 0: Corresponds to static, analog, or digital point. Its content is the value of an analog or digital variable, input or output, at a given time;
Class 1, 2, and 3: Corresponds to state transition events or class 0 variables or situations internal to the remote/relocation that cause the event.
What usually occurs in FDI's when using NpD is to associating with the state variation of digital variables or dead band values of analog variables classes 1, 2, and 3. Thus, modifying the state/value of these variables will cause events that will be transmitted by ordering events from the respective classes (60/2, 60/3, and 60/4). Periodically, a cyclic reading can be done for health check. This reading corresponds to a class 0 request (60/1).
Observations:
Static variables not associated with classes 1, 2, or 3 do not cause events;
The association of variables to classes must be done in the server device (IED) using a configuration program of the same. SCADA performs data acquisition of classes without defining which variable belongs to which class.

General operation

The typical operation sequence of the master is:

  • When started, send a request to read class 1, 2, and 3 events (60/2, 60/3, and 60/4) for all IED's;

  • In sequence, sends class 0 read request (health read - 60/1) to all IED's;

  • Cyclically, with time intervals as defined in the startup file, read classes 0, 1, 2 and 3 (60/1 to 60/4);

  • When you receive a message with Internal Indication (IIN) stating that IED requires sync, it sends messages timing (50.1). This message is only sent at the request of the IED;

  • When you receive a message with IIN indicating that IED has restarted, you run a clear device flag (80/1) write and go to (1);

  • When the user executes a digital output or analog output command, the software sends its request to the IED (12/1 or 41/2);

On this page: