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:

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

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.

Browse by letter:     [A]     [B]     [C]     [D]     [F]     [H]     [I]     [L]     [M]     [N]     [O]     [P]     [Q]     [R]     [S]     [T]     [U]     [W]

Attribute Description

accessPathSeparator

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:
  • if no value is specified: the default separating character "." (period) is used
  • if a user value, e.g., "_" (underscore), is specified: the user-entered separating character is used
  • if the value "None" is specified: no separating character is used

baseOrd

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:
  • Integer value only.

blockOrdLabel

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:
  • Any applicable string.

canRecv

canRecv specifies whether or not data groups can be retrieved from a field device.

Value:
  • Must be a Boolean value true or false.

canSend

canSend specifies whether or not data groups can be sent to a field device.

Value:
  • Must be a Boolean value true or false.

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:
  • String that identifies the applicable Emerson field device model.
  • The value ALL is inclusive. Other values exclude inapplicable models.
  • If cfgModel is missing for a data group, the value ALL is assumed.

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:
  • Must be a Boolean value true or false.

currentIndex

currentIndex identifies the record index in the array that has the last written record.

Value:
  • Integer value only.

currentIndex is only applicable to BSAP Array History data group type.

devDG

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:
  • Must be a Boolean value true or false.
  • If set to true, its ordinal number cannot be changed and its facility is that of its parent remote device.

dgCat

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:
  • alarmHist: Defines its respective data group as an alarm history data group. Applicable to Eagle EIE templates.
  • cfgUnitSets: Defines its respective data group as a configurable unit set data group. Such a data group dictates the units to be used by data group elements in other data groups. See also unitSetDefinitions. Applicable in Modbus EFM EIE and Modbus Realflo EIE templates.
  • command: Defines its respective data group as a command data group. Applicable only in IoT EIE, IoTSparkplug EIE and IoTCygNetLink EIE templates.
  • composite: Defines its respective data group as a "Composite Data Group".
  • dateTime: Defines its respective data group as a special date/time data group. When used, dateTime displays a data group's date and time data in a human-readable format in a specialized date/time dialog box. Applicable only in Modbus templates.
  • embeddedComposite: Defines its respective data group as one that uses a hybrid functionality that is part composite. It is currently unique to the "Dynagraph Card" data group used by many dynagraph-enabled EIEs.
  • enronEvents: Defines its respective data group as a special kind of event data group. Applicable only in Modbus templates.
  • enronHistory: Defines its respective data group as a special kind of history data group. Applicable only in Modbus templates.
  • enronEventDef: Defines its respective data group as an Enron event definition data group. Applicable in Modbus Realflo EIE templates.
  • File: Defines its respective data group as a data group that requires an input file. Applicable to DNP3 EIE templates.
  • history: Defines its respective data group as a history data group. Applicable to Micro1c EIE and ProSoft EIE templates.
  • ExStatus: Defines its respective data group that reads exception status. Applicable in Modbus EFM EIE and Modbus Realflo EIE templates.
  • internal: Defines its respective data group as an internal data group.
  • mirrorDg: Defines its respective data group as a mirrored data group. Applicable only in IoTCygNetLink EIE templates.
  • program: Defines its respective data group as a program data group. Applicable in AutoCom EIE templates.
  • register: Defines its respective data group as a register data group. Applicable only in Totalflow EIE templates.
  • report: Defines its respective data group as a report data group. Applicable in Modbus Omni EIE templates.
  • SingleParam: Defines its respective data group as a single-parameter (i.e., element) data group. Applicable in EProdRPC EIE templates.
  • singleItem: Defines its respective data group as a single-parameter (i.e., item) data group. Applicable in Eagle EIE templates
  • singleReg: Defines its respective data group as a single-element (i.e., register or coil) data group.
  • trend: Defines its respective data group as a trend data group. Applicable in AutoCom EIE and Totalflow EIE templates.

dgdateDeid

dgDateDeid identifies which column/deid will have the date in it.

Value:
  • Any applicable string, for example, DateTime.

dgDateDeid is only applicable to the BSAP EIE template.

dgProtocol

dgProtocol specifies the protocol used by a data group. This attribute and its respective value are specific to certain EIEs.

Value:
  • CygNet-defined string. Example values include History, Internal, Modbus, Native, NativeRipn, SinglePt, and SingleReg.
  • Default value is supplied in the template; do not change it.

See specific EIE documentation for more information.

dgStruct

dgStruct determines the data group type for the BSAP EIE.

Value:
  • AArray
  • Archive
  • ArrayDimensions
  • ArrayHistory
  • Audit
  • cfgBSAP
  • DAArray
  • LArray
  • List
  • Search
  • Signal
  • UisInternal
  • UserDef

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:
  • Integer value only.

dgStructNum_ord<Ord> is only applicable to the BSAP EIE template.

forceSave

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:
  • Must be a Boolean value true or false.

hasArray

hasArray specifies whether or not a data group contains a non-historical array. The attribute is used only in array data groups.

Value:
  • Must be a Boolean value true or false.
  • For the Modbus EFM EIE and the AutoCom EIE, if set to true, arrSize must be defined in the child dgElements element or child DataGroupElement element(s).

hasHistory

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:
  • Must be a Boolean value true or false.
  • For the Modbus EFM EIE and the AutoCom EIE, if set to true, arrSize must be defined in the child dgElements element or child DataGroupElement element(s).

