Siemens S5 CPU 928/928B Program Backup with RAM and EPROM Memory Modules
The Siemens SIMATIC S5-135U/155U CPU 928 and CPU 928B controllers remain in service across process plants, packaging lines, and machine tools decades after their original commissioning. The single most common field-service question on these CPUs is how to make a non-volatile program backup that can be reloaded without dragging a PG (Programmiergerät) or laptop to the site. This reference covers the memory architecture of the CPU 928 family, the difference between RAM and EPROM sub-modules, the role of the backup battery, the STEP5 upload/download workflow, the location of the memory module slot, and a verified field-replacement procedure.
1. CPU 928 Family Overview
The CPU 928 was introduced as a mid-range controller for the S5-135U and S5-155U rack systems. Variants found in service include:
| Variant | MLFB / Order Number | Typical Use |
|---|---|---|
| CPU 928 | 6ES5928-3UA11 / 6ES5928-3UB11 | Original 135U/155U mid-range |
| CPU 928B-3UB11 | 6ES5928-3UB11 | Enhanced instruction set, larger work memory |
| CPU 928B-3UB12 | 6ES5928-3UB12 | Further firmware enhancements |
| CPU 928B-3UB21 | 6ES5928-3UB21 | Latest production variant, expanded DB and FB support |
The programming and operations manuals for these variants are still available from Siemens Industry Online Support:
- S5-135U/155U CPU 928B Programming Guide (covers 3UB11 / 3UB12)
- CPU 928B-3UB21 Programming Guide
- S5-135U/155U CPU 928/928B/948 List of Operations
2. Memory Architecture of the CPU 928/928B
The CPU 928 family separates work memory (RAM, volatile) from load memory (sub-module slot). The load memory sub-module can be populated with one of three media types:
| Module Type | Common MLFB | Capacity | Volatile? | Programming Method |
|---|---|---|---|---|
| RAM sub-module | 6ES5371-... / 6ES5372-... | 32 KB / 64 KB | Yes (battery backed) | Online from PG via STEP5 |
| EPROM sub-module | 6ES5373-0AA21 / similar | 32 KB / 64 KB | No (UV-erasable) | External PROMMER required |
| EEPROM sub-module | 6ES5374-... (where supported) | 32 KB | No (electrically erasable) | External PROMMER or PG with EEPROM driver |
When the CPU is delivered with only onboard RAM and a lithium backup battery, the battery alone preserves the program during a power loss. The sub-module slot may be present but unpopulated; on earlier units it is covered with a removable blanking plate approximately 1 cm wide by 5 cm high.
2.1 Battery Backup vs. EPROM
The internal lithium battery (typically 3.6 V, 1.7 Ah, type LTC-3PN or equivalent A2 cells in the battery compartment) maintains both the onboard RAM and any RAM sub-module for several years. A failing or removed battery erases the work memory on the next power cycle. EPROM, in contrast, retains data without any power source and is immune to battery failure, which is the principal reason a service technician would convert a CPU 928B to EPROM boot.
3. The Memory Sub-Module Slot
The sub-module slot is located on the front edge of the CPU module, accessible without removing the module from the rack. The slot accepts the standard Siemens memory card footprint. Procedure to access:
- Place the CPU in STOP using the mode selector.
- Open the front access cover.
- Identify the card (label side up; notch orientation toward the front).
- Release the ejector tab and pull the card straight out.
- When inserting, ensure the card seats fully; an improperly seated EPROM will cause the CPU to enter STOP with a SUB-MODULE FAULT.
The slot is keyed to prevent reverse insertion. On a 928B-3UB21 the slot is labelled EP/EEP on the silk-screen.
4. Determining Whether the Sub-Module Is Required
Before designing a backup strategy, you must know whether the user program fits entirely in the onboard work memory. The standard procedure is:
- Go online with STEP5 via the TTY/serial interface (PG cable 6ES5734-2BD20 or USB-to-TTY converter such as a SIEMENS PC-TTY adapter, 6ES5722-.../USB variant).
- Select File → Compress Memory (German: Speicher verdichten) so the entire work memory is contiguous.
- Switch to the block list view and verify the program size against the CPU's work-memory capacity (see Section 8).
- Power down.
- Remove the RAM sub-module.
- Power up.
- If the CPU enters RUN, the program fits in onboard memory and the sub-module can be replaced with EPROM. If the CPU enters STOP with a memory-fault indicator, reinsert the RAM module and reload from PG.
5. STEP5 Backup Procedure
STEP5 is the dedicated Siemens programming environment for the S5 family. It is no longer sold by Siemens but is widely retained in service organizations. The backup dialog (German UI: Sicherung, English UI: Backup) requires the operator to select which block classes to include.
| Backup Letter (DE) | Block Classes | Notes |
|---|---|---|
| A (Alle) | All blocks (OB, PB, FB, SB, DB) | Use for full restore |
| B (Bedienerprogramm) | User program only (OB/PB/FB/SB) | Loses DBs — not recommended for hot standby |
| D (Datenbausteine) | DBs only | For retentive data restore |
| S (System) | System blocks | Seldom used in the field |
5.1 Connecting a PC to the CPU 928B
- Set the CPU mode selector to STOP.
- Connect the PG (or PC) cable to the 25-pin PG port on the CPU front panel. The pinout is 20 mA current loop (TTY), not RS-232. A passive 6ES5734-2BD20 cable works on a real PG; on a modern PC use a 6ES5722-... USB-to-TTY converter or a legacy SIEMENS 6ES5444-3UA11 PC-TTY card.
- Start STEP5. Set the interface to COM1 (or the relevant USB COM port) and baud to 9600 (default) or 19200 for newer CPU 928B firmware.
- Issue Online → Backup → B (or A in English UI).
- Save the file as
S5_<project>_<date>.S5Don a PC folder or directly onto a 3.5" disk if using a PG.
6. Backing Up to an EPROM Sub-Module
Once you have a verified STEP5 backup file, the same file can be written to an EPROM using a Siemens PROMMER (e.g. PROMMER 6ES5 868-2MA11 or the later Field PG PROMMER) or a third-party EPROM programmer capable of 27C256/27C512 pin-compatible Siemens cards.
- Convert the STEP5
.S5Dfile to an EPROM image using the PROMMER utility. The PROMMER expects the file in raw EPROM format (no header). - Place the EPROM sub-module in the PROMMER socket. The orientation is the same as in the CPU.
- Program and verify. A checksum error at this stage means the EPROM is suspect — discard it.
- Label the EPROM with project name, date, and CRC.
- Insert the EPROM into the CPU 928B sub-module slot.
- Perform an overall reset (cold restart) so the CPU re-stores its operating system and copies the EPROM contents into work memory.
After the EPROM has been accepted, the CPU 928B will boot from EPROM into RUN with no PG, no battery, and no laptop in the loop — the original goal of the field-service request.
7. Cold Restart vs. Warm Restart
The CPU 928 front-panel mode selector has two mechanical positions and a small toggle for restart behavior:
| Switch Position | Function | When to Use |
|---|---|---|
| RUN | Normal cyclic execution | Default operating mode |
| STOP | CPU halts, outputs to safe state | Programming, module swap |
| Reset (momentary) | Warm restart — retains retentive flags/timers/counters and DB contents in non-volatile memory | Recover from logic error without losing data |
| Overall Reset (hold) | Cold restart — clears all RAM, DBs, flags, timers, counters. Re-loads from EPROM if fitted | New EPROM installed, fresh commissioning, suspected DB corruption |
Neither the RUN/STOP switch nor the reset toggle is required to reload a program from PG. The reload is performed with the CPU in STOP via the STEP5 online dialog. The reset/overall-reset toggle is required only when an EPROM has just been inserted and the CPU must copy it into work memory.
8. CPU 928 vs. CPU 928B Work-Memory Capacity
The capacity determines whether an EPROM-only solution is feasible without using the sub-module as data extension.
| Variant | Onboard Work Memory | Max User Program (typical) |
|---|---|---|
| CPU 928 | 32 KB | ~ 25 000 statements |
| CPU 928B-3UB11 | 64 KB | ~ 50 000 statements |
| CPU 928B-3UB12 | 64 KB | ~ 50 000 statements |
| CPU 928B-3UB21 | 128 KB | ~ 100 000 statements |
Reference: CPU 928B Programming Guide (Section 2, Memory Model).
9. Field Service Workflow for a Lost Program
The most common service event is a CPU 928B that has lost its program after a battery failure. The condensed field workflow is:
- Arrive on site with a verified EPROM (or RAM sub-module) containing the project.
- Power down the rack.
- Insert the EPROM sub-module into the CPU's slot.
- Power up.
- Move the mode selector to Overall Reset for 3–5 seconds, then release to RUN.
- Verify the CPU enters RUN, the BASP LED clears, and the outputs follow process conditions.
- Document the CPU firmware version (visible in the IM 308 or online in STEP5: Module Information → CPU) and the EPROM CRC.
Total elapsed time once on site: typically 5–10 minutes, with no PG required.
10. Troubleshooting Matrix
| Symptom | LED | Probable Cause | Action |
|---|---|---|---|
| CPU in STOP after EPROM swap | STOP + SUB-MODULE FAULT | EPROM not seated, wrong card type, or corrupted image | Re-seat EPROM; reprogram; verify checksum |
| CPU in STOP after power cycle, BAT LED on | STOP + BAT | Battery dead, RAM contents lost | Replace battery with power on; reload from PG or EPROM |
| Outputs all off after restart | BASP | Overall reset cleared process-image, expecting startup OB21/OB22 to energize | Verify OB21 (warm restart) and OB22 (cold restart) are present in EPROM |
| Communication failure with STEP5 | n/a | Wrong cable (RS-232 used where 20 mA TTY is required) or wrong COM port | Use 6ES5734-2BD20 cable or USB-TTY converter; verify port in Device Manager |
| Lost symbols/comments after upload | n/a | STEP5 does not store symbols/comments in the CPU; they live in the PG project | Request original PG archive from OEM/end user; do not expect them in the PLC |
| CPU cycles slowly or stops intermittently | RUN with STOP blips | Watchdog, stack overflow, or RAM sub-module intermittently losing contact | Replace sub-module; check battery; review OB1 / OB121 |
| EPROM card accepted but program still runs from RAM | RUN | CPU was not given an overall reset; EPROM not copied to RAM | Perform overall reset, allow re-load, verify Backup battery LED state |
11. Practical Recommendations
- Maintain at least two verified EPROM copies of every deployed project, stored in ESD bags with project name, date, and CRC on the label.
- Replace the lithium backup battery every 5 years, irrespective of the BAT LED state. Use a battery tested under load; a multimeter open-circuit reading alone is not sufficient.
- When replacing a battery on a CPU 928 without an EPROM, the new battery must be installed before power is removed. A capacitor inside the CPU holds the RAM for typically 30–60 minutes — schedule the swap accordingly.
- Archive the STEP5 source on a modern medium. STEP5
.S5Dfiles can be read by STEP5 on a virtualized Windows XP or DOS PC; convert them to PDF listing and source printouts as a long-term insurance. - On a CPU 928B-3UB21, the EPROM slot accepts both UV-erasable EPROM and electrically erasable EEPROM cards. Prefer EEPROM for in-the-field updates, as it does not require a UV eraser.
12. Specifications Summary
| Parameter | CPU 928 | CPU 928B-3UB11/12 | CPU 928B-3UB21 |
|---|---|---|---|
| Work memory (onboard) | 32 KB | 64 KB | 128 KB |
| Sub-module capacity | 32 KB | 64 KB | 128 KB |
| Bit instructions execution | ~ 1.6 µs | ~ 0.6 µs | ~ 0.5 µs |
| Battery type | 3.6 V Li (A2) | 3.6 V Li (A2) | 3.6 V Li (A2) |
| PG port | 20 mA TTY (25-pin) | 20 mA TTY (25-pin) | 20 mA TTY (25-pin) |
| Supported sub-modules | RAM, EPROM | RAM, EPROM, EEPROM | RAM, EPROM, EEPROM |
| Mode switch | RUN / STOP / RESET | RUN / STOP / RESET | RUN / STOP / RESET |
13. Field Commissioning Checklist
- Verify the MLFB on the CPU module matches the project documentation.
- Confirm firmware version (printed label or STEP5 Module Information).
- Inspect the lithium battery, replace if older than 5 years.
- Insert EPROM with the project image.
- Apply power.
- Perform overall reset.
- Verify RUN status; check process I/O via the I/Q status display.
- Back up the new state to STEP5 Backup → A for archive.
- Sign off with date, technician, project ID, and EPROM CRC.
FAQ
Can a CPU 928B run without a PG by using only an EPROM sub-module?
Yes. If the program fits in the onboard work memory, you can replace the RAM sub-module with an EPROM (or EEPROM on a 928B-3UB21) containing the verified program image, perform an overall reset, and the CPU will boot into RUN with no PG or laptop in the loop.
What is the difference between RAM, EPROM, and EEPROM sub-modules on the CPU 928 family?
RAM is volatile and requires the lithium backup battery; EPROM is UV-erasable, non-volatile, and must be programmed on an external PROMMER; EEPROM is electrically erasable, non-volatile, and can be reprogrammed in-circuit on a 928B-3UB21. The slot is the same physical footprint for all three.
What does the BAT LED mean on a CPU 928B?
A lit BAT LED indicates the backup battery has failed. CPU 928B retains the RAM contents only via internal capacitor hold-up; the next power-down will erase the program. Replace the battery with power applied, or insert a verified EPROM before powering down.
Which STEP5 backup letter should I use to capture the complete project?
In the English STEP5 UI use letter A (All). In the German UI use letter B (Bedienerprogramm, which expands to all user blocks including DBs). Always confirm in the backup dialog that the resulting file size matches the on-CPU program size from the Compress Memory view.
Why are symbols and comments missing after uploading from the CPU?
Symbols and comments are stored in the PG project, not in the CPU. A STEP5 Upload recovers only OB/PB/FB/SB/DB code without names or remarks. To preserve them, keep an offline copy of the original STEP5 project on PG disk or archive media.