TP 177B Memory Error After OS Update: ProSave Recovery Procedure
1. Problem Definition
The Siemens SIMATIC TP 177B is a 4" or 6" operator panel in the SIMATIC 170/177 series running Windows CE 5.0. After an attempted operating system update via the ProSave service tool, the panel reports one or more of the following errors at boot or during transfer:
- "There is not enough memory on destination device" — raised by ProSave when the destination partition cannot hold the OS restore image.
- "Please wait while writing crash dumps" — appears when Windows CE is interrupted during a flash write and is forced to persist diagnostic data to a partition that is now too small.
- "Program memory is low" — runtime message during a project transfer.
- "Insufficient storage space for this PZD file on destination device" — raised when the back-transfer archive (a copy of the runtime project held on the panel for upload to the engineering station) does not fit the configured storage partition.
- "Internal Error — Transfer Failed" — Pack & Go or active transfer terminator error when the panel rejects the incoming archive.
All five symptoms share the same underlying class of fault: the partition table on the internal flash is no longer in a state that matches the OS restore image plus the active project.
2. Affected Hardware, Firmware, and Tooling
| Component | Specification |
|---|---|
| Panel family | SIMATIC TP 177B (4" mono, 4" color, 6" mono, 6" color) |
| MLFB prefix | 6AV6 642-0xAxx / 6AV6 642-0xBxx (DP and PN/DP variants). Verify exact MLFB on the rating plate. |
| Operating system | Windows CE 5.0, image delivered through ProSave OS update files (.img) |
| User memory (flash) | Approximately 2 MB usable for project + back-transfer archive, partitioned into Storage Memory and Program Memory |
| Engineering tool | WinCC flexible 2004 / 2005 / 2007 / 2008 SP2/SP3 or TIA Portal with WinCC Comfort/Advanced |
| Service tool | ProSave (bundled with WinCC flexible, also distributed standalone by Siemens) |
| Transfer cable (factory reset) | RS232/PPI Multi-Master cable, e.g. 6ES7 901-3CB30-0XA0 (USB) or 6ES7 901-3BF20-0XA0 (RS232) |
| Transfer cable (runtime transfer) | Ethernet (PN/DP variants), MPI/PROFIBUS, or USB-PPI |
For operating-system images and ProSave, use the Siemens Industry Online Support entry pages for the specific MLFB. Always match the OS image to the panel variant — a 4" image will not boot on a 6" unit and vice versa.
3. TP 177B Memory Architecture and Partitioning
The TP 177B internal flash is partitioned at the factory into two cooperating regions whose sizes can be re-balanced by the engineering station through ProSave or by the panel's own Control Panel applet.
| Partition | Default Size | Contents | Function |
|---|---|---|---|
| Storage Memory | 512 KB (factory default) | Back-transfer archive of the last downloaded project, recipe data, log archives, user files | Survives project download; used to upload the active project back to the engineering station |
| Program Memory | 47,284 KB (factory default) | Compiled runtime project (.pzd/.pdz), OS image, firmware | Holds the executable HMI application; receives new project on transfer |
| Total usable flash | ~ 47,796 KB | — | Sum is fixed; resizing one partition reduces the other |
The default distribution (Storage = 512 KB, Program = 47,284 KB) is what ProSave assumes when it stages an OS restore image. Any deviation from these sizes risks the OS image not fitting into Program Memory.
3.1 Field-Observed Corrupted Partition State
| Partition | Default | Observed (corrupted) | Effect |
|---|---|---|---|
| Storage Memory — allocated | 512 KB | 37,568 KB | Massively over-allocated; leaves only a small Program region |
| Storage Memory — used | — | 76 KB | Back-transfer archive is small, but the reservation consumes almost the entire flash |
| Program Memory — allocated | 47,284 KB | 10,228 KB | Under-allocated; cannot hold the OS restore image |
| Program Memory — used | — | 9,712 KB | Active project consumes nearly all remaining space |
In the field case, Storage Memory was manually inflated to 37,568 KB while Program Memory shrank to 10,228 KB. ProSave rejected the OS restore because the OS image plus a minimal buffer could not fit in 10,228 KB. Restoring the defaults (512 KB / 47,284 KB) returned the panel to a recoverable state.
4. Root Cause Analysis
4.1 Partition Corruption from Interrupted Restore
When a ProSave OS update is interrupted — by loss of power, an unplugged cable, an engineering station crash, or a previous failed restore that exited early — Windows CE may commit a partial partition layout. The boot loader then runs against an inconsistent partition table, the runtime fails, and any subsequent ProSave attempt computes a destination size that is smaller than the OS image. The error string is reported verbatim by ProSave.
4.2 Back-Transfer Archive Pressure
When the engineering station transfer option "Enable back transfer" is checked, the panel must reserve storage to hold the outgoing archive before receiving the new project. The reserve size is calculated against the configured Storage Memory. If the active project is large, the required archive can exceed Storage Memory; ProSave then reports "Insufficient storage space for this PZD file on destination device". The user-side fix observed in the field is to clear the Enable back transfer check box during transfer, so the panel is not required to persist a back-transfer archive at all.
4.3 Project Size vs. Usable Memory
The TP 177B user data limit is approximately 2,048 KB (2 MB) of usable memory for the compiled project. If the project compiled in WinCC flexible exceeds this, the panel will accept neither the project nor the OS restore that follows. The compile output is visible in WinCC flexible's Output view; Project > Compiler > Output reports total project size.
5. Pre-Diagnostic: Reading Panel Memory State
Before any restore action, capture the current partition state from the panel's Control Panel. The path is the same on every TP 177B and does not require a keyboard.
- Boot the panel. If the runtime does not start automatically, press the Start button on the panel face.
- Open Control Panel > System > Memory (also reachable via the Loader menu if the project does not start).
- Record Storage Memory — allocated and Storage Memory — used.
- Record Program Memory — allocated and Program Memory — used.
- Compare against the defaults (512 KB / 47,284 KB). Any deviation of more than a few hundred KB indicates a manual resizing or a corrupted partition table.
If the panel will not boot into the runtime or the Control Panel, jump directly to Recovery Path B; the default restore wipes both partitions and rebuilds them.
6. Recovery Path A: Restore Default Partition Sizes
Use this path when the runtime is still reachable and only the partition sizes are wrong. It is the fastest and least destructive option.
- Open Control Panel > System > Memory.
- Set Storage Memory allocation slider to 512 KB (the default minimum).
- Set Program Memory allocation slider to 47,284 KB (the default maximum).
- Apply. The panel will confirm a restart — accept.
- After restart, re-open Control Panel > System > Memory and verify the new allocations took effect.
- Re-attempt the ProSave OS update with Reset to factory settings enabled.
7. Recovery Path B: ProSave Reset-to-Factory OS Update
Use this path when the runtime is unreachable, when Path A did not free enough program space, or when the OS image is suspected corrupt. The procedure rebuilds the partition table and reinstalls the OS image from scratch.
7.1 Prerequisites
- RS232/PPI Multi-Master cable (Siemens 6ES7 901-3CB30-0XA0 or 6ES7 901-3BF20-0XA0).
- ProSave installed on the engineering station (version matched to the OS image).
- The correct
.imgOS file for the panel MLFB. Download from Siemens Industry Online Support using the MLFB filter. - PC COM port free, or USB driver installed for the cable.
7.2 Procedure
- Disconnect the panel from the field network. Power down.
- Connect the RS232/PPI Multi-Master cable between the PC and the panel's PPI/MPI port. The cable ships set to PPI mode; do not switch to MPI for an OS restore on the 177B.
- Set the cable DIP switches to the PPI Multi-Master profile: SW1 = 1, SW2 = 0, SW3 = 1, SW4 = 0, SW5 = 1, SW6 = 0 (115,200 bps, PPI master emulation). Switch settings vary by cable revision — confirm against the cable's printed legend.
- Power the panel. If the panel still boots Windows CE, leave it running. If it is in the loader menu (white screen), proceed to step 5.
- On the PC, launch ProSave. From the menu File > Open, browse to the
.imgfile. - Configure the connection: Type = Serial, Port = COM1 (or the COM port assigned to the USB cable), Baud = 115,200, Protocol = PPI.
- Open the OS Update tab. Check "Reset to factory settings" — this is the option that wipes both partitions and rebuilds the default layout.
- Click Update OS. ProSave will reboot the panel into the loader, transfer the image, write it to flash, and reboot the panel into the restored runtime.
- Total elapsed time: 4 to 12 minutes depending on the cable baud rate and image size.
7.3 Verification After Restore
- Confirm the panel boots to the loader or to a blank runtime within 90 seconds.
- Open Control Panel > System > Memory and verify Storage = 512 KB, Program = 47,284 KB.
- Open Control Panel > System > Device and verify the firmware version matches the image just installed.
8. Recovery Path C: Pack & Go Re-Transfer
Pack & Go packages the WinCC flexible project together with the runtime binaries needed to load it, so the project can be transferred to a panel from a PC that does not have WinCC flexible installed. It also helps isolate whether the fault is on the engineering station or on the panel: a Pack & Go archive that loads onto a second TP 177B in seconds but times out on the suspect panel confirms the suspect panel is the source of the fault, not the project.
8.1 Creating the Pack & Go File
- In WinCC flexible, open the project.
- Select Project > Pack & Go.
- Choose the target directory and confirm. WinCC flexible generates a
*.pckfile plus the runtime support files in a single folder. - Copy the folder onto the transfer PC.
8.2 Loading on the Panel
- Launch the Pack & Go viewer/loader on the transfer PC.
- Select Serial / MPI / Ethernet depending on the panel interface.
- Choose Transfer. On a healthy panel, the transfer completes in seconds.
- If the transfer reports "Internal Error" after the "now performing final steps" message, the panel rejected the archive — see section 9.
9. Project Size Constraints and Limits
| Constraint | TP 177B Limit | How to Verify |
|---|---|---|
| Usable memory for user data | ≈ 2,048 KB | WinCC flexible Output view after Compile |
| Number of screens | 500 (typical) | Project tree > Screens count |
| Tags per project | 1,024 (typical) | Project tree > Tags count |
| Number of recipes | 100 (typical) | Project tree > Recipes count |
| Alarm classes / messages | Depends on message length; bound by 2 MB total | Project tree > HMI Alarms |
| Back-transfer archive size | Bound by Storage Memory allocation | Storage Memory allocation in Control Panel |
If the compiled project exceeds the 2,048 KB usable memory limit, the transfer will fail regardless of OS health. In that case the project must be reduced — fewer screens, smaller bitmaps, fewer log entries, or switched to a larger panel such as TP 277 or Comfort Panel.
10. Verification and Commissioning Checklist
| Step | Pass Criterion |
|---|---|
| Panel boots without crash-dump message | No "Please wait while writing crash dumps" within 60 s of power-up |
| Loader menu accessible from panel face button | Loader menu opens within 5 s of pressing the button |
| Memory partition defaults | Storage = 512 KB, Program = 47,284 KB |
| Project transfer completes | Progress bar reaches 100 % and panel reports "Transfer completed successfully" |
| Runtime starts automatically | Project screen visible within 30 s of transfer completion |
| Touch calibration | Calibration screen reachable via Loader > Touch > Calibrate |
| Back transfer (if enabled) | Engineering station can read the active project back from the panel |
| Communication with PLC | Status bar shows connected; first tag update visible on screen |
11. Preventive Configuration
- Leave Storage Memory at the default 512 KB unless a documented requirement forces a larger archive. Every KB given to Storage is a KB removed from Program.
- Disable "Enable back transfer" for production panels that do not need to upload to the engineering station. Re-enable only for the duration of a deliberate upload session.
- Compile before download. Always check the Output view for the project size and address any warnings before transferring.
- Match the OS image to the MLFB. A wrong image produces a non-booting panel and a false "not enough memory" error because ProSave cannot reconcile the image header.
- UPS the panel during any OS update. A power interruption during flash write is the single most common cause of the partition corruption this article addresses.
- Keep ProSave version matched to the OS image version. Mismatched ProSave versions occasionally misreport the available destination size.
12. Frequently Asked Questions
What does "There is not enough memory on destination device" mean during a TP 177B OS update?
ProSave cannot fit the OS restore image into the panel's Program Memory partition. The partition has been resized below the image's required size, or a previous failed restore left the partition table inconsistent. Restore the default allocation (Storage = 512 KB, Program = 47,284 KB) or run the OS update with "Reset to factory settings" via ProSave and an RS232/PPI Multi-Master cable.
Why does the panel say "Please wait while writing crash dumps" after a failed OS update?
Windows CE was interrupted during a flash write and is persisting diagnostic data before allowing further writes. Let the panel finish the dump (typically under 5 minutes), then run a fresh ProSave OS update with "Reset to factory settings". Do not power-cycle during the dump.
How do I reset the TP 177B to factory defaults without WinCC flexible installed?
Use ProSave standalone with the correct .img file and an RS232/PPI Multi-Master cable (Siemens 6ES7 901-3CB30-0XA0 or 6ES7 901-3BF20-0XA0). In the OS Update tab, check "Reset to factory settings", set the connection to PPI at 115,200 bps, and click Update OS. The panel reboots into the loader, receives the image, and restarts with default partitions.
What is the maximum project size for a TP 177B?
Approximately 2,048 KB of usable memory for the compiled project. Larger projects must be reduced or migrated to a TP 277 / Comfort Panel. The compile output in WinCC flexible reports the exact size.
Why does the transfer fail with "Insufficient storage space for this PZD file on destination device"?
The "Enable back transfer" option requires the panel to reserve storage for the outgoing archive before receiving the new project. If the active project plus the archive exceeds the configured Storage Memory, the transfer is rejected. Clear "Enable back transfer" for that transfer session, or raise Storage Memory and lower Program Memory accordingly.
Can I fix a TP 177B with "Internal Error — Transfer Failed" without replacing the panel?
Yes. Run a ProSave "Reset to factory settings" OS update via RS232/PPI, then re-transfer the project (either via WinCC flexible, TIA Portal, or Pack & Go). The error is typically partition-related and is cleared by the factory restore. Replacement is required only if flash hardware has failed.