# Tag Historian Processing of DNP3 Sequence of Events (SOE)

**URL:** <https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456>\
**Category:** Ignition\
**Tags:** ignition83\
**Created:** [March 12, 2026, 10:10am UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456 "2026-03-12T10:10:45Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 12, 2026, 10:10am UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/1 "2026-03-12T10:10:45Z")

</div>

Hello Ignition Folks,

I’m new to Ignition, very familiar with DNP3.

My goal is to have the Core Historian process an SOE of DNP3 Events which are pushed via unsolicited messages from an Outstation. Specifically, that when a DNP3 message containing multiple events for a single object, that the Historian would process **each event** - adding a row with timestamp sourced from event (i.e. the DNP3 Outstation) and not only the most recent value.

I am not seeing this behavior currently.

Below details my test setup, includes a sample COM capture, and Power Chart plot of the results.

- DNP3 Server is configured to provide Unsolicited Messages if
  - Event Queue \> 81 events  
OR
  - Max Event Age in Queue \> 5s

- DNP3 Client is configured to provide Integrity Polls at 10-sec for testing (300-sec for production)

**DNP3 server Config**

 ![DNP3 Server Config](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/2/12f6d62e782c46db592d91c869b84234d9ae6b69.png)

the **server side** Tag configurations.

 ![DNP3 server MAP](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/4/e41826808f24ed92e116257ebf8b0e4cab37ab7b.png)

**DNP3 client Config (using the new DNP3 Driver)**

 ![DNP3 Client Config](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/4/94a28392d748d7691bf4a4acb59fa5ccce48b49b.png)

(continued in the topic due to the limit of 3 embedded media items per post)

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 12, 2026, 10:11am UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/2 "2026-03-12T10:11:17Z")

</div>

Below is a **PCAP** of the communication between client and server

[2026-03-12 04-03-15 Manual Processing PCAP with Handshake.pcap](https://forum.inductiveautomation.com/uploads/short-url/bRJvaUtHHxu5bt8MZLiHiQ08bKC.pcap) (18.1 KB)

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 12, 2026, 10:11am UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/3 "2026-03-12T10:11:52Z")

</div>

Now we can look and see how the Ignition Core Historian is currently processing the telemetry.  
I have tested with 3 Ignition side configurations of the Tag and plotted the results in a Power Chart (_ **the red pen** _)

As a reference, I have a second Ignition DNP3 client configured the same as above, but with Class 1 Polling at 1s, History is “On Change” with Min Time 1ms and Max Time 10 Minutes (_ **the blue pen** _)

**Red Pen Plot On Change min 1-ms max 10-min**

 ![Historian Plot On Change min 1-ms max 10-min](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/0/108c11fcaef3fa3e4f8ce40182a151d04663f4f5.png)

**Red Pen Plot On Change min 1-s max 10-min**

 ![Historian Plot On Change min 1-sec max 10-min](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/a/1a745f1ad2101c8908b768a8fef1f4ed0c0a6c20.png)

**Red Pen Plot Periodic max time 10-min sample rate 100ms**

 ![Historian Plot Periodic max 10-min sample 100ms](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/1/e1ee44fe91836236bc4ac97b9f2f8ba3c0115c54.png)

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 12, 2026, 10:12am UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/4 "2026-03-12T10:12:23Z")

</div>

Below is the Ignition side Tag configuration for the Periodic plot above:

 ![Unsolicited Point Settings](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/4/74b9b79303ac5688e9142ea1e9faad6cff48b354.png)

Note that the _ **live values** _ in the Tag Browser were updating at intervals that match the behavior  
seen in the Periodic plot.

Any help you can provide would be greatly appreciated.

---

<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:** [March 12, 2026, 1:04pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/5 "2026-03-12T13:04:46Z")

</div>

What are your Tag Group settings?

