Hello folks,
I'm setting a memory tag using a BasicQualifiedValue
, to force its quality and timestamp.
Basically, something like that:
qval = BasicQualifiedValue(val, qual, timestamp)
system.tag.writeBlocking([path], [qval])
I do get the proper timestamp in the tag browser, ie:
and when reading that timestamp specifically with
system.tag.readBlocking(["path.timestamp"])[0].value
>>> Fri Dec 15 06:15:00 CET 2023
but reading the timestamp of the value shows what I assume was the time when the tag was written:
system.tag.readBlocking(["path"])[0].timestamp
>>> Thu Sep 12 10:05:14 CEST 2024
So, basically, tag.timestamp != tag.timestamp.value
,
That's highly unintuitive and had me scratch my head a while, wondering why I got different results when script-reading the tag and just looking at it in the tag browser.
edit:
Hm, it appears I got it wrong.
The tag in question was named "value", in an udt instance, and I was reading path/to/udt.value
instead of path/to/udt/value
.
Nevermind. Leaving this here anyway because it's always good to be reminded how easy it is to mess things up !