Overview
Cross-Reference provides a table to view
and interact with the cross-referencing of all objectsall object references within the solution.
The contents of this table enablesThis 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 | ||||
---|---|---|---|---|
|
and enables impact analysis before changes.
Access: Track Changes → Cross-Reference
Parent Page: Track Changes Tools (Reference)
Table Columns
Column |
---|
Cross-Reference Table Columns
Cross-Reference Table
Description | |
---|---|
ID |
Unique reference identifier |
ObjectName |
Referenced object name |
UsedByTable |
Table using the object |
TableItem |
Specific item referencing 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)
Exact 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:
Via AssetPath, using the syntax.Type | Example | Risk |
---|---|---|
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 Properties | TagReference via string | Broken on rename |
Script Strings | Dynamic tag names | Runtime errors |
.NET Methods | Toolkit string access | Functionality loss |
External Access | OPC UA, MQTT, APIs | External 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
warningThe Find Results panel,
UseCountUse Count, and Unused
Count reliesObjects all rely on
theCross-Reference
tabledata.
Therefore, objects used by an indirect access are also not visible to those tools.Verify and be ware of these limitation whenObjects used indirectly will not appear in these tools. Verify carefully before deleting or renaming objects.
See Also
- Track Changes Tools (Reference) - Parent section
- Find Results Panel (Reference) - Search interface
- Use Count (Reference) - Usage frequency
- Unused Objects (Reference) - Cleanup tool
In this section:
Page Tree | ||||
---|---|---|---|---|
|