eFMS, eGMR

eFMS and eGMR elements are specialized elements that identify CygNet-defined FMS or FMS Legacy items to be referenced in a device template file. They are a means of mapping field device data to FMS or FMS Legacy; each FMS or FMS Legacy item depends on a data source that is specified as part of the FMS or FMS Legacy item.

This element is:

To learn about how this element relates to other elements in a CygNet device template file, see Device Template File Hierarchy.

See also EFM Data Items and EFM Data Groups.

Example

Attributes

The following table lists and describes attributes generally applicable to this element. However, not all of the attributes listed here are applicable to all EIEs. Additionally, some attributes are required for use in every device template file of a certain EIE, but others may be used on a case-by-case or device-by-device basis, depending on your specific needs. All attributes in templates are case sensitive; but the case sensitivity of attribute values is based on context.

Note: Occasionally, device template files for different EIEs use attributes of the same name that do different things. Efforts are made in this document to highlight cases where an attribute by one name does different things in different EIEs.

Note: If you include no attributes within an FMS Legacy data item, the EIE driver calculates the value for the FMS Legacy data item and sends that value to the service.

Attribute Description

bMsk

bMsk (bit mask) performs a bitwise AND operation on a referenced value when multiple bits are to be affected. bMsk cannot be used in the same element as bPos.

To make this attribute meter specific, append _ordn to the attribute. For example, bMsk_ord1.

Value:
  • Requires a positive whole number. Can be hex. If using hex, the hex number must start with 0x (i.e., 0xF, 0x0F, 0x00F, or 0x000F).
  • Must be greater than or equal to 1 (0x1 hex).
  • Must fit in a 32-bit field.
  • Default is unsigned bit shift, but may be overridden with bitShift to indicate whether to shift off the masked low bits.

See also Bit Mask Examples.

bPos

bPos (bit position) requests the binary value of the bit in the bit position specified. bPos cannot be used in the same element as bMsk.

To make this attribute meter specific, append _ordn to the attribute. For example, bPos_ord1.

Value:
  • Requires non-negative decimal or hex numbers only. If using hex, the hex number must start with 0x (i.e., 0xF, 0x0F, 0x00F, or 0x000F).
  • Must be greater than or equal to 0 (0x0 hex) and less than or equal to 31 (0x1F).
  • 0 - 7 are valid for an 8-bit field. 0 - 15 are valid for a 16-bit field. 0 - 31 are valid for a 32-bit field.
  • Always does an unsigned bit shift.

See also Bit Position Examples.

deid

deid specifies the data group element ID (DEID) of a referenced data group element from which to use a value.

eFMS and eGMR elements usually require deid. However, in special cases a register number (regNum) can be used instead of a deid value to associate a data item with a data source.

Value:
  • Any DEID of a valid source DataGroupElement element within the same data group as deid.
  • The deid value cannot be recursive; that is, it cannot reference the DataGroupElement element of which it is a part.
  • The source DataGroupElement element cannot itself be a reference DataGroupElement element.

See also ref and selection.

deidFlow

deidFlow is only applicable in FB Net EIE templates. When different overall average and flowing average values are available from a field device, use deid to identify the overall average and deidFlow to identify the flowing average.

If the field device records a non-zero flow time for a history interval, the value represented by deidFlow is recorded to the EFM data group. When the flow time is zero, the value represented by deid is recorded.

For devices that do not maintain a flowing average, specify only the deid attribute.

Value:
  • Any name of a valid source data group element within the same template as deidFlow.

mapVal

mapVal maps an enumeration table keyword to an enumeration table of the same name.

The referenced table can be scoped to a data group element, scoped to a device template file (using an enums table), or be one of several global tables. First the data group element in which the mapVal attribute is defined is searched for a table local to it. If no such table is found, a wider search occurs in which the device template file and the global tables are searched for a corresponding enumeration table of the same name.

mapVal can be used in both a basic reference method and an advanced reference method in similar ways. In a basic reference method, mapVal must be defined in-line along with a ref attribute. In an advanced reference method, if mapVal is used, it must be defined in-line along with a refOp attribute set to opMapVal.

If the mapVal attribute references an enumeration table in a device template file, a drop-down menu containing the defined enum values will display when editing the specified data group element value on the data group's View Data dialog box. The enumeration values must be unique for the values to display in a drop-down menu.

(In an eFMS or eGMR element, mapVal is used in combination with the deid attribute, which maps the eFMS or eGMR element to a value.)

Value:
  • Must match the name of the applicable enumeration table.
  • Must be unique within the applicable scope so that no name conflicts occur.

See also enums and Enumeration Mapping Examples.

regNum

regNum defines a register number when the register number does not appear in any support data group.

Value:
  • Must be a positive whole number.

See also Defining EFM Data Item Units.

scaleFactor

scaleFactor defines a constant multiplier. Multiplication is powered by some other mechanism, like the reference operation opScaleFactor or the cvtF conversion method Scale.

scaleFactor cannot be used in the same element as scaleFactorId. It also cannot be used in the same element as any two-point scaling attribute, like scaleLoRaw.

Value:
  • Must be an integer or floating-point number.

scaleOffset

scaleOffset adds an input value to a constant value. The original, non-scaled input value must be preserved in a different data group element, typically in the same data group.

scaleOffset cannot be used in the same element as scaleOffsetId. It also cannot be used in the same element as any two-point scaling attribute, like scaleLoRaw.

Value:
  • Requires a numeral (positive, negative, or float) only.

units

units defines the unit type by which a value is identified in the DDS. The unit type assigned to a value in the DDS affects how the value is treated if the value is processed as a CygNet point in the PNT. For example, a value in the DDS using units="feet" is converted to meters in the PNT if the primary unit for the corresponding point is m (meter).

If a units attribute is used in a basic reference method, it might perform a conversion on the source value. Make sure that the source value and the destination value are the same or complementary.

If a units attribute is used in an advanced reference method, it might override desired units. Use the opUnitConversion reference operator and its supporting attributes srcUnits and destUnits.

Value:
  • Any valid unit type. See PNT Engineering Units.
  • If used to convert a unit type from a source data group element to a different destination unit type, the unit types must be complementary. For example, seconds to minutes or hours.

See also Defining EFM Data Item Units.

value

value specifies a constant value. The value used must be relevant to the context in which value is used.

Value:
  • Depends on context. Often numeric, but may be string in the appropriate circumstance.

Back to top