Reading S5-110A EPROMs on PG675: P0 STEP5 Software Guide
The Siemens SIMATIC S5-110A is one of the earliest members of the SIMATIC S5 family and uses a single-block program architecture with EPROM-based program memory. Reading, duplicating, and burning these EPROMs is a routine service task that is still performed today on legacy systems. The PG675 is the matching portable programming unit for the S5-110A in offline mode, but only when the correct STEP5 software package is loaded. Misidentification of the STEP5 build is the single most common cause of failed EPROM operations on the PG675, and it typically manifests as the programming device refusing to recognize the EPROM, displaying the wrong family identifier (SA/SB vs. TA/TB), or hanging on block transfer commands.
This reference consolidates the field-proven procedure for reading an S5-110A program EPROM (catalog number 6ES5 910-0AA41) on a PG675 programming device, including the P0 vs. S0 STEP5 distinction, the German-language menu map of the PG675, and the offline-only operating constraint that distinguishes the S5-110A from later S5 CPUs such as the 110S, 100U, 130A, and 130K.
System Overview: S5-110A and PG675
The S5-110A belongs to the AG (Automatisierungsgerät / automation device) 110 generation of SIMATIC S5 controllers. Unlike the S5-110S, 100U, 130A, and 130K, which support structured programming with organization blocks (OB), program blocks (PB), function blocks (FB), and data blocks (DB), the S5-110A is a single-block CPU. It accepts exactly one program block and a small fixed set of data blocks, all of which can be stored on a plug-in EPROM submodule. This architectural difference dictates that the STEP5 software used to program it must be a different package than the one used for structured-programming S5 PLCs.
The PG675 is a portable Siemens programming device with an integrated 3.5-inch or 5.25-inch floppy drive, a parallel interface for connecting to the AG (PLC), and a German-language operating shell. It was sold as a complete programming workstation for S5 PLCs. The PG675 and the closely related PG670 both use a parallel AG interface, which is not present on most modern PCs and which means that "online" S5-110A communication (i.e., status, force, modify) cannot be performed from a standard PC without an additional parallel-interface card and matching Siemens cable.
Root Cause: P0 vs. S0 STEP5 Confusion
Siemens shipped at least two distinct STEP5 software packages for the PG675 and PG670. The two packages are identified by their boot-time directory or disk identifier, and they map to different S5 CPU families.
| STEP5 Build | Boot Identifier | Architecture | Supported CPUs |
|---|---|---|---|
| P0 | SA..SB.. | Single-block programming | S5-110A, S5-130A, S5-130K |
| S0 (standard) | TA..TB.. | Structured programming (OB/PB/FB/DB) | S5-110S, S5-100U, S5-150U, S5-135U, and other S5 CPUs |
When the PG675 is booted from the standard S0 STEP5 floppy, it will not accept EPROMs from the S5-110A family. The user will see the structured-programming shell with TA..TB.. identifiers, and EPROM operations against a 6ES5 910-0AA41 module will either be rejected or will produce nonsense on the screen. The single-block S5-110A, 130A, and 130K require the older P0 STEP5 build. According to the official Siemens FAQ on this topic, an S0 installation cannot be coerced into reading S5-110A EPROMs; the only remedy is to obtain the original P0 disk image and boot the PG675 from it.
EPROM Hardware: 6ES5 910-0AA41
The S5-110A program EPROM is a plug-in memory submodule with Siemens catalog number 6ES5 910-0AA41. The submodule inserts into the EPROM socket of the CPU or, on rack-mounted variants, into a dedicated memory slot on the S5-110A backplane. The submodule is erasable under UV light and re-programmable on the PG675 via the parallel programming adapter.
| Parameter | Value |
|---|---|
| Siemens Order Number (MLFB) | 6ES5 910-0AA41 |
| Function | Program memory for S5-110A CPU |
| Memory Type | UV-erasable EPROM |
| Interface to PG675 | Parallel programming adapter (offline) |
| Program Architecture | Single program block (P0-compatible) |
Always verify the exact MLFB printed on the submodule label before starting the read procedure. Submodules with the same footprint but different order numbers (for example, EPROMs intended for the 130A or 130K) are not interchangeable with the S5-110A bootloader.
PG675 Main Menu Reference (German UI)
The PG675 main menu is organized around eight function keys (F1–F8) plus a vertical menu strip. Below is a complete field reference for the German UI as encountered when working with the P0 STEP5 build.
| Key | German Label | English Equivalent | Function |
|---|---|---|---|
| F1 | EINGABE | Input | Enter a new block (manually or from a stored source) |
| F2 | AUSGABE | Output | Output one or more blocks (to EPROM, FD, or printer) |
| F3 | VERGL | Compare | Compare blocks between FD ↔ AG, FD ↔ EPROM, AG ↔ EPROM |
| F4 | UEBERTR | Transfer | Transfer blocks, rewire, duplicate diskette |
| F5 | LOESCH | Delete | Delete blocks from AG, FD, or EPROM. Use with care. |
| F6 | SONDER | Special Functions | Includes EPROM erase, EPROM program (blow), and AG control |
| F7 | AUSKUNFT | Information / Documentation | Block cross-reference, documentation, print preparation |
| F8 | TEST | Test (online) | Online status, signal status, force, modify, backup to FD |
Sub-menus of F4 (UEBERTR / Transfer)
| Key | German | English | Function |
|---|---|---|---|
| F1 | UMV | Umverdrahtung (Rewire) | Rewire operands between source FD0 and target FD1 |
| F2 | TESTBAU | Mark as test block | Mark a block as a test block in the AG |
| F3 | ALL | Duplicate all | Duplicate entire diskette (FD0 → FD1) |
| F4 | BAUSTEIN | Block transfer | Transfer individual blocks (FD ↔ FD, FD ↔ AG, FD ↔ EPROM) |
Sub-menus of F6 (SONDER / Special Functions)
| Key | German | English | Function |
|---|---|---|---|
| F1 | START | Restart | Triggers a warm restart of the AG when in STOP |
| F2 | KOMP | Compress | Compress AG RAM to defragment block memory |
| F3 | TEST AUS | Validate test block | Mark the previously flagged test block as valid in the AG |
| F4 | STOP | Stop | Force AG into STOP state |
| F5 | DBGEN | Generate DBs | Generate data blocks for sequencer (Ablaufkette) chains |
| F6 | VOREIN | Defaults | Call up the defaults / settings menu |
| F7 | FORMAT | Format | Format floppy diskettes in the PG675 drive |
Vertical Menu Strip
| German | English | Notes |
|---|---|---|
| Darstellung | Display format | KOP = ladder, FUP = function block diagram, AWL = statement list |
| Adressierung | Addressing | Absolute, symbolic, or DB-relative |
| Kommentare | Comments | Toggle block and network comments on/off |
| Schriftfuss | Footer | Footer text for printed output |
| Datenformat | Data format | Bit format for DB output: KM = binary, KT = timer value, KH = hex, KC = character |
| Sprachraum | Drive / language area | Drive letter selector (A: / B:) |
| Systembefehl | System command | Reserved system-level command (rarely used) |
| Betriebsart | Mode | Toggle online / offline |
| Queresumme | Checksum | Display / verify block checksum |
Step-by-Step: Reading an S5-110A EPROM on a PG675
Prerequisites
- PG675 programming device in known-working condition (floppy drive, display, keyboard).
- Bootable P0 STEP5 floppy disk for the S5-110A family (single-block programming). Do not substitute the S0 (TA..TB..) disk.
- S5-110A program EPROM, MLFB 6ES5 910-0AA41, removed from the CPU socket and inserted into the PG675 EPROM programming adapter.
- Blank, formatted 3.5" or 5.25" floppy disk in drive FD0 (or FD1, depending on PG675 variant) for storing the dumped image.
Procedure
- Insert the P0 STEP5 disk and power on the PG675. Confirm the boot identifier is
SA..SB... If you seeTA..TB.., you have the wrong package — abort and re-boot from the P0 disk. - Insert the 6ES5 910-0AA41 EPROM into the parallel programming adapter, observing the polarity notch.
- From the main menu, press F2 (AUSGABE / Output) to start a block export from the EPROM.
- Select the source as EPROM and the target as FD0 (or FD1). The PG675 will prompt for block range; on the S5-110A, this is normally a single program block plus a small set of DBs.
- Confirm the transfer. The PG675 will read the EPROM and write an image to the floppy. Watch for the Queresumme (checksum) line; record the displayed checksum for later verification.
- When the transfer completes, exit to the main menu.
- Optionally press F3 (VERGL / Compare) and run an FD ↔ EPROM compare to confirm the floppy image matches the source EPROM byte-for-byte.
Verification
- The PG675 will report a successful transfer with no error message and display the same Queresumme as the original EPROM.
- Power-cycle the PG675 with the same P0 disk, re-insert the floppy with the dumped image, and press F2 (AUSGABE) in reverse (FD → EPROM) to confirm round-trip readability on a fresh blank EPROM.
- Re-install the original EPROM into the S5-110A CPU and observe normal operation (RUN LED steady, no SF / BATF / STOP fault). The PLC should accept the block and run the same logic as before the read operation.
Step-by-Step: Programming (Burning) a New EPROM on the PG675
- Insert a UV-erased 6ES5 910-0AA41-compatible EPROM into the programming adapter.
- Boot the PG675 from the P0 STEP5 disk (verify
SA..SB..identifier). - From the main menu press F4 (UEBERTR / Transfer), then F4 (BAUSTEIN / Block transfer).
- Choose source FD (the floppy holding the image you read or created) and target EPROM.
- Select the blocks to be programmed. The PG675 will blank-check the EPROM first; an erased EPROM should pass; a populated one will be rejected to prevent overwriting.
- Confirm the programming operation. Programming time is typically tens of seconds per block on UV EPROMs of this era; do not interrupt.
- After programming, the PG675 will run an automatic verify. Record the Queresumme.
Online Operation: Why It Does Not Work From a PC
The S5-110A exposes a parallel AG interface, not a serial (TTY/V.24) interface like later S5 CPUs. The PG675 and the closely related PG670 were designed for this parallel interface. The Siemens documentation explicitly states that a PC cannot be brought online to the S5-110A unless the PC is equipped with a parallel interface and the matching Siemens cable, and even then, the S0 STEP5 build used on the PC must support the S5-110A — which the standard S0 package does not. Practical online use today requires either a working PG675/PG670 or a modern interface card that emulates the parallel protocol. Refer to the official S5-110A manual for the wiring diagram of the parallel interface and the list of approved programming devices.
References for online limitations and approved PGs:
- S5-110A Device Manual (Siemens Support entry 21190174)
- Siemens FAQ 188158 — Reading S5-110A EPROMs on PG675 with STEP5 P0
Troubleshooting Matrix
| Symptom | Likely Cause | Action |
|---|---|---|
PG675 displays TA..TB.. at boot |
S0 (structured) STEP5 build loaded | Re-boot from the P0 (single-block) disk; S0 cannot read S5-110A EPROMs |
| PG675 rejects EPROM with "falsche Baugruppe" (wrong module) | EPROM MLFB does not match 6ES5 910-0AA41 family | Verify MLFB on the submodule label; use only 6ES5 910-0AA41 (or documented equivalents) for S5-110A |
| Block transfer aborts midway | Bad connection in parallel programming adapter, dirty EPROM contacts, or write-protect jumper on submodule | Reseat the EPROM, clean contacts with isopropyl, verify the write-protect is in the "enable" position |
| Checksum mismatch after read | Read error or partial EPROM erase | Re-read; if checksum still differs, re-erase the source EPROM under UV and re-burn from a known-good master, then read again |
| PC cannot go online to the S5-110A | PC lacks parallel AG interface, or STEP5 build does not support S5-110A | Use a PG675/PG670 with the P0 build for any online work; or fit the PC with a parallel card + Siemens cable + P0 build |
| Programmed EPROM is rejected by the S5-110A at startup | Wrong P0 / S0 image, or programming was interrupted | Verify image source disk was a P0 build; re-burn; confirm Queresumme matches the expected value |
| PG675 keyboard returns no response to F-keys | PG675 in Betriebsart Online but no parallel connection | Toggle Betriebsart to Offline; F8 (TEST / online) requires a live parallel link |
Field-Proven Caveats
- The P0 STEP5 disk is genuinely rare. Most surviving P0 disks are 5.25" SS/DD floppies that have suffered bit rot. Image the disk to modern media with a USB floppy emulator (e.g., Gotek with FlashFloppy) as soon as a working original is found, and store the image in two geographically separated locations.
- The PG675 hardware itself ages poorly. Keyboard membranes crack, the integrated CRT or LCD backlight dims, and the parallel interface connector pins oxidize. A working PG675 should be preserved as a maintenance asset even if a modern PC-based workflow is preferred for other S5 CPUs.
- When reading an unknown S5-110A EPROM, always image it to a floppy before attempting to verify it against the AG. This protects the source in case of misoperation.
- The S5-110A's single-block architecture means the Queresumme applies to the entire program block, not to a sub-block. A failed checksum is therefore a global fault, not a localized one.
- If the read succeeds on PG675 with the P0 build, the same image can typically be re-burned onto a fresh 6ES5 910-0AA41 EPROM on the same PG675 without any conversion. The reverse (P0 image used with an S0 build, or vice versa) is not supported and will produce a non-functional EPROM.
Migration Path When No P0 Disk Exists
If the P0 STEP5 disk is not available, the practical options narrow considerably:
- Source a P0 disk image from a Siemens service partner or a recognized industrial legacy-hardware archive. The official Siemens FAQ 188158 acknowledges the existence of the P0 package and is the authoritative reference for confirming the P0 vs. S0 distinction.
- If the S5-110A is still installed and running, use F8 (TEST / online) on the PG675 to dump the live AG memory to a floppy in real time. The PG675 can perform an AG → FD transfer without a P0 disk for the read step, but the AG → EPROM step (i.e., burning a fresh EPROM) still requires the P0 build's EPROM programming routines.
- As a last resort, send the EPROM to a third-party legacy-automation service bureau that retains a working P0 environment. Always keep a master copy of the image before shipping the physical EPROM.
Quick-Reference: Reading an S5-110A EPROM on PG675
- Boot PG675 from P0 STEP5 (verify
SA..SB..at boot). - Insert 6ES5 910-0AA41 EPROM into programming adapter.
- Press F2 (AUSGABE / Output).
- Source: EPROM → Target: FD0.
- Confirm; record the displayed Queresumme.
- Optionally F3 (VERGL / Compare) FD ↔ EPROM to verify.
- Power-cycle PG675, re-burn onto a fresh blank EPROM via F4 → F4 (BAUSTEIN) to confirm round-trip readability.
Frequently Asked Questions
Why does my PG675 refuse to read my S5-110A EPROM with the STEP5 software that came with the unit?
You are almost certainly running the S0 (structured) STEP5 build, which is identified by TA..TB.. at boot. The S5-110A, 130A, and 130K require the older P0 build (SA..SB..). The two packages are not interchangeable; only P0 can read or program S5-110A EPROMs. Boot from the P0 disk and retry.
Can I use a modern PC with a USB-to-parallel adapter to read the S5-110A EPROM?
No, not in practice. The S5-110A uses a parallel AG interface that is not electrically compatible with a standard PC parallel port or with USB adapter chipsets. The PG675/PG670 with the P0 build is the field-proven path. Siemens documentation explicitly notes the S5-110A cannot be brought online from a standard PC without the original parallel-interface hardware.
What is the exact catalog number of the S5-110A program EPROM?
The S5-110A program EPROM carries Siemens MLFB 6ES5 910-0AA41. Always verify this number on the submodule label before performing any read, compare, or programming operation. Submodules with similar footprints from other S5 families are not interchangeable.
What is the German menu sequence on the PG675 to output an EPROM block to floppy?
From the main menu press F2 (AUSGABE / Output), select EPROM as the source and FD0 (or FD1) as the target, select the block(s) to transfer, and confirm. The PG675 will then read the EPROM, write the floppy, and display the Queresumme (checksum) for verification.
My P0 STEP5 disk is unreadable. Can I rebuild the EPROM image from a running S5-110A?
Yes, partially. With the PG675 online (F8 / TEST) you can use the AG → FD transfer to dump the live program block from the S5-110A's RAM to a floppy. This produces a usable image for re-burning a fresh EPROM, but the P0 disk is still required for the EPROM programming (blow) step itself. If the P0 disk is truly gone, send the EPROM or the dumped image to a legacy-automation service bureau that retains a working P0 environment.
Where can I find the official Siemens documentation for the S5-110A and for the PG675 EPROM procedure?
The S5-110A device manual is published in the Siemens Support knowledge base under entry 21190174, and the procedure for reading S5-110A EPROMs on a PG675 with the P0 STEP5 package is documented in Siemens FAQ 188158. Both are the authoritative references for hardware specifications, interface pinouts, and the P0 vs. S0 distinction.