Skip to main content

Interoperability

DNP3 defines four subset levels of interoperability:

  • Level 1: This is the minimum functionality that a master or outstation must implement to make it DNP3 compliant. Functionality will be quite basic and is only intended for a small field device.
  • Level 2: This adds several function codes and objects in order to support a simple RTU or data concentrator.
  • Level 3: This adds additional function codes and objects, most notably enable/disable of unsolicited reporting, in order to support complex RTUs/concentrators.
  • Level 4: This adds rarely-used features, such as floating-point analog variations, double-bit binary inputs, and device attributes.
  • Please note that features like file transfer, datasets, and secure authentication do not belong to any subset level.

Current Support: Level 3

Our library is currently Level 3 compliant for both master and outstation. We will make it Level 4 compliant in a future release. Please note that we already support a number of Level 4 features, along with features that do not belong to a subset level:

FeatureLevel
Double-bit Binary Inputs4
Floating-point AI/AO4
BO/AO events4
LAN time-synchronization4
Self-address support4
Octet strings (g110/111)n/a

Future Support

We are planning to add support for several features in future releases, including:

  1. Device attributes (group 0)
  2. AO/BO command events (groups 13 & 43)
  3. Analog input deadbands (group 34)

Our library will be level 4 compliant when we complete items 1-3.

Conformance Testing

The DNP3 User Group publishes official conformance test procedures for outstations. These procedures validate all level 2 functionality. Procedures for level 3 conformance testing are currently under development by the user group.

We created an internal implementation of these test procedures that we automatically run against the outstation implementation. We use these procedures to augment our own unit and integration tests to meet the conformance standards. You can find the HTML conformance test reports on our Github Actions CI.

note

The DNP User Group only certifies outstation devices as conformant, not libraries. Contact Step Function I/O if you would like to engage us to conduct conformance testing for your outstation product.