Historian tag storing at wrong rate?

I am attempting to store a couple of data points at a rate of 250ms, but one of them consistantly stores at 1000ms, while the other complies with the 250ms request.

Both are from the same PLC (CLGX), with the same tag- and storage-providers
Both are using the same tag group, which is set to Direct, 250ms,Subscribed.

Both have history set to Discrete,Absolute,Periodic,250ms. My understanding is that periodic will not store unless deadband is exceeded. The one that is behaving has a deadband of 0.25 units, while the one that is not behaving has been lowered to 0.01 units, in the vain hope that was somehow the problem. It was originally set of 1 unit deadband.

The result of a queryTagHistory(returnSize=-1,noInterpolation=True) on the two tags shows the one updated every 1000ms (it's delta almost always exceeds 0.01 units while runing), and the other tag stores at 250ms as long as it's delta exceeds 0.25 units.

I have verified both tags are really changing in the PLC every 20ms on average, and the one that is not behaving is changing by more than 0.01 units every 250ms.

Any help on this will be appreciated! While I hope this is not my fault, chances are this is something small and dumb that I've overlooked. :slight_smile:
Documentation below.

Tag group config:
image

The behaving tag config:

The mis-behaving tag config:

From the queryTagHistory results, when the behaving tag is not changing, the mis-behaving tag is clearly updating every ~1000ms:
image

From the queryTagHistory results, when the behaving tag is changing, the mis-behaving tag is still storing every ~1000ms, but the behaving tag is storing every ~250ms:
image

From the PLC, this is four separate trials of a 28-element array of 250ms snapshots of the mis-behaving tag to show that it is, indeed, changing by large enough values to store:

Posting for posterity

I contacted support and it was discovered that even though the sample mode was "Periodic", the system was still looking at the Min Time setting from "OnChange" and disqualifying the storage based on that. I had to change the sample mode back to "OnChange", set Min Time to zero, and then change back to "periodic" for it to work properly.

The support engineer entered a bug report for this behavior.

1 Like