Overview
An OpenPMC (Open Process Manufacturing Controller) extract can contain files that look like PLC source code to a Siemens engineer, but they are not. The .LDR files in an OpenPMC package are recipe/procedure ladder definitions belonging to the Simatic IT suite, not the S7 / TIA Portal programming environment. Attempting to import them into Step 7, the TIA Portal, or even the S7-PLCSIM environment will fail silently with an unsupported-format dialog, leaving the engineer convinced the files are damaged when in fact only the wrong tool has been used.
This article documents the file identity, the tool chain that owns the format, the diagnostic steps to confirm the file class, and a field procedure to recover and visualise the ladder content when the original Simatic IT Management Console and Historian 3 installations are corrupt or unavailable. Procedures apply to Simatic IT versions 4.x, 5.x, and 6.x as well as the OpenPMC controller that is a runtime target of those suites.
What Is an OpenPMC LDR File?
OpenPMC is the runtime engine of the SIMATIC PCS 7 / SIMATIC IT process manufacturing stack. It executes batch procedures, equipment phases, and recipe logic. The LDR extension refers to a ladder definition resource used by the Simatic IT production model, often also referred to as the "Cube" model in the Historian context.
| Attribute | Value |
|---|---|
| Product family | SIMATIC IT, OpenPMC (Cube / Historian 3.0) |
| File extension | .LDR (ladder definition), .CFG (configuration), .RCP (recipe), .PHASE (phase library) |
| Underlying model | ISA-88 / IEC 61512 batch procedural model |
| Storage backend | Microsoft SQL Server (Historian + Management Console database) |
| Target runtime | OpenPMC controller (PCS 7 AS runtime + Simatic IT add-on) |
| Confused with | S7 LAD source (.AWL), TIA Portal block export |
Why Step 7 and TIA Portal Cannot Open LDR Files
Step 7 (SIMATIC Manager) and the TIA Portal address the S7-300/S7-400/S7-1200/S7-1500 PLC firmware programming model. LDR files in a Simatic IT extract are not PLC program blocks; they are model artefacts that the Simatic IT engine compiles into OpenPMC runtime calls.
| Environment | Open behaviour with LDR | Diagnostic |
|---|---|---|
| SIMATIC Manager (Step 7 V5.x) | "Unknown file type" – no importer registered | Dialog header shows "File cannot be opened" |
| TIA Portal V13..V19 | No import filter; appears as unsupported binary | Library / Project tree rejects the file |
| PLCSIM | Refuses to load | Logs "invalid block container" |
| Notepad / text editor | XML with Simatic IT namespace | Look for <SimaticITProcedure> or <LadderDef> tags |
| Simatic IT Management Console | Opens via Ladder Configuration page | Successful import into the procedure tree |
To confirm the file is genuinely a Simatic IT ladder definition, inspect the first 256 bytes with a hex viewer or a text editor. A version 5/6 LDR begins with an XML preamble followed by the SimaticIT.Ladder or OpenPMC.LadderDef namespace. A version 4 LDR begins with the bytes 53 49 54 4C 44 52 ("SITLDR") followed by a 32-bit little-endian version word.
Required Software Stack
To read and visualise the ladder content of an OpenPMC extract, install the Simatic IT Management Console in a version that matches the extract. The Management Console embeds the Ladder Configuration editor that is the canonical viewer for these files.
| Simatic IT Version | Management Console build | Minimum DB | Notes |
|---|---|---|---|
| Simatic IT 4.x | SIMATIC IT 4.0 SPx | SQL Server 2005/2008 | Binary LDR; uses 32-bit COM components |
| Simatic IT 5.x | SIMATIC IT 5.0 / 5.1 / 5.2 | SQL Server 2008 R2 | XML LDR; introduces Cube schema |
| Simatic IT 6.x | SIMATIC IT 6.0 / 6.1 / 6.2 / 6.3 | SQL Server 2012/2014 | Introduces UAI; compatible with PCS 7 V8.x/V9.x |
| Simatic IT Production Suite | SIT PS 1.x / 2.x | SQL Server 2016+ | Successor product; same LDR schema |
The Management Console installer is normally distributed through the Siemens Industry Online Support portal (SIOS) under entry ID 109748233 (Simatic IT Historical Versions). Engineers needing a read-only view of a 4.x extract can install the 4.x Management Console in a Windows 7 / Windows Server 2008 R2 virtual machine, since the COM components are 32-bit and incompatible with Windows 10 1903 and later.
Prerequisites
- Read access to the entire OpenPMC extract directory tree (typically a ZIP archive). Do not delete or rename files – the LDR may reference companion CFG / RCP / PHASE artefacts by relative path.
- Simatic IT Management Console installer (matching the version of the extract) plus its license key or a temporary evaluation license.
- Microsoft SQL Server (Express is sufficient) instance where the Management Console will create the empty configuration database.
- Local administrator rights on the engineering workstation – the Management Console installs several COM and DCOM services.
- Original extract directory mapped to a known path such as
C:\OpenPMC\Extract\. Avoid paths containing spaces; the 4.x COM components truncate them.
Step-by-Step Recovery Procedure
- Identify the Simatic IT version. Open the extract and look for
version.xml,manifest.xml, or a top-levelINSTALL.LOG. The string<ProductVersion>or theBuildNumberattribute will indicate 4.0, 5.2, 6.0, etc. - Inspect the LDR file with Notepad. Confirm the namespace matches the declared version. If the LDR is XML and the Management Console is binary (v4), do not force-open – the schemas are not forward-compatible.
- Install the matching Simatic IT Management Console on a clean host. Do not co-install multiple major versions; they share COM GUIDs and will conflict.
- Launch the Management Console and connect to a fresh SQL Server instance. Allow the installer to create the
SimaticITDBschema (default name in v5/v6,SimaticITin v4). - From the main tree, select Production Model → Ladder Configurations. The right-hand pane exposes a button labelled Import LDR in versions 5/6 and Load Ladder File in version 4.
- Browse to the extract and select the LDR file. The console validates the schema, resolves cross-references to PHASE and RCP files in the same directory, and loads the ladder definition into the in-memory editor.
- Use the Ladder Configuration editor to view the rung-by-rung logic. Each rung carries transition conditions, parameter assignments, and procedure calls in the ISA-88 style. The editor prints to PDF and exports to
.XMLfor documentation. - If the import wizard reports "companion PHASE not found", locate the missing artefacts in the extract; they typically share the procedure name with a different extension. Copy them into the same directory and re-import.
- Save the recovered ladder into the Management Console database. From this point the configuration can be redeployed to a fresh OpenPMC controller using Deploy to OpenPMC.
Handling a Corrupt Simatic IT Installation
When the customer's Management Console and Historian 3 installers are corrupt, the engineer must rebuild the tool chain before the LDR files can be read. The following matrix maps failure modes to remediation paths.
| Symptom | Likely cause | Remediation |
|---|---|---|
| Installer aborts with 0x80070005 | Missing admin rights or blocked CAB | Run as administrator, unblock the file in Properties → Unblock |
| Installer aborts with 0x80070002 | Damaged MSI / nested CAB | Re-download the cumulative package from SIOS; verify SHA-1 |
| Service SimaticITHistorian fails to start | SQL Server collation mismatch | Recreate the DB with SQL_Latin1_General_CP1_CI_AS collation |
| Management Console opens but tree is empty | Database attached but schema not initialised | Run SIT_DBInit.exe /s <server> /d SimaticITDB
|
| "Cannot load LDR – schema version too new" | Extract from newer version than installed Console | Upgrade the Management Console to the matching major version |
| "Cannot load LDR – schema version too old" | Extract is from an older major | Use the older Console; do not attempt in-place upgrade |
| LDR opens but rungs render as empty boxes | Missing PHASE library | Import the corresponding .PHASE archive first |
If the original Media Pool ISO is unavailable, the Simatic IT cumulative installers are still distributed through the Siemens support portal under "SIMATIC IT – Historical Versions." Each cumulative contains every prerequisite Service Pack; do not chain multiple Service Packs manually – run the cumulative in a single pass.
File Format Internals
Understanding the LDR internals allows recovery even when the Management Console cannot be installed. The format is intentionally documented for system integrators and was the subject of several SIOS Knowledge Base articles (notably entry 109757741 for the v5 schema and 109765120 for the v6 schema).
Version 4 (Binary)
- Header:
53 49 54 4C 44 52(6 bytes, "SITLDR") - Version word: uint32 little-endian, value 0x00040000 for v4
- Flags word: bit 0 encrypted, bit 1 compressed, bit 2 signed
- Body: length-prefixed TLV records; each rung encoded as a sequence of contacts, coils, and comparator opcodes
Version 5 and 6 (XML)
The body is a UTF-8 XML document with the namespace http://www.siemens.com/automation/simatic-it/ladder/v5. A minimal ladder contains one <LadderDef> root with child elements <Rung>, each of which references a <PhaseCall>, <Transition>, or <ParameterAssignment>. A version 6 LDR adds the <UAINamespace> element used by the OPC UA interface.
<?xml version="1.0" encoding="UTF-8"?>
<LadderDef xmlns="http://www.siemens.com/automation/simatic-it/ladder/v6"
version="6.2" id="PROC_REACTOR_FEED">
<Header>
<Author>plant.eng</Author>
<Created>2021-03-14T08:11:00Z</Created>
<Modified>2024-09-02T14:22:00Z</Modified>
</Header>
<Rung id="R1">
<Contact ref="tag:PUMP_01_RUN"/>
<Coil ref="tag:VALVE_03_OPEN" set="true"/>
<Transition expression="TIC_201.PV > 75.0"/>
</Rung>
</LadderDef>
For emergency documentation when no tool is available, the XML form can be rendered with any XSLT stylesheet. Siemens ships LadderExport.xslt in the install media under Tools\Export; it produces an HTML ladder view that can be opened in any browser.
Cross-Version Compatibility Matrix
| From LDR version | Target Console | Result |
|---|---|---|
| 4.x | 5.x | Migration wizard converts; audit required |
| 4.x | 6.x | Migration wizard converts via 5.x intermediate |
| 5.0 | 5.2 | Direct import; minor schema additions only |
| 5.x | 6.x | Conversion required; UAI namespace added |
| 6.0 | 5.x | Rejected – newer schema elements unknown |
| 6.2 | 6.0 | Rejected if UAINamespace used |
Diagnostic Checklist
Run through this list before declaring a file unrecoverable.
- Verify the file is genuinely
.LDRand not a renamed.LAD,.AWL, or.SCLblock export. S7 block exports from the S7-300/400 family have distinct signatures (the S7 block header70 70 70 70 70 70 70 70"pppppppp"). - Check file size. A LDR is rarely below 2 KB; a 200-byte file is almost certainly an empty stub or a pointer record.
- Confirm the extract contains companion files. A bare LDR with no PHASE / RCP / CFG siblings usually cannot be interpreted standalone – it references transition tags and parameter sets defined elsewhere.
- Search the binary for readable strings. Names such as
tag:,PROCEDURE_,PHASE_, andUNIT_are reliable markers of a Simatic IT ladder definition. - Cross-check the modification timestamps. A ladder edited after the last site acceptance test (SAT) may not match the deployed runtime – confirm against the OpenPMC controller's published hash if the historian is online.
- If the LDR is encrypted (flag bit 0 set in v4 or attribute
encrypted="true"in v5/v6), the Management Console must be pointed at the same certificate store used at export time. Without the matching certificate, only the header and rung count can be recovered.
Verification Procedure
After a successful import, validate the recovered ladder with the following checks before redeploying it to a controller.
- Open the ladder in the Ladder Configuration editor and confirm every rung renders without red markers. A red marker indicates a missing transition tag or a parameter type mismatch.
- Use Validate Against Procedure Model to compare the imported ladder with the live
Proceduresschema in the database. Warnings about deprecated opcodes indicate the LDR pre-dates a Service Pack. - Export the validated ladder to PDF and to XML, and store both alongside the original extract for audit traceability. The PDF is the human-readable artefact; the XML is the long-term machine-readable artefact.
- Run the Management Console's Static Analysis pass. The analyser produces a report listing unused tags, undefined references, and unreachable rungs. Review the report before promoting the configuration to a test OpenPMC controller.
- Deploy to a staging OpenPMC controller and run an idle recipe cycle to confirm the engine accepts the recovered configuration without rejecting any phase call.
Common Pitfalls
- Trying to convert LDR to S7 LAD. The two formats describe entirely different execution models. Simatic IT compiles LDR to OpenPMC calls at deploy time; an S7 LAD is interpreted by the S7 CPU firmware.
-
Co-installing major versions. Versions 5 and 6 share the COM class id
{C9D7C7E0-3A11-4B91-B6E0-7F4F2D2A1B6B}and will silently overwrite one another. Use a virtual machine per major version. -
Reading LDR outside the Management Console. Third-party XML viewers will display the markup but will not resolve
tag:references against the production database, producing the appearance of broken rungs. - Restoring only the database. If the SQL database is recovered from backup but the Management Console binaries are corrupt, the LDR is unreachable – the database stores configuration, not the raw LDR file the extract contained.
- Misidentifying the OpenPMC runtime as a Siemens PLC. OpenPMC is an application-level runtime sitting on top of an S7-400 / S7-1500 CPU. Its program artefacts (PHASE, LDR, RCP) live in the Simatic IT database, not in the PLC's offline block container.
Field-Commissioning Notes
When the recovered LDR is destined for a new OpenPMC controller, perform the deploy in a controlled sequence: import the ladder into a clean Management Console database, run static analysis, deploy to a staging OpenPMC, exercise the procedure under simulation, then promote to the production controller. Do not bypass the staging step; an unreferenced tag in a ladder will fault the OpenPMC runtime with code 0x80047207 ("Tag not subscribed") and the batch will be held.
For long-term archival, store both the raw LDR file and the PDF export. The raw LDR is the only authoritative source if the Management Console schema is later upgraded; the PDF is the only artefact readable without any Siemens tooling.
FAQ
Can I open an OpenPMC LDR file directly in TIA Portal?
No. LDR files belong to the Simatic IT production model, not the S7 / TIA Portal programming environment. Import them into the Simatic IT Management Console using the Ladder Configuration page – any version of Simatic IT (4, 5, or 6) that matches the extract's schema will open them.
The customer's Management Console installer is corrupt – how do I read the LDR files?
Re-download the matching Simatic IT cumulative installer from the Siemens Industry Online Support portal (entry 109748233). Install on a clean Windows host together with a fresh SQL Server Express instance, allow the installer to create the SimaticIT database, then import the LDR through the Ladder Configuration editor. Do not attempt to repair the corrupt installer with the Windows Installer cleanup utility – the COM registrations will be inconsistent.
Is an OpenPMC LDR the same as an S7 LAD file?
No. An S7 LAD file is a PLC program block interpretable by the S7 CPU firmware. An OpenPMC LDR is a procedure-level ladder definition compiled by the Simatic IT engine into OpenPMC runtime calls. They share the word "ladder" and a similar visual style, but the file format, namespace, and execution model are completely different.
Which Simatic IT version produced my LDR file?
Open the LDR in Notepad. If the file begins with <?xml and contains a namespace .../ladder/v5 or .../ladder/v6, it is from Simatic IT 5 or 6. If the file is binary and starts with the bytes 53 49 54 4C 44 52 ("SITLDR"), it is from Simatic IT 4.x. The exact version is recorded in the version attribute of the root element or in the 32-bit version word following the header.
Can I read an encrypted LDR file without the original certificate?
No. Encrypted LDR files (flag bit 0 in v4 or attribute encrypted="true" in v5/v6) require the certificate used at export time. The Management Console will load the header and rung count for diagnosis, but the rung contents remain sealed. Re-export from the source site with a fresh unencrypted copy if long-term archival is required.
Why does my Management Console show "schema version too new" when importing a 6.2 LDR?
The installed Console is older than the LDR's major version. Install the matching Simatic IT Management Console (6.2 or later 6.x) – the LDR schema is not backward-compatible. Always match the major version of the Console to the LDR, then use the migration wizard for any sub-version differences.