DNP3 Library

Tags: # #

DNP3 is one of the most popular protocols used for communication between control centers (e.g. SCADA systems) and intelligent electronic devices (IEDs) installed at substations. In addition to the traditional electric utilities, it is also used in hydropower companies or gas suppliers.

The DNP protocol was created in 1990 by Westronic, Inc. (now GE Harris). The standard has been designed on the basis of 60870-5-101:2003 with the addition of specific functionality needed for North American applications. Currently DNP3 is an open and public protocol, maintained by the Users Group. The latest version of the standard IEEE Std 1815-2010 was released in 2012.

DNP3 library implemented by JPEmbedded is easily portable to any device with or without an operating system. It supports both, outstation and master side, serial and TCP operation modes. The implementation in C++ language takes into account requirements specific for embedded platforms, which are:

  • resource efficiency,
  • high configuration flexibility,
  • HW platform independence.

DNP3 library supports level 3 interoperability and the following features:

  • static data points (class 0),
  • events (class 1-3),
  • reading / writing of data objects,
  • control operations,
  • data freeze,
  • cybersecurity (IEC 62351).

The main components of the library are DNP3 core library, hardware abstraction layer (HAL), configuration file, master application, and outstation application (please refer to the enclosed picture). Core library implements the bulk of the functionality specified by the standard and it is common for outstation and master. It handles data access, generation of events and control model. HAL provides an abstraction of hardware platform and operating system (if used). The configuration file defines a set of macro-definitions which enable or disable selected features of the library, customize it’s behaviour and configures resource (e.g. RAM) utilization by specifying the size of buffers used for reporting or maximum number of instances of some type e.g. data sets. Outstation / Master application realize logic specific for a given device and is usually implemented by the end-user of the library.

To request a FREE EVALUATION version of the library, please send us an e-mail containing information about the target platform microcontroller and operating system. For more information, licensing details, price quotation requests, please contact us directly:, +48 601 088 970.


Back to products