Save the data timestamp as historical data
- Last UpdatedJul 01, 2024
- 2 minute read
Application Server includes a timestamp in the VTQ packet sent to the historian for each attribute value/quality update that is saved as a historical record. Application Server propagates the timestamp associated with an attribute value. The timestamp is propagated throughout all Application Server components as UTC in FILETIME format.
If an object attribute has a Value DeadBand specified, a quality change or value change from previous scan cycle greater than Value DeadBand causes the attribute's Value, Time and Quality (VTQ) to be saved as historical data in the Historian. When a Value DeadBand is not specified, any change to the attribute’s value, timestamp, or quality cause the attribute to be saved as historical data.
When an attribute is configured to periodically save a historical record, the attribute’s current time is used as the timestamp. If the attribute does not support a timestamp, the hosting AppEngine's current scan time is used as timestamp included in the packet.
If slow updates for real-time data values are received from an I/O source and an intermittent network disconnect occurs, the timestamp of the first data value of a historized attribute uses the AppEngine’s timestamp instead of the source’s timestamp. In the following example, in row number 4, the value "30" is sent again to the historian, but the timestamp is the AppEngine timestamp and not the actual timestamp of "2008-11-24 18:50:41.061" when the value of 30 was generated from the I/O source.
|
DateTime |
TagName |
Value |
Quality |
QualityDetail |
OPCQuality |
|---|---|---|---|---|---|
|
2008-11-24 18:48:30.081 |
Realtime_ Client.ival |
20 |
133 |
44 |
192 |
|
2008-11-24 18:50:41.061 |
Realtime_ Client.ival |
30 |
0 |
192 |
192 |
|
2008-11-24 18:51:38.666 |
Realtime_ Client.ival |
NULL |
1 |
24 |
0 |
|
2008-11-24 18:52:06.670 |
Realtime_ Client.ival |
30 |
0 |
192 |
192 –> Row number 4 |
|
2008-11-24 18:53:22.988 |
Realtime_ Client.ival |
40 |
0 |
192 |
192 |
If slow updates for late data values are received from an I/O source and an intermittent network disconnect occurs, the timestamp of the first data value of a historized attribute is modified to maintain the time sequence. In the following example, in row number 4, the value "30" is sent again to the historian, but the timestamp is modified by adding 5 milliseconds to the previous timestamp of the NULL data value. Note that a QualityDetail of 704 is stored for the data value in row number 4.
|
DateTime |
TagName |
Value |
Quality |
QualityDetail |
OPCQuality |
|---|---|---|---|---|---|
|
2008-11-24 18:48:30.081 |
Latedata_ Client.ival |
20 |
133 |
44 |
192 |
|
2008-11-24 18:50:53.624 |
Latedata_ Client.ival |
30 |
0 |
192 |
192 |
|
2008-11-24 18:50:53.625 |
Latedata_ Client.ival |
NULL |
1 |
24 |
0 |
|
2008-11-24 18:50:563.630 |
Latedata_ Client.ival |
30 |
0 |
704 |
192 –> Row number 4 |
|
2008-11-24 18:53:26.863 |
Latedata_ Client.ival |
40 |
0 |
192 |
192 |