The distributed network protocol (DNP3) protocol was developed to achieve an open, standard interoperability for communications between master stations, substation devices, RTUs, and Intelligent Electronic Devices (IEDs). DNP3 has been used primarily by utilities such as the electric power industry in North America and has become widely used in other distributed infrastructures such as water/wastewater, transportation and oil and gas industries.
DNP3 is based on the International Electrotechnical Commission Technical Committee 57 Working Group 03. The IEC TC57 WG03 has been working on the Enhanced Performance Architecture (EPA), a protocol standard for telecontrol applications. Each of the EPA’s 3 layers corresponds to a layer on the OSI reference model.
DNP3 is specifically developed for inter-device communications that use SCADA RTUs. The protocol facilitates both RTU-to-IED (Intelligent Electronic Device) and master-to-RTU/IED.
The protocol was originally designed for slow serial communications, but the current DNP3 IP version also supports TCP/IP-based networking.
Supported Protocol Features
These are the main features that DNP3 supports:
-
clock synchronization
-
polled interrogations
-
polled report-by-exception
-
unsolicited report-by-exception
-
events transmission (time-stamped or not)
-
counter-specific treatment
-
master commands
The DNP3 protocol includes these data types:
The table lists the characteristics for the supported RTU protocols:
Protocol
|
Characteristics
|
DNP3 master/DNP3 NET client
|
up to 32 slaves/servers (1 session for each slave/server)
|
up to 5000-point database for slaves data objects including predefined commands
|
DNP3 slave/DNP3 NET server
|
up to 5000-point database for data type objects
|
up to 100,000-event queue for all data types
|
supports clock synchronization from a master
|
service over TCP
|
client IP address validation list (up to 10 IP addresses)
|
4 concurrent client connections with configurable TCP service port (default port is 20000)
|
This implementation of DNP3 is fully compliant with DNP3 Subset Definition Level 3, which suits larger RTU applications and offers practically the complete range of DNP3 functionality.
This standard defines interoperability between devices from different vendors. It includes a device profile that describes the basic protocol functionalities supported by the device and an Implementation table that defines information objects and their representation supported by the device.