DNP3 Driver Module
The DNP3 module allows the Ignition OPC-UA server to communicate with other devices that support the DNP3 protocol (DNP3 outstations).
To connect Ignition to a DNP3 device
-
Go to the Configure section of the Gateway webpage.
-
Scroll down and select OPC-UA > Devices.
-
On the Devices page, find the orange arrow and click on Create new Device.
-
On the Add Device Step 1: Choose Type page, select DNP3 Driver, and click Next.
-
On the New Device page, leave all the default values and type in the following fields:
Name:DNP3
Hostname: type the IP address, for example 74.125.224.72
Check the box for Show advanced properties? to see the additional settings, but you can keep all the defaults.
-
Click Create New Device.
The Devices page is displayed showing the DNP3 device is successfully created and added to Ignition. The Status will show as Disconnected and then Connected.
Gateway Settings
General |
|
Name |
|
Enabled |
|
Main |
|
Hostname |
|
Port |
The port used, default is 20000. |
Source Address |
The address of the master station, default is 3. |
Destination Address |
The address of the outstation, default is 4. |
Integrity Poll Interval |
The interval at which to perform an integrity poll, in millis, default is 3,600,000. |
Direct Operate Enabled |
When true, the Direct-Operate function code is used on a write, otherwise Select-Operate is used, default is true. |
Unsolicited Messages Enabled |
When true, the outstation may send unsolicited messages for Class 1, 2, and 3 data, default is false. |
Advanced |
|
Message Fragment Size |
The maximum size of a message fragment in the application layer, default is 249. |
Message Timeout |
The amount of time to wait for a message response from the outstation, default is 5,000. |
Retries |
The number of retries on a message timeout, default is 0. |
Link Layer Confirmation |
When true, a link layer confirmation will be required from the outstation when sending messages, default is false. |
Aliased Points
Aliased points allow the user to assign meaningful names and descriptions to DNP3 points. They are also useful for addressing any points that were not returned by the initial integrity-poll on connection.
Point Address |
The group, variation, and index that fully describe a point. A full address consists of all three parts:
Example: g30v1i20 |
Path |
A “/” separated folder hierarchy in which to create the aliased point. |
Description |
A user-defined description of the point mapping. |
Point Types
Type Name |
Group |
Supported Variations |
SinglBitBinaryInput |
1 |
1 - Packed format 2 - With flags |
DoubleBitBinaryInput |
3 |
1 - Packed format 2 - With flags |
BinaryOutput |
10 |
1 - Packed format 2 - With flags |
Counter |
20 |
1 - 32-bit with flags 2 - 16-bit with flags 5 - 32-bit 6 - 16-bit |
FrozenCounter |
21 |
1 - 32-bit with flags 2 - 16-bit with flags 5 - 32-bit with flags and time 6 - 16-bit with flags and time 9 - 32-bit 10 - 16-bit |
AnalogInput |
30 |
1 - 32-bit with flags 2 - 16-bit with flags 3 - 32-bit 4 - 16-bit 5 - Float with flags 6 - Double with flags |
FrozenAnalogInput |
31 |
1 - 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 |
AnalogOutput |
40 |
1 - 32-bit with flags 2 - 16-bit with flags 3 - Float with flags 4 - Double with flags |
OctetString |
110 |
0 - 255 |
When the driver (master) connects to a device (outstation), an integrity poll is performed. Any DNP3 objects returned in the response that fall under the above point type categories are mapped to the OPC server with the appropriate index. For example, g40v1i2 corresponds to an analog output point, variation 1, index 2.
Internal Indicators
Each response received from a connected outstation will contain an Internal Indication (IIN) bit field. This field indicates certain states or error conditions in the outstation. IINs are mapped to read-only points, indicating the following:
-
Broadcast message received (Broadcast)
-
Additional Class 1, 2, or 3 event data is available (Class 1 Events, Class 2 Events, Class 3 Events)
-
Time synchronization required in the outstation (Need Time)
-
Some output points are in local mode (Local Control)
-
An abnormal condition exists (Device Trouble)
-
The outstation device has restarted (Device Restart)
-
Function code not implemented (No Func Code Support)
-
Object Unknown (Object Unknown)
-
Request parameter error (Parameter Error)
-
Outstation event buffer overflow (Event Buffer Overflow)
-
An operation is already executing (Already Executing)
-
Configuration corrupt (Config Corrupt)
Terminology
unsolicited response: An Application Layer message from an outstation to a master for which no explicit request was received. The request is implied by the act of a master enabling unsolicited reporting of various points within an outstation.
integrity poll: Requests all event data, followed by the static data of all points assigned to one of the four classes (static Class 0 or event Class 1, 2, or 3).
DNP3TIME: Univeral Coordinated Time (UTC) time expressed as the number of milliseconds since the start of January 1, 1970. The effective date for using the UTC time base is January 1, 2008. Prior to this, DNP3 did not require a specific time reference.