Relative References

Relative references contain the relative name of the item. The relative name starts from the item that contains the expression.

The tag for the relative reference begins with one or more dots—one dot for each level up in the hierarchy of the groups in the tree-structure. If both the item that contains the expression and the item that is being referenced are in the same group, the tag begins with a single dot.

In certain situations, you may need to define a method using an expression that references the item on which the expression is being configured. A common example of this is on point user methods where a point’s Method may use an expression that references the point. If the point is specifically named in the expression, the expression will only work as desired if the point’s name remains the same. This means that if the point is renamed or is copied and the copy used in another location, the expression will be invalid as the location in the reference will be incorrect. However, you can work around this situation by using the .$ notation. This allows you to use a dollar $ to represent the item being referenced. As the dollar does not define a specific item, it can be used with items that are to be renamed or copied without breaking the expression (as ClearSCADA will substitute the item’s name for the $).

For an example of how the .$ notation can be used, see A Custom Action used to Increment the Value of a Point in the ClearSCADA Guide to Core Configuration.

Example - Relative Reference:

A Mimic named 'Values' is stored in a group named 'SCADAPack Modbus'. The 'SCADAPack Modbus' group is contained within a group named 'Main'. The 'SCADAPack Modbus' group also contains a point named 'AIP3'.

A text box on the Mimic is configured to show the current value of the 'AIP3' point. The following expression is used:

".AIP3.CurrentState"

As both the Mimic and the point are in the same group, a single leading dot is used. If the 'AIP3' point was in a group named 'Modbus' in the 'Main' group, the relative reference would be:

"..Modbus.AIP3.CurrentState"

Two leading dots are required as ClearSCADA has to go up one level (to the 'Main' group) before going back down a level (to the 'Modbus' group).


Disclaimer

ClearSCADA 2017 R3