Cicode Programming Reference > Cicode Function Categories > Super Genie Functions Introduction > AssInfo


Gets association information about the current Super Genie (that is information about a variable tag that has been substituted into the Super Genie). You can only call this function on a Super Genie after the associations are completed.

Use this function to display association information as part of the Super Genie. For example, if you have a Super Genie that is a loop controller, you could display the name of the loop at the top of the loop controller box. Each time the Super Genie is used with different associations (specifically a different tag name association) the correct loop name will be displayed.

Note: This function is being deprecated and is replaced by the AssGetProperty function. If the Tag properties are updated, AssInfo does not get the updated values whereas AssGetProperty does. In addition, the function AssInfoEx has been introduced to make it easier to make legacy Cicode compatible with online changes. In a large number of cases AssInfo can be replaced with AssInfoEx using Find and Replace (see Using Find and Replace in a project). Please be aware that if you are replacing an instance of AssInfo with AssInfoEx in a loop, you may want to make AssInfoEx blocking using the iCached argument to verify you are using the correct value for the Tag in your logic.


AssInfo(nArg, nType)


When you associate variable tags with super Genies, the Super Genie substitution strings are replaced by variable tags. The nArg argument allows you to get information about one of those variable tags. What you need to know is which substitution string it replaced when the association was performed.

Enter the argument number or name (substitution string number or name) of the relevant substitution string. For example, if you want information about the variable that replaced substitution string

?INT 3?

set nArg to 3.



set nArg to Level


The type of information to get:

0 - The Tag name of the association. If the association tag is not resolved, returns an empty string.

1 - Engineering units

2 - Raw zero scale

3 - Raw full scale

4 - Engineering zero scale

5 - Engineering full scale

6 - Width of the format

7 - Number of decimal places of format

8 - The Tag format as a long integer. The format information is stored in the integer as follows:

9 - Logical Unit Number - I/O device number (for internal use)

10 - Raw Type - Protocol's raw data type number for this tag. Type numbers are:

11 - Bit Width - Tag's size in bits. For example, an INT is 16 bits

12 - Unit Type - Protocol's unit type number for this tag

13 - Unit Address - Tag's address after the protocol DBF's template is applied.

14 - Unit Count - Array size. For example, if the tag's address is I1[50], the unit count is 50.

15 - Record Number - Tag's record number in variable.DBF - 1. That is, the first tag has a record number of 0.

16 - Comment - As defined in the variable tags list.

17 - ClusterName of the tag. If the association tag is not resolved, returns an empty string.

18 - Full name (cluster.tagname) of the associated tag. If the association tag is not resolved, returns an empty string.

19 - Full name (cluster.tagname) of the associated tag even if the association tag is not resolved.

Return Value

The value of the information as a string.

Related Functions

Ass, AssChain, AssMetadata, AssMetadataPage, AssMetadataPopup, AssMetadataWin, AssChainPage, AssChainPopUp, AssChainWin, AssChainWinFree, AssGetProperty, AssGetScale, AssInfoEx, AssPage, AssPopUp, AssScaleStr, AssTag, AssTitle, AssVarTags, AssWin, TagGetProperty, TagGetScale, TagScaleStr, TagInfo, TagInfoEx


//Using a string identifier for the substitution parameter

AssInfo("MILK_LEVEL", 1); (to get Engineering Units of the association )


sTag = AssInfo(1, 0); // Get the name of association 1
sEngLow = AssInfo(1, 4); // get the low engineering scale of association 1

See Also

Super Genie Functions