Happy new year! The release train’s resolution is to actually use that expensive blender that’s been gathering dust in the dining car, and add a couple new drivers to the Ignition platform. Well, would you look at that? Making progress already.
Ignition 8.1.36 delivers the new DNP3 Driver as well as a few quality-of-life improvements.
Ignition 8.1.36’s marquee feature is the new DNP3 Driver. But wait, you might be asking, “Didn’t Ignition already have a DNP3 Driver?” Yes, reader, you are correct. But now, with some assistance from our distributors, there are two; the most recent of which contains a whole host of new features that better align with how DNP3 is meant to function.
The new DNP3 Driver aka DNP3 (gen2) aka DNP3 V2 — henceforth simply referred to as “the DNP3 Driver” — improves overall reliability and eases frustrations that some users had with the previous driver, now called the “Legacy DNP3 Driver.” Maybe previous isn’t the correct word, because the Legacy DNP3 is still in Ignition, but more on that later.
The main difference between the new and old drivers is their means of data collection.
The Legacy DNP3 Driver gathers data via explicit reads, similar to other/older polling-based PLC protocols, which is not meant to be the primary form of data acquisition in DNP3. Additionally, the Legacy DNP3 Driver does not have the concept of data classes that can be polled at separate intervals.
The DNP3 Driver features class-based polling. Each class — 1, 2, and 3 — has a configurable polling interval, letting you poll points on a per-class basis. Classes are polled for all events since the last poll, with the possibility of multiple events per point. This event data is then preserved and processed in order to formulate a sequence of events.
The DNP3 Driver allows unsolicited messaging to be configured per-class, instead of an all-or-nothing approach. Unsolicited messaging reports events only when changes occur as opposed to polling at a set interval.
The DNP3 Driver also includes link-layer confirmations, a “demand” poll, configurable command behavior when writing to Analog Output and Binary Output points, and freezeAndClear scripting functions.
The Legacy DNP3 isn’t going anywhere. The DNP3 Driver isn’t so much replacing the Legacy DNP3 as it is offering an alternative that better aligns with the protocol’s intended use.
Because both versions of the driver coexist within Ignition, there is no method to autoreplace devices or tags. In order to migrate to the new DNP3 Driver, you will need to manually change the naming conventions to point to the new driver. To accomplish this, delete or rename the old device, then create a new device under the old name, and fix any tag references as needed. It’s important to remember that because the DNP3 Driver has class-based polling instead of explicit reads, you should pay extra attention to the new available settings.
For a more step-by-step walkthrough, please head over to the user manual.
Ignition 8.1.36 also features a few key quality-of-life improvements.
Acknowledging unregistered events via email now displays a failure message to provide a more accurate representation of what is displayed in the logs.
Updated the example Quick Start Project with new components, improved navigation, localization, and a blue footer that displays the view location in the designer.
Added the server name to "Unhandled Intent Failure" log messages for quicker troubleshooting.
Learn more about these updates and other improvements in the 8.1.36 release notes and the Ignition user manual. As always, we value your feedback about what types of new features you’d like to see in upcoming releases. The year may have just begun, but the release train is already gaining momentum, preparing to deliver Ignition 8.1.37 before you know it.