Email Us at [email protected]

Download N3uron
Back to videos

DNP Server / Configuring DNP Server

Configuring DNP Server

Description

In this video of our N3uron Academy, we’ll guide you through configuring N3uron’s DNP Server module to share tags using the DNP3 protocol from any data source. Let’s get started!

  • [09:09] Configuring DNP Server

Transcription

[00:00] Hello everyone! In this video, we’ll guide you through configuring N3uron’s DNP Server module to share tags using the DNP3 protocol from any data source. For this demonstration, we’ll expose tags from an OPC-UA client connected to an OPC-UA server at a photovoltaic plant. We’ll also connect a DNP3 client, often referred to as the “master” in DNP3 terminology, on an SEL RTAC controller to our DNP Server. The client will read key performance indicators (KPIs) and modify the Tracker Position Setpoint tag, which controls the orientation of the solar panel trackers. This tag is configured with read and write permissions and includes disk persistence. First, let’s take a look at the tags we’ll be exposing via the DNP Server in the Real-Time screen.

[01:02] In the data model, the PV plant is divided into six stations, each with its inverters, KPIs, trackers, and weather stations. For this demonstration, we’ll be exposing the plant’s general KPIs, along with writing to the Tracker Position Setpoint, located in the CTRL folder, as well as the tracker position for each station. We’ll also verify how the solar trackers adjust based on this setpoint. Now, let’s start by creating an instance of the DNP Server module. Head over to the “Config” tab, select “Modules,” and click on “New Module.” Name it “DnpServer,” set the module type to “DnpServer,” and save the configuration. With that done, we’re ready to configure the DNP Server settings. Once the DNP Server module is created, you will find it in the Explorer panel. Let’s create a new channel to handle the connection with the DNP Client. Click “New Channel,” and I’ll name it SUNN3RGY, after the PV Plant name.

[02:03] Enable data collection and leave the Application data length at its default value, which defines the size of the data buffer sent in a single transaction. In the Server Settings, I’ll configure the basic parameters. Keep the default port number as 20000, which is the standard for DNP3. Next, for the network interface, select “All interfaces” to allow connections from any network adapter. “Max connections” is set to 1, as DNP3 does not support simultaneous connections. In the “Source IP addresses” field, you can leave it empty to accept connections from any IP unless you need to enforce specific security restrictions. However, if redundancy is in use, this field is crucial. Here, you’ll enter the IP addresses of the primary and secondary DNP Clients, separated by commas, that can connect to the server. Lastly, we’ll leave the “Inter-frame delay” at its default value, which controls the time to wait between frames in milliseconds.

[03:03] Now, go to the Devices section and create a “New Device”. I’ll name the device BLUELAKE, after the site at the PV Plant, and set the Device slave address to 3 and the Master address to 32004. Next, let’s take a look at the Event buffer settings. I’ll keep the class sizes at their default values and set the Discard parameter to “Oldest,” so when the buffer is full, the system will discard the oldest events first. I’ll also enable “Require confirmation,” which ensures that the master device sends a confirmation after receiving and processing each set of events. Now, let’s move on to the Tag Mapping for the KPIs. Part of the configuration has already been prepared and saved in a CSV file, so I’ll begin by loading it. To do this, I’ll click on the three-dot icon next to the “Map Groups” setting, select Load CSV, and choose the file from my system.

[04:00] Once the file is loaded, the tags “ACTIVE POWER 5 MINUTES AVERAGE”, “ACTIVE POWER TOTAL”, and “NOMINAL POWER” will appear. These tags belong to the KPI map group and are mapped as Group 30, Analog Input, using Variation 5, a 32-bit floating-point with a flag, and are assigned to Event Class 1. Additionally, we have the Trackers map group, which includes the current position value of each station’s tracker. These tags are also mapped as Group 30, Analog Input, with Variation 5, using the same 32-bit floating-point with flag. After loading the CSV, I’ll manually complete the configuration by adding the remaining KPIs, Performance Ratio, and POA Irradiance, which are also under the KPI map group. I’ll use the Tag Picker to map them as Analog Inputs with the same group and variation, and I’ll select the appropriate indexes and event class, just like the other tags.

[05:40] Next, I’ll configure the TrackersPositionSetpoint tag, which will be placed under the CTRL map group. This tag controls the tracker position setpoint and is configured with both read and write permissions. I’ll map it as an Analog Output in Group 40, using Variation 3, a 32-bit floating-point with flags, and assign it to Event Class 1.

[06:10] Once I’ve confirmed that the configuration is correct, I’ll save the changes and head over to the Real-Time section. Next, I’ll open the DNP Client on the SEL RTAC controller. It’s important to verify that the client’s settings, such as the TCP port, slave address, and master address, are correctly aligned with the configuration of N3uron’s DNP Server. Now, let’s monitor the data in real-time both in N3uron and in the DNP Client to confirm that the KPIs are being read correctly.

[07:42] Next, we’ll write a value to the Trackers Position Setpoint and verify that it updates correctly, ensuring the trackers adjust according to the control setpoint. 

[08:03] As you can see, the value has been written successfully, and the trackers are responding as expected. And that’s it for this video! We’ve successfully configured N3uron’s DNP Server. Thanks for watching, and see you in the next video!

Privacy Settings
We use cookies to enhance your experience while using our website. If you are using our Services via a browser you can restrict, block or remove cookies through your web browser settings. We also use content and scripts from third parties that may use tracking technologies. You can selectively provide your consent below to allow such third party embeds. For complete information about the cookies we use, data we collect and how we process them, please check our Privacy Policy
Youtube
Consent to display content from - Youtube
Vimeo
Consent to display content from - Vimeo
Google Maps
Consent to display content from - Google
Spotify
Consent to display content from - Spotify
Sound Cloud
Consent to display content from - Sound