Have you heard of DNP3 but been unsure of what it is or what it’s used for? Read on...
What is DNP3?
DNP3 refers to “Distributed Network Protocol.” It is a communications protocol designed specifically for remote communications to optimize the transmission of data and control commands from a master to one or more remote devices or outstations.
How is DNP3 different from Modbus?
Compared to Modbus, DNP3 is a more sophisticated protocol that has the ability to use report-by-exception (RBE) functionality. With RBE functionality, only a change in data is reported rather than reporting all data each time a device is polled. This feature of DNP3 allows historical and event-driven data to be transmitted while ensuring that no critical data is lost.
DNP3 or Modbus?
Modbus is great for installations where a dedicated wire or fibre connection exists and when communication dynamics are tightly controlled. However, remote communication often takes place over distance and is often subject to interruptions therefore it isn’t as robust as a dedicated physical connection. This is where DNP3 can be leveraged.
Where is DNP3 used?
DNP3 can be used in any market that require remote communications. While it emerged in the power transmission industry, it has also been widely used in the water and wastewater, oil and gas, irrigation monitoring, environmental monitoring, farming, and other industries that rely on communication to remote locations.
What problems does DNP3 solve?
Remote communication is difficult and can suffer from slow speeds. Factors such as modems, public communication services, possible interference from neighbouring radio transmitters, local terrain, trees, construction of buildings, or remote power outages can disrupt signals and ultimately communications to your remote site.
DNP3 solves this by creating and tracking events (changes in data) internally and reports back those events when communication is possible. To keep track of events, time stamping is done at the remote device.
How it works?
A remote unit looks at incoming data such as physical inputs and outputs and stores it in internal memory for transmission to a host. Detecting data change in a smart way, capturing it, and transmitting it is what makes DNP3 so special.
DNP3 looks at the incoming data and decides if enough of a change has occurred to create an event. If an event is created, then the event is timestamped and is stored in memory. Depending on the importance of this event, the DNP3 protocol might wait until the remote unit is polled, or decide to initiate communication back to a master host station.
When communication is established, the events and associated timestamps are transmitted back to the main host. When the main host confirms to the device that it has received all of the events, then the remote unit clears its buffer and starts to log new events. Because events are stored, a history of missed events can be retrieved after a loss in communication.
Is DNP3 secure?
Cyber security is a valid and growing concern and DNP3 can help address this. As previously mentioned, DNP3 stores time stamped events at the remote device therefore if a cyber-attack takes down a SCADA server, or knocks out a communication network, the information is preserved at the local units and recovered once communication is restored.
The DNP3 protocol can also include IEC62351 version 2 authentication. This allows a DNP3 slave or master device to unambiguously determine if it is communicating with the correct DNP3 master or slave.
The DNP3 protocol also uses a more basic form to ensure control commands are executed correctly. This is called “select-before-operate”. In this case, a DNP3 Master will first send a “select” command, to which the outstation device will respond and then, if the outstation device does not receive the “operate” command within a specified amount of time, it will not execute the control action.