Skip to main content

Interoperability

Conformance testing​

Every release of the outstation passes the DNP3 IED Certification Procedure published by the DNP Users Group, in two revisions that CI runs with dnp3c, our implementation of the procedures:

Both revisions must pass before a release is published, and they also run on a weekly schedule and on demand. Some procedures don't apply to this configuration, such as the network and output event tests. We use these procedures to augment our own unit and integration tests.

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

Subset levels​

DNP3 defines four subset levels of interoperability:

  • Level 1 is the minimum functionality that a master or outstation must implement to be DNP3 compliant, intended for a small field device.
  • Level 2 adds function codes and objects to support a simple RTU or data concentrator.
  • Level 3 adds more, most notably enabling and disabling unsolicited reporting, to support complex RTUs and concentrators.
  • Level 4 adds rarely used features, such as floating-point analog variations, double-bit binary inputs, and device attributes.

Level 3: complete​

The master and the outstation are fully Level 3 compliant, and the outstation passes the certification procedures at Level 3.

Level 4: everything but one feature​

The library supports all of Level 4 except outstation command events (binary and analog output command events), which are next on our list:

Level 4 featureObjects
Device attributesGroup 0
Double-bit binary inputsGroups 3 and 4
Floating-point AI/AOFloat and double variations in groups 30, 32 and 41
Analog input deadbandsGroup 34
BO/AO eventsGroups 11 and 42
Event class assignmentASSIGN_CLASS
LAN time synchronizationGroup 50 variation 3
Self-address supportLink layer

Beyond Level 4​

The library also supports features that no subset level defines:

FeatureObjects
Octet stringsGroups 110 and 111
Master file transferGroup 70: read and write files, file info, directories