Siemens S5 Programming Manuals: S5-90U, S5-95U, and CPU 928B Reference Guide
Locating the correct software reference for a Siemens SIMATIC S5 programmable controller is a recurring task for maintenance engineers, retrofit specialists, and commissioning technicians supporting installed S5 fleets. The S5 product line was released in 1979, ran through multiple generations, and has now been officially discontinued by Siemens for new development, yet tens of thousands of machines and process cells remain in service worldwide. Because S5 instruction sets, addressing schemes, organization blocks, and integrated function blocks vary substantially between CPU families, identifying the manual that matches your specific 6ES5 order number is mandatory before any code change, troubleshooting step, or interface wiring decision.
This reference consolidates the manual families for the most common S5 controllers still in service — the S5-90U, the S5-95U, the S5-115U, and the S5-135U/155U with CPU 928B — and documents how to navigate Siemens Industry Online Support to find the matching programming guide for each variant.
1. SIMATIC S5 Family Overview
The SIMATIC S5 line spans more than two decades of hardware evolution. Each CPU family uses the STEP 5 programming language but exposes a different instruction set, a different memory layout, and a different set of integrated (on-board) function blocks. Engineers must confirm the exact MLFB (order number) printed on the front panel of the CPU before pulling a manual, because two S5-95U variants, for example, may have different serial port configurations and different integrated FB libraries.
| CPU Family | Typical MLFB Prefix | Released | Programming Software |
|---|---|---|---|
| S5-90U | 6ES5 090- | 1984 | STEP 5 (STL, LAD, CSF) |
| S5-95U | 6ES5 095- | 1987 | STEP 5 (STL, LAD, CSF) |
| S5-100U | 6ES5 100- | 1988 | STEP 5 (STL, LAD, CSF) |
| S5-115U | 6ES5 115- | 1981 | STEP 5 (STL, LAD, CSF, GRAPH 5) |
| S5-135U | 6ES5 135- | 1982 | STEP 5 (STL, LAD, CSF) |
| S5-155U | 6ES5 155- | 1987 | STEP 5 (STL, LAD, CSF) |
The S5-90U and S5-95U share the same compact, slim-line form factor and were designed as low-cost replacements for relay logic. The S5-115U is a modular mid-range PLC that supports analog and digital I/O expansion racks. The S5-135U and S5-155U target complex process and high-I/O-count applications, and they support the most comprehensive instruction set through the CPU 928B and CPU 948 processors.
2. S5-90U Programmable Controller — Documentation Set
The S5-90U (CPU 100/102) is the entry-level S5 controller. Its manual set includes the S5-90U System Manual, the S5-90U Programmable Controller Manual, and a series of CPU-specific supplements. Because the S5-90U does not support an expansion rack, all manuals are typically provided as a single combined System Manual with appendices for integrated I/O and the integrated counter/timer functions.
Key References for S5-90U
- S5-90U System Manual — covers hardware installation, wiring, addressing, mode selector operation, integrated I/O, integrated counters, integrated timers, and the diagnostic LED map.
- STEP 5 Programming Reference — covers STL, LAD, and CSF editors, OB/FB/PB/SB block types, and the standard function library (e.g., FB 240 for code conversion, FB 241 for BCD-binary conversion).
- COM 90U Communication Manual — covers the integrated RS-485 interface used for PG and OP communication (often identified as the first serial port).
The S5-90U has 4 KB of RAM and supports a maximum of 16 digital inputs and 16 digital outputs in its base configuration. It does not have integrated analog I/O and cannot be expanded through I/O racks. Engineers migrating from S5-90U code to S7 must remap every direct I/O access (I/Q bytes 0–3) and replace the integrated counter FBs with the S7-200/S7-1200 HSC library equivalents.
3. S5-95U Programmable Controller — Documentation Set
The S5-95U (CPU 102, 103, 104, and later revisions) extends the S5-90U with up to 32 digital inputs, 32 digital outputs, 8 analog inputs, 1 analog output, and one or two serial interfaces depending on the variant. The most common MLFB for the S5-95U family is the 6ES5 095-8Mxxx series. The system manual is the canonical reference for all S5-95U variants, but each sub-variant typically ships with an additional manual covering its integrated peripheral features.
Common S5-95U Variants
| MLFB | Integrated I/O | Serial Interfaces | Notes |
|---|---|---|---|
| 6ES5 095-8MA01 | 32 DI / 32 DO, 8 AI / 1 AO | 1 × RS-485 (PG/OP) | CPU 102 base |
| 6ES5 095-8MB01 | 32 DI / 32 DO, 8 AI / 1 AO | 1 × RS-485 (PG/OP) | CPU 103 |
| 6ES5 095-8MC01 | 32 DI / 32 DO, 8 AI / 1 AO | 2 × serial (RS-485 + RS-232/TTY) | CPU 103, second port |
| 6ES5 095-8MD01 | 32 DI / 32 DO, 8 AI / 1 AO | 2 × serial | CPU 104 |
| 6ES5 095-8ME01 | 32 DI / 32 DO, 8 AI / 1 AO | 2 × serial | CPU 104, higher RAM |
The primary reference for all S5-95U variants is the S5-90U/S5-95U Programmable Controller System Manual. This manual covers the 90U and 95U families together because they share the same form factor and STEP 5 instruction subset. The system manual includes:
- Hardware installation, mounting, and grounding
- Addressing of integrated I/O (bytes 0–31 for digital, 32–47 for analog)
- Mode selector and status/error LED descriptions
- Integrated counter FB (FB 0 to FB 9)
- Integrated timing FB (FB 10 to FB 19)
- Memory layout (system RAM, user RAM, retentive area)
- PG/OP interface description (RS-485, baud rates up to 9600 bps)
4. Second Serial Interface on 6ES5 095-8MC01
The 6ES5 095-8MC01 variant is unique because it includes a second serial interface in addition to the standard PG/OP port. Engineers who attempt to use the second port with the wrong manual will find the documentation silent on its wiring, protocol selection, and driver behavior. The correct manual is the Second Serial Interface of the S5-95U Programmable Controller supplement, which is bound to the 6ES5 095-8MC01 MLFB.
Key Parameters of the Second Serial Port
| Parameter | Value |
|---|---|
| Electrical standard | RS-232C / TTY (selectable via DB-15 pin strap) |
| Baud rates | 300, 600, 1200, 2400, 4800, 9600 |
| Protocols supported | ASCII driver (FB 200–FB 205), RK-512 (3964R), PtP |
| Connector | 15-pin sub-D male (front panel) |
| Default function block | SEND/RECEIVE via FB 202 (ASCII), FB 244 (RK-512) |
| Handshake lines | RTS/CTS, DTR/DSR (RS-232 mode) |
When commissioning the second port, confirm the integrated FB version is loaded. CPU 103 variants use the S5-95U system FB set; CPU 104 variants ship with the extended FB library that includes floating-point math and PID loops (FB 250 to FB 254). Pulling the wrong manual for the FB reference will leave a programmer unable to explain why, for example, FB 252 is accepted on one controller but rejected on the next.
Wiring the Second Serial Port (RS-232 Mode)
- Confirm the controller is the 6ES5 095-8MC01 MLFB (the second port is not present on 8MA01/8MB01).
- Open the front cover; locate the 15-pin D-sub connector on the front face.
- Use the pin assignment table from the supplement to wire TXD (pin 2), RXD (pin 3), RTS (pin 4), CTS (pin 5), and signal ground (pin 7).
- Configure handshake mode through the system data word SDB 2 (synchronous or asynchronous).
- Test with FB 202 SEND/RECEIVE in a diagnostic block before deploying production traffic.
5. S5-115U Programmable Controller — Documentation Set
The S5-115U is the most widely deployed mid-range S5 controller. It uses a separate backplane and supports expansion racks (ERs) with digital and analog I/O modules in the 6ES5 4xx and 6ES5 5xx product families. The CPU options for the S5-115U include CPU 941, CPU 942, CPU 943, CPU 944, and CPU 945, each with progressively larger instruction sets and program memory.
S5-115U Reference Documentation
- S5-115U Programmable Controller System Manual (CPU 941–CPU 944 variants)
- S5-115U Programmable Controller Manual (CPU 945 extended instruction set)
- STEP 5 Programming Manual (applies across all S5 CPU families but with appendix on CPU-specific instructions)
- S5-115U Communication Manual (CP 524, CP 525, CP 526, CP 530, CP 5430, CP 5431 communications processors)
- S5-115U Analog I/O Module Manual (6ES5 460, 6ES5 461, 6ES5 463, 6ES5 464 modules)
For CPU 945 applications — typically redundant process control and high-speed packaging — engineers should request the S5-115U Manual CPU 945 supplement because the CPU 945 introduces additional math functions (e.g., 32-bit fixed-point operations) and additional block types not present in the lower CPU numbers.
S5-115U CPU Reference Table
| CPU | Memory | Bit Instructions | Word Instructions | Scan Time (1 Kbit) |
|---|---|---|---|---|
| CPU 941 | 2 KB | AND, OR, XOR | 16-bit load/transfer | ~8 ms |
| CPU 942 | 4 KB | + set/clear | + compare, arithmetic | ~5 ms |
| CPU 943 | 16 KB | + edge detect | + 32-bit operations | ~3 ms |
| CPU 944 | 32 KB | All standard | + floating-point | ~2 ms |
| CPU 945 | 64 KB | + extended set | + extended FP, table | ~1.5 ms |
6. S5-135U with CPU 928B — Programming Guide Reference
The S5-135U and S5-155U are the high-end S5 PLCs used for process automation, multi-rack I/O expansion, and redundant controller configurations. The CPU 928B is the most common processor in this family and supports the broadest S5 instruction set, including all standard STEP 5 blocks and the COM 928B communication firmware.
The official Siemens programming guide for the CPU 928B is the S5-135U CPU 928B Programming Guide, available from Siemens Industry Online Support at support.industry.siemens.com — S5-135U CPU 928B Programming Guide (PDF). This guide covers the CPU 928B-3UB11 and CPU 928B-3UB12 firmware revisions, the additional functions enabled by each, and the system software for both.
CPU 928B Variants Covered
| MLFB | RAM | Extended Functions |
|---|---|---|
| 6ES5 928-3UB11 | 128 KB / 256 KB | Standard instruction set |
| 6ES5 928-3UB12 | 128 KB / 256 KB / 512 KB | + extended math, additional OB, COM 928B |
Contents of the CPU 928B Programming Guide
- Instruction set overview (bit, byte, word, double-word operations)
- Organization block (OB) execution sequence: OB 1 (cyclic), OB 2 (interrupt-driven), OB 13–OB 17 (time-of-day interrupts), OB 21/OB 22 (restart), OB 23/OB 24 (error)
- Function block (FB) standard library including FB 200–FB 249 for handling, conversion, and math
- System data blocks (SDB) — SDB 1 through SDB 122 parameter ranges
- Process image, dual-port RAM, and rack addressing
- Communication block support for CP 143 (SINEC H1), CP 1430 (TCP/IP), CP 544 (PROFIBUS)
7. STEP 5 Instruction Set — Cross-Family Comparison
STEP 5 is the programming language family shared across all SIMATIC S5 controllers. Three representations are available: STL (Statement List), LAD (Ladder Diagram), and CSF (Control System Flowchart). Each CPU family supports a subset of the full STEP 5 vocabulary, with the more powerful CPUs adding word-level, floating-point, and indirect addressing operations.
Block Types Used in STEP 5
| Block Type | Description | Typical Use |
|---|---|---|
| OB (Organization Block) | Defines program structure; called by CPU operating system | OB 1 cyclic, OB 21 restart |
| PB (Program Block) | Called by OB or FB for structuring code | Machine sequences |
| SB (Sequence Block) | Called by FB; used for sub-sequence steps | Step chains in GRAPH 5 |
| FB (Function Block) | Reusable code with local instance memory | Valve control, PID loops |
| FX (Function Block, no parameters) | Reusable code, parameter-less | Simple utility logic |
| DB (Data Block) | Stores user data structures | Recipe data, setpoints |
| DX (Data Block, extended) | Data block with extended parameter handling | CP 1430 buffer data |
Standard Function Blocks (FX 0–FX 9 and FB 0–FB 249)
| Block | Function |
|---|---|
| FX 0 / FB 0 | BCD/Binary conversion |
| FX 9 / FB 9 | Code conversion (Gray, BCD) |
| FB 240 | Code conversion (BCD / binary / Gray) |
| FB 241 | BCD ↔ Binary fixed-point |
| FB 242 / FB 243 | Math operations (add/sub/mult/div, fixed-point) |
| FB 244 | RK-512 send/receive (3964R protocol) |
| FB 250 | PID algorithm (standard) |
| FB 251 | Extended PID (with derivative on PV) |
| FB 252 / FB 253 | Analog value scaling, integrator |
| FB 254 | Table lookup and interpolation |
8. Locating Manuals on Siemens Industry Online Support
Siemens maintains a public archive of legacy manuals through its Industry Online Support portal. Engineers should follow this procedure to pull the correct S5 manual:
- Navigate to support.industry.siemens.com.
- Enter the full 12-digit MLFB into the product search (e.g.,
6ES5 095-8MC01or6ES5 928-3UB12). - From the product tree, expand the Manuals node.
- Filter by document type: System Manual, Programming Manual, Communication Manual, Module Manual, or Entry List.
- Verify the manual's Edition field against the CPU's firmware revision; manuals often list the valid CPU MLFBs on the back cover or in section 1.1.
- Cross-check the print date and the firmware revision code (e.g.,
3UB12-2vs3UB12-3) before quoting instruction behavior in a change request.
Where the MLFB is unreadable (label worn off, controller in an enclosure), read the front-panel CPU designation printed under the door, decode the Siemens spare-part number, and search by that string. The MLFB always appears as 6ES5 xxx-yyyyy with spaces optional.
9. Common Programming Reference Errors to Avoid
9.1 Confusing S5-90U and S5-95U Instruction Sets
The S5-90U and S5-95U share a slim-line chassis but the S5-95U has additional FBs and a different I/O address map (the analog I/O begins at byte 32, not byte 0). Pulling only the S5-90U manual for a 95U application leads to addressing errors at first commissioning.
9.2 Ignoring the FB Library Version
Each S5-95U revision (CPU 102, 103, 104) ships with a different FB library version. Using a higher-version FB on a lower-version CPU triggers an OB 23 (substitution error) at startup. Always confirm FB library compatibility before downloading a program from a newer CPU to an older one.
9.3 Mismatching the Communication Protocol Documentation
The 3964R protocol documented for the 6ES5 095-8MC01 second serial interface differs from the RK-512 documented for CP 524. Engineers converting ASCII/RK-512 traffic must read the protocol section of the Second Serial Interface supplement, not the CP 524 Manual.
9.4 Treating the CPU 928B Guide as Universal
The CPU 928B programming guide covers only the S5-135U/S5-155U processors. It does not document CPU 945 (S5-115U) or CPU 948 (S5-155U) features, and several blocks referenced in the guide are not available in the lower CPU families.
10. Verification Checklist Before Programming
| Step | Verification Action |
|---|---|
| 1 | Record full MLFB from front panel label (e.g., 6ES5 095-8MC01) |
| 2 | Confirm firmware version from CPU status display (if available) |
| 3 | Pull system manual matching the MLFB from Siemens Industry Online Support |
| 4 | Pull CPU-specific programming guide (e.g., CPU 928B-3UB11 vs 3UB12) |
| 5 | Pull integrated I/O / serial interface supplements for any non-base features |
| 6 | Verify communication processor manuals (CP 524, CP 530, CP 1430) match the installed CP |
| 7 | Cross-check FB library version against the supplied FB disk (if present) |
| 8 | Test-program download: connect PG (e.g., PG 720, PG 740, or modern USB-to-RS-485) and confirm OB 1 cyclic scan starts |
| 9 | Verify process image parity by forcing one input and one output |
| 10 | Document the manual set used for the project change (filename, edition, date) |
11. Programming Reference Summary Table
| CPU Family | Manual Title | Covers MLFB Examples |
|---|---|---|
| S5-90U | S5-90U Programmable Controller System Manual | 6ES5 090-8MA01, 6ES5 090-8MB01 |
| S5-95U | S5-90U/S5-95U Programmable Controller System Manual | 6ES5 095-8MA01, 8MB01, 8MC01, 8MD01, 8ME01 |
| S5-95U (second port) | Second Serial Interface of the S5-95U Programmable Controller | 6ES5 095-8MC01 |
| S5-115U | S5-115U Programmable Controller System Manual | 6ES5 115-UA01, 6ES5 115-UB01 |
| S5-115U (CPU 945) | S5-115U Manual CPU 945 | 6ES5 945-7UA11 |
| S5-135U (CPU 928B) | S5-135U CPU 928B Programming Guide | 6ES5 928-3UB11, 6ES5 928-3UB12 |
| S5-155U | S5-155U Programmable Controller System Manual | 6ES5 155-UA02, 6ES5 948-3UB11 (CPU 948) |
12. Programmer Guidance and Migration Considerations
Engineers programming an S5 controller today typically use one of three paths: legacy STEP 5 on a PG 720/PG 740, modern STEP 5 V7.x on a Windows XP/Windows 7 PC with an RS-485 USB adapter, or S5-to-S7 migration through SIMATIC S5 migration tools. Each path requires the original S5 manual set for reference, because the STEP 5 editor still requires the user to specify the FB library and block structure for the target CPU.
For migration projects, the original S5 manual set is essential to capture the legacy I/O map, alarm structure, and FB behavior. The CPU 928B programming guide, for example, documents the COM 928B protocol stack that must be replicated when porting to S7-400 with CP 443-1. Without the source S5 manual, the migration engineer cannot validate that the new S7 code preserves the original S5 edge behavior, OB timing, and FB parameter polarity.
Frequently Asked Questions
Where can I download the S5-90U and S5-95U programming manuals?
Use Siemens Industry Online Support at support.industry.siemens.com and search by MLFB (e.g., 6ES5 090-8MA01 for the S5-90U or 6ES5 095-8MC01 for the S5-95U with second serial port). The S5-90U/S5-95U Programmable Controller System Manual is the primary reference for both families.
Which manual documents the second serial interface on the 6ES5 095-8MC01?
The Second Serial Interface of the S5-95U Programmable Controller supplement covers the 6ES5 095-8MC01 second port. It details RS-232/TTY selection, baud rates from 300 to 9600, ASCII driver FBs (FB 200–FB 205), and RK-512 send/receive (FB 244).
What CPU variants does the S5-135U CPU 928B Programming Guide cover?
The guide covers the CPU 928B-3UB11 and CPU 928B-3UB12 firmware revisions. It is hosted at support.industry.siemens.com — S5-135U CPU 928B Programming Guide (PDF) and includes the standard FB library, OB execution sequence, and COM 928B communication blocks.
Why do S5 instruction sets differ between CPU families?
Each S5 CPU generation was released over a 10-year span (1981–1991) and added word-level, floating-point, and indirect addressing operations as controllers grew more powerful. CPU 102 supports only bit and basic byte operations; CPU 928B supports the full set including 32-bit fixed-point, floating-point, and the Do-loop through FB 244.
Can I use the same FB library across S5-90U and S5-135U?
No. The FB library is bound to the CPU firmware revision and the FB version printed on the supplied disk. Calling FB 252 (analog scaling) on a CPU 102 returns OB 23 substitution error. Always verify FB library compatibility against the target CPU's firmware release before downloading.