R.6.3
Date Code 20111215 Reference Manual SEL-421 Relay
DNP3 Communications
Introduction to DNP3
Function Codes
Each DNP message includes a function code. Each object has a limited set of
function codes that a master may use to manipulate the object. The object
listing for the device shows the permitted function codes for each type of
object. The most common DNP3 function codes are listed in Tab le 6.2.
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. DNP masters use qualifier codes
to compose the shortest, most concise message possible when requesting
points from a DNP remote.
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, that specifies points in the
range 4 to 16.
Access Methods
DNP has many features that help it obtain maximum possible message
efficiency. Requests are sent with the least number of bytes using special
objects, variations, and qualifiers that reduce the message size. Other features
eliminate the continual exchange of data values that are not changing. These
features optimize use of bandwidth and maximize performance over any speed
connection.
DNP event data collection eliminates the need to use bandwidth to transmit
values that have not changed. Event data are records of when observed
measurements changed. For binary points, the remote device logs changes
from logical 1 to logical 0 and from logical 0 to logical 1. For analog points,
the remote device logs changes that exceed a dead band. DNP remote devices
collect event data in a buffer that the master can either request or the relay can
send to the master without a request message. Data sent from the remote to the
master without a polling request are called unsolicited data.
DNP 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 remotes 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.
Table 6.2 Selected DNP3 Function Codes
Function
Code
Function Description
1 Read Request data from the remote
2 Write Send data to the remote
3 Select First part of a select-before-execute operation
4 Execute Second part of a select-before-execute operation
5 Direct operate One-step operation with reply
6 Direct operate, no reply One-step operation with no reply