Siemens S5 CPU 928/928B Program Backup RAM and EPROM Module Guide

David Krause12 min read
PLC HardwareSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

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.

Safety note: The CPU 928 family operates in cabinets that typically carry 24 VDC logic power, 120/230 VAC, or both. Always de-energize the rack before inserting or removing a memory sub-module, and observe local lock-out/tag-out (LOTO) procedures. Never remove a memory module while the CPU is in RUN.

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:

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.

Field warning: If the BAT LED is lit, do not remove power. On a CPU 928 the BAT indicator means the backup battery has already failed and the buffered RAM is being held by capacitor hold-up only — the next power-down will erase the program.

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:

  1. Place the CPU in STOP using the mode selector.
  2. Open the front access cover.
  3. Identify the card (label side up; notch orientation toward the front).
  4. Release the ejector tab and pull the card straight out.
  5. 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:

  1. 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).
  2. Select File → Compress Memory (German: Speicher verdichten) so the entire work memory is contiguous.
  3. Switch to the block list view and verify the program size against the CPU's work-memory capacity (see Section 8).
  4. Power down.
  5. Remove the RAM sub-module.
  6. Power up.
  7. 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
Always back up with letter B in the German UI (which exports all user blocks including DBs) or letter A if you are in the English UI — these two letters are not equivalent. The English All matches the German Alle. If the project was authored in the English UI, the recommended letter is A; if authored in the German UI, the recommended letter is B.

5.1 Connecting a PC to the CPU 928B

  1. Set the CPU mode selector to STOP.
  2. 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.
  3. 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.
  4. Issue Online → Backup → B (or A in English UI).
  5. Save the file as S5_<project>_<date>.S5D on 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.

  1. Convert the STEP5 .S5D file to an EPROM image using the PROMMER utility. The PROMMER expects the file in raw EPROM format (no header).
  2. Place the EPROM sub-module in the PROMMER socket. The orientation is the same as in the CPU.
  3. Program and verify. A checksum error at this stage means the EPROM is suspect — discard it.
  4. Label the EPROM with project name, date, and CRC.
  5. Insert the EPROM into the CPU 928B sub-module slot.
  6. 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:

  1. Arrive on site with a verified EPROM (or RAM sub-module) containing the project.
  2. Power down the rack.
  3. Insert the EPROM sub-module into the CPU's slot.
  4. Power up.
  5. Move the mode selector to Overall Reset for 3–5 seconds, then release to RUN.
  6. Verify the CPU enters RUN, the BASP LED clears, and the outputs follow process conditions.
  7. 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 .S5D files 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

  1. Verify the MLFB on the CPU module matches the project documentation.
  2. Confirm firmware version (printed label or STEP5 Module Information).
  3. Inspect the lithium battery, replace if older than 5 years.
  4. Insert EPROM with the project image.
  5. Apply power.
  6. Perform overall reset.
  7. Verify RUN status; check process I/O via the I/Q status display.
  8. Back up the new state to STEP5 Backup → A for archive.
  9. 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.

Back to blog