Gateway time as global time in Ignition?


We hare having some trouble with our sparkline charts showing wrong data depending on which client you use.
It seems the reason is that we bound the ‘data’ property of the sparkline to ‘tag history’.
In the ‘date range’ dropdown we chose ‘realtime’.
This realtime seems to refer to the OS time (Windows time in our case). This makes clients where the OS time os wrong display ‘wrong’ data - wrong as in data related to the time on the client OS and not the actual real time.

Can anyone confirm that this is correct?

Is it possible to link all time references to the gateway time tag (Tags/System/Gateway/CurrentDateTime) so it becomes the standard time source for Ignition time functions?


I always make sure that the client time is accurate. I set my gateways as NTP servers and point the clients at them. The system used by Windows, if your using that is very poor and as standard only updates weekly.
I use this

@Chris Taylor

That makes sense. The problem we have is that we don’t know which computers are going to be clients in the future.
We are designing our system so that all you need to access Ignition is a connection to our secure network + Java for Ignition to work + a login to Ignition.

We cannot control time on the clients beforehand. That’s why I’m asking if functions like the tag historians ‘realtime’ option could be made to point at the gateway time and not the local client time.


I wouldn’t hold out much hope. Ignition is built on java and has references to java’s Date() in numerous places. Which picks up the platform time. Consider making a huge alarm banner that displays on a client if the platform time differs from the gateway time by more than a few seconds.

Esn, you can set the Clients to use Gateway time - use the “Timezone Behavior” dropdown under Project Properties / Client / General in the Designer. That will make the all the Clients running that project use Gateway’s time zone.

Anna, our project is already set to ‘Gateway Timezone’.

If you read my initial post the problem is that sparklines using the ‘realtime’ setting is reading the local client time instead of the gateway time - at least so it seems.

I tested it by setting my client windows time to future time relative to gateway time (gateway was 9:00 and client was set to 19:00).
This made all sparklines in the client dissapear as they could not find data from 19:00 in the database as this was future time relative to the gateway.

Can you confirm this?

As I noted above, Ignition uses Java’s Date() object throughout. There is NO way to correct for an incorrect client time, and probably never will be. At best, you can create a gateway tag that maintains a copy of gateway time and use that in the clients. Possibly to alarm if it differs from the client by too much. Or to feed to your charts’ time spans.
Also, java’s date object uses UTC internally, so the timezone setting can only make things worse. The “Use Gateway Timezone” only impacts formatting of dates for display, not the underlying mechanism to sample “real time”.