Minimum Age Limit time not respected with Discrete Deadband mode

I have a large number of tags with historization configured on them. One such tag is with OnChange polling configured as follows.

When configured like this, the Minimum Age limit (set to 15 seconds) is not respected:

You can see the time between samples is often <15 seconds. However, when I set the Deadband mode to Off, the samples are consistent:

As far as I understand in the manual, the samples should only log when both the deadband criteria and minimum sampling time are respected, but it seems that the samples are logged as soon as the deadband limit of 10 is surpassed.

Hey Ben, please share the version and the tag settings from the tag browser. I'd also make a new memory tag and change the minimum settings possible, on change history and the same min time, and verify it repeats the behavior on that.

Version I am using is 8.1.42. I created a simple OPC tag, and changed only the tag group, and configured the historization as such using On Change logging. I am seeing deviations between the 15 second HistoryTimeDeadband and the actual timestamps logged to the db. Some samples logged to the DB.

To add a bit more information on what I am seeing here. I created a expression tag that is equal to the number of seconds in the current minute. It counts to 60 and then repeats. It has a fixed execution rate of 1 second.

I configured the historization as follows:

Deadband Style: Discrete

Deadband Mode: Absolute

Sample Mode: On Change

Deadband of 10

Min Time Between Samples: 15 Sec

Max Times Between Samples: 15 Min

But if I pull the historization records, I can see it logs on the 0 second, 20 second, 30 second, and 50 second mark consistently. Am I misunderstanding how this should work? I would think I should see a samples spaced every 15 seconds instead.

The tag group history config is left as default:

The deadband in your test is making it harder to see clear results, changing the minimum settings possible is the most effective way to confirm a specific setting is working how you expect.

Your expression tag is the right approach, but do not change the tag group (although I agree it shouldn't impact it), or any other settings except the one you think isn't working correctly. Validate that in a vacuum and you will either: see the behavior you expect or continue to see what you've been reporting.

If you have an isolated instance a clearly defined settings from the user manual - not functioning as described - it would be time to contact support: https://support.inductiveautomation.com/

Posting this in case someone else has this problem in the future.

I have seen been in contact with Inductive support. Turns out the cause of the confusion is that the tag deadbands shifts each time a value outside of the deadband is registered, even if the minimum sampling time has not yet elapsed. This goes against what is shown in the diagram below, from the user manual.

In the event that no additional points outside of the deadband window occur before the minimum sampling time elapses, then the value change that last shifted the deadband window, along with its OPC timestamp is logged to the historian.

This can lead to times between timestamps in the historian that are significantly less than the configured minimum sampling time.

Inductive support confirmed that the following diagram from the user manual, is actually misleading since the deadband evaluation is performed before the sampling time consideration (link to the user manual page in question: How the Tag Historian System Works | Ignition User Manual):

Support told me they will likely be pushing to update this diagram in the user manual.