Resolving Simatic Manager LAD to STL Conversion Error After Copying STEP 7 Projects
When a STEP 7 project developed in Ladder (LAD) is copied from one engineering workstation to another, engineers frequently encounter a persistent issue: blocks that were originally created in LAD open only in Statement List (STL) view, and the View > LAD menu command does nothing. The block compiles and runs, but the source representation is locked to STL and the ladder network cannot be restored through the user interface alone.
This article documents the underlying cause, three reliable remediation procedures, the project file structure involved, and the verification steps that confirm a clean fix. The procedures apply to STEP 7 V5.5 / V5.6 in the SIMATIC Manager environment (sometimes referred to as STEP 7 Classic), the standard toolchain for SIMATIC S7-300, S7-400, and WinAC controllers. For TIA Portal (STEP 7 Basic / Professional V13 and later) the equivalent issue is rare because the editor stores the source representation in the project file directly, but engineers migrating older S7 Classic projects frequently hit this problem during the copy or upgrade cycle.
KNOW_HOW_PROTECT or blocks from S7-200 (MicroWin) or LOGO! devices. For TIA Portal projects, refer to the Siemens Industry Online Support portal for V13+ project handling.
1. Problem Description and Symptoms
1.1 Observable Behavior
- An S7 project copied via Windows Explorer (drag-and-drop, USB stick, network share, or compressed folder) opens normally in SIMATIC Manager.
- Organization Blocks (OB), Function Blocks (FB), Functions (FC), and System Function Blocks (SFB) that were originally written in LAD open in STL view only.
- Selecting
View > LAD,View > FBD, or clicking the LAD icon in the toolbar has no effect. The editor remains in STL. - No compile error, no warning, no fault indicator appears in the diagnostic buffer. The block is functionally correct and downloads to the CPU without issue.
- Closing and reopening the block does not restore the LAD view.
- In the cross-reference and program structure, the block is listed as a valid program element but its representation flag is set to STL.
1.2 The Conversion Path
When a block cannot be displayed in its native language, SIMATIC Manager automatically downgrades the view to STL because STL is the only language guaranteed to round-trip from any other representation. LAD and FBD are graphical languages that depend on the original schematic, while STL is textual and reflects the compiled mnemonic. If the editor cannot confirm that the source was stored as a LAD network, it falls back to STL to guarantee that the engineer can still read the logic.
1.3 When the Issue Occurs
The most common trigger is a direct file-system copy of the project folder while SIMATIC Manager is closed, particularly when:
- Two workstations have different STEP 7 versions installed (for example, V5.5 SP1 on the source, V5.4 SP5 on the target).
- The project was originally saved on a workstation with a non-default Editor tab setting where Type check of addresses is enabled.
- The
Languagefile inside the project'sGlobaldirectory is missing, truncated, or not transferred with the rest of the folder. - The
FamilyandVersiontags inside the block container do not match the registered languages of the target editor installation.
2. Root Cause Analysis
2.1 The SIMATIC Manager Block Representation Model
Every code block in an S7 Classic project may exist in up to three different language representations, depending on the languages installed on the engineering station:
| Language | Mnemonic | Representation Type | Round-Trip Guarantee |
|---|---|---|---|
| LAD (Ladder) | Graphical | Schematic networks with contacts and coils | Requires stored LAD source |
| FBD (Function Block Diagram) | Graphical | Logic gates and function boxes | Requires stored FBD source |
| STL (Statement List) | Textual | Mnemonic instruction list | Always available (canonical) |
| SCL (Structured Control Language) | Textual (Pascal-like) | High-level source | Optional language package |
| GRAPH | Graphical (state machine) | Sequencers and steps | Optional language package |
When a block is created in LAD, SIMATIC Manager stores three artifacts: the compiled STL (the canonical form loaded into the CPU), an optional LAD network source, and an optional FBD network source. On a fresh workstation, the editor inspects the Language file in the Global directory to determine which representations are present. If the file is absent or unreadable, the editor assumes only STL is available and opens every block as text.
2.2 The Language File
Inside every S7 project, the directory <ProjectName>\Global contains a binary file named Language (no extension). This file maps each block to its allowed language representations using internal object IDs. The file is regenerated whenever a block is saved with a new representation, and it is read whenever the project is opened.
If the file is:
- Missing — SIMATIC Manager prompts for a regeneration or falls back to STL only.
- Corrupted — the editor treats every block as STL, regardless of the actual source.
- Stale — the editor may show STL for blocks that have a valid LAD source but whose representation flag is not registered.
2.3 The Address Type Check Setting
The Type check of addresses option in Options > Customize > LAD/FBD tab enforces strict typing on LAD/FBD networks. When enabled, the editor will refuse to display a block in LAD if it contains an address whose symbolic or absolute type is ambiguous, even if the original LAD source was perfectly valid. This setting is stored per workstation in the registry, not in the project, so a project created on a workstation with strict checking may fail to open in LAD on a workstation with the same setting disabled, and vice versa.
2.4 Why Drag-and-Drop Copy Is Risky
Windows Explorer copy does not respect SIMATIC Manager's notion of a project as a transactional unit. The project may be copied while the source workstation still has a read-write handle to the Language file, or the destination may receive a partial copy if the source was being saved at that moment. The proper migration mechanism is the Archive ↔ Retrieve workflow, which packages the project as a single .zip-based archive and unpacks it transactionally on the target.
3. STEP 7 Project Structure Reference
Understanding the layout is essential for the manual remediation in Solution 1.
3.1 Top-Level Directory
An S7 Classic project is a Windows folder whose name matches the project name. Example: C:\S7Projects\ConveyorLine\. The folder contains a project file ConveyorLine.s7p and the following subdirectories:
| Subdirectory | Contents |
|---|---|
Global |
Cross-project symbols, the Language file, source files, and the global data definition |
S7Program |
Compiled blocks, the symbol table, and the system data |
IM |
Station manager files for S7-400 multiprocessor and H systems |
Logs |
Compile logs and change history |
WS_Files |
Workstation-specific display settings |
hmi |
Integrated WinCC flexible data (if present) |
3.2 The Global Folder in Detail
The Global folder is where the Language file lives. The file has no extension and is small (typically 1–8 KB even for large projects). It is binary, not editable in a text editor, and is created/updated automatically by SIMATIC Manager.
3.3 Block Storage Locations
Compiled blocks live in S7Program\Blocks. Each block is a binary file with a numeric name (for example, FC1, OB1, DB10) and may have associated source files in Global\Sources with extensions .awl (STL), .scl (SCL), or .graph (GRAPH). LAD and FBD sources are not stored as external files; they are embedded in the Language metadata inside the block container itself.
4. Solution 1 — Delete the Language File and Re-save with Reorganization
This is the most reliable field-proven procedure and matches the fix confirmed by the original engineer on the forum thread.
4.1 Prerequisites
- Close SIMATIC Manager and SFC / S7 Graph editors.
- Verify the project is not open on any other workstation (network share — close any read handles).
- Make a full backup of the project folder. Copy it to
<ProjectName>_backup_YYYYMMDD\.
4.2 Step-by-Step
- In Windows Explorer, navigate to the project root:
C:\S7Projects\<ProjectName>\. - Open the
Globalsubfolder. - Locate the file named
Language(no extension). It is hidden by default — enable Show hidden files in Folder Options if needed. - Right-click the file and select Delete. Confirm the deletion.
- Do not delete any other file in
Global. The symbol table (Symbols), source files, and system data blocks must remain intact. - Launch SIMATIC Manager and open the project. SIMATIC Manager will detect the missing file and regenerate it on the first save.
- Select the
S7 Programnode in the project tree, or the entire<ProjectName>node. - From the menu, choose
File > Save As. - In the Save As dialog, check the option "with reorganization (slow)". This forces a complete rewrite of all block metadata, including the language representation tags.
- Click OK. The save may take several minutes for large projects; the progress bar indicates the active block.
- When the save completes, open any block that was previously shown as STL. The LAD view should now be selectable and active.
4.3 What "Reorganization" Does
The reorganization option performs a full garbage-collection pass on the project database. It rebuilds the cross-reference data, regenerates the Language file from the actual block contents, and resolves any inconsistencies in the block container headers. This is the same mechanism SIMATIC Manager uses after a STEP 7 service pack upgrade.
4.4 Verification
- Open the previously affected block.
- Click the LAD icon in the toolbar — the block should switch to ladder view.
- Click FBD — the block should switch to function block diagram view.
- Click STL — the block should switch back to statement list.
- Repeat for every block that was reported as STL-only.
Language file, the second pass commits the language tags to each block's metadata. Some field reports indicate that two passes are required on the first migration of a project that has been through multiple STEP 7 versions.
5. Solution 2 — Disable the Address Type Check
This solution was independently confirmed by another engineer in the same discussion and is often faster than Solution 1 for projects with only a few affected blocks.
5.1 When to Apply
Apply this solution when:
- Solution 1 has been applied but specific blocks still refuse to display in LAD.
- The blocks contain symbolic addresses with multiple possible data types (for example, a block parameter typed as
BLOCK_FCorPOINTER). - The issue is reproducible on a single workstation only and not on the original development machine.
5.2 Step-by-Step
- Open SIMATIC Manager and load the project.
- In the project tree, double-click any block to open the editor (it does not matter which block — the goal is to access the menu).
- From the menu bar, select
Options > Customize. - In the Customize dialog, click the LAD/FBD tab.
- Locate the checkbox "Type check of addresses".
- Uncheck the box. Click OK to apply.
- Close the block and reopen the previously affected block. The LAD view should now be active.
5.3 What the Setting Controls
The Type check of addresses option enables strict type validation in the LAD and FBD editors. When enabled, the editor will not allow a block to be displayed in graphical form if any address in the network has a type that cannot be unambiguously resolved (for example, an ANY pointer, an untyped formal parameter, or a multi-instance DB). Disabling the check relaxes this constraint and allows the editor to render the block in LAD as long as a valid LAD source exists.
5.4 Caveat for Multi-User Projects
If multiple engineers work on the same project, be aware that this setting is stored in the Windows registry of the engineering workstation (HKCU\Software\Siemens\STEP7\2.0\Settings\LADFBD\TypeCheck in V5.5 and similar paths in other versions). Each engineer should configure the setting to match the project author's preference. The setting is not stored in the project file itself.
6. Solution 3 — Use Archive and Retrieve
The proper Siemens-recommended procedure for moving an S7 Classic project between workstations is to use the built-in archive and retrieve functions. This is the procedure that should be used to prevent the LAD-to-STL issue in the first place.
6.1 Archive Procedure (Source Workstation)
- Open the project in SIMATIC Manager.
- Select the project node in the project tree.
- From the menu, choose
File > Archive. - In the Archive dialog, browse to a temporary folder and enter a filename. The default extension is
.zipfor STEP 7 V5.5 and later; older versions used.arj. - Click Save. SIMATIC Manager creates a single compressed archive containing the entire project, including the
Languagefile, all block containers, symbol tables, and source files. - Copy the archive to a USB stick, network share, or other transfer medium.
6.2 Retrieve Procedure (Target Workstation)
- Copy the archive to the target workstation.
- Open SIMATIC Manager. Do not create a new project.
- From the menu, choose
File > Retrieve. - Browse to the archive file and click Open
- In the Select Destination Directory dialog, choose the folder where the project should be unpacked. SIMATIC Manager creates a subfolder with the project name.
- Click OK. The project is unpacked transactionally, and the
Languagefile is restored intact.
6.3 Why Archive and Retrieve Is Preferred
- Atomicity: The project is either fully extracted or not at all. Partial copies are impossible.
- Path-length safety: Archive extraction handles long Windows paths correctly; raw Explorer copy may fail on deeply nested blocks.
- Cross-version compatibility: The archive is forward-compatible within the V5.x line. A V5.4 archive can be retrieved on a V5.6 workstation and vice versa.
-
Block metadata integrity: The
Languagefile and block container headers are preserved bit-for-bit, eliminating the LAD-to-STL fallback.
7. Verification Procedures
After applying any of the three solutions, perform the following checks before declaring the issue resolved.
7.1 Block View Round-Trip Test
- Open each previously affected block.
- Switch through
View > LAD,View > FBD,View > STL. - Confirm that all three views render without error.
- Make a small change (insert a NOP 0 or a commented line), save the block, and reopen it. Confirm the view setting persists.
7.2 Project-Wide Compilation
- Right-click the
S7 Programnode and selectCompile > All Blocks. - Review the compile log. No new warnings should be introduced by the migration.
- Open the Module Information of the target CPU (if online) and verify that the program is downloadable.
7.3 Cross-Reference Check
- Select the
S7 Programnode and chooseOptions > Cross-Reference Data. - Confirm that the cross-reference display shows all blocks and that the Language column (or the language icon overlay) indicates the correct representation for each block.
7.4 Re-archive Test
Archive the project again on the target workstation, retrieve it on a third workstation, and confirm that LAD view is preserved end-to-end. This validates that the migration is complete and that the project can be shared with other engineers without re-introducing the issue.
8. Prevention Best Practices
8.1 Mandatory Archive/Retrieve Workflow
Institute a team-level rule: S7 Classic projects move between workstations only through archive and retrieve. Disable Windows Explorer copy of project folders in the team's standard operating procedure document. If a file share is used, store only the archive on the share, never the live project folder.
8.2 Version Pinning
Maintain a single STEP 7 version across all engineering workstations on a project team. Mixed versions are the most common source of the LAD-to-STL fallback. Document the required STEP 7 service pack level in the project header and enforce it through the team's setup checklist.
8.3 Editor Settings Baseline
Standardize the Options > Customize > LAD/FBD tab across the team. The recommended baseline for production projects is:
| Setting | Recommended Value | Rationale |
|---|---|---|
| Type check of addresses | Enabled | Catches type mismatches at edit time |
| Address priority | Symbolic preferred | Improves readability, consistent with team standard |
| Network comment width | 120 characters | Matches default print layout |
| Title and comment display | Both shown | Preserves documentation |
8.4 Periodic Reorganization
Perform a Save As with reorganization on the master project at every major project milestone (FAT, SAT, commissioning, handover). This keeps the project database compact and prevents the accumulation of stale metadata that can trigger the LAD-to-STL fallback.
8.5 Backup Strategy
Maintain a rolling backup of the project with at least three generations. Use the SIMATIC Manager Save As with reorganization output as the canonical backup, not the raw project folder, to ensure that the backup itself is consistent.
9. Related Issues and Edge Cases
9.1 Blocks Created in S7-GRAPH or S7-SCL
If a block was created in GRAPH (state machine) or SCL (high-level), the LAD and FBD views are not available regardless of the migration procedure. Only GRAPH or SCL view (and the canonical STL view) will be selectable. The LAD-to-STL fallback for these blocks is expected behavior, not a fault.
9.2 Know-How-Protected Blocks
Blocks protected with KNOW_HOW_PROTECT cannot be displayed in any graphical view. They open in STL only, and the source is encrypted in the block container. The LAD-to-STL issue does not apply to these blocks.
9.3 Multi-Instance and Multiple Instance DBs
Multi-instance data blocks created from FB instances may display address type ambiguity that triggers the type check failure. The standard remediation is Solution 2 (disable type check) combined with a review of the FB interface declaration to ensure that all instance parameters are explicitly typed.
9.4 Migrating from STEP 7 V4 to V5.5
Projects created in STEP 7 V4 (or earlier) and migrated to V5.x may carry forward block containers that use the older representation format. The Language file may not be present at all in the migrated project. Solution 1 is mandatory in this scenario and may need to be applied twice.
9.5 Projects with Integrated WinCC Flexible
Projects that include an integrated WinCC flexible HMI station have an additional hmi folder. The LAD-to-STL issue is unaffected by the HMI integration, but the archive procedure is — ensure that the HMI component is also archived (the SIMATIC Manager Archive command handles this automatically).
9.6 TIA Portal (STEP 7 V13+) vs. SIMATIC Manager
In TIA Portal, blocks are stored as XML files in the project directory and the language representation is explicit in the block attributes. The LAD-to-STL fallback is not possible in the same way. However, when migrating a SIMATIC Manager project into TIA Portal, the migrated blocks may open in STL if the converter cannot reconstruct the original LAD source. In this case, the fix is to open the block in TIA Portal and use Edit > Switch Programming Language > LAD, which forces a regeneration of the LAD source from the STL canonical form.
10. Troubleshooting Matrix
| Symptom | Likely Cause | First Action | Second Action |
|---|---|---|---|
| All blocks open in STL after Explorer copy | Missing or corrupt Language file |
Apply Solution 1 (delete Language, Save As with reorganization) | Apply Solution 3 (archive/retrieve from clean source) |
| Specific blocks refuse LAD view despite valid source | Type check of addresses enabled, ambiguous symbol | Apply Solution 2 (disable type check) | Review block for ANY pointers or untyped parameters |
| LAD view available but switches to STL on save | Stale Language file |
Apply Solution 1 | Verify the Language file is regenerated in Global
|
| LAD view works on source PC, STL on target PC | Different STEP 7 version or service pack | Match STEP 7 versions across the team | Apply Solution 3 (archive/retrieve) |
| Block opens in STL and View menu is greyed out | Block was created in SCL or GRAPH, not LAD | Verify original block language in project documentation | No remediation needed — this is expected |
| Block opens in STL and source is encrypted | Block has KNOW_HOW_PROTECT | No remediation possible without password | Request source from block author |
| Newly created LAD block opens in STL | Editor settings inconsistency | Apply Solution 2 | Apply Solution 1 if Solution 2 is insufficient |
| LAD view displays incorrect network order | Block was edited in STL after LAD creation | Review STL modifications and re-author the network in LAD | Save with reorganization to normalize |
11. Diagnostic Quick-Check Procedure
When the issue is reported on a new project, run this 5-minute diagnostic to determine which solution applies.
- Open SIMATIC Manager and load the project.
- Right-click the project node and choose
Object Properties. Note the Last modified timestamp and the Created with STEP 7 version field. - In Windows Explorer, navigate to the project's
Globalfolder. Confirm theLanguagefile exists. Note its size and timestamp. - Compare the
Languagefile timestamp to the last save timestamp on the project. If the file is older than the most recent block save, the file is stale — Solution 1 applies. - Open any LAD block and check
Options > Customize > LAD/FBD. If Type check of addresses is enabled and the block contains an ANY/POINTER parameter, Solution 2 applies. - If the project was last archived and retrieved, check the archive file's creation date. If the archive predates the issue, re-archive from the source — Solution 3 applies.
12. Reference: STEP 7 V5.5 / V5.6 Version Compatibility
| STEP 7 Version | Service Pack | Released | Project Compatibility |
|---|---|---|---|
| V5.0 | SP0 – SP4 | 2001 – 2004 | Original V5 project format |
| V5.3 | SP1 – SP3 | 2004 – 2006 | Compatible with V5.0 – V5.4 |
| V5.4 | SP1 – SP5 | 2006 – 2009 | Compatible with V5.3 – V5.5 |
| V5.5 | SP1 – SP4 | 2009 – 2014 | Compatible with V5.4 – V5.6 |
| V5.6 | SP1 – SP2 | 2018 – 2020 | Final V5.x release, compatible back to V5.4 |
Projects created in V5.5 SP4 can be opened in V5.6 without conversion. Projects created in V5.4 require the V5.4 SP5 compatibility patch to be installed on V5.5 or later workstations. Cross-version open is the second most common source of the LAD-to-STL fallback after Explorer copy.
13. Frequently Asked Questions
Why does my LAD block open as STL after I copy the project to another PC?
The most common cause is a missing or stale Language file in the project's Global folder, which SIMATIC Manager uses to determine which language representations are available for each block. A direct Windows Explorer copy can leave this file incomplete or out-of-date. Delete the file, then re-save the project with File > Save As > with reorganization (slow) to regenerate it.
Can I just select View > LAD to switch the block back?
If the block's LAD source is intact in the block container, the View > LAD command will switch the display. If the command does nothing, the LAD source is not registered as available — the Language file is the issue, not the editor view. Apply Solution 1 (delete the file and reorganize) before assuming the source is lost.
What is the difference between Save and Save As with reorganization?
A regular Save updates only the changed blocks and their metadata. Save As with reorganization performs a full garbage-collection pass, regenerates the Language file, rebuilds the cross-reference data, and rewrites every block container header. It is slower (several minutes for large projects) but is the only way to recover from a corrupted Language file.
Does this issue affect TIA Portal (STEP 7 V13+) projects?
The exact issue does not occur in TIA Portal because blocks are stored as XML with explicit language attributes. However, when migrating a SIMATIC Manager project into TIA Portal using the converter, blocks may arrive in STL view if the converter cannot reconstruct the original LAD source. Use Edit > Switch Programming Language > LAD in TIA Portal to regenerate the LAD representation from the STL canonical form.
Is there a way to prevent this issue when sharing projects with my team?
Use only the File > Archive and File > Retrieve workflow in SIMATIC Manager to move projects between workstations. This creates a single compressed archive that is unpacked transactionally on the target, preserving the Language file and all block metadata. Pin all engineering workstations to the same STEP 7 service pack level and standardize the Options > Customize > LAD/FBD settings across the team.