DNP Client Serial

DNP3 Suite Get DNP Client Serial as a part of this suite. Learn More Power Suite Get DNP Client Serial as a part of this suite. Learn More

Product Overview

The DNP Client Serial device driver supports communications with any DNP server device. The DNP Client Serial driver acts as a client to one or more DNP Server devices using the Distributed Network Protocol (DNP3). The DNP Serial driver provides added security through authentication as well as the ability to manage distributed device assets and their attributes.

  • DNP3 protocol
  • Support for secure authentication (SAv2)
  • DNP3 in Level 3 implementation
  • Communication with multiple DNP3 devices via IP addressing
  • Support Ethernet Encapsulation (TCP or UDP)
  • Event buffering and playback support
  • Device auto demotion support
  • Unsolicited messaging
  • Analog deadband configuration
  • Automatic Tag Generation support
    • Channel and Device Configuration, Authentication Statistics, Data Set, Device Attribute, File Control
  • Modem Support
    • Automatic Dial Configuration
    • Multiple Phone Number Management
  • DNP 3 (Distributed Network Protocol)
  • This driver supports any DNP3 server device.
  • English
  • DDE Format CF_Text and AdvancedDDE
  • NIO Interface for iFIX
  • OPC .NET Service (OPC .NET) Version 1.00
  • OPC Alarms and Events (OPC AE) Version 1.10
  • OPC Data Access (OPC DA) Versions 1.0a, 2.0, 2.05a, and 3.0
  • OPC Unified Architecture (OPC UA) Clients
  • SuiteLink and FastDDE for Wonderware



  • Fixed an issue that could impact an integrity poll if the device indicated a buffer overflow.
  • Improved handling of secure authentication requests.
  • Fixed an issue that could result in a runtime crash.
  • Improved data handling when a session is closed before the end of the frame is received.
  • Fixed a possible memory leak during handling of select and operate or data set control objects if the data set was not in the database.
  • Improved behavior when shutting down and closing sessions.
  • Fixed an issue where tags that get stranded in the middle of a polling cycle would never get released and not poll again.



  • Removed non-inclusive terms out of respect for users of our software.
  • Renamed this driver (from DNP Master Serial) in compliance with updated terminology.
  • Added new internal tags _DNPClientAddress and _DNPServerAddress that replace the deprecated _MasterAddress and _SlaveAddress tags respectively.
    NOTE: These deprecated tags will be obsoleted in a future release as part of PTC’s product inclusivity initiative; plan accordingly in anticipation of these changes.



  • Added a new operate command (OperateWithParams) that allows the user to specify all the CROB settings in a single tag write.



  • Fixed an issue with Event Playback that could cause tag quality to temporarily go “Bad” despite a successful unsolicited response.



  • The driver no longer attempts communication with the device if a client is only referencing System (internal) tags, which do not require device communication.
  • Added the ability to disable time synchronization messages.
  • Corrected an issue where a disabled device on a virtual network could block other devices from communicating.
  • Fixed a host name resolution issue when using a host name in Ethernet Encapsulation mode. The host name was not resolved correctly leading to bad quality communications.



  • Added support for 10 ms update rates to Event Class 1, 2, and 3 polling intervals.
  • Fixed an issue where malformed packets could disrupt communications.
  • Fixed an issue where an out-of-bound read vulnerability could exhaust resources and prevent the driver from working.


  • Added Retry Attempts for the following requests: Integrity Poll, Event Poll, Disable Unsolicited, Data Set Exchange, Automatic Tag Generation, and Explicit Reads/Writes.
  • Added the new "Max Timeouts" property (located in the Communications tab in Device Properties).
  • Fixed an issue where a Disable Unsolicited Request would not be sent when only one or two of the classes are configured with Unsolicited Messages disabled and no class is configured with Unsolicited Messages enabled.


  • Addressed a security vulnerability that could allow a master station to be sent into an infinite loop by sending a specially crafted TCP packet or through serial communications. A successful attack exploiting this vulnerability could allow an attacker to put the master station into an infinite loop, causing a denial-of-service condition. The master station (KEPServerEX runtime service) must be manually restarted to recover from the loop condition.
  • Fixed an issue with g70v3 Open File requests, where the File Size and Time of Creation fields were not being initialized properly when the request was to open a file for writing on the slave.
  • Corrected an issue introduced through a fix in server version 5.10 in which events would continue to play back when a device was in an error state. Errors other than Device Not Responding (DNR) were not being considered. When event play back is enabled and the event poll times out while communicating, the .Value and .Timestamp tags will receive BAD quality (which was the previous behavior).
  • Fixed an issue introduced in server version 5.10 where integrity and/or event polls would not occur on schedule if channel serialization was in use with many .Explicit tags.
  • Corrected an issue where an "Initialization Completed" message would be posted when no communications had occurred with the device.
  • Changed the Exchange Data Sets device property's default setting from True to False.
  • Added support for legacy devices that use a local time zone adjusted with time reference instead of the UTC time base in events and during time synchronization.
  • Converted the Communications device property page to a grid control.
  • Fixed an issue where processing too many continuous internal/cache tags may have delayed the processing of device tags (especially when channel serialization was in use and devices were not communicating).
  • Fixed an issue where a non-empty Activate Configuration Object string incorrectly triggered automatic tag generation when other device properties were modified.
  • Fixed a rare issue where an erroneous file transfer failure message could be posted along with a file transfer completed successfully message when the file transfer was successful.
  • Corrected an issue where event play back paused during TCP connection attempts.
  • Corrected an issue where event play back paused while the device was demoted.


  • Fixed an issue where the server could become unresponsive during automatic tag generation. This problem was introduced in the 5.10 release.
  • Fixed an issue where the driver failed to report an Event Log error message if the socket bind failed. This message failure occurred for bind failures where the driver was using a Connection Type of Ethernet Encapsulation and the protocol selected was UDP.
  • Added an error message to be posted when a tag fails due to the DNP flags containing an exception condition. The error message will list the actual DNP flags byte in hexadecimal format as well as a comma delimited string listing the exceptions. An example of the message is as follows: Unable to read tag '1.0.0.Explicit' on device 'Channel1.Device1'. Device indicates one or more exception conditions (DNP flags byte='0x28' - 'Offline, Remote Force, Chatter Filter').
  • Fixed an issue where tag quality was not updated after disabling the Enable Data Collection property.



  • Updated the driver with the new Connection Sharing feature.
  • Changed the Data Link Layer Confirmation Timeout from 2 seconds to the configurable Channel Response Timeout.
  • Fixed an issue where collected events did not continue to playback when the device was in an error state.
    • Tag quality will be Bad if the device error state continues after playback completes.
    • During device demotion, tags will have Bad Quality and no playback. After the device is promoted, tag quality will be Good and playback will continue.
  • Fixed an issue where collected events were incorrectly deleted from the driver's cache after specific communication failures.
  • Resolved an issue where the Auto-Demotion settings in device properties were not used on startup.



  • Added the new internal tag "_TimeSyncStyle".
  • Fixed an issue where the driver would fail to send confirmations to unsolicited responses. This occurred if the slave failed to respond to a Link Status Request, and instead sent its own Link Status Request.


