Home FAQPricesIOServer Users

FAQ for DNP3

Q:Can we define Class assignment on a per-point basis using IOServer?

A:The class assignments for DNP3 events are defined in the DNP3 "DNP Device" configuration tab.
To set DNP3 object 20.5.1 to class 1 in the DNP3 device "Device1"
1. Click on "Device1", "DNP Device" tab, then "Objects" of "Class 1".
2. Enter "20.5.1" into "Objects" of "Class 1"
3. Press "Apply"
Each entry in "Objects" is space separated.

Q:Does the DNP3 slave support the use of multiple variations for an object type?

A:Yes, as long as each index is only assigned to one variation. The .online status of an object is enabled when it is set with good quality data. Only objects with .online enabled are transmitted. This feature only works with variations that have .online status. Variations without status or flags do not have .online status.

Q:In my DNP3 slave. Digital Input Device1.2.5 shows bad quality when I write a 0 to it, why?

A:Device.1.2.x is an eight-bit value that stores eight bits of information (eg. online, state).
Device.1.2.x.State is a digital single-bit value that stores the point value of the object.
In the DNP3 slave, you normally write to the Device.1.2.x.State object, which will automatically set the .online bit if the source quality is good.

Q:Is there a way to pass all events that my DNP3 Master received from a DNP3 Slave to another DNP3 Slave?

A:Set the Master1.DNP Device.Enable SOE tag option.
Create an OPC Gateway Item:
Source Expression: Master1.SOE
Destination: Slave2.SOE

Q:When the Application Layer confirmation is set to always. Will IOServer always send confirmation? whether the slave device responds with confirm set or not set.

A:The application layer confirmation setting in the DNP3 master is independent of the application confirmation setting in the DNP3 slave.
When the application layer confirms in the DNP3 master is set to always, the DNP3 master will always ask for confirmation of frames that it sends. The DNP3 slave then must confirm every frame that it receives from the DNP3 master.
When the application layer confirms in the DNP3 slave is set to always, the DNP3 slave will always ask for confirmation of frames that it sends. The DNP3 master then must confirm every frame that it receives from the DNP3 slave.
When the application layer confirms mode in the DNP3 master is set to sometimes, the DNP3 master will ask for confirmation of frames that contains data (The DNP3 master never sends data). The normal practice is to set the application layer to confirm mode in the DNP master to never.

Q:The manual of the slave device states it requires confirmation to empty the event buffer, but the actual bit in the response is not set. Is there any way we can force IOServer to send confirmation?

A:The DNP3 Slave confirmation mode setting is configured at the DNP3 slave.
It is not possible for the DNP3 master to remotely configure the DNP3 slave. You normally need physical access to the DNP3 slave to configure it.
It is the DNP3 slave that determines whether it wants its data frames to be confirmed.
The DNP3 master cannot send the confirm frame unless requested by the DNP3 slave.

Q:How do I stop a DNP3 Master from polling, but remain online?

A:Write a 2 to the .Enable tag for that device to suspend polling.

Q: We've got a customer that using IOServer. They would like to know if it is possible to send a pulse control for a few seconds and then an off latch control using 1 command?
E.g They are currently sending a "1" to 10.1.0.DO.3000,bool which pulses the point on for 3 seconds. What they would like to do is pulse it on for 3 seconds and then set it back to "0".

A:According to the DNP3 standard, the device should have set that point back to 0 after the 3 seconds pulse command.

The attached pulsednp.io configuration shows how you can use the Write Delay parameter in OPC Gate Item to delay a write command. Note that the RTU will return an error if you send a write request to the same point before the previous pulse command have finished execution.

Writing a 1 to Modbus.10001 will pulse the output. Modbus.10001 will auto reset.

Q: We are using your DNP3 Slave. The timestamp that the master receives has a time offset that IOServer DNP3 Slave calculates in the section "Slave Station Options", option Time Offset. The question is how we can make that the time offset that IOServer calculates, zero.

A:To stop the DNP3 slave from synchronising its time with the DNP3 Master. Set the DNP3 Slave.80.1.NeedTime Internal Indication to 0, before the DNP3 Master connects to the DNP3 Slave.
You can do this automatically as follows using the OPC Gateway
Source: 0
Destination: Device.80.1.NeedTime
Trigger: Device.80.1.NeedTime

Q: Please find attached the IOServer config and ios.log for Saturday, we had major comms issues on Saturday morning With NRSBU-Airport. Could you please have a look for any problems with NRSBU sites?

A:Your communication problems are due to noise and errors in your communication channel. The chance of errors in a single transmission increases exponentially with the length of the frame, therefore you minimise the effect of errors by using as small a frame as you possible can. Class 0 polls cause the RTU to send large amount of mostly unnecessary data. You can reduce the effect of noise by:
1. Eliminating or reduce scheduled class 0 polls interval.
2. Enable link layer confirm mode at the RTU. This cause each link layer frame to be acknowledged, minimising the effect of errors.

© Copyright IOServer Pty Ltd. All rights reserved.
+61 2 9805 0356 (Australia)

Last updated: Thu, 16 Jun 2022 08:01:57 GMT