We're using the built-in historian module and are often using On Change/Realtime sample mode with a max timer of 59 seconds. This is to meet a requirement that we have a historical sample every minute for compliance purposes and for timescale zooming on real-time charts, but we also have more detailed resolution up to the tag sample rate (not counting deadbanding and analog compression).
Per the "How the Tag Historian System Works" doc, the max timer only triggers after the sample mode actor, and the sample mode actor only evaluates every time the tag changes value. Many of our devices interpret the DNP3 specification to hold the timestamp unless a value or quality changes. So, we might get a constant return of last known good value, bad_stale quality, and last known good timestamp for a duration of time, and the sample mode actor is preventing the max interval timer from storing samples for this duration.
What would be the most elegant way to solve for this, assuming we still want to use On Change to get higher-resolution historical samples but still require an integrity sample every one minute? Something less hackish than introducing some millisecond wobble on the PLC when the DNP3 quality is bad_stale. Thanks for any ideas!