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.
- Locate the tag in the project tree under PLC > PLC tags, inside a DB, or inside a UDT instance.
- Right-click the tag and select Cross-reference (alternatively, with the cursor in the tag name inside the editor, press
Ctrl+Shift+F7). - 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.
- 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.
- Click into the tag operand in the network so the cursor is positioned on it (do not select; just place the caret).
- Right-click and choose Go to > Points of use (or use the keyboard shortcut
Ctrl+Alt+F7). - 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 |
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.
- In a code block, open the Cross-reference editor pane (View > Cross-reference, or
Ctrl+Shift+F7). - 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.
- In the dialog that opens, type the absolute address (e.g.
%DB100.DBX0.0) or the symbolic name. - 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 |
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.
- Open Options > Settings.
- Navigate to PLC programming > General and ensure Generate cross-reference is enabled.
- 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).
- 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
-
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. - Use cross-reference from the tag. Right-click > Cross-reference to list every block and HMI screen that uses it.
-
For locals, open the FB. Use
Ctrl+Shift+F/Ctrl+Shift+Bfor local navigation; cross-reference will not show every#reference globally. - 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.
- For online debugging, switch to online cross-reference. It shows the live access pattern and last-access timestamp, which is invaluable for intermittent faults.
-
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.