Fixing SIMATIC Manager Cross-Reference Errors After Reinstall

David Krause10 min read
HMI ProgrammingSiemensTroubleshooting
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

Problem Overview

After a clean uninstall/reinstall of SIMATIC Manager performed to recover from a missing S7TBROWX.dll runtime module, STEP 7 V5.4 SP2 may begin failing all cross-reference navigation in a previously working S7-300/S7-400 project. Two discrete error dialogs appear depending on the navigation path chosen:

  • Options → Cross-Reference: "Internal error: Unable to set up the connection between the two objects".
  • Right-click → Go To Location: "Unable to find the reference data required for execution.".

Both messages indicate that the per-project reference database is no longer aligned with the offline blocks and symbols. The most common root cause is project-level database corruption introduced by an interrupted upgrade, antivirus quarantine of .sec files, or a partial SIMATIC Manager reinstall that strips the cross-reference subsystem state without rebuilding it. The canonical field remedy, validated against STEP 7 V5.4 SP2, is to open the affected project and use File → Save As with the "with reorganization (slow)" option. This forces STEP 7 to rebuild the internal database tables (including the cross-reference cache) in a single pass.

Affected Environment

Component Identified Value Notes
Engineering Tool SIMATIC Manager (STEP 7 V5.4) Released 2006; post-SP2 hotfixes shipped through 2018
Service Pack SP2 (K5.4.2.0) with HF7+ Several cross-reference subsystem hotfixes shipped post-SP2
Operating System Windows XP SP3 (32-bit) Symptom environment; same root cause applies on Windows 7/10
Trigger Event Uninstall/reinstall of SIMATIC Manager Performed to recover a missing S7TBROWX.dll
Project Scope Single affected project New projects created after the reinstall cross-reference normally
Controller Family S7-300 / S7-400 (Classic) Independent of CPU model
Project Type STEP 7 V5.x single project Same fault also observed in multi-project setups

The fact that newly created projects cross-reference normally while the original project fails localizes the fault to the project files themselves rather than the SIMATIC Manager binaries. After a clean reinstall, the tool binaries are healthy, but the previous project's reference data was not migrated forward and is now unreadable.

Root Cause Analysis

SIMATIC Manager stores cross-reference data in two coordinated layers:

  1. Project shell database — managed by the S7HCOMX and S7HSTAED services inside the project tree. This layer tracks block/symbol relationships and is rebuilt on demand.
  2. Reference object container — the folder hierarchy under <project>\oms\maps\... plus the .sec / .srs files in the project root that cache operand occurrences.

The S7TBROWX.dll shipped with SIMATIC Manager exposes the OLE automation entry points SIMATICRefDataLib and IS7RefData consumed by the cross-reference and "Go To Location" menus. When this module is missing, deleted, or version-mismatched against the project's saved S7.TEA shell, the tool throws either of the two errors cited above.

Typical Corruption Vectors

Vector Mechanism
Interrupted reinstall Antivirus quarantines .sec/.srs during upgrade; tool sees stale cache
User-rights elevation change Reinstall performed as administrator but project opened from a standard-user profile; ACLs block writes to reference cache
Cross-machine project copy Differential edits since last reference-data compilation cause structural drift
Hotfix chain skipped SP2 installed without the post-SP2 reference-data hotfixes (HF7/HF8/HF9/HF10)
Granular backup restore Files restored at folder granularity without the oms and imp subfolders
UNC / SMB project location Project opened from a network path that strips the read-only attribute required by the editor

Project Shell Structure

<project_name>\
├── <project_name>.s7p      → master project marker
│
└── oms\                     → offline management station data
    └── *.sec, *.srs            → reference cache files
Global\
├── Symbols\                  → symbol table (offline)
└── Language\
<station>\
└── CPU\
    └── S7 Program\
        ├── Blocks\              → offline block container
        └── Sources\             → STL/SCL sources

Solution A: Slow Project Reorganization (Primary)

This is the canonical field remedy and was validated against STEP 7 V5.4 SP2 in the source case.

  1. Open the affected project in SIMATIC Manager.
  2. Select the project root node and choose File → Save As.
  3. Enable "with reorganization (slow)" in the Save As dialog.
  4. Provide a new project name or overwrite the existing project. Confirm any prompt about closing the project.
  5. Wait for the copy/reorganization to complete. A 5–10 MB project typically takes 30–90 s; multi-project setups with many libraries may take several minutes.
  6. Open the new (or freshly reorganized) project and run Options → Cross-Reference → Display.