Ideally, you create a dedicated Tag Group for the OPC tags coming from DNP3 devices where you want to preserve the events, then configure the Tag Group like this: [DNP3 Driver | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.3/ignition-modules/opc-ua/opc-ua-drivers/dnp3/dnp3-driver#sequence-of-events)

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 12, 2026, 8:35pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/6 "2026-03-12T20:35:03Z")

</div>

I have configured a “DNP3 Tags” Tag Group and configured the OPC UA and History settings with some confidence but still do not see the “expected behavior” from the Tag Historian of processing the SOE from the DNP3 unsolicited messages.

**Tag Group config**

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/5/1524466165e4c12071cbae6dcfb8c5b3fa15dff7.png)

I have tried all 3 modes (Direct, Driven and Leased), combined with both OPC Data Modes (Subscribed and Polled).

**Tag Config**

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/d/1/d1ac7034b0eaf0e1ca1a97026ffbe610fdabe452.png)

**Power Chart**

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/6/c6f89048607e7300207ea9c9f0cc48d523eda705.png)

---

<div class="post-metadata">

**Author:** ![Cody\_Morgan](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@Cody\_Morgan](https://forum.inductiveautomation.com/u/Cody_Morgan)\
**Post date:** [March 12, 2026, 9:01pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/7 "2026-03-12T21:01:35Z")

</div>

Have you tried setting Tag Config -\> History -\> Sample Mode to `On Change` ? I think you mentioned you had that set for the other DNP3 client, so maybe you've already tried that

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 12, 2026, 9:15pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/8 "2026-03-12T21:15:46Z")

</div>

Hey Cody,

Yes, tried above as the first configruation (the **Red Pen Plot On Change min 1-ms max 10-min** )

---

<div class="post-metadata">

**Author:** ![Cody\_Morgan](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@Cody\_Morgan](https://forum.inductiveautomation.com/u/Cody_Morgan)\
**Post date:** [March 12, 2026, 10:04pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/9 "2026-03-12T22:04:38Z")

</div>

Oh I see now, I misunderstood your first post

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 16, 2026, 11:37am UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/10 "2026-03-16T11:37:31Z")

</div>

What are my next steps here? How do I engage with Inductive Automation directly?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 16, 2026, 1:11pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/11 "2026-03-16T13:11:13Z")

</div>

Open a [Support](https://support.inductiveautomation.com/) ticket.

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 16, 2026, 9:09pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/12 "2026-03-16T21:09:10Z")

</div>

Thanks Phil,

Ticket OPENED

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/b/d/bda04095dd1d8af10c6e6f6fe10d6853877439f2.png)

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 16, 2026, 9:18pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/13 "2026-03-16T21:18:28Z")

</div>

Also, I have just updated the Tag Provider to _ **Allow Back-fill Data** _ in the Advanced Settings.  
No change observed in the _Power Chart_ visualization.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/d/0d6360bd96833235188c0c1f1e9b35901c074230.png)

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 20, 2026, 9:31am UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/14 "2026-03-20T09:31:21Z")

</div>

We can confirm the Gateway Processes the Tag Changes with a _ **Gateway Events** _ script triggered on **Tag Change**

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/e/8e67504c9f18c01ba264a183402e11bc425e39e5.png)

Checking the Logs, we see the Gateway is processing the tag changes

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/8/78c657893d65233920b03f98aaba7c3f4c82b215.jpeg)

I expect this indicates the issue is in the configuration of the Tag Historian or the Tag History settings.

Continuing to investigate with Support from Inductive Automation.

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 20, 2026, 9:37am UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/15 "2026-03-20T09:37:32Z")

</div>

(As an aside, I will be investigating the apparent drift in time syncing once the SOE parsing is done. Typically we rely on GPS clocks & IRIG-B for time sourcing at the originating device, but here I have configured DNP3 time sync via IIN1.4 “Need Time” … so I would expect the two sources to be aligned.)

---

<div class="post-metadata">

