Retrieving a WinCC Flexible Project from a Live Siemens HMI Panel
Engineer field-notes on recovering the runtime image of a SIMATIC HMI when the engineering source on disk no longer matches what is actually running on the panel. Covers the backtransfer path, the ProSave image path, the WinCC Flexible compare limitations, and a working version-control workflow with VersionDog or TIA Portal equivalents.
Problem Definition: HMI Source vs Runtime Drift
When an HMI panel sits in production for months or years, three repositories of "the project" tend to drift apart: the engineering source on the developer's ES, the AsBuilt backup stored on a file server, and the live runtime image flashed on the panel itself. The drift is silent: there is no compile error and no checksum mismatch, only a divergence that surfaces when a tag rename, a screen layout change, or a recipe structure has been edited on the panel and never checked back in. The drift becomes critical the moment a touch-glass breaks, the compact flash card fails, or a new programmer is asked to modify the project and discovers that none of the available sources match the device in front of them.
This article assumes the worst case: you do not have a clean engineering source, the original programmer is unavailable, and the only copy of the project is the one running on the panel. Two Siemens-native paths exist to recover it, plus a third-party path that should be the long-term answer to prevent the problem from recurring.
Understanding the Two Retrieval Paths: Backtransfer and ProSave
Siemens ships two distinct mechanisms for lifting project data off a live panel. They are not interchangeable, and the choice between them is dictated by whether backtransfer was enabled at the time of the last download.
| Feature | Backtransfer (project shadow) | ProSave (*.psb / *.brf) |
|---|---|---|
| Recoverable artefact | Editable WinCC Flexible project | Compressed runtime backup, read-only |
| Editable in ES | Yes (after a compile) | No, restore-only |
| Prerequisite on panel | Backtransfer must have been enabled at download time | None, works on any panel with a service interface |
| Storage location on panel | Internal flash or external memory card | External memory card only (CF or MMC depending on panel) |
| Transfer medium | Ethernet (PN/IE) or MPI/PROFIBUS | Ethernet (PN/IE), MPI/PROFIBUS, serial, or USB stick on Comfort Panels |
| Memory overhead on panel | Significant — eats into recipe and log capacity | None on panel — ProSave writes the backup to a host folder |
| Typical use case | Recover lost engineering source | Disaster-recovery image, point-in-time snapshot |
Backtransfer is what you want if you intend to open the file in WinCC Flexible ES and continue editing. ProSave is what you want if you only need to restore the panel to a known-good state after a hardware swap. In a recovery scenario where the panel still runs, both should be performed; the editable copy is the working copy, the ProSave image is the safety net.
Prerequisites: Engineering Station, Cable, and Memory Requirements
Before you touch the panel, verify that the engineering station can physically talk to it and that there is enough storage to absorb the upload.
Engineering station
- WinCC Flexible 2008 SP5 (or later) installed, with the same major version that originally commissioned the panel. Mixing SP levels is possible for compatibility but introduces tag-type warnings on compile.
- Local administrator rights to bind to the panel's port (typically 102 for S7ONLINE, 8000 for the panel transfer channel).
- Available disk space: a backtransferred MP 377 project with full logs and recipes can exceed 40 MB; an OP 177B project is typically under 5 MB.
Cabling and addressing
Identify the panel's transfer channel. Comfort Panels and most MP/MPx panels expose Ethernet on the rear X1 port. Older OP 170 and OP 270 panels use MPI or PROFIBUS only. For Ethernet retrieval, set the panel's transfer mode to ETHERNET and assign a fixed IP inside the same subnet as the ES; do not rely on DHCP for a one-shot recovery because some firmware revisions drop the lease when the loader mode is entered.
Memory card sizing
Backtransfer uses the panel's internal flash plus any installed memory card. Siemens documents a backtransfer memory overhead that scales with project size; as a rule of thumb, reserve 1.5× the original download size. For panels that ship without a card (OP 177B 8 MB, for example) you must insert a Siemens-branded CF or MMC card of at least 256 MB before enabling backtransfer, otherwise the panel will silently drop the backtransfer shadow at the next transfer.
Enabling Backtransfer Before Download (Preventive Step)
Backtransfer is opt-in at the time the project is downloaded to the panel. It cannot be retroactively enabled from the ES by talking to a panel that was last loaded with the option disabled. The toggle lives in the transfer settings dialog and writes a flag into the panel's runtime configuration that the HMI loader reads on the next restart.
- In WinCC Flexible ES, open the project and select Project > Transfer > Transfer Settings.
- Highlight the active target (for example
MP 377 15" Touch) and click Edit. - Switch to the Settings tab.
- Tick Enable backtransfer and choose the storage location:
Internal Flashfor small projects orMemory Cardfor projects above ~8 MB. - Confirm with OK, then perform a normal Project > Transfer > To Target System.
The runtime stores a shadow of the compiled project in /backup on the chosen medium. Once this exists, the same dialog's From Target System > Backtransfer menu becomes available.
Performing a Backtransfer Upload from a Live Panel
With the prerequisite met, the upload is a three-click operation.
- Connect the ES to the panel's transfer channel (PN/IE or MPI/PROFIBUS) and set the panel into Transfer mode via the loader (Start Center > Transfer).
- In WinCC Flexible ES, choose Project > Transfer > Backtransfer. If the menu is missing, the target is unreachable or the option is not enabled — see the troubleshooting matrix.
- In the Backtransfer dialog, browse to the project's storage location on the panel (
Internal Flash\backuporMemory Card\backupdepending on the choice made at download time), select the archive, and accept the destination folder on the ES. - WinCC Flexible unpacks the archive and performs an integrity check. If the check passes, the project opens in the ES for read or compile; if not, see F6A02 and F6A17 in the troubleshooting matrix.
File layout on the panel
| Path | Contents | Editable in ES |
|---|---|---|
/backup/project.hmi |
Compiled project archive (binary) | Yes, via backtransfer |
/backup/recipes/*.csv |
Active recipe data set | No, runtime only |
/backup/logs/*.csv |
Circular logs at the time of last download | No, runtime only |
/backup/Users/*.txt |
User accounts and password hashes | No, runtime only |
Using ProSave for Full Image Backup
ProSave is Siemens' panel-side image tool, distributed as a standalone executable that ships with WinCC Flexible and TIA Portal and can also be downloaded as a free component from the Siemens Industry Online Support portal. ProSave reads the panel's complete file system — including the runtime image, the recipe databases, the log files, and any custom DLLs in /addon — and writes a single *.psb (or *.brf for older panels) archive. The archive is compressed and can be used to restore a bricked panel to an identical state, but it is not editable.
- Launch ProSave from Start > Siemens Automation > SIMATIC > ProSave.
- Select the panel type from the drop-down (must match the target exactly, including the firmware major version).
- Choose the connection type:
Ethernet (TCP/IP),PROFIBUS / MPI, orUSBfor Comfort Panels. - Enter the panel's IP address (or MPI address in the form
X.Y) and the access password if one is set on the panel. - Switch to the Backup tab, set a destination
*.psbfile, and click Start Backup.
A typical 32 MB MP 377 image takes 4–8 minutes over a 100 Mbit/s Ethernet link. Larger Comfort Panel images with full log history can run 200 MB and take 20+ minutes. ProSave does not stream progress to the panel screen; watch the host-side progress bar and do not interrupt the transfer, because the panel reboots into loader mode at the end of the read and an interruption can leave the loader in an inconsistent state that requires a factory reset.
100; on later panels it is blank unless the operator explicitly set one. If the panel password is unknown, ProSave can be reset only by a factory reset, which destroys the runtime. There is no backdoor.Why Online/Offline Compare Is Limited in WinCC Flexible
Unlike STEP 7 / TIA Portal for PLC programs, WinCC Flexible does not implement a real online/offline diff. The Online > Compare command exists in some SP levels but only checks the compiled runtime fingerprint against the ES build; it does not show you which tag, screen, or alarm has changed. The same restriction applies to offline/offline compare: WinCC Flexible can read two project files, but the merge logic is coarse and frequently reports a difference where the only delta is a screen position that was rounded differently by the renderer. For meaningful version control, you must use an external tool.
The reason is architectural. WinCC Flexible stores the project as a binary *.hmi file; the source-level *.srt / *.ldf decomposition that STEP 7 provides is not present. TIA Portal's WinCC does emit a structured project tree that diffs cleanly, which is one of the strong reasons to migrate any new project off WinCC Flexible. Until that migration is on the roadmap, the workflow described in the next section is the practical answer.
Establishing a Version Control Workflow (VersionDog and Alternatives)
The cleanest long-term fix is a vendor-neutral version control layer that snapshots the project on every transfer. VersionDog by Auvesy-MDT is the de-facto choice in European Siemens Solution Partner shops and explicitly supports WinCC Flexible, STEP 7, TIA Portal, and over 80 other automation sources. It runs as a Windows service, watches the engineering folder, and writes immutable, time-stamped archives with a full audit trail. Other viable options include:
- Siemens SCE knowledge base scripts that wrap ProSave into a scheduled task — free but no semantic diff.
- Git + Git LFS for projects that have already been migrated to TIA Portal, where the project is a folder of XML files that diff cleanly.
- DVCS / PTC Integrity for plants that already run a corporate PLM and want the HMI project under the same change-control workflow as the mechanical drawings.
The minimum viable workflow is: every successful Transfer > To Target System is followed by a VersionDog commit, the commit message references the change ticket, and the nightly job verifies that the panel's runtime fingerprint still matches the latest committed binary. If they diverge, the operator is paged before the next shift starts. This single practice eliminates the majority of "where is the source" tickets that motivate the original question.
Comparing WinCC Flexible vs TIA Portal Retrieval
| Capability | WinCC Flexible 2008 | TIA Portal (WinCC) |
|---|---|---|
| Backtransfer (editable) | Yes, opt-in at download | Yes, opt-in at download (Device menu > Compile > Settings) |
| ProSave image | Yes, free | Yes, ships with TIA Portal |
| Online/Offline diff with semantic output | No | Yes, from V15.1 onward |
| Source-level diff (XML) | No (binary *.hmi) |
Yes (structured XML tree) |
| Reverse engineering from runtime | Full, ES re-compiles | Full, ES re-compiles |
| Network transfer over HTTPS | No, only S7ONLINE | Yes, V16+ supports TLS |
If the panel is already on TIA Portal, the procedure is the same in shape but the menu paths change: Online > Backtransfer from the project tree replaces Project > Transfer > Backtransfer, and the TIA Portal archive format is *.apxx rather than *.hmi. ProSave works against both, as long as the ProSave version you launch matches the panel firmware major version.
Verification and Validation After Retrieval
After a successful backtransfer, perform these checks before you declare the source recovered.
- Compile the backtransferred project in the ES. A clean compile confirms that the runtime did not depend on a feature pack the ES is missing.
- Compare tag count, alarm count, and screen count against a known-good baseline. The ES reports these in Project > Properties > Statistics.
- Run a side-by-side ProSave backup from the live panel and from the restored source. The two
*.psbarchives should match byte-for-byte; any drift is diagnostic of a recipe or log that was edited on the panel and not committed to source. - Perform a fingerprint check: the runtime version string visible on the panel's Start Center > Settings > OP dialog must match the version field inside the backtransferred project.
- Push the recovered source into version control and tag it as the new baseline. Any subsequent edits branch from this commit.
Troubleshooting Matrix
| Symptom | Likely cause | Resolution |
|---|---|---|
| Backtransfer menu is greyed out in ES | Option was not enabled at last download | Re-download with backtransfer enabled during a planned stop |
| Transfer fails with F6A02 | Memory card full or missing | Insert Siemens CF/MMC card, ≥256 MB, re-download with backtransfer |
| Transfer fails with F6A17 | Backtransfer file is corrupt | Restore panel from last ProSave image, schedule a clean re-download |
| ProSave reports "password incorrect" | Operator changed the transfer password | Factory reset is the only path; capture runtime first if possible |
| Panel not visible in transfer dialog | Subnet mismatch or PG/PC interface not bound | Set PG/PC interface to S7ONLINE (STEP7) -> TCP/IP, ping the panel |
| Backtransfer completes but ES cannot compile | SP level mismatch between ES and original transfer | Install the matching SP5 of WinCC Flexible, recompile, then commit |
| ProSave backup aborts near completion | Network timeout on large log folder | Switch to a direct cross-over cable or set a static IP outside the corporate DHCP |
| Recovered project opens but screens are blank | Original programmer used a runtime-only graphic set | Restore the missing graphics from the AsBuilt share, re-import into the project |
| Recipe data missing after restore | Recipes were stored in panel RAM, not on card | Recover from last ProSave image; user-defined recipes cannot be reverse-engineered from a runtime shadow |
Best-Practice Checklist Before You Leave Site
- Enable backtransfer on every project, even if you are "going to commit it tomorrow."
- Install a Siemens-branded memory card of adequate size on every MP 377 and Comfort Panel.
- Schedule a ProSave backup before any firmware update or major recipe change.
- Set up a version control job (VersionDog or equivalent) that fires on every successful transfer.
- Document the transfer password in the project's AsBuilt record, encrypted in the plant's secret manager.
- Train the on-site maintenance team on how to read the loader screen so they can put the panel into transfer mode without calling you at 2 a.m.
Following these six steps turns a one-off recovery into a routine operation and removes the "the panel has a different version than our backup server" failure mode from the plant's incident taxonomy.
How do I know whether backtransfer is enabled on a running panel without taking it offline?
You cannot query the flag over the wire. The only reliable indicators are the existence of a /backup/project.hmi shadow on the panel's storage (browseable through the loader's File Browser if available) and the presence of a Project > Transfer > Backtransfer menu item that is active in the ES when connected. If either is missing, backtransfer was disabled at the last download and a planned stop is required to turn it on.
Can I open a backtransferred WinCC Flexible archive in TIA Portal?
No. WinCC Flexible's archive uses a binary container that TIA Portal does not read directly. The migration path is to install WinCC Flexible 2008 SP5 alongside TIA Portal, open the backtransferred project in WinCC Flexible, then use the "Migrate WinCC Flexible project" wizard that ships with TIA Portal V15.1 and later to produce a TIA-native project. Migration is lossy: any custom VB scripts and some third-party ActiveX controls need to be re-applied by hand.
What is the difference between a ProSave *.psb and a ProSave *.brf file?
*.psb is the current format used by WinCC Flexible 2008 and TIA Portal. *.brf is the legacy format used by ProSave versions shipped with ProTool and early WinCC Flexible. The two formats are not interchangeable; you must use the ProSave version that matches the panel's firmware major version, otherwise the panel rejects the archive on restore. Older *.brf archives can be opened by the current ProSave for read-only verification but cannot be restored to a newer panel.
How much memory does enabling backtransfer actually consume on the panel?
Reserve 1.5× the original compiled project size as a working rule. A 10 MB project therefore needs roughly 15 MB of free space on the chosen medium. The panel does not pre-allocate this space; the backtransfer shadow is written at the end of the next successful download. If the chosen medium runs out of space mid-write, the transfer completes from the ES point of view but the panel logs F6A02 and rolls back the shadow, leaving the runtime untouched but the Backtransfer menu permanently disabled until a clean download is performed with a larger card.
Is VersionDog the only third-party option for automating WinCC Flexible version control?
No. Auvesy-MDT's VersionDog is the most widely deployed option in European Siemens Solution Partner shops, but for plants that have already standardized on a different toolchain, Git LFS plus a ProSave wrapper script delivers equivalent functionality for TIA Portal projects. For legacy WinCC Flexible, a scheduled task that runs ProSave nightly into a Git LFS repository is workable but loses the semantic-diff advantage; you are diffing binary blobs, so a non-match only tells you "something changed," not what. For meaningful change tracking on WinCC Flexible, VersionDog or a comparable industrial-VCS product remains the practical choice.