Register Data Group
Register-based data groups consist of data group elements obtained from registers. The ABB API identifies registers by Application Slot, Array, and Offset in the format ApplicationSlot.Array.Register.
An Application is made up of one or more Arrays of data. An Array represents a group of items that are all the same data type. CygNet will validate the device template file to ensure that all DGE references to a single Array within an Application have the same type. For example, if a DGE has regNum="2.3", the Array is 2. If this DGE has type="ui4", all other DGE’s with the same appId and Array must have type="ui4".
Different versions of firmware might support different applications. Additionally, the registers available within an application might differ between versions. Refer to Totalflow documentation or contact a Totalflow representative for application information, register IDs, and data types. Be aware that vendor-specific data types such as STRUCTs are not supported in CygNet.
Register-based data groups are identified in template files by the keyword dgCat="register". They can be edited to supply additional information or to accommodate differences in application versions. Before editing a device template file, you must know the identifier of the register you are interested in and its data type. If all of your field devices are not the same firmware version, you might experience problems when applying one device template file to all devices.
G1 and G2 Devices
For G1 and G2 devices, registers must be fully specified in the format application.array.register. These devices can be represented by the following templates:
- Totalflow_6400.dtf
- Totalflow_6700.dtf
- Totalflow_Api.dtf.
Note: The dgCat attribute must be set to "register".
Example
|
<AnlgDig niceName="Analogs and Digitals - Register" dgCat="register"> <dgElements secLev="4"> <AI01 desc="Analog Input 1" regNum="2.7.0" type="r4"/> <AI02 desc="Analog Input 2" regNum="2.7.1" type="r4"/> <DI01 desc="Digital Input 1" regNum="2.0.3" type="boolean"/> <DI02 desc="Digitial Input 2" regNum="2.0.4" type="boolean"/> </dgElements> </AnlgDig> |
G3 and Later Devices
For G3 and later devices, application slot numbers are obtained from the device using the "Application Config" data group. This information can be used to supply the application part of a register. For a multi-meter device, a single application may reside in several different slots, one for each meter. In a device template file, the appId attribute identifies the application by type instead of by slot number, so registers need only be identified by array.register. You must poll the "Application Config" data group before polling any other register-based data group. For a list of application IDs, see Application ID.
You can specify an ordinal increment for a register-based data group using the regNum + ordIncrement attributes to establish a starting Application Slot and then to define the increments of groups of registers that correspond to data group ordinals. ordIncrement must be a static number.
Note: The appid attribute and the ordIncrement attribute cannot be used in the same data group in a device template file.
These devices can be represented by the following templates:
- Totalflow_G3.dtf
- Totalflow_G4.dtf
- Totalflow_Api.dtf.
Note: The dgCat attribute must be set to "register".
Example
Here the appId is IOS. The "Application Configuration" data group as viewed from a device editor shows that the IOS is in application slot 7. Having the EIE resolve the slot number allows the flexibility required for a multi-meter configuration.
|
<IO niceName="I/O Subsystem" dgCat="register" appId="IOS" baseOrd="0" maxCnt="1"> <dgElements type="r4"> <Dp desc="DP" regNum="3.0"/> <Sp desc="SP" regNum="3.1"/> <RTD desc="RTD" regNum="3.2"/> <AI01 desc="Tubing Press" regNum="3.3"/> <AI02 desc="Casing Press" regNum="3.4"/> <BatVolt desc="Battery Voltage" regNum="3.5"/> <ChgVolt desc="Charger Voltage" regNum="3.6"/> </dgElements> </IO> |