**Author:** ![jlanzaslop](https://avatars.discourse-cdn.com/v4/letter/j/858c86/32.png) [@jlanzaslop](https://forum.inductiveautomation.com/u/jlanzaslop)\
**Post date:** [March 20, 2026, 7:18pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/16 "2026-03-20T19:18:45Z")

</div>

Hi Rob! I am actually working on a project right now using DNP3 and ignition and had my fair share of problems setting it up until I got the data backfill working.

I am going to share the configuration I am currently using for the tags that works (at least for me). Main difference I’m seeing is the history configuration. Sample mode should be set to “On change” I think.

Also, can you enable this field in the DNP3 connection settings and check the logs to verify that you are receiving the data with the correct timestamps? It should indicate “with time” in the logs. I doubt this is the problem since your script correctly reflects the timestamps, but it is best to check.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/d/3d3e7ca4a86097008370e40cdf2789c3eb311d81.png)

Anyway here is my current configuration, maybe it helps.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/3/63afc4d67502928690543ffab6b3ea32ccb2bf9b.png)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/3/23039c6e631c7238f028a0caeffde2d49399566e.png)

Hope this helps!

---

<div class="post-metadata">

**Author:** ![Nol](https://avatars.discourse-cdn.com/v4/letter/n/8e8cbc/32.png) [@Nol](https://forum.inductiveautomation.com/u/Nol)\
**Post date:** [March 20, 2026, 8:11pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/17 "2026-03-20T20:11:11Z")

</div>

Can't help specifically with unsolicited messaging but since you have class 1 polling working the first thing I'd suggest if you haven't already is keep your Outstation generating Class 1 events at 1 second intervals but change Ignition to poll every 10 seconds. Then watch on your real-time trend you should see a chunk of data appear every 10 seconds with the correct backfilling of values. If that works then I'd look more specifically at the unsolicited messaging part of things; if its not working then I'd check your connection setup or your Outstation maybe isn't generating events correctly.

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 22, 2026, 7:37pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/18 "2026-03-22T19:37:07Z")

</div>

Hey @Nol,

I can confirm that things work as expected when using **Class Polling** to pull in telemetry. Specifically When I slow the Class 1 Polling of the “baseline” DNP3 Server from 1000ms to 10000ms, all event telemetry successfully lands in the Core Historian.

**I do not yet see this behavior with unsolicited messages**. Currently working with Inductive Automation to troubleshoot further. Tag Changes are seen by the Gateway (verified above with logging).

The Green Trace shows an event in telemetry every second (as expected) with poll rate of 10s.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/0/e04922b79c096a0108697b1daf9db5058b8d97b5.png)

---

<div class="post-metadata">

**Author:** ![Nol](https://avatars.discourse-cdn.com/v4/letter/n/8e8cbc/32.png) [@Nol](https://forum.inductiveautomation.com/u/Nol)\
**Post date:** [March 23, 2026, 2:40pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/19 "2026-03-23T14:40:25Z")

</div>

Then next step would be to setup wireshark and do some captures to look at the DNP3 response coming as unsolicited messaging to see if it's actually including the missing data. It could still be that your outstation isn't including multiple events when it sends the messages while it does include multiple events when its a class 1.

I think that's the best bet for narrowing this down

---

<div class="post-metadata">

**Author:** ![rob\_bruce](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/rob_bruce/32/84124_2.png) [@rob\_bruce](https://forum.inductiveautomation.com/u/rob_bruce)\
**Post date:** [March 23, 2026, 5:21pm UTC](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456/20 "2026-03-23T17:21:17Z")

</div>

Hi @Nol,

This step was done as part of my initial post (see above for the PCAP if you are interested).

We have confirmed both with Wireshark and then further with additional logging that the Outstation (server) is providing the telemetry in unsolicited messages. Those unsolicited messages are parsed at the Gateway but do not appear to land in the Core Historian.

Once root cause is determined, I will post back here with detail.

[Next page](https://forum.inductiveautomation.com/t/tag-historian-processing-of-dnp3-sequence-of-events-soe/114456.md?page=2)
