EUConversion Struct Reference
[RTDB Access API]
#include <simrtdb.h>
Detailed Description
Engineering conversion record held in shared memory. This is indexed via a separate hash table pointed to in the EUFactors meta data. This defines a conversion from physical (Engineering units) to raw via either a rational polynomial function as raw = (a*X^2 + b*X + c)/(d*X^2 + e*X + F) or
an interpolation table defined in rangesX and rangesY.
When the polynomial is different from strictly linear , i.e. A*X + B, this function cannot be inverted and therefore cannot be used to convert from physical to raw units.
Member Function Documentation
double numerators [EU_MAXPOLYNOMIAL] EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
double denominators [EU_MAXPOLYNOMIAL] EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
double rangesX [EU_MAXTABLEENTRIES] EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
double rangesY [EU_MAXTABLEENTRIES] EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
double rangesInvertedX [EU_MAXTABLEENTRIES] EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
double rangesInvertedY [EU_MAXTABLEENTRIES] EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
double directA EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
For linear conversion only. Those are calculated a load time. Raw = directA * Physical_value + directB .
double directB EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
double inverseA EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
For linear conversion only. Pysical_value = inverseA * Raw + inverseB .
double inverseB EUConversion::__attribute__ |
( |
(aligned(8)) |
|
) |
|
Field Documentation
Index # in hash table for this item
Whether the polynomial is linear and can be inverted.
Number of entries in interpolation table.
Engineering unit descriptor for physical units.
The documentation for this struct was generated from the following file: