What is DNP3?

DNP3, short for Distributed Network Protocol, is an industrial communication protocol. It was originally developed with the requirements of SCADA and telecontrol applications in the electric power sector in mind.

Its main purpose is to enable a control center to receive measurement and status information from RTUs, IEDs and similar devices located at remote sites, send control commands to these devices, and reliably transfer events from the field to the central system.

DNP3 is an open and publicly available protocol. Its development and technical documentation were originally maintained by the DNP Users Group, and DNP3 was later standardized under the IEEE 1815 standard.

DNP3 was designed particularly to allow devices from different manufacturers to operate together within the same SCADA system. For this reason, it has an important role in multi-vendor power and automation systems.

Key Features of DNP3

Multi-Vendor Communication

Its open and standardized architecture makes it easier to use devices from different manufacturers within the same system.

Event-Based Data Transmission

Changed or important data can be managed through event mechanisms, helping to use communication bandwidth more efficiently.

Timestamped Events

The ability to transfer events together with their timestamps provides important advantages for fault and event analysis.

Unsolicited Response

With suitable configuration, an Outstation can send important events without waiting for another request from the Master.

Security Mechanisms

Mechanisms such as Secure Authentication can provide additional security for critical communication operations.

Suitable for Distributed Systems

Its architecture is well suited for communication between remote RTUs, IEDs and other field devices and central SCADA systems.

Object-Based Data Model

Different data types can be transferred in a standardized manner using defined object group and variation structures.

Serial and IP Communication

Depending on the application, DNP3 can operate over serial communication or TCP/IP and UDP/IP-based infrastructures.

DNP3 Communication Architecture

DNP3 communication primarily involves two different device roles: Master and Outstation.

DNP3 Master

The Master is typically the central SCADA system or control center. It requests data from field Outstation devices, processes the received data, and sends control commands when required.

  • Collecting data from RTUs and IEDs
  • Periodic data polling
  • Receiving event data
  • Sending control commands
  • Time synchronization
  • Monitoring communication status

DNP3 Outstation

The Outstation is the field device that provides measurement or control data. An RTU, PLC, IED or similar device can operate as a DNP3 Outstation.

  • Maintaining measurement data
  • Providing digital status information
  • Recording events
  • Executing control commands
  • Sending events to the Master
  • Managing time information

In a typical DNP3 system, the central SCADA system operates as the Master, while field RTUs, PLCs or IEDs operate as Outstations. However, DNP3 can also support different architectures and communication models.

How Does DNP3 Work?

DNP3 communication involves the exchange of data between the Master and Outstation according to defined rules. The Master can request specific data, and the Outstation can respond with the requested information.

One of the important characteristics of DNP3 is that it does not rely solely on continuously transmitting all data again and again. Changed values and events can be managed separately. This approach helps reduce unnecessary network traffic, particularly in systems with limited bandwidth or long-distance communication links.

DNP3 also supports an Unsolicited Response mechanism, which allows an Outstation to send events without waiting for the Master to continuously poll it.

For example, when the status of a circuit breaker changes or an important alarm occurs, an appropriately configured Outstation can notify the Master of the change.

