I want to change Tag timestamp value for every 5 min without forcing values ? How to do without force values ?
What do you mean by force values?
If you want the timestamp to be 'right now', use an expression tag with a execution mode of FixedRate, and a Execution Rate of 5 minutes.
What do you want the value to be while timestamp is changing?
Whats your end goal for an updating timestamp?
Have you tried that? I just tested to confirm my understanding: The expression tag timestamp will not change with execution unless the output of the expression actually changes.
The tag actor pipeline discards new values (and their timestamps) that are equal to the current value.
The OP's request cannot be satisfied.
Which brings us back to:
If you give us the end goal maybe there's a different way to still achieve that besides forcing the timestamp to update every 5 minutes. Is this some kind of hearbeat situation where you're trying to make sure the data is still "fresh" and the connection isn't down?
Do you need an exact time? Because if you just want it to move every 5 min then you could put a tag group set at 5 minute update rate and then an expression tag to get the timestamp. It'll drift slightly and not be exactly 5 min but if you just want it as a heartbeat for updates then that may suffice.
I created a tag named Event code . When you open branch of a Event code tag , Timestamp value has to update for every 5 min . I forced values to change Event code value for every 5 min , so that timestamp value also updating for 5 min . But historian records fake values by using force values in script. So Ignition does not have feature to update tag timestamp value for every 5 min without changing tag value . If there is a change in tag value only , tag timestamp is updating ?
Exactly. Ignition cannot do what you want. You will have to satisfy your underlying requirement some other way.
Perhaps you just need to use a max time between samples of 5 minutes.
Why do you need to update the timestamp without changing the value? I don't understand what your trying to accomplish with this. It feels like an XY problem.
I can not think of a reason anyone would want only the timestamp to change.
If you are using a script anyway, and the max time doesn't do what you're looking for:
Yes, this method should work as long as Deadband Mode = Off.
I was able to observe an updating timestamp (fixed rate = 10s) without a changing value. I tested with both a static expression (5), and one referencing another tag which was not changing ({[System]Gateway/Alarming/Active and Acked}).
Here is a basic "Copy JSON" tag configuration that worked for me on 8.3.7:
Tag w/ Updating Timestamp
{
"deadbandMode": "Off",
"executionMode": "FixedRate",
"executionRate": 10000,
"expression": "{[System]Gateway/Alarming/Active and Acked}",
"name": "New Tag",
"tagType": "AtomicTag",
"valueSource": "expr"
}
I also tested against an 8.1.54 gateway with same outcome.
![]()
I even enabled history (with no deadband) to verify that a new point is added to history matching the updating timestamp - and it did...a new point was added every 10 seconds, with no change in value.
@pturmel, what version were you testing with? What deadband settings?
Am I speculating correctly that your actual end-goal is to see a new record in the Historian every 5 minutes with the same (unchanging) value? If so, you do not need an updating timestamp nor value on the tag, there are history settings on the tag which permit that functionality.
If you require an updating timestamp on the tag, see my prior post. I was able to observe an updating timestamp without a change in value. That said, I agree with others, in that I struggle to find the rationale behind this requirement.
That test was 8.1.47, since OP tagged this topic for v8.1.
Deadband mode was absolute, zero, IIRC. (Getting on a plane shortly...)
Hi
I created event code tag as memory tag . Deadband mode is absolute . I want to get update event code timestamp for every 5 min ?
I created as a memory tag . Does it work for memory tag . Deadband mode is absolute I used
So my question is without forcing values to change , how to update a tag timestamp for every 5 min ? . In historian it is changing because I kept sample mode as perioidic and sample rate as 300 seconds . If I want to get to update in tag browser also , what to do
Why? Where are you trying to view this?
To capture the fault tags
If you want the timestamp to update periodically on a memory tag, you'll need to write the timestamp & value (as a BasicQualifiedValue) from whatever script is writing to the memory tag. Note that this approach is an undocumented one... here is a post that might help guide you:
If it's possible, try to generate the same value using an expression tag.