Updated refresh logic to improve usability with projects that reference more than a hundred channels.


  • DNP3 Enhancements for Phase-III support of WITS specification include File Control and Activate Configuration
  • Added Device Property Page to allow configuring the DNP File Control object group 70 and the DNP Activate Configuration function code 31.
  • Implemented new tag addresses to allow clients to manage file transfer and activate configuration functions:
  • Converted the Advanced device property page to a grid control.
  • Added an event message to report when the session has completed startup.
  • Added support for device auto-demotion.
  • Added an event message to report when an Enable Unsolicited Messaging request fails, and when an item is demoted/promoted. Added the ability to post an informational message when certain IIN bits are set in a response. Improved tag cleanup.
  • To correctly open 4x-based projects, modified the XML schema transform file to check for out of range values and/or to assign defaults for the following channel and device properties: ResponseTimeoutMilliseconds, RequestTimeoutMilliseconds, UnsolicitedModeClass1, OperateMode, EnableFeedbackPollAfterWrite, and TimeSynchronizationStyle.

     • 70.<file index>.LocalFileName (on Master station)

     • 70.<file index>.RemoteFileName (on RTU)

     • 70.<file index>.Download

     • 70.<file index>.Upload

     • ActivateConfig


  • Added support for writing to Device Attributes (Object Group 0). This feature is required to meet the DNP WITS standard.
  • Added support for writing to Data Sets (Object Group 87). This feature is required to meet the DNP WITS standard.
  • The driver now supports the ability to play back Data Set snapshot data.
  • New settings were added to the Device Properties page that allow for users to ignore forced flags when setting quality.
  • Fixed issues with loading legacy server (.xml) project files.
  • Fixed an issue where the first buffered event after startup was never displayed when the Playback Rate was shorter than the tag's Update Rate.
  • A "Device Not Responding" message will no longer be reported in certain situations where the device was actually communicating.
  • Added Event Log error messages for cases of incomplete or invalid responses or invalid authentication.
  • Fixed an issue where the driver was reporting "Failed to initialize communication stack" in situations where serialization was enabled.
  • Improved channel management when communication errors are encountered during startup.
  • Fixed an issue where data set CTLS and CTLV element types were shown as having bad quality.
  • Fixed an issue where Communication Serialization and Aggressive Mode Authentication were enabled.
  • Added informational message to report the number of data set tags per data set added during auto tag generation.


  • Added support for communication serialization.
  • Enhancements for Phase I support of WITS specification include the following.

Device Attribute - Object Group 0:

     • Standard Attributes at Index 0 (such as Vendor Name, Product Name, Site Name, Software Version, Hardware

Version, Configuration File Names, and Configuration File Version) Version, Configuration File Names, and Configuration File Version)

     • User Defined Attributes for Index 1 and above.

     • Read Only.

Secure Authentication - Object Group 120:

     • Challenge - Response.

     • Pre-shared Update Keys.

     • Aggressive Mode.

     • Session Keys - bidirectional.

     • Security Statistics.

Data Sets - Object Groups 85, 86, 87, and 88:

     • Prototypes.

     • Descriptors.

     • Event and Static conditions.

     • Outstation defined data sets.

     • Read Only.

  • Added an error message for the situation in which a device's Slave address is a duplicate of another device's Master or Slave address.
  • Added an error message for the situation in which a device contains the same Master and Slave address.
  • Added the following internal tags:

     • _ChannelResponseTimeout

     • _IntegrityPollInterval

     • _EventClass1PollInterval

     • _EventClass2PollInterval

     • _EventClass3PollInterval

     • _DeviceRequestTimeout

-Updated the driver to release items more quickly for unresponsive devices, following client disconnect.


  • Initial release of DNP drivers in 5x.