Why "slow" matters: The fast reorganization only rewrites files whose timestamps have changed. The slow (with reorganization) traversal rebuilds every .sec/.srs object and re-emits the S7.TEA project header. It is the only reorganization mode that re-establishes the cross-reference subsystem linkage.

Solution B: S7TBROWX.dll Recovery

If the original condition (missing S7TBROWX.dll) has recurred, verify the file's presence, version, and registration before assuming project corruption is the sole cause.

Step 1 — Locate the Binary

  • Default 32-bit install path: C:\Program Files\Siemens\Automation\SIMATIC Manager\Bin\S7TBROWX.dll
  • For 32-bit STEP 7 on 64-bit Windows: C:\Program Files (x86)\Siemens\Automation\SIMATIC Manager\Bin\S7TBROWX.dll
  • Typical size for V5.4 SP2: ~163,000 bytes (build 5.4.2.0 / 5.4.2.4)
  • SHA-256 mismatch against an unaltered installation is a sign of tampering; reinstall from the original SP2 media.

Step 2 — Re-register the COM Object

  1. Open an elevated command prompt (Run as Administrator).
  2. From the directory containing S7TBROWX.dll, execute:
    regsvr32 /u S7TBROWX.dll
    regsvr32 /i S7TBROWX.dll
  3. Confirm the DllRegisterServer / DllInstall succeeded message.

Step 3 — Repair the SIMATIC Manager Install

  1. Open Control Panel → Programs and Features (Windows XP: Add/Remove Programs).
  2. Select Siemens Automation SIMATIC → STEP 7, then click Change/Repair.
  3. Choose Repair Installation and complete the wizard. Accept the prompt to re-register all OLE automation components — this rebuilds the CLSID entries for S7TBROWX.dll and the dependent libraries (S7WSDKAX.dll, W95S7COM.dll).

Additional installation guidance and licensing documentation are available via Siemens Industry Online Support.

Solution C: Manual Reference Data Rebuild

If Solution A still fails (typical on multi-project installations or when the source project is read-only or on read-only media), force a manual reference-data rebuild.

  1. Close the project in SIMATIC Manager.
  2. Open Windows Explorer and navigate to <project_root>\oms.
  3. Locate all .sec and .srs files. Move them to a backup folder (do not permanently delete — they may be needed if the rebuild fails).
  4. Re-open the project. SIMATIC Manager detects the missing reference cache and prompts to recompile.
  5. Confirm the recompile. All offline blocks will be re-parsed; expect increased editor open time on the first cycle. A 200-block project usually recompiles in 60–120 s.
  6. Validate by opening Options → Reference Data → Display.
Symbol table regeneration: If the project also lost offline symbol-table consistency, run Options → Symbol Table → Consistency Check after the reference-data rebuild. Re-import the symbol table from a recent .sdf backup if the consistency check flags missing or duplicated entries.

Advanced Diagnostics: Registry and DCOM Integrity

For recurring failures across multiple projects, an integrity check at the registry and DCOM layer is required. Begin by capturing a snapshot of the registry as a baseline so each modification can be rolled back if necessary.

Registry Path Checks

Key Purpose Expected Value
HKLM\SOFTWARE\Siemens\AUTSW\STEP7\Versions Installed STEP 7 build Contains V5.4\SP2 subkey
HKLM\SOFTWARE\Classes\CLSID\{...S7RefData...} COM registration of S7TBROWX InprocServer32 points to S7TBROWX.dll with full path
HKCU\Software\Siemens\S7TMP Project user-cache pointer Empty when no project is open
HKLM\SOFTWARE\Siemens\AUTSW\STEP7\Settings\Reorg Reorganization defaults SlowProject=1 for permanent slow-reorg behaviour

DCOM and Permissions

  • Open dcomcnfg → Component Services → Computers → My Computer → DCOM Config.
  • Locate the entry SIMATIC Manager References; right-click → Properties → Security.
  • Confirm Launch and Activation Permissions include the user running STEP 7. Service-account deployments must add the appropriate identity explicitly.
  • Verify Access Permissions allow both Local Launch and Remote Launch for the user; without these, the cross-reference subsystem cannot register the in-process server.

Diagnostic Decision Flow

Cross-reference error observed?S7TBROWX.dll present?Other projects OK?Repair install+ regsvr32 S7TBROWX.dllSave As with slowreorganizationMove .sec/.srs aside;reopen projectDCOM & ACLinspection

Verification and Test Procedure

