Data Types
Historian uses the following data types.
Data Type | Size | Description | Valid Values |
---|---|---|---|
Single Float | 4 bytes | Stores decimal values up to 6 places. | 1.175494351e-38F to 3.402823466e+38F |
Double Float | 8 bytes | Stores decimal values up to 15 places. | 2.2250738585072014e-308 to 1.7976931348623158e+308 |
Single Integer | 2 bytes | Stores whole numbers. | -32767 to +32767 |
Double Integer | 4 bytes | Stores whole numbers. | - 2147483648 to +2147483648 |
Quad Integer | 8 bytes | Stores whole numbers. | -9,223,372,036,854,775,808 (negative 9 quintillion) to +9,223,372,036,854,775,807 (positive 9 quintillion) |
Unsigned Single Integer | 2 bytes | Stores whole numbers. | 0 to 65535 |
Unsigned Double Integer | 4 bytes | Stores whole numbers. | 0 to 4,294,967, 295 (4.2 billion) |
Unsigned Quad Integer | 8 bytes | Stores whole numbers. | 0 to 18,446,744,073,709,551,615 (19 quintillion) |
Byte | 1 byte | Stores integer values. | -128 to +127 |
Boolean | 1 byte | Stores boolean values. | 0=FALSE and 1=TRUE (any value other than zero is treated as one) |
Fixed String | Configured by user | Stores string data of a fixed size. | 0 and 255 bytes |
Variable String | No fixed size | Stores string values of undetermined size. This data type is useful if you cannot rely on a constant string length from your data source. | |
Binary Object | No fixed size | Stores binary data. This is useful for capturing data that can not be classified by any other data type. | |
Scaled | 2 bytes | Stores a 4 byte float as a 2 byte integer. The scaled data type saves disk space but sacrifices data precision as a result. |
Note: Tags associated with Quad Integer, Unsigned Double Integer,
or Unsigned Quad Integer data types may suffer a loss of precision value due to a
Visual Basic limitation.
Note: The Calculation collector supports only calculations
performed using the current value calculation. It does not support other
calculations due to a Visual Basic script limitation.
Scaled Data Types
Historian uses the high and low EGU values to store and retrieve archived values for
the scaled data type. This allows you to store 4 byte floats as 2 byte integers in
the archive. Though this saves disk space, it sacrifices data precision. The smaller
the span is between the high and low EGU limits, the more precise the retrieved
value will be. When calculating the value of a scaled data type, you can use this
formula:
ArchivedValue = (((RealWorldValue - EngUnits->Low) /
(EngUnits->High - EngUnits->Low) * (float) HR_SCALED_MAX_VALUE) + .5);
For
example: A value of 12.345 was stored in a scaled tag whose high EGU was 200 and low
EGU was 0. When later retrieved from the Historian archive, a value of 12.34473 will
be returned. Important: Values that are outside of the EGU range of
a scaled data type tag are stored as bad, scaledoutofrange in Historian. Changing
either the High or Low EGU tags does not affect existing data, but only affects the
new data with new timestamps. You cannot correct values for scaled data types that
were inserted while EGUs were incorrect. If necessary, contact technical support for
additional information.
Quad Integer Data Types: The high and low EGU limits for Quad Integer, Unsigned Single Integer, Unsigned Double Integer, Unsigned Quad Integer are between 2.2250738585072014e-308 to 1.7976931348623158e+308.