DataGroup
The DataGroup element defines a single data group. The unique identifier of a DataGroup element is called the data group type. The data group type is defined by protocol or user. The data group type can be a maximum of 10 characters. Valid characters are A-Z, 0-9, dash (-), and underscore (_). A data group type cannot contain spaces and must start with an alphabetical character or an underscore (_). Most data groups are defined by specific protocols. However, some templates (for example, Modbus) allow the addition of user-defined data groups.
This element is:
- Not case sensitive
- Required in every CygNet device template file
- Used 1 or more times per CygNet device template file
To learn about how this element relates to other elements in a CygNet device template file, see Device Template File Hierarchy.
Example
|
<deviceDefinition desc="Emerson ROC800L" mfg="Emerson" ...> <dataGroups udcCat="~UDCALL" canSend="true" canRecv="true" uccSend="true" ...> <AI800 niceName="Analog Input" devDG="false" ...> <dgElements secLev="4" tlpType="103" fldAccess="RW"> <Tag desc="Point Tag ID" type="string" len="10" tlpParm="0"/> <Units desc="Units Tag" type="string" len="10" tlpParm="1"/> <Scanning desc="Scanning" type="ui1" tlpParm="2"/> </dgElements> </AI800> </dataGroups> </deviceDefinition> |
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.
Browse by letter: [A] [B] [C] [D] [F] [H] [I] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [W]
| Attribute | Description |
|---|---|
|
accessPathSeparator defines the separator character to use between the "Access path" (set on the remote device editor for the OPC EIE, OPC Lufkin EIE, or OPC Weatherford EIE) and "itemId" (set on DEIDs in the DTF). If used, it must be defined in the DataGroup element. Value:
|
|
|
baseOrd defines the starting point from which to begin numbering data group ordinals. (Each ordinal is a different instance of a data group.) It may be used in conjunction with maxCnt. baseOrd is required for every data group; it must be defined in either the dataGroups or DataGroup element. Value:
|
|
|
blockOrdLabel defines the Modbus register ordinal label text that appears in various places in ordinalized data group device editors (for example, Data Group Properties and the ordinal selector in data group data dialog boxes). For example, Modbus Register Ord. Used in conjunction with showBlockOrd. Value:
|
|
|
canRecv specifies whether or not data groups can be retrieved from a field device. Value:
|
|
|
canSend specifies whether or not data groups can be sent to a field device. Value:
|
|
|
cfgModel |
cfgModel is only applicable in Emerson ROC EIE and Emerson ROCPlus EIE templates. It identifies data groups that are only applicable to the specified model. Value:
|
|
cfgTLP |
cfgTLP is only applicable in Emerson ROC EIE and Emerson ROCPlus EIE templates. It specifies whether or not a data group is a configurable TLP data group. A configurable TLP data group uses a more flexible message type (Opcodes 166/167 and Opcodes 180/181) than many other Emerson messages. Value:
|
|
currentIndex |
currentIndex identifies the record index in the array that has the last written record. Value:
currentIndex is only applicable to BSAP Array History data group type. |
|
devDG specifies whether or not a data group applies to a parent field device or to one of the field device's child devices, like a meter. For example, date and time are typically device data group items whereas differential pressure is not. Value:
|
|
|
dgCat identifies its respective data group as a special kind of data group. Each value is only applicable in certain data groups and in certain EIEs. Follow the links in the Value section below for more information. Value:
|
|
|
dgdateDeid |
dgDateDeid identifies which column/deid will have the date in it. Value:
dgDateDeid is only applicable to the BSAP EIE template. |
|
dgProtocol specifies the protocol used by a data group. This attribute and its respective value are specific to certain EIEs. Value:
See specific EIE documentation for more information. |
|
|
dgStruct |
dgStruct determines the data group type for the BSAP EIE. Value:
dgStruct is only applicable to the BSAP EIE template. |
|
dgStructNum_ord<Ord> |
dgStructNum_ord<Ord> identifies the array number as it corresponds to the ordinal of the data group, where 1 could be any number, i.e., dgStructNum_ord (2,3,4). Value:
dgStructNum_ord<Ord> is only applicable to the BSAP EIE template. |
|
forceSave specifies whether or not to save a data group’s transactions to the DDS whenever a data group request is issued by a UIS command. (Data group transactions are created for all requests issued directly from device editors in CygNet Explorer.) There are cases where the device driver forces every transaction of a particular data group to be saved to the DDS, regardless of the use of forceSave. For example, some device restrictions allow data to be retrieved only once, and FMS data groups always save transactions. If this attribute is not defined in a given data group, that data group uses its default save behavior, which varies by data group. Value:
|
|
|
hasArray specifies whether or not a data group contains a non-historical array. The attribute is used only in array data groups. Value:
|
|
|
hasHistory specifies whether or not a data group contains a historical (i.e., timestamped) array. The attribute is used only in array data groups. Value:
|
|
|
histType is used to identify and group the type of historical data requested from FMS. To get FMS history, you must include both the histType and recordMinutes attributes along with their respective values. Value
|
|
|
includeDayOfWeek |
includeDayOfWeek optionally specifies whether to include or exclude register 41431 when getting or sending the DateTime data group to a Lufkin SAM device. An earlier Lufkin firmware used register 41431 for the day of the week value, although that register was later changed to be "reserved". When the Lufkin Well Manager 2.0 devices were released, register 41431 was changed to indicate the time zone value. To keep legacy behavior in place, the Lufkin Sam EIE uses register 41431 for the day of the week value, unless includeDayOfWeek is set to "false". Any Lufkin Well Manager 2.0 devices should use a DTF with includeDayOfWeek="false" on the DateTime data group. This attribute is only used by the Lufkin Sam EIE devices. Value
|
|
IOService defines how the data group will read and write tags from the device. This attribute is only used by the Allen Bradley CIP EIE devices. See the Rockwell Automation documents for more information about read and write Tag and Tag Fragmented Services. Value:
See len for more information. |
|
|
isOldToNew |
isOldToNew specifies the order (oldest to newest or newest to oldest) by which historical array values are retrieved. For example, when isOldToNew is false, the data is in descending order, and the newest record is at the top of the array. The order affects PNT point processing. isOldToNew must be used in conjunction with an array that is defined by using the hasHistory attribute set to true. Value:
|
|
leadingTime is used by FMS. Value
|
|
|
length is used to represent the number of bytes expected for a data group request. This attribute is optional. For Amocams 700 EIE: The length attribute offers a way to override the response length for data groups that include item offsets. Without the length attribute, the expected length is hard-coded based on empirical evidence and device model. For Modbus: The optional length attribute represents the exact number of bytes in an Enron history data group. Without the length attribute, the expected length is calculated based on item offsets and lengths from the device template file. If length is specified, a message will fail if that exact number of bytes is not received. Without the length attribute, the message will fail if too few bytes are received, and will succeed if too many bytes are received. For instance, if 52 bytes are expected, but 48 are received, the message fails. If 52 bytes are expected, but 56 are received, the message succeeds, but only the first 52 bytes are processed. Value
|
|
|
maxCnt defines the maximum number of instances (i.e., ordinals) of a data group allowed. Best practice recommends that you always define the maxCnt attribute. When used, it is used in conjunction with baseOrd. Data group instances start at the baseOrd value and increment upwards until they reach the limit set by maxCnt. If you do not use maxCnt, an unlimited number of ordinals is implied. Value:
|
|
|
missingValueSentinel |
missingValueSentinel enables you to specify an unconsidered value (that is, "missing") for the data group in which the attribute is defined. For example, you might need to define an fmsAlarm data group that passes an alarm to CygNet Measurement, but does not consider the value associated with the alarm. Usually such a value is used as a comparison value to compare the value in alarm state with a previous value. But not all field devices offer this functionality. Realflo, for example, returns a zero (0), which has no connection to the actual current value in alarm. In such a case, you'd define Value
|
|
msgType |
msgType is used to designate a special kind of data group. The values vary by EIE and pertain only to a subset of data groups in each. See Amocams 700, Eagle, FB EFM3000, FB Net, and Weatherford WellPilot DLQ/K-Series for specific information on each device. |
|
niceName is the human-readable name of a data group. It appears (among other places) in the Data Group Type and Data Group Description fields of the Data Group page in a DDS remote device editor. It is required for every data group. Value:
|
|
|
By default, registers that are not mapped to FMS items are recorded as device-specific alarms. Value
|
|
|
By default, registers that are not mapped to FMS items are recorded as device-specific events. Value
|
|
|
ordLabel |
ordLabel defines the ordinal label text that appears in various places in ordinalized data group device editors (for example, Data Group Properties and the ordinal selector in data group data dialog boxes). For example, Run #. Value:
|
|
ordValid |
ordValid provides a check to ensure that a data group cannot have more ordinals than available from a field device. This attribute is only used by the Weatherford WellPilot DLQ/K-Series EIE and supported devices. Each ordValid value specifies a particular type of data; that value is mapped to a field-device location that contains the maximum number of ordinals possible for that type of data. Ordinal totals are retrieved from the field device using the "RTU Configuration" (RtuConfig) data group. After the poll, CygNet is able to properly reflect the number of ordinals available for a data group that uses ordValid. ordValid is defined for every data group known to have the capability to provide a total number of ordinals. Value:
|
|
purgeData is used to specify whether or not to purge log entries from an associated field device after they have been read. purgeData is only applicable to the Modbus Realflo EIE. Setting Setting For more information about this attribute, see the DataLog entry in the Modbus Realflo EIE – Data Groups topic. |
|
|
ptTime |
ptTime is only applicable in Modbus-based FMS Legacy history data groups. It specifies which timestamp to associate with a historical value used in point processing. The FMS Legacy history data group has two timestamps: start time and end time. The time range represents the time span from which an average value is calculated. Value:
|
|
queueSize is the number of records in a queue. If this attribute is not supplied, the device must be able to supply the value by using the deidSize attribute of the appropriate support data group. Value
|
|
|
queueStart |
queueStart is the first index in the queue and identifies the point in the array where valid data begins. This is useful if there are blank records at the beginning of the array. Value
|
|
readOpCode is only applicable in Emerson ROC EIE and Emerson ROCPlus EIE templates. It defines what Opcode is used to read individual TLPs. |
|
|
recordMinutes identifies the number of minutes represented in a history record. To get FMS history, you must include both the histType and recordMinutes attributes along with their respective values. Value
|
|
|
regNum |
Typically this attribute does not apply to this element; however, it has a special implementation in the Totalflow EIE. For information about the Totalflow EIE use of this attribute, see Totalflow EIE – Register Data Group. |
|
showBlockOrd indicates whether or not to show the Modbus Register Ord field in the Data Group properties dialog box. If not included in the file, the attribute defaults to "true" to show the field. Used in conjunction with blockOrdLabel. Value:
Note: For several Modbus devices, the registers for meter-based data are organized strictly by meter number. Therefore when the ordinal number in CygNet represents a meter number, it will always be the same as the block ordinal. Because the values are always the same, the following template files include the
Contrast that with Thermo devices, where registers are organized first by meter type, then instance (for example, the first orifice meter or the first turbine meter). In this case, while the ordinal number in CygNet represents a meter number, the block ordinal reflects the instance within a meter type (for example, meter 1 may be the first orifice meter, while meter 2 may be the first turbine meter). See the Ordinalized Data Group topic for the following EIEs for more information: Modbus EFM, Modbus Omni, Modbus Realflo, Prosoft. |
|
|
supportDg |
supportDg specifies a single support data group inline in the DataGroup element. It is not supported in all EIEs. It is not the same thing as a supportDg element, although its functionality is similar. Value:
|
|
tmFormat is used in an "FMS History" data group to indicate that timestamps are returned from a field device in device time or contract time; the attribute does not reformat the timestamp. This attribute is optional. Value:
|
|
|
uccRecv specifies whether or not data groups can be retrieved from a field device by means of a UIS command. Value:
|
|
|
uccSend specifies whether or not data groups can be sent to a field device by means of a UIS command. Value:
|
|
|
udcCat |
udcCat defines the UDC category used when mapping UDCs to data group elements in a data group. It affects the UDC category field of the Choose UDC for element dialog box in the DDS editor. It helps in filtering possible UDC categories for a given data group. Value:
See Uniform Data Codes. |
|
udcDefFac |
udcDefFac enables a warning message to appear if you change a data group's facility and that data group has one or more UDC mappings. The warning prompts you to change existing mappings to the new facility. UDC mapping is associated with the facility assigned to a data group, so changing a data group's facility disassociates existing UDC mappings from the data group. Value:
See Mapping UDCs. |
|
undefSentinelDesc |
undefSentinelDesc specifies the specific sentinel description that will display when an 'Undefined' sentinel value is detected. Applicable only in the TotalFlow G4 template to signal to the Totalflow EIE how to handle 'Undefined' alarm configuration parameters for enhanced-mode meters. |
|
undefSentinelVal |
undefSentinelVal specifies a sentinel value that will be used to display a specific sentinel description (undefSentinelDesc) when an enhanced-mode meter receives an "Undefined" alarm configuration parameter. Applicable only in the TotalFlow G4 template to signal to the Totalflow EIE how to handle 'Undefined' alarm configuration parameters for enhanced-mode meters. |
|
Enables you to use a Realflo MB address setting as the address by which to access native registers for a data group. To add correctly defined legacy data groups, define the data groups so that they are mapped to the desired Realflo (that is, not Enron) register(s). Then ensure that the data groups include a useAltAddr attribute set to true at the top level of the data group XML element. The useAltAddr attribute ensures that the Realflo MB address value is the address used by that data group to get to the desired register(s). Without the useAltAddr attribute, a data group "assumes" its defined registers are Enron, not Realflo. Examples of the proper use of this attribute are in the ModbusRealFloX.dtf we advise you to acquire. Value
|
|
|
writeOpCode is only applicable in Emerson ROC EIE and Emerson ROCPlus EIE templates. It defines what Opcode is used to send individual TLPs. |


