DNP3 Master

DNP3 Protocol is used in utility industry SCADA systems because of its vendor independence, range of data transfer methods and ability to ensure data security through use of time stamped events, data priority and data quality.  The Brodersen implementation of DNP3 master protocol is developed and tested using the latest Triangle MicroWorks code libraries and tools to ensure conformance and interoperability.  

DNP3 Master – a SCADA host polling for static data and event data

A SCADA host (acting as a DNP Master) typically polls slave RTUs infrequently for static data (class 0 poll) and more frequently for event data (class 1/2/3 poll).  In most SCADA systems the poll for static data is combined with a poll for event data and termed an integrity poll ie. class 0/1/2/3 poll.  The integrity poll is performed after restart of the SCADA host, then at a suitable interval (a few minutes in some systems, a few hours in others).  The host will also perform an integrity poll if a message from a slave includes a message header flag indicating ‘device restart’ ie. the slave has been restarted since the last poll.

DNP3 Master – a Brodersen RTU polling for static data and event data

The primary reason to use DNP3 master protocol in the Brodersen RTUs is to create a data concentrator, or protocol gateway.

There are two methods used when creating a data concentrator.

1. Data Concentrator – with multiple ‘images’. The first method allows preservation of the object numbers used in the remote DNP3 slaves, by creation of multiple slave sessions in the master RTU.  Each session (image of a remote slave) can be polled by the SCADA host, for class 0 data (all static data) and class1-3 event data. 

2. Data Concentrator – single ‘image’. The second method allows data read from the remote DNP3 slaves to be mapped in to the master RTUs slave objects ie. as a single image, but with unique object numbers ie. the SCADA host polls one large slave RTU, rather than multiple slave RTUs.

Event data read from the slaves can be stored with their original time stamps.

DNP3 Data Concentrator - showing multiple and single 'images'

Example 1 – DNP3 Master managing 3x remote data loggers.

This example application uses the Brodersen RTU to manage communications with 3x remote data loggers.  The battery powered loggers communicate via 3G/4G cellular modems, hence report/unsolicit their data infrequently.  The RTU communicates with the loggers using DNP3 Master protocol channels and sessions that are setup using the Fieldbus Configurator.  A channel and session is configured for each remote field device.  The channel setup includes details for the comms interface, the session includes the DNP3 slave address, master address, polling option and unsolicited reporting rules.

Each session has variables associated to it, as ‘images’ of the remote slave data.  In this example each remote slave has analog input, binary input, running counter and string data objects.  

1 - create slave channels
The RTU uses DNP3 master protocol to poll the 3x remote data loggers
2 - associate variables
The data from/to the remote slave RTUs is mapped to local variables in the RTU tag database
3 - Create DNP3 slave connections to the host
The variables of interest read from the remote slaves using the DNP3 master protocol can then be exposed as DNP3 slave variables to be read by the host
Previous
Next

Example 2 – DNP3 Translator 

The RTU is also able to communicate with multiple slave devices and/or other host interfaces using a mix of protocols.

 For example the RTU may be in a substation application communicating with master protocols such as MODBUS, DNP3, IEC60870, MQTT and IEC61850 to interface with a mix of field devices (including smart circuit breakers, transformer monitors, power meters, remote status indicators etc).  The RTU may also need to act as slave to a local HMI, one or more SCADA hosts and peer RTUs using slave protocols such as MODBUS, DNP3, IEC60870 and IEC61850.

Demo program and app note links – soon…