histType

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
  • GM means gas metering.
  • GQ means gas quality.
  • GM+GQ (no spaces) means both gas metering and gas quality history are included.

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
  • Must be a Boolean value true or false.

IO service

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:
  • <None> — If selected, the IOService attribute is deleted from the DataGroup element in the template XML.
  • Tag — Read and write any data associated with the tag specified in the path. Any data that fits into the reply packet is returned, even if it does not all fit. The controller validates that the tag type matches before executing the service. If all the data does not fit into the packet, the error 0x06 is returned along with the data. When reading/writing a two or three dimensional array of data, all dimensions must be specified. When reading a BOOL tag, the values returned for 0 and 1 are 0 and 0xFF, respectively. When writing to a BOOL tag, any non-zero value is interpreted as 1.
  • TagFragmented — Read and write a tag with data that does not fit into a single packet (approximately 500 bytes). A series of requests must be issued to the controller to read/write all data using this service.

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:
  • Must be a Boolean value true or false.

leadingTime

leadingTime is used by FMS.

Value
  • Must be a Boolean value true or false.
  • Default is false, which indicates that the timestamp represents the close of the record.
  • Set to true if the timestamp from the device represents the start of the record.

See CxFmsBalanceCtrl Properties.

length

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
  • Integer value only.

maxCnt

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:
  • Integer value only.
  • Default is -1, which specifies an unlimited number of ordinals.

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 missingValueSentinel="0".

Value
  • Must be a non-negative whole number.

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

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:
  • Any applicable string, up to 32 characters.

omitUnmappedAlarms

By default, registers that are not mapped to FMS items are recorded as device-specific alarms.

Value
  • Must be a Boolean value true or false.
  • Default is false.
  • Set to true to omit unmapped alarms from the "FMS Alarms" (FmsAlarm) data group.

omitUnmappedEvents

By default, registers that are not mapped to FMS items are recorded as device-specific events.

Value
  • Must be a Boolean value true or false.
  • Default is false.
  • Set to true to omit unmapped events from the "FMS Events" (FmsEvent) data group.

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:
  • Any applicable string, up to 15 characters.

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:
  • EXP: Specifies that expansion-card data group ordinals are limited by a retrieved total.
  • FC: Specifies that flow-computer data group ordinals are limited by a retrieved total.
  • INITFC: Specifies that initialized-flow-computer data group ordinals are limited by a retrieved total.
  • SWACC: Specifies that software-accumulator data group ordinals are limited by a retrieved total.
  • SWAI: Specifies that analog-input data group ordinals are limited by a retrieved total.
  • SWDI: Specifies that digital-input data group ordinals are limited by a retrieved total.
  • TANK: Specifies that tank data group ordinals are limited by a retrieved total.

purgeData

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 purgeData="true" purges log records, making them inaccessible to any client attempting to read the data log of the affected field device.

Setting purgeData="false" does not purge log records from the data log of the affected field device. Instead, information about the latest record read is cached in CygNet and used to formulate the next request. This prevents data from being retrieved more than once by CygNet, but it allows other clients to retrieve the same data.

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:
  • start: The start time of a time range (for example, 10:00:00).
  • endExclusive: The exclusive end time of a time range (for example, 10:59:59).
  • endInclusive: The inclusive end time of a time range (for example, 11:00:00).
  • Default is start.

queueSize

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
  • Integer value only.

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
  • Integer value only.
  • Default is 1.

readOpCode

readOpCode is only applicable in Emerson ROC EIE and Emerson ROCPlus EIE templates. It defines what Opcode is used to read individual TLPs.

recordMinutes

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
  • Integer value.
  • If you want to indicate that history record periodization is irregular (that is, each period may vary in length from the last), enter the value N/A instead of an integer.

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

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:
  • Must be a Boolean value true or false.

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 showBlockOrd="false" attribute to hide the Modbus Register Ord field:

  • ModbusRealflo_6.9.2.dtf
  • ModbusRealflo_Pre_6.9.2.dtf
  • ModbusRealfloX.dtf
  • ModbusOmni_202475.dtf
  • ModbusEfm_WellPilot_F22.dtf
  • ProSoft_MVI46.dtf
  • ProSoft_MVI56.dtf
  • Micro1c.dtf

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:
  • String value identifying a support data group's name.

tmFormat

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:
  • Device: Indicates that the history record uses device time. Its enumeration is 1.
  • Contract: Indicates that the history record uses contract time. Its enumeration is 2.
  • If tmFormat is not specified, the default time format is device time.

uccRecv

uccRecv specifies whether or not data groups can be retrieved from a field device by means of a UIS command.

Value:
  • Must be a Boolean value true or false.

uccSend

uccSend specifies whether or not data groups can be sent to a field device by means of a UIS command.

Value:
  • Must be a Boolean value true or false.

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:
  • Any valid UDC category string, up to 10 characters.
  • Default value is ~UDCALL.

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:
  • Must be a Boolean value true or false.

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.

useAltAddr

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
  • Must be a Boolean value true or false.

writeOpCode

writeOpCode is only applicable in Emerson ROC EIE and Emerson ROCPlus EIE templates. It defines what Opcode is used to send individual TLPs.

Back to top