DNP3 Data Addressing for EOS Software (A#)

In the EOS SCADA DNP3 client, the data address is composed of the data type, data address, data format, and control type information.

A#DATA_TYPE:DATA_ADDRESS:DATA_FORMAT:CONTROL_TYPE

For example:

A#Analog:0:Int16:STATUS_ONLY

Here, Analog specifies the data type, 0 specifies the data address, Int16 specifies the data format, and STATUS_ONLY specifies the control type.

DNP3 data types include Binary, DoubleBit, Counter, FrozenCounter, Analog, BinaryOutputStatus, and AnalogOutputStatus.

The available data formats include Int16, Int32, Float32, and Double64.

What Data Can Be Transferred with DNP3?

DNP3 uses an object-based data model that allows different types of field data to be transferred within a common structure. Data is defined using specific object groups and variations.

Digital Inputs

Transfer of status information such as open/closed states of circuit breakers, disconnectors, pumps, motors and other equipment.

Analog Inputs

Transfer of measurements such as voltage, current, power, temperature, pressure, level and similar values.

Counter Values

Transfer of accumulated values such as energy, flow, production quantity and similar data.

Control Commands

Sending control or command operations to appropriate field devices.

What Is an Unsolicited Response?

In normal SCADA communication, the central system requests data from a field device and the device responds. This method is known as polling.

DNP3 also supports a mechanism called Unsolicited Response. With this method, an Outstation can send data when an important event or change occurs, without waiting for the Master to send another request, subject to the configured communication rules.

This approach can be particularly useful for delivering events such as alarms, circuit breaker status changes or important analog changes to the central system more quickly.

DNP3 Addressing

DNP3 uses device addresses to distinguish Master and Outstation devices from one another.

This addressing mechanism makes it possible to manage multiple field devices over the same communication infrastructure. DNP3 is particularly suitable for distributed power systems and SCADA applications covering large geographical areas.

In addition, DNP3's object-based architecture allows data to be represented not simply as a register address, but together with object group and variation information describing the data type and format.

Where Is DNP3 Used?

DNP3 was originally developed for SCADA and telecontrol requirements in the electric power sector. Today, however, it is also used in various infrastructure and industrial applications.

Electric Power Systems

Communication between substations, distribution systems, power generation facilities and control centers.

Water and Wastewater Systems

Monitoring and control of pump stations, water distribution systems and remote field facilities.

Industrial Facilities

Centralized monitoring of remote equipment, RTUs and control devices.

Oil and Gas

Data acquisition and control applications involving distributed field equipment and remote stations.

DNP3 and SCADA Systems

DNP3 is not a SCADA software by itself. DNP3 is one of the communication protocols that allows SCADA software to communicate with field devices.

For example, a DNP3 Master driver can be used in a SCADA system to collect measurement and status information from RTUs and IEDs located at different substations. The SCADA software can display this data on operator screens, archive it, generate alarms and produce reports.

Similarly, an appropriate control command issued by a SCADA operator can be sent to the relevant Outstation through DNP3.

Therefore, DNP3 can be an important component of a SCADA architecture for data acquisition, telecontrol, event management and remote field communication.

DNP3 and Modern Energy Systems

As power systems become increasingly distributed, the application areas of DNP3 are also expanding. Distributed energy resources, inverter-based resources, energy storage systems and other field equipment create new requirements for communication with central systems.

Published by IEEE in 2025, IEEE 1815.2-2025 defines a specific profile for communication with Distributed Energy Resources (DER) using IEEE 1815/DNP3.

This approach aims to support more standardized integration of modern energy technologies such as solar power systems, battery energy storage systems and inverter-based resources into DNP3-based communication infrastructures.

DNP3 Tools

This section will provide tools for testing DNP3 communication, monitoring device communication, developing DNP3 Master or Outstation applications, and examining protocol messages.

DNP3 tools developed as part of the EOS Industrial Software Hub may be used for field communication testing, software development, protocol analysis and validation of SCADA applications.

🛠 DNP3 Testing and Development Tools

Free DNP3 testing, simulation, analysis and utility tools will be shared here as they become available.

  • DNP3 Master Test Tool
  • DNP3 Outstation Simulator
  • DNP3 Communication Test Tool
  • DNP3 Frame / Message Analyzer

Note: The tools will become available for download through this section as development progresses.

DNP3 at a Glance

DNP3 is an open industrial communication protocol used particularly in power and infrastructure systems to provide reliable data and control communication between field devices and central SCADA systems.

Its Master and Outstation architecture, object-based data model, Class 0-3 structure, event management, timestamped data, unsolicited response and Secure Authentication capabilities make DNP3 a powerful communication option for distributed and critical SCADA applications.

More advanced technical topics related to DNP3 include object groups and variations, function codes, DNP3 data-link frame structures, DNP3 over TCP/IP, unsolicited response, Secure Authentication and device interoperability.