Go to Location in TIA Portal Cross-Reference Workarounds

David Krause11 min read
SiemensTechnical ReferenceTIA Portal
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview: The Disappearing "Go to Location" Dialog

Engineers migrating from SIMATIC Manager Step 7 to TIA Portal frequently report that the classic Go to Location dialog (the pop-up text box that accepted a direct operand such as DB100.DBX0.0 or MW20) is no longer present in the same form. In Step 7 v5.x the workflow was: open the dialog with Ctrl+Alt+Q (or the menu path Edit > Go to Location), type any operand, and the editor jumped straight to the network that wrote or read it. This was a primary troubleshooting tool for programs you did not write yourself.

TIA Portal restructures that capability around a tag-centric model. Instead of typing raw addresses, you start from a tag in the PLC tag table, a DB, or a UDT and use the Cross-reference / Points of use infrastructure to navigate to every read, write, and instance where the tag is used. The trade-off is that the editor no longer accepts an arbitrary unknown address as input; you must first locate the tag or symbol in the project tree.

This reference documents the exact behavior of cross-references in TIA Portal (V13 through V20), the keyboard shortcuts that approximate the old workflow, the limitations around local # variables, and the V14+ improvements that partially restore the old workflow.

SIMATIC Manager Step 7: How "Go to Location" Originally Worked

Before documenting the TIA Portal behavior, it is worth recording what the legacy function did, because the migration of muscle memory is the source of most complaints.

Action Step 7 v5.x Behavior Typical Use Case
Open Go to Location dialog Ctrl+Alt+Q or Edit > Go to Location Starting a navigation from an unknown operand
Acceptable input formats Absolute (DB100.DBX0.0, MW20, I0.0) or symbolic (e.g. MOTOR1.START) Direct lookup of memory or DB addresses
Search scope Entire S7 program (all blocks) on the active CPU Troubleshooting unfamiliar code
Local variable handling Could not resolve #START across blocks; only absolute/symbolic cross-block references Multi-block traceability for global tags
Forward / Backward navigation Ctrl+Shift+F (forward) and Ctrl+Shift+B (backward) for Local Application >> jumps Stepping through call hierarchy inside one block
Instance DB access Resolves DB100.DBX0.0 and MOTOR1_IDB.START to the FB static region Tracing instance data back to its FB definition

The defining feature was that the dialog accepted an operand you had not yet seen in the program. You did not need to navigate to the tag first; you typed it and the editor searched the entire online or offline program.

TIA Portal Cross-Reference Architecture

TIA Portal does not expose an equivalent text-input dialog. Navigation is driven entirely by the project's symbolic tag database. The cross-reference data is built dynamically from the program blocks, PLC tag tables, and the HMI tag interconnection when the editor parses the project.

The relevant data sources are:

  • PLC tags (global tag table) - the canonical list of absolute addresses with symbolic names.
  • DB tags (data block static and instance tags) - declared inside a global DB or instance DB.
  • UDT (User-Defined Data Type) tags - reusable structures instantiated in DBs.
  • Block-local tags (Temp, Static, Input, Output, InOut, Constant) - not globally addressable.

Once a tag is visible in one of those containers, the editor can compute the points of use - the list of networks, blocks, HMI screens, watch tables, and web pages that reference it.

Method 1: Cross-Reference from a Known Tag

This is the primary workflow in TIA Portal and the closest functional equivalent to Go to Location when you already have a tag name in hand.

  1. Locate the tag in the project tree under PLC > PLC tags, inside a DB, or inside a UDT instance.
  2. Right-click the tag and select Cross-reference (alternatively, with the cursor in the tag name inside the editor, press Ctrl+Shift+F7).
  3. The Cross-reference editor opens in a docked pane, listing every block network, HMI tag, and watch table entry that uses the tag, with separate columns for Access (read/write), Address, Type, and Path.
  4. Double-click a row to jump to the network. Use the back/forward arrows in the editor toolbar (or browser-style Alt+Left / Alt+Right) to step through the results.

This is functionally equivalent to the old Go to Location after you have the tag name. The restriction is the first step: you must already have a handle on the symbol.

Method 2: Points of Use from the Editor

If you are already inside a network and your cursor is on a tag, the editor offers an inline shortcut that avoids opening the cross-reference tab.

  1. Click into the tag operand in the network so the cursor is positioned on it (do not select; just place the caret).
  2. Right-click and choose Go to > Points of use (or use the keyboard shortcut Ctrl+Alt+F7).
  3. A context list appears with the immediate callers/callees; selecting one opens that block at the correct network.