After any of the solutions above, perform the following validation sequence to confirm the cross-reference subsystem is fully functional:

  1. Cross-reference matrix: In SIMATIC Manager, select the S7 Program or block folder, then Options → Cross-Reference → Display. The matrix must open without error. Filter by operand type (MW, DB, I, Q) and confirm the row counts match the project size.
  2. Go To Location: In an open LAD/FBD/STL block, right-click any operand (e.g., DB10.DBX0.0, M 4.0, I 0.0) and select Go To Location. The Where Used dialog must populate with all references.
  3. Program identifier check: Options → Reference Data → Display. Confirm the program structure window opens and shows the assignment list, cross-reference, and program structure tabs.
  4. Online reference data (optional): If a live PG/PC interface connection exists, PLC → Reference Data → Display must succeed without COM exceptions.
  5. Project compact follow-up: File → Save As → with reorganization (slow) a second time should be near-instantaneous, confirming the cache is no longer being rebuilt.
  6. Symbol table consistency: Options → Symbol Table → Consistency Check must report zero errors across OB/FB/FC/DB/UDB structures.

Prevention and Project Hygiene

  • Backup cadence: Maintain at least three rolling archive snapshots of the entire project folder, not only .s7p files. Backup tools that exclude hidden/system files will omit the oms\ directory required for cross-reference recovery.
  • Antivirus exclusions: Add C:\Program Files\Siemens\Automation\* and the project root to the AV exclusion list. Many AV products quarantine .sec files as "encrypted archive" false positives; verify scan logs if errors recur after a virus-definition push.
  • Service Pack currency: SP2 alone is insufficient for projects with more than 100 blocks or with multi-project structures. Apply the highest available hotfix chain (HF7–HF10 depending on release year) to harden the cross-reference subsystem.
  • User privilege consistency: Do not switch between administrator and standard-user context when accessing the same project; mixed privilege creates read-only .sec files that the editor cannot update, producing the same diagnostic surface as a missing S7TBROWX.dll.
  • Avoid mapping drives: Cross-reference fails silently if the project resides on a UNC path or network-mapped drive lacking write-attribute support. Move the project to local NTFS storage before performing major reorganizations or backups.
  • Archive rather than copy: Always exchange a project via File → Archive / Retrieve rather than file-system copy. Archives preserve SZL tables, DB initial values, and reference-data parity; copies routinely lose them, re-introducing the corruption pattern after one round trip.

Migration Considerations: STEP 7 V5.x to TIA Portal

For systems requiring long-term support beyond Windows XP, migration to TIA Portal V17 or later (with the STEP 7 V5.x project migration tool) restores the cross-reference and Go To Location features under the modern Go to → Cross-references and Go to → Usage commands. The migrated project's cross-reference subsystem runs against the TIA Portal XML project database rather than the V5.x .sec/.srs cache, eliminating the entire class of errors documented here. Pre-migration steps:

  1. Apply all available hotfixes to the V5.x project.
  2. Run a full slow reorganization as in Solution A.
  3. Archive the project (File → Archive) rather than copying the folder.
  4. Use the TIA Portal migration wizard to import the archive, then verify the cross-reference window in the migrated project as in the Verification section above.

Throughout migration, additional support material and STEP 7 to TIA Portal hand-off guides can be sourced from Siemens Industry Online Support.

Frequently Asked Questions

What is the role of S7TBROWX.dll in SIMATIC Manager cross-reference?

S7TBROWX.dll is the OLE automation server that implements the IS7RefData interface consumed by the Options → Cross-Reference and Go To Location menus. A missing or unregistered copy of this DLL produces both error dialogs documented in this article, even when the project files themselves are intact.

Why does the slow reorganization fix cross-reference errors when the fast one does not?

The fast reorganization only re-emits changed program sections, leaving reference-cache files untouched. The slow (with reorganization) traversal rebuilds every .sec/.srs object and re-establishes the program's S7.TEA shell, which is required for the cross-reference subsystem to recognize the project.

Can the same error appear on TIA Portal projects?

No. TIA Portal uses an XML project database rather than the V5.x file-based reference cache, and the exact error message texts do not appear in the TIA Portal UI. If you see similar wording, you are working with a legacy V5.x project that has not yet been migrated.

Is it safe to delete .sec and .srs files in the oms directory?

Yes, provided the project's offline Blocks, Symbol Table, and Sources folders are intact. SIMATIC Manager rebuilds these files on next open. Always move them to a backup directory first rather than using Shift+Delete, in case the rebuild fails and the originals must be restored.

Will antivirus or backup software re-trigger the error?

Yes. Backup clients that write to long-term storage and AV products that scan .sec/.srs files can re-quarantine or strip write attributes and reintroduce the cross-reference subsystem corruption. Add the Siemens Automation install directory and project roots to the AV exclusion list and configure backup software to use VSS-aware snapshots rather than direct file copies.

Back to blog