Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Locate where objects are referenced.

Reference  Solution  DevOpsTrack ChangesRecent | Version Control | Cross-Reference | Unused | Use Count

Overview


Cross-Reference (Reference) provides a table to view

and interact with the cross-referencing of all objects

all object references within the solution.

The contents of this table enables

This data powers the Find Results Panel

at the Designer main interface. See Designer (IDE Overview) / Find Results Panel.

Usually, it easier than to use the Find Results panel to presents the referenced elements of the selected object, rather than execution the search in this table.

On this page:

Table of Contents
maxLevel3
styleNone

Image Removed

and enables impact analysis before changes.

Access: Track Changes → Cross-Reference

Table of Contents
maxLevel2
minLevel2
indent10px
excludeSteps
stylenone


Table Columns

ColumnDescription
IDUnique reference identifier
ObjectNameReferenced object name
UsedByTableTable using the object
TableItemSpecific item referencing object
LocationExact location in system

Usage Patterns

The Cross-Reference table is typically accessed indirectly through:

  • Find Results Panel (easier interface)
  • Use Count calculations
  • Unused Objects detection

Limitations - Indirect References

Not Detected

Cross-Reference cannot detect indirect usage:

Cross-Reference Table Columns

Cross-Reference Table

Property

Description

ID

Assigns a unique identifier to each cross-referenced item.

ObjectName

Names the object that is being referenced.

UsedByTable

Identifies the table that uses the object.

TableItem

Specifies the item within the table that references the object.

Location

Pinpoints the location of the object within the system.

Tip

Double-click on a row navigates to the Designer configuration UI of the selected location.

Objects Usage not Visible to Cross-Reference

This feature only shows the places the object is being used directly, not used by an indirect reference or string manipulation. 

Here are some examples where an object is used indirectly:

  • Via TagReference using the .Link Property (reason why use the Tag1.GetName() when possible, instead of "Tag1" when setting the value for this property)

  • Via AssetPath, using the syntax.
    TypeExampleRisk
    String References
    Asset("/folder1/tag1")
  • Via scripts settings directly TagNames on TrendChart and other objects.

  • Via .NET classes, or Toolkit methods, which allows the access of objects by a string with its name, not the object directly. 

  • Objects used by external Applications, using DataAccess API, or consumed via the built-in OPC UA Server or MQTT Broker.

  • Hidden dependencies
    Link PropertiesTagReference via stringBroken on rename
    Script StringsDynamic tag namesRuntime errors
    .NET MethodsToolkit string accessFunctionality loss
    External AccessOPC UA, MQTT, APIsExternal system failure

    Best Practice

    When possible, use direct references:

    • Use Tag1.GetName() instead of "Tag1"
    • Reference objects directly in scripts
    • Document any indirect usage

    Navigation

    Double-click any row to navigate to the usage location in Designer.


    Warning

    warning

    The Find Results panel,

    UseCount

    Use Count, and Unused

    Count relies

    Objects all rely on

    the

    Cross-Reference

    table

    data.

    Therefore, objects used by an indirect access are also not visible to those tools.Verify and be ware of these limitation when

    Objects used indirectly will not appear in these tools. Verify carefully before deleting or renaming objects.

     



    In this section

    :

    ...

    Page Tree
    V10
    rootV10:@parentspaces