Combined with Go to > Definition (Ctrl+Alt+B or simply F12 in some versions) for jumping to the tag declaration, this provides rapid navigation after the tag has been resolved once.

Method 3: Local Application Forward / Backward

Step 7's Local Application >> and Local Application << commands are preserved in TIA Portal with the same intent: stepping along the call chain inside a single block.

Command Shortcut (TIA Portal) Effect
Local Application >> (forward) Ctrl+Shift+F Jump forward to the next use of a local tag within the current block
Local Application << (backward) Ctrl+Shift+B Jump backward to the previous use of a local tag within the current block
Go to Definition F12 or Ctrl+Alt+B Jump to the declaration of the tag under the cursor
Go to Points of Use Ctrl+Alt+F7 List all points of use for the tag under the cursor
Open Cross-Reference Ctrl+Shift+F7 Open the global cross-reference window
Limitation: All four shortcuts require a tag under the cursor. They do not accept typed input, so they cannot be used to search for an address you have not yet seen.

Method 4: The Go to Location Workaround (V14+)

Starting with TIA Portal V14, the cross-reference infrastructure added the ability to add a tag to the cross-reference list directly from the address input. This partially closes the gap with SIMATIC Manager.

  1. In a code block, open the Cross-reference editor pane (View > Cross-reference, or Ctrl+Shift+F7).
  2. Drag a tag from the project tree into the cross-reference pane, or right-click inside the cross-reference table and choose Add new entry.
  3. In the dialog that opens, type the absolute address (e.g. %DB100.DBX0.0) or the symbolic name.
  4. The cross-reference editor lists every occurrence across the project, even if you have never navigated to the tag elsewhere.

This workflow is the closest functional equivalent to the legacy Go to Location dialog. It requires V14 or later and works for both offline and online cross-references. In online mode the result includes the current operand value and the time stamp of the last access when the CPU is in RUN.

Cross-Reference Limitations with Local FB Variables

Local tags inside an FB carry the # prefix in the editor (e.g. #START). The cross-reference has well-documented limitations here that mirror the legacy tool's behavior but are sometimes less complete.

Scenario Cross-Reference Result Workaround
#START used only inside FB MOTOR Listed as local use; sometimes filtered out of the global cross-reference Use Go to Local Application (Ctrl+Shift+F) inside the FB
MOTOR_1.START referenced in OB1 and FB2 Listed globally; #START usage in MOTOR is sometimes collapsed into one row Open the FB and use local application navigation for the internal # references
Monitor/modify of #START inside MOTOR Not supported in watch tables (V13/V14); supported from V15.1 onward for instance DBs Use MOTOR_1.START in the watch table, or open the instance DB
Field note: When an FB has many instances, the cross-reference can group all instance accesses under a single row. To trace a specific instance, open the instance DB and re-run the cross-reference from the instance tag there.

Online vs. Offline Cross-Reference

TIA Portal maintains two cross-reference databases.

Mode Data Source Includes Excludes
Offline Project on the engineering station All compiled blocks, HMI tags, and web pages Live values; non-compiled SCL/ST edits
Online CPU program (downloaded blocks) Active program, current values, last access time HMI tags not loaded on the CPU; web pages

When troubleshooting an unfamiliar program, the online cross-reference is usually what you want, because it reflects the actual block set in the CPU rather than a project that has been edited since the last download. Switch with the Online > Cross-reference command or the toolbar toggle in the cross-reference pane.

Tag Renaming and Cross-Reference Integrity

One feature that did not exist in SIMATIC Manager and that partly compensates for the weaker navigation is automatic tag propagation. If you rename a tag in a global DB, a UDT, or the PLC tag table, TIA Portal updates every reference - in the program blocks, the HMI tag interconnection, the watch tables, and the trace configurations - in a single operation.

  • Right-click the tag in the editor or project tree and choose Rename > Rename in all places.
  • Confirm the change in the dialog; TIA Portal previews every block and HMI screen that will be updated.
  • Recompile the project so the cross-reference database is rebuilt.

This is a workflow advantage that the legacy tool did not have, and it reduces the need to memorize absolute addresses in the first place.

Program Settings That Affect Cross-Reference Behavior

