Tag Groups

Tag groups are collections of tag types that share some logical relationship. A good example of a tag group is the Drivers group that lists all of the I/O drivers in the system. A tag may be a member of multiple tag groups. For example, the analog input tag type belongs both to the Analogs group (as it has an analog value), as well as to the Numeric group (as it has a numeric value). The main purpose of tag groups is to allow the PSelectObject module to display a drop-down list of all the tags that belong to a group, rather than all of the tags of a particular tag type. Again, drivers are an excellent example; the "ConfigFolder" module requires a list of all driver tags configured for the application so that it can display them in the I/O device drop-down list on the I/O tab for the end user to choose from, rather than simply displaying a list of all Allen-Bradley drivers configured.

Duplicate Tag Groups

If you create a tag group module within an OEM layer, or within an application directory, which is named the same as an existing group module, the tags belonging to the existing group are merged with the tags belonging to the new group, to create a combined list, rather than overwriting either list.

AppMod.src GROUPS Section

To create a tag group, you must use the (GROUPS) section within the application's AppMod.src file (see AppMod.src Root File for a Standard Application). Any identified modules within this section will be searched for any variables that are of class POINTS. These variable names are used as the names of the tag modules to include in the group.

Additionally, the tag module itself can define a GROUPS class variable that should be the name of the group in which this tag should be included. If the group doesn't already exist, the VTS code creates it at load time. These variables should be declared as Shared to conserve RAM (see Shared Variables).

DrawLabel Variable

There should be a class 0 variable called "DrawLabel" in the tag group module. The default value of this variable is used as the name of the variable in the application's Config.ini file that contains the text descriptor for the group. This description is placed in the Config.ini file so it can easily be translated into different languages, or otherwise modified without requiring you to directly modify the application's code. If the "DrawLabel" variable is not present, the tag group module's name is used as its description. This description appears in the Tag Browser.