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:
-
Project shell database — managed by the
S7HCOMXandS7HSTAEDservices inside the project tree. This layer tracks block/symbol relationships and is rebuilt on demand. -
Reference object container — the folder hierarchy under
<project>\oms\maps\...plus the.sec/.srsfiles 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.
- Open the affected project in SIMATIC Manager.
- Select the project root node and choose File → Save As.
- Enable "with reorganization (slow)" in the Save As dialog.
- Provide a new project name or overwrite the existing project. Confirm any prompt about closing the project.
- 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.
- Open the new (or freshly reorganized) project and run Options → Cross-Reference → Display.
.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
- Open an elevated command prompt (Run as Administrator).
- From the directory containing
S7TBROWX.dll, execute:regsvr32 /u S7TBROWX.dll regsvr32 /i S7TBROWX.dll - Confirm the DllRegisterServer / DllInstall succeeded message.
Step 3 — Repair the SIMATIC Manager Install
- Open Control Panel → Programs and Features (Windows XP: Add/Remove Programs).
- Select Siemens Automation SIMATIC → STEP 7, then click Change/Repair.
- Choose Repair Installation and complete the wizard. Accept the prompt to re-register all OLE automation components — this rebuilds the CLSID entries for
S7TBROWX.dlland 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.
- Close the project in SIMATIC Manager.
- Open Windows Explorer and navigate to
<project_root>\oms. - Locate all
.secand.srsfiles. Move them to a backup folder (do not permanently delete — they may be needed if the rebuild fails). - Re-open the project. SIMATIC Manager detects the missing reference cache and prompts to recompile.
- 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.
- Validate by opening Options → Reference Data → Display.
.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
Verification and Test Procedure
After any of the solutions above, perform the following validation sequence to confirm the cross-reference subsystem is fully functional:
- 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.
-
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. - Program identifier check: Options → Reference Data → Display. Confirm the program structure window opens and shows the assignment list, cross-reference, and program structure tabs.
- Online reference data (optional): If a live PG/PC interface connection exists, PLC → Reference Data → Display must succeed without COM exceptions.
- 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.
- 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
.s7pfiles. Backup tools that exclude hidden/system files will omit theoms\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.secfiles 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
.secfiles 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
SZLtables, 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:
- Apply all available hotfixes to the V5.x project.
- Run a full slow reorganization as in Solution A.
- Archive the project (File → Archive) rather than copying the folder.
- 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.