UniInt 2.x compatibility mode means that the extended PI API features of UniInt are not enabled. In this mode, UniInt-based interfaces typically timestamp data using one of the following:
The system time on the PI Server node.
A timestamp provided by the DCS.
However, the interface-specific documentation must be consulted to determine the exact manner in which time is handled.
When the system time on the server node is used to timestamp the data, UniInt keeps track of a time offset between the server node and the interface node and updates this offset every 30 minutes. The local system time plus the offset is equal to the PI Server time. If communication to the home node is lost, UniInt will apply the last offset that it calculated until the offset can be verified when communication to the server is restored. If the time offset between the server node and the interface node changes by more than 30 minutes, UniInt will not adjust the time offset because UniInt assumes that a mistake was made in adjusting the time either on the server or the interface node. An appropriate error message will be written to the pipc.logfile.
Many interfaces that support the use of a DCS timestamp provide two methods for time stamping the data. One option is for the interface to use the DCS time directly. In this case, it is up to the user to make sure that the DCS system time is synchronized with the system time on the PI Server node. At the very least, the DCS system time cannot be more than 10 minutes ahead of the system time on the PI Server node because PI cannot archive values that are more than 10 minutes in the future. A second option for the interface is to apply an offset to the DCS timestamp, where the offset is equal to the server time minus the DCS time. The offset is typically recalculated on a periodic basis.
Extended PI API Mode
In extended PI API Mode, UniInt interfaces typically use one of the following to timestamp data:
Coordinated Universal Time (UTC).
A timestamp provided by the DCS.
However, the interface specific documentation must be consulted to determine the exact manner in which time is handled.
UTC time is defined here as the number of seconds since January 1, 1970 00:00:00 in Greenwich, England. As of version 3.1.3, UniInt uses the UTC time of the PI Server node instead of the UTC time of the local interface node. Ideally, the UTC times of the server and interface nodes are the same because UTC time is the same in every time zone. However, there is normally some drift between clock times.
If an interface supports DCS timestamps, the DCS timestamp must not be more than 10 minutes ahead of the PI Server time because PI cannot archive events that occur more than 10 minutes in the future.