# Calling DNP3 experts - what devices do you use?

**URL:** <https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057>\
**Category:** Ignition\
**Created:** [July 19, 2022, 1:04pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057 "2022-07-19T13:04:47Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![nathan.boeger](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nathan.boeger/32/87646_2.png) [@nathan.boeger](https://forum.inductiveautomation.com/u/nathan.boeger)\
**Post date:** [July 19, 2022, 1:04pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/1 "2022-07-19T13:04:47Z")

</div>

Calling DNP3 experts. Seeking to expand a testing lab with DNP3 _representative devices_.

Feedback:

1. [SEL RTAC](https://selinc.com/products/RTAC/) from @DSandy. Would a [3505](https://selinc.com/products/3505/) work? The [651R](https://selinc.com/products/651R/) looks awesome, likely beyond scope of our lab.

Previous Feedback:

1. Schneider [SCADAPack 330](https://www.se.com/us/en/download/document/SCADAPack_330_334_D_S_Ltr/) (300 series)
2. Schneider SCADAPack model TBD ([X70 series](https://www.se.com/ww/en/download/document/SCADAPack_x70_Smart_RTUs_A4/)). Recommendations?
3. Siemens SIMATIC [RTU3000C](https://new.siemens.com/global/en/products/automation/industrial-communication/industrial-remote-communication/telecontrol/rtu-remote-terminal-unit/simatic-rtu-3000c.html)
4. Advantech [ADAM-3600](https://www.advantech.com/products/intelligent-rtu-(remote-terminal-unit)--adam-3600/sub_5801ecc7-a737-4e3f-b85f-0e1d244860da)

What are the most common for you? What other devices would be useful to test? Feedback on priority is welcome.

Thank you much!

---

<div class="post-metadata">

**Author:** ![DSandy](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dsandy/32/29409_2.png) [@DSandy](https://forum.inductiveautomation.com/u/DSandy)\
**Post date:** [July 19, 2022, 2:41pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/2 "2022-07-19T14:41:33Z")

</div>

Anything SEL (Schweitzer Engineering Laboratories). We currently have ~80 651 relays talking DNP3 to Ignition and a like number of RTACs. The [RTAC](https://selinc.com/products/rtac/) is nearly ubiquitous in the power industry in place of PLCs used for automation in many other industries, and the relays and meters are industry standards.

We use DNP3 everywhere we possibly can, relegate Modbus to devices in the field, poll them from an RTAC, and use the DNP3 deadbands to do all our compression before data leaves the site. As such, event messages and unsolicited messaging are critical.

We have oodles of SEL devices running DNP3, including a few test lab subjects and a few to which I could likely provide internet access. More (way more) than happy to provide any assistance I can, I do feel there are some improvements I would really like to see (first two; being able to write without scripting, and being able to control event and integrity polls) in the DNP3 implementation.

PS - we have enough [3505 RTACs](https://selinc.com/products/3505/) laying around that I could probably provide you one for testing.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 19, 2022, 2:44pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/3 "2022-07-19T14:44:03Z")

</div>

> [@DSandy](#):
>
> first two; being able to write without scripting

You can, but maybe you’re talking about control operations and not writing?

> [@DSandy](#):
>
> and being able to control event and integrity polls

Totally on our radar and coming in the future when we do a big round of DNP3 driver improvements. The primary operating mode of the driver will shift to class-based polling instead of point-based polling. It will be configurable for backwards compatibility.

---

<div class="post-metadata">

**Author:** ![DSandy](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dsandy/32/29409_2.png) [@DSandy](https://forum.inductiveautomation.com/u/DSandy)\
**Post date:** [July 19, 2022, 2:46pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/4 "2022-07-19T14:46:21Z")

</div>

> [@Kevin.Herron](#):
>
> You can, but maybe you’re talking about control operations and not writing?

Yes, it is the control operations, that are so simple in Modbus because there it is just writing. FWIW select-before-operate is preferred (in our and many other houses) and does definitely complicate things.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [July 19, 2022, 2:49pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/5 "2022-07-19T14:49:19Z")

</div>

I think the only way to accommodate that would be for each of the point types used by control operations (analog and binary outputs? I think I’m missing another from memory) we could somehow allow you to pre-configure a control operation that would be invoked when a tag for that point type was written to. It’s a little goofy, and you’d have no ability to customize the parameters beyond what was pre-configured, but it might work. It would probably be opt in behavior.

---

<div class="post-metadata">

**Author:** ![DSandy](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dsandy/32/29409_2.png) [@DSandy](https://forum.inductiveautomation.com/u/DSandy)\
**Post date:** [July 19, 2022, 3:56pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/6 "2022-07-19T15:56:05Z")

</div>

The biggest problem I have with the scripting of the control operations is the script entries require the point number. This is a place where I can make mistakes, if the point number I enter in the script doesn’t match the intended target…

So, for my use if I could just reference the Ignition tag and the scripting functions got the point number from either the tag definition or the OPC server that would be a big advantage. Then I only need to get the point number right in one place, when defining the tag, and there’s much less risk of error.

If I leave the OPC server configuration blank, and set the OPCItemPath to be the full DNP address (that’s how we do it) on the Ignition tag then I can parse the point number from the OPCItemPath, but it is a bit clunky. Any way to make that simpler/smoother would go a long way.

---

<div class="post-metadata">

**Author:** ![DSandy](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dsandy/32/29409_2.png) [@DSandy](https://forum.inductiveautomation.com/u/DSandy)\
**Post date:** [July 19, 2022, 4:17pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/7 "2022-07-19T16:17:06Z")

</div>

I think we’re typing at the same time. Yes, the 3505 would work, the whole family uses the same library. As I said in the edit to my post, we can probably provide you with one. Programming software is free, or I can volunteer to do some basic programming.

---

<div class="post-metadata">

**Author:** ![DSandy](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dsandy/32/29409_2.png) [@DSandy](https://forum.inductiveautomation.com/u/DSandy)\
**Post date:** [August 5, 2022, 4:22pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/8 "2022-08-05T16:22:02Z")

</div>

One more item for this thread, because I just came up against it.

The system.dnp3 script functions include a freezeCounters method. This issues a DNP3 Immediate Freeze command.

DNP3 also has a Freeze and Reset Counters function that freezes the accumulator value and causes the RTU to reset to zero. Can that functionality be added to system.dnp3?

---

<div class="post-metadata">

**Author:** ![carles.centeno](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/carles.centeno/32/67402_2.png) [@carles.centeno](https://forum.inductiveautomation.com/u/carles.centeno)\
**Post date:** [February 28, 2025, 7:01pm UTC](https://forum.inductiveautomation.com/t/calling-dnp3-experts-what-devices-do-you-use/62057/9 "2025-02-28T19:01:46Z")

</div>

NOR0200H is a Device DNP3 master/slave and IEC104 master/slave from Schneider Electric, that works fine. Is a module of M340 and M580 family similar to input/output modules that attach in Backplane of both systems. Is cheap and is embeded inside Control Expert Program (old Unity). I used a lot of time to connect Solar Plants with a Electric provider.
