How to Send Data using the DNP3 Protocol on a vNode Server: Technical Guide

Created by Jose Fabian Solano, Modified on Wed, 3 Jul at 9:13 PM by Jose Fabian Solano

The first step in enabling vNode to send data over the DNP3 protocol involves creating a new module within vNode, specifically utilizing the DNP3Server module. This essential module establishes the communication channel necessary for transmitting data via the DNP3 protocol.




Once the module is created, the next step involves its configuration. The primary objective is to establish a robust communication channel. Within this channel, we define essential parameters for the connection, such as the network interface through which various computers can access the DNP3 server, as well as the designated port number for communication.

A crucial feature in this configuration is the ability to specify communication restrictions to a single host by entering its IP address in the source IP address field.


Next, it is necessary to create a device and configure the DNP3 communication parameters. In this stage, we specify the Slave Address and the Master Address. Additionally, we configure the buffers for the different classes of the DNP3 protocol, ensuring efficient and orderly communication. These parameters are essential for the device to correctly interpret the transmitted and received data, enabling smooth and accurate interaction with other devices on the network.


Finally, we need to create the group of data we want to publish. This process involves creating tags and mapping them to the corresponding tags within our vNode. Next, we specify several critical DNP3 protocol parameters to ensure correct communication:

- **Data Type**: We specify the type of data the point belongs to. For example, if it is an analog output, it is classified under Group 40 of the DNP3 protocol. Other data types can include analog inputs (Group 30), digital outputs (Group 10), digital inputs (Group 1), and more.

- **Variation Type**: Within each data type, there are variations that determine how the information is formatted and processed. For example, an analog output (Group 40) can have different variations specifying the data format (e.g., 16-bit or 32-bit).

- **Index**: The index is a unique identifier for each point within its type and class. It allows the system to differentiate between multiple points of the same type.

- **Data Class**: DNP3 data is classified into different classes to determine their priorities and how they are handled in terms of reporting and scanning. Common classes include:
- **Class 0**: Complete scan data.
- **Class 1**: High priority data.
- **Class 2**: Medium priority data.
- **Class 3**: Low priority data.

These parameters allow the DNP3 system to efficiently manage the transmission and reception of data, ensuring that each data point is communicated accurately and orderly according to DNP3 protocol standards.




Created by JF

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article