D.3
Date Code 20150130 Instruction Manual SEL-787 Relay
DNP3 Communications
Introduction to DNP3
Qualifier Codes and Ranges
DNP3 masters use qualifier codes and ranges to make requests for specific
objects by index. Qualifier codes specify the style of range, and the range
specifies the indices of the objects of interest. DNP3 masters use qualifier
codes to compose the shortest, most concise message possible when
requesting points from a DNP3 outstation.
For example, the qualifier code 01 specifies that the request for points will
include a start address and a stop address. Each of these two addresses uses
two bytes. An example request using qualifier code 01 might have the four
hexadecimal byte range field, 00h 04h 00h 10h, which specifies points in the
range 4 to 16.
Access Methods
DNP3 has many features that help obtain maximum possible message
efficiency. DNP3 masters send requests with the least number of bytes using
special objects, variations, and qualifiers that reduce the message size. Other
features eliminate the continual exchange of static (unchanging) data values.
These features optimize use of bandwidth and maximize performance over a
connection of any speed.
DNP3 event data collection eliminates the need to use bandwidth to transmit
values that have not changed. Event data are time-stamped records that show
when observed measurements changed. For binary points, the remote device
(DNP3 outstation) logs changes from logical 1 to logical 0 and from logical 0
to logical 1. For analog points, the outstation device logs changes that exceed
a dead band. DNP3 outstation devices collect event data in a buffer that either
the master can request or the device can send to the master without a request
message. Data sent from the outstation to the master without a polling request
are called unsolicited data.
DNP3 data fit into one of four event classes: 0, 1, 2, or 3. Class 0 is reserved
for reading the present value data (static data). Classes 1, 2, and 3 are event
data classes. The meaning of Classes 1 to 3 is arbitrary and defined by the
application at hand. With outstations that contain great amounts of data or in
large systems, the three event classes provide a framework for prioritizing
different types of data. For example, you can poll once a minute for Class 1
data, once an hour for Class 2 data, and once a day for Class 3 data.
DNP3 also supports static polling: simple polling of the present value of data
points within the outstation. By combining event data, unsolicited polling, and
static polling, you can operate your system in one of the four access methods
shown in Table D.3.
The access methods listed in Table D.3 are listed in order of increasing
communication efficiency. With various trade-offs, each method is less
demanding of communication bandwidth than the previous one. For example,
unsolicited report-by-exception consumes less communication bandwidth
than polled report-by-exception because that method does not require polling
3 Select First part of a Select Before Operate operation
4 Operate Second part of a Select Before Operate operation
5 Direct operate One-step operation with reply
6 Direct operate, no reply One-step operation with no reply
Table D.2 Selected DNP3 Function Codes (Sheet 2 of 2)
Function
Code
Function Description