Overview
The Siemens SIMATIC S5-155H is a fault-tolerant programmable controller designed for high-availability automation tasks. The original CPU 948R (order number 6ES5948-3UR13, internally designated R-1) was later supplemented by a cost-optimized derivative, the CPU 948RL "Lite" (order number 6ES5948-3UR53). Engineers frequently face the situation where spare 948R modules are no longer available and the 948RL is the only field-replaceable alternative. This reference documents the technical constraints, configuration steps, and verification procedures required to substitute a 948RL pair for a 948R pair inside a redundant S5-155H rack while preserving hot-standby failover behaviour.
Prerequisites
- Two CPU 948RL modules (6ES5948-3UR53) with identical firmware status.
- Current COM 155H version supporting the 948RL device. Earlier COM 155H builds (pre-V6.x) do not list the 948RL in the CPU type drop-down. Upgrade the configuration tool before attempting a project edit.
- S5-155H backplane with redundant power supplies and the standard redundant coupling between the master and standby rack.
- Step 5 / Step 7 (S5 edition) or the appropriate S5 programming tool to compress and rebuild the S5 program before download.
- Current CPU 948R / 948RL manual, available as S5-155H Programmable Controller (CPU 948R) Volume 2/2 Programming Guide (C79000-G8576-C136, Edition 05, 03/2000).
- A clean, validated backup of the existing S5 program and the COM 155H project file.
948R vs. 948RL Hardware Comparison
The 948RL is pin- and slot-compatible with the 948R. The electrical, mechanical, and I/O-framework characteristics of the two CPUs are identical; the differences are confined to working memory, instruction execution throughput, and certain type-specific limits. Engineers must verify the S5 application against the table below before committing to the swap.
| Parameter | CPU 948R (R-1) 6ES5948-3UR13 | CPU 948R (R-2) 6ES5948-3UR23 | CPU 948RL 6ES5948-3UR53 |
|---|---|---|---|
| Working memory (RAM) | 640 Kbytes | 1600 Kbytes | 128 Kbytes |
| Typical bit-instruction scan (1 K AWL) | ~5 ms | ~5 ms | ~15 ms |
| I/O framework range | Identical to 948RL | Identical to 948RL | Identical to 948R |
| Supported I/O types | Full S5-155H set | Full S5-155H set | Reduced subset |
| Redundant operation | Yes (master/standby) | Yes (master/standby) | Yes (master/standby) |
| Plug-compatible with 948R slot | — | — | Yes |
| Minimum COM 155H version | All versions | All versions | V6.x or later |
Application Sizing Check
Before physically swapping the CPUs, the S5 program and the I/O count must be evaluated against the 948RL limits. The 948RL provides 128 Kbytes of usable working memory. The user's application reports a footprint of approximately 110 Kbytes, leaving roughly 14 percent head-room for runtime data blocks, flag/timer/counter images, and stack growth. This is acceptable but tight.
The reported I/O count of 96 analog inputs, 288 digital inputs, and 96 digital outputs must be checked against the 948RL process-image size and the maximum address range of the S5-155H rack. Use the following acceptance test:
- Open the COM 155H project for the existing system.
- Read the total configured I/O words. Confirm the combined digital and analog I/O words do not exceed the 948RL I/O framework boundary.
- Confirm the analog input count (96) is supported by the analog-input module type. The 948RL supports the standard 6ES5 460 / 6ES5 465 analog-input modules; verify the project uses modules from this set.
- Verify there are no IP / WF / AG modules in the rack that depend on 948R-specific functions. If present, the 948RL will not link-up to those modules.
For a 96-AI / 288-DI / 96-DO application, the digital I/O alone is 18 words of inputs plus 6 words of outputs, well within the 948RL I/O framework. The 96 analog inputs will require 96 word addresses (or 48 words if half the inputs are on 2-channel modules), also within the supported framework.
COM 155H CPU-Type Configuration
The single most important configuration change when substituting a 948RL for a 948R is the CPU-type declaration inside the COM 155H project. The project must explicitly name "948RL" (not "948R") for both the master and standby slots; otherwise the two CPUs will start, exchange link-up frames, and then refuse to enter the redundant "RUN" state because the type-id field in the synchronization frame does not match.
Step-by-Step Configuration
- Start COM 155H on the engineering station.
- Open the existing S5-155H project file (.s5d or .155 equivalent).
- Select the rack and open the CPU slot assignment dialog.
- Change the CPU type for the master slot from
CPU 948RtoCPU 948RL. - Repeat for the standby slot. The two slots must always carry the same CPU type for redundancy to be established.
- Save the project and recompile to generate the new DX1 configuration block.
- Download the new project to both CPUs through the S5 programming device.
CPU 948RL entry is not present in the CPU-type drop-down, the installed COM 155H version predates the 948RL release. Upgrade COM 155H to a build that recognizes the 948RL before editing the project. Continuing with a non-supporting build will silently save the CPU as a generic 948R and the failover fault will reappear on the next restart.DX1 Block Considerations
The DX1 data block is the system configuration block generated by COM 155H and downloaded into the CPU. It encodes the rack topology, I/O assignments, CPU types, and redundancy parameters. The user asks whether the DX1 block must be modified manually. The answer is: only through COM 155H. Manual binary edits of the DX1 are not supported; always re-generate the block from the COM 155H project after changing the CPU type.
The new DX1 must be downloaded to both CPUs. A common field mistake is to download only the master. The standby CPU will then retain the old DX1 (declaring 948R), and the link-up negotiation will fail with a CPU-type mismatch. To avoid this:
- Place the master in STOP.
- Download the new DX1 + program to the master.
- Place the standby in STOP.
- Download the new DX1 + program to the standby.
- Bring the standby to RUN first, then the master, so the master takes over as the active CPU after a clean handshake.
Program Compression
Because the 948RL ships with 128 Kbytes of working memory versus the 640 Kbytes of the 948R (R-1), the S5 program must be compressed to fit. The user reports a 110-Kbyte program; without compression, the build may overflow the 948RL memory at download time. Use the S5 programming tool's compress / reorganize function (sometimes labelled PC-Edit > Blocks > Compress) to pack DBs, FBs, FCs, OBs, PBs, and SBs into a contiguous memory layout.
Recommended procedure:
- Open the program in Step 5 / S5 programming tool.
- Run File > Compress (or the equivalent "PC-Link Compress" function).
- Confirm no blocks are flagged "overflow" after compression.
- Verify the final program size is below 128 Kbytes. Target a comfortable 10–15 percent head-room for runtime DBs and stack.
- Save the compressed program and include it in the same project folder as the COM 155H configuration to keep the COM project and S5 program version-aligned.
Scan-Time and Throughput Implications
The 948RL's bit-instruction scan time of approximately 15 ms is three times that of the 948R's ~5 ms. The user's 110-Kbyte program with 96 analog inputs and 480 digital I/O will run with a longer cycle. Engineers must evaluate this against the process response time. As a rule of thumb:
- If the application is a process line with cycle tolerances in the 100 ms range, the 948RL is generally acceptable.
- If the application drives high-speed interlocks, motion, or fast regulatory loops, the longer scan must be reviewed against the loop dead-time.
A practical measurement: bring the system to RUN on a single 948RL, observe the OB1 cycle-time tag (e.g. FY 200 or the system clock word), and confirm it stays inside the process window with margin.
Redundancy Verification Procedure
- Power on the S5-155H with both 948RL modules seated.
- Confirm both CPUs reach the RUN state and the system-status LED reports REDUN rather than SINGLE.
- From the programming device, read the redundancy status word on the master. Both CPU types must report identical firmware-IDs and DX1 version.
- Initiate a manual failover from the engineering station (COM 155H > System > Switchover). The standby should take over the process within one OB1 cycle. The previously-master CPU should enter the FOLLOW state.
- Re-initiate switchover in the opposite direction. The process must continue without disturbance and without a stop-event on the field bus.
- Pull the active CPU from the rack while the system is in RUN. The standby must take over without process interruption.
Troubleshooting Matrix
| Symptom | Probable Root Cause | Corrective Action |
|---|---|---|
| Both CPUs in RUN, status = SINGLE, REDUN LED off | CPU-type mismatch between master and standby (one is 948R, the other 948RL), or DX1 not downloaded to standby | Re-declare both slots as 948RL in COM 155H, re-generate DX1, download to both CPUs |
| Standby CPU reports "type unknown" or "no link-up" | COM 155H version does not support 948RL | Upgrade COM 155H to a build that lists CPU 948RL in the CPU-type drop-down |
| CPU goes to STOP with "memory overflow" at program download | Program not compressed, or exceeds 128 Kbytes | Run the S5 compress function, split the program, or remove unused DBs/Fbs |
| Standby will not start, fault on intelligent I/O module | 948RL does not support the I/O module type used in the slot | Replace the module with a 948RL-listed equivalent, or revert to a 948R pair for that slot |
| Switchover occurs but process sees a one-cycle glitch | Cycle time too long; analog input sampling slips during handover | Confirm the analog-input scan time and OB1 cycle time, reduce the number of analog channels, or revert to 948R if the process cannot tolerate the glitch |
| Master in RUN, standby in STOP with "DX1 mismatch" | DX1 not downloaded to standby, or standby has a stale project | Re-download DX1 + S5 program to the standby; cold-start both CPUs |
Why "Downgrade" May Not Be the Right Word
The 948RL is not a downgrade in the sense of a defect. It is a deliberate cost-engineered variant of the 948R. The 948RL is fully redundant-capable and pin-compatible. The reasons to keep a 948R pair (R-1 or R-2) include:
- The process requires the 5 ms scan time of the 948R.
- The S5 program plus runtime data exceed 128 Kbytes.
- Special I/O modules that the 948RL does not list are deployed in the rack.
- Future program growth is anticipated that would saturate the 128 Kbytes.
If none of the above applies, the 948RL is a legitimate replacement. The migration is essentially a configuration change rather than a hardware redesign.
Checklist Before Power-On
- COM 155H version is current and lists 948RL.
- Both CPU slots declared as 948RL in COM 155H.
- DX1 regenerated and downloaded to both CPUs.
- S5 program compressed and confirmed below 128 Kbytes.
- I/O module list cross-checked against 948RL supported types.
- Scan-time budget re-evaluated for the ~15 ms baseline.
- Backup of the original 948R project retained for rollback.
FAQ
Can a 6ES5948-3UR53 (CPU 948RL) replace a 6ES5948-3UR13 (CPU 948R) in a redundant S5-155H?
Yes, provided the S5 program fits in 128 Kbytes, the application tolerates a ~15 ms scan time, and every I/O module in the rack is on the 948RL supported-types list. The two 948RLs must be declared as a matching pair in COM 155H and the DX1 re-downloaded to both CPUs.
Is it necessary to modify the DX1 block by hand?
No. The DX1 is generated by COM 155H from the rack configuration. Re-open the project, change both CPU slots to "948RL", save, and let COM 155H regenerate the DX1. Then download the new DX1 to both CPUs.
Does COM 155H need to be upgraded for the 948RL?
Yes. Older COM 155H builds do not list the 948RL in the CPU-type drop-down. Install a COM 155H version that recognizes the 948RL (V6.x or later family) before editing the project; otherwise the type will be saved as a generic 948R and the redundancy handshake will fail.
What is the working-memory difference between 948R (R-1) and 948RL?
The 948R (R-1) provides 640 Kbytes of RAM, the 948R (R-2) provides 1600 Kbytes, and the 948RL provides 128 Kbytes. Always compress the S5 program before download and verify the final footprint stays below 128 Kbytes with margin.
Why does the standby CPU refuse to link-up after a 948RL swap?
The two most common causes are a CPU-type mismatch (one slot still declared as 948R in the COM 155H project) and an out-of-date DX1 on the standby CPU. Re-declare both slots as 948RL, regenerate the DX1, and download the configuration to both CPUs before bringing them to RUN.