TIA Portal stores cross-reference and editor behavior preferences in the central program settings, which can be reused across projects. Confirm these settings if cross-reference results appear incomplete.

  1. Open Options > Settings.
  2. Navigate to PLC programming > General and ensure Generate cross-reference is enabled.
  3. Under TIA Portal > View for objects in the project tree, enable the views that expose the data sources you need (PLC tags, blocks, HMI tags).
  4. If you have a multi-user project, verify that the storage location for the central settings is on a shared path so all team members get the same cross-reference configuration. Refer to the official overview at TIA Portal V20 program settings.

Troubleshooting Matrix

Symptom Probable Cause Resolution
Cross-reference pane is empty for a known tag Cross-reference not yet generated, or the project has not been compiled Right-click the PLC and choose Compile > Software (rebuild all blocks)
Tag does not appear in the cross-reference Tag is a local # variable in an FB; not globally indexed Open the FB and use Ctrl+Shift+F for local navigation
Instance DB tag not resolving Multiple instances collapse into a single row Open the specific instance DB and run cross-reference from the tag there
Online cross-reference differs from offline CPU holds a program that does not match the offline project Re-download the project to the CPU or load the online snapshot to the project
Cannot type an address into a search dialog Pre-V14 project or TIA Portal configured to use the old cross-reference UI Upgrade to V14+; use the Add new entry workflow in the cross-reference pane
Renaming a tag breaks HMI links Project not compiled after rename Compile all (Ctrl+D shortcut in some views) and re-download

Field-Recommended Workflow for Unfamiliar Programs

  1. Start from the PLC tag table. Sort by address; the comment column often documents the physical meaning (e.g. Conveyor_2_Run). This replaces the "type a memory address" workflow.
  2. Use cross-reference from the tag. Right-click > Cross-reference to list every block and HMI screen that uses it.
  3. For locals, open the FB. Use Ctrl+Shift+F / Ctrl+Shift+B for local navigation; cross-reference will not show every # reference globally.
  4. For multi-instance blocks, drill into the instance DB. The instance DB exposes the static tags with their fully qualified names; cross-reference from there gives the instance-specific call list.
  5. For online debugging, switch to online cross-reference. It shows the live access pattern and last-access timestamp, which is invaluable for intermittent faults.
  6. Maintain a tag-naming convention. The Siemens programming style guide recommends a hierarchical prefix (e.g. Plant_Area_Unit_Signal); a well-named project removes the need to type raw addresses at all.

Backward Compatibility with Step 7 Classic

If you must retain the exact Step 7 v5.x workflow for legacy projects, TIA Portal supports migrated projects and integrated projects in which classic Step 7 blocks coexist with TIA blocks. The original Go to Location dialog is not present in either view, but the migrated symbolic information is fully indexed by the TIA cross-reference engine, so the V14+ Add new entry workflow produces equivalent results against the migrated block set.

For greenfield S7-1200 and S7-1500 projects, plan your tag database up front. The investment in PLC tag structure and UDT design pays back the moment you have to troubleshoot a program you did not author.

FAQ

Is there a Go to Location dialog in TIA Portal?

No. TIA Portal does not expose the legacy Step 7 Go to Location text-input dialog. The closest equivalent from V14 onward is the Add new entry command in the Cross-reference pane, which accepts an absolute address (e.g. %DB100.DBX0.0) or a symbolic tag name and lists every occurrence across the project.

How do I cross-reference a local #START variable in an FB?

Open the FB that contains the local tag and use the Local Application >> / Local Application << shortcuts (Ctrl+Shift+F and Ctrl+Shift+B) to step through its occurrences. The global cross-reference often collapses internal # uses into a single row, so the local navigation is the most reliable method.

Which TIA Portal version added the ability to type an address into cross-reference?

TIA Portal V14 introduced the capability to add a tag to the cross-reference list directly. Earlier versions (V13, V13 SP1) required the tag to already exist in the program or PLC tag table before cross-reference could resolve it.

Why does the online cross-reference differ from the offline cross-reference?

The online cross-reference reflects the block set actually loaded on the CPU, while the offline cross-reference reflects the project on your engineering station. After a download with mismatched versions, the two will diverge until you recompile and reload, or load the online snapshot back into the project.

Can I monitor a local FB variable (#START) in a watch table?

From TIA Portal V15.1 onward, instance DB tags can be monitored through the watch table by their fully qualified name (e.g. MOTOR_1.START). Direct monitoring of the #START symbol from inside the FB is not supported; use the instance DB path or place the tag in a global DB if direct monitoring is required.

Back to blog