Skip to main content
Version: 8.3 Beta 🚧

DNP3 Driver (Legacy)

The DNP3 Driver (Legacy) uses the DNP3 protocol for explicit reads and unsolicited messaging to acquire data. This driver is no longer actively supported with updates or fixes. For the latest option, see DNP3 Driver.

note

The DNP3 Driver (Legacy) does not support DNP3 Secure Authentication.

Data Acquisition

The DNP3 Driver (Legacy) driver supports two modes of acquiring data.

  • Explicit reads: Uses the DNP3 Read function code to retrieve static (current) values. Events are not processed in this mode. Recommended when points are addressed with group/variation/index (GVI) syntax.

  • Unsolicited messaging: Supports event-driven updates reported directly from the outstation. The driver processes these updates as they arrive. Sampling interval behavior for OPC UA clients still applies. Not all devices support unsolicited messaging.

Connecting to a Device

Inductive University

Connection to DNP3 Devices

Watch the video

This driver requires the OPC UA module to be installed and enabled. If the module is missing or disabled, the device will fault with a “Missing Dependency” error on the Platform System > Modules page.

Ignition's DNP3 Driver (Legacy) can connect directly to any devices that support Ethernet communication through the master station. It is important to make a new device connection for each of the outstations (remote devices), setting the source and destination addresses for each in Ignition's device connection.

  1. On the Gateway, go to Connections > Devices > Connections.

  2. Click Create Device Connection +.

  3. Select DNP3 Driver (Legacy) from the list and click Next.

  4. On the Configure Device screen, enter the required fields:

    • Name: The desired name for the device (e.g., LegacyDNP3)
    • Hostname: The IP address of the PLC (e.g., 10.20.4.55)

  5. Click Create Device Connection.

The device will be listed now on the Connections page. The status will initially show Disconnected, but will move to a Connected state.

Device Connection Settings

Main

NameDescription
NameA user-defined name for the device. This name appears in OPC item paths and the Devices list. Name must begin with an underscore or a letter, and cannot include special characters.
DescriptionOptional description to help identify the device.
EnabledWhen selected, the device is active and available for use.

Connectivity

PropertyDescription
HostnameThe IP Address of the device.
PortThe port to use when connecting to a DNP3 device. The default port is 20000.
Local AddressThe local address to connect from when establishing a TCP connection. If left blank, then the driver will simply pick an available address.
Source AddressMaster station data link address, default 3.
Destination AddressOutstation data link address. Should be opposite of the source on the outstation. (e.g., Source Address is 3 and Destination Address is 4 or Source Address is 4 and Destination Address is 3)

Advanced

PropertyDescription
Message Fragment SizeThe maximum size of a message fragment in the application layer, default is 249.
Message TimeoutThe amount of time to wait for a message response from the outstation, default is 5,000.
RetriesThe number of retries on a message timeout, default is 0.
Time Synchronization EnabledWhen true, automatically synchronizes the gateway time to the outstation when requested, default is true.
Default Outstation Conformance LevelThe default DNP3 Application Layer level subset to use when communicating with the outstation.
Direct Operate EnabledWhen true, the Direct-Operate function code is used on a write, otherwise Select-Operate is used, default is true.
Unsolicited Messages EnabledWhen true, the outstation may send unsolicited messages for Class 1, 2, and 3 data, default is false. Ignition will connect to the outstation, but not request any data from it. Ignition waits for the outstation to send data.
Not all devices support this option; those that do need to be configured to use it. Please refer to your device's documentation for more information.
Integrity Poll IntervalThe interval at which to perform an integrity poll, in milliseconds, default is 3,600,000.

Default Value Types

PropertyDescription
Analog Input PointsThe default value type to use when reading an analog input point. Default is INTEGER.
Analog Input Frozen PointsThe default value type to use when reading a frozen analog input point. Default is INTEGER.
Analog Output PointsThe default value type to use when reading/writing an analog output point. Default is INTEGER.
Counter PointsThe default value type to use when reading a counter point. Default is INTEGER.
Counter Frozen PointsThe default value type to use when reading a frozen counter point. Default is INTEGER.
Binary Input PointsThe default value type to use when reading a binary input point. Default is WITH_FLAGS.
Double-Bit Binary Input PointsThe default value type to use when reading a double-bit binary input point. Default is WITH_FLAGS.
Binary Output PointsThe default value type to use when reading a binary output point. default is WITH_FLAGS.

Aliased Points

Aliased points let you assign meaningful names and folder paths to DNP3 points. They are especially useful for addressing points that were not returned during the initial integrity poll.

PropertyDescription
Point AddressThe group, variation, and index that fully describe a point. A full address includes:
  • An integer prefixed with g for group (e.g., g40)
  • An integer prefixed with v for variation (e.g., v2)
  • An integer prefixed with i for index (e.g., i5)
Example: g30v1i20
Browse PathA / separated folder path where the point should appear.
Example: Facility1/Voltage
DescriptionA user-defined description of the point. [Optional]
note

If you change a point address after creating tags, you must update the OPC Item Path for those tags.

Browsing DNP3 Points

When the Legacy driver (master) connects to an outstation, it performs an integrity poll to map available points to the OPC UA server with group, variation, and index addressing. You can review these mapped points in the Designer under the Connected Devices window.

Point Types

Type NameGroupSupported Variations
SingleBitBinaryInput11 - Packed format
2 - With flags
DoubleBitBinaryInput31 - Packed Format
2 - With flags
Binary Output101 - Packed Format
2 - With flags
Counter201 - 32-bit with flags
2 - 16-bit with flags
5 - 32-bit
6 - 16-bit
FrozenCounter211 - 32-bit with flags
2 - 16-bit with flags
5 - 32-bit with flags and time
6 - 16-bit with flags and time
8 - 32-bit
10 - 16-bit
AnalogInput301 - 32-bit with flags
2 - 16-bit with flags
3 - 32-bit
4 - 16-bit
5 - Float with flags
6 - Double with flags
FrozenAnalogInput311 - 32-bit with flags
2 - 16-bit with flags
3 - 32-bit with time of freeze
4 - 16-bit with time of freeze
5 - 32-bit
6 - 16-bit
7 - Float with flags
8 - Double with flags
AnalogOutput401 - 32-bit with flags
2 - 16-bit with flags
3 - Float with flags
4 - Double with flags
OctetString1100 - 225

For variation details, consult your device’s documentation.